{"version":3,"file":"vw-oneform-feature-app.umd.js","mappings":"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C,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,CA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ACC,6IAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,mBAER,CACCxK,KAAM,kCACNwK,MAAO,mBAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,kBAER,CACCxK,KAAM,oBACNwK,MAAO,MAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,MAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,oCAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,aAER,CACCxK,KAAM,eACNwK,MAAO,YAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,2CACNwK,MAAO,QAER,CACCxK,KAAM,0CACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,UAER,CACCxK,KAAM,gCACNwK,MAAO,MAER,CACCxK,KAAM,gBACNwK,MAAO,aAER,CACCxK,KAAM,iBACNwK,MAAO,YAER,CACCxK,KAAM,oBACNwK,MAAO,aAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SC5pEIgqF,EAAqBt1C,GAC1B,CACN,CACCl/C,KAAM,KACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MACC,mKAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,sCAER,CACCxK,KAAM,cACNwK,MAAO00C,GAAc,uBAEtB,CACCl/C,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,cAER,CACCxK,KAAM,sBACNwK,MAAO,4BAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,WAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,cAER,CACCxK,KAAM,qBACNwK,MAAO,gCAER,CACCxK,KAAM,eACNwK,MAAO,iBAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,WACNwK,MAAO,0BAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,MAER,CACCxK,KAAM,uBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,6BAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,UCzJGoqF,EAAkB,CAC9B,CACC50F,KAAM,KACNwK,MAAO,SAER,CACCxK,KAAM,aACNwK,MACC,+IAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,gBAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,wCACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,KAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,qBAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,qBAER,CACCxK,KAAM,qBACNwK,MAAO,MAER,CACCxK,KAAM,qBACNwK,MAAO,cAER,CACCxK,KAAM,eACNwK,MAAO,MAER,CACCxK,KAAM,6BACNwK,MAAO,MAER,CACCxK,KAAM,4BACNwK,MAAO,KAER,CACCxK,KAAM,0BACNwK,MAAO,sBAER,CACCxK,KAAM,uBACNwK,MAAO,KAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,sBAER,CACCxK,KAAM,wBACNwK,MAAO,sBAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,yBAER,CACCxK,KAAM,yBACNwK,MAAO,cAER,CACCxK,KAAM,eACNwK,MAAO,cAER,CACCxK,KAAM,kBACNwK,MAAO,cAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,gBAER,CACCxK,KAAM,iBACNwK,MAAO,uBCpRI8pF,EAAsBA,CAACW,EAAyB/1C,IACrD,CACN,CACCl/C,KAAM,KACNwK,MAAO,UAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,KACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,aAER,CACCxK,KAAM,mBACNwK,MAAO,gBAER,CACCxK,KAAM,WACNwK,MAAO,iBAER,CACCxK,KAAM,YACNwK,MAAO,kBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,cACNwK,MAAO00C,GAAc,uBAEtB,CACCl/C,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,uBAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,uBAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,sBAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,UACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,KAER,CACCxK,KAAM,uBACNwK,MAAO,6BAER,CACCxK,KAAM,SACNwK,MAAO,SAER,CACCxK,KAAM,UACNwK,MAAOyqF,EAAgB,aAAe,WAEvC,CACCj1F,KAAM,sBACNwK,MAAO,aAER,CACCxK,KAAM,cACNwK,MAAO,WAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,iBAER,CACCxK,KAAM,kBACNwK,MAAO,6BAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,8BACNwK,MAAO,UAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,4BAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,SAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,SAER,CACCxK,KAAM,UACNwK,MAAO,SAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SCpyBGkqF,EAAwBP,GAC7B,CACN,CACCn0F,KAAM,KACNwK,MAAO,WAER,CACCxK,KAAM,aACNwK,MACC,iJAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,mBAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,YACNwK,MAAO,UAER,CACCxK,KAAM,wBACNwK,MAAO,KAER,CACCxK,KAAM,yBACNwK,MAAO,KAER,CACCxK,KAAM,+BACNwK,MAAO2pF,EAAc,WAAa,qBAEnC,CACCn0F,KAAM,qBACNwK,MAAO,cAER,CACCxK,KAAM,WACNwK,MAAO2pF,EAAc,oBAAsB,qBAE5C,CACCn0F,KAAM,UACNwK,MAAO2pF,EAAc,YAAc,YAEpC,CACCn0F,KAAM,eACNwK,MAAO,gBAER,CACCxK,KAAM,2BACNwK,MAAO,IAER,CACCxK,KAAM,2BACNwK,MAAO,KAER,CACCxK,KAAM,sBACNwK,MAAO,KAER,CACCxK,KAAM,gBACNwK,MAAO2pF,EAAc,OAAS,QAE/B,CACCn0F,KAAM,kBACNwK,MAAO,WAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,KAER,CACCxK,KAAM,kBACNwK,MAAO,mBAER,CACCxK,KAAM,eACNwK,MAAO,MAER,CACCxK,KAAM,kBACNwK,MAAO2pF,EAAc,QAAU,SAEhC,CACCn0F,KAAM,sBACNwK,MAAO,cAER,CACCxK,KAAM,sBACNwK,MAAO,gBAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO2pF,EAAc,QAAU,SAEhC,CACCn0F,KAAM,6BACNwK,MAAO,MAER,CACCxK,KAAM,6BACNwK,MAAO,KAER,CACCxK,KAAM,8BACNwK,MAAO,MCrLG+pF,EAAer1C,GACpB,CACN,CACCl/C,KAAM,KACNwK,MAAO,QAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,aAER,CACCxK,KAAM,WACNwK,MAAO,aAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,aAER,CACCxK,KAAM,QACNwK,MAAO,uBAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,cACNwK,MAAO00C,GAAc,gCAKtB,CACCl/C,KAAM,aACNwK,MACC,+IAEF,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,uBAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MACC,wKAEF,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,6CAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,qBAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,cACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,qBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,cAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,iCACNwK,MAAO,MAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,WACNwK,MAAO,cAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,8BAER,CACCxK,KAAM,iBACNwK,MAAO,sBAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,gBAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,aAER,CACCxK,KAAM,0BACNwK,MAAO,iBAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,aAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,WAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,cAER,CACCxK,KAAM,kCACNwK,MAAO,uBAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2CACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,6BAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,OAER,CACCxK,KAAM,4BACNwK,MAAO,WAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,gCAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,gCAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,sBAER,CACCxK,KAAM,4BACNwK,MAAO,wBAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,SAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,SAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0CACNwK,MAAO,SAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,UAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,uBAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,gBAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,6CACNwK,MAAO,QAER,CACCxK,KAAM,4CACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,sBAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,+BAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,OAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SC77BG4pF,EAAgBA,CAACa,EAAyB/1C,IAC/C,CACN,CACCl/C,KAAM,KACNwK,MAAO,UAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,WACNwK,MAAO,gBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,kCAER,CACCxK,KAAM,oBACNwK,MAAO,aAER,CACCxK,KAAM,sBACNwK,MAAO,wCAER,CACCxK,KAAM,uBACNwK,MACC,wLAKF,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,MAER,CACCxK,KAAM,aACNwK,MACC,qJAGF,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,sBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MACC,wKAEF,CACCxK,KAAM,iBACNwK,MACC,uKAEF,CACCxK,KAAM,WACNwK,MAAO,6CAER,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,cACNwK,MAAO00C,GAAc,gCAEtB,CACCl/C,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,qBACNwK,MAAO,gCAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,sBAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MACC,wKAEF,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,sBAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,mBAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,cAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,8FAER,CACCxK,KAAM,qBACNwK,MAAO,cAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,uBAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,SAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,2BAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,aAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,OAER,CACCxK,KAAM,mCACNwK,MAAO,OAER,CACCxK,KAAM,qCACNwK,MAAO,OAER,CACCxK,KAAM,kCACNwK,MAAO,OAER,CACCxK,KAAM,4BACNwK,MAAO,OAER,CACCxK,KAAM,kCACNwK,MAAO,OAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,KAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,KAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,UAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,cAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,mCACNwK,MAAO,sDAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,MAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,sBAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,aAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,4CACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,SAER,CACCxK,KAAM,qCACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,6CACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,SC79BGmqF,EAAe,CAC3B,CACC30F,KAAM,KACNwK,MAAO,SAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,cAER,CACCxK,KAAM,4BACNwK,MAAO,cAKR,CACCxK,KAAM,aACNwK,MACC,iJAEF,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,sBAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,gBACNwK,MAAO,cAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,wBAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,cACNwK,MAAO,YAER,CACCxK,KAAM,cACNwK,MAAO,OAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,qBAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,KAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,YAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SCviBIiqF,EAAkBN,GACvB,CACN,CACCn0F,KAAM,KACNwK,MAAO,WAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,OACNwK,MAAO,qBAER,CACCxK,KAAM,qBACNwK,MAAO2pF,EAAc,OAAS,QAE/B,CACCn0F,KAAM,4BACNwK,MAAO,YAKR,CACCxK,KAAM,aACNwK,MACC,2JAEF,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO2pF,EAAc,OAAS,QAE/B,CACCn0F,KAAM,kBACNwK,MAAO,wBAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,YAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,UAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,cAER,CACCxK,KAAM,mBACNwK,MAAO,8FAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,MAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,KAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,gBAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO2pF,EAAc,QAAU,QAEhC,CACCn0F,KAAM,mBACNwK,MAAO,gBAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,KAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,OAER,CACCxK,KAAM,0BACNwK,MAAO,OAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,KAER,CACCxK,KAAM,8BACNwK,MAAO,WAER,CACCxK,KAAM,uBACNwK,MAAO,+BAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO2pF,EAAc,QAAU,SAEhC,CACCn0F,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,oBAER,CACCxK,KAAM,yBACNwK,MAAO,KAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,KAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,8CACNwK,MAAO,cAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO2pF,EAAc,QAAU,SAEhC,CACCn0F,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,WAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,4CACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,OAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,cAER,CACCxK,KAAM,iCACNwK,MAAO,cAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO2pF,EAAc,QAAU,SAEhC,CACCn0F,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,OAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,OAER,CACCxK,KAAM,wBACNwK,M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CC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,YACzBrjL,IAAAA,cAACojL,GAAa,CAACC,UAAU,c,eClcjC,MAAM9zK,GAAU9P,EAAAA,GAAOC,GAAG;;;EASpBqlL,GAAYtlL,E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AAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,C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","sources":["webpack://vw-oneform-feature-app/webpack/universalModuleDefinition","webpack://vw-oneform-feature-app/./src/bff/api/get-dealer-kvps.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-installations.ts","webpack://vw-oneform-feature-app/./src/bff/get-marketing-code.ts","webpack://vw-oneform-feature-app/./src/bff/api/send-form.ts","webpack://vw-oneform-feature-app/./src/bff/api/fetch-domains.ts","webpack://vw-oneform-feature-app/./src/bff/api/fetch-marketing-code.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-carlines.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-colors.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-dealers.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-pincode.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-salesgroups.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-vehiculos-modelo.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-vilma-frame.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-ofertas-suv.ts","webpack://vw-oneform-feature-app/./src/bff/api/eapi.ts","webpack://vw-oneform-feature-app/./src/bff/get-data-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-vweventos-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-google-api-key.ts","webpack://vw-oneform-feature-app/./src/bff/get-molecular-cdn-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-molecular-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-api-key.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-cdn-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-cdn-api-key.ts","webpack://vw-oneform-feature-app/./src/bff/report-error-sentry.ts","webpack://vw-oneform-feature-app/./src/components/SelectExtended.tsx","webpack://vw-oneform-feature-app/./src/components/AnteriorCTA.tsx","webpack://vw-oneform-feature-app/./src/components/AvisoIslasCanarias.tsx","webpack://vw-oneform-feature-app/./src/components/CanalDeContacto.tsx","webpack://vw-oneform-feature-app/./src/components/Card.tsx","webpack://vw-oneform-feature-app/./src/components/CarouselComponent.tsx","webpack://vw-oneform-feature-app/./src/components/CloseButton.tsx","webpack://vw-oneform-feature-app/./src/components/CodigoPostal.tsx","webpack://vw-oneform-feature-app/./src/components/ConfirmacionLayers.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LegalFullScreenSinConsentimientos.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LegalItem.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/Legales.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LegalesFormatoLayer.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LssiTkmQuestions.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LssiTkmQuestionsComerciales.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LssiTkmQuestionsTurismos.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/ConsentQuestion.tsx","webpack://vw-oneform-feature-app/./src/components/DealerCard.tsx","webpack://vw-oneform-feature-app/./src/components/DetalleMotivo.tsx","webpack://vw-oneform-feature-app/./src/components/FechaCompra.tsx","webpack://vw-oneform-feature-app/./src/components/Kilometros.tsx","webpack://vw-oneform-feature-app/./src/components/LastNavigationConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/components/LocateUserFullScreen.tsx","webpack://vw-oneform-feature-app/./src/components/MatriculaYModelo.tsx","webpack://vw-oneform-feature-app/./src/components/NoCliente.tsx","webpack://vw-oneform-feature-app/./src/components/PantallaIntroduccionStars.tsx","webpack://vw-oneform-feature-app/./src/components/SelectDpsDomain.tsx","webpack://vw-oneform-feature-app/./src/components/Trato.tsx","webpack://vw-oneform-feature-app/./src/components/PantallaNombreApellido.tsx","webpack://vw-oneform-feature-app/./src/components/PoliticaPrivacidad.tsx","webpack://vw-oneform-feature-app/./src/components/SlideEncuestas.tsx","webpack://vw-oneform-feature-app/./src/components/SuggestMarca.tsx","webpack://vw-oneform-feature-app/./src/components/SuggestModelo.tsx","webpack://vw-oneform-feature-app/./src/components/SelectMarcaModelo.tsx","webpack://vw-oneform-feature-app/./src/components/VerticalLine.tsx","webpack://vw-oneform-feature-app/./src/components/YaTienesVolkswagen.tsx","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-CEMVenta.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-carline-select-extended-list.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-all-carlines.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-alphabetical.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-all-salesgroups.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-salesgroups-select-extended-list.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-filter-carline-flag.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-get-salesgroups-from-carlines.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-get-formated-salesgroups.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-filter-preselected-fa-content.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-filter-preselected-fa-content-salesgroups.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-find-carline-from-salesgroup.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-find-carline.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-fa-content-modes.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/CarlineSelect.tsx","webpack://vw-oneform-feature-app/./src/components/LoadingEncuestas.tsx","webpack://vw-oneform-feature-app/./src/components/Loading.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/ThankYouTitle.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/CTAThankYouPage.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/ThankYouFields.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/CTAThankYouPageAction.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/LeadsCTAs.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/Info/index.js","webpack://vw-oneform-feature-app/./src/components/IDBuzzFakeInput.tsx","webpack://vw-oneform-feature-app/./src/components/ImageCarNoColorBG.tsx","webpack://vw-oneform-feature-app/./src/components/Country.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/InputButton.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/MultipleCTASelection.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/RadioTextGroup.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/TextInputExtended.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Apellido.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Email.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/InputError.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Nombre.tsx","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/Metadata.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeState.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.util.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.complete.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternParser.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternMatcher.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeParser.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouType.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/AsYouType.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/validatePhoneNumberLength.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/validatePhoneNumberLength.js","webpack://vw-oneform-feature-app/./src/components/inputs/Telefono.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/TextAreaExtended.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/calling-countries.ts","webpack://vw-oneform-feature-app/./src/components/inputs/CustomRadioButton.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/MultipleOptionsCTAs.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/CustomSelect.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/RatingStars.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/CustomSlider.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/CustomSwitch.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Matricula.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/DniNif.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Date.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Add/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Checkmark/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/filter-tag/icon.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/filter-tag/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/Upload/index.js","webpack://vw-oneform-feature-app/./src/components/inputs/InputFile.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/NextStepCTA.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/use-only-letters-control.tsx","webpack://vw-oneform-feature-app/./src/components/layers/AvailabilityErrorLayer.tsx","webpack://vw-oneform-feature-app/./src/feature-app/remove-configuration-hash.ts","webpack://vw-oneform-feature-app/./src/components/layers/AreYouSureLayer.tsx","webpack://vw-oneform-feature-app/./src/components/layers/GenericErrorLayer.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/RatingStarWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/PaddingWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/InputWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/ContactoInfoWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/ConfirmacionWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/WhiteLinkWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/helpers.tsx","webpack://vw-oneform-feature-app/./node_modules/@redux-devtools/extension/lib/esm/index.js","webpack://vw-oneform-feature-app/./src/feature-app/App.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/CalandarioStyles.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/CalendarioCita.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/FranjaHoraria.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/SlotsHorario.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/TabsHorario.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/CloseInDealerCalendar.tsx","webpack://vw-oneform-feature-app/./src/feature-app/InputsValues/CTAsObjects.tsx","webpack://vw-oneform-feature-app/./src/feature-app/InputsValues/CTAsObjectsFormsAdhoc.tsx","webpack://vw-oneform-feature-app/./src/feature-app/InputsValues/OtherInputTypesObjects.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/dynamic-tokens.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/integrator-root/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/get-media-query-vars.js","webpack://vw-oneform-feature-app/./src/feature-app/LayerManagerWrapper.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/Loadscript.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/MapGeneralController.tsx","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/sort.js","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/within.js","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/index.js","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/range.js","webpack://vw-oneform-feature-app/./node_modules/supercluster/index.js","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/generate-clusters.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/handle-location.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/usePinState.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/usePredictions.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/use-get-franja-and-day-from.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/use-create-nop-dms-slot-and-asessor.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/NewDealerCard.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/SeleccionDealerTabs.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/SuggestStyles.tsx","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map_map.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/marker_dispatcher.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/omit.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/shallowEqual.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map_markers.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map_markers_prerender.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/loaders/google_map_loader.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/wrap.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/lat_lng.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/transform.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/index.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/raf.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/log2.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/pick.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isEmpty.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isNumber.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/detect.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isPlainObject.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/passiveEvents.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/detectElementResize.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_heatmap.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isArraysEqualEps.js","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/CommonStyledComponents.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/CenterMarker.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/ClusterMarker.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/DealerMarker.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/Map.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/Carousel.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/Filtros.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/suggest.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/map-styles.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/provinces.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/GenericStylesDesktop.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/LayerDesktopView.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/LayerMobileView.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/helpers/serviceManagment.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/sort-points.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/utils.ts","webpack://vw-oneform-feature-app/./src/feature-app/OneForm.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/Templates.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/CloseComponent.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/FullScreen.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/LayerScreen.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/Navigation.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/PreviousStepFiles/getRatingStarsOutput.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/PreviousStepFiles/getUpdatedField.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/PreviousStep.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/RenderController.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/ScreenController.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/TemplatesFullScreen.tsx","webpack://vw-oneform-feature-app/./src/feature-app/ThankYouComponent.tsx","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parsePhoneNumber.js","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/get-test-pincode.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/dealer.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/lead.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/order.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/person.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/vehicle.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/lead.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/person.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/order.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/vehicle.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/dealer.ts","webpack://vw-oneform-feature-app/./src/feature-service/identity-kit-service/person-api.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/index.ts","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js","webpack://vw-oneform-feature-app/./src/feature-app/feature-app.tsx","webpack://vw-oneform-feature-app/./src/feature-app/get-params-form.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-dropdown-position.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-fa-content.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-feature-app-config.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-bounding-client-rect.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-dealer.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-dealers.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-brand.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-is-comerciales.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-instalaciones.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-initiate-match-triggers.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-initiate-bonos-triggers.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-is-dev-stage.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-loaded.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-locate-user.tsx","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-navigate.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-on-screen.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-show-overflow.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-transform-to-html.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-tracking-form.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-id-person.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-id-vehicle.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-feature-app-environment.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-feature-services.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-auth-service.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-waid-litera.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-tracking-manager.ts","webpack://vw-oneform-feature-app/./src/feature-app/CitaPreviaTile/CitaPreviaTile.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CitaPreviaTile/CitaPreviaTileGrid.tsx","webpack://vw-oneform-feature-app/./src/feature-app/FormController.tsx","webpack://vw-oneform-feature-app/./src/feature-app/format-dates.ts","webpack://vw-oneform-feature-app/./src/feature-app/get-trigger.tsx","webpack://vw-oneform-feature-app/./src/feature-app/lodash-functions.ts","webpack://vw-oneform-feature-app/./src/feature-app/set-object-values.ts","webpack://vw-oneform-feature-app/./src/feature-app/rating-evaluation.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/dealers-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/dealers-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/vehicles-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/vehicles-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-data-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-data-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-info-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-info-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/domains-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/domains-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/reducer.ts","webpack://vw-oneform-feature-app/./node_modules/reselect/es/defaultMemoize.js","webpack://vw-oneform-feature-app/./node_modules/reselect/es/index.js","webpack://vw-oneform-feature-app/./src/feature-app/redux/selectors.ts","webpack://vw-oneform-feature-app/./src/feature-app/save-feature-app.ts","webpack://vw-oneform-feature-app/./src/feature-app/sentry/ErrorBoundary.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/integrations/functiontostring.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/is.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/browser.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/string.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/object.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/logger.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/flags.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/misc.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/integrations/inboundfilters.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/syncpromise.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/scope.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/session.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/severity.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/hub.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/stacktrace.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/supports.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/instrument.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/normalize.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/memo.ts","webpack://vw-oneform-feature-app/./node_modules/src/stack-parsers.ts","webpack://vw-oneform-feature-app/./node_modules/src/eventbuilder.ts","webpack://vw-oneform-feature-app/./node_modules/src/flags.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/index.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/polyfill.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/error.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/dsn.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/api.ts","webpack://vw-oneform-feature-app/./node_modules/src/helpers.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/globalhandlers.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/trycatch.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/enums.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/breadcrumbs.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/linkederrors.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/useragent.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/dedupe.ts","webpack://vw-oneform-feature-app/./node_modules/src/index.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/version.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/integration.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/baseclient.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/envelope.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/request.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/transports/noop.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/basebackend.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/promisebuffer.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/ratelimit.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/status.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/transports/base.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/utils.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/async.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/base.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/clientreport.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/fetch.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/xhr.ts","webpack://vw-oneform-feature-app/./node_modules/src/backend.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/new-fetch.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/new-xhr.ts","webpack://vw-oneform-feature-app/./node_modules/src/client.ts","webpack://vw-oneform-feature-app/./src/feature-app/sentry/sentry.ts","webpack://vw-oneform-feature-app/./src/feature-app/tracking-helpers.ts","webpack://vw-oneform-feature-app/./src/feature-app/tracking-objects.ts","webpack://vw-oneform-feature-app/./src/forms/Autosubmit/ThankYouAutosubmit.tsx","webpack://vw-oneform-feature-app/./src/forms/Autosubmit/AutosubmitController.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/BajaComunicacionesScreen.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/BajaComunicacionesForm.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/BajaComunicacionesController.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/ConfirmarCallMeLayer.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/ConfirmacionCallMeOferta.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/CallMeOfertaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/ThankYouCallMeOferta.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/ConfirmacionCem.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/helpers.ts","webpack://vw-oneform-feature-app/./src/forms/Cem/CemController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/ThankYouCem.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemFormPosventa.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/FirstStepCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemStepsVenta.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemStepsPosventa.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemFormVenta.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/LastQuestionFlowCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/LegalesCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/LegalesSinConsentimientosCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaCalculadoraForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaBonosForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaMaintenanceForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaPortalForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaController.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaDealerController.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaDealerWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/MapaCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/MapaCitaDealer.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/NuevaCitaPosventaFormController.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronUp/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronDown/index.js","webpack://vw-oneform-feature-app/./src/components/inputs/InputRegex.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmacionCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/LoadingLayer.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/LocateUser.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ThankYouNuevaCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/NuevaCitaPosventaFormDefault.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/NuevaCitaPosventaFormLogged.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ReservaCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/SeleccionDealer.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/ConfirmacionEmpresas.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/EmpresaInfoComponent.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/Fleet.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/EmpresasForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/ThankYouEmpresas.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/MapaEmpresa/JourneyEmpresasController.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/MapaEmpresa/JourneyEmpresasWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/MapaEmpresa/MapaEmpresas.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/PlanIdealController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/Checks.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/QuestionWithImage.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/PlanIdealForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/ConfirmationPlanIdeal.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/ThankYouPlanIdeal.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/CajaCTATrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/ConfirmacionDiaDeLaMadre.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/DisplayImagenesYCTATrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/Mensaje.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/MensajesCards.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/SectionMensajes.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/assets/Svgs.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/ThankYouDiaDeLaMadre.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/DiaDeLaMadreForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ComponentsAndViews/Portada.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ComponentsAndViews/Experiencia.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/EurocopaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ThankYouEurocopa.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ConfirmacionEurocopa.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/LastNavigationFidelizacion.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/FidelizacionLastScreenFields.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/use-initialize-fidelizacion-form.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/FidelizacionForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/FidelizacionController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/ThankYouFidelizacion.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/TestIDController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/Checks.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/QuestionWithImage.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/TestIDForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/ConfirmationTestID.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/EmailForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/questions.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/ThankYouTestID.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ConcursoRodajeConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ConcursoRodajeController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ThankYouConcursoRodaje.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ConcursoRodajeForm.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/use-initialize-lem-form.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/LEMContactadoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/LEMNoContactadoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/LEMController.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/ConfirmacionLEM.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/ThankYouLEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CitaVenta/CitaVentaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CitaVenta/LeadsCitaVentaPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/ConfirmacionLeadsNoQuestions.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/LeadGenericoComercialesForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/LeadGenericoController.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-financeCalculation.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/LeadGenericoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MapaLeads/JourneyLeadsController.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MapaLeads/JourneyLeadsWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MapaLeads/MapaLeads.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MasInformacion/MasInformacionForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MasInformacion/LeadsMasInformacionPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Oferta/OfertaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Presupuesto/PresupuestoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Presupuesto/LeadsPresupuestoPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Stock/StockForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Stock/LeadsStockFormPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/TestDrive/TestDriveForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/TestDrive/LeadsTestDrivePartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/ThankYouLeads.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/append-json-key.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-calculadora-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-cod-interest-carline.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-desc-interest-carline.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-configurador-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-match-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-ofertas-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/formatLegalesOfertas.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/use-initialize-lead-form.ts","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/Cita/PartialDataCitaConfgurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/ConfirmacionLeadInPage.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/ImageCar.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/LocateUserLeadsInPage.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MapaLeadsInPage/JorneyLeadsInPageController.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MapaLeadsInPage/JourneyLeadsInPageWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MapaLeadsInPage/MapaLeadsInPage.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MasInformacion/PartialDataMasInformacionConfigurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/Presupuesto/PresupuestoPartialDataConfigurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/TestDrive/PartialDataTestDriveConfigurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/get-color-info.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/MGMLayout.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoClienteFields.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/LegalMGM.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoClienteForm.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoRegaloFields.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoRegaloForm.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/EnvioRegaloFields.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/EnvioRegaloForm.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/MGMController.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/ThankYouMGM.tsx","webpack://vw-oneform-feature-app/./src/forms/Newsletter/ConfirmacionNewsletter.tsx","webpack://vw-oneform-feature-app/./src/forms/Newsletter/NewsletterForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Newsletter/ThankYouNewsletter.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/use-initialize-no-compra-form.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraYaTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/ConfirmacionNoCompra.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/ThankYouNoCompra.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/MapaNoCompra/JourneyNoCompraController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/MapaNoCompra/JourneyNoCompraWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/MapaNoCompra/MapaNoCompra.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraNoTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/PantallaOtrosModelos.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraNoQuiero.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/RatingSteps.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/use-initialize-no-renovacion-form.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/CtasNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionYaTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/ConfirmacionNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/ThankYouNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/MapaNoRenovacion/JourneyNoRenovacionController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/MapaNoRenovacion/JourneyNoRenovacionWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/MapaNoRenovacion/MapaNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionNoTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionNoQuiero.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/PantallaMarcaModelo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/FakeTriggerCTA.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ConfirmacionProspects.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ProspectsVentaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/MatchProspectForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ProspectsPosventa.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ThankYouProspects.tsx","webpack://vw-oneform-feature-app/./src/forms/Race/RaceForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Race/use-race-form-controller.ts","webpack://vw-oneform-feature-app/./src/forms/SAC/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/SACOneShopForm.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/ThankYouOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/SACOneShopFields.tsx","webpack://vw-oneform-feature-app/./src/components/HeaderImage.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/SACOneShopController.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACform.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/PantallaMotivoSAC.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/PantallaDireccionPostal.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/PantallaMunicipio.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/ConfirmacionSAC.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/ThankYouSAC.tsx","webpack://vw-oneform-feature-app/./src/forms/dps-utils.ts","webpack://vw-oneform-feature-app/./src/forms/format-fields.ts","webpack://vw-oneform-feature-app/./src/forms/helpers/add-remove-steps.ts","webpack://vw-oneform-feature-app/./src/forms/helpers/transform-millage.ts","webpack://vw-oneform-feature-app/./src/globals.ts","webpack://vw-oneform-feature-app/./src/helpers.ts","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsThankYou.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/CheckboxSelected/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Checkbox/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/checkbox/index.js","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/TheOriginals2025Trigger.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/tabindex-manager.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/slide.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/media-gallery/hooks/use-media-gallery-context.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/gallery.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/arrow-buttons.js","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/TextInputField.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/EmailField.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/Arrow.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/TextAreaField.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/NavidadGTI2024Page.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/NavidadGTI2024Form.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/NavidadGTI2024Trigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/DiaDeLaMadreTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/EurocopaTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/FidelizacionTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/ConfirmacionNavidad.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/ComponentsAndViews/FriendsName.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/ThankYouNavidad.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/NavidadForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/assets/Svgs.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/NavidadTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/AcordionHorizontal.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/CTAOfertaSuv.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/MobileCard.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/LiSection.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/Tabs.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/ProgressBar.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/TabsNavigation.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/SuvperheroesTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/ConcursoRodajeTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/PlanIdealTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/AutosubmitTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/BajaComunicacionesTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CallMeOfertasTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CallMeEmbeddedTrigger.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/divider/index.js","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaDealerTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/RaceTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaDefaultTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaBenefitsForm.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaEmbeddedTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaStageTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/EmpresasTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/LastNavigationCEMOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/CEMOneShopForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/use-initialize-lem-form.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/CEMOneShopController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/CEMOneShopLastScreenFields.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/ConfirmacionCEMOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/ThankYouCEMOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/FirstStepCEMVentaProducto.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/StepsCEMVentaProducto.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/ThankYouCEMVentaProducto.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/CEMVentaProductoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/CEMVentaProductoController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CEMSegundaEntregaController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CEMSegundaEntregaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/DealerCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CitaCEMSegundaEntregaStyles.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CitaCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CEMSegundaEntregaNoInteres.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/ConfirmacionCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/ThankYouCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/valoracion/CEMSegundaEntregaValoracionController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/valoracion/CEMSegundaEntregaValoracionForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/valoracion/ThankYouCEMSegundaEntregaValoracion.tsx","webpack://vw-oneform-feature-app/./src/triggers/EncuestasTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/Feedback/ThankYouFeedback.tsx","webpack://vw-oneform-feature-app/./src/forms/Feedback/ConfirmacionFeedback.tsx","webpack://vw-oneform-feature-app/./src/forms/Feedback/FeedbackForm.tsx","webpack://vw-oneform-feature-app/./src/triggers/FeedbackTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadBonoTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadDealerTrigger.tsx","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-instalacion.ts","webpack://vw-oneform-feature-app/./src/triggers/LeadMatchTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadOfertasTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadStockTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadEmbededTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CallCenter/CallCenterForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CallCenter/LeadsCallCenterPartialData.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadInPageTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/MGMTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/NewsletterTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/OneFormTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/ProspectEmbeddedTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/ProspectPosventaEmbedded.tsx","webpack://vw-oneform-feature-app/./src/triggers/ProspectsTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/SACTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/UGC/UGCForm.tsx","webpack://vw-oneform-feature-app/./src/forms/UGC/UGCConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/forms/UGC/UGCThankYou.tsx","webpack://vw-oneform-feature-app/./src/triggers/UGCTrigger.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/CTAMapa.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/CTAServices.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/CarouselWidget.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/DealerCardWidget.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/MapaScreen.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/SuggestionScreen.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/ViewDesktopWidgetMapa.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/ViewMobileWidgetMapa.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/WidgetMapa.tsx","webpack://vw-oneform-feature-app/./src/triggers/WidgetTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/TestIDTrigger.tsx","webpack://vw-oneform-feature-app/./src/types.ts","webpack://vw-oneform-feature-app/./node_modules/@mapbox/point-geometry/index.js","webpack://vw-oneform-feature-app/./node_modules/@n8tb1t/use-scroll-position/lib/index.js","webpack://vw-oneform-feature-app/./node_modules/@n8tb1t/use-scroll-position/lib/useIsomorphicLayoutEffect.js","webpack://vw-oneform-feature-app/./node_modules/@n8tb1t/use-scroll-position/lib/useScrollPosition.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/latest/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/throttle/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/debounce/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/event/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/window-size/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/global.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/node.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/env.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/time.ts","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/ssr.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/breakpoint-wrapper/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/call-to-action/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/character-counter/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/container/helpers.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/animation.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/container/container.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/notification-message/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/fieldset/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/a11y.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/breakpoint.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/common-props.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/StarOutline/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Discount/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Bookmark/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/CheckmarkCircle/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Alert/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Info/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/display-tag/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/input-notification.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/input.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/logger.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/image/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/layout/layout.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/RadioButton/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/RadioButtonSelected/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/radio-button/index.js","webpack://vw-oneform-feature-app/./node_modules/markdown-to-jsx/index.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/list/list.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/list/list-item.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/richtext/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronDown/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/select/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/spinner/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/switch/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/tab.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/use-animated-indicator.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/use-previous-next-button-disabled-state.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/text-area/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/InputShow/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/InputHide/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/CloseCircle/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/text-input/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/text/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/create-css-var-name.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/definitions.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/grid.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/example-design-tokens.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/deprecations.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/get.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/example-theme-definitions.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/get-theme.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/get-design-token-value.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/theme-provider.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronLeft/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronRight/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/Close/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Add/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Alert/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowDown/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowLeft/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowRight/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowUp/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Calc/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Calendar/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/CarPickupService/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Checkmark/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ChevronLeft/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ChevronRight/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Close/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ContactDealer/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Edit/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/FleetServicePrivate/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Info/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Interior/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Locate/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Magnifier/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Mail/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Phone/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Reload/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Remove/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Route/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/StarFilled/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/StarOutline/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/layer-manager/src/v2/types.ts","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/tokens/dist-es/index.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/TTDSGConsent/TTDSGConsentClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/TTDSGConsent/TTDSGConsentService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/TTDSGConsent/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/carNetShop/CarNetShopClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/carNetShop/CarNetShopService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/carNetShop/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/consent/ConsentClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/consent/ConsentConfigurationBuilder.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/consent/ConsentService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/contractCenter/ContractCenterService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/contractCenter/types.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/documentConsent/DocumentConsentClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/documentConsent/DocumentConsentService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/DecisionType.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/DevicePlatform.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/EnrollmentStatus.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/ModGeneration.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/Role.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/SoftwareVersion.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/errors/TimeoutError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/errors/UnknownSimStatusError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/errors/VcfUpdateCapabilityError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gupis/fetch.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gupis/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/GvfClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/GvfService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/SpecificationFilter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/VehicleCommissionDataHelper.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/errors/GvfNetworkError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/errors/UnknownVehicleError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/errors/UserNotAuthorizedError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/IdentityDataClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/LoginRenewalService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/userData/UserDataClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/userData/UserDataService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/userData/helper-functions.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/mapPackages/MapPackagesService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/oilNorm/OilNormService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/permissionService/PermissionService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/profileService/ProfileServiceV2.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/profileService/WeProfileFacade.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/serviceConfig/ServiceConfigHelper.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/SpinNotificationType.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/SpinService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/TwoFactorManagementClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/errors/InvalidSpinError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/errors/MissingScopeSpinError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/trackingFacade/TrackingFacade.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/user/UserClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/user/UserService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/user/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/validation/VehicleIdentifierValidator.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vas/VasClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfMessageService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfSubscriptionsSettingsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfSubscriptionsSettingsService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfTransactionHistoryClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/CapabilityUpdateStatusEvaluator.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/PollingWrapper.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/VcfCapabilityClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/VcfCapabilityService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/digitalKeys/VcfDigitalKeyClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/digitalKeys/VcfDigitalKeyService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/NoMessagesFoundError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/NoReportAvailableError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/NoSubscriptionSettingsFoundError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/VcfMeasurementsError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/fuelStatus/VcfFuelStatusClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/fuelStatus/VcfFuelStatusService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/measurements/VcfMeasurementsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/measurements/VcfMeasurementsService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/newsfeeds/VcfNewsFeedsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/newsfeeds/fetch.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/VcfNotificationClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/VcfNotificationService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/types.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/vehicleHealth/VcfHealthClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/vehicleHealth/VcfHealthService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/vehicleHealth/VcfHealthSettingsConverter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vdbs/VdbsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vdbs/VdbsService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vehicleImage/VehicleImageClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vehicleImage/VehicleImageService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vehicleImage/VehicleImageUrlBuilder.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/CommissionIdConverter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumFlattenedVehicleConverter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumUserRoleClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumUserRoleService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/errors/NotEnrolledVehicleError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/errors/VumProfileBrokenError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/index.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/md5.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/native.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/nil.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/parse.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/regex.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/rng.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/sha1.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/stringify.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v1.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v3.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v35.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v4.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v5.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/validate.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/version.js","webpack://vw-oneform-feature-app/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/dayjs.min.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/locale/es.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/advancedFormat.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/customParseFormat.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/isBetween.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/isSameOrBefore.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/timezone.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/utc.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/MediaQuery.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/QueryHandler.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/Util.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/index.js","webpack://vw-oneform-feature-app/./node_modules/eventemitter3/index.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/constants.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getCoordinateKey.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getCoordinateKeys.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getDistance.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getLatitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getLongitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isDecimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isSexagesimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isValidCoordinate.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isValidLatitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isValidLongitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/robustAcos.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/sexagesimalToDecimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/toDecimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/toRad.js","webpack://vw-oneform-feature-app/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://vw-oneform-feature-app/./node_modules/js-file-download/file-download.js","webpack://vw-oneform-feature-app/./node_modules/json2mq/index.js","webpack://vw-oneform-feature-app/./node_modules/lodash.debounce/index.js","webpack://vw-oneform-feature-app/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://vw-oneform-feature-app/./node_modules/prop-types/index.js","webpack://vw-oneform-feature-app/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/Autosuggest.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/Autowhatever.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/Item.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/ItemList.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/SectionTitle.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/compareObjects.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/theme.js","webpack://vw-oneform-feature-app/./node_modules/react-device-detect/main.js","webpack://vw-oneform-feature-app/./node_modules/react-hook-form/dist/react-hook-form.es.js","webpack://vw-oneform-feature-app/./node_modules/react-is/cjs/react-is.production.min.js","webpack://vw-oneform-feature-app/./node_modules/react-is/index.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/components/Context.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/batch.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/Subscription.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/components/Provider.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/components/connectAdvanced.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/shallowEqual.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/bindActionCreators.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/mapStateToProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/mergeProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/selectorFactory.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/connect.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useReduxContext.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useStore.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useSelector.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/index.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/node_modules/react-is/index.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/arrows.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/default-props.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/dots.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/index.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/initial-state.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/inner-slider.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/slider.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/track.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/utils/innerSliderUtils.js","webpack://vw-oneform-feature-app/./node_modules/react-themeable/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/react-themeable/node_modules/object-assign/index.js","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://vw-oneform-feature-app/./node_modules/dom-helpers/esm/removeClass.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/config.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/Transition.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/CSSTransition.js","webpack://vw-oneform-feature-app/./node_modules/dom-helpers/esm/addClass.js","webpack://vw-oneform-feature-app/./node_modules/dom-helpers/esm/hasClass.js","webpack://vw-oneform-feature-app/./node_modules/redux/es/redux.js","webpack://vw-oneform-feature-app/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/isFunction.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/config.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/hostReportError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Observer.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/UnsubscriptionError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Subscription.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/isObject.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/symbol/rxSubscriber.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Subscriber.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/identity.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/pipe.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Observable.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/toSubscriber.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/canReportError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/SubjectSubscription.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Subject.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/BehaviorSubject.ts","webpack://vw-oneform-feature-app/./node_modules/section-iterator/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/shallow-equal/arrays/index.js","webpack://vw-oneform-feature-app/./node_modules/string-convert/camel2hyphen.js","webpack://vw-oneform-feature-app/./node_modules/styled-normalize/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/tslib/tslib.es6.js","webpack://vw-oneform-feature-app/./node_modules/ua-parser-js/dist/ua-parser.min.js","webpack://vw-oneform-feature-app/./src/components/Legales/iconlssi.svg","webpack://vw-oneform-feature-app/./src/components/Legales/icontmk.svg","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/dealer_marker.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/dealer_marker_grey.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/dealer_marker_selected.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/favourite_dealer.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/filter-ic_list.svg","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/marker.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/selected_marker.png","webpack://vw-oneform-feature-app/./src/forms/Leads/icon.svg","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/car_3-4.png","webpack://vw-oneform-feature-app/./src/forms/UGC/icon.svg","webpack://vw-oneform-feature-app/external umd \"react\"","webpack://vw-oneform-feature-app/external umd \"react-dom\"","webpack://vw-oneform-feature-app/external umd \"styled-components\"","webpack://vw-oneform-feature-app/./node_modules/classnames/index.js","webpack://vw-oneform-feature-app/./node_modules/@googlemaps/js-api-loader/dist/index.mjs","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/bind.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/utils.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/AxiosError.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/toFormData.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/buildURL.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/InterceptorManager.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/defaults/transitional.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/index.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/common/utils.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/index.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/defaults/index.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/transformData.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/cancel/isCancel.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/cancel/CanceledError.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/settle.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/speedometer.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/throttle.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/cookies.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/buildFullPath.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/combineURLs.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/mergeConfig.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/adapters/xhr.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/composeSignals.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/trackStream.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/adapters/fetch.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/adapters/adapters.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/null.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/dispatchRequest.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/env/data.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/validator.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/Axios.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/cancel/CancelToken.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/axios.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/spread.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/ParseError.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getPossibleCountriesForNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getIddPrefix.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/format.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/RFC3966.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/PhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/isValid.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/constants.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/applyInternationalSeparatorStyle.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/checkNumberLength.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/mergeArrays.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractCountryCallingCode.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractNationalNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/formatNationalNumberUsingFormat.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getCountryByCallingCode.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getCountryByNationalNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getNumberType.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/isObject.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/matchesEntirely.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/parseDigits.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/stripIddPrefix.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/isPossible.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/tools/semver-compare.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/metadata.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/normalizeArguments.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extension/createExtensionPattern.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/isViablePhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extension/extractExtension.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parseIncompletePhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractPhoneContext.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parse.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parsePhoneNumberWithError_.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parsePhoneNumber_.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/metadata.min.json.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/isValidPhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/isValidPhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","webpack://vw-oneform-feature-app/webpack/bootstrap","webpack://vw-oneform-feature-app/webpack/runtime/amd options","webpack://vw-oneform-feature-app/webpack/runtime/compat get default export","webpack://vw-oneform-feature-app/webpack/runtime/define property getters","webpack://vw-oneform-feature-app/webpack/runtime/global","webpack://vw-oneform-feature-app/webpack/runtime/harmony module decorator","webpack://vw-oneform-feature-app/webpack/runtime/hasOwnProperty shorthand","webpack://vw-oneform-feature-app/webpack/runtime/make namespace object","webpack://vw-oneform-feature-app/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"styled-components\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\", \"styled-components\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"react-dom\"), require(\"styled-components\")) : factory(root[\"react\"], root[\"react-dom\"], root[\"styled-components\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})((typeof self !== 'undefined' ? self : this), (__WEBPACK_EXTERNAL_MODULE__9155__, __WEBPACK_EXTERNAL_MODULE__9514__, __WEBPACK_EXTERNAL_MODULE__8694__) => {\nreturn ","import axios from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { DealersData } from 'src/types';\n\nexport const getDealerKvps = async (kvps: string): Promise => {\n try {\n const dataUrl = getDataUrl();\n\n const dealerResponse = await axios.get(`${dataUrl}/getDealer/${kvps}`);\n\n if (dealerResponse?.data?.dealer) {\n return dealerResponse.data.dealer;\n }\n\n reportErrorSentry('Could not get dealer');\n console.error('Could not get dealer');\n return null;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, {AxiosResponse} from 'axios';\nimport {\n\tgetMolecularCdnUrl,\n\tgetOneformBFFCdnApiKey,\n\tgetOneformBFFCdnUrl,\n\tgetVwEventosEntregaIdealUrl,\n\treportErrorSentry,\n} from 'src/bff';\nimport {useIsComerciales} from 'src/feature-app';\nimport {\n\tDomainAttributesValues,\n\tInstallationResponse,\n\tInstallationEntregaIdealResponse,\n\tEntregaIdealHorarioResponse,\n} from 'src/types';\n\nexport const getInstallations = async (\n\ttoken?: string,\n\tdomain?: string,\n): Promise<{attributes: DomainAttributesValues[]}[]> => {\n\tconst isComerciales = useIsComerciales();\n\n\tconst requestToken =\n\t\t!token || testToken() ? (isComerciales ? 'LCV_DDB_FRM_LEM_REC_LEM' : 'VW_DDB_FRM_LEM_REC_LEM') : token;\n\tconst requestDomain = !domain\n\t\t? isComerciales\n\t\t\t? 'LCV_SF_LEAD_INSTALLATION'\n\t\t\t: 'VOLKSWAGEN_SF_LEAD_INSTALLATION'\n\t\t: domain;\n\tconst oneformCdn = getOneformBFFCdnUrl();\n\tconst oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n\ttry {\n\t\tconst installations: AxiosResponse = await axios.get(\n\t\t\t`${oneformCdn}/ndps/domain?token=${requestToken}&domain=${requestDomain}`,\n\t\t\t{\n\t\t\t\ttimeout: 10000,\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\treturn installations.data.content;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getInstallationsLegacy = async (\n\ttoken?: string,\n\taddPosventa?: boolean,\n): Promise<{attributes: DomainAttributesValues[]}[]> => {\n\tconst requestToken = !token || testToken() ? 'VW_DDB_FRM_LEM_REC_LEM' : token;\n\tconst domain = addPosventa ? 'Installations_VW_All' : 'Installation';\n\tconst molecularCdnUrl = getMolecularCdnUrl();\n\n\ttry {\n\t\tconst installations: AxiosResponse = await axios.get(\n\t\t\t`${molecularCdnUrl}/request-dps-domain.php?token=${requestToken}&domain=${domain}`,\n\t\t);\n\t\treturn installations.data.content;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nconst testToken = () => {\n\tconst urlParams = new URLSearchParams(window.location.search);\n\treturn urlParams.get('test') && urlParams.get('test').includes('TOKEN');\n};\n\nexport const getInstallationsEntregaIdeal = async (): Promise => {\n\tconst url = getVwEventosEntregaIdealUrl();\n\n\ttry {\n\t\tconst response: AxiosResponse = await axios.get(`${url}/instalaciones`);\n\t\treturn response.data.instalaciones;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getHorariosInstallation = async (\n\tkvps: string,\n\tyear: string | number,\n\tmonth: string | number,\n): Promise => {\n\tconst url = getVwEventosEntregaIdealUrl();\n\n\ttry {\n\t\tconst response: AxiosResponse<[]> = await axios.get(`${url}/horario/${kvps}/${year}/${month}`);\n\t\treturn response.data;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n","import { fetchMarketingCode, reportErrorSentry } from 'src/bff';\nimport { TrackingConfiguration } from 'src/feature-app';\n\n/*\nexport interface MarketingCodeFields {\n 'fields[COD_VEH_SALESGROUP]': string;\n 'fields[DESC_VEH_SALESGROUP]': string;\n 'fields[DESC_TRIM_LINE]': string;\n 'fields[COD_VEH_TMAIMG]': string;\n 'fields[DESC_VEH_TMAIMG]': string;\n 'fields[DESC_VEH_MARKETING_CODE]': string;\n 'fields[COD_VEH_COLOR]': string;\n 'fields[DESC_VEH_COLOR]': string;\n 'fields[COD_VEH_COLOR_INT]': string;\n 'fields[DESC_VEH_COLOR_INT]': string;\n 'fields[COD_VEH_WHEELS]': string;\n 'fields[DESC_VEH_WHEELS]': string;\n}\n*/\n\nexport interface MarketingCodeHistory {\n marketingCode: string;\n marketingCodeConfig: TrackingConfiguration;\n response: any;\n}\nlet marketingCodeHistory: MarketingCodeHistory[] = [];\n\nexport const getMarketingCode = async (\n marketingCode: string,\n): Promise<{\n marketingCodeConfig: TrackingConfiguration;\n response: any;\n}> => {\n // await delayRequest();\n const offerInHistory = marketingCodeHistory.find((offer) => offer.marketingCode === marketingCode);\n\n if (offerInHistory) {\n return {\n marketingCodeConfig: offerInHistory.marketingCodeConfig,\n response: offerInHistory.response,\n };\n } else {\n const { marketingCodeConfig, response } = await receiveMarketingCode(marketingCode);\n const history: MarketingCodeHistory = { marketingCode, marketingCodeConfig, response };\n marketingCodeHistory.push(history);\n return { marketingCodeConfig, response };\n }\n};\n\nexport const getFeatures = (features: { code: string }[]) => {\n if (!features) return [];\n return features.map((feature) => feature.code);\n};\n\nexport const getWheelsParams = (features: { code: string; name: string }[]) => {\n if (!features) return { COD_VEH_WHEELS: '', DESC_VEH_WHEELS: '' };\n const wheel = features.find((feature) => feature.code.startsWith('MRAD'));\n\n const COD_VEH_WHEELS = wheel?.code ? wheel.code : undefined;\n const DESC_VEH_WHEELS = wheel?.name ? wheel.name : undefined;\n return { COD_VEH_WHEELS, DESC_VEH_WHEELS };\n};\n\nexport const getWheels = (features: { code: string; name: string }[]) => {\n const { COD_VEH_WHEELS, DESC_VEH_WHEELS } = getWheelsParams(features);\n\n return { 'fields[COD_VEH_WHEELS]': COD_VEH_WHEELS, 'fields[DESC_VEH_WHEELS]': DESC_VEH_WHEELS.slice(0, 65) };\n};\n\nexport const getOption = (category: string, options: { category: string, code: string, description: string }[]) => {\n const option = options.find((option) => option.category==category);\n return { option };\n};\n\nexport const getModelFilter = (type: string, modelFilters: { id: string, text: string, type: string }[]) => {\n const modelFilter = modelFilters.find((modelFilter) => modelFilter.type==type);\n return { modelFilter };\n};\n\nclass ErrorLoadStorageDataset extends Error {\n constructor(message: any) {\n super(message);\n this.name = 'ErrorLoadStorageDataset';\n }\n}\n\nexport const receiveMarketingCode = async (\n marketingCode: string,\n): Promise<{ marketingCodeConfig: TrackingConfiguration; response?: any }> => {\n\n try {\n const response = await fetchMarketingCode(marketingCode);\n\n const salesgroup = getOption(\"SALESGROUP\",response.content.consolidatedData.options);\n const modelyear = getOption(\"MODELYEAR\",response.content.consolidatedData.options);\n const type = getOption(\"TYPE\",response.content.consolidatedData.options);\n const baseType = getOption(\"BASETYPE\",response.content.consolidatedData.options);\n\n const equipmentLine = getModelFilter(\"EquipmentLine\",response.content.consolidatedData.meta.modelFilter);\n\n const marketingCodeConfig: TrackingConfiguration = {\n CarlineId: response.content.consolidatedData.model_code.split(\"_\")[1],\n CarlineName: response.content.consolidatedData.model_description,\n SalesgroupId: salesgroup.option.code.replace('SALESGROUP:',''),\n SalesgroupName: salesgroup.option.description,\n EquipmentlineName: equipmentLine.modelFilter.text,\n ModelId: baseType.option.code.replace('BASETYPE:',''),\n ModelName: type.option.description,\n ModelYear: modelyear.option.code.replace('MODELYEAR:',''),\n };\n\n return { marketingCodeConfig, response};\n } catch (error) {\n const errorMkc = new ErrorLoadStorageDataset(error);\n reportErrorSentry(errorMkc);\n const marketingCodeConfig: TrackingConfiguration = null;\n return { marketingCodeConfig };\n }\n};\n\n/**\n * Necesitamos retrasar la request ya que se llama desde muchos sitios al mismo tiempo, por lo que se producen llamadas\n * innecesarias. Esta función simplemente espera a que de tiempo a resolver el marketing code y se la siguiente llamada\n * ya encuentre el resultado de la request anterior en el objeto de historia.\n */\nexport const delayRequest = async () =>\n new Promise((resolve) => {\n setTimeout(resolve, 1000);\n });\n","import axios, { AxiosResponse } from 'axios';\nimport { MolecularResponse, OneformBFFResponse } from 'src/types';\nimport { getMolecularUrl, getOneformBFFUrl, getOneformBFFApiKey, reportErrorSentry } from 'src/bff';\n\n\nexport const filesBffSend = async (\n\tformData: FormData,\n\tfiles?: File[]\n): Promise> => {\n\n\ttry {\n\t\tif(files) {\n\t\t\tfiles.forEach((file, index) => {\n\t\t\t\tformData.append(`file_${index}`, file);\n\t\t\t});\n\t\t}\n\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/files/email`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t\t'Content-Type': 'multipart/form-data'\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\n\nexport const oneformBFFNdpsSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { status: { code: 200 } } };\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/ndps/responses`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const oneformBFFYumiwiSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { status: { code: 200 } } };\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/ndps/responses/yumiwi`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const yumiwiBffSend = async (\n\tformData: FormData,\n\tauthToken: string,\n): Promise> => {\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/yumiwi/attendees`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const dpsSend = async (formData: FormData, isPresubmit?: boolean): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { content: { code: '200' } } };\n\n\ttry {\n\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\tconst response = await axios.post(`${MOLECULAR_URL}/request-dps-send.php`, formData);\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const yumiwiSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { content: { code: '200' } } };\n\n\ttry {\n\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\tconst response = await axios.post(`${MOLECULAR_URL}/request-dps-send-yumiwi.php`, formData);\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const raceSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { content: { code: '200' } } };\n\n\ttry {\n\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\tconst response = await axios.post(`${MOLECULAR_URL}/request-race-callme.php`, formData);\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nconst isTest = (formData: FormData, isPresubmit?: boolean) => {\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst test =\n\t\turlParams.get('test') &&\n\t\t((isPresubmit && urlParams.get('test').includes('PRESUBMIT')) ||\n\t\t\t(!isPresubmit && urlParams.get('test').includes('SEND')));\n\tif (test) {\n\t\tlet fields = [];\n\t\tfor (const entry of formData.entries()) {\n\t\t\tfields[entry[0]] = entry[1];\n\t\t}\n\t\tconsole.log('%cOneform Test Send:', 'font-weight: 700', fields);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport const motorflashSend = (formData: FormData): Promise => {\n\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\n\treturn axios\n\t\t.post(`${MOLECULAR_URL}/request-motorflash-send.php`, formData)\n\t\t.then((response: AxiosResponse) => response.data)\n\t\t.catch((error) => error);\n};\n","import Axios from 'axios';\nimport { getMolecularCdnUrl, getOneformBFFCdnApiKey, getOneformBFFCdnUrl, reportErrorSentry } from 'src/bff';\nimport { DomainResponse } from 'src/types';\n\nexport const fetchDomain = async (token: string, domain: string): Promise => {\n\tconst oneformCdn = getOneformBFFCdnUrl();\n\tconst oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n\ttry {\n\t\tconst response = await Axios.get(`${oneformCdn}/ndps/domain?token=${token}&domain=${domain}`, {\n\t\t\ttimeout: 10000,\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response.data;\n\t} catch (err) {\n\t\treportErrorSentry(err);\n\t\treturn null;\n\t}\n};\n\nexport const fetchProvince = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await Axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=PROVINCE_CODE`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchCountries = async (token?: string): Promise => {\n\tconst requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n\tconst oneformCdn = getOneformBFFCdnUrl();\n\tconst oneformBFFApiKey = getOneformBFFCdnApiKey();\n \n\ttry {\n\t\tconst response = await Axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=COUNTRY`,\n\t\t{\n\t\t\ttimeout: 10000,\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey\n\t\t}\n\t\t}\n\t\t);\n\t\n\t\treturn response.data;\n\t} catch (err) {\n\t\treportErrorSentry(err);\n\t\treturn null;\n\t}\n };\n\nexport const fetchDealers = async (code: string, token?: string): Promise => {\n const requestToken = !token ? 'VW_DDB_FRM_LEM_REC_LEM' : token;\n let domain = '';\n switch (requestToken) {\n case \"VW_DDB_FRM_LEM_REC_LEM\":\n domain = 'VOLKSWAGEN_SF_LEAD_INSTALLATION';\n break;\n case \"LCV_DDB_FRM_LEM_REC_LEM\":\n domain = 'LCV_SF_LEAD_INSTALLATION'\n break;\n default:\n domain = 'VOLKSWAGEN_SF_LEAD_INSTALLATION';\n }\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await Axios.get(\n `${oneformCdn}/ndps/domain?token=${requestToken}&domain=${domain}&relatedDomain=FRML_TXT_codVentaProvincia__c&relatedValue=${code}`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchTreatment = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await Axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=Treatment`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n });\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchProvinceLegacy = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const molecularCdn = getMolecularCdnUrl();\n\n try {\n const response = await Axios.get(`${molecularCdn}/request-dps-domain.php?token=${requestToken}&domain=Province`,\n {\n timeout: 10000\n });\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchDealersLegacy = async (code: string, token?: string, addPosventa?: boolean): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const domain = addPosventa ? 'Installations_VW_All' : 'Installation';\n const molecularCdn = getMolecularCdnUrl();\n\n try {\n const response = await Axios.get(`${molecularCdn}/request-dps-domain.php?token=${requestToken}&domain=${domain}&relatedDomain=FRML_TXT_codVentaProvincia__c&relatedValue=${code}`,\n {\n timeout: 10000\n }\n );\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchTreatmentLegacy = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const molecularCdn = getMolecularCdnUrl();\n\n try {\n const response = await Axios.get(`${molecularCdn}/request-dps-domain.php?token=${requestToken}&domain=Treatment`,\n {\n timeout: 10000,\n });\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n","import fetch from 'cross-fetch';\nimport * as settings from 'src';\nimport { getOneformBFFCdnUrl, getOneformBFFCdnApiKey, reportErrorSentry } from 'src/bff';\n\nexport const fetchMarketingCode = async (marketingCode: string) => {\n const oneformBFFCdnUrl = getOneformBFFCdnUrl();\n const oneformBFFCdnApiKey = getOneformBFFCdnApiKey();\n\n return fetch(oneformBFFCdnUrl + '/okapi/marketing-code?marketingCode=' + marketingCode, {\n headers: {\n \"X-Api-Key\": oneformBFFCdnApiKey,\n }\n })\n .then((response) => response.json())\n .catch((err) => {\n reportErrorSentry(err);\n });\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { CarlineBase } from 'src/types';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\n\nexport const getCarlines = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n \n const response: AxiosResponse<{ carlines: CarlineBase[] }> = await axios.get(`${dataUrl}/getCarlines`);\n return response.data.carlines;\n \n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { Color } from 'src';\nimport { getDataUrlWithoutTenant, reportErrorSentry } from 'src/bff';\n\ninterface ColoresRequest {\n colores: Color[];\n}\n\nexport const getColors = async () => {\n const dataUrl = getDataUrlWithoutTenant();\n\n try {\n const response: AxiosResponse = await axios.get(`${dataUrl}/getColores`);\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { DealersData } from 'src/types';\n\nexport const getDealers = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n\n if (!dataUrl) {\n console.error('Error during fetch.');\n return null;\n }\n const dealers: AxiosResponse<{ dealers: DealersData[] }> = await axios.get(`${dataUrl}/getDealers`);\n return dealers.data.dealers;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getMolecularUrl, getOneformBFFUrl, getOneformBFFApiKey, reportErrorSentry } from 'src/bff';\n\nexport interface PincodeData {\n status: { result: string; timestamp: string; code: number; time: number; };\n params: { pincode: string; token: string };\n content: PincodeResponseOk[] | PincodeResponseKo;\n}\n\nexport interface PincodeResponseOk {\n attributes: PincodeDataAttributes[];\n}\nexport interface PincodeResponseKo {\n code: string;\n data: string;\n message: string;\n status: string;\n}\nexport interface PincodeDataAttributes {\n name: string;\n value: string;\n}\n\nexport const getPincode = async (\n pincode: string,\n\tuseBff?: boolean,\n token?: string\n): Promise<{ pincodeData: PincodeData; pincodeUsed: boolean; pincodeError: boolean }> => {\n try {\n if (!token) {\n token = getPincodeToken(pincode);\n\n if (!token) {\n return { pincodeData: null, pincodeUsed: false, pincodeError: true };\n }\n }\n\n\t\tlet dataResponse: AxiosResponse;\n\n\t\tif (useBff) {\n\t\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\t\tdataResponse = await axios.get(`${oneformBFFUrl}/ndps/preload?pincode=${pincode}&token=${token}`, {\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Api-Key': oneformBFFApiKey\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse { \n\t\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\t\tdataResponse = await axios.get(\n\t\t\t\t`${MOLECULAR_URL}/request-dps-pincode.php?pincode=${pincode}&token=${token}`\n\t\t\t);\n\t\t}\n\n\t\tconst pincodeData = dataResponse;\n\n if (pincodeData && pincodeData.data && \n\t\t\t(pincodeData.data.status.code === 1 || pincodeData.data.status.code === 200)) {\n return { pincodeData: pincodeData.data, pincodeUsed: false, pincodeError: false };\n } else {\n if (\n pincodeData &&\n pincodeData.data &&\n pincodeData.data.content &&\n (pincodeData.data.content as PincodeResponseKo).message.includes('PINCODE_ALREADY_USED')\n ) {\n return { pincodeData: null, pincodeUsed: true, pincodeError: false };\n }\n\n return { pincodeData: null, pincodeUsed: false, pincodeError: true };\n }\n } catch (error) {\n console.error(error);\n reportErrorSentry(error);\n return { pincodeData: null, pincodeUsed: false, pincodeError: true };\n }\n};\n\n/**\n * El token viene codificado en base64 en el formato PINCODETOKEN.\n * @param pincode\n */\nexport const getPincodeToken = (pincode: string): string => {\n try {\n const pincodeDecoded = atob(pincode).split(/(?=VW)/g);\n return pincodeDecoded[pincodeDecoded.length - 1];\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { CarlinesWithSalesgroups } from 'src/types';\n\nexport const getSalesgroups = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n\n const response: AxiosResponse<{ carlines: CarlinesWithSalesgroups[] }> = await axios.get(\n `${dataUrl}/getSalesgroups`\n );\n\n return response.data.carlines;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getDataUrl, getOneformBFFCdnApiKey, getOneformBFFCdnUrl, reportErrorSentry } from 'src/bff';\nimport { modelCar, DomainResponse } from 'src/types';\n\nexport const getVehiculosModelo = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n const response: AxiosResponse = await axios.get(`${dataUrl}/getVehiculosModelos`);\n return response.data.vehiculos;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n\nexport const fetchMarcas = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=BRANDEUROTAX`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchModelos = async (code: string, token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=MODELOS_EUROTAX&relatedDomain=BRAND&relatedValue=${code}`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};","import axios, { AxiosResponse } from 'axios';\nimport { getMolecularCdnUrl, getOneformBFFCdnUrl, getOneformBFFCdnApiKey, reportErrorSentry } from 'src/bff';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Volkswagen Vilma service config provider.');\n return null;\n};\n\nexport const getVilmaAssets = async (frame: string) => {\n\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response: AxiosResponse = await axios.get(\n `${oneformCdn}/vilma/assets?frame=${frame}`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n return response.data;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n}\n","import axios from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { CarlineBase, CarlineWithOffers } from 'src/types';\n\nexport const getOfertasSUV = async () => {\n const dataUrl = getDataUrl(); \n let dataRes: any;\n let carlinesWithOffers: CarlineWithOffers[];\n await axios.get(`${dataUrl}/getOfertas`)\n .then(res => dataRes = res.data)\n .then(() => {\n carlinesWithOffers = dataRes.carlines.filter((carline: CarlineBase) => {\n const carlineNames = ['t-cross', 'taigo', 't-roc'];\n return carlineNames.includes(carline.name.toLowerCase());\n });\n })\n .catch((error) => {\n reportErrorSentry(error);\n return null;\n });\n return carlinesWithOffers;\n};\n","import axios, {AxiosResponse} from 'axios';\nimport {OneformBFFResponse} from 'src/types';\nimport {getOneformBFFUrl, getOneformBFFApiKey, reportErrorSentry} from 'src/bff';\nimport {useIsComerciales} from 'src/feature-app';\n\nexport const getEapiCarlines = async (): Promise> => {\n\ttry {\n\t\tconst groupBrand = useIsComerciales() ? 'N' : 'V';\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.get(`${url}/eapi/carlines?group_brand=${groupBrand}`, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getEapiAvailability = async (\n\tkvps: string,\n\tcodInstalacion: string,\n\ttimestampFrom: number,\n\ttimestampTo: number,\n): Promise> => {\n\ttry {\n\t\tconst groupBrand = useIsComerciales() ? 'N' : 'V';\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.get(\n\t\t\t`${url}/eapi/availability?group_brand=${groupBrand}&kvps=${kvps}&cod_instalacion=${codInstalacion}×tamp_from=${timestampFrom}×tamp_to=${timestampTo}&check_dealer=true`,\n\t\t\t{\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const createEapiAppointment = async (formData: FormData): Promise> => {\n\ttry {\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${url}/eapi/appointment/create`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const deleteEapiAppointment = async (formData: FormData): Promise> => {\n\ttry {\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${url}/eapi/appointment/delete`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getEapiAppointmentIcs = async (pincode: string): Promise => {\n\ttry {\n\t\tconst groupBrand = useIsComerciales() ? 'N' : 'V';\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.get(`${url}/eapi/appointment/get/ics?group_brand=${groupBrand}&pincode=${pincode}`, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response.data;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n","import { ServiceConfigurationV1 } from '@volkswagen-onehub/service-config-provider';\nimport { getDataServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Volkswagen Data service config provider.');\n return null;\n};\n\nexport const getTenant = (dataService: ServiceConfigurationV1) => {\n return isPrivate(dataService)\n ? dataService.tenantPrivate\n : isCommercial(dataService)\n ? dataService.tenantCommercial\n : null;\n};\n\nexport const isCommercial = (dataService: ServiceConfigurationV1) => dataService.customConfig?.brand === 'N';\nexport const isPrivate = (dataService: ServiceConfigurationV1) => dataService.customConfig?.brand === 'V';\n\nexport const checkTenant = (dataService: ServiceConfigurationV1) => {\n const tenant = getTenant(dataService);\n\n return tenant ? `/${tenant}` : '';\n};\n\nexport const getDataUrl = (): string | null => {\n const data = getDataServiceConfig();\n\n if (!data) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return `${data.urlOrigin}${data.urlPath}${checkTenant(data)}`;\n};\n\nexport const getDataUrlWithoutTenant = (): string | null => {\n const data = getDataServiceConfig();\n\n if (!data) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return `${data.urlOrigin}${data.urlPath}`;\n};\n","import { getVwEventosConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Volkwagen Eventos service config provider.');\n return null;\n};\n\nexport const getVwEventosUrl = (): string | null => {\n const service = getVwEventosConfig();\n\n if (!service) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return service.urlOrigin;\n};\n\nexport const getVwEventosEntregaIdealUrl = (): string | null => {\n const service = getVwEventosConfig();\n\n if (!service) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return service.urlOrigin + '/api/volkswagen/entrega-ideal';\n};\n","import { getFeatureServices, getGoogleApiKeyServiceConfig, getMolecularServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Google API Key service config provider.');\n return null;\n};\n\nexport const getGoogleApiKey = (): string | null => {\n const googleApiKeyService = getGoogleApiKeyServiceConfig();\n\n if (!googleApiKeyService) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return googleApiKeyService.customConfig?.apiKey;\n};\n","import { getMolecularCdnServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Molecular CDN service config provider.');\n return null;\n};\n\nexport const getMolecularCdnUrl = (): string | null => {\n const molecularCdn = getMolecularCdnServiceConfig();\n\n if (!molecularCdn) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return (testProduction() ? molecularCdn.urlOrigin.replace('pre-', '') : molecularCdn.urlOrigin) + molecularCdn.urlPath;\n};\n\nconst testProduction = () => {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('test') && urlParams.get('test').includes('PROD');\n}","import { getMolecularServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Molecular service config provider.');\n return null;\n};\n\nexport const getMolecularUrl = (): string | null => {\n const molecular = getMolecularServiceConfig();\n\n if (!molecular) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return molecular.urlOrigin + molecular.urlPath;\n};\n","import {getOneformBFFServiceConfig} from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n\tconsole.error('Error retrieving OneForm BFF service config provider.');\n\treturn null;\n};\n\nexport const getOneformBFFUrl = (): string | null => {\n\tconst oneformBFF = getOneformBFFServiceConfig();\n\n\tif (!oneformBFF) {\n\t\treturn handleErrorInRetrievingExternalConfig();\n\t}\n\n\treturn oneformBFF.urlOrigin + oneformBFF.urlPath;\n};\n","import { getOneformBFFCdnServiceConfig } from 'src/feature-app';\n\nexport interface OneformBFFCustomConfig {\n 'X-Api-Key'?: string\n}\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving OneForm BFF service config provider.');\n return null;\n};\n\nexport const getOneformBFFApiKey = () => {\n const oneformBFF = getOneformBFFCdnServiceConfig();\n const customConfig:OneformBFFCustomConfig = oneformBFF.customConfig;\n\n if (!oneformBFF) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return customConfig['X-Api-Key'];\n};\n","import { getOneformBFFCdnServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving OneForm BFF CDN service config provider.');\n return null;\n};\n\nexport const getOneformBFFCdnUrl = (): string | null => {\n const oneformBFFCdn = getOneformBFFCdnServiceConfig();\n\n if (!oneformBFFCdn) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return (testProduction() ? oneformBFFCdn.urlOrigin.replace('pre-', '') : oneformBFFCdn.urlOrigin) + oneformBFFCdn.urlPath;\n};\n\nconst testProduction = () => {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('test') && urlParams.get('test').includes('PROD');\n}","import { getOneformBFFCdnServiceConfig } from 'src/feature-app';\n\nexport interface OneformBFFCdnCustomConfig {\n 'X-Api-Key'?: string \n}\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving OneForm BFF CDN service config provider.');\n return null;\n};\n\nexport const getOneformBFFCdnApiKey = () => {\n const oneformBFF = getOneformBFFCdnServiceConfig();\n const customConfig:OneformBFFCdnCustomConfig = oneformBFF.customConfig;\n \n if (!oneformBFF) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return customConfig['X-Api-Key'];\n};\n","import { getSentryHub } from 'src/feature-app/sentry';\n\nexport const reportErrorSentry = (error: any) => {\n const hub = getSentryHub();\n hub.run((currentHub) => {\n currentHub.withScope((scope) => {\n currentHub.captureException(error);\n });\n });\n};\n","/* eslint-disable react/display-name */\nimport React, { useState, useEffect, useRef } from 'react';\nimport { styled, Select, Text, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { useDispatch } from 'react-redux';\nimport { useOneFormContext, useTrackingManager } from 'src/feature-app';\nimport { SelectExtendedList } from './CarlineSelect';\nimport { useFormContext } from 'react-hook-form';\n\ntype WrapperProps = {\n disabled?: boolean;\n themeColor?: string;\n};\n\nconst SelectWrapper = styled.div`\n\n opacity: ${(props) => (props.disabled ? '0.5' : '1')};\n & span::before {\n display: none;\n }\n svg {\n fill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n option {\n color: #001e50;\n padding-left: 12px;\n }\n }\n`;\nconst SelectOption = styled.option``;\n\ninterface SelectProps {\n options: Array;\n name: string;\n label: string;\n value?: any;\n defaultValue?: string;\n isFloating?: boolean;\n required?: boolean;\n disabled?: boolean;\n error?: boolean;\n getDealers?: (provincia: string) => void;\n setFormValue?: (selValueIndex: number) => void;\n onClick?: (e?: any) => void;\n setOption?: React.Dispatch>;\n updateFields?: boolean;\n handleChange: any;\n isRequired: boolean;\n innerRef?: any;\n}\n\nexport const SelectExtended = React.forwardRef((props: SelectProps, ref: React.Ref) => {\n const [selItem, setSelItem] = useState(null);\n const [showOptions, setShowOptions] = useState(false);\n\n const [keyValuePair, setKeyValuePair] = useState();\n const { name, options, setOption, updateFields, value, handleChange, isRequired, label, defaultValue, isFloating, innerRef } = props;\n const wrapperRef = useRef(null);\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { setValue } = useFormContext();\n\n const handleClickOutside = (e: any) => {\n if (!wrapperRef.current.contains(e.target)) {\n setShowOptions(false);\n }\n };\n\n const setItem = (option: any, index: number) => {\n if (!props.disabled) {\n if (typeof option !== 'object') {\n setSelItem(option);\n if (setOption) setOption(option);\n } else {\n const dealerName = option.props.children[0].props.children;\n setSelItem(dealerName);\n }\n if (props.setFormValue) props.setFormValue(index);\n setShowOptions(false);\n }\n };\n\n useEffect(() => {\n setSelItem(null);\n }, [props.options]);\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n // función que se llama cuando la componente se desmonta\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [wrapperRef.current]);\n\n useEffect(() => {\n updateFields\n ? dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: keyValuePair ? keyValuePair : value } })\n : undefined;\n }, [keyValuePair, value]);\n\n useEffect(() => {\n if (value) {\n setTimeout(() => {\n setSelItem(value);\n }, 0);\n }\n }, [value]);\n\n return (\n \n {\n trackingManager.trackFormFieldClick(\n {\n contentId: label,\n },\n {\n FormFieldName: name,\n }\n );\n props.onClick();\n }}\n disabled={props.disabled}\n ref={wrapperRef}\n themeColor={formInfo.formTheme}\n >\n {\n event.preventDefault();\n handleChange(event);\n }}\n required={isRequired}\n autoFocus={false}\n ref={innerRef}\n >\n {isFloating && {label}}\n {options.map((option: any, index: number) => {\n if (typeof option === 'string') {\n return (\n {\n e.preventDefault();\n setItem(option, index);\n }}\n key={index}\n value={option}\n >\n {option}\n \n );\n } else {\n return (\n {\n e.preventDefault();\n setItem(option.name, index);\n setKeyValuePair(option.code);\n }}\n key={index}\n value={option.name}\n >\n {option.name}\n \n );\n }\n })}\n \n \n \n );\n});\n","import { CTA } from '@volkswagen-onehub/components-core';\nimport { ArrowUp } from 'src/icons-core-imports';\nimport React from 'react';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\n\nexport const AnteriorCTA = () => {\n \n const { handlePreviousStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n return (\n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Anterior',\n });\n handlePreviousStep(e);\n }}\n tag=\"button\"\n emphasis=\"secondary\" \n size=\"small\"\n icon={}\n >\n Anterior\n \n\n );\n};\n","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useStore } from 'react-redux';\nimport { AnyAction, Store } from 'redux';\nimport { LayerManagerWrapper } from 'src/feature-app';\n\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\n\nexport const AvisoIslasCanarias = ({ close }: { close: CloseHandleV2 }) => {\n const [href, setHref] = useState(null);\n const [copy, setCopy] = useState(null);\n\n const store = useStore();\n\n const { formData } = store.getState();\n\n useEffect(() => {\n if (formData.fields.formName === 'cita-posventa') {\n setHref('https://www.vwcanarias.com/es/cita-previa.html');\n setCopy('Para pedir cita en un Servicio Oficial de las islas, visita la web de Volkswagen Canarias y haz la reserva desde ahí.');\n } else {\n setHref('https://cita.vwcanarias.com/');\n setCopy('Para pedir cita en un punto de venta de las islas, visita la web de Volkswagen Canarias y haz la reserva desde ahí.');\n }\n }, []);\n\n return (\n \n \n \n ¿Estás en las Islas Canarias?\n \n \n {copy}\n \n \n \n \n Ir a Volkswagen Canarias\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n >\n Seguir en esta página\n \n \n \n );\n};\n\nexport const renderAvisoIslasCanariasLayer = (\n store: Store,\n env: FeatureAppEnvironment,\n layerManager: LayerManagerV2\n) => {\n\n const render = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n layerManager.openFocusLayer(\n render,\n {},\n { size: FocusLayerSizeV2.B, userCloseable: true }\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { MultipleCTASelection } from '.';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { contactoOptionsTurismos, contactoOptionsComerciales } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nexport function CanalDeContacto() {\n const { register, errors } = useFormContext();\n const [errorContacto, setErrorContacto] = useState(false);\n const [contacto, setContacto] = useState('Arteon');\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const { error, setError } = useOneFormContext();\n const isComerciales = useIsComerciales();\n\n useEffect(() => {\n if (fields.contacto) {\n setContacto(fields.contacto);\n }\n }, []);\n\n useEffect(() => {\n if (error) {\n !contacto ? setErrorContacto(true) : setErrorContacto(false);\n }\n }, [error]);\n\n useEffect(() => {\n if (errors.contacto) {\n setErrorContacto(true);\n } else {\n setErrorContacto(false);\n }\n }, [errors]);\n\n function handleChange(event: any) {\n const newContacto = event.currentTarget.value;\n setContacto(newContacto);\n if (newContacto !== '') setErrorContacto(false);\n }\n\n return ;\n}\n","import { Breakpoints, Layout, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Points } from 'src/types';\n\nconst InnerCardContainer = styled.div`\n background-color: rgba(0, 0, 0, 0.5);\n bottom: 0;\n height: 100%;\n left: 0;\n position: fixed;\n right: 0;\n width: 100%;\n z-index: 21;\n`;\n\nconst AnimatedCard = styled.div`\n height: 100%;\n width: 100%;\n &.alert-enter,\n &.alert-appear {\n transform: translateY(100%);\n }\n &.alert-enter-active,\n &.alert-appear-active {\n transform: translateY(0);\n transition: transform 400ms;\n }\n &.alert-exit {\n transform: translateY(0%);\n }\n &.alert-exit-active {\n transform: translateY(100%);\n transition: transform 400ms;\n }\n`;\n\nconst CloseDiv = styled.button`\n width: 100%;\n display: flex;\n justify-content: center;\n background: #001e50;\n height: 35px;\n border: none;\n cursor: pointer;\n left: 50%;\n outline: none;\n position: fixed;\n top: 0;\n transform: translate(-50%, 0) translateY(${(props) => props.translateY}px);\n z-index: 22;\n\n &.close-enter {\n top: 100%;\n }\n &.close-enter-active {\n top: 0%;\n transition: top 400ms;\n\n /* transform: translate(-50%, 0) translateY(${(props) => props.translateY}px);\n transition: transform 400ms; */\n }\n &.close-exit {\n transform: translateY(0%);\n }\n &.close-exit-active {\n transform: translateY(100%);\n transition: transform 400ms;\n }\n`;\n\nconst Marker = styled.div`\n height: 4px;\n width: 44px;\n border-radius: 2px;\n background-color: #ffffff;\n margin-top: 1.5vh;\n opacity: 0;\n &.marker-enter {\n opacity: 0.1;\n transform: scale(1.5);\n display: block;\n }\n &.marker-enter-active {\n opacity: 1;\n transform: scale(1);\n transition: transform 200ms, opacity 200ms ease-in;\n }\n &.marker-enter-done {\n opacity: 1;\n }\n`;\n\nconst TopBar = styled.div`\n height: 32px;\n width: 100%;\n background-color: #001e50;\n position: sticky;\n top: 0;\n z-index: 3;\n`;\n\ninterface translateYProps {\n translateY: number;\n showAllCardsMobile: boolean;\n}\n//max-height: 100vh;\n//overflow-y: scroll;\nconst InnerCard = styled.div`\n background-color: #001e50;\n border-radius: 12px 12px 0px;\n height: 100%;\n left: 50%;\n\n position: absolute;\n top: 53%;\n transform: translate(-50%, -50%) translateY(${(props) => props.translateY}px);\n width: 100%;\n z-index: 1000;\n`;\n\ninterface CardProps {\n children: React.ReactNode;\n closeCard: () => void;\n showCard: boolean;\n selectedPoint: Points;\n showAllCardsMobile: boolean;\n}\n\nconst fullLayout = [{ name: 'a', columns: 24 }];\nconst layoutWithMargins = [\n { name: '.', columns: 2 },\n { name: 'a', columns: 20 },\n { name: '.', columns: 2 },\n];\n\nexport function Card(props: CardProps) {\n const { closeCard, children, showCard, selectedPoint, showAllCardsMobile } = props;\n const [isCardOpen, setIsCardOpen] = useState(false);\n const [animateCarousell, setAnimateCarousell] = useState(false);\n const [initialValue, setInitialValue] = useState(null);\n const [translateY, setTranslateY] = useState(null);\n const [initialY, setInitialY] = useState(null);\n const cardRef = useRef(null);\n\n useEffect(() => {\n if (selectedPoint && !showAllCardsMobile) {\n if (window.innerHeight > 400) {\n setTranslateY(window ? window.innerHeight - 420 : 344);\n setInitialY(window ? window.innerHeight - 420 : 344);\n } else {\n setTranslateY(0);\n setInitialY(0);\n }\n } else {\n setTranslateY(0);\n setInitialY(0);\n }\n }, [selectedPoint, showAllCardsMobile]);\n\n useEffect(() => {\n setIsCardOpen(true);\n // document.body.style.overflow = 'hidden';\n return () => {\n // document.body.style.overflow = 'visible';\n };\n }, []);\n\n useLayoutEffect(() => {\n if (isCardOpen) setTimeout(() => setAnimateCarousell(true), 0);\n }, [isCardOpen]);\n\n const handleTouchStart = (e: React.TouchEvent) => {\n e.preventDefault();\n const x = e.nativeEvent.touches[0].clientY;\n setInitialValue(x);\n };\n\n const handleTouchEnd = (e: React.TouchEvent) => {\n e.preventDefault();\n const finalValue = e.nativeEvent.changedTouches[0].clientY;\n finalValue < (initialValue - initialY) * 6 ? more() : less();\n\n setInitialValue(null);\n };\n const handleMoveStartCard = (e: React.TouchEvent) => {\n e.preventDefault();\n if (!initialValue) {\n return;\n }\n\n const y = e.nativeEvent.changedTouches[0].clientY;\n const result = y - initialValue;\n\n result >= 0 ? setTranslateY(result + initialY) : setTranslateY(initialY);\n };\n\n const more = () => {\n setTranslateY(initialY);\n };\n\n const less = () => {\n closeCard();\n setIsCardOpen(false);\n setAnimateCarousell(false);\n };\n\n const handleOnClickMap = (e: any) => {\n const innerCard = document.getElementById('inner-card-container');\n\n if (e.target != innerCard && !innerCard.contains(e.target) && !showAllCardsMobile) {\n closeCard();\n setIsCardOpen(false);\n setAnimateCarousell(false);\n }\n };\n\n return (\n <>\n \n {\n handleTouchStart(e);\n }}\n onTouchEnd={(e) => {\n handleTouchEnd(e);\n }}\n onTouchMove={(e) => {\n handleMoveStartCard(e);\n }}\n translateY={translateY}\n showAllCardsMobile={showAllCardsMobile}\n >\n \n \n \n \n \n {\n e.preventDefault;\n handleOnClickMap(e);\n }}\n >\n \n \n \n {\n e.preventDefault();\n e.stopPropagation();\n }}\n onTouchStart={(e) => {\n handleTouchStart(e);\n }}\n onTouchEnd={(e) => {\n handleTouchEnd(e);\n }}\n onTouchMove={(e) => {\n handleMoveStartCard(e);\n }}\n />\n \n {children}\n \n \n \n \n \n \n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useRef, ReactElement, useEffect, useState } from 'react';\nimport Slider from 'react-slick';\n\nconst CSSDiv = styled.div`\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n`;\nconst OfferPadding = styled.div`\n padding: 0 16px;\n`;\ninterface CarouselProps {\n renderList: (list: any) => JSX.Element[];\n list: any;\n}\n\nexport const CarouselComponent = (props: CarouselProps) => {\n const { renderList, list } = props;\n\n //carousel thigs\n\n const sliderRef = useRef(null);\n const childrenRef = useRef(null);\n\n const settings = {\n className: 'center',\n infinite: false,\n centerMode: true,\n centerPadding: '6%',\n slidesToShow: 1,\n swipe: true,\n speed: 500,\n arrows: false,\n };\n\n return (\n \n \n {renderList(list)}\n \n \n );\n};\n","import { Close } from 'src/icons-core-imports';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\n\nexport const CloseButton = () => {\n const { handleAreYouSureLayer } = useOneFormContext();\n const { screenIndex } = useSelector(\n (state: OneFormState) => state.formInfo\n );\n\n const trackingManager = useTrackingManager();\n\n return (\n {\n e.preventDefault();\n trackingManager.trackFormCloseClick(\n {\n contentId: 'Cerrar',\n },\n { FormStart: screenIndex === 0 ? true : false }\n );\n handleAreYouSureLayer();\n }}\n >\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { GeneralInputWidthWrapper, InputError, TextInputExtended } from 'src/components';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\n\ninterface CodigoPostalProps {\n setFieldValue?: boolean;\n noPaddingTop?: boolean;\n}\n\nexport const CodigoPostal = (props: CodigoPostalProps) => {\n const { setFieldValue, noPaddingTop } = props;\n const { register } = useFormContext();\n const { formInfo }: OneFormState = store.getState();\n\n // PostalCode\n const [inputValuePostalCode, setInputValuePostalCode] = useState('');\n const [pristinePostalCode, setPristinePostalCode] = useState(true);\n const [errorPostalCode, setErrorPostalCode] = useState(false);\n const regExpPostalCode = /\\d{5}/gi;\n const dispatch = useDispatch();\n\n const handleChangePostalCode = (e: any) => {\n if (setFieldValue) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { ['postalCode']: e.target.value } });\n }\n setInputValuePostalCode(e.target.value);\n setPristinePostalCode(false);\n };\n\n useEffect(() => {\n if (!pristinePostalCode && inputValuePostalCode.match(regExpPostalCode) === null) {\n setErrorPostalCode(true);\n } else {\n setErrorPostalCode(false);\n }\n }, [inputValuePostalCode, pristinePostalCode]);\n\n return (\n \n handleChangePostalCode(e)}\n required\n maxLength={5}\n />\n {errorPostalCode && Solo se aceptan números}\n \n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Spinner,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\n\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState, useCallback } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { Store } from 'redux';\nimport {\n createNoDmsSlotAndAssessor,\n getFranjaAndDayFrom,\n weekDay_DayNumber_De_Month,\n useFeatureAppConfig,\n weekDay_Day_Hour,\n} from 'src/feature-app';\nimport { DealersData, OneFormState, Slot, Horario } from 'src/types';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\nconst CTAWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n text-align: left;\n > div {\n text-align: left;\n }\n > button {\n @media screen and (min-width: 560px) {\n width: auto;\n }\n }\n`;\n\ninterface InvalidFormProps {\n notSavedField?: string;\n closeLayerCallback?: CloseHandleV2;\n}\n\nexport const InvalidForm = (props: InvalidFormProps) => {\n const { notSavedField, closeLayerCallback } = props;\n return (\n \n \n ¿Quieres conservar estos últimos cambios?\n \n \n \n Si es así, necesitamos que guardes los cambios que has hecho {notSavedField} antes de confirmar tu cita.\n \n \n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Entendido\n \n \n \n \n );\n};\n\ninterface loadingSreenProps {\n isleads?: boolean;\n copy?: string;\n}\n\nexport const LoadingScreen = (props: loadingSreenProps) => {\n return (\n \n \n {props.copy ? {props.copy} : Enviando tu petición}\n \n );\n};\n\ninterface KoScreenProps {\n retrySubmit: (e: any) => void;\n closeLayerCallback?: CloseHandleV2;\n title?:string;\n bodyCopy?:string;\n isLEM?: boolean;\n hideSecondCTA?: boolean;\n}\n\nexport const KoScreen = (props: KoScreenProps) => {\n const { retrySubmit, closeLayerCallback, title, bodyCopy, isLEM, hideSecondCTA } = props;\n\n return (\n \n \n
\n \n
\n \n {title? title : 'Uy, algo ha pasado'}\n \n \n \n {bodyCopy? bodyCopy : 'Por alguna razón no hemos podido recoger tus datos. ¿Lo intentamos de nuevo?'}\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n \n Ir a la web\n \n ) : (\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Seguir navegando\n \n )\n }\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n
\n \n Ir a la web\n \n
\n ) : (\n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n Seguir navegando\n \n
\n )\n }\n
\n
\n \n \n \n
\n );\n};\n\ninterface IntermitenciaDMSKoProps {\n retrySubmit: (e: any) => void;\n closeLayerCallback?: CloseHandleV2;\n}\n\nexport const IntermitenciaDMSKo = (props: IntermitenciaDMSKoProps) => {\n const { retrySubmit, closeLayerCallback } = props;\n const [dmsFailed, setDmsFailed] = useState(false);\n const store: Store = useStore();\n const dispatch = useDispatch();\n const config = useFeatureAppConfig();\n\n const [day, setDay] = useState(null);\n const [franjaHoraria, setFranjaHoraria] = useState(null);\n const [name, setName] = useState(null);\n const [selectedPoint, setSelectedPoint] = useState(null);\n const { horario }: { horario: Horario } = store.getState().formData.fields;\n\n useEffect(() => {\n const { sendDmsFailed } = store.getState().formInfo;\n let { slot, dealer }: { slot: Slot; dealer: DealersData } = store.getState().formData.fields;\n\n setDmsFailed(sendDmsFailed);\n const { franjaHoraria } = getFranjaAndDayFrom(slot.from);\n\n setDay(weekDay_DayNumber_De_Month(slot.from));\n setFranjaHoraria(franjaHoraria.toLowerCase());\n setName(dealer.name);\n setSelectedPoint(slot);\n }, []);\n\n const handleShowSlots = useCallback((): string | null => {\n let { slot }: { slot: Slot } = store.getState().formData.fields;\n\n const finalSlot = getFinalSlot(slot.from);\n\n return finalSlot ? finalSlot : null;\n }, []);\n\n const getFinalSlot = (from: number) => {\n const momentSlot = weekDay_Day_Hour(from);\n const capitalizedSlot = momentSlot.charAt(0).toUpperCase() + momentSlot.slice(1);\n return capitalizedSlot.replace('-', ' a las ').concat('h');\n };\n\n const createNoDmsSlot = async (e: any) => {\n let { slot, dealer }: { slot: Slot; dealer: DealersData } = store.getState().formData.fields;\n dealer = {\n ...dealer,\n dmsInfo: {\n ...dealer.dmsInfo,\n dmsAvailable: false,\n },\n };\n const { franjaHoraria, day } = getFranjaAndDayFrom(slot.from);\n const { slot: newSlot, assessor } = createNoDmsSlotAndAssessor(franjaHoraria, day);\n dispatch({ type: 'UPDATE_FIELDS', payload: { slot: newSlot, assessor, dealer } });\n\n retrySubmit(e);\n };\n return (\n \n \n \n No hemos podido confirmar tu cita para el{' '}\n {handleShowSlots()}\n \n \n \n ¿Quieres que {name} se ponga en contacto contigo para\n cerrar tu cita el {day} por la {franjaHoraria}?\n \n \n {\n e.preventDefault();\n await createNoDmsSlot(e);\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Consultar con mi taller\n \n {\n config.trigger === 'cita-posventa-dealer' ? null : (\n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Buscar una nueva cita\n \n
\n )\n }\n
\n \n \n
\n );\n};\n","import {\n Text,\n styled,\n Container,\n ContainerGutter,\n CTA,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\nconst PaddingWrapper = styled.div`\n padding-top: 32px;\n`;\n\ninterface LegalesProps {\n linkBasesLegales?: string;\n}\nexport const LegalFullScreenSinConsentmientos = (props: LegalesProps) => {\n return (\n \n \n \n Texto legal de Volkswagen\n \n \n El responsable de tus datos es Volkswagen Group España Distribución, S.A.U. Vamos a utilizar tus datos para realizar un control de calidad sobre los productos y servicios contratados, mediante la realización de la presente encuesta de satisfacción, y contactarte para resolución de incidencias, reclamaciones o quejas. Tus datos podrán ser comunicados a las empresas del grupo para las finalidades de controlar la calidad de los productos y servicios, así como contactarte para resolución de incidencias, reclamaciones o quejas.\n \n \n En el supuesto de haber consentido, tus datos y las respuestas de la presente encuesta de satisfacción serán comunicadas al Concesionario. Tienes derecho a oponerte al tratamiento, limitar el mismo, acceder, rectificar, suprimir los datos y ejercer tu derecho a portabilidad, mediante el envío de un correo electrónico a:{' '}\n \n atencioncliente@volkswagen.es\n \n .\n \n \n Puedes consultar la información adicional en la{' '}\n \n política de privacidad\n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n Bases Legales\n {' '}\n de la promoción.\n \n ) : null}\n \n \n );\n};\n","import {\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor\n} from '@volkswagen-onehub/components-core';\nimport React, { useState, useEffect } from 'react';\nimport { CTAsSiNo } from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { InputError } from 'src/components';\nimport { CustomSwitch } from '../inputs';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { Info } from 'src/icons-core-imports';\n\n\nconst CTAsWrapper = styled.div`\n .error-field {\n width: fit-content !important;\n }\n \n > button {\n width: 81px;\n height: 33px;\n &:first-of-type {\n margin-right: 44px;\n }\n }\n \n`;\n\nconst PaddingWrapper = styled.div<{ noCompra?: boolean }>`\n width: 100%;\n padding-bottom: 32px;\n`;\n\nconst QuestionWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n flex-wrap: nowrap;\n`;\n\nconst ItemWrapper = styled.div`\n padding-bottom: 44px;\n`;\n\ninterface InfoWrapperProps {\n themeColor?: 'main' | 'inverted';\n}\n\nconst InfoWrapper = styled.div`\n margin-left: 16px;\n cursor: pointer;\n svg {\n fill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n`;\n\n\nexport const LegalItem = ({ title, onClick, themeColor, name, checkboxMode }: any) => {\n const [currentValue, setCurrentValue] = useState(null);\n const { register, setValue, errors } = useFormContext();\n const [isSelected, setIsSelected] = useState(null);\n const getValue = (isSelected: boolean) => isSelected ? 'PERMITE' : 'NO INFORMADO';\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: getValue(isSelected) } });\n }, [isSelected]);\n\n useEffect(() => {\n !checkboxMode && setIsSelected(false);\n }, []);\n\n function checkCurrentValue(label: string, name: string) {\n const value = label === 'Sí' ? 'PERMITE' : 'NO PERMITE';\n setCurrentValue(label);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n setValue(name, value);\n }\n\n return (\n \n \n \n {title}\n \n \n \n \n \n {!checkboxMode ? (\n \n {\n CTAsSiNo.map((cta: { label: string }, index: number) => (\n {\n register(ref, { required: true });\n }}\n onClick={\n (e) => {\n e.preventDefault();\n checkCurrentValue(cta.label, name);\n }\n }\n size={'small'}\n >\n {cta.label}\n \n ))\n }\n {errors[name] ? Este campo es obligatorio : null}\n \n ) : (\n \n \n {isSelected ? 'Aceptado' : 'Aceptar'}\n \n )}\n \n );\n};\n","import {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { OneFormState } from 'src/types';\n\nconst PaddingWrapper = styled.div`\n padding-top: 32px;\n`;\n\ninterface LegalesProps {\n linkBasesLegales?: string;\n}\nexport const Legales = (props: LegalesProps) => {\n const isComerciales = useIsComerciales();\n return isComerciales ? : ;\n};\n\nconst LegalesTurismos = (props: LegalesProps) => {\n const { hideLegal, customLegal } = useSelector((state: OneFormState) => state.formInfo);\n return (\n \n {customLegal ? customLegal : null}\n {hideLegal ? null : (\n \n \n Texto legal de Volkswagen\n \n \n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos; y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n atencioncliente@volkswagen.es\n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n política de privacidad\n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n Bases Legales\n {' '}\n de la promoción.\n \n ) : null}\n \n )}\n \n );\n};\nconst LegalesComerciales = (props: LegalesProps) => {\n const { hideLegal } = useSelector((state: OneFormState) => state.formInfo);\n return (\n \n {hideLegal ? null : (\n \n \n Texto legal de Volkswagen\n \n \n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de poder cursar tu petición y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n atencioncliente@volkswagen-comerciales.es\n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n política de privacidad\n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n Bases Legales\n {' '}\n de la promoción.\n \n ) : null}\n \n )}\n \n );\n};\n","import React from 'react';\nimport {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nconst WhiteLinkWrapper = styled.span`\n a {\n color: #ffffff;\n }\n`;\n\ninterface legalesFormatoLayerProps {\n noPadding?: boolean;\n showTitle?: boolean;\n linkBasesLegales?: string;\n}\nconst Wrapper = styled.div`\n padding-top: ${(props) => (props.noPadding ? null : '72px')};\n padding-bottom: ${(props) => (props.noPadding ? null : '52px')};\n`;\n\nexport const LegalesFormatoLayer = (props: legalesFormatoLayerProps) => {\n const isComerciales = useIsComerciales();\n\n return isComerciales ? : ;\n};\nconst LegalesFormatoLayerTurismos = (props: legalesFormatoLayerProps) => {\n return (\n \n \n {props.showTitle ? (\n \n Texto legal de Volkswagen\n \n ) : null}\n\n \n {props.linkBasesLegales ? (\n <>\n Te esponsable del tratamiento, con la finalidad de gestionar tu participación en la Promoción y, en el caso que lo consientas, para los fines comerciales y/o perfilado según lo indicado en el propio consentimiento. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n ) : (\n <>\n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos; y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n )}\n \n \n atencioncliente@volkswagen.es\n \n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n \n política de privacidad\n \n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n \n Bases Legales\n \n {' '}\n de la promoción.\n \n ) : null}\n \n \n );\n};\nconst LegalesFormatoLayerComerciales = (props: legalesFormatoLayerProps) => {\n return (\n \n \n {props.showTitle ? (\n \n Texto legal de Volkswagen\n \n ) : null}\n\n \n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de poder cursar tu petición y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n \n atencioncliente@volkswagen-comerciales.es\n \n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n \n política de privacidad\n \n \n .\n \n \n \n );\n};\n\nexport const LegalesTemporales = (props: legalesFormatoLayerProps) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{props.showTitle ? (\n\t\t\t\t\t\n\t\t\t\t\t\tTexto legal de Volkswagen\n\t\t\t\t\t\n\t\t\t\t) : null}\n\n\t\t\t\t\n\t\t\t\t\tTe informamos que el responsable del tratamiento de tus datos es la compañía VOLKSWAGEN GROUP ESPAÑA DISTRIBUCION, S.A.U., con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos y gestionar tu participación gratuita en la Promoción Driving Experience Jarama comunicada durante el proceso de cita previa.\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tPara más información sobre el tratamiento de los datos pulsa{' '}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\taquí\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t.\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import React from 'react';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { LssiTkmQuestionsComerciales, LssiTkmQuestionsTurismos } from '.';\n\nexport interface LssiTkmQuestionsProps {\n\tshowTitle: boolean;\n\tthemeColor?: 'main' | 'inverted';\n\tnoCompra?: boolean;\n\tisComerciales?: boolean;\n}\n\nexport function LssiTkmQuestions(props: LssiTkmQuestionsProps) {\n\tconst isComerciales = props.isComerciales ? props.isComerciales : useIsComerciales();\n\n\treturn isComerciales ? : ;\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\nimport { useStore } from 'react-redux';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { LssiTkmQuestionsProps, LegalItem } from '.';\nimport { useGetIdPerson } from 'src/feature-app';\n\nconst getLssiTitle = (isOfertas: boolean) => {\n return isOfertas ? (\n \n ¿Te gustaría recibir comunicaciones comerciales sobre productos y servicios de nuestra{' '}\n \n marca?*\n \n \n ) : (\n \n ¿Te gustaría recibir descuentos y novedades de{' '}\n \n Volkswagen?*\n \n \n );\n};\n\nconst getLssiText = (isOfertas: boolean) => {\n return isOfertas\n ? 'Te enviaremos por cualquier medio información sobre descuentos, novedades, próximos lanzamientos, invitaciones a eventos y/o promociones especiales'\n : 'Si quieres, podemos enviarte información sobre próximos lanzamientos, invitaciones a eventos y promociones especiales.';\n};\n\nconst getTmkTitle = (isOfertas: boolean) => {\n return isOfertas ? (\n \n ¿Consientes que elaboremos un perfil tuyo como usuario para poder enviarte información comercial sobre los productos y servicios de nuestra marca que creamos que puedan resultar más de tu interés según tus{' '}\n \n preferencias?*\n \n \n ) : (\n \n ¿Te gustaría que elaboremos un perfil tuyo para ofrecerte información comercial sobre productos y servicios de nuestras marcas que creamos que te puedan interesar más según tus{' '}\n \n preferencias?*\n \n \n );\n};\n\nconst getTmkText = (isOfertas: boolean) => {\n return isOfertas\n ? 'Para elaborar tu perfil utilizaremos toda aquella información que disponemos de ti derivada de tu relación con nosotros como son la tipología de productos y/o servicios contratados, así como cualquier interacción con nuestra marca. Para ello, utilizaremos tanto la información que nos hayas aportado directamente como la que nos puedan hacer llegar terceros a los que hayas consentido que nos hagan llegar esta información. Gracias a esta información seremos capaces de enviarte información comercial sobre nuestros productos y servicios que consideramos que serán de más interés para ti que las genéricas. En el caso que consientas, no recibirás comunicaciones comerciales genéricas sino lo más personalizadas posible según tus preferencias para hacer que tu experiencia con la marca sea lo más positiva posible.'\n : 'Acceder a tu perfil nos ayuda a aprender de ti para mostrarte los servicios y ofertas que más te interesan.';\n};\n\nexport const LssiTkmQuestionsComerciales = ({ showTitle, themeColor }: LssiTkmQuestionsProps) => {\n const store = useStore();\n const idPerson = useGetIdPerson();\n const lssiPermite: boolean = idPerson?.LSSI__c === 'PERMITE';\n\n const { formName, quieroContacto } = store.getState().formData.fields;\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n\n const isOfertasForm = (formName) => {\n return formName === 'callme-oferta' || formName === 'lead-oferta';\n };\n\n const handleInfoLayer = (\n key: 'lssi' | 'tmk',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { body: key === 'tmk' ? getTmkText(true) : getLssiText(true) },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n \n \n \n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n
\n {!lssiPermite ?\n <>\n {showTitle && (\n <>\n \n
\n \n Y unas últimas preguntas\n \n
\n
\n \n
\n \n Y unas últimas preguntas\n \n
\n
\n \n )}\n handleInfoLayer('lssi', renderInfo)}\n themeColor={themeColor}\n name=\"lssi\"\n\t\t\tcheckboxMode={false}\n />\n handleInfoLayer('tmk', renderInfo)}\n themeColor={themeColor}\n name=\"tmk\"\n\t\t\tcheckboxMode={false}\n />\n \n :\n <>\n {showTitle && (\n
\n \n ¿Listo para enviar?\n \n
\n )}\n \n }\n
\n\n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\nimport { useStore } from 'react-redux';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { useGetIdPerson } from 'src/feature-app/hooks';\nimport { LssiTkmQuestionsProps, LegalItem } from '.';\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n tmk: {\n title: '¡Adiós mensajes genéricos!',\n body: 'Activando esta opción podremos enviarte información y ofertas personalizadas de productos y servicios adecuadas a tu perfil. Para ello nos basaremos en tu comportamiento, preferencias personales y cómo usas nuestros productos y servicios.',\n }\n};\n\nconst legalItemTitles = {\n lssi: '¿Te gustaría recibir descuentos y novedades de Volkswagen?',\n tmk: '¿Te gustaría que elaboremos un perfil tuyo para ofrecerte información comercial sobre productos y servicios de nuestras marcas que creamos que te puedan interesar más según tus preferencias?',\n};\n\nexport const LssiTkmQuestionsTurismos = ({ showTitle, themeColor }: LssiTkmQuestionsProps) => {\n const store = useStore();\n const idPerson = useGetIdPerson();\n const lssiPermite: boolean = idPerson?.LSSI__c === 'PERMITE';\n\n const { formName, quieroContacto } = store.getState().formData.fields;\n const isLead: boolean = quieroContacto === 'true' || formName.includes('lead-');\n const env = useFeatureAppEnvironment();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\n const getLegalItemTitle = (key: string) => legalItemTitles[key];\n\n const handleInfoLayer = (\n key: 'lssi' | 'tmk' ,\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n
\n {!lssiPermite ?\n <>\n {showTitle && (\n <>\n \n
\n \n Mantente al día\n \n
\n
\n \n
\n \n Mantente al día\n \n
\n
\n \n )}\n handleInfoLayer('lssi', renderInfo)}\n themeColor={themeColor}\n name='lssi'\n\t\t\tcheckboxMode={true}\n />\n handleInfoLayer('tmk', renderInfo)}\n themeColor={themeColor}\n name='tmk'\n\t\t\tcheckboxMode={true}\n />\n \n :\n <>\n {showTitle && !isLead && (\n
\n \n ¿Listo para enviar?\n \n
\n )}\n {showTitle && isLead && (\n
\n \n \n Y una última pregunta\n \n \n \n \n Y una última pregunta\n \n \n
\n )}\n \n }\n
\n );\n};\n","import { BreakpointWrapper, Breakpoints, CTA, Container, ContainerGutter, ContainerPadding, Layout, TextAlignment, TokenTextAppearance, styled } from \"@volkswagen-onehub/components-core\";\nimport { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from \"react\";\nimport iconlssi from \"./iconlssi.svg\"\nimport icontmk from \"./icontmk.svg\"\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useOneFormContext } from \"src/feature-app\";\nimport { useWindowHeight } from \"@react-hook/window-size\";\nimport { useGetBoundingClientRect } from 'src/feature-app/hooks';\nimport { OneFormState } from \"src/types\";\n\nconst CTAsWrapper = styled.div`\n padding: var(--size-grid002) 0;\n display: flex;\n justify-content: center;\n gap: var(--size-grid001);\n width: 100%;\n @media (min-width: 960px) {\n padding: var(--size-grid001) 0;\n }\n`\nconst returnLinearGradient = (formType: string) => {\n if (formType === 'layer') {\n return 'linear-gradient(180deg, rgba(7, 29, 77, 0.5) 0%, #071D4D 77.06%);'\n } else {\n return 'linear-gradient(180deg, rgba(255, 255, 255, 0.5) -25.89%, #FFFFFF 50%)'\n }\n}\n\nconst CTAsWrapperMobile = styled.div<{ navPosition: string, formType: string }>`\n padding: ${(props) => props.navPosition === 'fixed' ? '45px 0 110px 0' : '50px 0'};\n display: flex;\n justify-content: center;\n gap: var(--size-grid001);\n position: ${(props) => props.navPosition};\n height: 130px;\n right: 0px;\n width: 100%;\n bottom: ${(props) => props.navPosition === 'fixed' ? '31px' : '-27px'};\n background: ${(props) => returnLinearGradient(props.formType)};\n`\n\ninterface ConsentQuestionProps {\n questionType: 'lssi' | 'tmk';\n}\n\nconst questions = {\n lssi: {\n title: <>¿Te gustaría recibir descuentos y novedades de Volkswagen?,\n subtitle: 'Estarás mejor informado.',\n copy: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n icon: iconlssi,\n },\n tmk: {\n title: <>¿Te gustaría que elaboremos un perfil tuyo para ofrecerte información comercial sobre productos y servicios de nuestras marcas que creamos que te puedan interesar más según tus preferencias?,\n subtitle: '¡Adiós mensajes genéricos!',\n copy: 'Activando esta opción podremos enviarte información y ofertas personalizadas de productos y servicios adecuadas a tu perfil. Para ello nos basaremos en tu comportamiento, preferencias personales y cómo usas nuestros productos y servicios.',\n icon: icontmk,\n }\n}\n\n\nexport const ConsentQuestion = (ConsentQuestionProps: ConsentQuestionProps) => {\n const { questionType } = ConsentQuestionProps;\n const [currentValue, setCurrentValue] = React.useState('');\n const { register, setValue, errors } = useFormContext();\n const dispatch = useDispatch();\n const { handleNextStep } = useOneFormContext();\n const [navPosition, setNavPosition] = React.useState('fixed');\n const viewportHeight = useWindowHeight();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { setShowPreviousStep } = useOneFormContext();\n\n setShowPreviousStep(false);\n\n const { bottom: bottomContent, getAndUpdateState: getAndUpdateStateContent } = useGetBoundingClientRect(\n '.content-controller-fullScreen'\n );\n\n const { top: topNavigation, getAndUpdateState: getAndUpdateStateNavigation } =\n useGetBoundingClientRect('.navigation-wrapper');\n\n useEffect(() => {\n if (bottomContent === null) {\n setNavPosition('fixed');\n } else if (bottomContent <= viewportHeight - 100) {\n setNavPosition('absolute');\n } else {\n setNavPosition('fixed');\n }\n }, [topNavigation, bottomContent]);\n\n const handlePosition = () => {\n getAndUpdateStateNavigation();\n getAndUpdateStateContent();\n };\n\n useEffect(() => {\n document.addEventListener('scroll', handlePosition);\n return () => {\n document.removeEventListener('scroll', handlePosition);\n };\n\n }, []);\n\n const renderCTAs = () => {\n return (\n <>\n {\n e.preventDefault()\n checkCurrentValue('aceptar', questionType)\n }}\n ariaLabel=\"aceptar\"\n >\n Aceptar\n \n {\n e.preventDefault()\n checkCurrentValue('omitir', questionType)\n }}\n ariaLabel=\"omitir\"\n >\n Omitir\n \n \n \n )\n }\n\n function checkCurrentValue(label: string, name: string) {\n const value = label === 'aceptar' ? 'PERMITE' : 'NO INFORMADO';\n setCurrentValue(label);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [questionType]: value } });\n\n setValue(name, value);\n handleNextStep();\n }\n\n return (\n <>\n \n \n\n
\n \"icon\"\n
\n \n {questions[questionType].title}\n \n \n {questions[questionType].subtitle}\n \n \n {questions[questionType].copy}\n \n \n \n \n {renderCTAs()}\n \n \n \n \n {renderCTAs()}\n \n \n \n \n )\n}\n","import {\n Breakpoints,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Layout,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Calendar } from 'src/icons-core-imports';\n\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Center, getDistanceFromCenter, Points } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { Horario, OneFormState } from 'src/types';\n\nconst CTAWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 32px;\n`;\n\ninterface DealerCardProps {\n handleShowSlots?: any;\n point?: Points;\n handleSeleccionarOnClick?: any;\n handleShowCalendarOnClick?: any;\n center: Center;\n}\n\nexport const DealerCard = (props: DealerCardProps) => {\n const { point, center } = props;\n const { name, address, city, zipCode } = point.properties.dealer.markerInfo.dealerInfo;\n const { distanceFromCenter, dealer } = point.properties;\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario: Horario } = formData.fields;\n\n return (\n <>\n \n \n {props.handleShowSlots(point) === null ? null : (\n \n \n {props.handleShowSlots(point)}\n \n \n )}\n\n \n \n {name ? name : null}\n \n \n {address}, {zipCode} {city}\n \n \n \n \n \n {distanceFromCenter ? distanceFromCenter : getDistanceFromCenter(center, point)}km\n \n \n \n\n {!point.properties.dealer.dmsInfo || !point.properties.dealer.dmsInfo.dmsAvailable ? (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar día y franja horaria',\n },\n dealer\n );\n props.handleShowCalendarOnClick(point);\n }}\n >\n Seleccionar día y franja horaria\n \n \n ) : (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar',\n },\n dealer\n );\n if (\n (horario !== 'before' && dealer.slots[horario] === null) ||\n (horario === 'before' && !point.properties.hasOwnProperty('earliestSlot'))\n ) {\n props.handleShowCalendarOnClick(point);\n } else {\n props.handleSeleccionarOnClick(point);\n }\n }}\n >\n Seleccionar\n \n }\n onClick={(e) => {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Ver más horas',\n },\n dealer\n );\n props.handleShowCalendarOnClick(point);\n }}\n >\n Ver más horas\n \n \n )}\n \n );\n};\n","import React, { useState, useEffect } from 'react';\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { InputButton, TextAreaExtended, PaddingWrapper } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { FieldType } from 'src/feature-service/es-oneform-core-feature-service/types';\n\ninterface DetalleMotivoProps {\n hideCTA?: boolean;\n CTALabel?: string;\n name?: FieldType;\n label?: string;\n limitedCharacters?: boolean;\n numberOfMaxLength?: number;\n showRecomendation?: string | JSX.Element;\n required?: boolean;\n}\n\nexport function DetalleMotivo(props: DetalleMotivoProps) {\n const { hideCTA, CTALabel, name, label, limitedCharacters, numberOfMaxLength, showRecomendation, required } = props;\n const { register, setValue } = useFormContext();\n const { handleNextStep } = useOneFormContext();\n const [showButton, setShowButton] = useState(true);\n const [currentValue, setCurrentValue] = useState('');\n\n const adMaxLength = (max: number) => {\n const aux = document.getElementsByTagName('textarea');\n aux[0].setAttribute('maxlength', `${max}`);\n };\n\n useEffect(() => {\n if (limitedCharacters) adMaxLength(numberOfMaxLength);\n }, []);\n\n useEffect(() => {\n if (hideCTA) {\n setShowButton(false);\n }\n }, []);\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n if (!hideCTA && (aux.length <= 2 || aux === '')) {\n setShowButton(true);\n } else {\n setShowButton(false);\n }\n };\n\n return (\n \n \n
\n handleChange(e)}\n appearance={'default'}\n isFloating\n innerRef={register({\n required: {\n value: required ? required : false,\n message: '',\n },\n })}\n maxLength={numberOfMaxLength}\n alternateCTAText={CTALabel ? CTALabel : 'No, eso es todo'}\n />\n {\n showRecomendation ? (\n \n \n {showRecomendation}\n \n \n ) : null\n }\n
\n {\n hideCTA ? null :(\n <>\n {showButton ? (\n {\n setValue('masInformacion', '');\n handleNextStep(e);\n }}\n innerRef={register({\n required: {\n value: required ? required : false,\n message: '',\n },\n })}\n />\n ) : (\n
\n )}\n \n )\n } \n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { SelectExtended } from '.';\nimport { getActualYearNumber } from 'src/feature-app';\nimport { styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { meses } from 'src/feature-app/InputsValues/OtherInputTypesObjects';\ninterface FechaCompraProps {\n notALayer: boolean;\n}\n\nconst FechaCompraWrapper = styled.div`\n margin-top: 4px;\n display: flex;\n flex-wrap: wrap;\n width: var(--size-grid020);\n @media all and (min-width: 560px) {\n width: var(--size-grid013);\n }\n @media screen and (min-width: 960px) {\n margin-top: 0; \n width: var(--size-grid008);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid006);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid005);\n }\n @media all and (min-width: 2560px) {\n width: var(--size-grid004);\n }\n label {\n margin-top: 40px;\n width: var(--size-grid009);\n\n @media all and (max-height: 624px) {\n margin-top: 20px;\n }\n\n @media all and (min-width: 560px) {\n width: var(--size-grid006);\n }\n @media screen and (min-width: 960px) {\n width: calc( var(--size-grid003) + (var(--size-grid001)/2) );\n }\n @media all and (min-width: 1280px) {\n width: calc( var(--size-grid002) + (var(--size-grid001)/2) );\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid002);\n }\n @media all and (min-width: 2560px) {\n width: calc( var(--size-grid001) + (var(--size-grid001)/2) );\n }\n }\n`;\nconst MarginDiv = styled.div`\n width: var(--size-grid002);\n @media all and (min-width: 560px) {\n width: var(--size-grid001);\n }\n`;\n\nexport const FechaCompra = (props: FechaCompraProps ) => {\n\n const { notALayer } = props;\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const { fecha } = formData.fields;\n\n //month\n const [ month, setMonth ] = useState('Enero');\n\n const handleChangeMonth = (e:any) => {\n e.preventDefault();\n setMonth(e.target.value);\n };\n\n //year\n\n const actualYear = getActualYearNumber();\n const [ yearsArray, setYearsArray ] = useState(null);\n\n useEffect(()=>{\n const previousYear = dayjs(actualYear).subtract(1, 'y').locale('es').format('YYYY');\n\n setYearsArray([previousYear, actualYear]);\n }, [actualYear]);\n\n const [ year, setYear ] = useState(actualYear);\n\n const handleChangeYear = (e:any) => {\n e.preventDefault();\n setYear(e.target.value);\n };\n\n //previous value\n\n useEffect(()=>{\n if(fecha) {\n const aux = fecha.split('/');\n const auxMonth = meses.find((m)=> m.number === aux[1]); \n setMonth(auxMonth.name);\n setYear(aux[2]);\n }\n }, []);\n\n //send value\n\n const [ finalDate, setFinalDate ] = useState(null);\n\n useEffect(()=>{\n const aux = meses.find((m)=> m.name === month);\n\n setFinalDate(`01/${aux.number}/${year}`);\n }, [month, year]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { fecha: finalDate } });\n if(finalDate) {\n const aux = finalDate.split('/');\n const mes = meses.find((m) => m.number === aux[1]);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { fechaCompra : mes.name + ' / ' + aux[2] } });\n }\n }, [finalDate]);\n\n \n\n \n\n return (\n \n m.name)}\n name='month'\n isRequired={true}\n handleChange={handleChangeMonth}\n value={month}\n onClick={() => null}\n setOption={setMonth}\n />\n \n { yearsArray ? (\n null}\n setOption={setYear}\n />\n ) : null}\n \n );\n};\n","import {\n Container,\n ContainerGutter,\n CTA,\n Text,\n styled,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { CustomSlider, PaddingWrapper } from '.';\n\nconst KilContentWrapper = styled.div`\n padding-left: 32px;\n padding-right: 8px;\n width: 100vw;\n\n @media all and (min-width: 560px) {\n padding-left: 46px;\n padding-right: 32px;\n }\n @media all and (min-width: 960px) {\n padding-left: 120px;\n padding-right: 81px;\n width: 960px;\n }\n`;\n\nexport function Kilometros() {\n const isCommerciales = useIsComerciales();\n const jumpRange = isCommerciales ? 50000 : 30000;\n const maxValue = isCommerciales ? 400000 : 180000;\n const numberOfSteps = isCommerciales ? 9 : 7;\n const [value, setValue] = useState(1);\n const [millageValue, setMillageValue] = useState([0, jumpRange]);\n const [rangoKilometros, setRangoKilometros] = useState(`0km - ${formatNumber(jumpRange)}km`);\n const dispatch = useDispatch();\n const { handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n // convertir int a string con '.' de separacion para los miles. ej: 30000 --> 30.000\n function formatNumber(num: number | number[]) {\n return num.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');\n }\n const handleInputChange = (event: any) => {\n setValue(event.target.value);\n };\n\n useEffect(() => {\n const aux = jumpRange;\n const lowValue = aux * value - jumpRange;\n const highValue = aux * value;\n let stringRange;\n\n if (highValue > maxValue) {\n stringRange = isCommerciales ? 'Más de 400.000km' : 'Más de 180.000km';\n setMillageValue([lowValue, highValue]);\n } else {\n stringRange = `${formatNumber(lowValue)}km - ${formatNumber(highValue)}km`;\n setMillageValue([lowValue, highValue]);\n }\n setRangoKilometros(stringRange);\n\n trackingManager.trackFormFilterSelect(\n {\n contentId: 'Kilometros',\n },\n {\n type: 'range',\n name: 'Kilometros',\n lowerbound: String(lowValue),\n upperbound: String(highValue),\n values: undefined,\n },\n { FormFieldName: 'kilometros' }\n );\n }, [value]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { kilometros: millageValue } });\n }, [millageValue]);\n\n return (\n \n \n \n \n {rangoKilometros}\n \n \n \n \n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'No estoy seguro',\n });\n setMillageValue(0);\n handleNextStep(e);\n }}\n ariaLabel=\"aria label\"\n >\n No estoy seguro\n \n \n \n \n );\n}\n","import { Breakpoints, BreakpointWrapper, CTA, styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen, IntermitenciaDMSKo, InvalidForm } from 'src/components';\n\nconst PositionWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n`;\n\ninterface LastNavigationProps {\n compartir?: string;\n setCompartirError?: React.Dispatch>;\n setPrivacidadError?: React.Dispatch>;\n label?: string;\n KoTitle?: string;\n KoBody?: string;\n loadingCopy?: string;\n ContentID?: string;\n checkNotSavedFields?: () => string;\n ActivarCheckNotSavedFields?: boolean;\n}\n\n\nexport const LastNavigation = (props: LastNavigationProps) => {\n const {\n label,\n KoTitle,\n KoBody,\n loadingCopy,\n setCompartirError,\n ContentID,\n checkNotSavedFields,\n ActivarCheckNotSavedFields,\n } = props;\n\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { triggerValidation, errors } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [notSavedField, setNotSavedField] = useState(null);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const [intermitenciaLayerLayer, setIntermitenciaLayerLayer] = useState>(null);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleIntermitenciaDMSKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderIntermitenciaDMSKoLayer, {}, { size: FocusLayerSizeV2.A });\n setIntermitenciaLayerLayer(layer);\n // return layer;\n };\n\n const renderIntermitenciaDMSKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleInvalidFormLayer = () => {\n const layer = layerManager.openFocusLayer(renderInvalidFormLayer, {}, { size: FocusLayerSizeV2.A });\n // setConfirmacionLayer(layer);\n\n // return layer;\n };\n const renderInvalidFormLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmar(e: any) {\n if (formData.fields.formName === 'no_compra-no_tengo' && formData.fields.quieroContacto === 'true' ||\n formData.fields.formName === 'no_renovacion-no_tengo' && formData.fields.quieroContacto === 'true') {\n if (!formData.fields.compartir) {\n setCompartirError(true);\n } else {\n trackingManager.trackFormCTAClick({\n contentId: ContentID ? ContentID : 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n } else {\n const isValid = await triggerValidation();\n if (setCompartirError && !isValid) {\n setCompartirError(true);\n }\n \n if (!isValid) return;\n\n trackingManager.trackFormCTAClick({\n contentId: ContentID ? ContentID : 'Enviar',\n });\n\n if (ActivarCheckNotSavedFields) {\n const someNotSavedField = checkNotSavedFields();\n setNotSavedField(someNotSavedField);\n\n if (someNotSavedField === null) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n const { sendDmsFailed } = store.getState().formInfo;\n if (sendDmsFailed) {\n handleIntermitenciaDMSKoLayer();\n } else {\n handleKoLayer();\n }\n }\n } else {\n handleInvalidFormLayer();\n }\n } else {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n \n \n {\n e.preventDefault();\n handleConfirmar(e);\n }}\n stretchContent\n >\n {label ? label : 'Enviar'}\n \n \n \n {\n e.preventDefault();\n handleConfirmar(e);\n }}\n >\n {label ? label : 'Enviar'}\n \n \n \n );\n};\n","import {\n Container,\n CTA,\n Text,\n TextAlignment,\n ContainerGutter,\n styled,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useSelector, useDispatch } from 'react-redux';\nimport {\n isGooglePlace,\n Suggest,\n Suggestion,\n useOneFormContext\n} from 'src/feature-app';\nimport { useLocateUser } from 'src/feature-app/hooks';\nimport { Installation, isDealerData, OneFormState } from 'src/types';\n\nconst LocateWrapper = styled.div<{ paddingTop?: string }>`\n overflow: visible;\n padding-top: ${(props) => props.paddingTop ? props.paddingTop : '44px'};\n`;\nconst LocationDisabledWrapper = styled.div<{ paddingTopLocation?: string }>`\n padding-top: ${(props) => props.paddingTopLocation ? props.paddingTopLocation : '44px'};\n`;\ninterface LocateUserProps {\n isFiltrosSuggest?: boolean;\n onSuggestionSelectedFnAlternative?: (suggestion: Suggestion) => void;\n theme?: 'main' | 'inverted';\n paddingTop?: string;\n paddingTopLocation?: string;\n autoWidth?: boolean;\n noTengoDudasButton?: boolean;\n}\n\nexport function LocateUserFullScreen(props: LocateUserProps) {\n const { isFiltrosSuggest, onSuggestionSelectedFnAlternative, theme, paddingTop, paddingTopLocation, autoWidth } = props;\n const { register } = useFormContext();\n const { nextStep } = useOneFormContext();\n const {\n value,\n setValue,\n suggestion,\n setSuggestion,\n icon,\n locationSuccess,\n setLocationSuccess,\n handleLocate,\n loading,\n locationDisabled,\n isLocating,\n onSuggestionSelectedFn,\n } = useLocateUser();\n const dispatch = useDispatch();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formTheme } = formInfo;\n\n const getSuggestionValue = (suggestion: Suggestion) => {\n if (!isGooglePlace(suggestion) && !isDealerData(suggestion)) {\n return (suggestion as Installation).VGED_CommercialName__c;\n } else {\n return suggestion.name;\n }\n };\n\n return (\n \n \n
\n \n
\n \n {\n e.preventDefault();\n if (!locationSuccess) handleLocate();\n }}\n disabled={loading ? true : false}\n size=\"small\"\n >\n Localiza mi posición actual\n \n {locationDisabled ? (\n \n \n Tu localización está deshabilitada\n \n \n ) : null}\n \n {props.noTengoDudasButton ? (\n {\n e.preventDefault();\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'false' } });\n nextStep();\n }}\n size=\"small\"\n >\n No tengo dudas\n \n ) : null}\n
\n \n
\n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { InputError, TextInputExtended, CarlineSelect, PaddingWrapper } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { CitaFormDataFields } from 'src/forms/CitaPosventa/types';\nimport { SelectExtended } from '.';\n\nconst arrCountries = [\n {\n name: 'ES',\n code: 'ES',\n regex: [/\\d{4}[b-df-hj-npr-tv-zB-DF-HJ-NPR-TV-Z]{3}/, /[A-Za-z]{1,2}\\d{4}[A-Za-z]{1,2}/],\n errorMessage: 'Ejemplo: 0000BCD o AA0000AA',\n },\n {\n name: 'DE',\n code: 'DE',\n regex: [/[a-zA-Z]{2,5}\\d{1,4}/],\n errorMessage: 'Ejemplo: AAABB0000',\n },\n {\n name: 'FR',\n code: 'FR',\n regex: [\n /[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}\\d{3}[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}/,\n /\\d{2,4}[a-zA-Z]{2,3}\\d{2,3}/,\n /\\d{2,4}[a-zA-Z]{2,3}\\d{1}(a|b|A|B)/,\n ],\n errorMessage: 'Ejemplo: AA000AA o 00000AA00',\n },\n {\n name: 'GB',\n code: 'GB',\n regex: [/[a-zA-Z]{1,2}\\d{2}[a-zA-Z]{3}/, /[a-zA-Z]{1}\\d{3}[a-zA-Z]{3}/],\n errorMessage: 'Ejemplo: AA00AAA',\n },\n {\n name: 'IT',\n code: 'IT',\n regex: [/[a-zA-Z]{2}\\d{3}[a-zA-Z]{2}/],\n errorMessage: 'Ejemplo: AA000AA',\n },\n {\n name: 'PT',\n code: 'PT',\n regex: [/[a-zA-Z]{2}\\d{2}[a-zA-Z]{2}/, /\\d{2}[a-zA-Z]{2}\\d{2}/],\n errorMessage: 'Ejemplo: AA00AA',\n },\n {\n name: 'Otros',\n code: 'Otros',\n regex: [/[a-zA-Z\\d\\s]{3,}/],\n errorMessage: 'Solo números, letras y espacios',\n },\n];\n\ninterface paginaConfirmacionProps {\n paginaConfirmacion: boolean;\n}\n\nconst ContentWrapper = styled.div`\n\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: ${(props) => (props.paginaConfirmacion ? 'flex-start' : 'space-between')};\n flex-wrap: wrap;\n padding-top: 0;\n }\n /* Eliminar flechas del input type number porque descuadra el layout un poco */\n /* Chrome, Safari, Edge, Opera */\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n /* Firefox */\n input[type='number'] {\n -moz-appearance: textfield;\n }\n`;\n\nconst MatriculaAndCountriesWrapper = styled.div`\n width: 100%;\n display: flex;\n height: max-content;\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n margin-right:${(props) => (props.paginaConfirmacion ? '88px' : '0px')};\n }\n`;\nconst MatriculaWrapper = styled.div`\n width: 100%;\n label {\n width: 100%;\n @media screen and (min-width: 960px) {\n width: 170px;\n }\n }\n`;\nconst CoutryWrapper = styled.div`\n margin-right: 24px;\n label {\n width: 109px;\n @media screen and (min-width: 560px) {\n width: 116px;\n }\n @media screen and (min-width: 960px) {\n width: 120px;\n }\n }\n`;\nconst InputErrorWrapper = styled.div`\n &.matricula-error-wrapper {\n p {\n max-width: 179px;\n @media all and (min-width: 560px) {\n max-width: 163px;\n }\n @media all and (min-width: 960px) {\n max-width: 176px;\n }\n }\n }\n`;\nconst AnoMatriculacionWrapper = styled.div<{ paginaConfirmacion: boolean }>`\n margin-top: ${(props) => (props.paginaConfirmacion ? '40px' : null)};\n @media all and (min-width: 960px) {\n margin-top: 0;\n }\n`;\n\ninterface inputWidthWrapperProps {\n noPaddingTop?: boolean;\n}\n\nconst InputWidthWrapper = styled.div`\n width: 100%;\n padding-top: ${(props) => (props.noPaddingTop ? null : '40px')};\n\n @media all and (max-height: 624px) {\n padding-top: ${(props) => (props.noPaddingTop ? null : '24px')};\n }\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n padding-top: 0;\n width: 320px;\n }\n`;\n\ninterface MatriculaProps {\n formData: CitaFormDataFields;\n paginaConfirmacion: boolean;\n noPaddingTop?: boolean;\n}\n\nconst MatriculaYModelo = (props: MatriculaProps) => {\n const { register, errors } = useFormContext();\n const { error, setError } = useOneFormContext();\n const [inputValueAno, setInputValueAno] = useState('');\n const [pristineMatricula, setPristineMatricula] = useState(true);\n const [pristineAno, setPristineAno] = useState(true);\n const [inputValueMatricula, setInputValueMatricula] = useState('');\n const [errorMatricula, setErrorMatricula] = useState(false);\n const [errorAno, setErrorAno] = useState(false);\n const [errorCountry, setErrorCountry] = useState(false);\n const [country, setCountry] = useState('ES');\n const [countryObject, setCountryObject] = useState(null);\n const regExpAno = /^(19|20)\\d{2}$/;\n const [regExCounty, setRegExCounty] = useState(null);\n const { formData, paginaConfirmacion, noPaddingTop } = props;\n\n useEffect(() => {\n if (formData.countryPlate) {\n setCountry(formData.countryPlate);\n const countryObject = arrCountries.find((c) => c.name === formData.countryPlate);\n setCountryObject(countryObject);\n setRegExCounty(countryObject.regex);\n } else {\n setCountry('ES');\n setCountryObject(arrCountries[0]);\n setRegExCounty(arrCountries[0].regex);\n }\n if (formData.matricula) {\n setInputValueMatricula(formData.matricula);\n setPristineMatricula(false);\n }\n if (formData.anoMatriculacion) {\n setInputValueAno(formData.anoMatriculacion);\n setPristineAno(false);\n }\n }, []);\n\n const validateMatricula = (input: string) => {\n const isValid = regExCounty.some((regEx) => regEx.test(input));\n\n if (isValid) {\n setErrorMatricula(false);\n return true;\n } else {\n setErrorMatricula(true);\n return false;\n }\n };\n\n const handleChangeCountry = (event: any) => {\n setCountry(event.currentTarget.value);\n const countryObject = arrCountries.find((c) => c.name === event.currentTarget.value);\n setCountryObject(countryObject);\n setRegExCounty(countryObject.regex);\n if (countryObject.name !== '') setErrorCountry(false);\n };\n\n const handleChangeAno = (e: any) => {\n setInputValueAno(e.target.value);\n setPristineAno(false);\n };\n\n const handleChangeMatricula = (e: any) => {\n setInputValueMatricula(e.target.value);\n setPristineMatricula(false);\n };\n\n useEffect(() => {\n if (inputValueAno.length < 4) {\n return;\n } else {\n if (!pristineAno && inputValueAno.match(regExpAno) === null) {\n setErrorAno(true);\n } else if (inputValueAno === '') {\n setPristineAno(true);\n setErrorAno(false);\n } else {\n setErrorAno(false);\n }\n }\n }, [inputValueAno, pristineAno]);\n\n useEffect(() => {\n if (error) {\n errorAno || pristineAno ? setErrorAno(true) : setErrorAno(false);\n errorMatricula || pristineMatricula ? setErrorMatricula(true) : setErrorMatricula(false);\n }\n }, [error]);\n\n useEffect(() => {\n if (!errorMatricula && !errorMatricula) setError(false);\n }, [errorMatricula, errorMatricula]);\n\n return (\n \n \n \n \n null}\n updateFields\n setOption={setCountry}\n isRequired={true}\n />\n \n \n validateMatricula(input),\n required: {\n value: true,\n message: 'Requerido',\n },\n maxLength: 100,\n })}\n isFloating\n onChange={(e) => handleChangeMatricula(e)}\n required\n />\n {errorMatricula && (\n \n {countryObject.errorMessage}\n \n )}\n \n \n \n \n handleChangeAno(e)}\n required\n />\n {errorAno && Ejemplo: 2010}\n \n \n {!paginaConfirmacion ? (\n \n \n \n ) : null}\n \n \n );\n};\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData.fields,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(MatriculaYModelo);\n\nexport { ConnectedComponent as MatriculaYModelo };\n","import React, { useState} from 'react';\nimport { useDispatch } from 'react-redux';\nimport { styled, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useFormContext } from 'react-hook-form';\nimport { InputButton } from 'src/components/inputs/InputButton';\n\nconst CTAWrapper = styled.div`\n text-align: left;\n margin: -10px;\n margin-top: 32px;\n @media all and (max-height: 624px) {\n margin-top: 24px;\n }\n & > button {\n margin: 12px;\n }\n`;\n\ninterface CTAValues {\n value?: string | boolean;\n label: string;\n}\n\ninterface NoClienteProps {\n name: string;\n nextOnClick?: boolean;\n bodyCopy: string;\n}\n\nexport const NoCliente = (props: NoClienteProps) => {\n const dispatch = useDispatch();\n const { name, nextOnClick, bodyCopy } = props;\n\n const { register, setValue } = useFormContext();\n const { handleNextStep, closeLayer } = useOneFormContext();\n const [selectedValue, setSelectedValue] = useState(null);\n\n return (\n <>\n \n {bodyCopy} \n \n \n {\n if ('Claro' !== selectedValue) {\n setSelectedValue('Claro');\n setValue(name, true);\n\n if (nextOnClick) {\n handleNextStep(e);\n }\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n {\n\n if ('Salir del formulario' !== selectedValue) {\n setSelectedValue('Salir del formulario');\n setValue(name,false);\n dispatch({ type: 'RESET_STATE' });\n closeLayer();\n\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n \n \n );\n};\n","import React from 'react';\nimport {\n Text,\n Container,\n ContainerPadding,\n CTA,\n ContainerGutter,\n Layout,\n Breakpoints,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\ninterface IntroduccioStarsProps {\n bodyCopy?: string;\n label?: string;\n}\n\nexport const PantallaIntroduccionStars = (props:IntroduccioStarsProps) => {\n const { bodyCopy, label } = props;\n const { nextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n return (\n \n \n \n {bodyCopy ? bodyCopy : 'Valora del 1 al 5 las siguientes experiencias con nosotros.'}\n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n {label ? label : 'Empezar'}\n \n \n \n );\n};\n","import React, { useEffect, useState, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchDomain } from 'src/bff';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext, useTrackingManager } from 'src/feature-app';\nimport { GeneralInputWidthWrapper } from '.';\nimport { InputError } from './inputs';\nimport { styled, Select, TextInput } from '@volkswagen-onehub/components-core';\n\ntype WrapperProps = {\n\tdisabled?: boolean;\n\tthemeColor?: string;\n};\n\nconst Wrapper = styled.div`\n opacity: ${(props) => (props.disabled ? '0.5' : '1')};\n & span::before {\n display: none;\n }\n svg {\n\tfill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n option {\n\tcolor: #001e50;\n\tpadding-left: 12px;\n }\n`;\n\ninterface props {\n\tname: string;\n\ttoken: string;\n\tdomain: string;\n\tnodeValue: string;\n\tnodeText: string;\n\n\tlabel?: string;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\tselected?: string;\n\tnoPaddingTop?: boolean;\n\taddOptions?: { value: string; text: string }[];\n\twhiteList?: string[];\n\tblackList?: string[];\n\tonClick?: (e?: any) => void;\n}\n\nexport function SelectDpsDomain(props: props) {\n\tconst { name, token, domain, required, disabled, nodeValue, nodeText, noPaddingTop, addOptions, whiteList, blackList } = props;\n\tconst defaultSelected = props.selected;\n\tconst label = props.label ? props.label : 'Selecciona una opción';\n\n\tconst dispatch = useDispatch();\n\tconst trackingManager = useTrackingManager();\n\tconst { register, errors: contextErrors } = useFormContext();\n\tconst { error: contextError } = useOneFormContext();\n\tconst [error, setError] = useState(false);\n\n\tconst { formData, formInfo, domainsInfo } = useSelector((state: OneFormState) => state);\n\tconst { fields } = formData;\n\tconst [options, setOptions] = useState<{ value: string; text: string }[]>([]);\n\tconst [selected, setSelected] = useState(null);\n\n\n\tconst requestDomain = async () => {\n\t\tconst response = await fetchDomain(token, domain);\n\t\tlet options = response.content.map((item) => {\n\t\t\tconst value = item.attributes.find((attr: { name: string }) => attr.name == nodeValue)?.value;\n\t\t\tconst text = item.attributes.find((attr: { name: string }) => attr.name == nodeText)?.value;\n\t\t\treturn { value, text };\n\t\t});\n\t\tif (whiteList) {\n\t\t\toptions = options.filter(({ value, text }) =>\n\t\t\t\twhiteList.some(white =>\n\t\t\t\t\t(value && value.toLowerCase() === white.toLowerCase()) ||\n\t\t\t\t\t(text && text.toLowerCase() === white.toLowerCase())\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tif (blackList) {\n\t\t\toptions = options.filter(({ value, text }) =>\n\t\t\t\t!blackList.some(black =>\n\t\t\t\t\t(value && value.toLowerCase() === black.toLowerCase()) ||\n\t\t\t\t\t(text && text.toLowerCase() === black.toLowerCase())\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tif (addOptions) {\n\t\t\toptions = [...options, ...addOptions];\n\t\t}\n\t\tsetOptions(options);\n\t\tsetFirstSelected(options);\n\t\tdispatch({ type: 'ADD_DOMAIN', payload: { [token]: { [domain]: options } } });\n\t};\n\n\tconst setFirstSelected = (options) => {\n\t\tif(fields[name]) {\n\t\t\tsetSelected(fields[name]);\n\t\t}\n\t\telse if (defaultSelected) {\n\t\t\tconst option = options.find(opt => \n\t\t\t\topt.value === defaultSelected || opt.text === defaultSelected \n\t\t\t);\n\t\t\tsetSelected(option?.value);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif(domainsInfo[token] && domainsInfo[token][domain]) {\n\t\t\tsetOptions(domainsInfo[token][domain]);\n\t\t\tsetFirstSelected(domainsInfo[token][domain]);\n\t\t}\n\t\telse {\n\t\t\trequestDomain();\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (contextError) {\n\t\t\tsetError(true);\n\t\t} else if (contextErrors.value) {\n\t\t\tsetError(true);\n\t\t} else if (contextErrors[name]) {\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tsetError(false);\n\t\t}\n\t}, [contextError, contextErrors]);\n\n\tconst handleChange = (e: any) => {\n\t\tconst selectedValue = e.currentTarget.value;\n\t\tsetSelected(selectedValue);\n\t\tsetError(false);\n\n\t\tif (selectedValue == '' && required) {\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: selectedValue } });\n\t\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: options.find(({value}) => value == selectedValue)?.text } });\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{options ? (\n\t\t\t\t {\n\t\t\t\t\t\ttrackingManager.trackFormFieldClick(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontentId: label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tFormFieldName: name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t\t//props.onClick();\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tthemeColor={formInfo.formTheme}\n\t\t\t\t>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\thandleChange(event);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\tautoFocus={false}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t{options.map((option: any, key: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : null }\n\n\t\t\t{ error ? Este campo es obligatorio : null}\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t);\n}\n","import React from 'react';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { SelectDpsDomain } from './SelectDpsDomain';\nimport { GeneralInputWidthWrapper } from './styleComponents';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\n\nexport const Trato = () => {\n const isComerciales = useIsComerciales();\n\tconst dpsToken = isComerciales ? 'LCV_DDB_FRM_LEM_REC_LEM' : 'VW_DDB_FRM_LEM_REC_LEM';\n\tconst { formInfo }: OneFormState = store.getState();\n\n return (\n\t\t\n\t\t\t\n\t\t \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { Apellido, Nombre, PaddingWrapper } from '.';\nimport { Trato } from './Trato';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\ninterface pantallaNombreApellidoProps {\n notALayer?: boolean;\n isComerciales?: boolean;\n}\n\nconst ContentWrapper = styled.div`\n gap: 44px;\n display: flex;\n flex-direction: column;\n width: 100%;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n flex-wrap: wrap;\n margin-top: 0;\n }\n`;\n\nexport const PantallaNombreApellido = (props: pantallaNombreApellidoProps) => {\n const isComerciales = useIsComerciales();\n\n return (\n\t\n\t\t\n\t\t\t{isComerciales ? : null}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n );\n};\n","import { Checkbox, CTA, styled, Text, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { InputError } from 'src/components';\nimport { OneFormState } from 'src/types';\n\nexport const PoliticaPrivacidad = () => {\n const { register, errors, clearError } = useFormContext();\n const isComerciales = useIsComerciales();\n const { formInfo } = useSelector((state: OneFormState) => state);\n return (\n
\n
\n \n Enviando este formulario declaras estar informado de la{' '}\n \n política de privacidad.\n \n \n
\n {errors && errors.politicaPrivacidad ? (\n Necesitamos esta información para seguir\n ) : null}\n
\n );\n};\n","import React, {useState, useEffect} from 'react';\nimport { useDispatch } from 'react-redux';\nimport { \n styled, \n Text, \n TextAlignment, \n BreakpointWrapper, \n Breakpoints,\n Container,\n ContainerPadding,\n CTA,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\nconst CustomInputRange = styled.input`\n width: 100%;\n height: 30px;\n background: transparent;\n font-size: 1em;\n cursor: pointer; \n -webkit-appearance: none;\n\n &::-webkit-slider-runnable-track, &::-webkit-slider-thumb {\n -webkit-appearance: none;\n };\n &::-webkit-slider-runnable-track{\n position: relative;\n width: 100%;\n height: 1px;\n background: transparent; \n };\n &::-moz-range-track {\n width: 100%;\n height: 1px;\n background: transparent;\n };\n &::-ms-track {\n border: none;\n width: 100%;\n height: 1px;\n background: transparent;\n color: transparent;\n };\n &::-ms-fill-lower {\n display: none;\n };\n &::-webkit-slider-thumb {\n box-sizing: border-box;\n width: 24px; \n height: 24px;\n border-radius: 50%;\n background: #001e50;\n transform: translateY(-12px);\n };\n &::-moz-range-thumb {\n box-sizing: border-box;\n width: 24px; \n height: 24px;\n border-radius: 50%;\n background: #001e50;\n transform: translateY(-12px);\n };\n &::-ms-thumb {\n box-sizing: border-box;\n width: 24px; \n height: 24px;\n border-radius: 50%;\n background: #001e50;\n transform: translateY(-12px);\n };\n &::-webkit-slider-runnable-track:before, &::-webkit-slider-runnable-track:after, & /deep/ #track:before, &/deep/ #track:after {\n position: absolute;\n bottom: 100%;\n color: #2c2c2b;\n font: 700 0.875em / 2 arial, sans-serif;\n background: #001e50;\n };\n &::-webkit-slider-runnable-track:before, & /deep/ #track:before {\n left: 0.8125em;\n word-spacing: 1.4375em;\n content: '1 2 3 4 5 6 7 8 9';\n };\n &::-webkit-slider-runnable-track:after, & /deep/ #track:after {\n right: 0.625em;\n word-spacing: 0.875em;\n content: '10 11 12 13 14 15 16';\n };\n &:focus{\n outline: none;\n }\n\n`;\nconst Mark = styled.div`\n height: 9px;\n width: 1px;\n background-color: #001e50;\n`;\nconst MarksPosition = styled.div`\n display: flex;\n display:-webkit-flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n margin-bottom: -19.5px;\n z-index: 3;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 0;\n width: 97%;\n }\n`;\nconst SliderPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 4px;\n }\n`;\nconst SlideLabelsPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\nconst SliderAndMarksPosition = styled.div`\n width: 96%;\n padding-right: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n @media all and (min-width: 960px) {\n width: 99%;\n padding-right: 0px;\n }\n`;\ninterface CustomSliderProps {\n mobileLabels: Array;\n desktopLabels: Array;\n name: string;\n}\n\nexport const SlideEncuestas = (props: CustomSliderProps ) => {\n\n const {name, mobileLabels, desktopLabels} = props;\n const { handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n const numberOfSteps = 5;\n const sliderMarks= [];\n const [value, setValue] = useState(3);\n\n\n const handleInputChange = (event: any) => {\n setValue(event.target.value);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: `${value}` } });\n }, [value]);\n\n for(let i = 0; i < 5; i++) {\n sliderMarks.push();\n }\n \n document.documentElement.classList.add('js');\n \n return (\n
\n \n
\n \n {sliderMarks ? sliderMarks : null}\n \n \n handleInputChange(e)}\n value={value}\n />\n \n \n \n \n {mobileLabels[0]}\n {mobileLabels[1]}\n \n \n {desktopLabels[0]}\n {desktopLabels[1]}\n {desktopLabels[2]}\n {desktopLabels[3]}\n {desktopLabels[4]}\n \n \n \n\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'Sin respuesta',\n });\n setValue(3);\n handleNextStep(e);\n }}\n ariaLabel=\"aria label\"\n >\n Sin respuesta\n \n \n
\n );\n};\n\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport Autosuggest from 'react-autosuggest';\nimport { MagnifierLabel, CloseButton, SuggestionWrapper, StyledWrapper } from 'src/feature-app/NewMap';\nimport { Close, Magnifier } from 'src/icons-core-imports';\nimport { Text, ThemeProvider, TokenTextAppearance, TokenTextColor, styled } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { getVehiculosModelo } from 'src/bff';\nimport { modelCar, OneFormState } from 'src/types';\nimport { useFormContext } from 'react-hook-form';\nimport { useDropdowPosition } from 'src/feature-app/hooks';\n\ninterface SuggestModeloProps {\n notALayer: boolean;\n marginTop?: string;\n fieldsName: string;\n required: boolean;\n}\n\nconst FechaCompraWrapper = styled.div`\n margin-top: ${(props) => props.marginTop ? props.marginTop : '44px'};\n width: var(--size-grid020);\n position:relative;\n overflow: visible ;\n @media all and (max-height: 624px) {\n margin-top: ${(props) => (props.marginTop ? props.marginTop : '24px')};\n }\n\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nconst escapeRegexCharacters = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\n// Teach Autosuggest how to calculate suggestions for any given input value.\nconst getSuggestions = (value: string, list: modelCar[]) => {\n if (value.length < 2) return [];\n const escapedValue = escapeRegexCharacters(value.trim());\n\n if (escapedValue === '') {\n return [];\n }\n\n const regex = new RegExp(escapedValue, 'i');\n\n return list.filter((car: modelCar) => regex.test(car.title));\n};\n\n// When suggestion is clicked, Autosuggest needs to populate the input\n// based on the clicked suggestion. Teach Autosuggest how to calculate the\n// input value for every given suggestion.\nconst getSuggestionValue = (suggestion: modelCar) => suggestion.title;\n\n// Use your imagination to render suggestions.\nconst renderSuggestion = (suggestion: modelCar) => (\n \n \n {suggestion.title}\n \n \n);\n\nexport const SuggestMarca = (props: SuggestModeloProps) => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { notALayer, marginTop, fieldsName, required } = props;\n const dispatch = useDispatch();\n const [suggestions, setSuggestions] = useState([]);\n const [list, setList] = useState(null);\n const { register, clearError } = useFormContext();\n const [value, setValue] = useState('');\n const [selectedValue, setSelectedValue] = useState(false); // Controla que una vez seleccionado un valor en el input, no siga buscando en google maps.\n const suggestRef = useRef(null);\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formTheme } = formInfo;\n const [suggestion, setSuggestion] = useState(null);\n const [inputFocus, setInputFocus] = useState(false);\n\n const { setDisableIntroNextStep, setError } = useOneFormContext();\n\n useEffect(() => {\n getVehiculosModelo().then((modelos) => {\n setList(modelos);\n if (formData.fields[fieldsName]) {\n const modeloSuggestion = modelos.find((model) => model.title === formData.fields[fieldsName]);\n setValue(formData.fields[fieldsName]);\n setSuggestion(modeloSuggestion);\n }\n });\n }, []);\n\n const onChange = (e: any, { newValue }: { newValue: string }) => {\n if (setSelectedValue) {\n setSelectedValue(false);\n }\n if (newValue === '') {\n setSuggestion(null);\n setSelectedValue(true);\n }\n setError(false);\n setValue(newValue);\n };\n \n //desplegar el dropdown para arriba o para abajo según la posicinón del input en el window\n const { goUp, getAndUpdateState } = useDropdowPosition('.react-autosuggest__container');\n\n const onClick = () => {\n getAndUpdateState();\n };\n\n const onSuggestionsFetchRequested = async ({ value }: { value: string }) => {\n const suggestions = getSuggestions(value, list);\n setSuggestions(suggestions);\n };\n\n const onSuggestionsClearRequested = () => {\n setSuggestions([]);\n };\n\n const inputPlaceholder = 'Escribe aquí la Marca';\n const inputProps = {\n placeholder: inputPlaceholder,\n value,\n onChange,\n onClick,\n onBlur: () => { setDisableIntroNextStep(false); },\n disabled: false,\n };\n\n \n \n\n return (\n \n {\n {/*setTimeout(() => {\n suggestRef.current.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }, 400);*/}\n setInputFocus(true);\n }}\n onBlur={() => setInputFocus(false)}\n isLocating={false}\n isFiltrosSuggest={false}\n isModeloSuggest={true}\n goUp={goUp}\n >\n \n \n \n {\n setSuggestion(suggestion);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [fieldsName]: suggestion.name } });\n setSelectedValue(true);\n }}\n\n inputProps={inputProps}\n />\n {value !== '' && (\n \n {\n e.preventDefault(); \n setValue('');\n // setFormValue(fieldsName, '')\n setSuggestion(null);\n }}\n >\n \n \n \n )}\n \n \n \n );\n};\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport Autosuggest from 'react-autosuggest';\nimport { MagnifierLabel, CloseButton, SuggestionWrapper, StyledWrapper } from 'src/feature-app/NewMap';\nimport { Close, Magnifier } from 'src/icons-core-imports';\nimport { Text, ThemeProvider, styled, CTA, TokenTextAppearance, TokenTextColor, Emphasis } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { getVehiculosModelo } from 'src/bff';\nimport { modelCar, OneFormState } from 'src/types';\nimport { useFormContext } from 'react-hook-form';\nimport { useDropdowPosition } from 'src/feature-app/hooks';\n\ninterface SuggestModeloProps {\n notALayer: boolean;\n marginTop?: string;\n fieldsName: string;\n required: boolean;\n outputsSeparados?: boolean;\n filterVW?:boolean;\n nextOnClick?: boolean;\n alternatCTA?: boolean;\n}\n\nconst FechaCompraWrapper = styled.div`\n margin-top: ${(props) => props.marginTop ? props.marginTop : '44px'};\n width: var(--size-grid020);\n position:relative;\n overflow: visible ;\n margin-left: ${(props) => (props.notALayer ? null : 'var(--size-grid002)')};\n\n @media all and (max-height: 624px) {\n margin-top: ${(props) => (props.marginTop ? props.marginTop : '24px')};\n }\n\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n margin-left: ${(props) => (props.notALayer ? null : '122px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nconst ModeloInteresWrapper = styled.div`\n display: ${(props)=> props.alternatCTA ? 'flex' : null};\n flex-wrap: ${(props)=> props.alternatCTA ? 'wrap' : null};\n\n @media all and (min-width: 560px) {\n gap: ${(props)=> props.alternatCTA ? '44px' : null};\n }\n`;\n\nconst ButtonWidth = styled.div`\n margin-top: 44px;\n\n button {\n width: 81px;\n }\n`;\n\nconst escapeRegexCharacters = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\n// Teach Autosuggest how to calculate suggestions for any given input value.\nconst getSuggestions = (value: string, list: modelCar[]) => {\n if (value.length < 2) return [];\n const escapedValue = escapeRegexCharacters(value.trim());\n\n if (escapedValue === '') {\n return [];\n }\n\n const regex = new RegExp(escapedValue, 'i');\n\n return list.filter((car: modelCar) => regex.test(car.title));\n};\n\n// When suggestion is clicked, Autosuggest needs to populate the input\n// based on the clicked suggestion. Teach Autosuggest how to calculate the\n// input value for every given suggestion.\nconst getSuggestionValue = (suggestion: modelCar) => suggestion.title;\n\n// Use your imagination to render suggestions.\nconst renderSuggestion = (suggestion: modelCar) => (\n \n \n {suggestion.title}\n \n \n);\n\nexport const SuggestModelo = (props: SuggestModeloProps) => {\n const { notALayer, marginTop, fieldsName, required, outputsSeparados, filterVW, nextOnClick, alternatCTA } = props;\n const dispatch = useDispatch();\n const [suggestions, setSuggestions] = useState([]);\n const [list, setList] = useState(null);\n const { register, clearError } = useFormContext();\n const [value, setValue] = useState('');\n const [selectedValue, setSelectedValue] = useState(false); // Controla que una vez seleccionado un valor en el input, no siga buscando en google maps.\n const suggestRef = useRef(null);\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { formTheme } = formInfo;\n const [suggestion, setSuggestion] = useState(null);\n const [inputFocus, setInputFocus] = useState(false);\n const [ isNotAnswered, setIsNotAnswered ] = useState(true);\n const [ buttonEmphasis, setButtonEmphasis ] = useState('secondary');\n const { setIsValueSelected } = useOneFormContext();\n\n const { setDisableIntroNextStep, setError, handleNextStep } = useOneFormContext();\n\n useEffect(() => {\n\n getVehiculosModelo().then((modelos) => {\n let modelosToSet = modelos;\n if (filterVW) {\n modelosToSet = modelos.filter(modelo => modelo.brand !== 'Volkswagen');\n }\n setList(modelosToSet);\n if (formData.fields[fieldsName]) {\n if(formData.fields.brand === 'false' && formData.fields.model === 'false') {\n setButtonEmphasis('primary');\n setSuggestion(null);\n setValue('');\n setIsNotAnswered(false);\n } else {\n const modeloSuggestion = modelosToSet.find((model) => model.title === formData.fields[fieldsName]);\n setValue(formData.fields[fieldsName]);\n setSuggestion(modeloSuggestion);\n }\n }\n });\n }, []);\n\n\n const onChange = (e: any, { newValue }: { newValue: string }) => {\n if (setSelectedValue) {\n setSelectedValue(false);\n }\n if (newValue === '') {\n setSuggestion(null);\n setSelectedValue(true);\n }\n setError(false);\n setValue(newValue);\n };\n \n //desplegar el dropdown para arriba o para abajo según la posicinón del input en el window\n const { goUp, getAndUpdateState } = useDropdowPosition('.react-autosuggest__container');\n\n const onClick = () => {\n getAndUpdateState();\n };\n\n const onSuggestionsFetchRequested = async ({ value }: { value: string }) => {\n const suggestions = getSuggestions(value, list);\n setSuggestions(suggestions);\n };\n\n const onSuggestionsClearRequested = () => {\n setSuggestions([]);\n };\n\n const inputPlaceholder = 'Escribe aquí el modelo';\n const inputProps = {\n placeholder: inputPlaceholder,\n value,\n onChange,\n onClick,\n onBlur: () => { setDisableIntroNextStep(false); },\n disabled: false,\n };\n\n const handleDispatch = (outputsSeparados: boolean, suggestion: modelCar)=> {\n if(outputsSeparados) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'brand': suggestion.brand } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'model': suggestion.model } });\n } else {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [fieldsName]: suggestion.name } });\n }\n };\n \n \n\n return (\n \n \n {\n {/*setTimeout(() => {\n suggestRef.current.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }, 400);*/}\n setInputFocus(true);\n }}\n onBlur={() => setInputFocus(false)}\n isLocating={false}\n isFiltrosSuggest={false}\n isModeloSuggest={true}\n goUp={goUp}\n notALayer={notALayer}\n >\n \n \n \n {\n setSuggestion(suggestion);\n handleDispatch(outputsSeparados, suggestion);\n setSelectedValue(true);\n if(nextOnClick) {\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n }}\n\n inputProps={inputProps}\n />\n {value !== '' && (\n \n {\n e.preventDefault(); \n setValue('');\n // setFormValue(fieldsName, '')\n setSuggestion(null);\n }}\n >\n \n \n \n )}\n \n \n \n \n { alternatCTA ? (\n \n {\n e.preventDefault();\n setSuggestion({brand:'false', id: null, name: 'false', model: 'false', title: 'false'});\n handleDispatch(outputsSeparados, {brand:'false', id: null, name: 'false', model: 'false', title: 'Escribe aquí el modelo'});\n setSelectedValue(true);\n if(nextOnClick) {\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n }}\n >No\n \n ) : null}\n \n );\n};\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { SelectExtended } from '.';\nimport { styled, CTA } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { fetchMarcas, fetchModelos } from 'src/bff';\nimport { OneFormState } from 'src/types';\nimport { useFormContext } from 'react-hook-form';\n\ninterface BrandModelProps {\n\tstepName: string;\n\tbrandName?: string;\n\tmodelName?: string;\n\tmarginTop?: string;\n\tnotALayer?: boolean;\n\trequired: boolean;\n\tformToken?: string;\n\tnextOnClick?: boolean;\n\talternatCTA?: boolean;\n\texcludeMarcas?: [string];\n\texcludeModelos?: [string];\n}\n\nconst SelectsWrapper = styled.div`\n\tmargin-top: 4px;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\twidth: var(--size-grid020);\n\t@media all and (min-width: 560px) {\n\t\twidth: var(--size-grid013);\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tmargin-top: 0; \n\t\twidth: var(--size-grid008);\n\t}\n\t@media all and (min-width: 1280px) {\n\t\twidth: var(--size-grid006);\n\t}\n\t@media all and (min-width: 1920px) {\n\t\twidth: var(--size-grid005);\n\t}\n\t@media all and (min-width: 2560px) {\n\t\twidth: var(--size-grid004);\n\t}\n\tlabel {\n\t\tmargin-top: 40px;\n\t\twidth: var(--size-grid009);\n\n\t\t@media all and (max-height: 624px) {\n\t\t\tmargin-top: 20px;\n\t\t}\n\n\t\t@media all and (min-width: 560px) {\n\t\t\twidth: var(--size-grid006);\n\t\t}\n\t\t@media screen and (min-width: 960px) {\n\t\t\twidth: calc( var(--size-grid003) + (var(--size-grid001)/2) );\n\t\t}\n\t\t@media all and (min-width: 1280px) {\n\t\t\twidth: calc( var(--size-grid002) + (var(--size-grid001)/2) );\n\t\t}\n\t\t@media all and (min-width: 1920px) {\n\t\t\twidth: var(--size-grid002);\n\t\t}\n\t\t@media all and (min-width: 2560px) {\n\t\t\twidth: calc( var(--size-grid001) + (var(--size-grid001)/2) );\n\t\t}\n\t}\n`;\nconst MarginDiv = styled.div`\n\twidth: var(--size-grid002);\n\t@media all and (min-width: 560px) {\n\t\t\twidth: var(--size-grid001);\n\t\t}\n`;\n\nconst ButtonWidth = styled.div`\n margin-top: 58px;\n margin-left: 10px;\n\n button {\n width: 81px;\n }\n`;\n\nconst ModeloInteresWrapper = styled.div<{ alternatCTA?: boolean }>`\n\tdisplay: ${(props) => (props.alternatCTA ? 'flex' : 'block')};\n\tflex-wrap: ${(props) => (props.alternatCTA ? 'wrap' : 'nowrap')};\n\n\t@media all and (min-width: 560px) {\n\t\tgap: ${(props) => (props.alternatCTA ? '58px' : '0')};\n\t}\n`;\n\nexport const SelectMarcaModelo = (props: BrandModelProps) => {\n\tconst { stepName, brandName = 'brand', modelName = 'model', notALayer, marginTop, required, formToken, nextOnClick, alternatCTA, excludeMarcas, excludeModelos } = props;\n\tconst { handleNextStep } = useOneFormContext();\n\tconst { formData, vehiclesInfo } = useSelector((state: OneFormState) => state);\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\tconst [isAnswered, setIsAnswered] = useState(false);\n\tconst [brand, setBrand] = useState(null);\n\tconst [model, setModel] = useState(null);\n\tconst [brands, setBrands] = useState([]);\n\tconst [models, setModels] = useState([]);\n\n\n\tconst getBrandByName = (name) => {\n\t\treturn brands ? brands.find(obj => obj.name == name) : null;\n\t};\n\n\tconst getBrandByCode = (code) => {\n\t\treturn brands ? brands.find(obj => obj.code == code) : null;\n\t};\n\n\tconst getModelByName = (name) => {\n\t\treturn models ? models.find(obj => obj.name == name) : null;\n\t};\n\n\tconst getModelByCode = (code) => {\n\t\treturn models ? models.find(obj => obj.code == code) : null;\n\t};\n\n\tconst convertToOption = (arr: any) => {\n\t\tconst name = arr['attributes'].find(obj => obj.name == 'NAME');\n\t\tconst code = arr['attributes'].find(obj => obj.name == 'CODE');\n\t\treturn {\n\t\t\tcode: code ? code.value : null,\n\t\t\tname: name ? name.value : null,\n\t\t};\n\t};\n\n\tconst fillBrandsCombo = () => {\n\t\tsetModels([]);\n\t\tif (vehiclesInfo.brands) {\n\t\t\tsetBrands(vehiclesInfo.brands);\n\t\t}\n\t\telse {\n\t\t\tfetchMarcas(formToken).then((result) => {\n\t\t\t\tif (result?.content) {\n\t\t\t\t\tresult.content = namesSort(result.content);\n\t\t\t\t\tconst brands = [];\n\t\t\t\t\tresult.content.forEach((arr) => {\n\t\t\t\t\t\tconst brand = convertToOption(arr);\n\t\t\t\t\t\tif(!excludeMarcas || !excludeMarcas.includes(brand.name)) {\n\t\t\t\t\t\t\tbrands.push(brand);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tsetBrands(brands);\n\t\t\t\t\tsetBrand(null);\n\t\t\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brands: brands } });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tconst fillModelsCombo = (brandCode: string) => {\n\t\tsetModels([]);\n\t\tif (brandCode == vehiclesInfo.brandSelected) {\n\t\t\tsetModels(vehiclesInfo.models);\n\t\t}\n\t\telse {\n\t\t\tfetchModelos(brandCode, formToken).then((result) => {\n\t\t\t\tif (result?.content) {\n\t\t\t\t\tresult.content = namesSort(result.content);\n\t\t\t\t\tconst models = [];\n\t\t\t\t\tresult.content.forEach((arr) => {\n\t\t\t\t\t\tconst model = convertToOption(arr);\n\t\t\t\t\t\tif(!excludeModelos || !excludeModelos.includes(model.name)) {\n\t\t\t\t\t\t\tmodels.push(model);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tsetModels(models);\n\t\t\t\t\tsetModel(null);\n\t\t\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { models: models } });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (brands.length == 0) {\n\t\t\tfillBrandsCombo();\n\t\t}\n\t\t\n\t\tif (vehiclesInfo.brandSelected) {\n\t\t\tsetBrand(vehiclesInfo.brandSelected);\n\t\t\tfillModelsCombo(vehiclesInfo.brandSelected);\n\t\t\tif (vehiclesInfo.modelSelected) {\n\t\t\t\tsetModel(vehiclesInfo.modelSelected);\n\t\t\t}\n\t\t}\n\t}, []);\n\n\tconst handleChangeBrand = (e: any) => {\n\t\tif (e.target.value) {\n\t\t\tconst brand = getBrandByName(e.target.value);\n\t\t\tsetBrand(brand);\n\t\t\tfillModelsCombo(brand.code);\n\n\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brandSelected: brand, modelSelected: null } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [brandName]: brand.code } });\n\t\t}\n\t};\n\n\tconst handleChangeModel = (e: any) => {\n\t\tif (e.target.value) {\n\t\t\tconst model = getModelByName(e.target.value);\n\t\t\tsetModel(model);\n\n\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { modelSelected: model } });\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [modelName]: model.code } });\n\t\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [stepName]: brand.name + ' ' + model.name } });\n\t\t}\n\t};\n\n\tconst namesSort = (data) => {\n\t\tdata.sort((a, b) => {\n\t\t\tconst nameA = a.attributes.find(attr => attr.name === 'NAME').value;\n\t\t\tconst nameB = b.attributes.find(attr => attr.name === 'NAME').value;\n\t\t\tif (nameA < nameB) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif (nameA > nameB) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t});\n\t\treturn data;\n\t};\n\n\tconst handleNoModel = () => {\n\t\tsetBrand(null);\n\t\tsetModel(null);\n\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brandSelected: null, modelSelected: null} });\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [brandName]: null } });\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [modelName]: null } });\n\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [stepName]: 'No' } });\n\t\tsetIsAnswered(true);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t { \n\t\t\t\t\t\t//e.preventDefault(); \n\t\t\t\t\t\thandleChangeBrand(e); \n\t\t\t\t\t}}\n\t\t\t\t\tvalue={brand ? brand.name : ''}\n\t\t\t\t\tdefaultValue=\"\"\n\t\t\t\t\tonClick={() => null}\n\t\t\t\t\tsetOption={setBrand}\n\t\t\t\t\tisFloating={true}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t { \n\t\t\t\t\t\t//e.preventDefault(); \n\t\t\t\t\t\thandleChangeModel(e); \n\t\t\t\t\t}}\n\t\t\t\t\tvalue={model ? model.name : ''}\n\t\t\t\t\tdefaultValue=\"\"\n\t\t\t\t\tonClick={() => null}\n\t\t\t\t\tsetOption={setModel}\n\t\t\t\t\tisFloating={true}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t{ alternatCTA ? (\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\thandleNoModel();\n\t\t\t\t\t\t\tif(nextOnClick) {\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\thandleNextStep();\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t>No\n\t\t\t\t\n\t\t\t) : null}\n\t\t\n\t);\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport { keyframes } from 'styled-components';\n\nconst lineKeyframe = keyframes`\n from {\n transform: translateY(-40%);\n }\n to {\n transform: translateY(100%);\n }\n`;\n\nexport const VerticalLine = styled.div`\n height: 35px;\n width: 2px;\n background-color: #FFFFFF;\n animation: ${lineKeyframe} 1.75s infinite;\n`;\n","import React from 'react';\nimport { MultipleCTASelection } from 'src/components';\nimport {\n Container,\n ContainerGutter,\n Text,\n TextAlignment,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\n\nexport const YaTienesVolkswagen = () => {\n return (\n \n \n \n 1{' '}Recuerda que para participar en el sorteo debes formar parte de la familia Volkswagen. \n \n \n );\n};\n","import { CarlineBase } from 'src/types';\n/**\n * En el caso de CEM Venta tenemos que eliminar el \"Nuevo\" del título, ordenar alfabéticamente los carlines y eliminar los duplicados en caso de que haya\n * dos generaciones de carlines en el selector conviviendo como \"Nuevo Arteon\" y \"Arteon\".\n * @param carlines\n * @returns\n */\n export const formatCEMVenta = (carlines: CarlineBase[]) => {\n return carlines\n .map((carline) => {\n return {\n code: String(carline.code),\n name: carline.title,\n key: carline.title,\n };\n })\n .sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }))\n .filter((carline, index, self) => index === self.findIndex((t) => t.name === carline.name));\n };\n","import { CarlineBase } from 'src/types';\nimport { SelectExtendedList } from 'src/components/CarlineSelect';\n\n/**\n * Devuelve el carline con el formato necesario para usar el select.\n * @param carline\n * @returns\n */\n export const formatCarlineSelectExtendedList = (carline: CarlineBase): SelectExtendedList => {\n if (!carline) {\n return null;\n }\n return {\n code: String(carline.code),\n name: `${carline.nuevo ? 'Nuevo ' : ''}${carline.title}`,\n key: carline.title,\n };\n };\n","import { CarlineBase } from 'src/types';\nimport { formatAlphabetical, formatCarlineSelectExtendedList } from '.';\n\n/**\n * Devuelve los carlines con el formato necesario\n * @param carlines\n * @returns\n */\n export const formatAllCarlines = (carlines: CarlineBase[], alphabetical?: boolean) => {\n if (alphabetical) {\n return formatAlphabetical(carlines);\n } else {\n return carlines.map((carline) => formatCarlineSelectExtendedList(carline)).filter((c) => c !== null);\n }\n};\n","import { CarlineBase, CarlinesWithSalesgroups, FormularioFlagType, OneFormState, Salesgroup } from 'src/types';\nimport { formatCarlineSelectExtendedList } from '.';\n\nexport const formatAlphabetical = (carlines: CarlineBase[]) => {\n return carlines\n .map((carline) => formatCarlineSelectExtendedList(carline))\n .map((carline) => {\n if (carline.name.includes('Nuevo')) {\n // Pasamos de Nuevo T-Roc a T-Roc ZNuevo para que el \"Nuevo\" no interfiera al ordenar y la parte de Nuevo no tenga preferencia sobre otras.\n carline.name = carline.name.replace('Nuevo ', '').concat(' ZNuevo');\n return carline;\n }\n return carline;\n })\n .filter((c) => c !== null)\n .sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }))\n .map((carline) => {\n if (carline.name.includes('ZNuevo')) {\n // Hacemos la operación contraria para devolver el orden correcto.\n carline.name = `Nuevo ${carline.name.replace(' ZNuevo', '')}`;\n return carline;\n }\n return carline;\n });\n};\n","import { formatSalesgroupsSelectExtendedList } from '.';\nimport { Salesgroup } from 'src/types';\n\nexport const formatAllSalesgroups = (carlines: Salesgroup[]) =>\ncarlines.map((carline) => formatSalesgroupsSelectExtendedList(carline)).filter((c) => c !== null);\n","import { Salesgroup } from 'src/types';\nimport { SelectExtendedList } from 'src/components/CarlineSelect';\n/**\n * Devuelve los salesgroups con el formato necesario para usar el select.\n * @param carline\n * @returns\n */\n export const formatSalesgroupsSelectExtendedList = (carline: Salesgroup): SelectExtendedList => {\n if (!carline) {\n return null;\n }\n return {\n code: String(carline.code),\n name: carline.name,\n key: carline.name,\n };\n};\n","import { CarlineBase, CarlinesWithSalesgroups, FormularioFlagType } from 'src/types';\n/**\n * Devuelve únicamente los carlines con el flag del formulario correspondiente.\n * @param carlines\n * @param formularioFlag\n * @returns\n */\n export const filterCarlineFlag = (carlines: CarlineBase[] | CarlinesWithSalesgroups[], formularioFlag: FormularioFlagType) => {\n if (!formularioFlag) {\n return carlines;\n }\n\n return carlines\n .map((carline: CarlineBase | CarlinesWithSalesgroups) => {\n if (carline.formularios[formularioFlag] === 1) {\n return carline;\n }\n })\n .filter((carline) => carline !== undefined);\n};\n","import { CarlinesWithSalesgroups } from 'src/types';\n\nexport const getSalesgroupsFromCarlines = (carlines: CarlinesWithSalesgroups[]) => {\n return carlines\n .map((carline) => carline.salesGroups)\n .filter((c) => c !== null)\n .flat();\n};\n","import { CarlinesWithSalesgroups } from 'src/types';\nimport { getSalesgroupsFromCarlines, formatAllSalesgroups } from '.';\n/**\n * Se agrupan todas las operaciones que se realizan a los carlines con salesgroups (filtrar por flag, obtener solo los salesgroups y formatearlos) para no hacerlas dos veces.\n * @param carlines\n * @param formularioFlag\n * @returns\n */\nexport const getFormattedSalesgroups = (carlines: CarlinesWithSalesgroups[]) => {\n const salesgroups = getSalesgroupsFromCarlines(carlines);\n return formatAllSalesgroups(salesgroups);\n};\n","import { CarlineBase } from 'src/types';\n/**\n * Devuelve únicamente los carlines preseleccionados desde el cms en una array con carlineCodes tipo [30155, 30205].\n * @param carlines\n * @param faContentCarlines\n * @returns\n */\nexport const filterPreselectedFaContent = (carlines: CarlineBase[], faContentCarlines: number[] | string[]) => {\n return faContentCarlines\n .map((carlineCode) => carlines.find((carline) => carline.code == carlineCode))\n .filter((c) => c !== undefined);\n};\n","import { CarlineBase } from 'src/types';\nimport { getSalesgroupsFromCarlines } from '.';\n/**\n * Devuelve únicamente los carlines preseleccionados desde el cms en una array con carlineCodes tipo [30155, 30205].\n * @param carlines\n * @param faContentCarlines\n * @returns\n */\nexport const filterPreselectedFaContentSalesgroups = (carlines: CarlineBase[], faContentSalesgroups: number[]) => {\n const salesgroups = getSalesgroupsFromCarlines(carlines);\n return faContentSalesgroups\n .map((salesgroupCode) => salesgroups.find((salesgroup) => salesgroup.code == salesgroupCode))\n .filter((c) => c !== undefined);\n};\n","import { CarlineBase, CarlinesWithSalesgroups } from 'src/types';\n\nexport const findCarlineFromSalesgroup = (carlines: CarlineBase[] | CarlinesWithSalesgroups[], code: number) =>\n carlines.find((carline: CarlinesWithSalesgroups) => {\n return carline.salesGroups?.find((salesgroup) => salesgroup.code === code);\n });\n","import { CarlineBase, CarlinesWithSalesgroups, OneFormState } from 'src/types';\nimport { findCarlineFromSalesgroup } from '.';\nimport { useFaContent } from 'src/feature-app';\n\n\nexport const findCarline = (\n carlines: CarlineBase[] | CarlinesWithSalesgroups[],\n code: number | string,\n salesgroupId?: number\n) => {\n if (salesgroupId) {\n let carline = findCarlineFromSalesgroup(carlines, salesgroupId);\n return carline;\n } else if (carlines.find((carline: CarlineBase) => carline.code === Number(code))) {\n let carline = carlines.find((carline: CarlineBase) => carline.code === Number(code));\n return carline;\n } else {\n let carline = carlines.find((carline: CarlineBase) => carline.name === (code));\n return carline;\n }\n \n return null;\n};\n","import { OneFormContent } from 'src/feature-app';\n\nexport const thereIsKeyInFaContent = (faContent: OneFormContent, key: 'carlines' | 'salesgroups') =>\nfaContent && faContent[key] && faContent[key].length > 0;\n\nexport const thereIsCarlinesInFaContent = (faContent: OneFormContent) => thereIsKeyInFaContent(faContent, 'carlines');\n\nexport const thereIsSalesgroupsInFaContent = (faContent: OneFormContent) => thereIsKeyInFaContent(faContent, 'salesgroups');\n\nexport const isCarlineMode = (faContent: OneFormContent) => faContent?.mode === 'Carline';\n\nexport const isSalesGroupMode = (faContent: OneFormContent) => faContent?.mode === 'Salesgroup';\n\nexport const isMixedMode = (faContent: OneFormContent) => faContent?.mode === 'Mixed';\n\nexport const isConfiguratorMode = (faContent: OneFormContent) => faContent?.mode === 'CarConfiguratorFS';\n","import React, {useEffect, useRef, useState} from 'react';\nimport {useFormContext} from 'react-hook-form';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getCarlines, getEapiCarlines} from 'src/bff';\nimport {GeneralInputWidthWrapper, IDBuzzFakeInput} from 'src/components';\nimport {isNull, useFaContent} from 'src/feature-app';\nimport {useOneFormContext} from 'src/feature-app/OneForm';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {CarlineBase, CarlinesWithSalesgroups, OneFormState} from 'src/types';\nimport {SelectExtended} from 'src/components';\nimport {InputError, TextInputExtended} from 'src/components/inputs';\nimport {\n\tformatCEMVenta,\n\tformatAllSalesgroups,\n\tformatAllCarlines,\n\tfilterCarlineFlag,\n\tgetFormattedSalesgroups,\n\tfilterPreselectedFaContent,\n\tfilterPreselectedFaContentSalesgroups,\n\tfindCarline,\n\tfindCarlineFromSalesgroup,\n\tthereIsCarlinesInFaContent,\n\tthereIsSalesgroupsInFaContent,\n\tisSalesGroupMode,\n\tisMixedMode,\n} from 'src/components/CarlineSelect';\nexport interface SelectExtendedList {\n\tcode: string;\n\tname: string;\n\tkey: string;\n}\ninterface CarlineSelectProps {\n\tuseCarline?: boolean;\n\tisCEMVenta?: boolean;\n\tnotALayer?: boolean;\n\tnoPaddingTop?: boolean;\n\talphabetical?: boolean;\n\tnextOnSelect?: boolean;\n}\n\nexport function CarlineSelect(props: CarlineSelectProps) {\n\tconst {useCarline, notALayer, noPaddingTop, isCEMVenta, alphabetical, nextOnSelect} = props;\n\tconst {register, errors} = useFormContext();\n\tconst [errorModelo, setErrorModelo] = useState(false);\n\tconst {formData, dealersInfo, formInfo} = useSelector((state: OneFormState) => state);\n\tconst {fields} = formData;\n\tconst {screenIndex} = formInfo;\n\tconst {carlines} = dealersInfo;\n\tconst {error, handleNextStep} = useOneFormContext();\n\tconst [list, setList] = useState(null);\n\tconst dispatch = useDispatch();\n\tconst [modelo, setModelo] = useState(null);\n\tconst faContent = useFaContent();\n\tconst screenIndexRef = useRef(null);\n\tconst isComerciales = useIsComerciales();\n\n\t/**\n\t * En modo mixed se fija puede fijar un salesgroup al principio y en caso de que se acabe eligiendo un carline, se ha de eliminar la primera selección.\n\t */\n\tconst dispatchEmptySalesgroup = () => dispatchSetSalesgroup(null, null);\n\tconst dispatchSalesgroup = (id: number, name: string) => dispatchSetSalesgroup(id, name);\n\n\tconst dispatchSetSalesgroup = (id: number, name: string) => {\n\t\tdispatch({\n\t\t\ttype: 'SET_SALESGROUP',\n\t\t\tpayload: {\n\t\t\t\tsalesGroupId: id,\n\t\t\t\tsalesGroupName: name,\n\t\t\t},\n\t\t});\n\t};\n\n\tconst updateCarlineCode = (carlineCode: number, salesgroupName?: string) => {\n\t\tif (carlines) {\n\t\t\tlet carline: CarlineBase | CarlinesWithSalesgroups;\n\n\t\t\tif (isSalesGroupMode(faContent)) {\n\t\t\t\tcarline = findCarlineFromSalesgroup(carlines, carlineCode);\n\t\t\t\tif (carline) {\n\t\t\t\t\tdispatchSalesgroup(carlineCode, salesgroupName);\n\t\t\t\t} else {\n\t\t\t\t\tcarline = findCarline(carlines, carlineCode);\n\t\t\t\t}\n\t\t\t} else if (isMixedMode(faContent)) {\n\t\t\t\t// Primero buscamos carline\n\t\t\t\tcarline = findCarline(carlines, carlineCode);\n\n\t\t\t\tdispatchEmptySalesgroup();\n\n\t\t\t\tif (!carline) {\n\t\t\t\t\t// Buscamos salesgroup\n\t\t\t\t\tcarline = findCarlineFromSalesgroup(carlines, carlineCode);\n\t\t\t\t\tdispatchSalesgroup(carlineCode, salesgroupName);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcarline = findCarline(carlines, carlineCode);\n\t\t\t\t// dispatchEmptySalesgroup();\n\t\t\t}\n\t\t\tdispatch({type: 'SET_SELECTED_CARLINE', payload: carline});\n\t\t\tif (!isCEMVenta) {\n\t\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: {carlineCode: carline.code}});\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Inicializa la lista del selector\n\t * @param list\n\t */\n\tconst handleUpdateList = (list: SelectExtendedList[]) => {\n\t\tif (!list) {\n\t\t\treturn;\n\t\t}\n\t\tsetList(list);\n\t\tif (fields.modelo) {\n\t\t\tconst modeloInList = list.find((listValue) => listValue.name === fields.modelo);\n\t\t\t// setModelo(modeloInList.name);\n\t\t\tchangeModeloFields(modeloInList.name, list);\n\t\t\tupdateCarlineCode(Number(modeloInList.code));\n\t\t} else {\n\t\t\t// Valor inicial del modelo vacío\n\t\t\tchangeModeloFields('', list);\n\t\t}\n\t};\n\n\tconst initializeSelectWithCarline = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst filteredCarlines = filterCarlineFlag(carlines, fields.formularioFlag);\n\t\tlet carlinesFromFaContent: CarlineBase[];\n\t\tlet allCarlines: any[];\n\n\t\tif (thereIsCarlinesInFaContent(faContent)) {\n\t\t\t// Filtramos los carlines del FA Content.\n\t\t\tallCarlines = faContent.carlines.filter((c) => c.toString() != '');\n\n\t\t\tif (/[0-9]/.test(allCarlines[0])) {\n\t\t\t\tcarlinesFromFaContent = filteredCarlines.filter((c) => allCarlines.map(Number).includes(c.code));\n\t\t\t} else {\n\t\t\t\tcarlinesFromFaContent = filteredCarlines.filter((c) => allCarlines.map(String).includes(c.name));\n\t\t\t}\n\t\t\t// const carlinesFromFaContent = filterPreselectedFaContent(filteredCarlines, faContent.carlines);\n\t\t\tconst carlinesFormatted = formatAllCarlines(carlinesFromFaContent, alphabetical);\n\t\t\thandleUpdateList(carlinesFormatted);\n\t\t\treturn;\n\t\t} else if (useCarline) {\n\t\t\tif (!carlines) {\n\t\t\t\tconst newCarlines = await getCarlines();\n\t\t\t\tconst newfilteredCarlines = filterCarlineFlag(newCarlines, fields.formularioFlag);\n\t\t\t\tconst carlinesFormatted = formatAllCarlines(newfilteredCarlines, alphabetical);\n\t\t\t\thandleUpdateList(carlinesFormatted);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// En caso de que se necesiten los carlines de getCarlines de forma genérica.\n\t\t\tconst carlinesFormatted = formatAllCarlines(filteredCarlines, alphabetical);\n\t\t\thandleUpdateList(carlinesFormatted);\n\t\t\treturn;\n\t\t} else {\n\t\t\t// Para la pantalla de modelo y matrícula de cita se necesitan unos modelos específicos.\n\t\t\tconst response = await getEapiCarlines();\n\t\t\thandleUpdateList(response.data.content);\n\t\t}\n\t};\n\n\tconst initializeSelectWithSalesgroup = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst filteredCarlines = filterCarlineFlag(carlines, fields.formularioFlag);\n\n\t\tif (thereIsSalesgroupsInFaContent(faContent)) {\n\t\t\tconst salesgroupsFromFaContent = filterPreselectedFaContentSalesgroups(filteredCarlines, faContent.salesgroups);\n\t\t\tconst formatedSalesgroups = formatAllSalesgroups(salesgroupsFromFaContent);\n\t\t\tif (!formatedSalesgroups || formatedSalesgroups.length === 0) {\n\t\t\t\tinitializeSelectWithCarline();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thandleUpdateList(formatedSalesgroups);\n\t\t\treturn;\n\t\t} else if (useCarline) {\n\t\t\t// En caso de que se necesiten los carlines de getSalesgroup.\n\t\t\tconst formatedSalesgroups = getFormattedSalesgroups(filteredCarlines);\n\t\t\tif (!formatedSalesgroups || formatedSalesgroups.length === 0) {\n\t\t\t\tinitializeSelectWithCarline();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thandleUpdateList(formatedSalesgroups);\n\t\t\treturn;\n\t\t}\n\t};\n\tconst initializeSelectWithMixed = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst filteredCarlines = filterCarlineFlag(carlines, fields.formularioFlag);\n\n\t\tlet result: SelectExtendedList[] = [];\n\n\t\tif (thereIsSalesgroupsInFaContent(faContent)) {\n\t\t\tconst salesgroupsFromFaContent = filterPreselectedFaContentSalesgroups(filteredCarlines, faContent.salesgroups);\n\t\t\tconst formatedSalesgroups = formatAllSalesgroups(salesgroupsFromFaContent);\n\t\t\tresult = [...result, ...formatedSalesgroups];\n\t\t}\n\t\tif (thereIsCarlinesInFaContent(faContent)) {\n\t\t\tconst carlinesFromFaContent = filterPreselectedFaContent(filteredCarlines, faContent.carlines);\n\t\t\tconst carlinesFormatted = formatAllCarlines(carlinesFromFaContent, alphabetical);\n\t\t\tresult = [...result, ...carlinesFormatted];\n\t\t}\n\t\tif (!result || result.length === 0) {\n\t\t\tinitializeSelectWithCarline();\n\t\t}\n\t\thandleUpdateList(result);\n\t};\n\n\tconst initializeSelectWithCEMVenta = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst newCarlines = await getCarlines();\n\t\tconst newfilteredCarlines = filterCarlineFlag(newCarlines, fields.formularioFlag);\n\t\tconst carlinesFormatted = formatCEMVenta(newfilteredCarlines);\n\n\t\thandleUpdateList(carlinesFormatted);\n\t\treturn;\n\t};\n\n\tuseEffect(() => {\n\t\tif (isSalesGroupMode(faContent)) {\n\t\t\tinitializeSelectWithSalesgroup();\n\t\t} else if (isMixedMode(faContent)) {\n\t\t\tinitializeSelectWithMixed();\n\t\t} else if (isCEMVenta) {\n\t\t\tinitializeSelectWithCEMVenta();\n\t\t} else {\n\t\t\tinitializeSelectWithCarline();\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\t// Hack para guardar la información del carline únicamente al pasar a la siguiente pantalla y no enviar datos\n\t\t// de analítica del carline seleccionado por defecto.\n\n\t\tif (isNull(screenIndexRef.current)) {\n\t\t\tscreenIndexRef.current = screenIndex;\n\t\t} else {\n\t\t\tif (useCarline) {\n\t\t\t\tconst carline = list?.find((carline: any) => carline.name === modelo);\n\t\t\t\tif (carline) {\n\t\t\t\t\tif (isSalesGroupMode(faContent) || isMixedMode(faContent)) {\n\t\t\t\t\t\tupdateCarlineCode(Number(carline.code), carline.name);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateCarlineCode(Number(carline.code));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [screenIndex]);\n\n\tuseEffect(() => {\n\t\terrors.modelo || (error && !modelo) ? setErrorModelo(true) : setErrorModelo(false);\n\t}, [errors, error]);\n\n\tconst changeModeloFields = (model: string, list: SelectExtendedList[]) => {\n\t\tsetModelo(model);\n\t\tconst modeloList = list?.find((element) => element.name === model);\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: {modeloList}});\n\t};\n\n\tfunction handleChangeModelo(event: any) {\n\t\tconst newModelo = event.currentTarget.value;\n\n\t\tif (newModelo) {\n\t\t\tchangeModeloFields(newModelo, list);\n\t\t}\n\n\t\tif (newModelo !== '') {\n\t\t\tsetErrorModelo(false);\n\t\t}\n\n\t\tif (nextOnSelect) {\n\t\t\thandleNextStep();\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t{isComerciales && fields?.idBuzzExclusive ? (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : list ? (\n\t\t\t\t<>\n\t\t\t\t\t {}}\n\t\t\t\t\t\tupdateFields\n\t\t\t\t\t\tsetOption={setModelo}\n\t\t\t\t\t\tisRequired={true}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{errorModelo ? Este campo es obligatorio : null}\n\t\t\t{}\n\t\t
\n\t);\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\n\ninterface CenterContentProps {\n height: string;\n}\nconst CenterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: ${(props) => (props.height ? props.height : '100%')};\n`;\n\nexport const LoadingEncuestas = () => {\n const [height, setHeight] = useState('100%');\n\n useEffect(() => {\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let aux;\n\n if (viewportWidth < 560) {\n aux = viewportHeight - 152;\n } else if (viewportWidth < 1600) {\n aux = viewportHeight - 252;\n } else {\n aux = viewportHeight - 380;\n }\n setHeight(`${aux}px`);\n }, []);\n\n return (\n \n \n Cargando tus datos\n \n );\n};\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\n\nconst CenterContent = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\theight: 100vh;\n`;\n\nexport interface LoadingProps {\n\tshowText?: boolean;\n\ttext?: string;\n}\n\nexport const Loading = (props: LoadingProps) => {\n\tconst { showText, text } = props;\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{showText ?? {text ? text : 'Cargando'}}\n\t\t\n\t);\n};\n","import React from 'react';\nimport {\n Breakpoints,\n BreakpointWrapper,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\n\ninterface ThankYouTitleProps {\n notALayer?: boolean;\n regularCopyFirst?: string;\n boldCopyFirst?: string;\n regularCopySecond?: string;\n boldCopySecond?: string;\n}\n\nexport const ThankYouTitle = (props: ThankYouTitleProps) => {\n const { regularCopyFirst, boldCopyFirst, notALayer, regularCopySecond, boldCopySecond } = props;\n return (\n <>\n { notALayer ? (\n <>\n {' '}\n {regularCopyFirst ? <>{regularCopyFirst}{' '} : null}\n {\n boldCopyFirst ? {boldCopyFirst}{' '} : null\n }\n {regularCopySecond ? <>{regularCopySecond}{' '} : null}\n {\n boldCopySecond ? {boldCopySecond} : null\n }\n \n ) : (\n <>\n \n \n {regularCopyFirst ? <>{regularCopyFirst}{' '} : null}\n {\n boldCopyFirst ? {boldCopyFirst} : null\n }\n {regularCopySecond ? <>{regularCopySecond}{' '} : null}\n {\n boldCopySecond ? {boldCopySecond} : null\n }\n \n \n \n \n {regularCopyFirst ? <>{regularCopyFirst}{' '} : null}\n {\n boldCopyFirst ? {boldCopyFirst} : null\n }\n {regularCopySecond ? <>{regularCopySecond}{' '} : null}\n {\n boldCopySecond ? {boldCopySecond} : null\n }\n \n \n \n )}\n \n );\n};\n","import React from 'react';\nimport {\n CTA,\n styled\n} from '@volkswagen-onehub/components-core';\n\nexport type CTAThankYou = {\n emphasis?: string;\n label: string;\n url?: string;\n}\n\ninterface CTAThankYouPageProps {\n firstCTA: CTAThankYou;\n secondCTA?: boolean;\n secondCTACopies?: CTAThankYou;\n}\n\nconst CtasWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 32px;\n align-items: flex-start;\n @media all and (min-width: 560px) {\n flex-direction: row;\n gap: 44px;\n }\n button {\n align-self: flex-start;\n }\n`;\n\nexport const CTAThankYouPage = (props: CTAThankYouPageProps) => {\n const { firstCTA, secondCTA, secondCTACopies } = props;\n\n return (\n \n \n {firstCTA.label}\n \n {\n secondCTA ? (\n \n {secondCTACopies.label}\n \n ) : null\n }\n \n \n );\n};\n","import React from 'react';\nimport {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n ContainerGutter,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { CTAThankYouPage, CTAThankYou, CTAThankYouPageAction, CTAAction, LeadsCTAs } from '.';\nimport { OneFormState } from 'src/types';\nimport { useSelector } from 'react-redux';\n\n\ninterface FieldProps {\n copyBook?: any;\n copyBookSecond?: any;\n notALayer?: boolean;\n CTAFields?: boolean;\n firstCTA?: CTAThankYou;\n secondCTA?: boolean;\n secondCTACopies?: CTAThankYou;\n CTAAction?: CTAAction;\n ctaFunction?: any;\n ctaUrl?: string;\n}\n\nexport const ThankYouFields = (props: FieldProps) => {\n const{ \n notALayer , \n copyBook, \n CTAFields, \n copyBookSecond, \n firstCTA, \n secondCTA, \n secondCTACopies, \n CTAAction,\n ctaFunction,\n ctaUrl\n } = props;\n const { formData } = useSelector((state: OneFormState) => state);\n const { formName } = formData.fields;\n\n return (\n <>\n {\n notALayer ? (\n \n
\n \n \n {copyBook}\n \n {\n copyBookSecond ? (\n \n {copyBookSecond}\n \n ) : null\n }\n \n {\n CTAFields ? : null\n }\n {\n CTAAction? : null\n }\n {\n formName && formName === 'lead-oferta' || formName === 'lead-match' ? ( \n \n ) : null\n }\n
\n \n\n ) : (\n \n
\n \n \n {copyBook}\n \n {\n copyBookSecond ? (\n \n {copyBookSecond}\n \n ) : null\n }\n \n {\n CTAFields ? : null\n }\n {\n CTAAction? : null\n }\n {\n formName && formName === 'lead-oferta' || formName === 'lead-match' ? ( \n \n ) : null\n }\n
\n \n )}\n \n );\n};\n","import React from 'react';\nimport {\n CTA,\n} from '@volkswagen-onehub/components-core';\n\nexport type CTAAction = {\n label: string,\n emphasis: string,\n}\n\ninterface CTAThankYouPageActionProps {\n ctaInfo: CTAAction;\n ctaFunction: any;\n}\n\nexport const CTAThankYouPageAction = (props: CTAThankYouPageActionProps) => {\n const { ctaInfo, ctaFunction } = props;\n\n return (\n {\n e.preventDefault();\n ctaFunction();\n }}\n >\n {ctaInfo.label}\n \n );\n};\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useOneFormContext } from 'src/feature-app';\n\ninterface CTAFieldsProps {\n url: string;\n}\n\nexport const LeadsCTAs = (props: CTAFieldsProps) => {\n const { url } = props;\n const { closeLayer } = useOneFormContext();\n\n \n return (\n \n \n Conócelo\n \n {\n e.preventDefault();\n closeLayer();\n }}\n >\n Seguir navegando\n \n \n );\n};\n","import * as React from 'react';\nexport var Info = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, viewBox: \"0 0 24 24\", width: \"24\", height: \"24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M12 6.493c.442 0 .774.295.774.811s-.332.811-.774.811-.774-.295-.774-.811.332-.811.774-.811zM12.783 15.656v-5.649H9.414v1.33h2.039v4.319H8.419v1.33l6.967-.001v-1.33z\" }),\n React.createElement(\"path\", { d: \"M12 2.33c5.603 0 9.67 4.067 9.67 9.67s-4.067 9.67-9.67 9.67S2.33 17.603 2.33 12 6.397 2.33 12 2.33M12 1C5.626 1 1 5.626 1 12s4.626 11 11 11 11-4.626 11-11S18.374 1 12 1z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, viewBox: \"0 0 12 12\", width: \"12\", height: \"12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M5.33 6h1.33v3H5.33z\" }),\n React.createElement(\"path\", { d: \"M6 0a6 6 0 1 0 6 6 6 6 0 0 0-6-6zm0 10.65A4.65 4.65 0 1 1 10.65 6 4.66 4.66 0 0 1 6 10.65z\" }),\n React.createElement(\"circle\", { cx: \"6\", cy: \"4\", r: \".75\" }));\n }\n return null;\n}, { displayName: 'Info' }));\n","import React, { useState, useEffect, useRef } from 'react';\nimport { styled, Text, TextInput, Layout, Breakpoints, Container, ContainerGutter, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useOneFormContext } from 'src/feature-app';\nimport { Info } from '@volkswagen-onehub/icons-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { Close } from '@volkswagen-onehub/icons-core';\n\n\ntype WrapperProps = {\n disabled?: boolean;\n themeColor?: string;\n};\n\nconst SVGSize = styled.div`\n position: relative;\n top: 41px;\n width: 100%;\n display: flex;\n justify-content: flex-end;\n z-index: 1000;\n\n \n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n }\n div{\n cursor:pointer;\n }\n svg {\n height: 20px;\n width: auto;\n }\n`;\n\n\n\nconst SelectWrapper = styled.div`\n & span::before {\n display: none;\n }\n svg {\n fill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n\n label {\n color: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n\n option {\n color: #001e50;\n padding-left: 12px;\n }\n }\n input{\n cursor: default;\n }\n`;\ninterface SelectProps {\n name: string;\n value?: any;\n defaultValue?: string;\n isFloating?: boolean;\n required?: boolean;\n disabled?: boolean;\n error?: boolean;\n getDealers?: (provincia: string) => void;\n setFormValue?: (selValueIndex: number) => void;\n onClick?: (e?: any) => void;\n changeModel?: any;\n setOption?: any;\n updateFields?: boolean;\n isRequired: boolean;\n innerRef?: any;\n}\n\nexport const IDBuzzFakeInput = React.forwardRef((props: SelectProps, ref: React.Ref) => {\n const [selItem, setSelItem] = useState(null);\n const [showOptions, setShowOptions] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const { handlePreviousStep } = useOneFormContext();\n const [keyValuePair, setKeyValuePair] = useState();\n const { name, updateFields, value, changeModel, setOption } = props;\n const wrapperRef = useRef(null);\n const dispatch = useDispatch();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const handleClickOutside = (e: any) => {\n if (!wrapperRef.current.contains(e.target)) {\n setShowOptions(false);\n }\n };\n\n const Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n p{\n background-color: none;\n }\n`;\n\n const CloseDiv = styled.div`\n position: absolute;\n top: var(--size-dynamic0050);\n right: var(--size-dynamic0050);\n cursor: pointer;\n`;\n\n const CTAWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n align-items: center;\n p{\n text-decoration: underline #001E50;\n text-underline-offset: 8px;\n padding-bottom: 8px;\n color: #001E50;\n cursor: pointer;\n :hover{\n background-color: #C2CACF;\n }\n }\n`;\n\n const renderIDBuzzInfo = (state: any, close: CloseHandleV2) => {\n return (\n \n close({}, {}, {})}\n >\n \n \n \n \n \n Este taller ofrece servicios en\n exclusiva para el ID. Buzz\n \n {\n e.preventDefault();\n handlePreviousStep(e);\n close({}, {}, {});\n }}>\n

Haz clic aquí para cambiar de instalación.

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

{option.name}

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

\n {dealerCompletAdress}\n

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

\n \n {dealerCompletAdress}\n \n

\n
\n
\n\n {handleShowSlots && handleShowSlots(point) !== null ? (\n \n \n \n {handleShowSlots(point)}\n \n \n {\n point.properties.dealer.dmsInfo ? (\n
\n {\n point.properties.dealer.dmsInfo.replacementCarServiceAvailable ? (\n \n \n \n ) : null\n }\n {\n point.properties.dealer.dmsInfo.pickupCarServiceAvailabe ? (\n \n \n \n ) : null\n }\n
\n ) : null\n }\n \n )\n : null\n }\n \n )}\n {isCitaPosventa ? () : }\n
\n \n \n );\n});\n\nconst CitaPosventaCTAs = (props: DealerCardProps) => {\n const {\n carPickupSelected,\n dealerInfo,\n handleSeleccionarOnClick,\n handleShowCalendarOnClick,\n handleShowSlots,\n isCarousel,\n point,\n replacementCarSelected,\n } = props;\n\n const trackingManager = useTrackingManager();\n\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n\n const [greyCard, setGreyCard] = useState(false);\n\n useEffect(() => {\n if (point) {\n if (carPickupSelected && !point.properties.dealer.dmsInfo.pickupCarServiceAvailabe) {\n setGreyCard(true);\n } else if (replacementCarSelected && !point.properties.dealer.dmsInfo.replacementCarServiceAvailable) {\n setGreyCard(true);\n } else {\n setGreyCard(false);\n }\n }\n }, [carPickupSelected, replacementCarSelected, point]);\n return !dealerInfo.dmsInfo || !dealerInfo.dmsInfo.dmsAvailable || handleShowSlots && handleShowSlots(point) === null ? (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Ver horario',\n },\n dealerInfo\n );\n\n handleShowCalendarOnClick(point);\n }}\n >\n \n Ver calendario\n \n \n {\n point.properties.dealer.dmsInfo ? (\n
\n {\n point.properties.dealer.dmsInfo.replacementCarServiceAvailable ? (\n \n \n \n ) : null\n }\n {\n point.properties.dealer.dmsInfo.pickupCarServiceAvailabe ? (\n \n \n \n ) : null\n }\n
\n ) : null\n }\n \n ) : (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar',\n },\n dealerInfo\n );\n\n handleSeleccionarOnClick(point);\n }}\n >\n \n Seleccionar\n \n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Ver más horas',\n },\n dealerInfo\n );\n handleShowCalendarOnClick(point);\n }}\n >\n \n
\n \n Ver más horas\n \n
\n \n
\n \n );\n};\n\nconst LeadsCTAs = (props: DealerCardProps) => {\n const { handleSeleccionarOnClick, dealerInfo, point } = props;\n\n const trackingManager = useTrackingManager();\n\n return (\n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar',\n },\n dealerInfo\n );\n\n handleSeleccionarOnClick(point);\n }}\n >\n Seleccionar\n \n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport {\n styled,\n Layout,\n Breakpoints,\n} from '@volkswagen-onehub/components-core';\nimport { Points } from 'src/types';\nimport { useMapGeneralController } from 'src/feature-app';\nimport { SelectedTab } from 'src/types';\n\nconst TabsWrapper = styled.div`\n width: 100%;\n height: 100%;\n padding-left: 5px;\n padding-top: 5px;\n @media all and (min-width: 960px) {\n /* width: 380px; */\n /* Falta ver como se comporta este width: 100% con el scroll */\n width: 100%;\n }\n\n & > div {\n @media all and (min-width: 960px) {\n height: calc(100vh - 174px);\n overflow-y: auto;\n padding-bottom: 24px;\n }\n @media all and (min-width: 1600px) {\n height: calc(100vh - 200px);\n }\n }\n`;\n\nconst WidthWrapper = styled.div`\n width: 100vw;\n @media all and (min-width: 960px) {\n width: 100%;\n }\n`;\n\ninterface SeleccionDealerTabsProps {\n pointsByDistance?: Points[];\n pointsByTime?: Points[];\n isTimeSelected?: boolean;\n setIsTimeSelected?: React.Dispatch>;\n renderPoints: (points: Points[], isTime?: boolean) => JSX.Element[];\n setPreSelectedOrderValue?: React.Dispatch>;\n preSelectedOrderValue?: string;\n pointsToList: Points[];\n}\n\nexport function SeleccionDealerTabs(props: SeleccionDealerTabsProps) {\n const {\n pointsByDistance,\n pointsByTime,\n isTimeSelected,\n setIsTimeSelected,\n renderPoints,\n setPreSelectedOrderValue,\n preSelectedOrderValue,\n pointsToList,\n } = props;\n const { clusters } = useMapGeneralController();\n\n const [defaultIndex, setDefaultIndex] = useState(0);\n\n useEffect(() => {\n if (preSelectedOrderValue && preSelectedOrderValue === 'horario') {\n setDefaultIndex(1);\n } else {\n setDefaultIndex(0);\n }\n }, [preSelectedOrderValue]);\n\n return (\n \n \n {renderPoints(pointsToList, true)}\n\n {/* \n \n Ordenar por:\n \n */}\n\n {/* \n {\n setDefaultIndex(index);\n if (index === 0) {\n setPreSelectedOrderValue('ubicacion');\n } else {\n setPreSelectedOrderValue('horario');\n }\n }}\n defaultIndex={defaultIndex}\n >\n {{\n title: 'Ubicación',\n content: renderPoints(pointsToList, false),\n key: 'ubicacion',\n }}\n {{ title: 'Horario', content: renderPoints(pointsToList, true), key: 'horario' }}\n \n */}\n \n \n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport { css } from 'styled-components';\n\ninterface styledWrapperProps { \n notALayer?: boolean;\n isFiltrosSuggest: boolean;\n isLocating?: boolean;\n inputFocus?: boolean;\n formTheme?: string;\n isModeloSuggest?: boolean;\n isFullScreen?: boolean;\n goUp?: boolean;\n autoWidth?: boolean;\n}\n\n\nexport const MagnifierLabel = styled.div`\n color: ${(props) => (props.isFiltrosSuggest || props.formTheme === 'inverted' ? '#001e50' : '#ffffff')};\n padding-right: 8px;\n display: flex;\n align-items: center;\n\n & svg {\n fill: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' :'#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n`;\nexport const CloseButton = styled.button`\n cursor: pointer;\n border: none;\n outline: none;\n background: transparent;\n padding-left: 8px;\n display: flex;\n align-items: center;\n\n & svg {\n fill: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n`;\n\nexport const StyledWrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n margin-top: ${(props) => (props.isFiltrosSuggest ? '24px' : null)};\n padding: 9px 16px;\n border-radius: 8px;\n box-shadow: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '0 0 0 1px #6A767D' : '0 0 0 1px #dfe4e8'\n : props.inputFocus\n ? '0 0 0 2px #00B0F0'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '0 0 0 1px #ffffff' : '0 0 0 1px #001E50'\n };\n\n & .react-autosuggest__container {\n width: 100%;\n }\n\n & .react-autosuggest__input {\n width: 100%;\n padding: 8px 0;\n border: none;\n background: transparent;\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n /* Añadir puntos suspensivos para el placeholder en mobile */\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n /* WebKit, Edge */\n ::-webkit-input-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8' \n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n /* Firefox 4-18 */\n :-moz-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n opacity: 1;\n }\n /* Firefox 19+ */\n ::-moz-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n opacity: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n /* IE 10-11 */\n :-ms-input-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n /* Edge */\n ::-ms-input-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n /* MODERN BROWSER */\n ::placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n\n & .react-autosuggest__input--focused {\n outline: none;\n }\n\n & .react-autosuggest__input--open {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n & .react-autosuggest__suggestions-container {\n display: none;\n width: 100%;\n }\n\n & .react-autosuggest__suggestions-container--open {\n display: block;\n position: absolute;\n height: max-content;\n border: 1px solid #cccccc;\n\tborder-radius: 4px;\n background: #ffffff; \n font-family: Helvetica, sans-serif;\n font-weight: 300;\n font-size: 16px;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n z-index: 1060;\n overflow: hidden;\n border: none;\n box-shadow: 0px 12px 24px 0px rgba(0, 0, 0, 0.12);\n\n left: 0;\n top: ${(props)=>props.goUp ? '0' : '53px'};\n transform: ${(props)=>props.goUp ? 'translateY(-100%)' : null};\n \n ${(props) =>\n props.isFiltrosSuggest\n ? css`\n width: calc( 100% + 68x); \n @media screen and (min-width: 960px) {\n width: 400px; \n }\n `\n : props.isModeloSuggest ?\n css`\n width: var(--size-grid020);\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n } \n `\n : props.isFullScreen ? \n css`\n width: var(--size-grid020);\n @media all and (min-width: 960px) {\n width: ${(props) => (props.autoWidth ? '100%' : 'var(--size-grid013)')};\n }\n @media all and (min-width: 1280px) {\n width:${(props) => (props.autoWidth ? '100%' : 'var(--size-grid014)')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.autoWidth ? '100%' : 'var(--size-grid012)')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.autoWidth ? '100%' : 'var(--size-grid010)')};\n }\n `\n :css`\n width: calc( 100% + 68x); \n @media screen and (min-width: 960px) {\n width: 720px;\n }\n `}\n }\n\n & .react-autosuggest__suggestions-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: hidden scroll;\n height: max-content;\n max-height: 170px;\n @media all and (min-height: 500px) {\n max-height: 230px;\n }\n @media all and (min-height: 800px) {\n max-height: 300px;\n }\n @media all and (min-height: 800px) {\n max-height: 350px;\n }\n }\n\n & .react-autosuggest__suggestion {\n cursor: pointer;\n padding: 10px 20px;\n left: 0;\n :hover {\n * {\n color: #0040c5;\n }\n svg {\n fill: #0040c5;\n }\n }\n }\n`;\n\nexport const SuggestionWrapper = styled.div`\n width: 100%;\n display: flex;\n align-items: flex-start;\n text-align: left;\n color: #001e50;\n`;\n","import React, { Component } from 'react';\n\nconst style = {\n width: '100%',\n height: '100%',\n left: 0,\n top: 0,\n margin: 0,\n padding: 0,\n position: 'absolute',\n};\n\nexport default class GoogleMapMap extends Component {\n shouldComponentUpdate() {\n return false; // disable react on this div\n }\n\n render() {\n const { registerChild } = this.props;\n return
;\n }\n}\n","import EventEmitter from 'eventemitter3';\n\nexport default class MarkerDispatcher extends EventEmitter {\n constructor(gmapInstance) {\n super();\n this.gmapInstance = gmapInstance;\n }\n\n getChildren() {\n return this.gmapInstance.props.children;\n }\n\n getMousePosition() {\n return this.gmapInstance.mouse_;\n }\n\n getUpdateCounter() {\n return this.gmapInstance.updateCounter_;\n }\n\n dispose() {\n this.gmapInstance = null;\n this.removeAllListeners();\n }\n}\n","// https://github.com/acdlite/recompose/blob/master/src/packages/recompose/utils/omit.js\nconst omit = (obj, keys) => {\n const { ...rest } = obj;\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key in rest) {\n delete rest[key];\n }\n }\n return rest;\n};\n\nexport default omit;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule shallowEqual\n * @typechecks\n * @flow\n */\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (\n typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null\n ) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (let i = 0; i < keysA.length; i++) {\n if (\n !hasOwnProperty.call(objB, keysA[i]) ||\n !is(objA[keysA[i]], objB[keysA[i]])\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nexport default shallowEqual;\n/* src: https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/shallowEqual.js */\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\n// utils\nimport omit from './utils/omit';\nimport shallowEqual from './utils/shallowEqual';\n\nconst mainStyle = {\n width: '100%',\n height: '100%',\n left: 0,\n top: 0,\n margin: 0,\n padding: 0,\n position: 'absolute',\n};\n\nconst style = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n backgroundColor: 'transparent',\n position: 'absolute',\n};\n\nexport default class GoogleMapMarkers extends Component {\n /* eslint-disable react/forbid-prop-types */\n static propTypes = {\n geoService: PropTypes.any,\n style: PropTypes.any,\n distanceToMouse: PropTypes.func,\n dispatcher: PropTypes.any,\n onChildClick: PropTypes.func,\n onChildMouseDown: PropTypes.func,\n onChildMouseLeave: PropTypes.func,\n onChildMouseEnter: PropTypes.func,\n getHoverDistance: PropTypes.func,\n insideMapPanes: PropTypes.bool,\n prerender: PropTypes.bool,\n };\n /* eslint-enable react/forbid-prop-types */\n\n static defaultProps = {\n insideMapPanes: false,\n prerender: false,\n };\n\n constructor(props) {\n super(props);\n\n this.dimensionsCache_ = {};\n this.hoverKey_ = null;\n this.hoverChildProps_ = null;\n this.allowMouse_ = true;\n\n this.state = { ...this._getState(), hoverKey: null };\n }\n\n componentDidMount() {\n this.props.dispatcher.on('kON_CHANGE', this._onChangeHandler);\n this.props.dispatcher.on(\n 'kON_MOUSE_POSITION_CHANGE',\n this._onMouseChangeHandler\n );\n this.props.dispatcher.on('kON_CLICK', this._onChildClick);\n this.props.dispatcher.on('kON_MDOWN', this._onChildMouseDown);\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if (this.props.experimental === true) {\n return (\n !shallowEqual(this.props, nextProps) ||\n !shallowEqual(\n omit(this.state, ['hoverKey']),\n omit(nextState, ['hoverKey'])\n )\n );\n }\n\n return (\n !shallowEqual(this.props, nextProps) ||\n !shallowEqual(this.state, nextState)\n );\n }\n\n componentWillUnmount() {\n this.props.dispatcher.removeListener('kON_CHANGE', this._onChangeHandler);\n this.props.dispatcher.removeListener(\n 'kON_MOUSE_POSITION_CHANGE',\n this._onMouseChangeHandler\n );\n this.props.dispatcher.removeListener('kON_CLICK', this._onChildClick);\n this.props.dispatcher.removeListener('kON_MDOWN', this._onChildMouseDown);\n\n this.dimensionsCache_ = null;\n }\n\n _getState = () => ({\n children: this.props.dispatcher.getChildren(),\n updateCounter: this.props.dispatcher.getUpdateCounter(),\n });\n\n _onChangeHandler = () => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n const prevChildCount = (this.state.children || []).length;\n const state = this._getState();\n\n this.setState(\n state,\n () =>\n (state.children || []).length !== prevChildCount &&\n this._onMouseChangeHandler()\n );\n };\n\n _onChildClick = () => {\n if (this.props.onChildClick) {\n if (this.hoverChildProps_) {\n const hoverKey = this.hoverKey_;\n const childProps = this.hoverChildProps_;\n // click works only on hovered item\n this.props.onChildClick(hoverKey, childProps);\n }\n }\n };\n\n _onChildMouseDown = () => {\n if (this.props.onChildMouseDown) {\n if (this.hoverChildProps_) {\n const hoverKey = this.hoverKey_;\n const childProps = this.hoverChildProps_;\n // works only on hovered item\n this.props.onChildMouseDown(hoverKey, childProps);\n }\n }\n };\n\n _onChildMouseEnter = (hoverKey, childProps) => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n if (this.props.onChildMouseEnter) {\n this.props.onChildMouseEnter(hoverKey, childProps);\n }\n\n this.hoverChildProps_ = childProps;\n this.hoverKey_ = hoverKey;\n this.setState({ hoverKey });\n };\n\n _onChildMouseLeave = () => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n const hoverKey = this.hoverKey_;\n const childProps = this.hoverChildProps_;\n\n if (hoverKey !== undefined && hoverKey !== null) {\n if (this.props.onChildMouseLeave) {\n this.props.onChildMouseLeave(hoverKey, childProps);\n }\n\n this.hoverKey_ = null;\n this.hoverChildProps_ = null;\n this.setState({ hoverKey: null });\n }\n };\n\n _onMouseAllow = (value) => {\n if (!value) {\n this._onChildMouseLeave();\n }\n\n this.allowMouse_ = value;\n };\n\n _onMouseChangeHandler = () => {\n if (this.allowMouse_) {\n this._onMouseChangeHandlerRaf();\n }\n };\n\n _onMouseChangeHandlerRaf = () => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n const mp = this.props.dispatcher.getMousePosition();\n\n if (mp) {\n const distances = [];\n const hoverDistance = this.props.getHoverDistance();\n\n React.Children.forEach(this.state.children, (child, childIndex) => {\n if (!child) return;\n // layers\n if (\n child.props.latLng === undefined &&\n child.props.lat === undefined &&\n child.props.lng === undefined\n ) {\n return;\n }\n\n const childKey =\n child.key !== undefined && child.key !== null\n ? child.key\n : childIndex;\n const dist = this.props.distanceToMouse(\n this.dimensionsCache_[childKey],\n mp,\n child.props\n );\n if (dist < hoverDistance) {\n distances.push({\n key: childKey,\n dist,\n props: child.props,\n });\n }\n });\n\n if (distances.length) {\n distances.sort((a, b) => a.dist - b.dist);\n const hoverKey = distances[0].key;\n const childProps = distances[0].props;\n\n if (this.hoverKey_ !== hoverKey) {\n this._onChildMouseLeave();\n\n this._onChildMouseEnter(hoverKey, childProps);\n }\n } else {\n this._onChildMouseLeave();\n }\n } else {\n this._onChildMouseLeave();\n }\n };\n\n _getDimensions = (key) => {\n const childKey = key;\n return this.dimensionsCache_[childKey];\n };\n\n render() {\n const mainElementStyle = this.props.style || mainStyle;\n this.dimensionsCache_ = {};\n\n const markers = React.Children.map(\n this.state.children,\n (child, childIndex) => {\n if (!child) return undefined;\n if (\n child.props.latLng === undefined &&\n child.props.lat === undefined &&\n child.props.lng === undefined\n ) {\n return React.cloneElement(child, {\n $geoService: this.props.geoService,\n $onMouseAllow: this._onMouseAllow,\n $prerender: this.props.prerender,\n });\n }\n\n const latLng =\n child.props.latLng !== undefined\n ? child.props.latLng\n : { lat: child.props.lat, lng: child.props.lng };\n\n const pt = this.props.insideMapPanes\n ? this.props.geoService.fromLatLngToDivPixel(latLng)\n : this.props.geoService.fromLatLngToCenterPixel(latLng);\n\n const stylePtPos = {\n left: pt.x,\n top: pt.y,\n };\n\n // If the component has a southeast corner defined (either as a LatLng, or a separate\n // lat and lng pair), set the width and height based on the distance between the northwest\n // and the southeast corner to lock the overlay to the correct geographic bounds.\n if (\n child.props.seLatLng !== undefined ||\n (child.props.seLat !== undefined && child.props.seLng !== undefined)\n ) {\n const seLatLng =\n child.props.seLatLng !== undefined\n ? child.props.seLatLng\n : { lat: child.props.seLat, lng: child.props.seLng };\n\n const sePt = this.props.insideMapPanes\n ? this.props.geoService.fromLatLngToDivPixel(seLatLng)\n : this.props.geoService.fromLatLngToCenterPixel(seLatLng);\n\n stylePtPos.width = sePt.x - pt.x;\n stylePtPos.height = sePt.y - pt.y;\n }\n\n const containerPt = this.props.geoService.fromLatLngToContainerPixel(\n latLng\n );\n\n // to prevent rerender on child element i need to pass\n // const params $getDimensions and $dimensionKey instead of dimension object\n const childKey =\n child.key !== undefined && child.key !== null\n ? child.key\n : childIndex;\n\n this.dimensionsCache_[childKey] = {\n x: containerPt.x,\n y: containerPt.y,\n ...latLng,\n };\n\n return (\n \n {React.cloneElement(child, {\n $hover: childKey === this.state.hoverKey,\n $getDimensions: this._getDimensions,\n $dimensionKey: childKey,\n $geoService: this.props.geoService,\n $onMouseAllow: this._onMouseAllow,\n $prerender: this.props.prerender,\n })}\n
\n );\n }\n );\n\n return
{markers}
;\n }\n}\n","import React from 'react';\nimport GoogleMapMarkers from './google_map_markers';\n\nconst style = {\n width: '50%',\n height: '50%',\n left: '50%',\n top: '50%',\n // backgroundColor: 'red',\n margin: 0,\n padding: 0,\n position: 'absolute',\n // opacity: 0.3\n};\n\nexport default function (props) {\n return (\n
\n \n
\n );\n}\n","import { Loader } from '@googlemaps/js-api-loader';\n\nlet loader_;\nlet loadPromise_;\nlet resolveCustomPromise_;\n\nconst _customPromise = new Promise((resolve) => {\n resolveCustomPromise_ = resolve;\n});\n\n// TODO add libraries language and other map options\nexport default (bootstrapURLKeys, heatmapLibrary) => {\n // call from outside google-map-react\n // will be as soon as loadPromise resolved\n if (!bootstrapURLKeys) {\n return _customPromise;\n }\n\n // avoid api to be loaded multiple times\n if (loadPromise_) {\n return loadPromise_;\n }\n\n if (!bootstrapURLKeys.libraries) {\n bootstrapURLKeys.libraries = [];\n }\n\n const libraries = [...bootstrapURLKeys.libraries];\n\n // note: heatmapLibrary will be deprecated on next major\n if (heatmapLibrary) {\n // if heatmapLibrary is present\n // check if we need to add visualization library\n if (libraries.length === 0 || !libraries.includes('visualization')) {\n // if the array isEmpty or visualization is\n // not present, push the visualization library\n libraries.push('visualization');\n }\n console.warn(\n \"heatmapLibrary will be deprecated in the future. Please use { libraries: ['visualization'] } in bootstrapURLKeys property instead\"\n );\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(bootstrapURLKeys).indexOf('callback') > -1) {\n const message = `\"callback\" key in bootstrapURLKeys is not allowed,\n use onGoogleApiLoaded property instead`;\n // eslint-disable-next-line no-console\n console.error(message);\n throw new Error(message);\n }\n }\n\n if (typeof window === 'undefined') {\n throw new Error('google map cannot be loaded outside browser env');\n }\n\n const { key, ...restKeys } = bootstrapURLKeys;\n\n // use single instance of Loader to avoid multiple api loads\n if (!loader_) {\n loader_ = new Loader({\n // need to keep key as a prop for backwards compatibility\n apiKey: key || '',\n ...restKeys,\n libraries,\n });\n }\n\n loadPromise_ = loader_.load().then(() => {\n resolveCustomPromise_(window.google.maps);\n return window.google.maps;\n });\n\n resolveCustomPromise_(loadPromise_);\n\n return loadPromise_;\n};\n","/* eslint-disable import/prefer-default-export */\n\nexport function wrap(n, min, max) {\n const d = max - min;\n return n === max ? n : ((((n - min) % d) + d) % d) + min;\n}\n","import { wrap } from './wrap';\n\nexport default class LatLng {\n static convert = (a) => {\n if (a instanceof LatLng) {\n return a;\n }\n\n if (Array.isArray(a)) {\n return new LatLng(a[0], a[1]);\n }\n\n if ('lng' in a && 'lat' in a) {\n return new LatLng(a.lat, a.lng);\n }\n\n return a;\n };\n\n constructor(lat, lng) {\n if (isNaN(lat) || isNaN(lng)) {\n throw new Error(`Invalid LatLng object: (${lat}, ${lng})`);\n }\n this.lat = +lat;\n this.lng = +lng;\n }\n\n wrap() {\n return new LatLng(this.lat, wrap(this.lng, -180, 180));\n }\n}\n","/* eslint-disable class-methods-use-this */\nimport Point from '@mapbox/point-geometry';\nimport LatLng from './lat_lng';\nimport { wrap } from './wrap';\n\n// A single transform, generally used for a single tile to be scaled, rotated, and zoomed.\nexport default class Transform {\n constructor(tileSize, minZoom, maxZoom) {\n this.tileSize = tileSize || 512; // constant\n\n this._minZoom = minZoom || 0;\n this._maxZoom = maxZoom || 52;\n\n this.latRange = [-85.05113, 85.05113];\n\n this.width = 0;\n this.height = 0;\n this.zoom = 0;\n this.center = new LatLng(0, 0);\n this.angle = 0;\n }\n\n get minZoom() {\n return this._minZoom;\n }\n\n set minZoom(zoom) {\n this._minZoom = zoom;\n this.zoom = Math.max(this.zoom, zoom);\n }\n\n get maxZoom() {\n return this._maxZoom;\n }\n\n set maxZoom(zoom) {\n this._maxZoom = zoom;\n this.zoom = Math.min(this.zoom, zoom);\n }\n\n get worldSize() {\n return this.tileSize * this.scale;\n }\n\n get centerPoint() {\n return new Point(0, 0); // this.size._div(2);\n }\n\n get size() {\n return new Point(this.width, this.height);\n }\n\n get bearing() {\n return (-this.angle / Math.PI) * 180;\n }\n\n set bearing(bearing) {\n this.angle = (-wrap(bearing, -180, 180) * Math.PI) / 180;\n }\n\n get zoom() {\n return this._zoom;\n }\n\n set zoom(zoom) {\n const zoomV = Math.min(Math.max(zoom, this.minZoom), this.maxZoom);\n this._zoom = zoomV;\n this.scale = this.zoomScale(zoomV);\n this.tileZoom = Math.floor(zoomV);\n this.zoomFraction = zoomV - this.tileZoom;\n }\n\n zoomScale(zoom) {\n return Math.pow(2, zoom);\n }\n\n scaleZoom(scale) {\n return Math.log(scale) / Math.LN2;\n }\n\n project(latlng, worldSize) {\n return new Point(\n this.lngX(latlng.lng, worldSize),\n this.latY(latlng.lat, worldSize)\n );\n }\n\n unproject(point, worldSize) {\n return new LatLng(\n this.yLat(point.y, worldSize),\n this.xLng(point.x, worldSize)\n );\n }\n\n get x() {\n return this.lngX(this.center.lng);\n }\n\n get y() {\n return this.latY(this.center.lat);\n }\n\n get point() {\n return new Point(this.x, this.y);\n }\n\n // lat/lon <-> absolute pixel coords convertion\n lngX(lon, worldSize) {\n return ((180 + lon) * (worldSize || this.worldSize)) / 360;\n }\n\n // latitude to absolute y coord\n latY(lat, worldSize) {\n const y =\n (180 / Math.PI) * Math.log(Math.tan(Math.PI / 4 + (lat * Math.PI) / 360));\n return ((180 - y) * (worldSize || this.worldSize)) / 360;\n }\n\n xLng(x, worldSize) {\n return (x * 360) / (worldSize || this.worldSize) - 180;\n }\n\n yLat(y, worldSize) {\n const y2 = 180 - (y * 360) / (worldSize || this.worldSize);\n return (360 / Math.PI) * Math.atan(Math.exp((y2 * Math.PI) / 180)) - 90;\n }\n\n locationPoint(latlng) {\n const p = this.project(latlng);\n return this.centerPoint._sub(this.point._sub(p)._rotate(this.angle));\n }\n\n pointLocation(p) {\n const p2 = this.centerPoint._sub(p)._rotate(-this.angle);\n return this.unproject(this.point.sub(p2));\n }\n}\n","import Point from '@mapbox/point-geometry';\n\nimport LatLng from './lat_lng';\nimport Transform from './transform';\n\nexport default class Geo {\n constructor(tileSize) {\n // left_top view пользует гугл\n // super();\n this.hasSize_ = false;\n this.hasView_ = false;\n this.transform_ = new Transform(tileSize || 512);\n }\n\n setView(center, zoom, bearing) {\n this.transform_.center = LatLng.convert(center);\n this.transform_.zoom = +zoom;\n this.transform_.bearing = +bearing;\n this.hasView_ = true;\n }\n\n setViewSize(width, height) {\n this.transform_.width = width;\n this.transform_.height = height;\n this.hasSize_ = true;\n }\n\n setMapCanvasProjection(maps, mapCanvasProjection) {\n this.maps_ = maps;\n this.mapCanvasProjection_ = mapCanvasProjection;\n }\n\n canProject() {\n return this.hasSize_ && this.hasView_;\n }\n\n hasSize() {\n return this.hasSize_;\n }\n\n /** Returns the pixel position relative to the map center. */\n fromLatLngToCenterPixel(ptLatLng) {\n return this.transform_.locationPoint(LatLng.convert(ptLatLng));\n }\n\n /**\n * Returns the pixel position relative to the map panes,\n * or relative to the map center if there are no panes.\n */\n fromLatLngToDivPixel(ptLatLng) {\n if (this.mapCanvasProjection_) {\n const latLng = new this.maps_.LatLng(ptLatLng.lat, ptLatLng.lng);\n return this.mapCanvasProjection_.fromLatLngToDivPixel(latLng);\n }\n return this.fromLatLngToCenterPixel(ptLatLng);\n }\n\n /** Returns the pixel position relative to the map top-left. */\n fromLatLngToContainerPixel(ptLatLng) {\n if (this.mapCanvasProjection_) {\n const latLng = new this.maps_.LatLng(ptLatLng.lat, ptLatLng.lng);\n return this.mapCanvasProjection_.fromLatLngToContainerPixel(latLng);\n }\n\n const pt = this.fromLatLngToCenterPixel(ptLatLng);\n pt.x -=\n this.transform_.worldSize * Math.round(pt.x / this.transform_.worldSize);\n\n pt.x += this.transform_.width / 2;\n pt.y += this.transform_.height / 2;\n\n return pt;\n }\n\n /** Returns the LatLng for the given offset from the map top-left. */\n fromContainerPixelToLatLng(ptXY) {\n if (this.mapCanvasProjection_) {\n const latLng = this.mapCanvasProjection_.fromContainerPixelToLatLng(ptXY);\n return { lat: latLng.lat(), lng: latLng.lng() };\n }\n\n const ptxy = { ...ptXY };\n ptxy.x -= this.transform_.width / 2;\n ptxy.y -= this.transform_.height / 2;\n const ptRes = this.transform_.pointLocation(Point.convert(ptxy));\n\n ptRes.lng -= 360 * Math.round(ptRes.lng / 360); // convert 2 google format\n return ptRes;\n }\n\n getWidth() {\n return this.transform_.width;\n }\n\n getHeight() {\n return this.transform_.height;\n }\n\n getZoom() {\n return this.transform_.zoom;\n }\n\n getCenter() {\n const ptRes = this.transform_.pointLocation({ x: 0, y: 0 });\n\n return ptRes;\n }\n\n getBounds(margins, roundFactor) {\n const bndT = (margins && margins[0]) || 0;\n const bndR = (margins && margins[1]) || 0;\n const bndB = (margins && margins[2]) || 0;\n const bndL = (margins && margins[3]) || 0;\n\n if (\n this.getWidth() - bndR - bndL > 0 &&\n this.getHeight() - bndT - bndB > 0\n ) {\n const topLeftCorner = this.transform_.pointLocation(\n Point.convert({\n x: bndL - this.getWidth() / 2,\n y: bndT - this.getHeight() / 2,\n })\n );\n const bottomRightCorner = this.transform_.pointLocation(\n Point.convert({\n x: this.getWidth() / 2 - bndR,\n y: this.getHeight() / 2 - bndB,\n })\n );\n\n let res = [\n topLeftCorner.lat,\n topLeftCorner.lng, // NW\n bottomRightCorner.lat,\n bottomRightCorner.lng, // SE\n bottomRightCorner.lat,\n topLeftCorner.lng, // SW\n topLeftCorner.lat,\n bottomRightCorner.lng, // NE\n ];\n\n if (roundFactor) {\n res = res.map((r) => Math.round(r * roundFactor) / roundFactor);\n }\n return res;\n }\n\n return [0, 0, 0, 0];\n }\n}\n","export default function raf(callback) {\n if (window.requestAnimationFrame) {\n return window.requestAnimationFrame(callback);\n }\n\n const nativeRaf =\n window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n\n return nativeRaf\n ? nativeRaf(callback)\n : window.setTimeout(callback, 1e3 / 60);\n}\n","const log2 = Math.log2 ? Math.log2 : (x) => Math.log(x) / Math.LN2;\n\nexport default log2;\n","// source taken from https://github.com/rackt/redux/blob/master/src/utils/pick.js\n\nexport default function pick(obj, fn) {\n return Object.keys(obj).reduce((result, key) => {\n if (fn(obj[key])) {\n result[key] = obj[key]; // eslint-disable-line\n }\n return result;\n }, {});\n}\n","const isEmpty = (val) => {\n // check for empty object {}, array []\n if (val !== null && typeof val === 'object') {\n if (Object.keys(val).length === 0) {\n return true;\n }\n } else if (val === null || val === undefined || val === '') {\n // check for undefined, null and \"\"\n return true;\n }\n return false;\n};\n\nexport default isEmpty;\n","function isObjectLike(value) {\n return !!value && typeof value === 'object';\n}\n\nconst objectToString = Object.prototype.toString;\n\nexport default function isNumber(value) {\n const numberTag = '[object Number]';\n return (\n typeof value === 'number' ||\n (isObjectLike(value) && objectToString.call(value) === numberTag)\n );\n}\n","// http://stackoverflow.com/questions/5899783/detect-safari-chrome-ie-firefox-opera-with-user-agent\nlet detectBrowserResult_ = null;\n\nexport default function detectBrowser() {\n if (detectBrowserResult_) {\n return detectBrowserResult_;\n }\n\n if (typeof navigator !== 'undefined') {\n const isExplorer = navigator.userAgent.indexOf('MSIE') > -1;\n const isFirefox = navigator.userAgent.indexOf('Firefox') > -1;\n const isOpera = navigator.userAgent.toLowerCase().indexOf('op') > -1;\n\n let isChrome = navigator.userAgent.indexOf('Chrome') > -1;\n let isSafari = navigator.userAgent.indexOf('Safari') > -1;\n\n if (isChrome && isSafari) {\n isSafari = false;\n }\n\n if (isChrome && isOpera) {\n isChrome = false;\n }\n\n detectBrowserResult_ = {\n isExplorer,\n isFirefox,\n isOpera,\n isChrome,\n isSafari,\n };\n return detectBrowserResult_;\n }\n\n detectBrowserResult_ = {\n isChrome: true,\n isExplorer: false,\n isFirefox: false,\n isOpera: false,\n isSafari: false,\n };\n\n return detectBrowserResult_;\n}\n","// source taken from https://github.com/rackt/redux/blob/master/src/utils/isPlainObject.js\nconst fnToString = (fn) => Function.prototype.toString.call(fn);\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nexport default function isPlainObject(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n const proto =\n typeof obj.constructor === 'function'\n ? Object.getPrototypeOf(obj)\n : Object.prototype;\n\n if (proto === null) {\n return true;\n }\n\n const constructor = proto.constructor;\n\n return (\n typeof constructor === 'function' &&\n constructor instanceof constructor &&\n fnToString(constructor) === fnToString(Object)\n );\n}\n","// feature detection for passive support\n// see: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\nfunction hasPassiveSupport() {\n let passiveSupported = false;\n\n try {\n const options = Object.defineProperty({}, 'passive', {\n get() {\n passiveSupported = true;\n },\n });\n\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (err) {\n passiveSupported = false;\n }\n\n return passiveSupported;\n}\n\nexport default function addPassiveEventListener(\n element,\n eventName,\n func,\n capture\n) {\n element.addEventListener(\n eventName,\n func,\n hasPassiveSupport()\n ? {\n capture,\n passive: true,\n }\n : capture\n );\n}\n","/* eslint-disable */\n/**\n* Detect Element Resize.\n* Forked in order to guard against unsafe 'window' and 'document' references.\n*\n* https://github.com/sdecima/javascript-detect-element-resize\n* Sebastian Decima\n*\n* version: 0.5.3\n**/\n\nimport addPassiveEventListener from './passiveEvents';\n\n// Reliable `window` and `document` detection\nvar canUseDOM = !!(typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\n\n// Check `document` and `window` in case of server-side rendering\nvar _window;\nif (canUseDOM) {\n _window = window;\n} else if (typeof self !== 'undefined') {\n _window = self;\n} else {\n _window = this;\n}\n\nvar attachEvent = typeof document !== 'undefined' && document.attachEvent;\nvar stylesCreated = false;\n\nif (canUseDOM && !attachEvent) {\n var requestFrame = (function () {\n var raf = _window.requestAnimationFrame ||\n _window.mozRequestAnimationFrame ||\n _window.webkitRequestAnimationFrame ||\n function (fn) {\n return _window.setTimeout(fn, 20);\n };\n return function (fn) {\n return raf(fn);\n };\n })();\n\n var cancelFrame = (function () {\n var cancel = _window.cancelAnimationFrame ||\n _window.mozCancelAnimationFrame ||\n _window.webkitCancelAnimationFrame ||\n _window.clearTimeout;\n return function (id) {\n return cancel(id);\n };\n })();\n\n var resetTriggers = function (element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n var checkTriggers = function (element) {\n return element.offsetWidth != element.__resizeLast__.width ||\n element.offsetHeight != element.__resizeLast__.height;\n };\n\n var scrollListener = function (e) {\n var element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) cancelFrame(this.__resizeRAF__);\n this.__resizeRAF__ = requestFrame(function () {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function (fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false,\n animationstring = 'animation',\n keyframeprefix = '',\n animationstartevent = 'animationstart',\n domPrefixes = 'Webkit Moz O ms'.split(' '),\n startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(\n ' '\n ),\n pfx = '';\n\n if (canUseDOM) {\n var elm = document.createElement('fakeelement');\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n animationstring = pfx + 'Animation';\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationstartevent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n\n var animationName = 'resizeanim';\n var animationKeyframes = '@' +\n keyframeprefix +\n 'keyframes ' +\n animationName +\n ' { from { opacity: 0; } to { opacity: 0; } } ';\n var animationStyle = keyframeprefix +\n 'animation: 1ms ' +\n animationName +\n '; ';\n}\n\nvar createStyles = function () {\n if (!stylesCreated) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') +\n '.resize-triggers { ' +\n (animationStyle ? animationStyle : '') +\n 'visibility: hidden; opacity: 0; } ' +\n '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = document.head || document.getElementsByTagName('head')[0],\n style = document.createElement('style');\n\n style.type = 'text/css';\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n head.appendChild(style);\n stylesCreated = true;\n }\n};\n\nvar addResizeListener = function (element, fn) {\n if (element.parentNode === undefined) {\n var tempParentDiv = document.createElement('div');\n element.parentNode = tempParentDiv;\n }\n element = element.parentNode;\n if (attachEvent)\n element.attachEvent('onresize', fn);\n else {\n if (!element.__resizeTriggers__) {\n if (getComputedStyle(element).position == 'static')\n element.style.position = 'relative';\n createStyles();\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = document.createElement(\n 'div'\n )).className = 'resize-triggers';\n element.__resizeTriggers__.innerHTML = '
' +\n '
';\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n\n addPassiveEventListener(element, 'scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n animationstartevent &&\n element.__resizeTriggers__.addEventListener(\n animationstartevent,\n function (e) {\n if (e.animationName == animationName) resetTriggers(element);\n }\n );\n }\n element.__resizeListeners__.push(fn);\n }\n};\n\nvar removeResizeListener = function (element, fn) {\n element = element.parentNode;\n if (attachEvent)\n element.detachEvent('onresize', fn);\n else {\n element.__resizeListeners__.splice(\n element.__resizeListeners__.indexOf(fn),\n 1\n );\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener);\n element.__resizeTriggers__ = !element.removeChild(\n element.__resizeTriggers__\n );\n }\n }\n};\n\nexport {\n addResizeListener,\n removeResizeListener,\n};\n","/* eslint-disable import/no-extraneous-dependencies, react/forbid-prop-types, react/no-find-dom-node, no-console, no-undef */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\n// helpers\nimport GoogleMapMap from './google_map_map';\nimport MarkerDispatcher from './marker_dispatcher';\nimport GoogleMapMarkers from './google_map_markers';\nimport GoogleMapMarkersPrerender from './google_map_markers_prerender';\nimport { generateHeatmap, optionsHeatmap } from './google_heatmap';\n\n// loaders\nimport googleMapLoader from './loaders/google_map_loader';\n\n// lib\nimport Geo from './lib/geo';\n\n// tools\nimport raf from './utils/raf';\nimport log2 from './utils/log2';\nimport omit from './utils/omit';\nimport pick from './utils/pick';\nimport isEmpty from './utils/isEmpty';\nimport isNumber from './utils/isNumber';\nimport detectBrowser from './utils/detect';\nimport shallowEqual from './utils/shallowEqual';\nimport isPlainObject from './utils/isPlainObject';\nimport isArraysEqualEps from './utils/isArraysEqualEps';\nimport {\n addResizeListener,\n removeResizeListener,\n} from './utils/detectElementResize';\nimport addPassiveEventListener from './utils/passiveEvents';\n\n// consts\nconst kEPS = 0.00001;\nconst K_GOOGLE_TILE_SIZE = 256;\n// real minZoom calculated here _getMinZoom\nconst K_IDLE_TIMEOUT = 100;\nconst K_IDLE_CLICK_TIMEOUT = 300;\nconst DEFAULT_MIN_ZOOM = 3;\n// Starting with version 3.32, the maps API calls `draw()` each frame during\n// a zoom animation.\nconst DRAW_CALLED_DURING_ANIMATION_VERSION = 32;\nconst IS_REACT_16 = ReactDOM.createPortal !== undefined;\n\nconst createPortal = IS_REACT_16\n ? ReactDOM.createPortal\n : ReactDOM.unstable_renderSubtreeIntoContainer;\n\nfunction defaultOptions_(/* maps */) {\n return {\n overviewMapControl: false,\n streetViewControl: false,\n rotateControl: true,\n mapTypeControl: false,\n // disable poi\n styles: [\n {\n featureType: 'poi',\n elementType: 'labels',\n stylers: [{ visibility: 'off' }],\n },\n ],\n minZoom: DEFAULT_MIN_ZOOM, // dynamically recalculted if possible during init\n };\n}\n\nconst latLng2Obj = (latLng) =>\n isPlainObject(latLng) ? latLng : { lat: latLng[0], lng: latLng[1] };\n\nconst _checkMinZoom = (zoom, minZoom) => {\n if (process.env.NODE_ENV !== 'production') {\n if (zoom < minZoom) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line\n 'minZoom option is less than recommended ' +\n 'minZoom option for your map sizes.\\n' +\n 'overrided to value ' +\n minZoom\n );\n }\n }\n\n if (minZoom < zoom) {\n return zoom;\n }\n return minZoom;\n};\n\nconst isFullScreen = () =>\n document.fullscreen ||\n document.webkitIsFullScreen ||\n document.mozFullScreen ||\n document.msFullscreenElement;\n\nclass GoogleMap extends Component {\n static propTypes = {\n apiKey: PropTypes.string,\n bootstrapURLKeys: PropTypes.any,\n\n defaultCenter: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number,\n }),\n ]),\n center: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number,\n }),\n ]),\n defaultZoom: PropTypes.number,\n zoom: PropTypes.number,\n onBoundsChange: PropTypes.func,\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n onChildClick: PropTypes.func,\n onChildMouseDown: PropTypes.func,\n onChildMouseUp: PropTypes.func,\n onChildMouseMove: PropTypes.func,\n onChildMouseEnter: PropTypes.func,\n onChildMouseLeave: PropTypes.func,\n onZoomAnimationStart: PropTypes.func,\n onZoomAnimationEnd: PropTypes.func,\n onDrag: PropTypes.func,\n onDragEnd: PropTypes.func,\n onMapTypeIdChange: PropTypes.func,\n onTilesLoaded: PropTypes.func,\n options: PropTypes.any,\n distanceToMouse: PropTypes.func,\n hoverDistance: PropTypes.number,\n debounced: PropTypes.bool,\n margin: PropTypes.array,\n googleMapLoader: PropTypes.any,\n onGoogleApiLoaded: PropTypes.func,\n yesIWantToUseGoogleMapApiInternals: PropTypes.bool,\n draggable: PropTypes.bool,\n style: PropTypes.any,\n resetBoundsOnResize: PropTypes.bool,\n layerTypes: PropTypes.arrayOf(PropTypes.string), // ['TransitLayer', 'TrafficLayer']\n shouldUnregisterMapOnUnmount: PropTypes.bool,\n };\n\n static defaultProps = {\n distanceToMouse(pt, mousePos /* , markerProps */) {\n return Math.sqrt(\n (pt.x - mousePos.x) * (pt.x - mousePos.x) +\n (pt.y - mousePos.y) * (pt.y - mousePos.y)\n );\n },\n hoverDistance: 30,\n debounced: true,\n options: defaultOptions_,\n googleMapLoader,\n yesIWantToUseGoogleMapApiInternals: false,\n style: {\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n position: 'relative',\n },\n layerTypes: [],\n heatmap: {},\n heatmapLibrary: false,\n shouldUnregisterMapOnUnmount: true,\n };\n\n static googleMapLoader = googleMapLoader; // eslint-disable-line\n\n constructor(props) {\n super(props);\n this.mounted_ = false;\n this.initialized_ = false;\n this.googleApiLoadedCalled_ = false;\n\n this.map_ = null;\n this.maps_ = null;\n this.prevBounds_ = null;\n this.heatmap = null;\n\n this.layers_ = {};\n\n this.mouse_ = null;\n this.mouseMoveTime_ = 0;\n this.boundingRect_ = null;\n this.mouseInMap_ = true;\n\n this.dragTime_ = 0;\n this.fireMouseEventOnIdle_ = false;\n this.updateCounter_ = 0;\n\n this.markersDispatcher_ = new MarkerDispatcher(this);\n this.geoService_ = new Geo(K_GOOGLE_TILE_SIZE);\n this.centerIsObject_ = isPlainObject(this.props.center);\n\n this.minZoom_ = DEFAULT_MIN_ZOOM;\n this.defaultDraggableOption_ = true;\n\n this.zoomControlClickTime_ = 0;\n\n this.childMouseDownArgs_ = null;\n this.childMouseUpTime_ = 0;\n\n this.googleMapDom_ = null;\n\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.apiKey) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line no-console\n 'apiKey is deprecated, use ' +\n 'bootstrapURLKeys={{key: YOUR_API_KEY}} instead.'\n );\n }\n\n if (this.props.onBoundsChange) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line no-console\n 'onBoundsChange is deprecated, use ' +\n 'onChange({center, zoom, bounds, ...other}) instead.'\n );\n }\n\n if (isEmpty(this.props.center) && isEmpty(this.props.defaultCenter)) {\n console.warn(\n 'GoogleMap: center or defaultCenter property must be defined' // eslint-disable-line no-console\n );\n }\n\n if (isEmpty(this.props.zoom) && isEmpty(this.props.defaultZoom)) {\n console.warn(\n 'GoogleMap: zoom or defaultZoom property must be defined' // eslint-disable-line no-console\n );\n }\n }\n\n if (this._isCenterDefined(this.props.center || this.props.defaultCenter)) {\n const propsCenter = latLng2Obj(\n this.props.center || this.props.defaultCenter\n );\n this.geoService_.setView(\n propsCenter,\n this.props.zoom || this.props.defaultZoom,\n 0\n );\n }\n\n this.zoomAnimationInProgress_ = false;\n\n this.state = {\n overlay: null,\n };\n }\n\n componentDidMount() {\n this.mounted_ = true;\n this.markersDispatcher_ = new MarkerDispatcher(this);\n addPassiveEventListener(window, 'resize', this._onWindowResize, false);\n addPassiveEventListener(window, 'keydown', this._onKeyDownCapture, true);\n const mapDom = ReactDOM.findDOMNode(this.googleMapDom_);\n // gmap can't prevent map drag if mousedown event already occured\n // the only workaround I find is prevent mousedown native browser event\n\n if (mapDom) {\n addPassiveEventListener(\n mapDom,\n 'mousedown',\n this._onMapMouseDownNative,\n true\n );\n }\n\n addPassiveEventListener(window, 'mouseup', this._onChildMouseUp, false);\n const bootstrapURLKeys = {\n ...(this.props.apiKey && { key: this.props.apiKey }),\n ...this.props.bootstrapURLKeys,\n };\n\n this.props.googleMapLoader(bootstrapURLKeys, this.props.heatmapLibrary); // we can start load immediatly\n\n setTimeout(\n () => {\n // to detect size\n this._setViewSize();\n if (\n this._isCenterDefined(this.props.center || this.props.defaultCenter)\n ) {\n this._initMap();\n }\n },\n 0,\n this\n );\n if (this.props.resetBoundsOnResize) {\n const that = this;\n addResizeListener(mapDom, that._mapDomResizeCallback);\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // draggable does not affect inner components\n return (\n !shallowEqual(\n omit(this.props, ['draggable']),\n omit(nextProps, ['draggable'])\n ) || !shallowEqual(this.state, nextState)\n );\n }\n\n componentDidUpdate(prevProps) {\n if (process.env.NODE_ENV !== 'production') {\n if (!shallowEqual(prevProps.defaultCenter, this.props.defaultCenter)) {\n console.warn(\n \"GoogleMap: defaultCenter prop changed. You can't change default props.\"\n );\n }\n\n if (!shallowEqual(prevProps.defaultZoom, this.props.defaultZoom)) {\n console.warn(\n \"GoogleMap: defaultZoom prop changed. You can't change default props.\"\n );\n }\n }\n\n if (\n !this._isCenterDefined(prevProps.center) &&\n this._isCenterDefined(this.props.center)\n ) {\n setTimeout(() => this._initMap(), 0);\n }\n\n if (this.map_) {\n const centerLatLng = this.geoService_.getCenter();\n if (this._isCenterDefined(this.props.center)) {\n const currentCenter = latLng2Obj(this.props.center);\n const prevCenter = this._isCenterDefined(prevProps.center)\n ? latLng2Obj(prevProps.center)\n : null;\n\n if (\n !prevCenter ||\n Math.abs(currentCenter.lat - prevCenter.lat) +\n Math.abs(currentCenter.lng - prevCenter.lng) >\n kEPS\n ) {\n if (\n Math.abs(currentCenter.lat - centerLatLng.lat) +\n Math.abs(currentCenter.lng - centerLatLng.lng) >\n kEPS\n ) {\n this.map_.panTo({\n lat: currentCenter.lat,\n lng: currentCenter.lng,\n });\n }\n }\n }\n\n if (!isEmpty(this.props.zoom)) {\n // if zoom chaged by user\n if (Math.abs(this.props.zoom - prevProps.zoom) > 0) {\n this.map_.setZoom(this.props.zoom);\n }\n }\n\n if (!isEmpty(prevProps.draggable) && isEmpty(this.props.draggable)) {\n // reset to default\n this.map_.setOptions({ draggable: this.defaultDraggableOption_ });\n } else if (!shallowEqual(prevProps.draggable, this.props.draggable)) {\n // also prevent this on window 'mousedown' event to prevent map move\n this.map_.setOptions({ draggable: this.props.draggable });\n }\n\n // use shallowEqual to try avoid calling map._setOptions if only the ref changes\n if (\n !isEmpty(this.props.options) &&\n !shallowEqual(prevProps.options, this.props.options)\n ) {\n const mapPlainObjects = pick(this.maps_, isPlainObject);\n let options =\n typeof this.props.options === 'function'\n ? this.props.options(mapPlainObjects)\n : this.props.options;\n // remove zoom, center and draggable options as these are managed by google-maps-react\n options = omit(options, ['zoom', 'center', 'draggable']);\n\n if ('minZoom' in options) {\n const minZoom = this._computeMinZoom(options.minZoom);\n options.minZoom = _checkMinZoom(options.minZoom, minZoom);\n }\n\n this.map_.setOptions(options);\n }\n\n if (!shallowEqual(this.props.layerTypes, prevProps.layerTypes)) {\n Object.keys(this.layers_).forEach((layerKey) => {\n this.layers_[layerKey].setMap(null);\n delete this.layers_[layerKey];\n });\n this._setLayers(this.props.layerTypes);\n }\n\n if (\n this.heatmap &&\n !shallowEqual(this.props.heatmap.positions, prevProps.heatmap.positions)\n ) {\n this.heatmap.setData(\n this.props.heatmap.positions.map((p) => ({\n location: new this.maps_.LatLng(p.lat, p.lng),\n weight: p.weight,\n }))\n );\n }\n if (\n this.heatmap &&\n !shallowEqual(this.props.heatmap.options, prevProps.heatmap.options)\n ) {\n Object.keys(this.props.heatmap.options).forEach((option) => {\n this.heatmap.set(option, this.props.heatmap.options[option]);\n });\n }\n }\n // emit actions\n this.markersDispatcher_.emit('kON_CHANGE');\n\n if (!shallowEqual(this.props.hoverDistance, prevProps.hoverDistance)) {\n this.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n }\n }\n\n componentWillUnmount() {\n this.mounted_ = false;\n const mapDom = ReactDOM.findDOMNode(this.googleMapDom_);\n if (mapDom) {\n mapDom.removeEventListener('mousedown', this._onMapMouseDownNative, true);\n }\n window.removeEventListener('resize', this._onWindowResize);\n window.removeEventListener('keydown', this._onKeyDownCapture);\n window.removeEventListener('mouseup', this._onChildMouseUp, false);\n if (this.props.resetBoundsOnResize) {\n removeResizeListener(mapDom, this._mapDomResizeCallback);\n }\n\n if (this.overlay_) {\n // this triggers overlay_.onRemove(), which will unmount the \n this.overlay_.setMap(null);\n }\n\n if (this.maps_ && this.map_ && this.props.shouldUnregisterMapOnUnmount) {\n // fix google, as otherwise listeners works even without map\n this.map_.setOptions({ scrollwheel: false });\n this.maps_.event.clearInstanceListeners(this.map_);\n }\n\n if (this.props.shouldUnregisterMapOnUnmount) {\n this.map_ = null;\n this.maps_ = null;\n }\n this.markersDispatcher_.dispose();\n\n this.resetSizeOnIdle_ = false;\n\n if (this.props.shouldUnregisterMapOnUnmount) {\n delete this.map_;\n delete this.markersDispatcher_;\n }\n }\n\n // calc minZoom if map size available\n // it's better to not set minZoom less than this calculation gives\n // otherwise there is no homeomorphism between screen coordinates and map\n // (one map coordinate can have different screen coordinates)\n _getMinZoom = () => {\n if (this.geoService_.getWidth() > 0 || this.geoService_.getHeight() > 0) {\n const tilesPerWidth =\n Math.ceil(this.geoService_.getWidth() / K_GOOGLE_TILE_SIZE) + 2;\n const tilesPerHeight =\n Math.ceil(this.geoService_.getHeight() / K_GOOGLE_TILE_SIZE) + 2;\n const maxTilesPerDim = Math.max(tilesPerWidth, tilesPerHeight);\n return Math.ceil(log2(maxTilesPerDim));\n }\n return DEFAULT_MIN_ZOOM;\n };\n\n _computeMinZoom = (minZoom) => {\n if (!isEmpty(minZoom)) {\n return minZoom;\n }\n return this._getMinZoom();\n };\n\n _mapDomResizeCallback = () => {\n this.resetSizeOnIdle_ = true;\n if (this.maps_) {\n const originalCenter = this.props.center || this.props.defaultCenter;\n const currentCenter = this.map_.getCenter();\n this.maps_.event.trigger(this.map_, 'resize');\n this.map_.setCenter(\n this.props.resetBoundsOnResize ? originalCenter : currentCenter\n );\n }\n };\n\n _setLayers = (layerTypes) => {\n layerTypes.forEach((layerType) => {\n this.layers_[layerType] = new this.maps_[layerType]();\n this.layers_[layerType].setMap(this.map_);\n });\n };\n\n _renderPortal = () => (\n \n );\n\n _initMap = () => {\n // only initialize the map once\n if (this.initialized_) {\n return;\n }\n this.initialized_ = true;\n\n const propsCenter = latLng2Obj(\n this.props.center || this.props.defaultCenter\n );\n this.geoService_.setView(\n propsCenter,\n this.props.zoom || this.props.defaultZoom,\n 0\n );\n\n this._onBoundsChanged(); // now we can calculate map bounds center etc...\n\n const bootstrapURLKeys = {\n ...(this.props.apiKey && { key: this.props.apiKey }),\n ...this.props.bootstrapURLKeys,\n };\n\n this.props\n .googleMapLoader(bootstrapURLKeys, this.props.heatmapLibrary)\n .then((maps) => {\n if (!this.mounted_) {\n return;\n }\n\n const centerLatLng = this.geoService_.getCenter();\n\n const propsOptions = {\n zoom: this.props.zoom || this.props.defaultZoom,\n center: new maps.LatLng(centerLatLng.lat, centerLatLng.lng),\n };\n\n // Start Heatmap\n if (this.props.heatmap.positions) {\n Object.assign(this, {\n heatmap: generateHeatmap(maps, this.props.heatmap),\n });\n optionsHeatmap(this.heatmap, this.props.heatmap);\n }\n // End Heatmap\n\n // prevent to exapose full api\n // next props must be exposed (console.log(Object.keys(pick(maps, isPlainObject))))\n // \"Animation\", \"ControlPosition\", \"MapTypeControlStyle\", \"MapTypeId\",\n // \"NavigationControlStyle\", \"ScaleControlStyle\", \"StrokePosition\",\n // \"SymbolPath\", \"ZoomControlStyle\",\n // \"event\", \"DirectionsStatus\", \"DirectionsTravelMode\", \"DirectionsUnitSystem\",\n // \"DistanceMatrixStatus\",\n // \"DistanceMatrixElementStatus\", \"ElevationStatus\", \"GeocoderLocationType\",\n // \"GeocoderStatus\", \"KmlLayerStatus\",\n // \"MaxZoomStatus\", \"StreetViewStatus\", \"TransitMode\", \"TransitRoutePreference\",\n // \"TravelMode\", \"UnitSystem\"\n const mapPlainObjects = pick(maps, isPlainObject);\n const options =\n typeof this.props.options === 'function'\n ? this.props.options(mapPlainObjects)\n : this.props.options;\n const defaultOptions = defaultOptions_(mapPlainObjects);\n\n const draggableOptions = !isEmpty(this.props.draggable) && {\n draggable: this.props.draggable,\n };\n\n const minZoom = this._computeMinZoom(options.minZoom);\n this.minZoom_ = minZoom;\n\n const preMapOptions = {\n ...defaultOptions,\n minZoom,\n ...options,\n ...propsOptions,\n };\n\n this.defaultDraggableOption_ = !isEmpty(preMapOptions.draggable)\n ? preMapOptions.draggable\n : this.defaultDraggableOption_;\n\n const mapOptions = {\n ...preMapOptions,\n ...draggableOptions,\n };\n\n mapOptions.minZoom = _checkMinZoom(mapOptions.minZoom, minZoom);\n\n const map = new maps.Map(\n ReactDOM.findDOMNode(this.googleMapDom_),\n mapOptions\n );\n\n this.map_ = map;\n this.maps_ = maps;\n\n this._setLayers(this.props.layerTypes);\n\n // Parse `google.maps.version` to capture the major version number.\n const versionMatch = maps.version.match(/^3\\.(\\d+)\\./);\n // The major version is the first (and only) captured group.\n const mapsVersion = versionMatch && Number(versionMatch[1]);\n\n // render in overlay\n const this_ = this;\n const overlay = Object.assign(new maps.OverlayView(), {\n onAdd() {\n const K_MAX_WIDTH =\n typeof screen !== 'undefined' ? `${screen.width}px` : '2000px';\n const K_MAX_HEIGHT =\n typeof screen !== 'undefined' ? `${screen.height}px` : '2000px';\n\n const div = document.createElement('div');\n div.style.backgroundColor = 'transparent';\n div.style.position = 'absolute';\n div.style.left = '0px';\n div.style.top = '0px';\n div.style.width = K_MAX_WIDTH; // prevents some chrome draw defects\n div.style.height = K_MAX_HEIGHT;\n\n if (this_.props.overlayViewDivStyle) {\n const { overlayViewDivStyle } = this_.props;\n if (typeof overlayViewDivStyle === 'object') {\n Object.keys(overlayViewDivStyle).forEach((property) => {\n div.style[property] = overlayViewDivStyle[property];\n });\n }\n }\n\n const panes = this.getPanes();\n panes.overlayMouseTarget.appendChild(div);\n this_.geoService_.setMapCanvasProjection(\n maps,\n overlay.getProjection()\n );\n\n if (!IS_REACT_16) {\n createPortal(\n this_,\n this_._renderPortal(),\n div,\n // remove prerendered markers\n () => this_.setState({ overlay: div })\n );\n } else {\n this_.setState({ overlay: div });\n }\n },\n\n onRemove() {\n const renderedOverlay = this_.state.overlay;\n if (renderedOverlay && !IS_REACT_16) {\n ReactDOM.unmountComponentAtNode(renderedOverlay);\n }\n this_.setState({ overlay: null });\n },\n\n draw() {\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps, !this_.props.debounced);\n\n if (!this_.googleApiLoadedCalled_) {\n this_._onGoogleApiLoaded({ map, maps, ref: this_.googleMapDom_ });\n this_.googleApiLoadedCalled_ = true;\n }\n\n if (this_.mouse_) {\n const latLng = this_.geoService_.fromContainerPixelToLatLng(\n this_.mouse_\n );\n this_.mouse_.lat = latLng.lat;\n this_.mouse_.lng = latLng.lng;\n }\n\n this_._onChildMouseMove();\n\n if (this_.markersDispatcher_) {\n this_.markersDispatcher_.emit('kON_CHANGE');\n if (this_.fireMouseEventOnIdle_) {\n this_.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n }\n }\n },\n });\n\n this.overlay_ = overlay;\n\n overlay.setMap(map);\n if (this.props.heatmap.positions) {\n this.heatmap.setMap(map);\n }\n\n if (this.props.onTilesLoaded) {\n maps.event.addListener(map, 'tilesloaded', () => {\n this_._onTilesLoaded();\n });\n }\n\n maps.event.addListener(map, 'zoom_changed', () => {\n // recalc position at zoom start\n if (this_.geoService_.getZoom() !== map.getZoom()) {\n if (!this_.zoomAnimationInProgress_) {\n this_.zoomAnimationInProgress_ = true;\n this_._onZoomAnimationStart(map.zoom);\n }\n\n // If draw() is not called each frame during a zoom animation,\n // simulate it.\n if (mapsVersion < DRAW_CALLED_DURING_ANIMATION_VERSION) {\n const TIMEOUT_ZOOM = 300;\n\n if (\n new Date().getTime() - this.zoomControlClickTime_ <\n TIMEOUT_ZOOM\n ) {\n // there is strange Google Map Api behavior in chrome when zoom animation of map\n // is started only on second raf call, if was click on zoom control\n // or +- keys pressed, so i wait for two rafs before change state\n\n // this does not fully prevent animation jump\n // but reduce it's occurence probability\n raf(() =>\n raf(() => {\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps);\n })\n );\n } else {\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps);\n }\n }\n }\n });\n\n maps.event.addListener(map, 'idle', () => {\n if (this.resetSizeOnIdle_) {\n this._setViewSize();\n const currMinZoom = this._computeMinZoom(options.minZoom);\n\n if (currMinZoom !== this.minZoom_) {\n this.minZoom_ = currMinZoom;\n map.setOptions({ minZoom: currMinZoom });\n }\n\n this.resetSizeOnIdle_ = false;\n }\n\n if (this_.zoomAnimationInProgress_) {\n this_.zoomAnimationInProgress_ = false;\n this_._onZoomAnimationEnd(map.zoom);\n }\n\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps);\n\n this_.dragTime_ = 0;\n\n if (this_.markersDispatcher_) {\n this_.markersDispatcher_.emit('kON_CHANGE');\n }\n });\n\n maps.event.addListener(map, 'mouseover', () => {\n // has advantage over div MouseLeave\n this_.mouseInMap_ = true;\n });\n\n // an alternative way to know the mouse is back within the map\n // This would not fire when clicking/interacting with google maps\n // own on-map countrols+markers. This handles an edge case for touch devices\n // + 'draggable:false' custom option. See #332 for more details.\n maps.event.addListener(map, 'click', () => {\n this_.mouseInMap_ = true;\n });\n\n maps.event.addListener(map, 'mouseout', () => {\n // has advantage over div MouseLeave\n this_.mouseInMap_ = false;\n this_.mouse_ = null;\n this_.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n });\n\n maps.event.addListener(map, 'drag', () => {\n this_.dragTime_ = new Date().getTime();\n this_._onDrag(map);\n });\n\n maps.event.addListener(map, 'dragend', () => {\n // 'dragend' fires on mouse release.\n // 'idle' listener waits until drag inertia ends before firing `onDragEnd`\n const idleListener = maps.event.addListener(map, 'idle', () => {\n maps.event.removeListener(idleListener);\n this_._onDragEnd(map);\n });\n });\n // user choosing satellite vs roads, etc\n maps.event.addListener(map, 'maptypeid_changed', () => {\n this_._onMapTypeIdChange(map.getMapTypeId());\n });\n })\n .catch((e) => {\n // notify callback of load failure\n this._onGoogleApiLoaded({\n map: null,\n maps: null,\n ref: this.googleMapDom_,\n });\n console.error(e); // eslint-disable-line no-console\n throw e;\n });\n };\n\n _onGoogleApiLoaded = (...args) => {\n if (this.props.onGoogleApiLoaded) {\n if (\n process.env.NODE_ENV !== 'production' &&\n this.props.yesIWantToUseGoogleMapApiInternals !== true\n ) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line\n 'Usage of internal api objects is dangerous ' +\n 'and can cause a lot of issues.\\n' +\n 'To hide this warning add yesIWantToUseGoogleMapApiInternals={true} ' +\n 'to this.props.hoverDistance;\n\n _onDrag = (...args) => this.props.onDrag && this.props.onDrag(...args);\n\n _onDragEnd = (...args) =>\n this.props.onDragEnd && this.props.onDragEnd(...args);\n\n _onMapTypeIdChange = (...args) =>\n this.props.onMapTypeIdChange && this.props.onMapTypeIdChange(...args);\n\n _onZoomAnimationStart = (...args) =>\n this.props.onZoomAnimationStart && this.props.onZoomAnimationStart(...args);\n\n _onZoomAnimationEnd = (...args) =>\n this.props.onZoomAnimationEnd && this.props.onZoomAnimationEnd(...args);\n\n _onTilesLoaded = () => this.props.onTilesLoaded && this.props.onTilesLoaded();\n\n _onChildClick = (...args) => {\n if (this.props.onChildClick) {\n return this.props.onChildClick(...args);\n }\n return undefined;\n };\n\n _onChildMouseDown = (hoverKey, childProps) => {\n this.childMouseDownArgs_ = [hoverKey, childProps];\n if (this.props.onChildMouseDown) {\n this.props.onChildMouseDown(hoverKey, childProps, { ...this.mouse_ });\n }\n };\n\n // this method works only if this.props.onChildMouseDown was called\n _onChildMouseUp = () => {\n if (this.childMouseDownArgs_) {\n if (this.props.onChildMouseUp) {\n this.props.onChildMouseUp(...this.childMouseDownArgs_, {\n ...this.mouse_,\n });\n }\n this.childMouseDownArgs_ = null;\n this.childMouseUpTime_ = new Date().getTime();\n }\n };\n\n // this method works only if this.props.onChildMouseDown was called\n _onChildMouseMove = () => {\n if (this.childMouseDownArgs_) {\n if (this.props.onChildMouseMove) {\n this.props.onChildMouseMove(...this.childMouseDownArgs_, {\n ...this.mouse_,\n });\n }\n }\n };\n\n _onChildMouseEnter = (...args) => {\n if (this.props.onChildMouseEnter) {\n return this.props.onChildMouseEnter(...args);\n }\n return undefined;\n };\n\n _onChildMouseLeave = (...args) => {\n if (this.props.onChildMouseLeave) {\n return this.props.onChildMouseLeave(...args);\n }\n return undefined;\n };\n\n _setViewSize = () => {\n if (!this.mounted_) return;\n if (isFullScreen()) {\n this.geoService_.setViewSize(window.innerWidth, window.innerHeight);\n } else {\n const mapDom = ReactDOM.findDOMNode(this.googleMapDom_);\n this.geoService_.setViewSize(mapDom.clientWidth, mapDom.clientHeight);\n }\n this._onBoundsChanged();\n };\n\n _onWindowResize = () => {\n this.resetSizeOnIdle_ = true;\n };\n\n _onMapMouseMove = (e) => {\n if (!this.mouseInMap_) return;\n\n const currTime = new Date().getTime();\n const K_RECALC_CLIENT_RECT_MS = 50;\n\n if (currTime - this.mouseMoveTime_ > K_RECALC_CLIENT_RECT_MS) {\n this.boundingRect_ = e.currentTarget.getBoundingClientRect();\n }\n this.mouseMoveTime_ = currTime;\n\n const mousePosX = e.clientX - this.boundingRect_.left;\n const mousePosY = e.clientY - this.boundingRect_.top;\n\n if (!this.mouse_) {\n this.mouse_ = { x: 0, y: 0, lat: 0, lng: 0 };\n }\n\n this.mouse_.x = mousePosX;\n this.mouse_.y = mousePosY;\n\n const latLng = this.geoService_.fromContainerPixelToLatLng(this.mouse_);\n this.mouse_.lat = latLng.lat;\n this.mouse_.lng = latLng.lng;\n\n this._onChildMouseMove();\n\n if (currTime - this.dragTime_ < K_IDLE_TIMEOUT) {\n this.fireMouseEventOnIdle_ = true;\n } else {\n this.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n this.fireMouseEventOnIdle_ = false;\n }\n };\n\n // K_IDLE_CLICK_TIMEOUT - looks like 300 is enough\n _onClick = (...args) =>\n this.props.onClick &&\n !this.childMouseDownArgs_ &&\n new Date().getTime() - this.childMouseUpTime_ > K_IDLE_CLICK_TIMEOUT &&\n this.dragTime_ === 0 &&\n this.props.onClick(...args);\n\n _onMapClick = (event) => {\n if (this.markersDispatcher_) {\n // support touch events and recalculate mouse position on click\n this._onMapMouseMove(event);\n const currTime = new Date().getTime();\n if (currTime - this.dragTime_ > K_IDLE_TIMEOUT) {\n if (this.mouse_) {\n this._onClick({\n ...this.mouse_,\n event,\n });\n }\n\n this.markersDispatcher_.emit('kON_CLICK', event);\n }\n }\n };\n\n // gmap can't prevent map drag if mousedown event already occured\n // the only workaround I find is prevent mousedown native browser event\n _onMapMouseDownNative = (event) => {\n if (!this.mouseInMap_) return;\n\n this._onMapMouseDown(event);\n };\n\n _onMapMouseDown = (event) => {\n if (this.markersDispatcher_) {\n const currTime = new Date().getTime();\n if (currTime - this.dragTime_ > K_IDLE_TIMEOUT) {\n // Hovered marker detected at mouse move could be deleted at mouse down time\n // so it will be good to force hovered marker recalculation\n this._onMapMouseMove(event);\n this.markersDispatcher_.emit('kON_MDOWN', event);\n }\n }\n };\n\n _onMapMouseDownCapture = () => {\n if (detectBrowser().isChrome) {\n // to fix strange zoom in chrome\n this.zoomControlClickTime_ = new Date().getTime();\n }\n };\n\n _onKeyDownCapture = () => {\n if (detectBrowser().isChrome) {\n this.zoomControlClickTime_ = new Date().getTime();\n }\n };\n\n _isCenterDefined = (center) =>\n center &&\n ((isPlainObject(center) && isNumber(center.lat) && isNumber(center.lng)) ||\n (center.length === 2 && isNumber(center[0]) && isNumber(center[1])));\n\n _onBoundsChanged = (map, maps, callExtBoundsChange) => {\n if (map) {\n const gmC = map.getCenter();\n this.geoService_.setView([gmC.lat(), gmC.lng()], map.getZoom(), 0);\n }\n\n if (\n (this.props.onChange || this.props.onBoundsChange) &&\n this.geoService_.canProject()\n ) {\n const zoom = this.geoService_.getZoom();\n const bounds = this.geoService_.getBounds();\n const centerLatLng = this.geoService_.getCenter();\n\n if (!isArraysEqualEps(bounds, this.prevBounds_, kEPS)) {\n if (callExtBoundsChange !== false) {\n const marginBounds = this.geoService_.getBounds(this.props.margin);\n if (this.props.onBoundsChange) {\n this.props.onBoundsChange(\n this.centerIsObject_\n ? { ...centerLatLng }\n : [centerLatLng.lat, centerLatLng.lng],\n zoom,\n bounds,\n marginBounds\n );\n }\n\n if (this.props.onChange) {\n this.props.onChange({\n center: { ...centerLatLng },\n zoom,\n bounds: {\n nw: {\n lat: bounds[0],\n lng: bounds[1],\n },\n se: {\n lat: bounds[2],\n lng: bounds[3],\n },\n sw: {\n lat: bounds[4],\n lng: bounds[5],\n },\n ne: {\n lat: bounds[6],\n lng: bounds[7],\n },\n },\n marginBounds: {\n nw: {\n lat: marginBounds[0],\n lng: marginBounds[1],\n },\n se: {\n lat: marginBounds[2],\n lng: marginBounds[3],\n },\n sw: {\n lat: marginBounds[4],\n lng: marginBounds[5],\n },\n ne: {\n lat: marginBounds[6],\n lng: marginBounds[7],\n },\n },\n\n size: this.geoService_.hasSize()\n ? {\n width: this.geoService_.getWidth(),\n height: this.geoService_.getHeight(),\n }\n : {\n width: 0,\n height: 0,\n },\n });\n }\n\n this.prevBounds_ = bounds;\n }\n }\n }\n };\n\n _registerChild = (ref) => {\n this.googleMapDom_ = ref;\n };\n\n render() {\n const overlay = this.state.overlay;\n const mapMarkerPrerender = !overlay ? (\n \n ) : null;\n\n return (\n \n \n {IS_REACT_16 && overlay && createPortal(this._renderPortal(), overlay)}\n\n {/* render markers before map load done */}\n {mapMarkerPrerender}\n
\n );\n }\n}\n\nexport default GoogleMap;\n","export const generateHeatmap = (instance, { positions }) =>\n new instance.visualization.HeatmapLayer({\n data: positions.reduce((acc, { lat, lng, weight = 1 }) => {\n acc.push({\n location: new instance.LatLng(lat, lng),\n weight,\n });\n return acc;\n }, []),\n });\n\nexport const optionsHeatmap = (instance, { options = {} }) =>\n Object.keys(options).map((option) => instance.set(option, options[option]));\n","export default function isArraysEqualEps(arrayA, arrayB, eps) {\n if (arrayA && arrayB) {\n for (let i = 0; i !== arrayA.length; ++i) {\n if (Math.abs(arrayA[i] - arrayB[i]) > eps) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n","import {\n styled\n} from '@volkswagen-onehub/components-core';\nimport { keyframes } from 'styled-components';\nimport { MarkerDimensions } from 'src/feature-app/NewMap/MapGeneralController';\n\n\nconst beatKeyframe = keyframes`\n from {\n opacity: 1;\n transform: translate3d(50%, 50%, 0) scale(0);\n }\n to {\n opacity: 0;\n transform: translate3d(50%, 50%, 0) scale(1);\n }\n`;\n\nexport const Wrapper = styled.div<{ onTop?: boolean }>`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -100%, 0);\n z-index: ${(props) => (props.onTop ? '3' : '2')};\n &.geoloc {\n transform: translate3d(-50%, -50%, 0);\n z-index: 1;\n }\n .circle-beat {\n animation: ${beatKeyframe} 2s ease 0s infinite normal none running;\n }\n`;\n\nexport const TextWrapper = styled(Wrapper as any)`\n /* https://github.com/microsoft/TypeScript/issues/37597#issuecomment-628089901 */\n top: 68%;\n color: #ffffff;\n & div {\n color: #ffffff;\n }\n`;\n\nexport const Img = styled.img<{ markerDimensions: MarkerDimensions }>`\n width: ${(props) => `${props.markerDimensions.width}px`};\n height: ${(props) => `${props.markerDimensions.height}px`};\n &.dealer-marker {\n margin-bottom: 4px;\n }\n`;\n","import React from 'react';\nimport { Wrapper } from 'src/feature-app/NewMap/components/CommonStyledComponents';\n\nexport const CenterMarker = React.memo((props: { lat: number; lng: number }) => {\n return (\n \n \n \n \n \n \n );\n});\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { Points } from 'src/types';\nimport { Img, TextWrapper, Wrapper } from 'src/feature-app/NewMap/components/CommonStyledComponents';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\n\ninterface ClusterMarkerProps {\n lat: number;\n lng: number;\n pointCount: number;\n onClick: any;\n isHover: boolean;\n}\n\nexport const sameClusterId = (selectedPoint: Points, point: Points) => {\n if (selectedPoint?.properties?.parent_cluster_id && point.id) {\n return selectedPoint.properties.parent_cluster_id === point.id;\n }\n return false;\n};\n\nexport const ClusterMarker = React.memo(({ onClick, pointCount, isHover }: ClusterMarkerProps) => {\n const { markerDimensions } = useMapGeneralController();\n const [mouseEntered, setMouseEntered] = useState(false);\n\n return (\n {\n e.preventDefault();\n onClick();\n }}\n onMouseEnter={(e) => {\n e.preventDefault();\n setMouseEntered(true);\n }}\n onMouseLeave={(e) => {\n e.preventDefault();\n setMouseEntered(false);\n }}\n >\n \n \n {pointCount}\n \n \n );\n});\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { Points } from 'src/types';\nimport { Img, Wrapper } from 'src/feature-app/NewMap/components/CommonStyledComponents';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\n\nconst Dot = styled.div<{ greyCard: boolean }>`\n height: 4px;\n width: 4px;\n background-color: ${(props) => (props.greyCard ? '#6A767D' : '#0040c5')};\n border-radius: 100%;\n display: inline;\n position: absolute;\n bottom: 0;\n left: 44%;\n`;\n\ninterface DealerMarkerProps {\n onClick: (event: React.MouseEvent) => void;\n lat: number;\n lng: number;\n isGrey: boolean;\n isActive: boolean;\n isHover: boolean;\n isFavouriteDealer: boolean;\n}\n\nexport const isDealerGrey = (carPickupSelected: boolean, replacementCarSelected: boolean, point: Points) =>\n pickupSelectedAndDealerHasIt(carPickupSelected, point) ||\n replacementCarSelectedAndDealerHasIt(replacementCarSelected, point);\n\nexport const isDealerActive = (selectedPoint: Points, point: Points) =>\n selectedPoint?.properties?.dealer?.kvps === point?.properties?.dealer?.kvps;\n\nexport const isDealerFavourite = (favouriteDealer: Points, point: Points) =>\nfavouriteDealer?.properties?.dealer?.kvps === point?.properties?.dealer?.kvps;\n\nexport const isDealerHovered = (hoverPoint: Points, point: Points) =>\nhoverPoint?.properties?.dealer?.kvps === point?.properties?.dealer?.kvps;\n\nconst pickupSelectedAndDealerHasIt = (carPickupSelected: boolean, point: Points) =>\n carPickupSelected && !point?.properties?.dealer?.dmsInfo?.pickupCarServiceAvailabe;\nconst replacementCarSelectedAndDealerHasIt = (replacementCarSelected: boolean, point: Points) =>\n replacementCarSelected && !point?.properties?.dealer?.dmsInfo?.replacementCarServiceAvailable;\n\nexport const DealerMarker = React.memo(\n ({\n onClick,\n isGrey,\n isActive,\n isHover,\n isFavouriteDealer\n }: DealerMarkerProps) => {\n const markerDimensions = useMapGeneralController().markerDimensions;\n const [mouseEntered, setMouseEntered] = useState(false);\n\n return (\n {\n e.preventDefault();\n setMouseEntered(true);\n }}\n onMouseLeave={(e) => {\n e.preventDefault();\n setMouseEntered(false);\n }}\n onTop={isActive || isHover ||mouseEntered ? true : false}\n >\n \n {isActive ? : null}\n \n );\n }\n);\n","import { Breakpoints, BreakpointWrapper, CTA, styled, ThemeProvider } from '@volkswagen-onehub/components-core';\nimport GoogleMapReact from 'google-map-react';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { getGoogleApiKey } from 'src/bff';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { Add, ContactDealer, Locate, Reload, Remove } from 'src/icons-core-imports';\nimport { OneFormState, Points, SelectedTab } from 'src/types';\nimport { mapStyles } from 'src/feature-app/NewMap';\nimport { CenterMarker } from 'src/feature-app/NewMap/components/CenterMarker';\nimport { ClusterMarker, sameClusterId } from 'src/feature-app/NewMap/components/ClusterMarker';\nimport { DealerMarker, isDealerGrey, isDealerActive, isDealerFavourite, isDealerHovered } from 'src/feature-app/NewMap/components/DealerMarker';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\n\nconst RecalcularWrapper = styled.div<{ isPosventa?: boolean }>`\n position: fixed;\n top: ${(props) => (props.isPosventa ? '96px' : '68px')};\n transform: translateX(-50%);\n left: 50%;\n background-color: #ffffff;\n border-radius: 500px;\n width: fit-content;\n @media all and (min-width: 960px) {\n top: 24px;\n transform: translateX(0);\n left: unset;\n right: 183px;\n }\n`;\n\nconst GoogleMaps = styled.div`\n & .gm-control-active[aria-label='Ampliar'] {\n display: none !important;\n }\n\n & .gm-control-active[aria-label='Reducir'] {\n display: none !important;\n }\n\n & .gmnoprint {\n display: none;\n }\n`;\n\ninterface MapHeightWrapperProps {\n isTrigger?: boolean;\n isWidget?: boolean;\n}\n\nconst MapHeigthWrapper = styled.div`\n width: 100%;\n height: ${(props) => (props.isWidget ? '85vh' : props.isTrigger ? 'var(--size-grid020)' : '100vh')};\n\n @media all and (min-width: 560px) {\n height: ${(props) => (props.isWidget ? '82vh' : props.isTrigger ? 'var(--size-grid010)' : '100vh')};\n }\n\n @media all and (min-width: 768px) {\n height: ${(props) => (props.isWidget ? '85vh' : props.isTrigger ? 'var(--size-grid010)' : '100vh')};\n }\n @media all and (min-width: 960px) {\n height: ${(props) => (props.isWidget ? '60vh' : props.isTrigger ? '636px' : '100vh')};\n }\n @media all and (min-width: 1600px) {\n height: ${(props) => (props.isWidget ? '70vh' : props.isTrigger ? '684px' : '100vh')};\n }\n`;\n\ninterface newMapProps {\n searchIsDealer?: boolean;\n setTranslateCarousel?: any;\n translateCarousel?: boolean;\n preSelectedOrderValue?: SelectedTab;\n isTrigger?: boolean;\n preselectedDealerForm?: boolean;\n replacementCarSelected?: boolean;\n carPickupSelected?: boolean;\n isPosventa?: boolean;\n isWidget?: boolean;\n}\n\nexport const NewMap = React.memo((props: newMapProps) => {\n const {\n centerRef,\n clusters,\n handleApiLoaded,\n geoLocatedCenterRef,\n getNewClusters,\n handlePointClickAndCarouselMove,\n selectedPoint,\n handleClusterClick,\n mapMaxZoom,\n searchMoreDealers,\n handleMapMovement,\n setSearchIsDealer,\n hoverPoint,\n handleHoverPoint,\n userIsGeoLocated,\n mapHasMoved,\n } = useMapGeneralController();\n const { dealersInfo, formInfo } = useSelector((state: OneFormState) => state);\n const { dealersOrInstallationsMode, favouriteDealer } = dealersInfo;\n const { suggestionIsAddress } = formInfo;\n const {\n searchIsDealer,\n setTranslateCarousel,\n preSelectedOrderValue,\n isTrigger,\n carPickupSelected,\n replacementCarSelected,\n isPosventa,\n isWidget,\n } = props;\n const trackingManager = useTrackingManager();\n\n const [gelocalizationActive, setGelocalizationActive] = useState(false);\n\n useEffect(() => {\n if (userIsGeoLocated) {\n setGelocalizationActive(true);\n } else {\n setGelocalizationActive(false);\n }\n }, [userIsGeoLocated]);\n\n return (\n // Important! Always set the container height explicitly\n \n \n {\n handleApiLoaded(map, maps);\n }}\n defaultCenter={{\n lat: 40.58869349456487,\n lng: -3.0047240000000075,\n }}\n yesIWantToUseGoogleMapApiInternals\n onDrag={() => {\n handleMapMovement();\n }}\n defaultZoom={5}\n options={{\n styles: mapStyles,\n clickableIcons: false,\n streetViewControl: false,\n fullscreenControl: false,\n mapTypeControl: false,\n maxZoom: mapMaxZoom,\n }}\n >\n {clusters\n ? clusters.map((point: Points) => {\n if (point.geometry) {\n const [longitude, latitude] = point.geometry.coordinates;\n return point.properties.cluster ? (\n {\n handleClusterClick(point);\n }}\n pointCount={point.properties.point_count}\n />\n ) : (\n {\n e.preventDefault();\n if (!searchIsDealer) {\n handlePointClickAndCarouselMove(point, true, preSelectedOrderValue);\n }\n }}\n />\n );\n }\n return null;\n })\n : null}\n {(geoLocatedCenterRef.current && gelocalizationActive) || (suggestionIsAddress && centerRef.current) ? (\n \n ) : null}\n \n {isTrigger ? (\n \n \n \n ) : (\n <>\n \n \n \n {clusters && mapHasMoved && !isWidget ? (\n searchIsDealer ? (\n \n \n {\n e.preventDefault();\n setSearchIsDealer(false);\n\n trackingManager.trackFormButtonClick({\n contentId:\n dealersOrInstallationsMode === 'dealers'\n ? 'Ver más talleres cerca'\n : 'Ver más puntos de venta cerca',\n });\n searchMoreDealers();\n if (setTranslateCarousel) {\n setTranslateCarousel(false);\n }\n e.stopPropagation();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n {dealersOrInstallationsMode === 'dealers'\n ? 'Ver más talleres cerca'\n : 'Ver más puntos de venta cerca'}\n \n \n \n ) : (\n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'Buscar en esta zona',\n });\n getNewClusters();\n {\n /*if (setTranslateCarousel) {\n setTranslateCarousel(false);\n }*/\n }\n e.stopPropagation();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n Buscar en esta zona\n \n \n \n )\n ) : null}\n \n )}\n \n \n );\n});\n\n/* MAP CONTROLLLERS (!el botón de geolocaclización en versión mobile está en la propia vista.\n Estos controladores actualmente solo están visibles a partir de 960px)\n*/\nconst ControllerBackground = styled.div`\n border-radius: 100%;\n background-color: #ffffff;\n height: 44px;\n width: 44px;\n`;\n\ninterface ControllersWrapperProps {\n isTrigger?: boolean;\n}\n\nconst ControllersWrapper = styled.div`\n position: ${(props) => (props.isTrigger ? 'absolute' : 'absolute')};\n bottom: ${(props) => (props.isTrigger ? '24px' : '240px')};\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid002) + 24px)' : '20px')};\n\n @media all and (min-width: 960px) {\n bottom: 24px;\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid002) + 24px)' : '24px')};\n }\n @media all and (min-width: 1920px) {\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid003) + 24px)' : '24px')};\n }\n @media all and (min-width: 2560px) {\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid004) + 24px)' : '24px')};\n }\n`;\n\nconst ZoomWrapper = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: 14px;\n\n & div {\n margin: 6px 0px;\n }\n`;\n\nconst IconLess = 'https://cdn.volkswagen.es/repository/app/vw-oneform/assets/icons/ic_less.svg';\nconst IconMore = 'https://cdn.volkswagen.es/repository/app/vw-oneform/assets/icons/ic_more.svg';\n\nconst Controllers = (props: { gelocalizationActive: boolean; suggestionIsAddress: boolean; isTrigger?: boolean }) => {\n const { handleChangeInMapZoom, centerInGeoLocatedCenter, centerRef, centerMap } = useMapGeneralController();\n\n const { gelocalizationActive, isTrigger, suggestionIsAddress } = props;\n\n return (\n \n \n {gelocalizationActive || (suggestionIsAddress && centerRef.current) ? (\n \n {\n e.preventDefault();\n if (suggestionIsAddress && centerRef.current) {\n centerMap(centerRef.current);\n } else {\n centerInGeoLocatedCenter();\n }\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n ) : null}\n \n \n {\n e.preventDefault();\n handleChangeInMapZoom(true);\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n \n {\n e.preventDefault();\n handleChangeInMapZoom(false);\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n \n \n \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { ReactElement, useEffect, useRef } from 'react';\nimport Slider from 'react-slick';\nimport { NewDealerCard } from 'src/feature-app';\nimport { Points } from 'src/types';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\nimport { getDistanceFromLatLngCenter } from 'src/feature-app/NewMap/utils';\n\nconst CSSDiv = styled.div`\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n`;\n\nconst BackgroundCard = styled.div`\n background-color: #001e50;\n margin: 0 4px;\n`;\n\ninterface CarouselCardsProps {\n handleShowCalendarOnClick?: any;\n handleSeleccionarOnClick: any;\n handleShowSlots?: (point: Points) => string | null;\n pointsToList: Points[];\n isCitaPosventa?: boolean;\n replacementCarSelected?: boolean;\n carPickupSelected?: boolean;\n}\n\nexport const Carousel = (props: CarouselCardsProps) => {\n const {\n clusters,\n handlePointClickAndCarouselMove,\n centerToCalculateDistance,\n handleSelectedPoint,\n handleClusterClick,\n selectedPoint,\n } = useMapGeneralController();\n const { \n handleSeleccionarOnClick, \n handleShowCalendarOnClick, \n handleShowSlots, \n pointsToList, \n isCitaPosventa,\n carPickupSelected,\n replacementCarSelected \n } = props;\n const sliderRef = useRef(null);\n const childrenRef = useRef(null);\n\n useEffect(() => {\n if (pointsToList.length) {\n const firstPoint = selectedPoint ? selectedPoint : pointsToList[0];\n // handleCarouselMovement(firstPoint);\n handleSelectedPoint(firstPoint);\n // handleSelectedCard(firstPoint);\n }\n }, [pointsToList]);\n\n useEffect(() => {\n // Movimiento del carousel en caso de que se haga click en un Dealer Marker.\n if (selectedPoint) {\n // handleSelectedCard(selectedPoint);\n handleCarouselMovement(selectedPoint);\n }\n }, [selectedPoint, pointsToList]);\n\n const handleSelectedCard = (point: Points) => {\n if (!point.properties.cluster) {\n const { kvps } = point.properties.dealer;\n\n const index = pointsToList.findIndex((dealer) => {\n if (dealer.properties.dealer.kvps === kvps) {\n return true;\n }\n });\n sliderRef.current.slickGoTo(index);\n }\n };\n\n const handleCarouselMovement = (point: Points) => {\n if (point.properties.parent_cluster_id) {\n const parentCluster = clusters.find(\n (cluster) => cluster.properties.cluster && cluster.id === point.properties.parent_cluster_id\n );\n if (parentCluster) {\n // En caso de que el dealer esté dentro de un cluster dentro de otro fijamos el valor de isCluster como true para que llegue hasta el final\n // y no rompa únicamente el primer cluster.\n // handleClusterClick(point, true);\n handleSelectedPoint(point);\n } else {\n handlePointClickAndCarouselMove(point, false);\n handleSelectedCard(point);\n }\n } else {\n handlePointClickAndCarouselMove(point, false);\n handleSelectedCard(point);\n }\n };\n\n const settings = {\n className: 'center',\n infinite: false,\n centerMode: true,\n centerPadding: '60px',\n slidesToShow: 1,\n swipe: true,\n speed: 500,\n arrows: false,\n beforeChange: (current: number, next: number) => {\n const point: Points = pointsToList.find((point) => {\n if (!point.properties.cluster) {\n if (point.properties.dealer.kvps === childrenRef.current[next].key) {\n return point;\n }\n }\n });\n\n handleCarouselMovement(point);\n },\n };\n return (\n \n {\n sliderRef.current = el;\n if (el && el.props && el.props.children) {\n childrenRef.current = el.props.children.filter((c:any) => c !== null);\n }\n }}\n >\n {pointsToList\n ? pointsToList.map((point: Points, i) => {\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return !point.properties.cluster ? (\n
\n {/* este div es necesario para el funcionamiento de la libreria */}\n \n \n \n
\n ) : null;\n })\n : null}\n
\n \n );\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n CTA,\n Layout,\n styled,\n Text,\n TextAlignment,\n ThemeProvider,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { Suggest, useFeatureAppConfig, useMapGeneralController } from 'src/feature-app';\nimport { Horario, Installation, isDealerData, OneFormState, SelectedTab } from 'src/types';\nimport { isGooglePlace, updateMapVariables, Suggestion } from 'src/feature-app/NewMap';\nimport {\n useTrackingManager,\n useLocateUser,\n useShowOverflow,\n useFeatureAppEnvironment,\n useFeatureServices,\n} from 'src/feature-app/hooks';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { renderAvisoIslasCanariasLayer } from 'src/components';\nimport { getGeocode } from 'src/feature-app/NewMap/utils';\nimport { GooglePlace } from 'src/feature-app/NewMap/components/suggest';\n\nconst FiltrosWrapper = styled.div<{ onlySuggest?: boolean; showOverflow?: boolean }>`\n min-height: 100vh;\n position: relative;\n padding-bottom: 117px;\n padding-top: 56px;\n overflow: ${(props) => (props.showOverflow ? 'visible' : 'auto')};\n .filtros {\n &__header {\n text-align: center;\n }\n &__body {\n flex-grow: 1;\n padding-bottom: ${(props) => (props.onlySuggest ? '4px' : null)};\n }\n &__controls {\n position: fixed;\n bottom: 0;\n width: 100%;\n padding: 14px 0;\n background: #ffffff;\n border-top: 1px solid #dfe4e8;\n }\n }\n`;\n\nconst MultipleCTAWrapper = styled.div`\n text-align: left;\n & > button {\n margin: 24px 24px 0 0;\n }\n`;\n\nconst Divider = styled.div`\n background-color: #dfe4e8;\n width: 100vw;\n height: 1px;\n margin-bottom: 14px;\n\n @media all and (min-width: 960px) {\n display: none;\n margin-bottom: 0;\n }\n`;\n\n//revisar width aButtonsWrapper a partir de 960 en navegadores/dispositivos con barra de scroll.\n//Está puesto con valor fijo porqué por algun motivo no pilla bien el 100%\n\nconst ActionButtonsWrapper = styled.div`\n display: flex;\n justify-content: flex-end;\n @media all and (min-width: 960px) {\n width: 400px;\n }\n button {\n div {\n font-size: 14px;\n }\n &:first-of-type {\n margin-right: 32px;\n }\n }\n`;\n\ninterface FiltrosProps {\n closeFiltros: any;\n showFiltros: boolean;\n setShowFiltros: React.Dispatch>;\n setPreSelectedOrderValue?: React.Dispatch>;\n preSelectedOrderValue?: SelectedTab;\n onlySuggest?: boolean;\n concesionario?: boolean;\n citaPosventa?: boolean;\n}\n\nexport const Filtros = (props: FiltrosProps) => {\n return (\n {}}>\n \n \n );\n};\n\nexport interface SelectedSuggestion {\n name: string;\n suggestion: Suggestion;\n}\n\nconst getSelectedSuggestion = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return { name: suggestion.name, suggestion };\n } else {\n if (!isDealerData(suggestion)) {\n return {\n name: `${(suggestion as Installation).TXT_V_Installation_Data_Name__c}, ${\n (suggestion as Installation).TXT_V_Address__c\n }`,\n suggestion,\n };\n } else {\n return {\n name: `${suggestion.name}, ${suggestion.markerInfo.dealerInfo.address}`,\n suggestion,\n };\n }\n }\n};\n\nexport const FiltrosComponent = (props: FiltrosProps) => {\n const {\n closeFiltros,\n showFiltros,\n setShowFiltros,\n setPreSelectedOrderValue,\n preSelectedOrderValue,\n onlySuggest,\n concesionario,\n citaPosventa,\n } = props;\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n\n //Si se necesita que el overflow sea visible. Selectsno nativos, suggests, etc. Añadir en la definicion del step showOverflow.\n\n const { showOverflow } = useShowOverflow(false);\n\n const [aplicarDisabled, setAplicarDisabled] = useState(true);\n const [tabsOrder, setTabsOrder] = useState('horario');\n const [currentHorario, setCurrentHorario] = useState<{ label: string; value: string }>({\n label: 'Lo antes posible',\n value: 'before',\n });\n // guardar suggestion seleccionada previo a hacer submit\n // sirve para activar o desactivar el setAplicarDisabled\n const [selectedSuggestion, setSelectedSuggestion] = useState(null);\n const { register } = useFormContext();\n const trackingManager = useTrackingManager();\n const filtrosRef = useRef(null);\n\n const { userSuggestion: userSuggest, suggestionIsInCanaryIslands } = formInfo;\n\n const CTAsHorario = [\n { label: 'Lo antes posible', value: 'before' },\n { label: 'Por la mañana', value: 'morning' },\n { label: 'Al mediodía', value: 'afternon' },\n { label: 'Por la tarde', value: 'evening' },\n ];\n\n const CTAsOrden: { value: SelectedTab; label: string }[] = [\n { value: 'ubicacion', label: 'Ubicación' },\n { value: 'horario', label: 'Horario' },\n ];\n\n const {\n value,\n setValue,\n icon,\n locationSuccess,\n setLocationSuccess,\n loading,\n locationDisabled,\n isLocating,\n handleLocateFilters,\n } = useLocateUser();\n const dispatch = useDispatch();\n\n const { moreDealersSearched, setMoreDealersSearched } = useMapGeneralController();\n const { trigger } = useFeatureAppConfig();\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const layerManager = useFeatureServices()['layer-manager'];\n\n const validateSubmission = () => {\n const { suggestionIsInCanaryIslands } = store.getState().formInfo;\n\n if (suggestionIsInCanaryIslands) {\n renderAvisoIslasCanariasLayer(store, env, layerManager);\n return;\n }\n\n if (preSelectedOrderValue && setPreSelectedOrderValue && tabsOrder !== preSelectedOrderValue) {\n setPreSelectedOrderValue(tabsOrder);\n }\n setShowFiltros(false);\n };\n\n const handleFiltrosSubmit = (selectedSuggestionFromClick?: SelectedSuggestion) => {\n if (selectedSuggestion && !selectedSuggestionFromClick) {\n // if (isGooglePlace(selectedSuggestion.suggestion) && selectedSuggestion.suggestion.isGeoLocated) {\n // // Parche para que se actualize la ubicación a la geolocalización. El bug viene de que en use-locate-user.tsx\n // // se detecta el cambio de suggestion en un useeffect y eso dispara la función updateMapVariables, pero en el caso de\n // // la geolocalización, ésta función se dispara automáticamente al clickar sobre el cta. Si queremos esperar a que los cambios\n // // se hagan efectivos al clickar \"Aplicar filtros\" hay que llamarla desde aquí.\n\n updateMapVariables(dispatch, selectedSuggestion.suggestion).then(() => {\n validateSubmission();\n });\n }\n // Pasamos este valor al seleccionar en la lista desplegable un valor.\n if (selectedSuggestionFromClick) {\n updateMapVariables(dispatch, selectedSuggestionFromClick.suggestion).then(() => {\n validateSubmission();\n });\n }\n };\n\n useEffect(() => {\n if (!moreDealersSearched) {\n if (userSuggest && showFiltros) {\n if (!isGooglePlace(userSuggest) && isDealerData(userSuggest)) {\n setValue(`${userSuggest?.name}, ${userSuggest?.markerInfo?.dealerInfo?.address}`);\n } else if (!isGooglePlace(userSuggest) && !isDealerData(userSuggest)) {\n setValue(\n `${(userSuggest as Installation)?.TXT_V_Installation_Data_Name__c}, ${\n (userSuggest as Installation)?.TXT_V_Address__c\n }`\n );\n } else {\n setValue(userSuggest?.name);\n }\n }\n } else {\n setValue('');\n }\n if (showFiltros) setAplicarDisabled(true);\n }, [showFiltros]);\n\n useEffect(() => {\n if (value && !aplicarDisabled) {\n if (value !== selectedSuggestion.name) {\n setAplicarDisabled(true);\n }\n }\n }, [value]);\n\n useEffect(() => {\n const val = CTAsHorario.find((el: any) => formData.fields.horario === el.value);\n setCurrentHorario(val);\n }, [formData]);\n\n useEffect(() => {\n if (preSelectedOrderValue) {\n setTabsOrder(preSelectedOrderValue);\n }\n }, [preSelectedOrderValue]);\n\n useEffect(() => {\n if (moreDealersSearched && locationSuccess) setLocationSuccess(false);\n }, [moreDealersSearched]);\n\n useEffect(() => {\n // Necesario para que cada vez que se selecciona un resultado de google en filtros se compruebe si\n // pertenece a las islas canarias y dispare el popup antes de que se apliquen los filtros.\n const checkGeocode = async () => {\n const geometry = await getGeocode(selectedSuggestion);\n };\n if (selectedSuggestion?.suggestion?.isGooglePlace) {\n checkGeocode();\n }\n }, [selectedSuggestion]);\n\n useEffect(() => {\n if (!moreDealersSearched) {\n // cuando se monta la componente, si está geolocalizado forzar el locationSuccess a\n // true porque el boton el hook se resetea al montar de nuevo la componente\n // también porque en mobile la componente Filtros se renderiza cada vez que se abre\n if (!userSuggest) {\n return;\n }\n if ((userSuggest as GooglePlace)?.isGeoLocated) {\n setLocationSuccess(true);\n }\n if (!isGooglePlace(userSuggest) && isDealerData(userSuggest)) {\n setValue(`${userSuggest.name}, ${userSuggest.markerInfo.dealerInfo.address}`);\n } else if (!isGooglePlace(userSuggest) && !isDealerData(userSuggest)) {\n setValue(\n `${(userSuggest as Installation).TXT_V_Installation_Data_Name__c}, ${\n (userSuggest as Installation).TXT_V_Address__c\n }`\n );\n } else {\n setValue(userSuggest.name);\n }\n }\n }, []);\n\n const onSuggestionSelectedFn = (suggestion: Suggestion) => {\n const selectedSuggestion = getSelectedSuggestion(suggestion);\n setSelectedSuggestion(selectedSuggestion);\n setLocationSuccess(false);\n setAplicarDisabled(false);\n if (moreDealersSearched) setMoreDealersSearched(false);\n // Cierra la parte de filtros\n handleFiltrosSubmit(selectedSuggestion);\n };\n\n return (\n \n \n \n {citaPosventa ? null : (\n
\n \n Filtros\n \n
\n )}\n\n {!onlySuggest ? (\n
\n \n \n {citaPosventa ? (\n <>Buscar de nuevo\n ) : (\n <>Busca tu {!concesionario ? taller : punto de venta}\n )}\n \n
\n \n
\n \n {\n e.preventDefault();\n if (!locationSuccess) {\n const { suggestion } = await handleLocateFilters();\n setSelectedSuggestion({ name: suggestion.name, suggestion });\n setAplicarDisabled(false);\n setMoreDealersSearched(false);\n }\n }}\n disabled={loading ? true : false}\n size=\"small\"\n >\n Localiza mi posición actual\n \n {locationDisabled ? (\n
\n \n Tu localización está deshabilitada\n \n
\n ) : null}\n \n {/* */}\n \n {/* */}\n
\n ) : (\n
\n \n \n {citaPosventa ? (\n <>Buscar de nuevo\n ) : (\n <>Busca tu {!concesionario ? taller : punto de venta}\n )}\n \n
\n \n
\n \n {\n e.preventDefault();\n if (!locationSuccess) {\n const { suggestion } = await handleLocateFilters();\n setSelectedSuggestion({ name: suggestion.name, suggestion });\n setAplicarDisabled(false);\n setMoreDealersSearched(false);\n }\n }}\n disabled={loading ? true : false}\n size=\"small\"\n >\n Localiza mi posición actual\n \n {locationDisabled ? (\n
\n \n Tu localización está deshabilitada\n \n
\n ) : null}\n \n \n
\n )}\n \n
\n \n \n {\n closeFiltros();\n trackingManager.trackFormButtonClick({\n contentId: 'Cancelar',\n });\n }}\n ariaLabel=\"aria label\"\n >\n Cancelar\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'Aplicar filtros',\n });\n setTimeout(() => {\n handleFiltrosSubmit();\n }, 1000);\n }}\n ariaLabel=\"aria label\"\n disabled={aplicarDisabled}\n >\n {citaPosventa ? <>Buscar : <>Aplicar filtros}\n \n \n \n
\n \n
\n );\n};\n\ninterface SortByProps {\n setTabsOrder: React.Dispatch>;\n setAplicarDisabled: React.Dispatch>;\n preSelectedOrderValue: SelectedTab;\n CTAsOrden: {\n value: SelectedTab;\n label: string;\n }[];\n tabsOrder: SelectedTab;\n}\n\nconst SortBy = (props: SortByProps) => {\n const { setTabsOrder, setAplicarDisabled, preSelectedOrderValue, tabsOrder, CTAsOrden } = props;\n const trackingManager = useTrackingManager();\n\n return (\n <>\n \n Ordenar por\n \n \n {CTAsOrden.map((el) => {\n return (\n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: el.label,\n });\n setTabsOrder(el.value);\n if (preSelectedOrderValue !== el.value) {\n setAplicarDisabled(false);\n }\n }}\n size=\"small\"\n key={el.value}\n >\n {el.label}\n \n );\n })}\n \n \n );\n};\n\ninterface ChangeHorarioProps {\n setCurrentHorario: React.Dispatch>;\n setAplicarDisabled: React.Dispatch>;\n CTAsHorario: {\n label: string;\n value: string;\n }[];\n currentHorario: { label: string; value: string };\n horario: Horario;\n}\n\nconst ChangeHorario = (props: ChangeHorarioProps) => {\n const { setCurrentHorario, setAplicarDisabled, CTAsHorario, currentHorario, horario } = props;\n const trackingManager = useTrackingManager();\n\n return (\n \n \n Selecciona una franja horaria\n \n \n {CTAsHorario.map((cta: { label: string; value: string }) => {\n return (\n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: cta.label,\n });\n if (cta.label !== currentHorario.label) {\n setCurrentHorario(cta);\n }\n if (cta.value !== horario) {\n setAplicarDisabled(false);\n }\n }}\n size=\"small\"\n key={cta.value}\n >\n {cta.label}\n \n );\n })}\n \n \n );\n};\n","import { Text, ThemeProvider, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { Close, ContactDealer, Magnifier, Route } from 'src/icons-core-imports';\nimport { MagnifierLabel, CloseButton, SuggestionWrapper, StyledWrapper } from '.';\nimport React, { useEffect, useRef, useState } from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { DealersData } from 'src/types';\nimport { useAddressPredictions } from 'src/feature-app';\nimport { DealersOrInstallationsMode, Geometry, Installation, isDealerData, OneFormState } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { isGooglePlace } from 'src/feature-app/NewMap/utils';\nimport { useDropdowPosition, useTrackingManager } from 'src/feature-app/hooks';\n\nexport interface GooglePlace {\n isGooglePlace: boolean;\n name: string;\n isGeoLocated: boolean;\n skipSearch?: boolean;\n moreDealersSearched?: boolean;\n geometry?: Geometry;\n}\n\nexport type Suggestion = DealersData | GooglePlace | Installation;\n\n// https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions#Using_Special_Characters\nconst escapeRegexCharacters = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\n\nconst getSuggestions = (\n list: DealersData[] | Installation[],\n value: string,\n dealersOrInstallationsMode: DealersOrInstallationsMode\n) => {\n if (value.length < 2) return [];\n const escapedValue = escapeRegexCharacters(value.trim());\n\n if (escapedValue === '') {\n return [];\n }\n const regex = new RegExp(escapedValue, 'i');\n\n if (dealersOrInstallationsMode === 'dealers') {\n return list.filter((dealer: DealersData) => regex.test(dealer.markerInfo.dealerInfo.name));\n } else {\n return list.filter((installation: Installation) => regex.test(installation.VGED_CommercialName__c));\n }\n};\n\nconst getSuggestionValue = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return suggestion.name;\n } else {\n if (isDealerData(suggestion)) {\n return suggestion.markerInfo.dealerInfo.name;\n } else {\n return (suggestion as Installation).VGED_CommercialName__c;\n }\n }\n};\n\nconst renderSuggestion = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return (\n \n \n \n {suggestion.name}\n \n \n );\n } else {\n let name;\n let address;\n let zipCode;\n let city;\n let province;\n if (isDealerData(suggestion)) {\n name = suggestion.markerInfo.dealerInfo.name;\n address = suggestion.markerInfo.dealerInfo.address;\n zipCode = suggestion.markerInfo.dealerInfo.zipCode;\n city = suggestion.markerInfo.dealerInfo.city;\n province = suggestion.markerInfo.dealerInfo.province;\n } else {\n name = (suggestion as Installation).VGED_CommercialName__c;\n address = (suggestion as Installation).ShippingStreet;\n zipCode = (suggestion as Installation).ShippingPostalCode;\n city = (suggestion as Installation).ShippingCity;\n province = (suggestion as Installation).Province;\n }\n return (\n \n \n \n
\n \n {name}\n \n \n {address}\n
\n {zipCode} {city}, {province}\n
\n
\n
\n );\n }\n};\n\nconst getValueFormatted = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return suggestion.name;\n }\n if (!isGooglePlace(suggestion) && isDealerData(suggestion)) {\n return `${suggestion.name}, ${suggestion.markerInfo.dealerInfo.address}`;\n } else if (!isGooglePlace(suggestion) && !isDealerData(suggestion)) {\n return `${(suggestion as Installation).VGED_CommercialName__c}, ${\n (suggestion as Installation).ShippingStreet\n }`;\n } else {\n return '';\n }\n};\n\ninterface SuggestProps {\n setSuggestion?: React.Dispatch>;\n setValue: React.Dispatch>;\n setAplicarDisabled?: React.Dispatch>;\n value: string;\n isFiltrosSuggest?: boolean;\n isLocating?: boolean;\n moreDealersSearched?: boolean;\n setLocationSuccess?: React.Dispatch>;\n formTheme?: string;\n onSuggestionSelectedFn?: (suggestion: Suggestion) => void;\n autoWidth?: boolean;\n}\n\nexport function Suggest(props: SuggestProps) {\n const {\n setSuggestion,\n setValue,\n value,\n isFiltrosSuggest,\n setAplicarDisabled,\n isLocating,\n moreDealersSearched,\n setLocationSuccess,\n formTheme,\n onSuggestionSelectedFn,\n autoWidth\n } = props;\n const [suggestions, setSuggestions] = useState([]);\n const [selectedValue, setSelectedValue] = useState(false); // Controla que una vez seleccionado un valor en el input, no siga buscando en google maps.\n const predictions = useAddressPredictions(value, selectedValue);\n const [inputPlaceholder, setInputPlaceHolder] = useState('Localidad, código postal o nombre del taller');\n const trackingManager = useTrackingManager();\n const suggestRef = useRef(null);\n const inputRef = useRef(null);\n\n const { formInfo, dealersInfo } = useSelector((state: OneFormState) => state);\n const { dealers, installations, dealersOrInstallationsMode } = dealersInfo;\n\n const [inputFocus, setInputFocus] = useState(false);\n const dispatch = useDispatch();\n const { setDisableIntroNextStep, setError, handleNextStep } = useOneFormContext();\n\n useEffect(() => {\n if (isFiltrosSuggest) {\n setDisableIntroNextStep(true);\n // inputRef.current.input.addEventListener('keydown', handleIntroKeyDown)\n }\n return () => {\n if (isFiltrosSuggest) {\n setDisableIntroNextStep(false);\n // inputRef.current.input.removeEventListener('keydown', handleIntroKeyDown)\n }\n };\n }, []);\n\n const onChange = (e: any, { newValue }: { newValue: string }) => {\n e.stopPropagation();\n if (setSelectedValue) {\n setSelectedValue(false);\n }\n setError(false);\n setValue(newValue);\n };\n\n //desplegar el dropdown para arriba o para abajo según la posicinón del input en el window\n const { goUp, getAndUpdateState } = useDropdowPosition('.react-autosuggest__container');\n\n const onClick = () => {\n getAndUpdateState();\n\n trackingManager.trackFormFieldClick(\n {\n contentId: 'Localidad, código postal o nombre del taller',\n },\n {\n FormFieldName: 'location', // Corregir\n }\n );\n };\n\n const onSuggestionsFetchRequested = async ({ value }: { value: string }) => {\n const list = dealersOrInstallationsMode === 'dealers' ? dealers : installations;\n const dealerSuggestions = getSuggestions(list, value, dealersOrInstallationsMode);\n setSuggestions(dealerSuggestions);\n };\n\n const onSuggestionsClearRequested = () => {\n setSuggestions([]);\n };\n\n const [placeHolder, setPlaceHolder] = useState('');\n\n useEffect(() => {\n if (dealersOrInstallationsMode === 'dealers') {\n setPlaceHolder('Localidad, código postal, dirección, nombre del taller, etc.');\n } else {\n setPlaceHolder('Localidad, código postal o nombre del punto de venta');\n }\n }, []);\n\n useEffect(() => {\n if (isFiltrosSuggest && moreDealersSearched) {\n setInputPlaceHolder('Zona del mapa seleccionada');\n } else {\n setInputPlaceHolder(placeHolder);\n }\n }, [moreDealersSearched, placeHolder]);\n\n const inputProps = {\n placeholder: inputPlaceholder,\n value,\n onChange,\n onClick,\n disabled: isLocating ? true : false,\n };\n\n // REFACTORIZAR\n useEffect(() => {\n if (selectedValue) return;\n const predictionsFormatted: GooglePlace[] = predictions.map((prediction) => {\n return {\n name: prediction,\n isGooglePlace: true,\n isGeoLocated: false,\n };\n });\n setSuggestions([...suggestions, ...predictionsFormatted]);\n }, [predictions]);\n\n return (\n {\n setInputFocus(true);\n }}\n onBlur={() => setInputFocus(false)}\n isFullScreen={formInfo.notALayer ? true : false}\n goUp={goUp}\n autoWidth={autoWidth}\n className=\"styled-wrapper-suggest\"\n >\n \n \n \n {\n if (!isGooglePlace(suggestion)) {\n dispatch({ type: 'SUGGESTION_IS_IN_CANARY_ISLANDS', payload: false });\n }\n const value = getValueFormatted(suggestion);\n setValue(value);\n setSelectedValue(true);\n if (onSuggestionSelectedFn) {\n setTimeout(() => {\n onSuggestionSelectedFn(suggestion);\n }, 0);\n }\n }}\n inputProps={inputProps}\n />\n {value !== '' && (\n \n {\n e.preventDefault();\n setValue('');\n if (!isFiltrosSuggest && !isLocating) {\n setLocationSuccess(false);\n setSuggestion(null);\n setValue('');\n setSelectedValue(false);\n } else if (isFiltrosSuggest) {\n setAplicarDisabled(true);\n }\n }}\n >\n \n \n \n )}\n \n );\n}\n","export const mapStyles = [\n {\n elementType: 'geometry',\n stylers: [\n {\n color: '#f5f5f5',\n },\n ],\n },\n {\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#616161',\n },\n ],\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [\n {\n color: '#f5f5f5',\n },\n ],\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#bdbdbd',\n },\n ],\n },\n {\n featureType: 'landscape',\n stylers: [\n {\n color: '#dfe4e8',\n },\n ],\n },\n {\n featureType: 'landscape.natural',\n elementType: 'labels',\n stylers: [\n {\n color: '#757575',\n },\n {\n visibility: 'simplified',\n },\n {\n weight: 0.5,\n },\n ],\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee',\n },\n ],\n },\n {\n featureType: 'poi',\n elementType: 'labels.text',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#757575',\n },\n ],\n },\n {\n featureType: 'poi.business',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [\n {\n color: '#e5e5e5',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry.fill',\n stylers: [\n {\n color: '#ade5a1',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#00662f',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.stroke',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [\n {\n color: '#ffffff',\n },\n ],\n },\n {\n featureType: 'road',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#757575',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [\n {\n color: '#dadada',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.fill',\n stylers: [\n {\n color: '#ffe856',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.stroke',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#616161',\n },\n ],\n },\n {\n featureType: 'road.local',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'geometry',\n stylers: [\n {\n color: '#ffffff',\n },\n {\n visibility: 'on',\n },\n {\n weight: 0.5,\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#9e9e9e',\n },\n ],\n },\n {\n featureType: 'transit',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [\n {\n color: '#e5e5e5',\n },\n ],\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee',\n },\n ],\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [\n {\n color: '#4cc7f4',\n },\n ],\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#0066a1',\n },\n ],\n },\n];\n","export const provinces = [\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"2\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Albacete\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"3\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Alicante/Alacant\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"4\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Almería\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"1\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Araba/Álava\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"33\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Asturias\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"5\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ávila\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"6\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Badajoz\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"7\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Balears, Illes\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"8\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Barcelona\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"48\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Bizkaia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"9\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Burgos\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"10\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cáceres\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"11\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cádiz\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"39\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cantabria\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"12\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Castellón/Castelló\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"13\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ciudad Real\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"14\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Córdoba\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"15\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Coruña, A\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"16\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cuenca\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"20\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Gipuzkoa\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"17\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Girona\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"18\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Granada\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"19\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Guadalajara\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"21\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Huelva\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"22\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Huesca\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"23\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Jaén\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"24\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"León\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"25\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Lleida\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"27\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Lugo\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"28\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Madrid\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"29\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Málaga\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"30\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Murcia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"31\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Navarra\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"32\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ourense\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"34\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Palencia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"35\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Palmas, Las\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"36\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Pontevedra\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"26\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Rioja, La\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"37\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Salamanca\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"38\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Santa Cruz de Tenerife\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"40\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Segovia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"41\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Sevilla\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"42\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Soria\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"43\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Tarragona\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"44\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Teruel\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"45\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Toledo\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"46\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Valencia/València\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"47\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Valladolid\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"49\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Zamora\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"50\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Zaragoza\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"51\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ceuta\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"52\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Melilla\"\n }\n ]\n }\n]","import {\n styled\n} from '@volkswagen-onehub/components-core';\n\n//Layer styles\n\nexport const MapAndTabsWrapper = styled.div<{ showFilters: boolean }>`\n display: flex;\n .wrapper {\n width: 50%;\n height: 100vh;\n &--tabs {\n background-color: #001e50;\n overflow-y: hidden;\n color: #ffffff;\n }\n &--map {\n z-index: 4;\n height: 100%;\n background-color: grey;\n }\n }\n .opacity-layer {\n position: absolute;\n width: 50%;\n height: 100%;\n left: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: ${(props) => (props.showFilters ? 6 : -1)};\n opacity: ${(props) => (props.showFilters ? 1 : 0)};\n transition: opacity 0.4s;\n }\n`;\n\nexport const FilterButton = styled.div`\n position: absolute;\n top: 24px;\n right: 24px;\n button {\n background: #ffffff;\n }\n`;\n\nexport const FiltrosWrapperLayer = styled.div`\n min-height: 100vh;\n width: 50%;\n background-color: #ffffff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 5;\n transform: translate3d(100%, 0, 0);\n display: none;\n .back-btn {\n position: absolute;\n z-index: 4;\n top: 20px;\n left: 24px;\n @media screen and (min-width: 1600px) {\n top: 24px;\n }\n }\n &.filtros-enter {\n display: block;\n transform: translate3d(100%, 0, 0);\n }\n &.filtros-enter-active {\n display: block;\n transform: translate3d(0, 0, 0);\n transition: all 0.4s;\n }\n &.filtros-enter-done {\n display: block;\n transform: translate3d(0, 0, 0);\n }\n &.filtros-exit {\n display: block;\n transform: translate3d(0, 0, 0);\n }\n &.filtros-exit-active {\n display: block;\n transform: translate3d(100%, 0, 0);\n transition: all 0.4s;\n }\n &.filtros-exit-done {\n display: none;\n transform: translate3d(100%, 0, 0);\n }\n`;\n\nexport const ListWrapper = styled.div<{paddingBottom?: string}>`\n height: calc(100vh - 120px);\n overflow-y: auto;\n @media all and (min-width: 960px) {\n padding-bottom: ${(props)=> props.paddingBottom ? props.paddingBottom : null};\n }\n`;\n\nexport const SmallerSVG = styled.div`\n svg {\n height: 12px;\n width: 12px;\n }\n button {\n height: 24px;\n min-height: 24px; \n }\n div{\n font-size: 12px;\n }\n`;\n\n//Mobile Layer styled components\n\nexport const FilterMobileNavbar = styled.div`\n position: fixed;\n top: 0;\n width: 100vw;\n padding: 8px 20px;\n z-index: 20;\n background-color: #ffffff; \n`;\n\nexport const CTAsNavigationWrapper = styled.div<{services?: boolean}>`\n display:flex;\n justify-content: space-between;\n padding-bottom: ${(props) => props.services ? '16px' : null} ;\n`;\n\ninterface VerMasYCarouselPositionProps {\n translateCarousel: boolean;\n userIsGeoLocated: boolean;\n}\n\nexport const VerMasYCarouselPosition = styled.div`\n position: absolute;\n bottom: 8px;\n height: fit-content;\n width: 100%;\n`;\nexport const SoloCardWrapper = styled.div`\n background-color: #001e50;\n bottom: 8px;\n height: fit-content;\n position: absolute;\n margin: 0 var(--size-grid002);\n width: var(--size-grid020);\n .box-card-wrapper {\n border: none;\n margin-top: 0;\n }\n`;\n\nexport const CTASwrapper = styled.div`\n padding-right: 20px;\n padding-bottom: 12px;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n`;\n\nexport const VerMasTalleresCTA = styled.div`\n height: 32px;\n padding-right: 16px;\n padding-left: 16px;\n background-color: #ffffff;\n border: 1px solid #001e50;\n border-radius: 500px;\n color: #001e50;\n display: flex;\n align-items: center;\n width: 100px;\n`;\n\nexport const ControllerBackground = styled.div`\n border-radius: 100%;\n background-color: #ffffff;\n height: 44px;\n width: 44px;\n margin-bottom: 12px;\n button {\n border: 1px solid #001e50;\n }\n`;\n\ninterface CloseButtonProps {\n isTabsClose?: boolean;\n isFiltrosClose?: boolean;\n}\nexport const CloseButtonWrapper = styled.div`\n position: absolute;\n padding-bottom: ${(props) => (props.isTabsClose || props.isFiltrosClose ? '12px' : null)};\n background-color: ${(props) => (props.isTabsClose ? '#001E50' : '#FFFFFF')};\n width: 100%;\n padding-top: 12px;\n padding-left: 12px;\n z-index: 4;\n top: ${(props) => (props.isTabsClose || props.isFiltrosClose ? '0' : null)};\n @media screen and (min-width: 560px) {\n left: 20px;\n }\n button {\n color: ${(props) => (props.isTabsClose ? '#FFFFFF' : null)};\n }\n`;\n\nexport const MoblieListWrapper = styled.div<{paddingTop?: string}>`\n padding-top: ${(props)=> props.paddingTop ? props.paddingTop : null};\n`;\n","import {\n Breakpoints,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Layout,\n ThemeProvider,\n} from '@volkswagen-onehub/components-core';\nimport { ArrowLeft, Magnifier, FleetServicePrivate, CarPickupService } from 'src/icons-core-imports';\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useFeatureAppConfig } from 'src/feature-app';\nimport { CloseComponent } from 'src/feature-app/Screen';\nimport { SelectedTab } from 'src/types';\nimport { Filtros } from 'src/feature-app/NewMap';\nimport { Points } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { NewMap } from 'src/feature-app/NewMap/components/Map';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\nimport { \n MapAndTabsWrapper, \n FilterButton, \n FiltrosWrapperLayer, \n ListWrapper, \n SmallerSVG, \n handleClickCarPickup,\n handleClickReplacementCar \n} from '.';\n\ninterface ViewCitaPosventaProps {\n handleSeleccionarOnClick: any;\n handleShowSlots?: (point: Points) => string | null;\n renderPoints(points: any, carPickupSelected?: boolean, replacementCarSelected?: boolean, isTime?: boolean ): JSX.Element[];\n renderCalendar?(): JSX.Element;\n showCalendar?: boolean;\n preSelectedOrderValue?: SelectedTab;\n setPreSelectedOrderValue?: React.Dispatch>;\n pointsToList: Points[];\n services?: boolean;\n paddingBottomList?: string;\n isPosventa?: boolean;\n concesionario?: boolean;\n onlySuggest?: boolean; \n}\n\nexport const LayerDesktopView = (props: ViewCitaPosventaProps) => {\n const {\n renderPoints,\n renderCalendar,\n showCalendar,\n preSelectedOrderValue,\n setPreSelectedOrderValue,\n pointsToList,\n services, paddingBottomList, isPosventa, concesionario, onlySuggest,\n } = props;\n\n const [showFiltros, setShowFiltros] = useState(false);\n const [ preselectedDealerForm, setPreselectedDealerForm ] = useState(false);\n const config = useFeatureAppConfig();\n const sustitucionRef = useRef(null);\n const recogidaRef = useRef(null);\n\n useEffect(()=>{\n if(config.trigger === 'cita-posventa-dealer') {\n setPreselectedDealerForm(true);\n } else {\n setPreselectedDealerForm(false);\n }\n }, []);\n\n const { searchIsDealer } = useMapGeneralController();\n const { handleAreYouSureLayer } = useOneFormContext();\n\n const handleShowFiltros = () => {\n setShowFiltros(!showFiltros);\n };\n\n //seleccionar los que tiene coche de sustitucion o servicio de recogida\n\n const [ carPickupSelected, setCarPickupSelected] = useState(false);\n const [ replacementCarSelected, setReplacementCarSelected ] = useState(false);\n\n return showCalendar ? (\n renderCalendar()\n ) : (\n \n \n
\n \n {\n services? (\n \n \n {\n e.preventDefault();\n handleClickReplacementCar(replacementCarSelected, setReplacementCarSelected);\n sustitucionRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Coche de sustitución\n \n \n \n {\n e.preventDefault();\n handleClickCarPickup(carPickupSelected, setCarPickupSelected);\n recogidaRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Servicio de recogida y entrega\n \n \n \n ) : null\n }\n \n
\n {pointsToList ? (\n \n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n \n ) : null}\n
\n \n
\n
\n \n {\n preselectedDealerForm ? null : (\n \n \n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n Buscar de nuevo\n \n \n \n )\n } \n
\n
setShowFiltros(false)} />\n \n\n \n \n \n
\n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n
\n handleShowFiltros()}\n showFiltros={showFiltros}\n setShowFiltros={setShowFiltros}\n setPreSelectedOrderValue={setPreSelectedOrderValue}\n preSelectedOrderValue={preSelectedOrderValue}\n citaPosventa = {isPosventa}\n onlySuggest={true}\n concesionario={true}\n />\n
\n
\n
\n \n );\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n ContainerGutter,\n CTA,\n Layout,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { ArrowLeft, Close, Locate, Magnifier, CarPickupService, FleetServicePrivate } from 'src/icons-core-imports';\n\nimport React, { useEffect, useState } from 'react';\nimport { useFeatureAppConfig } from 'src/feature-app';\nimport { SelectedTab } from 'src/types';\nimport { Carousel, Filtros, NewMap, useMapGeneralController } from 'src/feature-app/NewMap';\nimport { Points } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useRef } from 'react';\nimport { \n CloseButtonWrapper, \n ControllerBackground, \n CTAsNavigationWrapper, \n CTASwrapper, \n FilterMobileNavbar, \n SmallerSVG, \n SoloCardWrapper, \n VerMasTalleresCTA, \n VerMasYCarouselPosition,\n handleClickCarPickup,\n handleClickReplacementCar,\n MoblieListWrapper \n} from '.';\nimport { useFeatureServices } from 'src/feature-app/hooks';\n\nconst listIcon = require('../../../feature-app/NewMap/assets/filter-ic_list.svg');\n\ninterface ViewCitaPosventaProps {\n handleSeleccionarOnClick: any;\n handleShowSlots?: (point: Points) => string | null;\n handleShowCalendarOnClick?: (point: Points) => Promise;\n renderPoints(points: any, carPickupSelected?: boolean, replacementCarSelected?: boolean, isTime?: boolean, isCarouselCard?: boolean ): JSX.Element[];\n renderCalendar?(): JSX.Element;\n showCalendar?: boolean;\n preSelectedOrderValue?: SelectedTab;\n setPreSelectedOrderValue?: React.Dispatch>;\n pointsToList: Points[];\n isPosventa?: boolean;\n services?: boolean;\n concesionario?: boolean;\n onlySuggest?: boolean; \n paddingTopList?: string;\n}\n\nexport const LayerMobileView = (props: ViewCitaPosventaProps) => {\n const {\n handleSeleccionarOnClick,\n handleShowSlots,\n renderPoints,\n handleShowCalendarOnClick,\n showCalendar,\n renderCalendar,\n preSelectedOrderValue,\n setPreSelectedOrderValue,\n pointsToList, isPosventa, services,\n concesionario, onlySuggest, paddingTopList\n } = props;\n const { handlePreviousStep } = useOneFormContext();\n\n const {\n centerInGeoLocatedCenter,\n userIsGeoLocated,\n searchIsDealer,\n } = useMapGeneralController();\n\n //controladores de vista\n\n const [showFiltros, setShowFiltros] = useState(false);\n const [showTalleres, setShowTalleres] = useState(false);\n const [showMap, setShowMap] = useState(true);\n const [translateCarousel, setTranselateCarousel] = useState(false);\n const [ preselectedDealerForm, setPreselectedDealerForm ] = useState(false);\n const config = useFeatureAppConfig();\n const sustitucionMapRef = useRef(null);\n const recogidaMapRef = useRef(null);\n const sustitucionRef = useRef(null);\n const recogidaRef = useRef(null);\n const layerManager = useFeatureServices()['layer-manager'];\n useEffect(()=>{\n if(config.trigger === 'cita-posventa-dealer') {\n setPreselectedDealerForm(true);\n } else {\n setPreselectedDealerForm(false);\n }\n }, []);\n\n //otros\n const [gelocalizationActive, setGelocalizationActive] = useState(false);\n\n useEffect(() => {\n if (userIsGeoLocated) {\n setGelocalizationActive(true);\n }\n }, [userIsGeoLocated]);\n\n const handleShowFiltros = () => {\n setShowFiltros(!showFiltros);\n setShowTalleres(false);\n };\n const handleShowTalleres = () => {\n setShowTalleres(!showTalleres);\n setShowFiltros(false);\n };\n\n useEffect(() => {\n if (showFiltros === false && showTalleres === false) {\n setShowMap(true);\n } else {\n setShowMap(false);\n }\n }, [showFiltros, showTalleres]);\n\n //seleccionar los que tiene coche de sustitucion o servicio de recogida\n\n const [ carPickupSelected, setCarPickupSelected] = useState(false);\n const [ replacementCarSelected, setReplacementCarSelected ] = useState(false);\n\n return showCalendar ? (\n renderCalendar()\n ) : (\n
\n {showMap ? (\n <>\n \n \n \n {\n e.preventDefault();\n const layers = layerManager.getLayers();\n const layer = layers.find(\n (layer) => layer.layer.options.id === 'mapaLeadInPage'\n ); \n if (layer) {\n layer.layer?.close();\n }\n handlePreviousStep(e);\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n {\n preselectedDealerForm ? null : (\n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n Buscar de nuevo\n \n )\n }\n \n {\n services ? (\n \n \n {\n e.preventDefault();\n handleClickReplacementCar(replacementCarSelected, setReplacementCarSelected);\n sustitucionMapRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Coche de sustitución\n \n \n \n {\n e.preventDefault();\n handleClickCarPickup(replacementCarSelected, setReplacementCarSelected);\n recogidaMapRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Servicio de recogida\n \n \n \n ) : null\n }\n \n \n \n \n
\n\n {pointsToList ? (\n searchIsDealer ? (\n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n ) : (\n \n \n \n {gelocalizationActive ? (\n {\n e.preventDefault();\n centerInGeoLocatedCenter();\n e.stopPropagation();\n }}\n >\n {\n e.preventDefault();\n centerInGeoLocatedCenter();\n e.stopPropagation();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n ) : null}\n {\n e.preventDefault();\n e.stopPropagation();\n }}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n handleShowTalleres();\n }}\n >\n \n \n Ver lista\n \n \n \n \n\n {/* Aunque en principio no debería devolver nunca sólo un resultado, dejo el siguiente\n render condicional por is acaso */}\n {pointsToList.length === 1 ? (\n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n ) : (\n \n )}\n \n )\n ) : null}\n \n ) : (\n <>\n {showTalleres ? (\n \n \n \n {\n e.preventDefault();\n handleShowTalleres();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n {\n services ? (\n \n \n {\n e.preventDefault();\n handleClickReplacementCar(replacementCarSelected, setReplacementCarSelected);\n sustitucionRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Coche de sustitución\n \n \n \n {\n e.preventDefault();\n handleClickCarPickup(carPickupSelected, setCarPickupSelected);\n recogidaRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Servicio de recogida\n \n \n \n ) : null\n }\n \n \n \n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n \n \n
\n
\n ) : showFiltros ? (\n \n \n \n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n handleShowFiltros()}\n preSelectedOrderValue={preSelectedOrderValue}\n setPreSelectedOrderValue={setPreSelectedOrderValue}\n showFiltros={showFiltros}\n setShowFiltros={setShowFiltros}\n citaPosventa = {isPosventa}\n onlySuggest={onlySuggest}\n concesionario={concesionario}\n />\n \n \n ) : null}\n \n )}\n \n );\n};\n","export const handleClickCarPickup = (carPickupSelected: boolean, setCarPickupSelected: (value: boolean) => void ) => {\n if(!carPickupSelected) {\n setCarPickupSelected(true);\n } else {\n setCarPickupSelected(false);\n }\n};\n\nexport const handleClickReplacementCar = (replacementCarSelected: boolean, setReplacementCarSelected: (value: boolean) => void) => {\n if(!replacementCarSelected) {\n setReplacementCarSelected(true);\n } else {\n setReplacementCarSelected(false);\n }\n};\n","import { getDistanceFromLatLngCenter } from './utils';\nimport { isNull } from 'src/feature-app';\nimport { Horario, Slot, Points, Center, Slots } from 'src/types';\n\nexport const sortPoints = (\n clusters: Points[],\n horario: Horario,\n center: google.maps.LatLng,\n supercluster: supercluster\n // zoom: number,\n // firstLoad: boolean\n): { pointsByTime: Points[] | null; pointsByDistance: Points[] | null; newCenter?: Center; newZoom?: number } => {\n // Filtramos los puntos que no son clusters para eliminar las agrupaciones y quedarnos con los dealers unicamente, para posteriormente obtener su distancia la centro del mapa.\n\n // const distanceForFilter = getDistanceForFilter(zoom);\n\n // points = points.filter((point: Points) => Number(point.properties.distanceFromCenter) < distanceForFilter);\n let points: Points[] = [...clusters];\n\n const realClusters = points.filter((point: Points) => point.properties.cluster === true);\n // .sort((a: Points, b: Points) => Number(b.properties.point_count) - Number(a.properties.point_count));\n\n realClusters.forEach((cluster) => {\n if (supercluster) {\n const leaves: Points[] = supercluster.getLeaves(cluster.id);\n leaves.forEach((dealer) => {\n // Necesitamos esta propiedad para en caso de hover sobre la card, poder cambiar el cluster de color.\n dealer.properties.parent_cluster_id = cluster.id;\n\n points.push(dealer);\n });\n }\n });\n\n points = points.filter((point: Points) => point.properties.cluster === false);\n points = [...points]\n // .filter((point: Points) => point.properties.cluster === false)\n .map((point: Points) => {\n const distanceFromCenter = getDistanceFromLatLngCenter(center, point);\n return {\n ...point,\n properties: {\n ...point.properties,\n distanceFromCenter,\n },\n };\n });\n // if (points.length === 0 && firstLoad) {\n // return { pointsByTime: null, pointsByDistance: null, newCenter: center, newZoom: zoom - 1 };\n // }\n\n const pointsByTime = sortByTime(points, horario);\n\n const pointsByDistance = points.sort(\n (a: Points, b: Points) => Number(a.properties.distanceFromCenter) - Number(b.properties.distanceFromCenter)\n );\n\n return { pointsByTime, pointsByDistance, newCenter: null, newZoom: null };\n};\n\nconst sortByTime = (points: Points[], horario: Horario): Points[] => {\n const pointsWithDms: Points[] = [];\n const pointsWithoutDms: Points[] = [];\n\n points.forEach((point: Points) => {\n const { dealer } = point.properties;\n dealer.dmsInfo && dealer.dmsInfo.dmsAvailable ? pointsWithDms.push(point) : pointsWithoutDms.push(point);\n });\n\n const pointsWithoutDmsSorted = pointsWithoutDms.sort(\n (a: Points, b: Points) => Number(a.properties.distanceFromCenter) - Number(b.properties.distanceFromCenter)\n );\n\n const pointsWithSlots = pointsWithDms.filter((point: Points) => !isNull(point.properties.dealer.slots));\n // Si el usuario elige cualquier opción que no sea Lo antes posible se le devuelven los slots predeterminados.\n // En caso contrario, se debe elegir el turno más temprano de cada concesión y guardarlo como earliestSlot para poder ordenarlos más adelante.\n if (horario !== 'before') {\n const pointsWithDmsAndAvailableSlots: Points[] = [];\n const pointsWithDmsAndWithoutAvailableSlots: Points[] = [];\n pointsWithSlots.forEach((point) => {\n const { dealer } = point.properties;\n isNull(dealer.slots[horario])\n ? pointsWithDmsAndWithoutAvailableSlots.push(point)\n : pointsWithDmsAndAvailableSlots.push(point);\n });\n\n pointsWithDmsAndAvailableSlots.sort(\n (a: Points, b: Points) => a.properties.dealer.slots[horario].from - b.properties.dealer.slots[horario].from\n );\n\n return [...pointsWithDmsAndAvailableSlots, ...pointsWithDmsAndWithoutAvailableSlots, ...pointsWithoutDms];\n } else {\n const pointsWithoutSlots: Points[] = [];\n const pointsWithAtLeastOneSlot: Points[] = [];\n\n // Separamos los dealers con DMS según si tienen al menos un slot disponible o no.\n pointsWithSlots.forEach((dealer: Points) => {\n if (\n !isNull(dealer.properties.dealer.slots.morning) ||\n !isNull(dealer.properties.dealer.slots.evening) ||\n !isNull(dealer.properties.dealer.slots.afternon)\n ) {\n pointsWithAtLeastOneSlot.push(dealer);\n } else {\n pointsWithoutSlots.push(dealer);\n }\n });\n\n const pointsWithEarliestSlot = pointsWithAtLeastOneSlot\n .map((point: Points) => {\n const { slots } = point.properties.dealer;\n const slotsFiltered = Object.values(slots)\n .filter((slot: Slot) => !isNull(slot) && !isNull(slot.from))\n .map((slot: Slot) => slot.from);\n point.properties.earliestSlot = Math.min(...slotsFiltered);\n return point;\n })\n .sort((a: Points, b: Points) => a.properties.earliestSlot - b.properties.earliestSlot);\n return [...pointsWithEarliestSlot, ...pointsWithoutSlots, ...pointsWithoutDmsSorted];\n }\n};\n\nexport const sortPointsByDistance = (\n clusters: Points[],\n center: google.maps.LatLng,\n supercluster: supercluster\n): Points[] => {\n let points: Points[] = [...clusters];\n\n const realClusters = points.filter((point: Points) => point.properties.cluster === true);\n realClusters.forEach((cluster) => {\n if (supercluster) {\n const leaves: Points[] = supercluster.getLeaves(cluster.id);\n leaves.forEach((dealer) => {\n // Necesitamos esta propiedad para en caso de hover sobre la card, poder cambiar el cluster de color.\n dealer.properties.parent_cluster_id = cluster.id;\n\n points.push(dealer);\n });\n }\n });\n\n return points\n .filter((point: Points) => point.properties.cluster === false)\n .map((point: Points) => {\n const distanceFromCenter = getDistanceFromLatLngCenter(center, point);\n return {\n ...point,\n properties: {\n ...point.properties,\n distanceFromCenter,\n },\n };\n })\n .sort((a: Points, b: Points) => Number(a.properties.distanceFromCenter) - Number(b.properties.distanceFromCenter));\n};\n\nexport const getEarliestSlot = (slots: Slots) => {\n if (!slots) {\n return null;\n }\n const filteredSlots = Object.values(slots)\n .filter((slot: Slot) => !isNull(slot) && !isNull(slot.from))\n .map((slot: Slot) => slot.from);\n if (filteredSlots.length === 0) {\n return null;\n }\n return Math.min(...filteredSlots);\n};\n","import { GooglePlace, Suggestion } from 'src/feature-app';\nimport { DealersData, isDealerData, Points, Center } from 'src/types';\nimport getDistance from 'geolib/es/getDistance';\nimport { Dispatch } from 'react';\nimport { Geometry, Installation } from 'src/types';\nimport { store } from '../App';\n\nexport const isGooglePlace = (suggestion: Suggestion): suggestion is GooglePlace => {\n if (suggestion) {\n return (suggestion as GooglePlace).isGooglePlace !== undefined;\n }\n return null;\n};\n\nconst getCanaryBounds = () => {\n const result: google.maps.LatLngBounds = new window.google.maps.LatLngBounds(null);\n const north = 29.463514;\n const east = -13.31543;\n const south = 27.425414;\n const west = -18.391113;\n const ne = new window.google.maps.LatLng(north, east);\n const sw = new window.google.maps.LatLng(south, west);\n result.extend(ne);\n result.extend(sw);\n\n return result;\n};\n\nexport const getLocationOfDealer = (suggestion: DealersData): Geometry => {\n const bounds: google.maps.LatLngBounds = new window.google.maps.LatLngBounds(null);\n let lat, lng;\n if (isDealerData(suggestion)) {\n lat = suggestion.markerInfo.svcLocation.latitude;\n lng = suggestion.markerInfo.svcLocation.longitude;\n } else {\n lat = Number((suggestion as Installation).ShippingLatitude);\n lng = Number((suggestion as Installation).ShippingLongitude);\n }\n const point: google.maps.LatLng = new window.google.maps.LatLng(lat, lng);\n bounds.extend(point);\n return {\n lat,\n lng,\n bounds: null,\n viewport: null,\n };\n};\n\nexport const getLocationOfDealerWithoutLoadInstance = (suggestion: Suggestion, maps: google.maps): Geometry => {\n const bounds: google.maps.LatLngBounds = new maps.LatLngBounds(null);\n let lat, lng;\n if (isDealerData(suggestion)) {\n lat = suggestion.markerInfo.svcLocation.latitude;\n lng = suggestion.markerInfo.svcLocation.longitude;\n } else {\n lat = Number((suggestion as Installation).ShippingLatitude);\n lng = Number((suggestion as Installation).ShippingLongitude);\n }\n const point: google.maps.LatLng = new maps.LatLng(lat, lng);\n bounds.extend(point);\n return {\n lat,\n lng,\n };\n};\n\nconst getBounds = (latlngBounds: google.maps.LatLngBounds): google.maps.LatLngBounds => {\n const result: google.maps.LatLngBounds = new window.google.maps.LatLngBounds(null);\n const north = latlngBounds.getNorthEast().lat();\n const east = latlngBounds.getNorthEast().lng();\n const south = latlngBounds.getSouthWest().lat();\n const west = latlngBounds.getSouthWest().lng();\n const ne = new window.google.maps.LatLng(north, east);\n const sw = new window.google.maps.LatLng(south, west);\n result.extend(ne);\n result.extend(sw);\n\n return result;\n};\n\nconst getGeometryFromGoogleResult = (result: any): Geometry => {\n let viewport = null;\n let bounds = null;\n if (result.geometry) {\n if (result.geometry.viewport) {\n viewport = getBounds(result.geometry.viewport);\n } else if (result.geometry.bounds) {\n bounds = getBounds(result.geometry.bounds);\n }\n\n const lat = result.geometry.location.lat();\n const lng = result.geometry.location.lng();\n\n return { lat, lng, bounds, viewport };\n } else {\n return { lat: null, lng: null };\n }\n};\n\ninterface GeocodeCache {\n suggestion: GooglePlace;\n geometry: Geometry;\n isAddress: boolean;\n isCanaryIslands: boolean;\n}\n\n// const cache: GeocodeCache[] = [];\n\nconst resultIsAddress = (result: google.maps.GeocoderResult) => {\n const addressTypes = [\n 'route',\n 'street_address',\n 'intersection',\n 'neighborhood',\n 'premise',\n 'subpremise',\n 'park',\n 'point_of_interest',\n 'establishment',\n 'tourist_attraction',\n ];\n const resultType = result.types[0];\n\n return addressTypes.includes(resultType);\n};\n\nexport const getGeocode = (suggestion: GooglePlace): Promise | Geometry => {\n // Se desactiva el cache porque da error en mobile\n // const cachedResult = cache.find(cachedResult => cachedResult.suggestion.name === suggestion.name);\n\n // if (cachedResult) {\n // console.log(cachedResult,'cache');\n // store.dispatch({ type: 'SUGGESTION_IS_ADDRESS', payload: cachedResult.isAddress });\n // store.dispatch({ type: 'SUGGESTION_IS_IN_CANARY_ISLANDS', payload: cachedResult.isCanaryIslands });\n // return new Promise((resolve)=>resolve(cachedResult.geometry));\n // }\n\n const geocode = new window.google.maps.Geocoder();\n return new Promise((resolve, reject) => {\n return geocode.geocode(\n { address: suggestion.name },\n (response: any) => {\n const result: google.maps.GeocoderResult = response[0];\n const geometry = getGeometryFromGoogleResult(result);\n const point: google.maps.LatLng = new window.google.maps.LatLng(geometry.lat, geometry.lng);\n const bounds: google.maps.LatLngBounds = getCanaryBounds();\n let isAddress: boolean;\n let isCanaryIslands: boolean;\n isAddress = resultIsAddress(result);\n isCanaryIslands = bounds.contains(point);\n\n store.dispatch({ type: 'SUGGESTION_IS_ADDRESS', payload: isAddress });\n store.dispatch({ type: 'SUGGESTION_IS_IN_CANARY_ISLANDS', payload: isCanaryIslands });\n store.dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: null });\n\n // cache.push({ suggestion, geometry, isAddress, isCanaryIslands });\n\n resolve(geometry);\n },\n () => reject('Problems with geocode')\n );\n });\n};\n\ninterface ReverseGeocodeResponse {\n formatted_address: string;\n}\n\nexport const getReverseGeocode = (latlng: {\n lat: number;\n lng: number;\n}): Promise<{ geometry: Geometry; name: string }> => {\n const geocode = new window.google.maps.Geocoder();\n\n return new Promise((resolve, reject) => {\n return geocode.geocode(\n { location: latlng },\n (response: ReverseGeocodeResponse[]) => {\n const result = response[0];\n const geometry = getGeometryFromGoogleResult(result);\n let name: string = response.length > 0 ? response[0].formatted_address : 'España'; // Se devuelve el primero porque no hay manera de filtrar el \"mejor\" resultado.\n resolve({ geometry, name });\n },\n () => reject('Problems with geocode')\n );\n });\n};\n\nexport const getLocationOfGooglePlace = async (suggestion: GooglePlace): Promise => {\n const geometry = await getGeocode(suggestion);\n return geometry;\n};\n\nexport const getDistanceFromCenter = (center: Center, point: Points) => {\n const lng = point.geometry.coordinates[0];\n const lat = point.geometry.coordinates[1];\n const distance = getDistance({ lat: center.lat, lng: center.lng }, { lat, lng }) / 1000;\n return distance.toFixed(1);\n};\n\nexport const getDistanceFromLatLngCenter = (center: google.maps.LatLng, point: Points) => {\n if (!center || !point) {\n return '0';\n }\n const lng = point.geometry.coordinates[0];\n const lat = point.geometry.coordinates[1];\n const distance = getDistance({ lat: center.lat(), lng: center.lng() }, { lat, lng }) / 1000;\n const toFixed = Math.round(distance).toString().length > 2 ? 0 : 1; // Para más de 100km devolvemos el número sin decimal.\n return distance.toFixed(toFixed);\n};\n\nexport const handleMapVariables = (\n dispatch: Dispatch,\n center: Center,\n zoom: number,\n geometry: Geometry,\n isDealer: boolean,\n suggestion: Suggestion\n) => {\n dispatch({ type: 'UPDATE_USER_CENTER', payload: { lat: center.lat, lng: center.lng } }); // Eliminar\n dispatch({ type: 'UPDATE_INITIAL_ZOOM', payload: zoom }); // Eliminar\n dispatch({ type: 'UPDATE_GEOMETRY', payload: geometry });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: suggestion ? suggestion : null });\n dispatch({ type: 'SUGGESTION_IS_DEALER', payload: isDealer });\n dispatch({ type: 'UPDATE_FIELDS', payload: { location: suggestion.name } }); // No se si se usa, de momento lo dejo.\n};\n\nexport const updateMapVariables = async (dispatch: Dispatch, suggestion: Suggestion, geometryData?: Geometry) => {\n let geometry: Geometry = geometryData ? geometryData : null;\n let isDealer: boolean;\n if (!window.google || !window.google.maps) {\n return;\n }\n if (!geometryData) {\n geometry = isGooglePlace(suggestion) ? await getLocationOfGooglePlace(suggestion) : getLocationOfDealer(suggestion);\n }\n isDealer = !isGooglePlace(suggestion);\n if ((suggestion as GooglePlace).isGeoLocated) {\n dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: suggestion });\n }\n dispatch({ type: 'UPDATE_GEOMETRY', payload: geometry });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: suggestion ? suggestion : null });\n dispatch({ type: 'SUGGESTION_IS_DEALER', payload: isDealer });\n};\n\nexport const removeWhiteSpace = (s: string): string => (s ? s.replace(/\\s/g, '') : s);\nexport const formatPrefix = (s: string): string => s ? s : '';\nexport const formatPrefixOneFormBFF = (s: string): string => s ? s.replace(\"+\",\"00\") : '';\n\nexport const checkIfMorning = (slotHour: Date) => {\n const morningHour = getNormalizedDate('12:00:00');\n return slotHour <= morningHour ? true : false;\n};\n\nexport const checkIfMidDay = (slotHour: Date) => {\n const morningHour = getNormalizedDate('12:00:00');\n const eveningHour = getNormalizedDate('16:00:00');\n\n return slotHour > morningHour && slotHour <= eveningHour ? true : false;\n};\n\nexport const checkIfEvening = (slotHour: Date) => {\n const eveningHour = getNormalizedDate('16:00:00');\n return slotHour > eveningHour ? true : false;\n};\n\n/**\n * hour en formato 12:00:00\n * @param hour\n */\nexport const getNormalizedDate = (hour: string) => new Date(`1/1/1999 ${hour}`);\n","import { styled, Text, TextAlignment, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\n// // import store from './store';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { SyntheticEvent, useEffect, useState } from 'react';\nimport { deviceType } from 'react-device-detect';\nimport { FormContext, useForm } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { setObjectValues, useFeatureServices, formInfoInitialState } from 'src/feature-app';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ErrorFormFields } from './tracking-types';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { BehaviorSubject } from 'rxjs';\nimport { useFeatureAppConfig, useFeatureAppEnvironment } from './hooks';\nimport { GenericErrorLayer } from 'src/components';\nimport { LayerManagerWrapper } from './LayerManagerWrapper';\n\nconst Form = styled.form``;\n\ninterface errorMessageProps {\n notALayer: boolean;\n}\nconst ErrorMessage = styled.div`\n position: absolute;\n bottom: ${(props) => (props.notALayer ? '88px' : '122px')};\n right: 20px;\n z-index: 1000;\n width: max-content;\n padding: 4px 8px;\n border-radius: 4px;\n background-color: #e4002c;\n color: #ffffff;\n @media all and (min-width: 560px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid002)' : '40px')};\n }\n @media all and (min-width: 960px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid003)' : '52px')};\n bottom: ${(props) => (props.notALayer ? '88px' : '136px')};\n }\n @media all and (min-width: 1280px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '52px')};\n }\n @media all and (min-width: 1920px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '52px')};\n }\n @media all and (min-width: 2560px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid007)' : '52px')};\n }\n`;\n\ninterface UseFormMethods {\n closeLayer: () => void;\n handlePreviousStep: (e: any) => void;\n handleScreenChange: (newNumber?: number) => void;\n handleSubmit: (e: SyntheticEvent) => Promise;\n nextStep: () => void;\n previousStep: () => void;\n sendForm: () => void;\n handleShowFinalScreen: () => void;\n /**\n * Flag que activa algunas funcionalidades para facilitar el desarrollo.\n */\n debug: boolean;\n /**\n * Flag que controla si el formulario está dentro de un multistep y se tiene que esperar para realizar un next step del formulario genérico.\n */\n // waitForNextStep: boolean;\n /**\n * Flag que controla si el formulario está dentro de un multistep y se tiene que esperar para realizar un previous step del formulario genérico.\n */\n waitForPreviousStep: boolean;\n // setWaitForNextStep: React.Dispatch>;\n setWaitForPreviousStep: React.Dispatch>;\n initializeForm: (\n initialFormInfo: Partial,\n initialFormData: Partial,\n skipLayerInit?: boolean\n ) => void;\n /**\n * La propiedad nextMultiStep contiene la función que (en caso de que haya un multiStep) controlará el CTA de siguiente pantalla para navegar por las subsiguientes pantallas del multiStep sin cambiar de pantalla en el formulario principal.\n */\n nextMultiStep?: () => void;\n /**\n * Al guardar una función dentro del nextMultiStep necesitamos envolverla en otra función para que React no crea que es una inicialización -> https://medium.com/swlh/how-to-store-a-function-with-the-usestate-hook-in-react-8a88dd4eede1\n */\n setNextMultiStep?: React.Dispatch void>>;\n /**\n * La propiedad previousMultiStep contiene la función que (en caso de que haya un multiStep) controlará el CTA de siguiente pantalla para navegar por las anteriores pantallas del multiStep sin cambiar de pantalla en el formulario principal.\n */\n previousMultiStep?: () => void;\n /**\n * Al guardar una función dentro del previousMultiStep necesitamos envolverla en otra función para que React no crea que es una inicialización -> https://medium.com/swlh/how-to-store-a-function-with-the-usestate-hook-in-react-8a88dd4eede1\n */\n setPreviousMultiStep?: React.Dispatch void>>;\n\n handleNextStep: (e?: any) => void;\n /**\n * Flag que controla si se muestra o no el previousStep (ej: en CitaPrevia no se muestra en el multiStep 2 de mapa)\n */\n showPreviousStep: boolean;\n setShowPreviousStep: React.Dispatch>;\n setIsFullScreen: React.Dispatch>;\n isFullScreen: boolean;\n /**\n * Flag para validacion\n */\n error: boolean;\n setError: React.Dispatch>;\n /**\n * Flags para gestionar transiciones entre pantallas\n */\n nextScreenIndex: number;\n setNextScreenIndex: React.Dispatch>;\n nextMultiStepScreenIndex: number;\n setNextMultiStepScreenIndex: React.Dispatch>;\n distanceToMove: Array;\n setDistanceToMove: React.Dispatch>>;\n moveForward: boolean;\n setMoveForward: React.Dispatch>;\n /**\n * En alguna casuística el intro no debería pasar de página, causando el cierre de la feature app. Este flag lo desactiva.\n */\n setDisableIntroNextStep: React.Dispatch>;\n /**\n * Trigger para algunos casos en que el handleClick de ScreenController no funciona bien y el next step no se activa\n * al seleccionar una opción de las disponibles en la pantalla porque no se produce ningún click.\n * EJEMPLO: Pantalla locateUser citaPosventa en la casuística que el usuario elije geolacalización\n */\n isValueSelected: boolean;\n setIsValueSelected: React.Dispatch>;\n handleAreYouSureLayer: any;\n nextStepEventEmitter: BehaviorSubject;\n}\nexport const OneFormContext = React.createContext(null);\n\nexport const useOneFormContext = (): UseFormMethods => React.useContext(OneFormContext) as UseFormMethods;\n\ninterface OneFormProviderProps {\n children: JSX.Element;\n closeLayerCallback: CloseHandleV2;\n handleAreYouSureLayer: any;\n}\n\ninterface OneFormDebug {\n debug: boolean;\n toggleDebugMode: () => void;\n}\n\ndeclare global {\n interface Window {\n OneForm: OneFormDebug;\n }\n}\n\nexport const OneFormProvider = (props: OneFormProviderProps): any => {\n const { closeLayerCallback, handleAreYouSureLayer } = props;\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const {\n sendFormCallback,\n screenIndex,\n formEnded,\n steps,\n stepsHistory,\n nextStepCallback,\n numberOfScreens,\n lastStep,\n step,\n formSubmitted,\n notALayer,\n suggestionIsInCanaryIslands,\n } = formInfo;\n const methods = useForm();\n // const { getValues, triggerValidation } = useFormContext();\n\n const dispatch = useDispatch();\n const store = useStore();\n const [waitForPreviousStep, setWaitForPreviousStep] = useState(false);\n const [nextMultiStep, setNextMultiStep] = useState<() => void>(() => () => {});\n const [isFullScreen, setIsFullScreen] = useState(false);\n const [previousMultiStep, setPreviousMultiStep] = useState<() => void>(() => () => {});\n const [showPreviousStep, setShowPreviousStep] = useState(false);\n const [error, setError] = useState(false);\n const [nextScreenIndex, setNextScreenIndex] = useState(null);\n const [nextMultiStepScreenIndex, setNextMultiStepScreenIndex] = useState(null);\n const [distanceToMove, setDistanceToMove] = useState>([]);\n const [moveForward, setMoveForward] = useState(true);\n const oneFormService = useFeatureServices()['es:oneform-core'];\n const trackingManager = useTrackingManager();\n const [debug, setDebug] = useState(false);\n const [disableIntroNextStep, setDisableIntroNextStep] = useState(false);\n const [isValueSelected, setIsValueSelected] = useState(false);\n const [closed, setClosed] = useState(false);\n const nextStepEventEmitter: BehaviorSubject = new BehaviorSubject(false);\n const layerManager = useFeatureServices()['layer-manager'];\n const history = useFeatureServices()['s2:history'];\n const config = useFeatureAppConfig();\n const env = useFeatureAppEnvironment();\n\n useEffect(() => {\n window.OneForm = { debug, toggleDebugMode };\n setTimeout(() => {\n const { person } = oneFormService.get();\n if (person) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { ...person } });\n setObjectValues(person, methods.setValue);\n }\n }, 1000);\n }, []);\n\n const toggleDebugMode = () => {\n setDebug(!debug);\n window.OneForm.debug = !debug;\n };\n\n const initializeForm = (\n initialFormInfo: Partial,\n initialFormData: Partial,\n skipLayerInit?: boolean\n ) => {\n // En algunos casos al finalizar el formulario y cerrar el layer se vuelve a disparar el evento;\n if (formSubmitted || closed) {\n return;\n }\n\n dispatch({ type: 'UPDATE_FORM', payload: initialFormData });\n dispatch({ type: 'SET_FORM_INFO', payload: { ...formInfoInitialState, ...initialFormInfo } });\n dispatch({ type: 'SET_INITIAL_STEPS', payload: initialFormInfo.steps });\n setTimeout(() => {\n // Solucion al bug que se produce cuando hay un error genérico. Al resetear el estado\n // se añade el último screenIndex que había antes de producirse el error, por lo que\n // la navegación se ve alterada.\n dispatch({ type: 'SET_STEPS_HISTORY', payload: initialFormInfo.stepsHistory });\n if (!skipLayerInit) {\n trackingManager.trackFormLayerLoad();\n }\n }, 0);\n };\n\n useEffect(() => {\n if (screenIndex !== 0 && screenIndex !== null) {\n dispatch({ type: 'UPDATE_STEPS_HISTORY', payload: screenIndex });\n }\n if (screenIndex !== 2 && nextMultiStepScreenIndex !== null) setNextMultiStepScreenIndex(null);\n setTimeout(() => {\n setObjectValues(formData.fields, methods.setValue);\n }, 500);\n }, [screenIndex]);\n\n /**\n * En el journey de no compra al llegar al mapa se abre un layer. Se necesita que interactue con el next step, por lo que lo tenemos que cerrar desde aquí\n */\n const handleMapFullScreenLayer = (isNext: boolean) => {\n const layers = layerManager.getLayers();\n const layer = layers.find(\n (layer) => layer.layer.options.id === 'mapaNoCompra' || layer.layer.options.id === 'mapaNoRenovacion' || layer.layer.options.id === 'mapaLeadInPage'\n );\n\n if (layer) {\n layer.layer?.close();\n isNext ? nextStep() : previousStep();\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: false });\n setWaitForPreviousStep(false);\n }\n };\n\n const handleNextStep = async (e?: any) => {\n if (e) e.preventDefault();\n\n const { step } = store.getState().formInfo;\n\n if (step && step.isLastStep) {\n return;\n }\n const values = methods.getValues();\n\n const isValid = await methods.triggerValidation();\n const { waitForNextStep } = store.getState().formInfo;\n\n // if (isValid && suggestionIsInCanaryIslands) {\n // renderAvisoIslasCanariasLayer(store, env, layerManager);\n\n // return;\n // }\n\n if (isValid) {\n if (!moveForward) setMoveForward(true);\n setError(false);\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n\n //console.log(formData);\n\n handleMapFullScreenLayer(true); // Revisar para optimizar esta llamada y que solo debería ejecutarse si el form es inPage y el step en un layer\n\n if (waitForNextStep) {\n nextMultiStep();\n } else {\n nextStep();\n }\n } else {\n setError(true);\n const keys = Object.keys(methods.errors);\n\n const errorFields: ErrorFormFields[] = keys.map((key) => {\n return { 'form field id': 'id', 'form field name': key };\n });\n\n keys.map((err) => trackingManager.trackFormErrorMessageLoad({ message: err }, errorFields));\n }\n };\n\n const nextStep = () => {\n let nextStepNumber: number;\n let nextStep: Steps;\n\n // En algunos casos según como se inicializa el form ni el screenIndex ni los steps están disponibles, por lo que hay que\n // utilizar el getState para obtener el estado actual.\n const { screenIndex, steps } = store.getState().formInfo;\n\n if (formEnded && lastStep) {\n nextStepNumber = lastStep.screenIndex;\n nextStep = lastStep;\n } else {\n nextStepNumber = nextStepCallback ? nextStepCallback() : screenIndex + 1;\n nextStep = steps[nextStepNumber];\n }\n\n handleStepChange(nextStep, nextStepNumber, true);\n };\n\n const handlePreviousStep = (e: any) => {\n e.preventDefault();\n if (moveForward) {\n setMoveForward(false);\n }\n\n if (formData.fields.formName?.includes('no_compra') || formData.fields.formName?.includes('no_renovacion') || formData.fields.formName?.includes('lead_inpage')) {\n handleMapFullScreenLayer(false);\n }\n const values = methods.getValues();\n // Comprobar si es correcto antes de actualizar?\n // dispatch({ type: 'UPDATE_FIELDS', payload: values });\n waitForPreviousStep ? previousMultiStep() : previousStep();\n if (formEnded) dispatch({ type: 'UPDATE_FORM_ENDED', payload: false });\n };\n\n const previousStep = () => {\n // Es necesario poder sobreescribir previousStep?\n const { screenIndex, steps, stepsHistory } = store.getState().formInfo;\n\n const indexActualScreen = stepsHistory.indexOf(screenIndex);\n const newScreenIndex = stepsHistory[indexActualScreen - 1];\n const indexInSteps = steps.findIndex((step: any) => step.screenIndex === newScreenIndex);\n const previousStep = steps[indexInSteps];\n\n // Falta eliminar el último elemento de stepsHistory\n handleStepChange(previousStep, newScreenIndex, false);\n };\n\n const handleStepChange = (step: Steps, screenIndex: number, isMovingForward: boolean) => {\n handleScreenChange(screenIndex);\n dispatch({ type: 'SET_NAVIGATION_MOVING_FORWARD', payload: isMovingForward });\n setTimeout(() => {\n dispatch({ type: 'UPDATE_STEP', payload: step });\n // dispatch({ type: 'UPDATE_STEPS_HISTORY', payload: screenIndex });\n dispatch({ type: 'UPDATE_FULLSCREEN', payload: step?.fullScreen });\n setIsFullScreen(step?.fullScreen);\n }, TIME_FOR_TRANSFORM);\n };\n\n const handleScreenChange = (newNumber?: number) => {\n if (typeof newNumber === 'number') setNextScreenIndex(newNumber);\n dispatch({ type: 'TRIGGER_EXIT_ANIMATION', payload: true });\n setTimeout(() => {\n dispatch({ type: 'TRIGGER_EXIT_ANIMATION', payload: false });\n if (typeof newNumber === 'number') {\n dispatch({ type: 'UPDATE_SCREEN', payload: newNumber });\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const handleShowFinalScreen = () => {\n dispatch({ type: 'SHOW_FINAL_SCREEN', payload: true });\n };\n\n const closeLayer = () => {\n dispatch({ type: 'RESET_STATE' });\n setClosed(true);\n closeLayerCallback({}, {}, {});\n\n if (env.done) {\n env.done();\n }\n return;\n };\n\n const sendForm = async (): Promise => {\n return new Promise((resolve) => {\n sendFormCallback\n ? resolve(sendFormCallback())\n : setTimeout(() => {\n resolve(true);\n }, 2000);\n });\n };\n\n const handleSubmit = async (e: SyntheticEvent) => {\n e.preventDefault();\n const responseIsValid = await sendForm();\n return responseIsValid;\n };\n\n const renderAvisoCanarias = () => {\n let redirect: string;\n\n if (formData.fields.formName === 'cita-posventa') {\n redirect = 'https://www.vwcanarias.com/es/cita-previa.html';\n } else {\n redirect = 'https://cita.vwcanarias.com/';\n }\n\n return (\n \n \n \n );\n };\n\n return (\n \n \n {\n const values = methods.getValues();\n\n if (e.keyCode === 13 && !disableIntroNextStep && Object.keys(values).length > 0) {\n handleNextStep(e);\n } else if (e.keyCode === 13 && disableIntroNextStep) {\n e.preventDefault();\n }\n }}\n className=\"form-provider\"\n >\n {props.children}\n \n {error && screenIndex !== numberOfScreens - 1 ? (\n \n \n Necesitamos esta información para seguir\n \n \n ) : null}\n \n \n );\n};\n\nexport const getDeviceType = (): string => (deviceType === 'browser' ? 'desktop' : deviceType.toLowerCase());\n\nexport const getTrackingCode = (): string => ((typeof s !== 'undefined' && typeof s.persCmp !== 'undefined') ? s.persCmp : 'undefined');\n","import React from 'react';\nimport {\n Layout,\n Breakpoints,\n LayoutRowGap,\n} from '@volkswagen-onehub/components-core';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\ninterface OneElementTemplateProps {\n element: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\n// Refactorizar\nfunction OneElementTemplate(props: OneElementTemplateProps) {\n\tconst { element } = props;\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\n\treturn (\n\t\t\n\t\t\t{element}\n\t\t\n\t);\n}\n\ninterface TwoElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nfunction TwoElementsTemplate(props: TwoElementsTemplateProps) {\n const { firstElement, secondElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n \n );\n}\n\ninterface ThreeElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n thirdElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nfunction ThreeElementsTemplate(props: ThreeElementsTemplateProps) {\n const { firstElement, secondElement, thirdElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n {thirdElement}\n \n );\n}\n\nexport { OneElementTemplate, TwoElementsTemplate, ThreeElementsTemplate };\n","import { CTA, styled } from '@volkswagen-onehub/components-core';\nimport { ArrowUp, Close } from 'src/icons-core-imports';\nimport { LayerHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { css } from 'styled-components';\nimport { useLoaded } from 'src/feature-app';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext } from '../OneForm';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useFeatureServices } from '../hooks';\nimport { removeConfigurationHash } from '../remove-configuration-hash';\n\n\n{/*\n paddings top prev step wrapper antes de adaptacion a nuevo formato de editorial template with feature\n app in stage que ya setea automáticamente el espacio reservado para la navbar. Se ha retirado también del\n prev-step-controller\n 560: padding-top: 110px;\n 1920: padding-top: 126px;\n*/}\ninterface wrapperProps {\n fullScreen?: boolean;\n closeInMap?: boolean;\n colorTheme?: string;\n notALayer?: boolean;\n}\n\nconst Wrapper = styled.div`\n position: ${(props) => props.notALayer ? 'absolute' : props.closeInMap ? 'relative' : props.fullScreen ? 'absolute' : 'fixed'};\n top: ${(props) => (props.notALayer ? '84' : '0')};\n right: 0;\n align-self: ${(props) => (props.notALayer ? 'flex-start' : null)};\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002) 20px' : '20px 20px')};\n display: ${(props) => (props.closeInMap ? 'flex' : props.fullScreen ? 'none' : 'flex')};\n justify-content: ${(props) => (props.notALayer ? 'flex-end' : 'space-between')};\n background-color: ${(props) => (props.notALayer ? 'transparent' : props.colorTheme === 'main' ? '#FFFFFF' : '#001e50')};\n z-index: ${(props) => (props.closeInMap && props.notALayer ? '5' : props.notALayer ? '1' : '2')};\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n width: 100%;\n min-height: ${(props) => (props.notALayer ? 'auto' : '72px')};\n margin-bottom: auto;\n @media all and (min-width: 560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002) 24px' : '24px 24px')};\n min-height: ${(props) => (props.notALayer ? 'auto' : '80px')};\n ${(props) =>\n props.notALayer &&\n css`\n top: 92;\n `}\n }\n\n @media screen and (min-width: 960px) {\n background-color: ${(props) => (props.colorTheme === 'main' ? 'transparent' : '#001e50')};\n margin-bottom: unset;\n width: ${(props) => (props.notALayer ? '100%' : props.closeInMap ? '100%' : '960px')};\n padding: ${(props) =>\n props.closeInMap && props.notALayer ? '28px 20px 0' : props.notALayer ? '0 var(--size-grid003) 24px' : '24px 24px'};\n ${(props) =>\n props.notALayer &&\n css`\n top: 102;\n `}\n }\n @media screen and (min-width: 1280px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid005) 24px' : '24px 24px')};\n }\n @media screen and (min-width: 1920px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid006) 24px' : '24px 24px')};\n }\n @media screen and (min-width: 2560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid007) 24px' : '24px 24px')};\n }\n\n button {\n background-color: ${(props) => (props.colorTheme === 'main' ? '#FFFFFF' : null)};\n }\n\t.close-icon {\n\t\tcolor: ${(props) => (props.colorTheme === 'main' ? '#001E50' : '#FFFFFF')};\n\t}\n`;\n\nconst CloseDiv = styled.div`\n cursor: pointer;\n &.close-enter {\n opacity: 0;\n }\n &.close-enter-active {\n opacity: 1;\n transition: opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.close-enter-done {\n }\n &.close-exit {\n transform: translate(0, 0);\n opacity: 1;\n }\n &.close-exit-active {\n transform: translate(0, -100%);\n opacity: 0.01;\n transition: all ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n`;\n\ninterface CloseComponentProps {\n closeInMap?: boolean;\n closeThankYou?: boolean;\n handleAreYouSureLayer?: () => LayerHandleV2<{}>;\n notALayer?: boolean;\n colorTheme?: string;\n formMin?: boolean;\n}\nexport function CloseComponent(props: CloseComponentProps) {\n const { closeInMap, handleAreYouSureLayer, colorTheme, notALayer, formMin } = props;\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { screenIndex, stepsHistory, multiStepScreenIndex, formSubmitted } = formInfo;\n const [isFirstScreen, setIsFirstScreen] = useState(true);\n const loaded = useLoaded();\n const { handlePreviousStep, isFullScreen, closeLayer } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const layerManager = useFeatureServices()['layer-manager'];\n const dispatch = useDispatch()\n /**\n * En el journey de no compra al llegar al mapa se abre un layer. Se necesita que interactue con el next step, por lo que lo tenemos que cerrar desde aquí\n */\n const handleMapFullScreenLayer = () => {\n const layers = layerManager.getLayers();\n\n const layer = layers.find(\n (layer) => layer.layer.options.id === 'mapaNoCompra' || layer.layer.options.id === 'mapaNoRenovacion' || layer.layer.options.id === 'mapaLeadInPage'\n );\n\n if (layer) {\n layer.layer?.close();\n }\n };\n\n useEffect(() => {\n if (stepsHistory && stepsHistory.length > 0 && !multiStepScreenIndex) {\n stepsHistory[0] === screenIndex ? setIsFirstScreen(true) : setIsFirstScreen(false);\n } else {\n setIsFirstScreen(false);\n }\n }, [screenIndex, multiStepScreenIndex]);\n\n return (\n \n \n {notALayer ? null : (\n {\n e.preventDefault();\n trackingManager.trackFormCloseClick(\n {\n contentId: 'Cerrar',\n },\n { FormStart: screenIndex === 0 ? true : false }\n );\n handleMapFullScreenLayer(); // Revisar para optimizar esta llamada y que solo debería ejecutarse si el form es inPage y el step en un layer\n if (!formSubmitted) {\n handleAreYouSureLayer();\n } else {\n closeLayer();\n }\n }}\n >\n \n \n )}\n\n {isFirstScreen || props.closeThankYou ? null : (\n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Anterior',\n });\n handlePreviousStep(e);\n }}\n tag=\"button\"\n emphasis=\"secondary\"\n size=\"small\"\n icon={}\n >\n Anterior\n \n )}\n \n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n LayoutConfiguration,\n styled,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Checkmark } from 'src/icons-core-imports';\nimport { Legales } from 'src/components';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { PreviousStep, CloseComponent, Navigation } from 'src/feature-app/Screen';\nimport { useOneFormContext } from '../OneForm';\nimport { css, keyframes } from 'styled-components';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\nimport { useShowOverflow } from 'src/feature-app/hooks';\n\nconst lineKeyframe = keyframes`\n 0% {\n transform: rotate(-90deg);\n }\n 60% {\n transform: rotate(45deg);\n }\n 100% {\n transform: rotate(0deg);\n }\n`;\n\nconst AnimatedCheckmark = styled.div`\n animation: ${lineKeyframe} 0.3s ease-in;\n svg {\n color: #001e50;\n }\n`;\n\ninterface PaddingControllerProps {\n screenIndex?: number;\n multiStepScreenIndex?: number;\n showPreviousStep?: boolean;\n formHeight?: string;\n formMin?: boolean;\n isTrigger?: boolean;\n showOverflow?: boolean;\n alingItemsCenter?: boolean;\n}\n\nconst ContentCotroller = styled.div`\n width: 100%;\n min-height: calc(100vh - 140px);\n height: 100%;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n overflow: ${(props) => ( props.isTrigger ? 'hidden' : 'visible')};\n padding-bottom : 44px;;\n align-items: ${(props) => props.alingItemsCenter ? 'center' : null};\n @media all and (min-width: 560px) {\n min-height: calc(100vh - 92px);\n }\n @media all and (min-width: 960px) {\n min-height: calc(100vh - 100px);\n }\n @media all and (min-width: 1920px) {\n min-height: calc(100vh - 116px);\n }\n`;\n\n\nconst FakePreviousStep = styled.div`\n height: 136px;\n`;\nconst FakeClose = styled.div`\n height: 32px;\n margin-bottom: auto;\n width: 100%;\n @media all and (min-width: 960px) {\n margin-bottom: unset;\n position: absolute;\n top: 0;\n }\n`;\ninterface PrevStepWrapperProps extends PaddingControllerProps {\n moveForward: boolean;\n distanceToMove: number;\n showPreviousStep: boolean;\n}\n\n\n\nconst PrevStepWrapper = styled.div`\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid004)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid014)' : 'unset')};\n display: flex;\n\n @media screen and (min-width: 1280px) {\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid006)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid010)' : 'unset')};\n }\n @media screen and (min-width: 1920px) {\n\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid007)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid009)' : 'unset')};\n }\n @media screen and (min-width: 2560px) {\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid008)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid007)' : 'unset')};\n }\n &.no-animation {\n opacity:1;\n }\n &.prev-step-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n transform: translate3d(0, -90%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-out;\n `\n : css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(0, 10vh, 0);\n }\n transition: all 300ms;\n `}\n }\n &.prev-step-exit-done {\n ${(props) =>\n !props.moveForward && props.distanceToMove\n ? css`\n width: 75%;\n transition: all 250ms;\n transform: translate3d(-4.17vw, ${props.distanceToMove}px, 0);\n * {\n font-size: var(--textappearances-headline350-fontsize);\n line-height: var(--textappearances-headline350-lineheight);\n letter-spacing: var(--textappearances-headline350-letterspacing);\n opacity: 1;\n }\n `\n : css`\n transform: translate3d(0, -90%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS}, letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out;\n `}\n }\n`;\n\nconst ContentWrapper = styled.div`\n width: 100%;\n height: 100%;\n overflow: visible;\n`;\n\nconst TitleWrapper = styled.div<{ moveForward: boolean; distanceToTop: number }>`\n opacity: 0;\n &.no-animation {\n opacity: 1;\n > div {\n &:first-of-type {\n width: var(--size-grid020);\n @media all and (min-width: 960px) {\n width: var(--size-grid018);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid014);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid012);\n }\n @media all and (min-width: 2560px) {\n width: var(--size-grid010);\n }\n }\n }\n }\n &.title-enter {\n transform: translate3d(0%, -50%, 0);\n opacity: 0;\n width: 100% !important;\n @media screen and (min-width: 960px) {\n transform: ${(props) => (props.moveForward ? 'translate3d(0%, -50%, 0)' : 'unset')};\n opacity: ${(props) => (props.moveForward ? '0' : '1')};\n }\n }\n &.title-enter-done {\n width: 100% !important;\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.title-exit {\n width: 100% !important;\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n &.title-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(var(--size-grid001), -10vh, 0);\n /* width previous step solo en forward move */\n width: var(--size-grid014) !important;\n * {\n font-size: var(--textappearances-headline300-fontsize);\n line-height: var(--textappearances-headline300-lineheight);\n letter-spacing: var(--textappearances-headline300-letterspacing);\n }\n }\n @media screen and (min-width: 1280px) {\n width: var(--size-grid010) !important;\n }\n @media screen and (min-width: 1600px) {\n transform: translate3d(var(--size-grid001), -15vh, 0);\n }\n @media screen and (min-width: 1920px) {\n transform: translate3d(var(--size-grid001), -15vh, 0)};\n width: var(--size-grid009) !important;\n }\n @media screen and (min-width: 2560px) {\n transform: translate3d(var(--size-grid001), -15vh, 0)};\n width: var(--size-grid007) !important;\n }\n transition: all 350ms;\n `\n : css`\n opacity: 0;\n transform: translate3d(0, 350%, 0);\n transition: all ${TIME_FOR_TRANSFORM_MS};\n `}\n }\n &.title-exit-done {\n /* desktop */\n ${(props) =>\n props.moveForward && props.distanceToTop\n ? css`\n opacity: 0.2;\n * {\n font-size: var(--textappearances-headline300-fontsize);\n line-height: var(--textappearances-headline300-lineheight);\n letter-spacing: var(--textappearances-headline300-letterspacing);\n }\n transform: translate3d(var(--size-grid001), -${props.distanceToTop}px, 0);\n transition: all 300ms;\n @media screen and (min-width: 960px) {\n width: var(--size-grid014) !important;\n }\n @media screen and (min-width: 1280px) {\n width: var(--size-grid010) !important;\n }\n @media screen and (min-width: 1920px) {\n width: var(--size-grid009) !important;\n }\n @media screen and (min-width: 2560px) {\n width: var(--size-grid007) !important;\n }\n `\n : css`\n opacity: 0;\n width: inherit !important;\n transform: translate3d(0, 45vh, 0);\n transition: all 300ms;\n @media screen and (min-width: 960px) {\n transform: translate3d(0, 350%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS}, letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out;\n }\n `}\n }\n`;\n\nconst MobileTitleWrapper = styled.div<{ moveForward: boolean; distanceToTop: number }>`\n width: var(--size-grid020) !important;\n padding-top: 52px;\n &.title-enter {\n transform: translate3d(0%, -50%, 0);\n opacity: 0;\n }\n &.title-enter-done {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.title-exit {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n &.title-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n opacity: 0.1;\n transition: all 200ms;\n `\n : css`\n opacity: 0;\n transform: translate3d(0, 350%, 0);\n transition: all ${TIME_FOR_TRANSFORM_MS};\n `}\n }\n &.title-exit-done {\n opacity: ${(props) => (props.moveForward ? '0.1' : '0')};\n /* mobile */\n transform: ${(props) => (props.moveForward ? 'translate3d(0, -25vh, 0)' : 'translate3d(0, 45vh, 0)')};\n transition: all 300ms;\n }\n`;\n\nconst FieldsWrapper = styled.div<{ opacity: string }>`\n opacity: ${(props) => props.opacity};\n &.fields-enter {\n transform: translate3d(0, 25%, 0);\n opacity: 0;\n }\n &.fields-enter-active {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity 300ms ease-in;\n }\n &.fields-exit {\n opacity: 0;\n }\n &.fields-exit-active {\n opacity: 0;\n }\n`;\ninterface ScreenProps {\n title: JSX.Element;\n fields: JSX.Element;\n key: number;\n avoidTrackFormStepLoad?: boolean;\n thankYouPage?: boolean;\n}\n\nconst defaultLayout: LayoutConfiguration = {\n [Breakpoints.default]: [\n { name: '.', columns: 2 },\n { name: 'a', columns: 20 },\n { name: '.', columns: 2 },\n ],\n [Breakpoints.b960]: [\n { name: '.', columns: 3 },\n { name: 'a', columns: 18 },\n { name: '.', columns: 3 },\n ],\n [Breakpoints.b1280]: [\n { name: '.', columns: 5 },\n { name: 'a', columns: 14 },\n { name: '.', columns: 5 },\n ],\n [Breakpoints.b1920]: [\n { name: '.', columns: 6 },\n { name: 'a', columns: 12 },\n { name: '.', columns: 6 },\n ],\n [Breakpoints.b2560]: [\n { name: '.', columns: 7 },\n { name: 'a', columns: 10 },\n { name: '.', columns: 7 },\n ],\n};\n\nexport function FullScreen(props: ScreenProps) {\n const { title, fields, key, avoidTrackFormStepLoad, thankYouPage } = props;\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const {\n multiStepScreenIndex,\n screenIndex,\n triggerExitAnimation,\n showFinalScreen,\n numberOfScreens,\n formEnded,\n alingItemsCenter,\n deleteCloseAndPrevious\n } = formInfo;\n const trackingManager = useTrackingManager();\n const {\n distanceToMove,\n setDistanceToMove,\n moveForward,\n nextScreenIndex,\n nextMultiStepScreenIndex,\n showPreviousStep,\n } = useOneFormContext();\n\n // Si se necesita que el overflow sea visible. Selects no nativos, suggests, etc. Añadir en la definicion del step showOverflow.\n\n const { showOverflow } = useShowOverflow(false);\n const [ linkBasesLegales, setLinkBasesLegales ] = useState(null);\n const [ isConfirmacionPage, setIsConfirmacionPage ] = useState(false);\n\n useEffect(() => {\n\n\t// Añadir link de la promocion a los legales\n if(formData.fields.formName ==='adhoc-2021-eurocopa') {\n setLinkBasesLegales('https://crm.volkswagen.es/cms/2021/legal_concurso_eurocopa_2021.pdf');\n }\n\n if (showFinalScreen) {\n setIsConfirmacionPage(false);\n }\n\n if (screenIndex === numberOfScreens - 1) {\n if( formData.fields.formName === 'cem-venta' || formData.fields.formName === 'cem-posventa' ){\n setIsConfirmacionPage(false);\n } else {\n setIsConfirmacionPage(true);\n }\n } else {\n setIsConfirmacionPage(false);\n }\n }, [screenIndex, showFinalScreen]);\n\n // calc height stuff\n const [initialHeight, setInitialHeight] = useState(null);\n const [isTrigger, setIsTrigger] = useState(false);\n const viewportHeight = useWindowHeight();\n const viewportWidth = useWindowWidth();\n\n const content = useRef(null);\n const prevStep = useRef(null);\n\n const [currentRef, setCurrentRef] = useState(null); // optimizar ocn useMemo\n\n // animation stuff\n const [showFields, setShowFields] = useState(false);\n const [showTitle, setShowTitle] = useState(false);\n const [opacity, setOpacity] = useState('0');\n\n // variables para animacion entre steps\n const [distanceToTop, setDistanceToTop] = useState(0);\n const titleRef = useRef(null);\n const contentRef = useRef(null);\n\n // navigation stuff\n const [formClicked, setFormClicked] = useState(false);\n\n useEffect(() => {\n if (!formClicked) {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n }\n }, [formClicked]);\n\n // usar useLayoutEffect para asegurar que los cálculos de distancias se hacen antes de un nuevo render del contenido\n useEffect(() => {\n setTimeout(() => {\n if (titleRef.current && contentRef.current) {\n const titleLength = titleRef.current.innerText.length;\n // titleRef.current.scrollIntoView({ behavior: 'smooth', block: 'end' });\n /*\n extra height en breakpoints grandes y dependiendo de la longitud del título, que afecta a la animación\n desconozco por qué ocurre, pero no depende del viewport height, sino del viewport width\n */\n if (window.matchMedia('(min-width: 1600px)').matches && contentRef) {\n const extraHeight = titleLength < 60 ? (titleLength < 53 ? 8 : 18) : 36;\n setDistanceToTop(titleRef.current.offsetTop + extraHeight);\n } else {\n const extraHeight = titleLength < 53 ? 18 : 0;\n // setDistanceToTop(titleRef.current.getBoundingClientRect().top - extraHeight);\n setDistanceToTop(\n titleRef.current.getBoundingClientRect().top -\n contentRef.current.getBoundingClientRect().top +\n 32 -\n extraHeight\n );\n }\n /*\n guardar distancia del título a la parte superior del contenedor padre en un array de distancias\n para saber la distancia que tiene que recorrer el previousStep si la navegación va para atrás\n */\n if ((screenIndex === 0 && nextScreenIndex === null) || screenIndex + 1 > distanceToMove.length) {\n const extraHeight = titleLength < 53 ? 18 : 0;\n setDistanceToMove((distanceToMove) => [\n ...distanceToMove,\n titleRef.current.getBoundingClientRect().top -\n contentRef.current.getBoundingClientRect().top +\n 32 -\n extraHeight,\n ]);\n } else if (\n screenIndex + 1 <= distanceToMove.length &&\n nextMultiStepScreenIndex !== 1 &&\n nextMultiStepScreenIndex !== 2\n ) {\n const arrDistances = distanceToMove;\n const extraHeight = titleLength < 53 ? 18 : 0;\n arrDistances[screenIndex] =\n titleRef.current.getBoundingClientRect().top -\n contentRef.current.getBoundingClientRect().top +\n 32 -\n extraHeight;\n setDistanceToMove(arrDistances);\n }\n }\n }, 0);\n }, [titleRef]);\n\n useEffect(() => {\n if (triggerExitAnimation) {\n if (!formEnded) {\n setShowTitle(false);\n setShowFields(false);\n }\n }\n }, [triggerExitAnimation]);\n\n useEffect(() => {\n // Ni en la primera carga ni en la thank you page se tiene que disparar este evento.\n // El flag isFirstStep solo lo necesitamos en la primera carga, después si que se tiene que disparar el evento.\n\n if (formInfo.step?.isFirstStep || avoidTrackFormStepLoad || (formInfo.stepsHistory?.length === 1 && (!multiStepScreenIndex || multiStepScreenIndex === 0))) {\n if(formInfo.step) formInfo.step.isFirstStep = false;\n return;\n }\n trackingManager.trackFormStepLoad(\n {\n // contentId: step.title\n },\n {\n FormStart: false,\n }\n );\n }, [title]);\n\n useEffect(() => {\n if (window.matchMedia('(max-width: 960px)').matches && contentRef) {\n contentRef.current.scrollTo({ top: 0 });\n }\n setShowTitle(true);\n }, []);\n\n //Que en la zona del mapa no vuelva a lanzar las animaciones\n const [ stopAnimation, setStopAnimation ] = useState(false);\n\n useEffect(()=>{\n\n if(\n formData.fields.formName === 'no_compra-no_tengo'\n && screenIndex === 4\n && multiStepScreenIndex === 0\n || formData.fields.formName === 'no_compra-no_tengo'\n && screenIndex === 5\n && multiStepScreenIndex === 0\n ) {\n setStopAnimation(true);\n }\n\n }, [screenIndex]);\n\n const [ hideCloseAndPrevious, setHideCloseAndPrevious ] = useState(false);\n\n useEffect(()=>{\n if(deleteCloseAndPrevious){\n if(\n formData.fields.formName === 'lead-test_drive-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n || formData.fields.formName === 'lead-presupuesto-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n || formData.fields.formName === 'lead-mas_informacion-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n || formData.fields.formName === 'lead-cita-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n ) {\n setHideCloseAndPrevious(true);\n } else {\n setHideCloseAndPrevious(false);\n }\n } else {\n setHideCloseAndPrevious(false);\n }\n\n }, [screenIndex]);\n\n const [ alingContentCenter, setAlingContentCenter ] = useState(false);\n\n useEffect(()=>{\n if(viewportWidth < 960 || alingItemsCenter=== true) {\n setAlingContentCenter(true);\n } else {\n setAlingContentCenter(false);\n }\n }, [screenIndex]);\n\n\n return (\n <>\n \n {showFinalScreen || hideCloseAndPrevious || thankYouPage ? null : screenIndex === 0 ? (\n \n ) : (\n \n )}\n\n {showFinalScreen || hideCloseAndPrevious || thankYouPage ? null : viewportWidth >= 960 && !showPreviousStep ? (\n \n ) : viewportWidth >= 960 ?\n (\n \n \n \n \n \n ) : null}\n\n \n \n <>\n {showFinalScreen ? (\n \n \n \n \n \n ) : null}\n\n {\n viewportWidth < 960 && title ? (\n {\n setTimeout(() => {\n setShowFields(true);\n }, 100);\n }}\n onExited={() => {}}\n >\n \n {title}\n \n \n ) : (\n {\n setTimeout(() => {\n setShowFields(true);\n }, 100);\n }}\n onExited={() => {}}\n >\n \n {title}\n \n \n )\n }\n \n \n\n {\n setOpacity('1');\n }}\n onExited={() => {\n setOpacity('0');\n }}\n >\n {fields}\n \n \n \n {showFinalScreen ? null : (\n <>\n {isConfirmacionPage ? (\n \n \n \n ) : null}\n \n )}\n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n styled,\n Text,\n BreakpointWrapper,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Checkmark } from 'src/icons-core-imports';\n\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState } from 'src/types';\nimport { useTrackingManager, useFeatureAppConfig, useShowOverflow } from 'src/feature-app/hooks';\nimport { PreviousStep } from 'src/feature-app/Screen';\nimport { useOneFormContext } from '../OneForm';\nimport { css, keyframes } from 'styled-components';\n\nconst lineKeyframe = keyframes`\n 0% {\n transform: rotate(-90deg); \n }\n 60% {\n transform: rotate(45deg);\n }\n 100% {\n transform: rotate(0deg);\n }\n`;\n\nconst AnimatedCheckmark = styled.div`\n animation: ${lineKeyframe} 0.3s ease-in;\n svg {\n color: #ffffff;\n }\n`;\n\ninterface PaddingControllerProps {\n screenIndex: number;\n multiStepScreenIndex: number;\n showPreviousStep?: boolean;\n isDealerCalendar?: boolean;\n showOverflow?: boolean;\n}\n\nconst ContentCotroller = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: ${(props) => (!props.showPreviousStep ? '0' : '80px')};\n padding-bottom: ${(props) => (!props.showPreviousStep ? '0' : props.screenIndex === 10 ? '96px' : '128px')};\n min-height: 100vh;\n width: 100%;\n overflow: ${(props) => (props.showOverflow ? 'visible' : 'auto')};\n & input:-internal-autofill-selected {\n background-color: transparent !important;\n }\n`;\n\ninterface PrevStepWrapperProps extends PaddingControllerProps {\n moveForward: boolean;\n distanceToMove: number;\n showPreviousStep: boolean;\n}\n\nconst PrevStepWrapper = styled.div`\n margin-left: ${(props) => (props.showPreviousStep ? '160px' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? '640px' : 'unset')};\n padding-bottom: ${(props) =>\n props.screenIndex === 2 && props.multiStepScreenIndex === 2 ? null : props.showPreviousStep ? '72px' : '0'};\n display: flex;\n\n @media all and (max-height: 624px) {\n padding-bottom: ${(props) =>\n props.screenIndex === 2 && props.multiStepScreenIndex === 2 ? null : props.showPreviousStep ? '44px' : '0'};\n }\n\n &.prev-step-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n transform: translate3d(0, -90%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-out;\n `\n : css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(0, 10vh, 0);\n }\n transition: all 300ms;\n `}\n }\n &.prev-step-exit-done {\n transform: ${(props) =>\n props.moveForward\n ? 'translate3d(0, -90%, 0)'\n : props.distanceToMove\n ? `translate3d(-41px, ${props.distanceToMove}px, 0)`\n : 'translate3d(-41px, 300px, 0)'};\n @media screen and (min-width: 1600px) {\n transform: ${(props) =>\n props.moveForward\n ? 'translate3d(0, -90%, 0)'\n : props.distanceToMove\n ? `translate3d(-41px, calc(${props.distanceToMove}px + 36px), 0)`\n : 'translate3d(-41px, 300px, 0)'};\n }\n ${(props) =>\n !props.moveForward &&\n css`\n width: 709px;\n * {\n font-size: var(--textappearances-headline350-fontsize);\n line-height: var(--textappearances-headline350-lineheight);\n letter-spacing: var(--textappearances-headline350-letterspacing);\n @media screen and (min-width: 1600px) {\n font-size: var(--textappearances-headline300-fontsize);\n line-height: var(--textappearances-headline300-lineheight);\n letter-spacing: var(--textappearances-headline300-letterspacing);\n }\n opacity: 1;\n }\n `}\n transition: ${(props) =>\n props.moveForward\n ? `\n transform ${TIME_FOR_TRANSFORM_MS},\n font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS},\n letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out\n `\n : 'all 250ms'}\n }\n`;\n\nconst ContentWrapper = styled.div`\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: 100%;\n overflow: ${(props) => (props.showOverflow ? 'visible' : 'auto')};\n @media all and (max-height: 573px) and (min-width: 960px) {\n margin-top: ${(props) => (props.screenIndex === 2 && props.multiStepScreenIndex === 1 ? '146px' : null)};\n }\n @media screen and (max-width: 959px) {\n padding-top: ${(props) => (props.isDealerCalendar ? null : props.multiStepScreenIndex === 0 ? '44px' : null)};\n }\n`;\n\nconst TitleWrapper = styled.div<{ moveForward: boolean; distanceToTop: number }>`\n &.title-enter {\n transform: translate3d(0%, -50%, 0);\n opacity: 0;\n @media screen and (min-width: 960px) {\n transform: ${(props) => (props.moveForward ? 'translate3d(0%, -50%, 0)' : 'unset')};\n opacity: ${(props) => (props.moveForward ? '0' : '1')};\n }\n }\n &.title-enter-done {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.title-exit {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n &.title-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(41px, -10vh, 0);\n /* width previous step solo en forward move */\n width: 640px;\n * {\n font-size: var(--textappearances-headline250-fontsize);\n line-height: var(--textappearances-headline250-lineheight);\n letter-spacing: var(--textappearances-headline250-letterspacing);\n }\n }\n @media screen and (min-width: 1600px) {\n transform: translate3d(41px, -15vh, 0);\n /* width previous step solo en forward move */\n width: 640px;\n * {\n font-size: var(--textappearances-headline250-fontsize);\n line-height: var(--textappearances-headline250-lineheight);\n letter-spacing: var(--textappearances-headline250-letterspacing);\n }\n }\n transition: all 350ms;\n `\n : css`\n opacity: 0;\n transform: translate3d(0, 350%, 0);\n transition: all ${TIME_FOR_TRANSFORM_MS};\n `}\n }\n &.title-exit-done {\n opacity: ${(props) => (props.moveForward ? '0.2' : '0')};\n /* mobile */\n transform: ${(props) => (props.moveForward ? 'translate3d(0, -25vh, 0)' : 'translate3d(0, 45vh, 0)')};\n transition: all 300ms;\n /* desktop */\n @media screen and (min-width: 960px) {\n transform: ${(props) =>\n props.moveForward ? `translate3d(41px, -${props.distanceToTop}px, 0)` : 'translate3d(0, 350%, 0)'};\n /* width previous step solo en forward move */\n width: ${(props) => (props.moveForward ? '640px' : 'inherit')};\n ${(props) =>\n props.moveForward &&\n css`\n * {\n font-size: var(--textappearances-headline250-fontsize);\n line-height: var(--textappearances-headline250-lineheight);\n letter-spacing: var(--textappearances-headline250-letterspacing);\n }\n `}\n transition: ${(props) =>\n props.moveForward\n ? 'all 300ms'\n : `\n transform ${TIME_FOR_TRANSFORM_MS},\n font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS},\n letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out\n `};\n }\n /* @media screen and (min-width: 1600px) {\n transform: ${(props) =>\n props.moveForward ? `translate3d(41px, calc(-${props.distanceToTop}px - 36px), 0)` : 'translate3d(0, 350%), 0'};\n } */\n }\n`;\n\nconst FieldsWrapper = styled.div<{ opacity: string }>`\n opacity: ${(props) => props.opacity};\n &.fields-enter {\n transform: translate3d(0, 25%, 0);\n opacity: 0;\n }\n &.fields-enter-active {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity 300ms ease-in;\n }\n &.fields-exit {\n opacity: 0;\n }\n &.fields-exit-active {\n opacity: 0;\n }\n`;\n\ninterface ScreenProps {\n title: JSX.Element;\n fields: JSX.Element;\n key: number;\n avoidTrackFormStepLoad?: boolean;\n}\n\nexport function LayerScreen(props: ScreenProps) {\n const { title, fields, key, avoidTrackFormStepLoad } = props;\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { multiStepScreenIndex, screenIndex, triggerExitAnimation, showFinalScreen, lastStep } = formInfo;\n const trackingManager = useTrackingManager();\n const config = useFeatureAppConfig();\n const {\n distanceToMove,\n setDistanceToMove,\n moveForward,\n nextScreenIndex,\n nextMultiStepScreenIndex,\n showPreviousStep,\n } = useOneFormContext();\n\n const [showFields, setShowFields] = useState(false);\n const [showTitle, setShowTitle] = useState(false);\n const [opacity, setOpacity] = useState('0');\n\n //Si se necesita que el overflow sea visible. Selectsno nativos, suggests, etc. Añadir en la definicion del step showOverflow.\n\n const { showOverflow } = useShowOverflow(true);\n\n //para el calendario de cita-posventa-dealer\n\n const [isDealerCalendar, setIsDealerCalendar] = useState(false);\n\n useEffect(() => {\n if (config.trigger === 'cita-posventa-dealer' && screenIndex === 2) {\n setIsDealerCalendar(true);\n } else {\n setIsDealerCalendar(false);\n }\n }, [screenIndex]);\n\n // variables para animacion entre steps\n const [distanceToTop, setDistanceToTop] = useState(0);\n const titleRef = useRef(null);\n const contentRef = useRef(null);\n\n // usar useLayoutEffect para asegurar que los cálculos de distancias se hacen antes de un nuevo render del contenido\n useEffect(() => {\n setTimeout(() => {\n if (titleRef.current && contentRef.current) {\n const titleLength = titleRef.current.innerText.length;\n // titleRef.current.scrollIntoView({ behavior: 'smooth', block: 'end' });\n /*\n extra height en breakpoints grandes y dependiendo de la longitud del título, que afecta a la animación\n desconozco por qué ocurre, pero no depende del viewport height, sino del viewport width\n */\n if (window.matchMedia('(min-width: 1600px)').matches && contentRef) {\n const extraHeight = titleLength < 60 ? (titleLength < 53 ? 8 : 18) : 36;\n setDistanceToTop(titleRef.current.offsetTop + extraHeight);\n } else {\n // console.log(titleRef.current.offsetTop, titleRef.current.getBoundingClientRect().top);\n const extraHeight = titleLength < 53 ? 18 : 0;\n setDistanceToTop(titleRef.current.getBoundingClientRect().top - extraHeight);\n }\n /*\n guardar distancia del título a la parte superior del contenedor padre en un array de distancias\n para saber la distancia que tiene que recorrer el previousStep si la navegación va para atrás\n */\n if ((screenIndex === 0 && nextScreenIndex === null) || screenIndex + 1 > distanceToMove.length) {\n setDistanceToMove((distanceToMove) => [...distanceToMove, titleRef.current.getBoundingClientRect().top]);\n } else if (\n screenIndex + 1 <= distanceToMove.length &&\n nextMultiStepScreenIndex !== 1 &&\n nextMultiStepScreenIndex !== 2\n ) {\n const arrDistances = distanceToMove;\n arrDistances[screenIndex] = titleRef.current.getBoundingClientRect().top;\n setDistanceToMove(arrDistances);\n }\n }\n }, 0);\n }, [titleRef]);\n\n useLayoutEffect(() => {\n if (triggerExitAnimation) {\n setShowTitle(false);\n setShowFields(false);\n }\n }, [triggerExitAnimation]);\n\n useEffect(() => {\n // Ni en la primera carga ni en la thank you page se tiene que disparar este evento.\n // El flag isFirstStep solo lo necesitamos en la primera carga, después si que se tiene que disparar el evento.\n setTimeout(() => {\n if (formInfo.step?.isFirstStep || avoidTrackFormStepLoad || (formInfo.stepsHistory?.length === 1 && (!multiStepScreenIndex || multiStepScreenIndex === 0))) {\n if(formInfo.step) formInfo.step.isFirstStep = false;\n return;\n }\n trackingManager.trackFormStepLoad(\n {\n // contentId: step.title\n },\n {\n FormStart: false,\n }\n );\n }, 0);\n }, [title]);\n\n useEffect(() => {\n if (window.matchMedia('(max-width: 960px)').matches && contentRef) {\n contentRef.current.scrollTo({ top: 0 });\n }\n setShowTitle(true);\n }, []);\n\n return (\n \n {showFinalScreen || !showPreviousStep ? null : (\n \n \n \n \n \n \n \n )}\n \n
\n \n <>\n {showFinalScreen ? (\n \n \n \n \n \n ) : null}\n {\n setTimeout(() => {\n setShowFields(true);\n }, 100);\n }}\n onExited={() => {}}\n >\n \n \n {title}\n \n \n {title}\n \n \n \n \n \n {\n setOpacity('1');\n }}\n onExited={() => {\n setOpacity('0');\n }}\n >\n {fields}\n \n
\n \n \n );\n}\n","import {\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport { ArrowDown } from 'src/icons-core-imports';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useSelector, useStore } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport {\n isNumber,\n useLoaded,\n useTrackingManager,\n} from 'src/feature-app';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\n\ninterface navigationWrapperProps {\n fullScreen?: boolean;\n isLastScreen?: boolean;\n notALayer?: boolean;\n colorTheme?: string;\n formMin?: boolean;\n position?: string;\n}\n\nconst NavigationWrapper = styled.div`\n display: ${(props) => (props.notALayer ? 'block' : props.fullScreen ? 'none' : props.isLastScreen ? 'none' : 'block')};\n position: ${(props) => (!props.notALayer ? 'fixed' : props.position ? props.position : 'relative')};\n bottom: 0;\n \n width: 100%;\n background-color: ${(props) => (props.notALayer ? 'transparent' : props.colorTheme === 'main' ? 'none' : '#001e50')};\n &:first-child {\n width: 100%;\n }\n\n @media screen and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? '100%' : '960px')};\n }\n\n &.navigation-enter {\n transform: translate(0%, 50%);\n opacity: 0;\n }\n &.navigation-enter-active {\n transform: translate(0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.navigation-enter-done {\n }\n &.navigation-exit {\n transform: translate(0, 0);\n opacity: 1;\n }\n &.navigation-exit-active {\n transform: translate(0, -100%);\n opacity: 0.01;\n transition: all ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n`;\n\ninterface ProgressWrapperProps {\n notALayer?: boolean;\n}\n\nconst ProgressWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: ${(props) => (props.notALayer ? 'var(--size-grid010)' : '187px')};\n \n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nconst BarWrapper = styled.div`\n width: 100%;\n position: relative;\n`;\n\ninterface UpperBarProps {\n width?: number;\n colorTheme?: string;\n}\nconst UpperBar = styled.div`\n position: absolute;\n width: ${(props) => `${props.width}%`};\n height: 2px;\n background: ${(props) => (props.colorTheme === 'main' ? '#001E50' : '#ffffff')};\n transition: all 0.3s;\n`;\n\nconst LowerBar = styled.div`\n position: absolute;\n width: 100%;\n height: 2px;\n background: ${(props) => (props.colorTheme === 'main' ? '#DFE4E8' : '#6a767d')} ;\n`;\n\nconst TextWrapper = styled.div`\n align-self: flex-end;\n margin-top: 8px;\n`;\n\nconst DisplayWrapper = styled.div` \n display: flex;\n justify-content: space-between;\n align-items: ${(props) => (props.notALayer ? 'flex-end' : null)};\n\n width: 100%;\n padding-bottom: ${(props) => (props.notALayer ? '16px' : props.fullScreen ? '0' : props.isLastScreen ? '0' : '20px')};\n padding-left: var(--size-grid002);\n padding-right:${(props) => (props.notALayer ? 'var(--size-grid002)' : 'var(--size-grid001)')};\n\n @media screen and (min-width: 560px) {\n padding-bottom: ${(props) => (props.notALayer ? '16px' : props.fullScreen ? '0' : props.isLastScreen ? '0' : '24px')};\n }\n @media screen and (min-width: 960px) {\n padding-left:${(props) => (props.notALayer ? 'var(--size-grid003)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid003)' : '40px')};\n padding-bottom: ${(props) => (props.notALayer ? '16px' : props.fullScreen ? '0' : props.isLastScreen ? '0' : '44px')};\n }\n @media screen and (min-width: 1280px) {\n padding-left: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '40px')};\n }\n @media screen and (min-width: 1920px) {\n padding-left: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '40px')};\n }\n @media screen and (min-width: 2560px) {\n padding-left: ${(props) => (props.notALayer ? 'var(--size-grid007)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid007)' : '40px')};\n }\n`;\n\nconst BackgroundPositionWrapper = styled.div`\n position: ${(props) => (props.notALayer ? 'relative' : null)};\n width: 100%; \n`;\n\nconst BackgroundColorNotALayer = styled.div`\n position: absolute;\n bottom: 0;\n width: 100%;\n background-color: #FFFFFF;\n border-top: ${(props) => props.position === 'fixed' ? '1px solid #DFE4E8' : null } ;\n height: 56px;\n z-index: -1;\n`;\n\nconst SVGColorWrapper = styled.div<{isValid: boolean}>`\n svg {\n color: ${(props)=>(props.isValid ? '#001E50' : '#6A767D')};\n }\n`;\n\nconst NextButtonWrapper = styled.div`\n padding-bottom: ${(props) => (props.notALayer ? '8px' : null)};\n`;\n\nconst NextButton = styled.button<{isValid: boolean}>`\n height: 64px;\n width: 64px;\n border-radius: 50%;\n border: none;\n background-color: ${(props)=>(props.isValid ? '#00B0F0' : '#C2CACF')};\n cursor: pointer;\n\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nfunction InnerNavigation(props: any) {\n const { formClicked, setFormClicked, notALayer, colorTheme, soloProgreso, isFullScreen, isLastScreen, position } = props;\n const { formInfo, formData } = useSelector(\n (state: OneFormState) => state\n );\n const { fields } = formData;\n const { screenIndex, numberOfScreens, multiStepScreenIndex, step, steps } = useSelector(\n (state: OneFormState) => state.formInfo\n );\n const { getValues, errors, triggerValidation, clearError } = useFormContext();\n const store = useStore();\n const { handleNextStep, setShowPreviousStep, isValueSelected, setIsValueSelected, setError } = useOneFormContext();\n const [isValid, setIsValid] = useState(false);\n const trackingManager = useTrackingManager();\n\n //Navigation\n\n const checkIfValid = async () => {\n const valid = await triggerValidation();\n clearError();\n\n if (valid) { \n //En CarlineSelect la opción inicial incluye string vacía desde cambio a components core v64.3.0\n if(fields.modelo === \"\"){\n setIsValid(false);\n }\n else if(screenIndex === 0 && !formClicked) {\n if(fields.formName === 'no_compra-ya_tengo') {\n setIsValid(true);\n setError(false);\n } else {\n setIsValid(false);\n }\n } else {\n setIsValid(true);\n setError(false);\n }\n } else {\n setIsValid(false);\n }\n };\n\n useEffect(()=>{\n if(fields.modelo !== \"\" || fields.model !== \"\"){\n setIsValid(true);\n setError(false);\n }\n },[fields.modelo, fields.model])\n \n\n useEffect(() => {\n const checkValidity = async () => await checkIfValid();\n if (formClicked || isValueSelected) {\n checkValidity();\n if (formClicked) setFormClicked(false);\n if (isValueSelected) setIsValueSelected(false);\n }\n }, [formClicked, isValueSelected]);\n\n useEffect(() => {\n setTimeout(() => {\n if (steps) {\n const currentStep = steps.find((step) => step.screenIndex === screenIndex);\n const { notALayer } = store.getState().formInfo;\n if (\n !notALayer && (\n (screenIndex === 0 && !steps[screenIndex].multiStep) ||\n screenIndex === numberOfScreens - 1 ||\n (currentStep && currentStep.hidePreviousStep) ||\n screenIndex > numberOfScreens\n )\n ) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, 100);\n\n const checkValidity = async () => await checkIfValid();\n\n setTimeout(() => {\n checkValidity();\n }, 600);\n }, [screenIndex]);\n\n useEffect(() => {\n const {\n step,\n multiSteps,\n multiStepScreenIndex,\n }: { step: Steps; multiSteps: Steps[]; multiStepScreenIndex: number } = store.getState().formInfo;\n\n setTimeout(() => {\n if (multiSteps && isNumber(multiStepScreenIndex) && step && step.multiStep) {\n if (multiSteps[multiStepScreenIndex].hidePreviousStep) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n } else {\n setShowPreviousStep(true);\n }\n }, 0);\n\n const checkValidity = async () => await checkIfValid();\n\n setTimeout(() => {\n checkValidity();\n }, 600);\n }, [multiStepScreenIndex]);\n\n const getPercentage = (): string => {\n const percentage = ((screenIndex / (numberOfScreens - 1)) * 100).toFixed(0);\n if(numberOfScreens - 1 == 1) {\n return '50';\n }\n else if(percentage === '0') {\n return '5';\n }\n else {\n return percentage;\n }\n };\n\n return (\n \n {\n notALayer ? : null\n }\n \n \n \n \n \n \n \n \n {getPercentage()}% completado\n \n \n \n {\n soloProgreso ? null : (\n \n \n {\n if(fields.modelo === \"\"){\n setError(true);\n }else{\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n handleNextStep(e);\n }\n }}\n isValid={isValid}\n >\n \n \n \n \n \n \n )\n } \n \n \n );\n}\n\ninterface NavigationProps {\n formClicked?: boolean;\n setFormClicked?: React.Dispatch>;\n notALayer?: boolean;\n colorTheme?: string;\n refProps?: any;\n formMin?: boolean;\n soloProgreso: boolean;\n position?: string;\n}\n\nexport function Navigation(props: NavigationProps) {\n const { colorTheme, notALayer, position } = props;\n const { screenIndex, step } = useSelector((state: OneFormState) => state.formInfo);\n const loaded = useLoaded();\n const [isLastScreen, setIsLastScreen] = useState(false);\n const { isFullScreen } = useOneFormContext();\n const store = useStore();\n\n useEffect(() => {\n const { formInfo } = store.getState();\n const { step, lastStep } = formInfo;\n if (step && lastStep) {\n step.screenIndex === lastStep.screenIndex ? setIsLastScreen(true) : setIsLastScreen(false);\n }\n }, [step]);\n\n return (\n \n \n {isLastScreen ? null : }\n \n \n );\n}\n","import React from 'react';\nimport { RatingStars, valuesSinRespuesta } from 'src/components';\n\nexport const getRatingStarsOutput = (value: string) => {\n\tconst rating = parseInt(value);\n\tconst { valueSinRespuesta, labelSinRespuesta } = valuesSinRespuesta();\n\tif(valueSinRespuesta == rating){\n\t\treturn labelSinRespuesta;\n\t}\n\treturn ;\n};\n","import dayjs from 'dayjs';\nimport { strTitlelize } from 'src/helpers';\nimport {\n CTAsDudas,\n contactoOptionsSAC,\n contactoOptionsTurismos,\n} from 'src/feature-app/InputsValues/CTAsObjects';\nimport {\n CTAsDesplazamientoTaigo,\n CTAsMotivacionCompraTaigo\n} from 'src/feature-app/InputsValues/CTAsObjectsFormsAdhoc';\nimport { \n franjaHoraria,\n meses \n} from 'src/feature-app/InputsValues/OtherInputTypesObjects';\nimport { \n isGooglePlace, \n weekDay_DayNumber_Month, \n weekDay_DayNumber_Month_Hour \n} from 'src/feature-app';\nimport { Installation, isDealerData } from 'src/types';\nimport { CTAsMotivos } from 'src/forms';\n\n//FUNCIONES GESTIÓN OUTPUTS\n\n// cambio value por label\nexport const changeValueForLabel = (ctas: any, fields: any, field: string) => {\n const result = ctas.find((option: any) => option.value === fields[field]);\n return result ? result.label : fields[field];\n};\n\n// cambio value por label y concatenación multipleChoice\nconst formatMultipleOptionText = (ctas: any, fields: any, field: string) => {\n const aux = fields[field];\n const prevStepContent = ctas.filter((item: any) => aux.includes(item.value));\n const result = prevStepContent.map((item: any) => item.label);\n return result.join(', ');\n};\n\n// formacion frase slot de cita\nconst getOutputSlotFrom = (fields: any) => {\n\n const CTAsMotivo = CTAsMotivos(true); // Forzamos isComerciales para tenes todos los CTAs\n const selectedMotivo = CTAsMotivo.find((CTA) => CTA.value === fields.motivo);\n\n if (fields.dealer.dmsInfo && fields.dealer.dmsInfo.dmsAvailable) {\n const momentSlot = weekDay_DayNumber_Month_Hour(fields.slot.from);\n const formatedSlot =\n momentSlot.split(',')[0] +\n ' de ' +\n momentSlot.split(',')[1].charAt(0).toLowerCase() +\n momentSlot.split(',')[1].slice(1);\n return selectedMotivo\n ? `${selectedMotivo.detallesPrevStep} el ${formatedSlot.replace('-', ' a las ').concat('h')}`\n : `El ${formatedSlot.replace(',', ' de ').concat('h')}`;\n } else {\n const momentSlot = weekDay_DayNumber_Month(fields.slot.from);\n const formatedSlot =\n momentSlot.split(',')[0] +\n ' de ' +\n momentSlot.split(',')[1].charAt(0).toLowerCase() +\n momentSlot.split(',')[1].slice(1);\n\n const horarioTranslate = franjaHoraria.find((h: any) => h.code === fields.slot.dayMoment.code);\n return selectedMotivo\n ? `${selectedMotivo.detallesPrevStep} el ${formatedSlot.concat(horarioTranslate.name)}`\n : `El ${formatedSlot.concat(horarioTranslate.name)}`;\n }\n};\n\n// output localización\nconst getLocationOutput = (formInfo: any) => {\n\n if (isGooglePlace(formInfo.userSuggestion)) {\n return formInfo.userSuggestion.name;\n } else if (isGooglePlace(formInfo.userSuggestion) && isDealerData(formInfo.userSuggestion)) {\n return `${formInfo.userSuggestion.name} en ${formInfo.userSuggestion.markerInfo.dealerInfo.address}`;\n } else if (isGooglePlace(formInfo.userSuggestion) && !isDealerData(formInfo.userSuggestion)) {\n return `${(formInfo.userSuggestion as Installation).TXT_V_Installation_Data_Name__c} en ${\n (formInfo.userSuggestion as Installation).TXT_V_Address__c\n }`;\n }\n};\n\nconst getUnknowOutput = (fields: any[], field: string) => {\n if (fields[field] == 'true') {\n return 'Sí';\n }\n if (fields[field] == 'false') {\n return 'No';\n }\n if (dayjs(fields[field], 'YYYY-MM-DD').isValid()) {\n return dayjs(fields[field], 'YYYY-MM-DD').format('DD/MM/YYYY');\n }\n if (typeof fields[field] == 'string') {\n return fields[field].replace(/\\,+/g, ', '); \n }\n\n return fields[field];\n};\n\n// SWITCH CASE PARA DETERMINAR EL OUTPUT DEL PREVIOUS STEP\n\nexport const getUpdatedField = (field: string, formData: any, dealersInfo: any, formInfo: any, previousStep?: any) => {\n\n const { fields } = formData;\n const { formName } = fields;\n const { selectedInstallation } = dealersInfo;\n\n if (previousStep?.ctas) {\n return changeValueForLabel(previousStep.ctas, fields, field);\n }\n\n const CTAsMotivo = CTAsMotivos(true); // Forzamos isComerciales para tenes todos los CTAs\n \n switch(field) {\n case 'motivo':\n return changeValueForLabel(CTAsMotivo, fields, field);\n case 'contacto':\n return changeValueForLabel(contactoOptionsTurismos, fields, field);\n case 'contactoSAC':\n return changeValueForLabel(contactoOptionsSAC, fields, field);\n case 'desplazamiento':\n return changeValueForLabel(CTAsDesplazamientoTaigo, fields, field);\n case 'motivacionCompra' : \n return changeValueForLabel(CTAsMotivacionCompraTaigo, fields, field);\n case 'slot.from':\n return getOutputSlotFrom(fields);\n case 'dealer.name':\n return fields.dealer.name;\n case 'installation':\n return strTitlelize(selectedInstallation.TXT_V_Installation_Data_Name__c != 'undefined' ? selectedInstallation.TXT_V_Installation_Data_Name__c : selectedInstallation.VGED_CommercialName__c);\n case 'installation-complete':\n return typeof selectedInstallation.TXT_V_Installation_Data_Name__c != 'undefined' ? \n strTitlelize(selectedInstallation.TXT_V_Installation_Data_Name__c + ', ' + selectedInstallation.TXT_V_Address__c + ' ' + selectedInstallation.TXT_V_Postal_Code__c + ' ' + selectedInstallation.TXT_V_Location__c) \n : \n strTitlelize(selectedInstallation.VGED_CommercialName__c + ', ' + selectedInstallation.ShippingStreet + ' ' + selectedInstallation.ShippingPostalCode + ' ' + selectedInstallation.ShippingCity)\n case 'location':\n return getLocationOutput(formInfo);\n case 'kilometros':\n if (fields.kilometros === 0) {\n return 'No estoy seguro';\n } else {\n return `${fields.kilometros[0]}km - ${fields.kilometros[1]}km`;\n }\n case 'cellphone':\n return `${fields.prefix} ${fields[field]}`;\n case 'informado':\n let result;\n if (fields[field] === 'false') {\n result = 'No';\n } else if (fields[field] === 'true') {\n result = 'Sí';\n } else {\n result = 'Sin respuesta';\n }\n return result ? result : fields[field];\n case 'otraMarca':\n return fields[field] === 'false' ? 'No' : fields[field];\n case 'publicarRespuestas':\n return fields[field] === '1' ? 'Sí' : 'No';\n case 'brand':\n if(fields[field] === 'false') {\n return 'No';\n } else {\n return fields[field];\n }\n case 'model':\n if(fields[field] === 'false') {\n return '';\n } else {\n return fields[field];\n }\n case 'dudas':\n return formatMultipleOptionText(CTAsDudas, fields, field);\n default:\n return getUnknowOutput(fields, field);\n }\n \n};\n","import dayjs from 'dayjs';\nimport {\n Container,\n ContainerGutter,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { isNull } from 'src/feature-app';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState, Steps } from 'src/types';\nimport { useOneFormContext } from '../OneForm';\nimport { CSSTransition } from 'react-transition-group';\nimport { changeValueForLabel, getUpdatedField, getRatingStarsOutput } from './PreviousStepFiles';\n\ntype PreviousStepWrapperProps = {\n isSeleccionDealer?: boolean;\n notALayer?: boolean;\n};\nconst PreviousStepWrapper = styled.div`\n opacity: ${(props) => (props.notALayer ? '0.4' : '0.35')};\n`;\n\nconst TextPreviousAnswerWrapper = styled.div`\n width: ${(props) => (props.notALayer ? '100%' : '640px')};\n overflow: hidden;\n max-height: 48px;\n opacity: ${(props) => (props.notALayer ? '1' : '0')};\n &.no-animation {\n opacity: 1;\n }\n &.text-enter,\n &.text-enter-active {\n opacity: 0;\n }\n &.text-enter-done {\n opacity: 1;\n transition: opacity 0.3s;\n }\n &.text-exit,\n &.text-exit-active,\n &.text-exit-done {\n opacity: 1;\n }\n`;\n\n// Implementar en caso de que sea necesario mostrar el último paso segun lo introducido y no según el screenIndex, por ejemplo al volver desde la pantalla de confirmación a otra.\ninterface OutputsHistory {\n screenIndex: number;\n step: Steps;\n outputs: any[];\n}\n\nexport function PreviousStepComponent(props: any) {\n const { formData, formInfo, dealersInfo } = useSelector((state: OneFormState) => state);\n const { steps, stepsHistory, screenIndex, multiStepScreenIndex, multiSteps, triggerExitAnimation, step } = formInfo;\n\n const [title, setTitle] = useState(null);\n const [text, setText] = useState(null);\n const [hideText, setHideText] = useState(false);\n const [textAppear, setTextAppear] = useState(false);\n const [outputs, setOutputs] = useState(null);\n const [outputsHistory, setOutputsHistory] = useState(null);\n const { moveForward, showPreviousStep } = useOneFormContext();\n\n /**\n *\n * @param stepsToIterate La lista de steps donde hay que buscar el paso previo.\n * @param screenIndexToGet La lista de steps donde hay que buscar el paso previo.\n */\n const getTitleAndOutputs = (stepsToIterate: Steps[], screenIndexToGet: number) => {\n if (!stepsToIterate || isNull(screenIndexToGet) || screenIndexToGet === -1) {\n setTitle(null);\n setText(null);\n return null;\n }\n const previousStep = stepsToIterate.find((step) => step.screenIndex === screenIndexToGet);\n \n if(!previousStep) {\n return null;\n }\n \n const title = previousStep.alternateTitle ? previousStep.alternateTitle : previousStep.title;\n setTitle(title);\n \n const camelCaseName = previousStep.name.charAt(0).toLowerCase() + previousStep.name.slice(1); // convertir a camelCase para intentar obtener el fieldName desde formName: \"PrecioMantenimiento\" -> \"precioMantenimiento\"\n\n // uso de dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS',...\n if (formInfo.stepsLiteralFields?.[previousStep.name]) {\n const text = formInfo.stepsLiteralFields?.[previousStep.name];\n setText(text);\n return null;\n }\n else if (formInfo.stepsLiteralFields?.[camelCaseName]) {\n const text = formInfo.stepsLiteralFields?.[camelCaseName];\n setText(text);\n return null;\n }\n\n const theValue = formData.fields[camelCaseName];\n\n // RATING STARS\n if (previousStep.outputsIsStars) {\n\t\tsetText(getRatingStarsOutput(theValue));\n\t}\n // OUTPUTS AND OUTPUTSTEXT\n else if (previousStep.outputsText) {\n const updatedOutputsTexts = previousStep.outputsText\n .map((text) => {\n previousStep.outputs.map((output) => {\n if (text === output) {\n text = getUpdatedField(output, formData, dealersInfo, formInfo, previousStep);\n }\n });\n return text;\n })\n .join(' ');\n\n setText(updatedOutputsTexts);\n }\n else if(typeof theValue != 'undefined') {\n // CTAS\n if (previousStep.ctas) {\n setText(changeValueForLabel(previousStep.ctas, formData.fields, theValue));\n }\n else if(theValue == 'false' || theValue === false) {\n setText('No');\n }\n else if(theValue == 'true' || theValue === true) {\n setText('Sí');\n }\n // TIMESTAMPS\n else if (dayjs(theValue, 'YYYY-MM-DD HH:mm:ss').isValid()) {\n setText(dayjs(theValue, 'YYYY-MM-DD HH:mm:ss').format('DD/MM/YYYY HH:mm:ss'));\n }\n else if (dayjs(theValue, 'YYYY-MM-DD').isValid()) {\n setText(dayjs(theValue, 'YYYY-MM-DD').format('DD/MM/YYYY'));\n }\n else if(typeof theValue == 'string'){\n setText(theValue.replace(/\\,+/g, ', ')); // prevenir texto junto la coma\n }\n } \n };\n\n const handleMultiStep = () => {\n // En la primera pantalla del multistep mostramos el último step antes de entrar en el multistep.\n if (multiStepScreenIndex === 0) {\n getTitleAndOutputs(steps, screenIndex - 1);\n } else {\n getTitleAndOutputs(multiSteps, multiStepScreenIndex - 1);\n }\n };\n\n const handleStep = () => {\n // En la primera pantalla después de un multistep mostramos el último multistep antes de salir del mismo.\n let previousStep;\n const indexInHistory = stepsHistory.findIndex((history) => history === screenIndex);\n\n if (indexInHistory === -1) {\n previousStep = steps.find((step) => step.screenIndex === screenIndex - 1);\n } else {\n previousStep = steps.find((step) => step.screenIndex === stepsHistory[indexInHistory - 1]);\n }\n if (previousStep && previousStep.multiStep) {\n getTitleAndOutputs(multiSteps, multiStepScreenIndex);\n } else {\n getTitleAndOutputs(steps, previousStep?.screenIndex);\n }\n };\n\n useEffect(() => {\n if (isNull(screenIndex) || (screenIndex === 0 && !steps?.[screenIndex]?.multiStep) || !steps?.[screenIndex]) {\n return;\n }\n const step = steps.find((step) => step.screenIndex === screenIndex);\n if (step) {\n step.multiStep ? handleMultiStep() : handleStep();\n } else {\n handleStep();\n }\n }, [screenIndex, multiStepScreenIndex]);\n\n useEffect(() => {\n if (props.stopAnimation) {\n setHideText(false);\n } else {\n if (!moveForward) {\n setHideText(true);\n } else {\n setHideText(false);\n }\n }\n }, [moveForward]);\n\n useEffect(() => {\n if (text) setTextAppear(true);\n }, [text]);\n\n useEffect(() => {\n setHideText(false);\n }, []);\n\n return showPreviousStep ? (\n \n \n {props.notALayer ? (\n \n {title ? title : null}\n \n ) : (\n \n {title ? title : null}\n \n )}\n {props.notALayer ? (\n \n \n {text && !hideText ? text : null}\n \n \n ) : (\n \n \n \n {text && !hideText && !triggerExitAnimation ? text : null}\n \n \n \n )}\n \n \n ) : null;\n}\n\nclass ErrorBoundary extends React.Component {\n constructor(props: any) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n // Actualiza el estado para que el siguiente renderizado muestre la interfaz de repuesto\n return { hasError: true };\n }\n\n componentDidCatch(error, errorInfo) {\n console.error('Falta por definir un campo en PreviousStep');\n // También puedes registrar el error en un servicio de reporte de errores\n }\n\n render() {\n if (this.state.hasError) {\n // Puedes renderizar cualquier interfaz de repuesto\n return null;\n }\n\n return this.props.children;\n }\n}\n\nexport function PreviousStep(props: any) {\n return (\n \n \n \n );\n}\n","import React, {useEffect, useState} from 'react';\nimport { LayerScreen, FullScreen } from '.';\ninterface RenderControllerProps {\n screenType: 'layer-screen' | 'full-screen';\n title: JSX.Element;\n fields: JSX.Element;\n key: number;\n avoidTrackFormStepLoad?: boolean;\n thankYouPage?: boolean;\n}\n\nexport const RenderController = (props: RenderControllerProps) => {\n const { title, fields, key, avoidTrackFormStepLoad, screenType, thankYouPage } = props;\n\n return (\n <>\n {screenType ? (\n <>\n {screenType === 'layer-screen' ? (\n \n ) : (\n \n )}\n \n ) : null}\n \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, LayerHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector, useStore } from 'react-redux';\nimport { OneFormProvider, useFeatureAppConfig } from 'src/feature-app';\nimport { CloseComponent, Navigation } from 'src/feature-app/Screen';\nimport { OneFormState } from 'src/types';\nimport { ThankYouComponent } from 'src/feature-app/ThankYouComponent';\nimport { useGetBoundingClientRect } from 'src/feature-app/hooks';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\ninterface ScreenControllerProps {\n closeLayerCallback?: CloseHandleV2;\n selectedJourney: JSX.Element;\n handleAreYouSureLayer: () => LayerHandleV2<{}>;\n notALayer?: boolean;\n formType?: 'layer' | 'inPage' | 'module';\n}\n\nconst ThankYouWrapper = styled.div`\n height: 100%;\n display: flex;\n align-items: center;\n div {\n height: auto;\n align-items: center;\n }\n`;\n\nexport function ScreenController(props: ScreenControllerProps) {\n const { closeLayerCallback, selectedJourney, handleAreYouSureLayer, formType } = props;\n\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { multiStepScreenIndex, screenIndex, triggerExitAnimation, showFinalScreen, lastStep, step } = formInfo;\n const [formClicked, setFormClicked] = useState(false);\n const [colorTheme, setTheme] = useState(null);\n const config = useFeatureAppConfig();\n\n const trigger = useFeatureAppConfig().trigger;\n\n //Quitar navegación en pantallas de error de carga del form formato full-screen\n\n const [formStarted, setFormStarted] = useState(false);\n useEffect(() => {\n if (formInfo.formStarted === false) {\n setFormStarted(false);\n } else {\n setFormStarted(true);\n }\n }, [formInfo]);\n\n //mapa no compra, si en algun otro form se usa y no coinciden el screenIndex o el multiscreenIndex\n //habrá que añadir un filtro por trigger o un flag en formInfo de que está en el mapa\n\n const [isMap, setIsMap] = useState(false);\n const [soloProgreso, setSoloProgreso] = useState(false);\n\n useEffect(() => {\n if (multiStepScreenIndex === 1 && screenIndex === 5) {\n setIsMap(true);\n } else if (formData.fields.formName === 'no_compra-ya_tengo' && screenIndex === 2) {\n setSoloProgreso(true);\n } else if (formData.fields.formName === 'adhoc-2021-eurocopa' && screenIndex === 0) {\n setIsMap(true);\n } else {\n setIsMap(false);\n setSoloProgreso(false);\n }\n }, [screenIndex, multiStepScreenIndex]);\n\n useEffect(() => {\n setTheme('inverted');\n }, [trigger]);\n\n const store = useStore();\n\n const handleClick = () => {\n setFormClicked(true);\n };\n\n const [isLastScreen, setIsLastScreen] = useState(false);\n const [isConfirmacion, setIsConfirmacion] = useState(false);\n\n useEffect(() => {\n if (step?.name === 'Confirmacion' || step?.name === 'Form') {\n setIsConfirmacion(true);\n } else if (step && step.name !== 'Confirmacion') {\n setIsConfirmacion(false);\n }\n if (step && lastStep) {\n step.screenIndex === lastStep.screenIndex ? setIsLastScreen(true) : setIsLastScreen(false);\n }\n }, [step]);\n\n //navigation position in full screen\n\n const [navPositon, setNavPosition] = useState('fixed');\n const viewportHeight = useWindowHeight();\n\n const { top: topNavigation, getAndUpdateState: getAndUpdateStateNavigation } =\n useGetBoundingClientRect('.navigation-wrapper');\n\n const { bottom: bottomContent, getAndUpdateState: getAndUpdateStateContent } = useGetBoundingClientRect(\n '.content-controller-fullScreen'\n );\n\n const handlePosition = () => {\n getAndUpdateStateNavigation();\n getAndUpdateStateContent();\n };\n\n useEffect(() => {\n if (step && step.name !== 'Confirmacion') {\n document.addEventListener('scroll', handlePosition);\n\n return () => {\n document.removeEventListener('scroll', handlePosition);\n };\n }\n }, [step]);\n\n useEffect(() => {\n if (bottomContent === null) {\n setNavPosition('fixed');\n //console.log('1111');\n } else if (bottomContent <= viewportHeight-100) {\n setNavPosition('relative');\n //console.log('2222');\n } else {\n setNavPosition('fixed');\n //console.log('3333');\n }\n }, [topNavigation, bottomContent]);\n\n return (\n \n {\n handleClick();\n }}\n className=\"screen-controller\"\n >\n {showFinalScreen ? (\n <>\n {\n formType === 'inPage' || formType === 'module' ? null : (\n \n )\n }\n \n \n \n \n \n ) : formType === 'inPage' || formType === 'module' ? (\n <>\n {selectedJourney}\n {showFinalScreen || isMap || !formStarted || isConfirmacion || formType === 'module' ? null : (\n \n )}\n \n ) : (\n <>\n \n\n {selectedJourney}\n {isLastScreen ? null : (\n \n )}\n \n )}\n \n \n );\n}\n","import React from 'react';\nimport {\n Layout,\n Breakpoints,\n LayoutRowGap,\n} from '@volkswagen-onehub/components-core';\n\ninterface OneElementTemplateProps {\n element: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\n// Refactorizar\nexport function OneElementTemplateFullScreen(props: OneElementTemplateProps) {\n const { element } = props;\n return (\n \n {element}\n \n );\n}\n\ninterface TwoElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nexport function TwoElementsTemplateFullScreen(props: TwoElementsTemplateProps) {\n const { firstElement, secondElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n \n );\n}\n\ninterface ThreeElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n thirdElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nexport function ThreeElementsTemplateFullScreen(props: ThreeElementsTemplateProps) {\n const { firstElement, secondElement, thirdElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n {thirdElement}\n \n );\n}\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\nexport function ThankYouComponent() {\n const { thankYouComponent } = useSelector((state: OneFormState) => state.formInfo);\n return { ...thankYouComponent };\n}\n","import normalizeArguments from './normalizeArguments.js'\r\nimport parsePhoneNumber_ from './parsePhoneNumber_.js'\r\n\r\nexport default function parsePhoneNumber() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn parsePhoneNumber_(text, options, metadata)\r\n}\r\n","import dayjs from 'dayjs';\nimport {PincodeData} from 'src';\nimport {getPersonAttributes, getLeadAttributes, getVehicleAttributes, dealerAttributes, orderAttributes} from '.';\nimport {getTestLead, getTestPerson, getTestOrder, getTestVehicle, getTestDealer} from '.';\n\nexport const checkIfIsTestPincode = (pincode: string) => pincode.startsWith('PINCODE');\n\nexport const getTestPincode = (pincode: string): PincodeData => {\n\tconst noPermite = pincode.includes('NOPERMITE') || pincode.includes('NO-PERMITE');\n\tconst isElectrico = pincode.includes('ID');\n\n\tconst content = [];\n\n\tif (pincode.includes('NPERSON')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestPerson(noPermite, getDate(pincode, 'PERSON'))],\n\t\t});\n\t} else if (pincode.includes('PERSON')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getPersonAttributes(noPermite, getDate(pincode, 'PERSON'))],\n\t\t});\n\t}\n\n\tif (pincode.includes('NLEAD')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestLead(getDate(pincode, 'LEAD'))],\n\t\t});\n\t} else if (pincode.includes('LEAD')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getLeadAttributes(getDate(pincode, 'LEAD'))],\n\t\t});\n\t}\n\n\tif (pincode.includes('NVEHICLE')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestVehicle(isElectrico)],\n\t\t});\n\t} else if (pincode.includes('VEHICLE')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getVehicleAttributes(isElectrico)],\n\t\t});\n\t}\n\n\tif (pincode.includes('NORDER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestOrder],\n\t\t});\n\t} else if (pincode.includes('ORDER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...orderAttributes],\n\t\t});\n\t}\n\n\tif (pincode.includes('NDEALER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestDealer],\n\t\t});\n\t} else if (pincode.includes('DEALER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...dealerAttributes],\n\t\t});\n\t}\n\n\treturn {\n\t\tstatus: {\n\t\t\tresult: 'success',\n\t\t\ttimestamp: dayjs().format('YYYY-MM-DD HH:mm:ss'),\n\t\t\tcode: 1,\n\t\t\ttime: 0.5742380619049072,\n\t\t},\n\t\tparams: {\n\t\t\tpincode: pincode,\n\t\t\ttoken: 'VW_DDB_FORM_TEST',\n\t\t},\n\t\tcontent: content,\n\t};\n};\n\nconst getDate = (pincode: string, match: string) => {\n\tconst days = pincode.match(new RegExp(match + '(\\\\d+)'));\n\tif (days) {\n\t\treturn dayjs().subtract(parseInt(days[1]), 'day').format('YYYY-MM-DD HH:mm:ss');\n\t}\n\treturn null;\n};\n","export const dealerAttributes = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'DEALER',\n\t},\n\t{\n\t\tname: 'attributes',\n\t\tvalue:\n\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@281c2df7[type=Account,url=/services/data/v53.0/sobjects/Account/0010Y000014bFZOQA2]',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: '0010Y00001IPCkUQAX',\n\t},\n\t{\n\t\tname: 'IsDeleted',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'MasterRecordId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Name',\n\t\tvalue: 'CATALUNYA WAGEN',\n\t},\n\t{\n\t\tname: 'TXT_V_Installation_Data_Name__c',\n\t\tvalue: 'CATALUNYA WAGEN',\n\t},\n\t{\n\t\tname: 'LastName',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FirstName',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Salutation',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'MiddleName',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Suffix',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Type',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RecordTypeId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ParentId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingStreet',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingCity',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingState',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingPostalCode',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingCountry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingLatitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingLongitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingGeocodeAccuracy',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingStreet',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingCity',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingState',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingPostalCode',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingCountry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingLatitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingLongitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingGeocodeAccuracy',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Phone',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Fax',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AccountNumber',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Website',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PhotoUrl',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Sic',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Industry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AnnualRevenue',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NumberOfEmployees',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Ownership',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TickerSymbol',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Description',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Rating',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Site',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OwnerId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CreatedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CreatedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastModifiedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastModifiedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SystemModstamp',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastActivityDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastViewedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastReferencedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IsPartner',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonContactId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IsPersonAccount',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingStreet',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingCity',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingState',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingPostalCode',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingCountry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingLatitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingLongitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingGeocodeAccuracy',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMobilePhone',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonEmail',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonTitle',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonDepartment',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonHasOptedOutOfEmail',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonLastCURequestDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonLastCUUpdateDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonEmailBouncedReason',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonEmailBouncedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Jigsaw',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'JigsawCompanyId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AccountSource',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SicDesc',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SalesforceCustomer',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Active__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Customer_Priority__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Instalacion__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NumberofLocations__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SLAExpirationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SLASerialNumber__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SLA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'UpsellOpportunity__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Volkswagen__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_Code_Vaesa__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'COD_Gender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Person_DIM_IMP__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LSSI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Phone_mobile__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_landline__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_Brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Robinson__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Country__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Location__c',\n\t\tvalue: 'BARCELONA',\n\t},\n\t{\n\t\tname: 'TXT_NIF_CIF__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Postal_Code__c',\n\t\tvalue: '08040',\n\t},\n\t{\n\t\tname: 'TXT_Province__c',\n\t\tvalue: 'BARCELONA',\n\t},\n\t{\n\t\tname: 'TXT_natural_legal_person__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Address_extra__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Address_name__c',\n\t\tvalue: 'A Zona Franca',\n\t},\n\t{\n\t\tname: 'Address_number__c',\n\t\tvalue: '51',\n\t},\n\t{\n\t\tname: 'Address_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FORM_Full_Address__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Code_Concession__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'TXT_Installation_Code__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'TXT_V_Code_Concession__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'TXT_V_Installation_Code__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact_Sk__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_province__c',\n\t\tvalue: '17',\n\t},\n\t{\n\t\tname: 'Manual_marker__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Address__c',\n\t\tvalue: 'POL.IND. ZONA FRANCA, CALLE A 51',\n\t},\n\t{\n\t\tname: 'Afected_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Legal_risk_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Age__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Current_Afected_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Document_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Repaired_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LKP_After_Sales_manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LKP_Sales_manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_Code_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Latitude__c',\n\t\tvalue: '41.337717',\n\t},\n\t{\n\t\tname: 'Longitude__c',\n\t\tvalue: '2.141197',\n\t},\n\t{\n\t\tname: 'NUM_V_Phone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_KVPS_code__c',\n\t\tvalue: '08004',\n\t},\n\t{\n\t\tname: 'TXT_PV_Address__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_KVPS_code__c',\n\t\tvalue: '08004',\n\t},\n\t{\n\t\tname: 'TXT_V_Postal_Code__c',\n\t\tvalue: '08040',\n\t},\n\t{\n\t\tname: 'Cod_installation_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FLAG_Baja__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_Brand_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Address_name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Address_number__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Location__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Postal_Code__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Business_Group_CIF__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Description_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Contact_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Type_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Email__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'aceDealer__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'MPCK_Instalation_Type__c',\n\t\tvalue: '1;2;10',\n\t},\n\t{\n\t\tname: 'FRML_TXT_codVentaProvincia__c',\n\t\tvalue: '08',\n\t},\n\t{\n\t\tname: 'Latitude_V__c',\n\t\tvalue: '41.337717',\n\t},\n\t{\n\t\tname: 'Longitude_V__c',\n\t\tvalue: '2.141197',\n\t},\n\t{\n\t\tname: 'TXT_V_Location__c',\n\t\tvalue: 'BARCELONA',\n\t},\n\t{\n\t\tname: 'COD_V_province__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Cod_V_installation_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FLAG_V_Baja__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_V_Code_Vaesa__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_V_Code_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Area_Manager_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Zone_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'External_ID_Otros__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Activity__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Surname_2_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Area_code__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Description_Installation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_prior_appointment__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_After_Sales_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Email_more_info__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Sender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Home__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Date_Last_Updated__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Replacement_fleet__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Installation_Data_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Manager_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Observations_Schedule__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Observations_Schedule__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Parking__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_business_name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_business_name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Adblue_price__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Anyo_matriculacion_otro_vehiculo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_CAM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_Lounge__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_Sport_Exclusive_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_Sport__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_California_roof_repairing__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Children_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Client_Shutle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Compressed_Natural_Gas_Charger__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Crafter_Elevator__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_DRM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Delivery_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Do_Not_Contact_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Do_Not_Contact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Dont_send_Com__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Elite_Body__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Email_OFF__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Exclusive_Service_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Exclusive_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Fast_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Free_Wifi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_HVT_repairs__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Handicapped__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Integral_Body_Program__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Is_Closed_Days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Oficial_Audi_Prestige_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_PCI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Parking__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_SUM_Diff_Schedule_Vehicle_Recep__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Service_Plus_Installation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_TLMK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Children_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Exclusive_Service_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Free_Wifi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Handicapped__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Waiting_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Waiting_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Working_Zone_Waiting_Clients__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_e_Hibrids__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_e_dealers__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_e_loaders__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CampaignID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Contactable_after_sales__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Contactable_sales__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Customer_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Date_Photo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_End_Date_SUM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_End_Date_Valid__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Entry_Date__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Ini_Date_SUM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Termination_Date__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_View_End_Period__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_View_Start_Period__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_Customer_registration_SLI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_vehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Email_Business_Group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Autonomo_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Gran_empresa_propiedad_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Pymes_propiedad_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Pymes_renting_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_RaC_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_VO_no_particular__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_gran_empresa_renting_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_indefinido_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_no_identificado_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_particular_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_resto_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Excesive_waiting__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FRML_TXT_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FRML_TXT_Image_Sign__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Family_unit__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FormID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Home_another_vehicle_brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_External_ID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Vehicle_EID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Instalacion__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Informat_cession_aceptance__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Multivehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Bodywork_Price_Hour__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Business_Group_Id__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Fax_Business_Group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Id_Operation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Mechanical_Price_Hour__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Number_Photo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Oil_Liter_Price__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Phone_Business_Group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Substitution_vehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Work_Price__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_chassis_number__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_Social_Network__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_Social_Network__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PKL_Exclusion_Motive_PV_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PKL_Exclusion_Motive_PersonAccount__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Profession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Accept_Bases__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Area_Manager_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Business_Group_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_BussinesGroup__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Comments_Exclusion__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Context_ID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Contract_brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_DPV_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_DPV_gender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_DPV_treatment__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Description_Validity__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Area_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_CCDPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_DV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Online_Appointment_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Online_Appointment_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Zone_Manager_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Facebook__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Instagram__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_Area_Manager_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_name_2_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_name_2_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Manager_Name_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Observations__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Official_Web_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Official_Web_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Position__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Profile__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Surname_2_Area_Manager_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Tradename_BusinessGroup__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Tradename__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Twitter__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Facebook__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Instagram__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Tradename__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Twitter__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Web__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_gender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Web__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_number_plate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'URL_Business_Group_Website__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Unsuscribed__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Use_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_vn_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'et4ae5__HasOptedOutOfMobile__pc',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'et4ae5__Mobile_Country_Code__pc',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IDClimapro__pc',\n\t\tvalue: 'null',\n\t},\n];\n","export const getLeadAttributes = (date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'LEAD',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@133a815a[type=Leads_Prospects__c,url=/services/data/v51.0/sobjects/Leads_Prospects__c/a0d1n00000gvFgzAAE]',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'a0d1n00000gvFgzAAE',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: '8401294-VW_DDB_FRM_LEM_REC_LEM-36V',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-11-14 18:44:24',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2021-05-05T05:55:28.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2021-05-05T05:55:28.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Brand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Dealer_Code__c',\n\t\t\tvalue: 'MERKAMOTOR TORTOSA, S.A.',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Model__c',\n\t\t\tvalue: 'T-Roc',\n\t\t},\n\t\t{\n\t\t\tname: 'ID_Person_DIM_IMP__c',\n\t\t\tvalue: '8401294',\n\t\t},\n\t\t{\n\t\t\tname: 'IS_Prospect__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Is_AfterSales__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Is_Company__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Is_lead__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'LSSI__c',\n\t\t\tvalue: 'NO PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'LastCreatedDate__c',\n\t\t\tvalue: '2021-05-02T23:50:00.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Email__c',\n\t\t\tvalue: 'test@test.com',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Postal_Code__c',\n\t\t\tvalue: '00000',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Province__c',\n\t\t\tvalue: 'Barcelona',\n\t\t},\n\t\t{\n\t\t\tname: 'Token__c',\n\t\t\tvalue: 'VW_DDB_FRM_LEM_REC_LEM',\n\t\t},\n\t\t{\n\t\t\tname: 'Total__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_1_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_2_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_3_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_4_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VN_VO__c',\n\t\t\tvalue: 'VN',\n\t\t},\n\t\t{\n\t\t\tname: 'LKP_PersonAccount__c',\n\t\t\tvalue: '0011n00002e8sUnAAI',\n\t\t},\n\t\t{\n\t\t\tname: 'External_Id_Climapro__c',\n\t\t\tvalue: 'DPS-000000000000001052940',\n\t\t},\n\t\t{\n\t\t\tname: 'NUM_COD_INTEREST_CARLINE__c',\n\t\t\tvalue: '30365',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_DESC_DEALER_CODE__c',\n\t\t\tvalue: '03278',\n\t\t},\n\t\t{\n\t\t\tname: 'IsQualified__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t];\n};\n","export const orderAttributes = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'ORDER',\n\t},\n\t{\n\t\tname: 'attributes',\n\t\tvalue:\n\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@59506a4c[type=Order__c,url=/services/data/v53.0/sobjects/Order__c/a0W1n00000IETcDEAX]',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: 'a0W1n00000IETcDEAX',\n\t},\n\t{\n\t\tname: 'OwnerId',\n\t\tvalue: '0050Y000001UE3gQAG',\n\t},\n\t{\n\t\tname: 'IsDeleted',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'Name',\n\t\tvalue: '36V_146_6599',\n\t},\n\t{\n\t\tname: 'CreatedDate',\n\t\tvalue: '2020-10-31T08:20:33.000+0000',\n\t},\n\t{\n\t\tname: 'CreatedById',\n\t\tvalue: '0050Y000001UE3gQAG',\n\t},\n\t{\n\t\tname: 'LastModifiedDate',\n\t\tvalue: '2021-11-26T09:28:57.000+0000',\n\t},\n\t{\n\t\tname: 'LastModifiedById',\n\t\tvalue: '0050Y000001UE3gQAG',\n\t},\n\t{\n\t\tname: 'SystemModstamp',\n\t\tvalue: '2021-11-26T09:28:58.000+0000',\n\t},\n\t{\n\t\tname: 'LastViewedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastReferencedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_Audi__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_Audi_theoric__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_LCV__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_Skoda__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_VW__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'COD_Carline__c',\n\t\tvalue: '30316',\n\t},\n\t{\n\t\tname: 'Instalacion_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Instalacion_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Instalacion_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_comision__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_sales_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_salesgroup__c',\n\t\tvalue: '39237',\n\t},\n\t{\n\t\tname: 'Customer_change_order__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VipEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'DemoraTipo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ConfirmacionRegaloEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'EmailFollowUpEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_contactable_universe__c',\n\t\tvalue: '0',\n\t},\n\t{\n\t\tname: 'Contactable_universe_vehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_Model__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_Sales_VN_Type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_TrimLevel__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_car_model_salesgroup__c',\n\t\tvalue: 'Golf Last Edition',\n\t},\n\t{\n\t\tname: 'DESC_excessive_waiting_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_model_group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'EmailBienvenidaEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'EmailDemoraEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'EmailEstadoEnviado__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Factory__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Not_lineal_order__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'Order_frame_FK__c',\n\t\tvalue: 'WVWZZZAUZLW014456',\n\t},\n\t{\n\t\tname: 'PKL_order_VN_VO__c',\n\t\tvalue: 'VO',\n\t},\n\t{\n\t\tname: 'PKL_order_brand__c',\n\t\tvalue: 'Volkswagen',\n\t},\n\t{\n\t\tname: 'SLI_State__c',\n\t\tvalue: '70',\n\t},\n\t{\n\t\tname: 'Vehicle_age_monthly_ord__c',\n\t\tvalue: '19',\n\t},\n\t{\n\t\tname: 'Vehicle_age_yearly_ord__c',\n\t\tvalue: '2',\n\t},\n\t{\n\t\tname: 'COD_Customer_renting__c',\n\t\tvalue: '0010Y000015jO9yQAE',\n\t},\n\t{\n\t\tname: 'COD_Customer_type__c',\n\t\tvalue: '8',\n\t},\n\t{\n\t\tname: 'COD_Driver__c',\n\t\tvalue: '0010Y000015jO9yQAE',\n\t},\n\t{\n\t\tname: 'COD_Vehicle_climapro__c',\n\t\tvalue: 'a0Y1n00000HU1nzEAD',\n\t},\n\t{\n\t\tname: 'COD_owner_climapro__c',\n\t\tvalue: '0010Y00001cvNpnQAE',\n\t},\n\t{\n\t\tname: 'Concesion__c',\n\t\tvalue: '0010Y000014bFZOQA2',\n\t},\n\t{\n\t\tname: 'Customer_type__c',\n\t\tvalue: 'Particular VO IMA DWA',\n\t},\n\t{\n\t\tname: 'DAT_Customers_order__c',\n\t\tvalue: '2020-03-05',\n\t},\n\t{\n\t\tname: 'DAT_Order__c',\n\t\tvalue: '2020-03-05',\n\t},\n\t{\n\t\tname: 'DAT_delivery__c',\n\t\tvalue: '2020-05-26',\n\t},\n\t{\n\t\tname: 'DAT_order_state_10__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_20__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_30__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_40__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_50__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_60__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_70__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_80__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IDClimapro__c',\n\t\tvalue: '36V_146_6599',\n\t},\n\t{\n\t\tname: 'Instalacion__c',\n\t\tvalue: '0010Y00001IPCkUQAX',\n\t},\n];\n","export const getPersonAttributes = (noPermiteLssi?: boolean, date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'PERSON',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'TEST',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'TEST NAME',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_2_Surname__c',\n\t\t\tvalue: 'TEST SURNAME',\n\t\t},\n\t\t{\n\t\t\tname: 'LastName',\n\t\t\tvalue: 'TEST LASTNAME',\n\t\t},\n\t\t{\n\t\t\tname: 'FirstName',\n\t\t\tvalue: 'TEST FIRSTNAME',\n\t\t},\n\t\t{\n\t\t\tname: 'Salutation',\n\t\t\tvalue: 'Sra.',\n\t\t},\n\t\t{\n\t\t\tname: 'RecordTypeId',\n\t\t\tvalue: '0120Y000000FHqQQAW',\n\t\t},\n\t\t{\n\t\t\tname: 'BillingAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ShippingAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PhotoUrl',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-11-14 18:44:24',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2021-05-04 13:43:20',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2021-05-04 13:43:20',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPartner',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonContactId',\n\t\t\tvalue: '0031n00002SQq1OAAT',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPersonAccount',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonOtherAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfEmail',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfFax',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonDoNotCall',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Audi__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Instalacion__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Skoda__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Volkswagen__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'COD_Gender__c',\n\t\t\tvalue: 'M',\n\t\t},\n\t\t{\n\t\t\tname: 'ID_Person_DIM_IMP__c',\n\t\t\tvalue: 'TEST_ID_Person_DIM_IMP__c',\n\t\t},\n\t\t{\n\t\t\tname: 'LCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'LSSI__c',\n\t\t\tvalue: noPermiteLssi ? 'NO PERMITE' : 'PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'NUM_Phone_mobile__c',\n\t\t\tvalue: '600000000',\n\t\t},\n\t\t{\n\t\t\tname: 'Robinson__c',\n\t\t\tvalue: 'PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Country__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Email__c',\n\t\t\tvalue: 'test@test.com',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Location__c',\n\t\t\tvalue: 'L’Hospitalet de Llobregat',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_NIF_CIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Postal_Code__c',\n\t\t\tvalue: '08001',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Province__c',\n\t\t\tvalue: 'Barcelona',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_natural_legal_person__c',\n\t\t\tvalue: 'FISICA',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_extra__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_name__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_number__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_type__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'FORM_Full_Address__c',\n\t\t\tvalue: 'Calle D’Amadeu TORNER 12',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Desired_model_1_VW__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client_Skoda__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact_Sk__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'COD_province__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Afected_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Legal_risk_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Current_Afected_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Repaired_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Replacement_fleet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Parking__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_CAM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_Lounge__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_Sport_Exclusive_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_Sport__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_California_roof_repairing__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Children_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Client_Shutle__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Compressed_Natural_Gas_Charger__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Crafter_Elevator__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_DRM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Delivery_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Do_Not_Contact_AU__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Do_Not_Contact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Dont_send_Com__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Elite_Body__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Email_OFF__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Exclusive_Service_VW__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Exclusive_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Fast_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Free_Wifi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_HVT_repairs__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Handicapped__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Integral_Body_Program__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Is_Closed_Days__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Oficial_Audi_Prestige_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_PCI__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Parking__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_SUM_Diff_Schedule_Vehicle_Recep__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Service_Plus_Installation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_TLMK__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Children_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Exclusive_Service_VW__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Free_Wifi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Handicapped__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Waiting_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Waiting_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Working_Zone_Waiting_Clients__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_e_Hibrids__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_e_dealers__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_e_loaders__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Contactable_after_sales__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Contactable_sales__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Autonomo_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Gran_empresa_propiedad_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Pymes_propiedad_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Pymes_renting_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_RaC_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_VO_no_particular__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_gran_empresa_renting_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_indefinido_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_no_identificado_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_particular_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_resto_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Excesive_waiting__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'FRML_TXT_DPV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'FRML_TXT_Image_Sign__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Informat_cession_aceptance__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vn_act__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vn_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vo_act__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vo_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Multivehicle__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe_Skoda__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Unsuscribed__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_vn_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vn_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vn_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vo_act__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vo_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__HasOptedOutOfMobile__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__Mobile_Country_Code__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Audi__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'LCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Skoda__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Volkswagen__pc',\n\t\t\tvalue: 'true',\n\t\t},\n\t];\n};\n","export const getVehicleAttributes = (isElectrico?: boolean) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'VEHICLE',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@5674eb[type=Vehicle__c,url=/services/data/v53.0/sobjects/Vehicle__c/a0Y1n00000HU1nzEAD]',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'a0Y1n00000HU1nzEAD',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'a0Y1n00000HU1nz',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: '2019-08-23T11:00:59.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2021-12-11T04:12:11.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2021-12-11T04:12:11.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Affected_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'COD_comision__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CarNet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'TMAIMG__c',\n\t\t\tvalue: 'BQ12CX',\n\t\t},\n\t\t{\n\t\t\tname: 'Warranty_extension__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'Included_mainetance__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_car_model_salesgroup__c',\n\t\t\tvalue: isElectrico ? 'ID.3 Pro' : 'Golf Last Edition',\n\t\t},\n\t\t{\n\t\t\tname: 'PKL_order_brand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'Frame__c',\n\t\t\tvalue: isElectrico ? 'WVWZZZE1ZLP007840' : 'WVWZZZAUZLW014456',\n\t\t},\n\t\t{\n\t\t\tname: 'Fuel__c',\n\t\t\tvalue: isElectrico ? 'ELÉCTRICO' : 'GASOLINA',\n\t\t},\n\t\t{\n\t\t\tname: 'Gear_type__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'Installed_PR_packages__c',\n\t\t\tvalue: '',\n\t\t},\n\t\t{\n\t\t\tname: 'KM_cobertura_garantia__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'Assistance_years__c',\n\t\t\tvalue: '4',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Model__c',\n\t\t\tvalue: isElectrico ? 'ID.3' : 'GOLF',\n\t\t},\n\t\t{\n\t\t\tname: 'Registration__c',\n\t\t\tvalue: '1934LBW',\n\t\t},\n\t\t{\n\t\t\tname: 'Repaired_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'TrimLevel_Model__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VW_Connect__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'Vehicle_age_yearly_reg__c',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tname: 'Audi_Connect__c',\n\t\t\tvalue: '0.0000000000000',\n\t\t},\n\t\t{\n\t\t\tname: 'Car_power__c',\n\t\t\tvalue: '85',\n\t\t},\n\t\t{\n\t\t\tname: 'Carline_Code__c',\n\t\t\tvalue: isElectrico ? '30350' : '30316',\n\t\t},\n\t\t{\n\t\t\tname: 'DAT_registration__c',\n\t\t\tvalue: '2019-10-17',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_model_group__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'IDClimapro__c',\n\t\t\tvalue: 'TEST_IDClimapro__c',\n\t\t},\n\t\t{\n\t\t\tname: 'Long_full_drive__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Salesgroup_Code__c',\n\t\t\tvalue: isElectrico ? '33236' : '39237',\n\t\t},\n\t\t{\n\t\t\tname: 'Vehicle_age_monthly_reg__c',\n\t\t\tvalue: '26',\n\t\t},\n\t\t{\n\t\t\tname: 'years_warranty_coverage__c',\n\t\t\tvalue: '2',\n\t\t},\n\t\t{\n\t\t\tname: 'years_warranty_extension__c',\n\t\t\tvalue: '0',\n\t\t},\n\t];\n};\n","export const getTestLead = (date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'LEAD',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: '00Q1i00000DjYfEEAV',\n\t\t},\n\t\t{\n\t\t\tname: 'FirstName',\n\t\t\tvalue: 'Test Lara',\n\t\t},\n\t\t{\n\t\t\tname: 'LastName',\n\t\t\tvalue: 'Test Vged',\n\t\t},\n\t\t{\n\t\t\tname: 'MiddleName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'MobilePhone',\n\t\t\tvalue: '612345678',\n\t\t},\n\t\t{\n\t\t\tname: 'Email',\n\t\t\tvalue: 'test.vged@gmail.com',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CodeOfInterestCarline__c',\n\t\t\tvalue: '30204',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ModelOfInterest__c',\n\t\t\tvalue: 'Polo',\n\t\t},\n\t\t{\n\t\t\tname: 'Dealership__c',\n\t\t\tvalue: '0019V00000VtngUQAR',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-07-12T14:28:35.000+0000',\n\t\t},\n\n\t\t///////////// sin uso\n\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@29d482e8[type=Lead,url=/services/data/v53.0/sobjects/Lead/00Q1i00000DjYfEEAV]',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'MasterRecordId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Salutation',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'Test Lara Test Vged',\n\t\t},\n\t\t{\n\t\t\tname: 'RecordTypeId',\n\t\t\tvalue: '0121i000000D7NyAAK',\n\t\t},\n\t\t{\n\t\t\tname: 'Title',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Company',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=null, state=null, stateCode=null, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'Phone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Fax',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Website',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PhotoUrl',\n\t\t\tvalue: '/services/images/photo/00Q1i00000DjYfEEAV',\n\t\t},\n\t\t{\n\t\t\tname: 'Description',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LeadSource',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Status',\n\t\t\tvalue: 'Ready for Routing',\n\t\t},\n\t\t{\n\t\t\tname: 'Industry',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Rating',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CurrencyIsoCode',\n\t\t\tvalue: 'EUR',\n\t\t},\n\t\t{\n\t\t\tname: 'AnnualRevenue',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'NumberOfEmployees',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0051i000004Ur0bAAC',\n\t\t},\n\t\t{\n\t\t\tname: 'HasOptedOutOfEmail',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'IsConverted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedAccountId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedContactId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedOpportunityId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'IsUnreadByOwner',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0051i000004Ur0bAAC',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2023-10-03T12:24:18.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2023-10-03T12:24:18.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastActivityDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'DoNotCall',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'HasOptedOutOfFax',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: '2023-12-14T09:57:05.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: '2023-12-14T09:57:05.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastTransferDate',\n\t\t\tvalue: '2023-07-12',\n\t\t},\n\t\t{\n\t\t\tname: 'PartnerAccountId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Jigsaw',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'JigsawContactId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'EmailBouncedReason',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'EmailBouncedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'IndividualId',\n\t\t\tvalue: '0PK1X000008UZ0QWAW',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__Mobile_Country_Code__c',\n\t\t\tvalue: 'US',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__HasOptedOutOfMobile__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Brand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'ExpectedPurchaseDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__c',\n\t\t\tvalue: 'nDPS-000000000000000000593',\n\t\t},\n\t\t{\n\t\t\tname: 'InterestCar__c',\n\t\t\tvalue: 'a0R1i00000B2ZOiEAN',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AcademicTitle__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Case__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ExternalRoutingCheck__c',\n\t\t\tvalue: 'Do Not Route',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CommissionNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ForwardingMechanism__c',\n\t\t\tvalue: 'Automatic',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ForwardingStatus__c',\n\t\t\tvalue: 'Not Forwarded',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InterestType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Language__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadRole__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Mobile__c',\n\t\t\tvalue: '612345678',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NewsletterDuplicateCheck__c',\n\t\t\tvalue: 'True',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NewsletterRequestCaptureDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NewsletterUnsubscriptionDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Phone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredCommunication__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PurchaseMethod__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StatusReason__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VIN__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ValidationIdentifier__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VehicleCategory__c',\n\t\t\tvalue: 'New Car',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AnonymizeLead__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AverageAnnualMileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagAUDI__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSEAT__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSKODA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVWCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVW__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerValidation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DoubleConsentCaptureDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DoubleConsentMailSentOn__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DuplicateCheckAttribute__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetSize__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InterestCarValidation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LMBrandSearch__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LMCorrespondenceGreeting__c',\n\t\t\tvalue: 'Test Lara Test Vged',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadEntryPoint__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketValidation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfCarsToPurchase__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_OriginalConfigurationCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedBusinessAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedContact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SetToOpenAtDealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SetToRouted__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketing__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TimeSinceOpenAtDealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TimeSinceRouted__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_extCorrelationId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LastMarketingPressureMeasuredDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureCall__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureLetter__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureSMS__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureTotal__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfCalls__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfEmails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfLetters__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfSMS__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfTotalCommunications__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Opportunity__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedBusinessAccountFilled__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedContactFilled__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherActivationDeadline__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherCreationDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherRedemptionDeadline__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherStatus__c',\n\t\t\tvalue: 'Sent',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InitialMgntType__c',\n\t\t\tvalue: 'Direct to Sales Assistant',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalMdmStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalSalesAssistantStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BrandObservations__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CallCenterObservations__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_2Surname__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdditionalInformation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdvisorName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AppointmentDateAndTime__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Birthdate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Campaign__c',\n\t\t\tvalue: '7011i0000002CjUAAU',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumOfRetriesMDM__c',\n\t\t\tvalue: '1.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommercialPermits__c',\n\t\t\tvalue: 'PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LicensePlate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MileageKm__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CurrentVehicleBrand__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CurrentVehicleModel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Model__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeClosedByCC__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeOfFirstCapture__c',\n\t\t\tvalue: '2023-07-11T00:00:00.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeSentToDealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeToCC__c',\n\t\t\tvalue: '2023-10-03T12:24:17.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NextContactPoint1__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FlagCRMOrigin__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RegistrationDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadSubtype__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CRMBusinessModelofInterest__c',\n\t\t\tvalue: 'a1i1i00000NRQwGAAX',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CustomizationPath__c',\n\t\t\tvalue: 'Generico_Presupuesto',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsCompany__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LeadEnrichment__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LinkVehicleOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MonitorDealerCall__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OfferDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OfferPrice__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OnlineBookingDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalTrackBackStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PreferredChannelForContact__c',\n\t\t\tvalue: 'Email',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PreferredTimeSlotForContact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ReceivedOnSalesAssistant__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_URL__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UserId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UserNIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Agreement__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagCUPRA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DeletedMarketingCloud__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatusTimeStamp__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandAUDI__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandCUPRA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSEAT__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSKODA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVWCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVW__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PassedExpressedInterestMilestone__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PassedIntenttoPurchaseMilestone__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PassedQualifiedMilestone__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SalesModel__c',\n\t\t\tvalue: 'Retail',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BypassLeadStatus__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerComment__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealershipSharing__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FAMDealershipSharing__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IsDealershipCreated__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadRecordTypeFilter__c',\n\t\t\tvalue: 'VGED_SalesAssistant',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ReasonOfSendingToNSC__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdditionalSourceInformation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MysteryLead__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Profiling__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Test__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CaptureChannel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CaptureEvent__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_City__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ConfiguratorMatch__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CurrentVehicleAge__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DNINIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FinancingType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleBrand__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleFuel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleMileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleModelVersion__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleModel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleRegistrationPlate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleRegistrationYear__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsClient__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsExclient__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Mileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OKAPICodeOfModelOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PostalCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Province__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RegistrationPlate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadComplement__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TelemarketingClosure__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_WebSection__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsLeadEnriched__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarConfigurationURL__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DetailsOfModelOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ExtraInfoModelOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IDFormCampaign__c',\n\t\t\tvalue: '7011i0000002CclAAE',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MasterQuestionnaireId__c',\n\t\t\tvalue: '140.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NameFormCampaign__c',\n\t\t\tvalue: 'VW_B01_C01_RRSS_LoadRecords',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VehicleConfigurationDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdvertisementId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BookingCancelledReservation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BookingDays__c',\n\t\t\tvalue: '1.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ImawebDealerId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ImawebRecordId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t];\n};\n","export const getTestPerson = (noPermiteLssi?: boolean, date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'PERSON',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: '0011X00001CebbnQAB',\n\t\t},\n\t\t{\n\t\t\tname: 'FirstName',\n\t\t\tvalue: 'MARIO',\n\t\t},\n\t\t{\n\t\t\tname: 'LastName',\n\t\t\tvalue: 'LOPEZ MORENO',\n\t\t},\n\t\t{\n\t\t\tname: 'MiddleName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonEmail',\n\t\t\tvalue: 'mario.lopez@volkswagengroup.es',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMobilePhone',\n\t\t\tvalue: '675758541',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingStreet',\n\t\t\tvalue: 'Gran Via De Les Corts Catalanes, 100',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=BARCELONA, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=08003, state=8, stateCode=8, street=CALLE DELS CORDERS 5)',\n\t\t},\n\n\t\t///////////// sin uso\n\n\t\t{\n\t\t\tname: 'PersonMailingPostalCode',\n\t\t\tvalue: '08080',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingStateCode',\n\t\t\tvalue: '08',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@1aeef0f5[type=Account,url=/services/data/v53.0/sobjects/Account/0011X00001CebbnQAB]',\n\t\t},\n\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'MasterRecordId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'MARIO LOPEZ MORENO',\n\t\t},\n\t\t{\n\t\t\tname: 'Salutation',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Type',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RecordTypeId',\n\t\t\tvalue: '0121i000000cHHfAAM',\n\t\t},\n\t\t{\n\t\t\tname: 'ParentId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ShippingAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=null, state=null, stateCode=null, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'BillingAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=08080, state=null, stateCode=08, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'PhotoUrl',\n\t\t\tvalue: '/services/images/photo/0011X00001CebbnQAB',\n\t\t},\n\t\t{\n\t\t\tname: 'Phone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Fax',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'AccountNumber',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'WebSite',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Sic',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Industry',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'AnnualRevenue',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'NumberOfEmployees',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Ownership',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'TickerSymbol',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Description',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Rating',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Site',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CurrencyIsoCode',\n\t\t\tvalue: 'EUR',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-09-07T23:10:20.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2023-12-01T10:16:29.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2023-12-01T10:16:29.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastActivityDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: '2023-12-14T09:56:46.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: '2023-12-14T09:56:46.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPartner',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonContactId',\n\t\t\tvalue: '0031X00000zej2YQAQ',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPersonAccount',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'ChannelProgramName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ChannelProgramLevelName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonOtherAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=null, state=null, stateCode=null, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHomePhone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonOtherPhone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonAssistantPhone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonTitle',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonDepartment',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonAssistantName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonLeadSource',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonBirthDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfEmail',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfFax',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonDoNotCall',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonLastCURequestDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonLastCUUpdateDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonEmailBouncedReason',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonEmailBouncedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonIndividualId',\n\t\t\tvalue: '0PK1X000008VQpKWAW',\n\t\t},\n\t\t{\n\t\t\tname: 'Jigsaw',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'JigsawCompanyId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'AccountSource',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'SicDesc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_A4WcDateSent__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerLeadRoutingPreference__c',\n\t\t\tvalue: 'External System',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagAUDI__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSEAT__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSKODA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVWCV__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVW__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'Dealership__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'KVPSCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PreferredCommunicationChannel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AccountBrand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AccountEmail__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandLogo__c',\n\t\t\tvalue: '\"Volkswagen\"',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandSearch__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BusinessHours__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ContractStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerActive__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ExternalAccountID__c',\n\t\t\tvalue: '54147334_Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetSize__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GroupID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IntegrationSource__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InternationalBusinessAgreement__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfLightCommercialVehicles__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfPassengerCars__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_OpeningHours__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Services__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TaxNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ValidationIdentifier__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BeneficiaryCountry__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BeneficiaryName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BeneficiaryType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CollectionDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Country__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerMarketNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Email__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_EtronWcDateSent__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IsA4WcSent__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IsEtronWcSent__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MasterDataSource__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredDealerKVPSID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SEMAGMigrationID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SubscriberKey__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsAudi__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsLCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsSkoda__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsVolkswagen__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BusinessAccountSource__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ClientStage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Email2__c',\n\t\t\tvalue: 'mario.vwgroup@gmail.com',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Email3__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Fax1__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsFleet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LegacySFId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MasterAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MobilePhone2__c',\n\t\t\tvalue: '690807844',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MobilePhone3__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersAudi__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersLCV__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersSkoda__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersVW__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OpenOpportunities__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VolumeOpenOpportunities__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ExpectedDeliveryDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CustomerType__c',\n\t\t\tvalue: 'F',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_2Surname__c',\n\t\t\tvalue: 'LOPEZ',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FinanceCoResponsibility__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Remarks__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InactiveRecord__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BusinessName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TypeOfDocument__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DealerCodeVaesa__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IDClimapro__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MDMSyncStatus__c',\n\t\t\tvalue: 'Synced',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalMdmStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumOfRetriesMDM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UpdateProcessAllowed__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BEVAgency__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DesynchronizedAccount__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SecondaryField__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Concession__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DealerCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommercialName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Test__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OutOfService__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetAgency__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_HelperPersonAccountfields__c',\n\t\t\tvalue: 'MARIO LOPEZ MORENO, Homephone: , Mobile: 675758541',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Retail__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__HasOptedOutOfMobile__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__Mobile_Country_Code__pc',\n\t\t\tvalue: 'US',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IDKID__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatusTimeStamp__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatus__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MasterDataSource__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Customer_Number__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AcademicTitle__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Birthdate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagAUDI__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSEAT__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSKODA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVWCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVW__pc',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ContactBrand__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CorrespondenceGreeting__pc',\n\t\t\tvalue: 'MARIO LOPEZ MORENO',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ExternalID__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRRequestInProgress__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Mobile__pc',\n\t\t\tvalue: '675758541',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Phone__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredChannelOfContact__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredLanguage__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingAudi__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingSeat__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingSkoda__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingVWCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingVW__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketing__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ValidationIdentifier__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LastMarketingPressureMeasuredDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureCall__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureEmail__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureLetter__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureSMS__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureTotal__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfCalls__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfEmails__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfLetters__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfSMS__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfTotalCommunications__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BirthPlace__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ConsentDealer__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ConsentNSC__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ConsentOEM__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CustomerKey__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Language__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LastCommercialEmailname__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingIndependentOfChannel__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_OEMPushNotificationConsent__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PersonType__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RecommendationExpirationDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RecommendationLatestExpirationDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RegistrationDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SurveyNSC__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SurveyOEM__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_EventParticipation__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagCUPRA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsFleet__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PrimaryContact__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Role__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Interest__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LegacySFId__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_2Surname__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadName__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadNumber__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadType__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DeletedMarketingCloud__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetAgency__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandAUDI__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandCUPRA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSEAT__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSKODA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVWCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVW__pc',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Retail__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BEVAgency__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DischargeBDNDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TerminationBDNDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IdCard__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t];\n};\n","export const getTestOrder = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'ORDER',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: '8011X000003hG8pQAE',\n\t},\n\t{\n\t\tname: 'VGED_CEMDeliveryDate__c',\n\t\tvalue: '2021-12-24',\n\t},\n\t{\n\t\tname: 'RCY_ActualDeliveryDate__c',\n\t\tvalue: '2021-12-24',\n\t},\n\n\t///////////// sin uso\n\n\t{\n\t\tname: 'attributes',\n\t\tvalue:\n\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@24d13ed5[type=Order,url=/services/data/v53.0/sobjects/Order/8011X000003hG8pQAE]',\n\t},\n\t{\n\t\tname: 'OwnerId',\n\t\tvalue: '0051X00000FOpojQAD',\n\t},\n\t{\n\t\tname: 'ContractId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AccountId',\n\t\tvalue: '0011i00001dahGZAAY',\n\t},\n\t{\n\t\tname: 'Pricebook2Id',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OriginalOrderId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OpportunityId',\n\t\tvalue: '0061X00000JQGJbQAP',\n\t},\n\t{\n\t\tname: 'QuoteId',\n\t\tvalue: '0Q01X000001jdBvSAI',\n\t},\n\t{\n\t\tname: 'RecordTypeId',\n\t\tvalue: '0121i0000009T64AAE',\n\t},\n\t{\n\t\tname: 'EffectiveDate',\n\t\tvalue: '2024-04-05',\n\t},\n\t{\n\t\tname: 'EndDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IsReductionOrder',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'Status',\n\t\tvalue: 'Open',\n\t},\n\t{\n\t\tname: 'Description',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CustomerAuthorizedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CustomerAuthorizedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CompanyAuthorizedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CompanyAuthorizedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Type',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Name',\n\t\tvalue: 'SARSA 14 04/04/2024',\n\t},\n\t{\n\t\tname: 'PoDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PoNumber',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OrderReferenceNumber',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillToContactId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShipToContactId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ActivatedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ActivatedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'StatusCode',\n\t\tvalue: 'Draft',\n\t},\n\t{\n\t\tname: 'CurrencyIsoCode',\n\t\tvalue: 'EUR',\n\t},\n\t{\n\t\tname: 'OrderNumber',\n\t\tvalue: '00962800',\n\t},\n\t{\n\t\tname: 'TotalAmount',\n\t\tvalue: '0.0',\n\t},\n\t{\n\t\tname: 'CreatedDate',\n\t\tvalue: '2024-04-05T07:46:33.000+0000',\n\t},\n\t{\n\t\tname: 'CreatedById',\n\t\tvalue: '0051X00000FOpojQAD',\n\t},\n\t{\n\t\tname: 'LastModifiedDate',\n\t\tvalue: '2024-05-27T15:48:20.000+0000',\n\t},\n\t{\n\t\tname: 'LastModifiedById',\n\t\tvalue: '0051i000004UwL0AAK',\n\t},\n\t{\n\t\tname: 'IsDeleted',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'SystemModstamp',\n\t\tvalue: '2024-05-27T15:48:20.000+0000',\n\t},\n\t{\n\t\tname: 'LastViewedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastReferencedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ActivationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_BillingEmail__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Asset__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ExtKey__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_CommissionNumber__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ConfirmationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ConfirmationStatus__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_EstimatedDeliveryDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_VIN__c',\n\t\tvalue: 'WVGZZZE24RP501114',\n\t},\n\t{\n\t\tname: 'RCY_BillingFirstName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_BillingLastName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_BillingSalutation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ContactCommunicationActionName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DateClicked__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DateSent__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DealerCountry__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DocumentName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DocumentType__c',\n\t\tvalue: '0',\n\t},\n\t{\n\t\tname: 'RCY_DurationReport__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ExpirationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ExtensionDateLatest__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_KVPSID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Locale__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_MerchantId__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_NetPrice__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_NotificationContact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_OrderCreationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_PONumber1__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Prolongation__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'RCY_SEMAGMigrationID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingEmail__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingFirstName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingLastName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingSalutation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_TeaserPurchase__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_AudiConnect__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_AudiSport__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_CO2WLTP__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ProductionDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ClimaproOrderID__c',\n\t\tvalue: '34011000',\n\t},\n\t{\n\t\tname: 'VGED_CodCarline__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_FAMDealershipSharing__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CodWLTP2__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CommunicationModel__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ContactableUniverse__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_CodCustomerRenting__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_IsStock__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_DelayType__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_DeliveryYear__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Electric__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_Factory__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_FleetSequence__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_HybridElectric__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_InstalledPrPackages__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_LegacySFId__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ModelGroup__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Model__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderSLI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState10__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState20__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState30__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState40__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState50__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState60__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState70__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState80__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Period__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_RetailDealershipSharing__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_RequestDelayDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SalesConcession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SalesTypeSLI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SellerCode__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SliState__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ConnectType__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SurveyableOrder__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_Test__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_TypeOrderVNVO__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Vehicle__c',\n\t\tvalue: 'a0U1X0000049qKgUAI',\n\t},\n\t{\n\t\tname: 'VGED_WLTPconsumption__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_WarrantyExtension__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_YearsWarrantyExtension__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CustomerType__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CodDriver__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Commerce__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_CustomersOrderDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Life__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_SurveyableDateCEM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SurveyablePerson__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Transformed__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_SalesModel__c',\n\t\tvalue: 'null',\n\t},\n];\n","export const getTestVehicle = (isElectrico?: boolean) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'VEHICLE',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'a0U1X0000049qKgUAI',\n\t\t},\n\t\t{\n\t\t\tname: 'Name', // Frame\n\t\t\tvalue: 'WVWZZZE13PP508774',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ModelGroup__c',\n\t\t\tvalue: isElectrico ? 'ID.3' : 'GOLF',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RegistrationPlate__c',\n\t\t\tvalue: '1111-BBB',\n\t\t},\n\n\t\t///////////// sin uso\n\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@7d536fed[type=Vehicle__c,url=/services/data/v53.0/sobjects/Vehicle__c/a0U1X0000049qKgUAI]',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Model__c',\n\t\t\tvalue: isElectrico ? 'ID.3' : 'GOLF',\n\t\t},\n\t\t{\n\t\t\tname: 'Registration__c',\n\t\t\tvalue: 'Example Registration',\n\t\t},\n\t\t{\n\t\t\tname: 'CurrencyIsoCode',\n\t\t\tvalue: 'EUR',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: '2023-09-07T10:24:54.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2024-05-29T09:27:53.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2024-05-29T09:27:53.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastActivityDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Account__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'DeliveryDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'EngineType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__c',\n\t\t\tvalue: '44529043',\n\t\t},\n\t\t{\n\t\t\tname: 'ExteriorColorText__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExteriorColor__c',\n\t\t\tvalue: 'C2A1',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ModelKey__c',\n\t\t\tvalue: 'E113MJ',\n\t\t},\n\t\t{\n\t\t\tname: 'ModelYear__c',\n\t\t\tvalue: '2023',\n\t\t},\n\t\t{\n\t\t\tname: 'Model__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Opportunity__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ProductionDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandList__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandLogo__c',\n\t\t\tvalue: '\"Volkswagen\"',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandSearch__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandVehicleModel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Brand__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DisplacementInLiters__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PowerInHorsePower__c',\n\t\t\tvalue: '150.0',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PowerInKw__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TransmissionCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VehicleDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SEMAGMigrationID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_HelperGVFTransmissionCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InteriorColorText__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InteriorColor__c',\n\t\t\tvalue: 'XX',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RoofColorText__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RoofColor__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AssistanceYears__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AudiConnect__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AudiSport__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarModelSalesgroup__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommercialDesignation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Electric__c',\n\t\t\tvalue: isElectrico ? 'false' : 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_GearType__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_HybridElectric__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_HybridGLP__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IDClimapro__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InactiveRecord__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InstalledPRPackages__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsModelS__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_KMEstimated__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongFullDriveProduct__c',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongFullDriveStanding__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MaintenanceIncluded__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MaintenanceType__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NextMaintenanceDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OfferLongFullDrive__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OptionalSLIImporter__c',\n\t\t\tvalue: 'EV3 PJH',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OptionalsSLI__c',\n\t\t\tvalue: 'AY2 EV3 PJH S3C W2E 4AF 8AV',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RegistrationDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RepairDateEA189__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Segment__c',\n\t\t\tvalue: isElectrico ? '30350' : '30316',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TEST__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TractionType__c',\n\t\t\tvalue: 'TRACCIÓN TRASERA',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TrimLevelModel__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VehicleWeightSLI__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LegacySFId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Model__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AffectedEA189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CancelDateLongDriveContractTerminat__c',\n\t\t\tvalue: '2034-03-11',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarNet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarlineCode__c',\n\t\t\tvalue: isElectrico ? '30350' : '30316',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Commerce__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommissionCode__c',\n\t\t\tvalue: '0028034',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommissionYear__c',\n\t\t\tvalue: '2023',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_EffectiveDateIncludingMaintenance__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FactoryPickup__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_GuaranteedKmsCoverage__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LastDateOfRepair__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Life__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongDriveContractDischargeDate__c',\n\t\t\tvalue: '2024-03-11',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongDriveEffectiveDate__c',\n\t\t\tvalue: '2034-03-11',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Mileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NextITV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumLdFreeMonths__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OrderNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RepairedEA189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_SalesGroupCode__c',\n\t\t\tvalue: isElectrico ? '33236' : '39237',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_SliModelGroup__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Transformed__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UpdateDateKmEstimation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VwConnect__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_WarrantyExtension__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_YearsWarrantyCoverage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_YearsWarrantyExtension__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MDMSyncStatus__c',\n\t\t\tvalue: 'Synced',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumOfRetriesMDM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalMdmStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsGVF__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t];\n};\n","export const getTestDealer = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'DEALER',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: '0011i00001dahNuAAI',\n\t},\n\t{\n\t\tname: 'VGED_CommercialName__c',\n\t\tvalue: 'CARHAUS',\n\t},\n\t{\n\t\tname: 'VGED_DealerCode__c',\n\t\tvalue: '0322H',\n\t},\n\t{\n\t\tname: 'KVPSCode__c',\n\t\tvalue: 'ESP08034V',\n\t},\n\t{\n\t\tname: 'VGED_ConcessionDealerCode__c',\n\t\tvalue: '0322H',\n\t},\n\t{\n\t\tname: 'ShippingStreet',\n\t\tvalue: 'CTRA. DE SANT BOI 11-13',\n\t},\n\t{\n\t\tname: 'ShippingPostalCode',\n\t\tvalue: '08940',\n\t},\n\t{\n\t\tname: 'ShippingCity',\n\t\tvalue: 'CORNELLA DE LLOBREGAT',\n\t},\n\t{\n\t\tname: 'ShippingLatitude',\n\t\tvalue: '41.355749',\n\t},\n\t{\n\t\tname: 'ShippingLongitude',\n\t\tvalue: '2.065784',\n\t},\n\t{\n\t\tname: 'ShippingStateCode',\n\t\tvalue: '8',\n\t},\n\n\t///////////// sin uso\n\n\t{\n\t\tname: 'RCY_DealerType__c',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tname: 'BillingStreet',\n\t\tvalue: 'CTRA. DE SANT BOI 11-13',\n\t},\n\t{\n\t\tname: 'BillingPostalCode',\n\t\tvalue: '08940',\n\t},\n\t{\n\t\tname: 'BillingCity',\n\t\tvalue: 'CORNELLA DE LLOBREGAT',\n\t},\n\t{\n\t\tname: 'BillingStateCode',\n\t\tvalue: '8',\n\t},\n\t{\n\t\tname: 'BillingLatitude',\n\t\tvalue: '41.355749',\n\t},\n\t{\n\t\tname: 'BillingLongitude',\n\t\tvalue: '2.065784',\n\t},\n];\n","import { IAuthServiceV2 } from '@volkswagen-onehub/authservice';\nimport { getOneHubConfig } from 'src/feature-app';\nimport { IEsOnehubVWConfig, IdentityKitCompleteMatch, HasPersonResponse } from './';\n\nexport const existPerson = async (\n\tauthServiceInstance: IAuthServiceV2,\n\tidentitykitId: string,\n): Promise => {\n\tconst onehubConfig = getOneHubConfig();\n\tconst endpoint = 'one-hub-vw-1.0/match-person/has-person';\n\n\tif (onehubConfig) {\n\t\tconst response = await authServiceInstance.get(\n\t\t\tonehubConfig.customConfig?.resourceHostId,\n\t\t\tendpoint + '?identitykitId=' + identitykitId,\n\t\t\t{\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(`GET request failed with code ${response.status}`);\n\t\t}\n\n\t\treturn response.json() as Promise;\n\t}\n\n\treturn null;\n};\n\nexport const matchPerson = async (\n\tauthServiceInstance: IAuthServiceV2,\n\tidentityKitCompleteMatch: IdentityKitCompleteMatch,\n): Promise => {\n\tconst onehubConfig = getOneHubConfig();\n\tconst endpoint = 'one-hub-vw-1.0/match-person';\n\n\tconst response = await authServiceInstance.put(\n\t\tonehubConfig.customConfig?.resourceHostId,\n\t\tendpoint,\n\t\tJSON.stringify(identityKitCompleteMatch),\n\t);\n\n\tif (!response.ok) {\n\t\tthrow new Error(`GET request failed with code ${response.status}`);\n\t}\n\n\treturn response.json() as Promise;\n};\n","import {\n\tFeatureServiceBinder,\n\tFeatureServiceEnvironment,\n\tFeatureServices,\n\tSharedFeatureService,\n} from '@feature-hub/core';\nimport { Store } from 'redux';\nimport { getPincode } from 'src/bff';\nimport { FormDataFields } from 'src/types';\nimport {\n\tDpsData,\n\tEsOneformCoreServiceV1,\n\tFieldType,\n\tOneFormDataV1 as OneformData,\n\tOneFormDataV1,\n\tPersonV1,\n} from './types';\nimport { BehaviorSubject } from 'rxjs';\nimport { ServiceConfigProviderV1 } from '@volkswagen-onehub/service-config-provider';\nimport parsePhoneNumber from 'libphonenumber-js';\nimport { isValidPhoneNumber } from 'libphonenumber-js';\nimport { checkIfIsTestPincode, getTestPincode } from './pincode-data';\nimport { AuthServiceProviderV2, IAuthServiceV2 } from '@volkswagen-onehub/authservice';\nimport { ProfileServiceV2Impl, UserService } from '@vwdfive/myvw-services';\nimport { existPerson } from 'src/feature-service/identity-kit-service';\n\nexport interface SharedEsOneformCoreService extends SharedFeatureService {\n\treadonly '1.0.0': FeatureServiceBinder;\n}\n\nexport interface RequiredFeatureServices extends FeatureServices {\n\treadonly 'service-config-provider': ServiceConfigProviderV1;\n}\n\nexport const oneformCoreServiceDefinition = {\n\tid: 'es:oneform-core',\n\n\tdependencies: {\n\t\tfeatureServices: {\n\t\t\t'service-config-provider': '^1.0.0',\n\t\t\t'fa-content-service': '^1.0.0',\n\t\t},\n\t},\n\n\toptionalDependencies: {\n\t\tfeatureServices: { ['vw:authService']: '2.0.0' },\n\t},\n\n\tcreate(env: FeatureServiceEnvironment) {\n\t\tlet oneFormData = {} as OneFormDataV1;\n\t\tlet dpsData = {} as DpsData;\n\t\tconst oneFormCoreDpsIsLoaded: BehaviorSubject = new BehaviorSubject(false);\n\n\t\tlet { 'service-config-provider': serviceConfig, ['vw:authService']: provider } = env.featureServices;\n\n\t\tconst getLoadedState = () => oneFormCoreDpsIsLoaded;\n\t\tconst get = () => oneFormData;\n\t\tconst getDpsData = (): DpsData => dpsData;\n\n\t\tconst v1 = () => ({\n\t\t\tfeatureService: {\n\t\t\t\tgetLoadedState,\n\n\t\t\t\tget,\n\t\t\t\tgetDpsData,\n\n\t\t\t\tset(updatedData: OneFormDataV1) {\n\t\t\t\t\toneFormData = { ...updatedData };\n\t\t\t\t},\n\n\t\t\t\tsetDpsData(updatedData: DpsData) {\n\t\t\t\t\tdpsData = { ...dpsData, ...updatedData };\n\t\t\t\t},\n\n\t\t\t\tasync initializeService(useAuth: boolean, useBff?: boolean) {\n\t\t\t\t\tawait this.checkData(useAuth, useBff);\n\t\t\t\t\toneFormCoreDpsIsLoaded.complete();\n\t\t\t\t},\n\n\t\t\t\tasync checkLogin() {\n\t\t\t\t\t//const authService = getAuthService(serviceConfig, provider as AuthServiceProviderV2);\n\t\t\t\t\tconst authService: IAuthServiceV2 = (provider as AuthServiceProviderV2)?.register('market');\n\t\t\t\t\tconst endpoint = serviceConfig.configs['customer-profile']?.urlOrigin;\n\t\t\t\t\tconst profileService = new ProfileServiceV2Impl(authService, endpoint);\n\t\t\t\t\tconst isAuthenticated = await authService?.isAuthenticated() ?? false;\n\t\t\t\t\tconst userService = new UserService(authService);\n\n\t\t\t\t\tif (!isAuthenticated) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst profile = await profileService.getUserProfile();\n\t\t\t\t\tconst email = await userService.getCurrentUserEmail();\n\t\t\t\t\t// const vumClient = new VumClient(endpoint, authService);\n\t\t\t\t\t// const aa = await vumClient.getUserVehicleRelations();\n\t\t\t\t\t//DATOS PERSONALES\n\t\t\t\t\tif (profile.phoneNumber) {\n\t\t\t\t\t\tconst parsedPhone = parsePhoneNumber(profile.phoneNumber);\n\t\t\t\t\t\tconst isValidPhone = isValidPhoneNumber(profile.phoneNumber);\n\t\t\t\t\t\tif (isValidPhone) {\n\t\t\t\t\t\t\tthis.setField('prefix', `+${parsedPhone.countryCallingCode}`);\n\t\t\t\t\t\t\tthis.setField('cellphone', parsedPhone.nationalNumber);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.setField('name', profile.firstName);\n\t\t\t\t\tthis.setField('surname', profile.lastName);\n\t\t\t\t\tthis.setField('email', email);\n\n\t\t\t\t\tconst identitykitId = await userService.getCurrentUserId();\n\t\t\t\t\tthis.setField('identitykitId', identitykitId);\n\t\t\t\t\tconst personResponse = await existPerson(authService, identitykitId);\n\t\t\t\t\tthis.setField('climaproUserStatus', personResponse?.data?.userStatus);\n\t\t\t\t\tthis.setField('climaproId', personResponse?.data?.climaproId);\n\n\t\t\t\t\t// this.setField('cellphone', '600000000');\n\t\t\t\t\t//this.setField('userIsAuthenticated', isAuthenticated ? 'true' : 'false');\n\n\t\t\t\t\t// VEHÍCULOS\n\t\t\t\t\t// this.setField('userVehicles', [\n\t\t\t\t\t// { matricula: 'A0000BC', kilometros: '30000', modelo: 'Arteon', anoMatriculacion: '' , isMainVehicle: false },\n\t\t\t\t\t// { matricula: 'B0000BC', kilometros: '60000', modelo: 'T-Roc', anoMatriculacion: '' , isMainVehicle: true },\n\t\t\t\t\t// ]);\n\t\t\t\t\t// this.setField('matricula', 'A0000BC');\n\n\t\t\t\t\t// DEALER\n\t\t\t\t\t// this.setField('favouriteDealer', '00031');\n\n\t\t\t\t\t// LEGALES\n\t\t\t\t\t// this.setField('lssi', 'PERMITIDO');\n\t\t\t\t\t// this.setField('tmk', 'PERMITIDO');\n\t\t\t\t},\n\n\t\t\t\tasync checkPincode(useBff?: boolean, isRetry?: boolean) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst pincode = this.getUrlParams('pincode');\n\n\t\t\t\t\t\tif (pincode && checkIfIsTestPincode(pincode)) {\n\t\t\t\t\t\t\t// console.log(getTestPincode(pincode),'pincode');\n\t\t\t\t\t\t\tthis.setDpsData({\n\t\t\t\t\t\t\t\tpincode: {\n\t\t\t\t\t\t\t\t\tpincodeResponse: getTestPincode(pincode),\n\t\t\t\t\t\t\t\t\tpincodeError: false,\n\t\t\t\t\t\t\t\t\tpincodeUsed: false,\n\t\t\t\t\t\t\t\t\tnoPincodeFound: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (pincode) {\n\t\t\t\t\t\t\tconst pincodeData = await getPincode(pincode, useBff);\n\n\t\t\t\t\t\t\tthis.setDpsData({\n\t\t\t\t\t\t\t\tpincode: {\n\t\t\t\t\t\t\t\t\tpincodeResponse: pincodeData.pincodeData,\n\t\t\t\t\t\t\t\t\tpincodeError: pincodeData.pincodeError,\n\t\t\t\t\t\t\t\t\tpincodeUsed: pincodeData.pincodeUsed,\n\t\t\t\t\t\t\t\t\tnoPincodeFound: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// person.map((att) => {\n\t\t\t\t\t\t\t// // this.setField(att.name, att.value);\n\t\t\t\t\t\t\t// });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.setDpsData({\n\t\t\t\t\t\t\t\tpincode: {\n\t\t\t\t\t\t\t\t\tpincodeResponse: null,\n\t\t\t\t\t\t\t\t\tpincodeError: null,\n\t\t\t\t\t\t\t\t\tpincodeUsed: null,\n\t\t\t\t\t\t\t\t\tnoPincodeFound: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\toneFormCoreDpsIsLoaded.error(error);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tcheckUrl() {\n\t\t\t\t\tconst dealerKvps = this.getUrlParams('dealer');\n\t\t\t\t\tconst motivo = this.getUrlParams('motivo');\n\t\t\t\t\tconst contactado = this.getUrlParams('contactado');\n\t\t\t\t\tconst rating = this.getUrlParams('rating');\n\t\t\t\t\tconst push = this.getUrlParams('push');\n\t\t\t\t\tconst estado = this.getUrlParams('estado');\n\t\t\t\t\tconst waid = this.getUrlParams('wa') || this.getUrlParams('waid');\n\t\t\t\t\tconst cem = this.getUrlParams('cem');\n\t\t\t\t\tconst mgm = this.getUrlParams('mgm');\n\t\t\t\t\tconst adviser = this.getUrlParams('adviser');\n\t\t\t\t\tconst agency = this.getUrlParams('agency');\n\t\t\t\t\tconst or = this.getUrlParams('or');\n\t\t\t\t\tconst dat = this.getUrlParams('dat');\n\t\t\t\t\tconst env = this.getUrlParams('env');\n\t\t\t\t\tconst fe = this.getUrlParams('fe');\n\t\t\t\t\tconst dealer = this.getUrlParams('dealer');\n\t\t\t\t\tconst kvps = this.getUrlParams('kvps');\n\t\t\t\t\tconst campaign = this.getUrlParams('campaign');\n\t\t\t\t\tconst model = this.getUrlParams('model');\n\t\t\t\t\tconst interes = this.getUrlParams('interes');\n\n\t\t\t\t\tif (motivo) {\n\t\t\t\t\t\tthis.setField('motivo', motivo);\n\t\t\t\t\t}\n\t\t\t\t\tif (dealerKvps) {\n\t\t\t\t\t\tthis.setField('dealerKvps', dealerKvps);\n\t\t\t\t\t}\n\t\t\t\t\tif (contactado) {\n\t\t\t\t\t\tthis.setDpsData({ contactado });\n\t\t\t\t\t}\n\t\t\t\t\tif (rating) {\n\t\t\t\t\t\tthis.setDpsData({ rating });\n\t\t\t\t\t}\n\t\t\t\t\tif (push) {\n\t\t\t\t\t\tthis.setDpsData({ push });\n\t\t\t\t\t}\n\t\t\t\t\tif (estado) {\n\t\t\t\t\t\tthis.setDpsData({ estado });\n\t\t\t\t\t}\n\t\t\t\t\tif (waid) {\n\t\t\t\t\t\tthis.setDpsData({ waid });\n\t\t\t\t\t}\n\t\t\t\t\tif (cem) {\n\t\t\t\t\t\tthis.setDpsData({ cem });\n\t\t\t\t\t}\n\t\t\t\t\tif (mgm) {\n\t\t\t\t\t\tthis.setDpsData({ mgm });\n\t\t\t\t\t}\n\t\t\t\t\tif (adviser) {\n\t\t\t\t\t\tthis.setDpsData({ adviser });\n\t\t\t\t\t}\n\t\t\t\t\tif (agency) {\n\t\t\t\t\t\tthis.setDpsData({ agency });\n\t\t\t\t\t}\n\t\t\t\t\tif (or) {\n\t\t\t\t\t\tthis.setDpsData({ or });\n\t\t\t\t\t}\n\t\t\t\t\tif (dat) {\n\t\t\t\t\t\tthis.setDpsData({ dat });\n\t\t\t\t\t}\n\t\t\t\t\tif (env) {\n\t\t\t\t\t\tthis.setDpsData({ env });\n\t\t\t\t\t}\n\t\t\t\t\tif (fe) {\n\t\t\t\t\t\tthis.setDpsData({ fe });\n\t\t\t\t\t}\n\t\t\t\t\tif (dealer) {\n\t\t\t\t\t\tthis.setDpsData({ dealer });\n\t\t\t\t\t}\n\t\t\t\t\tif (kvps) {\n\t\t\t\t\t\tthis.setDpsData({ kvps });\n\t\t\t\t\t}\n\t\t\t\t\tif (campaign) {\n\t\t\t\t\t\tthis.setDpsData({ campaign });\n\t\t\t\t\t}\n\t\t\t\t\tif (model) {\n\t\t\t\t\t\tthis.setDpsData({ model });\n\t\t\t\t\t}\n\t\t\t\t\tif (interes) {\n\t\t\t\t\t\tthis.setDpsData({ interes });\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tasync checkData(useAuth: boolean, useBff?: boolean) {\n\t\t\t\t\tawait this.checkPincode(useBff);\n\t\t\t\t\tif (useAuth && getDpsData().pincode.noPincodeFound) {\n\t\t\t\t\t\tawait this.checkLogin();\n\t\t\t\t\t}\n\t\t\t\t\tthis.checkUrl();\n\t\t\t\t},\n\n\t\t\t\tgetUrlParams(param: string) {\n\t\t\t\t\tif (typeof window === 'undefined') {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\tif (window && window.location) {\n\t\t\t\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\t\t\t\treturn urlParams.get(param);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t},\n\n\t\t\t\tasync retryPincodeLoad(useBff?: boolean) {\n\t\t\t\t\tawait this.checkPincode(useBff);\n\t\t\t\t},\n\n\t\t\t\tsetField(field: FieldType | string, value: any): void {\n\t\t\t\t\tconst { person } = this.get();\n\t\t\t\t\tconst updatedPerson: PersonV1 = { ...person };\n\t\t\t\t\tupdatedPerson[field] = value;\n\t\t\t\t\tconst updatedOneFormData: OneformData = { ...oneFormData, person: { ...updatedPerson } };\n\t\t\t\t\tthis.set(updatedOneFormData);\n\t\t\t\t},\n\n\t\t\t\tsubscribeToFields(store: Store): void {\n\t\t\t\t\tconst { fields }: { fields: FormDataFields } = store.getState().formData;\n\t\t\t\t\tObject.keys(fields).forEach((field) => {\n\t\t\t\t\t\tthis.setField(field, fields[field]);\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\treturn { '1.0.0': v1 };\n\t},\n};\n","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { default as _parsePhoneNumber } from '../../core/index.js'\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn withMetadataArgument(_parsePhoneNumber, arguments)\r\n}","import { ApiKeyProviderV1 } from '@volkswagen-onehub/api-key-provider';\nimport { AsyncSsrManagerV1 } from '@feature-hub/async-ssr-manager';\nimport { AuthServiceProviderV2 } from '@volkswagen-onehub/authservice';\nimport { CarConfigurationServiceV2 } from '@volkswagen-onehub/car-configuration-feature-service';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { FaContentServiceV1 } from '@volkswagen-onehub/fa-content-service';\nimport { FeatureAppDefinition, FeatureServices } from '@feature-hub/core';\nimport { FeatureAppEnvironmentContext } from 'src/feature-app/hooks/use-feature-app-environment';\nimport { FinancialDataServiceV1 } from '@volkswagen-onehub/financial-data-feature-service';\nimport { HistoryServiceV2 } from '@feature-hub/history-service';\nimport { ImageServiceV1 } from '@volkswagen-onehub/image-service';\nimport { initialState } from 'src/feature-app/redux/index';\nimport { initSentry } from './sentry/';\nimport { LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { LocaleServiceV1 } from '@volkswagen-onehub/locale-service';\nimport { Logger } from '@feature-hub/logger';\nimport { NavigationServiceV1 } from '@volkswagen-onehub/navigation-service';\nimport { oneformCoreServiceDefinition } from 'src/feature-service/es-oneform-core-feature-service/index';\nimport { ReactFeatureApp } from '@feature-hub/react';\nimport { saveEnvironment } from './save-feature-app';\nimport { saveFeatureServices } from 'src/feature-app';\nimport { SerializedStateManagerV1 } from '@feature-hub/serialized-state-manager';\nimport { ServiceConfigProviderV1 } from '@volkswagen-onehub/service-config-provider';\nimport { ThemeProvider } from '@volkswagen-onehub/components-core';\nimport { TrackingManagerV1 } from '@volkswagen-onehub/tracking-service';\nimport { UserInteractionServiceV1 } from '@volkswagen-onehub/user-interaction-service';\nimport * as React from 'react';\nimport App from './App';\nimport ErrorBoundary from './sentry/ErrorBoundary';\n\nexport type Trigger =\n | 'adhoc-2025-the_originals'\n | 'adhoc-2024-navidad_gti'\n | 'adhoc-2021-diamadre'\n | 'adhoc-2021-eurocopa'\n | 'adhoc-2021-fidelizacion_clientes'\n | 'adhoc-2021-navidad'\n | 'adhoc-2023-test_id'\n | 'adhoc-2023-concurso_rodaje'\n | 'adhoc-2023-plan_ideal'\n | 'adhoc-lanzamiento-taigo'\n | 'adhoc-suvperheroes'\n | 'autosubmit'\n | 'baja-comunicaciones'\n | 'callme-embedded'\n | 'cita-posventa-dealer'\n | 'cita-posventa-embedded'\n | 'cita-posventa-tile-grid'\n | 'cita-posventa-tile'\n | 'cita-posventa'\n | 'empresas'\n | 'encuestas'\n | 'feedback'\n | 'lead-configurador'\n | 'lead-dealer'\n | 'lead-embedded'\n | 'lead-inpage'\n | 'lead'\n | 'mgm'\n | 'newsletter'\n | 'prospect-embedded'\n | 'prospect-posventa-embedded'\n | 'prospect'\n | 'race'\n | 'sac'\n | 'ugc'\n | 'widget'\n ;\nexport interface FeatureAppConfig {\n readonly trigger?: Trigger;\n}\n\ninterface Installation {\n name: string;\n code: string;\n}\n\ninterface CalculatorData {\n carYear: number;\n familyModelCode?: string;\n familyModelDesc?: string;\n installation: Installation;\n kilometres?: string;\n license?: string;\n licensePlate?: string;\n modelDescr?: string;\n modelKey?: string;\n vin?: string;\n}\ninterface CalculatorService {\n setInstallation?: (installation: Installation) => void;\n getCalculatorData?: () => CalculatorData;\n}\n\nexport interface Dependencies extends FeatureServices {\n readonly 's2:async-ssr-manager': AsyncSsrManagerV1 | undefined;\n readonly 's2:serialized-state-manager': SerializedStateManagerV1;\n readonly 'layer-manager': LayerManagerV2;\n readonly 'es:oneform-core': EsOneformCoreServiceV1;\n readonly 'car-configuration': CarConfigurationServiceV2;\n readonly 'locale-service': LocaleServiceV1;\n readonly 'service-config-provider': ServiceConfigProviderV1;\n readonly 'fa-content-service': FaContentServiceV1;\n readonly 's2:history': HistoryServiceV2;\n readonly 'financial-data': FinancialDataServiceV1;\n readonly 'vw:authService': AuthServiceProviderV2;\n readonly 'user-interaction-service'?: UserInteractionServiceV1;\n readonly 'image-service'?: ImageServiceV1;\n readonly 'api-key-provider': ApiKeyProviderV1;\n readonly 'calculator-feature-service'?: CalculatorService;\n readonly 's2:logger': Logger;\n readonly 'navigation-service': NavigationServiceV1;\n\n readonly tracking?: TrackingManagerV1;\n}\n\nconst featureAppDefinition: FeatureAppDefinition = {\n dependencies: {\n featureServices: {\n 's2:serialized-state-manager': '^1.0.0',\n 'layer-manager': '^2.3.0',\n 'es:oneform-core': '^1.0.0',\n 'car-configuration': '^2.0.0',\n 'locale-service': '^1.0.0',\n 'service-config-provider': '^1.0.0',\n 'fa-content-service': '^1.0.0',\n 's2:history': '^2.0.0',\n 'financial-data': '^1.0.0',\n 'user-interaction-service': '^1.0.0',\n 'image-service': '^1.1.1',\n 's2:logger': '^1.0.0',\n 'navigation-service': '^1.0.0',\n 'api-key-provider': '^1.0.1',\n },\n },\n\n optionalDependencies: {\n featureServices: {\n 's2:async-ssr-manager': '^1.0.0',\n tracking: '^1.0.0',\n ['vw:authService']: '2.0.0',\n 'calculator-feature-service': '^1.0.0',\n },\n },\n\n ownFeatureServiceDefinitions: [oneformCoreServiceDefinition],\n\n create: (env) => {\n let oneFormState = JSON.stringify(initialState);\n\n let { 's2:async-ssr-manager': asyncSsrManager, 's2:serialized-state-manager': serializedStateManager } =\n env.featureServices;\n // Necesario para que cualquier función pueda acceder a los featureServices sin usar hooks, especialmente\n // para acceder a los service configs.\n saveFeatureServices(env.featureServices);\n saveEnvironment(env);\n\n const { hub } = initSentry(env.featureServices, env.config);\n // oneFormService.initializeService();\n // We use the presence of the asyncSsrManager to determine whether we are\n // rendered on the server or on the client.\n if (asyncSsrManager) {\n serializedStateManager.register(() => JSON.stringify(initialState));\n\n asyncSsrManager\n .scheduleRerender\n // (async () =>\n // (initialState = await fetchInitialState(config, carConfiguration)))()\n ();\n } else {\n const serializedState = serializedStateManager.getSerializedState();\n if (serializedState) {\n oneFormState = serializedState;\n }\n }\n\n return {\n render: () => (\n \n \n \n \n \n \n \n ),\n };\n },\n};\n\nexport default featureAppDefinition;\n","import { isMobileOnly, isTablet } from 'react-device-detect';\n\nexport const getParamsForm = () => {\n let tc: string;\n if (typeof s !== 'undefined' && typeof s.persCmp !== 'undefined') {\n tc = s.persCmp;\n } else {\n tc = 'undefined';\n }\n\n const date = new Date();\n const device = isMobileOnly ? 'mobile' : isTablet ? 'tablet' : 'desktop';\n const location = window.location.href;\n const referalUrl = document.referrer.substring(0, 30);\n const today = date.toISOString().replace(\"T\",\" \").split(\".\")[0];\n //const today = date.toISOString().slice(0, 10) + ' ' + date.toLocaleString('es-ES').slice(-8);\n const url = window.location.origin + window.location.pathname;\n\n return {\n device,\n location,\n referalUrl,\n tc,\n today,\n url,\n };\n};\n","import { useState, useEffect } from 'react';\nimport { useWindowHeight, useWindowWidth} from '@react-hook/window-size';\n\nexport const useDropdowPosition = (identifier: string) => {\n\n const windowHeight = useWindowHeight();\n const windowWidth = useWindowWidth();\n\n const [ boundingObject, setBoundingObject ] = useState(null);\n const [ bottom, setBottom ] = useState(null);\n const [ top, setTop ] = useState(null);\n const [ left, setLeft ] = useState(null);\n const [ right, setRight ] = useState(null);\n const [ goUp, setGoUp ] = useState(false);\n\n //boundingObject contiene varias keys, bottom hace referencia a la distancia entre el bottom del elemento y el top del window\n\n const getBoundingObject = () => { \n const {top, right, bottom, left, width, height, x, y} = document.querySelector(identifier).getBoundingClientRect();\n //la librería de autosuggest no permite poner id, por eso el querySelector\n setBoundingObject({top, right, bottom, left, width, height, x, y});\n setBottom(bottom);\n setTop(top);\n setLeft(left);\n setRight(right);\n }; \n\n const getAndUpdateState = () => {\n getBoundingObject();\n };\n\n useEffect(()=>{\n const distanciaDeCambio = windowHeight/4 > 150 ? windowHeight/4 : 150;\n const distanceToBottom = windowHeight - bottom;\n if(windowWidth < 960) {\n setGoUp(false);\n } else if( distanceToBottom < distanciaDeCambio) {\n setGoUp(true);\n //console.log(windowHeight, 'true');\n } else {\n setGoUp(false);\n //console.log(windowHeight, 'false');\n\n }\n\n }, [boundingObject]);\n\n return { boundingObject, bottom, top, left, right, goUp, getAndUpdateState};\n};\n","import { Content } from '@volkswagen-onehub/fa-content-service';\nimport { useFeatureServices } from 'src/feature-app';\nimport { CalculatorDefaultResponse, MatchSelectedOptions, Offer } from 'src/types';\n\nexport type EmbeddedFeatureApp = 'es-ofertas' | 'es-stock-teaser' | 'es-match' | 'es-calculadora' | 'es-maintenance-plan' | 'es-portal' | 'es-bono' | 'es-my-benefits' | 'Configure';\n\nexport interface VehiclePortal {\n\tvehicleClimaproId: number;\n\tframe: string;\n\timage: string;\n\tcomercialDenomination: string;\n\tcommercialDenominationSli: string;\n\tfamilyModelCode: string;\n\tfamilyModelDesc: string;\n\ttmaimg: string | null;\n\tlicense: string | null;\n\tdealerDate: number;\n\tlicenseDate: number | undefined;\n\tdeliveryDate: number;\n\n\t//Maintenance\n\tclimaProKM?: number;\n\tlocalKM?: number;\n\tmaintenanceYears?: number;\n\tmaintenanceMonths?: number;\n\tmaintenanceDays?: number;\n\tmaintenanceTotalDays?: number;\n\talertNextMaintenance?: boolean;\n\tmaintenance?: any;\n\trepairOrders?: any;\n\teditKm?: boolean;\n\n\t//Benefits\n\tsalesGroup?: string;\n\tpersonVehicleRelation?: boolean;\n\tflagIsVO?: boolean;\n}\n\ninterface PortalFields {\n\tvehicle: VehiclePortal[];\n\tquotePvp?: string;\n\tquoteOperations?: {\n\t\tid: string; // Identificador único de la operación\n\t\tname: string; // Nombre de la operación\n\t\tpvp: string | undefined; // Precio de la operación\n\t}[];\n\toperation?: {\n\t\tid: string; // Identificador único de la operación\n\t\tname: string; // Nombre de la operación\n\t}[];\n}\n\n//NO SE USA\nexport interface VehicleCalculadora {\n\tfamilyCode: string;\n\tfamilyDesc: string;\n\tmodelDescr: string;\n\tmodelKey: string;\n\tvin: string;\n\tmileage: number;\n\tplate: string;\n\tplateDate: string;\n}\n\n// interface CalculadoraFields {\n// dealer: string; // Código KVPS\n// vehicle: VehicleCalculadora[];\n// quotePvp: string;\n// quoteOperations: {\n// id: string; // Identificador único de la operación\n// name: string; // Nombre de la operación\n// pvp: string; // Precio de la operación\n// }[];\n// deepLink: string; // URL para acceder a calculadora con el presupuesto precargado\n// }\n\ntype WidgetOptions = 'Mapa';\nexport interface OneFormContent extends Content, PortalFields {\n\t'bodycopy-logged'?: string;\n\t'headline-logged'?: string;\n\t'action'?: string;\n\t'argumentatives'?: string;\n\t'bodycopy'?: string;\n\t'bodycopy2'?: string;\n\t'bono'?: any;\n\t'carlines'?: number[] | string[];\n\t'cem'?: 'VENTA' | 'POSVENTA';\n\t'cta'?: string;\n\t'dpsFields'?: {\n\t\tfield: 'headers[DESC_FORM_DETAIL]' | 'headers[DETALLE_TIPO_PETICION_SIM]';\n\t\tvalue: string;\n\t}[];\n\t'encuesta'?: 'CEM - VENTA' | 'CEM - VENTA PRODUCTO' | 'CEM - POSVENTA' | 'CEM - ONESHOP' | 'CEM - SEGUNDA ENTREGA - INVITACION' | 'CEM - SEGUNDA ENTREGA - VALORACION' | 'LEM' | 'NO COMPRA' | 'NO RENOVACIÓN';\n\t'featureApp'?: EmbeddedFeatureApp;\n\t'forms'?: LeadForm[];\n\t'headline'?: string;\n\t'intro'?: string;\n\t'isCitaPosventaStageOrDefault'?: 'Default' | 'Stage';\n\t'lead_type'?: 'test-drive' | 'presupuesto' | 'mas-informacion' | 'cita' | 'stock' | 'call-center';\n\t'marketingCodeConfig'?: { SalesgroupId: string; SalesgroupName: string };\n\t'match'?: Offer; // Hay que implementar el type Preconfiguration\n\t'matchOptions'?: MatchSelectedOptions;\n\t'mgm'?: 'Bono Cliente' | 'Bono Regalo' | 'Envío Regalo';\n\t'mgmImgSrc'?: string;\n\t'mode'?: 'Salesgroup' | 'Carline' | 'CarConfiguratorFS' | 'Mixed';\n\t'modo'?: 'Dark' | 'Light';\n\t'motivo'?: string;\n\t'navidadImgSrc'?: string;\n\t'observaciones'?: string;\n\t'oferta'?: Offer;\n\t'financeCalculation'?: CalculatorDefaultResponse['rawResponse'] | undefined;\n\t'race'?: 'true' | 'false';\n\t'salesgroups'?: number[];\n\t'stageCitaImgSrc'?: string;\n\t'thankYouPage'?: string;\n\t'triggerCase'?: 'Generico' | 'OneShop';\n\t'userInteraction'?: 'false' | 'true';\n\t'widget'?: WidgetOptions;\n\t'feedback'?: string;\n\t'idkit'?: string;\n\t'climapro'?: string;\n\t'provinces'?: string[];\n}\n\nexport type LeadForm = 'lead-presupuesto' | 'lead-mas_informacion' | 'lead-test_drive' | 'lead-cita' | 'lead-stock';\n\nexport function useFaContent(): OneFormContent | undefined {\n\treturn useFeatureServices()['fa-content-service'].content as OneFormContent;\n}\n","import { FeatureAppConfig, useFeatureAppEnvironment } from 'src/feature-app';\n\nexport function useFeatureAppConfig(): FeatureAppConfig {\n const { config } = useFeatureAppEnvironment();\n\n return config || {};\n}\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { useState, useEffect } from 'react';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\nexport const useGetBoundingClientRect = (identifier: string) => {\n\n const [boundingObject, setBoundingObject] = useState(null);\n const [bottom, setBottom] = useState(null);\n const [top, setTop] = useState(null);\n const [left, setLeft] = useState(null);\n const [right, setRight] = useState(null);\n const [y, setY] = useState(null);\n\n //boundingObject contiene varias keys, bottom hace referencia a la distancia entre el bottom del elemento y el top del window\n\n const getBoundingObject = () => {\n const element = document.querySelector(identifier);\n if (element) {\n const { top, right, bottom, left, width, height, x, y } = element.getBoundingClientRect();\n //la librería de autosuggest no permite poner id, por eso el querySelector\n setBoundingObject({ top, right, bottom, left, width, height, x, y });\n setBottom(bottom);\n setTop(top);\n setLeft(left);\n setRight(right);\n setY(y);\n }\n };\n\n const getAndUpdateState = () => {\n getBoundingObject();\n };\n\n return { boundingObject, bottom, top, left, right, y, getAndUpdateState };\n};\n","import { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getDealerKvps } from 'src/bff/api/get-dealer-kvps';\n\nexport function useGetDealer() {\n const dispatch = useDispatch();\n const [dealerName, setDealerName] = useState(null);\n const [selectedDealer, setSelectedDealer] = useState(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (!window.location) {\n setLoading(false);\n }\n const urlParams = new URLSearchParams(window.location.search);\n const dealer = urlParams.get('dealer');\n if (!dealer) {\n setLoading(false);\n return;\n }\n getDealerKvps(dealer)\n .then((selectedDealer) => {\n if (selectedDealer) {\n setDealerName(selectedDealer.name);\n setSelectedDealer(selectedDealer);\n dispatch({ type: 'SET_SELECTED_DEALER', payload: selectedDealer });\n dispatch({ type: 'SET_URL_DEALER', payload: selectedDealer });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: selectedDealer });\n const { longitude, latitude } = selectedDealer.markerInfo.svcLocation;\n const point = {\n type: 'Feature',\n properties: { cluster: false, concesionId: selectedDealer.id, dealer: selectedDealer },\n geometry: {\n type: 'Point',\n coordinates: [longitude, latitude],\n },\n };\n const points = [point];\n dispatch({ type: 'SET_DEALERS', payload: [selectedDealer] });\n dispatch({ type: 'SET_POINTS', payload: points });\n dispatch({ type: 'DEALERS_OR_INSTALLATIONS_MODE', payload: 'dealers' });\n } else {\n setDealerName(null);\n setSelectedDealer(null);\n }\n\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n }, []);\n return { dealerName, selectedDealer, loading };\n}\n","import { isNull } from 'src/feature-app';\nimport { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getDealerKvps } from 'src/bff/api/get-dealer-kvps';\nimport { DealersData } from 'src/types';\nimport { getDealers } from 'src/bff';\n\nexport function useGetDealers(kvps?: string) {\n const dispatch = useDispatch();\n const [dealerName, setDealerName] = useState(null);\n const [selectedDealer, setSelectedDealer] = useState(null);\n const [loading, setLoading] = useState(true);\n const [dealers, setDealers] = useState(null);\n\n useEffect(() => {\n const handleDealer = async (kvps: string) => {\n const selectedDealer = await getDealerKvps(kvps);\n\n if (selectedDealer) {\n setDealerName(selectedDealer.name);\n setSelectedDealer(selectedDealer);\n dispatch({ type: 'SET_SELECTED_DEALER', payload: selectedDealer });\n dispatch({ type: 'SET_URL_DEALER', payload: selectedDealer });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: selectedDealer });\n } else {\n setDealerName(null);\n setSelectedDealer(null);\n }\n };\n\n if (window && window.location) {\n const urlParams = new URLSearchParams(window.location.search);\n const dealer = urlParams.get('dealer');\n\n if (dealer) {\n handleDealer(dealer);\n }\n }\n if (kvps) {\n handleDealer(kvps);\n }\n\n const requestDealers = async () => {\n const dealers = await getDealers();\n\n const points = dealers\n .map((dealer: DealersData) => {\n if (isNull(dealer.markerInfo.svcLocation)) return {};\n const { longitude, latitude } = dealer.markerInfo.svcLocation;\n return {\n type: 'Feature',\n properties: { cluster: false, concesionId: dealer.id, dealer: dealer },\n geometry: {\n type: 'Point',\n coordinates: [longitude, latitude],\n },\n };\n })\n .filter((point) => Object.keys(point).length > 0);\n\n dispatch({ type: 'SET_DEALERS', payload: dealers });\n dispatch({ type: 'SET_POINTS', payload: points });\n dispatch({ type: 'DEALERS_OR_INSTALLATIONS_MODE', payload: 'dealers' });\n setDealers(dealers);\n setLoading(false);\n };\n\n requestDealers();\n }, []);\n return { dealers, dealerName, selectedDealer, loading };\n}\n","import { getDataServiceConfig } from 'src/feature-app';\n\nexport const useGetBrand = (): 'V' |'N' |undefined => {\n const data = getDataServiceConfig();\n const brand = data.customConfig?.brand;\n\n return brand;\n};\n","import { useGetBrand } from './use-get-brand';\n\nexport const useIsComerciales = () => {\n const brand = useGetBrand();\n\n return brand === 'N'; \n};\n","import { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { useFaContent } from 'src/feature-app';\nimport { getInstallations, getInstallationsLegacy } from 'src/bff';\nimport { DealersData, DomainAttributesValues, Installation, InstallationResponse, Points } from 'src/types';\nimport { useIsComerciales } from './use-is-comerciales';\nimport { provinces } from '../NewMap';\n\nexport function useGetInstalaciones(token?: string, domain?: string): string {\n const dispatch = useDispatch();\n const [dealerName, setDealerName] = useState(null);\n const store = useStore();\n const faContent = useFaContent();\n\n useEffect(() => {\n const requestInstallations = async () => {\n\t\t\n\t\tlet installationsResponse = await getInstallations(token, domain);\n\n\t\tif(faContent.provinces && faContent.provinces.length > 0) {\n\t\t\t// Obtenemos el prefijo de los códigos postales de provinces.ts seleccionadas en faContent.provinces. Añadimos un 0 si el código es menor que 10.\n\t\t\tconst allowedPrefixes = provinces\n\t\t\t\t.filter(item => faContent.provinces.includes(item.attributes.find(attr => attr.name === 'NAME').value))\n\t\t\t\t.map(item => {\n\t\t\t\t\tconst code = item.attributes.find(attr => attr.name === 'CODE').value;\n\t\t\t\t\treturn parseInt(code, 10) < 10 ? `0${code}` : `${code}`;\n\t\t\t\t});\n\n\t\t\t// Filtramos las instalaciones por el prefijo. Si el código postal de la instalación empieza por alguno de los prefijos permitidos, se incluye.\n\t\t\tinstallationsResponse = installationsResponse.filter(entry => {\n\t\t\t\tconst shippingPostalCode = entry.attributes.find(attr => attr.name === 'ShippingPostalCode')?.value;\n\t\t\t\treturn shippingPostalCode && allowedPrefixes.some(prefix => shippingPostalCode.startsWith(prefix));\n\t\t\t});\n\t\t}\n\n // La respuesta viene como una array de arrays de attributes. Eliminamos este nivel para simplificar.\n const installationsDomainAtt: DomainAttributesValues[][] = installationsResponse.map((inst) => inst.attributes);\n const isComerciales = useIsComerciales();\n const selectedCarlineCode = store.getState().dealersInfo?.selectedCarline?.code;\n const excludedInstallationCodes = ['03812', '03394', 'EX1Q2', '0311X', '0321C', 'EX2C3', 'EX2H4', '30559', '53V50', '0310W', '30724', '03917', '30083', 'EX2Y1', 'EX1P0', '03910']\n const isIdBuzz = () => selectedCarlineCode === 72005 || selectedCarlineCode === 72006;\n\n const getProvince = (provinceCode: string): string | null => {\n const province = provinces.find(p => p.attributes.some(attr => attr.value === provinceCode));\n return province ? province.attributes.find(attr => attr.name === 'NAME')?.value?.toUpperCase() ?? null : null;\n };\n\n let points: Points[] = [];\n let installations: Installation[] = [];\n\n installationsDomainAtt.forEach((installation) => {\n const newInstallation: Installation = {\n Id: '',\n VGED_CommercialName__c: '',\n ShippingStreet: '',\n ShippingPostalCode: '',\n ShippingCity: '',\n ShippingLatitude: '',\n ShippingLongitude: '',\n VGED_DealerCode__c: '',\n ShippingStateCode: '',\n KVPSCode__c: '',\n Province: '',\n };\n\n installation.forEach((property) => {\n const { name, value } = property;\n if (name === 'ShippingStateCode') {\n newInstallation[name] = value;\n const provinceName = getProvince(value);\n newInstallation['Province'] = provinceName ?? '';\n }\n else {\n (newInstallation.hasOwnProperty(name))\n newInstallation[name] = value;\n }\n });\n\n if (\n !newInstallation.ShippingLatitude ||\n !newInstallation.ShippingLongitude ||\n newInstallation.ShippingLatitude === '' ||\n newInstallation.ShippingLongitude === ''\n ) {\n return;\n }\n\n // Necesario para el correcto funcionamiento del mapa.\n const dealer: Partial = {\n kvps: newInstallation.KVPSCode__c,\n name: newInstallation.VGED_CommercialName__c,\n markerInfo: {\n dealerInfo: {\n name: newInstallation.VGED_CommercialName__c,\n address: newInstallation.ShippingStreet,\n zipCode: newInstallation.ShippingPostalCode,\n city: newInstallation.ShippingCity,\n province: newInstallation.Province,\n },\n },\n };\n\n const point = {\n type: 'Feature',\n properties: { cluster: false, installation: newInstallation, dealer }, //concesionId: dealer.id, dealer: dealer\n geometry: {\n type: 'Point',\n coordinates: [newInstallation.ShippingLongitude, newInstallation.ShippingLatitude],\n },\n };\n\n const isExcludedInstallation = (): boolean => {\n return excludedInstallationCodes.includes(newInstallation.VGED_DealerCode__c)\n }\n if (isComerciales && !isIdBuzz() && isExcludedInstallation()) {\n return\n }\n else {\n points.push(point);\n installations.push(newInstallation);\n }\n });\n dispatch({ type: 'SET_INSTALLATIONS', payload: installations });\n dispatch({ type: 'SET_POINTS', payload: points });\n dispatch({ type: 'DEALERS_OR_INSTALLATIONS_MODE', payload: 'installations' });\n };\n\n requestInstallations();\n }, []);\n return dealerName;\n}\n","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getMarketingCode } from 'src/bff';\nimport { useFaContent } from 'src/feature-app';\n\n/**\n * Hook necesario para disparar ambos formularios de match. El objetivo es enviar las variables de match y matchMarketingCodeData para\n * que desde la parte de analítica se puedan obtener todas las variables que se están utilizando tambien para la analítica de match.\n * @param setSelectedJourney\n * @param Form\n */\nexport function useInitiateMatchTriggers(setSelectedJourney: any, Form: JSX.Element) {\n const faContent = useFaContent();\n const dispatch = useDispatch();\n\n useEffect(() => {\n getMarketingCode(faContent?.match?.marketingCode)\n .then((res) => {\n dispatch({ type: 'SET_MATCH', payload: faContent.match });\n dispatch({\n type: 'UPDATE_FIELDS',\n payload: { matchMarketingCodeData: res.response, argumentatives: faContent?.argumentatives },\n });\n\n setSelectedJourney(Form, true);\n })\n .catch((err) => {\n dispatch({ type: 'SET_MATCH', payload: faContent.match });\n dispatch({ type: 'UPDATE_FIELDS', payload: { argumentatives: faContent?.argumentatives } });\n setSelectedJourney(Form, true);\n });\n }, []);\n}\n","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFaContent } from 'src/feature-app';\n\n/**\n * Hook necesario para disparar formularios desde bonos. El objetivo es enviar como observaciones la descripción del bono.\n * @param setSelectedJourney\n * @param Form\n */\nexport function useInitiateBonosTriggers(setSelectedJourney: any, Form: JSX.Element) {\n const faContent = useFaContent();\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: 'UPDATE_FIELDS', // Pendiente propagar el valor del campo observaciones desde faContent\n payload: { },\n });\n\n setSelectedJourney(Form, true);\n }, []);\n}\n","import { useFeatureServices } from 'src/feature-app';\n\nexport const useIsDevStage = () => {\n const stageCustomConfig = useFeatureServices()['service-config-provider'].configs?.stage?.customConfig;\n\n return stageCustomConfig?.stage === 'dev';\n};\n","import { useState, useEffect } from 'react';\n\nexport function useLoaded() {\n const [loaded, setLoaded] = useState(false);\n\n useEffect(() => {\n setLoaded(true);\n }, []);\n\n return loaded;\n}\n","import { Spinner } from '@volkswagen-onehub/components-core';\nimport { Checkmark, Locate } from 'src/icons-core-imports';\n\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport {\n GooglePlace,\n isNull,\n Suggestion,\n useOneFormContext,\n updateMapVariables,\n useFeatureServices,\n useFeatureAppEnvironment,\n} from 'src/feature-app';\nimport { handleLocation } from 'src/feature-app/NewMap/handle-location';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { OneFormState } from 'src';\nimport { renderAvisoIslasCanariasLayer } from 'src/components';\nimport { Store } from 'redux';\n\n// está hecho a saco para extraer la lógica del componente LocateUser y no tenerla por duplicado\n// por temas de front y comportamiento de la caja del suggest no se puede usar LocateUser en filtros\n\nexport function useLocateUser() {\n const [value, setValue] = useState('');\n const [suggestion, setSuggestion] = useState(null);\n const [loading, setLoading] = useState(false);\n const [icon, setIcon] = useState();\n const [isLocating, setIsLocating] = useState(false);\n const [locationDisabled, setLocationDisabled] = useState(false);\n // locationSuccess lo suyo seria subirlo a un context para que no se resetee entre LocateUser y filtros\n const [locationSuccess, setLocationSuccess] = useState(false);\n const { triggerValidation } = useFormContext();\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const { setIsValueSelected, handleNextStep } = useOneFormContext();\n const store: Store = useStore();\n const env = useFeatureAppEnvironment();\n const layerManager = useFeatureServices()['layer-manager'];\n\n const onSuggestionSelectedFn = (suggestion: Suggestion) => {\n setSuggestion(suggestion);\n updateMapVariables(dispatch, suggestion).then(() => {\n const { suggestionIsInCanaryIslands } = store.getState().formInfo;\n\n if (suggestionIsInCanaryIslands) {\n renderAvisoIslasCanariasLayer(store, env, layerManager);\n return;\n }\n // Avanza a la siguiente pantalla\n handleNextStep();\n });\n };\n\n const handleLocate = async () => {\n trackingManager.trackFormButtonClick({\n contentId: 'Localiza mi posición actual',\n });\n setIsLocating(true);\n setLoading(true);\n setIcon();\n const { geometry, name } = await handleLocation();\n setIcon();\n setIsLocating(false);\n setLoading(false);\n if (isNull(geometry)) {\n setLocationDisabled(true);\n setLocationSuccess(false);\n } else {\n setLocationDisabled(false);\n const suggestion: GooglePlace = { isGooglePlace: true, name, skipSearch: true, isGeoLocated: true };\n // dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: suggestion });\n // handleMapVariables(dispatch, { lat: geometry.lat, lng: geometry.lng }, 10, geometry, false, suggestion);\n\n setSuggestion(suggestion);\n setLocationSuccess(true);\n triggerValidation();\n setValue(name);\n setIsValueSelected(true);\n updateMapVariables(dispatch, suggestion, geometry);\n }\n };\n\n const handleLocateFilters = async () => {\n trackingManager.trackFormButtonClick({\n contentId: 'Localiza mi posición actual',\n });\n setIsLocating(true);\n setLoading(true);\n setIcon();\n const { geometry, name } = await handleLocation();\n setIcon();\n setIsLocating(false);\n setLoading(false);\n\n if (isNull(geometry)) {\n setLocationDisabled(true);\n setLocationSuccess(false);\n } else {\n setLocationDisabled(false);\n const suggestion: GooglePlace = { isGooglePlace: true, name, skipSearch: true, isGeoLocated: true };\n // dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: suggestion });\n // handleMapVariables(dispatch, { lat: geometry.lat, lng: geometry.lng }, 10, geometry, false, suggestion);\n\n triggerValidation();\n setValue(name);\n setLocationSuccess(true);\n return { suggestion, geometry };\n // setSuggestion(suggestion);\n }\n };\n\n useEffect(() => {\n locationSuccess ? setIcon() : setIcon();\n }, [locationSuccess]);\n\n return {\n suggestion,\n setSuggestion,\n value,\n setValue,\n icon,\n handleLocate,\n loading,\n locationDisabled,\n locationSuccess,\n setLocationSuccess,\n isLocating,\n handleLocateFilters,\n onSuggestionSelectedFn,\n };\n}\n","import { useFeatureServices } from 'src/feature-app';\n\nexport function useNavigate() {\n\tconst navigationService = useFeatureServices()['navigation-service'];\n\n\tconst navigateTo = (pageId: string) => {\n\t\tconst target = navigationService.navigateTo(pageId, {});\n\t\tif (target) {\n\t\t\ttarget.push();\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\treturn {\n\t\tnavigateTo,\n\t};\n}\n","import { useState, useEffect } from 'react';\n\nexport function useOnScreen(ref) {\n const [isIntersecting, setIntersecting] = useState(false);\n\n const observer = new IntersectionObserver(([entry]) => setIntersecting(entry.isIntersecting));\n\n useEffect(() => {\n observer.observe(ref.current);\n // Remove the observer as soon as the component is unmounted\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return isIntersecting;\n}\n","import React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { isNull } from 'src/feature-app';\nimport { OneFormState, Steps } from 'src/types';\nimport { useWindowWidth} from '@react-hook/window-size';\n\nexport const useShowOverflow = (isLayerScreen: boolean, selectedStep?: Steps ) => {\n /**\n *\n * @param stepsToIterate La lista de steps donde hay que buscar el paso previo.\n * @param screenIndexToGet La lista de steps donde hay que buscar el paso previo.\n */\n const windowWidth = useWindowWidth();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { \n multiStepScreenIndex, \n screenIndex, \n steps,\n multiSteps, notALayer\n } = formInfo;\n\n const [ showOverflow, setShowOverflow ] = useState(false);\n\n\n const handleShowOverflow = (stepsToIterate: Steps[], screenIndexToGet: number) => {\n if (!stepsToIterate || isNull(screenIndexToGet) || screenIndexToGet === -1) {\n setShowOverflow(false);\n }\n\n const actualStep = stepsToIterate.find((step) => step.screenIndex === screenIndexToGet);\n\n if(actualStep && actualStep.showOverflow) {\n setShowOverflow(true);\n } else {\n setShowOverflow(false);\n }\n };\n\n \n useEffect(()=>{\n \n if(windowWidth < 960 && !notALayer || windowWidth < 960 && !isLayerScreen ) {\n setShowOverflow(false);\n } else {\n\n if(selectedStep && selectedStep.showOverflow) {\n setShowOverflow(true);\n }\n \n if(!steps) {\n setShowOverflow(false);\n } else {\n //console.log(1, screenIndex, steps, multiStepScreenIndex);\n if (multiStepScreenIndex === null) {\n //console.log('22222', multiSteps, screenIndex, multiStepScreenIndex);\n handleShowOverflow(steps, screenIndex);\n } else {\n //console.log('333333', multiSteps, multiStepScreenIndex);\n handleShowOverflow(multiSteps, multiStepScreenIndex);\n } \n }\n }\n \n }, [steps, multiSteps, selectedStep]);\n\n return { showOverflow };\n};\n","import { useEffect, useState } from 'react';\n\n//El texto que se quiera introducir des de la feature app incorporando la posibilidad de editarlo \n// en el fragmento de JSX donde se renderize debe figurar de la siguiente manera:\n//
\n\nexport const useTransformToHtml = (text: string) => {\n return {__html: text};\n};\n","import { store, TrackingForm } from 'src/feature-app';\n\nexport interface NDPSField {\n\tname: string;\n\tvalue: string;\n}\n\nexport const getTrackingForm = (formResponse): TrackingForm => {\n\t// Generación de LeadID solo para forms de leads\n\tconst { formType } = store.getState().formData.fields;\n\tconst leadFormTypes = ['contact', 'testdrive', 'quote', 'servicerequest'];\n\tlet LeadID;\n\tif (leadFormTypes.includes(formType)) {\n\t\tif (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n\t\t\t//LeadID Molecular\n\t\t\tconst leadField: NDPSField = formResponse.content.data.fields.find((field: NDPSField) => field.name === 'COD_LEAD_ID');\n\t\t\tLeadID = leadField ? leadField.value : undefined;\n\t\t} else if (formResponse && formResponse.content && formResponse.content.headers) {\n\t\t\t//LeadID OneFormBFF\n\t\t\tconst leadField: NDPSField = formResponse.content.headers.find((header: NDPSField) => header.name === 'FK_SYSTEM');\n\t\t\tLeadID = leadField ? leadField.value : undefined;\n\t\t}\n\t}\n\n\treturn {\n\t\tLeadID,\n\t\tFormFields: undefined,\n\t};\n};\n","import { IdPerson } from \"src/types\";\nimport { EsOneformCoreServiceV1 } from \"src/feature-service/es-oneform-core-feature-service/types\";\nimport { createPincodeEntity } from 'src/forms';\nimport { useFeatureServices } from \"./use-feature-services\";\n\nexport const useGetIdPerson = () => {\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dpsData = oneFormService.getDpsData();\n const idPerson: IdPerson = createPincodeEntity(dpsData, 'PERSON');\n\n return idPerson;\n}","import { IdVehicle} from \"src/types\";\nimport { EsOneformCoreServiceV1 } from \"src/feature-service/es-oneform-core-feature-service/types\";\nimport { createPincodeEntity } from 'src/forms';\nimport { useFeatureServices } from \"./use-feature-services\";\n\nexport const useGetIdVehicle = () => {\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dpsData = oneFormService.getDpsData();\n const idVehicle: IdVehicle = createPincodeEntity(dpsData, 'VEHICLE');\n\n return idVehicle;\n}","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport React from 'react';\nimport { FeatureAppConfig, Dependencies } from 'src/feature-app';\n\nexport type OneFormFeatureAppEnvironment = FeatureAppEnvironment;\n\nexport const FeatureAppEnvironmentContext = React.createContext(undefined);\n\nexport function useFeatureAppEnvironment(): OneFormFeatureAppEnvironment {\n const featureAppEnvironment = React.useContext(FeatureAppEnvironmentContext);\n\n if (!featureAppEnvironment) {\n throw new Error('No featureAppEnvironment context value was provided.');\n }\n\n return featureAppEnvironment;\n}\n","import { useFeatureAppEnvironment, Dependencies } from 'src/feature-app';\n\nexport function useFeatureServices(): Dependencies {\n const { featureServices } = useFeatureAppEnvironment();\n\n return featureServices;\n}\n","\nimport { ServiceConfigProviderV1 } from '@volkswagen-onehub/service-config-provider';\nimport { useFeatureServices } from './use-feature-services';\nimport { AuthServiceProviderV2, IAuthServiceV2 } from '@volkswagen-onehub/authservice';\n\nexport const getAuthService = (serviceConfig: ServiceConfigProviderV1, authServiceProvider:AuthServiceProviderV2 ) => {\n const endpoint = serviceConfig.configs['customer-profile']?.urlOrigin; \n const authService: IAuthServiceV2 = authServiceProvider?.register('market');\n\n \n return authService;\n};\n\nexport const useGetAuthService = () => {\n const serviceConfig = useFeatureServices()['service-config-provider'];\n const authService = useFeatureServices()['vw:authService'] as AuthServiceProviderV2;\n\n return getAuthService(serviceConfig, authService);\n};\n","import { useFeatureServices } from './use-feature-services';\n\nexport const useGetWaidLitera = () => {\n const oneFormService = useFeatureServices()['es:oneform-core'];\n const waid = oneFormService.getDpsData().waid;\n\n return waid;\n};\n","import React from 'react';\nimport { useStore } from 'react-redux';\nimport { Store } from 'redux';\nimport { useFeatureAppConfig, useGetBrand } from 'src/feature-app';\nimport {\n createPartner,\n createPartnerWithSearch,\n createTrackingLink,\n createTrackingProcess,\n getBaseEventInfo,\n getCarlineConfiguration,\n getCompleteConfigurationFromVicci,\n getFormAppointments,\n getMarketingConsent,\n} from 'src/feature-app/tracking-helpers';\nimport {\n emptyCarlineConfig,\n emptyConfig,\n emptyLatLongZip,\n emptyOwnership,\n emptyPersonalization,\n} from 'src/feature-app/tracking-objects';\nimport {\n ErrorFormFields,\n OffersTrackingEvent,\n OneFormTrackingManager,\n TrackingError,\n TrackingEvent,\n TrackingEventInfo,\n TrackingFilter,\n TrackingForm,\n TrackingPartner,\n TrackingProcess,\n} from 'src/feature-app/tracking-types';\nimport { DealersData, OneFormState } from 'src/types';\nimport { useFeatureServices } from './use-feature-services';\n\nconst defaultTrackingEvent: OffersTrackingEvent = {\n personalization: emptyPersonalization,\n};\n\nexport function useTrackingManager(): OneFormTrackingManager {\n const { tracking: trackingManager } = useFeatureServices();\n const store: Store = useStore();\n const config = useFeatureAppConfig();\n const brand = useGetBrand();\n\n return React.useMemo((): OneFormTrackingManager => {\n function track(action: string, event: OffersTrackingEvent): void {\n const { trackingIsDisabled } = store.getState().formInfo;\n if (trackingManager && !trackingIsDisabled) {\n trackingManager.track(action, event as TrackingEvent);\n }\n }\n\n return {\n trackFormButtonClick(eventInfo: TrackingEventInfo, dealer?: DealersData) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormButton_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n Questionnaire: undefined,\n ...getMarketingConsent(store),\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyConfig,\n PriceType: 'price',\n PriceTypeParameter: undefined,\n ...getCarlineConfiguration(store),\n },\n partner: createPartner(store, dealer),\n ownership: emptyOwnership,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormStepButtonClick(eventInfo: TrackingEventInfo) {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n\n const emptyConfigStep = { ...emptyConfig };\n delete emptyConfigStep.PriceTotalTotal;\n\n track('VWBasic_FormStepButton_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n Questionnaire: undefined,\n ...getMarketingConsent(store),\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyConfigStep,\n WheelsAdditionalExternalRollingNoise: undefined,\n ...getCarlineConfiguration(store),\n },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n ownership: emptyOwnership,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormStepLoad(eventInfo: TrackingEventInfo, formInfo?: TrackingForm, processInfo?: TrackingProcess) {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n\n const baseEventInfoForLoad = { ...getBaseEventInfo(store, brand) };\n delete baseEventInfoForLoad.sectionName;\n\n const emptyConfigLoad = { ...emptyConfig };\n delete emptyConfigLoad.PriceTotalTotal;\n\n track('VWBasic_FormStep_Load', {\n ...defaultTrackingEvent,\n form: {\n ...formInfo,\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n },\n eventInfo: { ...baseEventInfoForLoad, ...eventInfo, contentLabels: undefined },\n configuration: {\n ...emptyConfigLoad,\n WheelsAdditionalExternalRollingNoise: undefined,\n ...getCarlineConfiguration(store),\n },\n user: { ...emptyLatLongZip },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store, processInfo),\n },\n partner: createPartner(store),\n ownership: emptyOwnership,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackButtonClick(eventInfo: TrackingEventInfo, dealer?: DealersData) {\n const processInfo = createTrackingProcess(store);\n track('VWBasic_Button_Click', {\n ...defaultTrackingEvent,\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCarlineConfiguration(store),\n },\n partner: createPartner(store, dealer),\n ownership: emptyOwnership,\n process: processInfo,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n questionnaire: { QuestionAnswerSet: undefined },\n SC: {\n ResultsRecommendationPosition: undefined,\n ResultsRecommendationFirst: undefined,\n ResultsRecommendationSecond: undefined,\n },\n });\n },\n trackFormCTAClick(eventInfo: TrackingEventInfo, dealer?: DealersData) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormCTA_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n Questionnaire: undefined,\n ...getMarketingConsent(store),\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyConfig,\n PriceType: undefined,\n PriceTypeParameter: undefined,\n ...getCarlineConfiguration(store),\n },\n partner: createPartner(store, dealer),\n ownership: emptyOwnership,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormSubmissionSuccessMessageLoad(eventInfo: TrackingEventInfo, formInfo?: TrackingForm) {\n const { formName, formType, vicciData, pageCategory } = store.getState().formData.fields;\n const processInfo = createTrackingProcess(store);\n\n track('VWBasic_FormSubmissionSuccessMessage_Load', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n ErrorFormFields: undefined,\n Questionnaire: undefined,\n SourceID: undefined,\n OpportunityUID: undefined,\n CycleID: undefined,\n FormStart: false,\n LeadID: undefined,\n ...getFormAppointments(store),\n ...getMarketingConsent(store),\n ...formInfo,\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n user: { ...emptyLatLongZip },\n configuration: {\n ...emptyConfig,\n ...getCompleteConfigurationFromVicci(vicciData),\n ...getCarlineConfiguration(store),\n },\n process: { ...processInfo, Name: pageCategory },\n partner: createPartnerWithSearch(store),\n ownership: emptyOwnership,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormLayerLoad() {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n\n const emptyConfigLoad = { ...emptyConfig };\n delete emptyConfigLoad.PriceTypeParameter;\n delete emptyConfigLoad.PriceType;\n\n track('VWBasic_FormLayer_Load', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n CycleID: undefined,\n FormStart: true,\n },\n eventInfo: {\n ...getBaseEventInfo(store, brand),\n contentId: config.trigger ? config.trigger : undefined,\n contentLabels: undefined,\n },\n configuration: { ...emptyConfigLoad, ...getCarlineConfiguration(store) },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormLoad() {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n const emptyConfigLoad = { ...emptyConfig };\n\n track('VWBasic_Form_Pageload', {\n ...defaultTrackingEvent,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n FormStart: true,\n },\n eventInfo: {\n ...getBaseEventInfo(store, brand),\n contentId: config.trigger ? config.trigger : undefined,\n contentLabels: undefined,\n },\n user: { ...emptyLatLongZip },\n configuration: { ...emptyConfigLoad, ...getCarlineConfiguration(store) },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n });\n },\n trackFormLoadRace() {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n const emptyConfigLoad = { ...emptyConfig };\n\n track('VWBasic_Form_Load', {\n ...defaultTrackingEvent,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n FormStart: true,\n },\n eventInfo: {\n ...getBaseEventInfo(store, brand),\n contentId: config.trigger ? config.trigger : undefined,\n contentLabels: undefined,\n },\n user: { ...emptyLatLongZip },\n configuration: { ...emptyConfigLoad, ...getCarlineConfiguration(store) },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n });\n },\n\n trackFormErrorMessageLoad(errorInfo?: TrackingError, errorFields?: ErrorFormFields[]) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormErrorMessage_Load', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n ErrorFormFields: { FieldNameandID: [...errorFields] },\n ErrorAdressValidationFields: undefined,\n },\n eventInfo: { ...getBaseEventInfo(store, brand) },\n error: { message: errorInfo.message, code: undefined, referringUrl: undefined },\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormFieldClick(eventInfo: TrackingEventInfo, form: TrackingForm) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormField_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n ...form,\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCarlineConfiguration(store),\n },\n process: createTrackingProcess(store),\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormFilterSelect(eventInfo: TrackingEventInfo, filter: TrackingFilter, form: TrackingForm) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormFilterSelect_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n ...form,\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCarlineConfiguration(store),\n },\n filter,\n process: createTrackingProcess(store),\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormCloseClick(eventInfo: TrackingEventInfo, formInfo?: TrackingForm) {\n const baseEventInfoCloseClick = { ...getBaseEventInfo(store, brand) };\n delete baseEventInfoCloseClick.templateType;\n\n const partner: TrackingPartner = createPartnerWithSearch(store);\n delete partner.informationDepartment;\n\n const processInfo = createTrackingProcess(store);\n // delete processInfo.StepNumber;\n const { formName, formType, vicciData, pageCategory } = store.getState().formData.fields;\n\n track('VWBasic_FormClose_Click', {\n ...defaultTrackingEvent,\n form: {\n ...formInfo,\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n SourceID: undefined,\n ErrorFormFields: undefined,\n OpportunityUID: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n CycleID: undefined,\n FormFields: undefined,\n ...getFormAppointments(store),\n },\n eventInfo: { ...baseEventInfoCloseClick, ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCompleteConfigurationFromVicci(vicciData),\n ...getCarlineConfiguration(store),\n },\n process: {...processInfo, Name: pageCategory},\n partner,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n };\n }, [trackingManager]);\n}\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { NuevaCitaPosventaFormController } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst BlueBackground = styled.div`\n background: radial-gradient(circle at center bottom, #00437A 0%, #001E50 100%);\n color: #ffffff;\n height: 100%;\n`;\n\nexport const CitaPreviaTile = (props: { setSelectedJourney: React.Dispatch> }) => {\n const { setSelectedJourney } = props;\n return (\n \n \n \n \n \n \n \n ¿Necesitas pasar por el taller?\n \n \n Elige el día, la hora y el Servicio Oficial que prefieras para que cuiden de tu Volkswagen.\n \n {\n setSelectedJourney();\n }}\n >\n Pide tu cita\n \n \n \n \n \n \n \n );\n};\n","import { Breakpoints, Layout, styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { CitaPreviaTile } from './';\n\nconst Grid = styled.div`\n --grid-gap-value: 32px;\n -gap: var(--grid-gap-value);\n display: grid;\n grid-auto-rows: calc((100vw / (9 / 5)) + var(--grid-gap-value) / 2);\n grid-template-columns: 1fr;\n grid-auto-flow: row dense;\n\n @media screen and (min-width: 560px) {\n --grid-gap-value: 56px;\n grid-auto-rows: calc(48.6111vw);\n }\n @media screen and (min-width: 960px) {\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: calc(((21 / 24) * 100vw - (2 - 1) * var(--grid-gap-value)) / 2 / (9 / 5));\n }\n @media screen and (min-width: 1280px) {\n grid-template-columns: repeat(3, 1fr);\n grid-auto-rows: calc(((21 / 24) * 100vw - (3 - 1) * var(--grid-gap-value)) / 3 / (9 / 5));\n }\n @media screen and (min-width: 1920px) {\n --grid-gap-value: 72px;\n grid-template-columns: repeat(4, 1fr);\n grid-auto-rows: calc(((21 / 24) * 100vw - (4 - 1) * var(--grid-gap-value)) / 4 / (9 / 5));\n }\n`;\n\nexport const CitaPreviaTileGrid = (props: {\n setSelectedJourney: React.Dispatch>;\n}) => {\n return (\n \n \n \n \n \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector, useStore } from 'react-redux';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { useOneFormContext } from '.';\nimport { useShowOverflow } from 'src/feature-app/hooks';\n\ninterface formControllerWrapperProps {\n screenType: 'layer-screen' | 'full-screen';\n showOverflow?: boolean;\n}\nconst FormControllerWrapper = styled.div`\n overflow: ${(props)=> props.showOverflow ? 'visible' : 'hidden'};\n width: 100%;\n \n\n @media all and (min-width: 960px) {\n height: 100%;\n }\n`;\ninterface Aprops {\n steps?: Steps[];\n screenType: 'layer-screen' | 'full-screen';\n screenIndex?: number;\n showPreviousStep?: boolean;\n}\n\n\n\nexport function FormController(props: Aprops) {\n const { screenType } = props;\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { step, steps, screenIndex } = formInfo;\n const [selectedStep, setSelectedStep] = useState(null);\n const store = useStore();\n const { showPreviousStep } = useOneFormContext();\n \n\n useEffect(() => {\n if (steps && step) {\n const { steps, step }: { steps: Steps[]; step: Steps } = store.getState().formInfo;\n const newStep = steps.find((newstep) => newstep.screenIndex === step.screenIndex);\n if (newStep && (!selectedStep || newStep.screenIndex !== selectedStep.screenIndex)) {\n setSelectedStep(newStep);\n }\n }\n }, [steps, step]);\n\n //Si se necesita que el overflow sea visible. \n\n const { showOverflow } = useShowOverflow(formInfo.notALayer, selectedStep);\n\n return selectedStep ? (\n \n {selectedStep.multiStep && selectedStep.component ? (\n selectedStep.component\n ) : (\n \n )}\n \n ) : null;\n}\n","import dayjs from 'dayjs';\nimport 'dayjs/locale/es';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\ndayjs.extend(utc);\ndayjs.extend(timezone);\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport 'dayjs/locale/es';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(isSameOrBefore);\ndayjs.extend(isBetween);\n/**\n * viernes, 13-12:00\n * @param ms\n */\nexport const weekDay_Day_Hour = (ms?: number) => {\n if (ms) {\n return dayjs.tz(ms, 'Europe/Madrid').locale('es').format('dddd, DD-HH:mm');\n } else {\n return dayjs.tz(new Date(), 'Europe/Madrid').locale('es').format('dddd, DD-HH:mm');\n }\n};\n\n/**\n * 12:00\n * @param ms\n */\nexport const hourAndMinute = (ms?: number) => {\n if (ms) {\n return dayjs.tz(ms, 'Europe/Madrid').locale('es').format('HH:mm');\n } else {\n return dayjs.tz(new Date(), 'Europe/Madrid').locale('es').format('HH:mm');\n }\n};\n\n/**\n * lunes 16,noviembre-10:00\n * @param ms\n */\nexport const weekDay_DayNumber_Month_Hour = (ms?: number) => {\n if (ms) {\n return dayjs.tz(ms, 'Europe/Madrid').locale('es').format('dddd DD,MMMM-HH:mm');\n } else {\n return dayjs.tz(new Date(), 'Europe/Madrid').locale('es').format('dddd DD,MMMM-HH:mm');\n }\n};\n\n/**\n * martes 10,noviembre\n * @param ms\n*/\nexport const weekDay_DayNumber_Month = (ms?: number) => {\n if (ms) {\n return dayjs(ms).locale('es').utc().format('dddd DD,MMMM');\n } else {\n return dayjs().locale('es').utc().format('dddd DD,MMMM');\n }\n};\n/**\n * martes 10 de Noviembre\n * @param ms\n*/\nexport const weekDay_DayNumber_De_Month = (ms?: number) => {\n if (ms) {\n return dayjs(ms).locale('es').utc().format('dddd DD [de] MMMM').toLowerCase();\n } else {\n return dayjs().locale('es').utc().format('dddd DD [de] MMMM').toLowerCase();\n }\n};\n/**\n * martes 10,noviembre\n\n * @param ms\n */\nexport const year_MonthNumber_DayNumber = (ms?: number) => {\n if (ms) {\n return dayjs(ms).locale('es').utc().format('YYYY-MM-DD');\n } else {\n return dayjs().locale('es').utc().format('YYYY-MM-DD');\n }\n};\n\n/**\n * 2020-2-2 -> 2020-02-02\n * @param ms\n */\nexport const getYYYYMMDD = (d: string) => dayjs(d, 'YYYY-M-D').format('YYYY-MM-DD');\nexport const getYYYYMMDDx = (ms: number) => dayjs(ms).locale('es').utc().format('YYYY-MM-DD');\n\nexport const getActualDay = () => dayjs().locale('es').format('D');\nexport const getActualMonth = () => dayjs().locale('es').format('MMMM');\nexport const getNextActualMonth = () => dayjs().locale('es').add(1, 'month').format('MMMM');\nexport const getPreviousActualMonth = () => dayjs().locale('es').subtract(1, 'month').format('MMMM');\nexport const getActualMonthNumber = () => dayjs().locale('es').format('M');\nexport const getActualYearNumber = () => dayjs().locale('es').format('YYYY');\nexport const getToday = () => dayjs(new Date());\n","import React from 'react';\nimport { FeatureAppConfig } from 'src/feature-app';\nimport {\n\tBajaComunicacionesTrigger,\n\tCallMeEmbeddedTrigger,\n\tCitaPosventaDealerTrigger,\n\tCitaPosventaEmbeddedTrigger,\n\tCitaPosventaTrigger,\n\tDiaDeLaMadreTrigger,\n\tEmpresasTrigger,\n\tEncuestasTrigger,\n\tEurocopaTrigger,\n\tFidelizacionTrigger,\n\tLeadDealerTrigger,\n\tLeadEmbededTrigger,\n\tLeadInPageTrigger,\n\tLeadTrigger,\n\tMGMTrigger,\n\tNavidadTrigger,\n\tNewsletterTrigger,\n\tProspectEmbeddedTrigger,\n\tProspectPosventaEmbedded,\n\tProspectsTrigger,\n\tRaceTrigger,\n\tSACTrigger,\n\tUGCTrigger,\n\tWidgetTrigger,\n\tSuvperheroesTrigger,\n\tAutosubmitTrigger,\n\tConcursoRodajeTrigger,\n\tPlanIdealTrigger,\n\tFeedbackTrigger,\n\tTestIDTrigger,\n\tNavidadGTI2024Trigger,\n\tTheOriginals2025Trigger,\n} from 'src/triggers';\n\nexport interface TriggerProps {\n\tsetCTALabel?: React.Dispatch>;\n\tsetSelectedFocusJourney?: React.Dispatch>;\n\tselectedFocusJourney?: JSX.Element;\n\tsetSelectedJourney?: (selectedJourney: JSX.Element, skipTrackButtonClick?: boolean) => void;\n}\n\nexport const getTrigger = (\n\tconfig: FeatureAppConfig,\n\tsetSelectedJourney: (selectedJourney: JSX.Element, skipTrackButtonClick?: boolean) => void,\n\tsetCTALabel: React.Dispatch>,\n\tselectedJourney: JSX.Element,\n\tsetSelectedFocusJourney: React.Dispatch>,\n\tselectedFocusJourney: JSX.Element,\n\ttriggerLoaded: React.MutableRefObject,\n): JSX.Element => {\n\tif (!config.trigger) {\n\t\tthrow new Error('No trigger in Feature App Config.');\n\t}\n\t\n\tswitch (config.trigger) {\n\t\tcase 'cita-posventa':\n\t\tcase 'cita-posventa-tile-grid':\n\t\tcase 'cita-posventa-tile':\n\t\t\ttriggerLoaded.current = config.trigger;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 'cita-posventa-embedded':\n\t\t\ttriggerLoaded.current = 'cita-posventa-embedded';\n\t\t\treturn ;\n\t\tcase 'prospect-posventa-embedded':\n\t\t\ttriggerLoaded.current = 'prospect-posventa-embed';\n\t\t\treturn ;\n\t\tcase 'cita-posventa-dealer':\n\t\t\ttriggerLoaded.current = 'cita-posventa-dealer';\n\t\t\treturn ;\n\t\tcase 'lead':\n\t\t\ttriggerLoaded.current = 'lead';\n\t\t\treturn ;\n\t\tcase 'lead-embedded':\n\t\t\ttriggerLoaded.current = 'lead-embedded';\n\t\t\treturn ;\n\t\tcase 'callme-embedded':\n\t\t\ttriggerLoaded.current = 'callme-embedded';\n\t\t\treturn ;\n\t\tcase 'lead-dealer':\n\t\t\ttriggerLoaded.current = 'lead-dealer';\n\t\t\treturn ;\n\t\tcase 'race':\n\t\t\ttriggerLoaded.current = 'race';\n\t\t\treturn ;\n\t\tcase 'newsletter':\n\t\t\ttriggerLoaded.current = 'newsletter';\n\t\t\treturn ;\n\t\tcase 'empresas':\n\t\t\ttriggerLoaded.current = 'empresas';\n\t\t\treturn ;\n\t\tcase 'mgm':\n\t\t\ttriggerLoaded.current = 'mgm';\n\t\t\treturn ;\n\t\tcase 'sac':\n\t\t\ttriggerLoaded.current = 'sac';\n\t\t\treturn ;\n\t\tcase 'ugc':\n\t\t\ttriggerLoaded.current = 'ugc';\n\t\t\treturn ;\n\t\tcase 'adhoc-2025-the_originals':\n\t\t\ttriggerLoaded.current = 'adhoc-2025-the_originals';\n\t\t\treturn ;\n\t\tcase 'adhoc-2024-navidad_gti':\n\t\t\ttriggerLoaded.current = 'adhoc-2024-navidad_gti';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-diamadre':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-diamadre';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-eurocopa':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-eurocopa';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-navidad':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-navidad';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-fidelizacion_clientes':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-fidelizacion';\n\t\t\treturn ;\n\t\tcase 'adhoc-2023-test_id':\n\t\t\ttriggerLoaded.current = 'adhoc-2023-test_id';\n\t\t\treturn ;\n\t\tcase 'adhoc-2023-concurso_rodaje':\n\t\t\ttriggerLoaded.current = 'adhoc-2023-concurso_rodaje';\n\t\t\treturn ;\n\t\tcase 'adhoc-2023-plan_ideal':\n\t\t\ttriggerLoaded.current = 'adhoc-2023-plan_ideal';\n\t\t\treturn ;\n\t\tcase 'adhoc-suvperheroes':\n\t\t\ttriggerLoaded.current = 'adhoc-suvperheroes';\n\t\t\treturn ;\n\t\tcase 'prospect':\n\t\t\ttriggerLoaded.current = 'prospect';\n\t\t\treturn ;\n\t\tcase 'prospect-embedded':\n\t\t\ttriggerLoaded.current = 'prospect-embedded';\n\t\t\treturn ;\n\t\tcase 'widget':\n\t\t\ttriggerLoaded.current = 'widget';\n\t\t\treturn ;\n\t\tcase 'baja-comunicaciones':\n\t\t\ttriggerLoaded.current = 'baja-comunicaciones';\n\t\t\treturn ;\n\t\tcase 'encuestas':\n\t\t\ttriggerLoaded.current = 'encuestas';\n\t\t\treturn ;\n\t\tcase 'lead-inpage':\n\t\t\ttriggerLoaded.current = 'lead-inpage';\n\t\t\treturn ;\n\t\tcase 'autosubmit':\n\t\t\ttriggerLoaded.current = 'autosubmit';\n\t\t\treturn ;\n\t\tcase 'feedback':\n\t\t\ttriggerLoaded.current = 'feedback';\n\t\t\treturn ;\n\t\t/*\n case 'adhoc-lanzamiento-taigo':\n triggerLoaded.current = 'adhoc-lanzamiento-taigo';\n return (\n <>\n \n \n \n );\n */\n\t\tdefault:\n\t\t\tthrow new Error(\"The config trigger defined in CMS doesn't match with any trigger in One Form\");\n\t}\n};\n","// Funciones que se usan de lodash, se han exportado aquí para evitar que reducir el tamaño del bundle final de la aplicación.\n\nconst toString = Object.prototype.toString;\n\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return toString.call(value);\n}\n\nfunction isObjectLike(value) {\n return typeof value === 'object' && value !== null;\n}\n\nexport function isNumber(value) {\n return typeof value === 'number' || (isObjectLike(value) && getTag(value) == '[object Number]');\n}\n\nexport const isNull = (value: any) => value === null;\n\n/** Detect free variable `global` from Node.js. */\nconst freeGlobal = typeof global === 'object' && global !== null && global.Object === Object && global;\n\nconst freeGlobalThis =\n typeof globalThis === 'object' && globalThis !== null && globalThis.Object == Object && globalThis;\n\n/** Detect free variable `self`. */\nconst freeSelf = typeof self === 'object' && self !== null && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nconst root = freeGlobalThis || freeGlobal || freeSelf || Function('return this')();\n\nfunction isObject(value) {\n const type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n}\n\nexport function debounce(func, wait, options) {\n let lastArgs, lastThis, maxWait, result, timerId, lastCallTime;\n\n let lastInvokeTime = 0;\n let leading = false;\n let maxing = false;\n let trailing = true;\n\n // Bypass `requestAnimationFrame` by explicitly setting `wait=0`.\n const useRAF = !wait && wait !== 0 && typeof root.requestAnimationFrame === 'function';\n\n if (typeof func !== 'function') {\n throw new TypeError('Expected a function');\n }\n wait = +wait || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n const args = lastArgs;\n const thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function startTimer(pendingFunc, wait) {\n if (useRAF) {\n root.cancelAnimationFrame(timerId);\n return root.requestAnimationFrame(pendingFunc);\n }\n return setTimeout(pendingFunc, wait);\n }\n\n function cancelTimer(id) {\n if (useRAF) {\n return root.cancelAnimationFrame(id);\n }\n clearTimeout(id);\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = startTimer(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n const timeSinceLastCall = time - lastCallTime;\n const timeSinceLastInvoke = time - lastInvokeTime;\n const timeWaiting = wait - timeSinceLastCall;\n\n return maxing ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n\n function shouldInvoke(time) {\n const timeSinceLastCall = time - lastCallTime;\n const timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (\n lastCallTime === undefined ||\n timeSinceLastCall >= wait ||\n timeSinceLastCall < 0 ||\n (maxing && timeSinceLastInvoke >= maxWait)\n );\n }\n\n function timerExpired() {\n const time = Date.now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = startTimer(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n cancelTimer(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(Date.now());\n }\n\n function pending() {\n return timerId !== undefined;\n }\n\n function debounced(...args) {\n const time = Date.now();\n const isInvoking = shouldInvoke(time);\n\n lastArgs = args;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = startTimer(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = startTimer(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n debounced.pending = pending;\n return debounced;\n}\n","export const setObjectValues = (obj: object, callback: (name: string, value: any) => void) => {\n const values = Object.entries(obj);\n\n values.forEach(([key, value]) => {\n callback(key, value);\n });\n};\n","export const isLowRating = (rating: string) => Number(rating) == 1 || Number(rating) == 2 || Number(rating) == 3;\nexport const isHighRating = (rating: string) => Number(rating) == 4 || Number(rating) == 5;\nexport const isNoRating = (rating: string) => isNaN(Number(rating)) || Number(rating) < 1 || Number(rating) > 5; // is text or lower than 1 or higher than 5\n\nexport const allHighRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (!isHighRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const allLowRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (!isLowRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const allNoRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (!isNoRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const allHighOrNoRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (isLowRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n","import {\n CarlineBase,\n DealersData,\n DealersOrInstallationsMode,\n Installation,\n Offer,\n Points,\n RankedPreconfiguration,\n SalesGroupInfo,\n} from 'src/types';\n\nexport const SET_DEALERS = 'SET_DEALERS';\nexport const SET_POINTS = 'SET_POINTS';\nexport const SET_SELECTED_DEALER = 'SET_SELECTED_DEALER';\nexport const SET_FAVOURITE_DEALER = 'SET_FAVOURITE_DEALER';\nexport const SET_SELECTED_INSTALLATION = 'SET_SELECTED_INSTALLATION';\nexport const SET_INSTALLATIONS = 'SET_INSTALLATIONS';\nexport const DEALERS_OR_INSTALLATIONS_MODE = 'DEALERS_OR_INSTALLATIONS_MODE';\nexport const SET_CARLINES = 'SET_CARLINES';\nexport const SET_SELECTED_CARLINE = 'SET_SELECTED_CARLINE';\nexport const SET_OFERTA = 'SET_OFERTA';\nexport const SET_SALESGROUP = 'SET_SALESGROUP';\nexport const SET_URL_DEALER = 'SET_URL_DEALER';\nexport const SET_MATCH = 'SET_MATCH';\nexport const SET_CITA_CARLINES = 'SET_CITA_CARLINES';\n\ninterface SetDealersAction {\n type: typeof SET_DEALERS;\n payload: DealersData[];\n}\ninterface SetPointsAction {\n type: typeof SET_POINTS;\n payload: Points[];\n}\n\ninterface SetSelectedDealerAction {\n type: typeof SET_SELECTED_DEALER;\n payload: DealersData;\n}\ninterface SetUrlDealerAction {\n type: typeof SET_URL_DEALER;\n payload: DealersData;\n}\ninterface SetFavouriteDealerAction {\n type: typeof SET_FAVOURITE_DEALER;\n payload: DealersData;\n}\ninterface SetSelectedInstallationAction {\n type: typeof SET_SELECTED_INSTALLATION;\n payload: Installation;\n}\ninterface SetInstallationsAction {\n type: typeof SET_INSTALLATIONS;\n payload: Installation[];\n}\ninterface SetDealersOrInstallationModeAction {\n type: typeof DEALERS_OR_INSTALLATIONS_MODE;\n payload: DealersOrInstallationsMode;\n}\ninterface SetCarlinesAction {\n type: typeof SET_CARLINES;\n payload: CarlineBase[];\n}\ninterface SetCitaCarlinesAction {\n type: typeof SET_CITA_CARLINES;\n payload: CarlineBase[];\n}\ninterface SetSelectedCarlineAction {\n type: typeof SET_SELECTED_CARLINE;\n payload: CarlineBase;\n}\ninterface SetMatchAction {\n type: typeof SET_MATCH;\n payload: RankedPreconfiguration;\n}\n\ninterface SetOfertaAction {\n type: typeof SET_OFERTA;\n payload: Offer;\n}\n\ninterface SetSalesGroupAction {\n type: typeof SET_SALESGROUP;\n payload: SalesGroupInfo;\n}\n\nexport type DealersActionTypes =\n | SetFavouriteDealerAction\n | SetUrlDealerAction\n | SetCarlinesAction\n | SetDealersAction\n | SetDealersOrInstallationModeAction\n | SetInstallationsAction\n | SetMatchAction\n | SetOfertaAction\n | SetPointsAction\n | SetSalesGroupAction\n | SetSelectedCarlineAction\n | SetCitaCarlinesAction\n | SetSelectedDealerAction\n | SetSelectedInstallationAction;\n","import { DealersInfo } from 'src/types';\nimport { dealersInfo } from './';\nimport {\n DealersActionTypes,\n DEALERS_OR_INSTALLATIONS_MODE,\n SET_CARLINES,\n SET_CITA_CARLINES,\n SET_DEALERS,\n SET_INSTALLATIONS,\n SET_OFERTA,\n SET_FAVOURITE_DEALER,\n SET_POINTS,\n SET_SALESGROUP,\n SET_SELECTED_CARLINE,\n SET_SELECTED_DEALER,\n SET_SELECTED_INSTALLATION,\n SET_URL_DEALER,\n SET_MATCH,\n} from './dealers-types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\n\nexport function dealersReducer(state: DealersInfo = null, action: OneFormActionTypes | DealersActionTypes): any {\n switch (action.type) {\n // case RESET_STATE:\n // return { ...dealersInfo };\n case SET_DEALERS:\n return {\n ...state,\n dealers: [...action.payload],\n };\n case SET_INSTALLATIONS:\n return {\n ...state,\n installations: [...action.payload],\n };\n case SET_POINTS:\n return {\n ...state,\n points: [...action.payload],\n };\n case SET_CARLINES:\n return {\n ...state,\n carlines: [...action.payload],\n };\n case SET_CITA_CARLINES:\n return {\n ...state,\n citaCarlines: [...action.payload],\n };\n case SET_SELECTED_CARLINE:\n return {\n ...state,\n selectedCarline: action.payload,\n };\n case SET_SELECTED_DEALER:\n return {\n ...state,\n selectedDealer: action.payload,\n };\n case SET_URL_DEALER:\n return {\n ...state,\n urlDealer: action.payload,\n };\n case SET_FAVOURITE_DEALER:\n return {\n ...state,\n favouriteDealer: action.payload,\n };\n case DEALERS_OR_INSTALLATIONS_MODE:\n return {\n ...state,\n dealersOrInstallationsMode: action.payload,\n };\n case SET_SELECTED_INSTALLATION:\n return {\n ...state,\n selectedInstallation: action.payload,\n };\n case SET_OFERTA:\n return {\n ...state,\n oferta: action.payload,\n };\n case SET_MATCH:\n return {\n ...state,\n match: action.payload,\n };\n case SET_SALESGROUP:\n return {\n ...state,\n salesGroup: action.payload,\n };\n default:\n return state;\n }\n}\n","export const RESET_STATE = 'RESET_STATE';\n\ninterface ResetStateAction {\n type: typeof RESET_STATE;\n}\n\nexport type OneFormActionTypes = ResetStateAction;\n","export const UPDATE_VEHICLES = 'UPDATE_VEHICLES';\n\ninterface UpdateVehicles {\n type: typeof UPDATE_VEHICLES;\n payload: [];\n}\n\nexport type VehiclesInfoActionTypes = UpdateVehicles;\n","import { vehiclesInfo } from '.';\nimport { VehiclesInfo } from 'src/types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport { VehiclesInfoActionTypes, UPDATE_VEHICLES } from './vehicles-types';\n\nexport function vehiclesReducer(state: VehiclesInfo = null, action: OneFormActionTypes | VehiclesInfoActionTypes): any {\n\tswitch (action.type) {\n\t\tcase RESET_STATE:\n\t\t\treturn { ...vehiclesInfo };\n\t\tcase UPDATE_VEHICLES:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.payload,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n","export const UPDATE_FORM = 'UPDATE_FORM';\nexport const UPDATE_FIELDS = 'UPDATE_FIELDS';\n\ninterface UpdateFormAction {\n type: typeof UPDATE_FORM;\n payload: any;\n}\n\ninterface UpdateFieldsAction {\n type: typeof UPDATE_FIELDS;\n payload: any;\n}\n\nexport type FormDataActionTypes = UpdateFieldsAction | UpdateFormAction;\n","import { formData } from './';\nimport { FormDataGroup } from 'src/types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport { FormDataActionTypes, UPDATE_FIELDS, UPDATE_FORM } from './form-data-types';\n\nexport function formDataReducer(state: FormDataGroup = null, action: OneFormActionTypes | FormDataActionTypes): any {\n switch (action.type) {\n case RESET_STATE:\n return { ...formData };\n case UPDATE_FORM:\n return {\n fields: { ...state.fields, ...action.payload.fields },\n headers: { ...state.headers, ...action.payload.headers },\n flags: { ...state.flags, ...action.payload.flags },\n };\n case UPDATE_FIELDS:\n return {\n ...state,\n fields: { ...state.fields, ...action.payload },\n };\n default:\n return state;\n }\n}\n","import { Center, FormInfo, Geometry, Steps } from 'src/types';\nimport { Suggestion } from '../NewMap';\n\nexport const RESET_FORM_INFO = 'RESET_FORM_INFO';\nexport const SEND_FORM = 'SEND_FORM';\nexport const SET_FORM_INFO = 'SET_FORM_INFO';\nexport const SET_FORM_RESPONSE = 'SET_FORM_RESPONSE';\nexport const HIDE_LEGAL = 'HIDE_LEGAL';\nexport const SET_CUSTOM_LEGAL = 'SET_CUSTOM_LEGAL';\nexport const SET_SHOW_CALENDAR_ON_LOAD = 'SET_SHOW_CALENDAR_ON_LOAD';\nexport const SET_DELETE_CLOSE_AND_PREVIOUS = 'SET_DELETE_CLOSE_AND_PREVIOUS';\nexport const SET_FORM_SUBMITTED = 'SET_FORM_SUBMITTED';\nexport const UPDATE_LITERAL_FIELDS_STEPS = 'UPDATE_LITERAL_FIELDS_STEPS';\nexport const SET_INITIAL_STEPS = 'SET_INITIAL_STEPS';\nexport const SET_MOLECULAR_SERVICE_CONFIG = 'SET_MOLECULAR_SERVICE_CONFIG';\nexport const SET_NUMBER_OF_SCREENS = 'SET_NUMBER_OF_SCREENS';\nexport const SET_SEND_DMS_FAILED = 'SET_SEND_DMS_FAILED';\nexport const SET_STEPS_HISTORY = 'SET_STEPS_HISTORY';\nexport const SET_NAVIGATION_MOVING_FORWARD = 'SET_NAVIGATION_MOVING_FORWARD';\nexport const SHOW_FINAL_SCREEN = 'SHOW_FINAL_SCREEN';\nexport const SUGGESTION_IS_DEALER = 'SUGGESTION_IS_DEALER';\nexport const SUGGESTION_IS_ADDRESS = 'SUGGESTION_IS_ADDRESS';\nexport const SUGGESTION_IS_IN_CANARY_ISLANDS = 'SUGGESTION_IS_IN_CANARY_ISLANDS';\nexport const TRIGGER_EXIT_ANIMATION = 'TRIGGER_EXIT_ANIMATION';\nexport const UPDATE_FIRST_MAP_LOAD = 'UPDATE_FIRST_MAP_LOAD';\nexport const UPDATE_FORM_ENDED = 'UPDATE_FORM_ENDED';\nexport const UPDATE_FULLSCREEN = 'UPDATE_FULLSCREEN';\nexport const UPDATE_GENERIC_ERROR = 'UPDATE_GENERIC_ERROR';\nexport const UPDATE_GEOMETRY = 'UPDATE_GEOMETRY';\nexport const DISABLE_TRACKING = 'DISABLE_TRACKING';\nexport const UPDATE_INITIAL_ZOOM = 'UPDATE_INITIAL_ZOOM';\nexport const UPDATE_LAST_STEP = 'UPDATE_LAST_STEP';\nexport const UPDATE_MULTISTEP_SCREENINDEX = 'UPDATE_MULTISTEP_SCREENINDEX';\nexport const UPDATE_MULTISTEPS = 'UPDATE_MULTISTEPS';\nexport const UPDATE_NEXT_STEP = 'UPDATE_NEXT_STEP';\nexport const UPDATE_SCREEN = 'UPDATE_SCREEN';\nexport const UPDATE_SEND_FORM = 'UPDATE_SEND_FORM';\nexport const UPDATE_STEP = 'UPDATE_STEP';\nexport const UPDATE_STEPS = 'UPDATE_STEPS';\nexport const UPDATE_STEPS_HISTORY = 'UPDATE_STEPS_HISTORY';\nexport const UPDATE_SUGGESTION = 'UPDATE_SUGGESTION';\nexport const UPDATE_USER_CENTER = 'UPDATE_USER_CENTER';\nexport const UPDATE_USER_GEOLOCATION = 'UPDATE_USER_GEOLOCATION';\nexport const UPDATE_WAIT_FOR_NEXT_STEP = 'UPDATE_WAIT_FOR_NEXT_STEP';\n\ninterface SetFormInfoAction {\n type: typeof SET_FORM_INFO;\n payload: Partial;\n}\ninterface SetFormResponseAction {\n type: typeof SET_FORM_RESPONSE;\n payload: any;\n}\ninterface SetFormSubmittedAction {\n type: typeof SET_FORM_SUBMITTED;\n payload: boolean;\n}\ninterface UpdateLiteralFieldsSteps {\n type: typeof UPDATE_LITERAL_FIELDS_STEPS;\n payload: [];\n}\ninterface SetStepsHistoryAction {\n type: typeof SET_STEPS_HISTORY;\n payload: number[];\n}\ninterface SetShowCalendarAction {\n type: typeof SET_SHOW_CALENDAR_ON_LOAD;\n payload: boolean;\n}\n\ninterface DeleteCloseAndPrevious {\n type: typeof SET_DELETE_CLOSE_AND_PREVIOUS;\n payload: boolean;\n}\ninterface SetCustomLegalAction {\n type: typeof SET_CUSTOM_LEGAL;\n payload: JSX.Element;\n}\ninterface HideLegalAction {\n type: typeof HIDE_LEGAL;\n payload: boolean;\n}\ninterface SetInitialStepsAction {\n type: typeof SET_INITIAL_STEPS;\n payload: Steps[];\n}\ninterface SetNavigationMovingForwardAction {\n type: typeof SET_NAVIGATION_MOVING_FORWARD;\n payload: boolean;\n}\ninterface SetSendDmsFailedAction {\n type: typeof SET_SEND_DMS_FAILED;\n payload: boolean;\n}\ninterface SendFormAction {\n type: typeof SEND_FORM;\n payload: any;\n}\n\ninterface ResetFormInfoAction {\n type: typeof RESET_FORM_INFO;\n}\ninterface UpdateScreenAction {\n type: typeof UPDATE_SCREEN;\n payload: number;\n}\n\ninterface UpdateStepsHistoryAction {\n type: typeof UPDATE_STEPS_HISTORY;\n payload: number;\n}\ninterface UpdateInitialZoomAction {\n type: typeof UPDATE_INITIAL_ZOOM;\n payload: number;\n}\ninterface UpdateStepAction {\n type: typeof UPDATE_STEP;\n payload: Steps;\n}\ninterface UpdateLastStepAction {\n type: typeof UPDATE_LAST_STEP;\n payload: Steps;\n}\ninterface UpdateStepsAction {\n type: typeof UPDATE_STEPS;\n payload: Steps[];\n}\ninterface UpdateGenericErrorAction {\n type: typeof UPDATE_GENERIC_ERROR;\n payload: boolean;\n}\ninterface UpdateWaitForNextStepAction {\n type: typeof UPDATE_WAIT_FOR_NEXT_STEP;\n payload: boolean;\n}\n\ninterface TriggerExitAnimationAction {\n type: typeof TRIGGER_EXIT_ANIMATION;\n payload: boolean;\n}\n\ninterface UpdateFirstMapLoadAction {\n type: typeof UPDATE_FIRST_MAP_LOAD;\n payload: boolean;\n}\ninterface UpdateNextStepAction {\n type: typeof UPDATE_NEXT_STEP;\n payload: () => number;\n}\n\ninterface UpdateSendFormAction {\n type: typeof UPDATE_SEND_FORM;\n payload: () => boolean;\n}\n\ninterface ShowFinalScreenAction {\n type: typeof SHOW_FINAL_SCREEN;\n payload: boolean;\n}\n\ninterface SetNumberOfScreensAction {\n type: typeof SET_NUMBER_OF_SCREENS;\n payload: number;\n}\n\ninterface UpdateFullscreenAction {\n type: typeof UPDATE_FULLSCREEN;\n payload: boolean;\n}\ninterface UpdateMultiStepsAction {\n type: typeof UPDATE_MULTISTEPS;\n payload: Steps[];\n}\ninterface UpdateMultiScreenIndexAction {\n type: typeof UPDATE_MULTISTEP_SCREENINDEX;\n payload: number;\n}\n\ninterface UpdateUserCenterAction {\n type: typeof UPDATE_USER_CENTER;\n payload: Center;\n}\n\ninterface UpdateSuggestionIsDealer {\n type: typeof SUGGESTION_IS_DEALER;\n payload: boolean;\n}\ninterface UpdateSuggestionIsInCanaryIslands {\n type: typeof SUGGESTION_IS_IN_CANARY_ISLANDS;\n payload: boolean;\n}\ninterface UpdateSuggestionIsAddress {\n type: typeof SUGGESTION_IS_ADDRESS;\n payload: boolean;\n}\ninterface UpdateSuggestion {\n type: typeof UPDATE_SUGGESTION;\n payload: Suggestion;\n}\ninterface UpdateUserGeolocation {\n type: typeof UPDATE_USER_GEOLOCATION;\n payload: Suggestion;\n}\n\ninterface UpdateFormEnded {\n type: typeof UPDATE_FORM_ENDED;\n payload: boolean;\n}\n\ninterface UpdateGeometryAction {\n type: typeof UPDATE_GEOMETRY;\n payload: Geometry;\n}\ninterface DisableTrackingAction {\n type: typeof DISABLE_TRACKING;\n}\n\nexport type FormInfoActionTypes =\n | SetInitialStepsAction\n | ResetFormInfoAction\n | SendFormAction\n | SetCustomLegalAction\n | SetShowCalendarAction\n | DeleteCloseAndPrevious\n | HideLegalAction\n | SetFormInfoAction\n | SetFormResponseAction\n | SetFormSubmittedAction\n | UpdateLiteralFieldsSteps\n | SetNavigationMovingForwardAction\n | SetNumberOfScreensAction\n | SetSendDmsFailedAction\n | SetStepsHistoryAction\n | ShowFinalScreenAction\n | TriggerExitAnimationAction\n | UpdateFirstMapLoadAction\n | UpdateFormEnded\n | UpdateFullscreenAction\n | UpdateGenericErrorAction\n | UpdateGeometryAction\n | UpdateInitialZoomAction\n | UpdateLastStepAction\n | UpdateMultiScreenIndexAction\n | UpdateMultiStepsAction\n | UpdateNextStepAction\n | UpdateScreenAction\n | UpdateSendFormAction\n | UpdateStepAction\n | UpdateStepsAction\n | UpdateStepsAction\n | UpdateStepsHistoryAction\n | UpdateSuggestion\n | UpdateSuggestionIsAddress\n | UpdateSuggestionIsDealer\n | UpdateSuggestionIsInCanaryIslands\n | UpdateUserCenterAction\n | UpdateUserGeolocation\n | DisableTrackingAction\n | UpdateWaitForNextStepAction;\n","import { FormInfo } from 'src/types';\nimport { formInfoInitialState } from './';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport {\n FormInfoActionTypes,\n SET_FORM_INFO,\n SET_FORM_RESPONSE,\n SET_INITIAL_STEPS,\n SET_FORM_SUBMITTED,\n UPDATE_LITERAL_FIELDS_STEPS,\n SET_SHOW_CALENDAR_ON_LOAD,\n SET_DELETE_CLOSE_AND_PREVIOUS,\n SET_NUMBER_OF_SCREENS,\n SET_SEND_DMS_FAILED,\n SET_STEPS_HISTORY,\n SHOW_FINAL_SCREEN,\n SET_NAVIGATION_MOVING_FORWARD,\n SUGGESTION_IS_DEALER,\n SUGGESTION_IS_IN_CANARY_ISLANDS,\n TRIGGER_EXIT_ANIMATION,\n UPDATE_FIRST_MAP_LOAD,\n UPDATE_FORM_ENDED,\n UPDATE_FULLSCREEN,\n UPDATE_GENERIC_ERROR,\n UPDATE_GEOMETRY,\n DISABLE_TRACKING,\n UPDATE_INITIAL_ZOOM,\n UPDATE_LAST_STEP,\n UPDATE_MULTISTEP_SCREENINDEX,\n UPDATE_MULTISTEPS,\n UPDATE_NEXT_STEP,\n UPDATE_SCREEN,\n UPDATE_SEND_FORM,\n UPDATE_STEP,\n UPDATE_STEPS_HISTORY,\n UPDATE_STEPS,\n UPDATE_SUGGESTION,\n SUGGESTION_IS_ADDRESS,\n HIDE_LEGAL,\n SET_CUSTOM_LEGAL,\n UPDATE_USER_CENTER,\n UPDATE_USER_GEOLOCATION,\n UPDATE_WAIT_FOR_NEXT_STEP,\n} from './form-info-types';\n\nexport function formInfoReducer(state: FormInfo = null, action: OneFormActionTypes | FormInfoActionTypes): any {\n switch (action.type) {\n case RESET_STATE:\n return { ...formInfoInitialState };\n case SET_FORM_INFO:\n return { ...state, ...action.payload };\n case SET_FORM_RESPONSE:\n return { ...state, formResponse: action.payload };\n case HIDE_LEGAL:\n return { ...state, hideLegal: action.payload };\n \n case SET_CUSTOM_LEGAL:\n return { ...state, customLegal: action.payload };\n\n case SET_FORM_SUBMITTED:\n return { ...state, formSubmitted: action.payload };\n case UPDATE_SCREEN:\n return {\n ...state,\n screenIndex: action.payload,\n };\n case SET_NAVIGATION_MOVING_FORWARD:\n return {\n ...state,\n navigationMovingForward: action.payload,\n };\n case SET_NUMBER_OF_SCREENS:\n return {\n ...state,\n numberOfScreens: action.payload,\n };\n case SET_STEPS_HISTORY:\n return { ...state, stepsHistory: action.payload };\n case UPDATE_STEPS_HISTORY:\n if (!state.stepsHistory || state.stepsHistory.length === 0) {\n return {\n ...state,\n };\n }\n \n const previousSteps = [...state.stepsHistory];\n const newNumber = action.payload;\n const index = previousSteps.indexOf(newNumber);\n\n if (index === -1) {\n previousSteps.push(newNumber);\n return {\n ...state,\n stepsHistory: previousSteps,\n };\n }\n return {\n ...state,\n };\n case UPDATE_STEP:\n return {\n ...state,\n step: action.payload,\n };\n case UPDATE_LAST_STEP:\n return {\n ...state,\n lastStep: action.payload,\n };\n case UPDATE_STEPS:\n return {\n ...state,\n steps: action.payload,\n };\n case SET_INITIAL_STEPS:\n return {\n ...state,\n initialSteps: action.payload,\n };\n case UPDATE_LITERAL_FIELDS_STEPS:\n return { \n ...state, \n stepsLiteralFields: { ...state.stepsLiteralFields, ...action.payload }\n };\n case SET_SHOW_CALENDAR_ON_LOAD:\n return {\n ...state,\n showCalendarOnLoad: action.payload,\n };\n case SET_DELETE_CLOSE_AND_PREVIOUS:\n return {\n ...state,\n deleteCloseAndPrevious: action.payload,\n };\n case TRIGGER_EXIT_ANIMATION:\n return {\n ...state,\n triggerExitAnimation: action.payload,\n };\n case UPDATE_GENERIC_ERROR:\n return {\n ...state,\n genericError: action.payload,\n };\n case SET_SEND_DMS_FAILED:\n return {\n ...state,\n sendDmsFailed: action.payload,\n };\n case UPDATE_NEXT_STEP:\n return {\n ...state,\n nextStepCallback: action.payload,\n };\n case UPDATE_FIRST_MAP_LOAD:\n return {\n ...state,\n firstMapLoad: action.payload,\n };\n case UPDATE_SEND_FORM:\n return {\n ...state,\n sendFormCallback: action.payload,\n };\n case UPDATE_FULLSCREEN:\n return {\n ...state,\n fullScreen: action.payload,\n };\n case SHOW_FINAL_SCREEN:\n return {\n ...state,\n showFinalScreen: action.payload,\n };\n case UPDATE_MULTISTEPS:\n return {\n ...state,\n multiSteps: action.payload,\n };\n case UPDATE_MULTISTEP_SCREENINDEX:\n return {\n ...state,\n multiStepScreenIndex: action.payload,\n };\n case UPDATE_USER_CENTER:\n return {\n ...state,\n userCenter: action.payload,\n };\n case SUGGESTION_IS_DEALER:\n return {\n ...state,\n suggestionIsDealer: action.payload,\n };\n case SUGGESTION_IS_IN_CANARY_ISLANDS:\n return {\n ...state,\n suggestionIsInCanaryIslands: action.payload,\n };\n case SUGGESTION_IS_ADDRESS:\n return {\n ...state,\n suggestionIsAddress: action.payload,\n };\n case UPDATE_SUGGESTION:\n return {\n ...state,\n userSuggestion: action.payload,\n };\n case UPDATE_USER_GEOLOCATION:\n return {\n ...state,\n userGeoLocation: action.payload,\n };\n case UPDATE_WAIT_FOR_NEXT_STEP:\n return {\n ...state,\n waitForNextStep: action.payload,\n };\n case UPDATE_FORM_ENDED:\n return {\n ...state,\n formEnded: action.payload,\n };\n /** deprecated */\n case UPDATE_INITIAL_ZOOM:\n return {\n ...state,\n initialZoom: action.payload,\n };\n case UPDATE_GEOMETRY:\n return {\n ...state,\n geometry: action.payload,\n };\n case DISABLE_TRACKING:\n return {\n ...state,\n trackingIsDisabled: true\n };\n\n default:\n return state;\n }\n}\n","export const ADD_DOMAIN = 'ADD_DOMAIN';\n\ninterface AddDomain {\n type: typeof ADD_DOMAIN;\n payload: [];\n}\n\nexport type DomainsActionTypes = AddDomain;\n","import { domainsInfoInitialState } from '.';\nimport { DomainsInfo } from 'src/types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport { DomainsActionTypes, ADD_DOMAIN } from './domains-types';\n\nexport function domainsReducer(state: DomainsInfo = null, action: OneFormActionTypes | DomainsActionTypes): any {\n\tswitch (action.type) {\n\t\tcase RESET_STATE:\n\t\t\treturn domainsInfoInitialState;\n\t\tcase ADD_DOMAIN:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.payload,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n","import { combineReducers } from 'redux';\nimport { VehiclesInfo, DealersInfo, FormDataGroup, FormInfo, OneFormState } from 'src/types';\nimport { vehiclesReducer, dealersReducer, formDataReducer, formInfoReducer, domainsReducer } from './';\n\nexport const formInfoInitialState: FormInfo = {\n firstMapLoad: true,\n formEnded: false,\n formStarted: false,\n fullScreen: false,\n genericError: false,\n formSubmitted: false,\n multiStepScreenIndex: null,\n numberOfScreens: null,\n screenIndex: null,\n showFinalScreen: false,\n step: null,\n steps: null,\n stepsHistory: null,\n thankYouComponent: null,\n triggerExitAnimation: false,\n userIsAuthenticated: false,\n waitForNextStep: false,\n trackingIsDisabled: false,\n stepsLiteralFields: []\n};\n\nexport const formData: FormDataGroup = { headers: {}, fields: {} };\nexport const dealersInfo: DealersInfo = {\n dealers: null,\n installations: null,\n selectedCarline: null,\n points: null,\n selectedDealer: null,\n favouriteDealer: null,\n urlDealer: null,\n selectedInstallation: null,\n dealersOrInstallationsMode: null,\n carlines: null,\n oferta: null,\n salesGroup: null,\n match: null,\n citaCarlines: null,\n};\nexport const vehiclesInfo: VehiclesInfo = { \n brands: null, \n models: null, \n brandSelected: null, \n modelSelected: null \n};\nexport const domainsInfoInitialState: any = [];\n\nexport const initialState: OneFormState = {\n formInfo: formInfoInitialState,\n formData,\n dealersInfo,\n vehiclesInfo,\n domainsInfo: domainsInfoInitialState,\n};\n\nexport const oneFormReducer = combineReducers({\n formData: formDataReducer,\n formInfo: formInfoReducer,\n dealersInfo: dealersReducer,\n vehiclesInfo: vehiclesReducer,\n domainsInfo: domainsReducer,\n});\n","// Cache implementation based on Erik Rasmussen's `lru-memoize`:\n// https://github.com/erikras/lru-memoize\nvar NOT_FOUND = 'NOT_FOUND';\n\nfunction createSingletonCache(equals) {\n var entry;\n return {\n get: function get(key) {\n if (entry && equals(entry.key, key)) {\n return entry.value;\n }\n\n return NOT_FOUND;\n },\n put: function put(key, value) {\n entry = {\n key: key,\n value: value\n };\n },\n getEntries: function getEntries() {\n return entry ? [entry] : [];\n },\n clear: function clear() {\n entry = undefined;\n }\n };\n}\n\nfunction createLruCache(maxSize, equals) {\n var entries = [];\n\n function get(key) {\n var cacheIndex = entries.findIndex(function (entry) {\n return equals(key, entry.key);\n }); // We found a cached entry\n\n if (cacheIndex > -1) {\n var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top\n\n if (cacheIndex > 0) {\n entries.splice(cacheIndex, 1);\n entries.unshift(entry);\n }\n\n return entry.value;\n } // No entry found in cache, return sentinel\n\n\n return NOT_FOUND;\n }\n\n function put(key, value) {\n if (get(key) === NOT_FOUND) {\n // TODO Is unshift slow?\n entries.unshift({\n key: key,\n value: value\n });\n\n if (entries.length > maxSize) {\n entries.pop();\n }\n }\n }\n\n function getEntries() {\n return entries;\n }\n\n function clear() {\n entries = [];\n }\n\n return {\n get: get,\n put: put,\n getEntries: getEntries,\n clear: clear\n };\n}\n\nexport var defaultEqualityCheck = function defaultEqualityCheck(a, b) {\n return a === b;\n};\nexport function createCacheKeyComparator(equalityCheck) {\n return function areArgumentsShallowlyEqual(prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n\n\n var length = prev.length;\n\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n };\n}\n// defaultMemoize now supports a configurable cache size with LRU behavior,\n// and optional comparison of the result value with existing values\nexport function defaultMemoize(func, equalityCheckOrOptions) {\n var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {\n equalityCheck: equalityCheckOrOptions\n };\n var _providedOptions$equa = providedOptions.equalityCheck,\n equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,\n _providedOptions$maxS = providedOptions.maxSize,\n maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,\n resultEqualityCheck = providedOptions.resultEqualityCheck;\n var comparator = createCacheKeyComparator(equalityCheck);\n var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons\n\n function memoized() {\n var value = cache.get(arguments);\n\n if (value === NOT_FOUND) {\n // @ts-ignore\n value = func.apply(null, arguments);\n\n if (resultEqualityCheck) {\n var entries = cache.getEntries();\n var matchingEntry = entries.find(function (entry) {\n return resultEqualityCheck(entry.value, value);\n });\n\n if (matchingEntry) {\n value = matchingEntry.value;\n }\n }\n\n cache.put(arguments, value);\n }\n\n return value;\n }\n\n memoized.clearCache = function () {\n return cache.clear();\n };\n\n return memoized;\n}","import { defaultMemoize, defaultEqualityCheck } from './defaultMemoize';\nexport { defaultMemoize, defaultEqualityCheck };\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep === 'function' ? \"function \" + (dep.name || 'unnamed') + \"()\" : typeof dep;\n }).join(', ');\n throw new Error(\"createSelector expects all input-selectors to be functions, but received the following types: [\" + dependencyTypes + \"]\");\n }\n\n return dependencies;\n}\n\nexport function createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptionsFromArgs[_key - 1] = arguments[_key];\n }\n\n var createSelector = function createSelector() {\n for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var _recomputations = 0;\n\n var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.\n // So, start by declaring the default value here.\n // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)\n\n\n var directlyPassedOptions = {\n memoizeOptions: undefined\n }; // Normally, the result func or \"output selector\" is the last arg\n\n var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object\n\n if (typeof resultFunc === 'object') {\n directlyPassedOptions = resultFunc; // and pop the real result func off\n\n resultFunc = funcs.pop();\n }\n\n if (typeof resultFunc !== 'function') {\n throw new Error(\"createSelector expects an output function after the inputs, but received: [\" + typeof resultFunc + \"]\");\n } // Determine which set of options we're using. Prefer options passed directly,\n // but fall back to options given to createSelectorCreator.\n\n\n var _directlyPassedOption = directlyPassedOptions,\n _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,\n memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer\n // is an array. In most libs I've looked at, it's an equality function or options object.\n // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full\n // user-provided array of options. Otherwise, it must be just the _first_ arg, and so\n // we wrap it in an array so we can apply it.\n\n var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];\n var dependencies = getDependencies(funcs);\n var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {\n _recomputations++; // apply arguments instead of spreading for performance.\n\n return resultFunc.apply(null, arguments);\n }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n\n var selector = memoize(function dependenciesChecker() {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n // @ts-ignore\n params.push(dependencies[i].apply(null, arguments));\n } // apply arguments instead of spreading for performance.\n\n\n _lastResult = memoizedResultFunc.apply(null, params);\n return _lastResult;\n });\n Object.assign(selector, {\n resultFunc: resultFunc,\n memoizedResultFunc: memoizedResultFunc,\n dependencies: dependencies,\n lastResult: function lastResult() {\n return _lastResult;\n },\n recomputations: function recomputations() {\n return _recomputations;\n },\n resetRecomputations: function resetRecomputations() {\n return _recomputations = 0;\n }\n });\n return selector;\n }; // @ts-ignore\n\n\n return createSelector;\n}\nexport var createSelector = /* #__PURE__ */createSelectorCreator(defaultMemoize);\n// Manual definition of state and output arguments\nexport var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {\n if (selectorCreator === void 0) {\n selectorCreator = createSelector;\n }\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + (\"where each property is a selector, instead received a \" + typeof selectors));\n }\n\n var objectKeys = Object.keys(selectors);\n var resultSelector = selectorCreator( // @ts-ignore\n objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n return resultSelector;\n};","import { OneFormState } from 'src/types';\n\nimport { createSelector } from 'reselect';\n\nconst getPoint = (state: OneFormState) => {\n return state.dealersInfo.points;\n};\n\nexport const getPoints = createSelector(getPoint, (getPoint) => getPoint);\n\nconst getGeometryProperty = (state: OneFormState) => {\n return state.formInfo.geometry;\n};\n\nexport const getGeometry = createSelector(getGeometryProperty, (getGeometryProperty) => getGeometryProperty);\n\nconst getUserSuggestionProperty = (state: OneFormState) => {\n return state.formInfo.userSuggestion;\n};\n\nexport const getUserSuggestion = createSelector(\n getUserSuggestionProperty,\n (getUserSuggestionProperty) => getUserSuggestionProperty\n);\n\nconst getUserGeolocationProperty = (state: OneFormState) => {\n return state.formInfo.userGeoLocation;\n};\n\nexport const getUserGeolocation = createSelector(\n getUserGeolocationProperty,\n (getUserGeolocationProperty) => getUserGeolocationProperty\n);\n","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport { Dependencies } from 'src';\n\nlet featureServicesMirror: Dependencies = null;\nlet featureEnvironmentMirror: FeatureAppEnvironment = null;\n\nexport const saveFeatureServices = (featureServices: Dependencies) => {\n featureServicesMirror = featureServices;\n};\nexport const saveEnvironment = (environment: FeatureAppEnvironment) => {\n featureEnvironmentMirror = environment;\n};\nexport const getFeatureServices = () => featureServicesMirror;\nexport const getEnvironment = () => featureEnvironmentMirror;\nexport const getOneHubConfig = () => featureServicesMirror['service-config-provider'].configs['es-onehub-vw'];\nexport const getDataServiceConfig = () => featureServicesMirror['service-config-provider'].configs['es-vwdata'];\nexport const getMolecularCdnServiceConfig = () =>\n featureServicesMirror['service-config-provider'].configs['es-molecular-cdn'];\nexport const getMolecularServiceConfig = () => featureServicesMirror['service-config-provider'].configs['es-molecular'];\nexport const getVicciServiceConfig = () => featureServicesMirror['service-config-provider'].configs['oneapi-vicci'];\nexport const getVicciApiKey = () => featureServicesMirror['api-key-provider'].apiKey;\nexport const getGoogleApiKeyServiceConfig = () =>\n featureServicesMirror['service-config-provider'].configs['es-google-apikey'];\nexport const getOneformBFFCdnServiceConfig = () =>\n featureServicesMirror['service-config-provider'].configs['es-oneform-bff-cdn'];\nexport const getOneformBFFServiceConfig = () => featureServicesMirror['service-config-provider'].configs['es-oneform-bff'];\nexport const getVwEventosConfig = () => featureServicesMirror['service-config-provider'].configs['es-vweventos'];\n","import * as React from 'react';\nimport * as Sentry from '@sentry/react';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\n\ninterface Props {\n hub: Sentry.Hub;\n close?: CloseHandleV2;\n children: React.ReactNode;\n}\nclass ErrorBoundary extends React.Component {\n constructor(props: Props) {\n super(props);\n this.state = { eventId: null };\n }\n\n static getDerivedStateFromError() {\n return { hasError: true };\n }\n\n componentDidCatch(error, errorInfo) {\n /** \n * We make use of the Sentry hub passed in props to report the application\n * error to the intended recipient Sentry project.\n * Note: if Sentry.init was used, it looks like they should get a copy of\n * that error in their Sentry project too (though this behaviour might only\n * be applicable in development, to be confirmed.)\n */\n // Sentry.makeMain(this.props.hub);\n this.props.hub.run(currentHub => {\n currentHub.withScope((scope) => {\n scope.setExtras(errorInfo);\n const eventId = currentHub.captureException(error);\n this.setState({eventId});\n });\n\n });\n if (this.props.close) {\n this.props.close({},{},{});\n }\n\n }\n\n render() {\n if (this.state.hasError) {\n //render fallback UI\n return null;\n }\n\n //when there's not an error, render children untouched\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { getOriginalFunction } from '@sentry/utils';\n\nlet originalFunctionToString: () => void;\n\n/** Patch toString calls to return proper name for wrapped functions */\nexport class FunctionToString implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'FunctionToString';\n\n /**\n * @inheritDoc\n */\n public name: string = FunctionToString.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function (this: WrappedFunction, ...args: any[]): string {\n const context = getOriginalFunction(this) || this;\n return originalFunctionToString.apply(context, args);\n };\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { Primitive } from '@sentry/types';\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat: unknown): wat is Error {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n\nfunction isBuiltin(wat: unknown, ty: string): boolean {\n return objectToString.call(wat) === `[object ${ty}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat: unknown): boolean {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat: unknown): wat is string {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat: unknown): wat is Primitive {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat: unknown): wat is Record {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat: unknown): boolean {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat: unknown): boolean {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat: unknown): wat is RegExp {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat: any): wat is PromiseLike {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat: unknown): boolean {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value is NaN\n * {@link isNaN}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isNaN(wat: unknown): boolean {\n return typeof wat === 'number' && wat !== wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat: any, base: any): boolean {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n","import { getGlobalObject } from './global';\nimport { isString } from './is';\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem: unknown, keyAttrs?: string[]): string {\n type SimpleNode = {\n parentNode: SimpleNode;\n } | null;\n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem as SimpleNode;\n const MAX_TRAVERSE_HEIGHT = 5;\n const MAX_OUTPUT_LEN = 80;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n\n // eslint-disable-next-line no-plusplus\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el: unknown, keyAttrs?: string[]): string {\n const elem = el as {\n tagName?: string;\n id?: string;\n className?: string;\n getAttribute(key: string): string;\n };\n\n const out = [];\n let className;\n let classes;\n let key;\n let attr;\n let i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n const keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n // eslint-disable-next-line prefer-const\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(`.${classes[i]}`);\n }\n }\n }\n const allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(`[${key}=\"${attr}\"]`);\n }\n }\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nexport function getLocationHref(): string {\n const global = getGlobalObject();\n try {\n return global.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n","import { isRegExp, isString } from './is';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nexport function truncate(str: string, max: number = 0): string {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.substr(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line: string, colno: number): string {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input: any[], delimiter?: string): string {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value: string, pattern: RegExp | string): boolean {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n\n/**\n * Given a string, escape characters which have meaning in the regex grammar, such that the result is safe to feed to\n * `new RegExp()`.\n *\n * Based on https://github.com/sindresorhus/escape-string-regexp. Vendored to a) reduce the size by skipping the runtime\n * type-checking, and b) ensure it gets down-compiled for old versions of Node (the published package only supports Node\n * 12+).\n *\n * @param regexString The string to escape\n * @returns An version of the string with all special regex characters escaped\n */\nexport function escapeStringForRegex(regexString: string): string {\n // escape the hyphen separately so we can also replace it with a unicode literal hyphen, to avoid the problems\n // discussed in https://github.com/sindresorhus/escape-string-regexp/issues/20.\n return regexString.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d');\n}\n","/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ExtendedError, WrappedFunction } from '@sentry/types';\n\nimport { htmlTreeAsString } from './browser';\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive } from './is';\nimport { truncate } from './string';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nexport function fill(source: { [key: string]: any }, name: string, replacementFactory: (...args: any[]) => any): void {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] as () => any;\n const wrapped = replacementFactory(original) as WrappedFunction;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nexport function addNonEnumerableProperty(obj: { [key: string]: unknown }, name: string, value: unknown): void {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nexport function markFunctionWrapped(wrapped: WrappedFunction, original: WrappedFunction): void {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nexport function getOriginalFunction(func: WrappedFunction): WrappedFunction | undefined {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object: { [key: string]: any }): string {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any object into an object literal with all its attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n */\nexport function convertToPlainObject(value: unknown): {\n [key: string]: unknown;\n} {\n let newObj = value as {\n [key: string]: unknown;\n };\n\n if (isError(value)) {\n newObj = {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value as ExtendedError),\n };\n } else if (isEvent(value)) {\n /**\n * Event-like interface that's usable in browser and node\n */\n interface SimpleEvent {\n [key: string]: unknown;\n type: string;\n target?: unknown;\n currentTarget?: unknown;\n }\n\n const event = value as SimpleEvent;\n\n newObj = {\n type: event.type,\n target: serializeEventTarget(event.target),\n currentTarget: serializeEventTarget(event.currentTarget),\n ...getOwnProperties(event),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = event.detail;\n }\n }\n return newObj;\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target: unknown): string {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj: { [key: string]: unknown }): { [key: string]: unknown } {\n const extractedProps: { [key: string]: unknown } = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = obj[property];\n }\n }\n return extractedProps;\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function extractExceptionKeysForMessage(exception: any, maxLength: number = 40): string {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val: T): T {\n if (isPlainObject(val)) {\n const rv: { [key: string]: any } = {};\n for (const key of Object.keys(val)) {\n if (typeof val[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(val[key]);\n }\n }\n return rv as T;\n }\n\n if (Array.isArray(val)) {\n return (val as any[]).map(dropUndefinedKeys) as any;\n }\n\n return val;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nexport function objectify(wat: unknown): typeof Object {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat as any).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n","import { WrappedFunction } from '@sentry/types';\n\nimport { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject, getGlobalSingleton } from './global';\n\n// TODO: Implement different loggers for different environments\nconst global = getGlobalObject();\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\nexport const CONSOLE_LEVELS = ['debug', 'info', 'warn', 'error', 'log', 'assert'] as const;\n\ntype LoggerMethod = (...args: unknown[]) => void;\ntype LoggerConsoleMethods = Record;\n\n/** JSDoc */\ninterface Logger extends LoggerConsoleMethods {\n disable(): void;\n enable(): void;\n}\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nexport function consoleSandbox(callback: () => T): T {\n const global = getGlobalObject();\n\n if (!('console' in global)) {\n return callback();\n }\n\n const originalConsole = global.console as Console & Record;\n const wrappedLevels: Partial = {};\n\n // Restore all wrapped console methods\n CONSOLE_LEVELS.forEach(level => {\n // TODO(v7): Remove this check as it's only needed for Node 6\n const originalWrappedFunc =\n originalConsole[level] && (originalConsole[level] as WrappedFunction).__sentry_original__;\n if (level in global.console && originalWrappedFunc) {\n wrappedLevels[level] = originalConsole[level] as LoggerConsoleMethods[typeof level];\n originalConsole[level] = originalWrappedFunc as Console[typeof level];\n }\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(level => {\n originalConsole[level] = wrappedLevels[level as typeof CONSOLE_LEVELS[number]];\n });\n }\n}\n\nfunction makeLogger(): Logger {\n let enabled = false;\n const logger: Partial = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n };\n\n if (IS_DEBUG_BUILD) {\n CONSOLE_LEVELS.forEach(name => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = (...args: any[]) => {\n if (enabled) {\n consoleSandbox(() => {\n global.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger as Logger;\n}\n\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nlet logger: Logger;\nif (IS_DEBUG_BUILD) {\n logger = getGlobalSingleton('logger', makeLogger);\n} else {\n logger = makeLogger();\n}\n\nexport { logger };\n","/*\n * This file defines flags and constants that can be modified during compile time in order to facilitate tree shaking\n * for users.\n *\n * Debug flags need to be declared in each package individually and must not be imported across package boundaries,\n * because some build tools have trouble tree-shaking imported guards.\n *\n * As a convention, we define debug flags in a `flags.ts` file in the root of a package's `src` folder.\n *\n * Debug flag files will contain \"magic strings\" like `__SENTRY_DEBUG__` that may get replaced with actual values during\n * our, or the user's build process. Take care when introducing new flags - they must not throw if they are not\n * replaced.\n */\n\ndeclare const __SENTRY_DEBUG__: boolean;\n\n/** Flag that is true for debug builds, false otherwise. */\nexport const IS_DEBUG_BUILD = typeof __SENTRY_DEBUG__ === 'undefined' ? true : __SENTRY_DEBUG__;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Event, Exception, Mechanism, StackFrame } from '@sentry/types';\n\nimport { getGlobalObject } from './global';\nimport { addNonEnumerableProperty } from './object';\nimport { snipLine } from './string';\n\n/**\n * Extended Window interface that allows for Crypto API usage in IE browsers\n */\ninterface MsCryptoWindow extends Window {\n msCrypto?: Crypto;\n}\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4(): string {\n const global = getGlobalObject() as MsCryptoWindow;\n const crypto = global.crypto || global.msCrypto;\n\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n const arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n\n // set 4 in byte 7\n // eslint-disable-next-line no-bitwise\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // eslint-disable-next-line no-bitwise\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n\n const pad = (num: number): string => {\n let v = num.toString(16);\n while (v.length < 4) {\n v = `0${v}`;\n }\n return v;\n };\n\n return (\n pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7])\n );\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, c => {\n // eslint-disable-next-line no-bitwise\n const r = (Math.random() * 16) | 0;\n // eslint-disable-next-line no-bitwise\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url: string): {\n host?: string;\n path?: string;\n protocol?: string;\n relative?: string;\n} {\n if (!url) {\n return {};\n }\n\n const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n }\n\n // coerce to undefined values to empty string so we don't get 'undefined'\n const query = match[6] || '';\n const fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment, // everything minus origin\n };\n}\n\nfunction getFirstException(event: Event): Exception | undefined {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event: Event): string {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '';\n }\n return eventId || '';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event: Event, value?: string, type?: string): void {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nexport function addExceptionMechanism(event: Event, newMechanism?: Partial): void {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\ninterface SemVer {\n major?: number;\n minor?: number;\n patch?: number;\n prerelease?: string;\n buildmetadata?: string;\n}\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input: string): SemVer {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines: string[], frame: StackFrame, linesOfContext: number = 5): void {\n const lineno = frame.lineno || 0;\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line: string) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line: string) => snipLine(line, 0));\n}\n\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nexport function stripUrlQueryAndFragment(urlPath: string): string {\n // eslint-disable-next-line no-useless-escape\n return urlPath.split(/[\\?#]/, 1)[0];\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nexport function checkOrSetAlreadyCaught(exception: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception as any).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception as { [key: string]: unknown }, '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n","import { Event, EventProcessor, Hub, Integration, StackFrame } from '@sentry/types';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** Options for the InboundFilters integration */\nexport interface InboundFiltersOptions {\n allowUrls: Array;\n denyUrls: Array;\n ignoreErrors: Array;\n ignoreInternal: boolean;\n\n /** @deprecated use {@link InboundFiltersOptions.allowUrls} instead. */\n whitelistUrls: Array;\n /** @deprecated use {@link InboundFiltersOptions.denyUrls} instead. */\n blacklistUrls: Array;\n}\n\n/** Inbound filters configurable by the user */\nexport class InboundFilters implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'InboundFilters';\n\n /**\n * @inheritDoc\n */\n public name: string = InboundFilters.id;\n\n public constructor(private readonly _options: Partial = {}) {}\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (processor: EventProcessor) => void, getCurrentHub: () => Hub): void {\n addGlobalEventProcessor((event: Event) => {\n const hub = getCurrentHub();\n if (hub) {\n const self = hub.getIntegration(InboundFilters);\n if (self) {\n const client = hub.getClient();\n const clientOptions = client ? client.getOptions() : {};\n const options = _mergeOptions(self._options, clientOptions);\n return _shouldDropEvent(event, options) ? null : event;\n }\n }\n return event;\n });\n }\n}\n\n/** JSDoc */\nexport function _mergeOptions(\n internalOptions: Partial = {},\n clientOptions: Partial = {},\n): Partial {\n return {\n allowUrls: [\n // eslint-disable-next-line deprecation/deprecation\n ...(internalOptions.whitelistUrls || []),\n ...(internalOptions.allowUrls || []),\n // eslint-disable-next-line deprecation/deprecation\n ...(clientOptions.whitelistUrls || []),\n ...(clientOptions.allowUrls || []),\n ],\n denyUrls: [\n // eslint-disable-next-line deprecation/deprecation\n ...(internalOptions.blacklistUrls || []),\n ...(internalOptions.denyUrls || []),\n // eslint-disable-next-line deprecation/deprecation\n ...(clientOptions.blacklistUrls || []),\n ...(clientOptions.denyUrls || []),\n ],\n ignoreErrors: [\n ...(internalOptions.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true,\n };\n}\n\n/** JSDoc */\nexport function _shouldDropEvent(event: Event, options: Partial): boolean {\n if (options.ignoreInternal && _isSentryError(event)) {\n IS_DEBUG_BUILD &&\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (_isIgnoredError(event, options.ignoreErrors)) {\n IS_DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n IS_DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n IS_DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n}\n\nfunction _isIgnoredError(event: Event, ignoreErrors?: Array): boolean {\n if (!ignoreErrors || !ignoreErrors.length) {\n return false;\n }\n\n return _getPossibleEventMessages(event).some(message =>\n ignoreErrors.some(pattern => isMatchingPattern(message, pattern)),\n );\n}\n\nfunction _isDeniedUrl(event: Event, denyUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!denyUrls || !denyUrls.length) {\n return false;\n }\n const url = _getEventFilterUrl(event);\n return !url ? false : denyUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _isAllowedUrl(event: Event, allowUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!allowUrls || !allowUrls.length) {\n return true;\n }\n const url = _getEventFilterUrl(event);\n return !url ? true : allowUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _getPossibleEventMessages(event: Event): string[] {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n IS_DEBUG_BUILD && logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n}\n\nfunction _isSentryError(event: Event): boolean {\n try {\n // @ts-ignore can't be a sentry error if undefined\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {\n // ignore\n }\n return false;\n}\n\nfunction _getLastValidUrl(frames: StackFrame[] = []): string | null {\n for (let i = frames.length - 1; i >= 0; i--) {\n const frame = frames[i];\n\n if (frame && frame.filename !== '' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event: Event): string | null {\n try {\n if (event.stacktrace) {\n return _getLastValidUrl(event.stacktrace.frames);\n }\n let frames;\n try {\n // @ts-ignore we only care about frames if the whole thing here is defined\n frames = event.exception.values[0].stacktrace.frames;\n } catch (e) {\n // ignore\n }\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n IS_DEBUG_BUILD && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/typedef */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n\n/** SyncPromise internal states */\nconst enum States {\n /** Pending */\n PENDING = 0,\n /** Resolved / OK */\n RESOLVED = 1,\n /** Rejected / Error */\n REJECTED = 2,\n}\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nexport function resolvedSyncPromise(value: T | PromiseLike): PromiseLike {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nexport function rejectedSyncPromise(reason?: any): PromiseLike {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise implements PromiseLike {\n private _state: States = States.PENDING;\n private _handlers: Array<[boolean, (value: T) => void, (reason: any) => any]> = [];\n private _value: any;\n\n public constructor(\n executor: (resolve: (value?: T | PromiseLike | null) => void, reject: (reason?: any) => void) => void,\n ) {\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n public then(\n onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onrejected?: ((reason: any) => TResult2 | PromiseLike) | null,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result as any);\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n public catch(\n onrejected?: ((reason: any) => TResult | PromiseLike) | null,\n ): PromiseLike {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n public finally(onfinally?: (() => void) | null): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let val: TResult | any;\n let isRejected: boolean;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val as unknown as any);\n });\n });\n }\n\n /** JSDoc */\n private readonly _resolve = (value?: T | PromiseLike | null) => {\n this._setResult(States.RESOLVED, value);\n };\n\n /** JSDoc */\n private readonly _reject = (reason?: any) => {\n this._setResult(States.REJECTED, reason);\n };\n\n /** JSDoc */\n private readonly _setResult = (state: States, value?: T | PromiseLike | any) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value as PromiseLike).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };\n\n /** JSDoc */\n private readonly _executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler[1](this._value as unknown as any);\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };\n}\n\nexport { SyncPromise };\n","/* eslint-disable max-lines */\nimport {\n Breadcrumb,\n CaptureContext,\n Context,\n Contexts,\n Event,\n EventHint,\n EventProcessor,\n Extra,\n Extras,\n Primitive,\n RequestSession,\n Scope as ScopeInterface,\n ScopeContext,\n Severity,\n Span,\n Transaction,\n User,\n} from '@sentry/types';\nimport { dateTimestampInSeconds, getGlobalSingleton, isPlainObject, isThenable, SyncPromise } from '@sentry/utils';\n\nimport { Session } from './session';\n\n/**\n * Absolute maximum number of breadcrumbs added to an event.\n * The `maxBreadcrumbs` option cannot be higher than this value.\n */\nconst MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nexport class Scope implements ScopeInterface {\n /** Flag if notifying is happening. */\n protected _notifyingListeners: boolean = false;\n\n /** Callback for client to receive scope changes. */\n protected _scopeListeners: Array<(scope: Scope) => void> = [];\n\n /** Callback list that will be called after {@link applyToEvent}. */\n protected _eventProcessors: EventProcessor[] = [];\n\n /** Array of breadcrumbs. */\n protected _breadcrumbs: Breadcrumb[] = [];\n\n /** User */\n protected _user: User = {};\n\n /** Tags */\n protected _tags: { [key: string]: Primitive } = {};\n\n /** Extra */\n protected _extra: Extras = {};\n\n /** Contexts */\n protected _contexts: Contexts = {};\n\n /** Fingerprint */\n protected _fingerprint?: string[];\n\n /** Severity */\n protected _level?: Severity;\n\n /** Transaction Name */\n protected _transactionName?: string;\n\n /** Span */\n protected _span?: Span;\n\n /** Session */\n protected _session?: Session;\n\n /** Request Mode Session Status */\n protected _requestSession?: RequestSession;\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n protected _sdkProcessingMetadata?: { [key: string]: unknown } = {};\n\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n public static clone(scope?: Scope): Scope {\n const newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = [...scope._breadcrumbs];\n newScope._tags = { ...scope._tags };\n newScope._extra = { ...scope._extra };\n newScope._contexts = { ...scope._contexts };\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = [...scope._eventProcessors];\n newScope._requestSession = scope._requestSession;\n }\n return newScope;\n }\n\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n public addScopeListener(callback: (scope: Scope) => void): void {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n public addEventProcessor(callback: EventProcessor): this {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): this {\n this._user = user || {};\n if (this._session) {\n this._session.update({ user });\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getUser(): User | undefined {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n public getRequestSession(): RequestSession | undefined {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n public setRequestSession(requestSession?: RequestSession): this {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): this {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): this {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): this {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): this {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setFingerprint(fingerprint: string[]): this {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setLevel(level: Severity): this {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTransactionName(name?: string): this {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Can be removed in major version.\n * @deprecated in favor of {@link this.setTransactionName}\n */\n public setTransaction(name?: string): this {\n return this.setTransactionName(name);\n }\n\n /**\n * @inheritDoc\n */\n public setContext(key: string, context: Context | null): this {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts = { ...this._contexts, [key]: context };\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setSpan(span?: Span): this {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSpan(): Span | undefined {\n return this._span;\n }\n\n /**\n * @inheritDoc\n */\n public getTransaction(): Transaction | undefined {\n // Often, this span (if it exists at all) will be a transaction, but it's not guaranteed to be. Regardless, it will\n // have a pointer to the currently-active transaction.\n const span = this.getSpan();\n return span && span.transaction;\n }\n\n /**\n * @inheritDoc\n */\n public setSession(session?: Session): this {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSession(): Session | undefined {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n public update(captureContext?: CaptureContext): this {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n const updatedScope = (captureContext as (scope: T) => T)(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = { ...this._tags, ...captureContext._tags };\n this._extra = { ...this._extra, ...captureContext._extra };\n this._contexts = { ...this._contexts, ...captureContext._contexts };\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext as ScopeContext;\n this._tags = { ...this._tags, ...captureContext.tags };\n this._extra = { ...this._extra, ...captureContext.extra };\n this._contexts = { ...this._contexts, ...captureContext.contexts };\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clear(): this {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number): this {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? Math.min(maxBreadcrumbs, MAX_BREADCRUMBS) : MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n this._breadcrumbs = [...this._breadcrumbs, mergedBreadcrumb].slice(-maxCrumbs);\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clearBreadcrumbs(): this {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional information about the original exception.\n * @hidden\n */\n public applyToEvent(event: Event, hint?: EventHint): PromiseLike {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = { ...this._extra, ...event.extra };\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = { ...this._tags, ...event.tags };\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = { ...this._user, ...event.user };\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = { ...this._contexts, ...event.contexts };\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (this._span) {\n event.contexts = { trace: this._span.getTraceContext(), ...event.contexts };\n const transactionName = this._span.transaction && this._span.transaction.name;\n if (transactionName) {\n event.tags = { transaction: transactionName, ...event.tags };\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs];\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n\n event.sdkProcessingMetadata = this._sdkProcessingMetadata;\n\n return this._notifyEventProcessors([...getGlobalEventProcessors(), ...this._eventProcessors], event, hint);\n }\n\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry\n */\n public setSDKProcessingMetadata(newData: { [key: string]: unknown }): this {\n this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...newData };\n\n return this;\n }\n\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n protected _notifyEventProcessors(\n processors: EventProcessor[],\n event: Event | null,\n hint?: EventHint,\n index: number = 0,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) as Event | null;\n if (isThenable(result)) {\n void result\n .then(final => this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n }\n\n /**\n * This will be called on every set call.\n */\n protected _notifyScopeListeners(): void {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n private _applyFingerprint(event: Event): void {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n}\n\n/**\n * Returns the global event processors.\n */\nfunction getGlobalEventProcessors(): EventProcessor[] {\n return getGlobalSingleton('globalEventProcessors', () => []);\n}\n\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback: EventProcessor): void {\n getGlobalEventProcessors().push(callback);\n}\n","import { Session as SessionInterface, SessionContext, SessionStatus } from '@sentry/types';\nimport { dropUndefinedKeys, timestampInSeconds, uuid4 } from '@sentry/utils';\n\n/**\n * @inheritdoc\n */\nexport class Session implements SessionInterface {\n public userAgent?: string;\n public errors: number = 0;\n public release?: string;\n public sid: string = uuid4();\n public did?: string;\n public timestamp: number;\n public started: number;\n public duration?: number = 0;\n public status: SessionStatus = 'ok';\n public environment?: string;\n public ipAddress?: string;\n public init: boolean = true;\n public ignoreDuration: boolean = false;\n\n public constructor(context?: Omit) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n this.timestamp = startingTime;\n this.started = startingTime;\n if (context) {\n this.update(context);\n }\n }\n\n /** JSDoc */\n // eslint-disable-next-line complexity\n public update(context: SessionContext = {}): void {\n if (context.user) {\n if (!this.ipAddress && context.user.ip_address) {\n this.ipAddress = context.user.ip_address;\n }\n\n if (!this.did && !context.did) {\n this.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n this.timestamp = context.timestamp || timestampInSeconds();\n if (context.ignoreDuration) {\n this.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n this.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n this.init = context.init;\n }\n if (!this.did && context.did) {\n this.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n this.started = context.started;\n }\n if (this.ignoreDuration) {\n this.duration = undefined;\n } else if (typeof context.duration === 'number') {\n this.duration = context.duration;\n } else {\n const duration = this.timestamp - this.started;\n this.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n this.release = context.release;\n }\n if (context.environment) {\n this.environment = context.environment;\n }\n if (!this.ipAddress && context.ipAddress) {\n this.ipAddress = context.ipAddress;\n }\n if (!this.userAgent && context.userAgent) {\n this.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n this.errors = context.errors;\n }\n if (context.status) {\n this.status = context.status;\n }\n }\n\n /** JSDoc */\n public close(status?: Exclude): void {\n if (status) {\n this.update({ status });\n } else if (this.status === 'ok') {\n this.update({ status: 'exited' });\n } else {\n this.update();\n }\n }\n\n /** JSDoc */\n public toJSON(): {\n init: boolean;\n sid: string;\n did?: string;\n timestamp: string;\n started: string;\n duration?: number;\n status: SessionStatus;\n errors: number;\n attrs?: {\n release?: string;\n environment?: string;\n user_agent?: string;\n ip_address?: string;\n };\n } {\n return dropUndefinedKeys({\n sid: `${this.sid}`,\n init: this.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(this.started * 1000).toISOString(),\n timestamp: new Date(this.timestamp * 1000).toISOString(),\n status: this.status,\n errors: this.errors,\n did: typeof this.did === 'number' || typeof this.did === 'string' ? `${this.did}` : undefined,\n duration: this.duration,\n attrs: {\n release: this.release,\n environment: this.environment,\n ip_address: this.ipAddress,\n user_agent: this.userAgent,\n },\n });\n }\n}\n","/**\n * TODO(v7): Remove this enum and replace with SeverityLevel\n */\nexport enum Severity {\n /** JSDoc */\n Fatal = 'fatal',\n /** JSDoc */\n Error = 'error',\n /** JSDoc */\n Warning = 'warning',\n /** JSDoc */\n Log = 'log',\n /** JSDoc */\n Info = 'info',\n /** JSDoc */\n Debug = 'debug',\n /** JSDoc */\n Critical = 'critical',\n}\n\n// TODO: in v7, these can disappear, because they now also exist in `@sentry/utils`. (Having them there rather than here\n// is nice because then it enforces the idea that only types are exported from `@sentry/types`.)\nexport const SeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug', 'critical'] as const;\nexport type SeverityLevel = typeof SeverityLevels[number];\n","/* eslint-disable max-lines */\nimport {\n Breadcrumb,\n BreadcrumbHint,\n Client,\n CustomSamplingContext,\n Event,\n EventHint,\n Extra,\n Extras,\n Hub as HubInterface,\n Integration,\n IntegrationClass,\n Primitive,\n SessionContext,\n Severity,\n Span,\n SpanContext,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\nimport {\n consoleSandbox,\n dateTimestampInSeconds,\n getGlobalObject,\n getGlobalSingleton,\n isNodeEnv,\n logger,\n uuid4,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\nimport { Scope } from './scope';\nimport { Session } from './session';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nexport const API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * A layer in the process stack.\n * @hidden\n */\nexport interface Layer {\n client?: Client;\n scope?: Scope;\n}\n\n/**\n * An object that contains a hub and maintains a scope stack.\n * @hidden\n */\nexport interface Carrier {\n __SENTRY__?: {\n hub?: Hub;\n /**\n * Extra Hub properties injected by various SDKs\n */\n integrations?: Integration[];\n extensions?: {\n /** Hack to prevent bundlers from breaking our usage of the domain package in the cross-platform Hub package */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n domain?: { [key: string]: any };\n } & {\n /** Extension methods for the hub, which are bound to the current Hub instance */\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n };\n}\n\n/**\n * @hidden\n * @deprecated Can be removed once `Hub.getActiveDomain` is removed.\n */\nexport interface DomainAsCarrier extends Carrier {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n members: { [key: string]: any }[];\n}\n\n/**\n * @inheritDoc\n */\nexport class Hub implements HubInterface {\n /** Is a {@link Layer}[] containing the client and scope */\n private readonly _stack: Layer[] = [{}];\n\n /** Contains the last event id of a captured event. */\n private _lastEventId?: string;\n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n public constructor(client?: Client, scope: Scope = new Scope(), private readonly _version: number = API_VERSION) {\n this.getStackTop().scope = scope;\n if (client) {\n this.bindClient(client);\n }\n }\n\n /**\n * @inheritDoc\n */\n public isOlderThan(version: number): boolean {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n public bindClient(client?: Client): void {\n const top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n public pushScope(): Scope {\n // We want to clone the content of prev scope\n const scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n public popScope(): boolean {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n public withScope(callback: (scope: Scope) => void): void {\n const scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n public getClient(): C | undefined {\n return this.getStackTop().client as C;\n }\n\n /** Returns the scope of the top stack. */\n public getScope(): Scope | undefined {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n public getStack(): Layer[] {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n public getStackTop(): Layer {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n let finalHint = hint;\n\n // If there's no explicit hint provided, mimic the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n let syntheticException: Error;\n try {\n throw new Error('Sentry syntheticException');\n } catch (exception) {\n syntheticException = exception as Error;\n }\n finalHint = {\n originalException: exception,\n syntheticException,\n };\n }\n\n this._invokeClient('captureException', exception, {\n ...finalHint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: Severity, hint?: EventHint): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n let finalHint = hint;\n\n // If there's no explicit hint provided, mimic the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n let syntheticException: Error;\n try {\n throw new Error(message);\n } catch (exception) {\n syntheticException = exception as Error;\n }\n finalHint = {\n originalException: message,\n syntheticException,\n };\n }\n\n this._invokeClient('captureMessage', message, level, {\n ...finalHint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n if (event.type !== 'transaction') {\n this._lastEventId = eventId;\n }\n\n this._invokeClient('captureEvent', event, {\n ...hint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public lastEventId(): string | undefined {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n const { scope, client } = this.getStackTop();\n\n if (!scope || !client) return;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): void {\n const scope = this.getScope();\n if (scope) scope.setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): void {\n const scope = this.getScope();\n if (scope) scope.setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): void {\n const scope = this.getScope();\n if (scope) scope.setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): void {\n const scope = this.getScope();\n if (scope) scope.setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): void {\n const scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setContext(name: string, context: { [key: string]: any } | null): void {\n const scope = this.getScope();\n if (scope) scope.setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n public configureScope(callback: (scope: Scope) => void): void {\n const { scope, client } = this.getStackTop();\n if (scope && client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n public run(callback: (hub: Hub) => void): void {\n const oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n const client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n IS_DEBUG_BUILD && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n public startSpan(context: SpanContext): Span {\n return this._callExtensionMethod('startSpan', context);\n }\n\n /**\n * @inheritDoc\n */\n public startTransaction(context: TransactionContext, customSamplingContext?: CustomSamplingContext): Transaction {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n }\n\n /**\n * @inheritDoc\n */\n public traceHeaders(): { [key: string]: string } {\n return this._callExtensionMethod<{ [key: string]: string }>('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(endSession: boolean = false): void {\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n\n // only send the update\n this._sendSessionUpdate();\n }\n\n /**\n * @inheritDoc\n */\n public endSession(): void {\n const layer = this.getStackTop();\n const scope = layer && layer.scope;\n const session = scope && scope.getSession();\n if (session) {\n session.close();\n }\n this._sendSessionUpdate();\n\n // the session is over; take it off of the scope\n if (scope) {\n scope.setSession();\n }\n }\n\n /**\n * @inheritDoc\n */\n public startSession(context?: SessionContext): Session {\n const { scope, client } = this.getStackTop();\n const { release, environment } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const global = getGlobalObject<{ navigator?: { userAgent?: string } }>();\n const { userAgent } = global.navigator || {};\n\n const session = new Session({\n release,\n environment,\n ...(scope && { user: scope.getUser() }),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n if (scope) {\n // End existing session if there's one\n const currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n currentSession.update({ status: 'exited' });\n }\n this.endSession();\n\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n }\n\n return session;\n }\n\n /**\n * Sends the current Session on the scope\n */\n private _sendSessionUpdate(): void {\n const { scope, client } = this.getStackTop();\n if (!scope) return;\n\n const session = scope.getSession && scope.getSession();\n if (session) {\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _invokeClient(method: M, ...args: any[]): void {\n const { scope, client } = this.getStackTop();\n if (client && client[method]) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n (client as any)[method](...args, scope);\n }\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _callExtensionMethod(method: string, ...args: any[]): T {\n const carrier = getMainCarrier();\n const sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n IS_DEBUG_BUILD && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nexport function getMainCarrier(): Carrier {\n const carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return carrier;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub: Hub): Hub {\n const registry = getMainCarrier();\n const oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub(): Hub {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * Returns the active domain, if one exists\n * @deprecated No longer used; remove in v7\n * @returns The domain, or undefined if there is no active domain\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function getActiveDomain(): DomainAsCarrier | undefined {\n IS_DEBUG_BUILD && logger.warn('Function `getActiveDomain` is deprecated and will be removed in a future version.');\n\n const sentry = getMainCarrier().__SENTRY__;\n\n return sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n}\n\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry: Carrier): Hub {\n try {\n const sentry = getMainCarrier().__SENTRY__;\n const activeDomain = sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n const registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n } catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier: Carrier): boolean {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier: Carrier): Hub {\n return getGlobalSingleton('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nexport function setHubOnCarrier(carrier: Carrier, hub: Hub): boolean {\n if (!carrier) return false;\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n __SENTRY__.hub = hub;\n return true;\n}\n","import { StackFrame } from '@sentry/types';\n\nconst STACKTRACE_LIMIT = 50;\n\nexport type StackParser = (stack: string, skipFirst?: number) => StackFrame[];\nexport type StackLineParserFn = (line: string) => StackFrame | undefined;\nexport type StackLineParser = [number, StackLineParserFn];\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nexport function createStackParser(...parsers: StackLineParser[]): StackParser {\n const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack: string, skipFirst: number = 0): StackFrame[] => {\n const frames: StackFrame[] = [];\n\n for (const line of stack.split('\\n').slice(skipFirst)) {\n for (const parser of sortedParsers) {\n const frame = parser(line);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n }\n\n return stripSentryFramesAndReverse(frames);\n };\n}\n\n/**\n * @hidden\n */\nexport function stripSentryFramesAndReverse(stack: StackFrame[]): StackFrame[] {\n if (!stack.length) {\n return [];\n }\n\n let localStack = stack;\n\n const firstFrameFunction = localStack[0].function || '';\n const lastFrameFunction = localStack[localStack.length - 1].function || '';\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .slice(0, STACKTRACE_LIMIT)\n .map(frame => ({\n ...frame,\n filename: frame.filename || localStack[0].filename,\n function: frame.function || '?',\n }))\n .reverse();\n}\n\nconst defaultFunctionName = '';\n\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn: unknown): string {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n","import { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject } from './global';\nimport { logger } from './logger';\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent(): boolean {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError(): boolean {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException(): boolean {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch(): boolean {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isNativeFetch(func: Function): boolean {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch(): boolean {\n if (!supportsFetch()) {\n return false;\n }\n\n const global = getGlobalObject();\n\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n let result = false;\n const doc = global.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof (doc.createElement as unknown) === 'function') {\n try {\n const sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n IS_DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver(): boolean {\n return 'ReportingObserver' in getGlobalObject();\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy(): boolean {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' as ReferrerPolicy,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory(): boolean {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n const global = getGlobalObject();\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const chrome = (global as any).chrome;\n const isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n const hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n\n return !isChromePackagedApp && hasHistoryApi;\n}\n","/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\nimport { WrappedFunction } from '@sentry/types';\n\nimport { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject } from './global';\nimport { isInstanceOf, isString } from './is';\nimport { CONSOLE_LEVELS, logger } from './logger';\nimport { fill } from './object';\nimport { getFunctionName } from './stacktrace';\nimport { supportsHistory, supportsNativeFetch } from './supports';\n\nconst global = getGlobalObject();\n\ntype InstrumentHandlerType =\n | 'console'\n | 'dom'\n | 'fetch'\n | 'history'\n | 'sentry'\n | 'xhr'\n | 'error'\n | 'unhandledrejection';\ntype InstrumentHandlerCallback = (data: any) => void;\n\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nconst handlers: { [key in InstrumentHandlerType]?: InstrumentHandlerCallback[] } = {};\nconst instrumented: { [key in InstrumentHandlerType]?: boolean } = {};\n\n/** Instruments given API */\nfunction instrument(type: InstrumentHandlerType): void {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n IS_DEBUG_BUILD && logger.warn('unknown instrumentation type:', type);\n return;\n }\n}\n\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(type: InstrumentHandlerType, callback: InstrumentHandlerCallback): void {\n handlers[type] = handlers[type] || [];\n (handlers[type] as InstrumentHandlerCallback[]).push(callback);\n instrument(type);\n}\n\n/** JSDoc */\nfunction triggerHandlers(type: InstrumentHandlerType, data: any): void {\n if (!type || !handlers[type]) {\n return;\n }\n\n for (const handler of handlers[type] || []) {\n try {\n handler(data);\n } catch (e) {\n IS_DEBUG_BUILD &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\n/** JSDoc */\nfunction instrumentConsole(): void {\n if (!('console' in global)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level: string): void {\n if (!(level in global.console)) {\n return;\n }\n\n fill(global.console, level, function (originalConsoleMethod: () => any): Function {\n return function (...args: any[]): void {\n triggerHandlers('console', { args, level });\n\n // this fails for some browsers. :(\n if (originalConsoleMethod) {\n originalConsoleMethod.apply(global.console, args);\n }\n };\n });\n });\n}\n\n/** JSDoc */\nfunction instrumentFetch(): void {\n if (!supportsNativeFetch()) {\n return;\n }\n\n fill(global, 'fetch', function (originalFetch: () => void): () => void {\n return function (...args: any[]): void {\n const handlerData = {\n args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n\n triggerHandlers('fetch', {\n ...handlerData,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(global, args).then(\n (response: Response) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n response,\n });\n return response;\n },\n (error: Error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n error,\n });\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\ntype XHRSendInput = null | Blob | BufferSource | FormData | URLSearchParams | string;\n\n/** JSDoc */\ninterface SentryWrappedXMLHttpRequest extends XMLHttpRequest {\n [key: string]: any;\n __sentry_xhr__?: {\n method?: string;\n url?: string;\n status_code?: number;\n body?: XHRSendInput;\n };\n}\n\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs: any[] = []): string {\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs: any[] = []): string {\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n/** JSDoc */\nfunction instrumentXHR(): void {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n\n const xhrproto = XMLHttpRequest.prototype;\n\n fill(xhrproto, 'open', function (originalOpen: () => void): () => void {\n return function (this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const url = args[1];\n const xhrInfo: SentryWrappedXMLHttpRequest['__sentry_xhr__'] = (xhr.__sentry_xhr__ = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n });\n\n // if Sentry key appears in URL, don't capture it as a request\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (isString(url) && xhrInfo.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n\n const onreadystatechangeHandler = function (): void {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhr.status;\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr,\n });\n }\n };\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original: WrappedFunction): Function {\n return function (...readyStateArgs: any[]): void {\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n return originalOpen.apply(xhr, args);\n };\n });\n\n fill(xhrproto, 'send', function (originalSend: () => void): () => void {\n return function (this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n if (this.__sentry_xhr__ && args[0] !== undefined) {\n this.__sentry_xhr__.body = args[0];\n }\n\n triggerHandlers('xhr', {\n args,\n startTimestamp: Date.now(),\n xhr: this,\n });\n\n return originalSend.apply(this, args);\n };\n });\n}\n\nlet lastHref: string;\n\n/** JSDoc */\nfunction instrumentHistory(): void {\n if (!supportsHistory()) {\n return;\n }\n\n const oldOnPopState = global.onpopstate;\n global.onpopstate = function (this: WindowEventHandlers, ...args: any[]): any {\n const to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction: () => void): () => void {\n return function (this: History, ...args: any[]): void {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n const from = lastHref;\n const to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n\nconst debounceDuration = 1000;\nlet debounceTimerID: number | undefined;\nlet lastCapturedEvent: Event | undefined;\n\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\nfunction shouldShortcircuitPreviousDebounce(previous: Event | undefined, current: Event): boolean {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n }\n\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (previous.type !== current.type) {\n return true;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return false;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(event: Event): boolean {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n\n try {\n const target = event.target as HTMLElement;\n\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction makeDOMEventHandler(handler: Function, globalListener: boolean = false): (event: Event) => void {\n return (event: Event): void => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n\n const name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = global.setTimeout(() => {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n\ntype AddEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n) => void;\ntype RemoveEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n) => void;\n\ntype InstrumentedElement = Element & {\n __sentry_instrumentation_handlers__?: {\n [key in 'click' | 'keypress']?: {\n handler?: Function;\n /** The number of custom listeners attached to this element */\n refCount: number;\n };\n };\n};\n\n/** JSDoc */\nfunction instrumentDOM(): void {\n if (!('document' in global)) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n const triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n global.document.addEventListener('click', globalDOMEventHandler, false);\n global.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = (global as any)[target] && (global as any)[target].prototype;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener: AddEventListener): AddEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): AddEventListener {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = (el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {});\n const handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n const handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount += 1;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener: RemoveEventListener): RemoveEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = el.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount -= 1;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\nlet _oldOnErrorHandler: OnErrorEventHandler = null;\n/** JSDoc */\nfunction instrumentError(): void {\n _oldOnErrorHandler = global.onerror;\n\n global.onerror = function (msg: any, url: any, line: any, column: any, error: any): boolean {\n triggerHandlers('error', {\n column,\n error,\n line,\n msg,\n url,\n });\n\n if (_oldOnErrorHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n}\n\nlet _oldOnUnhandledRejectionHandler: ((e: any) => void) | null = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection(): void {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n\n global.onunhandledrejection = function (e: any): boolean {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n}\n","import { Primitive } from '@sentry/types';\n\nimport { isError, isEvent, isNaN, isSyntheticEvent } from './is';\nimport { memoBuilder, MemoFunc } from './memo';\nimport { convertToPlainObject } from './object';\nimport { getFunctionName } from './stacktrace';\n\ntype Prototype = { constructor: (...args: unknown[]) => unknown };\n// This is a hack to placate TS, relying on the fact that technically, arrays are objects with integer keys. Normally we\n// think of those keys as actual numbers, but `arr['0']` turns out to work just as well as `arr[0]`, and doing it this\n// way lets us use a single type in the places where behave as if we are only dealing with objects, even if some of them\n// might be arrays.\ntype ObjOrArray = { [key: string]: T };\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output..\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\nexport function normalize(input: unknown, depth: number = +Infinity, maxProperties: number = +Infinity): any {\n try {\n // since we're at the outermost level, there is no key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nexport function normalizeToSize(\n object: { [key: string]: any },\n // Default Node.js REPL depth\n depth: number = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize: number = 100 * 1024,\n): T {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized as T;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key: string,\n value: unknown,\n depth: number = +Infinity,\n maxProperties: number = +Infinity,\n memo: MemoFunc = memoBuilder(),\n): Primitive | ObjOrArray {\n const [memoize, unmemoize] = memo;\n\n // If the value has a `toJSON` method, see if we can bail and let it do the work\n const valueWithToJSON = value as unknown & { toJSON?: () => Primitive | ObjOrArray };\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n return valueWithToJSON.toJSON();\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // Get the simple cases out of the way first\n if (value === null || (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))) {\n return value as Primitive;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // We're also done if we've reached the max depth\n if (depth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) as ObjOrArray;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = (isError(value) || isEvent(value) ? convertToPlainObject(value) : value) as ObjOrArray;\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, depth - 1, maxProperties, memo);\n\n numAdded += 1;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n// TODO remove this in v7 (this means the method will no longer be exported, under any name)\nexport { visit as walk };\n\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key: unknown,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value: Exclude,\n): string {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value as { _events: unknown })._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n // this catches `undefined` (but not `null`, which is a primitive and can be serialized on its own)\n if (value === void 0) {\n return '[undefined]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n return `[object ${(Object.getPrototypeOf(value) as Prototype).constructor.name}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value: string): number {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\nfunction jsonSize(value: any): number {\n return utf8Length(JSON.stringify(value));\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type MemoFunc = [\n // memoize\n (obj: any) => boolean,\n // unmemoize\n (obj: any) => void,\n];\n\n/**\n * Helper to decycle json objects\n */\nexport function memoBuilder(): MemoFunc {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner: any = hasWeakSet ? new WeakSet() : [];\n function memoize(obj: any): boolean {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj: any): void {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n","import { StackFrame } from '@sentry/types';\nimport { StackLineParser, StackLineParserFn } from '@sentry/utils';\n\n// global reference to slice\nconst UNKNOWN_FUNCTION = '?';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\n\nfunction createFrame(filename: string, func: string, lineno?: number, colno?: number): StackFrame {\n const frame: StackFrame = {\n filename,\n function: func,\n // All browser frames are considered in_app\n in_app: true,\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nconst chromeRegex =\n /^\\s*at (?:(.*?) ?\\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nconst chrome: StackLineParserFn = line => {\n const parts = chromeRegex.exec(line);\n\n if (parts) {\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n const subMatch = chromeEvalRegex.exec(parts[2]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n parts[3] = subMatch[2]; // line\n parts[4] = subMatch[3]; // column\n }\n }\n\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nexport const chromeStackParser: StackLineParser = [CHROME_PRIORITY, chrome];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nconst gecko: StackLineParserFn = line => {\n const parts = geckoREgex.exec(line);\n\n if (parts) {\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n const subMatch = geckoEvalRegex.exec(parts[3]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nexport const geckoStackParser: StackLineParser = [GECKO_PRIORITY, gecko];\n\nconst winjsRegex =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nconst winjs: StackLineParserFn = line => {\n const parts = winjsRegex.exec(line);\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nexport const winjsStackParser: StackLineParser = [WINJS_PRIORITY, winjs];\n\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nconst opera10: StackLineParserFn = line => {\n const parts = opera10Regex.exec(line);\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nexport const opera10StackParser: StackLineParser = [OPERA10_PRIORITY, opera10];\n\nconst opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nconst opera11: StackLineParserFn = line => {\n const parts = opera11Regex.exec(line);\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nexport const opera11StackParser: StackLineParser = [OPERA11_PRIORITY, opera11];\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nconst extractSafariExtensionDetails = (func: string, filename: string): [string, string] => {\n const isSafariExtension = func.indexOf('safari-extension') !== -1;\n const isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n","import { Event, EventHint, Exception, Severity, StackFrame } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n createStackParser,\n extractExceptionKeysForMessage,\n isDOMError,\n isDOMException,\n isError,\n isErrorEvent,\n isEvent,\n isPlainObject,\n normalizeToSize,\n resolvedSyncPromise,\n} from '@sentry/utils';\n\nimport {\n chromeStackParser,\n geckoStackParser,\n opera10StackParser,\n opera11StackParser,\n winjsStackParser,\n} from './stack-parsers';\n\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromError(ex: Error): Exception {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n const frames = parseStackFrames(ex);\n\n const exception: Exception = {\n type: ex && ex.name,\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\n/**\n * @hidden\n */\nexport function eventFromPlainObject(\n exception: Record,\n syntheticException?: Error,\n isUnhandledRejection?: boolean,\n): Event {\n const event: Event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: `Non-Error ${\n isUnhandledRejection ? 'promise rejection' : 'exception'\n } captured with keys: ${extractExceptionKeysForMessage(exception)}`,\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n\n if (syntheticException) {\n const frames = parseStackFrames(syntheticException);\n if (frames.length) {\n event.stacktrace = { frames };\n }\n }\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromError(ex: Error): Event {\n return {\n exception: {\n values: [exceptionFromError(ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nexport function parseStackFrames(ex: Error & { framesToPop?: number; stacktrace?: string }): StackFrame[] {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n const stacktrace = ex.stacktrace || ex.stack || '';\n\n const popSize = getPopSize(ex);\n\n try {\n return createStackParser(\n opera10StackParser,\n opera11StackParser,\n chromeStackParser,\n winjsStackParser,\n geckoStackParser,\n )(stacktrace, popSize);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\nfunction getPopSize(ex: Error & { framesToPop?: number }): number {\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n if (reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n }\n\n return 0;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex: Error & { message: { error?: Error } }): string {\n const message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nexport function eventFromException(\n exception: unknown,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromUnknownInput(exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(\n message: string,\n level: Severity = Severity.Info,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromString(message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(\n exception: unknown,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n isUnhandledRejection?: boolean,\n): Event {\n let event: Event;\n\n if (isErrorEvent(exception as ErrorEvent) && (exception as ErrorEvent).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n const errorEvent = exception as ErrorEvent;\n return eventFromError(errorEvent.error as Error);\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception as DOMError) || isDOMException(exception as DOMException)) {\n const domException = exception as DOMException;\n\n if ('stack' in (exception as Error)) {\n event = eventFromError(exception as Error);\n } else {\n const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n const message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n const objectException = exception as Record;\n event = eventFromPlainObject(objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception as string, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromString(input: string, syntheticException?: Error, attachStacktrace?: boolean): Event {\n const event: Event = {\n message: input,\n };\n\n if (attachStacktrace && syntheticException) {\n const frames = parseStackFrames(syntheticException);\n if (frames.length) {\n event.stacktrace = { frames };\n }\n }\n\n return event;\n}\n","/*\n * This file defines flags and constants that can be modified during compile time in order to facilitate tree shaking\n * for users.\n *\n * Debug flags need to be declared in each package individually and must not be imported across package boundaries,\n * because some build tools have trouble tree-shaking imported guards.\n *\n * As a convention, we define debug flags in a `flags.ts` file in the root of a package's `src` folder.\n *\n * Debug flag files will contain \"magic strings\" like `__SENTRY_DEBUG__` that may get replaced with actual values during\n * our, or the user's build process. Take care when introducing new flags - they must not throw if they are not\n * replaced.\n */\n\ndeclare const __SENTRY_DEBUG__: boolean;\n\n/** Flag that is true for debug builds, false otherwise. */\nexport const IS_DEBUG_BUILD = typeof __SENTRY_DEBUG__ === 'undefined' ? true : __SENTRY_DEBUG__;\n","import { getCurrentHub, Hub, Scope } from '@sentry/hub';\nimport {\n Breadcrumb,\n CaptureContext,\n CustomSamplingContext,\n Event,\n Extra,\n Extras,\n Primitive,\n Severity,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\n\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction callOnHub(method: string, ...args: any[]): T {\n const hub = getCurrentHub();\n if (hub && hub[method as keyof Hub]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (hub[method as keyof Hub] as any)(...args);\n }\n throw new Error(`No hub defined or ${method} was not found on the hub, please open a bug report.`);\n}\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function captureException(exception: any, captureContext?: CaptureContext): string {\n const syntheticException = new Error('Sentry syntheticException');\n\n return callOnHub('captureException', exception, {\n captureContext,\n originalException: exception,\n syntheticException,\n });\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param Severity Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message: string, captureContext?: CaptureContext | Severity): string {\n const syntheticException = new Error(message);\n\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n\n return callOnHub('captureMessage', message, level, {\n originalException: message,\n syntheticException,\n ...context,\n });\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event: Event): string {\n return callOnHub('captureEvent', event);\n}\n\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback: (scope: Scope) => void): void {\n callOnHub('configureScope', callback);\n}\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb: Breadcrumb): void {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name: string, context: { [key: string]: any } | null): void {\n callOnHub('setContext', name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras: Extras): void {\n callOnHub('setExtras', extras);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags: { [key: string]: Primitive }): void {\n callOnHub('setTags', tags);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key: string, extra: Extra): void {\n callOnHub('setExtra', key, extra);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nexport function setTag(key: string, value: Primitive): void {\n callOnHub('setTag', key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user: User | null): void {\n callOnHub('setUser', user);\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback: (scope: Scope) => void): void {\n callOnHub('withScope', callback);\n}\n\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function _callOnClient(method: string, ...args: any[]): void {\n callOnHub('_invokeClient', method, ...args);\n}\n\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nexport function startTransaction(\n context: TransactionContext,\n customSamplingContext?: CustomSamplingContext,\n): Transaction {\n return callOnHub('startTransaction', { ...context }, customSamplingContext);\n}\n","export const setPrototypeOf =\n Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties);\n\n/**\n * setPrototypeOf polyfill using __proto__\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction setProtoOf(obj: TTarget, proto: TProto): TTarget & TProto {\n // @ts-ignore __proto__ does not exist on obj\n obj.__proto__ = proto;\n return obj as TTarget & TProto;\n}\n\n/**\n * setPrototypeOf polyfill using mixin\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction mixinProperties(obj: TTarget, proto: TProto): TTarget & TProto {\n for (const prop in proto) {\n if (!Object.prototype.hasOwnProperty.call(obj, prop)) {\n // @ts-ignore typescript complains about indexing so we remove\n obj[prop] = proto[prop];\n }\n }\n\n return obj as TTarget & TProto;\n}\n","import { setPrototypeOf } from './polyfill';\n\n/** An error emitted by Sentry SDKs and related utilities. */\nexport class SentryError extends Error {\n /** Display name of this error instance. */\n public name: string;\n\n public constructor(public message: string) {\n super(message);\n\n this.name = new.target.prototype.constructor.name;\n setPrototypeOf(this, new.target.prototype);\n }\n}\n","import { DsnComponents, DsnLike, DsnProtocol } from '@sentry/types';\n\nimport { SentryError } from './error';\nimport { IS_DEBUG_BUILD } from './flags';\n\n/** Regular expression used to parse a Dsn. */\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol?: string): protocol is DsnProtocol {\n return protocol === 'http' || protocol === 'https';\n}\n\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\nexport function dsnToString(dsn: DsnComponents, withPassword: boolean = false): string {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return (\n `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n}\n\nfunction dsnFromString(str: string): DsnComponents {\n const match = DSN_REGEX.exec(str);\n\n if (!match) {\n throw new SentryError(`Invalid Sentry Dsn: ${str}`);\n }\n\n const [protocol, publicKey, pass = '', host, port = '', lastPath] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n const split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() as string;\n }\n\n if (projectId) {\n const projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol as DsnProtocol, publicKey });\n}\n\nfunction dsnFromComponents(components: DsnComponents): DsnComponents {\n // TODO this is for backwards compatibility, and can be removed in a future version\n if ('user' in components && !('publicKey' in components)) {\n components.publicKey = components.user;\n }\n\n return {\n user: components.publicKey || '',\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId,\n };\n}\n\nfunction validateDsn(dsn: DsnComponents): boolean | void {\n if (!IS_DEBUG_BUILD) {\n return;\n }\n\n const { port, projectId, protocol } = dsn;\n\n const requiredComponents: ReadonlyArray = ['protocol', 'publicKey', 'host', 'projectId'];\n requiredComponents.forEach(component => {\n if (!dsn[component]) {\n throw new SentryError(`Invalid Sentry Dsn: ${component} missing`);\n }\n });\n\n if (!projectId.match(/^\\d+$/)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n }\n\n if (!isValidProtocol(protocol)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid port ${port}`);\n }\n\n return true;\n}\n\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nexport function makeDsn(from: DsnLike): DsnComponents {\n const components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n\n validateDsn(components);\n\n return components;\n}\n","import { DsnComponents, DsnLike, SdkMetadata } from '@sentry/types';\nimport { dsnToString, makeDsn, urlEncode } from '@sentry/utils';\n\nconst SENTRY_API_VERSION = '7';\n\n/**\n * Stores details about a Sentry SDK\n */\nexport interface APIDetails {\n /** The DSN as passed to Sentry.init() */\n initDsn: DsnLike;\n /** Metadata about the SDK (name, version, etc) for inclusion in envelope headers */\n metadata: SdkMetadata;\n /** The internally used Dsn object. */\n readonly dsn: DsnComponents;\n /** The envelope tunnel to use. */\n readonly tunnel?: string;\n}\n\n/**\n * Helper class to provide urls, headers and metadata that can be used to form\n * different types of requests to Sentry endpoints.\n * Supports both envelopes and regular event requests.\n *\n * @deprecated Please use APIDetails\n **/\nexport class API {\n /** The DSN as passed to Sentry.init() */\n public dsn: DsnLike;\n\n /** Metadata about the SDK (name, version, etc) for inclusion in envelope headers */\n public metadata: SdkMetadata;\n\n /** The internally used Dsn object. */\n private readonly _dsnObject: DsnComponents;\n\n /** The envelope tunnel to use. */\n private readonly _tunnel?: string;\n\n /** Create a new instance of API */\n public constructor(dsn: DsnLike, metadata: SdkMetadata = {}, tunnel?: string) {\n this.dsn = dsn;\n this._dsnObject = makeDsn(dsn);\n this.metadata = metadata;\n this._tunnel = tunnel;\n }\n\n /** Returns the Dsn object. */\n public getDsn(): DsnComponents {\n return this._dsnObject;\n }\n\n /** Does this transport force envelopes? */\n public forceEnvelope(): boolean {\n return !!this._tunnel;\n }\n\n /** Returns the prefix to construct Sentry ingestion API endpoints. */\n public getBaseApiEndpoint(): string {\n return getBaseApiEndpoint(this._dsnObject);\n }\n\n /** Returns the store endpoint URL. */\n public getStoreEndpoint(): string {\n return getStoreEndpoint(this._dsnObject);\n }\n\n /**\n * Returns the store endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n public getStoreEndpointWithUrlEncodedAuth(): string {\n return getStoreEndpointWithUrlEncodedAuth(this._dsnObject);\n }\n\n /**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n public getEnvelopeEndpointWithUrlEncodedAuth(): string {\n return getEnvelopeEndpointWithUrlEncodedAuth(this._dsnObject, this._tunnel);\n }\n}\n\n/** Initializes API Details */\nexport function initAPIDetails(dsn: DsnLike, metadata?: SdkMetadata, tunnel?: string): APIDetails {\n return {\n initDsn: dsn,\n metadata: metadata || {},\n dsn: makeDsn(dsn),\n tunnel,\n } as APIDetails;\n}\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn: DsnComponents): string {\n const protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n const port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn: DsnComponents, target: 'store' | 'envelope'): string {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/${target}/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn: DsnComponents): string {\n return urlEncode({\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.publicKey,\n sentry_version: SENTRY_API_VERSION,\n });\n}\n\n/** Returns the store endpoint URL. */\nfunction getStoreEndpoint(dsn: DsnComponents): string {\n return _getIngestEndpoint(dsn, 'store');\n}\n\n/**\n * Returns the store endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nexport function getStoreEndpointWithUrlEncodedAuth(dsn: DsnComponents): string {\n return `${getStoreEndpoint(dsn)}?${_encodedAuth(dsn)}`;\n}\n\n/** Returns the envelope endpoint URL. */\nfunction _getEnvelopeEndpoint(dsn: DsnComponents): string {\n return _getIngestEndpoint(dsn, 'envelope');\n}\n\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nexport function getEnvelopeEndpointWithUrlEncodedAuth(dsn: DsnComponents, tunnel?: string): string {\n return tunnel ? tunnel : `${_getEnvelopeEndpoint(dsn)}?${_encodedAuth(dsn)}`;\n}\n\n/**\n * Returns an object that can be used in request headers.\n * This is needed for node and the old /store endpoint in sentry\n */\nexport function getRequestHeaders(\n dsn: DsnComponents,\n clientName: string,\n clientVersion: string,\n): { [key: string]: string } {\n // CHANGE THIS to use metadata but keep clientName and clientVersion compatible\n const header = [`Sentry sentry_version=${SENTRY_API_VERSION}`];\n header.push(`sentry_client=${clientName}/${clientVersion}`);\n header.push(`sentry_key=${dsn.publicKey}`);\n if (dsn.pass) {\n header.push(`sentry_secret=${dsn.pass}`);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', '),\n };\n}\n\n/** Returns the url to the report dialog endpoint. */\nexport function getReportDialogEndpoint(\n dsnLike: DsnLike,\n dialogOptions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n user?: { name?: string; email?: string };\n },\n): string {\n const dsn = makeDsn(dsnLike);\n const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (const key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions += `&name=${encodeURIComponent(dialogOptions.user.name)}`;\n }\n if (dialogOptions.user.email) {\n encodedOptions += `&email=${encodeURIComponent(dialogOptions.user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] as string)}`;\n }\n }\n\n return `${endpoint}?${encodedOptions}`;\n}\n","import { captureException, getReportDialogEndpoint, withScope } from '@sentry/core';\nimport { DsnLike, Event as SentryEvent, Mechanism, Scope, WrappedFunction } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n addNonEnumerableProperty,\n getGlobalObject,\n getOriginalFunction,\n logger,\n markFunctionWrapped,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\n\nconst global = getGlobalObject();\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(() => {\n ignoreOnError -= 1;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(\n fn: WrappedFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n before?: WrappedFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n return wrapper;\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n /* eslint-disable prefer-rest-params */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const sentryWrapped: WrappedFunction = function (this: any): void {\n const args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const wrappedArguments = args.map((arg: any) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope((scope: Scope) => {\n scope.addEventProcessor((event: SentryEvent) => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') as PropertyDescriptor;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(): void;\n}\n\n/**\n * Injects the Report Dialog script\n * @hidden\n */\nexport function injectReportDialog(options: ReportDialogOptions = {}): void {\n if (!global.document) {\n return;\n }\n\n if (!options.eventId) {\n IS_DEBUG_BUILD && logger.error('Missing eventId option in showReportDialog call');\n return;\n }\n\n if (!options.dsn) {\n IS_DEBUG_BUILD && logger.error('Missing dsn option in showReportDialog call');\n return;\n }\n\n const script = global.document.createElement('script');\n script.async = true;\n script.src = getReportDialogEndpoint(options.dsn, options);\n\n if (options.onLoad) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n script.onload = options.onLoad;\n }\n\n const injectionPoint = global.document.head || global.document.body;\n\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Hub, Integration, Primitive, Severity } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addInstrumentationHandler,\n getLocationHref,\n isErrorEvent,\n isPrimitive,\n isString,\n logger,\n} from '@sentry/utils';\n\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { IS_DEBUG_BUILD } from '../flags';\nimport { shouldIgnoreOnError } from '../helpers';\n\ntype GlobalHandlersIntegrationsOptionKeys = 'onerror' | 'onunhandledrejection';\n\n/** JSDoc */\ntype GlobalHandlersIntegrations = Record;\n\n/** Global handlers */\nexport class GlobalHandlers implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'GlobalHandlers';\n\n /**\n * @inheritDoc\n */\n public name: string = GlobalHandlers.id;\n\n /** JSDoc */\n private readonly _options: GlobalHandlersIntegrations;\n\n /**\n * Stores references functions to installing handlers. Will set to undefined\n * after they have been run so that they are not used twice.\n */\n private _installFunc: Record void) | undefined> = {\n onerror: _installGlobalOnErrorHandler,\n onunhandledrejection: _installGlobalOnUnhandledRejectionHandler,\n };\n\n /** JSDoc */\n public constructor(options?: GlobalHandlersIntegrations) {\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n }\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n Error.stackTraceLimit = 50;\n const options = this._options;\n\n // We can disable guard-for-in as we construct the options object above + do checks against\n // `this._installFunc` for the property.\n // eslint-disable-next-line guard-for-in\n for (const key in options) {\n const installFunc = this._installFunc[key as GlobalHandlersIntegrationsOptionKeys];\n if (installFunc && options[key as GlobalHandlersIntegrationsOptionKeys]) {\n globalHandlerLog(key);\n installFunc();\n this._installFunc[key as GlobalHandlersIntegrationsOptionKeys] = undefined;\n }\n }\n }\n}\n\n/** JSDoc */\nfunction _installGlobalOnErrorHandler(): void {\n addInstrumentationHandler(\n 'error',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data: { msg: any; url: any; line: any; column: any; error: any }) => {\n const [hub, attachStacktrace] = getHubAndAttachStacktrace();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n const { msg, url, line, column, error } = data;\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return;\n }\n\n const event =\n error === undefined && isString(msg)\n ? _eventFromIncompleteOnError(msg, url, line, column)\n : _enhanceEventWithInitialFrame(\n eventFromUnknownInput(error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = Severity.Error;\n\n addMechanismAndCapture(hub, error, event, 'onerror');\n },\n );\n}\n\n/** JSDoc */\nfunction _installGlobalOnUnhandledRejectionHandler(): void {\n addInstrumentationHandler(\n 'unhandledrejection',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (e: any) => {\n const [hub, attachStacktrace] = getHubAndAttachStacktrace();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n let error = e;\n\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {\n // no-empty\n }\n\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return true;\n }\n\n const event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(error, undefined, attachStacktrace, true);\n\n event.level = Severity.Error;\n\n addMechanismAndCapture(hub, error, event, 'onunhandledrejection');\n return;\n },\n );\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason: Primitive): Event {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n}\n\n/**\n * This function creates a stack from an old, error-less onerror handler.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _eventFromIncompleteOnError(msg: any, url: any, line: any, column: any): Event {\n const ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n\n // If 'message' is ErrorEvent, get real message from inside\n let message = isErrorEvent(msg) ? msg.message : msg;\n let name = 'Error';\n\n const groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n\n const event = {\n exception: {\n values: [\n {\n type: name,\n value: message,\n },\n ],\n },\n };\n\n return _enhanceEventWithInitialFrame(event, url, line, column);\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _enhanceEventWithInitialFrame(event: Event, url: any, line: any, column: any): Event {\n // event.exception\n const e = (event.exception = event.exception || {});\n // event.exception.values\n const ev = (e.values = e.values || []);\n // event.exception.values[0]\n const ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n const ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n const ev0sf = (ev0s.frames = ev0s.frames || []);\n\n const colno = isNaN(parseInt(column, 10)) ? undefined : column;\n const lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n const filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: '?',\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type: string): void {\n IS_DEBUG_BUILD && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction addMechanismAndCapture(hub: Hub, error: EventHint['originalException'], event: Event, type: string): void {\n addExceptionMechanism(event, {\n handled: false,\n type,\n });\n hub.captureEvent(event, {\n originalException: error,\n });\n}\n\nfunction getHubAndAttachStacktrace(): [Hub, boolean | undefined] {\n const hub = getCurrentHub();\n const client = hub.getClient();\n const attachStacktrace = client && client.getOptions().attachStacktrace;\n return [hub, attachStacktrace];\n}\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { fill, getFunctionName, getGlobalObject, getOriginalFunction } from '@sentry/utils';\n\nimport { wrap } from '../helpers';\n\nconst DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\ntype XMLHttpRequestProp = 'onload' | 'onerror' | 'onprogress' | 'onreadystatechange';\n\n/** JSDoc */\ninterface TryCatchOptions {\n setTimeout: boolean;\n setInterval: boolean;\n requestAnimationFrame: boolean;\n XMLHttpRequest: boolean;\n eventTarget: boolean | string[];\n}\n\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nexport class TryCatch implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'TryCatch';\n\n /**\n * @inheritDoc\n */\n public name: string = TryCatch.id;\n\n /** JSDoc */\n private readonly _options: TryCatchOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n }\n\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n public setupOnce(): void {\n const global = getGlobalObject();\n\n if (this._options.setTimeout) {\n fill(global, 'setTimeout', _wrapTimeFunction);\n }\n\n if (this._options.setInterval) {\n fill(global, 'setInterval', _wrapTimeFunction);\n }\n\n if (this._options.requestAnimationFrame) {\n fill(global, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n const eventTargetOption = this._options.eventTarget;\n if (eventTargetOption) {\n const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n }\n}\n\n/** JSDoc */\nfunction _wrapTimeFunction(original: () => void): () => number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: any[]): number {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _wrapRAF(original: any): (callback: () => void) => any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, callback: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\n/** JSDoc */\nfunction _wrapXHR(originalSend: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: XMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const xmlHttpRequestProps: XMLHttpRequestProp[] = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original: WrappedFunction): () => any {\n const wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before TryCatch, get the name of original function\n const originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\n/** JSDoc */\nfunction _wrapEventTarget(target: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const global = getGlobalObject() as { [key: string]: any };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = global[target] && global[target].prototype;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original: () => void): (\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ) => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): (eventName: string, fn: EventListenerObject, capture?: boolean, secure?: boolean) => void {\n try {\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn as any as WrappedFunction, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (\n originalRemoveEventListener: () => void,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): (this: any, eventName: string, fn: EventListenerObject, options?: boolean | EventListenerOptions) => () => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n const wrappedEventHandler = fn as unknown as WrappedFunction;\n try {\n const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n },\n );\n}\n","export const SeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug', 'critical'] as const;\nexport type SeverityLevel = typeof SeverityLevels[number];\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable max-lines */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, Integration, Severity } from '@sentry/types';\nimport {\n addInstrumentationHandler,\n getEventDescription,\n getGlobalObject,\n htmlTreeAsString,\n parseUrl,\n safeJoin,\n severityFromString,\n} from '@sentry/utils';\n\n/** JSDoc */\ninterface BreadcrumbsOptions {\n console: boolean;\n dom: boolean | { serializeAttribute: string | string[] };\n fetch: boolean;\n history: boolean;\n sentry: boolean;\n xhr: boolean;\n}\n\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nexport class Breadcrumbs implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Breadcrumbs';\n\n /**\n * @inheritDoc\n */\n public name: string = Breadcrumbs.id;\n\n /** JSDoc */\n private readonly _options: BreadcrumbsOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n }\n\n /**\n * Create a breadcrumb of `sentry` from the events themselves\n */\n public addSentryBreadcrumb(event: Event): void {\n if (!this._options.sentry) {\n return;\n }\n getCurrentHub().addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n }\n\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n public setupOnce(): void {\n if (this._options.console) {\n addInstrumentationHandler('console', _consoleBreadcrumb);\n }\n if (this._options.dom) {\n addInstrumentationHandler('dom', _domBreadcrumb(this._options.dom));\n }\n if (this._options.xhr) {\n addInstrumentationHandler('xhr', _xhrBreadcrumb);\n }\n if (this._options.fetch) {\n addInstrumentationHandler('fetch', _fetchBreadcrumb);\n }\n if (this._options.history) {\n addInstrumentationHandler('history', _historyBreadcrumb);\n }\n }\n}\n\n/**\n * A HOC that creaes a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _domBreadcrumb(dom: BreadcrumbsOptions['dom']): (handlerData: { [key: string]: any }) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _innerDomBreadcrumb(handlerData: { [key: string]: any }): void {\n let target;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target as Node, keyAttrs)\n : htmlTreeAsString(handlerData.event as unknown as Node, keyAttrs);\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n getCurrentHub().addBreadcrumb(\n {\n category: `ui.${handlerData.name}`,\n message: target,\n },\n {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n },\n );\n }\n\n return _innerDomBreadcrumb;\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _consoleBreadcrumb(handlerData: { [key: string]: any }): void {\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _xhrBreadcrumb(handlerData: { [key: string]: any }): void {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n\n const { method, url, status_code, body } = handlerData.xhr.__sentry_xhr__ || {};\n\n getCurrentHub().addBreadcrumb(\n {\n category: 'xhr',\n data: {\n method,\n url,\n status_code,\n },\n type: 'http',\n },\n {\n xhr: handlerData.xhr,\n input: body,\n },\n );\n\n return;\n }\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _fetchBreadcrumb(handlerData: { [key: string]: any }): void {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: handlerData.fetchData,\n level: Severity.Error,\n type: 'http',\n },\n {\n data: handlerData.error,\n input: handlerData.args,\n },\n );\n } else {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: {\n ...handlerData.fetchData,\n status_code: handlerData.response.status,\n },\n type: 'http',\n },\n {\n input: handlerData.args,\n response: handlerData.response,\n },\n );\n }\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _historyBreadcrumb(handlerData: { [key: string]: any }): void {\n const global = getGlobalObject();\n let from = handlerData.from;\n let to = handlerData.to;\n const parsedLoc = parseUrl(global.location.href);\n let parsedFrom = parseUrl(from);\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Exception, ExtendedError, Integration } from '@sentry/types';\nimport { isInstanceOf } from '@sentry/utils';\n\nimport { exceptionFromError } from '../eventbuilder';\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\ninterface LinkedErrorsOptions {\n key: string;\n limit: number;\n}\n\n/** Adds SDK info to an event. */\nexport class LinkedErrors implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'LinkedErrors';\n\n /**\n * @inheritDoc\n */\n public readonly name: string = LinkedErrors.id;\n\n /**\n * @inheritDoc\n */\n private readonly _key: LinkedErrorsOptions['key'];\n\n /**\n * @inheritDoc\n */\n private readonly _limit: LinkedErrorsOptions['limit'];\n\n /**\n * @inheritDoc\n */\n public constructor(options: Partial = {}) {\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event, hint?: EventHint) => {\n const self = getCurrentHub().getIntegration(LinkedErrors);\n return self ? _handler(self._key, self._limit, event, hint) : event;\n });\n }\n}\n\n/**\n * @inheritDoc\n */\nexport function _handler(key: string, limit: number, event: Event, hint?: EventHint): Event | null {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n const linkedErrors = _walkErrorTree(limit, hint.originalException as ExtendedError, key);\n event.exception.values = [...linkedErrors, ...event.exception.values];\n return event;\n}\n\n/**\n * JSDOC\n */\nexport function _walkErrorTree(limit: number, error: ExtendedError, key: string, stack: Exception[] = []): Exception[] {\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= limit) {\n return stack;\n }\n const exception = exceptionFromError(error[key]);\n return _walkErrorTree(limit, error[key], key, [exception, ...stack]);\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, Integration } from '@sentry/types';\nimport { getGlobalObject } from '@sentry/utils';\n\nconst global = getGlobalObject();\n\n/** UserAgent */\nexport class UserAgent implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'UserAgent';\n\n /**\n * @inheritDoc\n */\n public name: string = UserAgent.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n if (getCurrentHub().getIntegration(UserAgent)) {\n // if none of the information we want exists, don't bother\n if (!global.navigator && !global.location && !global.document) {\n return event;\n }\n\n // grab as much info as exists and add it to the event\n const url = (event.request && event.request.url) || (global.location && global.location.href);\n const { referrer } = global.document || {};\n const { userAgent } = global.navigator || {};\n\n const headers = {\n ...(event.request && event.request.headers),\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = { ...(url && { url }), headers };\n\n return { ...event, request };\n }\n return event;\n });\n }\n}\n","import { Event, EventProcessor, Exception, Hub, Integration, StackFrame } from '@sentry/types';\nimport { logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\n/** Deduplication filter */\nexport class Dedupe implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Dedupe';\n\n /**\n * @inheritDoc\n */\n public name: string = Dedupe.id;\n\n /**\n * @inheritDoc\n */\n private _previousEvent?: Event;\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (callback: EventProcessor) => void, getCurrentHub: () => Hub): void {\n addGlobalEventProcessor((currentEvent: Event) => {\n const self = getCurrentHub().getIntegration(Dedupe);\n if (self) {\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, self._previousEvent)) {\n IS_DEBUG_BUILD && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {\n return (self._previousEvent = currentEvent);\n }\n\n return (self._previousEvent = currentEvent);\n }\n return currentEvent;\n });\n }\n}\n\n/** JSDoc */\nfunction _shouldDropEvent(currentEvent: Event, previousEvent?: Event): boolean {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\n/** JSDoc */\nfunction _isSameMessageEvent(currentEvent: Event, previousEvent: Event): boolean {\n const currentMessage = currentEvent.message;\n const previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameExceptionEvent(currentEvent: Event, previousEvent: Event): boolean {\n const previousException = _getExceptionFromEvent(previousEvent);\n const currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameStacktrace(currentEvent: Event, previousEvent: Event): boolean {\n let currentFrames = _getFramesFromEvent(currentEvent);\n let previousFrames = _getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n return false;\n }\n\n currentFrames = currentFrames as StackFrame[];\n previousFrames = previousFrames as StackFrame[];\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n const frameA = previousFrames[i];\n const frameB = currentFrames[i];\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameFingerprint(currentEvent: Event, previousEvent: Event): boolean {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n\n // If only one event has a fingerprint, but not the other one, they are not the same\n if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n return false;\n }\n\n currentFingerprint = currentFingerprint as string[];\n previousFingerprint = previousFingerprint as string[];\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\n/** JSDoc */\nfunction _getExceptionFromEvent(event: Event): Exception | undefined {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n\n/** JSDoc */\nfunction _getFramesFromEvent(event: Event): StackFrame[] | undefined {\n const exception = event.exception;\n\n if (exception) {\n try {\n // @ts-ignore Object could be undefined\n return exception.values[0].stacktrace.frames;\n } catch (_oO) {\n return undefined;\n }\n } else if (event.stacktrace) {\n return event.stacktrace.frames;\n }\n return undefined;\n}\n","export * from './exports';\n\nimport { Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\n\nimport * as BrowserIntegrations from './integrations';\nimport * as Transports from './transports';\n\nlet windowIntegrations = {};\n\n// This block is needed to add compatibility with the integrations packages when used with a CDN\nconst _window = getGlobalObject();\nif (_window.Sentry && _window.Sentry.Integrations) {\n windowIntegrations = _window.Sentry.Integrations;\n}\n\nconst INTEGRATIONS = {\n ...windowIntegrations,\n ...CoreIntegrations,\n ...BrowserIntegrations,\n};\n\nexport { INTEGRATIONS as Integrations, Transports };\n","export const SDK_VERSION = '6.19.7';\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { Integration, Options } from '@sentry/types';\nimport { addNonEnumerableProperty, logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\n\nexport const installedIntegrations: string[] = [];\n\n/** Map of integrations assigned to a client */\nexport type IntegrationIndex = {\n [key: string]: Integration;\n} & { initialized?: boolean };\n\n/**\n * @private\n */\nfunction filterDuplicates(integrations: Integration[]): Integration[] {\n return integrations.reduce((acc, integrations) => {\n if (acc.every(accIntegration => integrations.name !== accIntegration.name)) {\n acc.push(integrations);\n }\n return acc;\n }, [] as Integration[]);\n}\n\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options: Options): Integration[] {\n const defaultIntegrations = (options.defaultIntegrations && [...options.defaultIntegrations]) || [];\n const userIntegrations = options.integrations;\n\n let integrations: Integration[] = [...filterDuplicates(defaultIntegrations)];\n\n if (Array.isArray(userIntegrations)) {\n // Filter out integrations that are also included in user options\n integrations = [\n ...integrations.filter(integrations =>\n userIntegrations.every(userIntegration => userIntegration.name !== integrations.name),\n ),\n // And filter out duplicated user options integrations\n ...filterDuplicates(userIntegrations),\n ];\n } else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(integrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n\n // Make sure that if present, `Debug` integration will always run last\n const integrationsNames = integrations.map(i => i.name);\n const alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push(...integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1));\n }\n\n return integrations;\n}\n\n/** Setup given integration */\nexport function setupIntegration(integration: Integration): void {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n IS_DEBUG_BUILD && logger.log(`Integration installed: ${integration.name}`);\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options: O): IntegrationIndex {\n const integrations: IntegrationIndex = {};\n getIntegrationsToSetup(options).forEach(integration => {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n // set the `initialized` flag so we don't run through the process again unecessarily; use `Object.defineProperty`\n // because by default it creates a property which is nonenumerable, which we want since `initialized` shouldn't be\n // considered a member of the index the way the actual integrations are\n addNonEnumerableProperty(integrations, 'initialized', true);\n return integrations;\n}\n","/* eslint-disable max-lines */\nimport { Scope, Session } from '@sentry/hub';\nimport {\n Client,\n DsnComponents,\n Event,\n EventHint,\n Integration,\n IntegrationClass,\n Options,\n Severity,\n Transport,\n} from '@sentry/types';\nimport {\n checkOrSetAlreadyCaught,\n dateTimestampInSeconds,\n isPlainObject,\n isPrimitive,\n isThenable,\n logger,\n makeDsn,\n normalize,\n rejectedSyncPromise,\n resolvedSyncPromise,\n SentryError,\n SyncPromise,\n truncate,\n uuid4,\n} from '@sentry/utils';\n\nimport { Backend, BackendClass } from './basebackend';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { IntegrationIndex, setupIntegrations } from './integration';\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nexport abstract class BaseClient implements Client {\n /**\n * The backend used to physically interact in the environment. Usually, this\n * will correspond to the client. When composing SDKs, however, the Backend\n * from the root SDK will be used.\n */\n protected readonly _backend: B;\n\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n protected readonly _dsn?: DsnComponents;\n\n /** Array of used integrations. */\n protected _integrations: IntegrationIndex = {};\n\n /** Number of calls being processed */\n protected _numProcessing: number = 0;\n\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n protected constructor(backendClass: BackendClass, options: O) {\n this._backend = new backendClass(options);\n this._options = options;\n\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n }\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint, scope?: Scope): string | undefined {\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n IS_DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this._getBackend()\n .eventFromException(exception, hint)\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: Severity, hint?: EventHint, scope?: Scope): string | undefined {\n let eventId: string | undefined = hint && hint.event_id;\n\n const promisedEvent = isPrimitive(message)\n ? this._getBackend().eventFromMessage(String(message), level, hint)\n : this._getBackend().eventFromException(message, hint);\n\n this._process(\n promisedEvent\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint, scope?: Scope): string | undefined {\n // ensure we haven't captured this very object before\n if (hint && hint.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n IS_DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this._captureEvent(event, hint, scope).then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(session: Session): void {\n if (!this._isEnabled()) {\n IS_DEBUG_BUILD && logger.warn('SDK not enabled, will not capture session.');\n return;\n }\n\n if (!(typeof session.release === 'string')) {\n IS_DEBUG_BUILD && logger.warn('Discarded session because of missing or non-string release');\n } else {\n this._sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n session.update({ init: false });\n }\n }\n\n /**\n * @inheritDoc\n */\n public getDsn(): DsnComponents | undefined {\n return this._dsn;\n }\n\n /**\n * @inheritDoc\n */\n public getOptions(): O {\n return this._options;\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport {\n return this._getBackend().getTransport();\n }\n\n /**\n * @inheritDoc\n */\n public flush(timeout?: number): PromiseLike {\n return this._isClientDoneProcessing(timeout).then(clientFinished => {\n return this.getTransport()\n .close(timeout)\n .then(transportFlushed => clientFinished && transportFlushed);\n });\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n return result;\n });\n }\n\n /**\n * Sets up the integrations\n */\n public setupIntegrations(): void {\n if (this._isEnabled() && !this._integrations.initialized) {\n this._integrations = setupIntegrations(this._options);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n try {\n return (this._integrations[integration.id] as T) || null;\n } catch (_oO) {\n IS_DEBUG_BUILD && logger.warn(`Cannot retrieve integration ${integration.id} from the current Client`);\n return null;\n }\n }\n\n /** Updates existing session based on the provided event */\n protected _updateSessionFromEvent(session: Session, event: Event): void {\n let crashed = false;\n let errored = false;\n const exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n for (const ex of exceptions) {\n const mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n\n // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n const sessionNonTerminal = session.status === 'ok';\n const shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n if (shouldUpdateAndSend) {\n session.update({\n ...(crashed && { status: 'crashed' }),\n errors: session.errors || Number(errored || crashed),\n });\n this.captureSession(session);\n }\n }\n\n /** Deliver captured session to Sentry */\n protected _sendSession(session: Session): void {\n this._getBackend().sendSession(session);\n }\n\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n protected _isClientDoneProcessing(timeout?: number): PromiseLike {\n return new SyncPromise(resolve => {\n let ticked: number = 0;\n const tick: number = 1;\n\n const interval = setInterval(() => {\n if (this._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n\n /** Returns the current backend. */\n protected _getBackend(): B {\n return this._backend;\n }\n\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n protected _isEnabled(): boolean {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n }\n\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1_000 } = this.getOptions();\n const prepared: Event = {\n ...event,\n event_id: event.event_id || (hint && hint.event_id ? hint.event_id : uuid4()),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n\n this._applyClientOptions(prepared);\n this._applyIntegrationsMetadata(prepared);\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n let finalScope = scope;\n if (hint && hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n }\n\n // We prepare the result here with a resolved Event.\n let result = resolvedSyncPromise(prepared);\n\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (finalScope) {\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n\n return result.then(evt => {\n if (evt) {\n // TODO this is more of the hack trying to solve https://github.com/getsentry/sentry-javascript/issues/2809\n // it is only attached as extra data to the event if the event somehow skips being normalized\n evt.sdkProcessingMetadata = {\n ...evt.sdkProcessingMetadata,\n normalizeDepth: `${normalize(normalizeDepth)} (${typeof normalizeDepth})`,\n };\n }\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return this._normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n }\n\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n protected _normalizeEvent(event: Event | null, depth: number, maxBreadth: number): Event | null {\n if (!event) {\n return null;\n }\n\n const normalized = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n normalized.contexts.trace = event.contexts.trace;\n }\n\n normalized.sdkProcessingMetadata = { ...normalized.sdkProcessingMetadata, baseClientNormalized: true };\n\n return normalized;\n }\n\n /**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\n protected _applyClientOptions(event: Event): void {\n const options = this.getOptions();\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n const exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n const request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n }\n\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\n protected _applyIntegrationsMetadata(event: Event): void {\n const integrationsArray = Object.keys(this._integrations);\n if (integrationsArray.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationsArray];\n }\n }\n\n /**\n * Tells the backend to send this event\n * @param event The Sentry event to send\n */\n protected _sendEvent(event: Event): void {\n this._getBackend().sendEvent(event);\n }\n\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n protected _captureEvent(event: Event, hint?: EventHint, scope?: Scope): PromiseLike {\n return this._processEvent(event, hint, scope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n IS_DEBUG_BUILD && logger.error(reason);\n return undefined;\n },\n );\n }\n\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n protected _processEvent(event: Event, hint?: EventHint, scope?: Scope): PromiseLike {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeSend, sampleRate } = this.getOptions();\n const transport = this.getTransport();\n\n type RecordLostEvent = NonNullable;\n type RecordLostEventParams = Parameters;\n\n function recordLostEvent(outcome: RecordLostEventParams[0], category: RecordLostEventParams[1]): void {\n if (transport.recordLostEvent) {\n transport.recordLostEvent(outcome, category);\n }\n }\n\n if (!this._isEnabled()) {\n return rejectedSyncPromise(new SentryError('SDK not enabled, will not capture event.'));\n }\n\n const isTransaction = event.type === 'transaction';\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n recordLostEvent('sample_rate', 'event');\n return rejectedSyncPromise(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n ),\n );\n }\n\n return this._prepareEvent(event, scope, hint)\n .then(prepared => {\n if (prepared === null) {\n recordLostEvent('event_processor', event.type || 'event');\n throw new SentryError('An event processor returned null, will not send event.');\n }\n\n const isInternalException = hint && hint.data && (hint.data as { __sentry__: boolean }).__sentry__ === true;\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n\n const beforeSendResult = beforeSend(prepared, hint);\n return _ensureBeforeSendRv(beforeSendResult);\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n recordLostEvent('before_send', event.type || 'event');\n throw new SentryError('`beforeSend` returned `null`, will not send event.');\n }\n\n const session = scope && scope.getSession && scope.getSession();\n if (!isTransaction && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n this._sendEvent(processedEvent);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason as Error,\n });\n throw new SentryError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n );\n });\n }\n\n /**\n * Occupies the client with processing and event\n */\n protected _process(promise: PromiseLike): void {\n this._numProcessing += 1;\n void promise.then(\n value => {\n this._numProcessing -= 1;\n return value;\n },\n reason => {\n this._numProcessing -= 1;\n return reason;\n },\n );\n }\n}\n\n/**\n * Verifies that return value of configured `beforeSend` is of expected type.\n */\nfunction _ensureBeforeSendRv(rv: PromiseLike | Event | null): PromiseLike | Event | null {\n const nullErr = '`beforeSend` method has to return `null` or a valid event.';\n if (isThenable(rv)) {\n return rv.then(\n event => {\n if (!(isPlainObject(event) || event === null)) {\n throw new SentryError(nullErr);\n }\n return event;\n },\n e => {\n throw new SentryError(`beforeSend rejected with ${e}`);\n },\n );\n } else if (!(isPlainObject(rv) || rv === null)) {\n throw new SentryError(nullErr);\n }\n return rv;\n}\n","import { Envelope } from '@sentry/types';\n\nimport { isPrimitive } from './is';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function createEnvelope(headers: E[0], items: E[1] = []): E {\n return [headers, items] as E;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function addItemToEnvelope(envelope: E, newItem: E[1][number]): E {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]] as E;\n}\n\n/**\n * Get the type of the envelope. Grabs the type from the first envelope item.\n */\nexport function getEnvelopeType(envelope: E): string {\n const [, [[firstItemHeader]]] = envelope;\n return firstItemHeader.type;\n}\n\n/**\n * Serializes an envelope into a string.\n */\nexport function serializeEnvelope(envelope: Envelope): string {\n const [headers, items] = envelope;\n const serializedHeaders = JSON.stringify(headers);\n\n // Have to cast items to any here since Envelope is a union type\n // Fixed in Typescript 4.2\n // TODO: Remove any[] cast when we upgrade to TS 4.2\n // https://github.com/microsoft/TypeScript/issues/36390\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (items as any[]).reduce((acc, item: typeof items[number]) => {\n const [itemHeaders, payload] = item;\n // We do not serialize payloads that are primitives\n const serializedPayload = isPrimitive(payload) ? String(payload) : JSON.stringify(payload);\n return `${acc}\\n${JSON.stringify(itemHeaders)}\\n${serializedPayload}`;\n }, serializedHeaders);\n}\n","import {\n Event,\n EventEnvelope,\n EventItem,\n SdkInfo,\n SentryRequest,\n SentryRequestType,\n Session,\n SessionAggregates,\n SessionEnvelope,\n SessionItem,\n} from '@sentry/types';\nimport { createEnvelope, dsnToString, normalize, serializeEnvelope } from '@sentry/utils';\n\nimport { APIDetails, getEnvelopeEndpointWithUrlEncodedAuth, getStoreEndpointWithUrlEncodedAuth } from './api';\n\n/** Extract sdk info from from the API metadata */\nfunction getSdkMetadataForEnvelopeHeader(api: APIDetails): SdkInfo | undefined {\n if (!api.metadata || !api.metadata.sdk) {\n return;\n }\n const { name, version } = api.metadata.sdk;\n return { name, version };\n}\n\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\nfunction enhanceEventWithSdkInfo(event: Event, sdkInfo?: SdkInfo): Event {\n if (!sdkInfo) {\n return event;\n }\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = [...(event.sdk.integrations || []), ...(sdkInfo.integrations || [])];\n event.sdk.packages = [...(event.sdk.packages || []), ...(sdkInfo.packages || [])];\n return event;\n}\n\n/** Creates an envelope from a Session */\nexport function createSessionEnvelope(\n session: Session | SessionAggregates,\n api: APIDetails,\n): [SessionEnvelope, SentryRequestType] {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n const envelopeHeaders = {\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!api.tunnel && { dsn: dsnToString(api.dsn) }),\n };\n\n // I know this is hacky but we don't want to add `sessions` to request type since it's never rate limited\n const type = 'aggregates' in session ? ('sessions' as SentryRequestType) : 'session';\n\n // TODO (v7) Have to cast type because envelope items do not accept a `SentryRequestType`\n const envelopeItem = [{ type } as { type: 'session' | 'sessions' }, session] as SessionItem;\n const envelope = createEnvelope(envelopeHeaders, [envelopeItem]);\n\n return [envelope, type];\n}\n\n/** Creates a SentryRequest from a Session. */\nexport function sessionToSentryRequest(session: Session | SessionAggregates, api: APIDetails): SentryRequest {\n const [envelope, type] = createSessionEnvelope(session, api);\n return {\n body: serializeEnvelope(envelope),\n type,\n url: getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel),\n };\n}\n\n/**\n * Create an Envelope from an event. Note that this is duplicated from below,\n * but on purpose as this will be refactored in v7.\n */\nexport function createEventEnvelope(event: Event, api: APIDetails): EventEnvelope {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n const eventType = event.type || 'event';\n\n const { transactionSampling } = event.sdkProcessingMetadata || {};\n const { method: samplingMethod, rate: sampleRate } = transactionSampling || {};\n\n // TODO: Below is a temporary hack in order to debug a serialization error - see\n // https://github.com/getsentry/sentry-javascript/issues/2809,\n // https://github.com/getsentry/sentry-javascript/pull/4425, and\n // https://github.com/getsentry/sentry-javascript/pull/4574.\n //\n // TL; DR: even though we normalize all events (which should prevent this), something is causing `JSON.stringify` to\n // throw a circular reference error.\n //\n // When it's time to remove it:\n // 1. Delete everything between here and where the request object `req` is created, EXCEPT the line deleting\n // `sdkProcessingMetadata`\n // 2. Restore the original version of the request body, which is commented out\n // 3. Search for either of the PR URLs above and pull out the companion hacks in the browser playwright tests and the\n // baseClient tests in this package\n enhanceEventWithSdkInfo(event, api.metadata.sdk);\n event.tags = event.tags || {};\n event.extra = event.extra || {};\n\n // In theory, all events should be marked as having gone through normalization and so\n // we should never set this tag/extra data\n if (!(event.sdkProcessingMetadata && event.sdkProcessingMetadata.baseClientNormalized)) {\n event.tags.skippedNormalization = true;\n event.extra.normalizeDepth = event.sdkProcessingMetadata ? event.sdkProcessingMetadata.normalizeDepth : 'unset';\n }\n\n // prevent this data from being sent to sentry\n // TODO: This is NOT part of the hack - DO NOT DELETE\n delete event.sdkProcessingMetadata;\n\n const envelopeHeaders = {\n event_id: event.event_id as string,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!api.tunnel && { dsn: dsnToString(api.dsn) }),\n };\n const eventItem: EventItem = [\n {\n type: eventType,\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n },\n event,\n ];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\n/** Creates a SentryRequest from an event. */\nexport function eventToSentryRequest(event: Event, api: APIDetails): SentryRequest {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n const eventType = event.type || 'event';\n const useEnvelope = eventType === 'transaction' || !!api.tunnel;\n\n const { transactionSampling } = event.sdkProcessingMetadata || {};\n const { method: samplingMethod, rate: sampleRate } = transactionSampling || {};\n\n // TODO: Below is a temporary hack in order to debug a serialization error - see\n // https://github.com/getsentry/sentry-javascript/issues/2809,\n // https://github.com/getsentry/sentry-javascript/pull/4425, and\n // https://github.com/getsentry/sentry-javascript/pull/4574.\n //\n // TL; DR: even though we normalize all events (which should prevent this), something is causing `JSON.stringify` to\n // throw a circular reference error.\n //\n // When it's time to remove it:\n // 1. Delete everything between here and where the request object `req` is created, EXCEPT the line deleting\n // `sdkProcessingMetadata`\n // 2. Restore the original version of the request body, which is commented out\n // 3. Search for either of the PR URLs above and pull out the companion hacks in the browser playwright tests and the\n // baseClient tests in this package\n enhanceEventWithSdkInfo(event, api.metadata.sdk);\n event.tags = event.tags || {};\n event.extra = event.extra || {};\n\n // In theory, all events should be marked as having gone through normalization and so\n // we should never set this tag/extra data\n if (!(event.sdkProcessingMetadata && event.sdkProcessingMetadata.baseClientNormalized)) {\n event.tags.skippedNormalization = true;\n event.extra.normalizeDepth = event.sdkProcessingMetadata ? event.sdkProcessingMetadata.normalizeDepth : 'unset';\n }\n\n // prevent this data from being sent to sentry\n // TODO: This is NOT part of the hack - DO NOT DELETE\n delete event.sdkProcessingMetadata;\n\n let body;\n try {\n // 99.9% of events should get through just fine - no change in behavior for them\n body = JSON.stringify(event);\n } catch (err) {\n // Record data about the error without replacing original event data, then force renormalization\n event.tags.JSONStringifyError = true;\n event.extra.JSONStringifyError = err;\n try {\n body = JSON.stringify(normalize(event));\n } catch (newErr) {\n // At this point even renormalization hasn't worked, meaning something about the event data has gone very wrong.\n // Time to cut our losses and record only the new error. With luck, even in the problematic cases we're trying to\n // debug with this hack, we won't ever land here.\n const innerErr = newErr as Error;\n body = JSON.stringify({\n message: 'JSON.stringify error after renormalization',\n // setting `extra: { innerErr }` here for some reason results in an empty object, so unpack manually\n extra: { message: innerErr.message, stack: innerErr.stack },\n });\n }\n }\n\n const req: SentryRequest = {\n // this is the relevant line of code before the hack was added, to make it easy to undo said hack once we've solved\n // the mystery\n // body: JSON.stringify(sdkInfo ? enhanceEventWithSdkInfo(event, api.metadata.sdk) : event),\n body,\n type: eventType,\n url: useEnvelope\n ? getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel)\n : getStoreEndpointWithUrlEncodedAuth(api.dsn),\n };\n\n // https://develop.sentry.dev/sdk/envelopes/\n\n // Since we don't need to manipulate envelopes nor store them, there is no\n // exported concept of an Envelope with operations including serialization and\n // deserialization. Instead, we only implement a minimal subset of the spec to\n // serialize events inline here.\n if (useEnvelope) {\n const envelopeHeaders = {\n event_id: event.event_id as string,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!api.tunnel && { dsn: dsnToString(api.dsn) }),\n };\n const eventItem: EventItem = [\n {\n type: eventType,\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n },\n req.body,\n ];\n const envelope = createEnvelope(envelopeHeaders, [eventItem]);\n req.body = serializeEnvelope(envelope);\n }\n\n return req;\n}\n","import { Event, Response, Transport } from '@sentry/types';\nimport { resolvedSyncPromise } from '@sentry/utils';\n\n/** Noop transport */\nexport class NoopTransport implements Transport {\n /**\n * @inheritDoc\n */\n public sendEvent(_: Event): PromiseLike {\n return resolvedSyncPromise({\n reason: 'NoopTransport: Event has been skipped because no Dsn is configured.',\n status: 'skipped',\n });\n }\n\n /**\n * @inheritDoc\n */\n public close(_?: number): PromiseLike {\n return resolvedSyncPromise(true);\n }\n}\n","import { Event, EventHint, Options, Session, Severity, Transport } from '@sentry/types';\nimport { logger, SentryError } from '@sentry/utils';\n\nimport { initAPIDetails } from './api';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { createEventEnvelope, createSessionEnvelope } from './request';\nimport { NewTransport } from './transports/base';\nimport { NoopTransport } from './transports/noop';\n\n/**\n * Internal platform-dependent Sentry SDK Backend.\n *\n * While {@link Client} contains business logic specific to an SDK, the\n * Backend offers platform specific implementations for low-level operations.\n * These are persisting and loading information, sending events, and hooking\n * into the environment.\n *\n * Backends receive a handle to the Client in their constructor. When a\n * Backend automatically generates events, it must pass them to\n * the Client for validation and processing first.\n *\n * Usually, the Client will be of corresponding type, e.g. NodeBackend\n * receives NodeClient. However, higher-level SDKs can choose to instantiate\n * multiple Backends and delegate tasks between them. In this case, an event\n * generated by one backend might very well be sent by another one.\n *\n * The client also provides access to options via {@link Client.getOptions}.\n * @hidden\n */\nexport interface Backend {\n /** Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n eventFromException(exception: any, hint?: EventHint): PromiseLike;\n\n /** Creates an {@link Event} from primitive inputs to `captureMessage`. */\n eventFromMessage(message: string, level?: Severity, hint?: EventHint): PromiseLike;\n\n /** Submits the event to Sentry */\n sendEvent(event: Event): void;\n\n /** Submits the session to Sentry */\n sendSession(session: Session): void;\n\n /**\n * Returns the transport that is used by the backend.\n * Please note that the transport gets lazy initialized so it will only be there once the first event has been sent.\n *\n * @returns The transport.\n */\n getTransport(): Transport;\n}\n\n/**\n * A class object that can instantiate Backend objects.\n * @hidden\n */\nexport type BackendClass = new (options: O) => B;\n\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nexport abstract class BaseBackend implements Backend {\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** Cached transport used internally. */\n protected _transport: Transport;\n\n /** New v7 Transport that is initialized alongside the old one */\n protected _newTransport?: NewTransport;\n\n /** Creates a new backend instance. */\n public constructor(options: O) {\n this._options = options;\n if (!this._options.dsn) {\n IS_DEBUG_BUILD && logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public eventFromException(_exception: any, _hint?: EventHint): PromiseLike {\n throw new SentryError('Backend has to implement `eventFromException` method');\n }\n\n /**\n * @inheritDoc\n */\n public eventFromMessage(_message: string, _level?: Severity, _hint?: EventHint): PromiseLike {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): void {\n // TODO(v7): Remove the if-else\n if (\n this._newTransport &&\n this._options.dsn &&\n this._options._experiments &&\n this._options._experiments.newTransport\n ) {\n const api = initAPIDetails(this._options.dsn, this._options._metadata, this._options.tunnel);\n const env = createEventEnvelope(event, api);\n void this._newTransport.send(env).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending event:', reason);\n });\n } else {\n void this._transport.sendEvent(event).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending event:', reason);\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): void {\n if (!this._transport.sendSession) {\n IS_DEBUG_BUILD && logger.warn(\"Dropping session because custom transport doesn't implement sendSession\");\n return;\n }\n\n // TODO(v7): Remove the if-else\n if (\n this._newTransport &&\n this._options.dsn &&\n this._options._experiments &&\n this._options._experiments.newTransport\n ) {\n const api = initAPIDetails(this._options.dsn, this._options._metadata, this._options.tunnel);\n const [env] = createSessionEnvelope(session, api);\n void this._newTransport.send(env).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending session:', reason);\n });\n } else {\n void this._transport.sendSession(session).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending session:', reason);\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport {\n return this._transport;\n }\n\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n protected _setupTransport(): Transport {\n return new NoopTransport();\n }\n}\n","import { SentryError } from './error';\nimport { rejectedSyncPromise, resolvedSyncPromise, SyncPromise } from './syncpromise';\n\nexport interface PromiseBuffer {\n // exposes the internal array so tests can assert on the state of it.\n // XXX: this really should not be public api.\n $: Array>;\n add(taskProducer: () => PromiseLike): PromiseLike;\n drain(timeout?: number): PromiseLike;\n}\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nexport function makePromiseBuffer(limit?: number): PromiseBuffer {\n const buffer: Array> = [];\n\n function isReady(): boolean {\n return limit === undefined || buffer.length < limit;\n }\n\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n function remove(task: PromiseLike): PromiseLike {\n return buffer.splice(buffer.indexOf(task), 1)[0];\n }\n\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike; In previous versions this used to be `task:\n * PromiseLike`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n function add(taskProducer: () => PromiseLike): PromiseLike {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n\n // start the task and add its promise to the queue\n const task = taskProducer();\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n void task\n .then(() => remove(task))\n // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, () =>\n remove(task).then(null, () => {\n // We have to add another catch here because `remove()` starts a new promise chain.\n }),\n );\n return task;\n }\n\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n function drain(timeout?: number): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n }\n\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n const capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n\n // if all promises resolve in time, cancel the timer and resolve to `true`\n buffer.forEach(item => {\n void resolvedSyncPromise(item).then(() => {\n // eslint-disable-next-line no-plusplus\n if (!--counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add,\n drain,\n };\n}\n","// Keeping the key broad until we add the new transports\nexport type RateLimits = Record;\n\nexport const DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nexport function parseRetryAfterHeader(header: string, now: number = Date.now()): number {\n const headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n const headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that given category is disabled until for rate limiting\n */\nexport function disabledUntil(limits: RateLimits, category: string): number {\n return limits[category] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nexport function isRateLimited(limits: RateLimits, category: string, now: number = Date.now()): boolean {\n return disabledUntil(limits, category) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n * Returns true if headers contains a non-empty rate limiting header.\n */\nexport function updateRateLimits(\n limits: RateLimits,\n headers: Record,\n now: number = Date.now(),\n): RateLimits {\n const updatedRateLimits: RateLimits = {\n ...limits,\n };\n\n // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n const rateLimitHeader = headers['x-sentry-rate-limits'];\n const retryAfterHeader = headers['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n *
,
,..\n * where each
is of the form\n * : : : \n * where\n * is a delay in seconds\n * is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * ;;...\n * is what's being limited (org, project, or key) - ignored by SDK\n * is an arbitrary string like \"org_quota\" - ignored by SDK\n */\n for (const limit of rateLimitHeader.trim().split(',')) {\n const parameters = limit.split(':', 2);\n const headerDelay = parseInt(parameters[0], 10);\n const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n if (!parameters[1]) {\n updatedRateLimits.all = now + delay;\n } else {\n for (const category of parameters[1].split(';')) {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n }\n\n return updatedRateLimits;\n}\n","import { EventStatus } from '@sentry/types';\n/**\n * Converts an HTTP status code to sentry status {@link EventStatus}.\n *\n * @param code number HTTP status code\n * @returns EventStatus\n */\nexport function eventStatusFromHttpCode(code: number): EventStatus {\n if (code >= 200 && code < 300) {\n return 'success';\n }\n\n if (code === 429) {\n return 'rate_limit';\n }\n\n if (code >= 400 && code < 500) {\n return 'invalid';\n }\n\n if (code >= 500) {\n return 'failed';\n }\n\n return 'unknown';\n}\n","import { Envelope, EventStatus } from '@sentry/types';\nimport {\n disabledUntil,\n eventStatusFromHttpCode,\n getEnvelopeType,\n isRateLimited,\n makePromiseBuffer,\n PromiseBuffer,\n RateLimits,\n rejectedSyncPromise,\n resolvedSyncPromise,\n serializeEnvelope,\n updateRateLimits,\n} from '@sentry/utils';\n\nexport const ERROR_TRANSPORT_CATEGORY = 'error';\n\nexport const TRANSACTION_TRANSPORT_CATEGORY = 'transaction';\n\nexport const ATTACHMENT_TRANSPORT_CATEGORY = 'attachment';\n\nexport const SESSION_TRANSPORT_CATEGORY = 'session';\n\ntype TransportCategory =\n | typeof ERROR_TRANSPORT_CATEGORY\n | typeof TRANSACTION_TRANSPORT_CATEGORY\n | typeof ATTACHMENT_TRANSPORT_CATEGORY\n | typeof SESSION_TRANSPORT_CATEGORY;\n\nexport type TransportRequest = {\n body: string;\n category: TransportCategory;\n};\n\nexport type TransportMakeRequestResponse = {\n body?: string;\n headers?: {\n [key: string]: string | null;\n 'x-sentry-rate-limits': string | null;\n 'retry-after': string | null;\n };\n reason?: string;\n statusCode: number;\n};\n\nexport type TransportResponse = {\n status: EventStatus;\n reason?: string;\n};\n\ninterface InternalBaseTransportOptions {\n bufferSize?: number;\n}\n\nexport interface BaseTransportOptions extends InternalBaseTransportOptions {\n // url to send the event\n // transport does not care about dsn specific - client should take care of\n // parsing and figuring that out\n url: string;\n}\n\n// TODO: Move into Browser Transport\nexport interface BrowserTransportOptions extends BaseTransportOptions {\n // options to pass into fetch request\n fetchParams: Record;\n headers?: Record;\n sendClientReports?: boolean;\n}\n\nexport interface NewTransport {\n send(request: Envelope): PromiseLike;\n flush(timeout?: number): PromiseLike;\n}\n\nexport type TransportRequestExecutor = (request: TransportRequest) => PromiseLike;\n\nexport const DEFAULT_TRANSPORT_BUFFER_SIZE = 30;\n\n/**\n * Creates a `NewTransport`\n *\n * @param options\n * @param makeRequest\n */\nexport function createTransport(\n options: InternalBaseTransportOptions,\n makeRequest: TransportRequestExecutor,\n buffer: PromiseBuffer = makePromiseBuffer(options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE),\n): NewTransport {\n let rateLimits: RateLimits = {};\n\n const flush = (timeout?: number): PromiseLike => buffer.drain(timeout);\n\n function send(envelope: Envelope): PromiseLike {\n const envCategory = getEnvelopeType(envelope);\n const category = envCategory === 'event' ? 'error' : (envCategory as TransportCategory);\n const request: TransportRequest = {\n category,\n body: serializeEnvelope(envelope),\n };\n\n // Don't add to buffer if transport is already rate-limited\n if (isRateLimited(rateLimits, category)) {\n return rejectedSyncPromise({\n status: 'rate_limit',\n reason: getRateLimitReason(rateLimits, category),\n });\n }\n\n const requestTask = (): PromiseLike =>\n makeRequest(request).then(({ body, headers, reason, statusCode }): PromiseLike => {\n const status = eventStatusFromHttpCode(statusCode);\n if (headers) {\n rateLimits = updateRateLimits(rateLimits, headers);\n }\n if (status === 'success') {\n return resolvedSyncPromise({ status, reason });\n }\n return rejectedSyncPromise({\n status,\n reason:\n reason ||\n body ||\n (status === 'rate_limit' ? getRateLimitReason(rateLimits, category) : 'Unknown transport error'),\n });\n });\n\n return buffer.add(requestTask);\n }\n\n return {\n send,\n flush,\n };\n}\n\nfunction getRateLimitReason(rateLimits: RateLimits, category: TransportCategory): string {\n return `Too many ${category} requests, backing off until: ${new Date(\n disabledUntil(rateLimits, category),\n ).toISOString()}`;\n}\n","import { forget, getGlobalObject, isNativeFetch, logger, supportsFetch } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\nconst global = getGlobalObject();\nlet cachedFetchImpl: FetchImpl;\n\nexport type FetchImpl = typeof fetch;\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nexport function getNativeFetchImplementation(): FetchImpl {\n if (cachedFetchImpl) {\n return cachedFetchImpl;\n }\n\n /* eslint-disable @typescript-eslint/unbound-method */\n\n // Fast path to avoid DOM I/O\n if (isNativeFetch(global.fetch)) {\n return (cachedFetchImpl = global.fetch.bind(global));\n }\n\n const document = global.document;\n let fetchImpl = global.fetch;\n // eslint-disable-next-line deprecation/deprecation\n if (document && typeof document.createElement === 'function') {\n try {\n const sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow && contentWindow.fetch) {\n fetchImpl = contentWindow.fetch;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n IS_DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n\n return (cachedFetchImpl = fetchImpl.bind(global));\n /* eslint-enable @typescript-eslint/unbound-method */\n}\n\n/**\n * Sends sdk client report using sendBeacon or fetch as a fallback if available\n *\n * @param url report endpoint\n * @param body report payload\n */\nexport function sendReport(url: string, body: string): void {\n const isRealNavigator = Object.prototype.toString.call(global && global.navigator) === '[object Navigator]';\n const hasSendBeacon = isRealNavigator && typeof global.navigator.sendBeacon === 'function';\n\n if (hasSendBeacon) {\n // Prevent illegal invocations - https://xgwang.me/posts/you-may-not-know-beacon/#it-may-throw-error%2C-be-sure-to-catch\n const sendBeacon = global.navigator.sendBeacon.bind(global.navigator);\n return sendBeacon(url, body);\n }\n\n if (supportsFetch()) {\n const fetch = getNativeFetchImplementation();\n return forget(\n fetch(url, {\n body,\n method: 'POST',\n credentials: 'omit',\n keepalive: true,\n }),\n );\n }\n}\n","/**\n * Consumes the promise and logs the error when it rejects.\n * @param promise A promise to forget.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function forget(promise: PromiseLike): void {\n void promise.then(null, e => {\n // TODO: Use a better logging mechanism\n // eslint-disable-next-line no-console\n console.error(e);\n });\n}\n","import {\n APIDetails,\n eventToSentryRequest,\n getEnvelopeEndpointWithUrlEncodedAuth,\n getStoreEndpointWithUrlEncodedAuth,\n initAPIDetails,\n sessionToSentryRequest,\n} from '@sentry/core';\nimport {\n ClientReport,\n Event,\n Outcome,\n Response as SentryResponse,\n SentryRequest,\n SentryRequestType,\n Session,\n Transport,\n TransportOptions,\n} from '@sentry/types';\nimport {\n createClientReportEnvelope,\n disabledUntil,\n dsnToString,\n eventStatusFromHttpCode,\n getGlobalObject,\n isRateLimited,\n logger,\n makePromiseBuffer,\n PromiseBuffer,\n RateLimits,\n serializeEnvelope,\n updateRateLimits,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\nimport { sendReport } from './utils';\n\nfunction requestTypeToCategory(ty: SentryRequestType): string {\n const tyStr = ty as string;\n return tyStr === 'event' ? 'error' : tyStr;\n}\n\nconst global = getGlobalObject();\n\n/** Base Transport class implementation */\nexport abstract class BaseTransport implements Transport {\n /**\n * @deprecated\n */\n public url: string;\n\n /** Helper to get Sentry API endpoints. */\n protected readonly _api: APIDetails;\n\n /** A simple buffer holding all requests. */\n protected readonly _buffer: PromiseBuffer = makePromiseBuffer(30);\n\n /** Locks transport after receiving rate limits in a response */\n protected _rateLimits: RateLimits = {};\n\n protected _outcomes: { [key: string]: number } = {};\n\n public constructor(public options: TransportOptions) {\n this._api = initAPIDetails(options.dsn, options._metadata, options.tunnel);\n // eslint-disable-next-line deprecation/deprecation\n this.url = getStoreEndpointWithUrlEncodedAuth(this._api.dsn);\n\n if (this.options.sendClientReports && global.document) {\n global.document.addEventListener('visibilitychange', () => {\n if (global.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n }\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): PromiseLike {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): PromiseLike {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this._buffer.drain(timeout);\n }\n\n /**\n * @inheritDoc\n */\n public recordLostEvent(reason: Outcome, category: SentryRequestType): void {\n if (!this.options.sendClientReports) {\n return;\n }\n // We want to track each category (event, transaction, session) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial>>>`\n const key = `${requestTypeToCategory(category)}:${reason}`;\n IS_DEBUG_BUILD && logger.log(`Adding outcome: ${key}`);\n this._outcomes[key] = (this._outcomes[key] ?? 0) + 1;\n }\n\n /**\n * Send outcomes as an envelope\n */\n protected _flushOutcomes(): void {\n if (!this.options.sendClientReports) {\n return;\n }\n\n const outcomes = this._outcomes;\n this._outcomes = {};\n\n // Nothing to send\n if (!Object.keys(outcomes).length) {\n IS_DEBUG_BUILD && logger.log('No outcomes to flush');\n return;\n }\n\n IS_DEBUG_BUILD && logger.log(`Flushing outcomes:\\n${JSON.stringify(outcomes, null, 2)}`);\n\n const url = getEnvelopeEndpointWithUrlEncodedAuth(this._api.dsn, this._api.tunnel);\n\n const discardedEvents = Object.keys(outcomes).map(key => {\n const [category, reason] = key.split(':');\n return {\n reason,\n category,\n quantity: outcomes[key],\n };\n // TODO: Improve types on discarded_events to get rid of cast\n }) as ClientReport['discarded_events'];\n const envelope = createClientReportEnvelope(discardedEvents, this._api.tunnel && dsnToString(this._api.dsn));\n\n try {\n sendReport(url, serializeEnvelope(envelope));\n } catch (e) {\n IS_DEBUG_BUILD && logger.error(e);\n }\n }\n\n /**\n * Handle Sentry repsonse for promise-based transports.\n */\n protected _handleResponse({\n requestType,\n response,\n headers,\n resolve,\n reject,\n }: {\n requestType: SentryRequestType;\n response: Response | XMLHttpRequest;\n headers: Record;\n resolve: (value?: SentryResponse | PromiseLike | null | undefined) => void;\n reject: (reason?: unknown) => void;\n }): void {\n const status = eventStatusFromHttpCode(response.status);\n\n this._rateLimits = updateRateLimits(this._rateLimits, headers);\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(requestType)) {\n IS_DEBUG_BUILD &&\n // eslint-disable-next-line deprecation/deprecation\n logger.warn(`Too many ${requestType} requests, backing off until: ${this._disabledUntil(requestType)}`);\n }\n\n if (status === 'success') {\n resolve({ status });\n return;\n }\n\n reject(response);\n }\n\n /**\n * Gets the time that given category is disabled until for rate limiting\n *\n * @deprecated Please use `disabledUntil` from @sentry/utils\n */\n protected _disabledUntil(requestType: SentryRequestType): Date {\n const category = requestTypeToCategory(requestType);\n return new Date(disabledUntil(this._rateLimits, category));\n }\n\n /**\n * Checks if a category is rate limited\n *\n * @deprecated Please use `isRateLimited` from @sentry/utils\n */\n protected _isRateLimited(requestType: SentryRequestType): boolean {\n const category = requestTypeToCategory(requestType);\n return isRateLimited(this._rateLimits, category);\n }\n\n protected abstract _sendRequest(\n sentryRequest: SentryRequest,\n originalPayload: Event | Session,\n ): PromiseLike;\n}\n","import { ClientReport, ClientReportEnvelope, ClientReportItem } from '@sentry/types';\n\nimport { createEnvelope } from './envelope';\nimport { dateTimestampInSeconds } from './time';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nexport function createClientReportEnvelope(\n discarded_events: ClientReport['discarded_events'],\n dsn?: string,\n timestamp?: number,\n): ClientReportEnvelope {\n const clientReportItem: ClientReportItem = [\n { type: 'client_report' },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events,\n },\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n","import { Event, Response, SentryRequest, Session, TransportOptions } from '@sentry/types';\nimport { SentryError, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\nimport { FetchImpl, getNativeFetchImplementation } from './utils';\n\n/** `fetch` based transport */\nexport class FetchTransport extends BaseTransport {\n /**\n * Fetch API reference which always points to native browser implementation.\n */\n private _fetch: typeof fetch;\n\n public constructor(options: TransportOptions, fetchImpl: FetchImpl = getNativeFetchImplementation()) {\n super(options);\n this._fetch = fetchImpl;\n }\n\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n protected _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(sentryRequest.type)) {\n this.recordLostEvent('ratelimit_backoff', sentryRequest.type);\n\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n // eslint-disable-next-line deprecation/deprecation\n reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil(\n sentryRequest.type,\n )} due to too many requests.`,\n status: 429,\n });\n }\n\n const options: RequestInit = {\n body: sentryRequest.body,\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : '') as ReferrerPolicy,\n };\n if (this.options.fetchParameters !== undefined) {\n Object.assign(options, this.options.fetchParameters);\n }\n if (this.options.headers !== undefined) {\n options.headers = this.options.headers;\n }\n\n return this._buffer\n .add(\n () =>\n new SyncPromise((resolve, reject) => {\n void this._fetch(sentryRequest.url, options)\n .then(response => {\n const headers = {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n };\n this._handleResponse({\n requestType: sentryRequest.type,\n response,\n headers,\n resolve,\n reject,\n });\n })\n .catch(reject);\n }),\n )\n .then(undefined, reason => {\n // It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.\n if (reason instanceof SentryError) {\n this.recordLostEvent('queue_overflow', sentryRequest.type);\n } else {\n this.recordLostEvent('network_error', sentryRequest.type);\n }\n throw reason;\n });\n }\n}\n","import { Event, Response, SentryRequest, Session } from '@sentry/types';\nimport { SentryError, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\n\n/** `XHR` based transport */\nexport class XHRTransport extends BaseTransport {\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n protected _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(sentryRequest.type)) {\n this.recordLostEvent('ratelimit_backoff', sentryRequest.type);\n\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n // eslint-disable-next-line deprecation/deprecation\n reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil(\n sentryRequest.type,\n )} due to too many requests.`,\n status: 429,\n });\n }\n\n return this._buffer\n .add(\n () =>\n new SyncPromise((resolve, reject) => {\n const request = new XMLHttpRequest();\n\n request.onreadystatechange = (): void => {\n if (request.readyState === 4) {\n const headers = {\n 'x-sentry-rate-limits': request.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': request.getResponseHeader('Retry-After'),\n };\n this._handleResponse({ requestType: sentryRequest.type, response: request, headers, resolve, reject });\n }\n };\n\n request.open('POST', sentryRequest.url);\n for (const header in this.options.headers) {\n if (Object.prototype.hasOwnProperty.call(this.options.headers, header)) {\n request.setRequestHeader(header, this.options.headers[header]);\n }\n }\n request.send(sentryRequest.body);\n }),\n )\n .then(undefined, reason => {\n // It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.\n if (reason instanceof SentryError) {\n this.recordLostEvent('queue_overflow', sentryRequest.type);\n } else {\n this.recordLostEvent('network_error', sentryRequest.type);\n }\n throw reason;\n });\n }\n}\n","import { BaseBackend, getEnvelopeEndpointWithUrlEncodedAuth, initAPIDetails } from '@sentry/core';\nimport { Event, EventHint, Options, Severity, Transport, TransportOptions } from '@sentry/types';\nimport { supportsFetch } from '@sentry/utils';\n\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { FetchTransport, makeNewFetchTransport, makeNewXHRTransport, XHRTransport } from './transports';\n\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see BrowserClient for more information.\n */\nexport interface BrowserOptions extends Options {\n /**\n * A pattern for error URLs which should exclusively be sent to Sentry.\n * This is the opposite of {@link Options.denyUrls}.\n * By default, all errors will be sent.\n */\n allowUrls?: Array;\n\n /**\n * A pattern for error URLs which should not be sent to Sentry.\n * To allow certain errors instead, use {@link Options.allowUrls}.\n * By default, all errors will be sent.\n */\n denyUrls?: Array;\n\n /** @deprecated use {@link Options.allowUrls} instead. */\n whitelistUrls?: Array;\n\n /** @deprecated use {@link Options.denyUrls} instead. */\n blacklistUrls?: Array;\n}\n\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nexport class BrowserBackend extends BaseBackend {\n /**\n * @inheritDoc\n */\n public eventFromException(exception: unknown, hint?: EventHint): PromiseLike {\n return eventFromException(exception, hint, this._options.attachStacktrace);\n }\n /**\n * @inheritDoc\n */\n public eventFromMessage(message: string, level: Severity = Severity.Info, hint?: EventHint): PromiseLike {\n return eventFromMessage(message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n protected _setupTransport(): Transport {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return super._setupTransport();\n }\n\n const transportOptions: TransportOptions = {\n ...this._options.transportOptions,\n dsn: this._options.dsn,\n tunnel: this._options.tunnel,\n sendClientReports: this._options.sendClientReports,\n _metadata: this._options._metadata,\n };\n\n const api = initAPIDetails(transportOptions.dsn, transportOptions._metadata, transportOptions.tunnel);\n const url = getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel);\n\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n const requestOptions: RequestInit = { ...transportOptions.fetchParameters };\n this._newTransport = makeNewFetchTransport({ requestOptions, url });\n return new FetchTransport(transportOptions);\n }\n\n this._newTransport = makeNewXHRTransport({\n url,\n headers: transportOptions.headers,\n });\n return new XHRTransport(transportOptions);\n }\n}\n","import {\n BaseTransportOptions,\n createTransport,\n NewTransport,\n TransportMakeRequestResponse,\n TransportRequest,\n} from '@sentry/core';\n\nimport { FetchImpl, getNativeFetchImplementation } from './utils';\n\nexport interface FetchTransportOptions extends BaseTransportOptions {\n requestOptions?: RequestInit;\n}\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nexport function makeNewFetchTransport(\n options: FetchTransportOptions,\n nativeFetch: FetchImpl = getNativeFetchImplementation(),\n): NewTransport {\n function makeRequest(request: TransportRequest): PromiseLike {\n const requestOptions: RequestInit = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n ...options.requestOptions,\n };\n\n return nativeFetch(options.url, requestOptions).then(response => {\n return response.text().then(body => ({\n body,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n reason: response.statusText,\n statusCode: response.status,\n }));\n });\n }\n\n return createTransport({ bufferSize: options.bufferSize }, makeRequest);\n}\n","import {\n BaseTransportOptions,\n createTransport,\n NewTransport,\n TransportMakeRequestResponse,\n TransportRequest,\n} from '@sentry/core';\nimport { SyncPromise } from '@sentry/utils';\n\n/**\n * The DONE ready state for XmlHttpRequest\n *\n * Defining it here as a constant b/c XMLHttpRequest.DONE is not always defined\n * (e.g. during testing, it is `undefined`)\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState}\n */\nconst XHR_READYSTATE_DONE = 4;\n\nexport interface XHRTransportOptions extends BaseTransportOptions {\n headers?: { [key: string]: string };\n}\n\n/**\n * Creates a Transport that uses the XMLHttpRequest API to send events to Sentry.\n */\nexport function makeNewXHRTransport(options: XHRTransportOptions): NewTransport {\n function makeRequest(request: TransportRequest): PromiseLike {\n return new SyncPromise((resolve, _reject) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = (): void => {\n if (xhr.readyState === XHR_READYSTATE_DONE) {\n const response = {\n body: xhr.response,\n headers: {\n 'x-sentry-rate-limits': xhr.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': xhr.getResponseHeader('Retry-After'),\n },\n reason: xhr.statusText,\n statusCode: xhr.status,\n };\n resolve(response);\n }\n };\n\n xhr.open('POST', options.url);\n\n for (const header in options.headers) {\n if (Object.prototype.hasOwnProperty.call(options.headers, header)) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n\n xhr.send(request.body);\n });\n }\n\n return createTransport({ bufferSize: options.bufferSize }, makeRequest);\n}\n","import { BaseClient, Scope, SDK_VERSION } from '@sentry/core';\nimport { Event, EventHint } from '@sentry/types';\nimport { getGlobalObject, logger } from '@sentry/utils';\n\nimport { BrowserBackend, BrowserOptions } from './backend';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { injectReportDialog, ReportDialogOptions } from './helpers';\nimport { Breadcrumbs } from './integrations';\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: BrowserOptions = {}) {\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ],\n version: SDK_VERSION,\n };\n\n super(BrowserBackend, options);\n }\n\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n public showReportDialog(options: ReportDialogOptions = {}): void {\n // doesn't work without a document (React Native)\n const document = getGlobalObject().document;\n if (!document) {\n return;\n }\n\n if (!this._isEnabled()) {\n IS_DEBUG_BUILD && logger.error('Trying to call showReportDialog with Sentry Client disabled');\n return;\n }\n\n injectReportDialog({\n ...options,\n dsn: options.dsn || this.getDsn(),\n });\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike {\n event.platform = event.platform || 'javascript';\n return super._prepareEvent(event, scope, hint);\n }\n\n /**\n * @inheritDoc\n */\n protected _sendEvent(event: Event): void {\n const integration = this.getIntegration(Breadcrumbs);\n if (integration) {\n integration.addSentryBreadcrumb(event);\n }\n super._sendEvent(event);\n }\n}\n","import {} from '@sentry/integrations';\nimport * as Sentry from '@sentry/react';\nimport { FeatureAppConfig } from 'src';\nimport { Dependencies } from 'src/feature-app';\n\nconst getOptions = (stage: 'dev' | string): Sentry.BrowserOptions => {\n return {\n dsn: 'https://c72951f5b7c54e769470906bceb05c92@o192159.ingest.sentry.io/6118409',\n integrations: [\n new Sentry.Integrations.InboundFilters(),\n new Sentry.Integrations.FunctionToString(),\n new Sentry.Integrations.TryCatch(),\n new Sentry.Integrations.Breadcrumbs({ console: true, dom: true, fetch: true, history: true, xhr: true }),\n new Sentry.Integrations.GlobalHandlers(),\n new Sentry.Integrations.LinkedErrors(),\n new Sentry.Integrations.Dedupe(),\n new Sentry.Integrations.UserAgent(),\n ],\n tracesSampleRate: 1,\n environment: stage === 'dev' ? 'Stage' : 'Prod',\n release: process.env.VERSION,\n\n beforeSend: (event: Sentry.Event) => {\n // Solo reportamos los errores en producción\n // if (stage === 'dev') {\n // return null;\n // }\n event.exception.values = event.exception.values.map(value => {\n value.mechanism.handled = false;\n return value;\n });\n return event;\n },\n };\n};\n\nlet sentryHub: Sentry.Hub = null;\n\nexport const initSentry = (featureServices: Dependencies, config: FeatureAppConfig) => {\n const stageCustomConfig = featureServices['service-config-provider'].configs?.stage?.customConfig;\n const faContent = featureServices['fa-content-service'].content;\n\n const client = new Sentry.BrowserClient(getOptions(stageCustomConfig?.stage));\n const hub = new Sentry.Hub(client);\n // Sentry.makeMain(hub); // Desactivado ya que provoca que se reporten errores de otros proyectos.\n hub.setContext('Feature App Config', { ...config });\n hub.setContext('Feature App Content', { ...faContent });\n setSentryHub(hub);\n return { hub };\n};\n\nexport const getSentryHub = () => sentryHub;\n\nexport const setSentryTag = (tag:string, value: string) => {\n sentryHub.setTag(tag, value);\n};\n\nconst setSentryHub = (newHub: Sentry.Hub) => {\n sentryHub = newHub;\n};\n","import dayjs from 'dayjs';\nimport { Store } from 'redux';\nimport { getOption, getModelFilter, getWheelsParams } from 'src/bff';\nimport { emptyConfigurationFromVicci } from 'src/feature-app/tracking-objects';\nimport {\n TrackingConfiguration,\n TrackingEventInfo,\n TrackingForm,\n TrackingLink,\n TrackingPartner,\n TrackingProcess,\n} from 'src/feature-app/tracking-types';\nimport { DealersData, FormInfo, OneFormState, Slot, Steps } from 'src/types';\n\nexport const createTrackingLink = (name?: string): TrackingLink | undefined => {\n return {\n url: window ? window.location.href : undefined,\n name: name ? name : undefined,\n };\n};\n\nexport const createPartner = (store: Store, dealerData?: DealersData): TrackingPartner => {\n const { formData, dealersInfo } = store.getState();\n const { dealer } = formData.fields;\n const { selectedDealer } = dealersInfo;\n\n const dealerFromStore = dealer ? dealer : selectedDealer ? selectedDealer : undefined;\n\n const dealerToUse = dealerData ? dealerData : dealerFromStore;\n\n return {\n informationBnr: dealerToUse?.kvps,\n informationDepartment: undefined,\n informationZIP: dealerToUse?.markerInfo?.dealerInfo?.zipCode,\n informationName: dealerToUse?.name,\n };\n};\n\nexport const createPartnerWithSearch = (store: Store, dealerData?: DealersData): TrackingPartner => {\n const { formData, formInfo } = store.getState();\n const basePartner = createPartner(store, dealerData);\n const SearchType = formInfo.suggestionIsDealer\n ? 'DealerSuggestion'\n : !formInfo.suggestionIsDealer\n ? 'GooglePlacesSuggestion'\n : undefined;\n\n return {\n ...basePartner,\n SearchSearchTerm: formData.fields.location,\n SearchType,\n SearchNumberOfResults: undefined,\n };\n};\n\nconst getStepNumber = (formInfo: FormInfo) => {\n const { step } = formInfo;\n\n if (!step) return undefined;\n\n return String(step.screenIndex + 1);\n};\n\nconst getStepName = (formInfo: FormInfo, processInfo?: TrackingProcess): string | undefined => {\n if (processInfo) return processInfo.StepName;\n\n const { step, multiStepScreenIndex, multiSteps } = formInfo;\n\n if (!step) {\n return undefined;\n }\n if (step.multiStep && multiStepScreenIndex >= 0) {\n return multiSteps && multiSteps[multiStepScreenIndex].name ? multiSteps[multiStepScreenIndex].name : undefined;\n } // Devolvemos el nombre del step dentro del multsitep.\n\n\n if(formInfo.formSubmitted) return 'ThankYou';\n\n return step.name ? step.name : undefined;\n};\n\nexport const createTrackingProcess = (store: Store, processInfo?: TrackingProcess): TrackingProcess => {\n const { formInfo } = store.getState();\n\n let StepName = getStepName(formInfo, processInfo);\n let StepNumber = getStepNumber(formInfo);\n\n return {\n StepName,\n StepNumber,\n };\n};\n\nexport const getFormAppointments = (store: Store): TrackingForm => {\n const { formData } = store.getState();\n const { slot }: { slot?: Slot } = formData.fields;\n\n let Appointments;\n let NumberOfAppointments;\n\n if (slot) {\n Appointments = [dayjs(slot.from).utc().format('YYYY-MM-DDTHH:mm:ss[Z]')];\n NumberOfAppointments = 1;\n }\n return {\n Appointments,\n NumberOfAppointments,\n };\n};\n\nexport const getMarketingConsent = (store: Store): TrackingForm => {\n const { formData } = store.getState();\n const { lssi, tmk } = formData.fields;\n\n if (!lssi || !tmk) {\n return {\n MarketingConsent: [],\n };\n }\n\n return {\n MarketingConsent: [\n {\n comunicaciones: lssi === 'PERMITE',\n perfilado: tmk === 'PERMITE',\n },\n ],\n };\n};\n\nexport const getBaseEventInfo = (store: Store, brand: 'V' | 'N'): TrackingEventInfo => {\n const { pageCategory } = store.getState().formData.fields;\n\n const baseEventInfo: TrackingEventInfo = {\n brand: brand === 'N' ? 'commercial' : 'passenger',\n pageCategory,\n sectionName: undefined,\n templateType: 'Feature App Template',\n };\n return baseEventInfo;\n};\n\nexport const getCompleteConfigurationFromVicci = (vicciData: VicciData): TrackingConfiguration => {\n if (!vicciData) return emptyConfigurationFromVicci;\n\n const { vehicleConfiguration } = vicciData.consolidatedData;\n const { COD_VEH_WHEELS, DESC_VEH_WHEELS } = getWheelsParams(vicciData.featuresData.vehicleCatalogue.features);\n return {\n ...emptyConfigurationFromVicci,\n ModelId: vehicleConfiguration.modelKey.split('$')[0],\n ModelModelVersion: vehicleConfiguration.modelVersion,\n ModelName: vehicleConfiguration.modelName,\n ModelYear: vehicleConfiguration.modelYear,\n ExteriorColorCode: vehicleConfiguration.exterior?.code,\n ExteriorColorName: vehicleConfiguration.exterior?.name,\n InteriorColorCode: vehicleConfiguration.interior?.code,\n InteriorColorName: vehicleConfiguration.interior?.name,\n WheelsBasicId: COD_VEH_WHEELS,\n WheelsBasicName: DESC_VEH_WHEELS,\n };\n};\n\nexport const getCarlineConfigurationFromMkc = (marketingCode: any): TrackingConfiguration => {\n if (!marketingCode) return {};\n\n const salesgroup = getOption(\"SALESGROUP\",marketingCode.content.consolidatedData.options);\n const modelyear = getOption(\"MODELYEAR\",marketingCode.content.consolidatedData.options);\n const type = getOption(\"TYPE\",marketingCode.content.consolidatedData.options);\n const baseType = getOption(\"BASETYPE\",marketingCode.content.consolidatedData.options);\n\n const equipmentLine = getModelFilter(\"EquipmentLine\",marketingCode.content.consolidatedData.meta.modelFilter);\n\n return {\n CarlineId: marketingCode.content.consolidatedData.model_code.split(\"_\")[1],\n CarlineName: marketingCode.content.consolidatedData.model_description,\n SalesgroupId: salesgroup.option.code.replace('SALESGROUP:',''),\n SalesgroupName: salesgroup.option.description,\n EquipmentlineName: equipmentLine.modelFilter.text,\n ModelId: baseType.option.code.replace('BASETYPE:',''),\n ModelName: type.option.description,\n ModelYear: modelyear.option.code.replace('MODELYEAR:',''),\n };\n};\n\nexport const getCarlineConfiguration = (store: Store): TrackingConfiguration => {\n const { dealersInfo, formData } = store.getState();\n const { selectedCarline, oferta, salesGroup, match } = dealersInfo;\n const { vicciData, matchMarketingCodeData, marketingCodeResponse } = formData.fields;\n\n if (marketingCodeResponse) {\n return getCarlineConfigurationFromMkc(marketingCodeResponse);\n }\n\n let configuration: TrackingConfiguration = {};\n if (selectedCarline) {\n configuration = {\n CarlineId: String(selectedCarline.code),\n CarlineName: selectedCarline.title,\n };\n }\n if (oferta) {\n configuration = {\n ...configuration,\n CarlineId: String(oferta.carline.code),\n CarlineName: oferta.carline.title,\n };\n }\n if (salesGroup) {\n configuration = {\n ...configuration,\n SalesgroupId: salesGroup.salesGroupId,\n SalesgroupName: salesGroup.salesGroupName,\n };\n }\n\n if (match && matchMarketingCodeData) {\n configuration = {\n ...configuration\n };\n }\n return configuration;\n};\n","import { TrackingConfiguration, TrackingOwnership, TrackingPersonalization, TrackingUser } from './tracking-types';\n\nexport const emptyPersonalization: TrackingPersonalization = {\n status: false,\n moduleId: undefined,\n placeholderId: undefined,\n contentId: undefined,\n activityId: undefined,\n personalizable: undefined,\n activityName: undefined,\n experienceId: undefined,\n experienceName: undefined,\n offerId: undefined,\n offerName: undefined,\n};\n\nexport const emptyPriceConfiguration: TrackingConfiguration = {\n PriceType: 'price',\n PriceTypeParameter: undefined,\n PriceRateCurrency: undefined,\n PriceRateBasic: undefined,\n PriceRateAdditional: undefined,\n PriceRateTotal: undefined,\n PriceRateType: undefined,\n PriceTotalCurrency: undefined,\n PriceTotalBasic: undefined,\n PriceTotalAdditional: undefined,\n PriceTotalTotal: undefined,\n};\n\nexport const emptyCarlineConfig: TrackingConfiguration = {\n SalesgroupId: undefined,\n SalesgroupName: undefined,\n EquipmentlineName: undefined,\n CarlineId: undefined,\n CarlineName: undefined,\n};\n\nexport const emptyLatLongZip: TrackingUser = {\n locationLatitude: undefined,\n locationLongitude: undefined,\n locationZIP: undefined,\n};\n\nexport const emptyConfig = { ...emptyPriceConfiguration, ...emptyCarlineConfig };\n\nexport const emptyOwnership: TrackingOwnership = {\n vehicle: undefined,\n};\n\nexport const emptyConfigurationFromVicci = {\n CarlineIsRecommendation: undefined,\n SalesgroupIsRecommendation: undefined,\n BodyTypeName: undefined,\n PriceTotalTotal: undefined,\n ModelId: undefined,\n ModelTrimFeatures: undefined,\n ModelModelVersion: undefined,\n ModelIsRecommendation: undefined,\n ModelName: undefined,\n ModelDriveType: undefined,\n ModelGearType: undefined,\n ModelYear: undefined,\n EnginePowerHPKW: undefined,\n EngineFuelTypePrimary: undefined,\n EngineFuelTypeNonPrimary: undefined,\n ConsumptionCombinedPrimary: undefined,\n ConsumptionCombinedNonPrimary: undefined,\n EmissionConsumptionEfficiencyClass: undefined,\n EmissionConsumptionTestingMethod: undefined,\n ExteriorColorCode: undefined,\n ExteriorColorName: undefined,\n ExteriorColorIsRecommendation: undefined,\n InteriorColorCode: undefined,\n InteriorColorName: undefined,\n InteriorColorIsRecommendation: undefined,\n WheelsBasicId: undefined,\n WheelsBasicName: undefined,\n WheelsBasicIsRecommendation: undefined,\n PriceCurrency: undefined,\n PriceBasis: undefined,\n PriceExterior: undefined,\n PriceOptions: undefined,\n PriceTotalConfiguration: undefined,\n PriceCampaignID: undefined,\n PriceCampaignDescription: undefined,\n PriceCampaignValue: undefined,\n PriceCustomerType: undefined,\n OptionsNumber: undefined,\n OptionsList: undefined,\n};\n","import {\n\tLayout,\n\tBreakpoints,\n\tContainer,\n\tText,\n\tImage,\n\tTextAlignment,\n\tTokenTextAppearance,\n\tCTA,\n\tContainerGutter,\n\tstyled,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { ActionType } from './AutosubmitController';\n\nconst ThankYouAutosubmitWrapper = styled.div`\n\tposition: relative;\n\tleft: 0;\n\tmargin-left: calc(var(--size-grid004) * -1);\n\tmargin-right: calc(var(--size-grid004) * -1);\n\n\t& > div > div > div > div > div:first-child {\n\t\twidth: 70%;\n\t}\n\n\t& img {\n\t\tobject-fit: cover;\n\t\theight: 80vh;\n\t}\n\n\t@media (max-width: 959px) {\n\t\t& > div > div > div > div > div:first-child {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t& img {\n\t\t\theight: auto;\n\t\t}\n\t}\n\n\t@media (max-width: 559px) {\n\t\tmargin-left: calc(var(--size-grid002) * -1);\n\t\tmargin-right: calc(var(--size-grid002) * -1);\n\t}\n`;\n\ninterface Props {\n\taction: string;\n}\n\nexport const ThankYouAutosubmit = (props: Props) => {\n\tconst { action } = props;\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\tconst { formResponse } = formInfo;\n\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\t\tdispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: 0, name: 'ThankYou' } } });\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(formResponse),\n\t\t);\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{action == ActionType.ClubVWUnsubscribeEmail ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tHemos procesado tu solicitud de baja con éxito.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSi necesitas más información, no dudes en contactar con nosotros. ¡Hasta pronto!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tGenial, ¡gracias!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tA partir de ahora te informaremos de todas las novedades para que no te pierdas nada sobre nuestros 100%\n\t\t\t\t\t\t\t\teléctricos, la Gama ID. ¡Disfruta de un presente electrizante!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDescubre más sobre nuestros eléctricos\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { createPincodeEntity } from '../dps-utils';\nimport { dpsSend, oneformBFFNdpsSend } from 'src/bff';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { formDataBuilder, formatHeaders } from '../format-fields';\nimport { GenericErrorLayer, LoadingEncuestas } from 'src/components';\nimport {\n\tgetParamsForm,\n\tuseFeatureServices,\n\tremoveWhiteSpace,\n\tuseNavigate,\n\tuseTrackingManager,\n\tgetTrackingForm,\n} from 'src/feature-app';\nimport { FormDataGroup, IdPerson, OneFormState } from 'src/types';\nimport { useDispatch, useStore } from 'react-redux';\nimport { TestIDForm } from '../FormsAdhoc/TestID2023/TestIDForm';\nimport { PlanIdealForm } from '../FormsAdhoc/2023PlanIdeal/PlanIdealForm';\nimport { ThankYouAutosubmit } from './ThankYouAutosubmit';\n\nexport enum ActionType {\n\tClubVWUnsubscribeEmail = 'clubvw-unsubscribe-email',\n\tNewsletterElectricos = 'newsletter-electricos',\n\tNewsletterElectricosAdhoc2023TestID = 'newsletter-electricos-adhoc-2023-test_id',\n\tNewsletterElectricosAdhoc2023PlanIdeal = 'newsletter-electricos-adhoc-2023-plan_ideal',\n}\n\ninterface AutosubmitControllerProps {\n\taction: string;\n}\n\nexport function AutosubmitController({ action }: AutosubmitControllerProps): JSX.Element | null {\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = useState(false);\n\tconst [showThankYou, setShowThankYou] = useState(false);\n\tconst [renderTestID, setRenderTestID] = useState(false);\n\tconst [renderPlanIdeal, setRenderPlanIdeal] = useState(false);\n\n\tconst dpsDataRef = useRef(null);\n\tconst idPersonRef = useRef(null);\n\tconst oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\tconst { navigateTo } = useNavigate();\n\tconst store = useStore();\n\tconst { formData }: OneFormState = store.getState();\n\n\tlet initialData: Partial = {};\n\n\tif (action == ActionType.ClubVWUnsubscribeEmail) {\n\t\tinitialData = {\n\t\t\theaders: {\n\t\t\t\tDPS_TOKEN: 'VW_DDB_CLUB_UNSUSCRIBE_EMAIL',\n\t\t\t\tFORM_OBJECTIVE: 'Club Volkswagen',\n\t\t\t\tFORM_NAME: 'vw-oneform-' + action + '-autosubmit',\n\t\t\t},\n\t\t\tfields: {\n\t\t\t\tformName: action + '-autosubmit',\n\t\t\t\tformType: 'newsletter',\n\t\t\t\tpageCategory: 'Club Volkswagen',\n\t\t\t},\n\t\t};\n\t} else {\n\t\tinitialData = {\n\t\t\theaders: {\n\t\t\t\tDESC_BRAND: 'VW',\n\t\t\t\tDESC_GDPR_ADAPTED: 'true',\n\t\t\t\tDESC_TOKEN: 'VW_DDB_FRM_NEWSLETTER_ELECTRICOS',\n\t\t\t\tDESC_FORMOBJECTIVE: 'Suscripción Newsletter',\n\t\t\t\tCOD_FORM_ID: 'vw-oneform-' + action + '-autosubmit',\n\t\t\t},\n\t\t\tfields: {\n\t\t\t\tformName: action + '-autosubmit',\n\t\t\t\tformType: 'newsletter',\n\t\t\t\tpageCategory: 'Suscripción Newsletter',\n\t\t\t},\n\t\t};\n\t}\n\n\tdispatch({ type: 'UPDATE_FORM', payload: { ...initialData } });\n\n\tconst sendNewsletterElectricosForm = (): Promise => {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\n\t\tconst { fields } = formData;\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t...formatHeaders(initialData.headers),\n\t\t\t\t'headers[DESC_URLORIGIN]': url,\n\t\t\t\t'headers[DESC_CAMPAIGNBLOCK]': '4. VW Newsletter',\n\t\t\t\t'headers[DESC_DEVICETYPE]': device,\n\t\t\t\t'headers[DESC_ID_CAMPAIGN]': '7011n000000SLXMAA4',\n\t\t\t\t'headers[FECHA_INSERTION_DATE]': today,\n\t\t\t\t'headers[TC]': tc,\n\t\t\t\t'headers[DESC_VN_VO]': 'VN',\n\n\t\t\t\t'fields[DESC_NAME]': idPerson?.FirstName ? idPerson.FirstName : null,\n\t\t\t\t'fields[DESC_SURNAME_1]': idPerson?.LastName ? idPerson.LastName : null,\n\n\t\t\t\t'fields[DESC_FORM_VERSION]': `vw-oneform-${initialData.fields.formName}-${process.env.VERSION}`,\n\t\t\t\t'fields[DESC_EMAIL_ADDRESS]':\n\t\t\t\t\tidPerson && idPerson.TXT_Email__c ? idPerson.TXT_Email__c : removeWhiteSpace(fields.email),\n\t\t\t\t'fields[DESC_LOPD]': 'NO INFORMADO',\n\t\t\t\t'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n\t\t\t\t'fields[DESC_LOPD_GDPR_PERFILADO]': 'NO INFORMADO',\n\t\t\t\t'fields[DESC_LSSI]': 'NO INFORMADO',\n\t\t\t};\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await dpsSend(formData);\n\n\t\t\tif (response && response.data?.content?.code == '200') {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t\t\t{\n\t\t\t\t\t\tcontentId: undefined,\n\t\t\t\t\t},\n\t\t\t\t\tgetTrackingForm(response),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t\tswitch (action) {\n\t\t\t\t\tcase ActionType.NewsletterElectricos:\n\t\t\t\t\t\tnavigateTo('inscripcion-newsletter-electricos');\n\t\t\t\t\t\t//setShowThankYou(true);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ActionType.NewsletterElectricosAdhoc2023TestID: // Render de form Test ID como continuación\n\t\t\t\t\t\tsetRenderTestID(true);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ActionType.NewsletterElectricosAdhoc2023PlanIdeal: // Render de Plan Ideal como continuación\n\t\t\t\t\t\tsetRenderPlanIdeal(true);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thandleError();\n\t\t\t}\n\t\t});\n\t};\n\n\tconst sendClubVWUnsubscribeForm = (): Promise => {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\t\tconst dpsData: DpsData = dpsDataRef.current;\n\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t...formatHeaders(initialData.headers),\n\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t'headers[FORM_DETAILS]': 'Unsubscribe Email',\n\t\t\t\t'headers[FORM_URL]': url,\n\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t\t'headers[SF_CAMPAIGN_ID]': 'PENDIENTE',\n\t\t\t\t'headers[SF_CAMPAIGN_NAME]': 'PENDIENTE',\n\t\t\t\t//'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\t\t\t\t'headers[FK_SYSTEM]': idPerson && idPerson.Id ? idPerson.Id : '',\n\n\t\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t\t'fields[PERSON_NAME]': idPerson && idPerson.FirstName ? idPerson.FirstName : '',\n\t\t\t\t'fields[PERSON_SURNAME_1]': idPerson && idPerson.LastName ? idPerson.LastName : '',\n\t\t\t\t'fields[PERSON_SURNAME_2]': idPerson && idPerson.MiddleName ? idPerson.MiddleName : '',\n\t\t\t\t'fields[PERSON_EMAIL]': idPerson && idPerson.PersonEmail ? idPerson.PersonEmail : '',\n\t\t\t\t'fields[PERSON_PHONE_MOBILE]': idPerson && idPerson.PersonMobilePhone ? idPerson.PersonMobilePhone : '',\n\n\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': 'NO INFORMADO',\n\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': 'NO INFORMADO',\n\n\t\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t};\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response && response.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t\t\t{\n\t\t\t\t\t\tcontentId: undefined,\n\t\t\t\t\t},\n\t\t\t\t\tgetTrackingForm(response),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t\tnavigateTo('clubvw-unsubscribe-email-thankyou');\n\t\t\t\t//setShowThankYou(true);\n\t\t\t} else {\n\t\t\t\thandleError();\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst handleComplete = () => {\n\t\tconst dpsData = oneFormService.getDpsData();\n\t\tconst idPerson = createPincodeEntity(dpsData, 'PERSON');\n\t\ttrackingManager.trackFormLayerLoad();\n\t\tdpsDataRef.current = dpsData;\n\t\tidPersonRef.current = idPerson;\n\n\t\tif (action == ActionType.ClubVWUnsubscribeEmail) {\n\t\t\tif (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n\t\t\t\thandleError();\n\t\t\t} else if (dpsData.pincode.pincodeUsed) {\n\t\t\t\thandleError();\n\t\t\t} else {\n\t\t\t\tsendClubVWUnsubscribeForm();\n\t\t\t}\n\t\t} else if (action == ActionType.NewsletterElectricos) {\n\t\t\tif (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n\t\t\t\thandleError();\n\t\t\t} else if (dpsData.pincode.pincodeUsed) {\n\t\t\t\thandleError();\n\t\t\t} else {\n\t\t\t\tsendNewsletterElectricosForm();\n\t\t\t}\n\t\t} else {\n\t\t\tsendNewsletterElectricosForm(); // Presubmit para mostrar forms adhoc\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tconst handleError = () => {\n\t\tsetError(true);\n\t\tsetLoading(false);\n\t};\n\n\tuseEffect(() => {\n\t\tconst oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n\t\toneFormCoreDpsIsLoaded.subscribe({\n\t\t\tnext(value) {},\n\t\t\terror(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t\thandleError();\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\thandleComplete();\n\t\t\t},\n\t\t});\n\t}, []);\n\n\tif (loading) {\n\t\treturn ;\n\t} else if (error) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else if (showThankYou) {\n\t\treturn ;\n\t} else if (renderTestID) {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\n\t\treturn ;\n\t} else if (renderPlanIdeal) {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\n\t\treturn ;\n\t}\n\treturn null;\n}\n","import { Container, ContainerPadding, CTA, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { GenericErrorLayer, Loading } from 'src/components';\nimport { IdPerson } from 'src/types';\n\ninterface BajaComunicacionesScreenProps {\n\tidPerson: IdPerson;\n\tsendAltaForm: () => Promise;\n}\n\nexport const BajaComunicacionesScreen = (props: BajaComunicacionesScreenProps) => {\n\tconst { idPerson, sendAltaForm } = props;\n\tconst [alta, setAlta] = useState(false);\n\tconst [errorAlta, setErrorAlta] = useState(false);\n\tconst [loading, setLoading] = useState(false);\n\n\tconst handleAlta = async () => {\n\t\tsetLoading(true);\n\t\tconst sent = await sendAltaForm();\n\t\tsetLoading(false);\n\t\tif (sent) {\n\t\t\tsetAlta(true);\n\t\t} else {\n\t\t\tsetErrorAlta(true);\n\t\t}\n\t};\n\n\tconst altaCTA = (\n\t\t {\n\t\t\t\te.preventDefault();\n\t\t\t\thandleAlta();\n\t\t\t}}\n\t\t\ttag=\"button\"\n\t\t\temphasis=\"tertiary\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\taquí\n\t\t\n\t);\n\n\treturn loading ? (\n\t\t\n\t) : errorAlta ? (\n\t\t<>\n\t\t\t\n\t\t\n\t) : !alta ? (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{idPerson.FirstName}, hemos recibido tu solicitud de baja.\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tActualmente estamos tramitando tu petición para que no recibas más comunicaciones comerciales de Volkswagen Group España Distribución.\n\t\t\t\n\t\t\t\n\t\t\t\tDurante este proceso, es posible que aún recibas algún contenido. Agradecemos tu paciencia y comprensión.\n\t\t\t\n\t\t\tSi has hecho click por error y te gustaría seguir recibiendo nuestras comunicaciones, por favor, confírmanos {altaCTA}.\n\t\t\n\t) : (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t¡Genial, {idPerson.FirstName}! Gracias por confirmarnos.\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tSeguiremos enviándote comunicaciones para que estés siempre al día.\n\t\t\t\n\t\t\tNos vemos pronto.\n\t\t\n\t);\n};\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { GenericErrorLayer, Loading } from 'src/components';\nimport { FormController, getTrackingForm, OneElementTemplateFullScreen, removeWhiteSpace, useOneFormContext, useTrackingManager } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { DpsData } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { FormDataGroup, FormInfo, IdPerson, OneFormState, Steps } from 'src/types';\nimport { formDataBuilder } from '../format-fields';\nimport { BajaComunicacionesScreen } from './BajaComunicacionesScreen';\n\ninterface BajaComunicacionesProps {\n\tidPerson: IdPerson;\n\tdpsData: DpsData;\n}\n\nexport const BajaComunicacionesForm = (props: BajaComunicacionesProps) => {\n\tconst { initializeForm } = useOneFormContext();\n\tconst { idPerson, dpsData } = props;\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst trackingManager = useTrackingManager();\n\tconst [error, setError] = useState(false);\n\tconst [loading, setLoading] = useState(true);\n\n\tconst sendAltaForm = async () => {\n\t\tconst result = await sendForm(true);\n\t\ttrackingManager.trackFormStepButtonClick({\n\t\t\tcontentId: 'Alta',\n\t\t});\n\t\treturn result;\n\t};\n\n\tuseEffect(() => {\n\t\tsendForm();\n\t}, []);\n\n\tconst steps: Steps[] = [\n\t\t{\n\t\t\ttitle: null,\n\t\t\tfields: } />,\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Form',\n\t\t},\n\t];\n\n\tlet BajaFormData: Partial = {\n\t\theaders: {\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_BAJA_COMUNICACIONES',\n\t\t\tFORM_OBJECTIVE: 'Baja Comunicaciones',\n\t\t\tFORM_NAME: 'vw-oneform-baja-comunicaciones',\n\t\t},\n\t\tfields: {\n\t\t\tformName: 'baja-comunicaciones',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'Baja Comunicaciones',\n\t\t}, // Analítica\n\t};\n\n\tconst getFormInfo = (): {\n\t\tfirstStep: Steps;\n\t\tlastStep: Steps;\n\t\tstepsHistory: number[];\n\t\tnumberOfScreens: number;\n\t\tnewSteps?: Steps[];\n\t} => {\n\t\treturn {\n\t\t\tfirstStep: steps[0],\n\t\t\tlastStep: steps[steps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: steps.length,\n\t\t\tnewSteps: null,\n\t\t};\n\t};\n\n\tconst sendForm = (isAlta?: boolean): Promise => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, url, referalUrl, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t'headers[DPS_TOKEN]': isAlta ? 'VW_DDB_FRM_ALTA_COMUNICACIONES' : BajaFormData.headers.DPS_TOKEN,\n\t\t\t\t'headers[FORM_OBJECTIVE]': isAlta ? 'Alta Comunicaciones' : BajaFormData.headers.FORM_OBJECTIVE,\n\t\t\t\t'headers[FORM_NAME]': isAlta ? 'vw-oneform-alta-comunicaciones' : BajaFormData.headers.FORM_NAME,\n\t\t\t\t'headers[FORM_REFERER]': url,\n\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t'headers[FORM_VERSION]': `vw-oneform-baja-comunicaciones-${process.env.VERSION}`,\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_EMAIL]': idPerson && idPerson.PersonEmail ? idPerson.PersonEmail : removeWhiteSpace(fields.email),\n\t\t\t\t'fields[COMMENTS_PERSON]': fields.masInformacion,\n\t\t\t\t'fields[PERSON_NAME]': idPerson && idPerson.FirstName ? idPerson.FirstName : fields.name,\n\t\t\t\t'fields[PERSON_SURNAME_1]': idPerson && idPerson.LastName ? idPerson.LastName : fields.surname,\n\t\t\t\t'fields[PERSON_SURNAME_2]': idPerson && idPerson.MiddleName ? idPerson.MiddleName : fields.secondSurname,\n\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': isAlta ? 'PERMITE' : 'NO PERMITE',\n\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\n\t\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t\t'flags[FLAG_RELACION_MARCA_SIN_IC]': '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\tsetLoading(false);\n\n\t\t\tif (response?.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\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.data),\n\t\t\t\t);\n\t\t\t\tsetError(false);\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tsetError(true);\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tformTheme: 'main',\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : steps,\n\t\t\tstepsHistory,\n\t\t\tnotALayer: true,\n\t\t\tformType: 'inPage',\n\t\t\talingItemsCenter: true,\n\t\t\tthankYouComponent: null,\n\t\t};\n\t\tinitializeForm(NuevoFormInfo, BajaFormData);\n\t}, []);\n\n\treturn loading || !steps ? (\n\t\t\n\t) : error ? (\n\t\t<>\n\t\t\t\n\t\t\n\t) : (\n\t\t\n\t);\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { GenericErrorLayer, Loading } from 'src/components';\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';\n\nexport interface BajaComunicacionesProps {\n\tidPerson: IdPerson;\n\thandleError: () => void;\n}\n\nexport function BajaComunicacionesController() {\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = 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 handleNext = (value: any) => {};\n\n\tconst handleComplete = () => {\n\t\tconst dpsData = oneFormService.getDpsData();\n\t\tdpsDataRef.current = dpsData;\n\n\t\tif (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n\t\t\tsetLoading(false);\n\t\t} else if (dpsData.pincode.pincodeUsed) {\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\tconst idPerson = createPincodeEntity(dpsData, 'PERSON');\n\t\t\tidPersonRef.current = idPerson;\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\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 {\n\t\treturn ;\n\t}\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n CTA,\n Spinner,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\n\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState, useCallback } from 'react';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\ninterface loadingSreenProps {\n isleads?: boolean;\n copy?: string;\n}\n\nexport function LoadingScreen(props: loadingSreenProps) {\n return (\n \n \n {props.copy ? {props.copy} : Enviando tu petición}\n \n );\n}\n\ninterface KoScreenProps {\n retrySubmit: (e: any) => void;\n closeLayerCallback?: CloseHandleV2;\n title?:string;\n bodyCopy?:string;\n isLEM?: boolean;\n hideSecondCTA?: boolean;\n}\n\nexport function KoScreen(props: KoScreenProps) {\n const { retrySubmit, closeLayerCallback, title, bodyCopy, isLEM, hideSecondCTA } = props;\n\n return (\n \n \n
\n \n
\n \n {title? title : 'Uy, algo ha pasado'}\n \n \n \n {bodyCopy? bodyCopy : 'Por alguna razón no hemos podido recoger tus datos. ¿Lo intentamos de nuevo?'}\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n \n Ir a la web\n \n ) : (\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Seguir navegando\n \n )\n }\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n \n Ir a la web\n \n ) : (\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n Seguir navegando\n \n )\n }\n \n \n \n \n \n
\n );\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n CTA,\n styled,\n Layout,\n} from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions, PoliticaPrivacidad } from 'src/components';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect, useDispatch, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { KoScreen, LoadingScreen } from './ConfirmarCallMeLayer';\n\nconst GeneralconfirmacionWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n\nfunction ConfirmacionCallMeOferta() {\n const dispatch = useDispatch();\n\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n\n
\n \n
\n \n \n
\n );\n}\n\ninterface LastNavigationProps {\n tmk?: string;\n lssi?: string;\n setTmkError?: React.Dispatch>;\n setLssiError?: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmarCallMe(e: any) {\n if (tmk === null && tmk === null) {\n setTmkError(true);\n setLssiError(true);\n } else if (tmk === null) {\n setTmkError(true);\n } else if (lssi === null) {\n setLssiError(true);\n } else {\n\n const isValid = await triggerValidation();\n\n if (!isValid) return;\n\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n \n {\n e.preventDefault();\n handleConfirmarCallMe(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n {\n e.preventDefault();\n handleConfirmarCallMe(e);\n }}\n >\n Enviar\n \n \n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ConfirmacionCallMeOferta);\n\nexport { ConnectedComponent as ConfirmacionCallMeOferta };\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport {\n Text,\n Container,\n ContainerPadding,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { TwoElementsTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionCallMeOferta } from './ConfirmacionCallMeOferta';\nimport { Nombre, Telefono } from 'src/components';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, MolecularResponse } from 'src/types';\nimport { FormController, useFaContent, useFeatureAppConfig, useOneFormContext } from 'src/feature-app';\nimport { ThankYouCallMeOferta } from '.';\nimport { useGetBrand } from 'src/feature-app/hooks';\n\nexport enum CallMeOfertaSteps {\n NombreTelefono,\n Confirmacion,\n}\n\nexport function CallMeOfertaForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const faContent = useFaContent();\n const brand = useGetBrand();\n\n const steps: Steps[] = [\n {\n title: (\n \n \n Para llamarte, necesitamos tus datos de contacto\n \n \n Nos pondremos en contacto contigo de lunes a viernes de 9:00 h a 19:30 h (excepto\n festivos nacionales) para darte más información.\n \n \n ),\n fields: (\n \n \n }\n secondElement={}\n />\n \n ),\n screenIndex: CallMeOfertaSteps.NombreTelefono,\n name: 'NombreTelefono',\n outputs: ['name', 'cellphone'],\n outputsText: ['name', 'cellphone'],\n },\n {\n fields: ,\n screenIndex: CallMeOfertaSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'callme-oferta', formType: 'contact', pageCategory: 'Call Me Oferta' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n //Set de data para Producción\n const dataPro = {\n name: fields.name,\n // phone: `${fields.prefix}${fields.cellphone}`,\n phone: `${fields.cellphone}`,\n\n DESC_LSSI: fields.lssi === 'PERMITIDO' ? 'S' : 'N',\n DESC_LOPD_GDPR_PERFILADO: fields.tmk === 'PERMITIDO' ? 'S' : 'N',\n\n ref: url,\n\n oferta: faContent.oferta.modalidad + ' ' + faContent.oferta.cuotaText + ' ' + faContent.oferta.financiacionText,\n modelo: faContent.oferta.carline.title + ' ' + faContent.oferta.motorizacion,\n modelo_code: faContent.oferta.carline.code + '_' + faContent.marketingCodeConfig.SalesgroupId,\n };\n\n //Set de data para Preproducción\n const dataPre = {\n PRE: 1,\n name: fields.name,\n // phone: `${fields.prefix}${fields.cellphone}`,\n phone: `${fields.cellphone}`,\n\n DESC_LSSI: fields.lssi === 'PERMITIDO' ? 'S' : 'N',\n DESC_LOPD_GDPR_PERFILADO: fields.tmk === 'PERMITIDO' ? 'S' : 'N',\n\n ref: url,\n\n oferta: faContent.oferta.modalidad + ' ' + faContent.oferta.cuotaText + ' ' + faContent.oferta.financiacionText,\n modelo: faContent.oferta.carline.title + ' ' + faContent.oferta.motorizacion,\n modelo_code: faContent.oferta.carline.code + '_' + faContent.marketingCodeConfig.SalesgroupId,\n };\n\n const response: AxiosResponse = await Axios.post(\n 'https://www.volkswagencomerciales.es/call-me-now/email',\n window.location.hostname === 'www.volkswagen-comerciales.es' ? dataPro : dataPre\n ).catch((err) => {\n return null;\n });\n\n if (response && response.data && response.data.success && response.status == 200) {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n notALayer: false,\n formType: 'layer',\n stepsHistory,\n thankYouComponent: ,\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n return ;\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\nimport { useGetBrand } from 'src/feature-app/hooks';\n\n\nexport const ThankYouCallMeOferta = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const brand = useGetBrand();\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n const comercialesScreen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { Breakpoints, styled, Text, Layout, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { OneFormState } from 'src/types';\nimport { LssiTkmQuestions, PoliticaPrivacidad, LastNavigation } from 'src/components';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { LegalesCEM, LegalesSinConsentimientosCEM } from '.';\n\nconst ContentWrapper = styled.div`\n\tmin-height: calc(100vh - 227px);\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\t@media all and (min-width: 960px) {\n\t\tmin-height: calc(100vh - 227px);\n\t}\n\t.content-wrapper {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const ConfirmacionCem = () => {\n\tconst dispatch = useDispatch();\n\tconst { fields } = useSelector((state: OneFormState) => state.formData);\n\tconst [lssiPincode, setLssiPincode] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (fields) {\n\t\t\tsetLssiPincode(fields.lssiPincode);\n\t\t}\n\t}, [fields]);\n\n\tuseEffect(() => {\n\t\tif (lssiPincode === 'PERMITE') {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n\t\t}\n\t}, [lssiPincode]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{lssiPincode === 'PERMITE' ? (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t¿Listo para enviar?\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMantente al día\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\t{lssiPincode === 'PERMITE' ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n","import {getInstallations, reportErrorSentry} from 'src/bff';\nimport {DpsData} from 'src/feature-service/es-oneform-core-feature-service/types';\nimport {arrayToObject, transformDate} from 'src/helpers';\nimport {IdDealer} from 'src/types';\n\nexport const valueWrongMarca = 1;\nexport const valueWrongModelo = 2;\nexport const valueWrongConcesion = 3;\nexport const valueWrongPersona = 4;\n\nexport const stepNameToFieldName = (str: string) => {\n\tif (!str) return str;\n\treturn str.charAt(0).toLowerCase() + str.slice(1);\n};\n\nexport const sanitizeKvps = (kvps: string) => {\n\t// ESP12345X -> 12345\n\treturn kvps.replace(/^ESP(\\d+)[A-Z]$/, '$1');\n};\n\nexport const formatSinRespuestaValue = (answer: string) => {\n\tif (!answer) return undefined;\n\tif (answer == 'Sin respuesta' || Number(answer) == -1) return '9';\n\treturn answer;\n};\n\ninterface Data {\n\t[key: string]: string;\n}\n\nclass CEMDataError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'CEMDataError';\n\t}\n}\n\nexport const checkUndefinedsInData = (data: Data, form: string) => {\n\tObject.entries(data).map((entry) => {\n\t\tconst [field, data] = entry;\n\t\tif (data?.includes('undefined')) {\n\t\t\tconst error = new CEMDataError(`Undefined en el formulario CEM ${form}. ${field} tiene el valor ${data}`);\n\t\t\treportErrorSentry(error);\n\t\t}\n\t});\n};\n\nexport const getCemDate = (date: string) => {\n\tconst cemDate1 = transformDate(date, 'DD/MM/YYYY', 'YYYY-MM-DD');\n\tconst cemDate2 = transformDate(date, 'DD/MM/YYYY', 'DD-MM-YYYY');\n\tconst cemDate3 = transformDate(date, 'DD/MM/YYYY', 'DD/MM/YYYY');\n\tif (cemDate1) {\n\t\treturn cemDate1 + ' 12:00:00';\n\t} else if (cemDate2) {\n\t\treturn cemDate2 + ' 12:00:00';\n\t} else if (cemDate3) {\n\t\treturn cemDate3 + ' 12:00:00';\n\t}\n\treturn '';\n};\n\nexport const getInstallation = async (dpsData: DpsData, idDealer: IdDealer, domain: string) => {\n\tconst installationsRaw = await getInstallations('VW_DDB_FRM_LEM_REC_LEM', domain);\n\tif (!installationsRaw) {\n\t\tconsole.error('Installations not found');\n\t\treturn null;\n\t}\n\tconst installations = installationsRaw.map((instal) => arrayToObject(instal.attributes)) as IdDealer[];\n\tlet installation = null;\n\n\tif (dpsData.dealer) {\n\t\tinstallation = installations.find(\n\t\t\t(instal) => \n\t\t\t\tinstal.VGED_DealerCode__c == dpsData.dealer\n\t\t) 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) {\n\t\tinstallation = installations.find(\n\t\t\t(instal) => \n\t\t\t\tinstal.VGED_DealerCode__c == idDealer.VGED_DealerCode__c || \n\t\t\t\tsanitizeKvps(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';\nimport { findValidDayjs } from 'src/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 ? findValidDayjs(atob(dpsData.fe)) : null;\n\t\t\tif (fechaEnvio && today.diff(dayjs(fechaEnvio), 'day') > 0) {\n\t\t\t\tsetCaducado(true);\n\t\t\t} else {\n\t\t\t\tlet domain = 'VOLKSWAGEN_SF_CONCESSION_ALL';\n\t\t\t\tif (faContent.cem == 'POSVENTA' || faContent.encuesta == 'CEM - POSVENTA') {\n\t\t\t\t\tdomain = 'VOLKSWAGEN_SF_INSTALLATION_ALL';\n\t\t\t\t\tsetIsPosventa(true);\n\t\t\t\t} else if ((faContent.cem == 'VENTA' || faContent.encuesta == 'CEM - VENTA')) {\n\t\t\t\t\tsetIsPosventa(false);\n\t\t\t\t} else {\n\t\t\t\t\thandleError('Form not found');\n\t\t\t\t}\n\t\t\t\tconst installation = await getInstallation(dpsData, idDealer, domain);\n\t\t\t\tif (installation) {\n\t\t\t\t\tsetInstallation(installation);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\thandleError();\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tconst handleError = (message?: string) => {\n\t\tsetError(true);\n\t\tsetLoading(false);\n\t\tif (message) {\n\t\t\tconsole.error(message);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tconst oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n\t\toneFormCoreDpsIsLoaded.subscribe({\n\t\t\tnext(value) {\n\t\t\t\thandleNext(value);\n\t\t\t},\n\t\t\terror(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t\thandleError();\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\thandleComplete();\n\t\t\t},\n\t\t});\n\t}, []);\n\n\tif (loading) {\n\t\treturn ;\n\t} else if (error) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else if (caducado) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else if (usado) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{isPosventa ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport function ThankYouCEM() {\n\tconst { formResponse } = useSelector((state: OneFormState) => state.formInfo);\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\n\tuseEffect(() => {\n\t\t// Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n\t\tconst screenIndexThankyou = formResponse.numberOfScreens;\n\n\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\t\tdispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } } });\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(formResponse)\n\t\t);\n\t}, []);\n\n\tconst screen: Steps = {\n\t\ttitle: ,\n\t\tfields: ,\n\t};\n\treturn (\n\t\t\n\t);\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport {\n\tFormController,\n\tisHighRating,\n\tisLowRating,\n\tisNoRating,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { CemFormProps, LastQuestionFlow, getStepsPosVenta } from 'src/forms/Cem';\nimport {\n\tcheckUndefinedsInData,\n\tformatSinRespuestaValue,\n\tgetCemDate,\n\tgetSfAddressRest,\n\tsanitizeKvps,\n\tstepNameToFieldName,\n\tvalueWrongConcesion,\n\tvalueWrongMarca,\n\tvalueWrongModelo,\n\tvalueWrongPersona,\n} from 'src/forms/Cem/helpers';\nimport { ThankYouCEM } from 'src/forms/Cem/ThankYouCem';\nimport { formatHeaders, formDataBuilder } from 'src/forms/format-fields';\nimport {\n\taddRemovedStep,\n\tgetArrayOfStepsNames,\n\tgetIndexInSteps,\n\tremoveMultipleStepsAndResetScreenIndex,\n\tresetStepsScreenIndex,\n} from 'src/forms/helpers/add-remove-steps';\nimport { formatToTwoChars, strTitlelize } from 'src/helpers';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\n\nexport function CemFormPosventa(props: CemFormProps) {\n\tconst { idOrder, idPerson, idVehicle, idDealer, dpsData, installation } =\n\t\tprops;\n\tconst { initializeForm, handleNextStep } = useOneFormContext();\n\tconst { formData } = useSelector((state: OneFormState) => state);\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst [loading, setLoading] = useState(false);\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tconst {\n\t\tdatosCorrectos,\n\t\tdatosIncorrectos,\n\t\tsatisfaccionTrato,\n\t\tsatisfaccionOrganizacion,\n\t\tsatisfaccionTrabajoRealizado,\n\t\tsatisfaccionConcesion,\n\t\tmodelo,\n\t\tenviarConcesion,\n\t\tmasPreguntas,\n\t\tservicioAnteriorIncorrecto,\n\t} = formData.fields;\n\n\tconst modeloRef = useRef(null);\n\n\tconst getInstallationName = () => {\n\t\treturn strTitlelize(\n\t\t\tinstallation?.VGED_CommercialName__c \n\t\t\t\t? installation.VGED_CommercialName__c \n\t\t\t\t: idDealer?.VGED_CommercialName__c \n\t\t\t\t? idDealer.VGED_CommercialName__c \n\t\t\t\t: ''\n\t\t);\n\t};\n\n\t// Necesitamos almacenar el modelo ya que cada vez que el usuario selecciona un modelo se modifican los steps, por lo que necesitamos una referencia para saber que modelo hay que sustituir.\n\n\tconst NuevoFormData: Partial = {\n\t\theaders: {\n\t\t\tFORM_DETAILS: 'CEM Posventa',\n\t\t\tFORM_OBJECTIVE: 'Encuesta',\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_CEM_PV_2025',\n\t\t\tFORM_ID: 'Email_B04_C01_CEM_Aftersales',\n\t\t},\n\t\tfields: {\n\t\t\tlssiPincode: idPerson.LSSI__c,\n\t\t\tformName: 'cem-posventa',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'Encuesta',\n\t\t\tname: idPerson.FirstName,\n\t\t\tsurname: idPerson.LastName,\n\t\t\tsecondSurname: idPerson.MiddleName,\n\t\t\tinstallation: getInstallationName(),\n\t\t}, // Analítica\n\t};\n\n\tconst sendSurvey = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\treturn !(\n\t\t\t// negation\n\t\t\t(\n\t\t\t\t(fields.datosCorrectos == 'false' &&\n\t\t\t\t\tfields.datosIncorrectos == valueWrongMarca) ||\n\t\t\t\t(fields.datosCorrectos == 'false' &&\n\t\t\t\t\tfields.datosIncorrectos == valueWrongPersona) ||\n\t\t\t\t(fields.datosCorrectos == 'false' &&\n\t\t\t\t\tfields.datosIncorrectos == valueWrongConcesion)\n\t\t\t)\n\t\t);\n\t};\n\n\tconst getData = (addSurvey?: boolean) => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields, headers } = formData;\n\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\tconst data = {\n\t\t\t...formatHeaders(headers),\n\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t'headers[FORM_URL]': url,\n\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\t\t\t'headers[FK_SYSTEM]': dpsData.or,\n\n\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t//'fields[SF_LEAD_INSTALLATION_ID]': installation.Id,\n\t\t\t'fields[SF_LEAD_INSTALLATION_NAME]': installation.VGED_CommercialName__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE]': installation.VGED_DealerCode__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE_KVPS]': sanitizeKvps(installation.KVPSCode__c),\n\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi\n\t\t\t\t? fields.lssi\n\t\t\t\t: 'NO INFORMADO',\n\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t'fields[PERSON_EMAIL]': idPerson.PersonEmail,\n\t\t\t'fields[PERSON_PHONE_MOBILE]': idPerson.PersonMobilePhone,\n\t\t\t'fields[PERSON_POSTAL_ROAD_NAME]': getSfAddressRest(\n\t\t\t\tidPerson.PersonMailingAddress,\n\t\t\t\t'street',\n\t\t\t),\n\t\t\t'fields[PERSON_POSTAL_CP]': getSfAddressRest(\n\t\t\t\tidPerson.PersonMailingAddress,\n\t\t\t\t'postalCode',\n\t\t\t),\n\t\t\t'fields[PERSON_POSTAL_LOCATION]': getSfAddressRest(\n\t\t\t\tidPerson?.PersonMailingAddress,\n\t\t\t\t'city',\n\t\t\t),\n\t\t\t'fields[PERSON_POSTAL_PROVINCE_CODE]': formatToTwoChars(\n\t\t\t\tgetSfAddressRest(idPerson.PersonMailingAddress, 'stateCode'),\n\t\t\t),\n\t\t\t'fields[VEH_ACTUAL_PLATE]': idVehicle.VGED_RegistrationPlate__c,\n\t\t\t'fields[VEH_ACTUAL_FRAME]': idVehicle.Name,\n\t\t\t'fields[VEH_ACTUAL_MODEL]': idVehicle.VGED_ModelGroup__c\n\t\t\t\t? idVehicle.VGED_ModelGroup__c\n\t\t\t\t: dpsData.model\n\t\t\t\t? dpsData.model\n\t\t\t\t: null,\n\n\t\t\t'fields[SURVEY_ANSWER_01]': fields.datosCorrectos == 'true' ? '1' : '2',\n\t\t\t'fields[SURVEY_ANSWER_02]':\n\t\t\t\tfields.datosCorrectos == 'false' ? fields.datosIncorrectos : null,\n\t\t\t'fields[SURVEY_ANSWER_03]':\n\t\t\t\tfields.datosCorrectos == 'false' && fields.datosIncorrectos == 2\n\t\t\t\t\t? fields.modelo\n\t\t\t\t\t: null,\n\t\t\t// conditional send\n\t\t\t'fields[SURVEY_ANSWER_30]': fields.publicarRespuestas,\n\t\t\t'fields[SURVEY_ANSWER_32]': dpsData.adviser,\n\t\t\t'fields[SURVEY_ANSWER_34]': fields.enviarConcesion,\n\n\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t//'flags[FLAG_RELACION_MARCA_SIN_IC]': 'false',\n\t\t};\n\n\t\tif (sendSurvey() || addSurvey) {\n\t\t\tdata['fields[SURVEY_ANSWER_04]'] = fields.razonVolverTaller;\n\t\t\tdata['fields[SURVEY_ANSWER_06]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTrato,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_07]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTratoMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_08]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionOrganizacion,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_09]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionOrganizacionMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_10]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTrabajoRealizado,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_11]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTrabajoRealizadoMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_12]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionConcesion,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_13]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionConcesionMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_14]'] = formatSinRespuestaValue(\n\t\t\t\tfields.aspectoSatisfaccionMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_15]'] = fields.contactoSatisfaccion;\n\t\t\tdata['fields[SURVEY_ANSWER_16]'] = fields.servicioAnteriorIncorrecto;\n\t\t\tdata['fields[SURVEY_ANSWER_17]'] = formatSinRespuestaValue(\n\t\t\t\tfields.tiempoSatisfaccion,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_18]'] = !fields.motivoVisita ? '99' : fields.motivoVisita\n\t\t\t\t?.split(',')\n\t\t\t\t.sort((a, b) => a - b)\n\t\t\t\t.join('|');\n\t\t\tdata['fields[SURVEY_ANSWER_19]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionVehiculo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_20]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionVehiculoMotivo,\n\t\t\t);\n\t\t}\n\n\t\tif (dpsData.dat) {\n\t\t\tdata['fields[CEM_DATE]'] = getCemDate(dpsData.dat);\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tuseEffect(() => {\n\t\tif (dev) {\n\t\t\tconsole.log(getData(true));\n\t\t}\n\t}, [formData]);\n\n\tconst sendForm = (): Promise => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst dataStringified = JSON.stringify(getData());\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tcheckUndefinedsInData(getData(), 'Posventa');\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response && response.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\t/**\n\t * Se extrae la lógica para poder utilizarla por separado sin tener que usar las funciones de loading o updateSteps\n\t * ya que hay una pregunta en la que podemos eliminar y añadir un step en el mismo paso.\n\t * @param stepsToAdd\n\t * @param alternativeSteps\n\t * @returns\n\t */\n\tconst addingStepsLogic = (\n\t\tstepsToAdd: string[],\n\t\talternativeSteps?: Steps[],\n\t) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tconst stepsToUse = alternativeSteps ? alternativeSteps : actualSteps;\n\t\t// Hay que revertir los steps para que se añadan en el orden correcto\n\t\tconst indexesInSteps = stepsToAdd\n\t\t\t.reverse()\n\t\t\t.map((step) => getIndexInSteps(stepsToUse, step));\n\t\tlet newSteps = [...stepsToUse];\n\n\t\tindexesInSteps.forEach((index, i) => {\n\t\t\tif (index === -1) {\n\t\t\t\tnewSteps = addRemovedStep(\n\t\t\t\t\tgetStepsPosVenta(getInstallationName(), getVehicleName()),\n\t\t\t\t\tstepsToUse,\n\t\t\t\t\tstepsToAdd[i],\n\t\t\t\t\tscreenIndex,\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t\tconst finalSteps = resetStepsScreenIndex(newSteps);\n\t\treturn finalSteps;\n\t};\n\n\tconst addSteps = (stepsToAdd: string[]) => {\n\t\tsetLoading(true);\n\n\t\tconst finalSteps = addingStepsLogic(stepsToAdd);\n\t\tupdateSteps(finalSteps);\n\t\thandleNextStep();\n\n\t\tsetLoading(false);\n\t};\n\n\tconst removeSteps = (stepsToDelete: string[]) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(\n\t\t\tsteps,\n\t\t\tstepsToDelete,\n\t\t);\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst updateSteps = (steps: Steps[]) => {\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: steps });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n\t};\n\n\tconst getVehicleName = () => {\n\t\tif(!idVehicle) return '';\n\t\treturn idVehicle.VGED_ModelGroup__c \n\t\t? idVehicle.VGED_ModelGroup__c \n\t\t: dpsData.model \n\t\t? dpsData.model \n\t\t: 'Volkswagen';\n\t};\n\n\tconst replaceModelo = (string: string) => {\n\t\tif (modeloRef.current) {\n\t\t\treturn string.replace(modeloRef.current, modelo);\n\t\t} else {\n\t\t\treturn string.replace(idVehicle.VGED_ModelGroup__c, modelo);\n\t\t}\n\t};\n\n\tconst modifyTitleSteps = (\n\t\tsteps: Steps[],\n\t\treplaceCallback: (s: string) => string,\n\t) => {\n\t\treturn steps.map((step) => {\n\t\t\tif (!step.title) return step;\n\t\t\tif (Array.isArray(step.title.props.children)) {\n\t\t\t\tstep.title.props.children = step.title.props.children.map(\n\t\t\t\t\t(child: any) => {\n\t\t\t\t\t\tif (typeof child === 'object') {\n\t\t\t\t\t\t\tif (typeof child.props.children === 'object') {\n\t\t\t\t\t\t\t\tchild.props.children.props.children = replaceCallback(\n\t\t\t\t\t\t\t\t\tchild.props.children.props.children,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchild.props.children = replaceCallback(child.props.children);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchild = replaceCallback(child);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn child;\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else if (typeof step.title.props.children === 'object') {\n\t\t\t\tstep.title.props.children.props.children = replaceCallback(\n\t\t\t\t\tstep.title.props.children.props.children,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tstep.title.props.children = replaceCallback(step.title.props.children);\n\t\t\t}\n\t\t\treturn step;\n\t\t});\n\t};\n\n\tconst getOrderStep = (\n\t\torder: number,\n\t\tsc4: number,\n\t\tsc5: number,\n\t\tsc6: number,\n\t) => {\n\t\treturn order === 1 ? sc4 : order === 2 ? sc5 : order === 3 ? sc6 : null;\n\t};\n\n\tconst shuffle = (array: number[]): number[] =>\n\t\tarray.sort(() => Math.random() - 0.5);\n\n\t/**\n\t * El orden de las preguntas Sc_4,Sc_5 y Sc_6 tiene que ser aleatorio.\n\t * @param steps\n\t */\n\tconst randomizeSteps = (steps: Steps[]): Steps[] => {\n\t\tconst sc4 = getIndexInSteps(steps, 'SatisfaccionTrato');\n\t\tconst sc4Motivo = getIndexInSteps(steps, 'SatisfaccionTratoMotivo');\n\n\t\tconst sc5 = getIndexInSteps(steps, 'SatisfaccionOrganizacion');\n\t\tconst sc5Motivo = getIndexInSteps(steps, 'SatisfaccionOrganizacionMotivo');\n\n\t\tconst sc6 = getIndexInSteps(steps, 'SatisfaccionTrabajoRealizado');\n\t\tconst sc6Motivo = getIndexInSteps(\n\t\t\tsteps,\n\t\t\t'SatisfaccionTrabajoRealizadoMotivo',\n\t\t);\n\n\t\tconst newSteps = [...steps];\n\t\tconst [first, second, third] = shuffle([1, 2, 3]);\n\t\tconst firstStep = getOrderStep(first, sc4, sc5, sc6);\n\t\tconst secondStep = getOrderStep(second, sc4, sc5, sc6);\n\t\tconst thirdStep = getOrderStep(third, sc4, sc5, sc6);\n\t\tnewSteps[sc4] = steps[firstStep];\n\t\tnewSteps[sc4Motivo] = steps[firstStep + 1];\n\t\tnewSteps[sc5] = steps[secondStep];\n\t\tnewSteps[sc5Motivo] = steps[secondStep + 1];\n\t\tnewSteps[sc6] = steps[thirdStep];\n\t\tnewSteps[sc6Motivo] = steps[thirdStep + 1];\n\t\treturn newSteps;\n\t};\n\n\tconst getFormInfo = (steps: Steps[]) => {\n\t\tconst randomizedSteps = randomizeSteps(steps);\n\n\t\treturn {\n\t\t\tfirstStep: randomizedSteps[0],\n\t\t\tlastStep: randomizedSteps[randomizedSteps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: randomizedSteps.length,\n\t\t\tnewSteps: randomizedSteps,\n\t\t};\n\t};\n\n\t// Lógica para modificar el flujo del formulario\n\tuseEffect(() => {\n\t\tif (modelo) {\n\t\t\tconst newSteps = modifyTitleSteps(getStepsPosVenta(getInstallationName(), getVehicleName()), replaceModelo);\n\t\t\tmodeloRef.current = modelo;\n\t\t\tupdateSteps(newSteps);\n\t\t}\n\t}, [modelo]);\n\n\tuseEffect(() => {\n\t\tif (datosCorrectos === 'true') {\n\t\t\tconst steps = store.getState().formInfo.steps;\n\t\t\tconst modelo = getIndexInSteps(steps, 'Modelo');\n\t\t\t// En el caso de elegir que los datos son incorrectos, llegar a confirmación y volver atrás hay que regenerar todos los pasos.\n\t\t\tif (modelo === -1) {\n\t\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(\n\t\t\t\t\tinitialSteps,\n\t\t\t\t\t['DatosIncorrectos', 'Modelo'],\n\t\t\t\t);\n\t\t\t\tupdateSteps(finalSteps);\n\t\t\t} else {\n\t\t\t\tremoveSteps(['DatosIncorrectos', 'Modelo', 'ConfirmacionConcesion']);\n\t\t\t}\n\t\t} else if (datosCorrectos === 'false') {\n\t\t\taddSteps(['DatosIncorrectos', 'Modelo']);\n\t\t}\n\t}, [datosCorrectos]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdatosIncorrectos == valueWrongMarca ||\n\t\t\tdatosIncorrectos == valueWrongConcesion ||\n\t\t\tdatosIncorrectos === valueWrongPersona\n\t\t) {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newsteps = [\n\t\t\t\tpastSteps[0],\n\t\t\t\tpastSteps[1],\n\t\t\t\tpastSteps[pastSteps.length - 1],\n\t\t\t];\n\t\t\tconst finalSteps = resetStepsScreenIndex(newsteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t\tif (datosIncorrectos == valueWrongModelo) {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = resetStepsScreenIndex(initialSteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t}, [datosIncorrectos]);\n\n\tuseEffect(() => {\n\t\tif (!enviarConcesion) {\n\t\t\treturn;\n\t\t}\n\t\tif (enviarConcesion === '3') {\n\t\t\taddSteps(['DatosPersonales']);\n\t\t} else {\n\t\t\tremoveSteps(['DatosPersonales']);\n\t\t}\n\t}, [enviarConcesion]);\n\n\tuseEffect(() => {\n\t\tif (!masPreguntas) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (masPreguntas === 'true') {\n\t\t\tconst stepNames = getArrayOfStepsNames(\n\t\t\t\tgetStepsPosVenta(getInstallationName(), getVehicleName()),\n\t\t\t\t'MasPreguntas',\n\t\t\t\t'EnviarConcesion',\n\t\t\t);\n\t\t\taddSteps(stepNames);\n\t\t} else if (masPreguntas === 'false') {\n\t\t\tconst { steps } = store.getState().formInfo;\n\t\t\tconst stepNames = getArrayOfStepsNames(\n\t\t\t\tsteps,\n\t\t\t\t'MasPreguntas',\n\t\t\t\t'EnviarConcesion',\n\t\t\t);\n\t\t\tremoveSteps(stepNames);\n\t\t}\n\t}, [masPreguntas]);\n\n\tuseEffect(() => {\n\t\tif (!servicioAnteriorIncorrecto) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (servicioAnteriorIncorrecto == '1') {\n\t\t\tremoveSteps(['RazonVolverTaller']);\n\t\t} else {\n\t\t\taddSteps(['RazonVolverTaller']);\n\t\t}\n\t}, [servicioAnteriorIncorrecto]);\n\n\t/**\n\t * Se tiene que de manera consecutiva y no mediante las otras funciones porque si no, se actualizan los steps dos veces y en el segundo paso (añadir o eliminar el otro step) se hace siempre sobre los steps antiguos y no funciona de la manera esperada.\n\t *\n\t * @param stepToRemove\n\t * @param stepToAdd\n\t */\n\tconst removeAndAddStepAtTheSameTime = (\n\t\tstepToRemove: string,\n\t\tstepToAdd: string,\n\t) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst removedSteps = removeMultipleStepsAndResetScreenIndex(steps, [\n\t\t\tstepToRemove,\n\t\t]);\n\t\tconst addedSteps = addingStepsLogic([stepToAdd], removedSteps);\n\t\tconst finalSteps = resetStepsScreenIndex(addedSteps);\n\t\thandleNextStep();\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst handleShowMotivo = (nameOfMotivoStep: string, value?: string) => {\n\t\tif (value) {\n\t\t\tif (Number(value) == -1) value = 'Sin respuesta';\n\t\t\tif (isLowRating(value)) {\n\t\t\t\taddSteps([nameOfMotivoStep]);\n\t\t\t} else if (isHighRating(value) || isNoRating(value)) {\n\t\t\t\tremoveSteps([nameOfMotivoStep]);\n\t\t\t\tdelete formData.fields[stepNameToFieldName(nameOfMotivoStep)];\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionTratoMotivo', satisfaccionTrato);\n\t}, [satisfaccionTrato]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo(\n\t\t\t'SatisfaccionOrganizacionMotivo',\n\t\t\tsatisfaccionOrganizacion,\n\t\t);\n\t}, [satisfaccionOrganizacion]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo(\n\t\t\t'SatisfaccionTrabajoRealizadoMotivo',\n\t\t\tsatisfaccionTrabajoRealizado,\n\t\t);\n\t\tif (satisfaccionTrabajoRealizado == '5') {\n\t\t\tremoveSteps(['ServicioAnteriorIncorrecto', 'RazonVolverTaller']);\n\t\t} else if (satisfaccionTrabajoRealizado) {\n\t\t\taddSteps(['ServicioAnteriorIncorrecto', 'RazonVolverTaller']);\n\t\t}\n\t}, [satisfaccionTrabajoRealizado]);\n\n\tuseEffect(() => {\n\t\tconst stepName = store.getState().formInfo?.step?.name;\n\n\t\t// Verificamos que se ha contestado SatisfaccionConcesion\n\t\tif (stepName == 'SatisfaccionConcesion') {\n\t\t\tconst ratings = [\n\t\t\t\tsatisfaccionTrato,\n\t\t\t\tsatisfaccionOrganizacion,\n\t\t\t\tsatisfaccionTrabajoRealizado,\n\t\t\t];\n\t\t\tconst { mostrarQlast1, mostrarQlast2 } = LastQuestionFlow(\n\t\t\t\tratings,\n\t\t\t\tsatisfaccionConcesion,\n\t\t\t);\n\n\t\t\tif (mostrarQlast1 && mostrarQlast2) {\n\t\t\t\taddSteps(['SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo']);\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveSteps([\n\t\t\t\t\t'SatisfaccionConcesionMotivo',\n\t\t\t\t\t'AspectoSatisfaccionMotivo',\n\t\t\t\t]);\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t\tdelete formData.fields.aspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime(\n\t\t\t\t\t'SatisfaccionConcesionMotivo',\n\t\t\t\t\t'AspectoSatisfaccionMotivo',\n\t\t\t\t);\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t}\n\t\t\tif (mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime(\n\t\t\t\t\t'AspectoSatisfaccionMotivo',\n\t\t\t\t\t'SatisfaccionConcesionMotivo',\n\t\t\t\t);\n\t\t\t\tdelete formData.fields.aspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t}\n\t}, [\n\t\tsatisfaccionTrato,\n\t\tsatisfaccionOrganizacion,\n\t\tsatisfaccionTrabajoRealizado,\n\t\tsatisfaccionConcesion,\n\t]);\n\n\tuseEffect(() => {\n\t\tif (!installation) return null;\n\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } =\n\t\t\tgetFormInfo(getStepsPosVenta(getInstallationName(), getVehicleName()));\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tformTheme: 'main',\n\t\t\tnotALayer: true,\n\t\t\tformType: 'inPage',\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : getStepsPosVenta(getInstallationName(), getVehicleName()),\n\t\t\tstepsHistory,\n\t\t\tthankYouComponent: ,\n\t\t\thideLegal: idPerson.LSSI__c === 'PERMITE' ? true : false,\n\t\t};\n\n\t\tinitializeForm(NuevoFormInfo, NuevoFormData);\n\t}, [installation]);\n\n\treturn !loading ? (\n\t\t\n\t) : null;\n}\n","import React, { useEffect, useState } from 'react';\nimport { Breakpoints, BreakpointWrapper, Container, ContainerPadding, styled, Text, TokenTextAppearance, } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { MultipleCTASelection, ImageCarNoColorBG } from 'src/components';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { OneElementTemplateFullScreen, useFaContent, useGetIdVehicle } from 'src/feature-app';\nimport { getVilmaAssets } from 'src/bff';\nimport { useWindowHeight } from '@react-hook/window-size';\nimport { OneFormState } from 'src/types';\nimport { strTitlelize } from 'src/helpers';\n\nconst LayoutWrapper = styled.div`\n\t@media all and (min-width: 960px) {\n\t\tdisplay: flex;\n\t}\n`;\n\nconst InfoWrapper = styled.div`\n\twidth: 100%;\n\tpadding-left: var(--size-grid002);\n\tpadding-right: var(--size-grid002);\n\t@media all and (min-width: 960px) {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tflex-direction: column;\n\t\twidth: var(--size-grid012);\n\t\tpadding-left: var(--size-grid002);\n\t\tpadding-right: 0;\n\t\tpadding-top: 0;\n\t}\n\t@media all and (min-width: 1280px) {\n\t\tpadding-left: var(--size-grid003);\n\t}\n\t@media all and (min-width: 1600px) {\n\t\tpadding-left: var(--size-grid002);\n\t}\n`;\n\nexport const FirstStepCEM = () => {\n\tconst { formData } = useSelector((state: OneFormState) => state);\n\tconst dispatch = useDispatch();\n\tconst [model, setModel] = useState(null);\n\tconst { installation } = formData.fields;\n\tconst [imageSrc, setImageSrc] = useState(null);\n\tconst [dataVilma, setDataVilma] = useState(null);\n\tconst idVehicle = useGetIdVehicle();\n\tconst idVehicleModel = idVehicle.VGED_ModelGroup__c;\n\t//const isElectrico = idVehicle.VGED_ModelGroup__c.substring(0, 2) == 'ID';\n\tconst frame = idVehicle.Name;\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst modelUrl = urlParams.get('model');\n\tconst faContent = useFaContent();\n\tconst isPosventa = faContent.cem === 'POSVENTA' || faContent.encuesta === 'CEM - POSVENTA';\n\tconst height = useWindowHeight();\n\n\tconst dataVilmaRequest = async () => {\n\t\tif (frame) {\n\t\t\tconst data = await getVilmaAssets(frame);\n\t\t\t//Respuesta cuando el bastidor no es correcto {message: 'No image found for VIN [WVWZZZAUZLW025556]', context: 'the requested image is not available'}\n\t\t\tif (data && data.status?.code == 200) {\n\t\t\t\tsetDataVilma(data.content);\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!dataVilma || dataVilma.message == 'SERVICE UNAVAILABLE') {\n\t\t\tsetImageSrc(null);\n\t\t} else if (dataVilma) {\n\t\t\tconst Front_Left = dataVilma.find((e: any) => e.view === 'Front_Left');\n\t\t\tFront_Left === undefined ? setImageSrc(null) : setImageSrc(Front_Left.url);\n\t\t}\n\t}, [dataVilma]);\n\n\tuseEffect(() => {\n\t\tif (idVehicleModel !== 'null') {\n\t\t\tsetModel(idVehicleModel);\n\t\t\tdataVilmaRequest();\n\t\t} else if (modelUrl) {\n\t\t\tsetModel(modelUrl);\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { modelo: modelUrl } });\n\t\t} else {\n\t\t\tsetModel(null);\n\t\t}\n\t}, []);\n\n\tconst BodyCopy = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{isPosventa ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tSegún nuestros datos, visitaste el Servicio Oficial {strTitlelize(installation)} con tu{' '}\n\t\t\t\t\t\t\t{model}.\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tSegún nuestros registros compraste un nuevo {model} en nuestro punto de venta{' '}\n\t\t\t\t\t\t\t{strTitlelize(installation)}.\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{isPosventa ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t¿Puedes confirmar que estos datos son correctos y que eres la persona que mejor nos puede informar sobre\n\t\t\t\t\t\t\tla última visita al taller?\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>¿Puedes confirmar que estos datos son correctos?\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\treturn dataVilma && imageSrc ? (\n\t\t\n\t\t\t{height <= 600 ? null : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t) : (\n\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t}\n\t\t/>\n\t);\n};\n","import React from 'react';\nimport { Breakpoints, Layout, LayoutRowGap, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { CarlineSelect, PantallaNombreApellido, MultipleCTASelection, RatingStars, PantallaIntroduccionStars, DetalleMotivo, } from 'src/components';\nimport { Steps } from 'src/types';\nimport { RadioTextGroup } from 'src/components/inputs/RadioTextGroup';\nimport { ConfirmacionCem } from 'src/forms/Cem/ConfirmacionCem';\nimport { CTAsSiNo, CTAsSiNoSinRespuesta } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { FirstStepCEM } from 'src/forms/Cem/FirstStepCEM';\nimport { valueWrongConcesion, valueWrongMarca, valueWrongModelo, valueWrongPersona } from './helpers';\n\nfunction OneElementTemplateFullScreen(props: any) {\n\tconst { element, allowOverflowingContent } = props;\n\treturn (\n\t\t\n\t\t\t{element}\n\t\t\n\t);\n}\n\nexport const getStepsVenta = (installation: string, vehicle: string) => {\n\n\tconst ctaDatosIncorrectos = [\n\t\t{ \n\t\t\tlabel: 'Marca incorrecta', \n\t\t\tvalue: valueWrongMarca.toString() \n\t\t},\n\t\t{ \n\t\t\tlabel: 'Modelo incorrecto', \n\t\t\tvalue: valueWrongModelo.toString() },\n\t\t{\n\t\t\tlabel: 'Punto de venta incorrecto',\n\t\t\tvalue: valueWrongConcesion.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Persona de contacto incorrecta',\n\t\t\tvalue: valueWrongPersona.toString(),\n\t\t},\n\t];\n\n\tconst optionsEnviarConcesion = [\n\t\t{\n\t\t\tvalue: '3',\n\t\t\tlabel: 'Sí, mis respuestas pueden ser enviadas y analizadas junto a mi nombre y al número de bastidor de mi vehículo, para el alcance descrito anteriormente (el consentimiento puede revocarse en cualquier momento a través de los canales de contacto que se indican a continuación*)',\n\t\t\tinfo: '*Puedo revocar este consentimiento en cualquier momento sin dar motivos a mi Distribuidor para mis datos personalizados.',\n\t\t},\n\t\t{\n\t\t\tvalue: '2',\n\t\t\tlabel: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre y al número de bastidor de mi vehículo',\n\t\t\tinfo: 'Seleccionando esta opción, el punto de venta no podrá ponerse en contacto contigo en relación a tus comentarios.',\n\t\t},\n\t\t{\n\t\t\tvalue: '0',\n\t\t\tlabel: 'Mis respuestas solo deben ser analizadas de manera anónima',\n\t\t\tinfo: 'Seleccionando esta opción, tus respuestas serán analizadas de modo agregado junto al resto de respuestas de todos los entrevistados y no se trasladarán a los comentarios abiertos.',\n\t\t},\n\t];\n\n\tconst optionsPublicarRespuestas = [\n\t\t{\n\t\t\tlabel: 'Sí, mis respuestas pueden ser publicadas sin mi nombre en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No, mis respuestas no pueden ser publicadas en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '2',\n\t\t},\n\t];\n\n\tlet index = 0;\n\tconst stepsVenta: Steps[] = [\n\t\t{\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosCorrectos',\n\t\t\talternateTitle: ¿Puedes confirmar que estos datos son correctos?,\n\t\t\toutputs: ['datosCorrectos'],\n\t\t\toutputsText: ['datosCorrectos'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, ¿puedes confirmar qué dato no es correcto?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosIncorrectos',\n\t\t\toutputs: ['datosIncorrectos'],\n\t\t\toutputsText: ['datosIncorrectos'],\n\t\t\tctas: ctaDatosIncorrectos,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Compraste tu vehículo en {installation}?,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'ConfirmacionConcesion',\n\t\t\toutputs: ['confirmacionConcesion'],\n\t\t\toutputsText: ['confirmacionConcesion'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es el modelo correcto?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Modelo',\n\t\t\toutputs: ['modelo'],\n\t\t\toutputsText: ['modelo'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tA continuación,{' '}\n\t\t\t\t\t\n\t\t\t\t\t\tindica tu nivel de satisfacción con cada uno de estos aspectos relacionados con la compra de tu coche.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Explicacion',\n\t\t},\n\t\t{\n\t\t\ttitle: El trato recibido,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTrato',\n\t\t\toutputs: ['satisfaccionTrato'],\n\t\t\toutputsText: ['satisfaccionTrato'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTratoMotivo',\n\t\t\toutputs: ['satisfaccionTratoMotivo'],\n\t\t\toutputsText: ['satisfaccionTratoMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: La organización del punto de venta,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tA la hora de establecer una cita o entregarte el coche, por ejemplo.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionOrganizacion',\n\t\t\toutputs: ['satisfaccionOrganizacion'],\n\t\t\toutputsText: ['satisfaccionOrganizacion'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionOrganizacionMotivo',\n\t\t\toutputs: ['satisfaccionOrganizacionMotivo'],\n\t\t\toutputsText: ['satisfaccionOrganizacionMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: El asesoramiento recibido por parte del asesor comercial Volkswagen,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionAsesor',\n\t\t\toutputs: ['satisfaccionAsesor'],\n\t\t\toutputsText: ['satisfaccionAsesor'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionAsesorMotivo',\n\t\t\toutputs: ['satisfaccionAsesorMotivo'],\n\t\t\toutputsText: ['satisfaccionAsesorMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es tu nivel de satisfacción con nuestros servicios prestados como punto de venta?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPensando en el proceso de compra en general de tu nuevo vehículo.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionConcesion',\n\t\t\toutputs: ['satisfaccionConcesion'],\n\t\t\toutputsText: ['satisfaccionConcesion'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionConcesionMotivo',\n\t\t\toutputs: ['satisfaccionConcesionMotivo'],\n\t\t\toutputsText: ['satisfaccionConcesionMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Hay algún aspecto con el que no estuvieras satisfecho y que no hayas mencionado aún?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'AspectoSatisfaccionMotivo',\n\t\t\toutputs: ['aspectoSatisfaccionMotivo'],\n\t\t\toutputsText: ['aspectoSatisfaccionMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿El asesor comercial te ofreció realizar una prueba de conducción?,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TestDrive',\n\t\t\toutputs: ['testDrive'],\n\t\t\toutputsText: ['testDrive'],\n\t\t\tctas: CTAsSiNoSinRespuesta,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es tu nivel de satisfacción con la prueba de conducción?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPensando en el proceso de compra en general de tu nuevo vehículo.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTestDrive',\n\t\t\toutputs: ['satisfaccionTestDrive'],\n\t\t\toutputsText: ['satisfaccionTestDrive'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTestDriveMotivo',\n\t\t\toutputs: ['satisfaccionTestDriveMotivo'],\n\t\t\toutputsText: ['satisfaccionTestDriveMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Te han ofrecido una segunda cita después de la entrega para darte más información sobre el funcionamiento de tu coche?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'InformacionUsoVehiculo',\n\t\t\toutputs: ['informacionUsoVehiculo'],\n\t\t\toutputsText: ['informacionUsoVehiculo'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t\tctas: CTAsSiNoSinRespuesta,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Te ha contactado {installation} para preguntarte si estás satisfecho con tu {vehicle} después de entregártelo?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'ContactoSatisfaccion',\n\t\t\toutputs: ['contactoSatisfaccion'],\n\t\t\toutputsText: ['contactoSatisfaccion'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t\tctas: CTAsSiNoSinRespuesta,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tFinalmente nos gustaría saber si podemos enviar tus respuestas junto con tu nombre al punto de venta {installation} y el bastidor del vehículo, y puedan usarlos para análisis adicionales.\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'EnviarConcesion',\n\t\t\toutputs: ['enviarConcesion'],\n\t\t\toutputsText: ['enviarConcesion'],\n\t\t\tctas: optionsEnviarConcesion,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce o comprueba tus datos:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosPersonales',\n\t\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\t¿Podríamos publicar tus respuestas en la web oficial de Volkswagen y en la de {installation} sin mencionar tu nombre?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPara compartir tu experiencia con otros clientes.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'PublicarRespuestas',\n\t\t\toutputs: ['publicarRespuestas'],\n\t\t\toutputsText: ['publicarRespuestas'],\n\t\t\tctas: optionsPublicarRespuestas,\n\t\t},\n\t\t{\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Confirmacion',\n\t\t\toutputs: ['confirmacion'],\n\t\t\toutputsText: ['confirmacion'],\n\t\t},\n\t];\n\n\treturn stepsVenta;\n};\n","import {\n\tBreakpoints,\n\tContainer,\n\tContainerPadding,\n\tLayout,\n\tLayoutRowGap,\n\tText,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport {\n\tCarlineSelect,\n\tDetalleMotivo,\n\tMultipleCTASelection,\n\tMultipleOptionCTAs,\n\tPantallaIntroduccionStars,\n\tPantallaNombreApellido,\n\tRatingStars,\n} from 'src/components';\nimport { CTAsSiNoSinRespuesta } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { RadioTextGroup } from 'src/components/inputs/RadioTextGroup';\nimport { ConfirmacionCem } from 'src/forms/Cem/ConfirmacionCem';\nimport { FirstStepCEM } from 'src/forms/Cem/FirstStepCEM';\nimport { Steps } from 'src/types';\nimport {\n\tvalueWrongConcesion,\n\tvalueWrongMarca,\n\tvalueWrongModelo,\n\tvalueWrongPersona,\n} from './helpers';\n\nfunction OneElementTemplateFullScreen(props: any) {\n\tconst { element } = props;\n\treturn (\n\t\t\n\t\t\t{element}\n\t\t\n\t);\n}\n\nexport const getStepsPosVenta = (installation: string, vehicle: string) => {\n\t\n\tconst ctaMotivoVisita = [\n\t\t{\n\t\t\tlabel: 'Revisión pre-ITV',\n\t\t\tvalue: '2',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Avería circulando con el coche (fue necesario remolcarlo)',\n\t\t\tvalue: '4',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Medida de servicio (excluida la medida de servicio diésel)',\n\t\t\tvalue: '10',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Chapa y pintura',\n\t\t\tvalue: '6',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Cambio de neumáticos',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Actualización de software',\n\t\t\tvalue: '11',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Instalación de accesorios',\n\t\t\tvalue: '7',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Servicio rutinario / de mantenimiento',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Otra visita inesperada (el coche pudo seguir circulando y elegiste tu Sercicio Oficial favorito)',\n\t\t\tvalue: '5',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Otras reparaciones o reclamaciones (por ejemplo, problemas electrónicos)',\n\t\t\tvalue: '8',\n\t\t},\n\t\t// El campo no es required, si no seleccionamos ninguna opción enviamos 99\n\t\t/*{\n\t\t\tlabel: 'Sin respuesta',\n\t\t\tvalue: '99',\n\t\t},*/\n\t];\n\t\n\tconst ctaServicioAnteriorIncorrecto = [\n\t\t{\n\t\t\tlabel: 'Sí',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No, pero tendré que volver de nuevo por otra razón diferente (mantenimiento, cambio de neumáticos, etc.)',\n\t\t\tvalue: '2',\n\t\t},\n\t];\n\t\n\tconst ctaRazonVolverTaller = [\n\t\t{\n\t\t\tlabel: 'No había recambios disponibles, no eran los correctos o estaban defectuosos',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No hubo tiempo suficiente para terminar el servicio',\n\t\t\tvalue: '2',\n\t\t},\n\t\t{\n\t\t\tlabel: 'El problema no fue resuelto o solo parcialmente',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Los problemas surgieron de nuevo',\n\t\t\tvalue: '4',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Es necesario realizar trabajos adicionales',\n\t\t\tvalue: '5',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Otras razones',\n\t\t\tvalue: '10',\n\t\t},\n\t];\n\t\n\tconst optionsPublicarRespuestas = [\n\t\t{\n\t\t\tlabel: 'Sí, mis respuestas pueden ser publicadas sin mi nombre en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '1',\n\t\t\t\n\t\t},\n\t\t{\n\t\t\tlabel: 'No, mis respuestas no pueden ser publicadas en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '2',\n\t\t\t\n\t\t},\n\t];\n\t\n\tconst ctaDatosIncorrectos = [\n\t\t{\n\t\t\tlabel: 'Marca incorrecta',\n\t\t\tvalue: valueWrongMarca.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Modelo incorrecto',\n\t\t\tvalue: valueWrongModelo.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Servicio Oficial',\n\t\t\tvalue: valueWrongConcesion.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Persona de contacto incorrecta',\n\t\t\tvalue: valueWrongPersona.toString(),\n\t\t},\n\t];\n\t\n\tconst optionsEnviarConcesion = [\n\t\t{\n\t\t\tvalue: '3',\n\t\t\tlabel: 'Sí, mis respuestas pueden ser enviadas y analizadas junto a mi nombre y al número de bastidor de mi vehículo, para el alcance descrito anteriormente (el consentimiento puede revocarse en cualquier momento a través de los canales de contacto que se indican a continuación*)',\n\t\t\tinfo: '*Puedo revocar este consentimiento en cualquier momento sin dar motivos a mi Distribuidor para mis datos personalizados y a la marca [info-datenschutz@volkswagen.de] para el numero de bastidor. Declaración de Privacidad de datos de VW: https://datenschutz.volkswagen.de.',\n\t\t},\n\t\t{\n\t\t\tvalue: '2',\n\t\t\tlabel: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre y al número de bastidor de mi vehículo',\n\t\t\tinfo: 'Seleccionando esta opción, el Servicio Oficial no podrá ponerse en contacto contigo en relación a tus comentarios.',\n\t\t},\n\t\t{\n\t\t\tvalue: '0',\n\t\t\tlabel: 'Mis respuestas solo deben ser analizadas de manera anónima',\n\t\t\tinfo: 'Seleccionando esta opción, tus respuestas serán analizadas de modo agregado junto al resto de respuestas de todos los entrevistados y no se trasladarán a los comentarios abiertos.',\n\t\t},\n\t];\n\t\n\tlet index = 0;\n\tconst stepsVenta: Steps[] = [\n\t{\n\t\tfields: ,\n\t\tscreenIndex: index++,\n\t\tname: 'DatosCorrectos',\n\t\talternateTitle: (\n\t\t\t\n\t\t\t\t¿Puedes confirmar que estos datos son correctos y que eres la persona\n\t\t\t\tque mejor nos puede informar sobre la última visita al taller?\n\t\t\t\n\t\t),\n\t\toutputs: ['datosCorrectos'],\n\t\toutputsText: ['datosCorrectos'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPor favor, ¿puedes confirmar qué dato no es correcto?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'DatosIncorrectos',\n\t\toutputs: ['datosIncorrectos'],\n\t\toutputsText: ['datosIncorrectos'],\n\t\tctas: ctaDatosIncorrectos,\n\t},\n\t{\n\t\ttitle: ¿Cuál es el modelo correcto?,\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'Modelo',\n\t\toutputs: ['modelo'],\n\t\toutputsText: ['modelo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tA continuación,{' '}\n\t\t\t\t\n\t\t\t\t\tindica tu nivel de satisfacción con cada uno de estos aspectos\n\t\t\t\t\trelacionados con tu visita al Servicio Oficial.\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'Explicacion',\n\t},\n\t{\n\t\ttitle: El trato recibido,\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTrato',\n\t\toutputs: ['satisfaccionTrato'],\n\t\toutputsText: ['satisfaccionTrato'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTratoMotivo',\n\t\toutputs: ['satisfaccionTratoMotivo'],\n\t\toutputsText: ['satisfaccionTratoMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tLa organización de {installation}\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPor ejemplo: el establecimiento de la cita, tiempos de espera en\n\t\t\t\t\t\t\tel taller, la fecha de entrega o el tiempo que estuvo el coche en\n\t\t\t\t\t\t\tel taller.{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionOrganizacion',\n\t\toutputs: ['satisfaccionOrganizacion'],\n\t\toutputsText: ['satisfaccionOrganizacion'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionOrganizacionMotivo',\n\t\toutputs: ['satisfaccionOrganizacionMotivo'],\n\t\toutputsText: ['satisfaccionOrganizacionMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tLa calidad del trabajo realizado en tu {vehicle}\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTrabajoRealizado',\n\t\toutputs: ['satisfaccionTrabajoRealizado'],\n\t\toutputsText: ['satisfaccionTrabajoRealizado'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTrabajoRealizadoMotivo',\n\t\toutputs: ['satisfaccionTrabajoRealizadoMotivo'],\n\t\toutputsText: ['satisfaccionTrabajoRealizadoMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPensando en tu última visita a {installation},{' '}\n\t\t\t\t\n\t\t\t\t\t¿cuál es tu nivel de satisfacción con nuestros servicios en general?\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\talternateTitle: (\n\t\t\t\n\t\t\t\t¿Cuál es tu nivel de satisfacción con nuestros servicios en general?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPensando en tu última visita.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionConcesion',\n\t\toutputs: ['satisfaccionConcesion'],\n\t\toutputsText: ['satisfaccionConcesion'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionConcesionMotivo',\n\t\toutputs: ['satisfaccionConcesionMotivo'],\n\t\toutputsText: ['satisfaccionConcesionMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t\n\t\t\t\t¿Hay algún aspecto con el que no estuvieras satisfecho y que no hayas\n\t\t\t\tmencionado aún?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'AspectoSatisfaccionMotivo',\n\t\toutputs: ['aspectoSatisfaccionMotivo'],\n\t\toutputsText: ['aspectoSatisfaccionMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Tienes que volver a pasar por taller por un servicio\n\t\t\t\trealizado de manera incorrecta o incompleta durante la última visita?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'ServicioAnteriorIncorrecto',\n\t\toutputs: ['ServicioAnteriorIncorrecto'],\n\t\toutputsText: ['servicioAnteriorIncorrecto'],\n\t\tctas: ctaServicioAnteriorIncorrecto,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál es la razón por la que tienes que volver a pasar\n\t\t\t\tpor taller?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'RazonVolverTaller',\n\t\toutputs: ['RazonVolverTaller'],\n\t\toutputsText: ['razonVolverTaller'],\n\t\tctas: ctaRazonVolverTaller,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál es tu nivel de satisfacción con la{' '}\n\t\t\t\tgestión que hizo el Servicio Oficial de tu tiempo?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEl tiempo total desde que entró y desde que salió tu vehículo del\n\t\t\t\t\t\t\ttaller.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'TiempoSatisfaccion',\n\t\toutputs: ['tiempoSatisfaccion'],\n\t\toutputsText: ['tiempoSatisfaccion'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tDespués de tu última visita,{' '}\n\t\t\t\t\n\t\t\t\t\t¿{installation} se puso en contacto contigo para comprobar tu nivel de\n\t\t\t\t\tsatisfacción con el servicio recibido?\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'ContactoSatisfaccion',\n\t\toutputs: ['ContactoSatisfaccion'],\n\t\toutputsText: ['contactoSatisfaccion'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál o cuáles de los aspectos de la siguiente lista fueron{' '}\n\t\t\t\t el motivo de tu última visita al Servicio Oficial?\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tPuedes elegir tres opciones\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\talternateTitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál o cuáles de los aspectos de la siguiente lista fueron{' '}\n\t\t\t\t el motivo de tu última visita al Servicio Oficial?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'MotivoVisita',\n\t\toutputs: ['motivoVisita'],\n\t\toutputsText: ['motivoVisita'],\n\t\tctas: ctaMotivoVisita,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPensando en tu actual {vehicle}, ¿cuál es tu nivel de\n\t\t\t\tsatisfacción?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionVehiculo',\n\t\toutputs: ['satisfaccionVehiculo'],\n\t\toutputsText: ['satisfaccionVehiculo'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPor favor, háblanos de tu{' '}\n\t\t\t\texperiencia con tu nuevo {vehicle}\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionVehiculoMotivo',\n\t\toutputs: ['satisfaccionVehiculoMotivo'],\n\t\toutputsText: ['satisfaccionVehiculoMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPara finalizar, nos gustaría saber si podemos enviar tus respuestas, junto con tu nombre y el número de bastidor de tu vehículo, al Servicio Oficial {installation} para que puedan usarlos para análisis de producto adicionales. Puedes encontrar más información sobre el trato de tus datos personales en el link disponible al finalizar la encuesta.\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'EnviarConcesion',\n\t\toutputs: ['enviarConcesion'],\n\t\toutputsText: ['enviarConcesion'],\n\t\tctas: optionsEnviarConcesion,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPor favor, introduce o comprueba tus datos:\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'DatosPersonales',\n\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t\n\t\t\t\t¿Podríamos publicar tus respuestas en la web oficial de Volkswagen y en\n\t\t\t\tla de {installation} sin mencionar tu nombre?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPara compartir tu experiencia con otros clientes.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'PublicarRespuestas',\n\t\toutputs: ['publicarRespuestas'],\n\t\toutputsText: ['publicarRespuestas'],\n\t\tctas: optionsPublicarRespuestas,\n\t},\n\t{\n\t\tfields: ,\n\t\tscreenIndex: index++,\n\t\tname: 'Confirmacion',\n\t\toutputs: ['confirmacion'],\n\t\toutputsText: ['confirmacion'],\n\t},\n\t];\n\n\treturn stepsVenta;\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { FormController, isHighRating, isLowRating, isNoRating, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { CemFormProps, getStepsVenta, LastQuestionFlow } from 'src/forms/Cem';\nimport { checkUndefinedsInData, formatSinRespuestaValue, getCemDate, getSfAddressRest, sanitizeKvps, stepNameToFieldName, valueWrongConcesion, valueWrongMarca, valueWrongModelo, valueWrongPersona } from 'src/forms/Cem/helpers';\nimport { ThankYouCEM } from 'src/forms/Cem/ThankYouCem';\nimport { formatHeaders, formDataBuilder } from 'src/forms/format-fields';\nimport { addRemovedStep, getArrayOfStepsNames, getIndexInSteps, removeMultipleStepsAndResetScreenIndex, resetStepsScreenIndex, } from 'src/forms/helpers/add-remove-steps';\nimport { formatToTwoChars, strTitlelize } from 'src/helpers';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\n\nexport function CemFormVenta(props: CemFormProps) {\n\tconst { idOrder, idPerson, idVehicle, idDealer, dpsData, installation } = props;\n\tconst { initializeForm, handleNextStep } = useOneFormContext();\n\tconst { formData } = useSelector((state: OneFormState) => state);\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst [loading, setLoading] = useState(false);\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tconst {\n\t\tdatosCorrectos,\n\t\tdatosIncorrectos,\n\t\tconfirmacionConcesion,\n\t\tsatisfaccionTrato,\n\t\tsatisfaccionOrganizacion,\n\t\tsatisfaccionAsesor,\n\t\tsatisfaccionConcesion,\n\t\tsatisfaccionTestDrive,\n\t\ttestDrive,\n\t\tmodelo,\n\t\tenviarConcesion,\n\t\tmasPreguntas,\n\t} = formData.fields;\n\n\tconst isElectrico = idVehicle.VGED_ModelGroup__c?.substring(0, 2) == 'ID';\n\n\tconst modeloRef = useRef(null); // Necesitamos almacenar el modelo ya que cada vez que el usuario selecciona un modelo se modifican los steps, por lo que necesitamos una referencia para saber que modelo hay que sustituir.\n\n\tconst getInstallationName = () => {\n\t\treturn strTitlelize(\n\t\t\tinstallation?.VGED_CommercialName__c \n\t\t\t\t? installation.VGED_CommercialName__c \n\t\t\t\t: idDealer?.VGED_CommercialName__c \n\t\t\t\t? idDealer.VGED_CommercialName__c \n\t\t\t\t: ''\n\t\t);\n\t};\n\n\tconst NuevoFormData: Partial = {\n\t\theaders: {\n\t\t\tFORM_DETAILS: 'CEM Venta',\n\t\t\tFORM_OBJECTIVE: 'Encuesta',\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_CEM_VN_2025',\n\t\t\tFORM_ID: 'Email_B04_C01_CEM_Sales',\n\t\t},\n\t\tfields: {\n\t\t\tlssiPincode: idPerson.LSSI__c,\n\t\t\tformName: 'cem-venta',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'Encuesta',\n\t\t\tname: idPerson.FirstName,\n\t\t\tsurname: idPerson.LastName,\n\t\t\tsecondSurname: idPerson.MiddleName,\n\t\t\tinstallation: getInstallationName(),\n\t\t}, // Analítica\n\t};\n\n\tconst sendSurvey = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\treturn !( // negation\n\t\t\t(fields.datosCorrectos == 'false' && fields.datosIncorrectos == valueWrongMarca) ||\n\t\t\t(fields.datosCorrectos == 'false' && fields.datosIncorrectos == valueWrongPersona) ||\n\t\t\t(fields.datosCorrectos == 'false' && fields.datosIncorrectos == valueWrongConcesion && fields.confirmacionConcesion == 'false')\n\t\t);\n\t};\n\n\tconst getData = (addSurvey?: boolean) => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields, headers } = formData;\n\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\tconst data = {\n\t\t\t...formatHeaders(headers),\n\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t'headers[FORM_URL]': url,\n\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\t\t\t'headers[FK_SYSTEM]': idOrder.VGED_ClimaproOrderID__c,\n\n\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t//'fields[SF_LEAD_INSTALLATION_ID]': installation.Id,\n\t\t\t'fields[SF_LEAD_INSTALLATION_NAME]': installation.VGED_CommercialName__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE]': installation.VGED_ConcessionDealerCode__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE_KVPS]': sanitizeKvps(installation.KVPSCode__c),\n\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t'fields[PERSON_EMAIL]': idPerson.PersonEmail,\n\t\t\t'fields[PERSON_PHONE_MOBILE]': idPerson.PersonMobilePhone,\n\t\t\t'fields[PERSON_POSTAL_ROAD_NAME]': getSfAddressRest(idPerson.PersonMailingAddress, 'street'),\n\t\t\t'fields[PERSON_POSTAL_CP]': getSfAddressRest(idPerson?.PersonMailingAddress, 'postalCode'),\n\t\t\t'fields[PERSON_POSTAL_LOCATION]': getSfAddressRest(idPerson?.PersonMailingAddress, 'city'),\n\t\t\t'fields[PERSON_POSTAL_PROVINCE_CODE]': formatToTwoChars(getSfAddressRest(idPerson?.PersonMailingAddress, 'stateCode')),\n\t\t\t'fields[VEH_ACTUAL_PLATE]': idVehicle.VGED_RegistrationPlate__c,\n\t\t\t'fields[VEH_ACTUAL_FRAME]': idVehicle.Name,\n\t\t\t'fields[VEH_ACTUAL_MODEL]': idVehicle.VGED_ModelGroup__c ? idVehicle.VGED_ModelGroup__c : dpsData.model ? dpsData.model : null,\n\n\t\t\t'fields[SURVEY_ANSWER_01]': fields.datosCorrectos == 'true' ? '1' : '2',\n\t\t\t'fields[SURVEY_ANSWER_02]': fields.datosCorrectos == 'false' ? fields.datosIncorrectos : null,\n\t\t\t'fields[SURVEY_ANSWER_03]': fields.datosCorrectos == 'false' && fields.datosIncorrectos == 2 ? fields.modelo : null,\n\t\t\t'fields[SURVEY_ANSWER_04]': fields.datosCorrectos == 'false' && fields.datosIncorrectos == 3 ? fields.confirmacionConcesion == 'true' ? '1' : '2' : null,\n\t\t\t// conditional send\n\t\t\t'fields[SURVEY_ANSWER_30]': fields.publicarRespuestas,\n\t\t\t'fields[SURVEY_ANSWER_32]': dpsData.adviser,\n\t\t\t'fields[SURVEY_ANSWER_34]': fields.enviarConcesion,\n\n\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t//'flags[FLAG_RELACION_MARCA_SIN_IC]': 'false',\n\t\t};\n\n\t\tif(sendSurvey() || addSurvey) {\n\t\t\tdata['fields[SURVEY_ANSWER_06]'] = formatSinRespuestaValue(fields.satisfaccionTrato);\n\t\t\tdata['fields[SURVEY_ANSWER_07]'] = formatSinRespuestaValue(fields.satisfaccionTratoMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_08]'] = formatSinRespuestaValue(fields.satisfaccionOrganizacion);\n\t\t\tdata['fields[SURVEY_ANSWER_09]'] = formatSinRespuestaValue(fields.satisfaccionOrganizacionMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_10]'] = formatSinRespuestaValue(fields.satisfaccionAsesor);\n\t\t\tdata['fields[SURVEY_ANSWER_11]'] = formatSinRespuestaValue(fields.satisfaccionAsesorMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_12]'] = formatSinRespuestaValue(fields.satisfaccionConcesion);\n\t\t\tdata['fields[SURVEY_ANSWER_13]'] = formatSinRespuestaValue(fields.satisfaccionConcesionMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_14]'] = formatSinRespuestaValue(fields.aspectoSatisfaccionMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_15]'] = formatSinRespuestaValue(fields.testDrive);\n\t\t\tdata['fields[SURVEY_ANSWER_16]'] = formatSinRespuestaValue(fields.contactoSatisfaccion);\n\t\t\tdata['fields[SURVEY_ANSWER_17]'] = formatSinRespuestaValue(fields.informacionUsoVehiculo);\n\t\t\tdata['fields[SURVEY_ANSWER_18]'] = formatSinRespuestaValue(fields.satisfaccionTestDrive);\n\t\t\tdata['fields[SURVEY_ANSWER_19]'] = formatSinRespuestaValue(fields.satisfaccionTestDriveMotivo);\n\t\t}\n\n\t\tif (dpsData.agency) {\n\t\t\tdata['flags[FLAG_AGENCY]'] = dpsData.agency == 'AGENCIA' ? 'true' : 'false';\n\t\t}\n\n\t\tif (idOrder.VGED_CEMDeliveryDate__c && idOrder.VGED_CEMDeliveryDate__c != 'null') {\n\t\t\tdata['fields[CEM_DATE]'] = getCemDate(idOrder.VGED_CEMDeliveryDate__c);\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tuseEffect(() => {\n\t\tif(dev) {\n\t\t\tconsole.log(getData(true));\n\t\t}\n\t}, [formData]);\n\n\tconst sendForm = (): Promise => {\n\n\t\treturn new Promise(async (resolve, reject) => {\n\n\t\t\tconst dataStringified = JSON.stringify(getData());\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tcheckUndefinedsInData(getData(), 'Venta');\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response && response.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\t/**\n\t * Se extrae la lógica para poder utilizarla por separado sin tener que usar las funciones de loading o updateSteps ya que hay una pregunta en la que podemos eliminar y añadir un step en el mismo paso.\n\t *\n\t * @param stepsToAdd\n\t * @param alternativeSteps\n\t * @returns\n\t */\n\tconst addingStepsLogic = (stepsToAdd: string[], alternativeSteps?: Steps[]) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tconst stepsToUse = alternativeSteps ? alternativeSteps : actualSteps;\n\t\t// Hay que revertir los steps para que se añadan en el orden correcto\n\t\tconst indexesInSteps = stepsToAdd.reverse().map((step) => getIndexInSteps(stepsToUse, step));\n\t\tlet newSteps = [...stepsToUse];\n\n\t\tindexesInSteps.forEach((index, i) => {\n\t\t\tif (index === -1) {\n\t\t\t\tnewSteps = addRemovedStep(getStepsVenta(getInstallationName(), getVehicleName()), stepsToUse, stepsToAdd[i], screenIndex);\n\t\t\t}\n\t\t});\n\t\tconst finalSteps = resetStepsScreenIndex(newSteps);\n\t\treturn finalSteps;\n\t};\n\n\tconst addSteps = (stepsToAdd: string[]) => {\n\t\tsetLoading(true);\n\n\t\tconst finalSteps = addingStepsLogic(stepsToAdd);\n\t\tupdateSteps(finalSteps);\n\t\thandleNextStep();\n\n\t\tsetLoading(false);\n\t};\n\n\tconst removeSteps = (stepsToDelete: string[]) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(steps, stepsToDelete);\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst updateSteps = (steps: Steps[]) => {\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: steps });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n\t};\n\n\tconst getVehicleName = () => {\n\t\tif(!idVehicle) return '';\n\t\treturn idVehicle.VGED_ModelGroup__c \n\t\t? idVehicle.VGED_ModelGroup__c \n\t\t: dpsData.model \n\t\t? dpsData.model \n\t\t: 'Volkswagen';\n\t};\n\n\tconst replaceModelo = (string: string) => {\n\t\tif (modeloRef.current) {\n\t\t\treturn string.replace(modeloRef.current, modelo);\n\t\t} else {\n\t\t\treturn string.replace(idVehicle.VGED_ModelGroup__c, modelo);\n\t\t}\n\t};\n\n\tconst modifyTitleSteps = (steps: Steps[], replaceCallback: (s: string) => string) => {\n\t\treturn steps.map((step) => {\n\t\t\tif (!step.title) return step;\n\t\t\tif (Array.isArray(step.title.props.children)) {\n\t\t\t\tstep.title.props.children = step.title.props.children.map((child: any) => {\n\t\t\t\t\tif (typeof child === 'object') {\n\t\t\t\t\t\tif (typeof child.props.children === 'object') {\n\t\t\t\t\t\t\tchild.props.children.props.children = replaceCallback(child.props.children.props.children);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchild.props.children = replaceCallback(child.props.children);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchild = replaceCallback(child);\n\t\t\t\t\t}\n\t\t\t\t\treturn child;\n\t\t\t\t});\n\t\t\t} else if (typeof step.title.props.children === 'object') {\n\t\t\t\tstep.title.props.children.props.children = replaceCallback(step.title.props.children.props.children);\n\t\t\t} else {\n\t\t\t\tstep.title.props.children = replaceCallback(step.title.props.children);\n\t\t\t}\n\t\t\treturn step;\n\t\t});\n\t};\n\n\tconst getOrderStep = (order: number, sc4: number, sc5: number, sc6: number) => {\n\t\treturn order === 1 ? sc4 : order === 2 ? sc5 : order === 3 ? sc6 : null;\n\t};\n\n\tconst shuffle = (array: number[]): number[] => array.sort(() => Math.random() - 0.5);\n\n\t/**\n\t * El orden de las preguntas Sc_4,Sc_5 y Sc_6 tiene que ser aleatorio.\n\t * @param steps\n\t */\n\tconst randomizeSteps = (steps: Steps[]): Steps[] => {\n\t\tconst sc4 = getIndexInSteps(steps, 'SatisfaccionTrato');\n\t\tconst sc4Motivo = getIndexInSteps(steps, 'SatisfaccionTratoMotivo');\n\n\t\tconst sc5 = getIndexInSteps(steps, 'SatisfaccionOrganizacion');\n\t\tconst sc5Motivo = getIndexInSteps(steps, 'SatisfaccionOrganizacionMotivo');\n\n\t\tconst sc6 = getIndexInSteps(steps, 'SatisfaccionAsesor');\n\t\tconst sc6Motivo = getIndexInSteps(steps, 'SatisfaccionAsesorMotivo');\n\n\t\tlet newSteps = [...steps];\n\t\tconst [first, second, third] = shuffle([1, 2, 3]);\n\t\tconst firstStep = getOrderStep(first, sc4, sc5, sc6);\n\t\tconst secondStep = getOrderStep(second, sc4, sc5, sc6);\n\t\tconst thirdStep = getOrderStep(third, sc4, sc5, sc6);\n\t\tnewSteps[sc4] = steps[firstStep];\n\t\tnewSteps[sc4Motivo] = steps[firstStep + 1];\n\t\tnewSteps[sc5] = steps[secondStep];\n\t\tnewSteps[sc5Motivo] = steps[secondStep + 1];\n\t\tnewSteps[sc6] = steps[thirdStep];\n\t\tnewSteps[sc6Motivo] = steps[thirdStep + 1];\n\n\t\treturn newSteps;\n\t};\n\n\tconst getFormInfo = (steps: Steps[]) => {\n\t\tconst randomizedSteps = randomizeSteps(steps);\n\n\t\treturn {\n\t\t\tfirstStep: randomizedSteps[0],\n\t\t\tlastStep: randomizedSteps[randomizedSteps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: randomizedSteps.length,\n\t\t\tnewSteps: randomizedSteps,\n\t\t};\n\t};\n\n\t// Lógica para modificar el flujo del formulario\n\tuseEffect(() => {\n\t\tif (modelo) {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newSteps = modifyTitleSteps(pastSteps, replaceModelo);\n\t\t\tmodeloRef.current = modelo;\n\t\t\tupdateSteps(newSteps);\n\t\t}\n\t}, [modelo]);\n\n\tuseEffect(() => {\n\t\tif (datosCorrectos === 'true') {\n\t\t\tconst steps = store.getState().formInfo.steps;\n\t\t\tconst modelo = getIndexInSteps(steps, 'Modelo');\n\t\t\t// En el caso de elegir que los datos son incorrectos, llegar a confirmación y volver atrás hay que regenerar todos los pasos.\n\t\t\tif (modelo === -1) {\n\t\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, [\n\t\t\t\t\t'DatosIncorrectos',\n\t\t\t\t\t'Modelo',\n\t\t\t\t\t'ConfirmacionConcesion',\n\t\t\t\t]);\n\t\t\t\tupdateSteps(finalSteps);\n\t\t\t} else {\n\t\t\t\tremoveSteps(['DatosIncorrectos', 'Modelo', 'ConfirmacionConcesion']);\n\t\t\t}\n\t\t} else if (datosCorrectos === 'false') {\n\t\t\taddSteps(['DatosIncorrectos', 'Modelo']);\n\t\t}\n\t}, [datosCorrectos]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdatosIncorrectos == valueWrongMarca ||\n\t\t\tdatosIncorrectos == valueWrongPersona\n\t\t) {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newsteps = [pastSteps[0], pastSteps[1], pastSteps[pastSteps.length - 1]];\n\t\t\tconst finalSteps = resetStepsScreenIndex(newsteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t\tif (datosIncorrectos == valueWrongConcesion) {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, ['Modelo']);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t\tif (datosIncorrectos == valueWrongModelo) {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, ['ConfirmacionConcesion']);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t}, [datosIncorrectos]);\n\n\tuseEffect(() => {\n\t\tif (confirmacionConcesion === 'false') {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newsteps = [pastSteps[0], pastSteps[1], pastSteps[2], pastSteps[pastSteps.length - 1]];\n\t\t\tconst finalSteps = resetStepsScreenIndex(newsteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t} else if (confirmacionConcesion === 'true') {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, ['Modelo']);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t}, [confirmacionConcesion]);\n\n\tuseEffect(() => {\n\t\tif (!enviarConcesion) {\n\t\t\treturn;\n\t\t}\n\t\tif (enviarConcesion === '3') {\n\t\t\taddSteps(['DatosPersonales']);\n\t\t} else {\n\t\t\tremoveSteps(['DatosPersonales']);\n\t\t}\n\t}, [enviarConcesion]);\n\n\tuseEffect(() => {\n\t\tif (!masPreguntas) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (masPreguntas === 'true') {\n\t\t\tconst stepNames = getArrayOfStepsNames(getStepsVenta(getInstallationName(), getVehicleName()), 'MasPreguntas', 'EnviarConcesion');\n\t\t\taddSteps(stepNames);\n\t\t} else if (masPreguntas === 'false') {\n\t\t\tconst { steps } = store.getState().formInfo;\n\t\t\tconst stepNames = getArrayOfStepsNames(steps, 'MasPreguntas', 'EnviarConcesion');\n\t\t\tremoveSteps(stepNames);\n\t\t}\n\t}, [masPreguntas]);\n\n\t/**\n\t * Se tiene que de manera consecutiva y no mediante las otras funciones porque si no, se actualizan los steps dos veces y en el segundo paso (añadir o eliminar el otro step) se hace siempre sobre los steps antiguos y no funciona de la manera esperada.\n\t *\n\t * @param stepToRemove\n\t * @param stepToAdd\n\t */\n\tconst removeAndAddStepAtTheSameTime = (stepToRemove: string, stepToAdd: string) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst removedSteps = removeMultipleStepsAndResetScreenIndex(steps, [stepToRemove]);\n\t\tconst addedSteps = addingStepsLogic([stepToAdd], removedSteps);\n\t\tconst finalSteps = resetStepsScreenIndex(addedSteps);\n\t\thandleNextStep();\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst handleShowMotivo = (nameOfMotivoStep: string, value?: string) => {\n\t\tif (value) {\n\t\t\tif (Number(value) == -1) value = 'Sin respuesta';\n\t\t\tif (isLowRating(value)) {\n\t\t\t\taddSteps([nameOfMotivoStep]);\n\t\t\t} else if (isHighRating(value) || isNoRating(value)) {\n\t\t\t\tremoveSteps([nameOfMotivoStep]);\n\t\t\t\tdelete formData.fields[stepNameToFieldName(nameOfMotivoStep)];\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionTratoMotivo', satisfaccionTrato);\n\t}, [satisfaccionTrato]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionOrganizacionMotivo', satisfaccionOrganizacion);\n\t}, [satisfaccionOrganizacion]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionAsesorMotivo', satisfaccionAsesor);\n\t}, [satisfaccionAsesor]);\n\n\tuseEffect(() => {\n\t\tconst stepName = store.getState().formInfo?.step?.name;\n\n\t\t// Verificamos que se ha contestado SatisfaccionConcesion\n\t\tif (stepName == 'SatisfaccionConcesion') {\n\n\t\t\tconst ratings = [satisfaccionTrato, satisfaccionOrganizacion, satisfaccionAsesor];\n\t\t\tconst { mostrarQlast1, mostrarQlast2 } = LastQuestionFlow(ratings, satisfaccionConcesion);\n\n\t\t\tif (mostrarQlast1 && mostrarQlast2) {\n\t\t\t\taddSteps(['SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo']);\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveSteps(['SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo']);\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t\tdelete formData.fields.sspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime('SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo');\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t}\n\t\t\tif (mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime('AspectoSatisfaccionMotivo', 'SatisfaccionConcesionMotivo');\n\t\t\t\tdelete formData.fields.aspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t}\n\t}, [satisfaccionTrato, satisfaccionOrganizacion, satisfaccionAsesor, satisfaccionConcesion]);\n\n\tuseEffect(() => {\n\t\tif(testDrive == '1') {\n\t\t\taddSteps(['SatisfaccionTestDrive', 'SatisfaccionTestDriveMotivo']);\n\t\t}\n\t\telse if(testDrive) {\n\t\t\tremoveSteps(['SatisfaccionTestDrive', 'SatisfaccionTestDriveMotivo']);\n\t\t}\n\t}, [testDrive]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionTestDriveMotivo', satisfaccionTestDrive);\n\t}, [satisfaccionTestDrive]);\n\n\tuseEffect(() => {\n\t\tif (!installation) return null;\n\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo(getStepsVenta(getInstallationName(), getVehicleName()));\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tformTheme: 'main',\n\t\t\tnotALayer: true,\n\t\t\tformType: 'inPage',\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : getStepsVenta(getInstallationName(), getVehicleName()),\n\t\t\tstepsHistory,\n\t\t\tthankYouComponent: ,\n\t\t\thideLegal: idPerson.LSSI__c === 'PERMITE' ? true : false,\n\t\t};\n\n\t\tinitializeForm(NuevoFormInfo, NuevoFormData);\n\t}, [installation]);\n\n\treturn !loading ? : null;\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { isHighRating, isLowRating, isNoRating, allHighRatings, allLowRatings, allNoRatings, allHighOrNoRatings } from 'src/feature-app';\n\n\nexport function LastQuestionFlow(ratings: string[], lastQuestion: string) {\n\n\tconst goodRating = allHighRatings(ratings);\n\tconst badRating = allLowRatings(ratings);\n\tconst emptyRating = allNoRatings(ratings);\n\tconst goodOrEmptyRating = allHighOrNoRatings(ratings);\n\n\t/* \n\tQfinal=4,5 AND NOT [Q1=3,2,1 AND Q2=3,2,1 AND Qn=3,2,1]\n\tOR\n\tQfinal=3,2,1 AND Q1=5,4,9 AND Q2=5,4,9 AND Qn=5,4,9\n\t*/\n\tconst mostrarQlast1 =\n\t\t(isHighRating(lastQuestion) && !badRating)\n\t\t||\n\t\t(isLowRating(lastQuestion) && goodOrEmptyRating);\n\n\t/* \n\tQfinal=3,2,1 \n\tAND\n\tNOT [Q1=5,4,9 AND Q2=5,4,9 AND Qn=5,4,9]\n\tAND\n\tNOT [Q1=3,2,1 AND Q2=3,2,1 AND Qn=3,2,1]\n\t*/\n\tconst mostrarQlast2 = isLowRating(lastQuestion) && !goodOrEmptyRating && !badRating;\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tif(dev) {\n\t\tconsole.log('LAST RATING:', lastQuestion, 'isHigh:', isHighRating(lastQuestion), 'isLow:', isLowRating(lastQuestion));\n\t\tconsole.log('RATINGS:', ratings, 'allgood:', goodRating, 'allbad:', badRating, 'allempty:', emptyRating, 'allgoodroempty:', goodOrEmptyRating);\n\t\tconsole.log('show1:', mostrarQlast1, 'show2:', mostrarQlast2);\n\t}\n\n\treturn {\n\t\tmostrarQlast1: mostrarQlast1,\n\t\tmostrarQlast2: mostrarQlast2\n\t};\n\n}\n","import React from 'react';\nimport { Layout, Breakpoints, Text, styled, Container, ContainerGutter, CTA, TokenTextAppearance, TokenTextColor, } from '@volkswagen-onehub/components-core';\n\nconst PaddingWrapper = styled.div`\n\tpadding-top: 32px;\n`;\ninterface LegalesCEMProps {\n\tisPosventa?: boolean;\n}\n\nexport const LegalesCEM = (props: LegalesCEMProps) => {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tTexto legal de Volkswagen\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\tEl responsable de tus datos es Volkswagen Group España Distribución, S.A.U. Vamos a utilizar tus datos para realizar un control de calidad sobre los productos y servicios contratados, mediante la realización de la presente encuesta de satisfacción, y contactarte para resolución de incidencias, reclamaciones o quejas. Tus datos podrán ser comunicados a las empresas del grupo para las finalidades de controlar la calidad de los productos y servicios, así como contactarte para resolución de incidencias, reclamaciones o quejas y, en el caso que hayas consentido, para elaborar tu perfil como usuario para enviarte comunicaciones comerciales según lo indicado en el consentimiento. También en el supuesto de haber consentido, tus datos y las respuestas de la presente encuesta de satisfacción serán comunicadas al {props.isPosventa ? 'Servicio Oficial' : 'punto de venta'}.\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\tTienes derecho a oponerte al tratamiento, limitar el mismo, acceder, rectificar, suprimir los datos y ejercer tu derecho a portabilidad, mediante el envío de un correo electrónico a:{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tatencioncliente@volkswagen.es\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\tPuedes consultar la información adicional en la{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tpolítica de privacidad\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\nimport { Layout, Breakpoints } from '@volkswagen-onehub/components-core';\nimport { LegalFullScreenSinConsentmientos } from 'src/components';\n\nexport const LegalesSinConsentimientosCEM = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React, {useEffect} from 'react';\nimport {getDealerKvps} from 'src/bff';\nimport {TriggerProps, useFaContent, useGetDealers, VehicleCalculadora} from 'src/feature-app';\nimport {FormDataFields} from 'src/types';\nimport {AppointmentVehicle, transformMillage} from 'src/forms';\nimport {NuevaCitaPosventaFormController} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst getAppointmentVehicle = (vehicle: VehicleCalculadora): AppointmentVehicle => {\n\treturn {\n\t\tbrand: 'V',\n\t\tframe: vehicle.vin,\n\t\tmillage: transformMillage(vehicle.mileage),\n\t\tmodelVersion: vehicle.modelDescr,\n\t\tmodelYear: 0,\n\t\tplate: vehicle.plate.toUpperCase(),\n\t\tplateDate: `${vehicle.plateDate} 00:00:00`,\n\t\ttmaimg: vehicle.modelKey,\n\t\tmodel: {\n\t\t\tcode: vehicle.familyCode,\n\t\t\tkey: vehicle.familyCode,\n\t\t\tname: vehicle.familyDesc,\n\t\t},\n\t};\n};\n\n//NO SE USA\n\nexport function CitaPosventaCalculadoraForm({setSelectedJourney}: TriggerProps) {\n\t// const faContent = useFaContent();\n\t// const { loading } = useGetDealers(faContent?.dealer);\n\n\t// const renderForm = (fields: FormDataFields) => {\n\t// setSelectedJourney(\n\t// ,\n\t// true\n\t// );\n\t// };\n\t// useEffect(() => {\n\t// if (loading) return;\n\n\t// const fields = {\n\t// motivo: 'MANTENIMIENTO',\n\t// formName: 'cita-posventa-calculadora',\n\t// matricula: faContent?.vehicle[0]?.plate,\n\t// vehicleForCalculadora: getAppointmentVehicle(faContent?.vehicle[0]),\n\t// kilometros: transformMillage(faContent?.vehicle[0]?.mileage),\n\t// anoMatriculacion: faContent?.vehicle[0]?.plateDate,\n\t// modelo: faContent?.vehicle[0]?.modelDescr,\n\t// budget: { pvp: faContent?.quotePvp, operations: [...faContent?.quoteOperations] },\n\t// deepLink: faContent?.deepLink,\n\t// };\n\t// const kvps = faContent?.dealer;\n\n\t// getDealerKvps(kvps)\n\t// .then((dealer) => {\n\t// renderForm({ ...fields, dealer });\n\t// })\n\t// .catch((err) => {\n\t// renderForm({ ...fields, dealer: {} }); // Hay que ver que hacer en estos casos.\n\t// });\n\t// }, [loading]);\n\n\treturn <>;\n}\n","import React, {useEffect} from 'react';\nimport {getDealers} from 'src/bff';\nimport {TriggerProps, useFaContent, useGetDealers} from 'src/feature-app';\nimport {FormDataFields} from 'src/types';\nimport {NuevaCitaPosventaFormController} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nexport function CitaPosventaBonosForm({setSelectedJourney}: TriggerProps) {\n\tconst faContent = useFaContent();\n\tconst {loading} = useGetDealers(faContent?.dealer);\n\n\tconst renderForm = (fields: FormDataFields) => {\n\t\tsetSelectedJourney(\n\t\t\t,\n\t\t\ttrue,\n\t\t);\n\t};\n\tuseEffect(() => {\n\t\tif (loading) return;\n\n\t\tconst fields = {\n\t\t\tmotivo: 'OTROS',\n\t\t\tformName: 'cita-posventa-bono',\n\t\t\tmasInformacion: faContent?.bono[0].desc,\n\t\t\tdeepLink: faContent?.deepLink,\n\t\t};\n\t\tconst kvps = faContent?.dealer;\n\n\t\tgetDealers()\n\t\t\t.then(() => {\n\t\t\t\trenderForm({...fields});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trenderForm({...fields}); // Hay que ver que hacer en estos casos.\n\t\t\t});\n\t}, [loading]);\n\n\treturn <>;\n}\n","import React, {useEffect} from 'react';\nimport {getDealers} from 'src/bff';\nimport {TriggerProps, useFaContent, useGetDealers, VehiclePortal} from 'src/feature-app';\nimport {FormDataFields} from 'src/types';\nimport {AppointmentVehicle, transformMillage} from 'src/forms';\nimport {NuevaCitaPosventaFormController} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst getAppointmentVehicle = (vehicle: VehiclePortal): AppointmentVehicle => {\n\treturn {\n\t\tbrand: 'V',\n\t\tframe: vehicle.frame,\n\t\tmillage: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\tmodelVersion: vehicle.commercialDenominationSli,\n\t\tmodelYear: 0,\n\t\tplate: vehicle.license.toUpperCase(),\n\t\tplateDate: transformTimestampToDate(vehicle.licenseDate, false),\n\t\ttmaimg: vehicle.tmaimg,\n\t\tmodel: {\n\t\t\tcode: vehicle.familyModelCode,\n\t\t\tkey: vehicle.familyModelCode,\n\t\t\tname: vehicle.familyModelDesc,\n\t\t},\n\t};\n};\n\nconst transformTimestampToDate = (date: number, isOnlyYear: boolean) => {\n\tconst timestamp = date;\n\tlet formattedDate: string;\n\tif (isOnlyYear) {\n\t\tformattedDate = new Date(timestamp).toLocaleDateString('es-ES', {\n\t\t\tyear: 'numeric',\n\t\t});\n\t} else {\n\t\tformattedDate = new Date(timestamp).toISOString().replace(/T/, ' ').replace(/\\..+/, '');\n\t}\n\treturn formattedDate;\n};\n\nexport function CitaPosventaMaintenanceForm({setSelectedJourney}: TriggerProps) {\n\tconst faContent = useFaContent();\n\tconst {loading} = useGetDealers(faContent?.dealer);\n\tconst vehicle = faContent?.vehicle[0];\n\n\tconst renderForm = (fields: FormDataFields) => {\n\t\tsetSelectedJourney(\n\t\t\t,\n\t\t\ttrue,\n\t\t);\n\t};\n\tuseEffect(() => {\n\t\tif (loading) return;\n\n\t\tconst fields = {\n\t\t\tmotivo: 'MANTENIMIENTO',\n\t\t\tformName: 'cita-posventa-maintenance-plan',\n\t\t\tmatricula: vehicle.license,\n\t\t\tvehicleForMaintenance: getAppointmentVehicle(vehicle),\n\t\t\tkilometros: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\t\tanoMatriculacion: transformTimestampToDate(vehicle.licenseDate, true),\n\t\t\tmodelo: vehicle.commercialDenominationSli,\n\t\t\t//budget: { pvp: faContent?.quotePvp, operations: [...faContent?.quoteOperations] },\n\t\t};\n\n\t\tgetDealers()\n\t\t\t.then(() => {\n\t\t\t\trenderForm({...fields});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trenderForm({...fields}); // Hay que ver que hacer en estos casos.\n\t\t\t});\n\t}, [loading]);\n\n\treturn <>;\n}\n","import React, { useEffect } from 'react';\nimport { getDealers } from 'src/bff';\nimport { TriggerProps, useFaContent, useGetDealers, VehiclePortal } from 'src/feature-app';\nimport { FormDataFields } from 'src/types';\nimport { AppointmentVehicle } from 'src/forms';\nimport { NuevaCitaPosventaFormController } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst getAppointmentVehicle = (vehicle: VehiclePortal): AppointmentVehicle => {\n\treturn {\n\t\tbrand: 'V',\n\t\tframe: vehicle.frame,\n\t\tmillage: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\tmodelVersion: vehicle.commercialDenominationSli,\n\t\tmodelYear: 0,\n\t\tplate: vehicle.license.toUpperCase(),\n\t\tplateDate: transformTimestampToDate(vehicle.licenseDate, false),\n\t\ttmaimg: vehicle.tmaimg,\n\t\tmodel: {\n\t\t\tcode: vehicle.familyModelCode,\n\t\t\tkey: vehicle.familyModelCode,\n\t\t\tname: vehicle.familyModelDesc,\n\t\t},\n\t};\n};\n\nconst transformTimestampToDate = (date: number, isOnlyYear: boolean) => {\n\tconst timestamp = date;\n\tlet formattedDate: string;\n\tif (isOnlyYear) {\n\t\tformattedDate = new Date(timestamp).toLocaleDateString('es-ES', {\n\t\t\tyear: 'numeric',\n\t\t});\n\t} else {\n\t\tformattedDate = new Date(timestamp).toISOString().replace(/T/, ' ').replace(/\\..+/, '');\n\t}\n\treturn formattedDate;\n};\n\nexport function CitaPosventaPortalForm({ setSelectedJourney }: TriggerProps) {\n\tconst faContent = useFaContent();\n\tconst { loading } = useGetDealers(faContent?.dealer);\n\tconst vehicle = faContent?.vehicle[0];\n\n\tconst renderForm = (fields: FormDataFields) => {\n\t\tsetSelectedJourney(\n\t\t\t,\n\t\t\ttrue,\n\t\t);\n\t};\n\tuseEffect(() => {\n\t\tif (loading) return;\n\n\t\tconst fields = {\n\t\t\tmotivo: faContent.motivo ?? null,\n\t\t\tformName: 'cita-posventa-portal',\n\t\t\tmatricula: vehicle.license,\n\t\t\tvehicleForMaintenance: getAppointmentVehicle(vehicle),\n\t\t\tkilometros: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\t\tanoMatriculacion: transformTimestampToDate(vehicle.licenseDate, true),\n\t\t\tmodelo: vehicle.commercialDenominationSli,\n\t\t\t//budget: { pvp: faContent?.quotePvp, operations: [...faContent?.quoteOperations] },\n\t\t};\n\n\t\tgetDealers()\n\t\t\t.then(() => {\n\t\t\t\trenderForm({ ...fields });\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trenderForm({ ...fields }); // Hay que ver que hacer en estos casos.\n\t\t\t});\n\t}, [loading]);\n\n\treturn <>;\n}\n","import {Breakpoints, BreakpointWrapper} from '@volkswagen-onehub/components-core';\nimport {CloseHandleV2, FocusLayerSizeV2, LayerManagerV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {AvailabilityErrorLayer} from 'src/components';\nimport {\n\tisNull,\n\tLayerManagerWrapper,\n\tNewDealerCard,\n\tuseFeatureAppConfig,\n\tuseFeatureAppEnvironment,\n\tuseMapGeneralController,\n\tweekDay_Day_Hour,\n} from 'src/feature-app';\nimport {LoadingLayer, ReservaCitaLayer} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport {\n\tAssessors,\n\tAvailability,\n\tCalendarSlot,\n\tDealersData,\n\tDmsInfo,\n\tHorario,\n\tOneFormState,\n\tSelectedTab,\n\tPoints,\n\tSteps,\n} from 'src/types';\nimport {CalendarioCita} from 'src/feature-app/CalendarioCita/';\nimport {useOneFormContext} from 'src/feature-app/OneForm';\nimport {useFeatureServices} from 'src/feature-app/hooks/use-feature-services';\nimport {\n\tgetDistanceFromLatLngCenter,\n\tcreateNoDmsSlotAndAssessor,\n\tLayerDesktopView,\n\tLayerMobileView,\n} from 'src/feature-app/NewMap';\nimport {getEarliestSlot, sortPointsByDistance} from 'src/feature-app/NewMap/sort-points';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {getEapiAvailability} from 'src/bff';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\n\ninterface AvailabilityHistory {\n\tdealerkvps: string;\n\tavailabilityHistory: AvailabilityHistoryDealer[];\n}\n\ninterface AvailabilityHistoryDealer {\n\tdealer: DmsInfo;\n\tfrom: number;\n\tto: number;\n\tavailability: Availability;\n}\n\nexport const JourneyCitaPosventaController = () => {\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {horario, dealer}: {horario?: Horario; dealer?: DealersData} = formData.fields;\n\tconst {formEnded, showCalendarOnLoad} = formInfo;\n\tconst {points, selectedDealer} = dealersInfo;\n\tconst {handleNextStep, handleScreenChange, setIsFullScreen} = useOneFormContext();\n\tconst layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst env = useFeatureAppEnvironment();\n\tconst config = useFeatureAppConfig();\n\tconst [showCalendar, setShowCalendar] = useState(false);\n\t// const [selectedPoint, handleSelectedPoint] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\tconst [error, setError] = useState(false);\n\tconst [preSelectedOrderValue, setPreSelectedOrderValue] = useState('ubicacion');\n\tconst pointsByTimeRef = useRef(null);\n\tconst pointsByDistanceRef = useRef(null);\n\tconst isComerciales = useIsComerciales();\n\n\tconst [firstAvailability, setFirstAvailability] = useState(null);\n\tconst availabilityHistory = useRef([]);\n\tconst loadingLayer = useRef(null);\n\tconst {\n\t\tclusters,\n\t\tcenterToCalculateDistance,\n\t\tsuperClusterRef,\n\t\tcardsDistanceRef,\n\t\tcardsTimeRef,\n\t\tselectedPoint,\n\t\thandleSelectedPoint,\n\t} = useMapGeneralController();\n\n\tconst [pointsToList, setPointsToList] = useState(null);\n\tconst [selectedSlot, setSelectedSlot] = useState(null);\n\n\tuseEffect(() => {\n\t\tif ((formEnded && dealer && showCalendarOnLoad) || selectedDealer || showCalendarOnLoad) {\n\t\t\tconst point = points.find((point: Points) => {\n\t\t\t\tif (point.properties.dealer.kvps === dealer?.kvps || point.properties.dealer.kvps === selectedDealer?.kvps) {\n\t\t\t\t\treturn point;\n\t\t\t\t}\n\t\t\t});\n\t\t\thandleShowCalendarOnClick(point);\n\t\t}\n\t}, []);\n\n\t//\n\t// Este useEffect sustituye a los anteriores.\n\t//\n\tuseEffect(() => {\n\t\tif (clusters && superClusterRef.current) {\n\t\t\tconst pointsByDistance = sortPointsByDistance(\n\t\t\t\tclusters,\n\t\t\t\tcenterToCalculateDistance.current,\n\t\t\t\tsuperClusterRef.current,\n\t\t\t);\n\t\t\tpointsByDistanceRef.current = pointsByDistance;\n\t\t\tsetPointsToList(pointsByDistance);\n\t\t}\n\t}, [clusters, superClusterRef.current]);\n\n\tconst getAvailability = async (\n\t\tdealer: DealersData,\n\t\tstart: number,\n\t\tend: number,\n\t\tskipHandleAvailability?: boolean,\n\t): Promise => {\n\t\tconst cachedAvailability = checkIfAvailabilityIsInCache(dealer, start);\n\n\t\tif (cachedAvailability) {\n\t\t\tsetFirstAvailability(cachedAvailability);\n\t\t\treturn cachedAvailability;\n\t\t} else {\n\t\t\tshowLoadingLayer();\n\t\t\tconst response = await getEapiAvailability(dealer.kvps, dealer.codInstalacion, start, end);\n\t\t\tif (!response) {\n\t\t\t\t// Error desde EAPI\n\t\t\t\thandleAvailabilityErrorLayer();\n\t\t\t}\n\t\t\tconst availability = response?.data;\n\t\t\tsaveAvailabilityInCache(dealer, start, end, availability);\n\t\t\thideLoadingLayer();\n\t\t\tsetError(false);\n\n\t\t\tif (availability.content?.calendar) {\n\t\t\t\tsetFirstAvailability(availability);\n\t\t\t\treturn availability;\n\t\t\t} else {\n\t\t\t\t// Error desde EAPI\n\t\t\t\t// handleAvailabilityErrorLayer();\n\t\t\t\t// Nuevo layer sin conexión DMS\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst checkIfAvailabilityIsInCache = (dealer: DealersData, start: number): Availability | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === dealer.kvps);\n\n\t\tif (dealerHistory) {\n\t\t\tconst availabiliyDealer = dealerHistory.availabilityHistory.find(\n\t\t\t\t(dealerAv) => dealerAv.from === start || start < dealerAv.to,\n\t\t\t);\n\t\t\treturn availabiliyDealer ? availabiliyDealer.availability : null;\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst getAvailabilityFromDealer = (kvps: string): AvailabilityHistory | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === kvps);\n\n\t\treturn dealerHistory ? dealerHistory : null;\n\t};\n\n\tconst saveAvailabilityInCache = (dealer: DealersData, start: number, end: number, availability: Availability) => {\n\t\tconst dealerInAvailability = availability.content.dealer;\n\t\tconst availabilityHistoryDealer: AvailabilityHistoryDealer = {\n\t\t\tdealer: dealerInAvailability ? dealerInAvailability : dealer.dmsInfo,\n\t\t\tfrom: start,\n\t\t\tto: end,\n\t\t\tavailability,\n\t\t};\n\n\t\tconst dealerHistoryIndex = availabilityHistory.current.findIndex((a) => a.dealerkvps === dealer.kvps);\n\t\t// Si ya existe el dealer se añade a la array de availability.\n\t\tif (dealerHistoryIndex !== -1) {\n\t\t\tavailabilityHistory.current[dealerHistoryIndex].availabilityHistory.push(availabilityHistoryDealer); // Testear\n\t\t} else {\n\t\t\t// Si no existe el dealer se crea una entrada en el histórico.\n\t\t\tavailabilityHistory.current = [\n\t\t\t\t...availabilityHistory.current,\n\t\t\t\t{\n\t\t\t\t\tdealerkvps: dealer.kvps,\n\t\t\t\t\tavailabilityHistory: [availabilityHistoryDealer],\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t};\n\n\tconst getRandomInt = (max: number): number => {\n\t\tconst min = 1;\n\t\tmax = Math.floor(max);\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t};\n\n\tconst handleDmsMapExit = (slot: CalendarSlot | CalendarSlot[], point: Points) => {\n\t\tconst {dealer} = point.properties;\n\t\tconst dealerAvailability = getAvailabilityFromDealer(dealer.kvps);\n\t\tif (dealerAvailability && dealerAvailability.availabilityHistory[0].dealer) {\n\t\t\tconst dealerFromDms = dealerAvailability.availabilityHistory[0].dealer;\n\t\t\tdealer.dmsInfo = dealerFromDms;\n\t\t}\n\t\tconst {assessors} = dealer.dmsInfo;\n\n\t\tlet assessor: Assessors;\n\t\t// En ocasiones un mismo slot puede tener distintos asesores\n\t\t// por lo que hay que seleccionar uno de manera aleatoria.\n\t\tif (Array.isArray(slot)) {\n\t\t\tconst max = slot.length;\n\t\t\tconst index = getRandomInt(max) - 1;\n\t\t\t// slot = slot[selectedIndex];\n\t\t\tassessor = findAssessor(slot[index], assessors);\n\t\t} else {\n\t\t\tassessor = findAssessor(slot, assessors);\n\t\t}\n\n\t\tif (!assessor) {\n\t\t\tassessor = {\n\t\t\t\tcode: 'Undefined',\n\t\t\t\tname: 'Todos',\n\t\t\t};\n\t\t}\n\n\t\thandleDealerFlags(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {assessor, slot, dealer},\n\t\t});\n\t\t// setWaitForNextStep(false);\n\t\tif (!formEnded) {\n\t\t\thandleNextStep();\n\t\t}\n\t};\n\n\tconst findAssessor = (slot: CalendarSlot, assessors: Assessors[]): Assessors => {\n\t\treturn assessors.find((assessor) => {\n\t\t\treturn assessor.name === slot.assessor || assessor.code === slot.assessorCode;\n\t\t});\n\t};\n\n\tconst handleNoDmsMapExit = (franjaHoraria: string, day: string, point: Points) => {\n\t\tlet {dealer} = point.properties;\n\t\tconst dealerAvailability = getAvailabilityFromDealer(dealer.kvps);\n\t\tif (dealerAvailability && dealerAvailability.availabilityHistory[0].dealer) {\n\t\t\tconst dealerFromDms = dealerAvailability.availabilityHistory[0].dealer;\n\t\t\tdealer.dmsInfo = dealerFromDms;\n\t\t}\n\n\t\t// Validamos que la cita a crear sea sin DMS mediante el flag dmsAvailable en false\n\t\tif (dealer && dealer.dmsInfo) {\n\t\t\tdealer.dmsInfo.dmsAvailable = false;\n\t\t}\n\n\t\tconst {slot, assessor} = createNoDmsSlotAndAssessor(franjaHoraria, day);\n\n\t\thandleDealerFlags(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {slot, assessor, dealer},\n\t\t});\n\n\t\tif (!formEnded) {\n\t\t\thandleNextStep();\n\t\t}\n\t};\n\n\tconst handleShowSlots = useCallback((point: Points): string | null => {\n\t\tconst {slots} = point.properties?.dealer;\n\t\tlet finalSlot;\n\n\t\tif (!isNull(slots)) {\n\t\t\tfinalSlot = getFinalSlot(getEarliestSlot(slots));\n\n\t\t\treturn finalSlot ? finalSlot : null;\n\t\t}\n\n\t\treturn null;\n\t}, []);\n\n\tconst getFinalSlot = (from: number) => {\n\t\tif (!from) {\n\t\t\treturn null;\n\t\t}\n\t\tconst momentSlot = weekDay_Day_Hour(from);\n\t\tconst capitalizedSlot = momentSlot.charAt(0).toUpperCase() + momentSlot.slice(1);\n\t\treturn capitalizedSlot.replace('-', ' a las ').concat('h');\n\t};\n\n\tconst handleShowCalendarOnClick = useCallback(async (point: Points) => {\n\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth();\n\t\t// if (point.properties.dealer.dmsInfo && point.properties.dealer.dmsInfo.dmsAvailable) {\n\t\tconst availability = await getAvailability(point.properties.dealer, firstDayOfMonth, lastDayOfMonth);\n\t\t// if (availability && availability.content.calendar) {\n\t\t// handleSelectedPoint(point);\n\t\t// setShowCalendar(true);\n\t\t// }\n\t\t// } else {\n\t\thandleSelectedPoint(point);\n\t\tsetShowCalendar(true);\n\t\t// }\n\t}, []);\n\n\tconst handleHideCalendarOnClick = () => {\n\t\thandleSelectedPoint(null);\n\t\tsetShowCalendar(false);\n\t};\n\n\tconst handleDealerFlags = (dealer: DealersData) => {\n\t\tconst {formInfo, formData} = store.getState();\n\t\tconst {steps} = formInfo;\n\t\tconst {initialSteps, formEnded}: {initialSteps: Steps[]; formEnded: boolean} = formInfo;\n\t\tconst {\n\t\t\tcocheSustitucion,\n\t\t\tcocheAlTaller,\n\t\t\tdealer: pastDealer,\n\t\t}: {\n\t\t\tcocheSustitucion: 'true' | 'false';\n\t\t\tcocheAlTaller: 'true' | 'false';\n\t\t\tdealer: DealersData;\n\t\t} = formData.fields;\n\t\tlet newSteps = [...steps];\n\n\t\tif (isComerciales) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!dealer || !dealer.dmsInfo || !dealer.dmsInfo.pickupCarServiceAvailabe) {\n\t\t\tconst tallerIndex = newSteps.findIndex((step) => step.name === 'CocheAlTaller');\n\t\t\tnewSteps.splice(tallerIndex, 1);\n\t\t}\n\n\t\tif (!dealer || !dealer.dmsInfo || !dealer.dmsInfo.replacementCarServiceAvailable) {\n\t\t\tconst sustitucionIndex = newSteps.findIndex((step) => step.name === 'CocheSustitucion');\n\t\t\tnewSteps.splice(sustitucionIndex, 1);\n\t\t}\n\n\t\tconst newStepsWithIndex = newSteps.map((step, index) => {\n\t\t\tstep.screenIndex = index;\n\t\t\treturn step;\n\t\t});\n\n\t\t// Pasamos de dealer sin dms a uno con dms después de llegar a la pantalla de confirmación y volvemos a atrás con editar.\n\t\tlet newIndex: number;\n\t\tlet newCocheAlTaller = cocheAlTaller;\n\t\tlet newCocheSustitucion = cocheSustitucion;\n\t\tif (formEnded) {\n\t\t\t// dispatch({ type: 'UPDATE_FIELDS', payload: { cocheSustitucion: null, cocheAlTaller: null } });\n\t\t\tdispatch({type: 'UPDATE_FORM_ENDED', payload: false});\n\n\t\t\tif (pastDealer.kvps !== dealer.kvps) {\n\t\t\t\tif (dealer.dmsInfo.pickupCarServiceAvailabe) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tcocheAlTaller === 'false' &&\n\t\t\t\t\t\tpastDealer &&\n\t\t\t\t\t\tpastDealer.dmsInfo &&\n\t\t\t\t\t\t!pastDealer.dmsInfo.pickupCarServiceAvailabe\n\t\t\t\t\t) {\n\t\t\t\t\t\tnewIndex = newStepsWithIndex.findIndex((step) => step.name === 'CocheAlTaller');\n\t\t\t\t\t\tnewCocheAlTaller = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (dealer.dmsInfo.replacementCarServiceAvailable) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tcocheAlTaller === 'false' &&\n\t\t\t\t\t\tpastDealer &&\n\t\t\t\t\t\tpastDealer.dmsInfo &&\n\t\t\t\t\t\t!pastDealer.dmsInfo.replacementCarServiceAvailable\n\t\t\t\t\t) {\n\t\t\t\t\t\tnewIndex = newStepsWithIndex.findIndex((step) => step.name === 'CocheSustitucion');\n\t\t\t\t\t\tnewCocheSustitucion = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdispatch({type: 'UPDATE_STEPS', payload: newStepsWithIndex});\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_LAST_STEP',\n\t\t\tpayload: newStepsWithIndex[newStepsWithIndex.length - 1],\n\t\t});\n\t\tdispatch({\n\t\t\ttype: 'SET_NUMBER_OF_SCREENS',\n\t\t\tpayload: newStepsWithIndex.length,\n\t\t});\n\t\t// Solo se llega a esta parte después de finalizar el journey y volver al mapa para editar la concesión.\n\t\tif (formEnded) {\n\t\t\tnewIndex = newIndex ? newIndex : newStepsWithIndex.length - 1;\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\tpayload: {\n\t\t\t\t\tcocheSustitucion: newCocheSustitucion,\n\t\t\t\t\tcocheAlTaller: newCocheAlTaller,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_STEP',\n\t\t\t\tpayload: newStepsWithIndex[newIndex],\n\t\t\t});\n\t\t\thandleScreenChange(newIndex);\n\t\t\tif (newStepsWithIndex[newIndex].name !== 'Confirmacion') {\n\t\t\t\tdispatch({type: 'UPDATE_FULLSCREEN', payload: false});\n\t\t\t\tsetIsFullScreen(false);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst renderCalendar = (): JSX.Element => {\n\t\tconst {centerToCalculateDistance, userIsGeoLocated} = useMapGeneralController();\n\n\t\treturn error ? null : (\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderPoints = (\n\t\tpoints: Points[],\n\t\tcarPickupSelected?: boolean,\n\t\treplacementCarSelected?: boolean,\n\t): JSX.Element[] => {\n\t\treturn pointsByDistanceRef.current\n\t\t\t? pointsByDistanceRef.current.map((point: Points, index: number) => {\n\t\t\t\t\tif (!point.properties.cluster) {\n\t\t\t\t\t\tconst {dealer} = point.properties;\n\t\t\t\t\t\tconst distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tcardsDistanceRef.current[index] = el;\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t })\n\t\t\t: null;\n\t};\n\n\t// Gestión del point seleccionado y del boton de seleccionar (dms)\n\tconst handleSeleccionarOnClick = useCallback((point: any) => {\n\t\thandleSelectedPoint(point);\n\t\thandleReservaCitaLayer(point);\n\t}, []);\n\n\tconst renderReservaCita = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\tconst renderLoadingLayer = () => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst handleReservaCitaLayer = (point: Points) => {\n\t\tlayerManager.openFocusLayer(renderReservaCita, {selectedPoint: point}, {size: FocusLayerSizeV2.A});\n\t};\n\tconst handleAvailabilityErrorLayer = () => {\n\t\thideLoadingLayer();\n\t\tsetError(true);\n\t\tlayerManager.openFocusLayer(renderAvailabilityErrorLayer, {}, {size: FocusLayerSizeV2.A});\n\t};\n\n\tconst showLoadingLayer = () => {\n\t\tconst layer = layerManager.openFocusLayer(renderLoadingLayer, {}, {size: FocusLayerSizeV2.A});\n\t\tloadingLayer.current = layer;\n\t};\n\n\tconst hideLoadingLayer = () => {\n\t\tif (loadingLayer.current) {\n\t\t\tloadingLayer.current.close();\n\t\t\tloadingLayer.current = null;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (loading) {\n\t\t\tshowLoadingLayer();\n\t\t} else {\n\t\t\thideLoadingLayer();\n\t\t}\n\t}, [loading]);\n\n\treturn (\n\t\t
\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n","import {CloseHandleV2, FocusLayerSizeV2, LayerManagerV2} from '@volkswagen-onehub/layer-manager';\nimport {AxiosResponse} from 'axios';\nimport React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {AvailabilityErrorLayer} from 'src/components';\nimport {\n\tLayerManagerWrapper,\n\tuseFeatureAppConfig,\n\tuseFeatureAppEnvironment,\n\tuseMapGeneralController,\n} from 'src/feature-app';\nimport {useFeatureServices} from 'src/feature-app/hooks/use-feature-services';\nimport {LoadingLayer} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport {Assessors, Availability, CalendarSlot, DealersData, DmsInfo, Horario, OneFormState, Points} from 'src/types';\nimport {createNoDmsSlotAndAssessor} from 'src/feature-app/NewMap';\nimport {CalendarioCita} from 'src/feature-app/CalendarioCita';\nimport {useOneFormContext} from 'src/feature-app/OneForm';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\nimport {getEapiAvailability} from 'src/bff';\n\ninterface AvailabilityHistory {\n\tdealerkvps: string;\n\tavailabilityHistory: AvailabilityHistoryDealer[];\n}\n\ninterface AvailabilityHistoryDealer {\n\tdealer: DmsInfo;\n\tfrom: number;\n\tto: number;\n\tavailability: Availability;\n}\n\nexport const JourneyCitaPosventaDealerController = () => {\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {horario, dealer, dealerKvps}: {horario?: Horario; dealer?: DealersData; dealerKvps?: string} = formData.fields;\n\tconst {points} = dealersInfo;\n\tconst {handleNextStep} = useOneFormContext();\n\tconst layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst env = useFeatureAppEnvironment();\n\tconst config = useFeatureAppConfig();\n\tconst [showCalendar, setShowCalendar] = useState(false);\n\t// const [selectedPoint, handleSelectedPoint] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\tconst [error, setError] = useState(false);\n\tconst [loadingPoint, setLoadingPoint] = useState(true);\n\n\tconst [firstAvailability, setFirstAvailability] = useState(null);\n\tconst availabilityHistory = useRef([]);\n\tconst loadingLayer = useRef(null);\n\tconst {selectedPoint, handleSelectedPoint} = useMapGeneralController();\n\n\tconst [pointsToList, setPointsToList] = useState(null);\n\tconst [selectedSlot, setSelectedSlot] = useState(null);\n\n\tuseEffect(() => {\n\t\tsetLoadingPoint(true);\n\t\t// setTimeout(() => {\n\t\tconst point = points.find((point: Points) => {\n\t\t\tif (point.properties.dealer.kvps === dealer?.kvps || point.properties.dealer.kvps === dealerKvps) {\n\t\t\t\treturn point;\n\t\t\t}\n\t\t});\n\t\t// handleShowCalendarOnClick(point);\n\t\tsetLoadingPoint(false);\n\t\t// }, 0);\n\t}, []);\n\n\tconst getAvailability = async (\n\t\tdealer: DealersData,\n\t\tstart: number,\n\t\tend: number,\n\t\tskipHandleAvailability?: boolean,\n\t): Promise => {\n\t\tconst cachedAvailability = checkIfAvailabilityIsInCache(dealer, start);\n\n\t\tif (cachedAvailability) {\n\t\t\tsetFirstAvailability(cachedAvailability);\n\t\t\treturn cachedAvailability;\n\t\t} else {\n\t\t\tshowLoadingLayer();\n\t\t\tif (availabilityHistory.current.length === 0) {\n\t\t\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth();\n\t\t\t\tstart = firstDayOfMonth;\n\t\t\t\tend = lastDayOfMonth;\n\t\t\t}\n\t\t\tconst response = await getEapiAvailability(dealer.kvps, dealer.codInstalacion, start, end);\n\t\t\tif (!response) {\n\t\t\t\t// Error desde EAPI\n\t\t\t\thandleAvailabilityErrorLayer();\n\t\t\t}\n\t\t\tconst availability = response?.data;\n\t\t\tsetError(false);\n\t\t\tsaveAvailabilityInCache(dealer, start, end, availability);\n\t\t\thideLoadingLayer();\n\n\t\t\tif (availability.content?.calendar) {\n\t\t\t\tsetFirstAvailability(availability);\n\t\t\t\treturn availability;\n\t\t\t} else {\n\t\t\t\t// Error desde EAPI\n\t\t\t\t// handleAvailabilityErrorLayer();\n\t\t\t\t// Nuevo layer sin conexión DMS\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst checkIfAvailabilityIsInCache = (dealer: DealersData, start: number): Availability | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === dealer.kvps);\n\n\t\tif (dealerHistory) {\n\t\t\tconst availabiliyDealer = dealerHistory.availabilityHistory.find(\n\t\t\t\t(dealerAv) => dealerAv.from === start || start <= dealerAv.to || Math.abs(start - dealerAv.to) < 1000, // Cuando compara dos valores practicamente identicos no hace bien la resta y devuelve error.\n\t\t\t);\n\t\t\treturn availabiliyDealer ? availabiliyDealer.availability : null;\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst getAvailabilityFromDealer = (kvps: string): AvailabilityHistory | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === kvps);\n\n\t\treturn dealerHistory ? dealerHistory : null;\n\t};\n\n\tconst saveAvailabilityInCache = (dealer: DealersData, start: number, end: number, availability: Availability) => {\n\t\tconst dealerInAvailability = availability.content.dealer;\n\t\tconst availabilityHistoryDealer: AvailabilityHistoryDealer = {\n\t\t\tdealer: dealerInAvailability ? dealerInAvailability : dealer.dmsInfo,\n\t\t\tfrom: start,\n\t\t\tto: end,\n\t\t\tavailability,\n\t\t};\n\n\t\tconst dealerHistoryIndex = availabilityHistory.current.findIndex((a) => a.dealerkvps === dealer.kvps);\n\t\t// Si ya existe el dealer se añade a la array de availability.\n\t\tif (dealerHistoryIndex !== -1) {\n\t\t\tavailabilityHistory.current[dealerHistoryIndex].availabilityHistory.push(availabilityHistoryDealer); // Testear\n\t\t} else {\n\t\t\t// Si no existe el dealer se crea una entrada en el histórico.\n\t\t\tavailabilityHistory.current = [\n\t\t\t\t...availabilityHistory.current,\n\t\t\t\t{dealerkvps: dealer.kvps, availabilityHistory: [availabilityHistoryDealer]},\n\t\t\t];\n\t\t}\n\t};\n\n\tconst getRandomInt = (max: number): number => {\n\t\tconst min = 1;\n\t\tmax = Math.floor(max);\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t};\n\n\tconst handleDmsMapExit = (slot: CalendarSlot | CalendarSlot[], point: Points) => {\n\t\tconst {dealer} = point.properties;\n\t\tconst dealerAvailability = getAvailabilityFromDealer(dealer.kvps);\n\t\tif (dealerAvailability && dealerAvailability.availabilityHistory[0].dealer) {\n\t\t\tconst dealerFromDms = dealerAvailability.availabilityHistory[0].dealer;\n\t\t\tdealer.dmsInfo = dealerFromDms;\n\t\t}\n\t\tconst {assessors} = dealer.dmsInfo;\n\t\tlet assessor: Assessors;\n\t\t// En ocasiones un mismo slot puede tener distintos asesores\n\t\t// por lo que hay que seleccionar uno de manera aleatoria.\n\t\tif (Array.isArray(slot)) {\n\t\t\tconst max = slot.length;\n\t\t\tconst index = getRandomInt(max) - 1;\n\t\t\t// slot = slot[selectedIndex];\n\t\t\tassessor = findAssessor(slot[index], assessors);\n\t\t} else {\n\t\t\tassessor = findAssessor(slot, assessors);\n\t\t}\n\n\t\tif (!assessor) {\n\t\t\tassessor = {\n\t\t\t\tcode: 'Undefined',\n\t\t\t\tname: 'Todos',\n\t\t\t};\n\t\t}\n\n\t\tconst appointmentDealer = createAppointmentDealer(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {assessor, slot, dealer, appointmentDealer},\n\t\t});\n\t\t// setWaitForNextStep(false);\n\t\thandleNextStep();\n\t};\n\n\tconst findAssessor = (slot: CalendarSlot, assessors: Assessors[]): Assessors => {\n\t\treturn assessors.find((assessor) => {\n\t\t\treturn assessor.name === slot.assessor || assessor.code === slot.assessorCode;\n\t\t});\n\t};\n\n\tconst createAppointmentDealer = (dealer: DealersData) => {\n\t\tconst {markerInfo, dmsInfo} = dealer;\n\n\t\treturn {\n\t\t\tassessors: dmsInfo.assessors ? [...dmsInfo.assessors] : undefined,\n\t\t\tdealerId: dmsInfo.dealerId ? {...dmsInfo.dealerId} : {...markerInfo.dealerInfo.dealerId},\n\t\t\tdmsAvailable: dmsInfo.dmsAvailable ? dmsInfo.dmsAvailable : false,\n\t\t\temail: dmsInfo.email ? dmsInfo.email : markerInfo.dealerInfo.mail,\n\t\t\tname: dmsInfo.name ? dmsInfo.name : markerInfo.dealerInfo.name,\n\t\t\tphone: dmsInfo.phone ? dmsInfo.phone : markerInfo.dealerInfo.phone,\n\t\t\toverhaulingServiceAvialable: dmsInfo.overhaulingServiceAvialable ? dmsInfo.overhaulingServiceAvialable : false,\n\t\t\tpickupCarServiceAvailabe: dmsInfo.pickupCarServiceAvailabe ? dmsInfo.pickupCarServiceAvailabe : false,\n\t\t\treplacementCarServiceAvailable: dmsInfo.replacementCarServiceAvailable\n\t\t\t\t? dmsInfo.replacementCarServiceAvailable\n\t\t\t\t: false,\n\t\t\treference: dmsInfo.reference,\n\t\t};\n\t};\n\n\tconst handleNoDmsMapExit = (franjaHoraria: string, day: string, point: Points) => {\n\t\tlet {dealer} = point.properties;\n\t\tconst {slot, assessor} = createNoDmsSlotAndAssessor(franjaHoraria, day);\n\n\t\tdealer = {\n\t\t\t...dealer,\n\t\t\tdmsInfo: {\n\t\t\t\t...dealer.dmsInfo,\n\t\t\t\tdmsAvailable: false,\n\t\t\t\tpickupCarServiceAvailabe: false,\n\t\t\t\treplacementCarServiceAvailable: false,\n\t\t\t\toverhaulingServiceAvialable: false,\n\t\t\t},\n\t\t};\n\n\t\tconst appointmentDealer = createAppointmentDealer(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {slot, assessor, dealer, appointmentDealer},\n\t\t});\n\n\t\thandleNextStep();\n\t};\n\n\tconst handleHideCalendarOnClick = () => {\n\t\thandleSelectedPoint(null);\n\t\tsetShowCalendar(false);\n\t};\n\n\tconst renderCalendar = (): JSX.Element => {\n\t\tconst {centerToCalculateDistance, userIsGeoLocated} = useMapGeneralController();\n\n\t\treturn error ? null : (\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\tconst renderLoadingLayer = () => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst handleAvailabilityErrorLayer = () => {\n\t\thideLoadingLayer();\n\t\tsetError(true);\n\t\tlayerManager.openFocusLayer(renderAvailabilityErrorLayer, {}, {size: FocusLayerSizeV2.A});\n\t};\n\n\tconst showLoadingLayer = () => {\n\t\tconst layer = layerManager.openFocusLayer(renderLoadingLayer, {}, {size: FocusLayerSizeV2.A});\n\t\tloadingLayer.current = layer;\n\t};\n\n\tconst hideLoadingLayer = () => {\n\t\tif (loadingLayer.current) {\n\t\t\tloadingLayer.current.close();\n\t\t\tloadingLayer.current = null;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (loading) {\n\t\t\tshowLoadingLayer();\n\t\t} else {\n\t\t\thideLoadingLayer();\n\t\t}\n\t}, [loading]);\n\n\treturn !loadingPoint ? renderCalendar() : null;\n};\n","import React from 'react';\nimport {JourneyCitaPosventaDealerController} from './JourneyCitaPosventaDealerController';\nimport {MapGeneralController} from 'src/feature-app/NewMap/MapGeneralController';\n\n/**\n * Este componente está creado únicamente para que JourneyCitaPosventaController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyCitaPosventaDealerWrapper = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\nimport {JourneyCitaPosventaController} from 'src/forms/CitaPosventa';\nimport {MapGeneralController} from 'src/feature-app/NewMap/MapGeneralController';\n\n/**\n * Este componente está creado únicamente para que JourneyCitaPosventaController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyCitaPosventaWrapper = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import {styled, Text} from '@volkswagen-onehub/components-core';\nimport React, {useEffect, useState} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {useOneFormContext} from 'src/feature-app';\nimport {RenderController} from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport {LocateUser} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport {TIME_FOR_TRANSFORM} from 'src/globals';\nimport {DealersData, OneFormState, Steps} from 'src/types';\nimport {updateMapVariables} from 'src/feature-app/';\nimport {JourneyCitaPosventaWrapper} from 'src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaWrapper';\n\nexport enum MapaCitaSteps {\n\tDealer,\n\tSeleccionCita,\n\tHorario,\n}\n\ninterface MapaCitaProps {\n\tshowHorario?: boolean;\n\tformName?: string;\n}\n\nconst SaltoDeLinea = styled.div`\n\tdisplay: none;\n\t@media all and (min-width: 736px) {\n\t\tdisplay: inline;\n\t}\n`;\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function NewMapaCita(props: MapaCitaProps) {\n\tconst {formName, showHorario} = props;\n\tconst dispatch = useDispatch();\n\tconst store = useStore();\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {dealer}: {dealer?: DealersData} = formData.fields;\n\tconst {selectedDealer} = dealersInfo;\n\tconst {firstMapLoad, multiStepScreenIndex, navigationMovingForward} = formInfo;\n\n\tconst {\n\t\thandleScreenChange,\n\t\tsetNextMultiStep,\n\t\tsetNextMultiStepScreenIndex,\n\t\tsetPreviousMultiStep,\n\t\tsetWaitForPreviousStep,\n\t\twaitForPreviousStep,\n\t\tsetIsFullScreen,\n\t\tsetShowPreviousStep,\n\t} = useOneFormContext();\n\n\tconst steps: Steps[] = [\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\tBien, empecemos con los detalles de tu visita.{' '}\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t¿A dónde quieres llevar tu{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tcoche?*\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t),\n\t\t\tfields: ,\n\t\t\tscreenIndex: MapaCitaSteps.Dealer,\n\t\t\tname: 'MapSearch',\n\t\t\toutputs: ['location'],\n\t\t\toutputsText: ['location'],\n\t\t\tshowOverflow: true,\n\t\t},\n\t\t{\n\t\t\tscreenIndex: MapaCitaSteps.SeleccionCita,\n\t\t\tname: 'MapSelect',\n\t\t\talternateTitle: (\n\t\t\t\t\n\t\t\t\t\tEsta es la cita que has elegido\n\t\t\t\t\n\t\t\t),\n\t\t\ttitle: <>,\n\t\t\tfields: ,\n\t\t\toutputs: ['slot.from', 'dealer.name'],\n\t\t\toutputsText: ['slot.from', 'en el taller', 'dealer.name'],\n\t\t\tfullScreen: true,\n\t\t\tmultiStepLastScreen: true,\n\t\t\thidePreviousStep: true,\n\t\t},\n\t];\n\n\tconst [selectedStep, setSelectedStep] = useState(steps[0]);\n\n\t/**\n\t * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n\t */\n\tconst onMapLoad = () => {\n\t\thandleFirstLoad();\n\t};\n\n\t//\n\t//\n\t//\n\t// Falta añadir la parte del dealer precargado\n\t//\n\t//\n\t//\n\tconst handleFirstLoad = async () => {\n\t\tif (firstMapLoad) {\n\t\t\t// Inicialización\n\t\t\tif (dealer) {\n\t\t\t\tinitializeMultiStep(dealer);\n\t\t\t\treturn;\n\t\t\t} else if (selectedDealer) {\n\t\t\t\tinitializeMultiStep(selectedDealer);\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tinitializeMultiStep();\n\t\t\t}\n\t\t} else {\n\t\t\tif (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n\t\t\t\t// Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n\t\t\t\tinitializeMultiStep();\n\t\t\t} else {\n\t\t\t\t// En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n\t\t\t\tconst newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n\t\t\t\t// Lo mismo para previous, solo le desactivamos si estamos en la primera.\n\t\t\t\tconst newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n\t\t\t\tupdateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n\t\t\t\tupdateScreenChangeVariables(multiStepScreenIndex);\n\n\t\t\t\ttimeoutPreviousStep();\n\t\t\t\t// En caso de volver al mapa con el cta de editar en confirmación se muestra el previous step, por lo que añadimos este timeout para asegurarnos de que no se muestra.\n\t\t\t\ttimeoutPreviousStep(1000);\n\t\t\t}\n\t\t}\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: {horario: 'before'}}); // Al eliminar la pantalla de horario seleccionamos por defecto \"before\" para preseleccionar el primer slot disponible.\n\n\t\tsetNextMultiStep(() => nextMapaCita);\n\t\tsetPreviousMultiStep(() => previousMapaCita);\n\t};\n\n\tconst initializeMultiStep = async (dealer?: DealersData) => {\n\t\tif (dealer) {\n\t\t\tawait updateMapVariables(dispatch, dealer);\n\t\t\tupdateWaitForNextAndPreviousStep(false, true);\n\t\t\tupdateScreenChangeVariables(steps.length - 1);\n\t\t\ttimeoutPreviousStep();\n\t\t} else {\n\t\t\tupdateWaitForNextAndPreviousStep(true, false);\n\t\t\tupdateScreenChangeVariables(0);\n\t\t}\n\t};\n\n\tconst updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n\t\tif (waitForNextStep !== null) {\n\t\t\tdispatch({type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep});\n\t\t}\n\t\tif (waitForPreviousStep !== null) {\n\t\t\tsetWaitForPreviousStep(waitForPreviousStep);\n\t\t}\n\t};\n\n\tconst nextMapaCita = () => {\n\t\tconst {multiStepScreenIndex} = store.getState().formInfo;\n\n\t\thandleScreenChange();\n\n\t\t// Una vez avanzamos dentro de los multisteps se activa el wait\n\t\t// previous step para volver hacia atrás dentro del propio multistep.\n\t\tif (!waitForPreviousStep || multiStepScreenIndex === 0) {\n\t\t\tupdateWaitForNextAndPreviousStep(null, true);\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tupdateScreenChangeVariables(multiStepScreenIndex + 1);\n\t\t\t// Si estamos en el último paso del multistep se desactiva el\n\t\t\t// wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n\t\t\tif (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n\t\t\t\tupdateWaitForNextAndPreviousStep(false, null);\n\t\t\t\tif (multiStepScreenIndex === 0) {\n\t\t\t\t\tsetShowPreviousStep(false);\n\t\t\t\t} else {\n\t\t\t\t\tsetShowPreviousStep(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}, TIME_FOR_TRANSFORM);\n\t};\n\n\tconst previousMapaCita = () => {\n\t\tconst {multiStepScreenIndex, waitForNextStep} = store.getState().formInfo;\n\n\t\thandleScreenChange();\n\n\t\t// Se desactiva el wait previous step en la segunda pantalla para que\n\t\t// en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n\t\tif (multiStepScreenIndex === 1) {\n\t\t\tupdateWaitForNextAndPreviousStep(null, false);\n\t\t}\n\n\t\tif (!waitForNextStep) {\n\t\t\tupdateWaitForNextAndPreviousStep(true, null);\n\t\t}\n\n\t\t// Se fija en la pantalla previa a la primera para que cuando se cambie\n\t\t// a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n\t\tsetTimeout(() => {\n\t\t\tupdateScreenChangeVariables(multiStepScreenIndex - 1);\n\t\t}, TIME_FOR_TRANSFORM);\n\t};\n\n\t/**\n\t * En algunas ocasiones no funciona correctamente el setShowPreviousStep(false) por lo que conviene aplicar un timeout.\n\t */\n\tconst timeoutPreviousStep = (ms?: number) => {\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tsetShowPreviousStep(false);\n\t\t\t},\n\t\t\tms ? ms : TIME_FOR_TRANSFORM,\n\t\t);\n\t};\n\n\tconst updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n\t\tsetNextMultiStepScreenIndex(newMultiStepScreenIndex);\n\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex});\n\t\tsetSelectedStep(steps[newMultiStepScreenIndex]);\n\t\tsetIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n\t\tsetShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n\t};\n\n\tuseEffect(() => {\n\t\tdispatch({type: 'UPDATE_MULTISTEPS', payload: steps});\n\n\t\thandleFirstLoad();\n\n\t\treturn () => {\n\t\t\tdispatch({type: 'UPDATE_FIRST_MAP_LOAD', payload: false});\n\t\t\tsetShowPreviousStep(true);\n\t\t\tupdateWaitForNextAndPreviousStep(false, false);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import {Text} from '@volkswagen-onehub/components-core';\nimport React, {useEffect, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {useOneFormContext} from 'src/feature-app';\nimport {RenderController} from 'src/feature-app/Screen';\nimport {TIME_FOR_TRANSFORM} from 'src/globals';\nimport {DealersData, OneFormState, Steps} from 'src/types';\nimport {updateMapVariables} from 'src/feature-app/';\nimport {MapaCitaSteps} from 'src/forms/CitaPosventa/MapaCita/MapaCita';\nimport {JourneyCitaPosventaDealerWrapper} from 'src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaDealerWrapper';\n\ninterface MapaCitaProps {\n\tshowHorario?: boolean;\n\tformName?: string;\n}\n\nexport function MapaCitaDealer(props: MapaCitaProps) {\n\tconst dispatch = useDispatch();\n\tconst {formData, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {selectedDealer, urlDealer} = dealersInfo;\n\n\tconst {dealer}: {dealer?: DealersData} = formData.fields;\n\n\tconst {\n\t\thandleScreenChange,\n\t\tsetNextMultiStep,\n\t\tsetNextMultiStepScreenIndex,\n\t\tsetPreviousMultiStep,\n\t\tsetWaitForPreviousStep,\n\t\tsetIsFullScreen,\n\t\tsetShowPreviousStep,\n\t} = useOneFormContext();\n\n\tconst steps: Steps[] = [\n\t\t{\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'MapSelect',\n\t\t\talternateTitle: (\n\t\t\t\t\n\t\t\t\t\tEsta es la cita que has elegido\n\t\t\t\t\n\t\t\t),\n\t\t\ttitle: <>,\n\t\t\tfields: ,\n\t\t\toutputs: ['slot.from', 'dealer.name'],\n\t\t\toutputsText: ['slot.from', 'en el taller', 'dealer.name'],\n\t\t\tfullScreen: true,\n\t\t\tmultiStepLastScreen: true,\n\t\t\thidePreviousStep: true,\n\t\t},\n\t];\n\n\tconst [selectedStep, setSelectedStep] = useState(steps[0]);\n\n\tconst handleFirstLoad = async () => {\n\t\tif (urlDealer) {\n\t\t\tinitializeMultiStep(urlDealer);\n\t\t\treturn;\n\t\t} else if (selectedDealer) {\n\t\t\tinitializeMultiStep(selectedDealer);\n\t\t\treturn;\n\t\t} else {\n\t\t\tinitializeMultiStep();\n\t\t}\n\n\t\tsetNextMultiStep(() => navigateMultiStep);\n\t\tsetPreviousMultiStep(() => navigateMultiStep);\n\t};\n\n\tconst initializeMultiStep = async (dealer?: DealersData) => {\n\t\tif (dealer) {\n\t\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: 0});\n\t\t\tawait updateMapVariables(dispatch, dealer);\n\t\t\tupdateScreenChangeVariables(0);\n\t\t\tupdateWaitForNextAndPreviousStep(false, false);\n\t\t\ttimeoutPreviousStep();\n\t\t}\n\t};\n\n\tconst updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n\t\tif (waitForNextStep !== null) {\n\t\t\tdispatch({type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep});\n\t\t}\n\t\tif (waitForPreviousStep !== null) {\n\t\t\tsetWaitForPreviousStep(waitForPreviousStep);\n\t\t}\n\t};\n\n\tconst navigateMultiStep = () => {\n\t\thandleScreenChange();\n\t};\n\n\t/**\n\t * En algunas ocasiones no funciona correctamente el setShowPreviousStep(false) por lo que conviene aplicar un timeout.\n\t */\n\tconst timeoutPreviousStep = (ms?: number) => {\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tsetShowPreviousStep(false);\n\t\t\t},\n\t\t\tms ? ms : TIME_FOR_TRANSFORM,\n\t\t);\n\t};\n\n\tconst updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n\t\tsetIsFullScreen(true);\n\t\tdispatch({type: 'UPDATE_FULLSCREEN', payload: true});\n\t\tsetNextMultiStepScreenIndex(newMultiStepScreenIndex);\n\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex});\n\t\tsetSelectedStep(steps[newMultiStepScreenIndex]);\n\t\tsetShowPreviousStep(false);\n\t};\n\n\tuseEffect(() => {\n\t\tdispatch({type: 'UPDATE_MULTISTEPS', payload: steps});\n\t\thandleFirstLoad();\n\n\t\treturn () => {\n\t\t\tdispatch({type: 'UPDATE_FIRST_MAP_LOAD', payload: false});\n\t\t\tsetShowPreviousStep(true);\n\t\t\tupdateWaitForNextAndPreviousStep(false, false);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tSpinner,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {Alert} from 'src/icons-core-imports';\n\nimport {CloseHandleV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useEffect, useState, useCallback} from 'react';\nimport {useDispatch, useStore} from 'react-redux';\nimport {Store} from 'redux';\nimport {\n\tcreateNoDmsSlotAndAssessor,\n\tgetFranjaAndDayFrom,\n\tweekDay_DayNumber_De_Month,\n\tuseFeatureAppConfig,\n\tweekDay_Day_Hour,\n} from 'src/feature-app';\nimport {DealersData, OneFormState, Slot, Horario} from 'src/types';\n\nconst Content = styled.div`\n\tbackground-color: #ffffff;\n\tpadding: 44px 31px;\n\tflex: auto;\n\ttext-align: center;\n\twidth: 100%;\n\t@media screen and (min-width: 560px) {\n\t\tpadding: 52px 46px;\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tpadding: var(--size-grid001);\n\t}\n`;\n\nconst CTAWrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\ttext-align: left;\n\t> div {\n\t\ttext-align: left;\n\t}\n\t> button {\n\t\t@media screen and (min-width: 560px) {\n\t\t\twidth: auto;\n\t\t}\n\t}\n`;\n\ninterface InvalidFormProps {\n\tnotSavedField?: string;\n\tcloseLayerCallback?: CloseHandleV2;\n}\n\nexport function InvalidForm(props: InvalidFormProps) {\n\tconst {notSavedField, closeLayerCallback} = props;\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t¿Quieres conservar estos últimos cambios?\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tSi es así, necesitamos que guardes los cambios que has hecho {notSavedField} antes de confirmar tu cita.\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstretchContent\n\t\t\t\t\t>\n\t\t\t\t\t\tEntendido\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\ninterface loadingSreenProps {\n\tisleads?: boolean;\n\tcopy?: string;\n}\n\nexport function LoadingScreen(props: loadingSreenProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{props.copy ? {props.copy} : Enviando tu petición}\n\t\t\n\t);\n}\n\ninterface KoScreenProps {\n\tretrySubmit: (e: any) => void;\n\tcloseLayerCallback?: CloseHandleV2;\n\ttitle?: string;\n\tbodyCopy?: string;\n\tisLEM?: boolean;\n\thideSecondCTA?: boolean;\n}\n\nexport function KoScreen(props: KoScreenProps) {\n\tconst {retrySubmit, closeLayerCallback, title, bodyCopy, isLEM, hideSecondCTA} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{title ? title : 'Uy, algo ha pasado'}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{bodyCopy ? bodyCopy : 'Por alguna razón no hemos podido recoger tus datos. ¿Lo intentamos de nuevo?'}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tretrySubmit(e);\n\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReintentar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{hideSecondCTA ? null : isLEM ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tIr a la web\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tSeguir navegando\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tretrySubmit(e);\n\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReintentar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{hideSecondCTA ? null : isLEM ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIr a la web\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tSeguir navegando\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\ninterface IntermitenciaDMSKoProps {\n\tretrySubmit: (e: any) => void;\n\tcloseLayerCallback?: CloseHandleV2;\n}\n\nexport function IntermitenciaDMSKo(props: IntermitenciaDMSKoProps) {\n\tconst {retrySubmit, closeLayerCallback} = props;\n\tconst [dmsFailed, setDmsFailed] = useState(false);\n\tconst store: Store = useStore();\n\tconst dispatch = useDispatch();\n\tconst config = useFeatureAppConfig();\n\n\tconst [day, setDay] = useState(null);\n\tconst [franjaHoraria, setFranjaHoraria] = useState(null);\n\tconst [name, setName] = useState(null);\n\tconst [selectedPoint, setSelectedPoint] = useState(null);\n\tconst {horario}: {horario?: Horario} = store.getState().formData.fields;\n\n\tuseEffect(() => {\n\t\tconst {sendDmsFailed} = store.getState().formInfo;\n\t\tlet {slot, dealer}: {slot?: Slot; dealer?: DealersData} = store.getState().formData.fields;\n\n\t\tsetDmsFailed(sendDmsFailed);\n\t\tconst {franjaHoraria} = getFranjaAndDayFrom(slot.from);\n\n\t\tsetDay(weekDay_DayNumber_De_Month(slot.from));\n\t\tsetFranjaHoraria(franjaHoraria.toLowerCase());\n\t\tsetName(dealer.name);\n\t\tsetSelectedPoint(slot);\n\t}, []);\n\n\tconst handleShowSlots = useCallback((): string | null => {\n\t\tlet {slot}: {slot?: Slot} = store.getState().formData.fields;\n\n\t\tconst finalSlot = getFinalSlot(slot.from);\n\n\t\treturn finalSlot ? finalSlot : null;\n\t}, []);\n\n\tconst getFinalSlot = (from: number) => {\n\t\tconst momentSlot = weekDay_Day_Hour(from);\n\t\tconst capitalizedSlot = momentSlot.charAt(0).toUpperCase() + momentSlot.slice(1);\n\t\treturn capitalizedSlot.replace('-', ' a las ').concat('h');\n\t};\n\n\tconst createNoDmsSlot = async (e: any) => {\n\t\tlet {slot, dealer}: {slot?: Slot; dealer?: DealersData} = store.getState().formData.fields;\n\t\tdealer = {\n\t\t\t...dealer,\n\t\t\tdmsInfo: {\n\t\t\t\t...dealer.dmsInfo,\n\t\t\t\tdmsAvailable: false,\n\t\t\t},\n\t\t};\n\t\tconst {franjaHoraria, day} = getFranjaAndDayFrom(slot.from);\n\t\tconst {slot: newSlot, assessor} = createNoDmsSlotAndAssessor(franjaHoraria, day);\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: {slot: newSlot, assessor, dealer}});\n\n\t\tretrySubmit(e);\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tNo hemos podido confirmar tu cita para el{' '}\n\t\t\t\t\t{handleShowSlots()}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t¿Quieres que {name} se ponga en contacto contigo para\n\t\t\t\t\t\tcerrar tu cita el {day} por la {franjaHoraria}?\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tawait createNoDmsSlot(e);\n\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tConsultar con mi taller\n\t\t\t\t\t\t\n\t\t\t\t\t\t{config.trigger === 'cita-posventa-dealer' ? null : (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tBuscar una nueva cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n","import dayjs from 'dayjs';\nimport {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerPadding,\n\tLayout,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { createEapiAppointment, deleteEapiAppointment, getEapiCarlines, oneformBFFNdpsSend } from 'src/bff';\nimport { getDealerKvps } from 'src/bff/api/get-dealer-kvps';\nimport {\n\tDetalleMotivo,\n\tEmail,\n\tKilometros,\n\tMatriculaYModelo,\n\tMultipleCTASelection,\n\tPantallaNombreApellido,\n\tTelefono,\n} from 'src/components';\nimport { formatPrefix, removeWhiteSpace, useFaContent, useOneFormContext, useGetWaidLitera } from 'src/feature-app';\nimport { MapaCitaDealer, NewMapaCita } from 'src/forms/CitaPosventa/MapaCita';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport {\n\tresetStepsScreenIndex,\n\tremoveMultipleStepsAndResetScreenIndex,\n\tremoveStep,\n} from 'src/forms/helpers/add-remove-steps';\nimport {\n\tFormDataFields,\n\tDealerInfo,\n\tDealersData,\n\tDmsInfo,\n\tFormDataGroup,\n\tFormInfo,\n\tOneFormState,\n\tSteps,\n\tCarlineBase,\n} from 'src/types';\nimport { NuevaCitaPosventaFormDefault, NuevaCitaPosventaFormLogged } from '..';\nimport { CitaFormDataFields } from '../types';\nimport { ConfirmacionCita } from './ConfirmacionCita';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { Store } from 'redux';\nimport { useIsComerciales, useGetBrand } from 'src/feature-app/hooks';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { transformDate } from 'src/helpers';\nimport { InputRegex } from 'src/components/inputs/InputRegex';\n\nexport enum CitaPosventaSteps {\n\tMotivo,\n\tMiembroTheOriginals,\n\tChequeoSeguridad,\n\tMasInformacion,\n\tMapa,\n\tNombreApellido,\n\tMatricula,\n\tKilometros,\n\tTelefono,\n\tEmail,\n\tCocheSustitucion,\n\tCocheAlTaller,\n\tConfirmacion,\n}\n\ninterface NuevaCitaPosventaFormProps {\n\tisCitaPosventaDealer?: boolean;\n\tisCitaPosventaEmbeddedCalculadora?: boolean;\n\tisCitaPosventaEmbeddedBonos?: boolean;\n\tisCitaPosventaEmbeddedBeneficios?: boolean;\n\tisCitaPosventaEmbeddedMaintenance?: boolean;\n\tisCitaPosventaEmbeddedPortal?: boolean;\n\tupdatedFormData?: Partial;\n\tupdatedFormInfo?: Partial;\n}\n\nconst spliceSteps = (steps: Steps[], step: string, stepName: string) => {\n\tif (step) {\n\t\tconst index = steps.findIndex((step) => step.name === stepName);\n\t\tsteps.splice(index, 1);\n\t\treturn steps;\n\t}\n\treturn steps;\n};\n\nfunction updateTitle(detalles: any): any {\n\treturn (\n\t\t<>\n\t\t\t¿Quieres contarnos algo más sobre {detalles ? detalles : 'el motivo de tu visita?'}?\n\t\t\n\t);\n}\n\nconst getFormName = (\n\tisCitaPosventaDealer: boolean,\n\tisCitaPosventaEmbeddedCalculadora: boolean,\n\tisCitaPosventaEmbeddedBonos: boolean,\n\tisCitaPosventaEmbeddedBeneficios: boolean,\n\tisCitaPosventaEmbeddedMaintenance: boolean,\n) => {\n\treturn isCitaPosventaDealer\n\t\t? 'cita-posventa-dealer'\n\t\t: isCitaPosventaEmbeddedCalculadora\n\t\t? 'cita-posventa-calculadora'\n\t\t: isCitaPosventaEmbeddedBonos\n\t\t? 'cita-posventa-bono'\n\t\t: isCitaPosventaEmbeddedBeneficios\n\t\t? 'cita-posventa-beneficios'\n\t\t: isCitaPosventaEmbeddedMaintenance\n\t\t? 'cita-posventa-maintenance'\n\t\t: 'cita-posventa';\n};\n\n// importante usar OTROS-* para correcto uso del metodo isFakeMotivo(motivo)\nexport const fakeMotivoValues = {\n\tsoftwareId : 'OTROS-SOFTWARE_ID',\n\tplacaOriginals: 'OTROS-PLACA_THE_ORIGINALS',\n};\n\nexport const CTAsMotivos = (isComerciales: boolean) => [\n\t{\n\t\tlabel: 'Mantenimiento',\n\t\tvalue: 'MANTENIMIENTO',\n\t\tdetalles: 'la revisión de mantenimiento',\n\t\tdetallesPrevStep: 'Revisión de mantenimiento',\n\t},\n\t{\n\t\tlabel: 'Neumáticos',\n\t\tvalue: 'NEUMATICOS',\n\t\tdetalles: 'el cambio de neumáticos',\n\t\tdetallesPrevStep: 'Cambio de neumáticos',\n\t},\n\t{\n\t\tlabel: 'Avería',\n\t\tvalue: 'REPARACION',\n\t\tdetalles: 'la avería',\n\t\tdetallesPrevStep: 'Reparación de avería'\n\t},\n\t{\n\t\tlabel: 'Revisión pre-ITV',\n\t\tvalue: 'PREITV',\n\t\tdetalles: (\n\t\t\t<>\n\t\t\t\tla revisión{' '}\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\tpre-ITV\n\t\t\t\n\t\t),\n\t\tdetallesPrevStep: 'Revisión pre-ITV',\n\t},\n\t{\n\t\tlabel: 'Chapa y pintura',\n\t\tvalue: 'CARROCERIA',\n\t\tdetalles: 'la reparación de chapa y pintura',\n\t\tdetallesPrevStep: 'Reparación de chapa y pintura',\n\t},\n\t{\n\t\tlabel: 'Accesorios',\n\t\tvalue: 'ACCESORIOS',\n\t\tdetalles: 'la instalación de los accesorios',\n\t\tdetallesPrevStep: 'Instalación de accesorios',\n\t},\n\t{\n\t\tlabel: 'Actualización Software ID',\n\t\tvalue: fakeMotivoValues.softwareId,\n\t\tdetalles: 'Actualización Software ID',\n\t\tdetallesPrevStep: 'Actualización Software ID'\n\t},\n\t...(isComerciales\n\t\t? [{\n\t\t\tlabel: 'Instalación placa The Originals',\n\t\t\tvalue: fakeMotivoValues.placaOriginals,\n\t\t\tdetalles: 'Instalación placa The Originals',\n\t\t\tdetallesPrevStep: 'Instalación placa The Originals'\n\t\t}]\n\t\t: []),\n\t{\n\t\tlabel: 'Otros',\n\t\tvalue: 'OTROS',\n\t\tdetalles: 'el motivo de tu visita',\n\t\tdetallesPrevStep: 'Visita'\n\t},\n];\n\n\nexport const NuevaCitaPosventaFormController = ({\n\tisCitaPosventaDealer,\n\tisCitaPosventaEmbeddedCalculadora,\n\tisCitaPosventaEmbeddedBonos,\n\tisCitaPosventaEmbeddedBeneficios,\n\tisCitaPosventaEmbeddedMaintenance,\n\tisCitaPosventaEmbeddedPortal,\n\tupdatedFormData,\n}: NuevaCitaPosventaFormProps) => {\n\tconst { nextScreenIndex } = useOneFormContext();\n\tconst { formData, formInfo, dealersInfo } = useSelector((state: OneFormState) => state);\n\tconst { fields } = formData;\n\tconst { selectedDealer } = dealersInfo;\n\tconst { userIsAuthenticated } = formInfo;\n\tconst dispatch = useDispatch();\n\tconst store: Store = useStore();\n\tconst faContent = useFaContent();\n\tconst [loaded, setLoaded] = useState(false);\n\tconst [steps, setSteps] = useState([]);\n\tconst [firstStep, setFirstStep] = useState(null);\n\tconst [stepsHistory, setStepsHistory] = useState(null);\n\tconst isComerciales = useIsComerciales();\n\tconst groupBrand = useGetBrand();\n\tconst waid = useGetWaidLitera();\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst wa = urlParams.get('wa');\n\tconst useLoggedJourney = false; // De momento no es necesario usar todas las funciones del journey logueado/no logueado, tan solo el fill de los datos\n\tconst CTAsMotivo = CTAsMotivos(isComerciales);\n\n\tconst CitaPosventaData: Partial = {\n\t\theaders: {\n\t\t\tDESC_BRAND: 'VW',\n\t\t\tDESC_CAMPAIGNBLOCK: '7011n000000Ajm0AAC',\n\t\t\tDESC_FORMOBJECTIVE: 'Call Me Now',\n\t\t\tDESC_ID_CAMPAIGN: '9. VW LEM',\n\t\t\tDESC_TOKEN: 'VW_DDB_FRM_CALL_ME',\n\t\t\tDESC_VN_VO: 'VN',\n\t\t\tDESC_GDPR_ADAPTED: 'true',\n\t\t\t...updatedFormData?.headers,\n\t\t},\n\t\tfields: {\n\t\t\tformName: getFormName(\n\t\t\t\tisCitaPosventaDealer,\n\t\t\t\tisCitaPosventaEmbeddedCalculadora,\n\t\t\t\tisCitaPosventaEmbeddedBonos,\n\t\t\t\tisCitaPosventaEmbeddedBeneficios,\n\t\t\t\tisCitaPosventaEmbeddedMaintenance,\n\t\t\t),\n\t\t\tformType: 'servicerequest',\n\t\t\tpageCategory: 'Cita Posventa',\n\t\t\t...updatedFormData?.fields,\n\t\t},\n\t};\n\tconst [citaPosventaData, setCitaPosventaData] = useState(CitaPosventaData);\n\n\t// Lógica común a los formularios independientemente del estado del login.\n\tconst getMotivoTitle = (): JSX.Element => {\n\t\tif (!fields.motivo)\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t¿Quieres contarnos algo más sobre el motivo de tu{' '}\n\t\t\t\t\tvisita?\n\t\t\t\t\n\t\t\t);\n\t\telse {\n\t\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo);\n\t\t\tconst detalles = selectedMotivo ? selectedMotivo.detalles : 'string';\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t¿Quieres contarnos algo más sobre {detalles ? detalles : 'el motivo de tu visita?'}?\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t};\n\n\tconst updateSteps = (steps: Steps[]) => {\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: steps });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n\t};\n\n\tconst isPlacaTheOriginalsMotivo = (motivo: string) => {\n\t\treturn fakeMotivoValues.placaOriginals == motivo;\n\t};\n\n\tconst isFakeMotivo = (motivo: string) => {\n\t\treturn motivo?.substring(0, 6) == 'OTROS-';\n\t};\n\n\tconst getFilteredValueMotivo = (motivo: string) => {\n\t\t// Para los casos OTROS-* devolver solo OTROS\n\t\treturn isFakeMotivo(motivo) ? 'OTROS' : motivo;\n\t};\n\n\tconst getFilteredLabelMotivo = (motivo: string) => {\n\t\t// motivo literal excepto si OTROS-* devolvemos Otros\n\t\tif(isFakeMotivo(motivo)) {\n\t\t\treturn 'Otros';\n\t\t}\n\t\treturn CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === motivo)?.label;\n\t};\n\n\tuseEffect(() => {\n\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo);\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...steps];\n\n\t\tconst m = faContent?.motivo ? faContent.motivo : fields.motivo;\n\n\t\tif(!isPlacaTheOriginalsMotivo(m)) {\n\t\t\tnewSteps = removeStep(newSteps, 'MiembroTheOriginals');\n\t\t\tnewSteps = removeStep(newSteps, 'ChequeoSeguridad');\n\t\t}\n\t\telse if(fields.chequeoSeguridad == 'false') {\n\t\t\tnewSteps = removeStep(newSteps, 'CocheSustitucion');\n\t\t\tnewSteps = removeStep(newSteps, 'CocheAlTaller');\n\t\t}\n\t\tupdateSteps(newSteps);\n\n\t\tif (isFakeMotivo(m)) {\n\t\t\tnewSteps = removeStep(newSteps, 'MasInformacion');\n\t\t\tupdateSteps(newSteps);\n\t\t} else if (selectedMotivo && actualSteps.length < defaultSteps.length) {\n\t\t\tupdateSteps(newSteps);\n\t\t}\n\n\t\tif (selectedMotivo && formInfo?.steps && !isFakeMotivo(m)) {\n\t\t\tconst formSteps = formInfo.steps;\n\t\t\tconst masInformacionIndex = formSteps.findIndex((step) => step.name === 'MasInformacion');\n\t\t\tif (masInformacionIndex !== -1) {\n\t\t\t\tformSteps[masInformacionIndex].title = updateTitle(selectedMotivo.detalles);\n\t\t\t}\n\t\t}\n\n\t}, [fields.motivo, fields.chequeoSeguridad]);\n\n\tconst defaultSteps: Steps[] = [\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Por qué motivo quieres{' '}\n\t\t\t\t\t\n\t\t\t\t\t\tvisitarnos?*\n\t\t\t\t\t\n\t\t\t\t\t{nextScreenIndex !== null && nextScreenIndex === 1 ? null : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSelecciona la razón principal de tu visita.\n\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: }/>,\n\t\t\thidePreviousStep: false,\n\t\t\tisFirstStep: true,\n\t\t\tscreenIndex: CitaPosventaSteps.Motivo,\n\t\t\tname: 'Motivo',\n\t\t\tctas: CTAsMotivo,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Nos puedes indicar tu número The Originals?\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tEncontrarás tu número The Originals en el QR que puedes descargar desde tu perfil.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.MiembroTheOriginals,\n\t\t\tname: 'MiembroTheOriginals',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Quieres realizar un chequeo de seguridad gratuito?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.ChequeoSeguridad,\n\t\t\tname: 'ChequeoSeguridad',\n\t\t},\n\t\t{\n\t\t\ttitle: getMotivoTitle(),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.MasInformacion,\n\t\t\tname: 'MasInformacion',\n\t\t\toutputs: ['masInformacion'],\n\t\t\toutputsText: ['masInformacion'],\n\t\t},\n\t\t{\n\t\t\tscreenIndex: CitaPosventaSteps.Mapa,\n\t\t\tname: 'Mapa',\n\t\t\tmultiStep: true,\n\t\t\tcomponent: isCitaPosventaDealer ? : ,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPara poder preparar tu visita, necesitamos saber quién eres\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.NombreApellido,\n\t\t\tname: 'NombreApellido',\n\t\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tCuéntanos más sobre tu coche. ¿Qué matrícula tiene y qué modelo es?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.Matricula,\n\t\t\tname: 'Matricula',\n\t\t\toutputs: ['modelo', 'matricula'],\n\t\t\toutputsText: ['modelo', 'con matrícula', 'matricula'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tY, ¿cuántos kilómetros?\n\t\t\t\t\t*\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: ,\n\t\t\tscreenIndex: CitaPosventaSteps.Kilometros,\n\t\t\tname: 'Kilometros',\n\t\t\toutputs: ['kilometros'],\n\t\t\toutputsText: ['kilometros'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tEn caso de necesitar contactar contigo, ¿a qué número podemos llamarte?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.Telefono,\n\t\t\tname: 'Telefono',\n\t\t\toutputs: ['cellphone'],\n\t\t\toutputsText: ['cellphone'],\n\t\t},\n\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tY, ¿a qué email te enviamos la confirmación y los datos de tu cita?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.Email,\n\t\t\tname: 'Email',\n\t\t\toutputs: ['email'],\n\t\t\toutputsText: ['email'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Necesitarás otro coche mientras el tuyo está en el{' '}\n\t\t\t\t\t\n\t\t\t\t\t\ttaller?\n\t\t\t\t\t\t*\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCoche de sustitución: este servicio puede tener un coste asociado. El Servicio\n\t\t\t\t\t\t\t\t\tOficial contactará contigo para informarte de la disponibilidad y condiciones de este servicio.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.CocheSustitucion,\n\t\t\tname: 'CocheSustitucion',\n\t\t\toutputs: ['cocheSustitucion'],\n\t\t\toutputsText: ['cocheSustitucion', 'quiero otro coche'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tY para facilitar tu visita,{' '}\n\t\t\t\t\t\n\t\t\t\t\t\t¿llevamos tu coche al{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\ttaller?*\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRecogida a domicilio: este servicio puede tener un coste asociado. El Servicio\n\t\t\t\t\t\t\t\t\tOficial contactará contigo para informarte de la disponibilidad y condiciones de este servicio.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.CocheAlTaller,\n\t\t\tname: 'CocheAlTaller',\n\t\t\toutputs: ['cocheAlTaller'],\n\t\t\toutputsText: ['cocheAlTaller', 'quiero servicio de recogida y entrega'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: <>,\n\t\t\tfields: ,\n\t\t\tscreenIndex: CitaPosventaSteps.Confirmacion,\n\t\t\tname: 'Confirmacion',\n\t\t\tisLastStep: true,\n\t\t\thidePreviousStep: true,\n\t\t},\n\t];\n\n\tconst getLssiTmk = (value: string) => {\n\t\tswitch (value) {\n\t\t\tcase 'PERMITE':\n\t\t\t\treturn 'PERMITIDO';\n\t\t\t\tbreak;\n\t\t\tcase 'NO PERMITE':\n\t\t\t\treturn 'ROBINSON';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\tconst getModelo = (fields: FormDataFields, carlines: CarlineBase[]) => {\n\t\tif (fields.idBuzzExclusive && carlines?.length > 0) {\n\t\t\treturn carlines.find((carline) => carline.name.includes('Buzz'));\n\t\t}\n\t\treturn fields.modeloList\n\t\t\t? fields.modeloList\n\t\t\t: carlines?.length > 0 && fields.modelo\n\t\t\t? carlines.find((carline) => carline.name === fields.modelo)\n\t\t\t: {\n\t\t\t\t\tcode: null,\n\t\t\t\t\tkey: null,\n\t\t\t\t\tname: null,\n\t\t\t};\n\t};\n\n\tconst getInstallationAdress = (markerInfo) => {\n\t\treturn (\n\t\t\tmarkerInfo.dealerInfo?.address +\n\t\t\t' ' +\n\t\t\tmarkerInfo.dealerInfo?.zipCode +\n\t\t\t' ' +\n\t\t\tmarkerInfo.dealerInfo?.city +\n\t\t\t' ' +\n\t\t\tmarkerInfo.dealerInfo?.province\n\t\t);\n\t};\n\n\tconst createAppointmentDealer = (dealer: DealersData) => {\n\t\tconst { markerInfo, dmsInfo } = dealer;\n\n\t\treturn {\n\t\t\tassessors: dmsInfo.assessors ? [...dmsInfo.assessors] : undefined,\n\t\t\tdealerId: dmsInfo.dealerId,\n\t\t\tdmsAvailable: dmsInfo.dmsAvailable ? dmsInfo.dmsAvailable : false,\n\t\t\temail: dmsInfo.email ? dmsInfo.email : markerInfo.dealerInfo.mail,\n\t\t\tname: dmsInfo.name ? dmsInfo.name : markerInfo.dealerInfo.name,\n\t\t\tphone: dmsInfo.phone ? dmsInfo.phone : markerInfo.dealerInfo.phone,\n\t\t\toverhaulingServiceAvialable: dmsInfo.overhaulingServiceAvialable ? dmsInfo.overhaulingServiceAvialable : false,\n\t\t\tpickupCarServiceAvailabe: dmsInfo.pickupCarServiceAvailabe ? dmsInfo.pickupCarServiceAvailabe : false,\n\t\t\treplacementCarServiceAvailable: dmsInfo.replacementCarServiceAvailable\n\t\t\t\t? dmsInfo.replacementCarServiceAvailable\n\t\t\t\t: false,\n\t\t\treference: dmsInfo.reference,\n\t\t};\n\t};\n\n\tconst sendForm = async (): Promise => {\n\t\treturn new Promise(async (resolve) => {\n\t\t\tconst { tc, today, device } = getParamsForm();\n\t\t\tconst { formData, dealersInfo } = store.getState();\n\n\t\t\tconst { fields } = formData;\n\t\t\tconst { citaCarlines } = dealersInfo;\n\t\t\tconst { dealer } = fields;\n\t\t\tconst { dmsInfo, markerInfo }: { dmsInfo: DmsInfo; markerInfo: DealerInfo } = dealer;\n\t\t\tconst modelo = getModelo(fields, citaCarlines);\n\t\t\tconst appointmentDealer = createAppointmentDealer(dealer);\n\t\t\tconst appointmentDate = dayjs(fields.slot.from).format('DD/MM/YYYY HH:mm:ss');\n\n\t\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo);\n\t\t\tconst info = isFakeMotivo(fields.motivo) ? selectedMotivo?.label ?? '' : fields.masInformacion ?? '';\n\t\t\tconst miembro = isComerciales && fields.miembroTheOriginals ? ' ' + fields.miembroTheOriginals.toUpperCase() : '';\n\t\t\tconst chequeo = fields.chequeoSeguridad === true || fields.chequeoSeguridad === 'true' ? ' con chequeo de seguridad gratuito solicitado' : '';\n\t\t\tconst comments = info + miembro + chequeo;\n\n\t\t\tconst appointmentNode = {\n\t\t\t\tappointment: {\n\t\t\t\t\tcomments: comments,\n\t\t\t\t\tcustomer: {\n\t\t\t\t\t\tcontactPhone: `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n\t\t\t\t\t\tcustomerType: 'F',\n\t\t\t\t\t\tdocumentNumber: null,\n\t\t\t\t\t\tdocumentType: null, // Parametrizar [DNI,NIF,NIE] || null\n\t\t\t\t\t\temail: removeWhiteSpace(fields.email),\n\t\t\t\t\t\tgender: 'M', // Parametrizar [M,V]\n\t\t\t\t\t\tname: fields.name?.trim(),\n\t\t\t\t\t\towner: false,\n\t\t\t\t\t\tsurname: fields.surname?.trim(),\n\t\t\t\t\t\tsurname2: fields.secondSurname?.trim(),\n\t\t\t\t\t},\n\t\t\t\t\tvehicle: fields.vehicleForMaintenance\n\t\t\t\t\t\t? fields.vehicleForMaintenance\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tbrand: groupBrand,\n\t\t\t\t\t\t\t\tframe: null,\n\t\t\t\t\t\t\t\tmillage: Array.isArray(fields.kilometros) ? fields.kilometros[0] : fields.kilometros,\n\t\t\t\t\t\t\t\tmodelVersion: 'NO INFORMADO',\n\t\t\t\t\t\t\t\tmodelYear: 0,\n\t\t\t\t\t\t\t\tplate: fields.matricula?.toUpperCase(),\n\t\t\t\t\t\t\t\t// countryPlate: fields.countryPlate,\n\t\t\t\t\t\t\t\tplateDate: `${fields.anoMatriculacion}-01-01 00:00:00`,\n\t\t\t\t\t\t\t\ttmaimg: null,\n\t\t\t\t\t\t\t\tmodel: modelo,\n\t\t\t\t\t\t},\n\t\t\t\t\tdealer: appointmentDealer,\n\t\t\t\t\tslot: {\n\t\t\t\t\t\tfrom: fields.slot.from,\n\t\t\t\t\t\tto: fields.slot.to,\n\t\t\t\t\t\treplacementCarServiceAvailable: fields.slot.replacementCarServiceAvailable,\n\t\t\t\t\t\tdayMoment: fields.slot.dayMoment,\n\t\t\t\t\t\tassessorCode: fields.slot.assessorCode,\n\t\t\t\t\t},\n\t\t\t\t\tassessor: {\n\t\t\t\t\t\tcode: fields.assessor.code,\n\t\t\t\t\t\tname: fields.assessor.name,\n\t\t\t\t\t},\n\t\t\t\t\tintervention: {\n\t\t\t\t\t\tcode: getFilteredValueMotivo(fields.motivo),\n\t\t\t\t\t\tname: getFilteredLabelMotivo(fields.motivo),\n\t\t\t\t\t},\n\t\t\t\t\tlopd: 'PERMITIDO',\n\t\t\t\t\tlssi: getLssiTmk(fields.lssi),\n\t\t\t\t\tpickupServiceRequired:\n\t\t\t\t\t\ttypeof fields.cocheAlTaller === 'string' ? JSON.parse(fields.cocheAlTaller) : undefined,\n\t\t\t\t\treplacementCarServiceRequired:\n\t\t\t\t\t\ttypeof fields.cocheSustitucion === 'string' ? JSON.parse(fields.cocheSustitucion) : undefined,\n\t\t\t\t\tstatus: 'P',\n\t\t\t\t\ttmk: getLssiTmk(fields.tmk),\n\t\t\t\t\tsms: null,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst surveyNode = null; // Flag para que Eapi no grabe survey\n\t\t\t/*const surveyNode = {\n\t\t\t\tsurvey: {\n\t\t\t\t\tdealer: {\n\t\t\t\t\t\tdmsInfo: dmsInfo,\n\t\t\t\t\t\tmarkerInfo: markerInfo,\n\t\t\t\t\t},\n\t\t\t\t\tdeviceType: getDeviceType(),\n\t\t\t\t\tformId: `vw-oneform-${fields.formName}`,\n\t\t\t\t\tformVersion: `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t\t\ttc: getTrackingCode(),\n\t\t\t\t\turl,\n\t\t\t\t\turlOrigin: document.referrer || null,\n\t\t\t\t\tdeepLink: fields.deepLink,\n\t\t\t\t\tbudget: fields.budget,\n\t\t\t\t\twaid,\n\t\t\t\t},\n\t\t\t};*/\n\n\t\t\tconst eapiData: CitaFormDataFields = {\n\t\t\t\tgroup_brand: groupBrand,\n\t\t\t\tkvps: dealer.kvps,\n\t\t\t\tcod_instalacion: dealer.codInstalacion,\n\t\t\t\t...appointmentNode,\n\t\t\t\t...surveyNode,\n\t\t\t};\n\n\t\t\tconst eapiDataToSend = new FormData();\n\t\t\tfor (const key in eapiData) {\n\t\t\t\tif (typeof eapiData[key] === 'object') {\n\t\t\t\t\teapiDataToSend.append(key, JSON.stringify(eapiData[key]));\n\t\t\t\t} else {\n\t\t\t\t\teapiDataToSend.append(key, eapiData[key]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst eapiResponse = await createEapiAppointment(eapiDataToSend);\n\n\t\t\tif (eapiResponse?.data?.status?.code == 200 || !appointmentDealer.dmsAvailable) {\n\t\t\t\tconst pincode = eapiResponse?.data?.content?.pincode ?? null;\n\t\t\t\tconst ndpsData = {\n\t\t\t\t\t'headers[DPS_TOKEN]':\n\t\t\t\t\t\tisComerciales ? 'LCV_DDB_FRM_SERVICE_APPOINTMENT' : 'VW_DDB_FRM_SERVICE_APPOINTMENT',\n\t\t\t\t\t'headers[FK_SYSTEM]':\n\t\t\t\t\t\tisComerciales ? 'LCV_DDB_FRM_SERVICE_APPOINTMENT' : 'VW_DDB_FRM_SERVICE_APPOINTMENT',\n\t\t\t\t\t'headers[FORM_ID]': wa,\n\t\t\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t\t'headers[FORM_OBJECTIVE]': 'Cita Posventa',\n\t\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\n\t\t\t\t\t'fields[DPS_BRAND]': isComerciales ? 'Volkswagen CV' : 'Volkswagen',\n\n\t\t\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t\t\t'fields[PERSON_EMAIL]': fields.email,\n\t\t\t\t\t'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n\t\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t\t\t\t'fields[COMMENTS_PERSON]': comments,\n\t\t\t\t\t'fields[CREATIVITY_PERSONALIZATION_DATA]': fields.budget,\n\t\t\t\t\t//'fields[]': fields.deepLink,\n\n\t\t\t\t\t'fields[SURVEY_ANSWER_01]': pincode,\n\n\t\t\t\t\t'fields[VEH_ACTUAL_MODEL]': appointmentNode.appointment.vehicle.model?.name,\n\t\t\t\t\t'fields[VEH_ACTUAL_PLATE]': appointmentNode.appointment.vehicle.plate,\n\t\t\t\t\t'fields[VEH_ACTUAL_PLATE_DATE]': transformDate(\n\t\t\t\t\t\tappointmentNode.appointment.vehicle.plateDate,\n\t\t\t\t\t\t'DD/MM/YYYY HH:mm:ss',\n\t\t\t\t\t\t'YYYY-MM-DD HH:mm:ss',\n\t\t\t\t\t),\n\t\t\t\t\t'fields[VEH_ACTUAL_MILEAGE]': appointmentNode.appointment.vehicle.millage,\n\t\t\t\t\t'fields[VEH_ACTUAL_FRAME]': appointmentNode.appointment.vehicle.frame,\n\n\t\t\t\t\t'fields[APPOINTMENT_TYPE]': 'NUEVA',\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_NAME]': appointmentDealer.name,\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_CODE]': appointmentDealer.dealerId?.codInstalacion,\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_ADDRESS]': getInstallationAdress(markerInfo),\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_EMAIL]': appointmentDealer.email,\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_PHONE]': appointmentDealer.phone?.replace(/\\s+/g, ''),\n\t\t\t\t\t'fields[APPOINTMENT_REQUESTED_TYPE]': getFilteredValueMotivo(fields.motivo),\n\t\t\t\t\t'fields[APPOINTMENT_DATE]': appointmentDate,\n\t\t\t\t\t'fields[PERSON_PREFERRED_SLOT]': fields.slot.dayMoment?.code, // ej: MEDIODIA\n\t\t\t\t\t'fields[APPOINTMENT_COMMERCIAL_ADVISER]': fields.assessor.name,\n\n\t\t\t\t\t'flags[APPOINTMENT_FLAG_PICK_UP_SERVICE]':\n\t\t\t\t\t\ttypeof fields.cocheAlTaller === 'string' ? JSON.parse(fields.cocheAlTaller) : '',\n\t\t\t\t\t'flags[APPOINTMENT_FLAG_SUBSTITUTION_VEHICLE]':\n\t\t\t\t\t\ttypeof fields.cocheSustitucion === 'string' ? JSON.parse(fields.cocheSustitucion) : '',\n\t\t\t\t\t'flags[APPOINTMENT_FLAG_HAS_DMS]': appointmentDealer.dmsAvailable,\n\t\t\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\n\t\t\t\t\t'flags[FLAG_RELACION_MARCA_SIN_IC]': 'true',\n\t\t\t\t\t'flags[FLAG_IS_MYSTERY_LEAD]': 'false',\n\t\t\t\t};\n\n\t\t\t\tconst ndpsDataToSend = formDataBuilder(JSON.parse(JSON.stringify(ndpsData)));\n\t\t\t\tconst ndpsResponse = await oneformBFFNdpsSend(ndpsDataToSend);\n\t\t\t\tif (ndpsResponse && ndpsResponse.data?.status?.code == 200) {\n\t\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: ndpsResponse.data });\n\t\t\t\t\treturn resolve(true);\n\t\t\t\t} else {\n\t\t\t\t\tconst eapiDelete = {\n\t\t\t\t\t\tgroup_brand: groupBrand,\n\t\t\t\t\t\tpincode: pincode,\n\t\t\t\t\t};\n\t\t\t\t\tawait deleteEapiAppointment(formDataBuilder(eapiDelete));\n\t\t\t\t\tresolve(false);\n\t\t\t\t}\n\t\t\t} else if (!eapiResponse?.data?.content && dmsInfo?.dmsAvailable) {\n\t\t\t\tdispatch({ type: 'SET_SEND_DMS_FAILED', payload: true });\n\t\t\t\tresolve(false);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst repeatKvpsRequest = async (kvps: string) => {\n\t\tconst newSelectedDealer = await getDealerKvps(kvps);\n\n\t\tif (newSelectedDealer) {\n\t\t\tsetCitaPosventaData({ ...citaPosventaData, fields: { ...citaPosventaData.fields, dealer: newSelectedDealer } });\n\t\t\t// CitaPosventaData.fields.dealer = newSelectedDealer;\n\t\t}\n\t};\n\n\tconst getFinalSteps = (steps: Steps[], motivo: string, observaciones: string) => {\n\t\tlet newSteps = [...steps];\n\n\t\tnewSteps = spliceSteps(newSteps, motivo, 'Motivo');\n\t\tnewSteps = spliceSteps(newSteps, observaciones, 'MasInformacion');\n\n\t\tif(faContent?.motivo && !isPlacaTheOriginalsMotivo(faContent?.motivo)) {\n\t\t\tnewSteps = removeStep(newSteps, 'MiembroTheOriginals');\n\t\t\tnewSteps = removeStep(newSteps, 'ChequeoSeguridad');\n\t\t}\n\n\t\tconst finalSteps = resetStepsScreenIndex(newSteps);\n\n\t\treturn finalSteps;\n\t};\n\n\t/**\n\t * Dependiendo del journey que siga el usuario se empezará en una pantalla o en otra, pero hay que adaptar stepHistory para que aun así pueda volver hacia atrás.\n\t */\n\tconst getFirstStepAndStepsHistory = (): { firstStep: Steps; stepsHistory: number[]; finalSteps: Steps[] } => {\n\t\t// Obtención de los parametros de la url\n\t\tlet selectedMotivo = null;\n\t\tconst observaciones = faContent?.observaciones;\n\n\t\tif (isCitaPosventaEmbeddedCalculadora || isCitaPosventaEmbeddedMaintenance) {\n\t\t\t// En los forms de Calculadora y Mi Mantenimieto nos saltamos algunos pasos\n\t\t\tconst stepsWithoutMap = removeMultipleStepsAndResetScreenIndex(defaultSteps, [\n\t\t\t\t'Motivo',\n\t\t\t\t'MiembroTheOriginals',\n\t\t\t\t'ChequeoSeguridad',\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 Mantenimieto nos saltamos algunos pasos\n\t\t\tconst stepsWithoutMap = removeMultipleStepsAndResetScreenIndex(defaultSteps, [\n\t\t\t\tfaContent.motivo && 'Motivo',\n\t\t\t\t'MiembroTheOriginals',\n\t\t\t\t'ChequeoSeguridad',\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, [\n\t\t\t\t'Motivo',\n\t\t\t\t'MiembroTheOriginals',\n\t\t\t\t'ChequeoSeguridad',\n\t\t\t\t'MasInformacion'\n\t\t\t]);\n\n\t\t\treturn { finalSteps: stepsWithoutMap, stepsHistory: [0], firstStep: stepsWithoutMap[0] };\n\t\t}\n\n\t\tif (window && window.location) {\n\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\tconst motivoParam = urlParams.get('motivo');\n\t\t\tconst dealer = urlParams.get('dealer');\n\n\t\t\tif (motivoParam) {\n\t\t\t\tselectedMotivo = CTAsMotivo.find((ctaMotivo) => {\n\t\t\t\t\treturn ctaMotivo.value === motivoParam;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (dealer && selectedDealer) {\n\t\t\t\t// CitaPosventaData.fields.dealer = selectedDealer;\n\t\t\t\tsetCitaPosventaData({ ...citaPosventaData, fields: { ...citaPosventaData.fields, dealer: selectedDealer } });\n\t\t\t} else if (dealer && !selectedDealer) {\n\t\t\t\t// En caso de que por algun motivo haya dealer pero no se haya cargado correctamente en el cms repetimos la request\n\t\t\t\trepeatKvpsRequest(dealer);\n\t\t\t}\n\t\t}\n\n\t\tconst finalSteps = getFinalSteps(\n\t\t\tdefaultSteps, \n\t\t\tfaContent?.motivo ? faContent.motivo : fields.motivo, \n\t\t\tobservaciones\n\t\t);\n\n\t\tconst defaultFirstStep = finalSteps[CitaPosventaSteps.Motivo];\n\n\t\tlet firstStep = finalSteps.find((step: Steps) => {\n\t\t\tif (selectedMotivo && (!faContent || !faContent.motivo)) {\n\t\t\t\treturn step.screenIndex === CitaPosventaSteps.MasInformacion;\n\t\t\t} else {\n\t\t\t\treturn step.screenIndex === defaultFirstStep.screenIndex;\n\t\t\t}\n\t\t});\n\n\t\tfirstStep = firstStep ? firstStep : defaultFirstStep;\n\t\tfirstStep.isFirstStep = true;\n\n\t\tlet stepsHistory = [0];\n\t\tif (firstStep.screenIndex === defaultFirstStep.screenIndex) {\n\t\t\tstepsHistory = [0];\n\t\t} else {\n\t\t\tstepsHistory = [0, firstStep.screenIndex];\n\t\t}\n\n\t\tconst motivoData = faContent?.motivo ? faContent.motivo : selectedMotivo ? selectedMotivo.value : null;\n\t\tconst masInformacionData = faContent?.observaciones\n\t\t\t? faContent.observaciones\n\t\t\t: isFakeMotivo(motivoData)\n\t\t\t? selectedMotivo?.detalles\n\t\t\t: null;\n\n\t\tsetCitaPosventaData({\n\t\t\t...citaPosventaData,\n\t\t\tfields: { ...citaPosventaData.fields, motivo: motivoData, masInformacion: masInformacionData },\n\t\t});\n\n\t\treturn { firstStep, stepsHistory, finalSteps };\n\t};\n\n\tconst handleStepsOfCitaDealer = (steps: Steps[], dealer: DealersData) => {\n\t\tlet newSteps = [...steps];\n\n\t\tif (isComerciales) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst m = faContent?.motivo ? faContent.motivo : fields.motivo;\n\n\t\tif (!dealer.dmsInfo?.pickupCarServiceAvailabe || isPlacaTheOriginalsMotivo(m)) {\n\t\t\tnewSteps = removeMultipleStepsAndResetScreenIndex(newSteps, ['CocheAlTaller']);\n\t\t}\n\t\tif (!dealer.dmsInfo?.replacementCarServiceAvailable || isPlacaTheOriginalsMotivo(m)) {\n\t\t\tnewSteps = removeMultipleStepsAndResetScreenIndex(newSteps, ['CocheSustitucion']);\n\t\t}\n\n\t\tsetSteps(newSteps);\n\t\tsetFirstStep(newSteps[0]);\n\t\tsetStepsHistory(stepsHistory);\n\t\tsetLoaded(true);\n\t};\n\n\tconst getSteps = (steps: Steps[]) => {\n\t\tif (isCitaPosventaDealer && selectedDealer) {\n\t\t\thandleStepsOfCitaDealer(defaultSteps, selectedDealer);\n\t\t\treturn;\n\t\t}\n\t\tconst { firstStep, stepsHistory, finalSteps } = getFirstStepAndStepsHistory();\n\t\tsetSteps(finalSteps);\n\t\tsetFirstStep(firstStep);\n\t\tsetStepsHistory(stepsHistory);\n\t\tsetLoaded(true);\n\t};\n\n\tuseEffect(() => {\n\t\tgetSteps(defaultSteps);\n\t\tgetEapiCarlines().then((response) => {\n\t\t\tdispatch({ type: 'SET_CITA_CARLINES', payload: response.data?.content });\n\t\t});\n\t}, []);\n\n\treturn loaded ? (\n\t\tuserIsAuthenticated && useLoggedJourney ? (\n\t\t\t\n\t\t) : (\n\t\t\t\n\t\t)\n\t) : null;\n};\n","import * as React from 'react';\nexport var ChevronUp = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M22.016 17.708 12.55 7.814c-.28-.298-.418-.397-.551-.397-.145 0-.31.114-.572.393l-9.443 9.897-.962-.918 9.439-9.893A2.108 2.108 0 0 1 12 6.086a2.083 2.083 0 0 1 1.517.813l9.46 9.89z\" }));\n }\n if (variant === \"large\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M44.301 35.205 25.344 15.387c-1.085-1.159-1.482-1.338-2.732-.005L3.699 35.204l-1.447-1.381 18.906-19.816A3.943 3.943 0 0 1 24 12.487a3.883 3.883 0 0 1 2.797 1.526l18.95 19.809z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M10.784 9.092 6.037 4.13l-.043-.046-.04.041-4.737 4.966-.962-.918 4.734-4.962A1.39 1.39 0 0 1 6 2.703a1.365 1.365 0 0 1 1.003.513l4.742 4.956z\" }));\n }\n return null;\n}, { displayName: 'ChevronUp' }));\n","import * as React from 'react';\nexport var ChevronDown = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"m1.984 6.19 9.465 9.893c.28.299.418.397.551.397.145 0 .31-.114.572-.392l9.443-9.898.962.918-9.439 9.893a2.108 2.108 0 0 1-1.538.81 2.083 2.083 0 0 1-1.517-.813l-9.46-9.889z\" }));\n }\n if (variant === \"large\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"m3.698 12.641 18.957 19.817c1.085 1.16 1.482 1.34 2.732.006l18.912-19.822 1.447 1.381L26.84 33.839a3.943 3.943 0 0 1-2.842 1.52 3.883 3.883 0 0 1-2.797-1.526L2.252 14.023z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"m1.216 2.805 4.746 4.962.043.046.04-.041 4.738-4.966.962.918L7.01 8.686A1.39 1.39 0 0 1 6 9.195a1.365 1.365 0 0 1-1.004-.514L.255 3.725z\" }));\n }\n return null;\n}, { displayName: 'ChevronDown' }));\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { GeneralInputWidthWrapper, InputError } from 'src/components';\nimport { TextInputExtended } from 'src/components';\nimport { store } from 'src/feature-app';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { OneFormState } from 'src/types';\n\ninterface Props {\n\tname: string;\n\tregex: RegExp;\n\trequired?: boolean;\n\tlabel?: string;\n\tdisabled?: boolean;\n\tlength?: number;\n\tmaxLength?: number;\n\tminlength?: number;\n\tpaddingTop?: string;\n\terrorLabel?: string;\n}\n\nexport function InputRegex(props: Props) {\n\tconst { name, regex, required, label, disabled, length, maxLength, minlength, paddingTop } = props;\n\tconst errorLabel = props.errorLabel ? props.errorLabel : 'Formato no válido';\n\n\tconst { register, errors } = useFormContext();\n\tconst { error: contextError, setError: setContextError } = useOneFormContext();\n\tconst { formInfo }: OneFormState = store.getState();\n\tconst [value, setValue] = useState('');\n\tconst [error, setError] = useState(false);\n\tconst dispatch = useDispatch();\n\n\tconst validateLenght = (value: string) => {\n\t\tif(length) {\n\t\t\treturn value?.length == length;\n\t\t}\n\t\telse if(minlength && maxLength) {\n\t\t\treturn value?.length >= minlength && value?.length <= maxLength;\n\t\t}\n\t\telse if(minlength){\n\t\t\treturn value?.length >= minlength;\n\t\t}\n\t\telse if(maxLength) {\n\t\t\treturn value?.length <= maxLength;\n\t\t}\n\t\telse {\n\t\t\treturn true;\n\t\t}\n\t};\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\t\tsetValue(value);\n\t\tsetError(false);\n\t\tif (validateLenght(value)) {\n\t\t\tif (regex.test(value) && required) {\n\t\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t\t} else {\n\t\t\t\tsetError(true);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t handleChange(e)}\n\t\t\t\trequired={required}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tmaxLength={length ? length : maxLength}\n\t\t\t/>\n\t\t\t{error && {errorLabel}}\n\t\t\n\t);\n}\n","import dayjs from 'dayjs';\nimport {\n\tBreakpoints,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tFieldset,\n\tLayout,\n\tLayoutRowGap,\n\tRadioButton,\n\tstyled,\n\tSwitch,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {CloseHandleV2, FocusLayerSizeV2, LayerManagerV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useEffect, useState} from 'react';\nimport {useFormContext} from 'react-hook-form';\nimport {useDispatch, useStore, useSelector} from 'react-redux';\nimport {Store} from 'redux';\nimport {\n\tApellido,\n\tAreYouSureLayer,\n\tEmail,\n\tLegalesFormatoLayer,\n\tLssiTkmQuestionsTurismos,\n\tMatriculaYModelo,\n\tNombre,\n\tSelectExtended,\n\tTelefono,\n\tCarlineSelect,\n\tPoliticaPrivacidad,\n\tLastNavigation,\n\tLegalesTemporales,\n} from 'src/components';\nimport {\n\tLayerManagerWrapper,\n\tuseFaContent,\n\tuseFeatureAppConfig,\n\tuseFeatureAppEnvironment,\n\tuseFeatureServices,\n\tuseOneFormContext,\n\tweekDay_DayNumber_Month,\n\tweekDay_DayNumber_Month_Hour,\n} from 'src/feature-app';\nimport {VehiclesIdentityKit} from 'src/feature-service/es-oneform-core-feature-service/types';\nimport {TIME_FOR_TRANSFORM} from 'src/globals';\nimport {OneFormState, Steps} from 'src/types';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {getKilometrosInfo, franjaHoraria} from 'src/feature-app/InputsValues';\nimport {ArrowDown, ArrowUp, ChevronDown, ChevronUp} from '@volkswagen-onehub/icons-core';\nimport {fakeMotivoValues} from './NuevaCitaPosventaFormController';\n\nconst AllWrapper = styled.div`\n\tpadding-top: 82px;\n`;\n\nconst TopInfoBox = styled.div`\n\tborder: 1px solid rgba(255, 255, 255, 0.44);\n\tpadding: 0 20px;\n\twidth: 100%;\n\t@media all and (min-width: 560px) {\n\t\tpadding: 0 24px;\n\t}\n`;\n\ntype BorderType = 'top' | 'bottom' | 'none';\n\ntype ItemProps = {\n\tboxItem?: boolean;\n\tborder: BorderType;\n\tshowEdit?: boolean;\n\tnoPaddingTop?: boolean;\n\tshowOperacionesMantenimiento?: boolean;\n};\n\nconst ItemWrapper = styled.div`\n\twidth: 100%;\n\ttext-align: left;\n\tborder-bottom: ${(props) => (props.border === 'bottom' ? '1px solid rgba(255,255,255,0.45)' : 'none')};\n\tborder-top: ${(props) => (props.border === 'top' ? '1px solid rgba(255,255,255,0.45)' : 'none')};\n\tpadding: ${(props) => (props.boxItem ? '24px 0' : props.noPaddingTop ? '0 24px 44px' : '44px 24px')};\n\n\t.item-header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\tpadding-bottom: ${(props) => (props.showOperacionesMantenimiento ? '32px' : props.showEdit ? '44px' : '12px')};\n\t\tbutton > * {\n\t\t\tfont-weight: ${(props) => (props.showEdit ? 'normal' : 'bold')};\n\t\t}\n\t\t&--legal {\n\t\t\tpadding-bottom: ${(props) => (props.showEdit ? 'unset' : '31.5px')};\n\t\t}\n\t}\n\t.edit-wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tlabel:not(:last-of-type) {\n\t\t\tmargin-bottom: 23px;\n\t\t}\n\t}\n\t.input-error {\n\t\tmargin-left: 0px !important;\n\t}\n`;\n\nconst SelectWrapper = styled.div`\n\tmargin-bottom: 2px;\n\tlabel {\n\t\twidth: 100%;\n\t\t@media all and (min-width: 560px) {\n\t\t\twidth: 303px;\n\t\t}\n\t\t@media all and (min-width: 960px) {\n\t\t\twidth: 320px;\n\t\t}\n\t}\n`;\n\nconst InputWidthWrapper = styled.div`\n\twidth: 100%;\n\tmargin-bottom: 2px;\n\t@media all and (min-width: 560px) {\n\t\twidth: 303px;\n\t}\n\t@media all and (min-width: 960px) {\n\t\twidth: 320px;\n\t}\n`;\n\nconst RadioButtonWrapper = styled.div`\n\tborder: 1px solid #ffffff;\n\tpadding: 20px;\n`;\n\nconst MotivoCalculadora = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: space-between;\n`;\n\nconst isCalculadoraForm = (formName: string) => formName === 'cita-posventa-calculadora';\n\n/**\n * En calculadora se tiene que ocultar el CTA ya que el motivo no es editable.\n * @param formName\n * @returns\n */\nconst showCTAEditMotivo = (formName: string) => !isCalculadoraForm(formName);\n\n/**\n * En calculadora se tiene que ocultar el CTA ya que el taller no es editable.\n * @param formName\n * @returns\n */\nconst showCTAEditTaller = (formName: string) => formName !== 'cita-posventa-calculadora';\n\n/**\n * En calculadora se tiene que ocultar el CTA ya que el vehículo no es editable.\n * @param formName\n * @returns\n */\nconst showCTAEditVW = (formName: string) =>\n\tformName !== 'cita-posventa-maintenance-plan' &&\n\tformName !== 'cita-posventa-calculadora' &&\n\tformName !== 'cita-posventa-my-benefits';\n\n/**\n * En maintenance plan se tiene que ocultar los km ya que no se deben mostrar\n * @param formName\n * @returns\n */\nconst showKMVW = (formName: string) =>\n\tformName !== 'cita-posventa-maintenance-plan' && formName !== 'cita-posventa-my-benefits';\n\nconst getStepNumber = (steps: Steps[], layerName: 'isMotivoLayer' | 'isTimeLayer' | 'isTallerLayer') => {\n\tconst index = steps.findIndex((step) => {\n\t\tif (layerName === 'isMotivoLayer' && step.name === 'Motivo') {\n\t\t\treturn step;\n\t\t}\n\t\tif (layerName !== 'isMotivoLayer' && step.name === 'Mapa') {\n\t\t\treturn step;\n\t\t}\n\t});\n\treturn index;\n};\n\nconst formatPlateDate = (plateDate: string) => {\n\tif (plateDate.includes('-')) {\n\t\treturn plateDate.split('-')[0];\n\t}\n\treturn plateDate;\n};\n\nexport const ConfirmacionCita = () => {\n\tconst {formData, formInfo} = useSelector((state: OneFormState) => state);\n\tconst {userIsAuthenticated} = formInfo;\n\tconst {fields} = formData;\n\tconst {tmk: tmkData, lssi: lssiData, userVehicles, matricula} = formData.fields;\n\tconst dispatch = useDispatch();\n\tconst {handleScreenChange, setShowPreviousStep} = useOneFormContext();\n\tconst {getValues, register, triggerValidation} = useFormContext();\n\tconst faContent = useFaContent();\n\tconst isComerciales = useIsComerciales();\n\tconst {kilometrosValues, millageValues} = getKilometrosInfo(isComerciales);\n\n\tconst [fechaHora, setFechaHora] = useState('');\n\tconst [cocheAlTaller, setCocheAlTaller] = useState(false);\n\tconst [cocheSustitucion, setCocheSustitucion] = useState(false);\n\tconst [chequeoSeguridad, setChequeoSeguridad] = useState(false);\n\n\tconst [showEditServicios, setShowEditServicios] = useState(false);\n\tconst [showEditSobreVW, setShowEditSobreVW] = useState(false);\n\tconst [showEditSobreTi, setShowEditSobreTi] = useState(false);\n\n\tconst [inputValueMatricula, setInputValueMatricula] = useState('');\n\tconst [errorMatricula, setErrorMatricula] = useState(false);\n\tconst [irConOtroCoche, setIrConOtroCoche] = useState(false);\n\n\tconst [lssi, setLssi] = useState(() => (lssiData ? lssiData : null));\n\tconst [tmk, setTmk] = useState(() => (tmkData ? tmkData : null));\n\tconst [lssiError, setLssiError] = useState(false);\n\tconst [tmkError, setTmkError] = useState(false);\n\n\tconst [preselectedDealerForm, setPreselectedDealerForm] = useState(false);\n\tconst config = useFeatureAppConfig();\n\n\tconst useLoggedJourney = false;\n\n\tconst today = dayjs();\n\tconst showLegalTemporal = today.isBetween('2025-02-17', '2025-04-18', 'day', '[]'); // [] dias incluidos, () dias excluidos\n\n\t// De momento no es necesario usar todas las funciones del journey logueado/no logueado, tan solo el fill de los datos\n\n\tuseEffect(() => {\n\t\tif (config.trigger === 'cita-posventa-dealer') {\n\t\t\tsetPreselectedDealerForm(true);\n\t\t} else {\n\t\t\tsetPreselectedDealerForm(false);\n\t\t}\n\t}, []);\n\n\t//Layer confirmacion edicion:\n\n\tconst layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\tconst store: Store = useStore();\n\tconst env = useFeatureAppEnvironment();\n\n\tconst handleEdit = (layerName: 'isMotivoLayer' | 'isTimeLayer' | 'isTallerLayer') => {\n\t\tconst {steps} = formInfo;\n\t\tconst stepNumber = getStepNumber(steps, layerName);\n\n\t\thandleScreenChange(stepNumber);\n\t\tdispatch({type: 'UPDATE_STEP', payload: steps[stepNumber]});\n\t\tif (layerName !== 'isMotivoLayer') {\n\t\t\tdispatch({type: 'SET_SHOW_CALENDAR_ON_LOAD', payload: layerName === 'isTimeLayer'});\n\t\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: 1});\n\t\t\tdispatch({type: 'SET_NAVIGATION_MOVING_FORWARD', payload: false});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetShowPreviousStep(false);\n\t\t\t}, TIME_FOR_TRANSFORM + 200);\n\t\t}\n\t};\n\n\tconst handleAreYouSureLayer = (layerName: string) => {\n\t\tconst layer = layerManager.openFocusLayer(renderAreYouSureLayer, {layerName}, {size: FocusLayerSizeV2.A});\n\t\treturn layer;\n\t};\n\n\tconst renderAreYouSureLayer = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\thandleEdit(state.layerName);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t};\n\t//fin códgo layers\n\n\tconst showLegales = () => userIsAuthenticated && useLoggedJourney && tmk && lssi;\n\n\tconst getKmInitialValue = () => {\n\t\tif (fields.kilometros && Array.isArray(fields.kilometros)) {\n\t\t\tconst indexOfMillage = millageValues.findIndex((e) => e[0] === fields.kilometros[0]);\n\t\t\treturn indexOfMillage !== -1 ? kilometrosValues[indexOfMillage] : kilometrosValues[kilometrosValues.length - 2];\n\t\t} else {\n\t\t\treturn kilometrosValues[kilometrosValues.length - 2];\n\t\t}\n\t};\n\n\tconst [kilometros, setKilometros] = useState(getKmInitialValue());\n\n\tconst CTAsSiNo = [{label: 'Sí'}, {label: 'No'}];\n\n\tconst [millageValue, setMillageValue] = useState(null);\n\n\tfunction updateKilometros(event: any) {\n\t\tconst newMillVal = event.currentTarget.value;\n\t\tsetKilometros(newMillVal);\n\t\tnewMillVal ? setMillageValue(newMillVal) : setMillageValue(0);\n\t\tconst newIndex = kilometrosValues?.findIndex((value) => value === event.target.value);\n\t\tif (newIndex !== -1) {\n\t\t\tconst newValues = millageValues[newIndex];\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: {kilometros: newValues}});\n\t\t}\n\t}\n\n\tasync function updateValues(showEdit: React.Dispatch>) {\n\t\tconst values = getValues();\n\t\tconst isValid = await triggerValidation();\n\t\tif (isValid) {\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t\t\tshowEdit(false);\n\t\t}\n\t}\n\n\t// función para checkear que no se haya dejado ninguna sección editada sin guardar\n\tfunction checkNotSavedFields() {\n\t\tif (showEditServicios && !showEditSobreVW && !showEditSobreTi) {\n\t\t\treturn 'en Servicios Adicionales';\n\t\t} else if (!showEditServicios && showEditSobreVW && !showEditSobreTi) {\n\t\t\treturn 'en Sobre tu Volkswagen';\n\t\t} else if (!showEditServicios && !showEditSobreVW && showEditSobreTi) {\n\t\t\treturn 'en Sobre ti';\n\t\t} else if (\n\t\t\t(showEditServicios && showEditSobreVW && !showEditSobreTi) ||\n\t\t\t(showEditServicios && showEditSobreVW && showEditSobreTi) ||\n\t\t\t(showEditServicios && !showEditSobreVW && showEditSobreTi) ||\n\t\t\t(!showEditServicios && showEditSobreVW && showEditSobreTi)\n\t\t) {\n\t\t\treturn '';\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (inputValueMatricula === '' || inputValueMatricula.length > 10) {\n\t\t\tsetErrorMatricula(true);\n\t\t} else {\n\t\t\tsetErrorMatricula(false);\n\t\t}\n\t}, [inputValueMatricula]);\n\n\tuseEffect(() => {\n\t\tif (lssi) {\n\t\t\tconst values = {lssi: lssi};\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t\t\tsetLssiError(false);\n\t\t}\n\t\tif (tmk) {\n\t\t\tconst values = {tmk: tmk};\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t\t\tsetTmkError(false);\n\t\t}\n\t}, [lssi, tmk]);\n\n\tuseEffect(() => {\n\t\tdispatch({type: 'UPDATE_FORM_ENDED', payload: true});\n\n\t\tconst selectedSlot = fields.slot;\n\t\tlet fromFormatted;\n\n\t\tif (fields.dealer.dmsInfo && fields.dealer.dmsInfo.dmsAvailable) {\n\t\t\tconst momentSlot = weekDay_DayNumber_Month_Hour(selectedSlot.from);\n\t\t\tconst capitalizedSlot =\n\t\t\t\tmomentSlot.charAt(0).toUpperCase() +\n\t\t\t\tmomentSlot.split(',')[0].slice(1) +\n\t\t\t\t' de ' +\n\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\tfromFormatted = capitalizedSlot.replace('-', ' a las ').replace(',', ' de ').concat('h');\n\t\t\tsetFechaHora(fromFormatted);\n\t\t} else {\n\t\t\tconst momentSlot = weekDay_DayNumber_Month(selectedSlot.from);\n\t\t\tconst horarioTranslate = franjaHoraria.find((h) => h.code === selectedSlot.dayMoment.code);\n\t\t\tconst capitalizedSlot =\n\t\t\t\tmomentSlot.charAt(0).toUpperCase() +\n\t\t\t\tmomentSlot.split(',')[0].slice(1) +\n\t\t\t\t' de ' +\n\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\n\t\t\tfromFormatted = capitalizedSlot.concat(horarioTranslate.name);\n\t\t\tsetFechaHora(fromFormatted);\n\t\t}\n\t\tif (fields.cocheAlTaller !== null) {\n\t\t\tfields.cocheAlTaller === 'true' ? setCocheAlTaller(true) : setCocheAlTaller(false);\n\t\t}\n\t\tif (fields.cocheAlTaller !== null) {\n\t\t\tfields.cocheSustitucion === 'true' ? setCocheSustitucion(true) : setCocheSustitucion(false);\n\t\t}\n\t\tif (fields.chequeoSeguridad !== null) {\n\t\t\tfields.chequeoSeguridad === 'true' ? setChequeoSeguridad(true) : setChequeoSeguridad(false);\n\t\t}\n\n\t\tsetShowPreviousStep(false);\n\t\tif (fields.kilometros || fields.kilometros === 0) {\n\t\t\tsetMillageValue(fields.kilometros);\n\t\t}\n\n\t\tif (fields.matricula) setInputValueMatricula(fields.matricula);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst values = {cocheAlTaller: cocheAlTaller ? 'true' : 'false'};\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t}, [cocheAlTaller]);\n\n\tuseEffect(() => {\n\t\tconst values = {cocheSustitucion: cocheSustitucion ? 'true' : 'false'};\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t}, [cocheSustitucion]);\n\n\tuseEffect(() => {\n\t\tconst values = {chequeoSeguridad: chequeoSeguridad ? 'true' : 'false'};\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t}, [chequeoSeguridad]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tAsí quedaría tu cita. ¿Quieres solicitarla?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{faContent?.motivo ? null : }\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tFecha y hora\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\thandleAreYouSureLayer('isTimeLayer');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{fechaHora}\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTaller\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{preselectedDealerForm || !showCTAEditTaller(fields.formName) ? null : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thandleAreYouSureLayer('isTallerLayer');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.dealer.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{fields.dealer.markerInfo.dealerInfo.address}, {fields.dealer.markerInfo.dealerInfo.zipCode}{' '}\n\t\t\t\t\t\t\t{fields.dealer.markerInfo.dealerInfo.city}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{fields.assessor && fields.dealer.dmsInfo && fields.dealer.dmsInfo.dmsAvailable ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAsesor {fields.assessor.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t{isComerciales ||\n\t\t\t\t(fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.pickupCarServiceAvailabe) ||\n\t\t\t\t(fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.replacementCarServiceAvailable) ? (\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tServicios adicionales\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{showEditServicios ? (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetShowEditServicios(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tGuardar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetShowEditServicios(!showEditServicios);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{showEditServicios ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{isComerciales ||\n\t\t\t\t\t\t\t\t\t(fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.replacementCarServiceAvailable) ? (\n\t\t\t\t\t\t\t\t\t\t setCocheSustitucion(!cocheSustitucion)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={cocheSustitucion ? true : false}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tCoche de sustitución\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{isComerciales || (fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.pickupCarServiceAvailabe) ? (\n\t\t\t\t\t\t\t\t\t\t setCocheAlTaller(!cocheAlTaller)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={cocheAlTaller ? true : false}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tServicio de recogida y entrega\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{isComerciales && fields.motivo == fakeMotivoValues.placaOriginals ? (\n\t\t\t\t\t\t\t\t\t\t setChequeoSeguridad(!chequeoSeguridad)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={chequeoSeguridad}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tChequeo de seguridad gratuito\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{isComerciales || (fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.replacementCarServiceAvailable) ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tCoche de sustitución: {cocheSustitucion ? 'Sí' : 'No'}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{isComerciales || (fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.pickupCarServiceAvailabe) ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tServicio de recogida y entrega: {cocheAlTaller ? 'Sí' : 'No'}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{isComerciales && fields.motivo == fakeMotivoValues.placaOriginals ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tChequeo de seguridad gratuito: {chequeoSeguridad ? 'Sí' : 'No'}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t) : null}\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSobre tu Volkswagen\n\t\t\t\t\t\t\n\t\t\t\t\t\t{showCTAEditVW(fields.formName) ? (\n\t\t\t\t\t\t\tshowEditSobreVW ? (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tupdateValues(setShowEditSobreVW);\n\t\t\t\t\t\t\t\t\t\tsetIrConOtroCoche(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tGuardar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetShowEditSobreVW(!showEditSobreVW);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t
\n\t\t\t\t\t{showEditSobreVW ? (\n\t\t\t\t\t\tuserVehicles && userIsAuthenticated && useLoggedJourney && !irConOtroCoche ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{userVehicles.map((vehicle: VehiclesIdentityKit) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmatricula: vehicle.matricula,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkilometros: vehicle.kilometros,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelo: vehicle.modelo,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={matricula === vehicle.matricula ? true : false}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\tsetIrConOtroCoche(true);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tchecked={false}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\tupdateKilometros(event);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => null}\n\t\t\t\t\t\t\t\t\t\t\tupdateFields\n\t\t\t\t\t\t\t\t\t\t\tsetOption={setKilometros}\n\t\t\t\t\t\t\t\t\t\t\tisRequired={true}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.countryPlate} {fields.matricula}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tAño {formatPlateDate(fields.anoMatriculacion)}\n\t\t\t\t\t\t\t{fields.modelo}\n\t\t\t\t\t\t\t{showKMVW(fields.formName) ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{kilometros === 'No estoy seguro' ? null : kilometros}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSobre ti\n\t\t\t\t\t\t\n\t\t\t\t\t\t{showEditSobreTi ? (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tupdateValues(setShowEditSobreTi);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tGuardar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tsetShowEditSobreTi(!showEditSobreTi);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t\t{showEditSobreTi ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.name} {fields.surname} {fields.secondSurname}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.prefix} {fields.cellphone}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{fields.email}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t{showLegales() ? null : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* Para comerciales usamos los mismos consentimientos que turismos */}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t{fields.formName === 'cita-posventa' && showLegalTemporal ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t
\n\t);\n};\n\nconst VehicleLabel = (props: {vehicle: VehiclesIdentityKit}) => {\n\treturn (\n\t\t\n\t\t\t{props.vehicle.matricula}\n\t\t\t\n\t\t\t\t{props.vehicle.modelo} |{props.vehicle.kilometros}\n\t\t\t\n\t\t\n\t);\n};\n\nconst OperacionDiv = styled.div<{isLast: boolean}>`\n\tpadding-bottom: ${(props) => (props.isLast ? '0px' : '16px')};\n`;\n\nconst OperacionesDiv = styled.div`\n\tpadding-bottom: 24px;\n`;\n\nconst MotivoCita = ({fields, handleAreYouSureLayer}: any) => {\n\tconst [showOperacionesMantenimiento, setShowOperacionesMantenimiento] = useState(false);\n\tconst faContent = useFaContent();\n\n\tconst formatPvp = (pvp: string) => `${Number(pvp).toFixed(0)}€`;\n\n\tconst getMotivo = () => {\n\t\tif (fields.motivo == fakeMotivoValues.softwareId) {\n\t\t\treturn 'Actualización software ID';\n\t\t}\n\t\telse if (fields.motivo == fakeMotivoValues.placaOriginals) {\n\t\t\treturn'Instalación de placa The Originals';\n\t\t} \n\t\treturn fields.motivoLabel ? fields.motivoLabel : fields.motivo;\n\t};\n\n\tconst renderMotivoCalculadora = () => {\n\t\treturn (\n\t\t\t\n\t\t\t\tPresupuesto total\n\t\t\t\t{formatPvp(faContent?.quotePvp)}\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderOperacionesMantenimiento = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{faContent?.quoteOperations\n\t\t\t\t\t\t? faContent?.quoteOperations.map((operation, indx) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{operation.name}\n\t\t\t\t\t\t\t\t\t\t{formatPvp(operation.pvp)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tPresupuesto Total\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatPvp(faContent?.quotePvp)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{isCalculadoraForm(fields.formName) ? 'Operaciones de mantenimiento' : 'Motivo de tu cita'}\n\t\t\t\t\n\t\t\t\t{showCTAEditMotivo(fields.formName) ? (\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\thandleAreYouSureLayer('isMotivoLayer');\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tEditar\n\t\t\t\t\t\n\t\t\t\t) : isCalculadoraForm(fields.formName) ? (\n\t\t\t\t\t : }\n\t\t\t\t\t\temphasis=\"primary\"\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tsetShowOperacionesMantenimiento(!showOperacionesMantenimiento);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{showOperacionesMantenimiento ? 'Cerrar' : 'Ver más'}\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t
\n\t\t\t{isCalculadoraForm(fields.formName) ? (\n\t\t\t\tshowOperacionesMantenimiento ? null : (\n\t\t\t\t\trenderMotivoCalculadora()\n\t\t\t\t)\n\t\t\t) : (\n\t\t\t\t{getMotivo()}\n\t\t\t)}\n\t\t\t{showOperacionesMantenimiento ? renderOperacionesMantenimiento() : null}\n\t\t
\n\t);\n};\n","import {\n\tBreakpoints,\n\tContainer,\n\tContainerGutter,\n\tLayout,\n\tSpinner,\n\tstyled,\n\tText,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nconst Content = styled.div`\n\tbackground-color: #ffffff;\n\tpadding: 44px 31px;\n\tflex: auto;\n\ttext-align: center;\n\twidth: 100%;\n\t@media screen and (min-width: 560px) {\n\t\tpadding: 52px 46px;\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tpadding: var(--size-grid001);\n\t}\n`;\n\ninterface loadingComponentProps {\n\tcopy?: string;\n}\n\nexport function LoadingLayer(props: loadingComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nfunction LoadingComponent(props: loadingComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{props.copy ? {props.copy} : Confirmando tu cita}\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tContainer,\n\tCTA,\n\tLayout,\n\tText,\n\tTextAlignment,\n\tContainerGutter,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {PaddingWrapper} from 'src/components';\nimport React from 'react';\nimport {useFormContext} from 'react-hook-form';\nimport {isGooglePlace, Suggest, Suggestion} from 'src/feature-app';\nimport {useLocateUser} from 'src/feature-app/hooks';\nimport {Installation, isDealerData} from 'src/types';\n\ninterface LocateUserProps {\n\tisFiltrosSuggest?: boolean;\n}\n\nexport function LocateUser(props: LocateUserProps) {\n\tconst {isFiltrosSuggest} = props;\n\tconst {register} = useFormContext();\n\tconst {\n\t\tvalue,\n\t\tsetValue,\n\t\tsuggestion,\n\t\tsetSuggestion,\n\t\ticon,\n\t\tlocationSuccess,\n\t\tsetLocationSuccess,\n\t\thandleLocate,\n\t\tloading,\n\t\tlocationDisabled,\n\t\tisLocating,\n\t\tonSuggestionSelectedFn,\n\t} = useLocateUser();\n\n\tconst getSuggestionValue = (suggestion: Suggestion) => {\n\t\tif (!isGooglePlace(suggestion) && !isDealerData(suggestion)) {\n\t\t\treturn (suggestion as Installation).VGED_CommercialName__c;\n\t\t} else {\n\t\t\treturn suggestion.name;\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tif (!locationSuccess) handleLocate();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={loading ? true : false}\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tLocaliza mi posición actual\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{locationDisabled ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tTu localización está deshabilitada\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tLayout,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport FileDownload from 'js-file-download';\nimport React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { getEapiAppointmentIcs } from 'src/bff';\nimport {\n\tgetTrackingForm,\n\tuseFeatureAppConfig,\n\tuseTrackingManager,\n\tweekDay_DayNumber_Month,\n\tweekDay_DayNumber_Month_Hour\n} from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { DealersData, FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\nimport { keyframes } from 'styled-components';\n\nconst lineKeyframe = keyframes`\n 0% {\n transform: rotate(-360deg);\n }\n 80% {\n transform: rotate(45deg);\n }\n 100% {\n transform: rotate(0deg);\n }\n`;\n\nconst AnimatedCheckmark = styled.div`\n\tanimation: ${lineKeyframe} 0.5s ease-in;\n`;\n\ninterface FieldProps {\n\tcopyBook?: string;\n}\n\ninterface NDPSField {\n\tname: string;\n\tvalue: string;\n}\n\nfunction Fields(props: FieldProps) {\n\tconst {formData, formInfo} = useSelector((state: OneFormState) => state);\n\tconst {dealer}: {dealer?: DealersData} = formData.fields;\n\tconst {pincode}: {pincode: string} = formInfo.formResponse.content;\n\tconst config = useFeatureAppConfig();\n\n\tconst handleGuardar = async () => {\n\t\tconst response = await getEapiAppointmentIcs(pincode);\n\t\tFileDownload(response, 'cita.ics');\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.copyBook}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{dealer.dmsInfo.dmsAvailable ? (\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\thandleGuardar();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tGuárdala en tu calendario\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t
\n\t\t\n\t);\n}\n\ninterface ThankYouProps {\n\tformData: FormDataFields;\n\tformInfo: FormInfo;\n}\n\nfunction ThankYouNuevaCita(props: ThankYouProps) {\n\tconst {formData, formInfo} = props;\n\tconst {formResponse} = formInfo;\n\tconst [fechaHora, setFechaHora] = useState('');\n\tconst [copyBook, setCopyBook] = useState('');\n\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\n\tuseEffect(() => {\n\t\t// Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n\t\tconst screenIndexThankyou = formInfo.numberOfScreens;\n\n\t\tdispatch({type: 'SET_FORM_SUBMITTED', payload: true});\n\t\tdispatch({type: 'SET_FORM_INFO', payload: {step: {screenIndex: screenIndexThankyou, name: 'ThankYou'}}});\n\n\t\tconst selectedSlot = formData.slot;\n\t\tconst franjaHoraria = [\n\t\t\t{code: 'MANANA', name: ' por la mañana'},\n\t\t\t{code: 'MEDIODIA', name: ' al mediodía'},\n\t\t\t{code: 'TARDE', name: ' por la tarde'},\n\t\t];\n\t\tlet fromFormatted;\n\n\t\tif (formInfo.sendDmsFailed) {\n\t\t\tconst momentSlot = weekDay_DayNumber_Month(selectedSlot.from);\n\t\t\tconst formattedSlot =\n\t\t\t\tmomentSlot.split(',')[0] +\n\t\t\t\t' de ' +\n\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\tconst horarioTranslate = franjaHoraria.find((h) => h.code === selectedSlot.dayMoment.code);\n\t\t\tfromFormatted = formattedSlot.replace(',', ' de ').concat(horarioTranslate.name);\n\t\t\tsetFechaHora(fromFormatted);\n\t\t} else {\n\t\t\tif (formData.dealer.dmsInfo.dmsAvailable) {\n\t\t\t\tconst momentSlot = weekDay_DayNumber_Month_Hour(selectedSlot.from);\n\t\t\t\tconst formattedSlot =\n\t\t\t\t\tmomentSlot.split(',')[0] +\n\t\t\t\t\t' de ' +\n\t\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\t\tfromFormatted = formattedSlot.replace('-', ' a las ').concat('h');\n\t\t\t\tsetFechaHora(fromFormatted);\n\t\t\t} else {\n\t\t\t\tconst momentSlot = weekDay_DayNumber_Month(selectedSlot.from);\n\t\t\t\tconst formattedSlot =\n\t\t\t\t\tmomentSlot.split(',')[0] +\n\t\t\t\t\t' de ' +\n\t\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\t\tconst horarioTranslate = franjaHoraria.find((h) => h.code === selectedSlot.dayMoment.code);\n\t\t\t\tfromFormatted = formattedSlot.replace(',', ' de ').concat(horarioTranslate.name);\n\t\t\t\tsetFechaHora(fromFormatted);\n\t\t\t}\n\t\t}\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(formResponse),\n\t\t);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst copyDms =\n\t\t\t'Tu asesor te contactará pronto para confirmar la cita. Te acabamos de enviar un email con toda la información.';\n\t\tconst copySinDms =\n\t\t\t'Tu asesor te contactará pronto para confirmar la cita. Te acabamos de enviar un email con toda la información.';\n\n\t\tif (formData.dealer.dmsInfo.dmsAvailable) {\n\t\t\tsetCopyBook(copyDms);\n\t\t} else {\n\t\t\tsetCopyBook(copySinDms);\n\t\t}\n\t}, []);\n\n\tconst renderTitle = (dmsFailed: boolean) => {\n\t\tif (!dmsFailed && formData.dealer.dmsInfo.dmsAvailable) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para el {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para el {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t};\n\n\tconst screen: Steps = {\n\t\ttitle: <>{renderTitle(formInfo.sendDmsFailed)},\n\t\tfields: ,\n\t};\n\treturn (\n\t\t\n\t);\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n\treturn {\n\t\tformData: state.formData.fields,\n\t\tformInfo: state.formInfo,\n\t};\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouNuevaCita);\n\nexport { ConnectedComponent as ThankYouNuevaCita };\n\n","import React, {useEffect} from 'react';\nimport {FormController, useOneFormContext} from 'src/feature-app';\nimport {FormDataGroup, FormInfo, Steps} from 'src/types';\nimport {ThankYouNuevaCita} from './ThankYouNuevaCita';\n\ninterface NuevaCitaPosventaFormProps {\n\tisCitaPosventaDealer?: boolean;\n}\n\ninterface FormProps {\n\tdefaultSteps: Steps[];\n\tsendForm: any;\n\tfirstStep: Steps;\n\tCitaPosventaData: Partial;\n\tstepsHistory?: number[];\n}\n\nexport function NuevaCitaPosventaFormDefault({\n\tdefaultSteps,\n\tsendForm,\n\tfirstStep,\n\tCitaPosventaData,\n\tstepsHistory,\n}: FormProps) {\n\tconst {initializeForm, nextScreenIndex} = useOneFormContext();\n\n\tuseEffect(() => {\n\t\tconst lastStep = defaultSteps[defaultSteps.length - 1];\n\n\t\tconst CitaPosventaInfo: Partial = {\n\t\t\tformEnded: false,\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens: defaultSteps.length,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tnotALayer: false,\n\t\t\tformType: 'layer',\n\t\t\tformTheme: 'inverted',\n\t\t\tsteps: defaultSteps,\n\t\t\tstepsHistory: stepsHistory ? stepsHistory : [],\n\t\t\tthankYouComponent: ,\n\t\t};\n\n\t\tinitializeForm(CitaPosventaInfo, CitaPosventaData);\n\t}, []);\n\n\treturn ;\n}\n","import React, {useEffect} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {\n\tFormController,\n\tuseFaContent,\n\tuseFeatureAppConfig,\n\tuseFeatureServices,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport {VehiclesIdentityKit} from 'src/feature-service/es-oneform-core-feature-service/types';\nimport {removeStep, resetStepsScreenIndex} from 'src/forms/helpers/add-remove-steps';\nimport {FormDataGroup, FormInfo, OneFormState, Steps} from 'src/types';\nimport {ThankYouNuevaCita} from './ThankYouNuevaCita';\n\ninterface NuevaCitaPosventaFormProps {\n\tisCitaPosventaDealer?: boolean;\n}\n\ninterface FormProps {\n\tdefaultSteps: Steps[];\n\tsendForm: any;\n\tfirstStep: Steps;\n\tCitaPosventaData: Partial;\n}\n\nexport function NuevaCitaPosventaFormLogged({defaultSteps, sendForm, firstStep, CitaPosventaData}: FormProps) {\n\tconst {initializeForm, nextScreenIndex} = useOneFormContext();\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst dispatch = useDispatch();\n\n\tconst oneFormService = useFeatureServices()['es:oneform-core'];\n\tconst {person} = oneFormService.get();\n\tconst config = useFeatureAppConfig();\n\n\tconst userHasFavouriteDealer = (steps: Steps[]) => {\n\t\tif (person?.favouriteDealer) {\n\t\t\tconst selectedDealer = dealersInfo.dealers?.find((dealer) => dealer.kvps === person.favouriteDealer);\n\t\t\tif (selectedDealer) {\n\t\t\t\t// Sobreescribir el selected dealer en el caso de cita posventa da problemas a la hora de cargar el calendario.\n\t\t\t\tif (config.trigger !== 'cita-posventa-dealer') {\n\t\t\t\t\tdispatch({type: 'SET_SELECTED_DEALER', payload: selectedDealer});\n\t\t\t\t\tdispatch({type: 'UPDATE_SUGGESTION', payload: selectedDealer});\n\t\t\t\t}\n\t\t\t\tdispatch({type: 'SET_FAVOURITE_DEALER', payload: selectedDealer});\n\t\t\t\tdispatch({type: 'SET_SHOW_CALENDAR_ON_LOAD', payload: true});\n\t\t\t}\n\t\t}\n\n\t\treturn steps;\n\t};\n\tconst userHasPersonalData = (steps: Steps[]) => {\n\t\tlet personalDataSteps = [...steps];\n\n\t\tif (person?.name && person?.surname) {\n\t\t\tpersonalDataSteps = removeStep(personalDataSteps, 'NombreApellido');\n\t\t}\n\t\tif (person?.cellphone) {\n\t\t\tpersonalDataSteps = removeStep(personalDataSteps, 'Telefono');\n\t\t}\n\t\tpersonalDataSteps = removeStep(personalDataSteps, 'Email');\n\t\tpersonalDataSteps = resetStepsScreenIndex(personalDataSteps);\n\t\treturn personalDataSteps;\n\t};\n\n\tconst userHasVehicleData = (steps: Steps[]) => {\n\t\tlet vehicleDataSteps = [...steps];\n\n\t\tif (person?.userVehicles && person?.userVehicles.length > 0) {\n\t\t\tconst {userVehicles} = person;\n\t\t\tlet mainVehicle: VehiclesIdentityKit;\n\t\t\tif (userVehicles.length === 1) {\n\t\t\t\tmainVehicle = userVehicles[0];\n\t\t\t} else {\n\t\t\t\tmainVehicle = userVehicles.find((vehicle) => vehicle.isMainVehicle);\n\t\t\t}\n\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\tpayload: {matricula: mainVehicle.matricula, kilometros: mainVehicle.kilometros, modelo: mainVehicle.modelo},\n\t\t\t});\n\n\t\t\t// Consultar si se eliminan las páginas en caso de que falte algún dato (año de matriculación no parece estar disponible desde identity kit)\n\t\t\tif (mainVehicle.matricula && mainVehicle.modelo && mainVehicle.anoMatriculacion) {\n\t\t\t\tvehicleDataSteps = removeStep(vehicleDataSteps, 'Matricula');\n\t\t\t}\n\t\t\tif (mainVehicle.kilometros) {\n\t\t\t\tvehicleDataSteps = removeStep(vehicleDataSteps, 'Kilometros');\n\t\t\t}\n\n\t\t\tvehicleDataSteps = resetStepsScreenIndex(vehicleDataSteps);\n\t\t}\n\t\treturn vehicleDataSteps;\n\t};\n\n\tconst getLoggedSteps = (steps: Steps[]) => {\n\t\tlet finalSteps = [...steps];\n\t\tfinalSteps = userHasFavouriteDealer(finalSteps);\n\t\tfinalSteps = userHasPersonalData(finalSteps);\n\t\tfinalSteps = userHasVehicleData(finalSteps);\n\n\t\treturn finalSteps;\n\t};\n\n\tuseEffect(() => {\n\t\tconst finalSteps = getLoggedSteps(defaultSteps);\n\n\t\tconst lastStep = finalSteps[finalSteps.length - 1];\n\n\t\tconst CitaPosventaInfo: Partial = {\n\t\t\tformEnded: false,\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens: defaultSteps.length,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: finalSteps,\n\t\t\tnotALayer: false,\n\t\t\tformType: 'layer',\n\t\t\tstepsHistory: [],\n\t\t\tthankYouComponent: ,\n\t\t};\n\n\t\tinitializeForm(CitaPosventaInfo, CitaPosventaData);\n\t}, []);\n\n\treturn ;\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tSpinner,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {CloseHandleV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useEffect, useRef, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {\n\tgetFranjaAndDayFrom,\n\tisNull,\n\tweekDay_DayNumber_De_Month,\n\tyear_MonthNumber_DayNumber,\n\tgetToAndFromForCheckCita,\n} from 'src/feature-app';\nimport {useTrackingManager} from 'src/feature-app/hooks/use-tracking-manager';\nimport {\n\tAssessors,\n\tAvailability,\n\tCalendarSlot,\n\tDealersData,\n\tHorario as HorarioType,\n\tOneFormState,\n\tPoints,\n\tSlot,\n\tSlotsTime,\n} from 'src/types';\nimport {getEarliestSlot} from 'src/feature-app/NewMap/sort-points';\nimport {Close} from '@volkswagen-onehub/icons-core';\nimport dayjs from 'dayjs';\n\nconst ZIndexLayer = styled.div`\n\tz-index: 25;\n\tposition: relative;\n`;\n\nconst Content = styled.div`\n\tbackground-color: #ffffff;\n\tposition: relative;\n\tpadding: 44px 31px;\n\tflex: auto;\n\ttext-align: center;\n\twidth: 100%;\n\t@media screen and (min-width: 560px) {\n\t\tpadding: 52px 46px;\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tpadding: var(--size-grid001);\n\t}\n`;\n\nconst CloseDiv = styled.div`\n\tposition: absolute;\n\ttop: var(--size-dynamic0050);\n\tright: var(--size-dynamic0050);\n\tcursor: pointer;\n`;\n\nconst CTAWrapper = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-top: 44px;\n\n\t@media screen and (min-width: 960px) {\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t}\n`;\ninterface LayerComponentProps {\n\tselectedPoint: Points;\n\thandleShowSlots: (point: Points) => string | null;\n\thandleDmsMapExit: (slot: CalendarSlot, point: Points) => void;\n\thandleNoDmsMapExit: (franjaHoraria: string, day: string, point: Points) => void;\n\tgetAvailability: (dealer: DealersData, start: number, end: number) => Promise;\n\t// handleAvailability: (a: Availability, d: DealersData) => void;\n\tcloseLayerCallback?: CloseHandleV2;\n\t// waitForNextStep: any;\n\thandleShowCalendarOnClick: (point: Points) => void;\n}\n\nexport function ReservaCitaLayer(props: LayerComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\ninterface SlotHorario {\n\tfrom: number;\n\tto: number;\n}\n\nfunction ReservaCita(props: LayerComponentProps) {\n\tconst {\n\t\tselectedPoint,\n\t\thandleShowSlots,\n\t\thandleDmsMapExit,\n\t\thandleNoDmsMapExit,\n\t\tgetAvailability,\n\t\t// handleAvailability,\n\t\tcloseLayerCallback,\n\t\t// waitForNextStep\n\t\thandleShowCalendarOnClick,\n\t} = props;\n\n\tconst trackingManager = useTrackingManager();\n\tconst [assessorName, setAssessorName] = useState('');\n\n\tconst {dealer} = selectedPoint.properties;\n\tconst {motivo, horario, motivoLabel}: {motivo: string; motivoLabel: string; horario: HorarioType} = useSelector(\n\t\t(state: OneFormState) => state.formData.fields,\n\t);\n\tconst {name, address, city, zipCode} = dealer.markerInfo.dealerInfo;\n\n\tconst [loading, setLoading] = useState(false);\n\tconst [DMSError, setDMSError] = useState(false);\n\tconst [slotNotAvailable, setSlotNotAvailable] = useState(false);\n\tconst slotHorarioRef = useRef(null);\n\n\tuseEffect(() => {\n\t\tcheckSlot();\n\t\tif (selectedPoint) {\n\t\t\tgetAssessorName();\n\t\t}\n\t}, []);\n\n\tconst checkSlot = () => {\n\t\tconst {slots} = dealer;\n\t\tlet from: number;\n\t\tlet to: number = null;\n\t\tif (!isNull(slots)) {\n\t\t\tfrom = getEarliestSlot(slots);\n\t\t}\n\n\t\tslotHorarioRef.current = {from, to};\n\t};\n\n\tconst getAssessorName = () => {\n\t\tconst {assessors} = dealer.dmsInfo;\n\t\tif (horario !== 'before' && dealer?.slots[horario]) {\n\t\t\tconst assessorCode = dealer.slots[horario].assessorCode;\n\t\t\tconst assessor = findAssessor(assessors, assessorCode);\n\t\t\tsetAssessorName(assessor.name);\n\t\t} else {\n\t\t\t// Primero se comprueba si el dealer tiene disponibles slots en mañana, mediodía o tarde\n\t\t\t// y luego se comparan estos slots con el earliestSlot para seleccionarlo.\n\t\t\tconst {slots} = selectedPoint.properties.dealer;\n\t\t\tconst keys = Object.keys(slots) as SlotsTime[];\n\t\t\tkeys.map((time: SlotsTime) => {\n\t\t\t\tif (slots[time] && selectedPoint.properties.earliestSlot === slots[time].from) {\n\t\t\t\t\tconst slot: Slot = slots[time];\n\t\t\t\t\tconst assessor = findAssessor(assessors, slot.assessorCode);\n\t\t\t\t\tsetAssessorName(assessor.name);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tconst findAssessor = (assessors: Assessors[], code: string) => {\n\t\treturn assessors.find((assessor) => assessor.code === code);\n\t};\n\n\tconst handleCitaDisponible = (slot: CalendarSlot, assessors: Assessors[]) => {\n\t\tsetLoading(false);\n\t\tcloseLayerCallback({}, {}, {});\n\t\thandleDmsMapExit(slot, selectedPoint);\n\t\treturn;\n\t};\n\n\tconst handleCitaNoDisponible = (availability: Availability) => {\n\t\tsetLoading(false);\n\t\tif (availability?.content?.calendar) {\n\t\t\tsetSlotNotAvailable(true);\n\t\t\tsetDMSError(false);\n\t\t} else {\n\t\t\tconst {franjaHoraria} = getFranjaAndDayFrom(slotHorarioRef.current.from);\n\t\t\tsetDay(weekDay_DayNumber_De_Month(slotHorarioRef.current.from));\n\t\t\tsetFranjaHoraria(franjaHoraria.toLowerCase());\n\t\t\tsetDMSError(true);\n\t\t\tsetSlotNotAvailable(false);\n\t\t}\n\t};\n\n\t//\n\tconst [day, setDay] = useState(null);\n\tconst [franjaHoraria, setFranjaHoraria] = useState(null);\n\n\tconst continueWithoutDms = (from: number, point: Points) => {\n\t\tconst {day, franjaHoraria} = getFranjaAndDayFrom(from);\n\n\t\thandleNoDmsMapExit(franjaHoraria, day, point);\n\t};\n\n\tconst getToAndFromForCheckCita = (citaTo: number): {from: number; to: number} => {\n\t\tconst from = Number(dayjs().locale('es').utc().format('x'));\n\t\tconst to = Number(dayjs(citaTo).locale('es').utc().format('x'));\n\t\n\t\treturn {from, to};\n\t};\n\n\tconst checkCita = async () => {\n\t\tsetLoading(true);\n\t\tconst {from, to} = getToAndFromForCheckCita(slotHorarioRef.current.from);\n\n\t\tconst availability = await getAvailability(dealer, from, to);\n\n\t\tif (availability?.content?.calendar) {\n\t\t\tconst fromFormatted = year_MonthNumber_DayNumber(slotHorarioRef.current.from);\n\t\t\tconst selectedDay = availability.content.calendar.find((day) => day.date === fromFormatted);\n\t\t\tconst assessors = dealer.dmsInfo.assessors;\n\n\t\t\tif (selectedDay) {\n\t\t\t\tconst finalSlot = selectedDay.slots\n\t\t\t\t\t.map((slot) => {\n\t\t\t\t\t\tif (slot.from === slotHorarioRef.current.from) {\n\t\t\t\t\t\t\treturn slot;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.filter((a) => a !== undefined);\n\n\t\t\t\tfinalSlot.length > 0 ? handleCitaDisponible(finalSlot[0], assessors) : handleCitaNoDisponible(availability);\n\t\t\t} else {\n\t\t\t\thandleCitaNoDisponible(availability);\n\t\t\t}\n\t\t} else {\n\t\t\thandleCitaNoDisponible(availability);\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{!loading && !slotNotAvailable && !DMSError ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t¿Quieres reservar esta cita?\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMotivo de tu visita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{motivoLabel ? motivoLabel : motivo ? motivo : 'Revisión de mantenimiento'}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tFecha y hora\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{handleShowSlots(selectedPoint)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tTaller\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{address},
{zipCode} {city}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{assessorName ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tAsesor {assessorName}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Sí, quiero esta cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcheckCita();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tSí­, quiero esta cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Ver más horas',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\thandleShowCalendarOnClick(selectedPoint);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tVer más horas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Sí, quiero esta cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcheckCita();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tSí, quiero esta cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Ver más horas',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\thandleShowCalendarOnClick(selectedPoint);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tVer más horas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\n\t\t\t\t{loading ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\tConfirmando con la agenda del taller\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{!loading && DMSError ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNo hemos podido confirmar tu cita para el{' '}\n\t\t\t\t\t\t\t\t{handleShowSlots(selectedPoint)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t¿Quieres continuar con el proceso y que {name} se\n\t\t\t\t\t\t\t\tponga en contacto contigo para cerrar tu cita el {day} por la {franjaHoraria}?\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Continuar',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcheckCita();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tContinuar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Buscar una nueva cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tBuscar una nueva cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Continuar',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcontinueWithoutDms(slotHorarioRef.current.from, selectedPoint);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tContinuar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Buscar una nueva cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tBuscar una nueva cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{!loading && slotNotAvailable ? (\n\t\t\t\t\t\n\t\t\t\t\t\tLamentablemente la cita seleccionada no está disponible\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcontentId: 'Seguir buscando',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\thandleShowCalendarOnClick(selectedPoint);\n\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSeguir buscando\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerPadding,\n\tLayout,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tCTA,\n\tTokenTextAppearance,\n\tTokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport {isNull, useOneFormContext} from 'src/feature-app';\nimport {ArrowLeft} from 'src/icons-core-imports';\n\nimport React, {createRef, useEffect, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {DealerCard} from 'src/components';\nimport {SeleccionDealerTabs} from 'src/feature-app';\nimport {CloseComponent} from 'src/feature-app/Screen';\nimport {Availability, DealersData, OneFormState, Points, Center} from 'src/types';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\n\ninterface SeleccionDealerProps {\n\tpointsByDistance: Points[];\n\tpointsByTime: Points[];\n\t// setShowMap: React.Dispatch>;\n\tsetShowCards: React.Dispatch>;\n\tsetLoading: React.Dispatch>;\n\tsetSelectedPoint: React.Dispatch>;\n\tgetAvailability: (dealer: DealersData, start: number, end: number) => Promise;\n\tselectedPoint: Points;\n\n\thandleShowSlots: (point: Points) => string | null;\n\tshowAllCardsMobile: boolean;\n\tcenter: Center;\n\thandleReservaCitaLayer: (p: Points) => void;\n\thideCards?: () => void;\n}\n\ninterface BoxProps {\n\tselected: boolean;\n\toneCard: boolean;\n}\n\nconst GoBackWrapper = styled.div`\n\tpadding-top: 24px;\n\n\t& button {\n\t\tcolor: #ffffff;\n\t}\n`;\n\nconst Box = styled.div`\n\twidth: 100%;\n\tborder: ${(props) => (props.selected ? '2px solid #FFFFFF' : '1px solid rgba(255,255,255,0.44)')};\n\tpadding: 24px;\n\tmargin-top: ${(props) => (props.oneCard ? '0' : '44px')};\n\n\t:hover {\n\t\tborder: ${(props) => (props.selected ? '2px solid #FFFFFF' : '1px solid #4cc7f4')};\n\t}\n`;\nconst ScrollWrapper = styled.div`\n\theight: calc(100vh - 80px);\n\toverflow-y: auto;\n\tmargin: auto;\n`;\n\nconst TabsWrapper = styled.div`\n\twidth: 83vw;\n\tpadding-top: 24px;\n\theight: 100%;\n\n\t@media all and (min-width: 960px) {\n\t\twidth: 380px;\n\t\toverflow-y: auto;\n\t\tmargin: auto;\n\t}\n\tul {\n\t\tpadding-left: 5px;\n\t}\n\n\t& > div {\n\t\tpadding-bottom: 24px;\n\t}\n`;\n\nconst ArrowLeftWrapper = styled.div`\n\tpadding: 24px 0px;\n\n\t& svg {\n\t\tfill: #ffffff;\n\t}\n`;\n\ninterface Ref {\n\tref: React.RefObject;\n\tkvps: string;\n}\n\nexport function SeleccionDealer(props: SeleccionDealerProps) {\n\tconst {\n\t\tpointsByDistance,\n\t\tpointsByTime,\n\t\tselectedPoint,\n\t\tsetSelectedPoint,\n\t\tgetAvailability,\n\t\tsetLoading,\n\t\thandleShowSlots,\n\t\thandleReservaCitaLayer,\n\t\tcenter,\n\t\thideCards,\n\t\tsetShowCards,\n\t} = props;\n\n\tconst {horario} = useSelector((state: OneFormState) => state.formData.fields);\n\tconst {handleAreYouSureLayer} = useOneFormContext();\n\n\tconst [defaultIndex, setDefaultIndex] = useState(0);\n\tconst [selectedPoints, setSelectedPoints] = useState(null);\n\n\tconst createRefs = (points: Points[]) => {\n\t\tconst refs = [];\n\t\tconst length = points.length;\n\t\tfor (let ix = 0; ix < length; ix++) {\n\t\t\tlet refObject: Ref = {ref: createRef(), kvps: points[ix].properties.dealer.kvps};\n\t\t\trefs.push(refObject);\n\t\t\trefObject = null;\n\t\t}\n\t\treturn refs;\n\t};\n\tconst [isTimeSelected, setIsTimeSelected] = useState(false);\n\tconst [timeRefs, setTimeRefs] = useState(null);\n\tconst [distanceRefs, setDistanceRefs] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (horario === 'before') {\n\t\t\tsetIsTimeSelected(true);\n\t\t\tsetDefaultIndex(1);\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\t// setSelectedPoint(null);\n\t\tsetTimeRefs(null);\n\t\tsetDistanceRefs(null);\n\n\t\tconst timeRefs = createRefs(pointsByTime);\n\t\tconst distanceRefs = createRefs(pointsByDistance);\n\t\tsetTimeRefs(timeRefs);\n\t\tsetDistanceRefs(distanceRefs);\n\t}, [pointsByDistance]);\n\n\tuseEffect(() => {\n\t\tsetSelectedPoints(pointsByDistance); // Actualizar con el que está seleccionado.\n\t}, [selectedPoints]);\n\n\tconst handleShowCalendarOnClick = async (point: Points) => {\n\t\tsetSelectedPoint(point);\n\t\tsetLoading(true);\n\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth();\n\t\tconst availability = await getAvailability(point.properties.dealer, firstDayOfMonth, lastDayOfMonth); // Devuelve el availability.\n\t\tsetLoading(false);\n\t};\n\n\tconst handleSeleccionarOnClick = (point: any) => {\n\t\tsetSelectedPoint(point);\n\t\thandleReservaCitaLayer(point);\n\t};\n\n\tconst renderPoints = (points: any, isTime?: boolean): JSX.Element => {\n\t\treturn points.map((point: Points, i: number) => {\n\t\t\tconst {kvps} = point.properties.dealer;\n\t\t\tconst {cluster} = point.properties;\n\t\t\tconst selected = selectedPoint && selectedPoint.properties.dealer.kvps === kvps ? true : false;\n\n\t\t\tif (selected && !cluster) {\n\t\t\t\tif (\n\t\t\t\t\tisTimeSelected &&\n\t\t\t\t\ttimeRefs[i] &&\n\t\t\t\t\ttimeRefs[i].ref &&\n\t\t\t\t\ttimeRefs[i].ref.current &&\n\t\t\t\t\ttimeRefs[i].kvps === selectedPoint.properties.dealer.kvps\n\t\t\t\t) {\n\t\t\t\t\ttimeRefs[i].ref.current.scrollIntoView({block: 'center', behavior: 'smooth'});\n\t\t\t\t} else if (\n\t\t\t\t\t!isTimeSelected &&\n\t\t\t\t\tdistanceRefs[i] &&\n\t\t\t\t\tdistanceRefs[i].ref &&\n\t\t\t\t\tdistanceRefs[i].ref.current &&\n\t\t\t\t\tdistanceRefs[i].kvps === selectedPoint.properties.dealer.kvps\n\t\t\t\t) {\n\t\t\t\t\tdistanceRefs[i].ref.current.scrollIntoView({block: 'center', behavior: 'smooth'});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (!cluster && !isNull(timeRefs) && timeRefs.length > 0 && !isNull(ref) && isTime) {\n\t\t\t\t\t\t\t\tif (timeRefs[i] && timeRefs[i].ref) {\n\t\t\t\t\t\t\t\t\ttimeRefs[i].ref.current = ref;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (!cluster && !isNull(distanceRefs) && distanceRefs.length > 0 && !isNull(ref) && !isTime) {\n\t\t\t\t\t\t\t\tif (distanceRefs[i] && distanceRefs[i].ref) {\n\t\t\t\t\t\t\t\t\tdistanceRefs[i].ref.current = ref;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName=\"Box\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t});\n\t};\n\n\treturn selectedPoints ? (\n\t\t<>\n\t\t\t\n\t\t\t\t{props.showAllCardsMobile ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thideCards();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIr al mapa\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tOrdenar por:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* \n \n Ordenar por:\n \n {\n setDefaultIndex(index);\n setIsTimeSelected(!isTimeSelected);\n }}\n defaultIndex={defaultIndex}\n >\n {{\n title: 'Ubicación',\n content: renderPoints(pointsByDistance, false),\n key: 'ubicacion',\n }}\n {{ title: 'Horario', content: renderPoints(pointsByTime, true), key: 'horario' }}\n \n */}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tOrdenar por:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t) : null;\n}\n","import { Breakpoints, Layout } from '@volkswagen-onehub/components-core';\nimport { \n LegalesFormatoLayer, \n LssiTkmQuestions, \n PoliticaPrivacidad, \n LastNavigation, \n GeneralConfirmacionLayerWrapper \n} from 'src/components';\nimport React from 'react';\n\nexport const ConfirmacionEmpresas = () => {\n\n return (\n \n \n \n \n\n \n\n \n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { Text, styled } from '@volkswagen-onehub/components-core';\nimport { useFormContext } from 'react-hook-form';\nimport { CodigoPostal, InputError, TextInputExtended } from 'src/components';\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media screen and (min-width: 560px) {\n width: 303px;\n }\n @media screen and (min-width: 960px) {\n width: 320px;\n margin-top: 44px;\n }\n @media all and (max-height: 624px) {\n margin-top: 24px;\n }\n }\n`;\n\nconst WidthWrapper = styled.div`\n width: 100%;\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n }\n`;\n\nexport const EmpresaInfoComponent = () => {\n const { register } = useFormContext();\n\n // Nombre de la empresa\n const [inputValueName, setInputValueName] = useState('');\n const [pristineName, setPristineName] = useState(true);\n const [errorName, setErrorName] = useState(false);\n const regExpName = /[a-zA-Z]/gi;\n\n const handleChangeName = (e: any) => {\n setInputValueName(e.target.value);\n setPristineName(false);\n };\n\n useEffect(() => {\n if (!pristineName && inputValueName.match(regExpName) === null) {\n setErrorName(true);\n } else {\n setErrorName(false);\n }\n }, [inputValueName, pristineName]);\n\n // CIF\n const [inputValueCIF, setInputValueCIF] = useState('');\n const [pristineCIF, setPristineCIF] = useState(true);\n const [errorCIF, setErrorCIF] = useState(false);\n const regExpCIF = /[A-Z]\\d{8}/gi;\n\n const handleChangeCIF = (e: any) => {\n setInputValueCIF(e.target.value);\n setPristineCIF(false);\n };\n\n useEffect(() => {\n if (!pristineCIF && inputValueCIF.match(regExpCIF) === null) {\n setErrorCIF(true);\n } else {\n setErrorCIF(false);\n }\n }, [inputValueCIF, pristineCIF]);\n\n\n\n return (\n <>\n \n \n handleChangeName(e)}\n required\n />\n {errorName && Solo se aceptan letras}\n \n \n handleChangeCIF(e)}\n required\n />\n {errorCIF && Ejemplo: A00000000}\n \n \n \n \n \n \n\n \n \n );\n};\n","import React, { useState } from 'react';\nimport { MultipleCTASelection} from 'src/components';\n\nconst fleetOptions = [\n {\n value: '1 - 2',\n label: '1 o 2',\n },\n {\n value: '3 - 10',\n label: 'De 3 a 10',\n },\n {\n value: '11 - 50',\n label: 'De 11 a 50',\n },\n];\n\nexport const Fleet = () => {\n\n return (\n \n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, ContactInfoWrapper, Email, PantallaNombreApellido, Telefono } from 'src/components';\nimport {\n\tformatPrefix,\n\tFormController,\n\tremoveWhiteSpace,\n\tuseFaContent,\n\tuseGetInstalaciones,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { useGetWaidLitera } from 'src/feature-app/hooks/use-get-waid-litera';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionEmpresas, EmpresaInfoComponent, MapaEmpresas, ThankYouEmpresas } from 'src/forms';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { useInitializeLeadForm } from '../Leads';\nimport { Fleet } from './Fleet';\n\nexport enum EmpresasFormSteps {\n Modelo,\n Mapa,\n NombreApellido,\n EmailTelefono,\n Empresa,\n Fleet,\n Confirmacion,\n}\n\nexport function EmpresasForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const installations = useGetInstalaciones('VW_DDB_FRM_VWEMPRESAS', 'VOLKSWAGEN_SF_LEAD_INSTALLATION'); // llama al metodo getInstallations()\n const dispatch = useDispatch();\n const faContent = useFaContent();\n const waid = useGetWaidLitera();\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te interesa para tu flota?\n \n ),\n fields:
} />,\n screenIndex: EmpresasFormSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n screenIndex: EmpresasFormSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n title: (\n <>\n Estamos deseando hacerte una propuesta. Pero antes, nos gustaría saber quién eres\n \n ),\n fields:
} allowOverflowingContent />,\n screenIndex: EmpresasFormSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n showOverflow: true,\n },\n {\n title: (\n <>\n ¿En qué teléfono e email podemos localizarte?\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: EmpresasFormSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n Ahora, nos gustaría conocer algunos detalles sobre tu empresa\n \n ),\n fields:
} />,\n screenIndex: EmpresasFormSteps.Empresa,\n name: 'Empresa',\n outputs: ['businessName', 'CIF', 'postalCode'],\n outputsText: ['businessName', '/', 'CIF', '/', 'postalCode'],\n },\n {\n title: (\n <>\n ¿Cuántos coches necesitas para tu{' '}\n \n flota?\n *\n \n \n ),\n fields: } />,\n screenIndex: EmpresasFormSteps.Fleet,\n name: 'Fleet',\n outputs: ['fleet'],\n outputsText: ['fleet'],\n },\n {\n fields: ,\n screenIndex: EmpresasFormSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n\n const EmpresasFormData: Partial = {\n headers: {\n FORM_NAME: 'vw-oneform-empresas',\n FORM_OBJECTIVE: 'Más Información',\n FORM_ID: waid ? waid : 'B10C01_LDEMPR_WA1',\n DPS_TOKEN: 'VW_DDB_FRM_VWEMPRESAS',\n },\n flags: {\n PERSON_RGPD_ADAPTED: 'true',\n FLAG_IS_MYSTERY_LEAD: 'false',\n FLAG_RELACION_MARCA_SIN_IC: 'false',\n FLAG_SF_INTEGRATION: 'true',\n FLAG_ALLOWS_DATA_ENRICHMENT: 'false',\n // FLAG_ISQUALIFIED: 'false',\n // FLAG_MAILRECEPCIONLEAD: 'true',\n // REQUIERE_CONTACTO_DEALER: 'false',\n },\n fields: {\n formName: 'empresas',\n formType: 'contact',\n pageCategory: 'Más Información',\n formularioFlag: 'masInformacion',\n }, // Analítica\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, flags, headers } = formData;\n\n const { selectedInstallation, carlines } = dealersInfo;\n\n const {\n VGED_CommercialName__c,\n ShippingStreet,\n VGED_DealerCode__c,\n ShippingStateCode,\n KVPSCode__c,\n Id\n } = selectedInstallation;\n\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n\n 'headers[FORM_URL]': url,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[FORM_VERSION]': `vw-oneform-empresas-${process.env.VERSION}`,\n\n ...formatFlags(flags),\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n 'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_PHONE_MOBILE_FULL]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_PHONE_PREFIX]': formatPrefix(fields.prefix),\n 'fields[PERSON_POSTAL_CP]': fields.postalCode,\n 'fields[COMPANY_NAME]': fields.businessName,\n 'fields[COMPANY_CIF]': fields.CIF,\n 'fields[COMMENTS_PERSON]': 'Tamaño flota: ' + fields.fleet,\n 'fields[SF_LEAD_INSTALLATION_ADDRESS]': ShippingStreet,\n 'fields[SF_LEAD_INSTALLATION_CODE]': VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_ID]': Id,\n 'fields[SF_LEAD_INSTALLATION_NAME]': VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': ShippingStateCode.toString().padStart(2, '0'),\n 'fields[VEH_INTEREST_FUEL]': fields.modelo.includes('ID.') ? 'Electric' : 'Undefined',\n 'fields[VEH_INTEREST_BRAND]': 'Volkswagen',\n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': fields.modelo,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n ...getDpsFields(faContent),\n };\n\n delete data['headers[DETALLE_TIPO_PETICION_SIM]'];\n delete data['headers[DESC_FORM_DETAIL]'];\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.status && response.data.status.code && response.data.status.code == 200) {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(defaultSteps);\n\n useEffect(() => {\n if (loading) {\n return;\n }\n\n const EmpresasFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: steps,\n notALayer: false,\n formType: 'layer',\n formTheme: 'inverted',\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n initializeForm(EmpresasFormInfo, EmpresasFormData);\n }, [loading]);\n\n return loading ? null : ;\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouEmpresas = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { \n getDistanceFromLatLngCenter, \n LayerDesktopView, \n LayerMobileView \n} from 'src/feature-app/NewMap';\n\n\nexport const JourneyEmpresasController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n
\n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvinceLegacy('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n \n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n \n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n handleNextStep();\n }, []);\n\n const renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyEmpresasController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyEmpresasController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyEmpresasWrapper = () => {\n return (\n \n \n \n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { useOneFormContext } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { LocateUser } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { DealersData, OneFormState, Steps } from 'src/types';\nimport { JourneyEmpresasWrapper } from './JourneyEmpresasWrapper';\n\nenum MapaEmpresasSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\nconst CTAsHorario = [\n { label: 'Por la mañana', value: 'morning' },\n { label: 'Al mediodía', value: 'afternon' },\n { label: 'Por la tarde', value: 'evening' },\n];\n\ninterface MapaEmpresasProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaEmpresas(props: MapaEmpresasProps) {\n const { formName, showHorario } = props;\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { dealer }: { dealer?: DealersData } = formData.fields;\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n } = useOneFormContext();\n\n const steps: Steps[] = [\n {\n title: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n fields: ,\n screenIndex: MapaEmpresasSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const [selectedStep, setSelectedStep] = useState(null);\n\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n handleFirstLoad();\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n setTimeout(() => {\n setShowPreviousStep(false);\n }, TIME_FOR_TRANSFORM);\n }\n }\n setNextMultiStep(() => nextMapaEmpresas);\n setPreviousMultiStep(() => previousMapaEmpresas);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaEmpresas = () => {\n const { multiStepScreenIndex } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Una vez avanzamos dentro de los multisteps se activa el wait\n // previous step para volver hacia atrás dentro del propio multistep.\n if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n updateWaitForNextAndPreviousStep(null, true);\n }\n\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex + 1);\n // Si estamos en el último paso del multistep se desactiva el\n // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n updateWaitForNextAndPreviousStep(false, null);\n if(multiStepScreenIndex === 0) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const previousMapaEmpresas = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n return selectedStep ? (\n \n \n \n ) : null;\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { AutosubmitController } from 'src/forms/Autosubmit/AutosubmitController';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { LoadingEncuestas } from 'src/components';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { PlanIdealForm } from './PlanIdealForm';\n\nexport function PlanIdealController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [pincodeAvailable, setPincodeAvailable] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setPincodeAvailable(false);\n setLoading(false);\n } else {\n setPincodeAvailable(true);\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {\n pincodeAvailable ?\n \n :\n \n }\n \n );\n }\n}\n","import React, { useState } from 'react';\nimport { RadioButton } from '@volkswagen-onehub/components-core';\nimport { InputButton } from 'src/components/inputs/InputButton';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\ninterface ChecksProps {\n questionName: string;\n avoidNextStep?: boolean;\n answers: string[];\n skippable: boolean;\n}\n\nexport const Checks = (props: ChecksProps) => {\n const { questionName, answers, skippable} = props;\n const [checkedIndex, setCheckedIndex] = useState(null);\n const dispatch = useDispatch();\n\n const { handleNextStep } = useOneFormContext();\n const [value, setValue] = useState(null);\n const { register } = useFormContext();\n\n const handleOnClick = (e: any) => {\n setTimeout(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [questionName]: e.target.value } });\n handleNextStep();\n }, 0);\n };\n\n return (\n
\n {answers.map((answer, index) => {\n return (\n
\n {\n setValue(answer);\n setCheckedIndex(index);\n handleOnClick(e);\n }}\n checked={checkedIndex === index}\n />\n
\n )\n })}\n\n {\n skippable ? (\n
\n {\n setValue(\"No, eso es todo\");\n handleOnClick(e);\n }}\n />\n
\n ) : null\n }\n\n \n
\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n styled,\n Text,\n} from '@volkswagen-onehub/components-core';\nimport { Checks } from './Checks';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\nconst LayoutWrapper = styled.div`\n @media all and (min-width: 960px) {\n padding-left: var(--size-grid002);\n display: flex;\n }\n`;\n\nconst InfoWrapper = styled.div`\n width: 100%;\n padding-left: var(--size-grid002);\n padding-right: var(--size-grid002);\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: var(--size-grid012);\n padding-left: var(--size-grid002);\n padding-right: 0;\n padding-top: 0;\n }\n @media all and (min-width: 1280px) {\n padding-left: var(--size-grid003);\n }\n @media all and (min-width: 1600px) {\n padding-left: var(--size-grid002);\n }\n`;\n\ninterface VideoProps {\n isMediumScreen: boolean;\n};\n\nconst Video = styled.video`\n display: block;\n max-height: ${(props) => props.isMediumScreen ? \"auto\" : \"25%\"};\n width: ${(props) => props.isMediumScreen ? \"35%\" : \"100%\"};\n margin: ${(props) => props.isMediumScreen ? \"auto\" : \"0 auto\"};\n padding-bottom: var(--size-grid001);\n`;\n\ninterface QuestionWithImageProps {\n answers: string[];\n imageSrc: string;\n videoSrc: string;\n skippable: boolean;\n\n index: number;\n questionName: string;\n intro: JSX.Element | string;\n title: JSX.Element | string;\n}\n\nexport const QuestionWithImage = (props: QuestionWithImageProps) => {\n const {\n answers,\n imageSrc,\n videoSrc,\n index,\n questionName,\n intro,\n title,\n skippable\n } = props;\n const height = useWindowHeight();\n const windowWidth = useWindowWidth();\n const [isMediumScreen, setIsMediumScreen] = useState(false);\n\n useEffect(() => {\n console.log(\"setIsMediumScreen\", windowWidth >= 960);\n setIsMediumScreen(windowWidth >= 960);\n}, [windowWidth]);\n\n return (\n \n {\n height <= 600 ? null : (\n \n
\n \n
\n
\n )\n }\n \n \n \n \n \n \n <>\n {intro}\n \n \n \n <>\n {title}\n \n \n \n \n \n
\n )\n};\n","import React, { useEffect, useState } from 'react';\nimport { ConfirmationPlanIdeal, ThankYouPlanIdeal } from './';\nimport { QuestionWithImage } from './QuestionWithImage';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n formatPrefix,\n FormController,\n useOneFormContext,\n} from 'src/feature-app';\nimport {\n FormDataGroup,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport {\n DetalleMotivo,\n} from 'src/components';\nimport {\n Text,\n} from '@volkswagen-onehub/components-core';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../../helpers/add-remove-steps';\n\nexport enum PlanIdealSteps {\n PlanIDeal1,\n PlanIDeal2,\n PlanIDeal3,\n PlanIDeal3Otros,\n Confirmacion\n}\n\nconst questions = [\n {\n questionName: 'PlanIDeal1',\n screenIndex: PlanIdealSteps.PlanIDeal1,\n intro: <>En tus escapadas...,\n title: <>¿Cuánto te gusta conducir?,\n answers: [\n 'Mucho, mi coche es mi segundo hogar',\n 'Ni fu ni na, de copiloto se va mejor',\n 'Poco, solo si es necesario'\n ],\n videoSrc: 'https://assets.volkswagen.com/is/content/volkswagenag/video01-0x720-3000k',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg==',\n skippable: false\n },\n {\n questionName: 'PlanIDeal2',\n screenIndex: PlanIdealSteps.PlanIDeal2,\n intro: <>En tus escapadas...,\n title: <>¿Quién suele acompañarte?,\n answers: [\n 'Voy solo y sin que nadie me toque la música',\n 'Mi familia, nada nos separa',\n 'Mi pareja es mi mejor copiloto',\n 'Mis amigxs, con ellxs a todos lados'\n ],\n videoSrc: 'https://assets.volkswagen.com/is/content/volkswagenag/video02-0x720-3000k',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg==',\n skippable: false\n },\n {\n questionName: 'PlanIDeal3',\n screenIndex: PlanIdealSteps.PlanIDeal3,\n intro: <>Ahora es tu turno.,\n title: <>¿Hay algo que quieras saber de nuestros eléctricos?,\n answers: [\n 'La autonomía que tienen',\n 'El tiempo y lugar de carga',\n 'Lo que me ahorro',\n 'Otros'\n ],\n videoSrc: 'https://assets.volkswagen.com/is/content/volkswagenag/video03-0x720-3000k',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg==',\n skippable: true\n }\n];\n\ninterface PlanIdealFormProps {\n dpsData?: any;\n idPerson?: any;\n handleError?: any;\n email?: string;\n name?: string;\n surname?: string;\n}\n\nexport function PlanIdealForm(props: PlanIdealFormProps) {\n const { idPerson } = props;\n const { initializeForm, handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [loading, setLoading] = useState(true);\n\n const name: string = props.name ? props.name : props.idPerson?.FirstName;\n const surname: string = props.surname ? props.surname : props.idPerson?.LastName;\n const email: string = props.email ? props.email : props.idPerson?.TXT_Email__c;\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { email, name, surname } });\n setLoading(false);\n }, []);\n\n //Logica eliminar o añadir PlanIdeal3Otros\n const { PlanIDeal3 } = formData.fields;\n const handlePlanIDeal3Otros = (PlanIDeal3: String) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (PlanIDeal3 === \"Otros\") {\n const stepIndex = getIndexInSteps(newSteps, 'PlanIDeal3Otros');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'PlanIDeal3Otros', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'PlanIDeal3Otros');\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n const steps: Steps[] = [\n ...questions.map((question, index) => {\n return {\n fields: ,\n screenIndex: question.screenIndex,\n name: question.questionName,\n showOverflow: true,\n }\n }),\n {\n title: <>¿Nos das más detalles?,\n fields: } />,\n screenIndex: PlanIdealSteps.PlanIDeal3Otros,\n name: 'PlanIDeal3Otros'\n },\n {\n fields: ,\n screenIndex: PlanIdealSteps.Confirmacion,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'adhoc-2023-plan_ideal',\n formType: 'otherform',\n pageCategory: 'Concurso'\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[COD_FORM_ID]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '16. OneShots',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORM_DETAIL]': 'Plan IDeal 2023',\n 'headers[DESC_FORMOBJECTIVE]': 'Concurso',\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DYShQAO',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_PLAN_IDEAL_2023',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_ID_CLIMAPRO]': idPerson ? idPerson.ID_Person_DIM_IMP__c : \"\",\n\n 'fields[DESC_AUXFIELD1]': fields.PlanIDeal1, // Primera Respuesta\n 'fields[DESC_AUXFIELD2]': fields.PlanIDeal2, // Segunda Respuesta\n 'fields[DESC_AUXFIELD3]': fields.PlanIDeal3, // Tercera Respuesta\n 'fields[M_OBSERVATION]': fields.PlanIDeal3 === 'Otros' ? fields.PlanIDeal3Otros : '', // Mensaje en caso otros en Tercera Respuesta\n\n 'fields[DESC_EMAIL_ADDRESS]': fields.email ? fields.email : idPerson? idPerson.TXT_Email__c : null,\n 'fields[DESC_FORM_VERSION]': fields.formName\n ? `vw-oneform-${fields.formName}-${process.env.VERSION}`\n : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_NAME]': fields.name ? fields.name : idPerson.FirstName,\n 'fields[DESC_SURNAME_1]': fields.surname ? fields.surname : idPerson.LastName,\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[NUM_CELLPHONE]': fields.telefono ? `${formatPrefix(fields.prefix)}${fields.telefono}` : idPerson.NUM_Phone_mobile__c,\n\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = async (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response.data?.content?.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackingManager.trackFormLoad();\n }\n }, [loading]);\n\n useEffect(() => {\n if (PlanIDeal3) handlePlanIDeal3Otros(PlanIDeal3);\n }, [PlanIDeal3]);\n\n return loading || !steps ? null : ;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n BreakpointWrapper,\n CTA,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport {\n PoliticaPrivacidad,\n LastNavigation,\n LabelInputWidthWrapper,\n Nombre,\n Apellido,\n Telefono,\n Email,\n LegalItem\n} from 'src/components';\nimport { IdPerson } from 'src/types';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { useStore } from 'react-redux';\nimport { Checks } from './Checks';\n\nconst GridWrapper = styled.div`\n width: 90%;\n display: grid;\n grid-template-rows: repeat(2, auto);\n grid-gap: 5%;\n height: 180px;\n @media all and (min-width: 1600px) {\n height: 200px;\n }\n`;\n\nconst GridItem = styled.div <{ row: string }>`\n grid-row: ${props => props.row};\n`;\n\nconst TextBlue = styled(Text)`\n color: #001e50;\n`;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n`;\n\nconst QuestionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n padding-top: 10%;\n @media all and (max-width: 1280px) {\n padding-top: 2%;\n }\n`;\ninterface ConfirmacionTestIDProps {\n idPerson: IdPerson;\n}\n\nconst legalesPlanIdeal = 'https://crm.volkswagen.es/email/2023/service/planideal/Sorteo%20Plan%20Ideal.pdf'\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\nexport const ConfirmationPlanIdeal = (props: ConfirmacionTestIDProps) => {\n const { idPerson } = props;\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const store = useStore();\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n <>\n \n \n \n Genial, ya está todo a punto. Confírmanos tus datos, para participar en el sorteo del planazo que tenemos para ti junto a uno de nuestros eléctricos 😉\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n\n \n \n {!idPerson &&\n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n }\n \n\n \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n \n\n \n \n \n\n {compartirError && Necesitamos esta información para seguir}\n \n \n \n \n \n );\n};\n","import React, { useEffect } from 'react';\nimport { OneFormState, Steps } from 'src/types';\nimport { OneElementTemplate, RenderController } from 'src/feature-app/Screen';\nimport {\n CTA,\n Container,\n ContainerPadding,\n Text,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function ThankYouPlanIdeal() {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n ¡Gracias por participar, {formInfo.formResponse.params.fields.DESC_NAME}!\n \n ),\n fields: (\n \n \n El día 7 de noviembre realizaremos el sorteo y comunicaremos el ganador/a, ¡te deseamos mucha suerte!\n \n\n \n Mientras tanto, puedes mantenerte al día de todas nuestras novedades sobre la movilidad eléctrica y resolver tus dudas aquí.\n \n\n \n Además, nuestros eléctricos son los nuevos protagonistas de un nuevo evento muy especial, el ID.Street, ¿Quieres saber más? Descúbrelo aquí.\n \n \n } />\n )\n };\n return (\n \n );\n}\n","import React from 'react';\nimport {\n Text,\n ThemeProvider,\n CTA,\n styled,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { TriggerProps, useFaContent } from 'src/feature-app';\nimport { DiaDeLaMadreForm } from 'src/forms/FormsAdhoc/DiaDeLaMadre';\n\nconst MarginWrapper = styled.div`\n width: var(--size-grid020);\n padding: var(--size-grid002) var(--size-grid001) var(--size-grid006) var(--size-grid003);\n display: flex;\n flex-direction: column;\n\n @media all and (min-width: 560px) {\n margin-top: 40px;\n width: var(--size-grid008);\n margin-bottom: var(--size-grid004);\n padding: 0;\n }\n @media all and (min-width: 960px) {\n margin-top: 64px;\n width: var(--size-grid007);\n margin-bottom: calc(var(--size-grid002) + 40px);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid006);\n margin-bottom: 0;\n }\n @media all and (min-width: 1600px) {\n margin-top: 80px;\n }\n @media all and (min-width: 1920px) {\n margin: 52px 0 72px var(--size-grid002);\n width: var(--size-grid005);\n }\n`;\n\nexport const CajaCTATrigger = (props: TriggerProps) => {\n const { setSelectedJourney, setCTALabel } = props;\n\n const faContent = useFaContent();\n\n const getCtaLabel = () => (faContent?.cta ? faContent.cta : 'Dale amor');\n\n return (\n \n \n
\n \n Solo falta la tuya\n \n
\n
\n \n A veces un {'\"'}te quiero{'\"'} no puede esperar. Díselo ahora para entrar en el{' '}\n sorteo* de un finde para dos personas en tu parador favorito al volante del nuevo ID.4\n , haciendo lo que más desea tu madre:{' '}pasar tiempo contigo.\n \n
\n
\n {\n setCTALabel(getCtaLabel());\n setSelectedJourney();\n }}\n >\n {getCtaLabel()}\n \n
\n
\n \n *Sorteo exclusivo para clientes de Volkswagen.\n \n
\n
\n
\n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TextAlignment,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions } from 'src/components';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect, useDispatch, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\n\nconst GeneralconfirmacionWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n\nconst WhiteLinkWrapper = styled.span`\n a {\n color: #ffffff;\n font-weight: bold;\n }\n`;\n\nfunction ConfirmacionDiaDeLaMadre() {\n const dispatch = useDispatch();\n\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n ¡Gracias! Unas últimas preguntas para tenerlo todo claro\n \n \n \n \n ¡Gracias! Unas últimas preguntas para tenerlo todo claro\n \n \n\n \n \n \n Enviando este formulario declaras estar informado de la{' '}\n \n \n política de privacidad.\n \n \n \n \n\n
\n \n
\n \n \n
\n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { reset } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmarCita(e: any) {\n if (tmk === null && tmk === null) {\n setTmkError(true);\n setLssiError(true);\n } else if (tmk === null) {\n setTmkError(true);\n } else if (lssi === null) {\n setLssiError(true);\n } else {\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n >\n Enviar\n \n \n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ConfirmacionDiaDeLaMadre);\n\nexport { ConnectedComponent as ConfirmacionDiaDeLaMadre };\n","import React, { useEffect, useState } from 'react';\nimport {\n Text,\n styled,\n ThemeProvider,\n BreakpointWrapper,\n Breakpoints,\n Container,\n ContainerPadding,\n} from '@volkswagen-onehub/components-core';\nimport { CajaCTATrigger } from '.';\nimport { CarouselComponent } from 'src/components';\nimport { TriggerProps } from 'src/feature-app';\nimport imageOne from 'src/forms/DiaDeLaMadre/assets/turismos_campana_dia-de-la-madre_USP-1_1280x853px.jpg';\nimport imageTwo from 'src/forms/DiaDeLaMadre/assets/turismos_campana_dia-de-la-madre_USP-2_1280x768px.jpg';\nimport imageThree from 'src/forms/DiaDeLaMadre/assets/turismos_campana_dia-de-la-madre_USP-3_1280x768px.jpg';\n\nconst BackgroundBlue = styled.div`\n margin-right: var(--size-grid002);\n margin-top: calc(var(--size-grid002) * -1);\n background-color: #001e50;\n width: var(--size-grid022);\n position: absolute;\n height: 100%;\n z-index: -1;\n\n @media all and (min-width: 560px) {\n width: var(--size-grid022);\n margin-left: var(--size-grid002);\n margin-right: 0;\n margin-top: 0;\n }\n @media all and (min-width: 960px) {\n margin-left: var(--size-grid003);\n margin-right: var(--size-grid001);\n width: var(--size-grid020);\n height: calc(100% - 24px);\n margin-top: 24px;\n }\n @media all and (min-width: 1280px) {\n margin-left: var(--size-grid004);\n margin-right: var(--size-grid002);\n width: var(--size-grid018);\n }\n @media all and (min-width: 1600px) {\n margin-top: 28px;\n height: calc(100% - 28px);\n }\n @media all and (min-width: 1920px) {\n margin-left: var(--size-grid004);\n margin-right: var(--size-grid009);\n width: var(--size-grid011);\n margin-top: 72px;\n margin-bottom: 72px;\n height: calc(100% - 72px);\n }\n`;\n\nconst ImageOneAndTextWrapper = styled.div`\n display: flex;\n margin-left: var(--size-grid001);\n\n @media all and (min-width: 960px) {\n margin-left: var(--size-grid002);\n }\n @media all and (min-width: 1280px) {\n margin-left: var(--size-grid003);\n }\n @media all and (min-width: 1920px) {\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n }\n\n .image-one {\n width: var(--size-grid013);\n margin-right: var(--size-grid001);\n height: fit-content;\n @media all and (min-width: 960px) {\n width: var(--size-grid012);\n margin-bottom: var(--size-grid002);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid011);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid010);\n margin-right: 0;\n margin-bottom: 0;\n }\n }\n`;\n\nconst ImageTwoWrapper = styled.div`\n margin-top: calc(var(--size-grid002) * -1);\n margin-left: var(--size-grid001);\n\n @media all and (min-width: 960px) {\n margin-left: var(--size-grid002);\n margin-top: calc((var(--size-grid001) + 20px) * -1);\n }\n @media all and (min-width: 1280px) {\n margin-left: var(--size-grid003);\n margin-top: calc(var(--size-grid001) * -1);\n }\n @media all and (min-width: 1920px) {\n margin-left: var(--size-grid001);\n margin-top: 0;\n }\n\n .image-two {\n width: var(--size-grid010);\n margin-right: var(--size-grid002);\n @media all and (min-width: 960px) {\n width: var(--size-grid009);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid008);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid007);\n margin-right: 0;\n }\n }\n`;\n\nconst ImageThreeWrapper = styled.div`\n margin-top: calc(var(--size-grid002) * -1);\n\n @media all and (min-width: 960px) {\n margin-top: calc((var(--size-grid001) + 20px) * -1);\n }\n @media all and (min-width: 1280px) {\n margin-top: calc(var(--size-grid001) * -1);\n }\n @media all and (min-width: 1920px) {\n margin-top: calc((var(--size-grid003) + 20px) * -1);\n margin-left: var(--size-grid012);\n }\n\n .image-three {\n width: var(--size-grid010);\n @media all and (min-width: 960px) {\n width: var(--size-grid009);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid008);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid007);\n }\n }\n`;\n\nconst BottomImagesWrapper = styled.div`\n width: 100%;\n display: flex;\n`;\n\nconst RelativeWrapper = styled.div`\n position: relative;\n\n @media all and (min-width: 1920px) {\n display: flex;\n }\n`;\n\nconst imageArray = [\n {\n src: 'imageOne',\n name: 'turismos_campana_dia-de-la-madre',\n className: 'image-one',\n },\n {\n src: 'imageTwo',\n name: 'turismos_campana_dia-de-la-madre',\n className: 'image-two',\n },\n {\n src: 'imageThree',\n name: 'turismos_campana_dia-de-la-madre',\n className: 'image-three',\n },\n];\n\nconst CarouselImageWrapper = styled.div`\n padding: 0 2.5%;\n width: 83.2vw;\n height: 83.2vw;\n overflow: hidden;\n\n .wrapper-image-one {\n padding-left: 6.32%;\n }\n\n .image-one {\n transform: scale(0.6) translate(-82%, -54%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-71%, -47%);\n }\n }\n .image-two {\n transform: scale(0.5) translate(-65%, -63%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-50%, -37%);\n }\n }\n .image-three {\n transform: scale(0.5) translate(-62%, -63%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-50%, -37%);\n }\n }\n`;\n\nconst MovileImageWrapper = styled.div`\n margin: 0 auto;\n width: var(--size-grid020);\n height: var(--size-grid020);\n overflow: hidden;\n margin-left: var(--size-grid002);\n .wrapper-image-one {\n }\n\n .image-one {\n transform: scale(0.6) translate(-82%, -54%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-71%, -47%);\n }\n }\n`;\n\nexport const DisplayImagenesYCTATrigger = (props: TriggerProps) => {\n const { setSelectedJourney, setCTALabel } = props;\n\n const renderList = (imageArray: Array) => {\n return imageArray.map((image, ind) => {\n return (\n \n
\n {image.name}\n
\n
\n );\n });\n };\n\n return (\n
\n \n \n
\n \n
\n
\n \n \n \n \n
\n {/* maquetación breakpoints a partir de 560*/}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n};\n","import React, { useState } from 'react';\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n styled,\n} from '@volkswagen-onehub/components-core';\nimport { TextAreaExtended } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\nconst ButtonWrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n`;\ninterface DetalleMotivoProps {\n hideCTA?: boolean;\n}\n\nexport function Mensaje(props: DetalleMotivoProps) {\n const { hideCTA } = props;\n const { register } = useFormContext();\n const { handleNextStep } = useOneFormContext();\n const [currentValue, setCurrentValue] = useState('');\n const trackingManager = useTrackingManager();\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n };\n\n return (\n \n handleChange(e)}\n appearance={'default'}\n isFloating={false}\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n placeholder=\"Por ejemplo: Feliz yo de tenerte, mamá <3. Un solo día se te queda corto. Te quiero hoy y los 364 restantes.\"\n rows={3}\n />\n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport {\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CSSTransition } from 'react-transition-group';\n\nconst CardsWrapper = styled.div`\n position: relative;\n height: calc((2 *var(--size-grid003)/1.04) + 89px);\n @media screen and (max-width: 780px) {\n height: calc((2 *var(--size-grid003)/1.04) + 140px);\n }\n @media screen and (max-width: 712px) {\n height: 369px;\n }\n @media screen and (max-width: 654px) {\n height: 410px;\n }\n @media screen and (max-width: 654px) {\n height: 388px;\n }\n @media screen and (max-width: 420px) {\n height: 375px;\n }\n`;\n\ntype CardProps = {\n bgColor: string,\n number: number,\n size?: number,\n position: {\n top?: string,\n right?: string,\n bottom?: string,\n left?: string\n }\n}\n\nconst Card = styled.article`\n position: absolute;\n width: var(--size-grid003);\n height: calc(var(--size-grid003)/1.04);\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n top: ${props => props.position.top ? `${props.position.top}` : 'unset'};\n right: ${props => props.position.right ? `${props.position.right}` : 'unset'};\n bottom: ${props => props.position.bottom ? `${props.position.bottom}` : 'unset'};\n left: ${props => props.position.left ? `${props.position.left}` : 'unset'};\n background: ${props => props.bgColor === 'dark' ? '#001E50' : '#00B0F0'};\n padding: 16px;\n display: none;\n &.card-enter {\n transform: scale(0);\n display: flex;\n }\n &.card-enter-active {\n transform: scale(1.1);\n transition: transform 150ms;\n display: flex;\n }\n &.card-enter-done {\n transform: scale(1);\n transition: transform 150ms;\n display: flex;\n }\n @media screen and (max-width: 1188px) {\n width: max-content;\n max-width: 165px;\n height: 131px;\n }\n @media screen and (max-width: 654px) {\n text-align: left;\n }\n @media screen and (max-width: 420px) {\n max-width: unset;\n width: ${\n props => props.number === 0 ? '120px'\n : props.number === 1 ? '120px'\n : props.number === 2 ? '164px'\n : props.number === 3 ? '144px'\n : '140px'\n};\n height: ${\n props => props.number === 0 ? '125px'\n : props.number === 1 ? '121px'\n : props.number === 2 ? '145px'\n : props.number === 3 ? '161px'\n : '140px'\n};\n }\n`;\n\nconst mensajes = [\n {\n bgColor: 'light',\n text: 'Mamá, éste sí que es nuestro año. ¡Te quiero!'\n },\n {\n bgColor: 'dark',\n text: 'Mamá, ¿te ape un plan juntos, solos tú y yo?'\n },\n {\n bgColor: 'light',\n text: '¡Felicidades, Carmen! Prepárate, porque se vienen cositas hihi'\n },\n {\n bgColor: 'dark',\n text: 'Madre no hay más que una, y en eso eres la mejor del mundo <3'\n },\n {\n bgColor: 'dark',\n text: 'Feliz día a ti, mami. ¡Eres mi mayor referente!'},\n];\n\nconst mensajesPosition = {\n default: [\n { name: 'default'},\n {\n top: '25%',\n right: '22%',\n },\n {\n top: '45%',\n left: '22%',\n },\n {\n top: '10.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b1188: [\n { name: 'b1188'},\n {\n top: '25%',\n right: '22%',\n },\n {\n top: '45%',\n left: '7%',\n },\n {\n top: '11.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b960: [\n { name: 'b960'},\n {\n top: '25%',\n right: '25%',\n },\n {\n top: '47%',\n left: '10%',\n },\n {\n top: '11.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b654: [\n { name: 'b654'},\n {\n top: '25%',\n right: '25%',\n },\n {\n top: '37%',\n left: '30%',\n },\n {\n top: '16.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b420: [\n { name: 'b654'},\n {\n top: '25%',\n right: '14%',\n },\n {\n top: '34%',\n left: '24%',\n },\n {\n top: '6.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ]\n};\n\nexport function MensajesCards(props: {showMessages: boolean}) {\n const { showMessages } = props;\n const [ showCard1, setShowCard1 ] = useState(false);\n const [ showCard2, setShowCard2 ] = useState(false);\n const [ showCard3, setShowCard3 ] = useState(false);\n const [ showCard4, setShowCard4 ] = useState(false);\n const [ showCard5, setShowCard5 ] = useState(false);\n\n const [positionsArray, setPositionsArray] = useState(mensajesPosition.default);\n\n function activateTriggers(num: number) {\n switch(num) {\n case 2:\n setTimeout(() => {\n setShowCard2(true);\n activateTriggers(3);\n }, 450);\n break;\n case 3:\n setTimeout(() => {\n setShowCard3(true);\n activateTriggers(4);\n }, 450);\n break;\n case 4:\n setTimeout(() => {\n setShowCard4(true);\n activateTriggers(5);\n }, 450);\n break;\n case 5:\n setTimeout(() => {\n setShowCard5(true);\n }, 450);\n break;\n default:\n break;\n }\n }\n\n useEffect(() => {\n if (showMessages) {\n setShowCard1(true);\n activateTriggers(2);\n } else {\n setShowCard1(false);\n setShowCard2(false);\n setShowCard3(false);\n setShowCard4(false);\n setShowCard5(false);\n }\n }, [showMessages]);\n\n useEffect(() => {\n function changeCardsPosition(bp: string) {\n if (bp === '959' && positionsArray[0].name !== 'b960') {\n setPositionsArray(mensajesPosition.b960);\n } else if (bp === '654' && positionsArray[0].name !== 'b654') {\n setPositionsArray(mensajesPosition.b654);\n } else if (bp === '420' && positionsArray[0].name !== 'b420') {\n setPositionsArray(mensajesPosition.b420);\n } else if (bp === '1188' && positionsArray[0].name !== 'b1188') {\n setPositionsArray(mensajesPosition.b1188);\n } else {\n setPositionsArray(mensajesPosition.default);\n }\n }\n\n const mediaQueryListObject1188 = window.matchMedia('(max-width: 1188px)');\n try {\n mediaQueryListObject1188.addEventListener('change', () => changeCardsPosition('1188'));\n } catch (e) {\n try {\n mediaQueryListObject1188.addListener(() => changeCardsPosition('1188'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n const mediaQueryListObject959 = window.matchMedia('(max-width: 959px)');\n try {\n mediaQueryListObject959.addEventListener('change', () => changeCardsPosition('959'));\n } catch (e) {\n try {\n mediaQueryListObject959.addListener(() => changeCardsPosition('959'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n const mediaQueryListObject654 = window.matchMedia('(max-width: 654px)');\n try {\n mediaQueryListObject654.addEventListener('change', () => changeCardsPosition('654'));\n } catch (e) {\n try {\n mediaQueryListObject654.addListener(() => changeCardsPosition('654'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n const mediaQueryListObject420 = window.matchMedia('(max-width: 420px)');\n try {\n mediaQueryListObject420.addEventListener('change', () => changeCardsPosition('420'));\n } catch (e) {\n try {\n mediaQueryListObject420.addListener(() => changeCardsPosition('420'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n if (window.matchMedia('(max-width:420px)').matches) {\n setPositionsArray(mensajesPosition.b420);\n } else if (window.matchMedia('(max-width:654px)').matches) {\n setPositionsArray(mensajesPosition.b654);\n } else if (window.matchMedia('(max-width:959px)').matches) {\n setPositionsArray(mensajesPosition.b960);\n } else if (window.matchMedia('(max-width:1188px)').matches) {\n setPositionsArray(mensajesPosition.b1188);\n }\n\n return () => {\n mediaQueryListObject1188.removeEventListener('change', () => changeCardsPosition('1188'));\n mediaQueryListObject959.removeEventListener('change', () => changeCardsPosition('959'));\n mediaQueryListObject654.removeEventListener('change', () => changeCardsPosition('654'));\n mediaQueryListObject420.removeEventListener('change', () => changeCardsPosition('420'));\n };\n }, []);\n\n return (\n \n \n {mensajes.map((mensaje, i) => {\n return (\n \n \n {mensaje.text}\n \n \n );\n })}\n \n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport {\n Breakpoints,\n BreakpointWrapper,\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { MensajesCards } from '.';\nimport { keyframes } from 'styled-components';\nimport { useFaContent } from 'src/feature-app';\n\nconst spinnerKeyframe = keyframes`\n 0% {\n stroke-dasharray: 0 100;\n }\n`;\n\nconst Wrapper = styled.div`\n position: relative;\n margin-left: var(--size-grid003);\n margin-right: var(--size-grid003);\n width: var(--size-grid018);\n display: flex;\n justify-content: space-between;\n .cards {\n width: var(--size-grid009);\n @media screen and (max-width: 990px) {\n width: var(--size-grid011);\n }\n @media screen and (max-width: 959px) {\n margin-left: auto;\n width: 56%;\n }\n @media screen and (max-width: 910px) {\n margin-left: auto;\n width: 60%;\n }\n @media screen and (max-width: 840px) {\n margin-left: auto;\n width: 63%;\n }\n @media screen and (max-width: 780px) {\n margin-left: auto;\n width: 70%;\n }\n @media screen and (max-width: 712px) {\n margin-left: auto;\n width: 85%;\n }\n @media screen and (max-width: 654px) {\n width: 100%;\n }\n }\n .info {\n width: var(--size-grid007);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n @media screen and (max-width: 959px) {\n width: 80%;\n }\n @media screen and (max-width: 560px) {\n margin-bottom: 10px;\n width: 90%;\n }\n #number-messages {\n display: inline-block;\n min-width: 100px;\n }\n }\n @media screen and (max-width: 990px) {\n margin-left: var(--size-grid002);\n margin-right: var(--size-grid002);\n width: var(--size-grid020);\n }\n @media screen and (max-width: 959px) {\n flex-wrap: wrap-reverse;\n }\n`;\n\nconst Spinner = styled.div`\n width: 200px;\n height: 200px;\n margin-left: auto;\n margin-bottom: 17px;\n border-radius: 100%;\n position: relative;\n .dashed-circumference {\n position: absolute;\n top: 5.5%;\n left: 4.5%;\n z-index: -1;\n width: 90%;\n height: 90%;\n border-radius: 100%;\n border: 1px dotted #001E50;\n }\n .percentage-bar {\n .circle {\n stroke: #071e50;\n fill: none;\n stroke-width: 0.75;\n animation: ${spinnerKeyframe} 3.5s ease-out forwards;\n }\n }\n .percentage-text {\n position: absolute;\n top: 50%;\n right: 50%;\n transform: translate3d(50%, -50%, 0);\n #percentage-messages {\n width: 28px;\n display: inline-block;\n text-align: right;\n @media screen and (min-width: 960px) {\n width: 40px;\n }\n @media screen and (min-width: 1600px) {\n width: 56px;\n }\n }\n }\n @media screen and (max-width: 959px) {\n width: 150px;\n height: 150px;\n position: absolute;\n margin: 0;\n bottom: 0;\n left: 0;\n }\n @media screen and (max-width: 559px) {\n width: 123px;\n height: 123px;\n }\n`;\n\nfunction animateNumber(id: string, start: number, end: number, duration: number) {\n const range = end - start;\n let current = start;\n const increment = id === 'number-messages' ? 2 : 1;\n const stepTime = Math.abs(Math.floor(duration / range));\n let obj = document.getElementById(id);\n const timer = setInterval(function() {\n current += increment;\n if (id === 'percentage-messages' && current < 10) {\n obj.innerHTML = `${current}`;\n } else {\n obj.innerHTML = current.toString();\n }\n if (current === end) {\n clearInterval(timer);\n }\n }, stepTime);\n}\n\nexport function SectionMensajes() {\n const [ showMessages, setShowMessages ] = useState(false);\n const [ madres, setMadres ] = useState(1000);\n const [ porcentaje, setPorcentaje ] = useState(25);\n const faContent = useFaContent();\n\n useEffect(() => {\n if (faContent.madres) setMadres(parseInt(faContent.madres));\n if (faContent.porcentaje) setPorcentaje(parseInt(faContent.porcentaje));\n }, [faContent]);\n\n useEffect(() => {\n if (showMessages) {\n animateNumber('number-messages', 10, madres, 4000);\n animateNumber('percentage-messages', 0, porcentaje, 3000);\n }\n }, [showMessages]);\n\n useEffect(() => {\n const options = { threshold: 0.8 };\n const element = document.querySelector('#mensajes');\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.intersectionRatio > 0 && !showMessages) {\n setShowMessages(true);\n }\n });\n }, options);\n observer.observe(element);\n }, []);\n\n return (\n \n
\n \n
\n
\n \n \n Más de 10 madres han recibido\n {' '}\n su carga de amor\n \n \n {showMessages ? (\n \n
\n \n \n \n
\n 0%\n
\n \n ) : null}\n \n \n
\n \n {showMessages ? (\n \n
\n \n \n \n
\n 0%\n
\n \n ) : null}\n \n \n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nconst Svg = styled.svg`\n width: 100%;\n height: auto;\n fill: #ffffff;\n`;\nconst SvgWrapper = styled.div`\n width: 44px;\n height: 44px;\n`;\n\nexport const FacebookSvg = () => (\n \n \n 631056F4-6CA7-4833-8173-D917CE902E32\n Created with sketchtool.\n \n \n \n \n \n \n \n \n);\n\nexport const TwitterSvg = () => (\n \n \n 13918EB6-6D62-43B8-99A2-2965833D2774\n Created with sketchtool.\n \n \n \n \n \n \n \n \n);\n\nexport const WhatsappSvg = () => (\n \n \n ic_whatsapp\n Created with Sketch.\n \n \n \n \n \n \n);\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n Layout,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useFeatureAppConfig, useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\nimport { FacebookSvg, TwitterSvg, WhatsappSvg } from '../assets/Svgs';\n\ninterface FieldProps {\n copyBook?: string;\n cliente: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nconst Anchor = styled.a`\n outline: none;\n color: none;\n`;\n\nfunction Fields() {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const config = useFeatureAppConfig();\n\n return (\n \n
\n \n \n {formData.fields.cliente === 'true'\n ? 'Tu madre recibirá tu “te quiero” en su bandeja de entrada y, quizá, también un fin de semana contigo al volante del Nuevo ID.4. ¡Mucha suerte! '\n : 'Tu madre está a punto de recibir tu “te quiero” en su bandeja de entrada. ¡Le alegrarás el día! '}\n \n \n ¿Conoces a más conductores/as Volkswagen? Comparte esta página para que ninguna madre se quede sin su “te\n quiero”.\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouDiaDeLaMadre(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const renderTitle = () => {\n return (\n <>\n \n \n Seguro que le encanta tu mensaje\n \n \n \n \n Seguro que le encanta tu mensaje\n \n \n \n );\n };\n\n const screen: Steps = {\n title: <>{renderTitle()},\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouDiaDeLaMadre);\n\nexport { ConnectedComponent as ThankYouDiaDeLaMadre };\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect, useState } from 'react';\nimport { Text, styled, ThemeProvider } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { \n Email, \n PantallaNombreApellido, \n Telefono, \n MultipleCTASelection, \n YaTienesVolkswagen, \n NoCliente,\n ContactInfoWrapper \n} from 'src/components';\nimport {\n Mensaje,\n ConfirmacionDiaDeLaMadre,\n ThankYouDiaDeLaMadre\n} from './componentsAndViews';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { FormController, removeWhiteSpace, useFeatureAppConfig, useOneFormContext,formatPrefix } from 'src/feature-app';\nimport { formDataBuilder } from '../../format-fields';\n\nconst CTAsTipoVehiculo = [\n { label: 'Un eléctrico', value: 'electrico' },\n { label: 'Un híbrido', value: 'hibrido' },\n { label: 'Uno de combustión', value: 'combustion' },\n { label: 'Ninguno, de momento', value: 'ninguno' },\n];\n\nconst getContactoTitle = (cliente: string) => {\n if (cliente === 'true') {\n return (\n <>\n ¡Listo! ¿Cómo podemos contactar contigo en caso de ganar el fin de semana?\n \n );\n } else {\n return (\n <>\n ¿De parte de quién se lo enviamos?\n \n );\n }\n};\n\nexport enum DiaDeLaMadreSteps {\n NombreApellido,\n Cliente,\n NoCliente,\n Mensaje,\n EmailTelefono,\n MotherEmail,\n TipoVehiculo,\n Confirmacion,\n}\n\nexport function DiaDeLaMadreForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const { cliente } = useSelector((state: OneFormState) => state.formData.fields);\n const { formData } = useSelector((state: OneFormState) => state);\n\n const [notAClient, setNotAClient] = useState(true);\n\n const handleNotAClient = (cliente: string) => {\n let newSteps = [...steps];\n\n if (cliente === 'false') {\n newSteps = [...steps];\n } else {\n newSteps.splice(DiaDeLaMadreSteps.NoCliente, 1);\n setNotAClient(false);\n }\n\n const newStepsWithIndex = newSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Para poder enviar tu mensaje, necesitamos saber quién eres\n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n Ya tienes un Volkswagen, \n \n ¿verdad? \n 1\n \n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.Cliente,\n name: 'Cliente',\n outputs: ['cliente'],\n outputsText: ['cliente'],\n },\n {\n title: (\n <>\n Este sorteo es solo para clientes Volkswagen \n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.NoCliente,\n name: 'NoCliente',\n outputs: ['noCliente'],\n outputsText: ['noCliente'],\n },\n {\n title: (\n <>\n Pues vayamos a lo que importa. ¿Qué te gustaría{' '}\n \n decirle a tu{' '}\n \n madre?*\n \n \n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.Mensaje,\n name: 'Mensaje',\n outputs: ['messageText'],\n outputsText: ['messageText'],\n },\n {\n title: getContactoTitle(cliente),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: DiaDeLaMadreSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n Y, ¿a qué email le hacemos llegar la sorpresa a tu madre?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: DiaDeLaMadreSteps.MotherEmail,\n name: 'MotherEmail',\n outputs: ['otherEmail'],\n outputsText: ['otherEmail'],\n },\n {\n title: (\n <>\n Antes de terminar, tenemos curiosidad: ¿qué tipo de coche te ves{' '}\n \n conduciendo{' '}\n \n próximamente?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: DiaDeLaMadreSteps.TipoVehiculo,\n name: 'TipoVehiculo',\n outputs: ['tipoVehiculo'],\n outputsText: ['tipoVehiculo'],\n },\n {\n fields: ,\n screenIndex: DiaDeLaMadreSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'adhoc-2021-diamadre', formType: 'otherform', pageCategory: 'Concurso' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[COD_FORM_ID]': 'vw-oneform-adhoc_diamadre_2021',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': 'B16 One Shot',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': 'Participación Concurso',\n 'headers[DESC_FORM_DETAIL]': 'Dia Madre 2021', //Este debería pasarse a variable, aunque actualmente siempre sea ID\n 'headers[DESC_ID_CAMPAIGN]': '7011n000000Jo8rAAC',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_DIAMADRE',\n\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_GDPR_ADAPTED]': true,\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[NUM_CELLPHONE]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[DESC_AUXFIELD1]': fields.messageText,\n 'fields[DESC_AUXFIELD2]': removeWhiteSpace(fields.otherEmail),\n 'fields[DESC_AUXFIELD3]': fields.tipoVehiculo,\n 'fields[DESC_AUXFIELD4]': fields.cliente,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-adhoc_diamadre_2021-${process.env.VERSION}`,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n useEffect(() => {\n if (cliente) handleNotAClient(cliente);\n }, [cliente]);\n\n return (\n \n \n \n );\n}\n","import React from 'react';\nimport { \n Layout,\n Breakpoints,\n CTA,\n Text, \n Container, \n ContainerPadding,\n ThemeProvider,\n styled, \n WhiteSpace,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\nconst videoURL = 'https://cdn.volkswagen.es/repository/app/vw-oneform/assets/videos/video_eurocopa.mp4';\nconst Video = styled.video`\n background: linear-gradient(321.56deg, #00437A 0%, #00376C 52.11%, #001E50 100%);\n width: auto;\n height: 98vh;\n\n @media all and (min-width: 960px) {\n width: 100vw;\n height: auto;\n }\n`;\nconst HeaderContentPosition = styled.div`\n position: absolute;\n z-index: 1;\n top : 5%;\n @media all and (min-width: 960px) {\n top : 10%;\n }\n @media all and (min-width: 1280px) {\n top : 15%;\n }\n`;\n\nexport const Portada = () => {\n const trackingManager = useTrackingManager();\n const { nextStep } = useOneFormContext();\n return (\n
\n
\n
\n \n \n \n \n Hay tantos tipos de jugadores{' '}como de conductores.{' '}¿Cuál eres tú? \n \n \n \n Nos encantaría que participaras en este sorteo exclusivo para clientes ID. Compártenos tu experiencia.\n \n \n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n Comenzar\n \n \n \n \n \n
\n );\n};\n","import React, { useState, useEffect } from 'react';\nimport { TextAreaExtended } from 'src/components/inputs';\nimport {\n Text,\n Container,\n ContainerPadding,\n ContainerGutter,\n TextAlignment,\n styled,\n TokenTextAppearance,\n TokenTextColor\n} from '@volkswagen-onehub/components-core';\nimport { useFormContext } from 'react-hook-form';\n\nexport const Experiencia = () => {\n const [currentValue, setCurrentValue] = useState('');\n const { register } = useFormContext();\n\n const adMaxLength = () => {\n const aux = document.getElementsByTagName('textarea');\n aux[0].setAttribute('maxlength', '350');\n };\n\n useEffect(() => {\n adMaxLength();\n }, []);\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n };\n return (\n \n handleChange(e)}\n appearance={'default'}\n isFloating\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n maxLength={350}\n />\n\n \n 1Tu{' '}testimonio es muy interesante por lo que en un futuro lo compartiremos, junto con tu nombre, en nuestra web.\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport {\n Text,\n Container,\n ContainerPadding,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {\n Telefono,\n MultipleCTASelection,\n DetalleMotivo,\n MultipleOptionCTAs,\n Email,\n PantallaNombreApellido,\n ContactInfoWrapper\n} from 'src/components';\nimport { Portada, Experiencia } from './ComponentsAndViews';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, IdPerson, IdOrder } from 'src/types';\nimport {\n FormController,\n removeWhiteSpace,\n useFeatureAppConfig,\n useFeatureServices,\n useGetWaidLitera,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { ThankYouEurocopa, ConfirmacionEurocopa } from './';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { createPincodeEntity } from 'src/forms/dps-utils';\nimport { GenericErrorLayer } from 'src/components/layers';\n\nexport const CTAsSiNoNsNc = [\n { label: 'Sí, sin dudarlo', value: 'true' },\n { label: 'No lo recomiendo', value: 'false' },\n { label: 'Aún no lo sé, es pronto', value: 'NS/NC' },\n];\nexport const CTASCarga = [\n { label: 'En casa', value: 'casa' },\n { label: 'En el trabajo', value: 'trabajo' },\n { label: 'En ruta', value: 'ruta' },\n { label: 'Otro', value: 'otro' },\n];\nexport const CTAsConduccion = [\n { label: 'Sí, siempre utilizo mi vehículo eléctrico', value: 'electrico' },\n { label: 'Lo combino con otro vehículo no eléctrico', value: 'combinado' },\n];\nexport const CTAsGusta = [\n { label: 'La innovación', value: 'innovacion' },\n { label: 'La velocidad de la carga', value: 'velocidad carga' },\n { label: 'La practicidad para el día a día', value: 'practicidad' },\n { label: 'Que se adapta a mis escapadas/planes', value: 'adaptacion' },\n { label: 'Lo chulísimo que es', value: 'chulisimo' },\n { label: 'El ahorro económico', value: 'ahorro' },\n { label: 'Otro', value: 'otro' },\n];\n\nconst getExperienciaTitle = (entregado: string) => {\n if (entregado === 'true') {\n return (\n <>\n ¿Podrías compartir tu experiencia{' '}\n \n desde que fichaste a tu{' '}\n \n eléctrico?*\n \n \n \n \n Un discurso motivador antes de un partido importante{' '}\n puede marcar la diferencia, del mismo modo que tu respuesta1 aquí es clave para\n que otros se sumen a la movilidad eléctrica. ¡Nos gustaría compartirla!\n \n \n \n );\n } else {\n return (\n <>\n ¿Qué fue lo que más te motivó{' '}\n \n para fichar a tu nuevo{' '}\n \n eléctrico?*\n \n \n \n \n Un discurso motivador antes de un partido importante{' '}\n puede marcar la diferencia, del mismo modo que tu respuesta1 aquí es clave para\n que otros se sumen a la movilidad eléctrica. ¡Nos gustaría compartirla!\n \n \n \n );\n }\n};\nconst getExperienciaAlternateTitle = (entregado: string) => {\n if (entregado === 'true') {\n return (\n <>\n ¿Podrías compartir tu experiencia{' '}\n \n desde que fichaste a tu{' '}\n \n eléctrico?*\n \n \n \n );\n } else {\n return (\n <>\n ¿Qué fue lo que más te motivó{' '}\n \n para fichar a tu nuevo{' '}\n \n eléctrico?*\n \n \n \n );\n }\n};\n\nexport enum EurocopaSteps {\n Trigger,\n Carga,\n MasInformacion,\n Coduccion,\n MultipleChoice,\n MultipleChoiceDetalle,\n Recomendacion,\n Experiencia,\n NombreApellido,\n EmailTelefono,\n Confirmacion,\n}\n\nconst getIndexInSteps = (steps: Steps[], stepName: string) => steps.findIndex((step) => step.name === stepName);\n\nexport function EurocopaForm() {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const [formError, setFormError] = useState(false);\n const [formCaducado, setFormCaducado] = useState(false);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const { formData } = useSelector((state: OneFormState) => state);\n const [idOrder, setIdOrder] = useState(false);\n const { carga, multipleChoice } = formData.fields;\n const trackingManager = useTrackingManager();\n const waid = useGetWaidLitera();\n\n const updateExperienciaStep = (conCoche: string, auxSteps?: Steps[]) => {\n const title = getExperienciaTitle(conCoche);\n const alternateTitle = getExperienciaAlternateTitle(conCoche);\n\n let newSteps = auxSteps ? auxSteps : [...steps];\n\n const experienciIndex = newSteps.findIndex((step: Steps) => step.name === 'Experiencia');\n\n newSteps[experienciIndex].title = title;\n newSteps[experienciIndex].alternateTitle = alternateTitle;\n\n dispatch({ type: 'UPDATE_STEPS', payload: newSteps });\n };\n\n const handleDetalle = (field: string, fieldName: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (field === 'otro' || field.includes('otro')) {\n const detalleIndex = getIndexInSteps(newSteps, fieldName);\n\n if (detalleIndex === -1) {\n // En caso de haber eliminado el step hay que volver a añadirlo de nuevo y llamar a la función handleNextStep ya que\n // ésta se llama antes de volver a añadir el mapa y realiza el cálculo con los steps sin actualizar.\n const detalleStepIndex = getIndexInSteps(steps, fieldName);\n newSteps.splice(screenIndex + 1, 0, steps[detalleStepIndex]);\n\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n const detalleIndex = getIndexInSteps(newSteps, fieldName);\n newSteps.splice(detalleIndex, 1);\n }\n updateExperienciaStep('true', newSteps);\n\n const newStepsWithIndex = newSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n updateSteps(newStepsWithIndex);\n };\n\n const updateSteps = (steps: Steps[]) => {\n dispatch({ type: 'UPDATE_STEPS', payload: steps });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n };\n\n const steps: Steps[] = [\n {\n fields: ,\n screenIndex: EurocopaSteps.Trigger,\n name: 'Trigger',\n outputs: ['trigger'],\n outputsText: ['trigger'],\n },\n {\n title: (\n <>\n ¿Dónde sueles cargar las pilas de tu{' '}\n \n ID.?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: EurocopaSteps.Carga,\n name: 'Carga',\n outputs: ['carga'],\n outputsText: ['carga'],\n },\n {\n title: (\n <>\n ¿Cuál?\n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: EurocopaSteps.MasInformacion,\n name: 'masInformacion',\n outputs: ['masInformacion'],\n outputsText: ['masInformacion'],\n },\n {\n title: (\n <>\n ¿Es tu ID. tu{' '}\n \n vehículo{' '}\n \n titular?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: EurocopaSteps.Coduccion,\n name: 'Conduccion',\n outputs: ['conduccion'],\n outputsText: ['conduccion'],\n },\n {\n title: (\n <>\n ¿Qué dirías que supone un golazo por parte de tu{' '}\n \n ID.?*\n \n \n \n Puedes elegir más de una respuesta.\n \n \n \n ),\n alternateTitle: (\n <>\n ¿Qué dirías que supone un golazo por parte de tu{' '}\n \n ID.?*\n \n \n ),\n fields: (\n } />\n ),\n screenIndex: EurocopaSteps.MultipleChoice,\n name: 'MultipleChoice',\n outputs: ['multipleChoice'],\n outputsText: ['multipleChoice'],\n },\n {\n title: (\n <>\n Cuéntanos más\n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: EurocopaSteps.MultipleChoiceDetalle,\n name: 'MultipleChoiceDetalle',\n outputs: ['multipleChoiceDetalle'],\n outputsText: ['multipleChoiceDetalle'],\n },\n {\n title: (\n <>\n ¿Recomendarías a tus amigos o conocidos{' '}\n \n que se pasen al equipo{' '}\n \n eléctrico?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: EurocopaSteps.Recomendacion,\n name: 'Recomendacion',\n outputs: ['recomendacion'],\n outputsText: ['recomendacion'],\n },\n {\n title: <>, //Se actualiza en updateExperienciaStep\n alternateTitle: <>, //Se actualiza en updateExperienciaStep\n fields: } />,\n screenIndex: EurocopaSteps.Experiencia,\n name: 'Experiencia',\n outputs: ['experiencia'],\n outputsText: ['experiencia'],\n },\n {\n title: (\n <>\n Para poder entrar en el sorteo, necesitamos confirmar quién eres\n \n ),\n fields: } />,\n screenIndex: EurocopaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n Y confirmar los datos para poder contactar contigo\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: EurocopaSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n screenIndex: EurocopaSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const getFormInfo = (\n idOrder: IdOrder\n ): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n let newSteps = [...steps];\n\n if (idOrder?.SLI_State__c && Number(idOrder.SLI_State__c) < 70) {\n updateExperienciaStep('false');\n } else if (!idOrder?.SLI_State__c || (idOrder?.SLI_State__c && Number(idOrder.SLI_State__c) < 70)) {\n updateExperienciaStep('true');\n }\n\n if (idOrder?.SLI_State__c && Number(idOrder.SLI_State__c) < 70) {\n const indexFinalCorte = newSteps.findIndex((step) => step.name === 'Recomendacion');\n newSteps.splice(1, indexFinalCorte);\n setIdOrder(true);\n newSteps = newSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n }\n\n return {\n firstStep: newSteps[0],\n lastStep: newSteps[newSteps.length - 1],\n stepsHistory: [0],\n numberOfScreens: newSteps.length,\n newSteps,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[PINCODE]': fields.pincode,\n 'headers[DESC_ID_CLIMAPRO]': fields.idClimapro,\n\n 'headers[COD_FORM_ID]': 'vw-oneform-adhoc_2021_eurocopa',\n 'headers[DESC_WAID_LITERA]': 'Sorteo Eurocopa 2021',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '2. VW Sponsorship',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': 'Concurso',\n 'headers[DESC_FORM_DETAIL]': 'Sorteo Eurocopa 2021',\n 'headers[DESC_ID_CAMPAIGN]': '7011n000000JooQAAS',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_CONCURSO_EUROCOPA', //CONSULTAR\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[TC]': tc,\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[NUM_CELLPHONE]': `${fields.prefix}${fields.cellphone}`,\n 'fields[DESC_AUXFIELD1]': fields.experiencia,\n 'fields[DESC_AUXFIELD2]': fields.enCurso,\n 'fields[DESC_AUXFIELD3]': fields.carga,\n 'fields[DESC_AUXFIELD4]': fields.masInformacion,\n 'fields[DESC_AUXFIELD5]': fields.conduccion,\n 'fields[DESC_AUXFIELD6]': fields.multipleChoice,\n 'fields[DESC_AUXFIELD7]': fields.multipleChoiceDetalle,\n 'fields[DESC_AUXFIELD8]': fields.recomendacion,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-adhoc_2021_eurocopa-${process.env.VERSION}`,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n const idPerson = createPincodeEntity(dpsData, 'PERSON') as IdPerson;\n const idOrder = createPincodeEntity(dpsData, 'ORDER') as IdOrder;\n\n const enCursoAux = idOrder && parseFloat(idOrder.SLI_State__c) < 70 ? 'true' : 'false';\n\n if (!idPerson) {\n if (dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n console.log(dpsData);\n setFormError(true);\n } else if (dpsData.pincode.pincodeUsed) {\n setFormCaducado(true);\n }\n }\n\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo(idOrder);\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'main',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n COD_FORM_ID: 'vw-oneform-adhoc_2021_eurocopa',\n DESC_WAID_LITERA: waid ? waid : 'Sorteo Eurocopa 2021',\n DESC_CAMPAIGNBLOCK: '2. VW Sponsorship',\n DESC_FORMOBJECTIVE: 'Concurso',\n DESC_FORM_DETAIL: 'Sorteo Eurocopa 2021',\n DESC_ID_CAMPAIGN: '7011n000000JooQAAS',\n DESC_TOKEN: 'VW_DDB_FRM_CONCURSO_EUROCOPA', //CONSULTAR\n },\n\n fields: {\n name: idPerson?.FirstName,\n surname: idPerson?.LastName,\n secondSurname: idPerson?.TXT_2_Surname__c,\n email: idPerson?.TXT_Email__c,\n cellphone: idPerson?.NUM_Phone_mobile__c,\n pincode: dpsData.pincode?.pincodeResponse?.params?.pincode,\n enCurso: enCursoAux,\n idClimapro: idPerson?.ID_Person_DIM_IMP__c,\n formName: 'adhoc-2021-eurocopa',\n formType: 'otherform',\n pageCategory: 'Concurso',\n }, // Analítica\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackingManager.trackFormLoad();\n\n setLoading(false);\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {},\n error(err) {\n console.error(err);\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n useEffect(() => {\n if (!idOrder) {\n if (carga) {\n handleDetalle(carga, 'masInformacion');\n }\n }\n }, [carga]);\n useEffect(() => {\n if (!idOrder) {\n if (multipleChoice) {\n handleDetalle(multipleChoice, 'MultipleChoiceDetalle');\n }\n }\n }, [multipleChoice]);\n\n return (\n <>\n {loading ? null : (\n <>\n {formError ? (\n \n ) : formCaducado ? (\n \n ) : (\n \n )}\n \n )}\n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\n\ninterface FieldProps {\n copyBook?: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nfunction Fields(props: FieldProps) {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n\n return (\n \n
\n \n \n Pronto sabrás si eres una de las personas afortunadas. Mientras tanto, ¡sigue disfrutando de la movilidad eléctrica!\n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouEurocopa(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n {' '}\n ¡Muchas gracias por participar!\n \n ),\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouEurocopa);\n\nexport { ConnectedComponent as ThankYouEurocopa };\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TextAlignment,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions } from 'src/components';\nimport {\n CloseHandleV2,\n FocusLayerSizeV2,\n LayerHandleV2,\n LayerManagerV2\n} from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect, useDispatch, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\n\nconst GeneralconfirmacionWrapper = styled.div`\n\n`;\n\nconst WhiteLinkWrapper = styled.span`\n a {\n font-weight: bold;\n }\n`;\n\nfunction ConfirmacionEurocopa() {\n const dispatch = useDispatch();\n\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n ¡Gracias! Unas{' '}últimas preguntas{' '} para tenerlo todo claro\n \n \n \n \n Enviando este formulario declaras estar informado de la{' '}\n \n \n política de privacidad.\n \n \n \n \n\n \n \n
\n \n \n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { reset } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmarCita(e: any) {\n if (tmk === null && tmk === null) {\n setTmkError(true);\n setLssiError(true);\n } else if (tmk === null) {\n setTmkError(true);\n } else if (lssi === null) {\n setLssiError(true);\n } else {\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n >\n Enviar\n \n \n \n );\n}\n\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ConfirmacionEurocopa);\n\nexport { ConnectedComponent as ConfirmacionEurocopa };\n","import {\n BreakpointWrapper,\n Breakpoints,\n styled,\n Text,\n TextAlignment,\n ThemeProvider,\n Container,\n ContainerPadding,\n CTA,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen } from '../../CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { OneFormState } from 'src/types';\n\ninterface lastNavigationProps {\n refProps?: any;\n formMin?: any;\n setShowError?: any;\n}\n\nconst NavigationWrapper = styled.div`\n display: block;\n padding-top: 44px;\n`;\n\nexport const LastNavigationFidelizacion = (props: lastNavigationProps) => {\n const { setShowError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { reset, getValues, triggerValidation } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const [isValid, setIsValid] = useState(false);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleConfirmarEnvio = async (e: any) => {\n const values = getValues();\n const isValid = await triggerValidation();\n setShowError(false);\n\n if (isValid) {\n setShowError(false);\n\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n } else {\n setShowError(true);\n }\n };\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n if (fields.otrosServicios) setIsValid(true);\n }, [fields]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n \n \n \n Enviando este formulario declaras estar informado de la{' '}\n \n política de privacidad.\n \n \n \n\n \n \n \n {\n e.preventDefault();\n handleConfirmarEnvio(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n \n \n {\n e.preventDefault();\n handleConfirmarEnvio(e);\n }}\n >\n Enviar\n \n \n \n \n \n );\n};\n","import React, { useState, useEffect} from 'react';\nimport { Text, TextAlignment, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { RatingStars} from 'src/components';\nimport styled from 'styled-components';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager } from 'src/feature-app/hooks';\nimport { OneElementTemplateFullScreen } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport {LastNavigationFidelizacion} from '.';\n\nconst CTAWrapper = styled.div`\n text-align: left;\n margin: -10px;\n margin-top: 32px;\n & > button {\n margin: 12px;\n width: 81px;\n }\n`;\n\nconst ErrorMessage = styled.div`\n width: max-content;\n padding: 4px 8px;\n border-radius: 4px;\n background-color: #e4002c;\n color: #ffffff;\n`;\n\nfunction Fields() {\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const [ selectedValue, setSelectedValue] = useState('');\n const { control, register, setValue } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const [showError, setShowError] = useState(false);\n\n useEffect(() => {\n if (fields.enviarInformacion) setSelectedValue(fields.enviarInformacion);\n }, []);\n\n return (\n <>\n \n {\n showError ? (\n \n \n Necesitamos esta información para seguir\n \n \n ) : null\n }\n \n \n );\n}\n\nexport function FidelizacionLastScreenFields() {\n return (\n } />\n );\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useFaContent, useFeatureServices } from 'src/feature-app';\nimport { CarlineBase, IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkIdLeadHasCarline = (idLead: IdLead) =>\n idLead &&\n idLead.NUM_COD_INTEREST_CARLINE__c &&\n idLead.DESC_Model__c &&\n propertyHasValue(idLead.NUM_COD_INTEREST_CARLINE__c) &&\n propertyHasValue(idLead.DESC_Model__c);\n\nexport function useInitializeFidelizacionForm(defaultSteps: Steps[], idLead: IdLead) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n const [steps, setSteps] = useState(defaultSteps);\n const [firstStep, setFirstStep] = useState(defaultSteps[0]);\n const [lastStep, setLastStep] = useState(getLastItemOfSteps(defaultSteps));\n\n const removeModelFromSteps = async () => {\n return new Promise((resolve) => {\n let updatedSteps = [...steps];\n const indexOfModelo = updatedSteps.findIndex((step) => step.name === 'Modelo');\n updatedSteps.splice(indexOfModelo, 1); // Eliminado el step de Modelo.\n updatedSteps[0].hidePreviousStep = true;\n const updatedStepsWithIndex = updatedSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n setSteps(updatedStepsWithIndex);\n setFirstStep(updatedStepsWithIndex[0]);\n setLastStep(getLastItemOfSteps(updatedStepsWithIndex));\n\n resolve(true);\n });\n };\n\n useEffect(() => {\n const remove = async () => {\n await removeModelFromSteps();\n setLoading(false);\n };\n\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n setSteps(defaultSteps);\n setLoading(false);\n };\n\n if (checkIdLeadHasCarline(idLead)) {\n remove();\n } else {\n requestCarlines();\n }\n }, []);\n\n return { loading, steps, firstStep, lastStep };\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport {\n Text,\n CTA,\n Container,\n ContainerPadding,\n ContainerGutter,\n Layout,\n Breakpoints,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FidelizacionLastScreenFields } from './FidelizacionLastScreenFields';\nimport { TextAreaExtended, MultipleOptionCTAs, RatingStars } from 'src/components';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport {\n FormController,\n useOneFormContext\n} from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { ThankYouFidelizacion } from '.';\nimport { formDataBuilder } from '../../format-fields';\nimport { FidelizacionFormProps } from './FidelizacionController';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useInitializeFidelizacionForm } from './use-initialize-fidelizacion-form';\n\nconst CTAsObtenerNuevas = [\n { label: 'Participando en encuestas, en experiencias, en sorteos, en eventos...', value: 'lealtad' },\n { label: 'Con Volkswagen Long Drive, utilizando el servicio de recogida y entrega, pidiendo cita online...', value: 'relacion' },\n { label: 'Otras formas', value: 'otros' },\n];\n\nconst CTAsListadoVentajas = [\n { label: 'Mantenimiento incluido', value: 'mantenimiento' },\n { label: 'Garantías Volkswagen', value: 'garantias' },\n { label: 'Asistencia en carretera', value: 'asistencia' },\n { label: 'Coche de sustitución', value: 'coche-sustitucion' },\n { label: 'Revisión Pre-ITV gratuita', value: 'pre-itv' },\n { label: 'Servicio de recogida y entrega', value: 'recogida-entrega' },\n { label: 'Volkswagen Long Drive¹', value: 'long-drive' },\n { label: 'Experiencias de conducción²', value: 'experiencias' },\n { label: 'We: Coche conectado³', value: 'we' },\n];\n\nexport enum FidelizacionSteps {\n QuieroTener,\n MasConoces,\n ListadoVentajas,\n Valoracion,\n ServicioPosventa,\n ProcesoCompra,\n OpcionesFinanciacion,\n VentajasBeneficions,\n InformacionExclusiva,\n InformacionTecnologia,\n OtrosServicios,\n Confirmacion,\n}\n\nexport function FidelizacionForm(props: FidelizacionFormProps) {\n const { dpsData, idPerson, trackFormLoad } = props;\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { obtenerNuevas } = formData.fields;\n const { screenIndex } = formInfo;\n const { initializeForm, nextStep, handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const { register } = useFormContext();\n const [currentValue, setCurrentValue] = useState('');\n const dispatch = useDispatch();\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n };\n\n const stepsForm: Steps[] = [\n {\n title: (\n <>\n ¿Qué beneficios y ventajas te gustaría tener como cliente Volkswagen?\n \n ),\n fields: (\n \n handleChange(e)}\n appearance={'default'}\n isFloating={false}\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n placeholder=\"Ejemplo: Hace 7 años que soy clienta de Volkswagen, y me encantaría que mi fidelidad se viera recompensada con descuentos, ofertas exclusivas e incluso experiencias con otros miembros de la comunidad.\"\n rows={3}\n maxLength={1500}\n />\n \n }\n />\n ),\n screenIndex: FidelizacionSteps.QuieroTener,\n name: 'QuieroTener',\n outputs: ['quieroTener'],\n outputsText: ['quieroTener'],\n },\n {\n title: (\n <>\n ¿Cuáles son los beneficios y ventajas de Volkswagen que más conoces/utilizas?\n \n ),\n fields: (\n \n handleChange(e)}\n appearance={'default'}\n isFloating={false}\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n placeholder=\"Ejemplo: Me parece muy útil el servicio de recogida y entrega de Volkswagen. A veces hacer un hueco para ir al taller es misión imposible, ¡así que toda acción que te facilite la vida es bienvenida!\"\n rows={3}\n maxLength={350}\n />\n \n }\n />\n ),\n screenIndex: FidelizacionSteps.MasConoces,\n name: 'MasConoces',\n outputs: ['masConoces'],\n outputsText: ['masConoces'],\n },\n {\n title: (\n <>\n Hemos listado algunas de nuestras ventajas como cliente de la familia Volkswagen. ¿Cuáles te parecen más atractivas?\n \n \n Selecciona 3 opciones.\n \n \n \n ),\n alternateTitle: (\n <>\n Hemos listado algunas de nuestras ventajas como cliente de la familia Volkswagen. ¿Cuáles te parecen más atractivas?\n \n ),\n fields: (\n \n \n \n
    \n
  1. Planes de mantenimiento Volkswagen Long Drive (Standard y Advance)
  2. \n
  3. Race Tours y otras experiencias de conducción para clientes
  4. \n
  5. Servicios de conectividad como We Connect, We Connect GO...
  6. \n
\n
\n }\n />\n ),\n screenIndex: FidelizacionSteps.ListadoVentajas,\n name: 'ListadoVentajas',\n outputs: ['listadoVentajas'],\n outputsText: ['listadoVentajas'],\n },\n {\n title: (\n <>\n ¿Qué importancia le darías a los siguientes conceptos?\n \n ),\n fields: (\n \n \n \n Como cliente de Volkswagen, siendo 1 {'\"'}mayor importancia{'\"'} y 5 {'\"'}menor importancia{'\"'}\n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n Empezar\n \n \n \n ),\n screenIndex: FidelizacionSteps.Valoracion,\n name: 'Valoracion',\n },\n {\n title: (\n <>\n Servicio de Posventa: trato, precio y planes de mantenimiento.\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.ServicioPosventa,\n name: 'ServicioPosventa',\n outputs: ['servicioPosventa'],\n outputsText: ['servicioPosventa'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Proceso de compra o renovación: personalización por ser cliente, ofrecimiento de prueba test drive, asesoramiento comercial...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.ProcesoCompra,\n name: 'ProcesoCompra',\n outputs: ['procesoCompra'],\n outputsText: ['procesoCompra'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Opciones de financiación en la venta: nuevas fórmulas, condiciones ventajosas...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.OpcionesFinanciacion,\n name: 'OpcionesFinanciacion',\n outputs: ['opcionesFinanciacion'],\n outputsText: ['opcionesFinanciacion'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Ventajas y Beneficios como descuentos, premios, entradas a eventos, posibilidad de participar en foros de la marca...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.VentajasBeneficions,\n name: 'VentajasBeneficions',\n outputs: ['ventajasBeneficions'],\n outputsText: ['ventajasBeneficions'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Información exclusiva sobre novedades de la marca y del sector: nuevos lanzamientos, productos o funcionalidades, recomendaciones, noticias...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.InformacionExclusiva,\n name: 'InformacionExclusiva',\n outputs: ['informacionExclusiva'],\n outputsText: ['informacionExclusiva'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Innovación y Tecnología: coche conectado, coche autónomo, sostenibilidad...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.InformacionTecnologia,\n name: 'InformacionTecnologia',\n outputs: ['informacionTecnologia'],\n outputsText: ['informacionTecnologia'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Otros Servicios: servicio de atención al cliente, garantía de movilidad Volkswagen, asistencia...\n \n ),\n fields: ,\n screenIndex: FidelizacionSteps.OtrosServicios,\n name: 'OtrosServicios',\n outputs: ['otrosServicios'],\n outputsText: ['otrosServicios'],\n isLastStep: true\n },\n ];\n\n const FidelizacionFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'adhoc-2021-fidelizacion_clientes', formType: 'otherform', pageCategory: 'Fidelización Clientes 2021' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '16. VW One Shots',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': 'Encuesta',\n 'headers[DESC_FORM_DETAIL]': fields.pageCategory,\n 'headers[DESC_ID_CAMPAIGN]': '7011n000000JqqSAAS',\n 'headers[DESC_ID_CLIMAPRO]': idPerson.ID_Person_DIM_IMP__c,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_ENCUESTA_FIDELIZACION_CLIENTES',\n\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[M_OBSERVATION]': fields.quieroTener,\n 'fields[DESC_AUXFIELD1]': fields.masConoces,\n 'fields[DESC_AUXFIELD2]': fields.listadoVentajas,\n 'fields[DESC_AUXFIELD5]': fields.servicioPosventa,\n 'fields[DESC_AUXFIELD6]': fields.procesoCompra,\n 'fields[DESC_AUXFIELD7]': fields.opcionesFinanciacion,\n 'fields[DESC_AUXFIELD8]': fields.ventajasBeneficions,\n 'fields[DESC_AUXFIELD9]': fields.informacionExclusiva,\n 'fields[DESC_AUXFIELD10]': fields.informacionTecnologia,\n 'fields[DESC_AUXFIELD11]': fields.otrosServicios,\n 'fields[DESC_NAME]': idPerson.FirstName,\n 'fields[DESC_SURNAME_1]': idPerson.LastName,\n 'fields[DESC_SURNAME_2]': idPerson.TXT_2_Surname__c,\n 'fields[DESC_EMAIL_ADDRESS]': idPerson.TXT_Email__c,\n 'fields[NUM_CELLPHONE]': idPerson.NUM_Phone_mobile__c,\n 'fields[DESC_LOPD]': 'PERMITE'\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeFidelizacionForm(stepsForm, null);\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const FidelizacionFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n if (!loading) {\n initializeForm(FidelizacionFormInfo, FidelizacionFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n\n return loading || !steps ? null : ;\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdPerson } from 'src/types';\nimport { FidelizacionForm } from './FidelizacionForm';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { createPincodeEntity } from '../../dps-utils';\n\nexport interface FidelizacionFormProps {\n idPerson: IdPerson;\n dpsData: DpsData;\n handleError: () => void;\n presubmit: boolean;\n trackFormLoad: () => void;\n showPantallaModelo: boolean;\n}\n\nexport function FidelizacionController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [presubmit, setPresubmit] = useState(false);\n const [showPantallaModelo, setShowPantallaModelo] = useState(false);\n const today = dayjs(new Date());\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const dispatch = useDispatch();\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => {};\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n \n );\n }\n}\ninterface CenterContentProps {\n height: string;\n}\nconst CenterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: ${(props) => (props.height ? props.height : '100%')};\n`;\n\nconst Loading = () => {\n const [height, setHeight] = useState('100%');\n\n useEffect(() => {\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let aux;\n\n if (viewportWidth < 560) {\n aux = viewportHeight - 152;\n } else if (viewportWidth < 1600) {\n aux = viewportHeight - 252;\n } else {\n aux = viewportHeight - 380;\n }\n setHeight(`${aux}px`);\n }, []);\n\n return (\n \n \n Cargando tus datos\n \n );\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\n\ninterface FieldProps {\n copyBook?: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nfunction Fields(props: FieldProps) {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n\n return (\n \n
\n \n \n Las tendremos en cuenta para seguir mejorando tu experiencia Volkswagen 😊\n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouFidelizacion(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n {' '}\n ¡Muchas gracias por tu tiempo y tus respuestas!\n \n ),\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouFidelizacion);\n\nexport { ConnectedComponent as ThankYouFidelizacion };\n","import React, { useEffect, useRef, useState } from 'react';\nimport { AutosubmitController } from 'src/forms/Autosubmit/AutosubmitController';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { LoadingEncuestas } from 'src/components';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { TestIDForm } from './TestIDForm';\n\nexport function TestIDController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [pincodeAvailable, setPincodeAvailable] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setPincodeAvailable(false);\n setLoading(false);\n } else {\n setPincodeAvailable(true);\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {\n pincodeAvailable ?\n \n :\n \n }\n \n );\n }\n}\n","import React, { useState } from 'react';\nimport { RadioButton } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\ninterface ChecksProps {\n questionName: string;\n avoidNextStep?: boolean;\n answers: string[];\n correctAnswer?: string;\n}\n\nexport const Checks = (props: ChecksProps) => {\n const { questionName, answers, avoidNextStep, correctAnswer } = props;\n const [checkedIndex, setCheckedIndex] = useState(null);\n const dispatch = useDispatch();\n\n const { handleNextStep } = useOneFormContext();\n const [value, setValue] = useState(null);\n const { register } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const currentCorrectAnswers = fields.answers || 0;\n\n const handleOnClick = (e: any) => {\n if (avoidNextStep) {\n // si no vamos a next step guardaremos el valor en store\n dispatch({ type: 'UPDATE_FIELDS', payload: { [questionName]: e.target.value } });\n } else {\n setTimeout(\n () => {\n if (correctAnswer && correctAnswer === e.target.value) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { ['answers']: currentCorrectAnswers + 1 } });\n }\n handleNextStep();\n }, 0\n );\n }\n };\n\n return (\n
\n {answers.map((answer, index) => {\n return (\n
\n {\n setValue(answer);\n setCheckedIndex(index);\n handleOnClick(e);\n }}\n checked={checkedIndex === index}\n />\n
\n )\n })}\n\n \n
\n );\n};\n","import React from 'react';\nimport {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n styled,\n Text,\n Image,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { Checks } from './Checks';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\nconst LayoutWrapper = styled.div`\n @media all and (min-width: 960px) {\n padding-left: var(--size-grid002);\n display: flex;\n }\n`;\n\nconst InfoWrapper = styled.div`\n width: 100%;\n padding-left: var(--size-grid002);\n padding-right: var(--size-grid002);\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: var(--size-grid012);\n padding-left: var(--size-grid002);\n padding-right: 0;\n padding-top: 0;\n }\n @media all and (min-width: 1280px) {\n padding-left: var(--size-grid003);\n }\n @media all and (min-width: 1600px) {\n padding-left: var(--size-grid002);\n }\n`;\n\ninterface QuestionWithImageProps {\n answers: string[];\n correctAnswer?: string;\n imageSrc: string;\n index: number;\n questionName: string;\n title: JSX.Element | string;\n}\n\nexport const QuestionWithImage = (props: QuestionWithImageProps) => {\n const {\n answers,\n correctAnswer,\n imageSrc,\n index,\n questionName,\n title,\n } = props;\n const height = useWindowHeight();\n const width = useWindowWidth();\n\n return (\n \n {\n height <= 600 ? null : (\n \n
\n \"\"\n
\n
\n )\n }\n \n \"imagen\n \n \n \n {index === 0 && Y... ¡que empiece el test!}\n \n <>\n {title}\n \n \n \n \n \n
\n )\n};\n","import React, { useEffect, useState } from 'react';\nimport { ConfirmationTestID, ThankYouTestID } from './';\nimport { QuestionWithImage } from './QuestionWithImage';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n formatPrefix,\n FormController,\n removeWhiteSpace,\n useOneFormContext,\n} from 'src/feature-app';\nimport {\n FormDataGroup,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { questions } from './';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\n\ninterface TestIDFormProps {\n dpsData?: any;\n idPerson?: any;\n handleError?: any;\n email?: string;\n name?: string;\n surname?: string;\n}\n\nexport function TestIDForm(props: TestIDFormProps) {\n const { idPerson } = props;\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n const name: string = props.name ? props.name : props.idPerson?.FirstName;\n const surname: string = props.surname ? props.surname : props.idPerson?.LastName;\n const email: string = props.email ? props.email : props.idPerson?.TXT_Email__c;\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { email, name, surname } });\n setLoading(false);\n }, []);\n\n const steps: Steps[] = [\n ...questions.map((question, index) => {\n return {\n fields: ,\n screenIndex: index,\n name: question.questionName,\n showOverflow: true,\n }\n }),\n {\n fields: ,\n screenIndex: questions.length,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'adhoc-2023-test_id',\n formType: 'otherform',\n pageCategory: 'Concurso'\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[COD_FORM_ID]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '4. VW Newsletter',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORM_DETAIL]': 'Test ID 2023',\n 'headers[DESC_FORMOBJECTIVE]': 'Concurso',\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DUOnQAO',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_TEST_ID_2023',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n\n 'fields[DESC_AUXFIELD1]': fields.answers, // respuestas correctas\n 'fields[DESC_AUXFIELD2]': fields.location,\n 'fields[DESC_EMAIL_ADDRESS]': fields.email ? fields.email : idPerson? idPerson.TXT_Email__c : null,\n 'fields[DESC_FORM_VERSION]': fields.formName\n ? `vw-oneform-${fields.formName}-${process.env.VERSION}`\n : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_NAME]': fields.name ? fields.name : idPerson.FirstName,\n 'fields[DESC_PREFERRED_CONTACT_CHANNEL]': fields.contact,\n 'fields[DESC_SURNAME_1]': fields.surname ? fields.surname : idPerson.LastName,\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[NUM_CELLPHONE]': fields.telefono ? `${formatPrefix(fields.prefix)}${fields.telefono}` : idPerson.NUM_Phone_mobile__c,\n\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = async (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response.data?.content?.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackingManager.trackFormLoad();\n }\n }, [loading]);\n\n return loading || !steps ? null : ;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n BreakpointWrapper,\n CTA,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport {\n PoliticaPrivacidad,\n LastNavigation,\n LabelInputWidthWrapper,\n Nombre,\n Apellido,\n Telefono,\n Email,\n LegalItem\n} from 'src/components';\nimport { IdPerson } from 'src/types';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { useStore } from 'react-redux';\n\nconst GridWrapper = styled.div`\n width: 90%;\n display: grid;\n grid-template-rows: repeat(2, auto);\n grid-gap: 5%;\n height: 180px;\n @media all and (min-width: 1600px) {\n height: 200px;\n }\n`;\n\nconst GridItem = styled.div <{ row: string }>`\n grid-row: ${props => props.row};\n`;\n\nconst TextBlue = styled(Text)`\n color: #001e50;\n`;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n`;\n\nconst QuestionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n padding-top: 10%;\n @media all and (max-width: 1280px) {\n padding-top: 2%;\n }\n`;\ninterface ConfirmacionTestIDProps {\n idPerson: IdPerson;\n}\n\nconst legalesTestID2023 = 'https://crm.volkswagen.es/email/2023/service/recertificacion_may23/Sorteo%20Test%20Ele%CC%81ctrico.pdf'\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\nexport const ConfirmationTestID = (props: ConfirmacionTestIDProps) => {\n const { idPerson } = props;\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const store = useStore();\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n <>\n \n \n\n {!idPerson &&\n \n ¡Genial! Ya lo tenemos casi todo. Ahora solo falta que nos confirmes tus datos para recibir los resultados del test. ¿Serás un pro de los eléctricos?\n \n }\n {idPerson &&\n \n ¡Genial! Aunque el sorteo ya está cerrado, confírmanos tus datos para recibir los resultados del test. ¿Serás un pro de los eléctricos?\n \n }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n\n \n \n {!idPerson &&\n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n }\n \n \n \n \n\n {compartirError && Necesitamos esta información para seguir}\n \n \n \n \n \n \n \n {idPerson &&\n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n }\n \n \n \n {idPerson &&\n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n }\n \n \n \n \n \n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n FixedWidthContainer,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n TokenTextColor,\n} from \"@volkswagen-onehub/components-core\";\nimport {\n getParamsForm,\n getTrackingForm,\n LayerManagerWrapper,\n removeWhiteSpace,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from \"src/feature-app\";\nimport styled from \"styled-components\";\nimport { useDispatch, useStore } from \"react-redux\";\nimport { Apellido, Email, GenericErrorLayer, LegalFullScreenSinConsentmientos, LegalItem, Nombre, PoliticaPrivacidad } from \"src/components\";\nimport { FormDataGroup, OneFormState } from \"src/types\";\nimport { formDataBuilder, formatHeaders } from \"src/forms/format-fields\";\nimport { dpsSend } from \"src/bff\";\nimport { TestIDForm } from \"./\";\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from \"@volkswagen-onehub/layer-manager\";\nimport { useWindowWidth } from \"@react-hook/window-size\";\n\ninterface VideoProps {\n isMediumScreen: boolean;\n};\n\nconst Video = styled.video`\n display: block;\n width: ${(props) => props.isMediumScreen ? \"50%\" : \"100%\"};\n margin: ${(props) => props.isMediumScreen ? \"auto\" : \"0 auto\"};\n padding-bottom: var(--size-grid001);\n`;\n\nconst ErrorMessage = styled.div`\n width: max-content;\n padding: 4px 8px;\n position: relative;\n border-radius: 4px;\n background-color: #e4002c;\n color: #ffffff;\n`;\n\nconst initialData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_TEST_ID_2023',\n DESC_FORMOBJECTIVE: 'Suscripción Newsletter',\n COD_FORM_ID: 'vw-newsletter-electricos-adhoc-2023-test_id',\n },\n fields: {\n formName: 'newsletter-electricos-adhoc-2023-test_id',\n formType: 'newsletter',\n pageCategory: 'Suscripción Newsletter',\n }, // Analítica\n};\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\n\nexport function EmailForm() {\n const [email, setEmail] = useState(null);\n const [showError, setShowError] = useState(false);\n const dispatch = useDispatch();\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const [renderFormID, setRenderFormID] = useState(false);\n const store = useStore();\n const { formData }: OneFormState = store.getState();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const windowWidth = useWindowWidth();\n const [error, setError] = useState(false);\n const [isMediumScreen, setIsMediumScreen] = useState(false);\n\n\n useEffect(() => {\n initializeForm(\n {},\n initialData,\n );\n }, []);\n\n useEffect(() => {\n setIsMediumScreen(windowWidth >= 960 && windowWidth < 1280);\n }, [windowWidth]);\n\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n const sendForm = (): Promise => {\n\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(initialData.headers),\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_CAMPAIGNBLOCK]': '4. VW Newsletter',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DUOnQAO',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_VN_VO]': 'VN',\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${initialData.fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(email),\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n const response = await dpsSend(formData);\n\n if (response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(response));\n setRenderFormID(true);\n } else {\n setError(true);\n }\n\n });\n };\n\n if (error) {\n return (\n <>\n \n \n );\n } else {\n\n return (\n\n renderFormID ?\n \n :\n <>\n \n\n \n\n <>\n \n Demuestra que eres un pro y entra en el sorteo de uno de los dos cursos de conducción eléctrica.\n \n \n El curso de la escuela ID. es una\n experiencia única al volante de nuestros eléctricos con pilotos profesionales a tu lado. {' '}\n Para participar, haz nuestro test de solo 5 preguntas.\n \n \n \n \n \n ¿Te animas a estar al día de todo sobre los eléctricos, demostrar lo que sabes y participar en el sorteo?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n \n {\n showError ? (\n <>\n \n \n Necesitamos esta información para seguir\n \n \n \n ) : null\n }\n {\n e.preventDefault();\n if (email && !showError) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { email: email } });\n sendForm();\n } else {\n setShowError(true);\n }\n }}\n >\n Enviar y participar\n \n \n \n \n\n \n \n \n \n )\n }\n\n}\n","import { Text } from \"@volkswagen-onehub/components-core\";\nimport React from \"react\";\n\nexport const questions = [\n {\n questionName: 'Test ID 01',\n title: <>1. Estás en Madrid y te apetece hacer una escapada en tu ID.7.{' '}¿Hasta dónde podrías llegar aproximadamente?,\n answers: [\n 'Hasta Barcelona, podría llegar a hacer 700 km.',\n 'Hasta Zaragoza y no más que esos 300 km.',\n 'Hasta Toledo. Hombre, ni que pudiera recorrer más de 70km.',\n ],\n correctAnswer: 'Hasta Barcelona, podría llegar a hacer 700 km.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n {\n questionName: 'Test ID 02',\n title: <>​2. Estás organizando el viaje de verano con tu ID.5 y quieres saber dónde podrás cargarlo.{' '}¿Cuántos puntos habilitados de carga hay en España?,\n answers: [\n '4.444, como las cuatro ruedas de un coche.',\n 'Más de 18.000, es casi imposible no toparse con uno.',\n '93, como días tiene el verano.',\n ],\n correctAnswer: 'Más de 18.000, es casi imposible no toparse con uno.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2020AL01387_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjImaGVpPTQ2MiZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmZTJiZQ=='\n },\n {\n questionName: 'Test ID 03',\n title: <>3. Oh no...está empezando a sonar la canción de tu ex en tu ID.7 y quieres cambiarla.{' '} ¿Cómo lo haces?,\n answers: [\n 'Hago un gesto con la mano de izquierda a derecha, como si fuera un director de orquesta.',\n 'Se lo pido a mi copiloto, que es muy majo.',\n 'Me desespero y toco todos los botones del coche a la vez.',\n ],\n correctAnswer: 'Hago un gesto con la mano de izquierda a derecha, como si fuera un director de orquesta.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00281_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n {\n questionName: 'Test ID 04',\n title: <>4. Estás subiendo los pirineos con un ID.4 y quieres cambiar de marcha para que el coche tenga más potencia.{' '}¿Cómo lo haces?,\n answers: [\n '¡Muy fácil! Con el cambio de marchas de toda la vida.',\n '¿Qué marcha? Los coches eléctricos lo dan todo sin marchas.',\n 'Le pongo la banda sonora de UP para que siga subiendo.',\n ],\n correctAnswer: '¿Qué marcha? Los coches eléctricos lo dan todo sin marchas.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2022AU00678_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n {\n questionName: 'Test ID 05',\n title: <>5. Quieres parar a tomarte un descanso y de paso aprovechar para cargar tu ID.3 en un punto de carga rápida.{' '}¿Cuántos minutos necesitarás para cargarlo al 80%?,\n answers: [\n '30 minutos, lo que tardo en tomarme un descansito y un café.',\n '80 minutos, lo mismo que un capítulo de Juego de Tronos.',\n '60 minutos, lo que dura una clase de Cycling en el gimnasio.',\n ],\n correctAnswer: '30 minutos, lo que tardo en tomarme un descansito y un café.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2020NR00454_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n];\n\n","import React, { useEffect } from 'react';\nimport { OneFormState, Steps } from 'src/types';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function ThankYouTestID() {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n ¡Gracias por participar, {formInfo.formResponse.params.fields.DESC_NAME}!\n
\n ¡Ha llegado la hora de la verdad eléctrica! Ve a tu email y descubre tus resultados del test. \n \n ),\n fields: <>,\n };\n return (\n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n BreakpointWrapper,\n ContainerGutter,\n CTA,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useState } from 'react';\nimport { useStore } from 'react-redux';\nimport {\n PoliticaPrivacidad,\n LastNavigation,\n LabelInputWidthWrapper,\n Nombre,\n Apellido,\n Telefono,\n Legales,\n Email,\n CodigoPostal,\n LegalItem,\n} from 'src/components';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices, useGetIdPerson } from 'src/feature-app';\nimport { IdPerson } from 'src/types';\n\nconst GridWrapper = styled.div`\n width: 100%;\n display: grid;\n grid-template-rows: repeat(2, auto);\n grid-gap: 10%;\n padding-bottom: 6%;\n padding-top: 3%;\n`;\n\nconst GridItem = styled.div <{ row: string }>`\n grid-row: ${props => props.row};\n`;\n\nconst TextBlue = styled(Text)`\n color: #001e50;\n`;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n margin-left: 35px;\n`;\n\nconst InputWrapper = styled.div`\n input, span:first-child, div:last-child {\n width: 320px;\n }\n`;\n\ninterface ConcursoRodajeProps {\n idPerson?: IdPerson;\n sendForm?: () => Promise;\n}\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\nconst legalesRodaje = 'https://crm.volkswagen.es/email/2023/newsletter/trimestre_jun23/BBLL_Rodaje_NL_2023.pdf';\n\nexport const ConcursoRodajeConfirmacion = (props: ConcursoRodajeProps) => {\n const { idPerson } = props;\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const store = useStore();\n\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n <>\n \n \n
\n \n Acompáñanos en el rodaje de nuestro próximo spot{' '}\n y descubre cómo sucede la magia detrás de cámara.\n Completa tus datos y ¡ven a vivirlo!\n \n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n\n \n {!idPerson &&\n \n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n \n }\n \n \n Enviando el formulario declaro haber leído y estar informado acerca del tratamiento de mis datos personales y declaro aceptar las condiciones de participación recogidas en las{' '}\n \n bases legales\n .\n
\n
\n
\n \n
\n\n {compartirError && Necesitamos esta información para seguir}\n \n \n \n \n \n {/* \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n */}\n \n \n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { LoadingEncuestas } from 'src/components';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { ConcursoRodajeForm } from './';\n\nexport function ConcursoRodajeController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n \n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else {\n return ;\n }\n}\n","import React, { useEffect } from 'react';\nimport { OneFormState, Steps } from 'src/types';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function ThankYouConcursoRodaje() {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n ¡Gracias, {formInfo.formResponse.params.fields.DESC_NAME}!\n
\n Te confirmamos que tus datos se han registrado correctamente\n \n ),\n fields: <>,\n };\n return (\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { ThankYouTestID } from '../TestID2023';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n FormController,\n formatPrefix,\n removeWhiteSpace,\n useGetIdPerson,\n useOneFormContext,\n} from 'src/feature-app';\nimport {\n FormDataGroup,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { formDataBuilder, formatHeaders } from 'src/forms/format-fields';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useDispatch, useStore } from 'react-redux';\nimport { ConcursoRodajeConfirmacion } from './ConcursoRodajeConfirmacion';\nimport { ThankYouConcursoRodaje } from './ThankYouConcursoRodaje';\n\ninterface ConcursoRodajeFieldsProps {\n dpsData?: any;\n idPerson?: any;\n handleError?: any;\n email?: string;\n name?: string;\n surname?: string;\n}\n\nexport function ConcursoRodajeForm(props: ConcursoRodajeFieldsProps) {\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const idPerson = useGetIdPerson();\n\n useEffect(() => {\n const {\n FirstName: name,\n LastName: surname,\n TXT_Email__c: email,\n TXT_Postal_Code__c: postalCode,\n NUM_Phone_mobile__c: telefono,\n } = idPerson || {};\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { email, name, surname, postalCode, telefono } });\n setLoading(false);\n }, []);\n\n const steps: Steps[] = [\n {\n fields: ,\n screenIndex: 0,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n const initialData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_CONCURSO_RODAJE_2023',\n DESC_FORMOBJECTIVE: 'Concurso',\n },\n fields: {\n formName: 'adhoc-2023-concurso_rodaje',\n formType: 'otherform',\n pageCategory: 'Concurso',\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n ...formatHeaders(initialData.headers),\n 'headers[DESC_URLORIGIN]': url,\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_CAMPAIGNBLOCK]': '7. VW Driving Experience',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DUlUQAW',\n 'headers[DESC_FORM_DETAIL]': 'Concurso Rodaje 2023',\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_VN_VO]': 'VN',\n\n 'fields[DESC_POSTAL_CODE]': fields.postalCode ? fields.postalCode : idPerson.TXT_Postal_Code__c,\n 'fields[DESC_NAME]': fields.name ? fields.name : idPerson.FirstName,\n 'fields[DESC_SURNAME_1]': fields.surname ? fields.surname : idPerson.LastName,\n 'fields[DESC_EMAIL_ADDRESS]': fields.email ? fields.email : idPerson ? idPerson.TXT_Email__c : null,\n\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${initialData.fields.formName}-${process.env.VERSION}`,\n\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[NUM_CELLPHONE]': fields.telefono ? `${formatPrefix(fields.prefix)}${fields.telefono}` : idPerson.NUM_Phone_mobile__c,\n\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = async (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response.data?.content?.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, initialData, true);\n trackingManager.trackFormLoad();\n }\n }, [loading]);\n\n return loading || !steps ? null : ;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport { findCarline } from 'src/components';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useFaContent, useFeatureServices } from 'src/feature-app';\nimport { CarlineBase, IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkIdLeadHasCarline = (idLead: IdLead) =>\n idLead &&\n idLead.VGED_CodeOfInterestCarline__c &&\n propertyHasValue(idLead.VGED_CodeOfInterestCarline__c);\n\nexport function useInitializeForm(defaultSteps: Steps[], idLead: IdLead) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n const [steps, setSteps] = useState(defaultSteps);\n const [firstStep, setFirstStep] = useState(defaultSteps[0]);\n const [lastStep, setLastStep] = useState(getLastItemOfSteps(defaultSteps));\n\n const removeModelFromSteps = async () => {\n return new Promise((resolve) => {\n let updatedSteps = [...steps];\n const indexOfModelo = updatedSteps.findIndex((step) => step.name === 'Modelo');\n updatedSteps.splice(indexOfModelo, 1); // Eliminado el step de Modelo.\n updatedSteps[0].hidePreviousStep = true;\n const updatedStepsWithIndex = updatedSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n setSteps(updatedStepsWithIndex);\n setFirstStep(updatedStepsWithIndex[0]);\n setLastStep(getLastItemOfSteps(updatedStepsWithIndex));\n\n resolve(true);\n });\n };\n\n useEffect(() => {\n const remove = async () => {\n await removeModelFromSteps();\n setLoading(false);\n };\n\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n\n const carline = findCarline(carlines, Number(idLead.VGED_CodeOfInterestCarline__c));\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n\n setSteps(defaultSteps);\n setLoading(false);\n };\n\n if (checkIdLeadHasCarline(idLead)) {\n remove();\n } \n requestCarlines();\n\n }, []);\n\n return { loading, steps, firstStep, lastStep };\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { PantallaNombreApellido, CarlineSelect, DetalleMotivo, MultipleCTASelection, LoadingEncuestas } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, IdLead, OneFormState, Steps } from 'src/types';\nimport { formDataBuilder } from '../format-fields';\nimport { ConfirmacionLEM, ThanKYouLEM } from 'src/forms/LEM';\nimport { LEMFormProps } from './LEMController';\nimport { useInitializeForm, checkIdLeadHasCarline } from './use-initialize-lem-form';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { RadioTextGroup } from 'src/components/inputs/RadioTextGroup';\n\n\nconst getPeriodoContactoTitle = (modeloPrecargado: boolean) => {\n if (modeloPrecargado) {\n return (\n <>\n Y ¿cuándo te{' '}\n \n respondieron?*\n \n \n );\n } else {\n return (\n <>\n Nos encantaría saber más sobre tu experiencia.{' '}\n \n ¿Cuándo te{' '}\n \n respondieron?*\n \n \n \n );\n }\n};\n\nexport function LEMContactadoForm(props: LEMFormProps) {\n const { dpsData, idLead, idPerson, installation, dealersInfo, handleError, presubmit, trackFormLoad } = props;\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const { enviarConcesion } = useSelector((state: OneFormState) => state.formData.fields);\n const dispatch = useDispatch();\n\n const ctasPeriodoContacto = [\n {\n label: 'En las primeras 8 horas',\n value: 'En las primeras 8h'\n },\n {\n label: 'En las primeras 24 horas',\n value: 'En las primeras 24h'\n },\n {\n label: 'En más de 24 horas',\n value: 'En más de 24h'\n },\n ];\n\n const ctasInformacionUtil = [\n {\n label: 'Sí, resolvieron mis dudas y/o me dieron una cita',\n value: 'Sí, resolvieron mis dudas y/o me dieron una cita'\n },\n {\n label: 'No, necesito más información',\n value: 'No, necesito más información'\n },\n {\n label: 'Aún la estoy valorando',\n value: 'Aún la estoy valorando'\n },\n ];\n\n const optionsEnviarConcesion = [\n { \n label: 'Sí, mis respuestas pueden ser enviadas y analizadas junto a mi nombre', \n info: 'El consentimiento puede revocarse en cualquier momento a través de los canales de contacto que se indican a continuación*.',\n value: '1' \n },\n {\n label: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre',\n info: 'Seleccionando esta opción, el punto de venta no podrá ponerse en contacto contigo en relación a tus comentarios.',\n value: '2',\n },\n {\n label: 'Mis respuestas solo deben ser analizadas de manera anónima',\n info: 'Seleccionando esta opción, tus respuestas serán analizadas de modo agregado junto al resto de respuestas de todos los entrevistados y no se trasladarán a los comentarios abiertos.',\n value: '0',\n },\n\t];\n\n let index = 0;\n const stepsWithModel: Steps[] = [\n {\n title: (\n <>\n ¿Por qué modelo contactaste con tu punto de venta?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n title: getPeriodoContactoTitle(checkIdLeadHasCarline(idLead)),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'PeriodoContacto',\n outputs: ['periodoContacto'],\n outputsText: ['periodoContacto'],\n ctas: ctasPeriodoContacto,\n },\n {\n title: (\n <>\n ¿Fue útil la información que te dieron?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'InformacionUtil',\n outputs: ['informacionUtil'],\n outputsText: ['InformacionUtil'],\n ctas: ctasInformacionUtil,\n },\n {\n title: (\n <>\n Finalmente nos gustaría saber si podemos{' '}\n enviar tus respuestas junto con tu nombre al punto de venta\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'EnviarConcesion',\n outputs: ['enviarConcesion'],\n outputsText: ['enviarConcesion'],\n ctas: optionsEnviarConcesion,\n },\n {\n title: (\n <>\n Por favor, introduce o comprueba tus datos:\n \n ),\n fields: (\n \n \n
\n }\n />\n ),\n screenIndex: index++,\n name: 'DatosPersonales',\n outputs: ['datosPersonales'],\n outputsText: ['datosPersonales'],\n },\n {\n title: (\n <>\n ¿Quieres añadir algún comentario adicional?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'Comentario',\n outputs: ['comentario'],\n outputsText: ['comentario'],\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n const LEMContactadoData: Partial = {\n headers: {},\n fields: {\n formName: 'lem-contactado',\n formType: 'otherform',\n pageCategory: 'Encuesta',\n }, // Analítica\n };\n\n useEffect(() => {\n if (enviarConcesion) {\n modifySteps(enviarConcesion == '1' || enviarConcesion == 'true', 'DatosPersonales');\n }\n }, [enviarConcesion]);\n\n const modifySteps = (add: boolean, screen: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...actualSteps];\n if (add) {\n const stepIndex = getIndexInSteps(newSteps, screen);\n\n\t\t\tif (stepIndex === -1) {\n\t\t\t\tnewSteps = addRemovedStep(steps, actualSteps, screen, screenIndex);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\thandleNextStep();\n\t\t\t\t}, 0);\n\t\t\t}\n }\n else {\n newSteps = removeStep(newSteps, screen);\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n const generateData = (data?: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_LEM_ENCUESTA',\n 'headers[FK_SYSTEM]': idLead.Id,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': 'LEM Contactado',\n 'headers[FORM_NAME]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[FORM_OBJECTIVE]': 'Encuesta',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}`: `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_NAME]': fields.name ? fields.name : idLead.FirstName,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[PERSON_SURNAME_1]': fields.surname ? fields.surname : idLead.LastName,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname ? fields.secondSurname : idLead.MiddleName,\n 'fields[SF_LEAD_INSTALLATION_ID]': idLead.Dealership__c,\n 'fields[SF_LEAD_INSTALLATION_CODE]': installation ? installation.VGED_DealerCode__c : '',\n 'fields[SF_LEAD_INSTALLATION_NAME]': installation ?installation.VGED_CommercialName__c : '',\n 'fields[SURVEY_ANSWER_01]': dpsData.rating,\n 'fields[SURVEY_ANSWER_03]': fields.periodoContacto,\n 'fields[SURVEY_ANSWER_18]': fields.informacionUtil,\n 'fields[SURVEY_ANSWER_10]': fields.enviarConcesion,\n 'fields[SURVEY_ANSWER_11]': fields.comentario,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[VEH_INTEREST_ID]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.code : fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.title : fields.modelo\n\n };\n };\n\n const generatePresubmitData = () => {\n const data = generateData(LEMContactadoData);\n\n data['headers[FORM_DETAILS]'] = 'LEM Pregrabación';\n data['headers[DPS_TOKEN]'] = 'VW_DDB_FRM_LEM_ENCUESTA_PREGRABACION';\n\n return data;\n };\n\n useEffect(() => {\n if(!presubmitSent && presubmit) sendForm(true);\n }, []);\n\n const sendForm = (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n\n const data = isPresubmit ? generatePresubmitData() : generateData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeForm(stepsWithModel, idLead);\n\n useEffect(() => {\n const LEMContactadoInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n if (!loading) {\n initializeForm(LEMContactadoInfo, LEMContactadoData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? : ;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, Email, PantallaNombreApellido, Telefono, ContactInfoWrapper, MultipleCTASelection, DetalleMotivo, LoadingEncuestas } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, IdLead, IdPerson, OneFormState, Steps } from 'src/types';\nimport { formDataBuilder } from '../format-fields';\nimport { LEMFormProps } from './LEMController';\nimport { useInitializeForm, checkIdLeadHasCarline } from './use-initialize-lem-form';\nimport { ConfirmacionLEM, ThanKYouLEM } from 'src/forms/LEM';\n\nexport function LEMNoContactadoForm(props: LEMFormProps) {\n const { dpsData, idLead, idPerson, installation, dealersInfo, handleError, presubmit, trackFormLoad } = props;\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n\n const ctasHorarios = [\n {\n label: 'Mañana',\n value: 'Mañana'\n },\n {\n label: 'Tarde',\n value: 'Tarde'\n },\n ];\n\n let index = 0;\n const stepsWithModel: Steps[] = [\n {\n title: (\n <>\n ¿Por qué modelo contactaste con tu punto de venta?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: index++,\n name: 'Modelo',\n },\n /*{\n title: (\n <>\n Para averiguar qué ha pasado, necesitamos saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: index++,\n name: 'NombreApellidos',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },*/\n {\n title: (\n <>\n ¿Nos podrías confirmar tus datos de contacto?\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: index++,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n ¿En qué horario prefieres ser contactado?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'Horario',\n },\n {\n title: (\n <>\n ¿Quieres añadir algun comentario adicional?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'Comentario',\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n const LEMNoContactadoData: Partial = {\n headers: {},\n fields: {\n name: idLead.FirstName,\n surname: idLead.LastName,\n secondSurname: idLead.MiddleName,\n email: idLead.Email,\n cellphone: idLead.MobilePhone,\n formName: 'lem-no_contactado',\n formType: 'otherform',\n pageCategory: 'Más Información',\n }, // Analítica\n };\n\n const generateData = (data?: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_LEM_ENCUESTA',\n 'headers[FK_SYSTEM]': idLead.Id,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': 'LEM No Contactado',\n 'headers[FORM_NAME]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[FORM_OBJECTIVE]': 'Encuesta',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}` : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_NAME]': fields.name ? fields.name : idLead.FirstName,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[PERSON_SURNAME_1]': fields.surname ? fields.surname : idLead.LastName,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname ? fields.secondSurname : idLead.MiddleName,\n 'fields[SF_LEAD_INSTALLATION_ID]': idLead.Dealership__c,\n 'fields[SF_LEAD_INSTALLATION_CODE]': installation ? installation.VGED_DealerCode__c : '',\n 'fields[SF_LEAD_INSTALLATION_NAME]': installation ?installation.VGED_CommercialName__c : '',\n 'fields[SURVEY_ANSWER_13]': fields.horario,\n 'fields[SURVEY_ANSWER_14]': fields.comentario,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[VEH_INTEREST_ID]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.code : fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.title : fields.modelo\n\n };\n };\n\n const generatePresubmitData = () => {\n const data = generateData(LEMNoContactadoData);\n\n data['headers[FORM_DETAILS]'] = 'LEM Pregrabación';\n data['headers[DPS_TOKEN]'] = 'VW_DDB_FRM_LEM_ENCUESTA_PREGRABACION';\n\n return data;\n };\n\n useEffect(() => {\n if(!presubmitSent && presubmit) sendForm(true);\n }, []);\n\n const sendForm = (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n\n const data = isPresubmit ? generatePresubmitData() : generateData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeForm(stepsWithModel, idLead);\n\n useEffect(() => {\n const LEMNoContactadoInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n if (!loading) {\n initializeForm(LEMNoContactadoInfo, LEMNoContactadoData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? : ;\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { DomainAttributesValues } from 'src';\nimport { store, useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, DealersInfo, IdDealer, IdLead, IdPerson, OneFormState } 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 dealersInfo: DealersInfo;\n handleError: () => void;\n presubmit: boolean;\n trackFormLoad: () => void;\n}\n\nexport function LEMController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [caducado, setCaducado] = useState(false);\n const [presubmit, setPresubmit] = useState(false);\n const [contactado, setContactado] = useState(false);\n const today = dayjs(new Date());\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const [installation, setInstallation] = useState(null);\n const dispatch = useDispatch();\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const { dealersInfo }: OneFormState = store.getState();\n\n const handleNext = (value: any) => {};\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD') as IdLead;\n const idPerson = createPincodeEntity(dpsData, 'PERSON') as IdPerson;\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n\n const leadCreatedDate = dayjs(idLead.CreatedDate);\n const fechaEnvio = dpsData.fe ? dayjs(atob(dpsData.fe), 'DD/MM/YYYY') : null;\n let onTime = false;\n if (fechaEnvio) {\n onTime = today.diff(fechaEnvio, 'day') < 7;\n }\n else {\n onTime = today.diff(leadCreatedDate, 'day') < 7;\n }\n\n if (dpsData.push !== 'true' && onTime) {\n setPresubmit(true);\n setContactado(dpsData.contactado === 'true');\n findInstallation();\n } \n else if (dpsData.push == 'true') {\n setContactado(dpsData.contactado === 'true');\n findInstallation();\n } \n else {\n setCaducado(true);\n }\n setLoading(false);\n }\n };\n\n // Guardamos la instalacion por Id (idLead.Dealership__c)\n const findInstallation = () => {\n getInstallations('VW_DDB_FRM_LEM_REC_LEM', 'VOLKSWAGEN_SF_LEAD_INSTALLATION').then((dealers) => {\n\t\tconst installations = dealers.map((inst) => inst.attributes);\n\t\tconst dpsData = oneFormService.getDpsData();\n\t\tconst idLead = createPincodeEntity(dpsData, 'LEAD') as IdLead;\n\n\t\tlet found = false;\n\t\tlet i = 0;\n\t\twhile (i < installations.length && !found) {\n\t\t\tconst element = installations[i].find((ele: DomainAttributesValues) => \n\t\t\t\ttypeof ele.value !== 'undefined' && \n\t\t\t\ttypeof ele.name !== 'undefined' &&\n\t\t\t\tele.name.includes('Id') && \n\t\t\t\tele.value.includes(idLead.Dealership__c)\n\t\t\t);\n\t\t\tif (element) {\n\t\t\t\tsetInstallation(arrayToObject(installations[i]));\n\t\t\t\tfound = true;\n\t\t\t}\n\t\t\ti++;\n\t\t}\n\t\tif(!found) {\n\t\t\tconsole.error('Installation not found');\n\t\t\thandleError();\n\t\t}\n });\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n if (idLeadRef.current) {\n const customDealer: DealersData = {\n kvps: idLeadRef.current.TXT_DESC_DEALER_CODE__c,\n name: idLeadRef.current.DESC_Dealer_Code__c,\n markerInfo: { dealerInfo: { zipCode: idLeadRef.current.TXT_Postal_Code__c } },\n };\n dispatch({ type: 'SET_SELECTED_DEALER', payload: customDealer });\n }\n\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n // función para layer de error\n const handleTryAgain = async () => {\n // oneFormService.\n setError(false);\n setLoading(true);\n await oneFormService.retryPincodeLoad(true);\n handleComplete();\n };\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (caducado) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else if(installation && dealersInfo) {\n return (\n <>\n {contactado ? (\n \n ) : (\n \n )}\n \n );\n }\n else {\n return ;\n }\n}\n","import { Breakpoints, styled, Text, TokenTextAppearance, Layout } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { OneFormState } from 'src/types';\nimport { LssiTkmQuestions, PoliticaPrivacidad, LastNavigation } from 'src/components';\nimport { useDispatch, useSelector } from 'react-redux';\n\nconst GeneralconfirmacionWrapper = styled.div`\n \n`;\nconst ContentWrapper = styled.div`\n min-height: calc(100vh - 227px);\n width: 100%;\n display: flex;\n align-items: center;\n @media all and (min-width: 960px) {\n min-height: calc(100vh - 227px);\n }\n .content-wrapper {\n width: 100%;\n }\n`;\n\nexport const ConfirmacionLEM = () => {\n const dispatch = useDispatch();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const [lssiPincode, setLssiPincode] = useState('PERMITE');\n\n /*useEffect(() => {\n if (fields) {\n setLssiPincode(fields.lssiPincode);\n }\n }, [fields]);\n\n useEffect(() => {\n if (lssiPincode === 'PERMITE') {\n dispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n } \n }, [lssiPincode]);*/\n\n return (\n \n \n \n
\n {lssiPincode === 'PERMITE' ? (\n
\n \n ¿Listo para enviar?\n \n
\n ) : (\n \n Mantente al día\n \n )}\n\n {lssiPincode === 'PERMITE' ? null : (\n \n )}\n \n\n \n
\n
\n \n {lssiPincode === 'PERMITE' ? (\n null\n ) : (\n null\n )}\n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm} from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThanKYouLEM = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { FormInfo } from 'src/types';\nimport { LeadGenericoForm, LeadsFormsProps } from '../LeadGenericoForm';\nimport {\n CanalDeContacto,\n CarlineSelect,\n ContactInfoWrapper,\n PantallaNombreApellido,\n Email,\n Telefono,\n ConsentQuestion\n} from 'src/components';\nimport { ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { MapaLeads } from 'src/forms/Leads';\nimport { Steps } from 'src/types';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { leadsCitaVentaData, leadsCitaVentaDealerData } from '.';\nimport { MapaLeadsInPage, partialDataCitaConfigurador } from 'src/forms/LeadsInPage';\n\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nenum CitaVentaSteps {\n Mapa,\n Modelo,\n NombreApellido,\n Contacto,\n EmailTelefono,\n Confirmacion,\n}\n\n\nexport function CitaVentaForm({ inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (isLeadDealer) {\n setPartialData(leadsCitaVentaDealerData);\n } else {\n setPartialData(leadsCitaVentaData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n isLeadDealer ? null :\n {\n screenIndex: CitaVentaSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n ¿{isLeadDealer ? \"Qué \" : \"Y qué \"}modelo te interesa?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: CitaVentaSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n title: (\n <>\n Para poder preparar tu visita, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: CitaVentaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: CitaVentaSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: CitaVentaSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsCitaVentaData: Partial = {\n headers: { FORM_OBJECTIVE: 'Cita' },\n fields: {\n formFields: { COMMENTS_BRAND: 'Petición para reservar una cita en el punto de venta.' },\n formularioFlag: 'prospect',\n formName: 'lead-cita',\n formType: 'contact',\n pageCategory: 'Cita',\n },\n};\n\nexport const leadsCitaVentaDealerData: Partial = {\n headers: { FORM_OBJECTIVE: 'Cita' },\n fields: {\n formFields: { COMMENTS_BRAND: 'Petición para reservar una cita en el punto de venta.' },\n formularioFlag: 'prospect',\n formName: 'lead-cita-dealer',\n formType: 'contact',\n pageCategory: 'Cita',\n },\n};\n","import { Breakpoints, Container, ContainerGutter, ContainerPadding, Layout, Text, TextAlignment, TokenTextAppearance, styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useSelector, useStore } from 'react-redux';\nimport { GeneralConfirmacionLayerWrapper, LastNavigation, LegalesFormatoLayer, PoliticaPrivacidad } from 'src/components';\nimport { OneFormState } from 'src/types';\nimport { formatCalculatedLegal, removePTags } from './helpers';\nimport icon from './icon.svg';\n\nconst PoliticaWrapper = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: center;\n`;\n\nexport const ConfirmacionLeadsNoQuestions = () => {\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\tconst isLayer = formInfo?.formType === 'layer' || !formInfo?.notALayer;\n\tconst store = useStore();\n\tconst { dealersInfo }: OneFormState = store.getState();\n\tconst { oferta } = dealersInfo;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\"icon\"\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t¿Listo para enviar?\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t{isLayer && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tTexto legal de Volkswagen\n\t\t\t\t\t\t\n\t\t\t\t\t\t{oferta && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{oferta.calculatedFinance?.rawResponse ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{formatCalculatedLegal(oferta.calculatedFinance.rawResponse.Response.Parameters.GlobalDisclaimer)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{removePTags(oferta.legal)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{removePTags(oferta.cuotaLegal)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t
\n\t);\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { MultipleCTASelection } from 'src/components/inputs/MultipleCTASelection';\nimport {\n\tFormController,\n\tremoveWhiteSpace,\n\tuseFaContent,\n\tuseGetInstalaciones,\n\tuseGetWaidLitera,\n\tuseOneFormContext\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplate } from 'src/feature-app/Screen/Templates';\nimport {\n\tCarlineBase,\n\tFormDataGroup,\n\tFormDataHeaders,\n\tFormInfo,\n\tOneFormState,\n\tSteps,\n} from 'src/types';\nimport { ThankYouLeads } from '.';\nimport { formatFields, formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport {\n\tgetConfiguradorComercialesData,\n\tgetDescInterestCarline,\n\tgetOfertasComercialesData\n} from './helpers';\nimport { LeadGenericoFormProps } from './LeadGenericoForm';\n\nconst isOfertasForm = (formName: string) => formName === 'lead-oferta';\nconst getDescFormObjective = (formName: string, carline: CarlineBase, headers: FormDataHeaders) =>\n isOfertasForm(formName) && carline?.campaign?.dfo?.ofertas\n ? carline.campaign.dfo.ofertas\n : headers.DESC_FORMOBJECTIVE;\n\nconst getSfCampaignName = (formName: string, carline: CarlineBase) => {\n\tif (isOfertasForm(formName) && carline?.campaign?.salesforce) {\n\t\tconst sfCampaignName = [];\n\t\tsfCampaignName[\"headers[SF_CAMPAIGN_NAME]\"]=carline?.campaign?.salesforce;\n\t\treturn { ...sfCampaignName };\n\t}\n\treturn null;\n\t};\n\nexport const horarioContactoOptions = [\n {\n value: 'Mañana',\n detallesPrevStep: 'Por la mañana',\n label: 'Por la mañana',\n },\n {\n value: 'Mediodia',\n detallesPrevStep: 'Al mediodía',\n label: 'Al mediodía',\n },\n {\n value: 'Tarde',\n detallesPrevStep: 'Por la tarde',\n label: 'Por la tarde',\n },\n {\n value: 'A cualquier hora',\n detallesPrevStep: 'A cualquier hora',\n label: 'A cualquier hora',\n },\n];\n\nconst stepHorario = {\n title: (\n <>\n ¿Cúando prefieres que te llamemos?\n *\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: 100, // Se reiniciará más adelante\n name: 'HorarioContacto',\n outputs: ['horarioContacto'],\n outputsText: ['horarioContacto'],\n};\n\nexport function LeadGenericoComercialesForm({ steps, leadData, leadInfo, firstStep, lastStep }: LeadGenericoFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const { contacto } = useSelector((state: OneFormState) => state.formData.fields);\n const store = useStore();\n const installations = useGetInstalaciones('LCV_DDB_FRM_LEM_REC_LEM', 'LCV_SF_LEAD_INSTALLATION'); // llama al metodo getInstallations()\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const faContent = useFaContent();\n const waid = useGetWaidLitera();\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields, headers, flags } = formData;\n const { selectedInstallation, salesGroup, selectedCarline } = dealersInfo;\n\n const {\n VGED_CommercialName__c,\n ShippingStreet,\n VGED_DealerCode__c,\n ShippingStateCode,\n KVPSCode__c,\n Id\n } = selectedInstallation;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_URL]': url,\n 'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n 'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[FORM_OBJECTIVE]': getDescFormObjective(fields.formName, selectedCarline, headers),\n\t\t...getSfCampaignName(fields.formName, dealersInfo?.selectedCarline),\n\n ...formatFlags(flags), // Flags comunes a todos los formularios de leads\n ...formatFields(fields.formFields), // Fields comunes a todos los formularios de leads\n\n 'fields[DPS_BRAND]': 'Volkswagen CV',\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n 'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n\t\t\t\t'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Contact Center Qualification',\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_PHONE_MOBILE_FULL]': `${fields.prefix}${fields.cellphone}`,\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n 'fields[PERSON_PREFERRED_CHANNEL]': fields.contacto,\n 'fields[PERSON_PREFERRED_SLOT]': fields.contacto === 'Teléfono' ? fields.horarioContacto : undefined,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[SF_LEAD_INSTALLATION_ADDRESS]': ShippingStreet,\n 'fields[SF_LEAD_INSTALLATION_CODE]': VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_ID]': Id,\n 'fields[SF_LEAD_INSTALLATION_NAME]': VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': ShippingStateCode.toString().padStart(2, '0'),\n 'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n 'fields[VEH_INTEREST_BRAND]': 'Volkswagen CV',\n 'fields[VEH_INTEREST_ID]': dealersInfo?.selectedCarline?.code,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n 'fields[VEH_INTEREST_SALESGROUP]': salesGroup?.salesGroupName,\n 'fields[VEH_INTEREST_SALESGROUP_ID]': salesGroup?.salesGroupId,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[VEH_INTEREST_LINK]': url,\n ...getDpsFields(faContent),\n //...getSalesGroup(salesGroup),\n //...getHorario(fields.horario),\n\n ...(await getOfertasComercialesData(formData, dealersInfo)),\n //...(await getMatchData(formData, dealersInfo, faContent)), Match no disponible en LCV\n ...(await getConfiguradorComercialesData(formData)),\n\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n // const response = await dpsSend(formDataInfo);\n const response = await oneformBFFNdpsSend(formDataInfo);\n\n if (response && response.data && response.data.status && response.data.status.code && response.data.status.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const updateSteps = (steps: Steps[]) => {\n dispatch({ type: 'UPDATE_STEPS', payload: steps });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n };\n\n useEffect(() => {\n if (contacto === 'Teléfono' || contacto === 'Telefono') {\n const indexOfContacto = getIndexInSteps(steps, 'Contacto');\n const newSteps = [...steps];\n newSteps.splice(indexOfContacto + 1, 0, stepHorario);\n const finalSteps = resetStepsScreenIndex(newSteps);\n\n updateSteps(finalSteps);\n handleNextStep();\n } else if (contacto === 'Email') {\n const { steps } = store.getState().formInfo;\n const indexOfContacto = getIndexInSteps(steps, 'HorarioContacto');\n\n if (indexOfContacto === -1) {\n return;\n } else {\n const newSteps = removeStep(steps, 'HorarioContacto');\n const finalSteps = resetStepsScreenIndex(newSteps);\n\n updateSteps(finalSteps);\n }\n }\n }, [contacto]);\n\n const leadGenericoData: Partial = {\n headers: {\n // DESC_CAMPAIGNBLOCK: '9. VW LEM',\n FK_SYSTEM: 'LCV_DDB_FRM_LEM_REC_LEM',\n DPS_TOKEN: 'LCV_DDB_FRM_LEM_REC_LEM',\n FORM_ID: waid ? waid : '',\n ...leadData.headers,\n },\n flags: {\n PERSON_RGPD_ADAPTED: 'true',\n FLAG_IS_MYSTERY_LEAD: 'false',\n FLAG_RELACION_MARCA_SIN_IC: 'false',\n FLAG_SF_INTEGRATION: 'true',\n FLAG_IS_COMPANY: 'false'\n },\n fields: { ...leadData.fields },\n };\n\n const leadGenericoInfo: Partial = {\n formStarted: true,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n sendFormCallback: sendForm,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps,\n notALayer: false,\n stepsHistory: [steps[0].screenIndex],\n thankYouComponent: ,\n ...leadInfo,\n };\n\n useEffect(() => {\n initializeForm(leadGenericoInfo, leadGenericoData);\n setLoading(false);\n }, []);\n\n return loading ? null : ;\n}\n","import React from 'react';\nimport { useGetBrand } from 'src/feature-app/hooks';\nimport { LeadGenericoComercialesForm } from './LeadGenericoComercialesForm';\nimport { LeadGenericoForm, LeadGenericoFormProps } from './LeadGenericoForm';\n\nexport const LeadGenericoController = (props: LeadGenericoFormProps) => {\n const brand = useGetBrand();\n\n return brand === 'V' ? : brand === 'N' ? : null;\n};\n","import { OneFormContent } from 'src/feature-app';\nimport { CalculatorDefaultResponse, CalculatorFormatedSummaries } from 'src/types';\nimport { formatHeaders } from '../../format-fields';\n\nexport const getFinanceCalculation = async (faContent: OneFormContent) => {\n\tif (faContent.financeCalculation != undefined) {\n\t\tconst calculatedFinanceRaw = faContent.financeCalculation as CalculatorDefaultResponse['rawResponse'];\n\t\tconst formatedSummaries = formatSummaries(calculatedFinanceRaw);\n\n\t\tconst headers = {\n\t\t\tFORM_NAME: 'vw-oneform-lead-oferta',\n\t\t};\n\n\t\tconst ofertaCalculatedFields = {\n\t\t\t'fields[VEH_INTEREST_FINANCIAL_PRODUCT]': calculatedFinanceRaw.Response.Parameters.Description,\n\t\t\t'fields[VEH_INTEREST_OFFER_PRICE]': `${formatedSummaries.Full.Rate.Value + '€/mes'}`,\n\t\t\t'fields[VEH_INTEREST_OFFER_DETAIL]': formatOfferDetail(formatedSummaries, calculatedFinanceRaw.Response.Parameters.Description),\n\t\t};\n\t\treturn { ...formatHeaders(headers), ...ofertaCalculatedFields };\n\t}\n\treturn null;\n};\n\nexport function formatSummaries(response: CalculatorDefaultResponse['rawResponse']): CalculatorFormatedSummaries | undefined {\n\tconst Summaries = response?.Response?.Result?.Summaries?.Summary.reduce((acc: any, detail: any) => {\n\t\tacc[detail['@Type']] = detail;\n\t\treturn acc;\n\t}, {});\n\n\tif (!Summaries) return undefined;\n\n\tObject.keys(Summaries).forEach((key) => {\n\t\tconst summary = Summaries[key];\n\t\tconst details = summary?.DetailGroups?.DetailGroup?.Details?.Detail;\n\n\t\tif (details) {\n\t\t\tconst detailsArray = Array.isArray(details) ? details : [details];\n\t\t\tSummaries[key] = detailsArray.reduce((acc, detail) => {\n\t\t\t\tacc[detail['@ID']] = detail;\n\t\t\t\treturn acc;\n\t\t\t}, {});\n\t\t}\n\t});\n\n\treturn Summaries;\n}\nexport function formatOfferDetail(formatedSummaries: CalculatorFormatedSummaries, financialProduct: string): string {\n\treturn `${financialProduct == 'My Way' ? 'Financiación ' + financialProduct : financialProduct} calculada por el usuario` + `\\r\\n* Entrada inicial: ${formatedSummaries.Full.DownPayment.Value} €` + `\\r\\n* Meses de financiación: ${formatedSummaries.Full.Duration.Value} Meses` + `${formatedSummaries.Full.Kilometers?.Value ? `\\r\\n* Kilómetros anuales: ${formatedSummaries.Full.Kilometers.Value} km` : ''}` + `\\r\\n* Cuota: ${formatedSummaries.Full.Rate.Value} €` + `${formatedSummaries.Full.FinalRate?.Value ? `\\r\\n* Cuota Final (Opcional): ${formatedSummaries.Full.FinalRate.Value} €` : ''}`;\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { FormController, removeWhiteSpace, useFaContent, useFeatureAppConfig, useGetInstalaciones, useGetWaidLitera, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { CarlineBase, FormDataGroup, FormDataHeaders, FormInfo, Horario, OneFormState, Steps } from 'src/types';\nimport { ThankYouLeads } from '.';\nimport { formatFields, formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { getConfiguradorData, getDescInterestCarline, getMatchData, getOfertasData } from './helpers';\nimport { getFinanceCalculation } from './helpers/get-financeCalculation';\n\nexport enum LeadGenerico {\n\tEmpezar,\n\tMapa,\n\tModelo,\n\tNombreApellido,\n\tEmailTelefono,\n\tContacto,\n\tConfirmacion,\n}\n\nexport interface LeadGenericoFormProps {\n\tsteps: Steps[];\n\tleadData: Partial;\n\tleadInfo: Partial;\n\tfirstStep: Steps;\n\tlastStep: Steps;\n\tinPage?: boolean;\n\tisConfigurador?: boolean;\n}\n\nexport interface LeadsFormsProps {\n\tinPage?: boolean;\n\tisConfigurador?: boolean;\n\tisLeadDealer?: boolean;\n\tisOfertasOrMatch?: boolean;\n\tupdatedFormData?: Partial;\n\tupdatedFormInfo?: Partial;\n}\n\nexport const isOfertasForm = (formName: string) => formName === 'lead-oferta';\nconst getDescFormObjective = (formName: string, carline: CarlineBase, headers: FormDataHeaders) => (isOfertasForm(formName) && carline?.campaign?.dfo?.ofertas ? carline.campaign.dfo.ofertas : headers.FORM_OBJECTIVE);\n\nconst getSfCampaignName = (formName: string, carline: CarlineBase) => {\n\tif (isOfertasForm(formName) && carline?.campaign?.salesforce) {\n\t\tconst sfCampaignName = [];\n\t\tsfCampaignName['headers[SF_CAMPAIGN_NAME]'] = carline?.campaign?.salesforce;\n\t\treturn { ...sfCampaignName };\n\t}\n\treturn null;\n};\n\nconst getFormDetails = (callCenterCampaign: string) => {\n\tif (callCenterCampaign) {\n\t\tconst formDetails = [];\n\t\tformDetails['headers[FORM_DETAILS]'] = callCenterCampaign;\n\t\treturn { ...formDetails };\n\t}\n\treturn null;\n};\n\nexport function LeadGenericoForm({ steps, leadData, leadInfo, firstStep, lastStep, inPage, isConfigurador }: LeadGenericoFormProps) {\n\tconst { initializeForm } = useOneFormContext();\n\tconst store = useStore();\n\tconst config = useFeatureAppConfig();\n\tconst installations = useGetInstalaciones('VW_DDB_FRM_LEM_REC_LEM', 'VOLKSWAGEN_SF_LEAD_INSTALLATION'); // llama al metodo getInstallations()\n\tconst dispatch = useDispatch();\n\tconst [loading, setLoading] = useState(true);\n\tconst faContent = useFaContent();\n\tconst waid = useGetWaidLitera();\n\n\tconst getHorario = (horario: Horario) => {\n\t\tlet horarioField = null;\n\n\t\tif (horario) {\n\t\t\tconst horarioFormatted = horario === 'morning' ? 'MANANA' : horario === 'evening' ? 'MEDIODIA' : 'TARDE';\n\n\t\t\thorarioField = { 'fields[PERSON_PREFERRED_SLOT]': horarioFormatted };\n\t\t}\n\t\treturn horarioField;\n\t};\n\n\tconst sendForm = (): Promise => {\n\t\tconst { formData, dealersInfo }: OneFormState = store.getState();\n\t\tconst { fields, headers, flags } = formData;\n\t\tconst { selectedInstallation, salesGroup, selectedCarline } = dealersInfo;\n\n\t\tconst { VGED_CommercialName__c, ShippingStreet, VGED_DealerCode__c, ShippingStateCode, KVPSCode__c, Id } = selectedInstallation;\n\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, referalUrl, url, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t'headers[FORM_URL]': url,\n\t\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t\t'headers[FORM_OBJECTIVE]': fields.formObjective ? fields.formObjective : getDescFormObjective(fields.formName, selectedCarline, headers),\n\t\t\t\t...getSfCampaignName(fields.formName, dealersInfo?.selectedCarline),\n\t\t\t\t...getFormDetails(fields.callCenterCampaign),\n\n\t\t\t\t...formatFlags(flags), // Flags comunes a todos los formularios de leads\n\t\t\t\t...formatFields(fields.formFields), // Fields comunes a todos los formularios de leads\n\n\t\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t\t'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n\t\t\t\t'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n\t\t\t\t'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n\t\t\t\t'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n\t\t\t\t'fields[PERSON_TREATMENT]': fields.trato,\n\t\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t\t'fields[PERSON_PHONE_MOBILE_FULL]': `${fields.prefix}${fields.cellphone}`,\n\t\t\t\t'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n\t\t\t\t'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n\t\t\t\t'fields[PERSON_POSTAL_CP]': fields.postalCode,\n\t\t\t\t'fields[PERSON_PREFERRED_CHANNEL]': fields.contacto,\n\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk,\n\t\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_ADDRESS]': ShippingStreet,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_CODE]': VGED_DealerCode__c,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_ID]': Id,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_NAME]': VGED_CommercialName__c,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': ShippingStateCode.toString().padStart(2, '0'),\n\t\t\t\t'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n\t\t\t\t'fields[VEH_INTEREST_BRAND]': 'Volkswagen',\n\t\t\t\t'fields[VEH_INTEREST_ID]': dealersInfo?.selectedCarline?.code,\n\t\t\t\t'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n\t\t\t\t'fields[VEH_INTEREST_SALESGROUP]': salesGroup?.salesGroupName,\n\t\t\t\t'fields[VEH_INTEREST_SALESGROUP_ID]': salesGroup?.salesGroupId,\n\t\t\t\t'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n\t\t\t\t'fields[VEH_INTEREST_LINK]': inPage ? referalUrl : url,\n\t\t\t\t'fields[COMMENTS_PERSON]': fields.comments,\n\t\t\t\t'fields[COMMENTS_CONTACT_CENTER]': fields.commentsCC,\n\t\t\t\t...getDpsFields(faContent),\n\t\t\t\t//...getSalesGroup(salesGroup),\n\t\t\t\t...getHorario(fields.horario),\n\n\t\t\t\t...(await getOfertasData(formData, dealersInfo)),\n\t\t\t\t...(await getMatchData(formData, dealersInfo, faContent)),\n\t\t\t\t...(await getConfiguradorData(formData)),\n\t\t\t\t...(await getFinanceCalculation(faContent)),\n\t\t\t};\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\n\t\t\tconst formDataInfo = formDataBuilder(dataParsed);\n\t\t\t// const response = await dpsSend(formDataInfo);\n\t\t\tconst response = await oneformBFFNdpsSend(formDataInfo);\n\n\t\t\tif (response && response.data && response.data.status && response.data.status.code && response.data.status.code == '200') {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst leadGenericoData: Partial = {\n\t\theaders: {\n\t\t\t// DESC_CAMPAIGNBLOCK: '9. VW LEM',\n\t\t\tFK_SYSTEM: 'VW_DDB_FRM_LEM_REC_LEM',\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_LEM_REC_LEM',\n\t\t\tFORM_ID: waid ? waid : 'B09C01_LEM_WA1',\n\t\t\t...leadData.headers,\n\t\t},\n\t\tflags: {\n\t\t\tPERSON_RGPD_ADAPTED: 'true',\n\t\t\tFLAG_IS_MYSTERY_LEAD: 'false',\n\t\t\tFLAG_RELACION_MARCA_SIN_IC: 'false',\n\t\t\tFLAG_SF_INTEGRATION: 'true',\n\t\t\tFLAG_ALLOWS_DATA_ENRICHMENT: 'false',\n\t\t\t// FLAG_ISQUALIFIED: 'false',\n\t\t\t// FLAG_MAILRECEPCIONLEAD: 'true',\n\t\t\t// REQUIERE_CONTACTO_DEALER: 'false',\n\t\t},\n\t\tfields: {\n\t\t\t...leadData.fields,\n\t\t},\n\t};\n\n\tconst leadGenericoInfo: Partial = {\n\t\tformStarted: true,\n\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\tlastStep,\n\t\tsendFormCallback: sendForm,\n\t\tnumberOfScreens: steps.length,\n\t\tscreenIndex: firstStep.screenIndex,\n\t\tstep: firstStep,\n\t\tsteps,\n\t\tstepsHistory: [steps[0].screenIndex],\n\t\tthankYouComponent: ,\n\t\tnotALayer: inPage ? true : false,\n\t\tformTheme: inPage ? 'main' : 'inverted',\n\t\tformType: inPage ? 'inPage' : 'layer',\n\t\t...leadInfo,\n\t};\n\n\tuseEffect(() => {\n\t\tinitializeForm(leadGenericoInfo, leadGenericoData);\n\t\tsetLoading(false);\n\t}, []);\n\n\treturn loading ? null : ;\n}\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyLeadsController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[]): JSX.Element[] => {\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyLeadsController } from './';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyLeadsController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyLeadsWrapper = () => {\n return (\n \n \n \n );\n};\n","\nimport React, { useEffect, useState } from 'react';\nimport { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { MultipleCTASelection } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app';\nimport { RenderController, OneElementTemplate } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { LocateUser } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { DealersData, OneFormState, Steps } from 'src/types';\nimport { JourneyLeadsWrapper } from './JourneyLeadsWrapper';\nimport { CTAsHorario } from 'src/feature-app/InputsValues';\n\nenum MapaLeadsSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\ninterface MapaLeadsProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst renderTitle = (formName: string) => {\n return (\n <>\n {formName === 'presupuesto' || formName === 'masInformacion' || formName === 'oferta' ? (\n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ) : (\n <>\n {formName === 'testDrive' ? (\n \n {' '}\n ¿Dónde prefieres{' '}\n \n provarlo?*\n \n \n ) : (\n \n {' '}\n ¿A dónde quieres{' '}\n \n ir?*\n \n \n )}\n \n )}\n \n );\n};\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaLeads(props: MapaLeadsProps) {\n const { formName, showHorario } = props;\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { dealer }: { dealer?: DealersData } = formData.fields;\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n } = useOneFormContext();\n\n let stepsHorario: Steps[] = [\n {\n title: <>{renderTitle(formName)},\n fields: ,\n screenIndex: MapaLeadsSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: MapaLeadsSteps.Horario,\n name: 'MapSlotPref',\n title: (\n <>\n ¿Cúando prefieres pasar por el{' '}\n \n punto de venta?*\n \n \n ),\n fields: (\n } />\n ),\n outputs: ['horario'],\n outputsText: ['horario'],\n },\n {\n screenIndex: MapaLeadsSteps.SeleccionCita,\n name: 'MapSelect',\n alternateTitle: (\n <>\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n {formName === 'presupuesto' ?\n (\n
\n Los encargados de elaborar un presupuesto son los asesores de la red de Concesionarios Oficial Volkswagen. Elige uno y le enviaremos tu petición para que te haga una propuesta a medida.{' '}\n
\n )\n : null\n }\n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n let stepsWithoutHorario: Steps[] = [\n {\n title: (\n <>\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n {formName === 'presupuesto' ?\n (\n
\n Los encargados de elaborar un presupuesto son los asesores de la red de Concesionarios Oficial Volkswagen. Elige uno y le enviaremos tu petición para que te haga una propuesta a medida.{' '}\n
\n )\n : null\n }\n \n ),\n fields: ,\n screenIndex: MapaLeadsSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const steps = showHorario ? stepsHorario : stepsWithoutHorario;\n const [selectedStep, setSelectedStep] = useState(null);\n\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n handleFirstLoad();\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n setTimeout(() => {\n setShowPreviousStep(false);\n }, TIME_FOR_TRANSFORM);\n }\n }\n setNextMultiStep(() => nextMapaLeads);\n setPreviousMultiStep(() => previousMapaLeads);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaLeads = () => {\n const { multiStepScreenIndex } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Una vez avanzamos dentro de los multisteps se activa el wait\n // previous step para volver hacia atrás dentro del propio multistep.\n if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n updateWaitForNextAndPreviousStep(null, true);\n }\n\n setTimeout(() => {\n\n updateScreenChangeVariables(multiStepScreenIndex + 1);\n // Si estamos en el último paso del multistep se desactiva el\n // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n updateWaitForNextAndPreviousStep(false, null);\n if (multiStepScreenIndex === 0) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const previousMapaLeads = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n return selectedStep ? (\n \n \n \n ) : null;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { CanalDeContacto, CarlineSelect, PantallaNombreApellido, Email, Telefono, CodigoPostal, ContactInfoWrapper } from 'src/components';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { MapaLeads, ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport {\n DetalleMotivo,\n ConsentQuestion\n} from 'src/components';\nimport { FormInfo, Steps } from 'src/types';\nimport { LeadsFormsProps } from '../LeadGenericoForm';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { leadsMasInformacionDealerPartialData, leadsMasInformacionPartialData } from '.';\nimport { MapaLeadsInPage, PartialDataMasInformacionConfigurador } from 'src/forms/LeadsInPage';\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nenum MasInformacionSteps {\n Modelo,\n Mapa,\n NombreApellido,\n CodigoPostal,\n Contacto,\n EmailTelefono,\n Comentarios,\n Confirmacion,\n}\n\n\nexport function MasInformacionForm({ updatedFormData, inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const isComerciales = useIsComerciales();\n\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (updatedFormData) {\n setPartialData(updatedFormData);\n } else if (isLeadDealer) {\n setPartialData(leadsMasInformacionDealerPartialData);\n } else {\n setPartialData(leadsMasInformacionPartialData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te interesa?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n isLeadDealer ? null :\n {\n screenIndex: MasInformacionSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n Para poder preparar tu visita, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: MasInformacionSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n ¿Quieres saber algo en concreto?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.Comentarios,\n name: 'Comentarios',\n outputs: ['comments'],\n outputsText: ['comments'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsMasInformacionPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Más Información' },\n fields: {\n formFields: {},\n formularioFlag: 'masInformacion',\n formName: 'lead-mas_informacion',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n\nexport const leadsMasInformacionDealerPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Más Información' },\n fields: {\n formFields: {},\n formularioFlag: 'masInformacion',\n formName: 'lead-mas_informacion-dealer',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { CanalDeContacto, Email, ContactInfoWrapper, PantallaNombreApellido, Telefono, CodigoPostal, ConsentQuestion } from 'src/components';\nimport { OneElementTemplate } from 'src/feature-app/Screen/Templates';\nimport { MapaLeads, ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { FormDataGroup, FormInfo, Steps } from 'src/types';\nimport { ConfirmacionLeads } from '../ConfirmacionLeads';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nexport enum OfertaSteps {\n Contacto,\n EmailTelefono,\n Mapa,\n NombreApellido,\n CodigoPostal,\n}\n\nexport function OfertaForm() {\n const isComerciales = useIsComerciales();\n\n const formSteps: Steps[] = [\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: } />,\n screenIndex: OfertaSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: OfertaSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n screenIndex: OfertaSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n title: (\n <>\n Para poder contactar contigo, necesitamos saber quién eres\n \n ),\n fields: } />,\n screenIndex: OfertaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields: } />,\n screenIndex: OfertaSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n ];\n\n const confirmSteps: Steps[] =\n [\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n screenIndex: formSteps.length,\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n screenIndex: formSteps.length + 1,\n },\n {\n fields: ,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n screenIndex: formSteps.length + 2,\n },\n ]\n ;\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm([...formSteps, ...confirmSteps], true);\n\n const citaVentaData: Partial = {\n headers: isComerciales ? { FORM_OBJECTIVE : 'SF201903221335'} : {FORM_OBJECTIVE : 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'Presupuesto',\n formName: 'lead-oferta',\n formType: 'quote',\n pageCategory: 'Oferta',\n },\n };\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport {\n CanalDeContacto,\n CarlineSelect,\n ContactInfoWrapper,\n PantallaNombreApellido,\n Email,\n Telefono,\n CodigoPostal,\n ConsentQuestion\n} from 'src/components';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { MapaLeads, ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { FormInfo, Steps } from 'src/types';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { LeadsFormsProps } from '../LeadGenericoForm';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { leadsPresupuestoDealerPartialData, leadsPresupuestoPartialData } from '.';\nimport { MapaLeadsInPage, PresupuestoPartialDataConfigurador } from 'src/forms/LeadsInPage';\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nexport enum PresupuestoSteps {\n Modelo,\n Mapa,\n NombreApellido,\n CodigoPostal,\n Contacto,\n EmailTelefono,\n Confirmacion,\n}\n\nexport function PresupuestoForm({ updatedFormData, isOfertasOrMatch, inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const isComerciales = useIsComerciales();\n\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (updatedFormData) {\n setPartialData(updatedFormData);\n } else if(isLeadDealer){\n setPartialData(leadsPresupuestoDealerPartialData);\n }\n else {\n setPartialData(leadsPresupuestoPartialData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te interesa?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: PresupuestoSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n isLeadDealer ? null :\n {\n screenIndex: PresupuestoSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n Para poder contactar contigo, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n }\n />\n :\n \n \n \n }\n />\n }\n \n ),\n screenIndex: PresupuestoSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: PresupuestoSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: PresupuestoSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: PresupuestoSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsPresupuestoPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'presupuesto',\n formName: 'lead-presupuesto',\n formType: 'quote',\n pageCategory: 'Presupuesto',\n },\n\n};\n\nexport const leadsPresupuestoDealerPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'presupuesto',\n formName: 'lead-presupuesto-dealer',\n formType: 'quote',\n pageCategory: 'Presupuesto',\n },\n};\n","import React from 'react';\nimport { MasInformacionForm } from '../MasInformacion';\nimport { leadsStockPartialData } from '.';\n\nexport function StockForm() {\n return ;\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsStockPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Stock' },\n fields: {\n formFields: { COMMENTS_BRAND: 'Usuario interesado en vehículos de stock sin haber encontrado disponibilidad en el rango de KM seleccionados' },\n formularioFlag: 'masInformacion',\n formName: 'lead-stock',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n\nexport const leadsStockInPagePartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Stock' },\n fields: {\n ...leadsStockPartialData.fields,\n formFields: undefined\n },\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport {\n CanalDeContacto,\n CarlineSelect,\n ContactInfoWrapper,\n PantallaNombreApellido,\n Email,\n Telefono,\n CodigoPostal,\n ConsentQuestion\n} from 'src/components';\nimport { ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormInfo, Steps } from 'src/types';\nimport { LeadsFormsProps } from '../LeadGenericoForm';\nimport { MapaLeads } from '../MapaLeads';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { leadsTestDriveDealerPartialData, leadsTestDrivePartialData } from '.';\nimport { MapaLeadsInPage, PartialDataTestDriveConfigurador } from 'src/forms/LeadsInPage';\n\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nexport enum TestDriveSteps {\n Modelo,\n Mapa,\n NombreApellido,\n CodigoPostal,\n Contacto,\n EmailTelefono,\n Confirmacion,\n}\n\nexport function TestDriveForm({ updatedFormData, inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const isComerciales = useIsComerciales();\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (updatedFormData) {\n setPartialData(updatedFormData);\n } if (isLeadDealer) {\n setPartialData(leadsTestDriveDealerPartialData);\n } else {\n setPartialData(leadsTestDrivePartialData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te apetece conducir?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n isLeadDealer ? null :\n {\n screenIndex: TestDriveSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n Para poder contactar contigo, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields:\n (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: TestDriveSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsTestDrivePartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Test Drive' },\n fields: {\n formFields: {},\n formularioFlag: 'testDrive',\n formName: 'lead-test_drive',\n formType: 'testdrive',\n pageCategory: 'Test Drive',\n },\n};\n\nexport const leadsTestDriveDealerPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Test Drive' },\n fields: {\n formFields: {},\n formularioFlag: 'testDrive',\n formName: 'lead-test_drive-dealer',\n formType: 'testdrive',\n pageCategory: 'Test Drive',\n },\n};\n","import React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { useGetBrand } from 'src/feature-app/hooks';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { DealersInfo, FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n dealersInfo: DealersInfo;\n inPage?: boolean;\n}\n\nconst copysThankYou = [\n {\n name: 'lead-presupuesto',\n titleCopyRegular: 'Pronto recibirás',\n titleCopyBold: 'el presupuesto para tu ',\n bodyCopy: ['Un asesor contactará contigo para hacerte llegar la información que necesitas.'],\n },\n {\n name: 'lead-oferta',\n titleCopyRegular: 'Estás muy cerca de conducir',\n titleCopyBold: 'tu ',\n bodyCopy: ['Un asesor contactará contigo muy pronto para darte todos los detalles sobre esta oferta.'],\n },\n {\n name: 'lead-match',\n titleCopyRegular: 'Estás muy cerca de conducir',\n titleCopyBold: 'tu ',\n bodyCopy: ['Un asesor contactará muy pronto contigo para hacerte una oferta a medida.'],\n },\n {\n name: 'lead-mas_informacion',\n titleCopyRegular: 'Pronto recibirás',\n titleCopyBold: 'más información sobre el ',\n bodyCopy: ['Un asesor contactará contigo para responder a todas tus preguntas.'],\n },\n {\n name: 'lead-stock',\n titleCopyRegular: 'Pronto ',\n titleCopyBold: 'responderemos a tus preguntas',\n bodyCopy: ['Un asesor contactará contigo para explicártelo todo sobre nuestros modelos con disponibilidad inmediata.'],\n },\n {\n name: 'lead-cita',\n titleCopyRegular: 'Te esperamos en',\n titleCopyBold: '',\n bodyCopy: [\n 'Ya hemos recibido tu solicitud, ',\n '. Muy pronto, un asesor contactará contigo para terminar de cerrar tu cita.',\n ],\n },\n {\n name: 'lead-test_drive',\n titleCopyRegular: 'Te esperamos en',\n titleCopyBold: '',\n bodyCopy: [\n 'Un asesor te llamará pronto para terminar de confirmar contigo los detalles de la prueba de conducción.',\n ],\n },\n {\n name: 'lead-call_center',\n titleCopyRegular: 'Lead enviado a',\n titleCopyBold: '',\n bodyCopy: [\n 'Un asesor contactará con el lead para responder a sus preguntas.',\n ],\n }\n];\n\nfunction ThankYouLeads(props: ThankYouProps) {\n const { dealersInfo, inPage } = props;\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const { modelo, formName, name: nombre } = formData.fields;\n const { oferta } = dealersInfo;\n const { match } = dealersInfo;\n\n const dispatch = useDispatch();\n const brand = useGetBrand();\n const trackingManager = useTrackingManager();\n\n const [completeInfo, setCompletInfo] = useState(null);\n const [completarBold, setCompletarBold] = useState(null);\n const [bodyCopy, setbodyCopy] = useState('');\n const [ctaUrl, setCtaUrl] = useState(null);\n\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } } });\n\n const aux = copysThankYou.filter((a: any) => {\n return formName.includes(a.name);\n });\n setCompletInfo(aux);\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n useEffect(() => {\n if (completeInfo && completeInfo.length > 0) {\n\n if (completeInfo[0].bodyCopy.length === 1) {\n setbodyCopy(completeInfo[0].bodyCopy[0]);\n } else {\n const aux = completeInfo[0].bodyCopy[0] + nombre + completeInfo[0].bodyCopy[1];\n setbodyCopy(aux);\n }\n\n if (formName === 'lead-oferta') {\n setCompletarBold(oferta.carline.title);\n } else if (formName === 'lead-match') {\n setCompletarBold(match.carline.title);\n } else if (formName === 'lead-stock') {\n setCompletarBold('');\n } else {\n if (formName.includes('lead-presupuesto') || formName.includes('lead-mas_informacion')) {\n setCompletarBold(modelo);\n } else {\n setCompletarBold(dealersInfo.selectedInstallation.VGED_CommercialName__c);\n }\n }\n }\n }, [completeInfo]);\n\n useEffect(() => {\n if (formName === 'lead-oferta') {\n if (brand === 'V') {\n setCtaUrl(`https://www.volkswagen.es/es/modelos/${oferta.carline.name}.html`);\n } else if (brand === 'N') {\n setCtaUrl(`https://www.volkswagen-comerciales.es/es/modelos/${oferta.carline.name}.html`);\n }\n } else if (formName === 'lead-match') {\n setCtaUrl(`https://www.volkswagen.es/es/modelos/${match.carline.name}.html`);\n }\n }, [dealersInfo]);\n\n const ofertasComercialesFields = 'En breve te llamaremos desde un número terminado en 904.';\n\n const screen: Steps = {\n title: (\n <>\n {completeInfo && completeInfo.length > 0 ? (\n inPage ?\n \n : (\n formName === 'lead-oferta' && brand === 'N' ?\n \n :\n \n )\n\n ) : null\n }\n \n ),\n fields: (\n <>\n {\n inPage ?\n \n :\n \n }\n \n ),\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n dealersInfo: state.dealersInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouLeads);\n\nexport { ConnectedComponent as ThankYouLeads };\n","export const appendJsonKey = (result: any) => `JSONKEY${JSON.stringify(result)}`;\n","import { appendJsonKey } from 'src/forms';\nimport { DealersData, FormDataGroup } from 'src/types';\n\nexport const isCalculadoraForm = (formName: string) => formName === 'prospect-posventa-calculadora';\n\nexport const getCalculadoraData = (formData: FormDataGroup) => {\n const { fields } = formData;\n const dealer: DealersData = fields.dealer;\n\n if (!isCalculadoraForm(fields.formName)) {\n return null;\n } else {\n const calculadoraFields = {\n 'fields[DESC_DEALER_CODE]': dealer?.dmsInfo?.dealerId?.codInstalacion,\n 'fields[DESC_DEALER_CODE_KVPS]': dealer?.kvps,\n 'fields[DESC_DEALER]': dealer?.name,\n 'fields[DESC_DEALER_ADDRESS]': getAddress(dealer),\n 'fields[NUM_PHONE_ALTERNATIVE]': dealer?.markerInfo?.dealerInfo?.phone,\n 'fields[DESC_AUXFIELD1]': dealer?.markerInfo?.dealerInfo?.mail,\n 'fields[DESC_VEH_PLATE]': fields.matricula,\n 'fields[DESC_VEH_PLATE_DATE]': fields.anoMatriculacion + ' 00:00:00',\n 'fields[DESC_ACTUAL_VEHICLE_MODEL]': fields.modelo,\n 'fields[DESC_RATING_MILEAGE]': fields.kilometros,\n 'fields[DESC_BUDGET]': appendJsonKey(fields.budget),\n 'fields[DESC_AUXFIELD11]': fields.deepLink,\n };\n\n return { ...calculadoraFields };\n }\n};\n\nconst getAddress = (dealerData: DealersData) => {\n const { address, zipCode, city, province, country } = dealerData?.markerInfo?.dealerInfo;\n return `${address} ${zipCode} ${city} ${province} ${country}`;\n};\n","import { DealersInfo } from 'src/types';\n\nexport const getCodInterestCarline = (dealersInfo: DealersInfo, code: string) => {\n const { selectedCarline } = dealersInfo;\n\n if (!code && !selectedCarline) return '';\n if (code && !selectedCarline) {\n return code;\n }\n\n return String(selectedCarline.code);\n};\n","import { DealersInfo } from 'src/types';\n\nexport const getDescInterestCarline = (dealersInfo: DealersInfo, modelo: string) => {\n const { selectedCarline } = dealersInfo;\n\n if (!modelo && !selectedCarline) return '';\n if (modelo && !selectedCarline) {\n return modelo;\n }\n\n return `${selectedCarline.nuevo ? 'Nuevo ' : ''}${selectedCarline.title}`;\n};\n","import { getModelFilter, getOption } from 'src/bff/get-marketing-code';\nimport { FormDataGroup } from 'src/types';\nimport { isOfertasForm } from '../LeadGenericoForm';\n\nexport const getConfiguradorData = async (formData: FormDataGroup) => {\n\tconst { fields } = formData;\n\tconst { marketingCodeData, marketingCodeResponse } = fields;\n\n\tif (!marketingCodeResponse) return null;\n\t//const price = await getPriceDataWithMarketingCode(marketingCodeResponse);\n\n\tconst type = getOption('TYPE', marketingCodeResponse?.content.consolidatedData.options);\n\tconst salesgroup = getOption('SALESGROUP', marketingCodeResponse?.content.consolidatedData.options);\n\tconst trimline = getModelFilter('EquipmentLine', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tconst fueltype = getModelFilter('FuelType', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tlet fueltypeDPS = 'Combustion';\n\tif (fueltype.modelFilter.text == 'H\\u00edbrido enchufable') fueltypeDPS = 'Hybrid';\n\tif (fueltype.modelFilter.text == 'El\\u00e9ctrico') fueltypeDPS = 'Electric';\n\n\tlet configuradorData = {\n\t\t'fields[VEH_INTEREST_ID]': marketingCodeResponse?.content.consolidatedData.model_code.split('_')[1],\n\t\t'fields[VEH_INTEREST_MODEL]': marketingCodeResponse?.content.consolidatedData.model_description,\n\t\t'fields[VEH_INTEREST_SALESGROUP]': salesgroup.option.description,\n\t\t'fields[VEH_INTEREST_SALESGROUP_ID]': salesgroup.option.code.split(':')[1],\n\t\t'fields[VEH_INTEREST_TRIM_LINE]': trimline.modelFilter.text,\n\t\t'fields[VEH_INTEREST_FUEL]': fueltypeDPS,\n\t\t'fields[VEH_INTEREST_DETAILS]': type.option.description,\n\t\t// 'fields[VEH_INTEREST_MORE_INFO]': \"Color pintura exterior: \" + marketingCodeResponse?.consolidatedData?.exterior?.name, // Pendiente recuperar color exterior\n\t\t'fields[VEH_INTEREST_CONFIGURATION_CODE]': marketingCodeData?.marketingCode,\n\t\t/*\n 'fields[VEH_INTEREST_OFFER_PRICE]': price?.body?.amount\n ? `Precio final de la configuración: ${price?.body?.amount}Eur`\n : undefined,\n */\n\t};\n\n\t//Si es un form de ofertas no es relevante el precio de la configuración ni su Marketing Code\n\tif (isOfertasForm(fields.formName)) {\n\t\tdelete configuradorData['fields[VEH_INTEREST_CONFIGURATION_CODE]'];\n\t\t// delete configuradorData['fields[VEH_INTEREST_OFFER_PRICE]'];\n\t}\n\n\treturn configuradorData;\n};\n\nexport const getConfiguradorComercialesData = async (formData: FormDataGroup) => {\n\tconst { fields } = formData;\n\tconst { marketingCodeData, marketingCodeResponse } = fields;\n\n\tif (!marketingCodeResponse) return null;\n\t//const price = await getPriceDataWithMarketingCode(marketingCodeResponse);\n\tconsole.log(marketingCodeResponse);\n\n\tconst type = getOption('TYPE', marketingCodeResponse?.content.consolidatedData.options);\n\tconst salesgroup = getOption('SALESGROUP', marketingCodeResponse?.content.consolidatedData.options);\n\tconst trimline = getModelFilter('EquipmentLine', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tconst fueltype = getModelFilter('FuelType', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tlet fueltypeDPS = 'Combustion';\n\tif (fueltype.modelFilter.text == 'H\\u00edbrido enchufable') fueltypeDPS = 'Hybrid';\n\tif (fueltype.modelFilter.text == 'El\\u00e9ctrico') fueltypeDPS = 'Electric';\n\n\tlet configuradorData = {\n\t\t'fields[VEH_INTEREST_ID]': `${marketingCodeResponse?.content.consolidatedData.model_code.split('_')[1]}_${salesgroup?.option.code.replace('SALESGROUP:', '')}`,\n\t\t'fields[VEH_INTEREST_MODEL]': marketingCodeResponse?.content.consolidatedData.model_description,\n\t\t'fields[VEH_INTEREST_SALESGROUP]': salesgroup.option.description,\n\t\t'fields[VEH_INTEREST_SALESGROUP_ID]': salesgroup.option.code.split(':')[1],\n\t\t'fields[VEH_INTEREST_TRIM_LINE]': trimline.modelFilter.text,\n\t\t'fields[VEH_INTEREST_FUEL]': fueltypeDPS,\n\t\t'fields[VEH_INTEREST_DETAILS]': type.option.description,\n\t\t// 'fields[VEH_INTEREST_MORE_INFO]': \"Color pintura exterior: \" + marketingCodeResponse?.consolidatedData?.exterior?.name, // Pendiente recuperar color exterior\n\t\t'fields[VEH_INTEREST_CONFIGURATION_CODE]': marketingCodeData?.marketingCode,\n\t\t/*\n 'fields[VEH_INTEREST_OFFER_PRICE]': price?.body?.amount\n ? `Precio final de la configuración: ${price?.body?.amount}Eur`\n : undefined,\n */\n\t};\n\n\t//Si es un form de ofertas no es relevante el precio de la configuración ni su Marketing Code\n\tif (isOfertasForm(fields.formName)) {\n\t\tdelete configuradorData['fields[VEH_INTEREST_CONFIGURATION_CODE]'];\n\t\t// delete configuradorData['fields[VEH_INTEREST_OFFER_PRICE]'];\n\t}\n\n\treturn configuradorData;\n};\n","import { OneFormContent } from 'src';\nimport { appendJsonKey } from 'src/forms';\nimport { getFeatures, getMarketingCode, getModelFilter, getOption } from 'src/bff/get-marketing-code';\nimport {\n DealersInfo,\n FormDataGroup,\n HighlightsReturn,\n LuggageReturn,\n MatchSelectedOptions,\n Offer,\n PassengersTypes,\n RankedPreconfiguration,\n UsageReturn,\n} from 'src/types';\n\nconst getMatchHash = () => {\n const searchParams = new URLSearchParams(window?.location?.search);\n const hash = searchParams.get('match-app');\n return hash;\n};\n\nexport const isMatchForm = (formName: string) => formName === 'lead-match' || formName === 'prospect-match';\n\nexport const getMatchData = async (formData: FormDataGroup, dealersInfo: DealersInfo, faContent: OneFormContent) => {\n const { fields } = formData;\n const { match } = dealersInfo;\n\n if (!isMatchForm(fields.formName)) {\n return null;\n } else {\n const { response: marketingCodeResponse } = await getMarketingCode(match.marketingCode);\n\n const salesgroup = getOption(\"SALESGROUP\",marketingCodeResponse?.content.consolidatedData.options);\n const type = getOption(\"TYPE\",marketingCodeResponse?.content.consolidatedData.options);\n const baseType = getOption(\"BASETYPE\",marketingCodeResponse?.content.consolidatedData.options);\n const equipmentLine = getModelFilter(\"EquipmentLine\",marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\n const matchFields = {\n ...marketingCodeFields,\n // 'fields[COD_INTEREST_CARLINE]': match?.carlineCode,\n // 'fields[DESC_INTEREST_CARLINE]': match?.carlineTitle,\n // 'fields[DESC_FINANCIAL_PRODUCT]': match?.financiacionText?.slice(4),\n // 'fields[DESC_VEH_MARKETING_CODE]': match?.marketingCode,\n // 'fields[DESC_VEH_OFFER_PRICE]': createOfferPrice(match),\n // 'fields[COD_INTEREST_PR]': getFeatures(response?.consolidatedData?.features),\n 'fields[CREATIVITY_PERSONALIZATION_DATA]': getMatchHash(),\n 'fields[MATCH_AFFINITY]': match?.affinity,\n 'fields[MATCH_PRICE]': match?.precio,\n 'fields[MATCH_DGT_BADGE]': match?.etiquetaDGT.toUpperCase(),\n 'fields[MATCH_USER_JOURNEY]': fields?.argumentatives,\n };\n\n const matchOptions = getMatchOptions(faContent?.matchOptions);\n\n return { ...matchFields, ...matchOptions };\n }\n};\n\n\n\nconst getMatchOptions = (options: MatchSelectedOptions) => {\n if (!options) {\n return null;\n }\n\n return {\n 'fields[MATCH_BUDGET]': options.budget,\n 'fields[MATCH_COMPANION]': appendJsonKey(getPassengers(options.passengers)),\n 'fields[MATCH_TRIP]': appendJsonKey(getUsage(options.usage)),\n 'fields[MATCH_BAGGAGE]': appendJsonKey(getLuggage(options.luggage)),\n 'fields[MATCH_CAR_CHARACTERISTICS]': appendJsonKey(getHighlights(options.highlights)),\n 'fields[MATCH_ENGINE]': options.fuel,\n };\n};\n\nconst getPassengers = (passengers: PassengersTypes) => {\n if (!Array.isArray(passengers)) {\n return { adult: 0, kid: 0 };\n }\n return { adult: passengers[0], kids: passengers[1] };\n};\n\nconst getLuggage = (lugagge: number[]): string[] => {\n const lugaggeOptions: LuggageReturn[] = [\n 'unaMaleta',\n 'escapada',\n 'unaSemana',\n 'unMes',\n 'mascota',\n 'bici',\n 'surf',\n 'snow',\n ];\n const [unaMaleta, escapada, unaSemana, unMes, mascota, bici, surf, snow] = lugagge;\n const options = { unaMaleta, escapada, unaSemana, unMes, mascota, bici, surf, snow };\n\n return lugaggeOptions.filter((option) => options[option] === 1);\n};\n\nconst getUsage = (usage: number[]): string[] => {\n const usageOptions: UsageReturn[] = ['urban', 'interurban', 'long', 'allterrain'];\n const [urban, interurban, long, allterrain] = usage;\n const options = { urban, interurban, long, allterrain };\n\n return usageOptions.filter((option) => options[option] === 1);\n};\n\nconst getHighlights = (highlights: number[]): string[] => {\n const hihglightsOptions: HighlightsReturn[] = [\n 'atrevido',\n 'comodo',\n 'deportivo',\n 'sostenible',\n 'elegante',\n 'seguro',\n 'sonido',\n 'tecnologico',\n ];\n const [atrevido, comodo, deportivo, sostenible, elegante, seguro, sonido, tecnologico] = highlights;\n const options = { atrevido, comodo, deportivo, sostenible, elegante, seguro, sonido, tecnologico };\n\n return hihglightsOptions.filter((option) => options[option] === 1);\n};\n\nconst createOfferPrice = (match: RankedPreconfiguration) => {\n return `Precio final de la configuración: ${match.precio}Eur`;\n};\n","import { DealersInfo, FormDataGroup, Offer } from 'src/types';\nimport { formatHeaders } from '../../format-fields';\nimport { isOfertasForm } from '../LeadGenericoForm';\n\nexport const getOfertasData = async (formData: FormDataGroup, dealersInfo: DealersInfo) => {\n const { fields } = formData;\n const { oferta } = dealersInfo;\n\n if (!isOfertasForm(fields.formName)) {\n return null;\n } else {\n const headers = {\n FORM_NAME: 'vw-oneform-lead-oferta',\n };\n\n const ofertaFields = {\n 'fields[VEH_INTEREST_ID]': oferta.carline.code,\n 'fields[VEH_INTEREST_MODEL]': `${oferta.carline.nuevo ? 'Nuevo ' : ''}${oferta.carline.title}`,\n 'fields[VEH_INTEREST_FINANCIAL_PRODUCT]': oferta.financiacionText?.slice(4),\n 'fields[VEH_INTEREST_OFFER_DETAIL]': createOfferPrice(oferta),\n 'fields[COMMENTS_BRAND]': getObservationBrand(oferta),\n };\n\n return { ...formatHeaders(headers), ...ofertaFields };\n }\n};\n\nexport const getOfertasComercialesData = async (formData: FormDataGroup, dealersInfo: DealersInfo) => {\n const { fields } = formData;\n const { oferta } = dealersInfo;\n\n if (!isOfertasForm(fields.formName)) {\n return null;\n } else {\n const headers = {\n FORM_NAME: 'vw-oneform-lead-oferta',\n };\n\n const ofertaFields = {\n 'fields[VEH_INTEREST_ID]': oferta.carline.code+\"_\"+oferta.carline.salesgroup.code,\n 'fields[VEH_INTEREST_MODEL]': `${oferta.carline.nuevo ? 'Nuevo ' : ''}${oferta.carline.salesgroup.name}`,\n 'fields[VEH_INTEREST_FINANCIAL_PRODUCT]': oferta.financiacionText?.slice(4),\n 'fields[VEH_INTEREST_OFFER_DETAIL]': createOfferPrice(oferta),\n 'fields[COMMENTS_BRAND]': getObservationBrand(oferta),\n };\n\n return { ...formatHeaders(headers), ...ofertaFields };\n }\n};\n\nconst createOfferPrice = (offer: Offer) => {\n return `Cuota: ${offer.cuota} Eur / \\r\\nPeriodicidad Cuota: ${offer.cuotaTipo} / \\r\\nNum Cuotas: ${offer.plazos\n } / \\r\\nEntrada: ${offer.cuotaEntrada} Eur / \\r\\nCuota final: ${offer.cuotaFinal} Eur ${offer.tin || offer.tae ? '/' : ''\n }\\r\\n${offer.tin ? `TIN: ${offer.tin}% ${offer.tae ? '/ \\r\\n' : '\\r\\n'}` : ''}${offer.tae ? `TAE: ${offer.tae}%\\r\\n` : ''\n }`;\n};\n\nconst getObservationBrand = (oferta: Offer) => {\n if (!oferta.promociones || oferta.promociones.length === 0) {\n return null;\n }\n\n return oferta.promociones.map((promo) => promo.name);\n};\n","export const removePTags = (htmlString: string) => {\n\tconst regex = /<\\/?p[^>]*>/g;\n\treturn htmlString.replace(regex, '');\n};\n\nexport function formatCalculatedLegal(legal: string) {\n\treturn legal\n\t\t.replace(/^\\*/, '')\n\t\t.replace(//g, '**')\n\t\t.replace(/<\\/u>/g, '**')\n\t\t.replace(/<\\/?[^>]+(>|$)/g, '');\n}\n","import {useEffect, useReducer} from 'react';\nimport {useDispatch} from 'react-redux';\nimport {getDataUrl, getSalesgroups} from 'src/bff';\nimport {OneFormContent, useFaContent, useFeatureServices} from 'src/feature-app';\nimport {findCarlineFromSalesgroup, findCarline, isCarlineMode, isConfiguratorMode} from 'src/components';\nimport {CarlineBase, CarlinesWithSalesgroups, SalesGroupInfo, Steps} from 'src/types';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {removeStep, resetStepsScreenIndex} from '../helpers/add-remove-steps';\nimport {getMarketingCode} from 'src/bff';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\nconst carlineInFaContent = (faContent: OneFormContent) => faContent?.carlines && faContent.carlines.length === 1;\nconst salesgroupInFaContent = (faContent: OneFormContent) =>\n\tfaContent?.salesgroups && faContent.salesgroups.length === 1;\nconst findSalesgroup = (carline: CarlinesWithSalesgroups, salesgroupId: string) =>\n\tcarline?.salesGroups?.find((salesgroup) => salesgroup.code === Number(salesgroupId));\n\ninterface LeadsInitialConfig {\n\tloading: boolean;\n\tsteps: Steps[];\n\tfirstStep: Steps;\n\tlastStep: Steps;\n}\n\nconst updateSteps = (steps: Steps[]) => {\n\treturn {\n\t\ttype: 'UPDATE_STEPS',\n\t\tpayload: steps,\n\t};\n};\n\nconst reducer = (state: LeadsInitialConfig, action: any): LeadsInitialConfig => {\n\tswitch (action.type) {\n\t\tcase 'UPDATE_STEPS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsteps: action.payload,\n\t\t\t\tfirstStep: action.payload[0],\n\t\t\t\tlastStep: getLastItemOfSteps(action.payload),\n\t\t\t\tloading: false,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst initialState: LeadsInitialConfig = {\n\tloading: true,\n\tsteps: [],\n\tfirstStep: null,\n\tlastStep: null,\n};\n\nexport const createSalesgroup = (code: string | number, name: string) => {\n\tif (!code && !name) {\n\t\treturn null;\n\t}\n\treturn {salesGroupId: String(code), salesGroupName: String(name)};\n};\n\nexport function useInitializeLeadForm(defaultSteps: Steps[], isEmbedded?: boolean, isInPage?: boolean) {\n\tconst dispatch = useDispatch();\n\tconst faContent = useFaContent();\n\tconst {'car-configuration': carConfigurationService} = useFeatureServices();\n\tconst [state, dispatchLead] = useReducer(reducer, initialState);\n\tconst {loading, firstStep, lastStep, steps} = state;\n\tconst isComerciales = useIsComerciales();\n\n\t/**\n\t * Functions\n\t */\n\tconst requestCarlines = async () => {\n\t\tlet carlines = await getSalesgroups();\n\n\t\tdispatch({type: 'SET_CARLINES', payload: carlines});\n\n\t\treturn carlines;\n\t};\n\n\tconst getCarlineInfo = async (carline: string) => {\n\t\tlet dataRes: any;\n\t\tawait fetch(`${getDataUrl()}/getCarlineSalesgroups/${carline}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((data) => (dataRes = data));\n\t\treturn dataRes;\n\t};\n\n\tconst getModelFromUrl = () => {\n\t\tconst path = window.location.pathname;\n\t\tlet htmlIndex: number;\n\t\tlet carlineName: string;\n\t\tlet salesGroup: string;\n\t\tconst splittedPath = path.split('/');\n\t\tsplittedPath.filter((e, index) => e.includes('.html') && (htmlIndex = index));\n\t\tcarlineName = splittedPath[htmlIndex + 1]?.replace('.app', '');\n\n\t\tconst hasSalesGroup = () => splittedPath[htmlIndex + 2]?.includes('.app');\n\t\thasSalesGroup() && (salesGroup = splittedPath[htmlIndex + 2]?.replace('.app', ''));\n\t\treturn [carlineName, salesGroup];\n\t};\n\n\tconst findAsset = (mediaAssets: any[], assetName: string) => mediaAssets.find((asset) => asset.mpsId === assetName);\n\n\tconst getAsset = (mediaAssets: any[], assetName: string): string => {\n\t\tconst asset = findAsset(mediaAssets, assetName);\n\t\tlet assetUrl = asset.asset;\n\n\t\tif (assetUrl.includes('r-media') && assetUrl.includes('.jpg')) {\n\t\t\tassetUrl = assetUrl.replace('.jpg', '.png');\n\t\t}\n\n\t\treturn assetUrl;\n\t};\n\n\t/**\n\t * Set initial Product Data based on Form Context and returns Carline and Salesgroup.\n\t */\n\tconst setInitialProductData = (carlines: CarlineBase[]): {carline: CarlineBase; salesgroup: SalesGroupInfo} => {\n\t\tlet carlineCode: string = carConfigurationService.get().carlineId;\n\t\tlet salesgroupId = carConfigurationService.get().salesGroupId;\n\n\t\tlet carline = undefined;\n\t\tlet salesgroup = undefined;\n\n\t\tif ((isEmbedded && faContent?.oferta) || (isEmbedded && faContent?.match)) {\n\t\t\t// Ofertas or Match Form Embedded\n\t\t\tlet offerOrPreconfiguration = faContent?.oferta ? faContent.oferta : faContent.match;\n\t\t\tcarline = findCarline(carlines, offerOrPreconfiguration.carline.code);\n\t\t\tsalesgroup = createSalesgroup(\n\t\t\t\tfaContent.marketingCodeConfig?.SalesgroupId,\n\t\t\t\tfaContent.marketingCodeConfig?.SalesgroupName,\n\t\t\t);\n\n\t\t\t//Initialize MarketingCode and store it\n\t\t\tgetMarketingCode(offerOrPreconfiguration.marketingCode)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tconsole.log(res);\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\t\tpayload: {marketingCodeResponse: res.response},\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((err) => {});\n\n\t\t\tdispatch({type: 'SET_OFERTA', payload: offerOrPreconfiguration});\n\t\t} else if (isConfiguratorMode(faContent) && carlineCode && salesgroupId) {\n\t\t\t// Showroom Context\n\t\t\tcarline = findCarline(carlines, Number(carlineCode), Number(salesgroupId));\n\t\t\tconst salesgroupCarline = findSalesgroup(carline, salesgroupId);\n\t\t\tsalesgroup = createSalesgroup(salesgroupCarline?.code, salesgroupCarline?.name);\n\t\t} else if (carlineInFaContent(faContent)) {\n\t\t\tcarline = findCarline(carlines, faContent.carlines[0]);\n\t\t} else if (salesgroupInFaContent(faContent) && !isCarlineMode(faContent)) {\n\t\t\t// Salesgroup in faContent\n\t\t\tcarline = findCarlineFromSalesgroup(carlines, Number(faContent.salesgroups[0]));\n\t\t\tconst salesgroupCarline = findSalesgroup(carline, String(faContent.salesgroups[0]));\n\t\t\tsalesgroup = createSalesgroup(salesgroupCarline?.code, salesgroupCarline?.name);\n\t\t}\n\n\t\tdispatch({\n\t\t\ttype: 'SET_SELECTED_CARLINE',\n\t\t\tpayload: carline,\n\t\t});\n\n\t\tif (carline) {\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\tpayload: {modelo: carline.title},\n\t\t\t});\n\t\t}\n\n\t\tdispatch({\n\t\t\ttype: 'SET_SALESGROUP',\n\t\t\tpayload: salesgroup,\n\t\t});\n\n\t\treturn {carline, salesgroup};\n\t};\n\n\tconst removeStepAndReset = (steps: Steps[], stepName: string) => {\n\t\tlet updatedSteps = [...steps];\n\t\tupdatedSteps = removeStep(steps, stepName);\n\t\tupdatedSteps = resetStepsScreenIndex(steps);\n\t\treturn updatedSteps;\n\t};\n\n\t/**\n\t * Set initial Form with Marketing Code\n\t */\n\tconst useLeadsWithMarketingCode = (marketingCode: string) => {\n\t\tgetMarketingCode(marketingCode)\n\t\t\t.then((res) => {\n\t\t\t\tconst D6MOFASideview = getAsset(res.response.content?.consolidatedData?.meta.mediaAssets, 'D6MOFASideview');\n\t\t\t\tconst D6Explore1 = getAsset(res.response.content?.consolidatedData?.meta.mediaAssets, 'D6Explore1');\n\t\t\t\tconsole.log(res);\n\t\t\t\tconst modelName = res.marketingCodeConfig.ModelName;\n\t\t\t\tconst marketingCodeData = {marketingCode, modelName, mediaAssets: {D6MOFASideview, D6Explore1}};\n\n\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\n\t\t\t\tif (!isComerciales) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t}\n\n\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\n\t\t\t\tdispatch({type: 'SET_DELETE_CLOSE_AND_PREVIOUS', payload: true});\n\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\tpayload: {marketingCodeData, marketingCodeResponse: res.response},\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trequestCarlines().then((carlines) => {\n\t\t\t\t\tconst {carline, salesgroup} = setInitialProductData(carlines);\n\n\t\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\t\tif (!isComerciales) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t\t}\n\t\t\t\t\tif (carline) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\t\t\t\t\t}\n\t\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\t\t\t\t});\n\t\t\t\t// console.log(err, 'error');\n\t\t\t});\n\t};\n\n\t/**\n\t * Set initial form with Model\n\t */\n\tconst useLeadsWithModel = async (carline: string, salesGroup?: string) => {\n\t\tawait getCarlineInfo(carline)\n\t\t\t.then((res) => {\n\t\t\t\tlet colorCode = res.carline.colores.exterior.hexadecimal;\n\t\t\t\tlet D6MOFASideview: string, D6Explore1: string, modelName: string, salesGroupData: any;\n\t\t\t\tconst carlineCode: number = res.carline.code;\n\n\t\t\t\tconst setDataNoSalesGroup = () => {\n\t\t\t\t\tD6MOFASideview = res.carline.mediaAssets.D6MOFASideview;\n\t\t\t\t\tD6Explore1 = res.carline.mediaAssets.D6MainStageExterior;\n\t\t\t\t\tmodelName = res.carline.title;\n\t\t\t\t};\n\n\t\t\t\tif (salesGroup) {\n\t\t\t\t\tconst salesGroupCoincidences = res.carline.salesgroups.filter((e) => e.name === salesGroup);\n\t\t\t\t\tsalesGroupData = salesGroupCoincidences[0];\n\t\t\t\t}\n\t\t\t\tif (salesGroupData) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tD6MOFASideview = salesGroupData.mediaAssets.D6MOFASideview;\n\t\t\t\t\t\tD6Explore1 = salesGroupData.mediaAssets.D6MainStageExterior;\n\t\t\t\t\t\tcolorCode = salesGroupData.colores?.exterior?.hexadecimal;\n\t\t\t\t\t\tmodelName = salesGroupData.title;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('No data for salesgroup found');\n\t\t\t\t\t\tsetDataNoSalesGroup();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetDataNoSalesGroup();\n\t\t\t\t}\n\n\t\t\t\tconst carlineData = {modelName, colorCode, mediaAssets: {D6MOFASideview, D6Explore1}};\n\n\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\n\t\t\t\tif (!isComerciales) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t}\n\n\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\n\t\t\t\tdispatch({type: 'SET_DELETE_CLOSE_AND_PREVIOUS', payload: true});\n\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\tpayload: {carlineData, carlineResponse: res, carlineCode, modelo: modelName},\n\t\t\t\t});\n\n\t\t\t\tdispatch({type: 'SET_SELECTED_CARLINE', payload: res.carline});\n\t\t\t\tif (salesGroupData) {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: 'SET_SALESGROUP',\n\t\t\t\t\t\tpayload: {salesGroupId: salesGroupData.code, salesGroupName: salesGroupData.title},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trequestCarlines().then((carlines) => {\n\t\t\t\t\tconst {carline, salesgroup} = setInitialProductData(carlines);\n\n\t\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\t\tif (!isComerciales) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t\t}\n\t\t\t\t\tif (carline) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\t\t\t\t\t}\n\t\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\t\t\t\t});\n\t\t\t\t// console.log(err, 'error');\n\t\t\t});\n\t};\n\n\tconst getModelInfo = async (model: string) => {\n\t\tlet dataRes: any;\n\t\tawait fetch(`${getDataUrl()}/getCarlineSalesgroups/${model}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((data) => (dataRes = data));\n\t\treturn dataRes;\n\t};\n\n\tconst ofertasUrl = () => {\n\t\tconst path = window.location.pathname;\n\t\treturn path.includes('ofertas');\n\t};\n\n\tuseEffect(() => {\n\t\t// Si el formulario es inPage la inicialización del formulario dependerá de variables en la URL, sinó de faContent\n\t\tif (isInPage) {\n\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\tconst marketingCode = urlParams.get('marketingCode');\n\t\t\tif (marketingCode) {\n\t\t\t\tuseLeadsWithMarketingCode(marketingCode);\n\t\t\t} else {\n\t\t\t\tconst [carline, salesGroup] = getModelFromUrl();\n\t\t\t\tuseLeadsWithModel(carline, salesGroup);\n\t\t\t}\n\t\t} else {\n\t\t\trequestCarlines().then((carlines) => {\n\t\t\t\tconst {carline, salesgroup} = setInitialProductData(carlines);\n\n\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\tif (!isComerciales) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t}\n\t\t\t\tif (carline) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\t\t\t\t}\n\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\t\t\t});\n\t\t}\n\t}, []);\n\n\treturn {loading, steps, firstStep, lastStep};\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const partialDataCitaConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Cita' },\n fields: {\n formFields: { M_OBSERVATION_BRAND: 'Petición para reservar una cita en el punto de venta.' },\n formularioFlag: 'prospect',\n formName: 'lead-cita-configure',\n formType: 'contact',\n pageCategory: 'Cita',\n },\n};\n","import {\n Breakpoints,\n Layout,\n styled,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useStore } from 'react-redux';\nimport { LastNavigation, LssiTkmQuestions, PoliticaPrivacidad } from 'src/components';\nimport { OneFormState } from 'src/types';\n\nconst GeneralconfirmacionWrapper = styled.div`\n \n`;\n\nexport const ConfirmacionLeadInPage = () => {\n const store = useStore();\n\n return (\n \n \n \n \n \n \n \n );\n};\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React, { useState, useEffect } from 'react';\nimport { styled } from '@volkswagen-onehub/components-core';\nimport car34 from './car_3-4.png';\n\nconst SectionWrapper = styled.div`\n position: relative;\n height: 100%;\n\n @media all and (min-width: 960px) {\n height: max-content;\n min-height: calc(100vh - 164px);\n width: var(--size-grid012);\n margin-top: 0;\n }\n @media all and (min-width: 1600px) {\n min-height: calc(100vh - 180px);\n }\n`;\ninterface CarlineColorCardProps {\n color: string;\n showColorCard: boolean;\n}\nconst CarlineColorCard = styled.div`\n background-color: ${(props) =>\n !props.showColorCard ? '#FFFFFF' : props.color ? props.color : '#C0C5C6'};\n height: 100%;\n z-index: -2;\n position: absolute;\n top: 0;\n width: 100vw;\n @media all and (min-width: 960px) {\n right: 0;\n width: var(--size-grid009);\n height: max-content;\n min-height: calc(100vh - 164px);\n }\n @media all and (min-width: 1600px) {\n right: 0;\n width: var(--size-grid008);\n min-height: calc(100vh - 180px);\n }\n`;\ninterface ImageWrapperProps {\n noMargins?: boolean;\n}\n\nconst ImageWrapper = styled.div`\n @media all and (min-width: 960px) {\n margin-right: var(--size-grid001);\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n padding: 40px 0;\n }\n @media all and (min-width: 1600px) {\n padding: 52px 0;\n }\n img {\n width: var(--size-grid024);\n margin: auto;\n margin-top: ${(props) => props.noMargins ? '-120px' : '0'};\n margin-bottom: ${(props) => props.noMargins ? '-52px' : '0'};\n height: auto;\n @media all and (min-width: 560px) {\n width: var(--size-grid024);\n }\n @media all and (min-width: 960px) {\n margin: auto;\n width: var(--size-grid012);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid011);\n }\n }\n`;\n\ninterface ImageProps {\n image: string;\n color: string;\n modelName: string;\n noMargins?: boolean;\n}\nexport const ImageCar = (props: ImageProps) => {\n const { image, color, modelName, noMargins } = props;\n\n //Ocultar color pastilla en caso de la imagen que llega no sea r-media\n\n const [showColorCard, setShowColorCard] = useState(true);\n const [loadingImage, setLoadingImage] = useState(false);\n\n useEffect(() => {\n if (image) {\n setLoadingImage(false);\n\n if (image.includes('r-media')) {\n setShowColorCard(true);\n } else {\n setShowColorCard(false);\n }\n } else {\n setShowColorCard(true);\n setLoadingImage(true);\n }\n }, [image]);\n\n return (\n \n \n \n {image ? (\n <>\n {loadingImage ? (\n {modelName}\n ) : (\n {modelName}\n )}\n \n ) : null}\n \n\n \n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n styled,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { LocateUserFullScreen } from 'src/components';\nimport { OneFormState } from 'src/types';\nimport { getColorInfo, ImageCar } from '.';\n\nconst LayoutWrapper = styled.div`\n @media all and (min-width: 960px) {\n display: flex;\n }\n`;\n\nconst InfoWrapper = styled.div`\n width: 100%;\n padding-left: var(--size-grid002);\n padding-right: var(--size-grid002);\n padding-top: 44px;\n @media all and (min-width: 5600px) {\n padding-top: 68px;\n }\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: var(--size-grid012);\n padding-left: var(--size-grid002);\n padding-right: 0;\n padding-top: 0;\n }\n @media all and (min-width: 1280px) {\n padding-left: var(--size-grid003);\n }\n @media all and (min-width: 1600px) {\n padding-left: var(--size-grid002);\n }\n`;\n\nexport const renderTitle = (formName: string) => {\n return (\n <>\n {formName === 'presupuesto' || formName === 'masInformacion' ? (\n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ) : (\n <>\n {formName === 'testDrive' ? (\n \n {' '}\n ¿Dónde prefieres{' '}\n \n provarlo?*\n \n \n ) : (\n \n {' '}\n ¿A dónde quieres{' '}\n \n ir?*\n \n \n )}\n \n )}\n \n );\n};\n\nexport const LocateUserLeadsInPage = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { marketingCodeData, carlineData, formName } = formData.fields;\n const [imageSrc, setImageSrc] = useState(null);\n const [name, setName] = useState(null);\n const [colorInfo, setColorInfo] = useState(null);\n\n useEffect(() => {\n if (!marketingCodeData) return;\n const { modelName, colorCode, mediaAssets } = marketingCodeData;\n setName(modelName);\n\n\n if (colorCode) {\n getColorInfo(colorCode).then((color) => {\n setColorInfo(color);\n });\n } else {\n setColorInfo('#484A52');\n }\n\n if (mediaAssets?.D6MOFASideview) {\n setImageSrc(mediaAssets?.D6MOFASideview);\n } else {\n setImageSrc(mediaAssets?.D6Explore1);\n }\n }, [marketingCodeData]);\n\n useEffect(() => {\n if (!carlineData) return;\n const { modelName, colorCode, mediaAssets } = carlineData;\n setName(modelName);\n\n if (colorCode) {\n getColorInfo(colorCode).then((color) => {\n setColorInfo(color);\n });\n } else {\n setColorInfo('#484A52');\n }\n\n if (mediaAssets?.D6MOFASideview) {\n setImageSrc(mediaAssets?.D6MOFASideview);\n } else {\n setImageSrc(mediaAssets?.D6Explore1);\n }\n }, [carlineData]);\n\n return (\n \n \n \n \n \n \n {name}\n \n \n \n Genial,{' '}\n {formName.includes('mas_informacion') ? (\n te mandamos toda la información\n ) : formName.includes('test_drive') ? (\n te esperamos para una prueba de conducción\n ) : formName.includes('presupuesto') ? (\n te enviamos tu presupuesto personalizado\n ) : formName.includes('cita') ? (\n te esperamos para contártelo todo\n ) : (\n te mandamos toda la información\n )}\n \n \n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n \n \n \n \n \n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyLeadInPageController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n cardsTimeRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyLeadInPageController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyNoCompraController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyLeadsInPageWrapper = () => {\n \n return (\n \n \n \n );\n};\n","import { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LocateUserFullScreen, MultipleCTASelection } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { RenderController, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\nimport { LocateUserLeadsInPage, renderTitle } from 'src/forms/LeadsInPage';\nimport { JourneyLeadsInPageWrapper } from 'src/forms/LeadsInPage';\nimport { InteractionLayerSizeV2, ShimBackgroundTypeV2 } from '@volkswagen-onehub/layer-manager';\nimport { CTAsHorario } from 'src/feature-app/InputsValues';\n\nconst getTitle = (data) => {\n if (data) {\n return;\n } else {\n return (\n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n );\n }\n};\n\nconst getLocatePage = (data) => {\n if (data) {\n return ;\n } else {\n return } />;\n }\n};\n\nenum MapaLeadsInPageSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\ninterface MapaLeadsInPageProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaLeadsInPage(props: MapaLeadsInPageProps) {\n const { formName, showHorario } = props;\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { marketingCodeData, carlineData } = formData.fields;\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n const layerManager = useFeatureServices()['layer-manager'];\n const env = useFeatureAppEnvironment();\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n nextStepEventEmitter,\n } = useOneFormContext();\n\n const mapStep = showHorario ? 2 : 1;\n\n let stepsHorario: Steps[] = [\n {\n title: getTitle(marketingCodeData ? marketingCodeData : carlineData),\n fields: getLocatePage(marketingCodeData ? marketingCodeData : carlineData),\n screenIndex: MapaLeadsInPageSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: MapaLeadsInPageSteps.Horario,\n name: 'MapSlotPref',\n title: (\n <>\n ¿Cúando prefieres pasar por el{' '}\n \n punto de venta?*\n \n \n ),\n fields: (\n }\n />\n ),\n outputs: ['horario'],\n outputsText: ['horario'],\n },\n {\n screenIndex: MapaLeadsInPageSteps.SeleccionCita,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n let stepsWithoutHorario: Steps[] = [\n {\n title: getTitle(marketingCodeData ? marketingCodeData : carlineData),\n fields: getLocatePage(marketingCodeData ? marketingCodeData : carlineData),\n screenIndex: MapaLeadsInPageSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n const steps = showHorario ? stepsHorario : stepsWithoutHorario;\n\n const [selectedStep, setSelectedStep] = useState(null);\n const layerRef = useRef(null);\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n if (multiStepScreenIndex === 0) {\n // handleFirstLoad();\n }\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n }\n }\n setNextMultiStep(() => nextMapaNoCompra);\n setPreviousMultiStep(() => previousMapaNoCompra);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaNoCompra = () => {\n if (!showHorario) {\n renderLayer();\n return;\n }\n const { multiStepScreenIndex } = store.getState().formInfo;\n\n if (multiStepScreenIndex === 1) {\n renderLayer();\n updateScreenChangeVariables(mapStep);\n return;\n }\n\n handleScreenChange();\n\n // Una vez avanzamos dentro de los multisteps se activa el wait\n // previous step para volver hacia atrás dentro del propio multistep.\n if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n updateWaitForNextAndPreviousStep(null, true);\n }\n\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex + 1);\n // Si estamos en el último paso del multistep se desactiva el\n // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n updateWaitForNextAndPreviousStep(false, null);\n if (multiStepScreenIndex === 0) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const previousMapaNoCompra = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n const renderElement = (state?: any) => {\n if (state) {\n updateWaitForNextAndPreviousStep(false, null);\n }\n\n return (\n \n \n \n \n \n );\n };\n\n /**\n * Necesario para en el caso de que se cierre el mapa se pueda mostrar la pantalla de preferencia horaria\n */\n const onCloseMap = () => {\n updateScreenChangeVariables(mapStep - 1);\n updateWaitForNextAndPreviousStep(true, false);\n };\n\n const renderLayer = () => {\n const layer = layerManager.openInteractionLayer(\n renderElement,\n { step: steps[mapStep], nextStepEventEmitter },\n {\n size: InteractionLayerSizeV2.D,\n id: 'mapaLeadInPage',\n shimBackgroundType: ShimBackgroundTypeV2.OPAQUE,\n onClose: onCloseMap,\n }\n );\n layerRef.current = layer;\n return null;\n };\n\n return selectedStep ? (\n selectedStep.screenIndex === mapStep ? null : (\n \n \n \n )\n ) : null;\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const PartialDataMasInformacionConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Más Información' },\n fields: {\n formFields: {},\n formularioFlag: 'masInformacion',\n formName: 'lead-mas_informacion-configure',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n","import { FormDataGroup } from 'src/types';\n\n export const PresupuestoPartialDataConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'presupuesto',\n formName: 'lead-presupuesto-configure',\n formType: 'quote',\n pageCategory: 'Presupuesto',\n },\n};\n","import { FormDataGroup } from 'src/types';\n\nexport const PartialDataTestDriveConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Test Drive' },\n fields: {\n formFields: {},\n formularioFlag: 'testDrive',\n formName: 'lead-test_drive-configure',\n formType: 'testdrive',\n pageCategory: 'Test Drive',\n },\n};\n","import { Color } from 'src';\nimport { getColors } from 'src/bff';\n\nexport const getColorInfo = async (colorCode: string): Promise => {\n if (!colorCode) return null;\n let colorInfo: Color;\n\n const colors = await getColors();\n const aux = colorCode.split(' ');\n if (colorCode.includes('#')) {\n colorInfo = colors.colores.find((a) => a.hex === colorCode);\n }\n else {\n colorInfo = colors.colores.find((a) => a.code === aux[1]);\n }\n\n return colorInfo;\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Image,\n Layout,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useFeatureServices, useFaContent } from 'src/feature-app';\n\nconst TitleTextWrapper = styled.div`\n position: relative;\n`;\nconst TextWrapper = styled.div`\n position: absolute;\n bottom: 5%;\n color: #ffffff;\n padding: 0px var(--size-grid002);\n`;\ninterface MGMTitleProps {\n title: string;\n copy: string;\n}\ninterface MGMLayoutProps {\n title: string;\n fields: JSX.Element;\n}\n\nexport function MGMLayout({ title, fields }: MGMLayoutProps) {\n const imageService = useFeatureServices()['image-service'];\n const mgmImgSrc = useFaContent()?.mgmImgSrc;\n\n // const test = imageService.getImageURL({ contentFile: '/content/dam/evhub-sample/images/16-9/16_9.jpg', scene7File: '/content/dam/evhub-sample/images/16-9/16_9.jpg', });\n // console.log(test, 'test');\n return (\n \n \n \"Volkswagen\"\n \n \n \n {title}\n \n \n \n \n <>{fields}\n \n );\n}\n\nexport const MGMTitle = ({ title, copy }: MGMTitleProps) => {\n return (\n <>\n \n \n {title}\n \n \n
\n \n {copy}\n \n \n );\n};\n","import { Container, ContainerPadding, CTA, styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { Apellido, Email, Nombre, Telefono } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { MGMFieldsProps } from 'src/forms';\nimport { OneFormState } from 'src/types';\nimport { MGMTitle } from './MGMLayout';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nexport function BonoClienteFields({ title, copy }: MGMFieldsProps) {\n return (\n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n}\n\nfunction LastNavigation() {\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido guardar tu respuesta. ¿Lo intentamos de nuevo? ';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n async function handleConfirmarCita(e: any) {\n trackingManager.trackFormCTAClick({\n contentId: 'Quiero mi bono',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Quiero mi bono\n \n \n );\n}\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nexport function LegalMGM({ isFriendForm }: { isFriendForm?: boolean }) {\n return (\n \n \n *Promoción solo válida para los 100 primeros pedidos de clientes particulares y autónomos que se adhieran a la presente promoción. El cupón solo puede canjearse con pedidos realizados antes del 28/02/2023. Válido para la compra de vehículos en stock y vehículos a producción. El cupón tendrá un valor de: 1.000€ PVP adicionales para los acabados R-Line, Sport, GTI o R y 500€ PVP adicionales para el resto de acabados. Quedan excluidos vehículos de la promoción los modelos Polo, Tiguan Life y T-Cross Clic2go. El cupón no será acumulable a ofertas ya realizadas por parte del Concesionario ni para pedidos ya realizados, ni cancelados en el último mes. Este cupón no tiene ningún valor en metálico. Solo se aceptará un único cupón por compra y solo se podrá canjear una única vez.\n \n {isFriendForm ? (\n \n **Te recordamos que en caso de que nos proporciones datos relativos a otra persona física deberás, con carácter previo a su inclusión, informarle de los extremos contenidos en la presente cláusula.\n \n ) : null}\n \n Te informamos que el responsable del tratamiento de tus datos es la compañía VOLKSWAGEN GROUP ESPAÑA DISTRIBUCION, S.A.U., con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos. En caso que nos hayas dado tu consentimiento, para las finalidades descritas en los consentimientos adicionales.\n \n \n Te informamos que tienes derecho a retirar tu consentimiento en cualquier momento, así como a oponerte al tratamiento, limitar el mismo, acceder, rectificar, suprimir los datos y ejercer tu derecho a la portabilidad, mediante petición escrita a :{' '}\n \n atencioncliente@volkswagen.es\n \n .\n \n \n Puedes consultar con mayor detalle la información adicional sobre la política de privacidad{' '}\n \n aquí\n \n .\n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { FormController, useOneFormContext, formatPrefix } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, MolecularResponse, OneFormState, Steps } from 'src/types';\nimport { BonoClienteFields, ThankYouMGM } from './';\nimport { LegalMGM } from './LegalMGM';\nimport { MGMFormProps } from './MGMController';\nimport { formatHeaders, formDataBuilder } from '../format-fields';\nimport { MGMLayout } from './MGMLayout';\n\nconst bonoClienteCopies = {\n title: 'Solo te queda un Sí, para tener hasta 1.000€.',\n copy: '¡Comprueba tus datos y envía!',\n};\n\nexport function BonoClienteForm(props: MGMFormProps) {\n const { dpsData, idLead, idPerson, trackFormLoad } = props;\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: (\n }\n />\n ),\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n const BonoClienteData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: '16. One shot',\n DESC_ID_CAMPAIGN: '7011n000001FY4sAAG',\n DESC_TOKEN: 'VW_DDB_FRM_MGM_CLIENTE_RENOVACION_STOCK_22',\n DESC_FORM_DETAIL: 'MGM Bono Cliente Renovación Stock 22',\n },\n fields: {\n formName: 'mgm-bono-cliente',\n formType: 'otherform',\n pageCategory: 'Cupon',\n name: idPerson.FirstName,\n surname: idPerson.LastName,\n secondSurname: idPerson.TXT_2_Surname__c,\n email: idPerson.TXT_Email__c,\n cellphone: idPerson.NUM_Phone_mobile__c,\n }, // Analítica\n };\n\n const generateData = () => {\n const { formData }: OneFormState = store.getState();\n const { fields, headers } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': fields.pageCategory, // Revisar\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[PINCODE]': dpsData?.pincode?.pincodeResponse?.params?.pincode,\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_EMAIL_ADDRESS]': fields.email,\n 'fields[NUM_CELLPHONE]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_AUXFIELD20]': idPerson.Id,\n 'fields[DESC_AUXFIELD1]': 'Bono Cliente',\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': idPerson.LSSI__c,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': idPerson.Robinson__c,\n\n 'flags[FLAG_ISLEAD]': 'false',\n 'flags[FLAG_ISPROSPECT]': 'true',\n 'flags[FLAG_VOUCHER]': 'true',\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = (): Promise => {\n return new Promise(async (resolve) => {\n const data = generateSubmitData();\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n // const { loading, steps, firstStep, lastStep } = useInitializeMGMForm(steps, idLead);\n\n useEffect(() => {\n const BonoClienteInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: steps[0].fullScreen ? true : false,\n lastStep: steps[steps.length - 1],\n numberOfScreens: steps.length,\n screenIndex: steps[0].screenIndex,\n hideLegal: true,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: steps[0],\n steps,\n stepsHistory: [0],\n customLegal: ,\n thankYouComponent: ,\n };\n initializeForm(BonoClienteInfo, BonoClienteData, true);\n trackFormLoad();\n }, []);\n\n return !steps ? null : ;\n}\n","import {\n Container,\n CTA,\n styled,\n ContainerPadding,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { MGMFieldsProps } from 'src/forms';\nimport { Apellido, Email, Nombre, Telefono, LssiTkmQuestions } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { OneFormState } from 'src/types';\nimport { MGMTitle } from './MGMLayout';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nexport function BonoRegaloFields({ title, copy }: MGMFieldsProps) {\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n tmkError: boolean;\n lssiError: boolean;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n setTmk: React.Dispatch>;\n setLssi: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError, tmkError, lssiError, setLssi, setTmk } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido guardar tu respuesta. ¿Lo intentamos de nuevo? ';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n async function handleConfirmarCita(e: any) {\n trackingManager.trackFormCTAClick({\n contentId: 'Quiero mi bono',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid && !lssiError && !tmkError) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n
\n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Quiero mi bono\n \n
\n );\n}\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { formatPrefix, FormController, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { } from 'src/forms/MGM';\nimport { FormDataGroup, FormInfo, MolecularResponse, OneFormState, Steps } from 'src/types';\nimport { ThankYouMGM } from '.';\nimport { formatHeaders, formDataBuilder } from '../format-fields';\nimport { BonoRegaloFields } from './BonoRegaloFields';\nimport { LegalMGM } from './LegalMGM';\nimport { MGMFormProps } from './MGMController';\nimport { MGMLayout } from './MGMLayout';\n\nconst bonoRegaloCopies = {\n title: 'Solo te queda un Sí, para tener hasta 1.000€ de descuento.',\n copy: '¡Rellena el formulario con tus datos y envía!',\n};\n\nexport function BonoRegaloForm(props: MGMFormProps) {\n const { dpsData, idLead, idPerson, trackFormLoad } = props;\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { getValues } = useFormContext();\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: (\n }\n />\n ),\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n const BonoRegaloData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: '16. One shot',\n DESC_ID_CAMPAIGN: '7011n000001FY4sAAG',\n DESC_TOKEN: 'VW_DDB_FRM_MGM_REGALO_RENOVACION_STOCK_22',\n DESC_FORM_DETAIL: 'MGM Bono Regalo Renovación Stock 22',\n },\n fields: {\n formName: 'mgm-bono-regalo',\n formType: 'otherform',\n pageCategory: 'Cupon',\n }, // Analítica\n };\n\n const generateData = () => {\n const { formData }: OneFormState = store.getState();\n const { fields, headers } = formData;\n const { tc, today, url, device } = getParamsForm();\n const values = getValues();\n\n return {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': fields.pageCategory, // Revisar\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[PINCODE]': dpsData?.pincode?.pincodeResponse?.params?.pincode,\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'fields[DESC_SURNAME_2]': values.secondSurname,\n 'fields[DESC_SURNAME_1]': values.surname,\n 'fields[DESC_NAME]': values.name,\n 'fields[DESC_EMAIL_ADDRESS]': values.email,\n 'fields[NUM_CELLPHONE]': `${formatPrefix(fields.prefix)}${values.cellphone}`,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_AUXFIELD20]': idPerson.Id,\n 'fields[DESC_AUXFIELD1]': 'Bono Regalo',\n 'fields[DESC_AUXFIELD2]': idPerson.FirstName,\n 'fields[DESC_AUXFIELD3]': idPerson.LastName,\n 'fields[DESC_AUXFIELD4]': idPerson.TXT_2_Surname__c,\n 'fields[DESC_AUXFIELD5]': idPerson.TXT_Email__c,\n 'fields[DESC_AUXFIELD6]': idPerson.NUM_Phone_mobile__c,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n // const { loading, steps, firstStep, lastStep } = useInitializeMGMForm(steps, idLead);\n\n useEffect(() => {\n const BonoRegaloInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: steps[0].fullScreen ? true : false,\n lastStep: steps[steps.length - 1],\n numberOfScreens: steps.length,\n screenIndex: steps[0].screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: steps[0],\n steps,\n hideLegal: true,\n stepsHistory: [0],\n customLegal: ,\n thankYouComponent: ,\n };\n initializeForm(BonoRegaloInfo, BonoRegaloData, true);\n trackFormLoad();\n }, []);\n\n return !steps ? null : ;\n}\n","import { Container, ContainerPadding, CTA, styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport { Apellido, Email, Nombre, Telefono } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager\n} from 'src/feature-app';\nimport { MGMFieldsProps } from 'src/forms';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { MGMTitle } from './MGMLayout';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nexport function EnvioRegaloFields({ title, copy }: MGMFieldsProps) {\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n tmkError: boolean;\n lssiError: boolean;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n setTmk: React.Dispatch>;\n setLssi: React.Dispatch>;\n}\n\nfunction LastNavigation() {\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido guardar tu respuesta. ¿Lo intentamos de nuevo? ';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n async function handleConfirmarCita(e: any) {\n trackingManager.trackFormCTAClick({\n contentId: 'Sí a sorprender',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n
\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Sí a sorprender\n \n
\n );\n}\n","\nimport React, { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { FormController, useOneFormContext, formatPrefix } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {} from 'src/forms/MGM';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouMGM } from '.';\nimport { formDataBuilder, formatHeaders } from '../format-fields';\nimport { EnvioRegaloFields } from './EnvioRegaloFields';\nimport { LegalMGM } from './LegalMGM';\nimport { MGMFormProps } from './MGMController';\nimport { MGMLayout } from './MGMLayout';\n\nconst envioRegaloCopies = {\n title: 'Di Sí a sorprender a esa persona tan especial.',\n copy: '¡Rellena el formulario con sus datos!',\n};\n\nexport function EnvioRegaloForm(props: MGMFormProps) {\n const { dpsData, idLead, idPerson, trackFormLoad } = props;\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { getValues } = useFormContext();\n\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: (\n }\n />\n ),\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n const EnvioRegaloData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: '16. One shot',\n DESC_ID_CAMPAIGN: '7011n000001FY4sAAG',\n DESC_TOKEN: 'VW_DDB_FRM_MGM_CLIENTE_RENOVACION_STOCK_22',\n DESC_FORM_DETAIL: 'MGM Envío Regalo Renovación Stock 22',\n },\n fields: {\n formName: 'mgm-envio-regalo',\n formType: 'otherform',\n pageCategory: 'Regalar Cupon',\n }, // Analítica\n };\n\n const generateData = () => {\n const { formData }: OneFormState = store.getState();\n const { fields, headers } = formData;\n const { tc, today, url, device } = getParamsForm();\n const values = getValues();\n\n return {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[DESC_FORMOBJECTIVE]': fields.pageCategory, // Revisar\n 'headers[TC]': tc,\n 'headers[PINCODE]': dpsData?.pincode?.pincodeResponse?.params?.pincode,\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'fields[DESC_SURNAME_2]': idPerson.TXT_2_Surname__c,\n 'fields[DESC_SURNAME_1]': idPerson.LastName,\n 'fields[DESC_NAME]': idPerson.FirstName,\n 'fields[DESC_EMAIL_ADDRESS]': idPerson.TXT_Email__c,\n 'fields[NUM_CELLPHONE]': idPerson.NUM_Phone_mobile__c,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_AUXFIELD20]': idPerson.Id,\n 'fields[DESC_AUXFIELD1]': 'Envío Regalo',\n 'fields[DESC_AUXFIELD2]': values.name,\n 'fields[DESC_AUXFIELD3]': values.surname,\n 'fields[DESC_AUXFIELD4]': values.secondSurname,\n 'fields[DESC_AUXFIELD5]': values.email,\n 'fields[DESC_AUXFIELD6]': `${formatPrefix(fields.prefix)}${values.cellphone}`,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': idPerson.LSSI__c,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': idPerson.Robinson__c,\n\n 'flags[FLAG_ISLEAD]': 'false',\n 'flags[FLAG_ISPROSPECT]': 'false',\n 'flags[FLAG_VOUCHER]': 'false',\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = (): Promise => {\n return new Promise(async (resolve) => {\n const data = generateSubmitData();\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n // const { loading, steps, firstStep, lastStep } = useInitializeMGMForm(steps, idLead);\n\n useEffect(() => {\n const EnvioRegaloInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: steps[0].fullScreen ? true : false,\n lastStep: steps[steps.length - 1],\n numberOfScreens: steps.length,\n screenIndex: steps[0].screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n hideLegal: true,\n step: steps[0],\n steps,\n stepsHistory: [0],\n customLegal: ,\n thankYouComponent: ,\n };\n initializeForm(EnvioRegaloInfo, EnvioRegaloData, true);\n trackFormLoad();\n }, []);\n\n return !steps ? null : ;\n}\n","import { Spinner, styled, Text } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { BonoClienteForm } from './';\n// import { MGMContactadoForm } from './MGMContactadoForm';\n// import { MGMNoContactadoForm } from './MGMNoContactadoForm';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { useFeatureServices, useTrackingManager, useFaContent} from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdLead, IdPerson } from 'src/types';\n// import { checkIdLeadHasCarline } from './use-initialize-MGM-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { EnvioRegaloForm } from './EnvioRegaloForm';\nimport { BonoRegaloForm } from './BonoRegaloForm';\n\nexport interface MGMFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n dpsData: DpsData;\n handleError: () => void;\n trackFormLoad: () => void;\n}\n\nexport interface MGMFieldsProps {\n title: string;\n copy: string;\n}\n\nexport function MGMController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [caducado, setCaducado] = useState(false);\n const [bonoCliente, setBonoCliente] = useState(false);\n const [envioRegalo, setEnvioRegalo] = useState(false);\n const [bonoRegalo, setBonoRegalo] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const faContent = useFaContent();\n\n const handleNext = (value: any) => {};\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n\n if (faContent.mgm === 'Bono Cliente') {\n setBonoCliente(true);\n } else if (faContent.mgm === 'Envío Regalo') {\n setEnvioRegalo(true);\n } else if (faContent.mgm === 'Bono Regalo') {\n setBonoRegalo(true);\n }\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (caducado) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {bonoCliente ? (\n \n ) : envioRegalo ? (\n \n ) : bonoRegalo ? (\n \n ) : null}\n \n );\n }\n}\ninterface CenterContentProps {\n height: string;\n}\nconst CenterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: ${(props) => (props.height ? props.height : '100%')};\n`;\n\nconst Loading = () => {\n const [height, setHeight] = useState('100%');\n\n useEffect(() => {\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let aux;\n\n if (viewportWidth < 560) {\n aux = viewportHeight - 152;\n } else if (viewportWidth < 1600) {\n aux = viewportHeight - 252;\n } else {\n aux = viewportHeight - 380;\n }\n setHeight(`${aux}px`);\n }, []);\n\n return (\n \n \n Cargando tus datos\n \n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\n\nexport function ThankYouMGM({ friend }: { friend?: boolean }) {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: friend ? (\n <>\n ¡Muchas gracias! Esa persona tan especial ya está más cerca de estrenar su Volkswagen.\n \n ) : (\n <>\n ¡Muchas gracias! Ya estás más cerca de estrenar tu Volkswagen.\n \n ),\n fields: <>,\n };\n return (\n \n );\n}\n","import { Breakpoints, Layout } from '@volkswagen-onehub/components-core';\nimport { \n LegalesFormatoLayer, \n LssiTkmQuestions, \n LastNavigation, \n PoliticaPrivacidad,\n GeneralConfirmacionLayerWrapper\n} from 'src/components';\nimport React from 'react';\n\nexport const ConfirmacionNewsletter = () => {\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionNewsletter } from './ConfirmacionNewsletter';\nimport { Email, PantallaNombreApellido } from 'src/components';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, MolecularResponse } from 'src/types';\nimport { FormController, removeWhiteSpace, useFeatureAppConfig, useOneFormContext } from 'src/feature-app';\nimport { ThankYouNewsletter } from './';\nimport { formDataBuilder } from '../format-fields';\n\nexport enum NewsletterSteps {\n NombreApellido,\n Email,\n Confirmacion,\n}\n\nexport function NewsletterForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const steps: Steps[] = [\n {\n title: (\n <>\n Queremos contártelo todo sobre la familia ID. Pero antes, nos gustaría saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NewsletterSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿A qué email te enviamos nuestras novedades?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NewsletterSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n fields: ,\n screenIndex: NewsletterSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'newsletter', formType: 'newsletter', pageCategory: 'Suscripción Newsletter' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_ID_NEWSLETTER',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': 'ID', //Este debería pasarse a variable, aunque actualmente siempre sea ID\n 'headers[FORM_NAME]': 'vw-oneform-newsletter',\n 'headers[FORM_OBJECTIVE]': 'Suscripción Newsletter',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': `vw-oneform-newsletter-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n 'flags[PERSON_RGPD_ADAPTED]': true,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Prospect',\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.content && response.data?.status?.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n notALayer: false,\n formType: 'layer',\n thankYouComponent: ,\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n return ;\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouNewsletter = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useGetInstalaciones } from 'src/feature-app';\nimport { IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkHasCarline = (idLead: IdLead) =>\n idLead &&\n idLead.NUM_COD_INTEREST_CARLINE__c &&\n idLead.DESC_Model__c &&\n propertyHasValue(idLead.NUM_COD_INTEREST_CARLINE__c) &&\n propertyHasValue(idLead.DESC_Model__c);\n\nexport function useInitializeNoCompraForm(steps: Steps[]) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const installations = useGetInstalaciones('VW_DDB_FRM_ENCUESTA_NO_COMPRA', 'VOLKSWAGEN_SF_INSTALLATION_ALL'); // llama al metodo getInstallations()\n\n useEffect(() => {\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n setLoading(false);\n };\n\n requestCarlines();\n }, []);\n\n return { firstStep: steps[0], lastStep: getLastItemOfSteps(steps), loading };\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdLead, IdPerson } from 'src/types';\nimport { NoCompraYaTengo, NoCompraNoTengo, NoCompraNoQuiero } from '.';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { checkHasCarline } from './use-initialize-no-compra-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\n\nexport interface NoCompraFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n dpsData: DpsData;\n handleError: () => void;\n trackFormLoad: () => void;\n estado: string;\n}\n\nexport function NoCompraController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [estado, setEstado] = useState(null);\n const [yaTengo, setYaTengo] = useState(false);\n const [noTengo, setNoTengo] = useState(false);\n const [noQuiero, setNoQuiero] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dispatch = useDispatch();\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n const { estado } = dpsData;\n setEstado(estado);\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n\n if (estado === 'ya_tengo') {\n setYaTengo(true);\n } else if (estado === 'no_quiero') {\n setNoQuiero(true);\n } else if (estado === 'no_tengo') {\n setNoTengo(true);\n } else {\n handleError();\n }\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n {/* useEffect(() => {\n console.log(error, 'error');\n }, [error]);*/}\n\n const trackFormLoad = () => {\n if (idLeadRef.current) {\n const customDealer: DealersData = {\n kvps: idLeadRef.current.TXT_DESC_DEALER_CODE__c,\n name: idLeadRef.current.DESC_Dealer_Code__c,\n markerInfo: { dealerInfo: { zipCode: idLeadRef.current.TXT_Postal_Code__c } },\n };\n dispatch({ type: 'SET_SELECTED_DEALER', payload: customDealer });\n if (checkHasCarline(idLeadRef.current)) {\n const carline: Partial = {\n title: idLeadRef.current.DESC_Model__c,\n code: Number(idLeadRef.current.NUM_COD_INTEREST_CARLINE__c),\n };\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n }\n }\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n // función para layer de error\n const handleTryAgain = async () => {\n // oneFormService.\n setError(false);\n setLoading(true);\n await oneFormService.retryPincodeLoad();\n handleComplete();\n };\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {yaTengo ? (\n \n ) : noTengo ? (\n \n ) : noQuiero ? (\n \n ) : null}\n \n );\n }\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend, getVehiculosModelo } from 'src/bff';\nimport { FechaCompra, PantallaIntroduccionStars, SelectMarcaModelo, MultipleCTASelection } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { useInitializeNoCompraForm, NoCompraFormProps, ConfirmacionNoCompra, ThankYouNoCompra, getCommonFormData, RatingSteps } from '.';\n\nexport enum NoCompraYaTengoSteps {\n //FechaCompra,\n TipoCompra,\n Modelo,\n Valoracion,\n Plazos,\n\tVisita,\n\tPrecio,\n\tEquipamiento,\n\tConsumo,\n\tGarantia,\n\tFinanciacion,\n Confirmacion,\n}\n\nexport function NoCompraYaTengo({ dpsData, idLead, idPerson, handleError, trackFormLoad, estado }: NoCompraFormProps) {\n const { initializeForm, nextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n\n const ctasTipoCompra = [\n {\n label: 'He comprado un vehículo nuevo',\n value: '1'\n },\n {\n label: 'He comprado un vehículo de ocasión',\n value: '2'\n },\n ];\n \n /*\n const getModeloInteresOutputs = (modelo: string, list: any) => {\n const aux = list.find((mod: any) => mod.name === 'modelo');\n return [aux.title];\n };\n\n const { modelo } = formData;\n\n\tuseEffect(() => {\n if (modelo) updateModelo(modelo);\n }, [modelo]);\n\n const updateModelo = (modelo: string) => {\n const outputs = getModeloInteresOutputs(modelo, list);\n\n let newSteps = [...steps];\n\n const modeloIndex = newSteps.findIndex((step: Steps) => step.name === 'Modelo');\n newSteps[modeloIndex].outputsText = outputs;\n\n dispatch({ type: 'UPDATE_STEPS', payload: newSteps });\n };*/\n\n const [list, setList] = useState(null);\n\n useEffect(() => {\n getVehiculosModelo().then((modelos) => {\n setList(modelos);\n });\n }, []);\n\n const steps: Steps[] = [\n /*{\n title: (\n <>\n Nos encantaría saber más. ¿Desde cuándo tienes coche nuevo?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraYaTengoSteps.FechaCompra,\n name: 'FechaCompra',\n },*/\n {\n title: (\n <>\n ¿Podrías indicarnos si has comprado finalmente un vehículo nuevo o de ocasión?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraYaTengoSteps.TipoCompra,\n name: 'TipoCompra',\n },\n {\n title: (\n <>\n Por curiosidad,{' '}\n \n ¿qué modelo{' '}\n \n es?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: NoCompraYaTengoSteps.Modelo,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n title: (\n <>\n Nos hubiera encantado que fuera un Volkswagen. ¿Nos ayudas a mejorar?\n \n ),\n fields: ,\n screenIndex: NoCompraYaTengoSteps.Valoracion,\n name: 'Valoracion',\n },\n\n ...RatingSteps('ya_tengo', NoCompraYaTengoSteps.Valoracion),\n \n {\n fields: ,\n screenIndex: NoCompraYaTengoSteps.Confirmacion,\n name: 'Confirmacion',\n },\n ];\n\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n headers: {},\n fields: { \n formName: 'no_compra-ya_tengo', \n formType: 'otherform', \n pageCategory: 'Encuesta' \n }\n };\n\n const generateData = (isPresubmit: boolean, data: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData; \n\n const submitData = !isPresubmit ? {\n //'fields[SURVEY_ANSWER_02]': fields.fecha,\n 'fields[SURVEY_ANSWER_02]': fields.tipoCompra,\n 'fields[SURVEY_ANSWER_03]': fields.marca,\n 'fields[SURVEY_ANSWER_04]': fields.modelo,\n 'fields[SURVEY_ANSWER_05]': fields.plazos,\n 'fields[SURVEY_ANSWER_06]': fields.visita,\n 'fields[SURVEY_ANSWER_08]': fields.precio,\n 'fields[SURVEY_ANSWER_09]': fields.equipamiento,\n 'fields[SURVEY_ANSWER_10]': fields.consumo,\n 'fields[SURVEY_ANSWER_11]': fields.garantia,\n 'fields[SURVEY_ANSWER_12]': fields.financiacion,\n 'flags[FLAG_SF_INTEGRATION]' : false,\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n ...submitData,\n };\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoCompraForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LastNavigation, LssiTkmQuestions, MultipleCTASelection, PoliticaPrivacidad } from 'src/components';\nimport { CTAsSiNo } from 'src/feature-app';\nimport { IdLead, OneFormState } from 'src/types';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n`;\ninterface ConfirmacionNoCompraProps {\n idLead: IdLead;\n}\n\nexport const ConfirmacionNoCompra = (props: ConfirmacionNoCompraProps) => {\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const store = useStore();\n\n const noTengo = formData.fields.formName == 'no_compra-no_tengo';\n const quieroContacto: boolean = store.getState().formData.fields.quieroContacto == 'true';\n const lssiPermite: boolean = props.idLead?.LSSI__c == 'PERMITE';\n\n useEffect(() => {\n if (compartir) {\n const values = { compartir: compartir };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setCompartirError(false);\n }\n }, [compartir]);\n\n useEffect(() => {\n if (lssiPermite) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n }\n }, [props.idLead]);\n\n return (\n \n \n { lssiPermite && (!quieroContacto || !noTengo) ? \n (\n
\n \n ¿Listo para enviar?\n \n
\n ) \n :\n (\n \n Y unas últimas preguntas\n \n )\n }\n { noTengo && quieroContacto ?\n (\n \n
\n \n ¿Podemos compartir tu respuesta con el{' '}\n \n punto de venta?*\n \n \n
\n \n {compartirError ? Este campo es obligatorio : null}\n
\n )\n :\n null\n }\n\n \n \n\n \n \n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nconst ctasNoCompra = [\n {\n emphasis: 'primary',\n url: 'https://www.volkswagen.es/stock/',\n label: 'Ofertas y stock'\n },\n {\n emphasis: 'primary',\n url: 'https://www.volkswagen.es/es/financiacion-seguros.html',\n label: 'Tipos de financiación'\n },\n];\n\nexport const ThankYouNoCompra = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: (\n \n ),\n fields: (\n \n ),\n };\n return (\n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyNoCompraController = () => {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n cardsTimeRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'true' } });\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { MapSearch: point.properties.installation.VGED_CommercialName__c } });\n\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province?.attributes[1]?.value ? province.attributes[1].value : point.properties.installation.Province;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province?.attributes[1]?.value ? province.attributes[1].value : point.properties.installation.Province;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleAvailabilityErrorLayer = () => {\n layerManager.openFocusLayer(renderAvailabilityErrorLayer, {}, { size: FocusLayerSizeV2.A });\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyNoCompraController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyNoCompraController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyNoCompraWrapper = () => {\n \n return (\n \n \n \n );\n};\n","import { Text, CTA, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LocateUserFullScreen } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { RenderController, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { DealersData, OneFormState, Steps } from 'src/types';\nimport { JourneyNoCompraWrapper } from './JourneyNoCompraWrapper';\nimport { InteractionLayerSizeV2, ShimBackgroundTypeV2 } from '@volkswagen-onehub/layer-manager';\n\nenum MapaNoCompraSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\ninterface MapaNoCompraProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaNoCompra(props: MapaNoCompraProps) {\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n const layerManager = useFeatureServices()['layer-manager'];\n const env = useFeatureAppEnvironment();\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n nextStepEventEmitter,\n nextStep,\n handleNextStep\n } = useOneFormContext();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Si tienes dudas, puedes pedir a un punto de venta que te contacte.\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: MapaNoCompraSteps.Dealer,\n name: 'MapSearch',\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const [selectedStep, setSelectedStep] = useState(null);\n const layerRef = useRef(null);\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n if (multiStepScreenIndex === 0) {\n handleFirstLoad();\n }\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n\n }\n }\n setNextMultiStep(() => nextMapaNoCompra);\n setPreviousMultiStep(() => previousMapaNoCompra);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaNoCompra = () => {\n // const { multiStepScreenIndex } = store.getState().formInfo;\n\n // handleScreenChange();\n\n // // Una vez avanzamos dentro de los multisteps se activa el wait\n // // previous step para volver hacia atrás dentro del propio multistep.\n // if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n // updateWaitForNextAndPreviousStep(null, true);\n // }\n\n // setTimeout(() => {\n // updateScreenChangeVariables(multiStepScreenIndex + 1);\n // // Si estamos en el último paso del multistep se desactiva el\n // // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n // if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n // updateWaitForNextAndPreviousStep(false, null);\n // setShowPreviousStep(true);\n // }\n // }, TIME_FOR_TRANSFORM);\n renderLayer();\n };\n\n const previousMapaNoCompra = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n const renderElement = (state?: any) => {\n if (state) {\n updateWaitForNextAndPreviousStep(false, null);\n }\n\n return (\n \n \n \n \n \n );\n };\n\n const renderLayer = () => {\n const layer = layerManager.openInteractionLayer(\n renderElement,\n { step: steps[1], nextStepEventEmitter },\n { size: InteractionLayerSizeV2.D, id: 'mapaNoCompra', shimBackgroundType: ShimBackgroundTypeV2.OPAQUE }\n );\n layerRef.current = layer;\n return null;\n };\n\n return selectedStep ? (\n selectedStep.screenIndex === 1 ? null : (\n \n \n \n )\n ) : null;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, MultipleCTASelection, PantallaIntroduccionStars } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from 'src/forms/helpers/add-remove-steps';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ConfirmacionNoCompra, getCommonFormData, MapaNoCompra, NoCompraFormProps, RatingSteps, ThankYouNoCompra, useInitializeNoCompraForm } from '.';\nimport { getDescInterestCarline } from '../Leads/helpers';\n\nexport enum NoCompraNoTengoSteps {\n ContactoConcesionario,\n QuieroVolkswagen,\n QuieroContacto,\n Modelo,\n Valoracion,\n\tVisita,\n\tPrecio,\n\tEquipamiento,\n\tConsumo,\n\tGarantia,\n\tFinanciacion,\n Mapa,\n Confirmacion,\n}\n\nexport function NoCompraNoTengo({ dpsData, idLead, idPerson, handleError, trackFormLoad, estado }: NoCompraFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { contactoConcesionario, quieroVolkswagen, quieroContacto } = formData.fields;\n const dispatch = useDispatch();\n const store = useStore();\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n\n const ctasContactoConcesionario = [\n {\n label: 'Sí',\n value: 'true'\n },\n {\n label: 'No he tenido contacto con el punto de venta',\n value: 'false'\n },\n ];\n\n const ctasQuieroContacto = [\n {\n label: 'Sí',\n value: 'true'\n },\n {\n label: 'No, ya no tengo interés',\n value: 'false'\n },\n ];\n\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Sabiendo que sigues buscando un vehículo que se ajuste a tus necesidades, nos gustaría confirmar contigo algunos datos. ¿Has estado en contacto con el punto de venta Volkswagen recientemente?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.ContactoConcesionario,\n name: 'contactoConcesionario',\n trueOrFalseQuestion: true,\n },\n {\n title: (\n <>\n Nos encantaría saber más.{' '}\n \n ¿Aún te interesa conducir un{' '}\n \n Volkswagen?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.QuieroVolkswagen,\n name: 'QuieroVolkswagen',\n trueOrFalseQuestion: true,\n },\n {\n title: (\n <>\n ¿Quieres que un punto de venta contacte contigo para resolver tus{' '}\n \n dudas?\n *\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.QuieroContacto,\n name: 'QuieroContacto',\n showOverflow: true,\n },\n {\n title: (\n <>\n ¿Qué modelo en{' '}\n \n concreto?\n *\n \n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.Modelo,\n name: 'Modelo',\n showOverflow: true,\n },\n\t\t{\n title: (\n <>\n Nos gustan los detalles. ¿Nos ayudas a mejorar?\n
\n Cuéntanos, por favor.\n
\n \n ),\n fields: ,\n screenIndex: NoCompraNoTengoSteps.Valoracion,\n name: 'Valoracion',\n },\n\n ...RatingSteps('no_tengo', NoCompraNoTengoSteps.Valoracion),\n\n {\n screenIndex: NoCompraNoTengoSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n fields: ,\n screenIndex: NoCompraNoTengoSteps.Confirmacion,\n name: 'Confirmacion',\n },\n ];\n\n\n\tuseEffect(() => {\n\t\tif (contactoConcesionario) {\n\t\t\tupdateSteps('QuieroVolkswagen', contactoConcesionario == 'true');\n\t\t\tupdateSteps('QuieroContacto', contactoConcesionario == 'false');\n\t\t}\n\t}, [contactoConcesionario]);\n\n\tuseEffect(() => {\n\t\tif (quieroVolkswagen) {\n\t\t\tupdateSteps('Modelo', quieroVolkswagen == 'true');\n\t\t}\n\t}, [quieroVolkswagen]);\n\n\tuseEffect(() => {\n\t\tif (quieroContacto) {\n\t\t\tconst steps = ['Modelo', 'Valoracion', 'Gestion', 'Precio', 'Equipamiento', 'Consumo', 'Garantia', 'Financiacion', 'Mapa'];\n\n\t\t\tsteps.reverse().forEach(function(step) {\n\t\t\t\tupdateSteps(step, quieroContacto == 'true');\n\t\t\t});\n\t\t}\n\t}, [quieroContacto]);\n\n\n\tconst updateSteps = (stepName: string, conditional: boolean) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...actualSteps];\n\t\tif (conditional) {\n\t\t\tconst stepIndex = getIndexInSteps(newSteps, stepName);\n\n\t\t\tif (stepIndex === -1) {\n\t\t\t\tnewSteps = addRemovedStep(steps, actualSteps, stepName, screenIndex);\n\t\t\t}\n\t\t} else {\n\t\t\tnewSteps = removeStep(newSteps, stepName);\n\t\t}\n\n\t\tconst newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n\t};\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n headers: {},\n fields: {\n formName: 'no_compra-no_tengo',\n formType: 'otherform',\n pageCategory: 'Encuesta'\n }\n };\n\n const generateData = (isPresubmit: boolean, data: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { selectedInstallation } = dealersInfo;\n\n const personData = fields.quieroContacto == 'true' ? {\n 'fields[PERSON_NAME]': idLead.FirstName,\n 'fields[PERSON_SURNAME_1]': idLead.LastName,\n 'fields[PERSON_SURNAME_2]': idLead.MiddleName,\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n } : null;\n\n const installationData = selectedInstallation && fields.quieroContacto == 'true' ? {\n 'fields[SF_LEAD_INSTALLATION_ID]': selectedInstallation.Id,\n 'fields[SF_LEAD_INSTALLATION_CODE]': selectedInstallation.VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_NAME]': selectedInstallation.VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': selectedInstallation.ShippingStateCode.toString().padStart(2, '0'),\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n //'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n\t\t\t'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n } : null;\n\n const submitData = !isPresubmit ? {\n ...personData,\n ...installationData,\n 'fields[SURVEY_ANSWER_13]': fields.contactoConcesionario,\n 'fields[SURVEY_ANSWER_15]': fields.quieroVolkswagen == 'true' ? getDescInterestCarline(dealersInfo, fields.modelo) : null,\n 'fields[SURVEY_ANSWER_28]': fields.gestion,\n 'fields[SURVEY_ANSWER_30]': fields.precio,\n 'fields[SURVEY_ANSWER_31]': fields.equipamiento,\n 'fields[SURVEY_ANSWER_32]': fields.consumo,\n 'fields[SURVEY_ANSWER_33]': fields.garantia,\n 'fields[SURVEY_ANSWER_34]': fields.financiacion,\n 'fields[SURVEY_ANSWER_35]': fields.quieroContacto,\n 'flags[FLAG_SF_INTEGRATION]' : fields.quieroContacto == 'true',\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n ...submitData,\n };\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoCompraForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n\n}\n","import React from 'react';\nimport { \n Text, \n styled, \n Container, \n ContainerGutter,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { SuggestModelo } from 'src/components';\n\n\nconst Wrapper = styled.div`\n margin-top: 44px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n }\n`;\nconst MarginTop = styled.div`\n margin-top: 44px;\n @media all and (min-width: 960px) {\n margin-top: 0;\n }\n`;\n\nexport const PantallaOtrosModelos = () => {\n\n return (\n \n \n
\n Dudo entre este modelo*:\n
\n \n
\n \n \n Y este otro:\n \n \n \n
\n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, DetalleMotivo, MultipleCTASelection, PantallaNombreApellido } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from 'src/forms/helpers/add-remove-steps';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ConfirmacionNoCompra, getCommonFormData, MapaNoCompra, NoCompraFormProps, ThankYouNoCompra, useInitializeNoCompraForm } from '.';\nimport { getDescInterestCarline } from '../Leads/helpers';\n\nexport enum NoCompraNoQuieroSteps {\n Decision,\n Motivo,\n MotivoDetalle,\n Modelo,\n Mapa,\n DatosPersonales,\n Confirmacion,\n}\n\nexport function NoCompraNoQuiero({ dpsData, idLead, idPerson, handleError, trackFormLoad, estado }: NoCompraFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n\n const { decision, motivo } = formData.fields;\n\n const CTAsDecision = [\n {\n label: 'He decidido aplazar la compra',\n value: 'true',\n },\n {\n label: 'Finalmente he decidido no comprar ningún coche',\n value: 'false',\n },\n ];\n\n const CTAsMotivoNoQuiero = [\n {\n label: 'Coche compartido (car sharing o moto sharing)',\n value: '1',\n },\n {\n label: 'Transporte público',\n value: '2',\n },\n {\n label: 'Patinete - Moto - Bicicleta',\n value: '3',\n },\n {\n label: 'Más adelante, en coche',\n value: '4',\n },\n {\n label: 'Otros',\n value: '6',\n },\n ];\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Entendemos que ya no estás interesado en la compra de un Volkswagen.{' '}\n \n ¿Podríamos conocer más detalles respecto a tu{' '}\n \n decisión?\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.Decision,\n name: 'Decision',\n },\n {\n title: (\n <>\n Nos encantaría saber más.{' '}\n \n ¿Cómo vas a moverte de ahora en{' '}\n \n adelante?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.Motivo,\n name: 'Motivo',\n },\n {\n title: (\n <>\n ¿Nos lo podrías concretar un poco más?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.MotivoDetalle,\n name: 'MotivoDetalle',\n },\n {\n title: (\n <>\n ¿Qué modelo en{' '}\n \n concreto?\n *\n \n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.Modelo,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n screenIndex: NoCompraNoQuieroSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n title: (\n <>\n Por favor, introduce o comprueba tus datos:\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.DatosPersonales,\n name: 'DatosPersonales',\n },\n {\n fields: ,\n screenIndex: NoCompraNoQuieroSteps.Confirmacion,\n name: 'Confirmacion',\n },\n ];\n\n useEffect(() => {\n if (decision) {\n // Si en la updateSteps realiza la accion de añadir step, es necesario añadirlos por el orden inverso de aparición\n updateSteps('DatosPersonales', decision == 'true' );\n updateSteps('Mapa', decision == 'true' );\n updateSteps('Modelo', decision == 'true' );\n updateSteps('MotivoDetalle', decision == 'false' );\n updateSteps('Motivo', decision == 'false' );\n };\n }, [decision]);\n\n useEffect(() => {\n if (motivo) {\n updateSteps('MotivoDetalle', motivo == '6' );\n };\n }, [motivo]);\n\n\n const updateSteps = (stepName: string, conditional: boolean) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n if (conditional) {\n const stepIndex = getIndexInSteps(newSteps, stepName);\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, stepName, screenIndex);\n }\n } else {\n newSteps = removeStep(newSteps, stepName);\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n headers: {},\n fields: {\n name: idLead?.FirstName ? idLead.FirstName : (idPerson?.FirstName ? idPerson.FirstName : ''),\n surname: idLead?.LastName ? idLead.LastName : (idPerson?.LastName ? idPerson.LastName : ''),\n secondSurname: idLead?.MiddleName ? idLead.MiddleName : (idPerson?.MiddleName ? idPerson.MiddleName : ''),\n formName: 'no_compra-no_quiero',\n formType: 'otherform',\n pageCategory: 'Encuesta'\n }\n };\n\n const generateData = (isPresubmit: boolean, data: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { selectedInstallation } = dealersInfo;\n\n const personData = fields.decision == 'true' ? {\n 'fields[PERSON_NAME]': idLead.FirstName,\n 'fields[PERSON_SURNAME_1]': idLead.LastName,\n 'fields[PERSON_SURNAME_2]': idLead.MiddleName,\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n } : null;\n\n const installationData = selectedInstallation && fields.decision == 'true' ? {\n 'fields[SF_LEAD_INSTALLATION_ID]': selectedInstallation.Id,\n 'fields[SF_LEAD_INSTALLATION_CODE]': selectedInstallation.VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_NAME]': selectedInstallation.VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': selectedInstallation.ShippingStateCode.toString().padStart(2, '0'),\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n //'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n\t\t\t'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n } : null;\n\n const submitData = !isPresubmit ? {\n ...personData,\n ...installationData,\n 'fields[SURVEY_ANSWER_47]': fields.motivo,\n 'fields[SURVEY_ANSWER_49]': fields.motivoDetalle,\n 'flags[FLAG_SF_INTEGRATION]' : fields.decision == 'true',\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n ...submitData,\n };\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoCompraForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import { getParamsForm } from 'src/feature-app/get-params-form';\n\nconst { tc, today, url, device } = getParamsForm();\n\nexport const getCommonFormData = (isPresubmit, idLead, dpsData, fields, data) => {\n\n\tconst formName = fields.formName ? fields.formName : data.fields.formName;\n\n\treturn {\n 'headers[DPS_TOKEN]': isPresubmit ? 'VW_DDB_FRM_ENCUESTA_NO_COMPRA_PREGRABACION' : 'VW_DDB_FRM_ENCUESTA_NO_COMPRA',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_URL]': url,\n 'headers[FORM_NAME]': `vw-oneform-${formName}`,\n 'headers[FORM_DETAILS]': isPresubmit ? 'NoCompra Pregrabación' : 'NoCompra Grabación',\n 'headers[FORM_OBJECTIVE]': fields.quieroContacto == 'true' ? 'Más Información' : 'Encuesta',\n 'headers[FORM_VERSION]': `vw-oneform-${formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[FK_SYSTEM]': idLead.Id,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\n //'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\n\t\t'fields[SURVEY_ANSWER_01]': formName == 'no_compra-no_quiero' ? '3' : formName == 'no_compra-no_tengo' ? '2' : '1',\n\n\t\t//'fields[DESC_LOPD]': isPresubmit ? '' : 'PERMITE',\n\t\t//'fields[DESC_TRANF_DATA_THIRD]': isPresubmit ? '' : 'NO INFORMADO',\n\n\t\t// Para no_tengo y ya_tengo: todo false\n\t\t//'flags[FLAG_ISLEAD]': fields.quieroVolkswagen == 'false' ? 'false' : fields.quieroContacto,\n\t\t//'flags[FLAG_ISPROSPECT]': fields.quieroVolkswagen == 'true' && fields.quieroContacto == 'false' ? 'true' : 'false',\n\t\t//'flags[FLAG_GENERATELEM]': fields.quieroVolkswagen == 'false' ? 'false' : fields.quieroContacto,\n\t}\n};\n","import React from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { Steps } from 'src/types';\nimport { RatingStars } from 'src/components';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\n\nconst resetStepsScreenIndex = (steps: Steps[], offset: number) => {\n return steps.map((step, index) => {\n step.screenIndex = index + offset;\n return step;\n });\n};\n\nexport function RatingSteps(formName: string, startIndex: number) {\n\t\n\tconst steps: Steps[] = [\n\n\t\t{\n\t\t\ttitle: El precio del modelo,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Precio',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: Características del vehículo, equipamiento y asistentes adicionales,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Equipamiento',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: El consumo del modelo,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Consumo',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: La garantía del modelo,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Garantia',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: Las condiciones de financiación,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Financiacion',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t];\n\n\tif (formName == 'ya_tengo') {\n\t\tconst prevSteps: Steps[] = [\n\t\t\t{\n\t\t\t\ttitle: Los plazos de entrega,\n\t\t\t\talternateTitle: Los plazos de entrega,\n\t\t\t\tfields: (\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tscreenIndex: 0,\n\t\t\t\tname: 'Plazos',\n\t\t\t\toutputsIsStars: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: Tu visita al punto de venta,\n\t\t\t\tfields: (\n\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tscreenIndex: 0,\n\t\t\t\tname: 'Visita',\n\t\t\t\toutputsIsStars: true,\n\t\t\t}\n\t\t];\n\n\t\treturn resetStepsScreenIndex(prevSteps.concat(steps), startIndex + 1);\n\t}\n\telse if(formName == 'no_tengo') {\n\t\tconst prevSteps: Steps[] = [\n\t\t\t{\n\t\t\t\ttitle: Gestión del punto de venta,\n\t\t\t\talternateTitle: Gestión del punto de venta,\n\t\t\t\tfields: (\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tscreenIndex: 0,\n\t\t\t\tname: 'Gestion',\n\t\t\t\toutputsIsStars: true,\n\t\t\t}\n\t\t];\n\n\t\treturn resetStepsScreenIndex(prevSteps.concat(steps), startIndex + 1);\n\t}\n\telse {\n\t\treturn resetStepsScreenIndex(steps, startIndex + 1);\n\t}\n}\n","import { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useGetInstalaciones } from 'src/feature-app';\nimport { IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkHasCarlineNoRenovacion = (idLead: IdLead) =>\n idLead &&\n idLead.NUM_COD_INTEREST_CARLINE__c &&\n idLead.DESC_Model__c &&\n propertyHasValue(idLead.NUM_COD_INTEREST_CARLINE__c) &&\n propertyHasValue(idLead.DESC_Model__c);\n\nexport function useInitializeNoRenovacionForm(steps: Steps[]) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const installations = useGetInstalaciones('VW_DDB_FORM_NORENUEVA', 'VOLKSWAGEN_SF_INSTALLATION_ALL'); // llama al metodo getInstallations()\n\n useEffect(() => {\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n setLoading(false);\n };\n\n requestCarlines();\n }, []);\n\n return { firstStep: steps[0], lastStep: getLastItemOfSteps(steps), loading };\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdLead, IdPerson, IdVehicle } from 'src/types';\nimport { NoRenovacionYaTengo, NoRenovacionNoTengo, NoRenovacionNoQuiero } from '.';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { checkHasCarlineNoRenovacion } from './use-initialize-no-renovacion-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\n\nexport interface NoRenovacionFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n idVehicle: IdVehicle;\n dpsData: DpsData;\n handleError: () => void;\n trackFormLoad: () => void;\n estado: string;\n}\n\nexport function NoRenovacionController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [estado, setEstado] = useState(null);\n const [yaTengo, setYaTengo] = useState(false);\n const [noTengo, setNoTengo] = useState(false);\n const [noQuiero, setNoQuiero] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const idVehicleRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dispatch = useDispatch();\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n const { estado } = dpsData;\n setEstado(estado);\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n const idVehicle = createPincodeEntity(dpsData, 'VEHICLE');\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n idVehicleRef.current = idVehicle;\n\n if (estado === 'ya_tengo') {\n setYaTengo(true);\n } else if (estado === 'no_quiero') {\n setNoQuiero(true);\n } else if (estado === 'no_tengo') {\n setNoTengo(true);\n } else {\n handleError();\n }\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n {/* useEffect(() => {\n console.log(error, 'error');\n }, [error]);*/}\n\n const trackFormLoad = () => {\n if (idLeadRef.current) {\n const customDealer: DealersData = {\n kvps: idLeadRef.current.TXT_DESC_DEALER_CODE__c,\n name: idLeadRef.current.DESC_Dealer_Code__c,\n markerInfo: { dealerInfo: { zipCode: idLeadRef.current.TXT_Postal_Code__c } },\n };\n dispatch({ type: 'SET_SELECTED_DEALER', payload: customDealer });\n if (checkHasCarlineNoRenovacion(idLeadRef.current)) {\n const carline: Partial = {\n title: idLeadRef.current.DESC_Model__c,\n code: Number(idLeadRef.current.NUM_COD_INTEREST_CARLINE__c),\n };\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n }\n }\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n // función para layer de error\n const handleTryAgain = async () => {\n // oneFormService.\n setError(false);\n setLoading(true);\n await oneFormService.retryPincodeLoad();\n handleComplete();\n };\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {yaTengo ? (\n \n ) : noTengo ? (\n \n ) : noQuiero ? (\n \n ) : null}\n \n );\n }\n}\n","\n\nimport { getParamsForm } from 'src/feature-app/get-params-form';\n\nconst { tc, today, url, device } = getParamsForm();\nconst urlParams = new URLSearchParams(window.location.search);\n\nexport const getCommonFormData = (isPresubmit, idPerson, idVehicle, dpsData, fields, data, surveyAnswer01) =>{\n\n const submitData = !isPresubmit ? {\n 'headers[FORM_SOURCE_INFO]': 'Encuesta Renovación',\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n } : null;\n\n return {\n ...submitData,\n\n 'headers[DPS_TOKEN]': isPresubmit ? 'VW_DDB_FORM_NORENUEVA_PREGRABACION': 'VW_DDB_FORM_NORENUEVA',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': isPresubmit ? 'NoRenovación Pregrabación' : 'NoRenovación Grabación',\n 'headers[FORM_MKT_CHANNEL]': 'CRM',\n 'headers[FORM_NAME]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[FORM_OBJECTIVE]': fields.formName ==='no_renovacion-no_tengo' && fields.quieroContacto === 'true' ? 'Más Información' : 'Encuesta',\n 'headers[FORM_URL]': url,\n 'headers[FORM_WEB_SECTION]': 'Genérica',\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n 'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n 'headers[FK_SYSTEM]': urlParams.get('assetid') || urlParams.get('assetId'),\n 'headers[FORM_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}` : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[VEH_ACTUAL_FRAME]': idVehicle.Name,\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_NAME]': idPerson.FirstName,\n 'fields[PERSON_SURNAME_1]': idPerson.LastName,\n 'fields[PERSON_EMAIL]': idPerson.PersonEmail,\n 'fields[PERSON_PHONE_MOBILE]': idPerson.MobilePhone,\n 'fields[SURVEY_ANSWER_01]': surveyAnswer01,\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n 'flags[FLAG_ALLOWS_DATA_ENRICHMENT]': false,\n 'flags[FLAG_IS_MYSTERY_LEAD]': false,\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n 'flags[FLAG_SF_INTEGRATION]': fields.quieroVolkswagen === 'true' && fields.quieroContacto === 'true' ? 'true' : 'false',\n }\n};\n","export const valueMotivoProblemas = '14';\nexport const valueMotivoOtros = '13';\n\nexport const CTAsMotivoRenovador = [\n\t{\n\t\tlabel: 'Los plazos de entrega',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tlabel: 'El precio y las opciones de financiación',\n\t\tvalue: '2',\n\t},\n\t{\n\t\tlabel: 'El diseño del coche',\n\t\tvalue: '3',\n\t},\n\t{\n\t\tlabel: 'El equipamiento del coche',\n\t\tvalue: '4',\n\t},\n\t{\n\t\tlabel: 'Relación calidad/precio',\n\t\tvalue: '5',\n\t},\n\t{\n\t\tlabel: 'La poca variedad de modelos y tecnologías disponibles',\n\t\tvalue: '6',\n\t},\n\t{\n\t\tlabel: 'Mi experiencia con el concesionario de venta',\n\t\tvalue: '7',\n\t},\n\t{\n\t\tlabel: 'Por problemas con mi vehículo anterior',\n\t\tvalue: valueMotivoProblemas\n\t},\n\t{\n\t\tlabel: 'Otros motivos',\n\t\tvalue: valueMotivoOtros\n\t},\n];\n\nexport const CTAsMotivoRenovadorProblemas = [\n\t{\n\t\tlabel: 'El consumo de combustible del vehículo anterior',\n\t\tvalue: '8',\n\t},\n\t{\n\t\tlabel: 'Los costes de mantenimiento del vehículo anterior',\n\t\tvalue: '9',\n\t},\n\t{\n\t\tlabel: 'Las averías sufridas con el vehículo anterior',\n\t\tvalue: '10',\n\t},\n\t{\n\t\tlabel: 'Mi experiencia previa con el servicio de posventa',\n\t\tvalue: '11',\n\t},\n\t{\n\t\tlabel: 'Otras experiencias con la marca',\n\t\tvalue: '12',\n\t},\n];\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, } from 'src/types';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { Container, ContainerPadding, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { MultipleCTASelection, MultipleOptionCTAs, DetalleMotivo, SelectMarcaModelo } from 'src/components';\nimport { ConfirmacionNoRenovacion, ThankYouNoRenovacion, FakeTriggerCTA } from '.';\nimport { getCommonFormData } from './FormData';\nimport { formatHeaders, formDataBuilder } from 'src/forms/format-fields';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { NoRenovacionFormProps } from './NoRenovacionController';\nimport { useInitializeNoRenovacionForm } from './use-initialize-no-renovacion-form';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { CTAsMotivoRenovador, CTAsMotivoRenovadorProblemas, valueMotivoOtros, valueMotivoProblemas } from './CtasNoRenovacion';\n\nexport function NoRenovacionYaTengo({\n dpsData,\n idVehicle,\n idPerson,\n handleError,\n trackFormLoad,\n estado,\n}: NoRenovacionFormProps) {\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const { formData } = useSelector((state: OneFormState) => state);\n const { selectMotivos, brand } = formData.fields;\n\n const vwBrandCode = '36';\n\n const CTAsUsadoNuevo = [\n {\n label: 'He comprado un vehículo nuevo',\n value: '1',\n },\n {\n label: 'He comprado un vehículo de ocasión',\n value: '2',\n },\n ];\n \n const CTAsLugarCompra = [\n {\n label: 'Punto de venta oficial',\n value: '1',\n },\n {\n label: 'Punto de venta no oficial',\n value: '2',\n },\n {\n label: 'Empresa de Renting/Leasing',\n value: '3',\n },\n {\n label: 'Compra-venta privada',\n value: '4',\n },\n ];\n\n let index = 0;\n const steps: Steps[] = [\n {\n title: (\n <>\n Nos encanta viajar contigo, pero sabemos que la vida da muchas vueltas y tenemos curiosidad…{' '}\n ¿Qué modelo te ha conquistado?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'introduccion',\n },\n {\n title: (\n <>\n \n ¿Qué modelo{' '}\n \n elegiste?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n title: (\n \n ¿Qué tipo de vehículo has{' '}\n \n escogido?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'usadoNuevo',\n ctas: CTAsUsadoNuevo,\n },\n {\n title: (\n \n ¿Dónde has adquirido tu nuevo{' '}\n \n vehículo?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'lugarCompra',\n ctas: CTAsLugarCompra,\n },\n {\n title: (\n <>\n ¿Por qué motivos \n no has elegido un{' '}\n \n Volkswagen?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n ),\n alternateTitle: (\n <>\n ¿Por qué motivos \n no has elegido un{' '}\n \n Volkswagen?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'selectMotivos',\n ctas: CTAsMotivoRenovador,\n },\n {\n title: (\n <>\n \n ¿Nos puedes decir cuáles{' '}\n \n son?*\n \n \n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'detalleMotivoRenovar',\n },\n {\n title: (\n <>\n ¿Por qué motivos \n tuviste problemas con {' '}\n \n tu vehículo anterior?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'selectProblemas',\n ctas: CTAsMotivoRenovadorProblemas,\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n useEffect(() => {\n if (brand) {\n updateSteps('lugarCompra', brand == vwBrandCode, 'usadoNuevo');\n updateSteps('selectMotivos', brand != vwBrandCode, 'usadoNuevo');\n updateSteps('selectProblemas', brand != vwBrandCode, 'selectMotivos');\n updateSteps('detalleMotivoRenovar', brand != vwBrandCode, 'selectProblemas');\n }\n }, [brand]);\n\n useEffect(() => {\n if (selectMotivos) handleMotivosRenovar();\n }, [selectMotivos]);\n\n const handleMotivosRenovar = () => {\n if (!(selectMotivos.includes(valueMotivoProblemas) && selectMotivos.includes(valueMotivoOtros))) {\n if (selectMotivos.includes(valueMotivoProblemas)) {\n updateSteps('detalleMotivoRenovar', false);\n }\n else if (selectMotivos.includes(valueMotivoOtros)) {\n updateSteps('selectProblemas', false);\n }\n else {\n updateSteps('detalleMotivoRenovar', false);\n updateSteps('selectProblemas', false);\n }\n }\n };\n\n const updateSteps = (stepName: string, conditional: boolean, addOnNextStepName?: string ) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n let newScreenIndex = screenIndex;\n\n if (conditional) {\n\n const stepIndex = getIndexInSteps(newSteps, stepName);\n\n if (stepIndex === -1) {\n if (addOnNextStepName) {\n newScreenIndex = getIndexInSteps(newSteps, addOnNextStepName);\n }\n newSteps = addRemovedStep(steps, actualSteps, stepName, newScreenIndex);\n }\n } else {\n newSteps = removeStep(newSteps, stepName);\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n\n \n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n fields: { formName: 'no_renovacion-ya_tengo', formType: 'otherform', pageCategory: 'Encuesta' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (isPresubmit: boolean, data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n let motivos = fields.selectMotivos;\n\n if(fields.selectProblemas){\n motivos = motivos.replace(valueMotivoProblemas, fields.selectProblemas);\n }\n else {\n motivos = deleteProblema(motivos);\n }\n\n const submitData = !isPresubmit ? {\n 'fields[SURVEY_ANSWER_02]': fields.brand,\n 'fields[SURVEY_ANSWER_03]': fields.modelo,\n 'fields[SURVEY_ANSWER_04]': fields.usadoNuevo,\n 'fields[SURVEY_ANSWER_05]': orderString(motivos),\n 'fields[SURVEY_ANSWER_06]': fields.lugarCompra,\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idPerson, idVehicle, dpsData, fields, data, '1'),\n ...submitData,\n };\n };\n\n const orderString = (orderMotivos) => {\n\n if (orderMotivos == null) {\n return null;\n }\n\n const array = orderMotivos.split(',');\n \n const sortedArray = array.sort((a, b) => {\n return parseInt(a) - parseInt(b);\n });\n \n const orderString = sortedArray.join(',');\n \n return orderString;\n };\n\n const deleteProblema = (motivosProblema) => {\n if (motivosProblema != null) {\n const array = motivosProblema.split(',');\n \n if (array.length == 1 && (array[0] == valueMotivoProblemas || array[0] == 'nada')) {\n return null;\n }\n\n const motivos = array.filter(numero => numero != valueMotivoProblemas);\n \n return motivos.join(',');\n }\n }\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoRenovacionForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { OneFormState } from 'src/types';\nimport {\n LssiTkmQuestions,\n PoliticaPrivacidad,\n LastNavigation,\n MultipleCTASelection\n} from 'src/components';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { CTAsSiNo } from 'src/feature-app';\nimport { IdPerson } from 'src/types';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n `;\ninterface ConfirmacionNoRenovacionProps {\n idPerson: IdPerson;\n}\n\nexport const ConfirmacionNoRenovacion = (props: ConfirmacionNoRenovacionProps) => {\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const store = useStore();\n const isLead: boolean = store.getState().formData.fields.quieroContacto === 'true';\n const lssiPermited: boolean = props.idPerson?.LSSI__c === 'PERMITE';\n\n useEffect(() => {\n if (compartir) {\n const values = { compartir: compartir };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setCompartirError(false);\n }\n }, [compartir]);\n\n useEffect(() => {\n if (lssiPermited) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n }\n }, [props.idPerson]);\n\n const generateLastQuestionTitle = () => {\n return lssiPermited ?\n (\n < Text bold >Mantente al día\n\n ) : (\n < Text bold >Mantente al día\n );\n };\n\n return (\n \n \n {lssiPermited && !isLead ||\n formData.fields.formName !== 'no_renovacion-no_tengo' && lssiPermited ? (\n
\n \n ¿Listo para enviar?\n \n
\n ) : (\n < Text appearance={TokenTextAppearance.headline300}>\n {generateLastQuestionTitle()}\n \n )}\n\n {formData.fields.formName === 'no_renovacion-no_tengo' && isLead && (\n \n
\n \n ¿Podemos compartir tu respuesta con el{' '}\n \n punto de venta?*\n \n \n
\n \n {compartirError ? Este campo es oblligatorio : null}\n
\n )}\n\n \n \n\n \n \n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouNoRenovacion = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyNoRenovacionController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'true' } });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyNoRenovacionController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyNoRenovacionController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyNoRenovacionWrapper = () => {\n \n return (\n \n \n \n );\n};\n","import { Text, styled, CTA } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LocateUserFullScreen } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { RenderController, OneElementTemplateFullScreen, TwoElementsTemplateFullScreen } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\nimport { JourneyNoRenovacionWrapper } from './JourneyNoRenovacionWrapper';\nimport { InteractionLayerSizeV2, ShimBackgroundTypeV2 } from '@volkswagen-onehub/layer-manager';\n\nenum MapaNoRenovacionSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport const MapaNoRenovacion = () => {\n\n const dispatch = useDispatch();\n const store = useStore();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n const layerManager = useFeatureServices()['layer-manager'];\n const env = useFeatureAppEnvironment();\n const { nextStep } = useOneFormContext();\n\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n nextStepEventEmitter,\n } = useOneFormContext();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Si tienes dudas, puedes pedir a un punto de venta que te contacte.\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: MapaNoRenovacionSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n Elige{' '}\n el concesionario que{' '}\n \n prefieras*\n \n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const [selectedStep, setSelectedStep] = useState(null);\n const layerRef = useRef(null);\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n if (multiStepScreenIndex === 0) {\n handleFirstLoad();\n }\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n\n }\n }\n setNextMultiStep(() => nextMapaNoRenovacion);\n setPreviousMultiStep(() => previousMapaNoRenovacion);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaNoRenovacion = () => {\n // const { multiStepScreenIndex } = store.getState().formInfo;\n\n // handleScreenChange();\n\n // // Una vez avanzamos dentro de los multisteps se activa el wait\n // // previous step para volver hacia atrás dentro del propio multistep.\n // if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n // updateWaitForNextAndPreviousStep(null, true);\n // }\n\n // setTimeout(() => {\n // updateScreenChangeVariables(multiStepScreenIndex + 1);\n // // Si estamos en el último paso del multistep se desactiva el\n // // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n // if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n // updateWaitForNextAndPreviousStep(false, null);\n // setShowPreviousStep(true);\n // }\n // }, TIME_FOR_TRANSFORM);\n renderLayer();\n };\n\n const previousMapaNoRenovacion = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n const renderElement = (state?: any) => {\n if (state) {\n updateWaitForNextAndPreviousStep(false, null);\n }\n\n return (\n \n \n \n \n \n );\n };\n\n const renderLayer = () => {\n const layer = layerManager.openInteractionLayer(\n renderElement,\n { step: steps[1], nextStepEventEmitter },\n { size: InteractionLayerSizeV2.D, id: 'mapaNoRenovacion', shimBackgroundType: ShimBackgroundTypeV2.OPAQUE }\n );\n layerRef.current = layer;\n return null;\n };\n\n return selectedStep ? (\n selectedStep.screenIndex === 1 ? null : (\n \n \n \n )\n ) : null;\n};\n","import React, { useEffect, useState } from 'react';\nimport { FormController, getParamsForm, useOneFormContext } from 'src/feature-app';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { Text, Container, ContainerPadding, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { CarlineSelect, MultipleCTASelection, DetalleMotivo, MultipleOptionCTAs, SelectMarcaModelo } from 'src/components';\nimport { ConfirmacionNoRenovacion, ThankYouNoRenovacion, MapaNoRenovacion, FakeTriggerCTA } from '.';\nimport { getCommonFormData } from './FormData';\nimport { NoRenovacionFormProps } from './NoRenovacionController';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { useInitializeNoRenovacionForm } from './use-initialize-no-renovacion-form';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { getDescInterestCarline } from '../Leads/helpers';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { CTAsMotivoRenovador, CTAsMotivoRenovadorProblemas, valueMotivoOtros, valueMotivoProblemas } from './CtasNoRenovacion';\n\nexport function NoRenovacionNoTengo({\n dpsData,\n idVehicle,\n idPerson,\n handleError,\n trackFormLoad,\n estado,\n}: NoRenovacionFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { quieroVolkswagen, selectMotivos } = formData.fields;\n const { screenIndex } = formInfo;\n const dispatch = useDispatch();\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const store = useStore();\n\n const CTAsNuevoOcasion = [\n {\n label: 'Uno nuevo',\n value: 'nuevo',\n },\n {\n label: 'Uno de ocasión',\n value: 'ocasión',\n },\n ];\n\n const CTAsMotivoRenovadorNoTengoExclusivo = [\n {\n label: 'Nada',\n value: 'nada',\n },\n ];\n\n\n const getModeloInteresTitle = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n <>\n ¿Qué modelo te llama más la{' '}\n \n atención?\n *\n \n \n );\n } else {\n return (\n <>\n ¿Qué otra marca y modelo estás valorando principalmente?\n \n );\n }\n };\n \n const getModeloInteresFields = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n \n \n \n }\n />\n );\n } else {\n return (\n \n }\n />\n );\n }\n };\n \n const getModeloInteresOutputs = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return ['modelo'];\n } else {\n return ['brand', 'model'];\n }\n };\n const getModeloInteresOutputsText = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return ['modelo'];\n } else {\n return ['brand', 'model'];\n }\n };\n \n const getDudasTitle = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n <>\n ¿Hay algo que te esté{' '}\n \n haciendo dudar en la compra del{' '}\n \n Volkswagen?*\n \n \n \n \n Elige un máximo de 3 opciones\n \n \n \n \n );\n } else {\n return (\n <>\n ¿Por qué motivos \n no estás valorando un{' '}\n \n Volkswagen?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n );\n }\n };\n \n const getDudasAlternatTitle = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n <>\n ¿Hay algo que te esté{' '}\n \n haciendo dudar en la compra del{' '}\n \n Volkswagen?*\n \n \n \n );\n } else {\n return (\n <>\n ¿Por qué motivo \n no estás valorando un{' '}\n \n Volkswagen?*\n \n \n );\n }\n };\n \n \n \n const getDudasFields = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n \n }\n />\n );\n } else {\n return (\n \n }\n />\n );\n }\n };\n\n let index = 0;\n const steps: Steps[] = [\n {\n title: (\n <>\n Nos encantaría seguir siendo tu compañero de viaje. \n Cuéntanos qué te hace dudar para poder ayudarte.\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'introduccion',\n },\n {\n title: (\n <>\n \n ¿Estás valorando un{' '}\n \n Volkswagen?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'quieroVolkswagen',\n trueOrFalseQuestion: true,\n },\n {\n title: <>, // Se actualiza en updateModeloInteresStep\n fields: <>, // Se actualiza en updateModeloInteresStep\n screenIndex: index++,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n title: (\n <>\n ¿Qué tipo de coche \n te{' '}\n \n interesa?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'tipoCoche',\n ctas: CTAsNuevoOcasion,\n },\n {\n title: (\n <>\n ¿Estás valorando algún{' '}\n \n modelo de otra{' '}\n \n marca?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'otraMarca',\n showOverflow: true,\n },\n {\n title: getDudasTitle(quieroVolkswagen),\n alternateTitle: getDudasAlternatTitle(quieroVolkswagen),\n fields: getDudasFields(quieroVolkswagen),\n screenIndex: index++,\n name: 'selectMotivos',\n ctas: [...CTAsMotivoRenovador, ...CTAsMotivoRenovadorNoTengoExclusivo],\n },\n {\n title: (\n <>\n ¿Qué otros motivos te hacen dudar?\n \n ),\n fields: (\n } />\n ),\n screenIndex: index++,\n name: 'motivoDudas',\n },\n {\n title: (\n <>\n ¿Por qué motivos \n tuviste problemas con tu {' '}\n \n vehículo anterior?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n\n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'selectMotivosProblems',\n ctas: CTAsMotivoRenovadorProblemas,\n },\n {\n screenIndex: index++,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n const updateModeloInteresStep = (quieroVolkswagen: string) => {\n const { steps: actualSteps } = store.getState().formInfo;\n const title = getModeloInteresTitle(quieroVolkswagen);\n const fields = getModeloInteresFields(quieroVolkswagen);\n const outputs = getModeloInteresOutputs(quieroVolkswagen);\n const outputsText = getModeloInteresOutputsText(quieroVolkswagen);\n\n let newSteps = [...steps];\n\n const modeloIndex = newSteps.findIndex((step: Steps) => step.name == 'Modelo');\n\n newSteps[modeloIndex].title = title;\n newSteps[modeloIndex].fields = fields;\n newSteps[modeloIndex].outputs = outputs;\n newSteps[modeloIndex].outputsText = outputsText;\n\n if (quieroVolkswagen == 'false') {\n newSteps = removeStep(newSteps, 'Mapa');\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'false' } });\n } else {\n const mapaIndex = getIndexInSteps(newSteps, 'Mapa');\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'true' } });\n\n if (mapaIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'Mapa', screenIndex);\n }\n }\n\n updateSteps(newSteps);\n };\n\n const handleStepsNoVolkswagen = (quieroVolkswagen: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...steps];\n\n if (quieroVolkswagen == 'true') {\n newSteps = [...steps];\n } else {\n newSteps = removeStep(newSteps, 'tipoCoche');\n newSteps = removeStep(newSteps, 'otraMarca');\n newSteps = removeStep(newSteps, 'Mapa');\n }\n\n updateSteps(newSteps);\n };\n\n const addOrRemoveStep = (stepName: string, conditional: boolean, addOnNextStepName?: string ) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n let newScreenIndex = screenIndex;\n\n if (conditional) {\n\n const stepIndex = getIndexInSteps(newSteps, stepName);\n\n if (stepIndex === -1) {\n if (addOnNextStepName) {\n newScreenIndex = getIndexInSteps(newSteps, addOnNextStepName);\n }\n newSteps = addRemovedStep(steps, actualSteps, stepName, newScreenIndex);\n }\n } else {\n newSteps = removeStep(newSteps, stepName);\n }\n\n updateSteps(newSteps);\n \n };\n\n const updateSteps = (steps: Steps[]) => {\n const newSteps = resetStepsScreenIndex(steps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newSteps });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newSteps[newSteps.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newSteps.length });\n };\n\n\n\n useEffect(() => {\n if (quieroVolkswagen) {\n updateModeloInteresStep(quieroVolkswagen);\n handleStepsNoVolkswagen(quieroVolkswagen);\n }\n }, [quieroVolkswagen]);\n\n useEffect(() => {\n if (selectMotivos) {\n if (selectMotivos.includes(valueMotivoProblemas) && selectMotivos.includes(valueMotivoOtros)) {\n addOrRemoveStep('selectMotivosProblems', true);\n addOrRemoveStep('motivoDudas', true, 'selectMotivosProblems');\n }\n else if (selectMotivos.includes(valueMotivoProblemas)) {\n addOrRemoveStep('motivoDudas', false);\n addOrRemoveStep('selectMotivosProblems', true);\n }\n else if (selectMotivos.includes(valueMotivoOtros)) {\n addOrRemoveStep('selectMotivosProblems', false);\n addOrRemoveStep('motivoDudas', true);\n }\n else {\n addOrRemoveStep('motivoDudas', false);\n addOrRemoveStep('selectMotivosProblems', false);\n }\n }\n }, [selectMotivos]);\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'no_renovacion-no_tengo',\n formType: 'otherform',\n pageCategory: 'Encuesta',\n }, // Analítica\n };\n\n const generateData = (isPresubmit: boolean, data?: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { selectedInstallation } = dealersInfo;\n\n let motivos = fields.selectMotivos;\n\n if(fields.selectMotivosProblems){\n motivos = motivos.replace(valueMotivoProblemas, fields.selectMotivosProblems);\n }else{\n motivos = deleteProblema(motivos);\n }\n\n motivos = orderString(motivos);\n\n const installationData = selectedInstallation && fields.quieroContacto == 'true' ? {\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n 'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[SF_LEAD_INSTALLATION_ID]': selectedInstallation.Id,\n 'fields[SF_LEAD_INSTALLATION_CODE]': selectedInstallation.VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_NAME]': selectedInstallation.VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_ADDRESS]': selectedInstallation.ShippingStreet,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': selectedInstallation.ShippingStateCode.toString().padStart(2, '0'),\n } : null;\n\n const submitData = !isPresubmit ? {\n ...installationData,\n 'fields[COMMENTS_BRAND]': fields.motivoDudas\n ? 'Motivos de duda indicados por el cliente en la encuesta: ' + fields.motivoDudas\n : motivos,\n 'fields[SURVEY_ANSWER_11]': fields.quieroVolkswagen,\n 'fields[SURVEY_ANSWER_13]': fields.tipoCoche == 'nuevo' ? '1' : '2',\n 'fields[SURVEY_ANSWER_14]': fields.otraMarca == 'false' ? null : fields.otraMarca,\n 'fields[SURVEY_ANSWER_16]': fields.quieroVolkswagen == 'true' ? motivos : null,\n 'fields[SURVEY_ANSWER_19]': fields.brand,\n 'fields[SURVEY_ANSWER_20]': fields.model,\n 'fields[SURVEY_ANSWER_21]': fields.quieroVolkswagen == 'true' ? null : motivos, \n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo), \n 'fields[VEH_INTEREST_NEW_OR_USED]': fields.tipoCoche == 'nuevo' ? 'New Car' : 'Used Car',\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idPerson, idVehicle, dpsData, fields, data, '3'),\n ...submitData,\n };\n };\n\n const orderString = (orderMotivos) => {\n\n if (orderMotivos == null) {\n return null;\n }\n\n const array = orderMotivos.split(',');\n \n const sortedArray = array.sort((a, b) => {\n return parseInt(a) - parseInt(b);\n });\n \n const orderString = sortedArray.join(',');\n \n return orderString;\n };\n\n const deleteProblema = (motivosProblema) => {\n \n if (motivosProblema != null) {\n const array = motivosProblema.split(',');\n \n if (array.length == 1 && (array[0] == valueMotivoProblemas || array[0] == 'nada')) {\n return null;\n }\n\n const motivos = array.filter(numero => numero != valueMotivoProblemas);\n \n return motivos.join(',');\n }\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoRenovacionForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import React, { useEffect, useState } from 'react';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { Container, ContainerPadding, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { DetalleMotivo, MultipleOptionCTAs, LegalFullScreenSinConsentmientos } from 'src/components';\nimport { ConfirmacionNoRenovacion, ThankYouNoRenovacion, FakeTriggerCTA } from '.';\nimport { getCommonFormData } from './FormData';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { NoRenovacionFormProps } from './NoRenovacionController';\nimport { useInitializeNoRenovacionForm } from './use-initialize-no-renovacion-form';\nimport {\n addRemovedStep,\n getIndexInSteps,\n removeStep,\n resetStepsScreenIndex,\n removeMultipleSteps,\n} from '../helpers/add-remove-steps';\n\nexport function NoRenovacionNoQuiero({\n dpsData,\n idLead,\n idVehicle,\n idPerson,\n trackFormLoad,\n handleError,\n estado,\n}: NoRenovacionFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [presubmitSent, setPresubmitSent] = useState(false);\n const { razones, formasMovilidad } = formData.fields;\n\n const CTAsFormasMovilidad = [\n {\n label: 'Coche compartido (car sharing)',\n value: '1',\n },\n {\n label: 'Moto compartida (moto sharing)',\n value: '2',\n },\n {\n label: 'Transporte público',\n value: '3',\n },\n {\n label: 'Patinete',\n value: '4',\n },\n {\n label: 'Moto',\n value: '5',\n },\n {\n label: 'Bicicleta',\n value: '6',\n },\n {\n label: 'Otros',\n value: '8', // Si este valor cambia se tiene que revisar handleDetalleFormasMovilidad()\n },\n ];\n\n const CTAsFormasMovilidadExclusive = [\n {\n label:\n 'No tengo necesidad de utilizar ningún medio de transporte para desplazarme',\n value: '7',\n },\n ];\n\n const CTAsRazones = [\n {\n label: 'Económicas',\n value: '1',\n },\n {\n label: 'Medioambientales',\n value: '2',\n },\n {\n label: 'Ahorro de tiempo',\n value: '3',\n },\n {\n label: 'Otras razones',\n value: '4', // Si este valor cambia se tiene que revisar handleDetalleRazones()\n },\n ];\n\n\n let index = 0;\n const steps: Steps[] = [\n {\n title: (\n <>\n Nos hubiese encantado seguir siendo tu compañero de viaje. \n ¿Nos cuentas el porqué de este cambio por si te podemos ayudar en un futuro?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'introduccion',\n },\n {\n title: (\n <>\n \n ¿Cómo vas a realizar tus desplazamientos de ahora en{' '}\n \n adelante?*\n \n \n \n \n Puedes elegir más de una opción\n \n \n \n ),\n alternateTitle: (\n <>\n \n ¿Cómo vas a realizar tus desplazamientos de ahora en{' '}\n \n adelante?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'formasMovilidad',\n outputs: ['formasMovilidad'],\n outputsText: ['formasMovilidad'],\n ctas: [...CTAsFormasMovilidad, ...CTAsFormasMovilidadExclusive],\n },\n {\n title: (\n <>\n ¿Nos explicas en{' '}\n \n qué otro medio te vas a{' '}\n \n desplazar?*\n \n \n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'detalleFormasMovilidad',\n outputs: ['detalleFormasMovilidad'],\n outputsText: ['detalleFormasMovilidad'],\n },\n {\n title: (\n <>\n ¿Cuáles han sido las razones \n para hacer este{' '}\n \n cambio?*\n \n \n \n Puedes elegir más de una opción\n \n \n \n ),\n alternateTitle: (\n <>\n ¿Cuáles han sido las razones \n para hacer este{' '}\n \n cambio?*\n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'razones',\n outputs: ['razones'],\n outputsText: ['razones'],\n ctas: CTAsRazones,\n },\n {\n title: (\n <>\n \n ¿Puedes{' '}\n \n compartirlas?*\n \n \n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'detalleRazones',\n outputs: ['detalleRazones'],\n outputsText: ['detalleRazones'],\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n useEffect(() => {\n if (formasMovilidad) handleDetalleFormasMovilidad();\n }, [formasMovilidad]);\n\n const handleDetalleFormasMovilidad = () => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (formasMovilidad.includes('8')) {\n const stepIndex = getIndexInSteps(newSteps, 'detalleFormasMovilidad');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'detalleFormasMovilidad', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'detalleFormasMovilidad');\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n useEffect(() => {\n if (razones) handleDetalleRazones();\n }, [razones]);\n\n const handleDetalleRazones = () => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (razones.includes('4')) {\n const stepIndex = getIndexInSteps(newSteps, 'detalleRazones');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'detalleRazones', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'detalleRazones');\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'no_renovacion-no_quiero',\n formType: 'otherform',\n pageCategory: 'Encuesta',\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (isPresubmit: boolean, data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n const submitData = !isPresubmit ? {\n 'fields[SURVEY_ANSWER_07]': orderString(fields.formasMovilidad),\n 'fields[SURVEY_ANSWER_08]': fields.detalleFormasMovilidad,\n 'fields[SURVEY_ANSWER_09]': orderString(fields.razones),\n 'fields[SURVEY_ANSWER_10]': fields.detalleRazones,\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idPerson, idVehicle, dpsData, fields, data, '2'),\n ...submitData,\n };\n };\n\n const orderString = (orderMotivos) => {\n\n if (orderMotivos == null) {\n return null;\n }\n\n const array = orderMotivos.split(\",\");\n \n const sortedArray = array.sort((a, b) => {\n return parseInt(a) - parseInt(b);\n });\n \n const orderString = sortedArray.join(\",\");\n \n return orderString;\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoRenovacionForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n customLegal: idPerson.LSSI__c === 'PERMITE' ? : null,\n hideLegal: idPerson.LSSI__c === 'PERMITE' ? true : false,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import React from 'react';\nimport {\n styled\n} from '@volkswagen-onehub/components-core';\nimport { SuggestModelo, SuggestMarca } from 'src/components';\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media all and (min-width: 560px) {\n width: var(--size-grid013);\n }\n @media all and (min-width: 960px) {\n width: var(--size-grid008);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid006);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid005);\n }\n @media all and (min-width: 2560px) {\n width: var(--size-grid004);\n }\n }\n`;\n\nexport const PantallaMarcaModelo = () => {\n return (\n \n
\n
\n
\n );\n};\n","import React from 'react';\nimport {\n CTA,\n} from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\nexport const FakeTriggerCTA = () => {\n const { nextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n return (\n
\n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n Empezar\n \n
\n );\n};\n","import { Breakpoints, styled, Layout } from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions, PoliticaPrivacidad, LastNavigation, GeneralConfirmacionLayerWrapper } from 'src/components';\nimport React from 'react';\n\nexport const ConfirmacionProspects = () => {\n\n return (\n \n \n \n \n\n \n \n \n \n );\n};\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionProspects } from './ConfirmacionProspects';\nimport { Email, PantallaNombreApellido, CarlineSelect, findCarline } from 'src/components';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getCarlines, getMolecularUrl } from 'src/bff';\nimport { isCalculadoraForm } from 'src/forms';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, MolecularResponse } from 'src/types';\nimport {\n FormController,\n removeWhiteSpace,\n useFaContent,\n useFeatureAppConfig,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { ThankYouProspects } from '.';\nimport { formatFields, formatHeaders, formDataBuilder } from '../format-fields';\nimport { removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { getCodInterestCarline, getDescInterestCarline, getMatchData, getCalculadoraData } from '../Leads';\n\nexport enum ProspectsSteps {\n Modelo,\n NombreApellido,\n Email,\n Confirmacion,\n}\n\ninterface ProspectsFormProps {\n customSteps?: Steps[];\n updatedFormData?: Partial;\n updatedFormInfo?: Partial;\n}\n\nexport function ProspectsVentaForm({ customSteps, updatedFormData }: ProspectsFormProps) {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const faContent = useFaContent();\n\n const steps: Steps[] = customSteps\n ? customSteps\n : [\n {\n title: (\n <>\n ¿Qué modelo te apetece conducir?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n title: (\n <>\n Queremos contártelo todo sobre nuestro próximo modelo, el Nuevo Taigo. Pero antes, nos gustaría saber{' '}\n quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿A qué email te enviamos las novedades sobre el Nuevo Taigo?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n fields: ,\n screenIndex: ProspectsSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: 'B5. VW Launch Prospects',\n DESC_FORMOBJECTIVE: 'Prospect',\n DESC_ID_CAMPAIGN: '7011n000000JrSNAA0',\n DESC_TOKEN: 'VW_DDB_FRM_PROSPECT_LAUNCH',\n ...updatedFormData?.headers,\n },\n fields: {\n formName: 'prospect',\n formType: 'otherform',\n pageCategory: 'Prospect',\n formFields: {\n DESC_LOPD: 'PERMITE',\n DESC_TRANF_DATA_THIRD: 'NO INFORMADO',\n },\n ...updatedFormData?.fields,\n }, // Analítica\n };\n\n const getFormInfo = (steps: Steps[]): Partial => {\n const firstStep = steps[0];\n const lastStep = steps[steps.length - 1];\n const stepsHistory = [0];\n const numberOfScreens = steps.length;\n\n return {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n formType: 'layer',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps,\n stepsHistory,\n thankYouComponent: ,\n };\n };\n\n const getFormDataWithCarline = async () => {\n const carlineCode = faContent?.carlines[0];\n const carlines = await getCarlines();\n const carlineFromFaContent = carlines.find((carline) => carline.code === Number(carlineCode));\n\n return {\n ...NuevoFormData,\n fields: {\n ...NuevoFormData.fields,\n formFields: {\n ...NuevoFormData.fields.formFields,\n COD_INTEREST_CARLINE: carlineFromFaContent?.code,\n DESC_INTEREST_CARLINE: carlineFromFaContent?.title,\n },\n },\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[COD_INTEREST_CARLINE]': getCodInterestCarline(dealersInfo, fields.carlineCode),\n 'fields[DESC_INTEREST_CARLINE]': getDescInterestCarline(dealersInfo, fields.modelo),\n ...formatFields(fields.formFields),\n\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n ...(await getMatchData(formData, dealersInfo, faContent)),\n };\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n\n const MOLECULAR_URL = getMolecularUrl(); // Legacy\n\n const response: AxiosResponse = await Axios.post(\n `${MOLECULAR_URL}/request-dps-send.php`,\n formDataInfo\n );\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const getFormDataAndInfo = async () => {\n let formData = { ...NuevoFormData };\n let formInfo = getFormInfo(steps);\n\n if (faContent?.match) {\n let match = faContent.match;\n const carlines = await getCarlines();\n const carline = findCarline(carlines, match.carline.code);\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n dispatch({ type: 'SET_OFERTA', payload: match });\n\n return { formData, formInfo };\n } else if (faContent?.carlines && faContent?.carlines?.length > 0) {\n formData = await getFormDataWithCarline();\n const newSteps = removeStep(steps, 'Modelo');\n const finalSteps = resetStepsScreenIndex(newSteps);\n formInfo = getFormInfo(finalSteps);\n } else {\n const carlines = await getCarlines();\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n }\n\n return { formData, formInfo };\n };\n\n useEffect(() => {\n getFormDataAndInfo().then((response) => {\n const { formData, formInfo } = response;\n initializeForm(formInfo, formData);\n });\n }, []);\n\n return ;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { CarlineSelect, Email, findCarline, PantallaNombreApellido } from 'src/components';\nimport { useFaContent } from 'src/feature-app';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { createSalesgroup } from '../Leads';\nimport { ConfirmacionProspects } from './ConfirmacionProspects';\nimport { ProspectsVentaForm } from './ProspectsVentaForm';\n\nenum ProspectsSteps {\n Email,\n NombreApellido,\n Confirmacion,\n}\n\nexport function MatchProspectForm() {\n const faContent = useFaContent();\n const dispatch = useDispatch();\n\n const steps = [\n {\n title: (\n <>\n ¿A qué email{' '}quieres que te enviemos esta configuración?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n title: (\n <>\n Para hacerlo, nos gustaría saber{' '}quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n \n {\n fields: ,\n screenIndex: ProspectsSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n return (\n \n );\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getMolecularUrl } from 'src/bff';\nimport { Email, PantallaNombreApellido } from 'src/components';\nimport { FormController, removeWhiteSpace, useFaContent, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { isCalculadoraForm } from 'src/forms';\nimport { FormDataGroup, FormInfo, MolecularResponse, OneFormState, Steps } from 'src/types';\nimport { formatFields, formatHeaders, formDataBuilder } from '../format-fields';\nimport { getCalculadoraData, getCodInterestCarline, getDescInterestCarline, getMatchData } from '../Leads';\nimport { ThankYouProspects } from './';\nimport { ConfirmacionProspects } from './ConfirmacionProspects';\n\nexport enum ProspectsPosventaSteps {\n Email,\n NombreApellido,\n Confirmacion,\n}\n\ninterface ProspectsFormProps {\n customSteps?: Steps[];\n updatedFormData?: Partial;\n updatedFormInfo?: Partial;\n}\n\nexport function ProspectsPosventaForm({ updatedFormData }: ProspectsFormProps) {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const faContent = useFaContent();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n ¿A qué email te enviamos este presupuesto de mantenimiento?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsPosventaSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n title: (\n <>\n Genial. Aunque antes de mandártelo, nos gustaría saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsPosventaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n fields: ,\n screenIndex: ProspectsPosventaSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_PROSPECT_POSVENTA',\n DESC_CAMPAIGNBLOCK: '13. VW Posventa Inbound',\n DESC_FORMOBJECTIVE: 'Presupuesto Posventa',\n DESC_ID_CAMPAIGN: '7011n000000JwcWAAS',\n ...updatedFormData.headers,\n },\n fields: {\n formName: 'prospect-posventa',\n formType: 'otherform',\n pageCategory: 'Prospect',\n formFields: {\n DESC_LOPD: 'PERMITE',\n DESC_TRANF_DATA_THIRD: 'NO INFORMADO',\n },\n ...updatedFormData?.fields,\n }, // Analítica\n };\n\n const getFormInfo = (steps: Steps[]): Partial => {\n const firstStep = steps[0];\n const lastStep = steps[steps.length - 1];\n const stepsHistory = [0];\n const numberOfScreens = steps.length;\n\n return {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps,\n stepsHistory,\n thankYouComponent: ,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[COD_INTEREST_CARLINE]': getCodInterestCarline(dealersInfo, fields.carlineCode),\n 'fields[DESC_INTEREST_CARLINE]': getDescInterestCarline(dealersInfo, fields.modelo),\n ...formatFields(fields.formFields),\n\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n ...getCalculadoraData(formData),\n };\n\n if (isCalculadoraForm(fields.formName)) {\n delete data['fields[COD_INTEREST_CARLINE]'];\n delete data['fields[DESC_INTEREST_CARLINE]'];\n delete data['headers[DESC_VN_VO]'];\n }\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n\n const MOLECULAR_URL = getMolecularUrl(); // Legacy\n\n const response: AxiosResponse = await Axios.post(\n `${MOLECULAR_URL}/request-dps-send.php`,\n formDataInfo\n );\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const formInfo = getFormInfo(steps);\n\n initializeForm(formInfo, NuevoFormData);\n }, []);\n\n return ;\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useFeatureAppConfig, useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\n\nconst copiesThankYou = [\n {\n name: 'prospect',\n titleCopyRegular: '',\n titleCopyBold: '¡Listo!',\n bodyCopy: [\n 'Muy pronto, recibirás toda la información sobre el Nuevo Taigo.',\n ],\n },\n {\n name: 'prospect-match',\n titleCopyRegular: 'Ya te hemos enviado ',\n titleCopyBold: 'los detalles de tu configuración',\n bodyCopy: [\n 'Muy pronto recibirás un email con las características del Volkswagen que más encaja contigo. ',\n ],\n },\n {\n name: 'prospect-posventa-calculadora',\n titleCopyRegular: 'Ya tienes ',\n titleCopyBold: 'tu presupuesto de mantenimiento',\n bodyCopy: [\n 'Te hemos enviado un email con todos los detalles sobre tu mantenimiento para que puedas consultarlo cuando quieras.',\n ],\n }\n];\ninterface FieldProps {\n copyBook?: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nfunction Fields(props: FieldProps) {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const config = useFeatureAppConfig();\n\n return (\n \n
\n \n \n {props.copyBook}\n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouProspects(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n const { formName } = formData;\n\n\n const [completeInfo, setCompletInfo] = useState(null);\n const [titleBold, setTitleBold] = useState('');\n const [titleRegular, setTitleRegular] = useState('');\n const [copybook, setCoopybook] = useState('');\n\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n const aux = copiesThankYou.filter((a: any) => {\n return a.name === formName;\n });\n setCompletInfo(aux);\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const renderTitle = () => {\n return (\n <>\n \n \n {completeInfo ? completeInfo[0].titleCopyRegular : null}\n {completeInfo ? completeInfo[0].titleCopyBold : null}\n \n \n \n \n {completeInfo ? completeInfo[0].titleCopyRegular : null}\n {completeInfo ? completeInfo[0].titleCopyBold : null}\n \n \n \n );\n };\n\n const screen: Steps = {\n title: <>{renderTitle()},\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouProspects);\n\nexport { ConnectedComponent as ThankYouProspects };\n","import { CTA, styled, ThemeProvider, Spinner } from '@volkswagen-onehub/components-core';\nimport { ArrowRight } from '@volkswagen-onehub/icons-core/dist/ArrowRight';\nimport { Checkmark } from '@volkswagen-onehub/icons-core/dist/Checkmark';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { TelefonoInput, PrefijoInput } from 'src/components';\nimport { OneFormState } from 'src/types';\nimport { useWindowWidth } from '@react-hook/window-size';\nimport { Phone } from '@volkswagen-onehub/icons-core/dist/Phone';\nimport { keyframes, css } from 'styled-components';\nimport { useTrackingManager, getTrackingForm, useOneFormContext } from 'src/feature-app';\n\nconst moveLeft = keyframes`\n from {\n /* left: 70%; */\n left: 75%;\n }\n to {\n left: 0;\n /* right: auto; */\n }\n`;\n\nconst RaceFormWrapper = styled.div<{ width: number; isSending: boolean; isSent: boolean; showFullWidth: boolean }>`\n display: flex;\n margin-bottom: 24px;\n margin-top: 24px;\n width: ${(props) => {\n if (props.showFullWidth) {\n return '605px';\n }\n if (window.innerWidth < 418) {\n if (props.isSending || props.isSent) {\n return '100%';\n return `${props.width}px`;\n }\n return '75%';\n } else {\n if (props.isSending || props.isSent) {\n return '100%';\n }\n return 'fit-content';\n }\n }};\n\n min-height: 44px;\n position: relative;\n`;\n\nconst PrefijoWrapper = styled.div`\n width: 78px;\n padding-top: 3px;\n margin-right: 24px;\n\n & label {\n color: #001e50 !important;\n }\n`;\n\ninterface CTAWrapperProps{\n width: number;\n isSending: boolean;\n isSent: boolean;\n isPristine: boolean;\n showFullWidth: boolean;\n successful: boolean;\n}\nconst CTAWrapper = styled.div`\n position: absolute;\n left: ${(props) => (props.isSent || props.isSending ? '0' : '100%')};\n width: auto;\n animation: ${(props) => {\n if (props.isSending) {\n return css`\n ${moveLeft} 1s ease\n `;\n } else {\n return 'none';\n }\n }};\n\n & button {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '15px')};\n margin-top: 5px;\n width: ${(props) => {\n if (props.isSending || props.isSent) {\n if (props.showFullWidth) {\n return '250px';\n } else {\n if (props.isSending) {\n return '250px';\n }\n return '100%';\n }\n }\n return '44px';\n }};\n height: 44px;\n background-color: ${(props) => (props.isSent ? '#029640' : '#ffaa27')};\n border: ${(props) => (props.isSent ? '2px solid #029640' : '2px solid #ffaa27')};\n /* transition: all 1s ease; */\n cursor: ${(props) => (props.isSent ? 'auto' : 'pointer')};\n\n @media all and (min-width: 375px) {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '25px')};\n }\n @media all and (min-width: 560px) {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '32px')};\n }\n\n & > span {\n height: 24px;\n }\n\n &:focus,\n &:hover::before,\n &:active::before {\n background-color: ${(props) => (props.isSent && !props.isPristine ? '#029640' : '#ffaa27')};\n position: relative;\n /* margin: 0px; */\n box-shadow: none;\n }\n &:hover::before {\n margin: 0px;\n }\n }\n & button[disabled] {\n cursor: not-allowed;\n background-color: ${(props) => (props.successful ? '#029640' : '#DFE4E8')};\n color: ${(props) => (props.successful ? '#ffffff' : 'inherit')};\n border: 2px ${(props) => (props.successful ? '#029640' : '#DFE4E8')};\n }\n`;\n\ninterface CTAWrapperFullScreenProps {\n isSending: boolean;\n isSent: boolean;\n isPristine: boolean;\n showFullWidth: boolean;\n successful: boolean;\n}\n\nconst CTAWrapperFullScreen = styled.div`\n position: absolute;\n left: ${(props) => (props.isSent || props.isSending ? '0' : '45%')};\n width: auto;\n\n animation: ${(props) => {\n if (props.isSending) {\n return css`\n ${moveLeft} 1s ease\n `;\n } else {\n return 'none';\n }\n }};\n\n @media all and (min-width: 1600px) {\n left: ${(props) => (props.isSent || props.isSending ? '0' : '49%')};\n }\n\n & button {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '32px')};\n margin-top: 5px;\n width: ${(props) => (props.isSending ? '250px' : props.isSent || props.showFullWidth ? 'auto' : '44px')};\n height: 44px;\n background-color: ${(props) => (props.isSent && props.successful ? '#029640' : '#ffaa27')};\n border: ${(props) => (props.isSent && props.successful ? '2px solid #029640' : '2px solid #ffaa27')};\n cursor: ${(props) => (props.isSent && props.successful ? 'auto' : 'pointer')};\n\n & > span {\n height: 24px;\n }\n\n &:focus,\n &:hover::before,\n &:active::before {\n background-color: ${(props) => (props.isSent && props.successful && !props.isPristine ? '#029640' : '#ffaa27')};\n position: relative;\n /* margin: 0px; */\n box-shadow: none;\n }\n\n &:hover::before {\n margin: 0px;\n }\n }\n & button[disabled] {\n cursor: not-allowed;\n background-color: ${(props) => (props.successful ? '#029640' : '#DFE4E8')};\n color: ${(props) => (props.successful ? '#ffffff' : 'inherit')};\n border: ${(props) => (props.successful ? '2px solid #029640' : '2px solid #DFE4E8')};\n }\n`;\n\ninterface RaceFormProps {\n isSent: boolean;\n isSending: boolean;\n disabledButton: boolean;\n sendForm: () => Promise;\n isPristine: boolean;\n isFullScreen: boolean;\n copyWidth?: number; // Con el resize en algunos dispositivos móviles se pierde el tamaño necesario del cta y se descuadra.\n setIsPristine: React.Dispatch>;\n successful?: boolean;\n error?: boolean;\n}\n\nconst showFullCta = (isFullScreen: boolean) => isFullScreen && window.innerWidth > 1279;\n\nexport const RaceForm = ({\n isSent,\n isSending,\n isPristine,\n disabledButton,\n sendForm,\n copyWidth,\n isFullScreen,\n setIsPristine,\n successful,\n}: RaceFormProps) => {\n const initialSizeRef = useRef(null); // Hay que determinar el width del contenedor al principio para que cuando desaparezcan los campos de telf y prefijo no cambie el ancho y la animación del cta empiece desde otro sitio.\n const [containerWidth, setContainerWidth] = useState(0);\n const windowWidth = useWindowWidth();\n const { initializeForm } = useOneFormContext();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n initializeForm(\n {},\n {\n headers: {},\n fields: {\n formName: 'race',\n formType: 'otherform',\n pageCategory: 'other',\n },\n },\n isFullScreen\n );\n }, []);\n\n useEffect(() => {\n if (initialSizeRef) {\n if (copyWidth && copyWidth <= 346) {\n // El contenedor crece hasta 346px\n setContainerWidth(copyWidth);\n } else {\n setContainerWidth(initialSizeRef.current.offsetWidth);\n }\n }\n }, [windowWidth, copyWidth]);\n\n useEffect(() => {\n if (successful){\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }\n }, [successful]);\n\n return (\n \n <>\n {isSending || isSent ? null : (\n <>\n \n \n \n \n \n
\n {\n setIsPristine(false);\n }}\n onFocusHandler={() => {\n setIsPristine(false);\n }}\n name='raceCellphone'\n />\n
\n \n )}\n\n {showFullCta(isFullScreen) ? (\n \n : isSent ? : }\n onClick={async () => {\n if (!isSending && !isSent) {\n await sendForm();\n }\n }}\n stretchContent\n >\n {isSending ? 'Enviando' : isSent && successful ? 'Te llamaremos pronto' : 'Te llamamos'}\n \n \n ) : (\n \n : isSent ? : }\n onClick={async () => {\n if (!isSending && !isSent) {\n await sendForm();\n }\n }}\n >\n {isSending ? 'Enviando' : isSent ? 'Te llamaremos pronto' : null}\n \n
\n )}\n \n \n );\n};\n","import { OneFormState } from 'src';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { raceSend } from 'src/bff';\nimport { useEffect, useState } from 'react';\nimport { cellphoneIsInvalid } from 'src/components';\nimport { useSelector } from 'react-redux';\n\nexport const useRaceFormController = (raceCellphone: string) => {\n const [isPristine, setIsPristine] = useState(true);\n const [isSent, setIsSent] = useState(false);\n const [isSending, setIsSending] = useState(false);\n const [error, setError] = useState(false);\n const [successful, setSuccessful] = useState(false);\n const [disabledButton, setDisabledButton] = useState(true);\n const {racePrefix }= useSelector((state: OneFormState) => state.formData.fields);\n\n useEffect(() => {\n if (\n raceCellphone &&\n !cellphoneIsInvalid(raceCellphone) &&\n /[6|7|8|9][0-9]{8}/gi.test(raceCellphone) &&\n raceCellphone.length === 9\n ) {\n setDisabledButton(false);\n } else {\n setDisabledButton(true);\n }\n }, [raceCellphone]);\n\n const retry = () => {\n reset();\n sendForm();\n };\n\n const reset = () => {\n setError(false);\n setIsSent(false);\n setIsSending(false);\n setIsPristine(true);\n setSuccessful(false);\n setDisabledButton(true);\n };\n\n const sendForm = async (): Promise => {\n setIsSending(true);\n setDisabledButton(true);\n setIsPristine(false);\n\n const data = {\n id: 'CTC VOLKSWAGEN',\n canal: 'FORM',\n telefono: `${racePrefix}${raceCellphone}`,\n };\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n const response = await raceSend(formDataInfo);\n\n setIsSending(false);\n setDisabledButton(false);\n\n if (response?.data?.status?.result === 'success' && response?.data?.status?.code === 1) {\n setSuccessful(true);\n } else {\n setError(true);\n }\n setIsSent(true);\n };\n\n return { isSent, isSending, isPristine, disabledButton, error, sendForm, retry, setIsPristine, successful, reset };\n};\n","import { getParamsForm } from 'src/feature-app/get-params-form';\nimport { removeWhiteSpace, formatPrefix } from 'src/feature-app';\n\nconst { tc, today, url, device } = getParamsForm();\n\nexport const getCommonFormData = (fields) =>{\n return {\n\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_SAC',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n 'headers[FORM_OBJECTIVE]': 'Atención al cliente',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n 'flags[PERSON_RGPD_ADAPTED]': true,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[SURVEY_ANSWER_01]': fields.motivoSac ? fields.motivoSac : 'ONESHOP',\n 'fields[PERSON_PREFERRED_CHANNEL]': fields.contactoSAC ? fields.contactoSAC : 'TELEFONO',\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_PHONE_MOBILE_FULL]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n }\n};\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport {\n FormController,\n useOneFormContext,\n formatPrefix,\n removeWhiteSpace\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { getCommonFormData } from '../FormData';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouOneShop, SACOneShopFields } from '.';\nimport { formDataBuilder, formatHeaders } from '../../format-fields';\nimport { IdPerson } from 'src/types';\nimport { DpsData } from 'src/feature-service/es-oneform-core-feature-service/types';\n\n\n\nlet NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_SAC',\n DESC_FORMOBJECTIVE: 'Atención al cliente',\n DESC_ID_CAMPAIGN: '7011n000000AglrAAC',\n COD_FORM_ID: 'vw-oneform-sac-oneshop',\n DESC_FORM_DETAIL: 'SAC OneShop',\n DESC_CAMPAIGNBLOCK: '18 - VW Customer Care',\n },\n fields: {\n formName: 'sac-oneshop',\n formType: 'otherform',\n pageCategory: 'SAC OneShop',\n }, // Analítica\n};\n\ninterface SACOneShopProps {\n idPerson?: IdPerson;\n dpsData?: DpsData;\n}\n\nexport const SACOneShopForm = (props: SACOneShopProps) => {\n const { initializeForm } = useOneFormContext();\n const { idPerson } = props;\n const store = useStore();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: } />,\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n useEffect(() => {\n if (idPerson) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'cellphone': idPerson.NUM_Phone_mobile__c } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'name': idPerson.FirstName } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'surname': idPerson.LastName } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'email': idPerson.TXT_Email__c } });\n }\n }, [idPerson]);\n\n useEffect(() => {\n const urlParams = new URLSearchParams(window.location.search);\n const info = urlParams.get('q');\n if (info) {\n const decodedParms = atob(info);\n const splittedParams = decodedParms.split(';');\n const [DESC_ID_CLIMAPRO] = splittedParams;\n\n NuevoFormData = {\n headers: { ...NuevoFormData.headers, DESC_ID_CLIMAPRO },\n fields: { ...NuevoFormData.fields },\n };\n }\n setLoading(false);\n }, []);\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n\n const data = {\n 'headers[FORM_DETAILS]': 'SAC OneShop',\n ...getCommonFormData(fields),\n };\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.content && response.data?.status?.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n if (loading) {\n return;\n }\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'main',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n notALayer: true,\n formType: 'inPage',\n alingItemsCenter: true,\n thankYouComponent: ,\n };\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, [loading]);\n\n return !steps ? null : ;\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouOneShop = () => {\n const {formResponse} = useSelector((state: OneFormState) => state.formInfo);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formResponse.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: (\n \n ),\n };\n return (\n \n );\n};\n","import {\n styled,\n Container,\n ContainerPadding,\n CTA,\n Text,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\n\nimport {\n InputError,\n PoliticaPrivacidad,\n Telefono,\n MultipleCTASelection,\n KoScreen,\n LoadingScreen,\n Nombre,\n Apellido,\n Email,\n} from 'src/components';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n formatPrefix,\n} from 'src/feature-app';\nimport { OneFormState, IdPerson } from 'src/types';\n\nconst TextAreaWrapper = styled.div`\n label {\n width: 100%;\n }\n`;\n\nconst PaddingWrapper = styled.div`\n`;\n\nconst NameLastNameWrapper = styled.div`\n padding-bottom: 2px;\n gap: 20px;\n display: flex;\n flex-direction: column;\n @media all and (min-width: 960px) {\n flex-direction: row;\n gap: 32px;\n }\n`;\n\ninterface OneShopProps {\n idPerson?: IdPerson;\n}\n\nexport const SACOneShopFields = (props: OneShopProps) => {\n const { idPerson } = props;\n const [motivoError, setMotivoError] = useState(false);\n const [masInfoValue, setMasInfoValue] = useState(null);\n const [nameError, setNameError] = useState(false);\n\n return (\n
\n \n <>\n \n \n Confirma tus datos y te llamaremos lo antes posible\n \n \n \n Sea cual sea tu duda, estamos aquí para ayudarte. Solo necesitamos que completes la siguiente\n información y nos pondremos en contacto contigo.\n \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n
\n );\n};\n\ninterface FieldProps {\n question?: string;\n input: JSX.Element;\n isRequired?: boolean;\n emailError?: boolean;\n motivoError?: boolean;\n}\nconst Field = (props: FieldProps) => {\n const { question, input, isRequired, emailError, motivoError } = props;\n\n return (\n \n {\n question ? (\n \n {question} {isRequired ? * : null}\n \n ) : null\n }\n\n {input}\n {emailError || motivoError ? Necesitamos esta información para seguir : null}\n \n );\n};\n\ninterface lastNavigationsProps {\n setMotivoError: (value: boolean) => void;\n setNameError: (value: boolean) => void;\n masInfoValue?: null | string;\n idPerson?: IdPerson;\n}\n\nfunction LastNavigation(props: lastNavigationsProps) {\n const { setMotivoError, masInfoValue, idPerson, setNameError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido enviar tu petición. ¿Lo intentamos de nuevo?';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n\n\n async function handleConfirmarCita(e: any) {\n\n //activar o desactivar mensajes de error\n const values = await getValues();\n\n trackingManager.trackFormCTAClick({\n contentId: 'Confirmar',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'name': values.name } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'surname': values.surname } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'email': values.email } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'cellphone': `${formatPrefix(values.prefix)}${values.cellphone}` } });\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Confirmar\n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { BreakpointWrapper, Breakpoints } from '@volkswagen-onehub/components-core';\nimport { SelectExtended } from '.';\nimport { getActualYearNumber } from 'src/feature-app';\nimport { styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { meses } from 'src/feature-app/InputsValues/OtherInputTypesObjects';\n\ninterface HeaderImageProps {\n imageSmall?: string;\n imageBig?: string;\n imageLogo?: string;\n}\nconst ImageWrapper = styled.div<{ background: string }>`\n div{\n display: flex;\n justify-content: center;\n background-image: ${(props) => `url(${props.background})`};\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n height: 30vh;\n }\n @media screen and (max-width: 700px) {\n div{\n height: 40vh;\n }\n } \n`;\nconst LogoCenter = styled.div`\n .image-front{\n position: relative;\n width: 50vw;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n display: block;\n margin: auto; \n }\n @media screen and (min-width: 500px) {\n .image-front{\n width: 40vw;\n }\n }\n @media screen and (min-width: 700px) {\n .image-front{\n width: 30vw;\n }\n }\n`;\n\n\nexport const HeaderImage = (props: HeaderImageProps) => {\n return (\n <>\n \n \n \n \"logo\"\n \n \n \n \n \n \n \"logo\"\n \n \n \n \n );\n}","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { useFeatureServices } from 'src/feature-app';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdPerson } from 'src/types';\nimport { SACOneShopForm } from '.';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\nimport { HeaderImage } from \"../../../components/HeaderImage\";\n\nexport interface SACOneShopProps {\n idPerson: IdPerson;\n handleError: () => void;\n\n}\n\nexport function SACOneShopController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const imagesUrl = {\n imageBigUrl: 'https://assets.volkswagen.com/is/image/volkswagenag/es-oneform-sac-oneshop-2560x760?Zml0PWNyb3AlMkMxJndpZD0yNTYwJmhlaT03NjAmZm10PXdlYnAtYWxwaGEmcWx0PTc5JmJmYz1vZmYmYTYzZA==',\n imageSmallUrl: 'https://assets.volkswagen.com/is/image/volkswagenag/es-oneform-sac-oneshop-1080x520?Zml0PWNyb3AlMkMxJndpZD0xMDgwJmhlaT01MjAmZm10PXdlYnAtYWxwaGEmcWx0PTc5JmJmYz1vZmYmMjAxZA==',\n imageLogoUrl: 'https://assets.volkswagen.com/is/image/volkswagenag/es-oneform-sac-oneshop-logo-v2?Zml0PWNyb3AlMkMxJndpZD0zNjImaGVpPTc0JmZtdD1wbmctYWxwaGEmYmZjPW9mZiZjZmYy'\n }\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n \n );\n } else {\n return (\n <>\n \n \n \n );\n }\n}\n","import React, { useEffect } from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { Email, PantallaNombreApellido, DetalleMotivo, Telefono, MultipleCTASelection, ContactInfoWrapper } from 'src/components';\nimport { PantallaMotivoSAC, ConfirmacionSAC, ThankYouSAC } from '.';\nimport { getCommonFormData } from './FormData';\nimport { useStore, useDispatch } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport {\n FormController,\n removeWhiteSpace,\n useOneFormContext,\n formatPrefix,\n} from 'src/feature-app';\nimport { formDataBuilder } from '../format-fields';\nimport { contactoOptionsSAC } from 'src/feature-app/InputsValues/CTAsObjects';\n\nexport enum SACFormSteps {\n Motivo,\n MasInformacion,\n NombreApellido,\n EmailTelefono,\n Contacto,\n Confirmacion,\n}\n\nexport const SACForm = () => {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n ¿Cómo podemos ayudarte?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: SACFormSteps.Motivo,\n name: 'motivoSac',\n outputs: ['motivoSac'],\n outputsText: ['motivoSac'],\n },\n {\n title: (\n <>\n ¿Podrías darnos más detalles sobre tu{' '}\n \n petición?*\n \n \n ),\n fields: } />,\n screenIndex: SACFormSteps.MasInformacion,\n name: 'MasInformacion',\n outputs: ['masInformacion'],\n outputsText: ['masInformacion'],\n },\n {\n title: (\n <>\n Para responderte, nos gustaría saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: SACFormSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿En qué teléfono e email podemos localizarte?\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: SACFormSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que te{' '}\n \n respondamos?\n *\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: SACFormSteps.Contacto,\n name: 'contactoSAC',\n outputs: ['contactoSAC'],\n outputsText: ['contactoSAC'],\n },\n {\n fields: ,\n screenIndex: SACFormSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const SACFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'sac', formType: 'otherform', pageCategory: 'Atención al cliente' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n\n const data = {\n ...getCommonFormData(fields),\n 'fields[COMMENTS_PERSON]': fields.masInformacion,\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.content && response.data?.status?.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const SACFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n formType: 'layer',\n formTheme: 'inverted',\n notALayer: false,\n thankYouComponent: ,\n };\n\n initializeForm(SACFormInfo, SACFormData);\n }, []);\n\n return ;\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { SelectExtended } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { styled } from '@volkswagen-onehub/components-core';\n\nconst InputsWrapper = styled.div`\n padding-top: 44px;\n width: 100%;\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n }\n`;\n\nconst motivoOptions = [\n { code: null, name: null },\n {\n code: 'VE',\n name: 'Venta',\n },\n {\n code: 'PV',\n name: 'Posventa',\n },\n {\n code: 'GDP',\n name: 'Gestión de datos personales y privacidad',\n },\n {\n code: 'OT',\n name: 'Otras consultas',\n },\n];\n\nexport const PantallaMotivoSAC = () => {\n const [motivo, setMotivo] = useState(null);\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const dispatch = useDispatch();\n const { handleNextStep } = useOneFormContext();\n\n useEffect(() => {\n if (fields.motivoSac) {\n const motivo = getMotivoByCode(fields.motivoSac);\n setMotivo(motivo);\n }\n }, []);\n\n const getMotivoByName = (name) => {\n\t\treturn motivoOptions ? motivoOptions.find(obj => obj.name == name) : null;\n\t}\n\n const getMotivoByCode = (code) => {\n return motivoOptions ? motivoOptions.find(obj => obj.code == code) : null;\n\t}\n\n function handleChangeMotivo(e: any) {\n e.preventDefault();\n if (e.target.value) {\n\t\t\tconst motivo = getMotivoByName(e.target.value);\n setMotivo(motivo);\n dispatch({ type: 'UPDATE_FIELDS', payload: { ['motivoSac']: motivo.code } });\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { ['motivoSac']: motivo.name } });\n handleNextStep();\n\t\t}\n }\n\n return (\n <>\n \n null}\n setOption={setMotivo}\n handleChange={handleChangeMotivo}\n />\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { InputError, TextInputExtended, SelectExtended } from 'src/components';\nimport { useOnlyLettersControl } from 'src/components/inputs/use-only-letters-control';\nimport {\n styled,\n} from '@volkswagen-onehub/components-core';\nimport { OneFormState } from 'src/types';\nimport { useSelector } from 'react-redux';\ninterface ContentProps {\n notALayer?: boolean;\n}\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n }\n`;\n\nconst roadOptions = [\n {\n code: 'AUTOP',\n name: 'Autopista',\n },\n {\n code: 'AUTOV',\n name: 'Autovía',\n },\n {\n code: 'AVENI',\n name: 'Avenida',\n },\n {\n code: 'BARIO',\n name: 'Barrio',\n },\n {\n code: 'CALLE',\n name: 'Calle',\n },\n {\n code: 'CAMIN',\n name: 'Camino',\n },\n {\n code: 'CARRT',\n name: 'Carretera',\n },\n {\n code: 'GRANV',\n name: 'Gran vía',\n },\n {\n code: 'PASAJ',\n name: 'Pasaje',\n },\n {\n code: 'PASEO',\n name: 'Paseo',\n },\n {\n code: 'PLAYA',\n name: 'Playa',\n },\n {\n code: 'RAMBL',\n name: 'Rambla',\n },\n {\n code: 'RONDA',\n name: 'Ronda',\n },\n {\n code: 'TRAVE',\n name: 'Travesía',\n },\n {\n code: 'URBAN',\n name: 'Urbanización',\n },\n {\n code: 'VIA',\n name: 'Vía',\n },\n];\n\nexport const PantallaDireccionPostal = () => {\n const { register } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n\n //tipo de vía\n\n const [tipoVia, setTipoVia] = useState('Autopista');\n\n useEffect(() => {\n if (fields.tipoVia) {\n setTipoVia(fields.tipoVia);\n }\n }, []);\n\n function handleChangeTipoVia(event: any) {\n const newTipoVia = event.currentTarget.value;\n setTipoVia(newTipoVia);\n }\n\n //Nombre de la vía\n const [viaValue, setViaValue] = useState('');\n const [pristineVia, setPristineVia] = useState(true);\n const { error, regExp } = useOnlyLettersControl(pristineVia, viaValue);\n const numberRegExp = /\\d|[sS]\\/[nN]/gi;\n const handleChangeVia = (e: any) => {\n setViaValue(e.target.value);\n setPristineVia(false);\n };\n\n //Número\n\n const [numberValue, setNumberValue] = useState('');\n const [pristineNumber, setPristineNumber] = useState(true);\n const [numberError, setNumberError] = useState(false);\n const regExpNonDigit = /\\D/;\n\n const handleChangeNumber = (e: any) => {\n setNumberValue(e.target.value);\n if (regExpNonDigit.test(e.target.value) || (numberValue.length > 1 && numberValue.length < 8)) {\n setNumberError(true);\n } else if (numberValue === 's/n') {\n setNumberError(true);\n }\n\n setNumberError(false);\n\n setPristineNumber(false);\n };\n\n //Piso y puerta\n const [pisoPuertaValue, setPisoPuertaValue] = useState('');\n\n const handleChangePisoPuerta = (e: any) => {\n setPisoPuertaValue(e.target.value);\n };\n\n return (\n \n {}}\n setOption={setTipoVia}\n handleChange={handleChangeTipoVia}\n updateFields\n />\n handleChangeVia(e)}\n required\n />\n {error && Solo se aceptan letras}\n handleChangeNumber(e)}\n required\n />\n {numberError && Se aceptan números o la expresión s/n}\n handleChangePisoPuerta(e)}\n />\n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { InputError, Provincia, TextInputExtended } from 'src/components';\nimport { useOnlyLettersControl } from 'src/components/inputs/use-only-letters-control';\nimport {\n styled,\n} from '@volkswagen-onehub/components-core';\n\ninterface ContentProps {\n notALayer?: boolean;\n}\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n }\n`;\n\nexport const PantallaMunicipio = () => {\n const { register } = useFormContext();\n\n //Localidad\n const [localidadValue, setLocalidadValue] = useState('');\n const [pristineLocalidad, setPristineLocalidad] = useState(true);\n const { error, regExp } = useOnlyLettersControl(pristineLocalidad, localidadValue);\n\n const handleChangeLocalidad = (e: any) => {\n setLocalidadValue(e.target.value);\n setPristineLocalidad(false);\n };\n\n // PostalCode\n const [inputValuePostalCode, setInputValuePostalCode] = useState('');\n const [pristinePostalCode, setPristinePostalCode] = useState(true);\n const [errorPostalCode, setErrorPostalCode] = useState(false);\n const regExpPostalCode = /\\d{5}/gi;\n\n const handleChangePostalCode = (e: any) => {\n setInputValuePostalCode(e.target.value);\n setPristinePostalCode(false);\n };\n\n useEffect(() => {\n if (!pristinePostalCode && inputValuePostalCode.match(regExpPostalCode) === null) {\n setErrorPostalCode(true);\n } else {\n setErrorPostalCode(false);\n }\n }, [inputValuePostalCode, pristinePostalCode]);\n\n //Provincia\n\n const [provinceValue, setProvinceValue] = useState('');\n const [pristineProvince, setPristineProvince] = useState(true);\n const { error: errorProvincia, regExp: regExpProvincia } = useOnlyLettersControl(pristineProvince, provinceValue);\n\n const handleChangeProvince = (e: any) => {\n setProvinceValue(e.target.value);\n setPristineProvince(false);\n };\n\n return (\n \n handleChangeLocalidad(e)}\n required\n />\n {error && Solo se aceptan letras}\n\n handleChangePostalCode(e)}\n required\n />\n {errorPostalCode && Solo se aceptan números}\n\n \n\n \n );\n};\n","import { Breakpoints, Layout } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { \n LegalesFormatoLayer, \n LssiTkmQuestions, \n PoliticaPrivacidad, \n LastNavigation, \n GeneralConfirmacionLayerWrapper \n} from 'src/components';\n\nexport const ConfirmacionSAC = () => {\n\n return (\n \n \n \n \n\n \n\n \n \n \n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouSAC = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { PincodeResponseOk } from 'src/bff';\nimport { DpsData } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdLead, IdPerson, IdOrder, IdVehicle, IdDealer } from 'src/types';\n\nexport const createPincodeEntity = (dpsData: DpsData, stringToFind: 'LEAD' | 'PERSON' | 'ORDER' | 'VEHICLE' | 'DEALER') => {\n if (!dpsData.pincode?.pincodeResponse) {\n return null;\n }\n const atts = (dpsData.pincode?.pincodeResponse?.content as PincodeResponseOk[]).find((att: any) =>\n att.attributes.find((att: any) => att.name === 'ID' && att.value === stringToFind)\n );\n\n if (!atts) {\n return null;\n }\n\n const id: IdLead | IdPerson | IdOrder | IdVehicle | IdDealer = atts.attributes.reduce((obj: any, att: any) => {\n const key = Object.values(att)[0] as any;\n const value = Object.values(att)[1] as any;\n obj[key] = value;\n return obj;\n }, {});\n\n return id;\n};\n","import { OneFormContent } from 'src/feature-app';\nimport { FormDataFields, FormDataFlags, FormDataHeaders } from 'src/types';\n\nexport const formDataBuilder = (data: any): FormData => {\n const formData = new FormData();\n\n for (const key in data) {\n if (data[key] === null || data[key] === 'null') {\n formData.append(key, '');\n } else {\n formData.append(key, data[key]);\n }\n }\n return formData;\n};\n\nexport const formatFormData = (object: object, string: string) => {\n if (typeof object !== 'object' || Object.keys(object).length === 0) {\n return {};\n }\n return Object.entries(object)\n .map((key) => [`${string}[${key[0]}]`, key[1]])\n .reduce((accum: FormDataFields, [k, v]) => {\n accum[k] = v;\n return accum;\n }, {});\n};\n\n/**\n * Formato de entrada: {DESC_FORM_VERSION: ''}\n * Formato de salida: {fields[DESC_FORM_VERSION]: ''}\n * @param fields\n */\nexport const formatFields = (fields: FormDataFields): FormDataFields => {\n return formatFormData(fields, 'fields');\n};\n\n/**\n * Formato de entrada: {DESC_FORM_DETAIL: ''}\n * Formato de salida: {headers[DESC_FORM_DETAIL]: ''}\n * @param headers\n */\nexport const formatHeaders = (headers: FormDataHeaders): FormDataHeaders => {\n return formatFormData(headers, 'headers');\n};\n\n/**\n * Formato de entrada: {DESC_FORM_DETAIL: ''}\n * Formato de salida: {flags[DESC_FORM_DETAIL]: ''}\n * @param flags\n */\nexport const formatFlags = (flags: FormDataFlags): FormDataFlags => {\n return formatFormData(flags, 'flags');\n};\n\nexport const getDpsFields = (faContent: OneFormContent) => {\n if (faContent && faContent.dpsFields && faContent.dpsFields.length > 0) {\n const headers = faContent.dpsFields.reduce((initialValue, header) => {\n const key = header.field;\n const value = header.value;\n const obj = { [key]: value };\n initialValue = { ...initialValue, ...obj };\n return initialValue;\n }, {});\n\n return { ...headers };\n }\n return null;\n};\n","import { Steps } from 'src/types';\n\nexport const getIndexInSteps = (steps: Steps[], stepName: string) => {\n if (steps?.length === 0 || !stepName) {\n return;\n }\n return steps.findIndex((step) => step.name === stepName);\n};\n\n/**\n * En caso de haber eliminado un step hay que volver a añadirlo de nuevo con los steps por defecto y llamar a la función handleNextStep ya que \n * ésta se llama antes de tiempo y realiza el cálculo con los steps sin actualizar.\n * @param steps \n * @param stepName \n */\nexport const addRemovedStep = (initialSteps: Steps[], actualSteps: Steps[], stepName: string, screenIndex: number) => {\n const addedStep = getIndexInSteps(initialSteps, stepName);\n actualSteps.splice(screenIndex + 1, 0, initialSteps[addedStep]);\n return actualSteps;\n};\n\n\nexport const removeStep = (steps: Steps[], stepName: string): Steps[] => {\n const indexToSplice = getIndexInSteps(steps, stepName);\n \n if (indexToSplice !== -1) {\n steps.splice(indexToSplice, 1);\n }\n return steps;\n};\n\nexport const removeMultipleSteps = (steps: Steps[], stepNames: string[]): Steps[] => {\n const indexesToSplice = stepNames.map(stepName => getIndexInSteps(steps, stepName));\n\n const newSteps = steps.filter((step, index) => {\n return indexesToSplice.indexOf(index) === -1;\n });\n\n return newSteps;\n};\n\nexport const removeMultipleStepsAndResetScreenIndex = (steps: Steps[], stepNames: string[]): Steps[] => {\n const newSteps = removeMultipleSteps(steps, stepNames);\n\n return resetStepsScreenIndex(newSteps);\n};\n\nexport const resetStepsScreenIndex = (steps: Steps[]) => {\n return steps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n};\n\n/**\n * Utilizamos esta función cuando queremos eliminar muchos steps seguidos, cuando por ejemplo hay \n * una pregunta que en caso negativo elimina una serie de preguntas condicionales. \n * Hay que pasar el firstStep como el step que desencadena la pregunta y el lastStep como el primer step que tendremos que mostrar\n * después de eliminar.\n * @param steps \n * @param firstStep Este step no se eliminará, se eliminará el siguiente.\n * @param lastStep Este step no se eliminará, se eliminará el anterior.\n */\nexport const getArrayOfStepsNames = (steps: Steps[], firstStep: string, lastStep: string) => {\n const indexOfFirstStep = getIndexInSteps(steps, firstStep);\n const indexOfLastStep = getIndexInSteps(steps, lastStep);\n\n if (indexOfFirstStep !== -1 && indexOfLastStep !== -1) {\n const newSteps = [...steps];\n const stepsToRemove = newSteps.slice(indexOfFirstStep + 1, indexOfLastStep);\n const arrayOfStepsNames = stepsToRemove.map(step => step.name);\n return arrayOfStepsNames;\n }\n return [];\n};\n","/**\n * @param kmCalculadora\n */\nexport const transformMillage = (kmCalculadora: number) => {\n try {\n if (kmCalculadora && !Number.isNaN(kmCalculadora)) {\n return Number(kmCalculadora);\n } else {\n return 0;\n } \n } catch (error) {\n return 0;\n }\n};\n","export const TIME_FOR_TRANSFORM = 400;\nexport const TIME_FOR_TRANSFORM_MS = `${TIME_FOR_TRANSFORM}ms`;\n\nexport const TIME_FOR_OPACITY = 600;\nexport const TIME_FOR_OPACITY_MS = `${TIME_FOR_OPACITY}ms`;\n","import dayjs from 'dayjs';\nimport { DomainAttributesValues } from 'src';\n\nexport const formatToTwoChars = (str: string) => {\n\tif (str === null || str === undefined || str === '') {\n\t\treturn '';\n\t}\n\n\tstr = String(str);\n\n\treturn str.length === 1 ? '0' + str : str;\n};\n\nexport const arrayToObject = (arr: DomainAttributesValues[]) => {\n\tif (!arr) return null;\n\tconst obj = {};\n\tfor (const i in arr) {\n\t\tobj[arr[i].name] = arr[i].value;\n\t}\n\treturn obj;\n};\n\nexport const strTitlelize = (str: string) => {\n\tif (!str) return '';\n\treturn str\n\t\t.toLowerCase()\n\t\t.split(' ') // separar palabras para capitalizar\n\t\t.map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join(' ')\n\t\t.split('.') // separar sociedades para capitalizar (S.A., S.L.U.)\n\t\t.map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join('.');\n};\n\nexport const transformDate = (date: string, outputFormat: string, inputFormat?: string) => {\n\tif (inputFormat) {\n\t\tif (dayjs(date, inputFormat, true).isValid()) {\n\t\t\treturn dayjs(date, inputFormat).format(outputFormat);\n\t\t}\n\t} else if (dayjs(date, 'YYYY-MM-DD', true).isValid()) {\n\t\treturn dayjs(date, 'YYYY-MM-DD').format(outputFormat);\n\t}\n\treturn null;\n};\n\nexport const findValidDayjs = (date: string): dayjs.Dayjs | null => {\n const formats = ['YYYY-MM-DD', 'DD-MM-YYYY', 'YYYY/MM/DD', 'DD/MM/YYYY'];\n\n for (const format of formats) {\n const parsedDate = dayjs(date, format, true);\n if (parsedDate.isValid()) {\n return parsedDate;\n }\n }\n return null;\n};\n\n\nexport const getFirstAndLastDayOfMonth = (\n\tmonthNumber?: string,\n\tyearNumber?: string,\n): { firstDayOfMonth: number; lastDayOfMonth: number } => {\n\tlet firstDayOfMonth;\n\tlet lastDayOfMonth;\n\n\tif (yearNumber && monthNumber) {\n\t\tfirstDayOfMonth = Number(\n\t\t\tdayjs()\n\t\t\t\t.locale('es')\n\t\t\t\t.utc()\n\t\t\t\t.month(Number(monthNumber) - 1) // Months are zero indexed, so January is month 0.\n\t\t\t\t.year(Number(yearNumber))\n\t\t\t\t.startOf('month')\n\t\t\t\t.format('x'),\n\t\t);\n\t\tlastDayOfMonth = Number(\n\t\t\tdayjs()\n\t\t\t\t.locale('es')\n\t\t\t\t.utc()\n\t\t\t\t// .add(1, 'month')\n\t\t\t\t.month(Number(monthNumber) - 1)\n\t\t\t\t.year(Number(yearNumber))\n\t\t\t\t.endOf('month')\n\t\t\t\t.format('x'),\n\t\t);\n\t} else {\n\t\tfirstDayOfMonth = Number(dayjs().add(1, 'day').locale('es').utc().format('x'));\n\t\tlastDayOfMonth = Number(\n\t\t\tdayjs()\n\t\t\t\t.locale('es')\n\t\t\t\t.utc()\n\t\t\t\t// .add(1, 'month')\n\t\t\t\t.endOf('month')\n\t\t\t\t.format('x'),\n\t\t);\n\t}\n\n\treturn { firstDayOfMonth, lastDayOfMonth };\n};\n","import { Container, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend, yumiwiBffSend } from 'src/bff';\nimport { CodigoPostal, Country, Date, DetalleMotivo, DniNif, Email, Matricula, MultipleCTASelection, NextStepCTA, PantallaNombreApellido, SelectDpsDomain, Telefono } from 'src/components';\nimport { CTAsSiNo, FormController, OneElementTemplate, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { formDataBuilder, formatFlags, formatHeaders } from 'src/forms/format-fields';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from 'src/forms/helpers';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { TheOriginalsConfirmacion, TheOriginalsThankYou } from './';\n\ninterface TheOriginalsFormProps {\n\tfullScreen: boolean;\n\tintroTitle?: JSX.Element;\n\tintroCopy?: JSX.Element;\n }\n\nexport function TheOriginalsForm(props: TheOriginalsFormProps) {\n\tconst { fullScreen, introTitle, introCopy } = props;\n\tconst { initializeForm } = useOneFormContext();\n\tconst trackingManager = useTrackingManager();\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst { formData }: OneFormState = store.getState();\n\tconst { fields } = formData;\n\tconst { tengoFurgo, tengoVW } = fields;\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tconst ctaSkipTuHistoria = 'Ahora no';\n\tconst dpsToken = 'LCV_DDB_FRM_FURGOCONCENTRACION';\n\n\t/*\n\t *\n\t * DATA AND SEND FORM\n\t *\n\t */\n\tconst initialData: Partial = {\n\t\theaders: {\n\t\t\tDPS_TOKEN: dpsToken,\n\t\t\tFORM_OBJECTIVE: 'Evento',\n\t\t\tFORM_DETAILS: 'The Originals 2025',\n\t\t\tFORM_NAME: 'adhoc-2025-the_originals',\n\t\t},\n\t\tfields: {\n\t\t\tformName: 'adhoc-2025-the_originals',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'The Originals 2025',\n\t\t},\n\t\tflags: {\n\t\t\tPERSON_RGPD_ADAPTED: 'true',\n\t\t},\n\t};\n\n\tconst generateData = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\tconst data = {\n\t\t\t...formatHeaders(initialData.headers),\n\t\t\t'headers[SF_CAMPAIGN_NAME]': 'Web Formulario Inscripcion THOF 2025',\n\t\t\t//'headers[SF_CAMPAIGN_ID]': 'PENDIENTE',\n\t\t\t'headers[FORM_URL]': url,\n\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\n\t\t\t'fields[DPS_BRAND]': 'Volkswagen CV',\n\t\t\t'fields[PERSON_TREATMENT]': fields.trato,\n\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t'fields[PERSON_EMAIL]': fields.email,\n\t\t\t'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n\t\t\t'fields[PERSON_PHONE_MOBILE_FULL]': `${fields.prefix}${fields.cellphone}`,\n\t\t\t//'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n\t\t\t'fields[PERSON_DNI_NIF]': fields.dniNif,\n\t\t\t'fields[PERSON_BIRTHDATE]': dayjs(fields.fechaNacimiento).format('DD/MM/YYYY'),\n\t\t\t'fields[PERSON_POSTAL_CP]': fields.postalCode,\n\t\t\t'fields[EVENT_NAME]': 'The Originals 2025',\n\t\t\t'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n\t\t\t'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n\t\t\t'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Prospect',\n\n\t\t\t'fields[SURVEY_ANSWER_01]': fields.tengoFurgo,\n\t\t\t'fields[SURVEY_ANSWER_02]': fields.tengoVW,\n\t\t\t'fields[SURVEY_ANSWER_03]': 'PERMITE',\n\t\t\t'fields[SURVEY_ANSWER_04]': fields.countryCode,\n\t\t\t'fields[SURVEY_ANSWER_05]': 'PERMITE',\n\t\t\t'fields[SURVEY_ANSWER_06]': fields.tuHistoria != ctaSkipTuHistoria ? fields.tuHistoria : '',\n\n\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\n\t\t\t...formatFlags(initialData.flags),\n\t\t};\n\n\t\tif (fields.tengoFurgo == 'true') {\n\t\t\tif(fields.tengoVW == 'true') {\n\t\t\t\tdata['fields[VEH_ACTUAL_MODEL]'] = fields.model;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdata['fields[VEH_ACTUAL_BRAND]'] = fields.brand;\n\t\t\t}\n\t\t\tdata['fields[VEH_ACTUAL_PLATE]'] = fields.matricula;\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tconst sendForm = async (): Promise => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst data = generateData();\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response?.data?.status?.code == 200) {\n\t\t\t\tawait sendYumiwiForm();\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst generateYumiwiData = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\tconst data = {\n\t\t\t'title': fields.trato == 'Sra.' ? 'ms' : 'mr',\n\t\t\t'name': fields.name,\n\t\t\t'surname': fields.surname,\n\t\t\t'email': fields.email,\n\t\t\t'phone': fields.cellphone,\n\t\t\t'nid': fields.dniNif,\n\t\t\t'birth_date': dayjs(fields.fechaNacimiento).format('YYYY-MM-DD'),\n\t\t\t'postal_code': fields.postalCode,\n\t\t\t'status': 'confirmed',\n\t\t\t'extra[custom#second_last_name]': fields.secondSurname,\n\t\t\t'extra[custom#9q6s50]': fields.countryName,\n\t\t\t'extra[custom#l0y4ul]': '',\n\t\t\t'extra[custom#iqw52l]': '',\n\t\t\t'extra[custom#n8m4w6]': fields.tengoFurgo == 'true' ? 'SI' : 'NO',\n\t\t\t'extra[custom#ssze5o]': fields.tengoVW == 'true' ? 'SI' : 'NO',\n\t\t\t'extra[custom#rxirdh]': fields.tengoFurgo == 'true' && fields.tengoVW == 'true' ? fields.model : '',\n\t\t\t'extra[custom#s3w5si]': fields.tengoFurgo == 'true' && fields.tengoVW == 'false' ? fields.brand : '',\n\t\t\t'extra[custom#vkb1zj]': fields.tengoFurgo == 'true' ? fields.matricula : '',\n\t\t\t'extra[custom#legal_lssi]': fields.lssi == 'PERMITE' ? true : false,\n\t\t\t'extra[custom#legal_gdpr]': fields.tmk == 'PERMITE' ? true : false,\n\t\t\t'extra[custom#fgq902]': true,\n\t\t\t'extra[custom#accept_terms_and_conditions]': true,\n\t\t};\n\n\t\treturn data;\n\t};\n\n\tconst sendYumiwiForm = async (): Promise => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst data = generateYumiwiData();\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await yumiwiBffSend(formData, '1Ec8VLmNvEvOrMZrB8MUBKsbmStfcrnVcyvA0ni4228be0ca');\n\n\t\t\tif (response?.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (dev) {\n\t\t\tconsole.log(generateData());\n\t\t\tconsole.log(generateYumiwiData());\n\t\t\tconsole.log(store.getState());\n\t\t}\n\t}, [formData]);\n\n\t/*\n\t *\n\t * STEPS AND INIT FORM\n\t *\n\t */\n\n\tlet index = 0;\n\tconst steps: Steps[] = [\n\t\t...(fullScreen\n\t\t\t? [{\n\t\t\t\ttitle: (\n\t\t\t\t\t\n\t\t\t\t\t\t{introTitle}\n\t\t\t\t\t\t{introCopy}\n\t\t\t\t\t\n\t\t\t\t),\n\t\t\t\tfields: } />,\n\t\t\t\tscreenIndex: index++,\n\t\t\t\tname: 'Introduccion',\n\t\t\t}] : []\n\t\t),\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce o comprueba tus datos:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosPersonales',\n\t\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Cuál es tu fecha de nacimiento?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'FechaNacimiento',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce tus datos:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DniEmailTelefono',\n\t\t\toutputs: ['cellphone', 'email'],\n\t\t\toutputsText: ['cellphone', '/', 'email'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tCuéntanos, ¿desde dónde vendrás a la concentración?\n\t\t\t\t\t\n\t\t\t\t\t* Lugar de residencia actual\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Country',\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Vienes en furgo?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t<>\n\t\t\t\t\t} />\n\t\t\t\t\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TengoFurgo',\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Es Volkswagen?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t<>\n\t\t\t\t\t} />\n\t\t\t\t\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TengoVW',\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Cuál es tu modelo?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Model',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Qué marca de furgo tienes?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Brand',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce tu matrícula:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Matricula',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tSabemos que tener una furgo es algo muy especial. ¡Queremos conocer tu historia! Cuéntanosla y si es una de las seleccionadas te contactaremos para difundirla a lo grande.\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TuHistoria',\n\t\t},\n\t\t{\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Confirmacion',\n\t\t},\n\t];\n\n\tuseEffect(() => {\n\n\t\tif (tengoFurgo && tengoFurgo == 'true') {\n\t\t\t// Añadir en orden inverso\n\t\t\tupdateSteps('TuHistoria', true);\n\t\t\tupdateSteps('Matricula', true);\n\t\t\tupdateSteps('Model', true);\n\t\t\tupdateSteps('Brand', true);\n\t\t\tupdateSteps('TengoVW', true);\n\t\t} else if (tengoFurgo && tengoFurgo == 'false') {\n\t\t\tupdateSteps('TengoVW', false);\n\t\t\tupdateSteps('Brand', false);\n\t\t\tupdateSteps('Model', false);\n\t\t\tupdateSteps('Matricula', false);\n\t\t\tupdateSteps('TuHistoria', false);\n\t\t}\n\t}, [tengoFurgo]);\n\n\tuseEffect(() => {\n\t\tif (tengoFurgo && tengoFurgo == 'true' && tengoVW && tengoVW == 'true') {\n\t\t\t// Añadir en orden inverso\n\t\t\tupdateSteps('TuHistoria', true);\n\t\t\tupdateSteps('Model', true);\n\t\t\tupdateSteps('Brand', false);\n\t\t} else if (tengoFurgo && tengoFurgo == 'true' && tengoVW && tengoVW == 'false') {\n\t\t\tupdateSteps('TuHistoria', false);\n\t\t\tupdateSteps('Model', false);\n\t\t\tupdateSteps('Brand', true);\n\t\t}\n\t}, [tengoVW]);\n\n\tconst updateSteps = (stepName: string, conditional: boolean, addOnNextStepName?: string) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...actualSteps];\n\t\tlet newScreenIndex = screenIndex;\n\n\t\tif (conditional) {\n\t\t\tconst stepIndex = getIndexInSteps(newSteps, stepName);\n\n\t\t\tif (stepIndex === -1) {\n\t\t\t\tif (addOnNextStepName) {\n\t\t\t\t\tnewScreenIndex = getIndexInSteps(newSteps, addOnNextStepName);\n\t\t\t\t}\n\t\t\t\tnewSteps = addRemovedStep(steps, actualSteps, stepName, newScreenIndex);\n\t\t\t}\n\t\t} else {\n\t\t\tnewSteps = removeStep(newSteps, stepName);\n\t\t}\n\n\t\tconst newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n\t};\n\n\tconst getFormInfo = (): {\n\t\tfirstStep: Steps;\n\t\tlastStep: Steps;\n\t\tstepsHistory: number[];\n\t\tnumberOfScreens: number;\n\t\tnewSteps?: Steps[];\n\t} => {\n\t\treturn {\n\t\t\tfirstStep: steps[0],\n\t\t\tlastStep: steps[steps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: steps.length,\n\t\t\tnewSteps: null,\n\t\t};\n\t};\n\n\tuseEffect(() => {\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : steps,\n\t\t\tstepsHistory,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tformTheme: fullScreen ? 'main' : 'inverted',\n\t\t\tfullScreen: fullScreen,\n\t\t\tnotALayer: fullScreen,\n\t\t\tformType: fullScreen ? 'inPage' : 'layer',\n\t\t\tthankYouComponent: ,\n\t\t};\n\n\t\tinitializeForm(NuevoFormInfo, initialData, true);\n\t\ttrackingManager.trackFormLoad();\n\t}, []);\n\n\treturn !steps ? null : ;\n}\n","import React, { useEffect } from 'react';\nimport { Container, CTA, Text, TextAlignment, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { TrackingForm, useFaContent, useTrackingManager } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\n\nexport function TheOriginalsThankYou() {\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\tconst getTrackingForm = (): TrackingForm => ({\n\t\tLeadID: undefined,\n\t\tFormFields: undefined,\n\t});\n\tconst faContent = useFaContent();\n\tconst campingSoldOut = faContent?.campingSoldOut ? faContent.campingSoldOut == 'true' : false;\n\tconst link = faContent?.campingUrl ? faContent?.campingUrl : 'https://www.ballena-alegre.com';\n\tconst store = useStore();\n\tconst { formData }: OneFormState = store.getState();\n\tconst { fields } = formData;console.log(fields);\n\n\tuseEffect(() => {\n\t\t// Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n\t\tconst screenIndexThankyou = formInfo?.numberOfScreens;\n\n\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\t\tdispatch({\n\t\t\ttype: 'SET_FORM_INFO',\n\t\t\tpayload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } },\n\t\t});\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(),\n\t\t);\n\t}, []);\n\n\tconst screen: Steps = {\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t¡Ya estás inscrito!\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tPronto recibirás un correo electrónico de confirmación con el código QR para acceder a la concentración. ¡Guárdalo bien!\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{campingSoldOut ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEl camping La Ballena Alegre está completo, ¡pero no te preocupes! Puedes RESERVAR TU PARCELA O BUNGALOW en los siguientes campings cercanos de la Asociación de Campings de Sant Pere Pescador:\n\t\t\t\t\t\t\t\t\tCamping Aquarius\n\t\t\t\t\t\t\t\t\tCamping La Gaviota\n\t\t\t\t\t\t\t\t\tCamping Las Palmeras\n\t\t\t\t\t\t\t\t\tCamping Las Dunas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t): (\n\t\t\t\t\t\t\t\tPuedes hacer la reserva de tu parcela o bungalow directamente desde la web del camping\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{fields.tengoVW == 'true' ? (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t¿Todavía no eres un The Originals?\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tÚnete a la comunidad de propietarios The Originals y disfruta de ventajas en la Concentración: fast track en la inscripción y ventajas y actividades exclusivas por ser un The originals.\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\tRegístrate ahora\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t) : null}\n\t\t\t\n\t\t),\n\t\tfields: <>,\n\t};\n\treturn ;\n}\n","import * as React from 'react';\nexport var CheckboxSelected = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm3.93 8.338 4.113-4.402-.971-.909L5.079 7.3 3.246 5.331l-.973.906 1.953 2.099c.46.494 1.243.495 1.704.002\", clipRule: \"evenodd\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M4 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm7.462 13.698 6.953-7.441-.972-.909-6.953 7.442a.035.035 0 0 1-.051 0l-3.353-3.603-.973.907 3.352 3.602c.54.579 1.457.58 1.997.002\", clipRule: \"evenodd\" }));\n }\n return null;\n}, { displayName: 'CheckboxSelected' }));\n","import * as React from 'react';\nexport var Checkbox = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M10 1.33H2c-.37 0-.67.3-.67.67v8c0 .37.3.67.67.67h8c.37 0 .67-.3.67-.67V2c0-.37-.3-.67-.67-.67M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z\", clipRule: \"evenodd\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M20 3.33H4c-.37 0-.67.3-.67.67v16c0 .37.3.67.67.67h16c.37 0 .67-.3.67-.67V4c0-.37-.3-.67-.67-.67M4 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z\", clipRule: \"evenodd\" }));\n }\n return null;\n}, { displayName: 'Checkbox' }));\n","import * as React from 'react';\nimport { Checkbox as CheckboxIcon, CheckboxSelected as CheckboxSelectedIcon, } from '@volkswagen-onehub/icons-core';\nimport { Text, TokenTextAppearance, TokenTextColor } from '../text';\nimport { css, styled } from '../theme-provider';\nimport { getCommonProps } from '../helpers/common-props';\nimport { createA11yOutlineStyles } from '../helpers/a11y';\nconst noop = () => undefined;\nconst StyledLabel = styled.label.withConfig({ displayName: \"StyledLabel\", componentId: \"sc-tap8jg\" }) `position:relative;color:${({ theme }) => theme.colors.content.primary};cursor:pointer;`;\nconst transition = css `transition:background ${({ theme }) => theme.animation.duration.color} ease,color ${({ theme }) => theme.animation.duration.color} ease;`;\nconst StyledCheckboxWrapper = styled.span.withConfig({ displayName: \"StyledCheckboxWrapper\", componentId: \"sc-1gajbzj\" }) `position:relative;display:flex;align-items:center;${transition};`;\nconst StyledCheckboxSelectedIcon = styled(CheckboxSelectedIcon).withConfig({ displayName: \"StyledCheckboxSelectedIcon\", componentId: \"sc-moyxv\" }) `position:absolute;opacity:0;display:flex;align-items:center;`;\nconst StyledFocusWrapper = styled.span.withConfig({ displayName: \"StyledFocusWrapper\", componentId: \"sc-1oeagwv\" }) `position:relative;display:grid;grid-column-gap:${({ theme }) => theme.size.static200};grid-template-columns:max-content auto;align-items:flex-start;:hover{${({ disabled }) => !disabled &&\n css `\n\t\t\t\tcolor: ${({ theme }) => theme.colors.controllers.off.hover};\n\t\t\t`}}`;\nconst StyledErrorText = styled.span.withConfig({ displayName: \"StyledErrorText\", componentId: \"sc-uiyaus\" }) `display:block;color:${({ theme }) => theme.colors.signal.error};font-size:${({ theme }) => theme.fonts.label[100].fontSize};`;\nconst StyledInput = styled.input.withConfig({ displayName: \"StyledInput\", componentId: \"sc-h9lzej\" }) `position:absolute;opacity:0;outline:0;user-select:none;pointer-events:none;:focus-visible{+ ${StyledFocusWrapper}{${StyledCheckboxWrapper}{${({ theme }) => createA11yOutlineStyles(theme)};border-radius:${({ theme }) => theme.size.line.active};}}}:checked{+ ${StyledFocusWrapper}{${StyledCheckboxSelectedIcon}{${transition};opacity:1;border-radius:${({ theme }) => theme.size.line.active};background:${({ theme, disabled }) => disabled\n ? theme.colors.controllers.on.disabled\n : theme.colors.content.inverted};color:${({ theme }) => theme.colors.controllers.on.default};&:hover{${({ theme, disabled }) => !disabled &&\n css `\n\t\t\t\t\t\t\tcolor: ${theme.colors.controllers.on.hover};\n\t\t\t\t\t\t`}}}}}:disabled{+ ${StyledFocusWrapper}{cursor:not-allowed;color:${({ theme }) => theme.colors.content.disabled};}}`;\nconst CheckboxInner = (props) => {\n const { checked, defaultChecked, disabled, label = '', name, value, required, appearance, message, tabIndex, textAppearance = TokenTextAppearance.copy200, innerRef, results, onLabelMouseDown = noop, } = props;\n const handleLabelMouseDown = React.useCallback((e) => {\n if (!disabled)\n onLabelMouseDown(e);\n }, [disabled, onLabelMouseDown]);\n const handleChange = React.useCallback((e) => {\n const { onChange = noop } = props;\n onChange(e, props);\n }, [props]);\n const handleBlur = React.useCallback((e) => {\n const { onBlur = noop } = props;\n onBlur(e, props);\n }, [props]);\n const handleFocus = React.useCallback((e) => {\n const { onFocus = noop } = props;\n onFocus(e, props);\n }, [props]);\n const handleClick = React.useCallback((e) => {\n const { onClick = noop } = props;\n onClick(e, props);\n }, [props]);\n const sharedProps = getCommonProps(props);\n return (React.createElement(StyledLabel, Object.assign({ onMouseDown: handleLabelMouseDown }, sharedProps),\n React.createElement(StyledInput, { checked: checked, defaultChecked: defaultChecked, disabled: disabled, name: name, onBlur: handleBlur, onChange: handleChange, onClick: handleClick, onFocus: handleFocus, type: \"checkbox\", value: value, required: required, tabIndex: tabIndex, ref: innerRef }),\n React.createElement(StyledFocusWrapper, { disabled: disabled },\n React.createElement(StyledCheckboxWrapper, { textAppearance: textAppearance, \"aria-hidden\": true },\n React.createElement(CheckboxIcon, { variant: \"default\" }),\n React.createElement(StyledCheckboxSelectedIcon, { variant: \"default\" })),\n React.createElement(\"span\", null,\n label &&\n (typeof label === 'string' ? (React.createElement(Text, { color: TokenTextColor.inherit, appearance: textAppearance },\n label,\n \" \",\n results && `(${results})`)) : (label)),\n React.createElement(StyledErrorText, { \"aria-live\": \"assertive\", \"aria-relevant\": \"all\" }, appearance === 'error' && message)))));\n};\nexport const Checkbox = React.forwardRef((props, ref) => React.createElement(CheckboxInner, Object.assign({}, props, { innerRef: ref })));\nCheckbox.displayName = 'Checkbox';\n","import { Breakpoints, Layout, Checkbox, Text, TokenTextAppearance, Richtext, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { InputError, LastNavigation, LssiTkmQuestions, PoliticaPrivacidad } from 'src/components';\nimport { useFormContext } from 'react-hook-form';\n\nexport const TheOriginalsConfirmacion = () => {\n\tconst { register, errors } = useFormContext();\n\tconst termsUrl = 'https://www.volkswagen-comerciales.es/app/theoriginalsfest/pdf/terminos_condiciones.pdf';\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t¿Seguimos en contacto?\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\tTérminos y condiciones*`} \n\t\t\t\t\t\tdangerouslyParseRawHTML \n\t\t\t\t\t/>} \n\t\t\t\t\tvalue=\"true\" \n\t\t\t\t\tname=\"terms\"\n\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\tregister(ref, { required: true });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{errors['terms'] ? Este campo es obligatorio : null}\n\t\t\t
\n\n\t\t\t\n\n\t\t\t*Campos obligatorios\n\n\t\t\t\n\t\t\n\t);\n};\n","import { Breakpoints, Container, ContainerGutter, ContainerPadding, CTA, Layout, styled, Text, TextAlignment, ThemeProvider, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { ScreenController, TriggerProps, useFaContent, useTransformToHtml } from 'src/feature-app';\nimport { useDispatch } from 'react-redux';\nimport { TheOriginalsForm } from 'src/forms/FormsAdhoc/TheOriginals2025';\n\nconst Content = styled.div`\n\toverflow: hidden;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbackground: radial-gradient(circle at bottom, #00437a 0%, #001e50 100%);\n\n\t& > div {\n\t\twidth: 100%;\n\t}\n`;\n\nexport function TheOriginals2025Trigger(props: TriggerProps) {\n\tconst { setSelectedJourney, setCTALabel } = props;\n\tconst dispatch = useDispatch();\n\tconst faContent = useFaContent();\n\n\tconst fullScreen = false;\n\n\tconst alternativeHeadline = (faContent?.headline ? useTransformToHtml(faContent.headline) : useTransformToHtml('¡Inscríbete en la 21ª edición de The Originals Fest!'));\n\n\tconst alternativeBodyCopy = (faContent?.bodycopy ? useTransformToHtml(faContent.bodycopy) : useTransformToHtml('Este año celebraremos la 21ª edición y nos encanta que quieras vivirla con nosotros. ¡Empecemos!'));\n\n\tconst getCtaLabel = () => (faContent?.cta ? faContent.cta : 'Empezar');\n\n\n\tif(fullScreen) {\n\treturn } introCopy={
} />}\n\t\tcloseLayerCallback={close}\n\t\thandleAreYouSureLayer={() => null}\n\t\tnotALayer={true}\n\t\tformType='inPage'\n\t/>;\n\t}\n\telse {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch({ type: 'RESET_STATE' });\n\t\t\t\t\t\t\t\t\t\t\t\tsetCTALabel(getCtaLabel());\n\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedJourney();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tstretchContent={{[Breakpoints.default]: true, [Breakpoints.b560]: false}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{getCtaLabel()}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n","import * as React from 'react';\nconst TABINDEX_ORIGINAL = 'data-tabindex-original';\nconst FOCUSABLE_ELEMENTS = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n 'audio',\n 'video',\n '[tabindex]',\n];\nexport class ChildContainerTabIndexManager extends React.Component {\n constructor(props) {\n super(props);\n this.observingNode = React.createRef();\n this.getFocusableElementSelector = (parent = '') => FOCUSABLE_ELEMENTS.map((el) => `${parent} ${el}`).join(',');\n this.handleTabIndexes = () => {\n const { activeChildContainerSelector, childContainerSelector } = this.props;\n const observingNode = this.observingNode.current;\n const allFocusableElements = observingNode === null || observingNode === void 0 ? void 0 : observingNode.querySelectorAll(this.getFocusableElementSelector(childContainerSelector));\n const activeContainerElements = observingNode === null || observingNode === void 0 ? void 0 : observingNode.querySelectorAll(this.getFocusableElementSelector(activeChildContainerSelector));\n // set -1 tabindex for all interaction elements in all containers\n if (allFocusableElements) {\n allFocusableElements.forEach((item) => {\n const itemTabindex = item.getAttribute('tabindex');\n const originalItemTabindex = item.getAttribute(TABINDEX_ORIGINAL);\n // set original if it doesn't exist or if it exists and tabindex was overwritten\n if (originalItemTabindex == null || itemTabindex !== '-1') {\n item.setAttribute(TABINDEX_ORIGINAL, itemTabindex !== null && itemTabindex !== void 0 ? itemTabindex : 'none');\n }\n item.setAttribute('tabindex', '-1');\n });\n }\n // reset tabIndex for children on active container\n if (activeContainerElements) {\n activeContainerElements.forEach((item) => {\n const itemOriginalTabindex = item.getAttribute(TABINDEX_ORIGINAL);\n if (itemOriginalTabindex === 'none' || itemOriginalTabindex == null) {\n item.removeAttribute('tabindex');\n }\n else {\n item.setAttribute('tabindex', itemOriginalTabindex);\n }\n item.removeAttribute(TABINDEX_ORIGINAL);\n });\n }\n };\n this.observeInteractiveContent = (mutationsList) => {\n const focusable = this.getFocusableElementSelector('');\n const hasFocusableMutation = mutationsList.some((entry) => \n // a tabindex got updated (not by us)\n (entry.type === 'attributes' &&\n entry.attributeName === 'tabindex' &&\n entry.target instanceof Element &&\n entry.target.getAttribute(TABINDEX_ORIGINAL) != null &&\n entry.target.getAttribute('tabindex') !== '-1') ||\n // or a attribute was updated that does not belong to us\n (entry.type === 'attributes' &&\n entry.attributeName !== 'tabindex' &&\n entry.attributeName !== TABINDEX_ORIGINAL) ||\n // or a focusable child got mounted\n (entry.type === 'childList' &&\n Array.from(entry.addedNodes).some((node) => node instanceof Element && node.matches(focusable))));\n if (hasFocusableMutation) {\n this.handleTabIndexes();\n }\n };\n if (typeof window !== 'undefined' && 'MutationObserver' in window) {\n this.contentObserver = new MutationObserver(this.observeInteractiveContent);\n }\n }\n componentDidMount() {\n this.handleTabIndexes();\n const observingNode = this.observingNode.current;\n if (observingNode && this.contentObserver) {\n this.contentObserver.observe(observingNode, {\n attributes: true,\n childList: true,\n subtree: true,\n });\n }\n }\n componentWillUnmount() {\n var _a;\n return (_a = this.contentObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.activeChildContainerSelector !==\n this.props.activeChildContainerSelector) {\n this.handleTabIndexes();\n }\n }\n render() {\n return React.createElement(\"div\", { ref: this.observingNode }, this.props.children);\n }\n}\n","import * as React from 'react';\nimport { styled } from '../theme-provider';\nimport { GalleryContext } from './gallery';\nexport const StyledSlide = styled.div.withConfig({ displayName: \"StyledSlide\", componentId: \"sc-196wn05\" }) `display:flex;flex-grow:0;flex-shrink:0;align-items:start;justify-content:center;scroll-snap-align:${({ withScrollSnap }) => withScrollSnap ? 'start' : 'none'};outline:none;opacity:${({ fadeout }) => fadeout && '0.5'};transition:opacity 0.5s ease-in-out;`;\nconst StyledContainedImageWrapper = styled.div.withConfig({ displayName: \"StyledContainedImageWrapper\", componentId: \"sc-9lvcex\" }) `width:${(props) => props.reduceImageSize\n ? `calc(100% - 2 * ${props.theme.size.grid001})`\n : '100%'};`;\nexport const GallerySlide = ({ ariaLabel, ariaLabelledby, children }) => {\n const { getSlideId, slidesPerPage, fadingEdges, accessibleExtendedIndices, visibleIndices, snappableExtendedIndices, } = React.useContext(GalleryContext);\n const { index: slideIndex, id = NaN } = React.useContext(GallerySlideContext);\n // id (extendedIndex): -2 -1 5 6\n // slideIndex (index): 3 4 0 1 2 3 4 0 1\n const slideId = id || slideIndex;\n const isCopyOfASlide = !Number.isNaN(id);\n // To ensure that screenreaders read out the correct amount of slides in the gallery,\n // hide slide copies from aria when not in view and hide normal slides when their\n // copy gets in to view.\n const ariaHidden = isCopyOfASlide\n ? !accessibleExtendedIndices.includes(slideId)\n : visibleIndices.includes(slideIndex) &&\n !accessibleExtendedIndices.includes(slideIndex);\n return (React.createElement(StyledSlide, { id: getSlideId(slideId), fadeout: fadingEdges && !visibleIndices.includes(slideIndex), \"data-accessible\": accessibleExtendedIndices.includes(slideId), role: \"group\", \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledby, \"aria-roledescription\": \"slide\", \"aria-hidden\": ariaHidden ? true : undefined, withScrollSnap: snappableExtendedIndices.includes(slideIndex) },\n React.createElement(StyledContainedImageWrapper, { reduceImageSize: slidesPerPage === 1 }, children)));\n};\nexport const GallerySlideContext = React.createContext({\n index: 0,\n});\n","import { createContext, useContext } from 'react';\nexport const MediaGalleryContext = createContext(undefined);\nexport const useMediaGalleryContext = () => {\n const context = useContext(MediaGalleryContext);\n if (!context) {\n throw new Error('Media Gallery Context not provided');\n }\n return context;\n};\n","import * as React from 'react';\nimport { useThrottleCallback } from '@react-hook/throttle';\nimport { DesignTokenSizeEnum, styled, useTheme, } from '../theme-provider';\nimport { getCommonProps } from '../helpers/common-props';\nimport { getValueByScreenSize, } from '../helpers/breakpoint';\nimport { ChildContainerTabIndexManager } from './tabindex-manager';\nimport { GallerySlideContext } from './slide';\nimport { MediaGalleryContext } from '../media-gallery';\n// The index is the index in the range `0 .. length - 1`, it corresponds to the\n// number of the slides.\n//\n// index: 0 1 2 3 4\n//\n// If there is endless scrolling, slides are duplicated (leading and trailing).\n//\n// extendedIndex: -2 -1 0 1 2 3 4 5 6\n// index: 3 4 0 1 2 3 4 0 1\n//\n// The number of duplicated slides on each side is one more than the number of\n// slides per page, so a complete page and a fading edge can be seen beyond\n// either end of the \"real\" slides.\n//\n// If there is no endless scrolling, the extendedIndex is the same as the index.\nconst StyledCarousel = styled.section.withConfig({ displayName: \"StyledCarousel\", componentId: \"sc-1lwge8c\" }) `overflow:none;width:100%;position:relative;:focus{outline:none;}`;\nconst StyledSlides = styled.div.withConfig({ displayName: \"StyledSlides\", componentId: \"sc-17msnuv\" }) `display:grid;grid-auto-columns:calc(\\n\\t\\t(\\n\\t\\t\\t\\t100% -\\n\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t${({ gutter, theme }) => (gutter ? theme.size[gutter] : '0px')} *\\n\\t\\t\\t\\t\\t\\t\\t${({ slidesPerPage }) => slidesPerPage - 1}\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t) / ${({ slidesPerPage }) => slidesPerPage}\\n\\t);grid-auto-flow:column;gap:${({ theme, gutter }) => (gutter ? theme.size[gutter] : '0')};${({ disableSnap }) => !disableSnap && `scroll-snap-type: x mandatory;`} overscroll-behavior-x:contain;overflow:auto;::-webkit-scrollbar{display:none;}scrollbar-width:none;:focus{outline:none;box-shadow:0 0 0 ${({ theme }) => theme.size.border.heavy} ${({ theme }) => theme.colors.border.hover};}scroll-padding:0 ${({ fadingEdges, theme }) => (fadingEdges ? theme.size.grid002 : '0')};padding:0 ${({ fadingEdges, theme }) => (fadingEdges ? theme.size.grid002 : '0')};`;\nconst noop = () => {\n // this function is an intentionally blank default\n};\nexport const GalleryContext = React.createContext({\n index: 0,\n extendedIndex: 0,\n endlessScrolling: false,\n triggerChange: noop,\n triggerNext: noop,\n triggerPrevious: noop,\n getSlideId: () => '',\n disableScrollSnap: noop,\n slidesPerPage: 1,\n fadingEdges: false,\n length: 1,\n id: '',\n accessibleExtendedIndices: [],\n visibleIndices: [],\n snappableExtendedIndices: [],\n slidesRef: undefined,\n});\nconst DEFAULT_MULTI_SLIDE_GUTTER = DesignTokenSizeEnum.grid001;\nexport const Gallery = (props) => {\n const { slidesPerPage = 1, fadingEdges = false, endlessScrolling, increment = 'slide', handleChange: externalHandleChange, children, id, ariaLabel, ariaLabelledby, topElements, bottomElements, gutter, } = props;\n const theme = useTheme();\n const commonProps = getCommonProps(props);\n const [extendedIndex, setExtendedIndex] = React.useState(0);\n const [currentSlidesPerPage, setCurrentSlidesPerPage] = React.useState(1);\n const [currentFadingEdges, setCurrentFadingEdges] = React.useState(false);\n const [disableSnap, setDisableSnap] = React.useState(false);\n // A consumer-defined gutter always takes effect, but by default we only\n // have a gutter when there is more than one slide per page.\n const currentGutter = React.useMemo(() => gutter !== null && gutter !== void 0 ? gutter : (currentSlidesPerPage > 1 ? DEFAULT_MULTI_SLIDE_GUTTER : undefined), [currentSlidesPerPage, gutter]);\n const slides = React.useRef(null);\n const childrenLength = React.useMemo(() => React.Children.count(children), [children]);\n const updateSlidesPerPage = React.useCallback(() => {\n const width = typeof window !== 'undefined' ? window.innerWidth || 0 : 0;\n const newCurrentSlidesPerPage = getValueByScreenSize(width, slidesPerPage);\n setCurrentSlidesPerPage(newCurrentSlidesPerPage);\n }, [slidesPerPage]);\n const updateFadingEdges = React.useCallback(() => {\n const width = typeof window !== 'undefined' ? window.innerWidth || 0 : 0;\n const fadingEdgesForScreenSize = getValueByScreenSize(width, fadingEdges);\n const newCurrentFadingEdges = fadingEdgesForScreenSize === 'normal' ||\n ((fadingEdgesForScreenSize === 'auto' ||\n fadingEdgesForScreenSize === true) &&\n childrenLength > currentSlidesPerPage);\n setCurrentFadingEdges(newCurrentFadingEdges);\n }, [childrenLength, currentSlidesPerPage, fadingEdges]);\n const changeSlide = React.useCallback((nextIndex, animate = true) => {\n const slidesElement = slides.current;\n if (!slidesElement || slidesElement.children.length <= 1) {\n return;\n }\n // prevent jsdom based tests from failing because of missing scroll function stubs\n if (!slidesElement.scrollTo) {\n return;\n }\n const targetIndex = endlessScrolling\n ? nextIndex + currentSlidesPerPage + 1\n : (nextIndex + childrenLength) % childrenLength;\n const targetPosition = slidesElement.children[targetIndex].offsetLeft;\n const left = theme.direction === 'rtl' ? -1 * targetPosition : targetPosition;\n slidesElement.scrollTo({\n left,\n behavior: animate ? 'smooth' : 'instant',\n });\n // update index without scroll listener when we are not scrolling\n if (!animate) {\n setExtendedIndex(targetIndex);\n }\n }, [childrenLength, currentSlidesPerPage, endlessScrolling, theme.direction]);\n const handleResize = React.useCallback(() => {\n updateSlidesPerPage();\n updateFadingEdges();\n changeSlide(extendedIndex, false);\n }, [updateSlidesPerPage, updateFadingEdges, changeSlide, extendedIndex]);\n const snappableExtendedIndices = React.useMemo(() => {\n const incrementValue = increment === 'slide' ? 1 : currentSlidesPerPage;\n const snappableSlides = Array.from({\n length: childrenLength / incrementValue,\n }).map((_, index) => index * incrementValue);\n snappableSlides.push(childrenLength - incrementValue);\n snappableSlides.push(childrenLength);\n for (let index = 1; index <= currentSlidesPerPage; index++) {\n const indexOfSlideCopy = 0 - incrementValue * index;\n // Ignore all indices without slides or copies of slides\n if (currentSlidesPerPage + indexOfSlideCopy >= 0) {\n snappableSlides.push(indexOfSlideCopy);\n }\n }\n snappableSlides.sort((a, b) => a - b);\n return snappableSlides;\n }, [currentSlidesPerPage, childrenLength, increment]);\n const slideToNextSlide = React.useCallback(() => {\n changeSlide(extendedIndex + (increment === 'page' ? currentSlidesPerPage : 1));\n }, [changeSlide, extendedIndex, increment, currentSlidesPerPage]);\n const slideToPreviousSlide = React.useCallback(() => {\n changeSlide(extendedIndex - (increment === 'page' ? currentSlidesPerPage : 1));\n }, [changeSlide, extendedIndex, increment, currentSlidesPerPage]);\n const handleScroll = useThrottleCallback(React.useCallback(() => {\n const slidesElement = slides.current;\n if (!slidesElement) {\n return;\n }\n const slidesInner = slidesElement.children;\n if (slidesInner.length === 0) {\n return;\n }\n const scrollLeft = slidesElement.scrollLeft;\n const firstOffsetLeft = slidesInner.item(0).offsetLeft;\n // sometimes the scroll positions we get from the browsers are off by way more than 1px so simply rounding up or down does not work\n const scrollIndex = Array.from(slidesInner).findIndex((element) => Math.abs(element.offsetLeft - firstOffsetLeft - scrollLeft) < 10);\n if (scrollIndex === -1) {\n // not even close to the edge of a tile\n return;\n }\n if (endlessScrolling) {\n const scrollPosition = theme.direction === 'rtl' ? -1 * scrollLeft : scrollLeft;\n const secondSlideStart = slidesInner[1].offsetLeft;\n if (Math.floor(scrollPosition) <= secondSlideStart) {\n // Overflow on the left side\n // when we reach the second slide, so the first one is still visible for fading edges\n setExtendedIndex(childrenLength - currentSlidesPerPage);\n changeSlide(childrenLength - currentSlidesPerPage, false);\n return;\n }\n const lastSlideStart = slidesInner[slidesInner.length - 1].offsetLeft;\n const slidesWidth = slidesElement.getBoundingClientRect().width;\n if (Math.ceil(scrollPosition + slidesWidth) >= lastSlideStart) {\n // Overflow on the right side\n // when we reach the second last slide, so the last one is still visible for fading edges\n setExtendedIndex(0);\n changeSlide(0, false);\n return;\n }\n const endlessScrollIndex = scrollIndex - currentSlidesPerPage - 1;\n if (endlessScrollIndex !== extendedIndex) {\n setExtendedIndex(endlessScrollIndex);\n }\n }\n else {\n if (scrollIndex !== extendedIndex) {\n setExtendedIndex(scrollIndex);\n }\n }\n }, [\n changeSlide,\n childrenLength,\n currentSlidesPerPage,\n endlessScrolling,\n extendedIndex,\n theme.direction,\n ]));\n React.useEffect(() => {\n if (externalHandleChange) {\n externalHandleChange(extendedIndex);\n }\n }, [extendedIndex, externalHandleChange]);\n // this is called when control elements change the index\n const handleChange = React.useCallback((nextIndex, animate) => {\n // find previous snappableIndex counting from nextIndex,\n // i.e. beginning of page containing nextIndex\n const snappableArrayIndex = snappableExtendedIndices.findIndex((value) => value > nextIndex) - 1;\n const snappableTargetIndex = snappableExtendedIndices[snappableArrayIndex] || 0;\n changeSlide(snappableTargetIndex, animate);\n }, [changeSlide, snappableExtendedIndices]);\n // reset scroll position when basic props change\n // biome-ignore lint/correctness/useExhaustiveDependencies: should not update on changes to extendedIndex\n React.useEffect(() => {\n const slidesElement = slides.current;\n if (!slidesElement) {\n return;\n }\n changeSlide(extendedIndex, false);\n }, [changeSlide, childrenLength, currentSlidesPerPage, endlessScrolling]);\n // When endlessScrolling is set scroll to starting position.\n React.useEffect(() => {\n if (endlessScrolling) {\n changeSlide(0, false);\n setExtendedIndex(0);\n }\n }, [changeSlide, endlessScrolling]);\n // Add and remove resize listeners\n React.useEffect(() => {\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [handleResize]);\n React.useEffect(() => {\n updateSlidesPerPage();\n }, [updateSlidesPerPage, slidesPerPage]);\n React.useEffect(() => {\n updateFadingEdges();\n }, [updateFadingEdges, fadingEdges]);\n // When react moves around galleries in the DOM, browsers sometimes reset their scrollLeft to 0.\n // Reset the scroll position to the appropriate value.\n React.useEffect(() => {\n const slidesElement = slides.current;\n if (!slidesElement) {\n return;\n }\n const scrollLeft = slidesElement.scrollLeft;\n if ((endlessScrolling || extendedIndex !== 0) && scrollLeft === 0) {\n changeSlide(extendedIndex, false);\n }\n });\n // fix index if slide has been deleted\n React.useEffect(() => {\n const newExtendedIndex = endlessScrolling\n ? (extendedIndex + childrenLength) % childrenLength\n : Math.min(extendedIndex, childrenLength - currentSlidesPerPage);\n if (extendedIndex !== newExtendedIndex) {\n changeSlide(newExtendedIndex, false);\n }\n }, [\n extendedIndex,\n childrenLength,\n endlessScrolling,\n currentSlidesPerPage,\n changeSlide,\n ]);\n const index = React.useMemo(() => (extendedIndex + childrenLength) % childrenLength, [extendedIndex, childrenLength]);\n // accessibleExtendedIndices,\n // i.e. those that are fully visible\n const accessibleExtendedIndices = React.useMemo(() => {\n const firstAccessibleIndex = endlessScrolling\n ? extendedIndex\n : Math.min(extendedIndex, childrenLength - currentSlidesPerPage);\n return Array.from({ length: currentSlidesPerPage }).map((_, index) => firstAccessibleIndex + index);\n }, [endlessScrolling, extendedIndex, childrenLength, currentSlidesPerPage]);\n // visibleIndices include accessibleExtendedIndices\n // slides of accessible duplicated slides.\n //\n // extendedIndex: -2 -1 0 1 2 3 4 5 6\n // index: 3 4 0 1 2 3 4 0 1\n //\n // e.g. if slide with (extended) index 5 is in the view, slides 0 is visible.\n // The slide component will render slide 5 (copy of slide 0) visible, too.\n const visibleIndices = React.useMemo(() => Array.from({ length: currentSlidesPerPage }).map((_, index) => (extendedIndex + index + childrenLength) % childrenLength), [currentSlidesPerPage, extendedIndex, childrenLength]);\n const galleryContextValue = React.useMemo(() => {\n return {\n index,\n extendedIndex,\n endlessScrolling: endlessScrolling || false,\n triggerChange: handleChange,\n triggerPrevious: slideToPreviousSlide,\n triggerNext: slideToNextSlide,\n getSlideId: (index) => `${id}__slide-${index}`,\n disableScrollSnap: (disabled = true) => setDisableSnap(disabled),\n slidesPerPage: currentSlidesPerPage,\n fadingEdges: currentFadingEdges,\n length: childrenLength,\n id: id,\n accessibleExtendedIndices,\n visibleIndices,\n snappableExtendedIndices,\n slidesRef: slides,\n };\n }, [\n accessibleExtendedIndices,\n childrenLength,\n currentFadingEdges,\n currentSlidesPerPage,\n endlessScrolling,\n extendedIndex,\n handleChange,\n id,\n index,\n slideToNextSlide,\n slideToPreviousSlide,\n snappableExtendedIndices,\n visibleIndices,\n slides,\n ]);\n const slideData = React.useMemo(() => {\n const leadingSlides = [];\n const slides = [];\n const trailingSlides = [];\n React.Children.toArray(children)\n .filter(React.isValidElement)\n .forEach((child, index) => {\n slides.push({\n key: child.key,\n value: {\n index,\n },\n child,\n });\n // Only render copies of slides when endlessScrolling is enabled and\n // we have more children than can be show on a single page\n if (endlessScrolling && childrenLength > currentSlidesPerPage) {\n if (index < currentSlidesPerPage + 1) {\n const id = childrenLength + index;\n trailingSlides.push({\n key: `${child.key}-${id}`,\n value: {\n index: index,\n id: id,\n },\n child,\n });\n }\n if (index > childrenLength - currentSlidesPerPage - 2) {\n const id = index - childrenLength;\n leadingSlides.push({\n key: `${child.key}-${id}`,\n value: {\n index: index,\n id: id,\n },\n child,\n });\n }\n }\n });\n return [...leadingSlides, ...slides, ...trailingSlides];\n }, [children, childrenLength, currentSlidesPerPage, endlessScrolling]);\n const mediaGalleryContextValue = React.useMemo(() => {\n const mediaGalleryState = {\n // for now we just add the values needed for the lentils\n activeIndex: index,\n slideLength: childrenLength,\n slideKeys: React.Children.toArray(children)\n .filter(React.isValidElement)\n .map((child) => child.key),\n // the following values are not maintained, but they are not needed for the lentils\n lastIndex: NaN,\n animate: false,\n dragStartPosition: NaN,\n dragStartTime: NaN,\n dragEnabled: false,\n slidePosition: NaN,\n };\n const dispatch = (action) => {\n // we currently only handle the lentils' SLIDE_CHANGE action\n if (action.type === 'SLIDE_CHANGE') {\n handleChange(action.index);\n }\n };\n return {\n state: mediaGalleryState,\n dispatch,\n getState: () => mediaGalleryState,\n };\n }, [children, childrenLength, handleChange, index]);\n return (React.createElement(GalleryContext.Provider, { value: galleryContextValue },\n React.createElement(MediaGalleryContext.Provider, { value: mediaGalleryContextValue },\n React.createElement(StyledCarousel, Object.assign({ id: id, tabIndex: -1, \"aria-label\": ariaLabel, role: \"region\", \"aria-roledescription\": \"carousel\", \"aria-labelledby\": ariaLabelledby }, commonProps),\n topElements,\n React.createElement(ChildContainerTabIndexManager, { childContainerSelector: '[data-accessible]', activeChildContainerSelector: '[data-accessible=\"true\"]' },\n React.createElement(StyledSlides, { ref: slides, onScroll: handleScroll, \"aria-atomic\": \"false\", \"aria-live\": \"polite\", slidesPerPage: currentSlidesPerPage, fadingEdges: currentFadingEdges, gutter: currentGutter, tabIndex: 0, disableSnap: disableSnap }, slideData.map(({ key, value, child }) => (React.createElement(GallerySlideContext.Provider, { key: key, value: value }, child))))),\n bottomElements))));\n};\n","import * as React from 'react';\nimport { styled } from '../theme-provider';\nimport { GalleryContext } from '.';\nimport { CTA } from '../call-to-action';\nimport { ChevronLeft, ChevronRight } from '@volkswagen-onehub/icons-core';\nconst StyledArrowWrapper = styled.div.withConfig({ displayName: \"StyledArrowWrapper\", componentId: \"sc-1w8267r\" }) `position:absolute;top:50%;right:0;left:0;display:flex;justify-content:space-between;padding:0 ${(props) => props.theme.size.static150};transform:translateY(-50%);pointer-events:none;button{pointer-events:initial;}`;\nexport const ArrowButtons = ({ ariaHidden, buttonNextAriaLabel, buttonPreviousAriaLabel, }) => {\n const { triggerNext, triggerPrevious, length, slidesPerPage, index, endlessScrolling, } = React.useContext(GalleryContext);\n if (length <= slidesPerPage) {\n return null;\n }\n return (React.createElement(StyledArrowWrapper, null,\n React.createElement(CTA, { tag: \"button\", emphasis: \"primary\", onClick: triggerPrevious, ariaLabel: buttonPreviousAriaLabel, tabIndex: ariaHidden ? -1 : 0, disabled: index === 0 && !endlessScrolling, icon: React.createElement(ChevronLeft, { variant: \"small\", ariaHidden: true }) }),\n React.createElement(CTA, { tag: \"button\", emphasis: \"primary\", onClick: triggerNext, ariaLabel: buttonNextAriaLabel, tabIndex: ariaHidden ? -1 : 0, disabled: index + slidesPerPage === length && !endlessScrolling, icon: React.createElement(ChevronRight, { variant: \"small\", ariaHidden: true }) })));\n};\n","import React, { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { TextInput } from '@volkswagen-onehub/components-core';\nimport { InputError } from '../NavidadGTI2024Page';\n\ninterface InputProps {\n\tname: string;\n\tlabel?: string;\n\tempty?: boolean;\n\trequired?: boolean;\n}\n\nexport function TextInputField(props: InputProps) {\n\tconst { name, label, empty, required } = props;\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\tconst [errorValue, setErrorValue] = useState(false);\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\n\t\tsetErrorValue(false);\n\n\t\tif (/\\d/.test(value) || value.trim().length < 3) {\n\t\t\tsetErrorValue(true);\n\t\t} else {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t handleChange(e)}\n\t\t\t\ttype={'text'}\n\t\t\t\tisFloating={true}\n\t\t\t/>\n\t\t\t{errorValue && Introduce un valor correcto}\n\t\t\t{empty && Campo obligatorio}\n\t\t\n\t);\n}\n","import React, { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { styled, TextInput } from '@volkswagen-onehub/components-core';\nimport { InputError } from '../NavidadGTI2024Page';\n\ninterface InputProps {\n\tname: string;\n\tlabel?: string;\n\tempty?: boolean;\n}\n\nexport function EmailField(props: InputProps) {\n\tconst { name, label, empty } = props;\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\tconst [error, setError] = useState(false);\n\tconst regExp =\n\t\t/^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\n\t\tsetError(false);\n\n\t\tif (!regExp.test(value)) {\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t handleChange(e)}\n\t\t\t\ttype={'text'}\n\t\t\t\tisFloating={true}\n\t\t\t/>\n\t\t\t{error && Ejemplo: nombre@email.com}\n\t\t\t{empty && Campo obligatorio}\n\t\t\n\t);\n}\n","import React from 'react';\nimport styled from 'styled-components';\n\nconst ArrowContainer = styled.div`\n\tmargin-top: -25px;\n\tmargin-bottom: 40px;\n\ttext-align: center;\n\twidth: 100%;\n\tposition: relative;\n\tz-index: 1;\n`;\n\nexport const Arrow = () => (\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n);\n","import React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { TextArea } from '@volkswagen-onehub/components-core';\n\ninterface TextareaProps {\n\tname: string;\n\tlabel?: string;\n}\n\nexport function TextAreaField(props: TextareaProps) {\n\tconst { name, label } = props;\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\n\tconst handleChange = (e: any) => {\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: e.target.value } });\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t