{"version":3,"sources":["component/routes/enrollnow/msa/enrollnow-msa.guard.ts","component/routes/enrollnow/msa/enrollnow-msa.tsx","../../../../../src/internal/operators/takeWhile.ts","../../../../../src/internal/operators/finalize.ts","../../../../../src/internal/observable/timer.ts","../../../../../src/internal/util/isDate.ts","../../../../../src/internal/observable/interval.ts","component/routes/enrollnow/msa/enrollnow-msa.module.scss"],"names":["redirectionGuardMsa","programsToEnroll","arguments","length","undefined","condition","Promise","resolve","ProgramsUtility","isDeveloperProgram","AccountUtility","isMsaAccount","to","INTERNAL_ROUTES","ENROLLMENT","EnrollNowMsaRoute","props","accountType","setAccountType","useState","showNextPage","setShowNextPage","publisherName","setPublisherName","addressInfo","setAddressInfo","FormControlNames","addressLine1","addressLine2","city","country","postalCode","state","contactInfo","setContactInfo","primaryContactFirstName","primaryContactLastName","primaryContactEmail","intlPhone","supportWebsite","preferredEmailLanguage","taxId","companyApproverInfo","setCompanyApproverInfo","agreementLink","setAgreementLink","publisherNameValid","setPublisherNameValid","contactDetailsValid","setContactDetailsValid","companyApproverDetailsValid","setCompanyApproverDetailsValid","addressDetailsValidated","setAddressDetailsValidated","addressDetailsFormValid","setAddressDetailsFormValid","showLoader","setShowLoader","pageHasError","setPageHasError","errorMessage","setErrorMessage","unsubscribe","Subject","showSubmitLoader","setShowSubmitLoader","workflowInProgress","setWorkflowInProgress","showWorkflowAcceptedMessage","setShowWorkflowAcceptedMessage","avsSupportedCountries","setAvsSupportedCountries","sellerId","setSellerId","isPaymentSupported","setIsPaymentSupported","externalSystemReferenceId","StoreUtility","getState","getMessage","key","correlationId","sessionTransactionId","Pipe","ResourcePipe","TransformPipe","Navigation","navigate","ENROLLMENT_ERROR","replace","customCode","OVDF_MESSAGE_CODES","DEVELOPER_PROGRAM_ERROR_CODE","useEffect","SellerAccountService","getDeveloperProgramPreEnrollInfo","pipe","takeUntil","catchError","error","errorCode","of","finalize","subscribe","response","_response$agreements","account","_ServerData$loggedInU","_ServerData$loggedInU2","_ServerData$loggedInU3","id","sellerCountryIsoCode","identity","cultureName","pname","vettedAddress","vettedName","vettedEmail","vettedPhone","website","companyApproverName","companyApproverEmail","companyApproverPhone","countryCode","stateOrProvince","firstName","ServerData","loggedInUser","lastName","emailAddress","emailId","concat","areaCode","phoneNumber","agreements","downloadLink","AvsService","getSupportedCountries","then","next","complete","getWorkflowStatus","count","referenceId","interval","switchMap","UnifiedEnrollmentService","takeWhile","wf","workflowStatus","toLowerCase","WORKFLOW_STATUS_TYPE","Completed","window","location","href","EXTERNAL_ROUTES","DASHBOARD_HOME","InProgress","workflowSubStatus","WaitingForPayment","ENROLLMENT_PAYMENT","search","Failed","tap","isValidRequest","createRequestBody","telNumParts","split","companyApproverTelPart","primaryContact","email","companyApproverContact","IdentityType","Business","address","isNewAadAccount","applicationReferenceId","createUnifiedRequestBody","accountId","toString","companyName","primaryContactPhone","join","registrationId","additionalContacts","createCompanyApproverContactPayload","type","phone","_jsx","RedirectionGuard","guard","children","Loader","size","fullScreen","blockOperation","_jsxs","FlexPageWrapper","Header","title","_Fragment","className","RegistrationPrice","programName","FormControlPublisherName","value","onChange","_ref2","name","valid","classes","AvsComponent","supportedCountries","disabledFields","shouldValidate","onAddressValidated","onAddressChanged","selectedAddress","region","formValue","InnerHtml","DeveloperContactFormComponent","CompanyApproverFormComponent","TestAttribute","ProgramAgreementsComponent","FormControlCountry","data-testid","label","ALL_SUPPORTED_COUNTRY_CODES_FOR_DEVELOPER_PROGRAMS","_ref","prev","disabled","ReactStringReplacePipe","countryFaqLink","Anchor","COUNTRY_FAQ_LINK","target","AccountTypeSelection","disableCompany","isMsaCompanyBlocked","editable","onClick","onClickBack","onClickNext","isUnifiedFlowEnabled","requestBody","submitEnrollment","err","details","DeveloperEnrollmentService","enrollIntoDeveloperProgram","isMsaDunsSupported","ENROLLMENT_AAD","getPaymentInfo","paymentSupported","AuthType","MSA","AlertError","MessageBar","messageBarType","MessageBarType","success","isMultiline","withRouter","module","exports"],"mappings":"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","file":"en-us/dashboard/account/exp/staticres/static/js/8.fc50e338.chunk.js","sourcesContent":["/**\r\n * @description the guard methods for MSA Enroll view\r\n */\r\nimport { INTERNAL_ROUTES } from \"../../../../constants\";\r\nimport { IRedirectionGuardCondition } from \"../../../hoc\";\r\nimport { AccountUtility, ProgramsUtility } from \"../../../../utility\";\r\n\r\nexport function redirectionGuardMsa(\r\n programsToEnroll: string[] = []\r\n): IRedirectionGuardCondition {\r\n return {\r\n condition: Promise.resolve(\r\n !ProgramsUtility.isDeveloperProgram(programsToEnroll[0]) ||\r\n !AccountUtility.isMsaAccount()\r\n ),\r\n to: INTERNAL_ROUTES.ENROLLMENT,\r\n };\r\n}\r\n","/**\r\n * @description the enroll now route component for MSA\r\n */\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { withRouter } from \"react-router\";\r\nimport { interval, of, Subject } from \"rxjs\";\r\nimport {\r\n catchError,\r\n finalize,\r\n switchMap,\r\n takeUntil,\r\n takeWhile,\r\n tap,\r\n} from \"rxjs/operators\";\r\nimport {\r\n AlertError,\r\n Anchor,\r\n FlexPageWrapper,\r\n FormControlCountry,\r\n FormControlNames,\r\n FormControlPublisherName,\r\n Header,\r\n IFormControl,\r\n IFormValue,\r\n Loader,\r\n} from \"../../../reusables\";\r\nimport { InnerHtml, RedirectionGuard, TestAttribute } from \"../../../hoc\";\r\nimport { redirectionGuardMsa } from \"./enrollnow-msa.guard\";\r\nimport {\r\n Pipe,\r\n ReactStringReplacePipe,\r\n ResourcePipe,\r\n TransformPipe,\r\n} from \"../../../../pipes\";\r\nimport {\r\n ApiError,\r\n AuthType,\r\n Dictionary,\r\n IdentityType,\r\n} from \"../../../../models\";\r\nimport {\r\n AccountTypeSelection,\r\n AvsComponent,\r\n CompanyApproverFormComponent,\r\n DeveloperContactFormComponent,\r\n ProgramAgreementsComponent,\r\n} from \"../../../shared\";\r\nimport { ProgramsUtility, ServerData, StoreUtility } from \"../../../../utility\";\r\nimport {\r\n TEnrollmentState,\r\n} from \"../../../../store\";\r\nimport {\r\n AvsService,\r\n DeveloperEnrollmentService,\r\n SellerAccountService,\r\n UnifiedEnrollmentService,\r\n} from \"../../../../services\";\r\nimport {\r\n ALL_SUPPORTED_COUNTRY_CODES_FOR_DEVELOPER_PROGRAMS,\r\n EXTERNAL_ROUTES,\r\n INTERNAL_ROUTES,\r\n OVDF_MESSAGE_CODES,\r\n WORKFLOW_STATUS_TYPE,\r\n} from \"../../../../constants\";\r\nimport { Navigation } from \"../../router\";\r\nimport { IOnAvsAddressSelectedPopup } from \"../../../overlays\";\r\n\r\nimport classes from \"./enrollnow-msa.module.scss\";\r\nimport { MessageBar, MessageBarType } from \"@fluentui/react\";\r\nimport { RegistrationPrice } from \"../../../shared\";\r\n\r\ntype IPropType = {\r\n history: any;\r\n};\r\n\r\nexport const EnrollNowMsaRoute: React.FC<IPropType> = (props) => {\r\n /**\r\n * State config\r\n */\r\n const [accountType, setAccountType] = useState(\"\");\r\n const [showNextPage, setShowNextPage] = useState(false);\r\n const [publisherName, setPublisherName] = useState(\"\");\r\n const [addressInfo, setAddressInfo] = useState({\r\n [FormControlNames.addressLine1]: \"\",\r\n [FormControlNames.addressLine2]: \"\",\r\n [FormControlNames.city]: \"\",\r\n [FormControlNames.country]: \"\",\r\n [FormControlNames.postalCode]: \"\",\r\n [FormControlNames.state]: \"\",\r\n });\r\n const [contactInfo, setContactInfo] = useState({\r\n [FormControlNames.primaryContactFirstName]: \"\",\r\n [FormControlNames.primaryContactLastName]: \"\",\r\n [FormControlNames.primaryContactEmail]: \"\",\r\n [FormControlNames.intlPhone]: \"\",\r\n [FormControlNames.supportWebsite]: \"\",\r\n [FormControlNames.preferredEmailLanguage]: \"\",\r\n [FormControlNames.taxId]: \"\",\r\n });\r\n const [companyApproverInfo, setCompanyApproverInfo] = useState({\r\n [FormControlNames.primaryContactFirstName]: \"\",\r\n [FormControlNames.primaryContactLastName]: \"\",\r\n [FormControlNames.primaryContactEmail]: \"\",\r\n [FormControlNames.intlPhone]: \"\",\r\n });\r\n\r\n const [agreementLink, setAgreementLink] = useState(\"\");\r\n const [publisherNameValid, setPublisherNameValid] = useState(false);\r\n const [contactDetailsValid, setContactDetailsValid] = useState(false);\r\n const [companyApproverDetailsValid, setCompanyApproverDetailsValid] =\r\n useState(false);\r\n const [addressDetailsValidated, setAddressDetailsValidated] = useState(false);\r\n const [addressDetailsFormValid, setAddressDetailsFormValid] = useState(false);\r\n const [showLoader, setShowLoader] = useState(true);\r\n const [pageHasError, setPageHasError] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const unsubscribe = new Subject<void>();\r\n const [showSubmitLoader, setShowSubmitLoader] = useState(false);\r\n const [workflowInProgress, setWorkflowInProgress] = useState(false);\r\n const [showWorkflowAcceptedMessage, setShowWorkflowAcceptedMessage] =\r\n useState(false);\r\n const [avsSupportedCountries, setAvsSupportedCountries] = useState([\"\"]);\r\n const [sellerId, setSellerId] = useState(0);\r\n const [isPaymentSupported, setIsPaymentSupported] = useState(false);\r\n\r\n /**\r\n * Store utility\r\n */\r\n const { programsToEnroll, externalSystemReferenceId } = StoreUtility.getState(\r\n \"enrollment\"\r\n ) as TEnrollmentState;\r\n\r\n /**\r\n * Get Error key to display the message\r\n */\r\n const getMessage = (\r\n key: string,\r\n correlationId: string,\r\n sessionTransactionId: string\r\n ) => {\r\n if (key === \"InvalidProgram\") {\r\n return Pipe(\r\n ResourcePipe,\r\n TransformPipe\r\n )(\"EnrollErrorView_InvalidProgram_Description\");\r\n } else if (key === \"InvalidFormDetails\") {\r\n return Pipe(ResourcePipe, TransformPipe)(\"Common_Error_InvalidData\");\r\n } else if (key === \"EnrollmentNotAllowed\") {\r\n return Pipe(ResourcePipe, TransformPipe)(\"Common_Error_NotAllowed\");\r\n } else if (key === \"InvalidPublisherName\") {\r\n return Pipe(\r\n ResourcePipe,\r\n TransformPipe\r\n )(\"FormField_PublisherName_NotValid\");\r\n } else if (key === \"AlreadyEnrolled\" || key === \"SessionValidationFailed\") {\r\n Navigation.navigate(\r\n props,\r\n INTERNAL_ROUTES.ENROLLMENT_ERROR.replace(\":reason\", key).replace(\r\n \":programName\",\r\n programsToEnroll?.[0]\r\n ),\r\n {\r\n correlationId: correlationId,\r\n sessionTransactionId: sessionTransactionId,\r\n customCode: OVDF_MESSAGE_CODES.DEVELOPER_PROGRAM_ERROR_CODE,\r\n }\r\n );\r\n }\r\n return Pipe(ResourcePipe, TransformPipe)(\"Common_GenericError\", {\r\n correlationId: correlationId,\r\n });\r\n };\r\n\r\n /**\r\n * Preenroll API to get the MSA account details.\r\n */\r\n const getMSAAccountInfo = () => {\r\n SellerAccountService.getDeveloperProgramPreEnrollInfo(\r\n programsToEnroll?.[0],\r\n undefined,\r\n externalSystemReferenceId\r\n )\r\n .pipe(\r\n takeUntil(unsubscribe),\r\n catchError((error: ApiError) => {\r\n setPageHasError(true);\r\n setErrorMessage(getMessage(error.errorCode, error.correlationId, \"\"));\r\n return of(null);\r\n }),\r\n finalize(() => setShowLoader(false))\r\n )\r\n .subscribe((response) => {\r\n if (response?.account) {\r\n setSellerId(response.account.id);\r\n const { accountType, sellerCountryIsoCode, identity } =\r\n response.account;\r\n const {\r\n cultureName,\r\n publisherName: pname,\r\n vettedAddress,\r\n vettedName,\r\n vettedEmail,\r\n vettedPhone,\r\n website,\r\n companyApproverName,\r\n companyApproverEmail,\r\n companyApproverPhone,\r\n } = identity || {};\r\n setAccountType(accountType);\r\n setPublisherName(pname || \"\");\r\n setAddressInfo({\r\n [FormControlNames.addressLine1]: vettedAddress?.addressLine1 || \"\",\r\n [FormControlNames.addressLine2]: vettedAddress?.addressLine2 || \"\",\r\n [FormControlNames.city]: vettedAddress?.city || \"\",\r\n [FormControlNames.country]:\r\n vettedAddress?.countryCode || sellerCountryIsoCode,\r\n [FormControlNames.postalCode]: vettedAddress?.postalCode || \"\",\r\n [FormControlNames.state]: vettedAddress?.stateOrProvince || \"\",\r\n });\r\n setContactInfo({\r\n [FormControlNames.primaryContactFirstName]:\r\n vettedName?.firstName || ServerData.loggedInUser?.firstName || \"\",\r\n [FormControlNames.primaryContactLastName]:\r\n vettedName?.lastName || ServerData.loggedInUser?.lastName || \"\",\r\n [FormControlNames.primaryContactEmail]:\r\n vettedEmail?.emailAddress ||\r\n ServerData.loggedInUser?.emailId ||\r\n \"\",\r\n [FormControlNames.intlPhone]: `${vettedPhone?.countryCode || \"\"}:${\r\n vettedPhone?.areaCode || \"\"\r\n }:${vettedPhone?.phoneNumber || \"\"}`,\r\n [FormControlNames.supportWebsite]: website || \"\",\r\n [FormControlNames.preferredEmailLanguage]: cultureName || \"\",\r\n [FormControlNames.taxId]: \"\",\r\n });\r\n setCompanyApproverInfo({\r\n [FormControlNames.primaryContactFirstName]:\r\n companyApproverName?.firstName,\r\n [FormControlNames.primaryContactLastName]:\r\n companyApproverName?.lastName,\r\n [FormControlNames.primaryContactEmail]:\r\n companyApproverEmail?.emailAddress,\r\n [FormControlNames.intlPhone]: `${\r\n companyApproverPhone?.countryCode || \"\"\r\n }:${companyApproverPhone?.areaCode || \"\"}:${\r\n companyApproverPhone?.phoneNumber || \"\"\r\n }`,\r\n });\r\n }\r\n\r\n if (response?.agreements?.length) {\r\n setAgreementLink(response.agreements[0].downloadLink);\r\n }\r\n });\r\n };\r\n\r\n const populateAVSCountries = () => {\r\n AvsService.getSupportedCountries().then((response) => {\r\n setAvsSupportedCountries(response);\r\n });\r\n };\r\n\r\n const getPaymentInfo = () => {\r\n const paymentSupported = ProgramsUtility.isPaymentSupported(\r\n programsToEnroll?.[0],\r\n AuthType.MSA,\r\n accountType\r\n );\r\n\r\n let country = addressInfo[FormControlNames.country];\r\n if (paymentSupported && country) {\r\n setIsPaymentSupported(paymentSupported);\r\n }\r\n };\r\n\r\n /**\r\n * UseEffect Hook for initial load\r\n */\r\n useEffect(() => {\r\n getMSAAccountInfo();\r\n populateAVSCountries();\r\n return () => {\r\n unsubscribe.next();\r\n unsubscribe.complete();\r\n };\r\n }, []);\r\n\r\n /**\r\n * Method used to handle on country change.\r\n * @param country country attribute from parameters dictionary object\r\n */\r\n const onCountryChange = ({ country }: Dictionary<IFormControl>) => {\r\n setAddressInfo((prev) => ({\r\n ...prev,\r\n [FormControlNames.country]: country.value,\r\n }));\r\n };\r\n\r\n /**\r\n * On change of account type change.\r\n * @param accountType\r\n */\r\n const onAccountTypeChange = (accountType: string) => {\r\n setAccountType(accountType);\r\n };\r\n\r\n const onClickBack = () => {\r\n setShowNextPage(false);\r\n setErrorMessage(\"\");\r\n setPageHasError(false);\r\n };\r\n\r\n /**\r\n * On click of next botton. Goes to next page or enroll into developer program.\r\n */\r\n const onClickNext = () => {\r\n if (!showNextPage) {\r\n if (\r\n accountType === IdentityType.Business &&\r\n ProgramsUtility.isMsaDunsSupported(programsToEnroll[0])\r\n ) {\r\n Navigation.navigate(props, INTERNAL_ROUTES.ENROLLMENT_AAD, {\r\n state: {\r\n country: addressInfo[FormControlNames.country],\r\n },\r\n });\r\n } else {\r\n setShowNextPage(true);\r\n getPaymentInfo();\r\n }\r\n } else {\r\n if (isValidRequest()) {\r\n setShowSubmitLoader(true);\r\n if (ProgramsUtility.isUnifiedFlowEnabled(programsToEnroll[0])) {\r\n const requestBody = createUnifiedRequestBody();\r\n UnifiedEnrollmentService.submitEnrollment(\r\n programsToEnroll[0],\r\n requestBody as any,\r\n avsSupportedCountries\r\n )\r\n .pipe(\r\n catchError((err: ApiError) => {\r\n setErrorMessage(\r\n getMessage(err.errorCode, err.correlationId, err.details[0])\r\n );\r\n setShowSubmitLoader(false);\r\n return of(null);\r\n })\r\n )\r\n .subscribe((response: any) => {\r\n if (response?.referenceId) {\r\n setWorkflowInProgress(true);\r\n getWorkflowStatus(8, response?.referenceId);\r\n }\r\n return response;\r\n });\r\n } else {\r\n const requestBody = createRequestBody();\r\n DeveloperEnrollmentService.enrollIntoDeveloperProgram(\r\n programsToEnroll[0],\r\n requestBody\r\n )\r\n .pipe(\r\n takeUntil(unsubscribe),\r\n catchError((err: ApiError) => {\r\n setErrorMessage(\r\n getMessage(err.errorCode, err.correlationId, err.details[0])\r\n );\r\n return of(null);\r\n }),\r\n finalize(() => {\r\n setShowSubmitLoader(false);\r\n })\r\n )\r\n .subscribe((response) => {\r\n if (response) {\r\n window.location.href = EXTERNAL_ROUTES.DASHBOARD_HOME;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n };\r\n\r\n const getWorkflowStatus = (count: number, referenceId: string): void => {\r\n const retryInterval = 30000; //30 second delay between retry attempts\r\n interval(retryInterval)\r\n .pipe(\r\n switchMap(() =>\r\n UnifiedEnrollmentService.getWorkflowStatus(referenceId)\r\n ),\r\n takeWhile((wf) => {\r\n if (count === 0) {\r\n setShowWorkflowAcceptedMessage(true); // Show wf accepted banner\r\n setShowSubmitLoader(false); // Make loader disappear\r\n return false;\r\n } else if (\r\n wf != null &&\r\n wf.workflowStatus.toLowerCase() ===\r\n WORKFLOW_STATUS_TYPE.Completed.toLowerCase()\r\n ) {\r\n setShowSubmitLoader(false);\r\n window.location.href = EXTERNAL_ROUTES.DASHBOARD_HOME;\r\n return false;\r\n } else if (\r\n wf != null &&\r\n wf.workflowStatus.toLowerCase() ===\r\n WORKFLOW_STATUS_TYPE.InProgress.toLowerCase() &&\r\n wf.workflowSubStatus.toLowerCase() ===\r\n WORKFLOW_STATUS_TYPE.WaitingForPayment.toLowerCase()\r\n ) {\r\n setShowSubmitLoader(false);\r\n Navigation.navigate(props, INTERNAL_ROUTES.ENROLLMENT_PAYMENT, {\r\n search: `programName=${programsToEnroll[0]}`,\r\n });\r\n return false;\r\n } else if (\r\n wf != null &&\r\n wf.workflowStatus.toLowerCase() ===\r\n WORKFLOW_STATUS_TYPE.Failed.toLowerCase()\r\n ) {\r\n setErrorMessage(\r\n `${Pipe(ResourcePipe)(\"Something_Went_Wrong\")} \r\n ${Pipe(ResourcePipe)(\r\n \"Please_Contact_Support\"\r\n )} (ReferenceId: ${referenceId})`\r\n );\r\n setWorkflowInProgress(false);\r\n setShowSubmitLoader(false);\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }),\r\n tap(() => {\r\n count -= 1;\r\n })\r\n )\r\n .subscribe();\r\n };\r\n\r\n /**\r\n * Validate the request before sending it.\r\n * @returns\r\n */\r\n const isValidRequest = (): boolean => {\r\n if (!!publisherName && !!accountType && !addressDetailsValidated) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n /**\r\n * Create request body for enrollment.\r\n * @returns\r\n */\r\n const createRequestBody = (): any => {\r\n let telNumParts = contactInfo[FormControlNames.intlPhone].split(\":\");\r\n let companyApproverTelPart =\r\n companyApproverInfo[FormControlNames.intlPhone].split(\":\");\r\n return {\r\n accountType: accountType,\r\n publisherName: publisherName,\r\n primaryContact: {\r\n firstName: contactInfo[FormControlNames.primaryContactFirstName],\r\n lastName: contactInfo[FormControlNames.primaryContactLastName],\r\n email: contactInfo[FormControlNames.primaryContactEmail],\r\n phoneNumber: {\r\n countryCode: telNumParts[0],\r\n areaCode: telNumParts[1],\r\n phoneNumber: telNumParts[2],\r\n },\r\n },\r\n companyApproverContact:\r\n accountType === IdentityType.Business\r\n ? {\r\n firstName:\r\n companyApproverInfo[FormControlNames.primaryContactFirstName],\r\n lastName:\r\n companyApproverInfo[FormControlNames.primaryContactLastName],\r\n email: companyApproverInfo[FormControlNames.primaryContactEmail],\r\n phoneNumber: {\r\n countryCode: companyApproverTelPart[0],\r\n areaCode: companyApproverTelPart[1],\r\n phoneNumber: companyApproverTelPart[2],\r\n },\r\n }\r\n : null,\r\n website: contactInfo[FormControlNames.supportWebsite],\r\n preferredEmailLanguage:\r\n contactInfo[FormControlNames.preferredEmailLanguage],\r\n address: {\r\n country: addressInfo[FormControlNames.country],\r\n city: addressInfo[FormControlNames.city],\r\n state: addressInfo[FormControlNames.state],\r\n addressLine1: addressInfo[FormControlNames.addressLine1],\r\n addressLine2: addressInfo[FormControlNames.addressLine2],\r\n postalCode: addressInfo[FormControlNames.postalCode],\r\n },\r\n taxId: contactInfo[FormControlNames.taxId],\r\n isNewAadAccount: false,\r\n applicationReferenceId: externalSystemReferenceId,\r\n };\r\n };\r\n\r\n /**\r\n * Create request body for enrollment for unified flows\r\n * @returns\r\n */\r\n const createUnifiedRequestBody = (): any => {\r\n let telNumParts = contactInfo[FormControlNames.intlPhone].split(\":\");\r\n return {\r\n ...addressInfo,\r\n ...contactInfo,\r\n ...(sellerId > 0 ? { accountId: sellerId.toString() } : {}),\r\n accountType:\r\n accountType === IdentityType.Business ? \"organization\" : \"individual\",\r\n companyName: publisherName,\r\n publisherName,\r\n website: contactInfo[FormControlNames.supportWebsite],\r\n preferredEmailLanguage:\r\n contactInfo[FormControlNames.preferredEmailLanguage],\r\n primaryContactPhone: telNumParts.join(\" \"),\r\n registrationId: contactInfo[FormControlNames.taxId],\r\n additionalContacts:\r\n accountType === IdentityType.Business\r\n ? createCompanyApproverContactPayload()\r\n : [],\r\n };\r\n };\r\n\r\n const createCompanyApproverContactPayload = (): any => {\r\n let companyApproverTelPart =\r\n companyApproverInfo[FormControlNames.intlPhone].split(\":\");\r\n return [\r\n {\r\n type: \"CompanyApprover\",\r\n firstName:\r\n companyApproverInfo[FormControlNames.primaryContactFirstName],\r\n lastName: companyApproverInfo[FormControlNames.primaryContactLastName],\r\n email: companyApproverInfo[FormControlNames.primaryContactEmail],\r\n phone: companyApproverTelPart.join(\" \"),\r\n },\r\n ];\r\n };\r\n\r\n /**\r\n * on change of publisher name.\r\n * @param param0\r\n */\r\n const onPublisherNameChange = ({\r\n publisherName: { value: name, valid },\r\n }: Dictionary<IFormControl>) => {\r\n setPublisherNameValid(valid);\r\n setPublisherName(name);\r\n };\r\n\r\n /**\r\n * on address validated.\r\n * @param valid\r\n */\r\n const onAddressValidated = (valid: boolean) => {\r\n setAddressDetailsValidated(valid);\r\n };\r\n\r\n /**\r\n * On contact address change.\r\n * @param formValue\r\n */\r\n const onAddressChanged = (formValue: IFormValue) => {\r\n setAddressDetailsFormValid(formValue.valid);\r\n setAddressInfo(formValue.value);\r\n };\r\n\r\n /**\r\n * On AVS address change.\r\n * @param selectedAddress\r\n */\r\n const onAvsAddressChanged = (selectedAddress: IOnAvsAddressSelectedPopup) => {\r\n setAddressInfo({\r\n [FormControlNames.addressLine1]: selectedAddress.address.addressLine1,\r\n [FormControlNames.addressLine2]: selectedAddress.address.addressLine2,\r\n [FormControlNames.city]: selectedAddress.address.city,\r\n [FormControlNames.country]: selectedAddress.address.country,\r\n [FormControlNames.postalCode]: selectedAddress.address.postalCode,\r\n [FormControlNames.state]: selectedAddress.address.region,\r\n });\r\n };\r\n\r\n const onContactDetailsChange = (formValue: IFormValue) => {\r\n setContactDetailsValid(formValue.valid);\r\n setContactInfo(formValue.value);\r\n };\r\n\r\n /**\r\n * Method used to update the state for company info\r\n * @param formValue\r\n */\r\n const onCompanyApproverChange = (formValue: IFormValue) => {\r\n setCompanyApproverDetailsValid(formValue.valid);\r\n setCompanyApproverInfo(formValue.value);\r\n };\r\n\r\n /**\r\n * method is used to disable the agree and continue button.\r\n * @returns\r\n */\r\n const isDisabled = () => {\r\n if (pageHasError) {\r\n return true;\r\n }\r\n if (showNextPage) {\r\n return !(\r\n publisherNameValid &&\r\n contactDetailsValid &&\r\n addressDetailsFormValid &&\r\n addressDetailsValidated &&\r\n (accountType === IdentityType.Business\r\n ? companyApproverDetailsValid\r\n : true)\r\n );\r\n } else {\r\n return !(addressInfo[FormControlNames.country] && accountType);\r\n }\r\n };\r\n\r\n return (\r\n <RedirectionGuard guard={redirectionGuardMsa(programsToEnroll)}>\r\n {showLoader ? (\r\n <Loader size=\"large\" fullScreen={true} blockOperation={true} />\r\n ) : (\r\n <FlexPageWrapper>\r\n <Header title={Pipe(ResourcePipe)(\"MsaEnrollment_Title\")} />\r\n {!showNextPage ? (\r\n <>\r\n <div className=\"row\">\r\n <div className=\"col-xs-12\">\r\n <FormControlCountry\r\n data-testid=\"country-dropdown\"\r\n label=\"MSA_Account_Country_Label\"\r\n supportedCountries={\r\n ALL_SUPPORTED_COUNTRY_CODES_FOR_DEVELOPER_PROGRAMS\r\n }\r\n value={addressInfo[FormControlNames.country]}\r\n onChange={onCountryChange}\r\n disabled={\r\n !!addressInfo[FormControlNames.country] && sellerId > 0\r\n }\r\n />\r\n </div>\r\n </div>\r\n <p className=\"spacer-xs-top\">\r\n {Pipe(ResourcePipe, ReactStringReplacePipe)(\r\n \"MSA_Country_Field_Description\",\r\n {\r\n countryFaqLink: (\r\n <Anchor\r\n className=\"spacer-xxs-left\"\r\n href={EXTERNAL_ROUTES.COUNTRY_FAQ_LINK}\r\n target=\"_blank\"\r\n >\r\n {Pipe(ResourcePipe)(\"Common_FAQ\")}\r\n </Anchor>\r\n ),\r\n }\r\n )}\r\n </p>\r\n <AccountTypeSelection\r\n value={accountType}\r\n onChange={onAccountTypeChange}\r\n disableCompany={ProgramsUtility.isMsaCompanyBlocked(\r\n programsToEnroll[0]\r\n )}\r\n editable={!(!!accountType && sellerId > 0)}\r\n />\r\n </>\r\n ) : (\r\n <>\r\n <p className=\"spacer-md-top\">\r\n {Pipe(ResourcePipe)(\"MSA_Account_Information_Description\")}\r\n </p>\r\n {isPaymentSupported && (\r\n <RegistrationPrice\r\n accountType={accountType}\r\n country={addressInfo[FormControlNames.country]}\r\n programName={programsToEnroll[0]}\r\n />\r\n )}\r\n <div className=\"row\">\r\n <div className=\"col-xs-24\">\r\n <FormControlPublisherName\r\n value={publisherName}\r\n sellerId={sellerId}\r\n country={addressInfo[FormControlNames.country]}\r\n onChange={onPublisherNameChange}\r\n />\r\n </div>\r\n </div>\r\n <p className=\"spacer-sm-top\">\r\n {Pipe(ResourcePipe)(\"MSA_Publisher_Name_Description\")}\r\n </p>\r\n <h3 className=\"spacer-md-top\">\r\n {Pipe(ResourcePipe)(\"Common_Contact_Address\")}\r\n </h3>\r\n <p className=\"spacer-xxs-top\">\r\n {Pipe(ResourcePipe)(\"Common_Contact_Address_Description\")}\r\n </p>\r\n <div className={`${classes[\"avs-wrapper\"]}`}>\r\n <AvsComponent\r\n value={addressInfo}\r\n supportedCountries={[addressInfo[FormControlNames.country]]}\r\n disabledFields={[FormControlNames.country]}\r\n shouldValidate={true}\r\n onAddressValidated={onAddressValidated}\r\n onAddressChanged={onAvsAddressChanged}\r\n onChange={onAddressChanged}\r\n />\r\n </div>\r\n <h3 className=\"spacer-md-top\">\r\n {Pipe(ResourcePipe)(\"Common_Contact_Details\")}\r\n </h3>\r\n <p className=\"spacer-xxs-top\">\r\n {Pipe(ResourcePipe)(\"Common_Contact_Details_Description\")}\r\n </p>\r\n {accountType === IdentityType.Business && (\r\n <p className=\"spacer-xs-top\">\r\n <InnerHtml>\r\n {Pipe(ResourcePipe)(\"Common_Contact_Details_Warning\")}\r\n </InnerHtml>\r\n </p>\r\n )}\r\n <DeveloperContactFormComponent\r\n accountType={accountType}\r\n countryCode={addressInfo[FormControlNames.country]}\r\n programsToEnroll={programsToEnroll}\r\n value={contactInfo}\r\n onChange={onContactDetailsChange}\r\n />\r\n <CompanyApproverFormComponent\r\n value={companyApproverInfo}\r\n accountType={accountType}\r\n countryCode={addressInfo[FormControlNames.country]}\r\n onChange={onCompanyApproverChange}\r\n />\r\n <TestAttribute name=\"enrollment-form-agreement-text-description\">\r\n {\r\n <> \r\n <hr className=\"spacer-ml-top\"></hr>\r\n <h3 className=\"spacer-md-top spacer-xs-bottom font-weight-bold\">\r\n {Pipe(ResourcePipe)(\"Accept_Agreement_Title\")}\r\n </h3>\r\n <InnerHtml>\r\n {Pipe(ResourcePipe)(\"Accept_Agreement_Description_MSA\")}\r\n </InnerHtml>\r\n <ProgramAgreementsComponent\r\n programsToEnroll={programsToEnroll}\r\n ></ProgramAgreementsComponent>\r\n </>\r\n }\r\n </TestAttribute>\r\n </>\r\n )}\r\n <div\r\n className={`spacer-sm-top ${\r\n showNextPage ? \"flex-space-between\" : \"justify-content-flex-end\"\r\n }`}\r\n >\r\n {showNextPage && (\r\n <button type=\"button\" className=\"btn\" onClick={onClickBack}>\r\n {Pipe(ResourcePipe)(\"Common_Back\")}\r\n </button>\r\n )}\r\n <TestAttribute name=\"enrollment-form-next-button\">\r\n <div className=\"flex\">\r\n {showSubmitLoader && (\r\n <TestAttribute name=\"enrollment-form-loader\">\r\n <Loader\r\n blockOperation={true}\r\n className=\"remove-all-margin spacer-xxs-right\"\r\n />\r\n </TestAttribute>\r\n )}\r\n <button\r\n disabled={\r\n isDisabled() || workflowInProgress || showSubmitLoader\r\n }\r\n onClick={onClickNext}\r\n className=\"btn btn-primary\"\r\n >\r\n {Pipe(ResourcePipe)(\r\n showNextPage ? \"Accept_And_Continue\" : \"Common_Next\"\r\n )}\r\n </button>\r\n </div>\r\n </TestAttribute>\r\n </div>\r\n {errorMessage && (\r\n <AlertError key={errorMessage}>{errorMessage}</AlertError>\r\n )}\r\n {showWorkflowAcceptedMessage === true ? (\r\n <MessageBar\r\n className=\"spacer-ms-top\"\r\n messageBarType={MessageBarType.success}\r\n isMultiline={false}\r\n >\r\n {Pipe(ResourcePipe)(\"WorkflowAcceptedConfirmationMessage\")}\r\n </MessageBar>\r\n ) : null}\r\n </FlexPageWrapper>\r\n )}\r\n </RedirectionGuard>\r\n );\r\n};\r\n\r\nexport default withRouter(EnrollNowMsaRoute as any);\r\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeWhile(predicate, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var result = predicate(value, index++);\n (result || inclusive) && subscriber.next(value);\n !result && subscriber.complete();\n }));\n });\n}\n//# sourceMappingURL=takeWhile.js.map","import { operate } from '../util/lift';\nexport function finalize(callback) {\n return operate(function (source, subscriber) {\n try {\n source.subscribe(subscriber);\n }\n finally {\n subscriber.add(callback);\n }\n });\n}\n//# sourceMappingURL=finalize.js.map","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime, intervalOrScheduler, scheduler) {\n if (dueTime === void 0) { dueTime = 0; }\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n var intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable(function (subscriber) {\n var due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n var n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n//# sourceMappingURL=timer.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { timer } from './timer';\nexport function interval(period, scheduler) {\n if (period === void 0) { period = 0; }\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n if (period < 0) {\n period = 0;\n }\n return timer(period, period, scheduler);\n}\n//# sourceMappingURL=interval.js.map","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avs-wrapper\":\"enrollnow-msa-module__avs-wrapper___7e337\"};"],"sourceRoot":""}