{"version":3,"file":"js/event-handlers-payment_methods.js","mappings":"4GAEA,MAAMA,EAAIC,EAAQ,OACdC,EAAYD,EAAQ,OACpBE,EAAmBF,EAAQ,OAC3BG,EAAQH,EAAQ,MAMdI,EAAqB,CACvBC,IAAK,CACDC,IAAKL,EAAUM,wBACfC,UAAW,CAAC,OAEhBC,IAAK,CACDH,IAAKL,EAAUS,gBACfF,UAAW,CAAC,KAAM,OAEtBG,QAAS,CACLL,IAAKL,EAAUW,wBACfJ,UAAW,CAAC,KAAM,QAOpBK,EAA+B,CACjCC,iBAAkB,iBAClBC,8BAA+B,iBAE7BC,EAA2CC,GACflB,EAAEmB,IAAID,EAAK,0CAA2C,IAC1CE,KAAIC,IAAmB,IAAlB,KAAEC,EAAI,IAAEf,GAAKc,EACxD,MAAME,EAAcT,EAA6BQ,GACjD,OAAKC,EAME,CAAEA,cAAaC,aAAcjB,EAAKe,SALjCG,QAAUA,OAAOC,WACjBD,OAAOC,UAAUC,WAAW,IAAIC,MAAM,kCAAmC,4BAA4BN,IAAQ,uBAE1G,KAEoC,IAEhCO,OAAOC,SAGxBC,EAAoBC,IACtB,IAAIzB,EAOJ,OANA0B,OAAOC,KAAK7B,GAAoB8B,MAAMC,IAClC,GAAI/B,EAAmB+B,GAAM3B,UAAU4B,SAASL,GAE5C,OADAzB,EAAMF,EAAmB+B,GAAM7B,KACxB,CACX,IAEGA,CAAG,EAGR+B,EAAgB,CAElBC,qBAAAA,CAAsBC,EAAOC,EAASvB,GAClC,MAAM,eAAEwB,GAAmBxC,EACvByC,EAAgB3C,EAAEmB,IAAID,EAAK,oCAAsClB,EAAEmB,IAAID,EAAK,uCAC5E0B,EAAmB5C,EAAEmB,IAAID,EAAK,sCAC9B2B,EAAgB,uCAEpB,GAAKF,EAGL,OAAQA,GACJ,KAAKD,EAAeI,sBACpB,KAAKJ,EAAeK,WAChB,MAAMC,EAAkBJ,EACpB,GAAGC,gDACH,GAAGA,sBACDI,EAAoBL,EACtB,wBACA,qBACEM,EAAqBN,EACvB,sBACA,mBAEJxC,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAOL,GAEX,CACIzB,YAAa,eACb6B,KAAM,OACNC,MAAOJ,GAEX,CACI1B,YAAa,gBACb6B,KAAM,OACNC,MAAOH,KAGf,MACJ,KAAKR,EAAeY,cAChBlD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,eACb6B,KAAM,OACNC,MAAO,2BAEX,CACI9B,YAAa,gBACb6B,KAAM,OACNC,MAAO,2BAGf,MACJ,KAAKX,EAAea,eAChBnD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,eACb6B,KAAM,OACNC,MAAO,2BAEX,CACI9B,YAAa,gBACb6B,KAAM,OACNC,MAAO,2BAGf,MACJ,KAAKX,EAAec,SAChBpD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,eACb6B,KAAM,OACNC,MAAO,uBAEX,CACI9B,YAAa,gBACb6B,KAAM,OACNC,MAAO,uBAGf,MACJ,QACQ5B,QAAUA,OAAOC,WACjBD,OAAOC,UAAUC,WAAW,IAAIC,MAAM,4BAA6B,kCAAkCe,IAAiB,8BAGtI,EAEAc,4BAAAA,CAA6BjB,EAAOC,EAASvB,GACzC,MAAMyB,EAAgB3C,EAAEmB,IAAID,EAAK,oCAAsClB,EAAEmB,IAAID,EAAK,uCAC5E0B,EAAmB5C,EAAEmB,IAAID,EAAK,sCAC9B2B,EAAgB,uCAEtB,GAAKF,EASL,OALAxC,EAAiBuD,KAAK,aAAcxC,GACpCf,EAAiBuD,KAAK,oBAAqBxC,GAC3Cf,EAAiBuD,KAAK,wBAAyBxC,GAC/Cf,EAAiBuD,KAAK,aAAcxC,GAE5ByB,GACJ,KAAKzC,EAAUwC,eAAeI,sBAC9B,KAAK5C,EAAUwC,eAAeK,WAC1B,MAAMC,EAAkBJ,EACpB,GAAGC,gDACH,GAAGA,sBACDI,EAAoBL,EACtB,6BACA,2BACEM,EAAqBN,EACvB,2BACA,yBACJxC,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAOL,GAEX,CACIzB,YAAa,oBACb6B,KAAM,OACNC,MAAOJ,GAEX,CACI1B,YAAa,wBACb6B,KAAM,OACNC,MAAOH,KAGf,MACJ,KAAKhD,EAAUwC,eAAeY,cAC1BlD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,oBACb6B,KAAM,OACNC,MAAO,2BAEX,CACI9B,YAAa,wBACb6B,KAAM,OACNC,MAAO,2BAGf,MACJ,KAAKnD,EAAUwC,eAAea,eAC1BnD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,oBACb6B,KAAM,OACNC,MAAO,gCAEX,CACI9B,YAAa,wBACb6B,KAAM,OACNC,MAAO,gCAGf,MACJ,KAAKnD,EAAUwC,eAAec,SAC1BpD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,oBACb6B,KAAM,OACNC,MAAO,4BAEX,CACI9B,YAAa,wBACb6B,KAAM,OACNC,MAAO,4BAGf,MACJ,QACQ5B,QAAUA,OAAOC,WACjBD,OAAOC,UAAUC,WAAW,IAAIC,MAAM,4BAA6B,kCAAkCe,IAAiB,8BAGtI,EACAgB,qBAAAA,CAAsBnB,EAAOC,EAASvB,GAClC,MAAMyB,EAAgB3C,EAAEmB,IAAID,EAAK,mCAC3Bc,EAAchC,EAAEmB,IAAID,EAAK,uBACzBX,EAAMwB,EAAiBC,GAEvB4B,EAAuB3C,EAAwCC,GACrE,GAAI0C,EAAqBC,OAAQ,CAC7B,MAAMC,EAAwCF,EAAqBG,SAAQC,IAAyC,IAAxC,KAAE1C,EAAI,aAAEE,EAAY,YAAED,GAAayC,EAC3G,MAAO,CACH,CACIzC,cACA6B,KAAM,kBACNC,MAAO7B,GAEX,CACID,cACA6B,KAAM,WACNC,OAAO,GAEd,IAGLjD,EAAM+C,wBAAwBjC,EAAK4C,EACvC,MAAWnB,IAAkBzC,EAAUwC,eAAea,gBAAkBhD,GACpEH,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,cACb6B,KAAM,kBACNC,MAAO9C,GAEX,CACIgB,YAAa,cACb6B,KAAM,WACNC,OAAO,GAEX,CACI9B,YAAa,cACb6B,KAAM,kBACNC,MAAO,oBAIvB,EACAY,4BAAAA,CAA6BzB,EAAOC,EAASvB,GACzC,MAAMyB,EAAgB3C,EAAEmB,IAAID,EAAK,mCAC3Bc,EAAchC,EAAEmB,IAAID,EAAK,uBACzBX,EAAMwB,EAAiBC,GAEvB4B,EAAuB3C,EAAwCC,GACjE0C,EAAqBC,OACrBD,EAAqBM,SAAQC,IAAmC,IAAlC,YAAE5C,EAAW,aAAEC,GAAc2C,EACvDnE,EAAEoE,IAAIlD,EAAK,4BAA4BK,IAAeC,EAAa,IAEhEmB,IAAkBzC,EAAUwC,eAAea,gBAAkBhD,GACpEP,EAAEoE,IAAIlD,EAAK,qCAAsCX,EAEzD,EACA8D,0BAAAA,CAA2B7B,EAAOC,EAASvB,GAEvC,GADgBlB,EAAEmB,IAAID,EAAK,+BACXhB,EAAUoE,KACtB,OAOJnE,EAAiBoE,KADG,gBACerD,GACnCA,EAAIsD,YAAYC,sBAAsBvD,EAAIwD,KAAKC,WAAY,2BAA4B,OAAQ,sBACnG,GAGJC,EAAOC,QAAUvC,C,kBCtVjB,IAAItC,EAAIC,EAAQ,OACZC,EAAYD,EAAQ,OACpBE,EAAmBF,EAAQ,OAC3BG,EAAQH,EAAQ,MAChB6E,EAA2B7E,EAAQ,OAEnCqC,EAAgB,CAEhBC,qBAAAA,CAAsBC,EAAOC,EAASvB,GAClC,MAAM,eAAEwB,GAAmBxC,EACvByC,EAAgB3C,EAAEmB,IAAID,EAAK,mCAC3B0B,EAAmB5C,EAAEmB,IAAID,EAAK,sCAC9B2B,EAAgB,uCAEpB,GAAKF,EAGL,OAAQA,GACJ,KAAKD,EAAeI,sBACpB,KAAKJ,EAAeK,WAChB,MAAMC,EAAkBJ,EACpB,GAAGC,gDACH,GAAGA,sBACDI,EAAoBL,EACtB,wBACA,qBACEM,EAAqBN,EACvB,sBACA,mBAEJxC,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAOL,GAEX,CACIzB,YAAa,eACb6B,KAAM,OACNC,MAAOJ,GAEX,CACI1B,YAAa,gBACb6B,KAAM,OACNC,MAAOH,KAGf,MACJ,KAAKR,EAAeY,cAChBlD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,eACb6B,KAAM,OACNC,MAAO,2BAEX,CACI9B,YAAa,gBACb6B,KAAM,OACNC,MAAO,2BAGf,MACJ,KAAKX,EAAea,eAChBnD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,eACb6B,KAAM,OACNC,MAAO,2BAEX,CACI9B,YAAa,gBACb6B,KAAM,OACNC,MAAO,2BAGf,MACJ,KAAKX,EAAec,SAChBpD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,eACb6B,KAAM,OACNC,MAAO,uBAEX,CACI9B,YAAa,gBACb6B,KAAM,OACNC,MAAO,uBAGf,MACJ,QACQ5B,QAAUA,OAAOC,WACjBD,OAAOC,UAAUC,WAAW,IAAIC,MAAM,4BAA6B,kCAAkCe,IAAiB,8BAGtI,EAEAc,4BAAAA,CAA6BjB,EAAOC,EAASvB,GACzC,MAAMyB,EAAgB3C,EAAEmB,IAAID,EAAK,mCAC3B0B,EAAmB5C,EAAEmB,IAAID,EAAK,sCAC9B2B,EAAgB,uCAEtB,GAAKF,EASL,OALAxC,EAAiBuD,KAAK,aAAcxC,GACpCf,EAAiBuD,KAAK,oBAAqBxC,GAC3Cf,EAAiBuD,KAAK,wBAAyBxC,GAC/Cf,EAAiBuD,KAAK,aAAcxC,GAE5ByB,GACJ,KAAKzC,EAAUwC,eAAeI,sBAC9B,KAAK5C,EAAUwC,eAAeK,WAC1B,MAAMC,EAAkBJ,EACpB,GAAGC,gDACH,GAAGA,sBACDI,EAAoBL,EACtB,6BACA,2BACEM,EAAqBN,EACvB,2BACA,yBACJxC,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAOL,GAEX,CACIzB,YAAa,oBACb6B,KAAM,OACNC,MAAOJ,GAEX,CACI1B,YAAa,wBACb6B,KAAM,OACNC,MAAOH,KAGf,MACJ,KAAKhD,EAAUwC,eAAeY,cAmB9B,KAAKpD,EAAUwC,eAAea,eAC1BnD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,oBACb6B,KAAM,OACNC,MAAO,2BAEX,CACI9B,YAAa,wBACb6B,KAAM,OACNC,MAAO,2BAGf,MACJ,KAAKnD,EAAUwC,eAAec,SAC1BpD,EAAM+C,wBAAwBjC,EAAK,CAC/B,CACIK,YAAa,aACb6B,KAAM,uBACNC,MAAO,GAAGR,uBAEd,CACItB,YAAa,oBACb6B,KAAM,OACNC,MAAO,4BAEX,CACI9B,YAAa,wBACb6B,KAAM,OACNC,MAAO,4BAGf,MACJ,QACQ5B,QAAUA,OAAOC,WACjBD,OAAOC,UAAUC,WAAW,IAAIC,MAAM,4BAA6B,kCAAkCe,IAAiB,8BAGtI,EAEAoC,aAAAA,CAAcvC,EAAOC,EAASvB,GAE1B,MAAM8D,EAAShF,EAAEmB,IAAID,EAAK,6BAA+Bd,EAAM6E,4BAC/DC,OAAOC,SAASC,KAAOJ,CAC3B,EAEAK,iBAAAA,CAAkBC,EAAI7C,EAASvB,GAG3B,KAF8C,eAAzBA,EAAIwD,KAAKa,aAG1B,OAAOpF,EAAiBkF,kBAAkBC,EAAI7C,EAASvB,GAG3D,MAAMK,EAAcvB,EAAEmB,IAAIsB,EAAS,mBAC/B+C,EAA4BxF,EAAEmB,IAAID,EAAK,gBAAgBK,aACvDkE,EAAkBzF,EAAEmB,IAAID,EAAK,qCAC7BwE,EAAoB1F,EAAEmB,IAAID,EAAK,yCACfoE,GAAkB,WAAZA,EAAGlD,OAMPqD,GAClBvE,EAAIyE,YAAYC,YAAY,yBAAyB,GACrDzF,EAAiBoE,KAAK,gCAAiCrD,GACvDf,EAAiBuD,KAAK,kBAAmBxC,IAClCsE,GACPrF,EAAiBoE,KAAK,kBAAmBrD,GACzCf,EAAiB0F,mBAAmB,kBAAmB3E,GAEvDA,EAAIyE,YAAYC,YAAY,kBAAmBF,KAE/CvF,EAAiBuD,KAAK,kBAAmBxC,GACzCf,EAAiB2F,kBAAkB,kBAAmB5E,GAE9D,EAGA6E,kCAAAA,CAAmCT,EAAI7C,EAASvB,GAC5C,MAAM8E,EAAYhG,EAAEmB,IAAIsB,EAAS,mBAC7BwD,EAAUjG,EAAEmB,IAAID,EAAK,gBAAgB8E,aACzC,GAAKC,EAAL,CAGA,QAAAC,EAAAC,UAAAtC,OANoDuC,EAAmB,IAAAC,MAAAH,EAAA,EAAAA,EAAA,KAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAnBF,EAAmBE,EAAA,GAAAH,UAAAG,GAOvE,GAAIpG,EAAUqG,0BAA0BlE,SAAS4D,GAC7CjG,EAAEoE,IAAI3B,EAAS,UACX2D,EACCvE,QAAO2E,GAAuBtG,EAAUqG,0BAA0BlE,SAASmE,EAAmBnD,cAChG,CACH,MAAMoD,EAA4BL,EACjCvE,QAAO2E,IAAwBtG,EAAUqG,0BAA0BlE,SAASmE,EAAmBnD,SAChGrD,EAAEoE,IAAI3B,EAAS,UAAWgE,EAC9B,CAVA,CAWJ,EAGA9C,sBAAuBmB,EAAyBnB,sBAEhDM,6BAA8Ba,EAAyBb,8BAI3DW,EAAOC,QAAUvC,C","sources":["webpack://bizsignupnodeweb/./lib/flow-bundles/event-handlers/multiproduct.js","webpack://bizsignupnodeweb/./lib/flow-bundles/event-handlers/payment_methods.js"],"sourcesContent":["/* global PAYPAL */\n/* eslint new-cap: [\"error\", { \"newIsCap\": false }]*/\nconst _ = require('lodash'),\n constants = require('../../constants'),\n baseEventHandler = require('./base'),\n utils = require('../../utils');\n\n/**\n * Compliance Process\n * https://engineering.paypalcorp.com/confluence/pages/viewpage.action?spaceKey=SMB&title=Compliance+Processes+for+Full+Stack\n */\nconst COMPLIANCE_MAPPING = {\n CIP: {\n url: constants.ADROIT_CIP_REDIRECT_URL,\n countries: ['US']\n },\n KYC: {\n url: constants.PDNW_TH_KYC_URL,\n countries: ['DE', 'GB']\n },\n HUB_CIP: {\n url: constants.DEXTER_CIP_REDIRECT_URL,\n countries: ['CA', 'AU']\n }\n};\n\n/**\n * Separate add info element map to support US flows that have 2 different Add Info links depending on processes state\n */\nconst PROCESS_NAME_TO_ELEMENT_NAME = {\n CIP_VERIFICATION: 'addCIPInfoLink',\n BENEFICIAL_OWNER_VERIFICATION: 'addBOInfoLink'\n};\nconst getNeedMoreDataProcessesWithElementInfo = (ctx) => {\n const needMoreDataProcesses = _.get(ctx, 'data.fields.needMoreDataProcesses.value', []);\n const elementInfo = needMoreDataProcesses.map(({ name, url }) => {\n const elementName = PROCESS_NAME_TO_ELEMENT_NAME[name];\n if (!elementName) {\n if (PAYPAL && PAYPAL.analytics) {\n PAYPAL.analytics.logJSError(new Error('Missing Process to element map'), `Unexpected process name: ${name}`, 'ADD_INFO_LINK_ERROR');\n }\n return null;\n }\n return { elementName, processesUrl: url, name };\n });\n return elementInfo.filter(Boolean);\n};\n\nconst getComplianceUrl = (countryCode) => {\n let url;\n Object.keys(COMPLIANCE_MAPPING).some((type) => {\n if (COMPLIANCE_MAPPING[type].countries.includes(countryCode)) {\n url = COMPLIANCE_MAPPING[type].url;\n return true;\n }\n });\n return url;\n};\n\nconst EventHandlers = {\n\n showApplicationStatus(event, element, ctx) {\n const { PRODUCT_STATUS } = constants,\n productStatus = _.get(ctx, 'data.fields.productStatus.value') || _.get(ctx, 'data.fields.applicationStatus.value'),\n isEmailConfirmed = _.get(ctx, 'data.fields.isEmailConfirmed.value'),\n baseIconClass = 'ppvx_icon ppvx_icon--size_xl2 center';\n\n if (!productStatus) {\n return;\n }\n switch (productStatus) {\n case PRODUCT_STATUS.SUBSCRIBED_WITH_LIMIT:\n case PRODUCT_STATUS.SUBSCRIBED:\n const statusIconValue = isEmailConfirmed ?\n `${baseIconClass} ppvx_icon-check-circle ppui-color-green-700` :\n `${baseIconClass} ppvx_icon-pending`;\n const statusHeaderValue = isEmailConfirmed ?\n 'done.subscribedStatus' :\n 'done.approveStatus';\n const statusMessageValue = isEmailConfirmed ?\n 'done.subscribedText' :\n 'done.approveText';\n\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: statusIconValue\n },\n {\n elementName: 'statusHeader',\n path: 'text',\n value: statusHeaderValue\n },\n {\n elementName: 'statusMessage',\n path: 'text',\n value: statusMessageValue\n }\n ]);\n break;\n case PRODUCT_STATUS.MANUAL_REVIEW:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'statusHeader',\n path: 'text',\n value: 'done.manualReviewStatus'\n },\n {\n elementName: 'statusMessage',\n path: 'text',\n value: 'done.manualReviewText'\n }\n ]);\n break;\n case PRODUCT_STATUS.NEED_MORE_DATA:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'statusHeader',\n path: 'text',\n value: 'done.needMoreDataStatus'\n },\n {\n elementName: 'statusMessage',\n path: 'text',\n value: 'done.needMoreDataText'\n }\n ]);\n break;\n case PRODUCT_STATUS.DECLINED:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'statusHeader',\n path: 'text',\n value: 'done.declinedStatus'\n },\n {\n elementName: 'statusMessage',\n path: 'text',\n value: 'done.declinedText'\n }\n ]);\n break;\n default:\n if (PAYPAL && PAYPAL.analytics) {\n PAYPAL.analytics.logJSError(new Error('Application status error'), `Unexpected application status: ${productStatus}`, 'PRODUCT_PROVISIONING_ERROR');\n }\n }\n },\n\n showPartnerApplicationStatus(event, element, ctx) {\n const productStatus = _.get(ctx, 'data.fields.productStatus.value') || _.get(ctx, 'data.fields.applicationStatus.value');\n const isEmailConfirmed = _.get(ctx, 'data.fields.isEmailConfirmed.value');\n const baseIconClass = 'ppvx_icon ppvx_icon--size_xl2 center';\n\n if (!productStatus) {\n return;\n }\n\n baseEventHandler.show('statusIcon', ctx);\n baseEventHandler.show('partnerDoneHeader', ctx);\n baseEventHandler.show('partnerDoneStatusText', ctx);\n baseEventHandler.show('statusIcon', ctx);\n\n switch (productStatus) {\n case constants.PRODUCT_STATUS.SUBSCRIBED_WITH_LIMIT:\n case constants.PRODUCT_STATUS.SUBSCRIBED:\n const statusIconValue = isEmailConfirmed ?\n `${baseIconClass} ppvx_icon-check-circle ppui-color-green-700` :\n `${baseIconClass} ppvx_icon-pending`;\n const statusHeaderValue = isEmailConfirmed ?\n 'congrats.subscribed.header' :\n 'congrats.approved.header';\n const statusMessageValue = isEmailConfirmed ?\n 'congrats.subscribed.text' :\n 'congrats.approved.text';\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: statusIconValue\n },\n {\n elementName: 'partnerDoneHeader',\n path: 'text',\n value: statusHeaderValue\n },\n {\n elementName: 'partnerDoneStatusText',\n path: 'text',\n value: statusMessageValue\n }\n ]);\n break;\n case constants.PRODUCT_STATUS.MANUAL_REVIEW:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'partnerDoneHeader',\n path: 'text',\n value: 'congrats.pending.header'\n },\n {\n elementName: 'partnerDoneStatusText',\n path: 'text',\n value: 'congrats.pending.text'\n }\n ]);\n break;\n case constants.PRODUCT_STATUS.NEED_MORE_DATA:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'partnerDoneHeader',\n path: 'text',\n value: 'congrats.needMoreData.header'\n },\n {\n elementName: 'partnerDoneStatusText',\n path: 'text',\n value: 'congrats.needMoreData.text'\n }\n ]);\n break;\n case constants.PRODUCT_STATUS.DECLINED:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'partnerDoneHeader',\n path: 'text',\n value: 'congrats.declined.header'\n },\n {\n elementName: 'partnerDoneStatusText',\n path: 'text',\n value: 'congrats.declined.text'\n }\n ]);\n break;\n default:\n if (PAYPAL && PAYPAL.analytics) {\n PAYPAL.analytics.logJSError(new Error('Application status error'), `Unexpected application status: ${productStatus}`, 'PRODUCT_PROVISIONING_ERROR');\n }\n }\n },\n showAddInfoDexterLink(event, element, ctx) {\n const productStatus = _.get(ctx, 'data.fields.productStatus.value');\n const countryCode = _.get(ctx, 'content.countryCode');\n const url = getComplianceUrl(countryCode);\n\n const needMoreDataElements = getNeedMoreDataProcessesWithElementInfo(ctx);\n if (needMoreDataElements.length) {\n const needMoreDataProcessesElementsToUpdate = needMoreDataElements.flatMap(({ name, processesUrl, elementName }) => {\n return [\n {\n elementName,\n path: 'attributes.href',\n value: processesUrl\n },\n {\n elementName,\n path: 'isHidden',\n value: false\n }\n ];\n });\n \n utils.updateElementProperties(ctx, needMoreDataProcessesElementsToUpdate);\n } else if (productStatus === constants.PRODUCT_STATUS.NEED_MORE_DATA && url) {\n utils.updateElementProperties(ctx, [\n {\n elementName: 'addInfoLink',\n path: 'attributes.href',\n value: url\n },\n {\n elementName: 'addInfoLink',\n path: 'isHidden',\n value: false\n },\n {\n elementName: 'addInfoLink',\n path: 'attributes.name',\n value: 'add_info_button'\n }\n ]);\n }\n },\n showPartnerAddInfoDexterLink(event, element, ctx) {\n const productStatus = _.get(ctx, 'data.fields.productStatus.value');\n const countryCode = _.get(ctx, 'content.countryCode');\n const url = getComplianceUrl(countryCode);\n\n const needMoreDataElements = getNeedMoreDataProcessesWithElementInfo(ctx);\n if (needMoreDataElements.length) {\n needMoreDataElements.forEach(({ elementName, processesUrl }) => {\n _.set(ctx, `data.fields.channelStore.${elementName}`, processesUrl);\n });\n } else if (productStatus === constants.PRODUCT_STATUS.NEED_MORE_DATA && url) {\n _.set(ctx, 'data.fields.channelStore.dexterUrl', url);\n }\n },\n hidePpcpAgreementIfNotPpcp(event, element, ctx) {\n const product = _.get(ctx, 'data.fields.product.value');\n if (product === constants.PPCP) {\n return;\n }\n\n /**\n * Even though the ppcpAgreement is now hidden, the internal state for ppcpAgreement is still { value: true }\n */\n const elementName = 'ppcpAgreement';\n baseEventHandler.hide(elementName, ctx);\n ctx.formActions.updateElementProperty(ctx.form.activePage, 'personalInfoSubmitButton', 'text', 'personalInfo.button');\n }\n};\n\nmodule.exports = EventHandlers;\n","/* global PAYPAL */\n/* eslint new-cap: [\"error\", { \"newIsCap\": false }]*/\nlet _ = require('lodash'),\n constants = require('../../constants'),\n baseEventHandler = require('./base'),\n utils = require('../../utils'),\n multiProductEventHandler = require('./multiproduct');\n\nlet EventHandlers = {\n\n showApplicationStatus(event, element, ctx) {\n const { PRODUCT_STATUS } = constants,\n productStatus = _.get(ctx, 'data.fields.productStatus.value'),\n isEmailConfirmed = _.get(ctx, 'data.fields.isEmailConfirmed.value'),\n baseIconClass = 'ppvx_icon ppvx_icon--size_xl2 center';\n\n if (!productStatus) {\n return;\n }\n switch (productStatus) {\n case PRODUCT_STATUS.SUBSCRIBED_WITH_LIMIT:\n case PRODUCT_STATUS.SUBSCRIBED:\n const statusIconValue = isEmailConfirmed ?\n `${baseIconClass} ppvx_icon-check-circle ppui-color-green-700` :\n `${baseIconClass} ppvx_icon-pending`;\n const statusHeaderValue = isEmailConfirmed ?\n 'done.subscribedStatus' :\n 'done.approveStatus';\n const statusMessageValue = isEmailConfirmed ?\n 'done.subscribedText' :\n 'done.approveText';\n\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: statusIconValue\n },\n {\n elementName: 'statusHeader',\n path: 'text',\n value: statusHeaderValue\n },\n {\n elementName: 'statusMessage',\n path: 'text',\n value: statusMessageValue\n }\n ]);\n break;\n case PRODUCT_STATUS.MANUAL_REVIEW:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'statusHeader',\n path: 'text',\n value: 'done.manualReviewStatus'\n },\n {\n elementName: 'statusMessage',\n path: 'text',\n value: 'done.manualReviewText'\n }\n ]);\n break;\n case PRODUCT_STATUS.NEED_MORE_DATA:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'statusHeader',\n path: 'text',\n value: 'done.needMoreDataStatus'\n },\n {\n elementName: 'statusMessage',\n path: 'text',\n value: 'done.needMoreDataText'\n }\n ]);\n break;\n case PRODUCT_STATUS.DECLINED:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'statusHeader',\n path: 'text',\n value: 'done.declinedStatus'\n },\n {\n elementName: 'statusMessage',\n path: 'text',\n value: 'done.declinedText'\n }\n ]);\n break;\n default:\n if (PAYPAL && PAYPAL.analytics) {\n PAYPAL.analytics.logJSError(new Error('Application status error'), `Unexpected application status: ${productStatus}`, 'PRODUCT_PROVISIONING_ERROR');\n }\n }\n },\n\n showPartnerApplicationStatus(event, element, ctx) {\n const productStatus = _.get(ctx, 'data.fields.productStatus.value');\n const isEmailConfirmed = _.get(ctx, 'data.fields.isEmailConfirmed.value');\n const baseIconClass = 'ppvx_icon ppvx_icon--size_xl2 center';\n\n if (!productStatus) {\n return;\n }\n\n baseEventHandler.show('statusIcon', ctx);\n baseEventHandler.show('partnerDoneHeader', ctx);\n baseEventHandler.show('partnerDoneStatusText', ctx);\n baseEventHandler.show('statusIcon', ctx);\n\n switch (productStatus) {\n case constants.PRODUCT_STATUS.SUBSCRIBED_WITH_LIMIT:\n case constants.PRODUCT_STATUS.SUBSCRIBED:\n const statusIconValue = isEmailConfirmed ?\n `${baseIconClass} ppvx_icon-check-circle ppui-color-green-700` :\n `${baseIconClass} ppvx_icon-pending`;\n const statusHeaderValue = isEmailConfirmed ?\n 'congrats.subscribed.header' :\n 'congrats.approved.header';\n const statusMessageValue = isEmailConfirmed ?\n 'congrats.subscribed.text' :\n 'congrats.approved.text';\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: statusIconValue\n },\n {\n elementName: 'partnerDoneHeader',\n path: 'text',\n value: statusHeaderValue\n },\n {\n elementName: 'partnerDoneStatusText',\n path: 'text',\n value: statusMessageValue\n }\n ]);\n break;\n case constants.PRODUCT_STATUS.MANUAL_REVIEW:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'partnerDoneHeader',\n path: 'text',\n value: 'congrats.pending.header'\n },\n {\n elementName: 'partnerDoneStatusText',\n path: 'text',\n value: 'congrats.pending.text'\n }\n ]);\n break;\n case constants.PRODUCT_STATUS.NEED_MORE_DATA:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'partnerDoneHeader',\n path: 'text',\n value: 'congrats.pending.header'\n },\n {\n elementName: 'partnerDoneStatusText',\n path: 'text',\n value: 'congrats.pending.text'\n }\n ]);\n break;\n case constants.PRODUCT_STATUS.DECLINED:\n utils.updateElementProperties(ctx, [\n {\n elementName: 'statusIcon',\n path: 'attributes.className',\n value: `${baseIconClass} ppvx_icon-pending`\n },\n {\n elementName: 'partnerDoneHeader',\n path: 'text',\n value: 'congrats.declined.header'\n },\n {\n elementName: 'partnerDoneStatusText',\n path: 'text',\n value: 'congrats.declined.text'\n }\n ]);\n break;\n default:\n if (PAYPAL && PAYPAL.analytics) {\n PAYPAL.analytics.logJSError(new Error('Application status error'), `Unexpected application status: ${productStatus}`, 'PRODUCT_PROVISIONING_ERROR');\n }\n }\n },\n\n redirectToKYC(event, element, ctx, ...fields) {\n // Always Redirect to KYC page.\n const kycUrl = _.get(ctx, 'data.fields.kycUrl.value') || utils.generatePUIKycRedirectURL();\n window.location.href = kycUrl;\n },\n\n handleTradingName(ev, element, ctx) {\n const isAddProduct = ctx.form.initialPage === 'addProduct';\n\n if (!isAddProduct) {\n return baseEventHandler.handleTradingName(ev, element, ctx);\n }\n\n const elementName = _.get(element, 'attributes.name'),\n businessNameSameAsTrading = _.get(ctx, `data.fields['${elementName}'].value`),\n businessDBAName = _.get(ctx, 'data.fields.businessDBAName.value'),\n businessLegalName = _.get(ctx, 'data.fields.businessLegalName.value'),\n isChangeEvent = ev && ev.type === 'change';\n\n // For Add product initialize, if DBA Name is set, disable editing\n // else if checkBox is selected - set DBA name equal to legalName\n // else set DBA name to whatever is selected.\n\n if (!isChangeEvent && businessDBAName) {\n ctx.dataActions.updateField('businessNameAgreement', false);\n baseEventHandler.hide('businessNameAgreementCheckbox', ctx);\n baseEventHandler.show('businessDBAName', ctx);\n } else if (businessNameSameAsTrading) {\n baseEventHandler.hide('businessDBAName', ctx);\n baseEventHandler.disableValidations('businessDBAName', ctx);\n // Set the businessDBAName to businessLegalName for DB update\n ctx.dataActions.updateField('businessDBAName', businessLegalName);\n } else {\n baseEventHandler.show('businessDBAName', ctx);\n baseEventHandler.enableValidations('businessDBAName', ctx);\n }\n },\n\n // Filter businesstype options based on selected businesstype\n filterBusinessTypeBasedOnSelection(ev, element, ctx, ...businessTypeOptions) {\n const fieldName = _.get(element, 'attributes.name'),\n bizType = _.get(ctx, `data.fields['${fieldName}'].value`);\n if (!bizType) {\n return;\n }\n // set businesstype options to non enitity businesstype, if non entity contains selected businesstype\n if (constants.NON_ENTITY_BUSINESS_TYPES.includes(bizType)) {\n _.set(element, 'options',\n businessTypeOptions\n .filter(businessTypeOption => (constants.NON_ENTITY_BUSINESS_TYPES.includes(businessTypeOption.value))));\n } else {\n const entityBusinessTypeOptions = businessTypeOptions\n .filter(businessTypeOption => (!constants.NON_ENTITY_BUSINESS_TYPES.includes(businessTypeOption.value)));\n _.set(element, 'options', entityBusinessTypeOptions);\n }\n },\n \n /* reusing the function which is declared in the multiproduct.js */\n showAddInfoDexterLink: multiProductEventHandler.showAddInfoDexterLink,\n\n showPartnerAddInfoDexterLink: multiProductEventHandler.showPartnerAddInfoDexterLink\n \n};\n\nmodule.exports = EventHandlers;\n"],"names":["_","require","constants","baseEventHandler","utils","COMPLIANCE_MAPPING","CIP","url","ADROIT_CIP_REDIRECT_URL","countries","KYC","PDNW_TH_KYC_URL","HUB_CIP","DEXTER_CIP_REDIRECT_URL","PROCESS_NAME_TO_ELEMENT_NAME","CIP_VERIFICATION","BENEFICIAL_OWNER_VERIFICATION","getNeedMoreDataProcessesWithElementInfo","ctx","get","map","_ref","name","elementName","processesUrl","PAYPAL","analytics","logJSError","Error","filter","Boolean","getComplianceUrl","countryCode","Object","keys","some","type","includes","EventHandlers","showApplicationStatus","event","element","PRODUCT_STATUS","productStatus","isEmailConfirmed","baseIconClass","SUBSCRIBED_WITH_LIMIT","SUBSCRIBED","statusIconValue","statusHeaderValue","statusMessageValue","updateElementProperties","path","value","MANUAL_REVIEW","NEED_MORE_DATA","DECLINED","showPartnerApplicationStatus","show","showAddInfoDexterLink","needMoreDataElements","length","needMoreDataProcessesElementsToUpdate","flatMap","_ref2","showPartnerAddInfoDexterLink","forEach","_ref3","set","hidePpcpAgreementIfNotPpcp","PPCP","hide","formActions","updateElementProperty","form","activePage","module","exports","multiProductEventHandler","redirectToKYC","kycUrl","generatePUIKycRedirectURL","window","location","href","handleTradingName","ev","initialPage","businessNameSameAsTrading","businessDBAName","businessLegalName","dataActions","updateField","disableValidations","enableValidations","filterBusinessTypeBasedOnSelection","fieldName","bizType","_len","arguments","businessTypeOptions","Array","_key","NON_ENTITY_BUSINESS_TYPES","businessTypeOption","entityBusinessTypeOptions"],"sourceRoot":""}