{"version":3,"sources":["component/routes/mpnassociation/mpn-association-title/mpn-association-title.tsx","component/routes/mpnassociation/mpn-support-agreement/mpn-support-agreement.tsx","component/routes/mpnassociation/mpn-association-validation/mpn-support-validation.tsx","component/routes/mpnassociation/mpn-association-search/mpn-association-search.tsx","component/routes/mpnassociation/mpn-association.guard.ts","component/routes/mpnassociation/mpn-association.tsx","../../../src/components/message-bar/message-bar.styles.ts","../../../src/components/message-bar/message-bar.ts"],"names":["MpnAssociationTitleComponent","_ref","programToEnroll","_jsx","_Fragment","children","className","Pipe","ResourcePipe","ReactStringReplacePipe","ProgramsUtility","getMpnAssociationDescription","learnMoreLink","Anchor","href","EXTERNAL_ROUTES","MANAGE_LOCATIONS_DOC_LINK","target","MpnSupportAgreement","React","Component","render","_jsxs","undefined","this","props","mpnSupportAgreementResponse","TransformPipe","mpnId","agreementState","agreementEndDate","AlertError","InnerHtml","MpnAssociationDuplicateValidationCheck","hasAssociatedEnrollments","legalBusinessName","initialState","mpnAssociationData","currentValue","searchTerm","error","searchError","searchPlaceHolderText","showLoader","isSearchFinished","showRequestAssocationLoader","disableContinue","showFetchSupportAgreementLoader","showSupportAgreementStatus","showMpnAssociationChangeWarningMessage","showMPNIdAssociationUniquenesStatus","showMPNIdAssociationUniquenesLoader","disableContinueOnMPNUniqueCheckValidation","isPartnerEnrolledToProgram","isInvitedPlaIdMismatch","scope","createScope","reactInstance","MessageBar","forReact","messageBar","HarmonyButton","button","MpnAssociationSearchClass","constructor","arguments","_plaAccounts","_pgaAccounts","state","inHouseMpnIdAssociations","invitedPlaId","inviteId","onSearchTextChange","setState","dispatch","enrollInCsp","searchString","Number","isNaN","searchMpn","ServerData","countryCode","isPartnerEnrolledIntoReseller","programStatus","PROGRAM_NAME","RESELLER","toLowerCase","enrollmentState","StoreUtility","getState","programsToEnroll","hasProgramInTheList","filterPLAAccounts","response","filterData","length","filter","account","accountTypeName","AccountTypeName","PartnerLocation","filterPGAAccounts","PartnerGlobal","getPGADetails","pgaAccount","companyName","city","country","a","join","showMPNAssociationChangeMessage","selectAssociatedMpnId","blockUserOnSelectingNotInvitedPLA","hasFlight","FLIGHT_NAME","EnableInvitedPLAValidation","associatedMpnId","getPGAMpnId","getMpnIdSupportAgreementStatus","MpnEnrollmentService","fetchMpnIdSupportAgreement","then","isAgreementPresent","finally","onMpnIdSelected","event","value","ENABLE_PX_ACC_EXP_BRAVOS_INTEGRATION","validateMPNIdAssociations","_tableHeaders","optionKey","heading","renderer","_","index","Radio","id","concat","checked","onChange","onRequestAssociationButtonClick","populateCompanyInformationAndNavigate","AccountsService","getAccounts","typeName","Tenant","tenatAccount","MpnAssociationService","associateMpnId","mpnIdToAssociate","err","setMpnAssocationError","_this$inHouseMpnIdAss","selectedMpnData","find","mpnAssItem","islegalEntityFixFlightEnabled","EnableLegalEntityRelationFixByTenant","EnableLegalEntityRelationFix","_selectedMpnData$enro","isCompanyDetailsFromTenantDetail","some","mpnData","enrollInMpn","updateAddressToEnroll","FormControlNames","postalCode","setDisableDunsSearch","setIsLegalEntityReadonly","enrollmentStatus","standalone","window","location","ACCOUNT_SETTINGS","Navigation","navigate","INTERNAL_ROUTES","ENROLLMENT_MPN","step","onSkipForNowButtonClick","validateAssociatedEnrollmentsBasedOnMpnAndProgram","programEnrollmentStatus","programNames","_enrollmentState$prog","enableContinueOnMPNUniqueCheckValidation","programEnrollmentStatusInLowerCase","map","status","programNamesInLowerCase","name","forEach","programName","enrollmentStatusForProgram","includes","hasProgramInList","validateMpnAssociations","ProgramService","getPartnerProgramEnrollments","subscribe","next","Object","entries","_programNamesInLowerC","_programEnrollmentSta","key","programKey","complete","showSearchError","initialSearch","getMpnAssociation","_this$_plaAccounts","Array","isArray","setSearchError","selectedPlaAccount","catch","correlationId","_ServerData$mpnIdAsso","_ServerData$mpnIdAsso2","EnableMPNIdAssociationValidation","mpnIdAssociationUniqueValidationConfiguration","mpnAssociationUniqueValidationRequest","ValidateAssociatedEnrollmentsForMPNID","exception","_response$associatedE","associatedEnrollments","_associatedEnrollment","accountId","tenantId","errorCode","IErrorCode","UnsupportedCountry","INVALID_MPN_ID","InvalidSearch","message","setMpnIdAssociation","setSearchPlaceHolderTextForMpnId","getOrganizationName","setSearchPlaceHolderText","ProfileService","getOrganizationProfile","organizationProfileResponse","organizationName","componentDidMount","inviteStore","isMpnAssociationMandatory","_this$props$state$enr","enrollment","_this$props$state$enr2","isMpnSearchAllowed","SearchBox","placeholder","changeOnEnter","Loader","fullScreen","blockOperation","Table","headers","type","rows","sortable","TestAttribute","expandable","open","role","expanded","appearance","currentProgramName","getDisplayName","CREATE_WORK_ACCOUNT_GLOBAL_REDIRECT","style","styles","external","Button","onClick","disabled","MpnAssociationSearchComponent","connect","EnrollInCspActionCreator","setMpnIdToAssociate","setSearchString","disableDunsSearch","address","EnrollInMpnActionCreator","isReadonly","redirectionGuard","isStandalone","condition","Promise","resolve","isMpnAssociationSupported","to","ENROLLMENT","showPageLoader","Wrapper","guard","RedirectionGuard","FlexPageWrapper","MpnAssociationComponentClass","_mpnId","_programsToEnroll","isPostQualifiedCpv","programStatuses","keys","CONTROL_PANEL_VENDOR","ProgramStatus","Qualified","Active","setPreLoadData","mpnAssocationResponse","isCpv","tenantMpnId","mpnIds","globalMpnId","fetchPreLoadData","size","Header","title","getMpnAssociationTitle","withRouter","CanvasText","opacity","transform","close","closeTimeout","hasSlotController","scopedEventName","baseName","direction","transitionSpeed","noCloseButton","duration","iconName","multiline","visible","_direction","dir","getIconName","setMultiline","classList","toggle","super","connectedCallback","initResizeObserver","firstUpdated","startDuration","updateComplete","resizeObserver","unobserve","disconnect","disconnectedCallback","clearTimeout","setTimeout","hide","messageContainer","offsetWidth","clientHeight","messageContent","ResizeObserver","observe","focus","originalTrigger","findRootNode","activeElement","show","base","keyFrames","easing","emitAfterShow","emitAfterHide","test","tag","handleSlotChange","toggleExpand","localize","term","reactEvents","onHeReady","CustomEvent","onHeMessageBarShow","onHeMessageBarAfterShow","onHeMessageBarHide","onHeMessageBarAfterHide","onHeShow","onHeAfterShow","onHeHide","onHeAfterHide","attribute","Boolean","reflect","e","waitUntilFirstUpdate"],"mappings":"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","file":"en-us/dashboard/account/exp/staticres/static/js/19.3802f6f0.chunk.js","sourcesContent":["import React from \"react\";\r\nimport { Pipe, ReactStringReplacePipe, ResourcePipe } from \"../../../../pipes\";\r\nimport { Anchor } from \"../../../reusables\";\r\nimport { EXTERNAL_ROUTES } from \"../../../../constants\";\r\nimport { ProgramsUtility } from \"../../../../utility\";\r\n\r\ntype IPropType = {\r\n    programToEnroll: string;\r\n};\r\n\r\nexport const MpnAssociationTitleComponent: React.FC<IPropType> = ({ programToEnroll }) => {\r\n    return (\r\n        <>\r\n            <p className=\"spacer-xs-bottom\">\r\n                {Pipe(ResourcePipe, ReactStringReplacePipe)(ProgramsUtility.getMpnAssociationDescription(programToEnroll), {\r\n                    learnMoreLink: (\r\n                        <Anchor href={EXTERNAL_ROUTES.MANAGE_LOCATIONS_DOC_LINK} target=\"_blank\">\r\n                            {Pipe(ResourcePipe)(\"Common_LearnMore\")}\r\n                        </Anchor>\r\n                    )\r\n                })}\r\n            </p>\r\n            {/* <p className=\"spacer-xs-bottom\">\r\n                <InnerHtml>\r\n                    {Pipe(ResourcePipe, TransformPipe)(\"MPN_ASSOCIATION__PARAGRAPH_3\")}\r\n                </InnerHtml>\r\n            </p> */}\r\n        </>\r\n    );\r\n};","import React from \"react\";\r\nimport {MpnSupportAgreementResponse} from \"../../../../models/mpn/mpn-support-agreement.model\";\r\nimport { Pipe, ResourcePipe, TransformPipe } from \"../../../../pipes\";\r\nimport { InnerHtml } from \"../../../hoc\";\r\nimport { AlertError } from \"../../../reusables\";\r\n\r\ntype IPropType = {\r\n    mpnId: string;\r\n    mpnSupportAgreementResponse: MpnSupportAgreementResponse | undefined\r\n};\r\n\r\nexport class MpnSupportAgreement extends React.Component<IPropType> {\r\n\r\n    render() {\r\n       return ( <> \r\n        <h6 className=\"spacer-md-top font-weight-600 font-size-14\">\r\n               {Pipe(ResourcePipe)(\"View_MPN_Association_ASfP_PSfP_Title\")}\r\n        </h6>\r\n       {  this.props.mpnSupportAgreementResponse !== undefined ? (\r\n         <div className=\"spacer-ms-top\">\r\n              <p>\r\n                {Pipe(ResourcePipe, TransformPipe)(\"View_MPN_Support_Agreement_Msg\",\r\n                      {\r\n                        mpnId:this.props.mpnId,\r\n                      }\r\n                )} \r\n              </p>\r\n              <p>{Pipe(ResourcePipe)(\"Common__Contract_Status\")} : {this.props.mpnSupportAgreementResponse.agreementState}</p>\r\n              <p>{Pipe(ResourcePipe)(\"Common__Agreement_End_Date\")} : {this.props.mpnSupportAgreementResponse.agreementEndDate}</p>\r\n            </div>\r\n          ):\r\n            <div className=\"spacer-ms-top\">\r\n                 <>\r\n                  <AlertError>\r\n                    {Pipe(ResourcePipe, TransformPipe)(\"View_MPN_Association_Support_Agreement_Error\",\r\n                      {\r\n                        mpnId:this.props.mpnId,\r\n                      }\r\n                    )}\r\n                  </AlertError> \r\n                  <p>\r\n                    <InnerHtml>\r\n                      {Pipe(ResourcePipe, TransformPipe)(\"View_MPN_Association_Support_Agreement_Error_1\")}\r\n                    </InnerHtml>    \r\n                  </p>\r\n                </>\r\n            </div>\r\n          }\r\n       </>)\r\n    }\r\n}\r\n","import React from \"react\";\r\nimport { Pipe, ResourcePipe, TransformPipe } from \"../../../../pipes\";\r\nimport { AlertError } from \"../../../reusables\";\r\n\r\ntype IPropType = {\r\n  mpnId: string;\r\n  legalBusinessName: string;\r\n  hasAssociatedEnrollments: boolean | undefined;\r\n};\r\n\r\nexport class MpnAssociationDuplicateValidationCheck extends React.Component<IPropType> {\r\n  render() {\r\n    return (\r\n      <>\r\n        {this.props.hasAssociatedEnrollments && (\r\n          <div className=\"spacer-ms-top\">\r\n            <>\r\n              <p>\r\n                <AlertError>\r\n                  {Pipe(ResourcePipe, TransformPipe)(\r\n                    \"View_MPN_Association_Error\",\r\n                    {\r\n                      legalBusinessName: this.props.legalBusinessName,\r\n                    }\r\n                  )}\r\n                </AlertError>\r\n              </p>\r\n            </>\r\n          </div>\r\n        )}\r\n      </>\r\n    );\r\n  }\r\n}\r\n","/**\r\n * @description the Mpn association module wrapper\r\n */\r\n\r\nimport React, { Dispatch } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n  Pipe,\r\n  ReactStringReplacePipe,\r\n  ResourcePipe,\r\n  TransformPipe,\r\n} from \"../../../../pipes\";\r\nimport {\r\n  ITableHeader,\r\n  Radio,\r\n  SearchBox,\r\n  Table,\r\n  Loader,\r\n  AlertError,\r\n  FormControlNames,\r\n  Anchor,\r\n  Button,\r\n} from \"../../../reusables\";\r\nimport {\r\n  Account,\r\n  ApiError,\r\n  Dictionary,\r\n  IErrorCode,\r\n  IProgramMetadata,\r\n  MpnAssociationData,\r\n  MPNIdAssociationSearchRequest,\r\n  MpnSupportAgreementResponse,\r\n  OrganizationProfile,\r\n  MPNIdAssociationSearchResponse,\r\n} from \"../../../../models\";\r\nimport { ProgramsUtility, ServerData, StoreUtility } from \"../../../../utility\";\r\nimport {\r\n  AccountsService,\r\n  MpnAssociationService,\r\n  MpnEnrollmentService,\r\n  ProfileService,\r\n  ProgramService,\r\n} from \"../../../../services\";\r\nimport {\r\n  AccountTypeName,\r\n  EXTERNAL_ROUTES,\r\n  FLIGHT_NAME,\r\n  INTERNAL_ROUTES,\r\n  PROGRAM_NAME,\r\n} from \"../../../../constants\";\r\nimport {\r\n  EnrollInCspActionCreator,\r\n  EnrollInMpnActionCreator,\r\n  IReduxAction,\r\n  RootState,\r\n  TEnrollInCspState,\r\n  TEnrollmentState,\r\n} from \"../../../../store\";\r\nimport { Navigation } from \"../../router\";\r\nimport { MpnSupportAgreement } from \"../mpn-support-agreement/mpn-support-agreement\";\r\nimport { TestAttribute } from \"src/component/hoc\";\r\nimport { createScope, messageBar, button } from \"@harmony/enablers/react\";\r\nimport { CSSProperties } from \"@harmony/enablers/react/scope-for-react\";\r\nimport { MpnAssociationDuplicateValidationCheck } from \"../mpn-association-validation\";\r\nimport mpn from \"../../enrollnow/mpn\";\r\nimport { TInviteState } from \"src/store/invitation\";\r\n\r\ntype IPropType = {\r\n  initialSearch: boolean;\r\n  mpnId: string;\r\n  selectAssociatedMpnId: string;\r\n  isMpnSearchAllowed: boolean;\r\n  programStatus: Dictionary<string>;\r\n  state: {\r\n    enrollment: Partial<TEnrollmentState>;\r\n    enrollInCsp: Partial<TEnrollInCspState>;\r\n  };\r\n  dispatch: {\r\n    enrollInCsp: Dictionary<(...args: any[]) => void>;\r\n    enrollInMpn: Dictionary<(...args: any[]) => void>;\r\n  };\r\n} & Partial<{\r\n  standalone: boolean;\r\n}>;\r\n\r\n// TODO to remove this interface later\r\ninterface IMpnAssocationSearchComponentState {\r\n  mpnAssociationData: MpnAssociationData[];\r\n  currentValue: string;\r\n  searchTerm: string;\r\n  error: string | \"\";\r\n  searchError: string | \"\";\r\n  searchPlaceHolderText: string | \"\";\r\n  showLoader: boolean;\r\n  isSearchFinished: boolean;\r\n  showRequestAssocationLoader: boolean;\r\n  disableContinue: boolean;\r\n  showFetchSupportAgreementLoader: boolean;\r\n  showSupportAgreementStatus: boolean;\r\n  mpnSupportAgreementResponse: MpnSupportAgreementResponse | undefined;\r\n  showMpnAssociationChangeWarningMessage: boolean;\r\n  showMPNIdAssociationUniquenesStatus: boolean;\r\n  showMPNIdAssociationUniquenesLoader: boolean;\r\n  disableContinueOnMPNUniqueCheckValidation: boolean;\r\n  isPartnerEnrolledToProgram: boolean;\r\n  isInvitedPlaIdMismatch: boolean;\r\n}\r\n\r\nconst initialState: IMpnAssocationSearchComponentState = {\r\n  mpnAssociationData: [],\r\n  currentValue: \"\",\r\n  searchTerm: \"\",\r\n  error: \"\",\r\n  searchError: \"\",\r\n  searchPlaceHolderText: \"\",\r\n  showLoader: false,\r\n  isSearchFinished: false,\r\n  showRequestAssocationLoader: false,\r\n  disableContinue: true,\r\n  showFetchSupportAgreementLoader: false,\r\n  showSupportAgreementStatus: false,\r\n  mpnSupportAgreementResponse: undefined,\r\n  showMpnAssociationChangeWarningMessage: false,\r\n  showMPNIdAssociationUniquenesStatus: false,\r\n  showMPNIdAssociationUniquenesLoader: false,\r\n  disableContinueOnMPNUniqueCheckValidation: true,\r\n  isPartnerEnrolledToProgram: false,\r\n  isInvitedPlaIdMismatch: false,\r\n};\r\n\r\nconst scope = createScope({\r\n  reactInstance: React,\r\n});\r\n\r\nconst MessageBar = scope.forReact(messageBar);\r\nconst HarmonyButton = scope.forReact(button);\r\n\r\nexport class MpnAssociationSearchClass extends React.Component<\r\n  IPropType,\r\n  typeof initialState\r\n> {\r\n  private static styles: {\r\n    [key: string]: React.CSSProperties;\r\n  } = {\r\n    button: {\r\n      \"--he-font-size-medium\": \"1em\",\r\n      \"--he-form-control-height-small\": \"1.4em\",\r\n    } as React.CSSProperties,\r\n  };\r\n\r\n  private _plaAccounts: MpnAssociationData[] = [];\r\n  private _pgaAccounts: MpnAssociationData[] = [];\r\n  state = initialState;\r\n  private inHouseMpnIdAssociations: MpnAssociationData[] = [];\r\n  private invitedPlaId: string | undefined;\r\n  private inviteId: string | undefined;\r\n\r\n  /**\r\n   * @description This method save the searched key in the state.\r\n   * @method onSearchTextChange\r\n   */\r\n  private onSearchTextChange = (searchTerm: string): void => {\r\n    if (searchTerm) {\r\n      this.setState({\r\n        searchTerm,\r\n        error: \"\",\r\n        showMpnAssociationChangeWarningMessage: false,\r\n        showMPNIdAssociationUniquenesStatus: false,\r\n        isInvitedPlaIdMismatch: false\r\n      });\r\n      this.props.dispatch.enrollInCsp.searchString(searchTerm);\r\n      if (searchTerm !== \"\") {\r\n        this._plaAccounts = [];\r\n        this._pgaAccounts = [];\r\n        const mpnId = Number(searchTerm);\r\n        if (isNaN(mpnId)) {\r\n          this.searchMpn(undefined, searchTerm, ServerData.countryCode, true);\r\n        } else {\r\n          this.searchMpn(searchTerm, undefined, undefined, true);\r\n        }\r\n      }\r\n    }\r\n  };\r\n\r\n  /**\r\n   * Method is used to check if the partner, is enrolled into reseller or looking to partner\r\n   * into reseller\r\n   * @returns\r\n   */\r\n  private isPartnerEnrolledIntoReseller = (): boolean => {\r\n    if (!this.props.programStatus[PROGRAM_NAME.RESELLER.toLowerCase()]) {\r\n      const enrollmentState = StoreUtility.getState(\r\n        \"enrollment\"\r\n      ) as TEnrollmentState;\r\n      return !!(\r\n        enrollmentState?.programsToEnroll &&\r\n        ProgramsUtility.hasProgramInTheList(\r\n          enrollmentState.programsToEnroll,\r\n          PROGRAM_NAME.RESELLER.toLowerCase()\r\n        )\r\n      );\r\n    }\r\n    return true;\r\n  };\r\n\r\n  private filterPLAAccounts = (\r\n    response?: MpnAssociationData[]\r\n  ): MpnAssociationData[] => {\r\n    const filterData = response || this.state.mpnAssociationData;\r\n    if (filterData && filterData.length) {\r\n      this._plaAccounts = filterData.filter(\r\n        (account) => account.accountTypeName === AccountTypeName.PartnerLocation\r\n      );\r\n      return this._plaAccounts;\r\n    }\r\n    return [];\r\n  };\r\n\r\n  private filterPGAAccounts = (\r\n    response?: MpnAssociationData[]\r\n  ): MpnAssociationData[] => {\r\n    const filterData = response || this.state.mpnAssociationData;\r\n    if (filterData && filterData.length) {\r\n      this._pgaAccounts = filterData.filter(\r\n        (account) => account.accountTypeName === AccountTypeName.PartnerGlobal\r\n      );\r\n      return this._pgaAccounts;\r\n    }\r\n    return [];\r\n  };\r\n\r\n  private getPGADetails = (): string => {\r\n    const pgaAccount = this.filterPGAAccounts();\r\n    if (pgaAccount && pgaAccount.length > 0) {\r\n      return [\r\n        pgaAccount[0].companyName,\r\n        pgaAccount[0].city,\r\n        pgaAccount[0].state,\r\n        pgaAccount[0].country,\r\n      ]\r\n        .filter((a) => !!a)\r\n        .join(\", \");\r\n    }\r\n    return \"\";\r\n  };\r\n\r\n  private showMPNAssociationChangeMessage = (): void => {\r\n    if (\r\n      this.props.selectAssociatedMpnId &&\r\n      this.state.currentValue &&\r\n      this.props.selectAssociatedMpnId !== this.state.currentValue\r\n    ) {\r\n      this.setState({ showMpnAssociationChangeWarningMessage: true });\r\n    } else {\r\n      this.setState({ showMpnAssociationChangeWarningMessage: false });\r\n    }\r\n  };\r\n\r\n  private blockUserOnSelectingNotInvitedPLA = (): void => {\r\n    if (this.invitedPlaId && ServerData.hasFlight(FLIGHT_NAME.EnableInvitedPLAValidation)) {\r\n      let associatedMpnId = this.state.currentValue && this.state.currentValue !== '' ? this.state.currentValue : this.props.selectAssociatedMpnId;\r\n      if (\r\n        associatedMpnId &&\r\n        this.invitedPlaId !== associatedMpnId\r\n      ) {\r\n        this.setState({ isInvitedPlaIdMismatch: true });\r\n      } else {\r\n        this.setState({ isInvitedPlaIdMismatch: false });\r\n      }\r\n    }\r\n  };\r\n\r\n  private getPGAMpnId = (): string | undefined => {\r\n    const pgaAccount = this.filterPGAAccounts();\r\n    if (pgaAccount && pgaAccount.length > 0) {\r\n      return pgaAccount[0].mpnId;\r\n    }\r\n    return \"\";\r\n  };\r\n\r\n  private getMpnIdSupportAgreementStatus = (mpnId: string): void => {\r\n    MpnEnrollmentService.fetchMpnIdSupportAgreement(mpnId)\r\n      .then((response: MpnSupportAgreementResponse) => {\r\n        if (response?.isAgreementPresent) {\r\n          this.setState({\r\n            mpnSupportAgreementResponse: response,\r\n          });\r\n        }\r\n      })\r\n      .finally(() => {\r\n        this.setState({\r\n          disableContinue: false,\r\n          showFetchSupportAgreementLoader: false,\r\n        });\r\n      });\r\n  };\r\n\r\n  private onMpnIdSelected = (\r\n    event: React.ChangeEvent<HTMLInputElement>\r\n  ): void => {\r\n    this.setState(\r\n      {\r\n        currentValue: event.target.value,\r\n        mpnSupportAgreementResponse: undefined,\r\n        showSupportAgreementStatus: false,\r\n        showMPNIdAssociationUniquenesStatus: false,\r\n        showMPNIdAssociationUniquenesLoader: false,\r\n        showMpnAssociationChangeWarningMessage: false,\r\n        isInvitedPlaIdMismatch: false,\r\n      },\r\n      () => {\r\n        if (\r\n          this.isPartnerEnrolledIntoReseller() &&\r\n          ServerData.hasFlight(FLIGHT_NAME.ENABLE_PX_ACC_EXP_BRAVOS_INTEGRATION)\r\n        ) {\r\n          this.setState(\r\n            {\r\n              showSupportAgreementStatus: true,\r\n              showFetchSupportAgreementLoader: true,\r\n              disableContinue: true,\r\n            },\r\n            () => {\r\n              this.getMpnIdSupportAgreementStatus(this.state.currentValue);\r\n            }\r\n          );\r\n        } else {\r\n          this.setState({\r\n            disableContinue: false,\r\n          });\r\n        }\r\n        if (this.inviteId) {\r\n          this.blockUserOnSelectingNotInvitedPLA();\r\n        }\r\n        this.validateMPNIdAssociations(this.state.currentValue);\r\n      }\r\n    );\r\n  };\r\n\r\n  private _tableHeaders: ITableHeader[] = [\r\n    {\r\n      optionKey: \"mpnId\",\r\n      heading: \"\",\r\n      renderer: (value: string, _, index) => (\r\n        <Radio\r\n          id={`mpn-id-selection-${index}`}\r\n          value={value}\r\n          className=\"spacer-xs-right\"\r\n          checked={value === this.state.currentValue}\r\n          onChange={this.onMpnIdSelected}\r\n        />\r\n      ),\r\n    },\r\n    {\r\n      optionKey: \"companyName\",\r\n      heading: Pipe(ResourcePipe)(\"Common_CompanyName\"),\r\n    },\r\n    {\r\n      optionKey: \"inlineAddress\",\r\n      heading: Pipe(ResourcePipe)(\"Common_Address\"),\r\n    },\r\n    {\r\n      optionKey: \"mpnId\",\r\n      heading: Pipe(ResourcePipe)(\"Mpn_AssociationList_TableHeader_MpnId\"),\r\n    },\r\n  ];\r\n\r\n  private onRequestAssociationButtonClick = (): void => {\r\n    if (!this.state.currentValue) {\r\n      return;\r\n    }\r\n    this.setState(\r\n      {\r\n        showRequestAssocationLoader: true,\r\n        disableContinue: true,\r\n        error: \"\",\r\n      },\r\n      () => {\r\n        if (this.state.currentValue === this.props.selectAssociatedMpnId) {\r\n          this.populateCompanyInformationAndNavigate();\r\n        } else {\r\n          AccountsService.getAccounts({ typeName: AccountTypeName.Tenant })\r\n            .then((tenatAccount: Account[]) => {\r\n              if (tenatAccount && tenatAccount.length > 0) {\r\n                return MpnAssociationService.associateMpnId(\r\n                  this.state.currentValue\r\n                );\r\n              }\r\n\r\n              this.props.dispatch.enrollInCsp.mpnIdToAssociate(\r\n                this.state.currentValue\r\n              );\r\n\r\n              return null;\r\n            })\r\n            .then(\r\n              () => {\r\n                this.populateCompanyInformationAndNavigate();\r\n              },\r\n              (err: ApiError) => {\r\n                const error = this.setMpnAssocationError(err);\r\n                this.setState({\r\n                  showRequestAssocationLoader: false,\r\n                  error,\r\n                });\r\n              }\r\n            );\r\n        }\r\n      }\r\n    );\r\n  };\r\n\r\n  private populateCompanyInformationAndNavigate = () => {\r\n    const selectedMpnData = this.state.mpnAssociationData.find(\r\n      (mpnAssItem) => mpnAssItem.mpnId === this.state.currentValue\r\n    );\r\n\r\n    const islegalEntityFixFlightEnabled =\r\n      ServerData.hasFlight(FLIGHT_NAME.EnableLegalEntityRelationFixByTenant) &&\r\n      ServerData.hasFlight(FLIGHT_NAME.EnableLegalEntityRelationFix);\r\n\r\n    if (\r\n      islegalEntityFixFlightEnabled &&\r\n      this.props.state.enrollInCsp.isCompanyDetailsFromTenantDetail &&\r\n      selectedMpnData &&\r\n      this.inHouseMpnIdAssociations?.some(\r\n        (mpnData) => mpnData.mpnId === selectedMpnData?.mpnId\r\n      )\r\n    ) {\r\n      this.props.dispatch.enrollInMpn.updateAddressToEnroll({\r\n        [FormControlNames.companyName]: selectedMpnData.companyName,\r\n        [FormControlNames.country]: selectedMpnData.country,\r\n        [FormControlNames.state]: selectedMpnData.state,\r\n        [FormControlNames.city]: selectedMpnData.city,\r\n        [FormControlNames.postalCode]: selectedMpnData.postalCode,\r\n      });\r\n    }\r\n\r\n    if (!islegalEntityFixFlightEnabled && selectedMpnData) {\r\n      this.props.dispatch.enrollInMpn.updateAddressToEnroll({\r\n        [FormControlNames.companyName]: selectedMpnData.companyName,\r\n        [FormControlNames.country]: selectedMpnData.country,\r\n        [FormControlNames.state]: selectedMpnData.state,\r\n        [FormControlNames.city]: selectedMpnData.city,\r\n        [FormControlNames.postalCode]: selectedMpnData.postalCode,\r\n      });\r\n    }\r\n\r\n    if (\r\n      islegalEntityFixFlightEnabled &&\r\n      !this.props.state.enrollInCsp.isCompanyDetailsFromTenantDetail\r\n    ) {\r\n      this.props.dispatch.enrollInCsp.setDisableDunsSearch(true);\r\n      this.props.dispatch.enrollInMpn.setIsLegalEntityReadonly(true);\r\n    } else {\r\n      if (selectedMpnData?.enrollmentStatus?.toLowerCase() === \"active\") {\r\n        this.props.dispatch.enrollInMpn.setIsLegalEntityReadonly(true);\r\n      } else {\r\n        this.props.dispatch.enrollInMpn.setIsLegalEntityReadonly(false);\r\n      }\r\n    }\r\n\r\n    if (this.props.standalone) {\r\n      window.location.href = EXTERNAL_ROUTES.ACCOUNT_SETTINGS;\r\n    } else {\r\n      Navigation.navigate(this.props, INTERNAL_ROUTES.ENROLLMENT_MPN, {\r\n        state: {\r\n          step:\r\n            islegalEntityFixFlightEnabled &&\r\n            this.props.state.enrollInCsp.isCompanyDetailsFromTenantDetail\r\n              ? 0\r\n              : 1,\r\n        },\r\n      });\r\n    }\r\n  };\r\n\r\n  private onSkipForNowButtonClick = (): void => {\r\n    Navigation.navigate(this.props, INTERNAL_ROUTES.ENROLLMENT_MPN);\r\n  };\r\n\r\n  private validateMPNIdAssociations(mpnId: string) {\r\n    if (ServerData.hasFlight(FLIGHT_NAME.EnableMPNIdAssociationValidation)) {\r\n      this.setState({\r\n        showMPNIdAssociationUniquenesStatus: true,\r\n        showMPNIdAssociationUniquenesLoader: true,\r\n      });\r\n\r\n      this.validateAssociatedEnrollmentsBasedOnMpnAndProgram(\r\n        mpnId,\r\n        ServerData?.mpnIdAssociationUniqueValidationConfiguration\r\n          ?.programEnrollmentStatus,\r\n        ServerData?.mpnIdAssociationUniqueValidationConfiguration?.programName\r\n      );\r\n    } else {\r\n      this.enableContinueOnMPNUniqueCheckValidation();\r\n    }\r\n  }\r\n\r\n  private enableContinueOnMPNUniqueCheckValidation() {\r\n    this.showMPNAssociationChangeMessage();\r\n    this.setState({\r\n      disableContinueOnMPNUniqueCheckValidation: false,\r\n      showMPNIdAssociationUniquenesLoader: false,\r\n    });\r\n  }\r\n\r\n  \r\n  private validateAssociatedEnrollmentsBasedOnMpnAndProgram = (\r\n    mpnId: string,\r\n    programEnrollmentStatus: string[] | undefined,\r\n    programNames: string[] | undefined\r\n  ): void => {\r\n    if (!programEnrollmentStatus || !programNames) {\r\n      this.enableContinueOnMPNUniqueCheckValidation();\r\n      return;\r\n    }\r\n    let programEnrollmentStatusInLowerCase: string[];\r\n    if (programEnrollmentStatus) {\r\n      programEnrollmentStatusInLowerCase = programEnrollmentStatus.map(\r\n        (status) => status.toLowerCase()\r\n      );\r\n    }\r\n    let programNamesInLowerCase: string[] = [];\r\n    if (programNames) {\r\n      programNamesInLowerCase = programNames.map((name) => name.toLowerCase());\r\n    }\r\n    const enrollmentState = StoreUtility.getState(\r\n      \"enrollment\"\r\n    ) as TEnrollmentState;\r\n\r\n    let isPartnerEnrolledToProgram = false;\r\n    if (enrollmentState?.programsToEnroll?.length && this.props.programStatus) {\r\n      programNamesInLowerCase.forEach((programName) => {\r\n        let enrollmentStatusForProgram =\r\n          this.props.programStatus[programName.toLowerCase()];\r\n        if (\r\n          enrollmentStatusForProgram &&\r\n          programEnrollmentStatusInLowerCase.includes(\r\n            enrollmentStatusForProgram.toLowerCase()\r\n          )\r\n        ) {\r\n          isPartnerEnrolledToProgram = true;\r\n          return;\r\n        } else {\r\n          let hasProgramInList = ProgramsUtility.hasProgramInTheList(\r\n            enrollmentState.programsToEnroll,\r\n            programName.toLowerCase()\r\n          );\r\n          isPartnerEnrolledToProgram =\r\n            hasProgramInList || isPartnerEnrolledToProgram;\r\n        }\r\n      });\r\n      this.setState({\r\n        isPartnerEnrolledToProgram: isPartnerEnrolledToProgram,\r\n      });\r\n      this.validateMpnAssociations(\r\n        mpnId,\r\n        programEnrollmentStatus,\r\n        programNames\r\n      );\r\n    } else {\r\n      ProgramService.getPartnerProgramEnrollments(false).subscribe({\r\n        next: (response) => {\r\n          isPartnerEnrolledToProgram = Object.entries(response).some(\r\n            ([key, status]) => {\r\n              const programKey = key.toLowerCase();\r\n              const enrollmentStatus = status as string;\r\n              if (\r\n                programNamesInLowerCase?.includes(programKey) &&\r\n                enrollmentStatus &&\r\n                programEnrollmentStatusInLowerCase?.includes(\r\n                  enrollmentStatus.toLowerCase()\r\n                )\r\n              ) {\r\n                return true;\r\n              }\r\n              return false;\r\n            }\r\n          );\r\n        },\r\n        error: (error) => {},\r\n        complete: () => {\r\n          this.setState({\r\n            isPartnerEnrolledToProgram: isPartnerEnrolledToProgram,\r\n          });\r\n          this.validateMpnAssociations(\r\n            mpnId,\r\n            programEnrollmentStatus,\r\n            programNames\r\n          );\r\n        },\r\n      });\r\n    }\r\n  };\r\n\r\n  private validateMpnAssociations(\r\n    mpnId: string,\r\n    programEnrollmentStatus: string[],\r\n    programNames: string[]\r\n  ) {\r\n    let mpnAssociationUniqueValidationRequest: MPNIdAssociationSearchRequest = {\r\n      mpnId: mpnId,\r\n      programEnrollmentStatus: programEnrollmentStatus,\r\n      programNames: programNames,\r\n    };\r\n    MpnAssociationService.ValidateAssociatedEnrollmentsForMPNID(\r\n      mpnAssociationUniqueValidationRequest\r\n    )\r\n      .then((response: MPNIdAssociationSearchResponse) => {\r\n        if (\r\n          response &&\r\n          this.hasAssociatedEnrollments(response) &&\r\n          this.state.isPartnerEnrolledToProgram\r\n        ) {\r\n          this.setState({\r\n            disableContinueOnMPNUniqueCheckValidation: true,\r\n            showMpnAssociationChangeWarningMessage: false,\r\n          });\r\n        } else {\r\n          this.enableContinueOnMPNUniqueCheckValidation();\r\n        }\r\n      })\r\n      .catch((exception) => {\r\n        this.setState({\r\n          disableContinueOnMPNUniqueCheckValidation: false,\r\n        });\r\n      })\r\n      .finally(() => {\r\n        this.setState({\r\n          showMPNIdAssociationUniquenesStatus: true,\r\n          showMPNIdAssociationUniquenesLoader: false,\r\n        });\r\n      });\r\n  }\r\n\r\n  private hasAssociatedEnrollments(\r\n    response: MPNIdAssociationSearchResponse\r\n  ): boolean {\r\n    if (response?.associatedEnrollments?.length) {\r\n      let associatedEnrollments = response.associatedEnrollments[0];\r\n      let accountId = associatedEnrollments?.account?.accountId;\r\n      if (ServerData?.tenantId !== accountId) {\r\n        return true;\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n\r\n\r\n  private setMpnAssocationError(error: ApiError): string {\r\n    if (error && error.errorCode) {\r\n      switch (error.errorCode) {\r\n        case IErrorCode.UnsupportedCountry: {\r\n          return \"MpnAssociation_UnsupportedCountryError\";\r\n        }\r\n        case IErrorCode.INVALID_MPN_ID: {\r\n          return \"MpnAssociation_InvalidMpnIdError\";\r\n        }\r\n        case IErrorCode.InvalidSearch: {\r\n          return \"MpnAssociation_InvalidSearchError\";\r\n        }\r\n        default: {\r\n          return error.message;\r\n        }\r\n      }\r\n    }\r\n    return error.message;\r\n  }\r\n\r\n  private searchMpn = (\r\n    mpnId?: string,\r\n    companyName?: string,\r\n    country?: string,\r\n    showSearchError?: boolean,\r\n    initialSearch?: boolean\r\n  ): void => {\r\n    this.setState(\r\n      {\r\n        showLoader: true,\r\n        currentValue: \"\",\r\n        mpnAssociationData: [],\r\n        searchError: \"\",\r\n        error: \"\",\r\n        showSupportAgreementStatus: false,\r\n        disableContinue: true,\r\n        showMPNIdAssociationUniquenesStatus: false,\r\n        isInvitedPlaIdMismatch: false,\r\n      },\r\n      () => {\r\n        MpnAssociationService.getMpnAssociation({\r\n          mpnId,\r\n          companyName,\r\n          countryCode: country,\r\n        })\r\n          .then((response: MpnAssociationData[]) => {\r\n            if (\r\n              Array.isArray(response) &&\r\n              response.length === 0 &&\r\n              showSearchError\r\n            ) {\r\n              this.setState({ searchError: this.setSearchError() });\r\n            }\r\n            if (initialSearch) {\r\n              this.inHouseMpnIdAssociations = response;\r\n            }\r\n            this.filterPLAAccounts(response);\r\n            this.filterPGAAccounts(response);\r\n            const selectedPlaAccount = this._plaAccounts?.find(\r\n              (account) => account.mpnId === this.props.selectAssociatedMpnId\r\n            );\r\n            this.setState({\r\n              mpnAssociationData: response,\r\n              isSearchFinished: true,\r\n              showLoader: false,\r\n              currentValue: selectedPlaAccount?.mpnId || \"\",\r\n              disableContinue: !selectedPlaAccount?.mpnId,\r\n            });\r\n            \r\n            if (this.inviteId) {\r\n              this.blockUserOnSelectingNotInvitedPLA();\r\n            }\r\n          })\r\n          .catch((err: ApiError) => {\r\n            this.setState({\r\n              isSearchFinished: true,\r\n              showLoader: false,\r\n              error: Pipe(ResourcePipe, TransformPipe)(\r\n                \"Mpn_Association_Generic_Error\",\r\n                {\r\n                  correlationId: err.correlationId,\r\n                }\r\n              ),\r\n            });\r\n          });\r\n      }\r\n    );\r\n  };\r\n\r\n  private setSearchError(): string {\r\n    if (this.state.searchTerm !== \"\") {\r\n      return Pipe(ResourcePipe)(\"Mpn_Association_Not_Found\");\r\n    }\r\n\r\n    return Pipe(ResourcePipe)(\"MpnAssociation_InvalidMpnIdError\");\r\n  }\r\n\r\n  private setMpnIdAssociation(mpnId: string): void {\r\n    // If tenant MPNId exists, its update flow.\r\n    // By default start a search with the existing MPN Id so that user can select another location within the same VORG.\r\n    if (mpnId) {\r\n      this.setSearchPlaceHolderTextForMpnId(mpnId);\r\n      this.searchMpn(mpnId, undefined, undefined, undefined, true);\r\n    } else {\r\n      this.getOrganizationName();\r\n    }\r\n  }\r\n\r\n  private setSearchPlaceHolderTextForMpnId(mpnId: string): void {\r\n    const setSearchPlaceHolderText =\r\n      this.props.selectAssociatedMpnId === \"\" ||\r\n      this.props.selectAssociatedMpnId === undefined\r\n        ? mpnId\r\n        : this.props.selectAssociatedMpnId;\r\n\r\n    this.setState({ searchPlaceHolderText: setSearchPlaceHolderText });\r\n  }\r\n\r\n  private getOrganizationName(): void {\r\n    ProfileService.getOrganizationProfile().then(\r\n      (organizationProfileResponse: OrganizationProfile) => {\r\n        if (organizationProfileResponse) {\r\n          let organizationName = \"\";\r\n          organizationName = organizationProfileResponse.companyName;\r\n          // Start a search with the organization name if exists.\r\n          if (organizationName) {\r\n            this.setState({ searchPlaceHolderText: organizationName });\r\n            this.searchMpn(undefined, organizationName, ServerData.countryCode);\r\n          }\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  componentDidMount() {\r\n    if (this.props.initialSearch) {\r\n      this.setMpnIdAssociation(this.props.mpnId);\r\n      if (this.props.selectAssociatedMpnId) {\r\n        this.validateMPNIdAssociations(this.props.selectAssociatedMpnId);\r\n      }\r\n    }\r\n    if (\r\n      ServerData.hasFlight(FLIGHT_NAME.EnableLegalEntityRelationFixByTenant) &&\r\n      ServerData.hasFlight(FLIGHT_NAME.EnableLegalEntityRelationFix)\r\n    ) {\r\n      this.props.dispatch.enrollInCsp.setDisableDunsSearch(false);\r\n      this.props.dispatch.enrollInMpn.setIsLegalEntityReadonly(false);\r\n    }\r\n    \r\n    const inviteStore = StoreUtility.getState(\"invite\") as TInviteState;\r\n    if (inviteStore) {\r\n      this.invitedPlaId = inviteStore.invitedPlaId;\r\n      this.inviteId = inviteStore.inviteId;\r\n      if (this.inviteId && this.props.selectAssociatedMpnId) {\r\n        this.blockUserOnSelectingNotInvitedPLA();\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  private isMpnAssociationMandatory() {\r\n    if (this.props.standalone) return true;\r\n\r\n    return (\r\n      ProgramsUtility.isMpnAssociationMandatory(\r\n        this.props.state.enrollment.programsToEnroll?.[0] || \"\"\r\n      ) || this.props.selectAssociatedMpnId\r\n    );\r\n  }\r\n\r\n  render() {\r\n    return (\r\n      <>\r\n        {this.props.isMpnSearchAllowed && (\r\n          <>\r\n            <label className=\"form-label required font-weight-600 font-size-14\">\r\n              {Pipe(ResourcePipe)(\"Mpn_Association_Search_Placeholder\")}\r\n            </label>\r\n            <SearchBox\r\n              placeholder={Pipe(ResourcePipe)(this.state.searchPlaceHolderText)}\r\n              onChange={this.onSearchTextChange}\r\n              changeOnEnter={true}\r\n            />\r\n            {this.state.searchError && (\r\n              <div className=\"spacer-xs-top\">\r\n                {Pipe(ResourcePipe)(this.state.searchError)}\r\n              </div>\r\n            )}\r\n          </>\r\n        )}\r\n        {this._plaAccounts.length > 0 && (\r\n          <>\r\n            <h6 className=\"spacer-md-top font-weight-600 font-size-14\">\r\n              {Pipe(ResourcePipe)(\"Mpn_Association_Select_Location\")}\r\n            </h6>\r\n            {this._pgaAccounts.length > 0 && (\r\n              <div className=\"spacer-ms-top font-size-14\">\r\n                {this.getPGADetails()}\r\n                <span className=\"spacer-xxs-left\">\r\n                  ({Pipe(ResourcePipe)(\"Partner_Id\")}: {this.getPGAMpnId()})\r\n                </span>\r\n              </div>\r\n            )}\r\n          </>\r\n        )}\r\n        <div className=\"spacer-ms-top\">\r\n          {this.state.showLoader && (\r\n            <Loader fullScreen={false} blockOperation={true} />\r\n          )}\r\n          {this._plaAccounts.length > 0 && (\r\n            <Table\r\n              headers={this._tableHeaders}\r\n              type=\"basic\"\r\n              rows={this._plaAccounts}\r\n              sortable={true}\r\n            />\r\n          )}\r\n        </div>\r\n\r\n        {!this.state.showLoader &&\r\n          this.state.isInvitedPlaIdMismatch && (\r\n            <div className=\"spacer-ms-top \">\r\n              <TestAttribute name=\"messagebar\">\r\n                <MessageBar\r\n                  expandable={true}\r\n                  open={true}\r\n                  role=\"status\"\r\n                  expanded={true}\r\n                  appearance=\"warning\"\r\n                >\r\n                  {Pipe(ResourcePipe, ReactStringReplacePipe)(\r\n                    \"MpnAssociationChangeWarningWithNotInvitedPlaId\",\r\n                    {\r\n                      invitedPlaId: this.invitedPlaId,\r\n                    }\r\n                  )}\r\n                </MessageBar>\r\n              </TestAttribute>\r\n            </div>\r\n          )}\r\n\r\n        {this.state.showMpnAssociationChangeWarningMessage && (\r\n          <div className=\"spacer-ms-top \">\r\n            <TestAttribute name=\"messagebar\">\r\n              <MessageBar\r\n                expandable={true}\r\n                open={true}\r\n                role=\"status\"\r\n                expanded={true}\r\n                appearance=\"warning\"\r\n              >\r\n                {Pipe(ResourcePipe, ReactStringReplacePipe)(\r\n                  \"mpnAssociationChangeWarning\",\r\n                  {\r\n                    mpnId: this.props.selectAssociatedMpnId,\r\n                    currentProgramName: Pipe(ResourcePipe)(\r\n                      ProgramsUtility.getDisplayName(\r\n                        this.props.state.enrollment.programsToEnroll?.[0] || \"\"\r\n                      )\r\n                    ),\r\n                  }\r\n                )}\r\n                <HarmonyButton\r\n                  appearance=\"link\"\r\n                  href={EXTERNAL_ROUTES.CREATE_WORK_ACCOUNT_GLOBAL_REDIRECT}\r\n                  style={\r\n                    MpnAssociationSearchClass.styles.button as CSSProperties\r\n                  }\r\n                  target=\"_blank\"\r\n                  external\r\n                >\r\n                  {Pipe(ResourcePipe)(\"Create_New_Entra_Tenant\")}\r\n                </HarmonyButton>\r\n              </MessageBar>\r\n            </TestAttribute>\r\n          </div>\r\n        )}\r\n\r\n        {this.state.showSupportAgreementStatus &&\r\n          !this.state.showFetchSupportAgreementLoader && (\r\n            <MpnSupportAgreement\r\n              mpnId={this.state.currentValue}\r\n              mpnSupportAgreementResponse={\r\n                this.state.mpnSupportAgreementResponse\r\n              }\r\n            />\r\n          )}\r\n\r\n        {this.state.showMPNIdAssociationUniquenesStatus &&\r\n          !this.state.showMPNIdAssociationUniquenesLoader && (\r\n            <MpnAssociationDuplicateValidationCheck\r\n              mpnId={this.state.currentValue}\r\n              hasAssociatedEnrollments={\r\n                this.state.disableContinueOnMPNUniqueCheckValidation\r\n              }\r\n              legalBusinessName=\"\"\r\n            />\r\n          )}\r\n\r\n        {\r\n          (this.state.showMPNIdAssociationUniquenesLoader ||\r\n          this.state.showFetchSupportAgreementLoader) && (\r\n          <Loader fullScreen={false} blockOperation={true} />\r\n        )}\r\n\r\n        <div className=\"spacer-lg-top text-align-right\">\r\n          <div>\r\n            {!this.isMpnAssociationMandatory() && (\r\n              <Button\r\n                className=\"btn-link text-align-left\"\r\n                onClick={this.onSkipForNowButtonClick}\r\n              >\r\n                {Pipe(ResourcePipe)(\"Common_Skip_For_Now\")}\r\n              </Button>\r\n            )}\r\n            <Button\r\n              className=\"btn-primary\"\r\n              onClick={this.onRequestAssociationButtonClick}\r\n              disabled={\r\n                this.state.disableContinue ||\r\n                this.state.disableContinueOnMPNUniqueCheckValidation ||\r\n                this.state.isInvitedPlaIdMismatch\r\n              }\r\n            >\r\n              {Pipe(ResourcePipe)(\"Common_Continue\")}\r\n            </Button>\r\n          </div>\r\n        </div>\r\n        {this.state.showRequestAssocationLoader && (\r\n          <div className=\"flex flex-space-between spacer-ms-top\">\r\n            <div>\r\n              <Loader fullScreen={false} blockOperation={true} />\r\n            </div>\r\n          </div>\r\n        )}\r\n        {this.state.disableContinue && this.state.error && (\r\n          <div className=\"spacer-md-top\">\r\n            <AlertError>{Pipe(ResourcePipe)(this.state.error)}</AlertError>\r\n          </div>\r\n        )}\r\n      </>\r\n    );\r\n  }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch<IReduxAction>) => {\r\n  return {\r\n    dispatch: {\r\n      enrollInCsp: {\r\n        mpnIdToAssociate: (mpnId: string) =>\r\n          dispatch(EnrollInCspActionCreator.setMpnIdToAssociate(mpnId)),\r\n        searchString: (searchString: any) =>\r\n          dispatch(EnrollInCspActionCreator.setSearchString(searchString)),\r\n        setDisableDunsSearch: (disableDunsSearch: boolean) =>\r\n          dispatch(\r\n            EnrollInCspActionCreator.setDisableDunsSearch(disableDunsSearch)\r\n          ),\r\n      },\r\n      enrollInMpn: {\r\n        updateAddressToEnroll: (address: Dictionary<string>) =>\r\n          dispatch(EnrollInMpnActionCreator.updateAddressToEnroll(address)),\r\n        setIsLegalEntityReadonly: (isReadonly: boolean) =>\r\n          dispatch(\r\n            EnrollInMpnActionCreator.setIsLegalEntityReadonly(isReadonly)\r\n          ),\r\n      },\r\n    },\r\n  };\r\n};\r\n\r\nconst mapStateToProps = (state: RootState) => {\r\n  return {\r\n    state: {\r\n      enrollment: {\r\n        programsToEnroll: state.enrollment.programsToEnroll,\r\n      },\r\n      enrollInCsp: {\r\n        isCompanyDetailsFromTenantDetail:\r\n          state.enrollInCsp.isCompanyDetailsFromTenantDetail,\r\n      },\r\n    },\r\n  };\r\n};\r\n\r\nexport const MpnAssociationSearchComponent = connect(\r\n  mapStateToProps,\r\n  mapDispatchToProps\r\n)(MpnAssociationSearchClass);\r\n","/**\r\n * @description the guard methods for Mpn Association view.\r\n */\r\nimport { INTERNAL_ROUTES } from \"../../../constants\";\r\nimport { IRedirectionGuardCondition } from \"../../hoc\";\r\nimport { ProgramsUtility } from \"../../../utility\";\r\n\r\nexport function redirectionGuard(programToEnroll: string[], isStandalone: boolean = false): IRedirectionGuardCondition[] {\r\n    return [\r\n        {\r\n            condition: Promise.resolve(\r\n                !ProgramsUtility.isMpnAssociationSupported(programToEnroll[0]) && !isStandalone\r\n            ),\r\n            to: INTERNAL_ROUTES.ENROLLMENT\r\n        }\r\n    ];\r\n}","/**\r\n * @description the duns form container\r\n */\r\nimport React from \"react\";\r\nimport { withRouter } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport { AccountTypeName, ProgramStatus, PROGRAM_NAME } from \"../../../constants\";\r\nimport { Pipe, ResourcePipe, TransformPipe } from \"../../../pipes\";\r\nimport { ApiError, Dictionary } from \"../../../models\";\r\nimport { Header, Loader, AlertError, FlexPageWrapper } from \"../../reusables\";\r\nimport { IRedirectionGuardCondition, RedirectionGuard, TestAttribute } from \"../../hoc\";\r\nimport { IFetchPreLoadData, MpnAssociationService } from \"../../../services\";\r\nimport { MpnAssociationTitleComponent } from \"./mpn-association-title\";\r\nimport { MpnAssociationSearchComponent } from \"./mpn-association-search\";\r\nimport { RootState, TEnrollmentState } from \"../../../store\";\r\nimport { redirectionGuard } from \"./mpn-association.guard\";\r\nimport { ProgramsUtility } from \"../../../utility\";\r\n\r\ntype IPropType = {\r\n    state: {\r\n        enrollment: Partial<TEnrollmentState>\r\n    };\r\n    history: any;\r\n} & Partial<{\r\n    standalone: boolean;\r\n}>;\r\n\r\nconst initialState = {\r\n    initialSearch: false,\r\n    mpnId: \"\",\r\n    selectAssociatedMpnId: \"\",\r\n    programStatus: {} as Dictionary<string>,\r\n    error: \"\",\r\n    showPageLoader: false,\r\n    isMpnSearchAllowed: false\r\n};\r\n\r\ntype IWrapperProp = Partial<{\r\n    standalone: boolean;\r\n    guard: IRedirectionGuardCondition | IRedirectionGuardCondition[];\r\n}>;\r\n\r\nconst Wrapper: React.FC<IWrapperProp> = ({guard=[], standalone = false, children}) => {\r\n    return standalone ? <>{children}</> : (\r\n        <RedirectionGuard guard={guard}>\r\n            <FlexPageWrapper>\r\n                {children}\r\n            </FlexPageWrapper>\r\n        </RedirectionGuard>\r\n    );\r\n};\r\n\r\nexport class MpnAssociationComponentClass extends React.Component<IPropType, typeof initialState>{\r\n    private _mpnId: string = \"\";\r\n    private _programsToEnroll: string[] = [];\r\n    state = initialState;\r\n\r\n    private isPostQualifiedCpv(programStatuses: Dictionary<string>): boolean {\r\n        if (Object.keys(programStatuses).length > 0) {\r\n            if (programStatuses[PROGRAM_NAME.CONTROL_PANEL_VENDOR.toLowerCase()] === ProgramStatus.Qualified ||\r\n                programStatuses[PROGRAM_NAME.CONTROL_PANEL_VENDOR.toLowerCase()] === ProgramStatus.Active) {\r\n                return true;\r\n            } else {\r\n                return false;\r\n            }\r\n        }\r\n        return false;\r\n    }\r\n\r\n    private setPreLoadData(mpnAssocationResponse: IFetchPreLoadData): void {\r\n        const isCpv = this.isPostQualifiedCpv(mpnAssocationResponse.programStatus);\r\n        const tenantMpnId = mpnAssocationResponse.mpnIds[AccountTypeName.Tenant];\r\n        const globalMpnId = mpnAssocationResponse.mpnIds[AccountTypeName.PartnerGlobal];\r\n        // Mpn Id can be updated to only another one within the VOrg structure if a PGA exists or the account is post qualified CPV\r\n        if (globalMpnId || isCpv) {\r\n            if (!isCpv && tenantMpnId) {\r\n                this.setState({ isMpnSearchAllowed: true });\r\n                this._mpnId = tenantMpnId;\r\n            }\r\n            else {\r\n                // MPN ID update/Upgrade from MPN program to a higher level program\r\n                // Restrict within the VOrg structure if its a connected account with PGA MpnId.\r\n                // restrict user to select within the current V-Org and no search is allowed.\r\n                this.setState({ isMpnSearchAllowed: false });\r\n                this._mpnId = tenantMpnId || globalMpnId;\r\n            }\r\n        }\r\n        else {\r\n            this.setState({ isMpnSearchAllowed: true });\r\n            this._mpnId = tenantMpnId;\r\n        }\r\n    }\r\n\r\n    componentDidMount() {\r\n        const programsToEnroll = this.props.state.enrollment.programsToEnroll;\r\n        this._programsToEnroll = programsToEnroll ? programsToEnroll : [];\r\n        this.setState({ showPageLoader: true, error: \"\" },\r\n            () => {\r\n                MpnAssociationService.fetchPreLoadData()\r\n                    .then((mpnAssocationResponse: IFetchPreLoadData) => {\r\n                        this.setPreLoadData(mpnAssocationResponse);\r\n                        this.setState({\r\n                            programStatus: mpnAssocationResponse.programStatus,\r\n                            selectAssociatedMpnId: mpnAssocationResponse.mpnIds[AccountTypeName.Tenant],\r\n                            initialSearch: true,\r\n                            showPageLoader: false\r\n                        });\r\n                    }).catch((err: ApiError) => {\r\n                        this.setState({\r\n                            showPageLoader: false,\r\n                            error: Pipe(ResourcePipe, TransformPipe)(\"Mpn_Association_Generic_Error\", {\r\n                                correlationId: err.correlationId\r\n                            })\r\n                        })\r\n                    });\r\n            }\r\n        );\r\n    }\r\n\r\n    render() {\r\n        return (\r\n            <Wrapper standalone={this.props.standalone} guard={redirectionGuard(this._programsToEnroll, this.props.standalone)}>\r\n                {this.state.showPageLoader ? (\r\n                    <div className=\"text-align-center\">\r\n                        <Loader size=\"large\" fullScreen={false} blockOperation={true} />\r\n                    </div>\r\n                ) : (\r\n                    <>\r\n                        <TestAttribute name=\"mpn-association-title\">\r\n                            <Header title={ProgramsUtility.getMpnAssociationTitle(this._programsToEnroll[0])} />\r\n                        </TestAttribute>\r\n                        <MpnAssociationTitleComponent\r\n                            programToEnroll={this._programsToEnroll[0]} />\r\n                    </>\r\n                )}\r\n                {this.state.error && (\r\n                    <AlertError title={Pipe(ResourcePipe)(this.state.error)} />\r\n                )}\r\n                {!this.state.showPageLoader && (\r\n                    <div className=\"spacer-md-top\">\r\n                        <MpnAssociationSearchComponent\r\n                            {...this.props}\r\n                            programStatus= {this.state.programStatus}\r\n                            initialSearch={this.state.initialSearch}\r\n                            mpnId={this._mpnId}\r\n                            selectAssociatedMpnId={this.state.selectAssociatedMpnId}\r\n                            isMpnSearchAllowed={this.state.isMpnSearchAllowed} />\r\n                    </div>\r\n                )}\r\n            </Wrapper>\r\n        );\r\n    }\r\n}\r\n\r\nconst mapStateToProps = (state: RootState) => {\r\n    return {\r\n        state: {\r\n            enrollment: {\r\n                programsToEnroll: state.enrollment.programsToEnroll,\r\n            }\r\n        }\r\n    };\r\n}\r\n\r\nexport default connect(mapStateToProps)(withRouter(MpnAssociationComponentClass as any));","import { css } from 'lit';\nimport { SystemColors } from '../../utilities/system-colors.js';\n\nexport default css`\n  :host {\n    display: block;\n  }\n\n  /* Prevents margins users are putting on message bar from showing, except when message bar is open or animating. */\n  :host(.he-hidden) {\n    margin: 0 !important;\n  }\n\n  ::slotted([slot='actions']) .he-button {\n    height: var(--he-form-control-height-small) !important;\n    font-size: var(--he-font-size-medium) !important;\n    margin: 0 var(--he-spacing-2x-small);\n  }\n\n  .message-bar__wrapper {\n    overflow: hidden;\n  }\n\n  .message-bar {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    background-color: var(--he-color-surface-background);\n    font-weight: var(--he-font-weight-normal);\n    min-height: var(--he-form-control-height);\n    width: 100%;\n  }\n\n  .message-bar__content {\n    display: flex;\n    align-items: flex-start;\n    width: 100%;\n    line-height: var(--he-line-height-normal);\n  }\n\n  .message-bar-icon {\n    flex: 0;\n    font-size: var(--he-font-size-large);\n    min-width: var(--he-font-size-large);\n    min-height: var(--he-font-size-large);\n    margin-top: var(--he-spacing-x-small);\n    margin-inline-start: var(--he-spacing-small);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .message-bar__message-container {\n    flex: 1;\n    font-family: var(--he-body-font);\n    font-size: var(--he-font-size-small);\n    font-weight: var(--he-font-weight-normal);\n    line-height: var(--he-line-height-small);\n    margin: var(--he-spacing-x-small) var(--he-spacing-x-small);\n    display: flex;\n    min-width: 0px;\n  }\n\n  .message-bar--collapsed .message-bar__message-container {\n    max-height: var(--he-line-height-small);\n    overflow: hidden;\n  }\n\n  .message-bar--collapsed .message-bar__message-inner-container {\n    height: 100%;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .message-bar--expanded .message-bar__message-inner-container {\n    white-space: normal;\n    word-break: break-word;\n  }\n\n  .message-bar__actions {\n    flex: 0;\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n    height: var(--he-form-control-height);\n  }\n\n  .message-bar__button .he-icon {\n    font-size: var(--he-font-size-small);\n  }\n\n  .message-bar__footer {\n    display: none;\n  }\n\n  .message-bar--has-actions .message-bar__footer {\n    display: flex;\n    margin: var(--he-spacing-2x-small) var(--he-spacing-x-small);\n    justify-content: flex-end;\n  }\n\n  /* Appearance Styles */\n  .message-bar--info {\n    background-color: var(--he-color-neutral-100);\n  }\n\n  .message-bar--info .message-bar__button {\n    --button-background-color-hover: var(--he-color-neutral-200);\n    --button-background-color-active: var(--he-color-neutral-250);\n  }\n\n  .message-bar--notice {\n    background-color: var(--he-color-primary-100);\n  }\n\n  .message-bar--notice .message-bar-icon {\n    color: var(--he-color-neutral-700);\n  }\n\n  .message-bar--notice .message-bar__button {\n    --button-background-color-hover: var(--he-color-primary-200);\n    --button-background-color-active: var(--he-color-primary-300);\n  }\n\n  .message-bar--success {\n    background-color: var(--he-color-success-100);\n  }\n\n  .message-bar--success .message-bar-icon {\n    color: var(--he-color-success-700);\n  }\n\n  .message-bar--success .message-bar__button {\n    --button-background-color-hover: var(--he-color-success-200);\n    --button-background-color-active: var(--he-color-success-300);\n  }\n\n  .message-bar--warning {\n    background-color: var(--he-color-warning-100);\n  }\n\n  .message-bar--warning .message-bar__button {\n    --button-background-color-hover: var(--he-color-warning-200);\n    --button-background-color-active: var(--he-color-warning-300);\n  }\n\n  .message-bar--error {\n    background-color: var(--he-color-danger-100);\n  }\n\n  .message-bar--error .message-bar-icon {\n    color: var(--he-color-danger-700);\n  }\n\n  .message-bar--error .message-bar__button {\n    --button-background-color-hover: var(--he-color-danger-200);\n    --button-background-color-active: var(--he-color-danger-300);\n  }\n\n  /* High contrast */\n  @media screen and (forced-colors: active) {\n    .message-bar {\n      border: 1px solid ${SystemColors.CanvasText};\n    }\n\n    .message-bar-icon {\n      color: ${SystemColors.CanvasText};\n    }\n  }\n`;\n","import { html } from 'lit/static-html.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport { watch } from '../../internal/watch.js';\nimport { animateTo, stopAnimations } from '../../internal/animations.js';\nimport button from '../button/button.js';\nimport icon from '../icon/icon.js';\nimport HarmonyDismissibleElement from '../../base-components/dismissible.js';\nimport componentStyles from '../../internal/styles/component.styles.js';\nimport { Component } from '../../utilities/decorators.js';\nimport styles from './message-bar.styles.js';\n\nconst KEY_FRAMES = {\n  right: {\n    open: [\n      { opacity: 0, transform: 'translateX(100%)' },\n      { opacity: 1, transform: 'translateX(0)' },\n    ],\n    close: [\n      { opacity: 1, transform: 'translateX(0)' },\n      { opacity: 0, transform: 'translateX(100%)' },\n    ],\n  },\n  left: {\n    open: [\n      { opacity: 0, transform: 'translateX(-100%)' },\n      { opacity: 1, transform: 'translateX(0)' },\n    ],\n    close: [\n      { opacity: 1, transform: 'translateX(0)' },\n      { opacity: 0, transform: 'translateX(-100%)' },\n    ],\n  },\n};\n\n/**\n *\n * A message bar is a banner that displays errors, warnings, or important information. For example, if a file failed to upload an error message bar will appear.\n *\n * @tag he-message-bar\n * @since 2.1\n * @status stable\n * @figma https://www.figma.com/file/UvgzWQM5R18Lrs4VHs2UPd/Partner-Center-extended-toolkit?type=design&node-id=86%3A19294&mode=design&t=FrLbCdXM439ktBGm-1\n *\n * @slot - The message content of the message bar.\n * @slot icon - Optional icon to override the built-in icons.\n * @slot actions - Optional action buttons to display for the message bar.\n *\n * @event he-ready - Emitted when the component has completed its initial render.\n * @event he-message-bar-show - Emitted when the message bar is opened.\n * @event he-message-bar-after-show - Emitted after the message bar is opened and the transitions are complete.\n * @event he-message-bar-hide - Emitted when the message bar is closed.\n * @event he-message-bar-after-hide - Emitted after the message bar is closed and the transitions are complete.\n * @event he-show - (@deprecated) Use `he-message-bar-show` instead.\n * @event he-after-show - (@deprecated) Use `he-message-bar-after-show` instead.\n * @event he-hide - (@deprecated) Use `he-message-bar-hide` instead.\n * @event he-after-hide - (@deprecated) Use `he-message-bar-after-hide` instead.\n *\n * @csspart base - The component's base wrapper.\n * @csspart content - The \"content\" of the collapsed or single line message.\n * @csspart footer - The footer portion of the message only displayed when expanded.\n * @csspart icon - The icon of the message bar.\n * @csspart message - The base of the message portion of the bar.\n * @csspart actions - The base of the actions slot's content.\n *\n * @dependency he-button\n * @dependency he-icon\n */\n@Component('message-bar', [button, icon])\nexport class MessageBar extends HarmonyDismissibleElement {\n  static styles = [componentStyles, styles];\n  static reactEvents = {\n    onHeReady: new CustomEvent('he-ready'),\n    onHeMessageBarShow: new CustomEvent('he-message-bar-show'),\n    onHeMessageBarAfterShow: new CustomEvent('he-message-bar-after-show'),\n    onHeMessageBarHide: new CustomEvent('he-message-bar-hide'),\n    onHeMessageBarAfterHide: new CustomEvent('he-message-bar-after-hide'),\n    /** @deprecated Use `onHeMessageBarShow` instead. */\n    onHeShow: new CustomEvent('he-show'),\n    /** @deprecated Use `onHeMessageBarAfterShow` instead. */\n    onHeAfterShow: new CustomEvent('he-after-show'),\n    /** @deprecated Use `onHeMessageBarHide` instead. */\n    onHeHide: new CustomEvent('he-hide'),\n    /** @deprecated Use `onHeMessageBarAfterHide` instead. */\n    onHeAfterHide: new CustomEvent('he-after-hide'),\n  };\n\n  private resizeObserver: ResizeObserver;\n  private closeTimeout: null | number = null;\n  @query('.message-bar') private base?: HTMLElement;\n  @query('.message-bar__message-container') private messageContainer?: HTMLElement;\n  @query('.message-bar__message-inner-container') private messageContent?: HTMLElement;\n  private hasSlotController = new HasSlotController(this, '[default]', 'actions', 'icon');\n  private originalTrigger: HTMLElement | null;\n  protected scopedEventName = MessageBar.baseName;\n\n  /**\n   * The direction the message bar will open and close from.\n   *\n   * Note: \"right\" and \"left\" will be deprecated in a future version. Please use the logical properties \"end\" or\n   * \"start\", which are based on language direction.\n   */\n  @property() direction: 'end' | 'start' | 'right' | 'left' = 'end';\n\n  // direction converted to right or left based on direction\n  @state()\n  private get _direction() {\n    switch (this.direction) {\n      case 'start':\n        return this.dir === 'rtl' ? 'right' : 'left';\n      case 'end':\n        return this.dir === 'rtl' ? 'left' : 'right';\n      default:\n        return this.direction;\n    }\n  }\n\n  /** Indicates the transition speed for animations in ms. */\n  @property({ type: Number, attribute: 'transition-speed' }) transitionSpeed = 400;\n\n  /** Expands the message if it is a multi line message. */\n  @property({ type: Boolean, reflect: true }) expanded: boolean = false;\n\n  /** Hides the close button (message will still auto close). */\n  @property({ type: Boolean, reflect: true, attribute: 'no-close-button' }) noCloseButton: boolean = false;\n\n  /**\n   * The time in milliseconds before the message automatically closes. By default, the message bar will remain open\n   * indefinitely.\n   */\n  @property({ type: Number }) duration = Infinity;\n\n  /** Indicates the type and appearance of the message bar. */\n  @property() appearance: 'info' | 'notice' | 'success' | 'warning' | 'error' = 'info';\n\n  /** Allows developers to manually control the multiline behavior */\n  @property({ type: Boolean, reflect: true }) expandable?: boolean;\n\n  /** @internal watcher */\n  @watch('appearance')\n  handleAppearanceChange(oldValue: string, newValue: string) {\n    if (oldValue !== newValue) {\n      this.iconName = this.getIconName(newValue);\n    }\n  }\n\n  /** @internal watcher */\n  @watch('expandable')\n  handleExpandableChange() {\n    this.setMultiline();\n  }\n\n  @state()\n  private iconName: string = 'info';\n\n  @state()\n  private multiline: boolean = false;\n\n  @state()\n  private visible: boolean = false;\n\n  /** @internal watcher */\n  @watch('visible')\n  handleVisibleChange() {\n    this.classList.toggle('he-hidden', !this.visible);\n  }\n\n  connectedCallback() {\n    super.connectedCallback();\n    this.initResizeObserver();\n  }\n\n  firstUpdated() {\n    super.firstUpdated();\n\n    if (this.open) {\n      this.visible = true;\n      this.startDuration();\n      this.updateComplete.then(() => this.setMultiline());\n    } else {\n      this.visible = false;\n    }\n  }\n\n  disconnectedCallback() {\n    this.resizeObserver.unobserve(this);\n    this.resizeObserver.disconnect();\n    super.disconnectedCallback();\n  }\n\n  private get keyFrames() {\n    switch (this._direction) {\n      case 'left':\n        return KEY_FRAMES.left;\n      default:\n        return KEY_FRAMES.right;\n    }\n  }\n\n  private startDuration() {\n    // Reset the timer\n    if (this.closeTimeout) {\n      clearTimeout(this.closeTimeout);\n    }\n\n    if (this.duration > 0 && this.duration < Infinity) {\n      this.closeTimeout = window.setTimeout(() => {\n        if (this.open) {\n          this.hide();\n        }\n      }, this.duration);\n    }\n  }\n\n  private handleSlotChange() {\n    this.setMultiline();\n  }\n\n  private setMultiline() {\n    if (!this.open) return;\n\n    if (this.expandable !== undefined) {\n      this.multiline = this.expandable;\n    } else if (this.expanded) {\n      this.multiline = true;\n    } else {\n      const containerWidth = this.messageContainer?.offsetWidth || 0;\n      if (containerWidth === 0) return;\n\n      const containerHeight = this.messageContainer?.clientHeight || 0;\n      if (containerHeight === 0) return;\n\n      const contentWidth = this.messageContent?.offsetWidth || 0;\n      const contentHeight = this.messageContent?.clientHeight || 0;\n      const isTooWide = contentWidth >= containerWidth;\n      const isTooTall = contentHeight > containerHeight + 4;\n\n      this.multiline = isTooWide || isTooTall;\n    }\n  }\n\n  private initResizeObserver() {\n    this.resizeObserver = new ResizeObserver(() => this.setMultiline());\n    this.resizeObserver.observe(this);\n  }\n\n  /** Toggle the expanded attribute to expand or collapse multi line message. */\n  public toggleExpand() {\n    this.expanded = !this.expanded;\n\n    if (this.expanded) {\n      this.messageContent?.focus();\n    }\n  }\n\n  private getIconName(type: string) {\n    switch (type) {\n      case 'success':\n        return 'completed';\n      case 'warning':\n        return 'warning';\n      case 'error':\n        return 'errorbadge';\n      case 'notice':\n      default:\n        return 'info';\n    }\n  }\n\n  public override async show(): Promise<void> {\n    this.originalTrigger = this.findRootNode(this)?.activeElement as HTMLElement | null;\n    await super.show();\n    this.messageContent?.focus();\n    return Promise.resolve();\n  }\n\n  public override async hide() {\n    if (!this.open) {\n      return;\n    }\n\n    if (this.closeTimeout) {\n      clearTimeout(this.closeTimeout);\n    }\n\n    this.expanded = false;\n\n    // restore focus to the original trigger\n    if (this.originalTrigger && typeof this.originalTrigger.focus === 'function') {\n      this.originalTrigger.focus();\n    }\n\n    return super.hide();\n  }\n\n  /** @internal watcher */\n  @watch('open', { waitUntilFirstUpdate: true })\n  async openChange() {\n    if (!this.base) {\n      return;\n    }\n\n    if (this.open) {\n      await stopAnimations(this.base);\n      this.visible = true;\n      await animateTo(this.base, this.keyFrames.open, { duration: this.transitionSpeed, easing: 'ease' });\n      this.startDuration();\n      this.emitAfterShow();\n    } else {\n      await animateTo(this.base, this.keyFrames.close, { duration: this.transitionSpeed, easing: 'ease' });\n      this.visible = false;\n      this.closeTimeout = null;\n      this.emitAfterHide();\n    }\n  }\n\n  render() {\n    return html`\n      <div class=\"message-bar__wrapper\">\n        <div\n          part=\"base\"\n          class=\n          ${classMap({\n            'message-bar': true,\n            'message-bar--open': this.open,\n            'message-bar--collapsed': !this.expanded,\n            'message-bar--expanded': this.expanded,\n            [`message-bar--${this.appearance}`]: true,\n            'message-bar--has-actions': this.hasSlotController.test('actions'),\n          })}\n          ?hidden=${!this.visible}\n        >\n          <div part=\"content\" class=\"message-bar__content\">\n            <div part=\"icon\" class=\"message-bar-icon\">\n              <slot name=\"icon\">\n                <${this.scope.tag('icon')} name=\"${this.iconName}\"></${this.scope.tag('icon')}>\n              </slot>\n            </div>\n            <div part=\"message\" class='message-bar__message-container'>\n              <div class=\"message-bar__message-inner-container\" tabindex=\"-1\" role=\"text\">\n                <slot @slotchange=${this.handleSlotChange}></slot>\n              </div>\n            </div>\n            <div part=\"actions\" class=\"message-bar__actions\">\n              ${!this.expanded ? html`<slot name=\"actions\"></slot>` : ''}\n              ${\n                this.multiline\n                  ? html`\n                    <${this.scope.tag('button')}\n                      class=\"message-bar__button message-bar__multiline__button\"\n                      appearance=\"stealth\"\n                      ?expanded=${this.expanded}\n                      @click=${this.toggleExpand}\n                    >\n                      <${this.scope.tag('icon')}\n                        name=${this.expanded ? 'doublechevronup' : 'doublechevrondown'}\n                        label=\"${this.localize.term('more_info')}\"\n                      ></${this.scope.tag('icon')}>\n                    </${this.scope.tag('button')}>\n                  `\n                  : ''\n              }\n              ${\n                !this.noCloseButton\n                  ? html`\n                    <${this.scope.tag('button')}\n                      class=\"message-bar__button\"\n                      appearance=\"stealth\"\n                      @click=${this.hide}\n                    >\n                      <${this.scope.tag('icon')} name=\"cancel\" label=${this.localize.term('close_message')}>\n                      </${this.scope.tag('icon')}>\n                    </${this.scope.tag('button')}>\n                  `\n                  : ''\n              }\n            </div>\n          </div>\n          ${\n            this.expanded\n              ? html`\n                  <div part=\"footer\" class=\"message-bar__footer\">\n                    <slot name=\"actions\"></slot>\n                  </div>\n                `\n              : ''\n          }\n        </div>\n      </div>\n    `;\n  }\n}\n\nexport default MessageBar;\n"],"sourceRoot":""}