{"version":3,"sources":["redux/actions/ClearJobType.js","constants/Areas.js","Routes.js","redux/store.js","constants/ConfigRoutesConstants.js","components/Routes/PrivateRoute.js","History.js","services/DocumentService.js","services/RequestFormService.js","index.js","redux/actions/SetClient.js","../src lazy /^.*$/ groupOptions: {} namespace object","layouts/RfqProcessLayout.js","components/Routes/PublicRoute.js","components/ControlComponents/Input/InfoToolTip.js","components/CommonComponents/NavigationBlocker.js","components/ControlComponents/Input/InputTextArea.js","services/RFQProcessStatusService.js","redux/actions/ClearStoreActions.js","services/UploadDocumentService.js","redux/actions/JobTypeActions.js","components/CommonComponents/LoadingWrapper.js","components/ControlComponents/DocumentUploader.js","redux/actions/DefaultConfigActions.js","redux/actions/SetBomFIleAction.js","services/JargonService.js","App.js","redux/reducers/JobTypes.js","redux/reducers/DefaultConfigs.js","redux/reducers/RFQDetails.js","redux/reducers/CompletedSteps.js","redux/reducers/BomFile.js","redux/reducers/Client.js","redux/reducers/PCBNetQuoteDetails.js","redux/actions/PCBNetQuoteActions.js","registerServiceWorker.js","ClearCache.js","main.js","prototype/Extensions.js","layouts/ConfigurationsLayout.js","components/Logo/Logo.js","components/Navigation/TopNavMenu.js","components/DocumentUploaderWithModal/DocumentUploaderWithModal.js","components/Header/HeaderToggleButton.js","components/AssemblyChat/AssemblyChat.js","components/ConfigurationSideMenu/ConfigurationSideMenu.js","services/AccountService.js","components/Navigation/RFQSteps.js","services/RouteService.js","CustomHooks/GoogleAnalytics/UsePageViews.js","services/SignalrService.js","services/CommonHttpService.js","constants/UrlConstant.js","constants/ActionConstants.js","services/CommonService.js","constants/JargonConstant.js","constants/UserManager.js","services/SessionStorageService.js","redux/actions/index.js","components/ControlComponents/InputButton/InputButton.js","redux/reducers/index.js","redux/actions/CompletedStepActions.js","components/CommonComponents/LoadingSpiner.js","constants/DataConstant.js","services/ConfigurationService.js","services/AssemblyChatService.js","redux/actions/RFQDetailActions.js","constants/MessageConstant.js","components/Header/Header.js"],"names":["clearJobType","jobType","type","CLEAR_JOBTYPES","data","Areas","checkout","orderSummary","assemblyChat","RouteDataContext","createContext","connect","state","isCustomQuote","RFQDetails","isCustomQuoteRequires","isViewMode","rfqDetails","isBomAnalysis","clientInfo","Client","dispatch","setClientInfo","clientCode","setClientCode","resetReduxData","clearStore","resetCompletedSteps","menuItem","ConfigRoutesConstants","configurationRouteList","useState","noLayoutRoutes","rfqProcessLayoutRoutes","configurationsLayoutRoutes","routeList","setRouteList","urlClientCode","DATA_CONSTANT","IsCustomDomainClient","ClientCode","location","useLocation","history","useHistory","useEffect","push","CommonService","getRoutePath","trackPromise","getRouteList","checkIsCustomQuote","pathname","routes","quoteHistory","includes","reviewbom","customQuote","routesForAllowDocumentUpload","setRoutesForAllowDocumentUpload","a","RouteService","RouteList","result","map","obj","routeUrl","routesForContext","route","RouteUrl","AllowDocumentUpload","allowDocumentUpload","AllowAssemblyDiscussion","allowAssemblyDiscussion","filter","layoutRequired","fallback","Provider","value","length","loginRequired","exact","path","component","lazy","componentPath","title","routeName","key","layout","RfqProcessLayout","ConfigurationsLayout","render","props","to","reducers","JobTypes","DefaultConfigs","CompletedSteps","BomFile","oidc","oidcReducer","PCBNetQuoteDetails","appReducer","combineReducers","persistConfig","storage","storageSession","persistedReducer","persistReducer","action","undefined","user","payload","profile","EmailConfirmed","toLowerCase","configureStore","createStore","window","__REDUX_DEVTOOLS_EXTENSION__","id","linkDisplay","Component","Layout","document","clientName","isUserLoggedIn","indexOf","OIDCService","login","hasUserAccessRights","error","createBrowserHistory","basename","process","DocumentService","downLoadFile","filename","CommonHttpService","DownLoadFile","URL_CONSTANT","RequestForm","generatePreSignedUrl","count","httpGet","Document","GeneratePreSignedUrl","uploadFilesToS3","fileData","Promise","resolve","reject","requests","httpFilePutToS3","presignedURL","file","all","then","responses","catch","errors","forEach","console","insertDocuments","httpPost","InsertDocuments","RequestFormService","getDefaultConfigurations","url","GetDefaultConfigurations","CreateRFQ","UpdateRFQ","httpPut","CloneRFQ","GetAllQuoteType","GetRFQDetails","rfqId","assemblyId","GetRFQData","GetRFQDocuments","userId","DeleteQuantity","DeleteTurnTime","DeleteRFQDocument","UpdateAssemblyFieldValue","UpdateAdjustedTurnTimeApprovalStatus","GetRFQList","GetRFQInfoForContinue","CreateBomHealthAssembly","GetCustomerContactByEmail","email","rootElement","getElementById","RootComponentWithClearCache","withClearCache","MainComponent","ReactDOM","registerServiceWorker","setClientName","SET_CLIENT_NAME","SET_CLIENT_CODE","webpackAsyncContext","req","__webpack_require__","o","e","Error","code","ids","slice","t","keys","Object","module","exports","completedSteps","selectedJobType","reset","children","navigationBlocked","setNavigationBlock","isButtonClicked","setIsButtonClicked","className","fluid","md","IsAnyQuoteFeatureEnabled","IsPCBNetClient","name","getJargonValue","JARGON_CONSTANT","StartNewQuoteButton","handleClick","Swal","fire","text","jargonObject","StartNewQuoteConfirmation","icon","showCancelButton","confirmButtonText","YesButton","cancelButtonText","NoButton","reverseButtons","isConfirmed","isAssemblyRequired","isBomRequired","isComponentsRequired","isPcbRequired","isValid","cqJobType","isBomHealthQuote","InfoToolTip","helpText","helpPlacement","placement","delay","show","hide","overlay","style","marginLeft","cursor","defaultProps","memo","onbeforeunload","onunload","when","message","NavigationBlockMessage","InputTextArea","React","forwardRef","ref","onChange","rows","isRequired","errorMessage","label","trim","as","RFQProcessStatusService","getRFQSteps","jobTypeName","RFQProcessStatus","GetRFQSteps","params","saveCompletedStep","stepName","isCompleted","storeJson","JSON","parse","SessionStorageService","getSessionValue","Array","isArray","SaveCompletedStep","getRFQStepsForConfiguration","GetRFQStepsForConfiguration","updateRFQSteps","UpdateRFQSteps","getRFQProcessStatus","GetRFQProcessStatus","CLEAR_STORE","UploadDocumentService","uploadDocuments","rfqAcceptedFiles","preSignedUrls","i","presignedURLResponses","documentName","contentLength","size","filetype","uploadDocResponse","response","ok","requestDoc","documents","selectJobType","SELECT_JOBTYPE","LoadingWrapper","loaderRef","DocumentUploader","maxNumberOfFiles","mergedAcceptedFiles","displayFiles","allowedFileTypes","handleFiles","isFileUploadOnDrop","uplodedFiles","acceptedFiles","rejectedFiles","isTooManyFiles","documentFile","setDocumentFile","onDrop","useCallback","newAcceptedFiles","newRejectedFiles","filterUploadedFiles","uniqueAcceptedFiles","Set","find","uniqueRejectedFiles","acceptedFile","mergedFile","uniqueMergeFiles","mergeRejectedFiles","uniqueMergeRejectedFiles","useDropzone","noClick","noKeyboard","accept","maxFiles","maxSize","maxFileSize","minSize","getRootProps","getInputProps","open","removeFile","files","removeFileIndex","findIndex","splice","removeAllUnsupportedFiles","useImperativeHandle","handleRemoveFile","handleRemoveAllFile","acceptedFilesView","index","lg","sm","xs","rejectedFilesView","FileImportMessage1","FileImportMessage2","onClick","ChooseFileButton","MaxFileUploadMessage","toString","formatGeneric","MaxFilesValidationMessage","setDefaultConfigs","defaultConfigs","SET_DEFAULT_CONFIGS","setBomFile","SET_BOM_FILES","bomFile","JargonService","GetJargonList","GetJargonListFromConfigurations","SaveUpdatedData","onClientLoad","Extension","isUserLoaded","setIsUserLoaded","isLoaded","setIsLoaded","usePageViews","fetchData","checkUserLoggedIn","getConfiguration","setImportWidgetUrl","getJargonList","getFeatures","loadUser","userData","configKeys","ConfigurationKey","IsBomAnalysisEnabled","IsGetAQuoteEnabled","IsQuickPriceEnabled","IsBOMHealthEnabled","Configuration","GetConfigurations","some","x","QuoteFeatures","jargonValues","jargonList","elem","displayValue","intercomAppId","IntercomAppId","tagId","GoogleAnalyticsTagId","ClientName","themeName","ThemeName","logRocketAppIdKey","LogRocketAppId","isLogRocketEnabledKey","IsLogRocketEnabled","isBOMHealthEnabledKey","HubSpotAppId","val","clientTheme","doc","clientCssUrl","clientFaviconUrl","themeLink","createElement","href","rel","getElementsByTagName","appendChild","documentElement","setAttribute","querySelector","intercomSettings","app_id","d","s","innerHTML","managerscript","src","async","gtag","IsGoogleAnalyticsEnabled","logRocketAppId","LogRocket","init","identify","sub","FirstName","LastName","Email","setupLogRocketReact","bomHealthWidgetUrl","$config","link","body","script","hsChatScript","defer","setTimeout","bootHubSpotChat","log","importWidgetUrl","smartImportWidgetUrl","_hsq","firstName","lastName","HubSpotConversations","onHubSpotConversationsAPIReady","hsConversationsOnReady","widget","status","loaded","refresh","load","InitialState","SET_RFQ_DETAILS","SET_BOMID","bomId","SET_IS_CUSTOMQUOTE_REQUIRES","SET_EXTERNAL_USERID","externalUserId","SET_COMPLETED_STEPS","stateData","stepIndex","first","RESET_COMPLETED_STEPS","SET_ALL_COMPLETED_STEPS","SET_PCBNET_QUOTE_DETAILS","pcbNetQuoteDetails","setPCBNetQuoteDetails","isLocalhost","Boolean","hostname","match","register","navigator","URL","origin","addEventListener","swUrl","fetch","headers","get","serviceWorker","ready","registration","unregister","reload","registerValidSW","checkValidServiceWorker","onupdatefound","installingWorker","installing","onstatechange","controller","isLatestBuildDate","setIsLatestBuildDate","metadataFileName","moment","format","json","meta","latestDate","currentDate","momLatestDateTime","momCurrentDateTime","isAfter","buildDateGreaterThan","buildDate","packageJson","refreshCacheAndReload","caches","names","delete","Fragment","baseUrl","getAttribute","store","persistor","persistStore","split","ConfigurationService","isClientExist","isExists","isCustomDomainClient","getApplicationConfigurations","isPCBNetClient","showInvalidURLAlert","html","MESSAGE_CONSTANT","invalidURLMessage","messageTitle","messageContent","showConfirmButton","allowOutsideClick","configData","config","SignalrProvider","initializeConnection","userManager","initializeUserManager","Extensions","String","prototype","args","arguments","this","replace","number","Logo","logoRedirectUrl","target","setShow","setTarget","showChat","setShowChat","chatTarget","setChatTarget","setIsUserLoggedIn","unreadMessagesCount","setUnreadMessagesCount","useRef","handleMenuIcons","event","handleChatIconClick","currRoute","useContext","isDocumentUploadVisible","isCloneApplied","isAssemblyChatVisible","checkUser","getUnreadMessageCount","requestObject","ChatNotesIds","ChatNotesType","LoginUserEmail","IsExternal","AssemblyChatService","unreadMessageCountResponse","unreadCount","getUser","hasUserAccessRight","isEmailConfirmed","getPostLoginUrl","setPostLoginUrl","emailActivationPending","handleShow","LogoutConfirmation","confirmButtonColor","OrangeColor","cancelButtonColor","BlueColor","LogoutLinkText","CancelButton","logout","rootClose","onHide","container","current","containerPadding","Content","showUpload","Toggle","HeaderToggleButton","Menu","Item","eventKey","LoginLinkText","QuoteHistoryLinkText","salesPersonId","setRejectedFiles","uploadedFiles","maxAllowFile","isTooManyFilesError","assemblyDocumentState","setAssemblyDocumentState","childRef","getUploadedFiles","getMaxNumberOfFileToUpload","maxFileValueResult","parseInt","uploadedFileList","element","fileObj","documentDetailId","isFileUploaded","acceptedFilesToUpload","requestObj","maxNumberOfFile","MaxNoOfUploadDocuments","getByKeys","generateRandomId","selectedDocuments","UploadedFilesTitle","DeleteFileAlert","RejectedFilesTitle","preventDefault","chatMessage","setChatMessage","assemblyChatData","setAssemblyChatData","loaderElement","scrollElement","getAssemblyChat","scrollTop","scrollHeight","assemblyChatResponse","chatNotes","handelSendClick","saveMessageObject","ChatNotesId","Comments","IsInternal","saveAssemblyChatMessage","area","parentContainer","chatData","displayDateText","chatNoteDetails","index1","isLoginUser","userName","createdTime","comments","maxLength","placeholder","handelChange","onKeyPress","ctrlKey","isDisabled","ConfigurationSideMenu","activeLocation","isSuperAdmin","IsSuperAdmin","validateUserAccess","AccountService","isUserPortCQAdmin","Account","IsUserPortCQAdmin","RFQSteps","Step","Steps","rfqSteps","setRFQSteps","disableSteps","setDisableSteps","stepNames","pluck","difference","CurrentStepForCheckOut","currentStep","CheckoutBillingShipping","CheckoutPayment","defaultActiveKey","Link","Completed","disabled","BOM","displayName","childSteps","progressDot","direction","child","ga","search","signalRUrl","signalRHub","newConnection","HubConnectionBuilder","withUrl","withAutomaticReconnect","build","start","on","processSignalRMessage","msg","hub","setUser","postLoginRoute","removePostLoginUrl","isForceLogout","requestURL","parameters","options","method","getCookie","getUserEmail","property","encodeURIComponent","statusText","requestBody","stringify","httpFilePost","Message","res","blob","createObjectURL","Blob","click","parentNode","removeChild","err","DownloadReport","fileName","header","matches","exec","decodeURIComponent","JobType","GetJobTypes","ROOT_URL","GetJobTypesForConfiguration","GetCQJobTypes","UpdateJobTypes","GetJobTypesDetail","Labor","GetLaborQuestions","GetLaborActivitiesWithCalculatedDriver","SubmitLaborAnswers","UpdateLaborAnswers","DeleteAssemblyLaborActivities","GetApplicationConfigurations","IsClientExist","DecryptQueryString","CreateBOM","GetPCBLinesByAssemblyId","IsScrubMyBomRunning","CustomImportWidgetCSSUrl","PCBNetImportWidgetCSSUrl","Pricing","GetRequestedQuantity","GetPurchaseData","UpdateMethodOfSupply","GetBomSummary","CheckPricingStatus","RefreshPricing","UpsertMethodOfSupplySelections","AddAlternateParts","PCB","GetPcbQuestions","SubmitPCBAnswers","SubmitPCBWithPricing","GetSavedPCBAnswers","GetPCBAnswerFields","Summary","PublishQuoteCQQuote","GetSummaryDetails","QuotePrice","MarkPriceAsSelected","GetSelectedPrice","Checkout","GetOrder","SaveOrder","CreatePaymentIntent","UpdatePaymentDetails","GetShippingMethods","GetStripePublishableKey","GetCountries","CheckListBuilder","GetCheckListScreen","SubmitCheckListBuilder","GetCheckListAnswers","GetCheckListDetails","UpdateCheckListDetails","Report","GetAllPricingReport","GetCostedBOMReport","GetQuoteReport","CustomQuote","GetAllUploadedDocuments","SubmitCustomQuote","GetMarketingContentBySectionName","AlternateParts","GetSuggestedAlternateParts","LogUserLoggedInActivity","MiscConfiguration","GetMiscConfigurations","UpdateMiscConfigurations","ShippingMethods","UpdateShippingMethods","MarketingContent","GetAllMarketingContents","UpdateMarketingContent","BOMHealth","BOMHealthReport","BOMHealthMonitor","CreateBomHealthMonitor","GetScheduleByAssemblyId","GetBomHealthMonitorHistory","DeleteBomHealthMonitorRequest","UpdateBomHealthMonitor","ContactDetails","GetByAssemblyId","Save","PCBNet","GetQuoteDetails","CreatePCBNetAssembly","AssemblyChat","GetAssemblyChat","SaveAssemblyChatMessage","GetUnreadMessageCount","SET_PRICING_RUNNING_STATUS","CLEAR_PRICING_RUNNING_STATUS","getFileExtension","extension","substr","lastIndexOf","isValidBOMFile","fileExtension","validExtension","validExtensionForBomFile","createBomFileFromBlobUrl","fetchResult","types","bomFileType","metadata","File","responseError","info","deepShallowCopy","convertChecklist","rfqDetail","checkListBuilderData","checkListDetail","objCheckListBuilder","RFQId","quoteId","AssemblyId","RFQCustomFieldValues","CustomQuoteFieldNames","isAnyFieldRequiresCustomQuote","each","fieldType","defaultValue","join","objValues","Id","FieldTypesName","FieldTypeValue","IsAnyFieldRequiresCustomQuote","characters","charactersLength","charAt","Math","floor","random","getJargonDetail","cname","ca","cookie","c","substring","calculateTax","configuredTax","paymentDetail","totalPrice","subTotalPrice","shippingCharge","discount","taxPercentage","Number","parseFloat","toFixed","calculateTotal","total","tax","pathName","getQueryParam","URLSearchParams","loggedInUserEmail","salesPersonEmail","roundToTwoDecimal","num","round","HomePageTitle","HomePageSubTitle","NextButton","RfqPageTitle","BasicDetailSectionTitle","QuantitySectionTitle","QuantitySectionSubTitle1","QuantitySectionSubTitle2","QuantitySectionDescription","FileUploadSectionTitle","FileUploadSectionSubTitle1","FileUploadSectionSubTitle2","MapBOMButton","LaborPageTitle","AssemblyDetailPageTitle","CustomQuotePageTitle","CustomQuotePageSubTitle","CustomQuotePageDescription","CustomQuoteUploadFileSectionTitle","CustomQuoteContactDescription1","CustomQuoteContactDescription2","CustomQuoteContactDescription3","SendButton","CustomQuoteContactNumber","QuoteCompleteButton","QuoteCompleteMessage","CompilingScreenTitle","CompilingScreenDescription","BackButton","ALLPartsButton","IssueOnlyButton","BOMIsCleanMessage","DownloadBOM","BOMSummarySectionTitle","DownloadQuote","QuantityColumnHeader","TurnTimeColumnHeader","AssemblyCostColumnHeader","AdditionalServicesColumnHeader","PCBColumnHeader","TotalPriceColumnHeader","BillingAndShippingTitle","ShippingAddressSubTitle","BillingAddressSubTitle","ShippingMethodSubTitle","OrderSummarySubTitle","SeparateBillingAddressSubTitle","QuantityLabel","LeadTimeLabel","RegularPriceSubTotalLabel","ShippingLabel","TotalLabel","HideOrderDetailsButton","ViewOrderDetailsButton","PCBDetailsLabel","NetPayableTitle","GetQuotePageTitle","LineColumnHeader","ManufacturerColumnHeader","MPNColumnHeader","DescriptionColumnHeader","ReferenceDesignatorColumnHeader","TotalQuantityColumnHeader","MethodOfSupplyColumnHeader","IssueAlertColumnHeader","ScrubMyBomTitle","ScrubMyBomSubTitle","ContinueButton","ViewButton","ReorderButton","RepriceAlternatesButton","SuggestAlternatesButton","AddAlternatesManuallyButton","SuggestAlternateModalTitle","SaveSelectedAlternatesButton","AddAlternateTitle","SaveAlternatesButton","CreateAQuoteButton","BOMAnalysisButton","CreateAQuoteDescription","BOMAnalysisDescription","QuoteSelectionPageTitle","QuoteSelectionPageSubTitle","QuickPriceButton","QuickPriceDescription","DownloadAllPricing","FirstNameLabel","LastNameLabel","EmailLabel","PhoneLabel","CompanyLabel","QuoteTypeLabel","AssemblyNameLabel","AssemblyNumberLabel","RevLabel","TotalTurnTimeLabel","NoOfSMTParts","NoOfTHParts","TotalNoOfLineItem","NameLabel","StreetAddressLine1Label","StreetAddressLine2Label","PostalCodeLabel","CityLabel","StateLabel","ChooseShippingMethod","UnpricedLineItem","CrossMatch","OutofStock","LongLeadTime","InStockButLongLeadTime","Select","AssemblyNameColumnHeader","AssemblyNumberRevColumnHeader","RequestedQTYTurnTimeColumnHeader","OrderedQTYTurnTimeColumnHeader","OrderPriceColumnHeader","QuoteDateColumnHeader","StatusColumnHeader","ActionsColumnHeader","QuoteHistoryHeader","NoOfIssues","FilesTypeLabel","NoteLabel","CustomQuoteWarning","DeleteQuantityAlert","DeleteTurnTimeAlert","MinimumOneQuantityRequired","MinimumOneTurnTimeRequired","AssemblyDetailNotConfigured","NoPCBLineAdded","CustomQuoteWarningForChecklist","ReorderRFQ","RequiredMessage","InvalidValueMessage","MaxLengthMessage","MinValueMessage","RequiredMethodOfSupply","InvalidAmount","SelectAlternate","DuplicatePartNumber","RequireAlternate","MinLengthMessage","BOMHealthMonitorHeader","BOMHealthMonitorHistoryHeader","CreateSchedule","DeleteButton","EditButton","userConfig","authority","authenticationUrl","client_id","portCQClientId","redirect_uri","portCQRootUrl","response_type","response_mode","scope","apiScopesToRequest","silent_redirect_uri","automaticSilentRenew","revokeAccessTokenOnSignout","post_logout_redirect_uri","accessTokenExpiringNotificationTime","accessTokenExpiringNotification","UserManager","createUserManager","events","addUserSignedOut","addUserLoaded","addSilentRenewError","getState","expired","userState","uri","signinRedirect","removeUser","signoutRedirect","id_token","handleError","removeSessionValue","setSessionValue","oidcSessionUrl","portcqClientId","getUserId","HasAccessToApplication","sessionStorage","getItem","setItem","removeItem","RemoveButton","AddButton","PrimaryButton","SecondaryButton","SmallGreyButton","isActive","LinkButton","variant","ShoppingCartButton","rowKey","ReportButton","CloseButton","setCompletedSteps","setAllCompletedSteps","steps","LoadingSpiner","promiseInProgress","usePromiseTracker","loaderClass","classList","remove","getElementsByClassName","margin","color","loading","patterns","nameWithSpecialCharacters","quantity","totalTurnTime","laborQuestion","checkListBuilderNumber","dateFormat","assemblyNumber","assemblyName","twoDecimalPointPercentage","joditDefaultTags","RFQ","ReviewBOM","IsComponentPricingDone","AssemblyDetail","GetQuote","CheckoutVerify","guidelinesFiles","BOM_format_guidelines","BOM_template","FileType","arrayFileType","timeUOMs","PCBPartClass","StripePublishableKey","AllowMultipleJobTypeSelection","ContactNumber","QuoteCQClientCode","MinimumTurnTime","AdjustedTurnTimeToolTipText","RejectTurnTimeConformationText","ApproveTurnTimeConformationText","DefaultTurnTimeForBOMAnalysis","DefaultFirstName","DefaultLastName","DefaultEmail","DefaultPhone","DefaultCompany","DefaultAssemblyName","DefaultAssemblyNumber","DefaultTurnTimeForQuickPrice","DefaultRev","DefaultQuoteType","ReportRedashId","BOMHealthWidgetUrl","BOMHealthReportAPIAccessToken","BOMHealthLastUpdatedDays","VAT","IsBomHealthHelpIconVisible","RemoveActivityWhenSwitchIsOffFeatureEnabled","DefaultQuantity","PCBNetUrl","MaximumQuantityCount","IsPricingColumnsVisibleInReviewBOM","defaultTimeUOMUnit","TooltipPlacement","ITARProcessingRequired","FileIconNotDispalyOnRoute","RfqRouteName","complete","jobtype","scrubmybom","bomHealthMonitorHistory","quoteSummary","quoteComplete","bomHealthMonitor","backToPCBNet","AssemblyFields","ExternalUserId","SectionName","home","pricingCompiling","scrubMyBom","createAQuoteDescription","bomAnalysisDescription","quickPriceDescription","getBOMHealthDescription","DriverCountType","Blank","Fixed","Recommended","DriverCountSubType","Static","Formula","ToastMessageVariant","Success","Warning","Info","AlternateSource","CQSuggestions","Manual","DataIndex","QuoteCQJobTypeName","JobTypeDescription","Title","DisplayName","ShippingMethod","ShippingCharge","ScreenName","Description","CustomQuoteValues","MarketingContents","HTMLContentLabel","SectionNameLabel","GridScroll","y","ScreenNamesForConfiguration","SectionNamesForConfiguration","isForMarketingSection","isForChecklistSection","BomHealthRFQInfo","PortCQApplicationName","BOMHealthScheduleInterval","CurrencyMaster","getMiscConfigurations","updateMiscConfigurations","getAllMarketingContents","updateMarketingContent","decryptQueryString","loginUserEmail","setRFQDetails","setBOMId","setIsCustomQuoteRequired","setExternalUserId","validationMessage","maxLength50","maxLength100","maxLength250","maxLength500","successMessage","terminologyUpdatedSuccessfully","miscConfigurationUpdatedSuccessfully","jobTypesUpdatedSuccessfully","rfqStepsUpdatedSuccessfully","shippingMethodsUpdatedSuccessfully","marketingContentUpdatedSuccessfully","checkListDetailsUpdatedSuccessfully","configurations","invalid","required","Header","loggedInUserName","setLoggedInUserName"],"mappings":"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C,CAClC,IACA,EACA,EACA,EACA,GACA,IAED,sCAAuC,CACtC,IACA,EACA,KAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,GACA,IAED,iCAAkC,CACjC,IACA,EACA,KAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,qDAAsD,CACrD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yDAA0D,CACzD,IACA,EACA,KAED,wDAAyD,CACxD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,iDAAkD,CACjD,IACA,EACA,EACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,IAED,6CAA8C,CAC7C,IACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,IAED,8CAA+C,CAC9C,GACA,GAED,iDAAkD,CACjD,GACA,GAED,mDAAoD,CACnD,IACA,GAED,+CAAgD,CAC/C,IACA,GAED,kDAAmD,CAClD,IACA,GAED,uCAAwC,CACvC,IACA,EACA,IAED,0CAA2C,CAC1C,IACA,EACA,IAED,kDAAmD,CAClD,IACA,GAED,qDAAsD,CACrD,IACA,GAED,2DAA4D,CAC3D,IACA,GAED,+DAAgE,CAC/D,IACA,GAED,8DAA+D,CAC9D,IACA,GAED,qDAAsD,CACrD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,wDAAyD,CACxD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,iDAAkD,CACjD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,2DAA4D,CAC3D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,8DAA+D,CAC9D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0CAA2C,CAC1C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,6CAA8C,CAC7C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sDAAuD,CACtD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0DAA2D,CAC1D,IACA,EACA,KAED,yDAA0D,CACzD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sFAAuF,CACtF,IACA,EACA,IAED,yFAA0F,CACzF,IACA,EACA,IAED,uFAAwF,CACvF,IACA,EACA,IAED,0FAA2F,CAC1F,IACA,EACA,IAED,kEAAmE,CAClE,IACA,EACA,IAED,qEAAsE,CACrE,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,KAED,4DAA6D,CAC5D,IACA,EACA,KAED,+DAAgE,CAC/D,IACA,EACA,EACA,IAED,kEAAmE,CAClE,IACA,EACA,EACA,IAED,kDAAmD,CAClD,IACA,GAED,qDAAsD,CACrD,IACA,GAED,uCAAwC,CACvC,IACA,EACA,GAED,wCAAyC,CACxC,IACA,EACA,GAED,+DAAgE,CAC/D,IACA,EACA,IAED,mEAAoE,CACnE,IACA,EACA,KAED,kEAAmE,CAClE,IACA,EACA,IAED,+DAAgE,CAC/D,IACA,EACA,IAED,mEAAoE,CACnE,IACA,EACA,KAED,kEAAmE,CAClE,IACA,EACA,IAED,mDAAoD,CACnD,IACA,GAED,sDAAuD,CACtD,IACA,GAED,kDAAmD,CAClD,IACA,EACA,IAED,qDAAsD,CACrD,IACA,EACA,IAED,wDAAyD,CACxD,IACA,GAED,qDAAsD,CACrD,IACA,EACA,EACA,EACA,IAED,wDAAyD,CACxD,IACA,EACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,KAED,sDAAuD,CACtD,IACA,EACA,IAED,qDAAsD,CACrD,IACA,GAED,wDAAyD,CACxD,IACA,GAED,oDAAqD,CACpD,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,IAED,6CAA8C,CAC7C,IACA,EACA,GAED,gDAAiD,CAChD,IACA,EACA,GAED,yDAA0D,CACzD,GACA,GAED,6DAA8D,CAC7D,IACA,GAED,4DAA6D,CAC5D,GACA,GAED,2DAA4D,CAC3D,IACA,EACA,IAED,+DAAgE,CAC/D,IACA,EACA,KAED,8DAA+D,CAC9D,IACA,EACA,IAED,mEAAoE,CACnE,IACA,GAED,uEAAwE,CACvE,IACA,GAED,sEAAuE,CACtE,IACA,GAED,6BAA8B,CAC7B,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,IAED,kDAAmD,CAClD,IACA,EACA,IAED,qDAAsD,CACrD,IACA,EACA,IAED,6BAA8B,CAC7B,GACA,GAED,iCAAkC,CACjC,IACA,GAED,gCAAiC,CAChC,GACA,GAED,yCAA0C,CACzC,IACA,GAED,4CAA6C,CAC5C,IACA,GAED,+BAAgC,CAC/B,IACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,KAED,kCAAmC,CAClC,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sDAAuD,CACtD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,KAED,yBAA0B,CACzB,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,GACA,IAED,wCAAyC,CACxC,IACA,EACA,EACA,EACA,EACA,GACA,IAED,mCAAoC,CACnC,IACA,GAED,uCAAwC,CACvC,IACA,GAED,sCAAuC,CACtC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,yCAA0C,CACzC,IACA,GAED,wCAAyC,CACxC,IACA,GAED,iDAAkD,CACjD,IACA,EACA,EACA,IAED,qDAAsD,CACrD,IACA,EACA,KAED,oDAAqD,CACpD,IACA,EACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,IAED,8CAA+C,CAC9C,IACA,EACA,IAED,8BAA+B,CAC9B,IACA,EACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,EACA,IAED,6DAA8D,CAC7D,IACA,EACA,IAED,iEAAkE,CACjE,IACA,EACA,KAED,gEAAiE,CAChE,IACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,KAED,0CAA2C,CAC1C,IACA,EACA,EACA,IAED,+BAAgC,CAC/B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,KAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,KAED,wCAAyC,CACxC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,KAED,uCAAwC,CACvC,IACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,KAED,8CAA+C,CAC9C,IACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,KAED,mDAAoD,CACnD,IACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,GAED,sCAAuC,CACtC,IACA,GAED,kCAAmC,CAClC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,gDAAiD,CAChD,IACA,EACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,KAED,mDAAoD,CACnD,IACA,EACA,EACA,IAED,8BAA+B,CAC9B,GACA,GAED,iCAAkC,CACjC,GACA,GAED,oBAAqB,CACpB,IACA,GAED,uBAAwB,CACvB,IACA,GAED,oCAAqC,CACpC,IACA,GAED,uCAAwC,CACvC,IACA,GAED,2BAA4B,CAC3B,EACA,GAED,8BAA+B,CAC9B,EACA,GAED,6BAA8B,CAC7B,IACA,EACA,IAED,gCAAiC,CAChC,IACA,EACA,IAED,6BAA8B,CAC7B,GACA,GAED,gCAAiC,CAChC,GACA,GAED,8BAA+B,CAC9B,GACA,GAED,iCAAkC,CACjC,GACA,GAED,iCAAkC,CACjC,IACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,IAED,6BAA8B,CAC7B,IACA,EACA,EACA,EACA,EACA,EACA,GAED,gCAAiC,CAChC,IACA,EACA,EACA,EACA,EACA,EACA,GAED,0BAA2B,CAC1B,GACA,GAED,6BAA8B,CAC7B,GACA,GAED,0BAA2B,CAC1B,GACA,GAED,6BAA8B,CAC7B,GACA,GAED,uBAAwB,CACvB,IACA,EACA,KAED,uBAAwB,CACvB,IACA,EACA,KAED,uBAAwB,CACvB,IACA,EACA,KAED,wBAAyB,CACxB,IACA,EACA,KAED,wBAAyB,CACxB,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,EACA,KAED,2BAA4B,CAC3B,IACA,EACA,KAED,qBAAsB,CACrB,IACA,GAED,UAAW,CACV,IACA,GAED,aAAc,CACb,IACA,GAED,iCAAkC,CACjC,IACA,GAED,oCAAqC,CACpC,IACA,GAED,mBAAoB,CACnB,IACA,EACA,IAED,sBAAuB,CACtB,IACA,EACA,IAED,6BAA8B,CAC7B,IACA,GAED,iCAAkC,CACjC,IACA,GAED,gCAAiC,CAChC,IACA,GAED,SAAU,CACT,IACA,GAED,YAAa,CACZ,IACA,GAED,4CAA6C,CAC5C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,KAED,oDAAqD,CACpD,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,IAED,6CAA8C,CAC7C,IACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,IAED,kDAAmD,CAClD,IACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0DAA2D,CAC1D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,gDAAiD,CAChD,IACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,IAED,4BAA6B,CAC5B,IACA,EACA,EACA,EACA,EACA,GACA,IAED,gCAAiC,CAChC,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,EACA,EACA,EACA,GACA,IAED,wCAAyC,CACxC,IACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,IAED,iCAAkC,CACjC,IACA,EACA,IAED,oCAAqC,CACpC,IACA,EACA,IAED,oDAAqD,CACpD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uDAAwD,CACvD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,4CAA6C,CAC5C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sDAAuD,CACtD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,8CAA+C,CAC9C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,iDAAkD,CACjD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mDAAoD,CACnD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sDAAuD,CACtD,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0DAA2D,CAC1D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,6DAA8D,CAC7D,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,4CAA6C,CAC5C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,EACA,IAED,0BAA2B,CAC1B,IACA,EACA,KAED,0BAA2B,CAC1B,IACA,EACA,IAED,6BAA8B,CAC7B,IACA,EACA,IAED,sCAAuC,CACtC,IACA,EACA,EACA,IAED,yCAA0C,CACzC,IACA,EACA,EACA,IAED,gCAAiC,CAChC,IACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,mCAAoC,CACnC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,uCAAwC,CACvC,IACA,EACA,IAED,0CAA2C,CAC1C,IACA,EACA,IAED,oBAAqB,CACpB,IACA,EACA,IAED,wBAAyB,CACxB,IACA,EACA,KAED,uBAAwB,CACvB,IACA,EACA,IAED,0BAA2B,CAC1B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,6BAA8B,CAC7B,IACA,EACA,EACA,EACA,EACA,EACA,IAED,kBAAmB,CAClB,IACA,EACA,EACA,IAED,sBAAuB,CACtB,IACA,EACA,KAED,qBAAsB,CACrB,IACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,4CAA6C,CAC5C,IACA,EACA,KAED,2CAA4C,CAC3C,IACA,EACA,EACA,EACA,EACA,EACA,IAED,0DAA2D,CAC1D,IACA,EACA,KAED,0DAA2D,CAC1D,IACA,EACA,IAED,6DAA8D,CAC7D,IACA,EACA,IAED,sBAAuB,CACtB,IACA,EACA,KAED,sBAAuB,CACtB,IACA,EACA,EACA,EACA,EACA,EACA,IAED,yBAA0B,CACzB,IACA,EACA,EACA,EACA,EACA,EACA,IAED,kCAAmC,CAClC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,EACA,EACA,EACA,EACA,IAED,2CAA4C,CAC3C,IACA,EACA,IAED,+CAAgD,CAC/C,IACA,EACA,KAED,8CAA+C,CAC9C,IACA,EACA,IAED,yBAA0B,CACzB,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,kBAAmB,CAClB,GACA,GAED,mBAAoB,CACnB,GACA,GAED,+BAAgC,CAC/B,IACA,GAED,kCAAmC,CAClC,IACA,GAED,oCAAqC,CACpC,IACA,GAED,uCAAwC,CACvC,IACA,GAED,uCAAwC,CACvC,GACA,GAED,0CAA2C,CAC1C,GACA,GAED,uCAAwC,CACvC,IACA,GAED,0CAA2C,CAC1C,IACA,GAED,iCAAkC,CACjC,IACA,GAED,oCAAqC,CACpC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,wCAAyC,CACxC,IACA,GAED,mCAAoC,CACnC,GACA,GAED,sCAAuC,CACtC,GACA,GAED,mCAAoC,CACnC,IACA,GAED,sCAAuC,CACtC,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,wBAAyB,CACxB,GACA,GAED,2BAA4B,CAC3B,GACA,GAED,mBAAoB,CACnB,GACA,GAED,oBAAqB,CACpB,GACA,GAED,2BAA4B,CAC3B,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,0BAA2B,CAC1B,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,kCAAmC,CAClC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,kCAAmC,CAClC,IACA,GAED,qCAAsC,CACrC,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,sCAAuC,CACtC,IACA,GAED,yCAA0C,CACzC,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,iCAAkC,CACjC,IACA,GAED,yBAA0B,CACzB,GACA,GAED,4BAA6B,CAC5B,GACA,GAED,gBAAiB,CAChB,IACA,GAED,mBAAoB,CACnB,IACA,GAED,0BAA2B,CAC1B,IACA,GAED,6BAA8B,CAC7B,IACA,GAED,iCAAkC,CACjC,IACA,EACA,KAED,oCAAqC,CACpC,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,kCAAmC,CAClC,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,IAED,iCAAkC,CACjC,GACA,GAED,oCAAqC,CACpC,GACA,GAED,wBAAyB,CACxB,IACA,EACA,IAED,2BAA4B,CAC3B,IACA,EACA,IAED,qCAAsC,CACrC,IACA,EACA,IAED,wCAAyC,CACxC,IACA,EACA,IAED,+BAAgC,CAC/B,GACA,GAED,kCAAmC,CAClC,GACA,GAED,2BAA4B,CAC3B,GACA,GAED,8BAA+B,CAC9B,GACA,GAED,kCAAmC,CAClC,GACA,GAED,qCAAsC,CACrC,GACA,GAED,mCAAoC,CACnC,IACA,EACA,KAED,sCAAuC,CACtC,IACA,EACA,KAED,gCAAiC,CAChC,IACA,EACA,KAED,mCAAoC,CACnC,IACA,EACA,KAED,6BAA8B,CAC7B,IACA,GAED,gCAAiC,CAChC,IACA,GAED,2BAA4B,CAC3B,IACA,GAED,8BAA+B,CAC9B,IACA,GAED,4BAA6B,CAC5B,IACA,EACA,KAED,+BAAgC,CAC/B,IACA,EACA,KAED,0BAA2B,CAC1B,IACA,EACA,KAED,6BAA8B,CAC7B,IACA,EACA,KAED,qCAAsC,CACrC,IACA,EACA,KAED,wCAAyC,CACxC,IACA,EACA,KAED,yBAA0B,CACzB,IACA,EACA,KAED,4BAA6B,CAC5B,IACA,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","file":"static/js/main.ad6c236c.chunk.js","sourcesContent":["import { CLEAR_JOBTYPES } from '../../constants/ActionConstants';\n\nexport const clearJobType = (jobType) => ({\n type: CLEAR_JOBTYPES,\n data: { jobType: jobType }\n});","export const Areas = {\n checkout: 'checkout-area',\n orderSummary: \"ordersummary-area\",\n assemblyChat: \"assemblychat-area\"\n};","import React, { createContext, lazy, Suspense, useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { Redirect, Route, Switch, useHistory, useLocation } from 'react-router-dom';\nimport PrivateRoute from '../src/components/Routes/PrivateRoute';\nimport PublicRoute from '../src/components/Routes/PublicRoute';\nimport { LoadingSpiner } from \"./components/CommonComponents/LoadingSpiner\";\nimport { ConfigRoutesConstants } from './constants/ConfigRoutesConstants';\nimport { DATA_CONSTANT } from './constants/DataConstant';\nimport ConfigurationsLayout from './layouts/ConfigurationsLayout';\nimport RfqProcessLayout from './layouts/RfqProcessLayout';\nimport { RouteService } from './services/RouteService';\nimport { CommonService } from \"./services/CommonService\";\nimport { clearJobType, clearStore, resetCompletedSteps, setClientCode } from './redux/actions/index';\nimport { trackPromise } from 'react-promise-tracker';\n\nexport let RouteDataContext = createContext({});\n\nconst Routes = ({ isCustomQuote, isViewMode, isBomAnalysis, clientInfo, setClientInfo, resetReduxData }) => {\n const menuItem = ConfigRoutesConstants.configurationRouteList;\n\n const [routeList, setRouteList] = useState({ noLayoutRoutes: [], rfqProcessLayoutRoutes: [], configurationsLayoutRoutes: [] });\n\n const clientCode = clientInfo.clientCode;\n const urlClientCode = DATA_CONSTANT.IsCustomDomainClient ? \"\" : `/${DATA_CONSTANT.ClientCode}`;\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n\n if (!DATA_CONSTANT.IsCustomDomainClient && clientCode != DATA_CONSTANT.ClientCode) {\n setClientInfo(DATA_CONSTANT.ClientCode);\n\n if (clientCode) {\n resetReduxData();\n history.push(CommonService.getRoutePath(\"\"));\n }\n }\n\n trackPromise(getRouteList());\n\n }, [])\n\n useEffect(() => {\n checkIsCustomQuote();\n if (isViewMode && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.quoteHistory}` && !location.pathname.includes(\"configurations\")) {\n if (isBomAnalysis && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.reviewbom}`) {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.reviewbom));\n\n }\n else if (!isBomAnalysis && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.checkout}`) {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.checkout));\n }\n }\n }, [location])\n\n const checkIsCustomQuote = () => {\n if (isCustomQuote && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.quoteHistory}` && location.pathname != `${urlClientCode}/${DATA_CONSTANT.routes.customQuote}`) {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.customQuote));\n }\n }\n\n const [routesForAllowDocumentUpload, setRoutesForAllowDocumentUpload] = useState();\n\n const getRouteList = async () => {\n let result = await RouteService.RouteList();\n result.routeList.map((obj) => {\n obj.routeUrl = `${urlClientCode}${obj.routeUrl}`\n });\n menuItem.map((obj) => {\n obj.routeUrl = `${urlClientCode}${obj.routeUrl}`\n });\n if (result) {\n let routesForContext = []\n result.routeList.map((obj) => {\n var route = {\n RouteUrl: obj.routeUrl,\n AllowDocumentUpload: obj.allowDocumentUpload,\n AllowAssemblyDiscussion: obj.allowAssemblyDiscussion\n }\n routesForContext.push(route);\n });\n setRoutesForAllowDocumentUpload(routesForContext);\n let noLayoutRoutes = result.routeList ? result.routeList.filter((route) => (!route.layoutRequired)) : [];\n let rfqProcessLayoutRoutes = result.routeList ? result.routeList.filter((route) => (route.layoutRequired)) : [];\n let configurationsLayoutRoutes = menuItem || [];\n setRouteList({\n noLayoutRoutes: noLayoutRoutes,\n rfqProcessLayoutRoutes: rfqProcessLayoutRoutes,\n configurationsLayoutRoutes: configurationsLayoutRoutes\n });\n }\n }\n\n return (\n }>\n \n \n {routeList?.noLayoutRoutes.length > 0 &&\n routeList.noLayoutRoutes.map((route) => {\n if (route.loginRequired) {\n return import(`${route.componentPath}`))} title={route.routeName} key={`route_${route.routeName}`} />\n } else {\n return import(`${route.componentPath}`))} title={route.routeName} key={`route_${route.routeName}`} />\n }\n })\n }\n {routeList?.rfqProcessLayoutRoutes.length > 0 ?\n\n routeList.rfqProcessLayoutRoutes.map((route) => {\n if (route.loginRequired) {\n return (\n import(`${route.componentPath}`))}\n title={route.routeName} key={`route_${route.routeName}`} layout={RfqProcessLayout} />\n )\n } else {\n return (\n import(`${route.componentPath}`))} title={route.routeName} key={`route_${route.routeName}`}\n layout={RfqProcessLayout} />\n )\n }\n })\n\n\n : <>\n }\n {routeList?.configurationsLayoutRoutes.length > 0 ?\n routeList.configurationsLayoutRoutes.map((route) => {\n return (\n import(`${route.componentPath}`))}\n title={route.title} key={`route_${route.routeName}`} layout={ConfigurationsLayout} />\n )\n })\n\n : <>\n }\n \n (\n )} />\n\n \n \n );\n}\n\nconst mapStateToProps = state => ({\n isCustomQuote: state.RFQDetails?.isCustomQuoteRequires,\n isViewMode: state.RFQDetails?.rfqDetails?.isViewMode,\n isBomAnalysis: state.RFQDetails?.rfqDetails?.isBomAnalysis,\n clientInfo: state.Client\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n setClientInfo: (clientCode) => dispatch(setClientCode(clientCode)),\n resetReduxData: () => {\n dispatch(clearStore());\n dispatch(resetCompletedSteps());\n dispatch(clearJobType({}));\n }\n})\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Routes);","import { createStore, combineReducers } from 'redux';\nimport storageSession from 'redux-persist/lib/storage/session';\nimport { persistReducer } from 'redux-persist';\nimport { reducer as oidcReducer } from \"redux-oidc\";\nimport { JobTypes, DefaultConfigs, RFQDetails, CompletedSteps, BomFile, Client, PCBNetQuoteDetails } from '../redux/reducers/index';\n\n\nconst reducers = {\n JobTypes: JobTypes,\n DefaultConfigs: DefaultConfigs,\n RFQDetails: RFQDetails,\n CompletedSteps: CompletedSteps,\n BomFile: BomFile,\n oidc: oidcReducer,\n Client: Client,\n PCBNetQuoteDetails: PCBNetQuoteDetails\n};\n\nconst appReducer = combineReducers(reducers);\n\nconst rootReducer = (state, action) => {\n\n // Clear all store data\n // if (action.type === CLEAR_STORE) {\n // state = undefined;\n // }\n\n if (action.type === \"redux-oidc/SESSION_TERMINATED\" || action.type === \"redux-oidc/USER_SIGNED_OUT\") {\n state = undefined;\n }\n\n if (action.type == 'redux-oidc/USER_FOUND' && state.oidc.user != undefined &&\n action.payload.profile.EmailConfirmed.toLowerCase() == 'true' && state.oidc.user.profile.EmailConfirmed.toLowerCase() == 'false') {\n state.oidc.user = { ...action.payload };\n }\n\n return appReducer(state, action)\n}\n\nconst persistConfig = {\n key: 'root',\n storage: storageSession\n};\n\n\nconst persistedReducer = persistReducer(persistConfig, rootReducer)\n\nexport const configureStore = () => createStore(persistedReducer,\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());","export const ConfigRoutesConstants = {\n configurationRouteList: [{\n id: 1,\n routeName: 'configurations',\n routeUrl: '/configurations',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/ConfigurationsPage',\n exact: true, linkDisplay: false,\n title: \"Configurations\"\n },\n {\n id: 2,\n routeName: 'terminology',\n routeUrl: '/configurations/terminology',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/TerminologyPage',\n exact: false, linkDisplay: true,\n title: \"Terminology\"\n },\n {\n id: 3,\n routeName: 'misc',\n routeUrl: '/configurations/misc',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/ConfigurationsPage',\n exact: false, linkDisplay: true,\n title: \"Misc Configurations\"\n },\n {\n id: 4,\n routeName: 'jobtypes',\n routeUrl: '/configurations/jobtypes',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/JobTypesConfigurationPage',\n exact: false, linkDisplay: true,\n title: \"Job Types\"\n },\n {\n id: 5,\n routeName: 'rfqsteps',\n routeUrl: '/configurations/rfqsteps',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/RFQStepsConfigurationPage',\n exact: false, linkDisplay: true,\n title: \"RFQ Steps\"\n },\n {\n id: 6,\n routeName: 'shippingmethods',\n routeUrl: '/configurations/shippingmethods',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/ShippingMethodsConfigurationPage',\n exact: false, linkDisplay: true,\n title: \"Shipping Methods\"\n },\n {\n id: 7,\n routeName: 'marketingcontent',\n routeUrl: '/configurations/marketingcontent',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/MarketingContentPage',\n exact: false, linkDisplay: true,\n title: \"Marketing Content\"\n },\n {\n id: 8,\n routeName: 'checklist',\n routeUrl: '/configurations/checklist',\n layoutRequired: false,\n loginRequired: true,\n allowDocumentUpload: false,\n componentPath: './pages/Configurations/CheckListConfigurationPage',\n exact: false, linkDisplay: true,\n title: \"Checklist\"\n }\n\n //,{\n // id: 3,\n // routeName: 'marketing',\n // routeUrl: '/configurations/marketing',\n // layoutRequired: false,\n // loginRequired: true, allowDocumentUpload: false,\n // componentPath: './pages/Configurations/TerminologyPage',\n // exact: false, linkDisplay: true,\n // title: \"Marketing\"\n //}\n ]\n}","import React, { useEffect } from 'react';\nimport { Route, useHistory, useLocation } from 'react-router-dom';\nimport { OIDCService } from '../../constants/UserManager';\nimport { connect } from \"react-redux\";\nimport { CommonService } from \"../../services/CommonService\";\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\n\nconst PrivateRoute = ({\n component: Component,\n clientInfo,\n layout: Layout,\n ...props\n}) => {\n const history = useHistory();\n const location = useLocation();\n\n useEffect(() => {\n if (props.title) {\n document.title = `${props.title} | ${clientInfo.clientName}`;\n }\n });\n\n let isUserLoggedIn = false;\n const checkUserLoggedIn = () => {\n if (location.pathname.indexOf('callback') < 0) {\n isUserLoggedIn = OIDCService.login();\n if (isUserLoggedIn) {\n let hasAccessRights = OIDCService.hasUserAccessRights();\n if (hasAccessRights === false) {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 401);\n }\n }\n }\n }\n\n checkUserLoggedIn();\n if (Layout) {\n return (\n isUserLoggedIn && (\n \n \n \n \n \n )\n )\n }\n return (\n isUserLoggedIn && ( \n \n )\n )\n}\n\n\nconst mapStateToProps = (state) => ({\n clientInfo: state.Client\n});\n\nexport default connect(mapStateToProps)(PrivateRoute);\n","import { createBrowserHistory } from 'history';\nexport const history = createBrowserHistory({ basename: process.env.PUBLIC_URL });\n","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const DocumentService = {\n downLoadFile: (filename) => {\n return CommonHttpService.DownLoadFile(`${URL_CONSTANT.RequestForm.DownLoadFile}?fileName=${filename}`, filename);\n },\n generatePreSignedUrl: (count) => {\n return CommonHttpService.httpGet(`${URL_CONSTANT.Document.GeneratePreSignedUrl}?documentCount=${count}`);\n },\n uploadFilesToS3: (fileData) => new Promise((resolve, reject) => {\n\n const requests = fileData.map((obj) => CommonHttpService.httpFilePutToS3(obj.presignedURL, obj.file));\n\n Promise.all(requests).then((responses) => {\n resolve(responses);\n })\n .catch((errors) => {\n errors.forEach((error) => console.error(error));\n reject(errors);\n });\n }),\n insertDocuments: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.Document.InsertDocuments, data);\n }\n\n}","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const RequestFormService = {\n\n getDefaultConfigurations: (jobType) => {\n const url = `${URL_CONSTANT.RequestForm.GetDefaultConfigurations}?jobType=${jobType}`;\n return CommonHttpService.httpGet(url);\n },\n\n CreateRFQ: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.CreateRFQ, data);\n },\n\n UpdateRFQ: (data) => {\n return CommonHttpService.httpPut(URL_CONSTANT.RequestForm.UpdateRFQ, data);\n },\n CloneRFQ: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.CloneRFQ, data);\n },\n\n GetAllQuoteType: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.RequestForm.GetAllQuoteType);\n },\n\n GetRFQDetails: (rfqId, assemblyId) => {\n const url = `${URL_CONSTANT.RequestForm.GetRFQDetails}?rfqId=${rfqId}&&assemblyId=${assemblyId}`;\n return CommonHttpService.httpGet(url);\n },\n GetRFQData: (assemblyId) => {\n const url = `${URL_CONSTANT.RequestForm.GetRFQDetails}?assemblyId=${assemblyId}`;\n return CommonHttpService.httpGet(url);\n },\n GetRFQDocuments: (userId, assemblyId) => {\n const url = `${URL_CONSTANT.RequestForm.GetRFQDocuments}?userId=${userId}&&assemblyId=${assemblyId}`;\n return CommonHttpService.httpGet(url);\n },\n\n DeleteQuantity: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.DeleteQuantity, data);\n },\n\n DeleteTurnTime: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.DeleteTurnTime, data);\n },\n\n DeleteRFQDocument: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.DeleteRFQDocument, data);\n },\n\n UpdateAssemblyFieldValue: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.UpdateAssemblyFieldValue, data);\n },\n\n UpdateAdjustedTurnTimeApprovalStatus: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.UpdateAdjustedTurnTimeApprovalStatus, data);\n },\n\n GetRFQList: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.GetRFQList, data);\n },\n\n GetRFQInfoForContinue: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.GetRFQInfoForContinue, data);\n },\n\n CreateBomHealthAssembly: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RequestForm.CreateBomHealthAssembly, data);\n },\n\n GetCustomerContactByEmail: (email) => {\n const url = `${URL_CONSTANT.RequestForm.GetCustomerContactByEmail}?email=${email}`;\n return CommonHttpService.httpGet(url);\n },\n}","import \"bootstrap/dist/css/bootstrap.css\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport registerServiceWorker from \"./registerServiceWorker\";\nimport withClearCache from './ClearCache';\nimport MainComponent from './main';\n\nconst rootElement = document.getElementById(\"root\");\n\nconst RootComponentWithClearCache = withClearCache(MainComponent);\n\nReactDOM.render(\n\n ,\n rootElement\n);\n\nregisterServiceWorker();\n","import { SET_CLIENT_NAME, SET_CLIENT_CODE } from '../../constants/ActionConstants';\n\nexport const setClientName = (clientName) => ({\n type: SET_CLIENT_NAME,\n data: { clientName: clientName }\n});\n\nexport const setClientCode = (clientCode) => ({\n type: SET_CLIENT_CODE,\n data: { clientCode: clientCode }\n});","var map = {\n\t\".\": [\n\t\t127,\n\t\t9\n\t],\n\t\"./\": [\n\t\t127,\n\t\t9\n\t],\n\t\"./App\": [\n\t\t170,\n\t\t9\n\t],\n\t\"./App.js\": [\n\t\t170,\n\t\t9\n\t],\n\t\"./App.test\": [\n\t\t388,\n\t\t9,\n\t\t78\n\t],\n\t\"./App.test.js\": [\n\t\t388,\n\t\t9,\n\t\t78\n\t],\n\t\"./ClearCache\": [\n\t\t181,\n\t\t9\n\t],\n\t\"./ClearCache.js\": [\n\t\t181,\n\t\t9\n\t],\n\t\"./CustomHooks/GoogleAnalytics/UsePageViews\": [\n\t\t195,\n\t\t9\n\t],\n\t\"./CustomHooks/GoogleAnalytics/UsePageViews.js\": [\n\t\t195,\n\t\t9\n\t],\n\t\"./History\": [\n\t\t111,\n\t\t9\n\t],\n\t\"./History.js\": [\n\t\t111,\n\t\t9\n\t],\n\t\"./Routes\": [\n\t\t106,\n\t\t9\n\t],\n\t\"./Routes.js\": [\n\t\t106,\n\t\t9\n\t],\n\t\"./components/AddAlternates/AddAlternates\": [\n\t\t338,\n\t\t9,\n\t\t4,\n\t\t5,\n\t\t18\n\t],\n\t\"./components/AddAlternates/AddAlternates.css\": [\n\t\t452,\n\t\t7,\n\t\t118\n\t],\n\t\"./components/AddAlternates/AddAlternates.js\": [\n\t\t338,\n\t\t9,\n\t\t4,\n\t\t5,\n\t\t18\n\t],\n\t\"./components/Alternate/Alternates.css\": [\n\t\t453,\n\t\t7,\n\t\t119\n\t],\n\t\"./components/Alternate/SuggestedAlternates\": [\n\t\t339,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t39\n\t],\n\t\"./components/Alternate/SuggestedAlternates.js\": [\n\t\t339,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t39\n\t],\n\t\"./components/AssemblyChat/AssemblyChat\": [\n\t\t189,\n\t\t9\n\t],\n\t\"./components/AssemblyChat/AssemblyChat.css\": [\n\t\t280,\n\t\t7\n\t],\n\t\"./components/AssemblyChat/AssemblyChat.js\": [\n\t\t189,\n\t\t9\n\t],\n\t\"./components/BOM/BOMHealthModal\": [\n\t\t340,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t76,\n\t\t60\n\t],\n\t\"./components/BOM/BOMHealthModal.css\": [\n\t\t454,\n\t\t7,\n\t\t120\n\t],\n\t\"./components/BOM/BOMHealthModal.js\": [\n\t\t340,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t76,\n\t\t60\n\t],\n\t\"./components/BOM/ImportBOM.css\": [\n\t\t460,\n\t\t7,\n\t\t121\n\t],\n\t\"./components/BOM/ImportBOMModal\": [\n\t\t347,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t4,\n\t\t5,\n\t\t15\n\t],\n\t\"./components/BOM/ImportBOMModal.js\": [\n\t\t347,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t4,\n\t\t5,\n\t\t15\n\t],\n\t\"./components/BOMHealthMonitor/BOMHealthMonitorList\": [\n\t\t360,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t48\n\t],\n\t\"./components/BOMHealthMonitor/BOMHealthMonitorList.css\": [\n\t\t461,\n\t\t7,\n\t\t122\n\t],\n\t\"./components/BOMHealthMonitor/BOMHealthMonitorList.js\": [\n\t\t360,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t48\n\t],\n\t\"./components/CheckListBuilder/CheckListBuilder\": [\n\t\t335,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t52\n\t],\n\t\"./components/CheckListBuilder/CheckListBuilder.js\": [\n\t\t335,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t52\n\t],\n\t\"./components/CommonComponents/AccordionToggle\": [\n\t\t330,\n\t\t9,\n\t\t63\n\t],\n\t\"./components/CommonComponents/AccordionToggle.js\": [\n\t\t330,\n\t\t9,\n\t\t63\n\t],\n\t\"./components/CommonComponents/AssemblyName\": [\n\t\t389,\n\t\t9,\n\t\t79\n\t],\n\t\"./components/CommonComponents/AssemblyName.js\": [\n\t\t389,\n\t\t9,\n\t\t79\n\t],\n\t\"./components/CommonComponents/LoadingSpiner\": [\n\t\t78,\n\t\t9\n\t],\n\t\"./components/CommonComponents/LoadingSpiner.js\": [\n\t\t78,\n\t\t9\n\t],\n\t\"./components/CommonComponents/LoadingSpinner.css\": [\n\t\t270,\n\t\t7\n\t],\n\t\"./components/CommonComponents/LoadingWrapper\": [\n\t\t159,\n\t\t9\n\t],\n\t\"./components/CommonComponents/LoadingWrapper.js\": [\n\t\t159,\n\t\t9\n\t],\n\t\"./components/CommonComponents/Logout\": [\n\t\t390,\n\t\t9,\n\t\t80\n\t],\n\t\"./components/CommonComponents/Logout.js\": [\n\t\t390,\n\t\t9,\n\t\t80\n\t],\n\t\"./components/CommonComponents/NavigationBlocker\": [\n\t\t141,\n\t\t9\n\t],\n\t\"./components/CommonComponents/NavigationBlocker.js\": [\n\t\t141,\n\t\t9\n\t],\n\t\"./components/ConfigurationSideMenu/ConfigurationSideMenu\": [\n\t\t190,\n\t\t9\n\t],\n\t\"./components/ConfigurationSideMenu/ConfigurationSideMenu.css\": [\n\t\t281,\n\t\t7\n\t],\n\t\"./components/ConfigurationSideMenu/ConfigurationSideMenu.js\": [\n\t\t190,\n\t\t9\n\t],\n\t\"./components/Configurations/CheckListConfiguration\": [\n\t\t361,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t14\n\t],\n\t\"./components/Configurations/CheckListConfiguration.js\": [\n\t\t361,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t14\n\t],\n\t\"./components/Configurations/JobTypesConfiguration\": [\n\t\t362,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t33\n\t],\n\t\"./components/Configurations/JobTypesConfiguration.js\": [\n\t\t362,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t33\n\t],\n\t\"./components/Configurations/MarketingContents\": [\n\t\t363,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t22\n\t],\n\t\"./components/Configurations/MarketingContents.js\": [\n\t\t363,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t22\n\t],\n\t\"./components/Configurations/MiscConfigurations\": [\n\t\t364,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t40\n\t],\n\t\"./components/Configurations/MiscConfigurations.js\": [\n\t\t364,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t40\n\t],\n\t\"./components/Configurations/RFQStepsConfiguration\": [\n\t\t365,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t34\n\t],\n\t\"./components/Configurations/RFQStepsConfiguration.js\": [\n\t\t365,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t34\n\t],\n\t\"./components/Configurations/ShippingMethodsConfiguration\": [\n\t\t366,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t30\n\t],\n\t\"./components/Configurations/ShippingMethodsConfiguration.js\": [\n\t\t366,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t30\n\t],\n\t\"./components/Configurations/Terminology\": [\n\t\t367,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t41\n\t],\n\t\"./components/Configurations/Terminology.js\": [\n\t\t367,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t41\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGrid\": [\n\t\t308,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t64\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGrid.css\": [\n\t\t444,\n\t\t7,\n\t\t123\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGrid.js\": [\n\t\t308,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t64\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/EditableComponent/Dropdown\": [\n\t\t315,\n\t\t9,\n\t\t81\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/EditableComponent/Dropdown.js\": [\n\t\t315,\n\t\t9,\n\t\t81\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/EditableComponent/InputText\": [\n\t\t321,\n\t\t9,\n\t\t82\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/EditableComponent/InputText.js\": [\n\t\t321,\n\t\t9,\n\t\t82\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/sorter\": [\n\t\t312,\n\t\t9,\n\t\t83\n\t],\n\t\"./components/ControlComponents/AntDataGrid/DataGridUtils/sorter.js\": [\n\t\t312,\n\t\t9,\n\t\t83\n\t],\n\t\"./components/ControlComponents/AntDataGrid/MOCK_DATA\": [\n\t\t391,\n\t\t3,\n\t\t114\n\t],\n\t\"./components/ControlComponents/AntDataGrid/MOCK_DATA.json\": [\n\t\t391,\n\t\t3,\n\t\t114\n\t],\n\t\"./components/ControlComponents/CurrencyFormat/CurrencyFormat\": [\n\t\t326,\n\t\t9,\n\t\t7,\n\t\t84\n\t],\n\t\"./components/ControlComponents/CurrencyFormat/CurrencyFormat.js\": [\n\t\t326,\n\t\t9,\n\t\t7,\n\t\t84\n\t],\n\t\"./components/ControlComponents/DocumentUploader\": [\n\t\t162,\n\t\t9\n\t],\n\t\"./components/ControlComponents/DocumentUploader.js\": [\n\t\t162,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input\": [\n\t\t214,\n\t\t9,\n\t\t8\n\t],\n\t\"./components/ControlComponents/Input/\": [\n\t\t214,\n\t\t9,\n\t\t8\n\t],\n\t\"./components/ControlComponents/Input/GroupButton/GroupButton\": [\n\t\t392,\n\t\t9,\n\t\t55\n\t],\n\t\"./components/ControlComponents/Input/GroupButton/GroupButton.css\": [\n\t\t478,\n\t\t7,\n\t\t124\n\t],\n\t\"./components/ControlComponents/Input/GroupButton/GroupButton.js\": [\n\t\t392,\n\t\t9,\n\t\t55\n\t],\n\t\"./components/ControlComponents/Input/GroupToggle/GroupToggle\": [\n\t\t311,\n\t\t9,\n\t\t47\n\t],\n\t\"./components/ControlComponents/Input/GroupToggle/GroupToggle.css\": [\n\t\t447,\n\t\t7,\n\t\t125\n\t],\n\t\"./components/ControlComponents/Input/GroupToggle/GroupToggle.js\": [\n\t\t311,\n\t\t9,\n\t\t47\n\t],\n\t\"./components/ControlComponents/Input/InfoToolTip\": [\n\t\t138,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input/InfoToolTip.js\": [\n\t\t138,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input/InputCheck\": [\n\t\t309,\n\t\t9,\n\t\t71\n\t],\n\t\"./components/ControlComponents/Input/InputCheck.js\": [\n\t\t309,\n\t\t9,\n\t\t71\n\t],\n\t\"./components/ControlComponents/Input/InputControl.css\": [\n\t\t240,\n\t\t7\n\t],\n\t\"./components/ControlComponents/Input/InputDropDown\": [\n\t\t314,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t85\n\t],\n\t\"./components/ControlComponents/Input/InputDropDown.js\": [\n\t\t314,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t85\n\t],\n\t\"./components/ControlComponents/Input/InputSelect\": [\n\t\t310,\n\t\t9,\n\t\t65\n\t],\n\t\"./components/ControlComponents/Input/InputSelect.css\": [\n\t\t445,\n\t\t7,\n\t\t126\n\t],\n\t\"./components/ControlComponents/Input/InputSelect.js\": [\n\t\t310,\n\t\t9,\n\t\t65\n\t],\n\t\"./components/ControlComponents/Input/InputTextArea\": [\n\t\t142,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input/InputTextArea.js\": [\n\t\t142,\n\t\t9\n\t],\n\t\"./components/ControlComponents/Input/InputTextBox\": [\n\t\t307,\n\t\t9,\n\t\t73\n\t],\n\t\"./components/ControlComponents/Input/InputTextBox.js\": [\n\t\t307,\n\t\t9,\n\t\t73\n\t],\n\t\"./components/ControlComponents/Input/index\": [\n\t\t214,\n\t\t9,\n\t\t8\n\t],\n\t\"./components/ControlComponents/Input/index.js\": [\n\t\t214,\n\t\t9,\n\t\t8\n\t],\n\t\"./components/ControlComponents/InputButton/InputButton\": [\n\t\t61,\n\t\t9\n\t],\n\t\"./components/ControlComponents/InputButton/InputButton.css\": [\n\t\t277,\n\t\t7\n\t],\n\t\"./components/ControlComponents/InputButton/InputButton.js\": [\n\t\t61,\n\t\t9\n\t],\n\t\"./components/ControlComponents/ToastMessage/ToastMessage\": [\n\t\t313,\n\t\t9,\n\t\t61\n\t],\n\t\"./components/ControlComponents/ToastMessage/ToastMessage.css\": [\n\t\t446,\n\t\t7,\n\t\t127\n\t],\n\t\"./components/ControlComponents/ToastMessage/ToastMessage.js\": [\n\t\t313,\n\t\t9,\n\t\t61\n\t],\n\t\"./components/DocumentUploaderWithModal/DocumentUploaderWithModal\": [\n\t\t187,\n\t\t9\n\t],\n\t\"./components/DocumentUploaderWithModal/DocumentUploaderWithModal.css\": [\n\t\t278,\n\t\t7\n\t],\n\t\"./components/DocumentUploaderWithModal/DocumentUploaderWithModal.js\": [\n\t\t187,\n\t\t9\n\t],\n\t\"./components/FormatBom/Faq\": [\n\t\t368,\n\t\t9,\n\t\t38\n\t],\n\t\"./components/FormatBom/Faq.css\": [\n\t\t455,\n\t\t7,\n\t\t128\n\t],\n\t\"./components/FormatBom/Faq.js\": [\n\t\t368,\n\t\t9,\n\t\t38\n\t],\n\t\"./components/FormatBom/FaqToggle\": [\n\t\t350,\n\t\t9,\n\t\t57\n\t],\n\t\"./components/FormatBom/FaqToggle.js\": [\n\t\t350,\n\t\t9,\n\t\t57\n\t],\n\t\"./components/FormatBom/FormatBom\": [\n\t\t393,\n\t\t9,\n\t\t31\n\t],\n\t\"./components/FormatBom/FormatBom.js\": [\n\t\t393,\n\t\t9,\n\t\t31\n\t],\n\t\"./components/FormatBom/FormatBomDescriptionList\": [\n\t\t369,\n\t\t9,\n\t\t86\n\t],\n\t\"./components/FormatBom/FormatBomDescriptionList.js\": [\n\t\t369,\n\t\t9,\n\t\t86\n\t],\n\t\"./components/Header/Header\": [\n\t\t99,\n\t\t9\n\t],\n\t\"./components/Header/Header.css\": [\n\t\t276,\n\t\t7\n\t],\n\t\"./components/Header/Header.js\": [\n\t\t99,\n\t\t9\n\t],\n\t\"./components/Header/HeaderToggleButton\": [\n\t\t188,\n\t\t9\n\t],\n\t\"./components/Header/HeaderToggleButton.js\": [\n\t\t188,\n\t\t9\n\t],\n\t\"./components/JobType/JobType\": [\n\t\t342,\n\t\t9,\n\t\t53\n\t],\n\t\"./components/JobType/JobType.css\": [\n\t\t456,\n\t\t7,\n\t\t129\n\t],\n\t\"./components/JobType/JobType.js\": [\n\t\t342,\n\t\t9,\n\t\t53\n\t],\n\t\"./components/JobTypeIcons/Icon\": [\n\t\t331,\n\t\t9,\n\t\t66\n\t],\n\t\"./components/JobTypeIcons/Icon.css\": [\n\t\t450,\n\t\t7,\n\t\t130\n\t],\n\t\"./components/JobTypeIcons/Icon.js\": [\n\t\t331,\n\t\t9,\n\t\t66\n\t],\n\t\"./components/JobTypes/JobTypes\": [\n\t\t351,\n\t\t9,\n\t\t42\n\t],\n\t\"./components/JobTypes/JobTypes.css\": [\n\t\t462,\n\t\t7,\n\t\t131\n\t],\n\t\"./components/JobTypes/JobTypes.js\": [\n\t\t351,\n\t\t9,\n\t\t42\n\t],\n\t\"./components/LaborQuestionList/LaborQuestionList\": [\n\t\t352,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t74\n\t],\n\t\"./components/LaborQuestionList/LaborQuestionList.js\": [\n\t\t352,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t74\n\t],\n\t\"./components/Logo/CalcuQuoteLogo.png\": [\n\t\t480,\n\t\t7,\n\t\t163\n\t],\n\t\"./components/Logo/Logo\": [\n\t\t185,\n\t\t9\n\t],\n\t\"./components/Logo/Logo.css\": [\n\t\t275,\n\t\t7\n\t],\n\t\"./components/Logo/Logo.js\": [\n\t\t185,\n\t\t9\n\t],\n\t\"./components/MarketingContentModal\": [\n\t\t348,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t5,\n\t\t77,\n\t\t72\n\t],\n\t\"./components/MarketingContentModal.js\": [\n\t\t348,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t5,\n\t\t77,\n\t\t72\n\t],\n\t\"./components/Navigation/RFQSteps\": [\n\t\t192,\n\t\t9\n\t],\n\t\"./components/Navigation/RFQSteps.css\": [\n\t\t283,\n\t\t7\n\t],\n\t\"./components/Navigation/RFQSteps.js\": [\n\t\t192,\n\t\t9\n\t],\n\t\"./components/Navigation/TopNavMenu\": [\n\t\t186,\n\t\t9\n\t],\n\t\"./components/Navigation/TopNavMenu.css\": [\n\t\t279,\n\t\t7\n\t],\n\t\"./components/Navigation/TopNavMenu.js\": [\n\t\t186,\n\t\t9\n\t],\n\t\"./components/OrderSummaryView/OrderSummaryView\": [\n\t\t353,\n\t\t9,\n\t\t7,\n\t\t24\n\t],\n\t\"./components/OrderSummaryView/OrderSummaryView.css\": [\n\t\t463,\n\t\t7,\n\t\t132\n\t],\n\t\"./components/OrderSummaryView/OrderSummaryView.js\": [\n\t\t353,\n\t\t9,\n\t\t7,\n\t\t24\n\t],\n\t\"./components/OrderSummaryView/PcbDetails\": [\n\t\t343,\n\t\t9,\n\t\t45\n\t],\n\t\"./components/OrderSummaryView/PcbDetails.js\": [\n\t\t343,\n\t\t9,\n\t\t45\n\t],\n\t\"./components/PCB/MissingPCB\": [\n\t\t341,\n\t\t9,\n\t\t4,\n\t\t23\n\t],\n\t\"./components/PCB/MissingPCB.js\": [\n\t\t341,\n\t\t9,\n\t\t4,\n\t\t23\n\t],\n\t\"./components/PricingCompilingScreen/PricingCompilingScreen\": [\n\t\t354,\n\t\t9,\n\t\t54\n\t],\n\t\"./components/PricingCompilingScreen/PricingCompilingScreen.css\": [\n\t\t464,\n\t\t7,\n\t\t133\n\t],\n\t\"./components/PricingCompilingScreen/PricingCompilingScreen.js\": [\n\t\t354,\n\t\t9,\n\t\t54\n\t],\n\t\"./components/Quantities/QuantityList\": [\n\t\t355,\n\t\t9,\n\t\t4,\n\t\t50\n\t],\n\t\"./components/Quantities/QuantityList.css\": [\n\t\t465,\n\t\t7,\n\t\t134\n\t],\n\t\"./components/Quantities/QuantityList.js\": [\n\t\t355,\n\t\t9,\n\t\t4,\n\t\t50\n\t],\n\t\"./components/RFQList/RFQList\": [\n\t\t370,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t49\n\t],\n\t\"./components/RFQList/RFQList.css\": [\n\t\t468,\n\t\t7,\n\t\t135\n\t],\n\t\"./components/RFQList/RFQList.js\": [\n\t\t370,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t49\n\t],\n\t\"./components/ReviewBOM/BOMLineItem\": [\n\t\t345,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t44\n\t],\n\t\"./components/ReviewBOM/BOMLineItem.css\": [\n\t\t457,\n\t\t7,\n\t\t136\n\t],\n\t\"./components/ReviewBOM/BOMLineItem.js\": [\n\t\t345,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t44\n\t],\n\t\"./components/ReviewBOM/BOMSummary\": [\n\t\t344,\n\t\t9,\n\t\t68\n\t],\n\t\"./components/ReviewBOM/BOMSummary.css\": [\n\t\t458,\n\t\t7,\n\t\t137\n\t],\n\t\"./components/ReviewBOM/BOMSummary.js\": [\n\t\t344,\n\t\t9,\n\t\t68\n\t],\n\t\"./components/ReviewBOM/RequestedQuantity\": [\n\t\t346,\n\t\t9,\n\t\t43\n\t],\n\t\"./components/ReviewBOM/RequestedQuantity.css\": [\n\t\t459,\n\t\t7,\n\t\t138\n\t],\n\t\"./components/ReviewBOM/RequestedQuantity.js\": [\n\t\t346,\n\t\t9,\n\t\t43\n\t],\n\t\"./components/ReviewBOM/RequestedQuantityTitle\": [\n\t\t333,\n\t\t9,\n\t\t69\n\t],\n\t\"./components/ReviewBOM/RequestedQuantityTitle.css\": [\n\t\t451,\n\t\t7,\n\t\t139\n\t],\n\t\"./components/ReviewBOM/RequestedQuantityTitle.js\": [\n\t\t333,\n\t\t9,\n\t\t69\n\t],\n\t\"./components/ReviewBOM/ReviewBOM\": [\n\t\t356,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t11\n\t],\n\t\"./components/ReviewBOM/ReviewBOM.css\": [\n\t\t466,\n\t\t7,\n\t\t140\n\t],\n\t\"./components/ReviewBOM/ReviewBOM.js\": [\n\t\t356,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t11\n\t],\n\t\"./components/Routes/PrivateRoute\": [\n\t\t110,\n\t\t9\n\t],\n\t\"./components/Routes/PrivateRoute.js\": [\n\t\t110,\n\t\t9\n\t],\n\t\"./components/Routes/PublicRoute\": [\n\t\t132,\n\t\t9\n\t],\n\t\"./components/Routes/PublicRoute.js\": [\n\t\t132,\n\t\t9\n\t],\n\t\"./components/StripePayment/StripePaymentModal\": [\n\t\t357,\n\t\t9,\n\t\t5,\n\t\t58\n\t],\n\t\"./components/StripePayment/StripePaymentModal.css\": [\n\t\t467,\n\t\t7,\n\t\t141\n\t],\n\t\"./components/StripePayment/StripePaymentModal.js\": [\n\t\t357,\n\t\t9,\n\t\t5,\n\t\t58\n\t],\n\t\"./constants/ActionConstants\": [\n\t\t23,\n\t\t9\n\t],\n\t\"./constants/ActionConstants.js\": [\n\t\t23,\n\t\t9\n\t],\n\t\"./constants/Areas\": [\n\t\t103,\n\t\t9\n\t],\n\t\"./constants/Areas.js\": [\n\t\t103,\n\t\t9\n\t],\n\t\"./constants/ConfigRoutesConstants\": [\n\t\t108,\n\t\t9\n\t],\n\t\"./constants/ConfigRoutesConstants.js\": [\n\t\t108,\n\t\t9\n\t],\n\t\"./constants/DataConstant\": [\n\t\t8,\n\t\t9\n\t],\n\t\"./constants/DataConstant.js\": [\n\t\t8,\n\t\t9\n\t],\n\t\"./constants/ErrorConstants\": [\n\t\t358,\n\t\t9,\n\t\t87\n\t],\n\t\"./constants/ErrorConstants.js\": [\n\t\t358,\n\t\t9,\n\t\t87\n\t],\n\t\"./constants/JargonConstant\": [\n\t\t32,\n\t\t9\n\t],\n\t\"./constants/JargonConstant.js\": [\n\t\t32,\n\t\t9\n\t],\n\t\"./constants/MessageConstant\": [\n\t\t97,\n\t\t9\n\t],\n\t\"./constants/MessageConstant.js\": [\n\t\t97,\n\t\t9\n\t],\n\t\"./constants/ReviewBOMConstants\": [\n\t\t324,\n\t\t9,\n\t\t88\n\t],\n\t\"./constants/ReviewBOMConstants.js\": [\n\t\t324,\n\t\t9,\n\t\t88\n\t],\n\t\"./constants/RoutesConstant\": [\n\t\t394,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t9\n\t],\n\t\"./constants/RoutesConstant.js\": [\n\t\t394,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t9\n\t],\n\t\"./constants/UrlConstant\": [\n\t\t22,\n\t\t9\n\t],\n\t\"./constants/UrlConstant.js\": [\n\t\t22,\n\t\t9\n\t],\n\t\"./constants/UserManager\": [\n\t\t37,\n\t\t9\n\t],\n\t\"./constants/UserManager.js\": [\n\t\t37,\n\t\t9\n\t],\n\t\"./fonts/Glyphter.eot\": [\n\t\t481,\n\t\t7,\n\t\t153\n\t],\n\t\"./fonts/Glyphter.svg\": [\n\t\t482,\n\t\t7,\n\t\t154\n\t],\n\t\"./fonts/Glyphter.ttf\": [\n\t\t483,\n\t\t7,\n\t\t155\n\t],\n\t\"./fonts/Glyphter.woff\": [\n\t\t484,\n\t\t7,\n\t\t156\n\t],\n\t\"./fonts/Lato-Bold.ttf\": [\n\t\t485,\n\t\t7,\n\t\t157\n\t],\n\t\"./fonts/Lato-Hairline.ttf\": [\n\t\t486,\n\t\t7,\n\t\t158\n\t],\n\t\"./fonts/Lato-Regular.ttf\": [\n\t\t487,\n\t\t7,\n\t\t159\n\t],\n\t\"./global.style.css\": [\n\t\t271,\n\t\t7\n\t],\n\t\"./index\": [\n\t\t127,\n\t\t9\n\t],\n\t\"./index.js\": [\n\t\t127,\n\t\t9\n\t],\n\t\"./layouts/ConfigurationsLayout\": [\n\t\t184,\n\t\t9\n\t],\n\t\"./layouts/ConfigurationsLayout.js\": [\n\t\t184,\n\t\t9\n\t],\n\t\"./layouts/Layout\": [\n\t\t395,\n\t\t9,\n\t\t89\n\t],\n\t\"./layouts/Layout.js\": [\n\t\t395,\n\t\t9,\n\t\t89\n\t],\n\t\"./layouts/RfqProcessLayout\": [\n\t\t131,\n\t\t9\n\t],\n\t\"./layouts/RfqProcessLayout.css\": [\n\t\t282,\n\t\t7\n\t],\n\t\"./layouts/RfqProcessLayout.js\": [\n\t\t131,\n\t\t9\n\t],\n\t\"./main\": [\n\t\t182,\n\t\t9\n\t],\n\t\"./main.js\": [\n\t\t182,\n\t\t9\n\t],\n\t\"./pages/AssemblyDetail/AssemblyDetailPage\": [\n\t\t384,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t90\n\t],\n\t\"./pages/AssemblyDetail/AssemblyDetailPage.js\": [\n\t\t384,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t90\n\t],\n\t\"./pages/Authentication/CallbackPage\": [\n\t\t378,\n\t\t9,\n\t\t91\n\t],\n\t\"./pages/Authentication/CallbackPage.js\": [\n\t\t378,\n\t\t9,\n\t\t91\n\t],\n\t\"./pages/Authentication/EmailActivationPending.css\": [\n\t\t474,\n\t\t7,\n\t\t142\n\t],\n\t\"./pages/Authentication/EmailActivationPendingPage\": [\n\t\t381,\n\t\t9,\n\t\t70\n\t],\n\t\"./pages/Authentication/EmailActivationPendingPage.js\": [\n\t\t381,\n\t\t9,\n\t\t70\n\t],\n\t\"./pages/Authentication/RedirectToLoginPage\": [\n\t\t380,\n\t\t9,\n\t\t92\n\t],\n\t\"./pages/Authentication/RedirectToLoginPage.js\": [\n\t\t380,\n\t\t9,\n\t\t92\n\t],\n\t\"./pages/Authentication/SilentRenewalCallback\": [\n\t\t379,\n\t\t9,\n\t\t93\n\t],\n\t\"./pages/Authentication/SilentRenewalCallback.js\": [\n\t\t379,\n\t\t9,\n\t\t93\n\t],\n\t\"./pages/BOMHealthMonitor/BOMHealthMonitorHistoryPage\": [\n\t\t396,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t27\n\t],\n\t\"./pages/BOMHealthMonitor/BOMHealthMonitorHistoryPage.js\": [\n\t\t396,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t27\n\t],\n\t\"./pages/BOMHealthMonitor/BOMHealthMonitorPage\": [\n\t\t397,\n\t\t9,\n\t\t4,\n\t\t19\n\t],\n\t\"./pages/BOMHealthMonitor/BOMHealthMonitorPage.js\": [\n\t\t397,\n\t\t9,\n\t\t4,\n\t\t19\n\t],\n\t\"./pages/Checkout/Checkout\": [\n\t\t377,\n\t\t9,\n\t\t4,\n\t\t5,\n\t\t7,\n\t\t32,\n\t\t16\n\t],\n\t\"./pages/Checkout/Checkout.css\": [\n\t\t473,\n\t\t7,\n\t\t143\n\t],\n\t\"./pages/Checkout/Checkout.js\": [\n\t\t377,\n\t\t9,\n\t\t4,\n\t\t5,\n\t\t7,\n\t\t32,\n\t\t16\n\t],\n\t\"./pages/Complete/QuoteCQQuoteComplete\": [\n\t\t398,\n\t\t9,\n\t\t94\n\t],\n\t\"./pages/Complete/QuoteCQQuoteComplete.js\": [\n\t\t398,\n\t\t9,\n\t\t94\n\t],\n\t\"./pages/Complete/QuoteComplete\": [\n\t\t372,\n\t\t9,\n\t\t95\n\t],\n\t\"./pages/Complete/QuoteComplete.js\": [\n\t\t372,\n\t\t9,\n\t\t95\n\t],\n\t\"./pages/Configurations/CheckListConfigurationPage\": [\n\t\t399,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t13\n\t],\n\t\"./pages/Configurations/CheckListConfigurationPage.js\": [\n\t\t399,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t13\n\t],\n\t\"./pages/Configurations/ConfigurationsPage\": [\n\t\t400,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t36\n\t],\n\t\"./pages/Configurations/ConfigurationsPage.js\": [\n\t\t400,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t36\n\t],\n\t\"./pages/Configurations/JobTypesConfigurationPage\": [\n\t\t401,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t28\n\t],\n\t\"./pages/Configurations/JobTypesConfigurationPage.js\": [\n\t\t401,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t28\n\t],\n\t\"./pages/Configurations/MarketingContentPage\": [\n\t\t402,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t21\n\t],\n\t\"./pages/Configurations/MarketingContentPage.js\": [\n\t\t402,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t21\n\t],\n\t\"./pages/Configurations/RFQStepsConfigurationPage\": [\n\t\t403,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t29\n\t],\n\t\"./pages/Configurations/RFQStepsConfigurationPage.js\": [\n\t\t403,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t29\n\t],\n\t\"./pages/Configurations/ShippingMethodsConfigurationPage\": [\n\t\t404,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t25\n\t],\n\t\"./pages/Configurations/ShippingMethodsConfigurationPage.js\": [\n\t\t404,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t25\n\t],\n\t\"./pages/Configurations/TerminologyPage\": [\n\t\t405,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t37\n\t],\n\t\"./pages/Configurations/TerminologyPage.js\": [\n\t\t405,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t37\n\t],\n\t\"./pages/CustomQuote/CustomQuote.css\": [\n\t\t475,\n\t\t7,\n\t\t144\n\t],\n\t\"./pages/CustomQuote/CustomQuotePage\": [\n\t\t382,\n\t\t9,\n\t\t4,\n\t\t56\n\t],\n\t\"./pages/CustomQuote/CustomQuotePage.js\": [\n\t\t382,\n\t\t9,\n\t\t4,\n\t\t56\n\t],\n\t\"./pages/Error/Error.css\": [\n\t\t476,\n\t\t7,\n\t\t145\n\t],\n\t\"./pages/Error/ErrorPage\": [\n\t\t383,\n\t\t9,\n\t\t62\n\t],\n\t\"./pages/Error/ErrorPage.js\": [\n\t\t383,\n\t\t9,\n\t\t62\n\t],\n\t\"./pages/GetQuote/ContactDetailsPage\": [\n\t\t406,\n\t\t9,\n\t\t4,\n\t\t20\n\t],\n\t\"./pages/GetQuote/ContactDetailsPage.js\": [\n\t\t406,\n\t\t9,\n\t\t4,\n\t\t20\n\t],\n\t\"./pages/GetQuote/GetQuote.css\": [\n\t\t472,\n\t\t7,\n\t\t146\n\t],\n\t\"./pages/GetQuote/GetQuotePage\": [\n\t\t387,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t35\n\t],\n\t\"./pages/GetQuote/GetQuotePage.js\": [\n\t\t387,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t35\n\t],\n\t\"./pages/GetQuote/GetQuoteProcessPage\": [\n\t\t407,\n\t\t9,\n\t\t96\n\t],\n\t\"./pages/GetQuote/GetQuoteProcessPage.js\": [\n\t\t407,\n\t\t9,\n\t\t96\n\t],\n\t\"./pages/Home/Home\": [\n\t\t371,\n\t\t9,\n\t\t26\n\t],\n\t\"./pages/Home/Home.css\": [\n\t\t469,\n\t\t7,\n\t\t147\n\t],\n\t\"./pages/Home/Home.js\": [\n\t\t371,\n\t\t9,\n\t\t26\n\t],\n\t\"./pages/Labor/LaborPage\": [\n\t\t374,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t67\n\t],\n\t\"./pages/Labor/LaborPage.js\": [\n\t\t374,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t4,\n\t\t6,\n\t\t67\n\t],\n\t\"./pages/PCB/Pcb\": [\n\t\t376,\n\t\t9,\n\t\t4,\n\t\t17\n\t],\n\t\"./pages/PCB/Pcb.css\": [\n\t\t471,\n\t\t7,\n\t\t148\n\t],\n\t\"./pages/PCB/Pcb.js\": [\n\t\t376,\n\t\t9,\n\t\t4,\n\t\t17\n\t],\n\t\"./pages/PCBNet/PCBNetQuoteComplete\": [\n\t\t408,\n\t\t9,\n\t\t75\n\t],\n\t\"./pages/PCBNet/PCBNetQuoteComplete.js\": [\n\t\t408,\n\t\t9,\n\t\t75\n\t],\n\t\"./pages/QuoteHistory/QuoteHistoryPage\": [\n\t\t409,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t46\n\t],\n\t\"./pages/QuoteHistory/QuoteHistoryPage.css\": [\n\t\t488,\n\t\t7,\n\t\t149\n\t],\n\t\"./pages/QuoteHistory/QuoteHistoryPage.js\": [\n\t\t409,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t46\n\t],\n\t\"./pages/QuoteProcessSelection/QuoteProcessSelection.css\": [\n\t\t477,\n\t\t7,\n\t\t150\n\t],\n\t\"./pages/QuoteProcessSelection/QuoteProcessSelectionPage\": [\n\t\t385,\n\t\t9,\n\t\t59\n\t],\n\t\"./pages/QuoteProcessSelection/QuoteProcessSelectionPage.js\": [\n\t\t385,\n\t\t9,\n\t\t59\n\t],\n\t\"./pages/RFQ/RFQ.css\": [\n\t\t470,\n\t\t7,\n\t\t151\n\t],\n\t\"./pages/RFQ/RFQPage\": [\n\t\t373,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t4,\n\t\t5,\n\t\t12\n\t],\n\t\"./pages/RFQ/RFQPage.js\": [\n\t\t373,\n\t\t9,\n\t\t0,\n\t\t2,\n\t\t4,\n\t\t5,\n\t\t12\n\t],\n\t\"./pages/ReviewBOM/ReviewBOMPage\": [\n\t\t375,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t10\n\t],\n\t\"./pages/ReviewBOM/ReviewBOMPage.js\": [\n\t\t375,\n\t\t9,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t10\n\t],\n\t\"./pages/ScrubMyBom/ScrubMyBomProcessPage\": [\n\t\t410,\n\t\t9,\n\t\t51\n\t],\n\t\"./pages/ScrubMyBom/ScrubMyBomProcessPage.css\": [\n\t\t479,\n\t\t7,\n\t\t152\n\t],\n\t\"./pages/ScrubMyBom/ScrubMyBomProcessPage.js\": [\n\t\t410,\n\t\t9,\n\t\t51\n\t],\n\t\"./prototype/Extensions\": [\n\t\t183,\n\t\t9\n\t],\n\t\"./prototype/Extensions.js\": [\n\t\t183,\n\t\t9\n\t],\n\t\"./redux/actions\": [\n\t\t59,\n\t\t9\n\t],\n\t\"./redux/actions/\": [\n\t\t59,\n\t\t9\n\t],\n\t\"./redux/actions/ClearJobType\": [\n\t\t100,\n\t\t9\n\t],\n\t\"./redux/actions/ClearJobType.js\": [\n\t\t100,\n\t\t9\n\t],\n\t\"./redux/actions/ClearStoreActions\": [\n\t\t150,\n\t\t9\n\t],\n\t\"./redux/actions/ClearStoreActions.js\": [\n\t\t150,\n\t\t9\n\t],\n\t\"./redux/actions/CompletedStepActions\": [\n\t\t74,\n\t\t9\n\t],\n\t\"./redux/actions/CompletedStepActions.js\": [\n\t\t74,\n\t\t9\n\t],\n\t\"./redux/actions/DefaultConfigActions\": [\n\t\t164,\n\t\t9\n\t],\n\t\"./redux/actions/DefaultConfigActions.js\": [\n\t\t164,\n\t\t9\n\t],\n\t\"./redux/actions/JobTypeActions\": [\n\t\t157,\n\t\t9\n\t],\n\t\"./redux/actions/JobTypeActions.js\": [\n\t\t157,\n\t\t9\n\t],\n\t\"./redux/actions/PCBNetQuoteActions\": [\n\t\t179,\n\t\t9\n\t],\n\t\"./redux/actions/PCBNetQuoteActions.js\": [\n\t\t179,\n\t\t9\n\t],\n\t\"./redux/actions/RFQDetailActions\": [\n\t\t96,\n\t\t9\n\t],\n\t\"./redux/actions/RFQDetailActions.js\": [\n\t\t96,\n\t\t9\n\t],\n\t\"./redux/actions/SetBomFIleAction\": [\n\t\t165,\n\t\t9\n\t],\n\t\"./redux/actions/SetBomFIleAction.js\": [\n\t\t165,\n\t\t9\n\t],\n\t\"./redux/actions/SetClient\": [\n\t\t128,\n\t\t9\n\t],\n\t\"./redux/actions/SetClient.js\": [\n\t\t128,\n\t\t9\n\t],\n\t\"./redux/actions/index\": [\n\t\t59,\n\t\t9\n\t],\n\t\"./redux/actions/index.js\": [\n\t\t59,\n\t\t9\n\t],\n\t\"./redux/reducers\": [\n\t\t63,\n\t\t9\n\t],\n\t\"./redux/reducers/\": [\n\t\t63,\n\t\t9\n\t],\n\t\"./redux/reducers/BomFile\": [\n\t\t175,\n\t\t9\n\t],\n\t\"./redux/reducers/BomFile.js\": [\n\t\t175,\n\t\t9\n\t],\n\t\"./redux/reducers/Client\": [\n\t\t176,\n\t\t9\n\t],\n\t\"./redux/reducers/Client.js\": [\n\t\t176,\n\t\t9\n\t],\n\t\"./redux/reducers/CompletedSteps\": [\n\t\t174,\n\t\t9\n\t],\n\t\"./redux/reducers/CompletedSteps.js\": [\n\t\t174,\n\t\t9\n\t],\n\t\"./redux/reducers/DefaultConfigs\": [\n\t\t172,\n\t\t9\n\t],\n\t\"./redux/reducers/DefaultConfigs.js\": [\n\t\t172,\n\t\t9\n\t],\n\t\"./redux/reducers/JobTypes\": [\n\t\t171,\n\t\t9\n\t],\n\t\"./redux/reducers/JobTypes.js\": [\n\t\t171,\n\t\t9\n\t],\n\t\"./redux/reducers/PCBNetQuoteDetails\": [\n\t\t177,\n\t\t9\n\t],\n\t\"./redux/reducers/PCBNetQuoteDetails.js\": [\n\t\t177,\n\t\t9\n\t],\n\t\"./redux/reducers/RFQDetails\": [\n\t\t173,\n\t\t9\n\t],\n\t\"./redux/reducers/RFQDetails.js\": [\n\t\t173,\n\t\t9\n\t],\n\t\"./redux/reducers/index\": [\n\t\t63,\n\t\t9\n\t],\n\t\"./redux/reducers/index.js\": [\n\t\t63,\n\t\t9\n\t],\n\t\"./redux/store\": [\n\t\t107,\n\t\t9\n\t],\n\t\"./redux/store.js\": [\n\t\t107,\n\t\t9\n\t],\n\t\"./registerServiceWorker\": [\n\t\t180,\n\t\t9\n\t],\n\t\"./registerServiceWorker.js\": [\n\t\t180,\n\t\t9\n\t],\n\t\"./resources/SvgIcons/labor.svg\": [\n\t\t489,\n\t\t7,\n\t\t160\n\t],\n\t\"./resources/SvgIcons/material.svg\": [\n\t\t490,\n\t\t7,\n\t\t161\n\t],\n\t\"./resources/SvgIcons/pcb.svg\": [\n\t\t491,\n\t\t7,\n\t\t162\n\t],\n\t\"./services/AccountService\": [\n\t\t191,\n\t\t9\n\t],\n\t\"./services/AccountService.js\": [\n\t\t191,\n\t\t9\n\t],\n\t\"./services/AlternatePartService\": [\n\t\t329,\n\t\t9,\n\t\t97\n\t],\n\t\"./services/AlternatePartService.js\": [\n\t\t329,\n\t\t9,\n\t\t97\n\t],\n\t\"./services/AssemblyChatService\": [\n\t\t88,\n\t\t9\n\t],\n\t\"./services/AssemblyChatService.js\": [\n\t\t88,\n\t\t9\n\t],\n\t\"./services/BOMService\": [\n\t\t316,\n\t\t9,\n\t\t98\n\t],\n\t\"./services/BOMService.js\": [\n\t\t316,\n\t\t9,\n\t\t98\n\t],\n\t\"./services/CheckListBuilderService\": [\n\t\t319,\n\t\t9,\n\t\t99\n\t],\n\t\"./services/CheckListBuilderService.js\": [\n\t\t319,\n\t\t9,\n\t\t99\n\t],\n\t\"./services/CommonHttpService\": [\n\t\t21,\n\t\t9\n\t],\n\t\"./services/CommonHttpService.js\": [\n\t\t21,\n\t\t9\n\t],\n\t\"./services/CommonService\": [\n\t\t25,\n\t\t9\n\t],\n\t\"./services/CommonService.js\": [\n\t\t25,\n\t\t9\n\t],\n\t\"./services/ConfigurationService\": [\n\t\t85,\n\t\t9\n\t],\n\t\"./services/ConfigurationService.js\": [\n\t\t85,\n\t\t9\n\t],\n\t\"./services/ContactDetailsService\": [\n\t\t386,\n\t\t9,\n\t\t100\n\t],\n\t\"./services/ContactDetailsService.js\": [\n\t\t386,\n\t\t9,\n\t\t100\n\t],\n\t\"./services/CustomQuoteService\": [\n\t\t359,\n\t\t9,\n\t\t101\n\t],\n\t\"./services/CustomQuoteService.js\": [\n\t\t359,\n\t\t9,\n\t\t101\n\t],\n\t\"./services/DocumentService\": [\n\t\t113,\n\t\t9\n\t],\n\t\"./services/DocumentService.js\": [\n\t\t113,\n\t\t9\n\t],\n\t\"./services/JargonService\": [\n\t\t169,\n\t\t9\n\t],\n\t\"./services/JargonService.js\": [\n\t\t169,\n\t\t9\n\t],\n\t\"./services/JobTypeService\": [\n\t\t320,\n\t\t9,\n\t\t102\n\t],\n\t\"./services/JobTypeService.js\": [\n\t\t320,\n\t\t9,\n\t\t102\n\t],\n\t\"./services/LaborService\": [\n\t\t332,\n\t\t9,\n\t\t103\n\t],\n\t\"./services/LaborService.js\": [\n\t\t332,\n\t\t9,\n\t\t103\n\t],\n\t\"./services/MarketingContentService\": [\n\t\t323,\n\t\t9,\n\t\t104\n\t],\n\t\"./services/MarketingContentService.js\": [\n\t\t323,\n\t\t9,\n\t\t104\n\t],\n\t\"./services/OIDCService\": [\n\t\t411,\n\t\t7,\n\t\t105\n\t],\n\t\"./services/OIDCService.js\": [\n\t\t411,\n\t\t7,\n\t\t105\n\t],\n\t\"./services/OrderService\": [\n\t\t322,\n\t\t9,\n\t\t106\n\t],\n\t\"./services/OrderService.js\": [\n\t\t322,\n\t\t9,\n\t\t106\n\t],\n\t\"./services/PCBNetService\": [\n\t\t336,\n\t\t9,\n\t\t107\n\t],\n\t\"./services/PCBNetService.js\": [\n\t\t336,\n\t\t9,\n\t\t107\n\t],\n\t\"./services/PCBService\": [\n\t\t327,\n\t\t9,\n\t\t108\n\t],\n\t\"./services/PCBService.js\": [\n\t\t327,\n\t\t9,\n\t\t108\n\t],\n\t\"./services/PricingService\": [\n\t\t325,\n\t\t9,\n\t\t109\n\t],\n\t\"./services/PricingService.js\": [\n\t\t325,\n\t\t9,\n\t\t109\n\t],\n\t\"./services/QuotePriceService\": [\n\t\t337,\n\t\t9,\n\t\t110\n\t],\n\t\"./services/QuotePriceService.js\": [\n\t\t337,\n\t\t9,\n\t\t110\n\t],\n\t\"./services/RFQProcessStatusService\": [\n\t\t144,\n\t\t9\n\t],\n\t\"./services/RFQProcessStatusService.js\": [\n\t\t144,\n\t\t9\n\t],\n\t\"./services/ReportService\": [\n\t\t328,\n\t\t9,\n\t\t111\n\t],\n\t\"./services/ReportService.js\": [\n\t\t328,\n\t\t9,\n\t\t111\n\t],\n\t\"./services/RequestFormService\": [\n\t\t121,\n\t\t9\n\t],\n\t\"./services/RequestFormService.js\": [\n\t\t121,\n\t\t9\n\t],\n\t\"./services/RouteService\": [\n\t\t194,\n\t\t9\n\t],\n\t\"./services/RouteService.js\": [\n\t\t194,\n\t\t9\n\t],\n\t\"./services/SessionStorageService\": [\n\t\t45,\n\t\t9\n\t],\n\t\"./services/SessionStorageService.js\": [\n\t\t45,\n\t\t9\n\t],\n\t\"./services/ShippingMethodService\": [\n\t\t349,\n\t\t9,\n\t\t112\n\t],\n\t\"./services/ShippingMethodService.js\": [\n\t\t349,\n\t\t9,\n\t\t112\n\t],\n\t\"./services/SignalrService\": [\n\t\t196,\n\t\t9\n\t],\n\t\"./services/SignalrService.js\": [\n\t\t196,\n\t\t9\n\t],\n\t\"./services/SummaryService\": [\n\t\t334,\n\t\t9,\n\t\t113\n\t],\n\t\"./services/SummaryService.js\": [\n\t\t334,\n\t\t9,\n\t\t113\n\t],\n\t\"./services/UploadDocumentService\": [\n\t\t152,\n\t\t9\n\t],\n\t\"./services/UploadDocumentService.js\": [\n\t\t152,\n\t\t9\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 129;\nmodule.exports = webpackAsyncContext;","import React, { useEffect, useState } from \"react\";\nimport Header from '../components/Header/Header';\nimport './RfqProcessLayout.css'\nimport { Container, Row, Col } from \"react-bootstrap\";\nimport RFQSteps from \"../components/Navigation/RFQSteps\";\nimport { connect } from \"react-redux\";\nimport { PrimaryButton } from \"../components/ControlComponents/InputButton/InputButton\";\nimport Swal from 'sweetalert2';\nimport { useHistory } from 'react-router-dom';\nimport { resetCompletedSteps } from '../redux/actions/CompletedStepActions';\nimport { clearJobType } from '../redux/actions/ClearJobType';\nimport NavigationBlocker from \"../components/CommonComponents/NavigationBlocker\";\nimport { JARGON_CONSTANT } from \"../constants/JargonConstant\";\nimport { CommonService } from \"../services/CommonService\";\nimport { clearStore } from \"../redux/actions\";\nimport { DATA_CONSTANT } from \"../constants/DataConstant\";\n\nconst RfqProcessLayout = ({ selectedJobType, completedSteps, isCustomQuoteRequires, children, reset }) => {\n const history = useHistory();\n\n const [navigationBlocked, setNavigationBlock] = useState(false);\n\n const [isButtonClicked, setIsButtonClicked] = useState(false);\n\n useEffect(() => {\n if (isButtonClicked) {\n setNavigationBlock(false);\n }\n }, [isButtonClicked]);\n\n const createQuoteConfirmation = () => {\n setIsButtonClicked(true);\n setNavigationBlock(true);\n Swal.fire({\n text: JARGON_CONSTANT.jargonObject.StartNewQuoteConfirmation,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: JARGON_CONSTANT.jargonObject.YesButton,\n cancelButtonText: JARGON_CONSTANT.jargonObject.NoButton,\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n if (selectedJobType) {\n selectedJobType.isAssemblyRequired = false;\n selectedJobType.isBomRequired = false;\n selectedJobType.isComponentsRequired = false;\n selectedJobType.isPcbRequired = false;\n selectedJobType.isValid = false;\n selectedJobType.jobType = [];\n selectedJobType.cqJobType = \"\";\n reset(selectedJobType);\n }\n history.push(CommonService.getRoutePath(\"\"));\n }\n })\n }\n return (\n
\n
\n
\n \n \n \n \n {(DATA_CONSTANT.IsAnyQuoteFeatureEnabled && !DATA_CONSTANT.IsPCBNetClient)?\n \n :
\n }\n {!selectedJobType?.isBomHealthQuote &&\n <>\n \n \n }\n \n \n {children}\n \n
\n
\n
\n
\n )\n};\n\nconst mapStateToProps = state => ({\n completedSteps: state.CompletedSteps ? state.CompletedSteps : [],\n selectedJobType: state.JobTypes?.selectedJobType,\n isCustomQuoteRequires: state.RFQDetails?.isCustomQuoteRequires\n});\n\nconst mapDispatchToProps = dispatch => ({\n reset: (selectedJobType) => {\n dispatch(clearStore());\n dispatch(resetCompletedSteps());\n dispatch(clearJobType(selectedJobType));\n }\n});\n\n\nexport default connect(mapStateToProps, mapDispatchToProps)(RfqProcessLayout);","import React, { useEffect } from 'react';\nimport { Route } from 'react-router-dom';\nimport { connect } from \"react-redux\";\n\nconst PublicRoutes = ({ component: Component, clientInfo, layout: Layout, ...props }) => {\n useEffect(() => {\n if (props.title) {\n document.title = `${props.title} | ${clientInfo.clientName}`;\n }\n });\n if (Layout) {\n return (\n \n \n \n \n \n )\n }\n return (\n \n \n \n )\n}\n\nconst mapStateToProps = (state) => ({\n clientInfo: state.Client\n});\n\nexport default connect(mapStateToProps)(PublicRoutes);","import React from 'react';\nimport { FaInfoCircle } from \"react-icons/fa\";\nimport { Tooltip, OverlayTrigger } from 'react-bootstrap';\nimport PropTypes from 'prop-types';\nimport { DATA_CONSTANT } from '../../../constants/DataConstant';\nimport './InputControl.css'\n\nconst InfoToolTip = ({\n helpText, // Displays information tooltip\n helpPlacement, // Placement for tooltip\n className, //Classname for tooltip\n ...props\n}) => {\n const style = {\n\n marginLeft: '0.5rem',\n cursor: 'pointer'\n };\n return (\n \n {helpText}\n \n }\n {...props}\n >\n \n \n )\n};\nInfoToolTip.defaultProps = {\n type: \"text\",\n className: \"\",\n helpPlacement: \"right\"\n}\nInfoToolTip.propTypes = {\n helpText: PropTypes.string.isRequired,\n helpPlacement: PropTypes.oneOf(DATA_CONSTANT.TooltipPlacement),\n}\nexport default InfoToolTip;\n\n","import React, { memo } from \"react\";\nimport { Prompt } from \"react-router-dom\";\nimport { JARGON_CONSTANT } from \"../../constants/JargonConstant\";\n\nconst NavigationBlocker = ({ navigationBlocked }) => {\n if (navigationBlocked) {\n window.onbeforeunload = () => true;\n }\n else {\n window.onbeforeunload = null;\n window.onunload = null;\n }\n\n return (\n navigationBlocked && \n )\n}\nexport default memo(NavigationBlocker);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormLabel, FormControl } from 'react-bootstrap';\nimport InfoToolTip from './InfoToolTip';\nimport { DATA_CONSTANT } from '../../../constants/DataConstant';\n\nconst InputTextArea = React.forwardRef(({\n id,\n name,\n value,\n onChange,\n rows,\n isRequired, // Displays * for required field\n errorMessage,\n label,\n helpText, // Displays information tooltip\n helpPlacement, // Placement for tooltip\n className, //Classname for tooltip\n ...props\n}, ref) => {\n\n return (\n <>\n {label && label.trim() &&\n <>\n {label} \n {isRequired && *}\n {helpText && helpText.trim() &&\n \n }\n \n }\n \n { errorMessage && errorMessage[name] && errorMessage[name].message &&\n \n {errorMessage[name].message}\n \n }\n \n )\n});\n\nInputTextArea.defaultProps = {\n rows: 2,\n className: \"\",\n}\n\nInputTextArea.propTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.any,\n onChange: PropTypes.func,\n rows: PropTypes.number,\n helpText: PropTypes.string,\n placement: PropTypes.oneOf(DATA_CONSTANT.TooltipPlacement),\n className: PropTypes.string,\n}\n\n\nexport default InputTextArea;","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\nimport { SessionStorageService } from './SessionStorageService';\n\nexport const RFQProcessStatusService = {\n\n getRFQSteps: (jobTypeName) => {\n let url = `${URL_CONSTANT.RFQProcessStatus.GetRFQSteps}`;\n let params = { jobType: jobTypeName };\n return CommonHttpService.httpGet(url, params);\n },\n saveCompletedStep: (assemblyId, stepName, isCompleted) => {\n let storeJson = JSON.parse(SessionStorageService.getSessionValue('persist:root'));\n let jobTypeName = JSON.parse(storeJson.JobTypes).selectedJobType.cqJobType;\n\n let data = {\n assemblyId: assemblyId,\n stepName: Array.isArray(stepName) ? stepName : [stepName],\n isCompleted: isCompleted,\n jobTypeName: jobTypeName\n };\n return CommonHttpService.httpPost(URL_CONSTANT.RFQProcessStatus.\n SaveCompletedStep, data);\n },\n getRFQStepsForConfiguration: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.RFQProcessStatus.GetRFQStepsForConfiguration);\n },\n\n updateRFQSteps: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.RFQProcessStatus.UpdateRFQSteps, data);\n },\n getRFQProcessStatus: (assemblyId, jobTypeName) => {\n let url = `${URL_CONSTANT.RFQProcessStatus.GetRFQProcessStatus}`;\n let params = { assemblyId: assemblyId, jobType: jobTypeName };\n return CommonHttpService.httpGet(url, params);\n }\n}","import { CLEAR_STORE } from \"../../constants/ActionConstants\";\n\nexport const clearStore = () => ({\n type: CLEAR_STORE,\n data: {}\n});","import { DocumentService } from \"./DocumentService\";\nimport { trackPromise } from \"react-promise-tracker\";\n\nexport const UploadDocumentService = {\n uploadDocuments: (assemblyId, rfqAcceptedFiles) => new Promise((resolve, reject) => {\n DocumentService.generatePreSignedUrl(rfqAcceptedFiles.length).then((preSignedUrls) => {\n for (let i = 0; i < preSignedUrls.presignedURLResponses.length; i++) {\n preSignedUrls.presignedURLResponses[i].file = rfqAcceptedFiles[i];\n preSignedUrls.presignedURLResponses[i].documentName = rfqAcceptedFiles[i].name;\n preSignedUrls.presignedURLResponses[i].contentLength = rfqAcceptedFiles[i].size;\n preSignedUrls.presignedURLResponses[i].filetype = rfqAcceptedFiles[i].filetype;\n }\n DocumentService.uploadFilesToS3(preSignedUrls.presignedURLResponses).then((uploadDocResponse) => {\n const errors = uploadDocResponse.filter((response) => !response.ok);\n if (errors.length === 0) {\n let requestDoc = {\n assemblyId: assemblyId,\n documents: preSignedUrls.presignedURLResponses\n }\n trackPromise(DocumentService.insertDocuments(requestDoc).then((data) => {\n resolve(errors);\n }));\n }\n else {\n reject(errors);\n }\n });\n });\n })\n}","import { SELECT_JOBTYPE } from '../../constants/ActionConstants';\n\nexport const selectJobType = (jobType) => ({\n type: SELECT_JOBTYPE,\n data: { jobType: jobType }\n});","import React from 'react';\n\nexport const LoadingWrapper = (props) => {\n return (\n
\n {props.children}\n
\n )\n};","import React, { useCallback, useState, useEffect, forwardRef, useImperativeHandle } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport PropTypes from \"prop-types\";\nimport { Container, Button, Row, Col } from \"react-bootstrap\";\nimport { RemoveButton } from \"./InputButton/InputButton\";\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\nimport { MESSAGE_CONSTANT } from \"../../constants/MessageConstant\";\nimport { JARGON_CONSTANT } from \"../../constants/JargonConstant\";\nimport { CommonService } from \"../../services/CommonService\";\n\nconst DocumentUploader = forwardRef(({ maxNumberOfFiles, mergedAcceptedFiles, displayFiles, allowedFileTypes, handleFiles, isFileUploadOnDrop }, ref) => {\n let uplodedFiles = mergedAcceptedFiles.length > 0 ? mergedAcceptedFiles : [];\n const [documentFile, setDocumentFile] = useState({ acceptedFiles: uplodedFiles, rejectedFiles: [], isTooManyFiles: false })\n const onDrop = useCallback((newAcceptedFiles, newRejectedFiles) => {\n let totalFiles = 0;\n let filterUploadedFiles = [];\n let uniqueAcceptedFiles = [\n ...new Set(newAcceptedFiles.map((obj) => obj.name)),\n ].map((name) => {\n return newAcceptedFiles.find((obj) => obj.name === name);\n });\n let uniqueRejectedFiles = [\n ...new Set(newRejectedFiles.map((obj) => obj.file.name)),\n ].map((name) => {\n return newRejectedFiles.find((obj) => obj.file.name === name);\n });\n if (isFileUploadOnDrop) {\n filterUploadedFiles = uniqueAcceptedFiles.filter(function (acceptedFile) {\n return !mergedAcceptedFiles.find(function (mergedFile) {\n return acceptedFile.name === mergedFile.name\n })\n })\n } else {\n filterUploadedFiles = [...documentFile.acceptedFiles, ...uniqueAcceptedFiles];\n }\n let uniqueMergeFiles = [\n ...new Set(filterUploadedFiles.map((obj) => obj.name)),\n ].map((name) => {\n return filterUploadedFiles.find((obj) => obj.file?.name === name || obj.name === name);\n });\n\n let mergeRejectedFiles = [...documentFile.rejectedFiles, ...uniqueRejectedFiles];\n\n let uniqueMergeRejectedFiles = [\n ...new Set(mergeRejectedFiles.map((obj) => obj.file.name || obj.name)),\n ].map((name) => {\n return mergeRejectedFiles.find((obj) => obj.file?.name === name || obj.name === name);\n });\n\n if (isFileUploadOnDrop) {\n totalFiles = (maxNumberOfFiles - (mergedAcceptedFiles.length + uniqueMergeFiles.length))\n } else {\n totalFiles = (maxNumberOfFiles - uniqueMergeFiles.length)\n }\n\n if (totalFiles > -1 && mergeRejectedFiles.length < maxNumberOfFiles) {\n setDocumentFile({ acceptedFiles: uniqueMergeFiles, rejectedFiles: uniqueMergeRejectedFiles, isTooManyFiles: false })\n } else {\n setDocumentFile({ ...documentFile, isTooManyFiles: true })\n }\n },\n [documentFile.acceptedFiles, documentFile.rejectedFiles]\n );\n\n const { getRootProps, getInputProps, open } = useDropzone({\n noClick: true,\n noKeyboard: true,\n accept: allowedFileTypes,\n onDrop,\n maxFiles: maxNumberOfFiles,\n maxSize: DATA_CONSTANT.maxFileSize,\n minSize: 1\n });\n\n useEffect(() => {\n if (handleFiles) {\n handleFiles(documentFile);\n }\n }, [documentFile]);\n\n const removeFile = (name) => {\n let files = { ...documentFile };\n let removeFileIndex = files.acceptedFiles.findIndex((e) => e.name === name);\n files.acceptedFiles.splice(removeFileIndex, 1);\n files.isTooManyFiles = false;\n setDocumentFile(files);\n };\n\n const removeAllUnsupportedFiles = () => {\n setDocumentFile({ ...documentFile, rejectedFiles: [] });\n };\n\n useImperativeHandle(ref, () => ({\n handleRemoveFile(name) {\n removeFile(name);\n },\n handleRemoveAllFile() {\n removeAllUnsupportedFiles();\n },\n }));\n\n const acceptedFilesView = documentFile.acceptedFiles && documentFile.acceptedFiles.map((file, index) => (\n \n \n {file.path} - {file.size} bytes\n \n \n removeFile(file.name)} />\n \n \n ));\n\n const rejectedFilesView = documentFile.rejectedFiles && documentFile.rejectedFiles.map(({ file, errors }, index) => (\n \n \n
  • \n {file.path} - {file.size} bytes\n
      \n {errors.map((e) => (\n
    • {e.message}
    • \n ))}\n
    \n
  • \n \n
    \n ));\n\n return (\n \n \n \n
    \n
    \n \n
    \n \n {CommonService.getJargonValue(JARGON_CONSTANT.keys.FileImportMessage1)}\n \n \n {CommonService.getJargonValue(JARGON_CONSTANT.keys.FileImportMessage2)}\n \n
    \n \n
    ({CommonService.getJargonValue(JARGON_CONSTANT.keys.MaxFileUploadMessage).toString().formatGeneric(maxNumberOfFiles)})
    \n
    \n
    \n \n
    \n {displayFiles === true && (\n \n \n \n \n {acceptedFilesView.length > 0 && (\n \n \n

    Attached files

    \n \n
    \n )}\n {acceptedFilesView}\n \n
    \n \n \n {rejectedFilesView.length > 0 && !documentFile.isTooManyFiles && (\n <>\n \n \n

    Rejected files

    \n \n \n removeAllUnsupportedFiles()}\n />\n \n
    \n {rejectedFilesView}\n \n )}\n\n {documentFile.isTooManyFiles && (\n
    {`${JARGON_CONSTANT.jargonObject.MaxFilesValidationMessage} ${maxNumberOfFiles}`}
    \n )}\n \n
    \n \n
    \n )}\n
    \n );\n});\n\nDocumentUploader.defaultProps = {\n displayFiles: false,\n isFileUploadOnDrop: false,\n maxNumberOfFiles: DATA_CONSTANT.maxNumberOfFiles\n};\n\nDocumentUploader.propTypes = {\n displayFiles: PropTypes.bool,\n isFileUploadOnDrop: PropTypes.bool,\n allowedFileTypes: PropTypes.array.isRequired,\n handleFiles: PropTypes.func.isRequired,\n maxNumberOfFiles: PropTypes.number\n};\n\nexport default DocumentUploader;","import { SET_DEFAULT_CONFIGS } from '../../constants/ActionConstants';\n\nexport const setDefaultConfigs = (defaultConfigs) => ({\n type: SET_DEFAULT_CONFIGS,\n data: { defaultConfigs: defaultConfigs }\n});","import { SET_BOM_FILES } from '../../constants/ActionConstants';\n\nexport const setBomFile = (file) => ({\n type: SET_BOM_FILES,\n data: { bomFile: file }\n});","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const JargonService = {\n GetJargonList: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.GetJargonList);\n },\n GetJargonListFromConfigurations: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.GetJargonListFromConfigurations);\n },\n SaveUpdatedData: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.SaveUpdatedData, data);\n }\n}","import React, { useEffect, useState } from \"react\";\nimport { LoadingSpiner } from \"./components/CommonComponents/LoadingSpiner\";\nimport { DATA_CONSTANT } from \"./constants/DataConstant\";\nimport { URL_CONSTANT } from \"./constants/UrlConstant\";\nimport \"./global.style.css\";\nimport Extension from './prototype/Extensions';\nimport Routes from \"./Routes\";\nimport { CommonHttpService } from \"./services/CommonHttpService\";\nimport { connect } from \"react-redux\";\nimport { setClientName } from './redux/actions/index';\nimport { OIDCService } from \"./constants/UserManager\";\nimport { JargonService } from './services/JargonService';\nimport { JARGON_CONSTANT } from './constants/JargonConstant';\nimport LogRocket from 'logrocket';\nimport setupLogRocketReact from \"logrocket-react\";\nimport usePageViews from \"../src/CustomHooks/GoogleAnalytics/UsePageViews\";\n\nconst App = ({ onClientLoad }) => {\n Extension();\n\n const [isUserLoaded, setIsUserLoaded] = useState(false);\n const [isLoaded, setIsLoaded] = useState(false);\n\n usePageViews();\n\n useEffect(() => {\n\n fetchData();\n\n }, []);\n\n const fetchData = async () => {\n let user = await checkUserLoggedIn();\n getConfiguration(user);\n setImportWidgetUrl();\n getJargonList();\n getFeatures();\n }\n\n const checkUserLoggedIn = async () => {\n let user = null;\n await OIDCService.loadUser().then(function (userData) {\n user = userData;\n setIsUserLoaded(true);\n }).catch(function () { setIsUserLoaded(true); });\n return user;\n };\n\n const getFeatures = async () => {\n let configKeys = [DATA_CONSTANT.ConfigurationKey.IsBomAnalysisEnabled, DATA_CONSTANT.ConfigurationKey.IsGetAQuoteEnabled,\n DATA_CONSTANT.ConfigurationKey.IsQuickPriceEnabled, DATA_CONSTANT.ConfigurationKey.IsBOMHealthEnabled];\n await CommonHttpService.httpPost(URL_CONSTANT.Configuration.GetConfigurations, configKeys).then((data) => {\n if (data && (data.length > 0)) {\n DATA_CONSTANT.IsAnyQuoteFeatureEnabled = data.some(x => x.value.toLowerCase() == 'true');\n DATA_CONSTANT.QuoteFeatures = data;\n }\n });\n }\n\n const getJargonList = async () => {\n await JargonService.GetJargonList().then((data) => {\n if (data) {\n JARGON_CONSTANT.jargonValues = data.jargonList;\n let jargonObject = {};\n data.jargonList.forEach((elem, i) => {\n jargonObject[elem.label] = elem.displayValue;\n });\n JARGON_CONSTANT.jargonObject = jargonObject;\n setIsLoaded(true);\n }\n })\n }\n\n const getConfiguration = (user) => {\n let intercomAppId = DATA_CONSTANT.ConfigurationKey.IntercomAppId;\n let tagId = DATA_CONSTANT.ConfigurationKey.GoogleAnalyticsTagId;\n let clientName = DATA_CONSTANT.ConfigurationKey.ClientName;\n let themeName = DATA_CONSTANT.ConfigurationKey.ThemeName;\n let logRocketAppIdKey = DATA_CONSTANT.ConfigurationKey.LogRocketAppId;\n let isLogRocketEnabledKey = DATA_CONSTANT.ConfigurationKey.IsLogRocketEnabled;\n let isBOMHealthEnabledKey = DATA_CONSTANT.ConfigurationKey.IsBOMHealthEnabled;\n\n const configKeys = [DATA_CONSTANT.ConfigurationKey.HubSpotAppId, intercomAppId, tagId, clientName, themeName, isLogRocketEnabledKey, logRocketAppIdKey, isBOMHealthEnabledKey];\n\n CommonHttpService.httpPost(URL_CONSTANT.Configuration.GetConfigurations, configKeys)\n .then((data) => {\n if (data && (data.length > 0)) {\n\n data.map((val) => {\n\n if (!val.value) {\n return false;\n }\n\n if (val.key === themeName) {\n let clientTheme = val.value;\n let doc = document;\n let basePath = process.env.PUBLIC_URL\n let clientCssUrl = `${basePath}/themes/${clientTheme}.css`;\n let clientFaviconUrl = `${basePath}/favicon/${clientTheme}.png`;\n let themeLink = doc.createElement(\"link\");\n themeLink.href = clientCssUrl;\n themeLink.rel = 'stylesheet';\n themeLink.type = 'text/css';\n doc.getElementsByTagName(\"head\")[0].appendChild(themeLink);\n doc.documentElement.setAttribute('data-theme', clientTheme);\n doc.querySelector(`link[rel=\"shortcut icon\"]`).href = clientFaviconUrl;\n } else if (val.key === clientName) {\n onClientLoad(val.value);\n }\n else if (val.key === intercomAppId) {\n window.intercomSettings = {\n app_id: val.value\n };\n const d = document;\n const s = d.createElement(\"script\");\n s.innerHTML = `(function()\n {\n var w=window;\n var ic=w.Intercom;\n if(typeof ic===\"function\"){\n ic('reattach_activator');\n ic('update',w.intercomSettings);\n }else{\n var d=document;\n var i=function(){\n i.c(arguments);\n };\n i.q=[];\n i.c=function(args){\n i.q.push(args);\n };\n w.Intercom=i;\n var l=function(){\n var s=d.createElement('script');\n s.type='text/javascript';\n s.async=true;\n s.src='https://widget.intercom.io/widget/${val.value}';\n var x=d.getElementsByTagName('script')[0];\n x.parentNode.insertBefore(s,x);\n };\n if(w.attachEvent){w.attachEvent('onload',l);\n }else{\n w.addEventListener('load',l,false);}\n }\n l();\n })();`;\n d.getElementsByTagName(\"head\")[0].appendChild(s);\n } else if (val.key === tagId) {\n const doc = document;\n const managerscript = doc.createElement(\"script\");\n managerscript.src = \"https://www.googletagmanager.com/gtag/js?id=\" + val.value;\n managerscript.async = true;\n doc.getElementsByTagName(\"head\")[0].appendChild(managerscript);\n const gtag = doc.createElement(\"script\");\n gtag.innerHTML = `window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);};\n gtag('js', new Date());\n gtag('config', '${val.value}');`;\n gtag.type = 'text/javascript';\n gtag.async = true;\n doc.getElementsByTagName(\"head\")[0].appendChild(gtag);\n\n DATA_CONSTANT.IsGoogleAnalyticsEnabled = true;\n\n }\n else if (val.key === isLogRocketEnabledKey && val.value === 'true') {\n\n var logRocketAppId = data.find(x => x.key == logRocketAppIdKey)?.value\n if (logRocketAppId) {\n LogRocket.init(logRocketAppId);\n if (user && user.profile) {\n LogRocket.identify(user.profile.sub, {\n name: `${user.profile.FirstName} ${user.profile.LastName}`,\n email: user.profile.Email\n });\n }\n setupLogRocketReact(LogRocket);\n\n }\n }\n else if (val.key === isBOMHealthEnabledKey && val.value === 'true') {\n\n const bomHealthWidgetUrl = window.$config.bomHealthWidgetUrl;\n const link = document.createElement('link');\n link.rel = \"stylesheet\";\n link.type = \"text/css\";\n link.href = `${bomHealthWidgetUrl}/widget.css`;\n document.body.appendChild(link);\n\n const script = document.createElement('script');\n script.src = `${bomHealthWidgetUrl}/widget.js`;\n script.id = 'BomHealthWidgetScript';\n document.body.appendChild(script);\n }\n else if (val.key === DATA_CONSTANT.ConfigurationKey.HubSpotAppId) {\n\n var hsChatScript = document.createElement('script');\n hsChatScript.type = 'text/javascript';\n hsChatScript.id = \"hs-script-loader\";\n hsChatScript.async = true;\n hsChatScript.defer = true;\n hsChatScript.src = '//js.hs-scripts.com/' + val.value + '.js';\n document.body.appendChild(hsChatScript);\n\n setTimeout(() => {\n bootHubSpotChat(user);\n }, 2000)\n }\n });\n }\n })\n .catch((error) => {\n console.log(error);\n });\n };\n\n const setImportWidgetUrl = () => {\n const importWidgetUrl = window.$config.smartImportWidgetUrl ? window.$config.smartImportWidgetUrl : window.$config.importWidgetUrl;\n document.getElementById('scriptImportWidgetUrl').src = `${importWidgetUrl}/widget.js`;\n }\n\n const bootHubSpotChat = (user) => {\n\n if (window._hsq) {\n\n if (user?.profile) {\n window._hsq.push([\n \"identify\",\n {\n email: user.profile.Email,\n firstName: user.profile.FirstName,\n lastName: user.profile.LastName,\n },\n ]);\n }\n\n window._hsq.push([\"trackPageView\"]);\n }\n\n if (window.HubSpotConversations) {\n onHubSpotConversationsAPIReady();\n } else {\n window.hsConversationsOnReady = [onHubSpotConversationsAPIReady];\n }\n }\n\n const onHubSpotConversationsAPIReady = () => {\n const status = window.HubSpotConversations.widget.status();\n if (status.loaded) {\n window.HubSpotConversations.widget.refresh();\n } else {\n window.HubSpotConversations.widget.load();\n }\n }\n\n return (\n <>\n {\n isUserLoaded && isLoaded ? (\n \n ) : null\n }\n \n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n onClientLoad: (clientName) => dispatch(setClientName(clientName))\n})\n\nexport default connect(null, mapDispatchToProps)(App);\n","import { SELECT_JOBTYPE, CLEAR_JOBTYPES } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const JobTypes = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SELECT_JOBTYPE:\n return { ...state, selectedJobType: data.jobType};\n case CLEAR_JOBTYPES:\n return {\n ...state, selectedJobType:data.jobType\n };\n default:\n return state;\n }\n}","import { CLEAR_STORE, SET_DEFAULT_CONFIGS } from '../../constants/ActionConstants';\n\nconst InitialState = {};\n\nexport const DefaultConfigs = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_DEFAULT_CONFIGS:\n return { ...state, defaultConfigs: data.defaultConfigs };\n case CLEAR_STORE:\n return InitialState;\n default:\n return state;\n }\n}","import { CLEAR_STORE, SET_BOMID, SET_IS_CUSTOMQUOTE_REQUIRES, SET_RFQ_DETAILS, SET_EXTERNAL_USERID } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const RFQDetails = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_RFQ_DETAILS:\n return { ...state, rfqDetails: data.rfqDetails };\n case SET_BOMID:\n return { ...state, bomId: data.bomId };\n case SET_IS_CUSTOMQUOTE_REQUIRES:\n return { ...state, isCustomQuoteRequires: data.isCustomQuoteRequires };\n case SET_EXTERNAL_USERID:\n return { ...state, externalUserId: data.externalUserId };\n case CLEAR_STORE:\n return InitialState;\n default:\n return state;\n }\n}","import { RESET_COMPLETED_STEPS, SET_ALL_COMPLETED_STEPS, SET_COMPLETED_STEPS } from '../../constants/ActionConstants';\nimport { first } from 'underscore';\n\nconst InitialState = [];\nexport const CompletedSteps = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_COMPLETED_STEPS:\n let stateData = [...state];\n let stepIndex = stateData.indexOf(data.stepName);\n if (stepIndex < 0) {\n stateData.push(data.stepName);\n } else {\n stateData = first(stateData, stepIndex + 1);\n }\n return stateData;\n case RESET_COMPLETED_STEPS:\n return InitialState;\n case SET_ALL_COMPLETED_STEPS:\n return data;\n default:\n return state;\n }\n}","import { CLEAR_STORE, SET_BOM_FILES } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const BomFile = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_BOM_FILES:\n return { ...state, bomFile: data.bomFile };\n case CLEAR_STORE:\n return InitialState;\n default:\n return state;\n }\n}","import { SET_CLIENT_NAME, SET_CLIENT_CODE } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const Client = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_CLIENT_NAME:\n return { ...state, clientName: data.clientName };\n case SET_CLIENT_CODE:\n return { ...state, clientCode: data.clientCode };\n default:\n return state;\n }\n}","import { CLEAR_STORE, SET_PCBNET_QUOTE_DETAILS } from '../../constants/ActionConstants';\n\nconst InitialState = {};\nexport const PCBNetQuoteDetails = (state = InitialState, action) => {\n const { type, data } = action;\n\n switch (type) {\n case SET_PCBNET_QUOTE_DETAILS:\n return { ...state, pcbNetQuoteDetails: data.pcbNetQuoteDetails };\n case CLEAR_STORE:\n return InitialState;\n default:\n return state;\n }\n}","import { SET_PCBNET_QUOTE_DETAILS } from '../../constants/ActionConstants';\n\nexport const setPCBNetQuoteDetails = (pcbNetQuoteDetails) => ({\n type: SET_PCBNET_QUOTE_DETAILS,\n data: { pcbNetQuoteDetails: pcbNetQuoteDetails }\n});\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport default function register () {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl);\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl);\n }\n });\n }\n}\n\nfunction registerValidSW (swUrl) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker (swUrl) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister () {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React, { useState, useEffect } from \"react\";\nimport packageJson from \"../package.json\";\nimport moment from \"moment\";\n\nconst buildDateGreaterThan = (latestDate, currentDate) => {\n const momLatestDateTime = moment(latestDate);\n const momCurrentDateTime = moment(currentDate);\n\n if (momLatestDateTime.isAfter(momCurrentDateTime)) {\n return true;\n } else {\n return false;\n }\n};\n\nfunction withClearCache(Component) {\n function ClearCacheComponent(props) {\n const [isLatestBuildDate, setIsLatestBuildDate] = useState(false);\n\n let metadataFileName = 'metadata.json?v=' + (moment().format('DDMMYYYYHHmmss'));\n\n useEffect(() => {\n fetch(metadataFileName)\n .then((response) => response.json())\n .then((meta) => {\n const latestVersionDate = meta.buildDate;\n const currentVersionDate = packageJson.buildDate;\n\n const shouldForceRefresh = buildDateGreaterThan(\n latestVersionDate,\n currentVersionDate\n );\n if (shouldForceRefresh) {\n setIsLatestBuildDate(false);\n refreshCacheAndReload();\n } else {\n setIsLatestBuildDate(true);\n }\n });\n }, []);\n\n const refreshCacheAndReload = () => {\n if (caches) {\n // Service worker cache should be cleared with caches.delete()\n caches.keys().then((names) => {\n for (const name of names) {\n caches.delete(name);\n }\n });\n }\n // delete browser cache and hard reload\n window.location.reload(true);\n };\n\n return (\n \n {isLatestBuildDate ? : null}\n \n );\n }\n\n return ClearCacheComponent;\n}\n\nexport default withClearCache;","import React, { useState, useEffect } from \"react\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport App from \"./App\";\nimport { Provider as ReduxProvider } from \"react-redux\";\nimport { configureStore } from \"./redux/store\";\nimport { persistStore } from \"redux-persist\";\nimport { PersistGate } from \"redux-persist/integration/react\";\nimport { OidcProvider } from \"redux-oidc\";\nimport { initializeUserManager } from \"./constants/UserManager\";\nimport { SignalrProvider } from './services/SignalrService';\nimport { ConfigurationService } from \"./services/ConfigurationService\";\nimport Swal from \"sweetalert2\";\nimport { DATA_CONSTANT } from './constants/DataConstant';\nimport { MESSAGE_CONSTANT } from './constants/MessageConstant';\n\nconst MainComponent = (props) => {\n\n const [isLoaded, setIsLoaded] = useState(false);\n\n const baseUrl = document.getElementsByTagName(\"base\")[0].getAttribute(\"href\");\n const store = configureStore();\n const persistor = persistStore(store);\n let clientCode = window.location.pathname.split(\"/\")[1];\n\n useEffect(() => {\n ConfigurationService.isClientExist(clientCode).then((data) => {\n if (data && data.isExists) {\n DATA_CONSTANT.ClientCode = data.clientCode;\n DATA_CONSTANT.IsCustomDomainClient = data.isCustomDomainClient;\n getApplicationConfigurations();\n DATA_CONSTANT.IsPCBNetClient = data.isPCBNetClient;\n }\n else {\n showInvalidURLAlert();\n }\n });\n }, []);\n\n const showInvalidURLAlert = () => {\n Swal.fire({\n html: `${MESSAGE_CONSTANT.invalidURLMessage.messageTitle}
    ${MESSAGE_CONSTANT.invalidURLMessage.messageContent}`,\n icon: 'warning',\n showConfirmButton: false,\n allowOutsideClick: false\n }).then((result) => {\n\n });\n }\n\n const getApplicationConfigurations = async () => {\n await ConfigurationService.getApplicationConfigurations()\n .then(configData => {\n window.$config = configData.config;\n SignalrProvider.initializeConnection();\n setIsLoaded(true);\n });\n }\n\n if (isLoaded) {\n let userManager = initializeUserManager(window.$config);\n return (\n \n \n \n \n \n \n \n \n\n \n );\n }\n\n return (\n
    \n

    Application is loading...

    \n
    \n );\n}\n\nexport default MainComponent;","const Extensions = () => {\n if (!String.prototype.formatGeneric) {\n String.prototype.formatGeneric = function () {\n var args = arguments;\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] !== 'undefined'\n ? args[number]\n : match\n ;\n });\n };\n }\n}\n\nexport default Extensions;\n","import React from \"react\";\nimport Header from '../components/Header/Header';\nimport ConfigurationSideMenu from \"../components/ConfigurationSideMenu/ConfigurationSideMenu\";\n\nconst ConfigurationsLayout = ({ children }) => {\n return (\n
    \n
    \n
    \n \n
    \n {children}\n
    \n
    \n
    \n )\n};\n\nexport default ConfigurationsLayout;\n","import React from 'react';\nimport { DATA_CONSTANT } from '../../constants/DataConstant';\nimport './Logo.css'\n\nconst Logo = () => (\n \n
    \n
    \n);\n\nexport default Logo","import React, { useState, useRef, useEffect, useContext } from \"react\";\nimport { Overlay, Popover, Dropdown } from 'react-bootstrap';\nimport { AiOutlineFileAdd } from \"react-icons/ai\";\nimport DocumentUploaderWithModal from \"../DocumentUploaderWithModal/DocumentUploaderWithModal\";\nimport { connect } from \"react-redux\";\nimport \"./TopNavMenu.css\";\nimport { useLocation } from \"react-router-dom\";\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\nimport HeaderToggleButton from '../Header/HeaderToggleButton';\nimport { useHistory } from \"react-router-dom\";\nimport { SessionStorageService } from \"../../services/SessionStorageService\";\nimport { OIDCService } from '../../constants/UserManager';\nimport Swal from 'sweetalert2';\nimport { RouteDataContext } from \"../../Routes\";\nimport { CommonService } from \"../../services/CommonService\";\nimport { JARGON_CONSTANT } from \"../../constants/JargonConstant\";\nimport { BsChatDots } from \"react-icons/bs\";\nimport AssemblyChat from \"../AssemblyChat/AssemblyChat\";\nimport { AssemblyChatService } from \"../../services/AssemblyChatService\";\n\nconst TopNavMenu = ({ rfqDetails }) => {\n const [show, setShow] = useState(false);\n const [target, setTarget] = useState(null);\n const [showChat, setShowChat] = useState(false);\n const [chatTarget, setChatTarget] = useState(null);\n const [isUserLoggedIn, setIsUserLoggedIn] = useState(false);\n const [unreadMessagesCount, setUnreadMessagesCount] = useState(0);\n\n const history = useHistory();\n const ref = useRef(null);\n\n const location = useLocation();\n const handleMenuIcons = (event) => {\n setShow(!show);\n if (!target)\n setTarget(event.target);\n };\n\n const handleChatIconClick = (event) => {\n setUnreadMessagesCount(0);\n setShowChat(!showChat);\n if (!chatTarget && event)\n setChatTarget(event.target);\n };\n\n const routeData = useContext(RouteDataContext);\n const currRoute = routeData.find(function (route) { return route.RouteUrl == location.pathname });\n\n const isDocumentUploadVisible = (currRoute && currRoute.AllowDocumentUpload && rfqDetails?.assemblyId > 0 && !rfqDetails?.isCloneApplied && !rfqDetails?.isViewMode);\n const isAssemblyChatVisible = isUserLoggedIn && currRoute && currRoute.AllowAssemblyDiscussion && rfqDetails?.assemblyId > 0 && !rfqDetails?.isCloneApplied;\n\n useEffect(() => {\n checkUser();\n }, []);\n\n const userSignIn = () => {\n OIDCService.login();\n }\n\n const userSignOut = () => {\n OIDCService.logout();\n }\n\n const getUnreadMessageCount = (user) => {\n if (currRoute && currRoute.AllowAssemblyDiscussion && rfqDetails?.assemblyId > 0) {\n\n let requestObject = {\n ChatNotesIds: [rfqDetails?.assemblyId],\n ChatNotesType: 'Assembly',\n LoginUserEmail: user?.profile?.Email,\n IsExternal: true\n }\n\n AssemblyChatService.getUnreadMessageCount(requestObject).then((unreadMessageCountResponse) => {\n\n if (unreadMessageCountResponse?.data?.length > 0) {\n setUnreadMessagesCount(unreadMessageCountResponse.data[0].unreadCount);\n }\n });\n\n }\n }\n\n const checkUser = async () => {\n let user = OIDCService.getUser();\n if (user != null) {\n let hasUserAccessRight = OIDCService.hasUserAccessRights();\n let hasEmailConfirmed = OIDCService.isEmailConfirmed();\n if (hasEmailConfirmed == false && !window.location.pathname.includes('emailActivationPending')) {\n let postLoginRoute = SessionStorageService.getPostLoginUrl();\n if (!postLoginRoute) {\n SessionStorageService.setPostLoginUrl(window.location.pathname);\n }\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.emailActivationPending));\n }\n if (hasUserAccessRight) {\n setIsUserLoggedIn(true);\n getUnreadMessageCount(user);\n }\n else {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 401);\n }\n }\n }\n\n const handleShow = () => {\n Swal.fire({\n text: JARGON_CONSTANT.jargonObject.LogoutConfirmation,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: DATA_CONSTANT.OrangeColor,\n cancelButtonColor: DATA_CONSTANT.BlueColor,\n confirmButtonText: JARGON_CONSTANT.jargonObject.LogoutLinkText,\n cancelButtonText: JARGON_CONSTANT.jargonObject.CancelButton,\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n userSignOut();\n }\n })\n };\n\n const handleQuoteHistory = () => {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.quoteHistory));\n }\n\n return (\n <>\n\n\n {isDocumentUploadVisible &&\n \n }\n setShow(!show)}\n container={ref.current}\n containerPadding={40}\n placement=\"bottom\"\n >\n \n \n \n \n \n \n\n {\n isAssemblyChatVisible &&\n
    \n {\n unreadMessagesCount > 0 && \n }\n\n \n setShowChat(!showChat)}\n container={ref.current}\n containerPadding={40}\n placement=\"bottom\"\n >\n \n \n \n \n \n \n
    \n }\n\n
    \n \n \n \n \n {!isUserLoggedIn &&\n userSignIn()} >{JARGON_CONSTANT.jargonObject.LoginLinkText}\n }\n {isUserLoggedIn && <>\n {DATA_CONSTANT.IsAnyQuoteFeatureEnabled && handleQuoteHistory()} >{JARGON_CONSTANT.jargonObject.QuoteHistoryLinkText}}\n handleShow()} >{JARGON_CONSTANT.jargonObject.LogoutLinkText}\n \n }\n \n \n
    \n \n );\n};\n\nconst mapStateToProps = (state) => ({\n rfqDetails: state.RFQDetails?.rfqDetails\n});\n\nexport default connect(mapStateToProps)(TopNavMenu);","import React, { useState, useEffect, useRef } from \"react\";\nimport { Container, Row, Col } from \"react-bootstrap\";\nimport { trackPromise } from \"react-promise-tracker\";\nimport { connect } from \"react-redux\";\nimport { RequestFormService } from \"../../services/RequestFormService\";\nimport { ConfigurationService } from \"../../services/ConfigurationService\";\nimport DocumentUploader from \"../../components/ControlComponents/DocumentUploader\";\nimport { RemoveButton } from \"../../components/ControlComponents/InputButton/InputButton\";\nimport { MdCancel } from \"react-icons/md\";\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\nimport { CommonService } from \"../../services/CommonService\";\nimport './DocumentUploaderWithModal.css';\nimport Swal from 'sweetalert2';\nimport { UploadDocumentService } from \"../../services/UploadDocumentService\";\nimport { JARGON_CONSTANT } from \"../../constants/JargonConstant\";\n\nconst DocumentUploaderWithModal = ({ assemblyId, salesPersonId, showUpload }) => {\n const [rejectedFiles, setRejectedFiles] = useState([]);\n const allowedFileTypes = DATA_CONSTANT.allowedFileTypes;\n\n const [assemblyDocumentState, setAssemblyDocumentState] = useState({\n uploadedFiles: [],\n maxAllowFile: 0,\n isTooManyFilesError: false\n });\n\n const childRef = useRef();\n useEffect(() => {\n trackPromise(getUploadedFiles());\n }, []);\n\n const getUploadedFiles = async () => {\n let maxFileValueResult = await getMaxNumberOfFileToUpload();\n let maxFiles = parseInt(maxFileValueResult[0].value);\n let data = await RequestFormService.GetRFQDocuments(salesPersonId, assemblyId);\n if (data) {\n let uploadedFileList = [];\n data.map((element) => {\n let fileObj = {\n name: element.name,\n documentDetailId: element.id,\n isFileUploaded: true\n };\n uploadedFileList.push(fileObj);\n });\n setAssemblyDocumentState({\n uploadedFiles: [...uploadedFileList],\n maxAllowFile: maxFiles,\n isTooManyFilesError: false\n });\n }\n }\n\n const selectedFiles = (documentFile) => {\n if (documentFile.isTooManyFiles) {\n setAssemblyDocumentState({\n ...assemblyDocumentState,\n isTooManyFilesError: true\n });\n return\n }\n\n if (documentFile.rejectedFiles.length > 0) {\n setRejectedFiles(documentFile.rejectedFiles)\n return\n }\n\n if (documentFile.acceptedFiles.length == 0)\n return\n\n const selectedDocuments = [...documentFile.acceptedFiles];\n trackPromise(uploadDocuments(selectedDocuments));\n };\n\n const uploadDocuments = async (files) => {\n let acceptedFilesToUpload = files.filter(x => x.isFileUploaded !== true);\n if (acceptedFilesToUpload && acceptedFilesToUpload.length > 0) {\n let uploadDocResponse = await UploadDocumentService.uploadDocuments(assemblyId, files);\n if (uploadDocResponse?.length === 0) {\n getUploadedFiles();\n }\n }\n };\n\n const removeAllUnsupportedFiles = () => {\n childRef.current.handleRemoveAllFile();\n setRejectedFiles([]);\n };\n\n const removeFileConfirmation = (name) => {\n Swal.fire({\n text: JARGON_CONSTANT.jargonObject.DeleteFileAlert.formatGeneric(name),\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: JARGON_CONSTANT.jargonObject.YesButton,\n cancelButtonText: JARGON_CONSTANT.jargonObject.NoButton,\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n trackPromise(\n removeFile(name)\n );\n }\n showUpload();\n })\n }\n\n const removeFile = async (name) => {\n let file = assemblyDocumentState.uploadedFiles.find(function (obj) { return obj.name === name });\n if (file) {\n const requestObj = {\n assemblyId: assemblyId,\n userId: salesPersonId,\n documentName: name,\n documentDetailId: file.documentDetailId\n };\n await RequestFormService.DeleteRFQDocument(requestObj)\n .then((result) => {\n getUploadedFiles();\n })\n .catch((error) => {\n console.log(error);\n });\n } else {\n childRef.current.handleRemoveFile(name);\n }\n };\n\n const handleCancel = () => {\n if (showUpload) {\n showUpload(false);\n }\n };\n\n const getMaxNumberOfFileToUpload = async () => {\n let maxNumberOfFile = DATA_CONSTANT.ConfigurationKey.MaxNoOfUploadDocuments;\n let configKeys = [maxNumberOfFile];\n return ConfigurationService.getByKeys(configKeys);\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n {assemblyDocumentState.isTooManyFilesError && (\n
    {`${JARGON_CONSTANT.jargonObject.MaxFilesValidationMessage} ${assemblyDocumentState.maxAllowFile}`}
    \n )}\n {assemblyDocumentState.uploadedFiles.length > 0 &&\n <>\n \n \n
    {JARGON_CONSTANT.jargonObject.UploadedFilesTitle}
    \n \n \n
    \n {\n assemblyDocumentState.uploadedFiles.map((file, index) => (\n \n \n {file.name}\n \n \n {\n removeFileConfirmation(file.name);\n }}\n />\n \n \n ))\n }\n \n }\n {rejectedFiles.length > 0 && !assemblyDocumentState.isTooManyFilesError && (\n \n \n
    {JARGON_CONSTANT.jargonObject.RejectedFilesTitle}
    \n \n \n removeAllUnsupportedFiles()}\n />\n \n
    \n )}\n {rejectedFiles && !assemblyDocumentState.isTooManyFilesError &&\n rejectedFiles.map(({ file, errors }, index) => (\n \n \n
  • \n {file.path} - {file.size} bytes\n
      \n {errors.map((e) => (\n
    • {e.message}
    • \n ))}\n
    \n
  • \n \n
    \n ))}\n\n
    \n \n
    \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n assemblyId: state.RFQDetails?.rfqDetails?.assemblyId,\n salesPersonId: state.DefaultConfigs?.defaultConfigs?.salesPersonId\n});\n\nexport default connect(mapStateToProps, null)(DocumentUploaderWithModal);","import React, { forwardRef } from 'react';\nimport { AiOutlineUser } from 'react-icons/ai';\n\nconst HeaderToggleButton = forwardRef(({ children, onClick }, ref) => (\n
    {\n e.preventDefault();\n onClick(e);\n }}\n >\n {children}\n\n \n\n
    \n));\n\nexport default HeaderToggleButton;","import React, { useState, useEffect, useRef } from \"react\";\nimport { Container, Row, Col } from \"react-bootstrap\";\nimport { trackPromise } from \"react-promise-tracker\";\nimport { connect } from \"react-redux\";\nimport { MdCancel } from \"react-icons/md\";\nimport './AssemblyChat.css';\nimport InputTextArea from \"../ControlComponents/Input/InputTextArea\";\nimport { SendButton } from \"../ControlComponents/InputButton/InputButton\";\nimport { AssemblyChatService } from \"../../services/AssemblyChatService\";\nimport { OIDCService } from \"../../constants/UserManager\";\nimport { Areas } from \"../../constants/Areas\";\nimport { LoadingWrapper } from \"../CommonComponents/LoadingWrapper\";\nimport { LoadingSpiner } from \"../CommonComponents/LoadingSpiner\";\n\nconst AssemblyChat = ({ assemblyId, showChat }) => {\n\n const [chatMessage, setChatMessage] = useState('');\n const [assemblyChatData, setAssemblyChatData] = useState([]);\n const loaderElement = useRef(null);\n const scrollElement = useRef(null);\n\n useEffect(() => {\n trackPromise(getAssemblyChat(), Areas.assemblyChat);\n }, []);\n\n useEffect(() => {\n if (assemblyChatData.length > 0 && scrollElement.current) {\n scrollElement.current.scrollTop = scrollElement.current.scrollHeight;\n }\n\n }, [assemblyChatData]);\n\n const getAssemblyChat = async () => {\n let user = OIDCService.getUser();\n let assemblyChatResponse = await AssemblyChatService.getAssemblyChat(assemblyId, user?.profile?.Email);\n if (assemblyChatResponse?.data) {\n setAssemblyChatData(assemblyChatResponse.data.chatNotes);\n }\n }\n\n const handleCancel = () => {\n if (showChat) {\n showChat(false);\n }\n }\n\n const handelChange = (event) => {\n setChatMessage(event.target.value);\n }\n\n const onKeyPressHandler = event => {\n if (event.key === '\\n' && event.ctrlKey) {\n event.preventDefault();\n handelSendClick();\n }\n }\n\n const handelSendClick = () => {\n if (chatMessage?.trim()) {\n let user = OIDCService.getUser();\n\n let saveMessageObject = {\n ChatNotesId: assemblyId,\n LoginUserEmail: user?.profile?.Email,\n Comments: chatMessage.trim(),\n IsInternal: false\n }\n\n trackPromise((async () => {\n\n let assemblyChatResponse = await AssemblyChatService.saveAssemblyChatMessage(saveMessageObject);\n if (assemblyChatResponse?.data) {\n setChatMessage('');\n setAssemblyChatData(assemblyChatResponse.data.chatNotes);\n }\n\n })(), Areas.assemblyChat);\n }\n }\n\n return (\n \n \n \n
    \n
    Assembly Discussion
    \n
    \n \n \n {\n assemblyChatData.map((chatData, index) => {\n return (\n
    \n
    -----    {chatData.displayDateText}     -----
    \n {\n chatData.chatNoteDetails.map((message, index1) => {\n\n if (!message.isLoginUser) {\n return (\n
    \n
    \n {message.userName}, {message.createdTime}\n
    \n
    \n {message.comments}\n
    \n
    \n )\n\n } else {\n\n return (\n
    \n
    {message.userName}, {message.createdTime}
    \n
    {message.comments}
    \n
    \n )\n }\n })\n }\n
    \n )\n })\n }\n \n \n
    \n \n \n \n handelChange(event)\n }\n onKeyPress={onKeyPressHandler}\n >\n \n \n \n \n \n
    \n
    \n );\n};\n\nconst mapStateToProps = (state) => ({\n assemblyId: state.RFQDetails?.rfqDetails?.assemblyId\n});\n\nexport default connect(mapStateToProps, null)(AssemblyChat);","import React, { useEffect } from 'react'\nimport { trackPromise } from 'react-promise-tracker';\nimport { NavLink, useHistory, useLocation } from \"react-router-dom\";\nimport { ConfigRoutesConstants } from '../../constants/ConfigRoutesConstants';\nimport { DATA_CONSTANT } from '../../constants/DataConstant';\nimport { OIDCService } from '../../constants/UserManager';\nimport { AccountService } from '../../services/AccountService';\nimport { CommonService } from '../../services/CommonService';\nimport './ConfigurationSideMenu.css';\n\nconst ConfigurationSideMenu = () => {\n\n const menuItem = ConfigRoutesConstants.configurationRouteList;\n const location = useLocation();\n const { pathname } = location;\n const activeLocation = pathname.split(\"/configurations/\");\n const history = useHistory();\n\n useEffect(() => {\n\n let user = OIDCService.getUser();\n let isSuperAdmin = user?.profile?.IsSuperAdmin;\n if (isSuperAdmin?.toLowerCase() == \"false\") {\n let userId = user?.profile?.sub;\n trackPromise(validateUserAccess(userId))\n }\n\n }, []);\n\n const validateUserAccess = async (userId) => {\n let isUserPortCQAdmin = await AccountService.isUserPortCQAdmin(userId);\n if (isUserPortCQAdmin?.toLowerCase() != \"true\") {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 401);\n }\n }\n\n return (\n
    \n
    \n
    \n

    Configurations

    \n
    \n
    \n
    \n \n
    \n
    \n )\n}\nexport default ConfigurationSideMenu;","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const AccountService = {\n\n isUserPortCQAdmin: (userId) => {\n\n const url = `${URL_CONSTANT.Account.IsUserPortCQAdmin}?userId=${userId}`;\n return CommonHttpService.httpGet(url);\n }\n}","import React, { useState, useEffect } from 'react';\nimport { Nav, NavItem } from 'react-bootstrap';\nimport { FaRegCheckCircle, FaRegCircle } from 'react-icons/fa';\nimport './RFQSteps.css'\nimport { Steps } from 'antd';\nimport { DATA_CONSTANT } from '../../constants/DataConstant';\nimport { RFQProcessStatusService } from \"../../services/RFQProcessStatusService\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { difference, pluck } from \"underscore\";\nimport { CommonService } from \"../../services/CommonService\";\n\nconst RFQSteps = ({ completedSteps, isCustomQuoteRequires, selectedJobType }) => {\n\n const { Step } = Steps;\n const [rfqSteps, setRFQSteps] = useState([]);\n const [disableSteps, setDisableSteps] = useState([]);\n\n let activeClass = \"cm-active-step\";\n let disableClass = \"cm-link-disable\"\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n if (selectedJobType?.cqJobType) {\n getRFQSteps(selectedJobType?.cqJobType);\n }\n }, [isCustomQuoteRequires]);\n\n const getRFQSteps = async (cqJobType) => {\n await RFQProcessStatusService.getRFQSteps(cqJobType).then((data) => {\n setRFQSteps(data);\n // Assign api response to data constant so that can use in all pages\n DATA_CONSTANT.rfqSteps = data;\n // Disable steps in case of custom quote\n if (isCustomQuoteRequires && completedSteps.length > 0) {\n let stepNames = pluck(data, \"stepName\");\n let disableSteps = difference(stepNames, completedSteps);\n setDisableSteps(disableSteps);\n }\n });\n }\n\n function CurrentStepForCheckOut() {\n let currentStep = -1;\n if (completedSteps.indexOf(DATA_CONSTANT.stepNames.CheckoutBillingShipping) > -1) {\n currentStep = 0;\n }\n if (completedSteps.indexOf(DATA_CONSTANT.stepNames.CheckoutPayment) > -1) {\n currentStep = 1;\n } if (completedSteps.indexOf(DATA_CONSTANT.stepNames.CheckoutPayment) > -1) {\n currentStep = 2;\n }\n return currentStep;\n }\n\n const redirectToStep = (stepName, route) => {\n if (!isCustomQuoteRequires && (completedSteps.indexOf(stepName) > -1) && completedSteps.indexOf(DATA_CONSTANT.stepNames.Completed) <= -1) {\n history.push(CommonService.getRoutePath(route));\n }\n }\n\n return (\n rfqSteps && rfqSteps.length > 0 &&\n \n )\n};\nexport default RFQSteps;","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const RouteService = {\n RouteList : () => {\n return CommonHttpService.httpGet(URL_CONSTANT.RouteList);\n }\n}","import { useEffect } from \"react\";\nimport { useLocation } from 'react-router-dom';\nimport { DATA_CONSTANT } from \"../../constants/DataConstant\";\n\nconst usePageViews = () => {\n const location = useLocation();\n\n useEffect(() => {\n\n if (DATA_CONSTANT.IsGoogleAnalyticsEnabled && window.ga && (typeof window.ga === 'function')) {\n window.ga('set', 'page', location.pathname + location.search);\n window.ga('send', 'pageview');\n }\n\n }, [location])\n}\n\nexport default usePageViews;","import { OIDCService } from '../constants/UserManager';\nimport { HubConnectionBuilder } from '@microsoft/signalr';\nimport { SessionStorageService } from './SessionStorageService';\n\nexport const SignalrProvider = {\n initializeConnection: () => {\n const signalRUrl = `${window.$config.signalRHub}/signalR`;\n const newConnection = new HubConnectionBuilder()\n .withUrl(signalRUrl)\n .withAutomaticReconnect().build();\n\n newConnection.start()\n .then(result => {\n newConnection.on('SendMessage', processSignalRMessage);\n }).catch();\n }\n}\n\n\nconst processSignalRMessage = (msg) => {\n msg = JSON.parse(msg);\n if (msg.hub == \"userEmailConfirmed\" && msg.userId) {\n let user = OIDCService.getUser();\n if (user != undefined && user.profile.sub == msg.userId && window.location.pathname.includes('emailActivationPending')) {\n user.profile.EmailConfirmed = 'True';\n OIDCService.setUser(user);\n let postLoginRoute = SessionStorageService.getPostLoginUrl();\n SessionStorageService.removePostLoginUrl();\n postLoginRoute = postLoginRoute ? postLoginRoute : \"/\";\n window.location.href = window.location.origin + '' + postLoginRoute;\n }\n } else if (msg.hub == \"notifyUserDetailChanged\" && msg.userId) {\n let user = OIDCService.getUser();\n if (user != undefined && user.profile.sub == msg.userId && msg.isForceLogout == true) {\n OIDCService.logout();\n }\n }\n}","import { DATA_CONSTANT } from \"../constants/DataConstant\";\nimport { CommonService } from \"./CommonService\";\n\nexport const CommonHttpService = {\n\n httpGet: (requestURL, parameters) => new Promise((resolve, reject) => {\n\n const options = {\n method: 'get',\n headers: {\n 'content-type': 'application/json; charset=UTF-8',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n }\n };\n if (parameters && typeof (parameters) === \"object\") {\n Object.keys(parameters).forEach((property) => {\n requestURL += requestURL.indexOf('?') > -1 ? \"&\" : \"?\";\n requestURL += `${property}=${encodeURIComponent(parameters[property])}`;\n });\n }\n\n fetch(requestURL, options)\n .then(async response => {\n\n const data = await response.json();\n\n if (!response.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.message) || response.statusText;\n console.log(error);\n\n reject(error);\n } else {\n resolve(data.data);\n }\n\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n }),\n\n httpPost: (requestURL, requestBody) => new Promise((resolve, reject) => {\n\n const options = {\n method: 'post',\n headers: {\n 'content-type': 'application/json; charset=UTF-8',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: JSON.stringify(requestBody)\n }\n\n fetch(requestURL, options)\n .then(async response => {\n\n const data = await response.json();\n\n if (!response.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.message) || response.statusText;\n console.log(error);\n\n reject(error);\n } else {\n resolve(data.data);\n }\n\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n\n }),\n\n httpFilePost: (requestURL, fileData) => new Promise((resolve, reject) => {\n\n const options = {\n method: 'post',\n headers: {\n // 'content-type': 'multipart/form-data',\n // 'content-type': 'application/json',\n 'Accept': 'application/json',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: fileData\n }\n\n fetch(requestURL, options)\n .then(async response => {\n\n const data = await response.json();\n\n if (!response.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.Message) || response.statusText;\n console.log(error);\n\n reject(error);\n } else {\n resolve(data);\n }\n\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n }),\n\n httpPut: (requestURL, requestBody) => new Promise((resolve, reject) => {\n\n const options = {\n method: 'put',\n headers: {\n 'content-type': 'application/json; charset=UTF-8',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: JSON.stringify(requestBody)\n }\n\n fetch(requestURL, options)\n .then(async response => {\n\n const data = await response.json();\n\n if (!response.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.message) || response.statusText;\n console.log(error);\n reject(error);\n } else {\n resolve(data);\n }\n\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n }),\n\n DownLoadFile: (requestURL, filename) => new Promise((resolve, reject) => {\n const options = {\n method: 'post',\n headers: {\n 'Accept': 'application/json',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n }\n\n fetch(requestURL, options)\n .then(res => {\n if (!res.ok) {\n const error = res.statusText;\n console.log(error);\n reject(error);\n } else {\n return res.blob();\n }\n }).then(blob => {\n if (blob) {\n const url = window.URL.createObjectURL(\n new Blob([blob]),\n );\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n link.parentNode.removeChild(link);\n }\n }).catch(err => {\n console.error(err);\n reject(err);\n })\n }),\n\n DownloadReport: (requestURL, requestBody) => new Promise((resolve, reject) => {\n var fileName;\n const options = {\n method: 'post',\n headers: {\n 'content-type': 'application/json; charset=UTF-8',\n 'Authorization': \"Basic d80c83ac1fd54284a3f5c54a18e60ff8\",\n 'X-XSRF-TOKEN': CommonService.getCookie('X-CSRF-FORM-TOKEN'),\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: JSON.stringify(requestBody)\n }\n fetch(requestURL, options)\n .then(async response => {\n if (response.ok) {\n var header = response.headers.get('Content-Disposition');\n var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\n var matches = filenameRegex.exec(header);\n if (matches !== null && matches[1]) {\n fileName = decodeURIComponent(matches[1].replace(/['\"]/g, ''));\n }\n return await response.blob();\n } else {\n const error = response.statusText;\n console.log(error);\n reject(error);\n }\n }).then(blob => {\n if (blob) {\n const url = window.URL.createObjectURL(\n new Blob([blob]),\n );\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n document.body.appendChild(link);\n link.click();\n link.parentNode.removeChild(link);\n resolve();\n }\n }).catch(err => {\n reject(err);\n });\n }),\n httpFilePutToS3: (requestURL, fileData) => new Promise((resolve, reject) => {\n const options = {\n method: 'PUT',\n headers: {\n 'Content-Type': '',\n 'ClientCode': DATA_CONSTANT.ClientCode,\n 'UserEmail': CommonService.getUserEmail()\n },\n body: fileData\n }\n\n fetch(requestURL, options)\n .then(async data => {\n if (!data.ok) {\n // get error message from body or default to response statusText\n const error = (data && data.Message) || data.statusText;\n console.log(error);\n reject(error);\n } else {\n resolve(data);\n }\n }).catch(error => {\n console.log(error);\n reject(error);\n });\n })\n}","const ROOT_URL = \"/api\";\nexport const URL_CONSTANT = {\n JobType: {\n GetJobTypes: ROOT_URL + \"/JobType/GetJobTypes\",\n GetJobTypesForConfiguration: ROOT_URL + \"/Configurations/JobType/GetAllJobTypes\",\n GetCQJobTypes: ROOT_URL + \"/Configurations/JobType/GetCQJobTypes\",\n UpdateJobTypes: ROOT_URL + \"/Configurations/JobType/UpdateJobTypes\",\n GetJobTypesDetail: ROOT_URL + \"/JobType/GetJobTypesDetail\"\n },\n RequestForm: {\n GetDefaultConfigurations: ROOT_URL + \"/RFQ/GetDefaultConfigurations\",\n CreateRFQ: ROOT_URL + \"/RFQ/Create\",\n UpdateRFQ: ROOT_URL + \"/RFQ/Update\",\n CloneRFQ: ROOT_URL + \"/RFQ/Clone\",\n DownLoadFile: ROOT_URL + \"/RFQ/DownloadFile\",\n GetAllQuoteType: ROOT_URL + \"/RFQ/GetAllQuoteTypes\",\n GetRFQDetails: ROOT_URL + \"/RFQ/Get\",\n GetRFQDocuments: ROOT_URL + \"/RFQ/GetRFQDocuments\",\n DeleteRFQDocument: ROOT_URL + \"/RFQ/DeleteRFQDocument\",\n DeleteQuantity: ROOT_URL + \"/RFQ/DeleteQuantity\",\n DeleteTurnTime: ROOT_URL + \"/RFQ/DeleteTurnTime\",\n UpdateAssemblyFieldValue: ROOT_URL + \"/RFQ/UpdateAssemblyFieldValue\",\n UpdateAdjustedTurnTimeApprovalStatus: ROOT_URL + \"/RFQ/UpdateAdjustedTurnTimeApprovalStatus\",\n GetRFQList: ROOT_URL + \"/RFQ/GetList\",\n GetRFQInfoForContinue: ROOT_URL + \"/RFQ/GetRFQInfoForContinue\",\n CreateBomHealthAssembly: ROOT_URL + \"/RFQ/CreateBomHealthAssembly\",\n GetCustomerContactByEmail: ROOT_URL + \"/RFQ/GetCustomerContactByEmail\",\n },\n Labor: {\n GetLaborQuestions: ROOT_URL + \"/Labor/GetLaborQuestions\",\n GetLaborActivitiesWithCalculatedDriver: ROOT_URL + \"/Labor/GetLaborActivitiesWithCalculatedDriver\",\n SubmitLaborAnswers: ROOT_URL + \"/Labor/SubmitLaborAnswers\",\n UpdateLaborAnswers: ROOT_URL + \"/Labor/UpdateLaborAnswers\",\n DeleteAssemblyLaborActivities: ROOT_URL + \"/Labor/DeleteAssemblyLaborActivities\"\n },\n Configuration: {\n GetConfigurations: ROOT_URL + \"/Configuration/GetConfigurations\",\n GetApplicationConfigurations: ROOT_URL + \"/Configuration/GetApplicationConfigurations\",\n IsClientExist: ROOT_URL + \"/Configuration/IsClientExist\",\n DecryptQueryString: ROOT_URL + \"/Configuration/DecryptQueryString\"\n },\n BOM: {\n CreateBOM: ROOT_URL + \"/BOM/Create\",\n GetPCBLinesByAssemblyId: ROOT_URL + \"/BOM/GetPCBLinesByAssemblyId\",\n IsScrubMyBomRunning: ROOT_URL + \"/BOM/IsScrubMyBomRunning\"\n },\n CustomImportWidgetCSSUrl: `${window.location.origin}${process.env.PUBLIC_URL}/CustomImportWidget.css`,\n PCBNetImportWidgetCSSUrl: `${window.location.origin}${process.env.PUBLIC_URL}/PCBNetImportWidget.css`,\n Pricing:\n {\n GetRequestedQuantity: ROOT_URL + \"/Pricing/GetRequestedQuantity\",\n GetPurchaseData: ROOT_URL + \"/Pricing/GetPurchaseData\",\n UpdateMethodOfSupply: ROOT_URL + \"/Pricing/UpdateMethodOfSupply\",\n GetBomSummary: ROOT_URL + \"/Pricing/GetBomSummary\",\n CheckPricingStatus: ROOT_URL + \"/Pricing/CheckPricingStatus\",\n RefreshPricing: ROOT_URL + \"/Pricing/RefreshPricing\",\n UpsertMethodOfSupplySelections: ROOT_URL + \"/Pricing/UpsertMethodOfSupplySelections\",\n AddAlternateParts: ROOT_URL + \"/Pricing/AddAlternateParts\"\n },\n PCB: {\n GetPcbQuestions: ROOT_URL + \"/PCB/GetPCBQuestions\",\n SubmitPCBAnswers: ROOT_URL + \"/PCB/SubmitPCBAnswers\",\n SubmitPCBWithPricing: ROOT_URL + \"/PCB/SubmitPCBWithPricing\",\n GetSavedPCBAnswers: ROOT_URL + \"/PCB/GetSavedPCBAnswers\",\n GetPCBAnswerFields: ROOT_URL + \"/PCB/GetPCBAnswerFields\"\n },\n Summary: {\n PublishQuoteCQQuote: ROOT_URL + \"/Summary/PublishQuoteCQQuote\",\n GetSummaryDetails: ROOT_URL + \"/Summary/Get\"\n },\n QuotePrice: {\n MarkPriceAsSelected: ROOT_URL + \"/QuotePrice/MarkPriceAsSelected\",\n GetSelectedPrice: ROOT_URL + \"/QuotePrice/GetSelectedPrice\"\n },\n RFQProcessStatus: {\n GetRFQSteps: ROOT_URL + \"/RFQProcessStatus/GetRFQSteps\",\n SaveCompletedStep: ROOT_URL + \"/RFQProcessStatus/Save\",\n GetRFQStepsForConfiguration: ROOT_URL + \"/Configurations/RFQSteps/GetRFQStepsForConfiguration\",\n UpdateRFQSteps: ROOT_URL + \"/Configurations/RFQSteps/UpdateRFQSteps\",\n GetRFQProcessStatus: ROOT_URL + \"/RFQProcessStatus/GetRFQProcessStatus\"\n },\n Checkout: {\n GetOrder: ROOT_URL + \"/Order/GetOrder\",\n SaveOrder: ROOT_URL + \"/Order/SaveOrder\",\n CreatePaymentIntent: ROOT_URL + \"/Payment/CreatePaymentIntent\",\n UpdatePaymentDetails: ROOT_URL + \"/Payment/UpdatePaymentDetails\",\n GetShippingMethods: ROOT_URL + \"/ShippingMethod/Get\",\n GetStripePublishableKey: ROOT_URL + \"/Configuration/GetStripePublishableKey\",\n GetCountries: ROOT_URL + \"/Country/Get\",\n },\n CheckListBuilder: {\n GetCheckListScreen: ROOT_URL + \"/CheckListBuilder/GetCheckListScreen\",\n SubmitCheckListBuilder: ROOT_URL + \"/RFQ/UpsertRFQChecklist\",\n GetCheckListAnswers: ROOT_URL + \"/CheckListBuilder/GetCheckListAnswers\",\n GetCheckListDetails: ROOT_URL + \"/Configurations/CheckList/GetCheckListDetailsForConfiguration\",\n UpdateCheckListDetails: ROOT_URL + \"/Configurations/CheckList/UpdateCheckList\"\n },\n Report: {\n GetAllPricingReport: ROOT_URL + \"/Report/GetAllPricingReport\",\n GetCostedBOMReport: ROOT_URL + \"/Report/GetCostedBOMReport\",\n GetQuoteReport: ROOT_URL + \"/Report/GetQuoteReport\"\n },\n Document: {\n GeneratePreSignedUrl: ROOT_URL + \"/Document/GeneratePreSignedUrl\",\n InsertDocuments: ROOT_URL + \"/Document/InsertDocuments\"\n },\n CustomQuote: {\n GetAllUploadedDocuments: ROOT_URL + \"/CustomQuote/GetAllUploadedDocuments\",\n SubmitCustomQuote: ROOT_URL + \"/CustomQuote/SubmitCustomQuote\"\n },\n GetMarketingContentBySectionName: ROOT_URL + \"/MarketingContent/GetMarketingContentBySectionName\",\n RouteList: ROOT_URL + \"/Route/GetRouteList\",\n GetJargonList: ROOT_URL + \"/Jargon/GetJargonList\",\n GetJargonListFromConfigurations: ROOT_URL + \"/Configurations/Jargon/GetJargonList\",\n SaveUpdatedData: ROOT_URL + \"/Configurations/Jargon/SaveUpdatedData\",\n AlternateParts: {\n GetSuggestedAlternateParts: ROOT_URL + \"/AlternateParts/GetSuggestedAlternateParts\"\n },\n LogUserLoggedInActivity: ROOT_URL + \"/ActivityTrack/LogUserLoggedInActivity\",\n MiscConfiguration: {\n GetMiscConfigurations: ROOT_URL + \"/Configurations/MiscConfiguration/GetMiscConfigurations\",\n UpdateMiscConfigurations: ROOT_URL + \"/Configurations/MiscConfiguration/UpdateMiscConfigurations\"\n },\n Account: {\n IsUserPortCQAdmin: ROOT_URL + \"/Account/IsUserPortCQAdmin\"\n },\n ShippingMethods: {\n GetShippingMethods: ROOT_URL + \"/Configurations/ShippingMethods/GetShippingMethods\",\n UpdateShippingMethods: ROOT_URL + \"/Configurations/ShippingMethods/UpdateShippingMethods\"\n },\n MarketingContent: {\n GetAllMarketingContents: ROOT_URL + \"/MarketingContent/GetAllMarketingContents\",\n UpdateMarketingContent: ROOT_URL + \"/MarketingContent/UpdateMarketingContent\",\n },\n BOMHealth: {\n BOMHealthReport: ROOT_URL + \"/BOMHealth/EmailBOMHealthReport\", \n },\n BOMHealthMonitor: { \n CreateBomHealthMonitor: ROOT_URL + \"/BOMHealthMonitor/CreateBomHealthMonitor\",\n GetScheduleByAssemblyId: ROOT_URL + \"/BOMHealthMonitor/GetScheduleByAssemblyId\",\n GetBomHealthMonitorHistory: ROOT_URL + \"/BOMHealthMonitor/GetBomHealthMonitorHistory\",\n DeleteBomHealthMonitorRequest: ROOT_URL + \"/BOMHealthMonitor/DeleteBomHealthMonitorRequest\", \n UpdateBomHealthMonitor: ROOT_URL + \"/BOMHealthMonitor/UpdateBomHealthMonitor\"\n },\n ContactDetails: {\n GetByAssemblyId: ROOT_URL + \"/ContactDetails/GetByAssemblyId\",\n Save: ROOT_URL + \"/ContactDetails/Save\"\n },\n PCBNet: {\n GetQuoteDetails: ROOT_URL + \"/PCBNet/GetQuoteDetails\",\n CreatePCBNetAssembly: ROOT_URL + \"/PCBNet/CreatePCBNetAssembly\"\n },\n AssemblyChat: {\n GetAssemblyChat: ROOT_URL + \"/AssemblyChat/GetAssemblyChat\",\n SaveAssemblyChatMessage: ROOT_URL + \"/AssemblyChat/SaveAssemblyChatMessage\",\n GetUnreadMessageCount: ROOT_URL + \"/AssemblyChat/GetUnreadMessageCount\"\n }\n};","export const SELECT_JOBTYPE = 'SELECT_JOBTYPE';\n\nexport const SET_DEFAULT_CONFIGS = 'SET_DEFAULT_CONFIGS';\n\nexport const SET_RFQ_DETAILS = 'SET_RFQ_DETAILS';\n\nexport const CLEAR_STORE = 'CLEAR_STORE';\n\nexport const SET_COMPLETED_STEPS = 'SET_COMPLETED_STEPS';\n\nexport const RESET_COMPLETED_STEPS = 'RESET_COMPLETED_STEPS';\n\nexport const SET_BOM_FILES = 'SET_BOM_FILES';\n\nexport const CLEAR_JOBTYPES = 'CLEAR_JOBTYPES';\n\nexport const SET_PRICING_RUNNING_STATUS = 'SET_PRICING_STATUS';\n\nexport const CLEAR_PRICING_RUNNING_STATUS = 'CLEAR_PRICING_STATUS';\n\nexport const SET_BOMID = \"SET_BOMID\";\n\nexport const SET_IS_CUSTOMQUOTE_REQUIRES = \"SET_IS_CUSTOMQUOTE_REQUIRES\";\n\nexport const SET_CLIENT_NAME = \"SET_CLIENT_NAME\";\n\nexport const SET_CLIENT_CODE = \"SET_CLIENT_CODE\";\n\nexport const SET_EXTERNAL_USERID = \"SET_EXTERNAL_USERID\";\n\n\nexport const SET_ALL_COMPLETED_STEPS = 'SET_ALL_COMPLETED_STEPS';\n\nexport const SET_PCBNET_QUOTE_DETAILS = 'SET_PCBNET_QUOTE_DETAILS';","import { DATA_CONSTANT } from '../constants/DataConstant';\nimport { JARGON_CONSTANT } from \"../constants/JargonConstant\";\nimport { each } from 'underscore';\nimport { SessionStorageService } from '../services/SessionStorageService';\n\nexport const CommonService = {\n getFileExtension: (fileName) => {\n let extension = \"\";\n if (fileName) {\n extension = fileName.substr(fileName.lastIndexOf('.') + 1).toLowerCase();\n }\n return extension;\n },\n\n isValidBOMFile: (fileName) => {\n let fileExtension = \"\";\n let validExtension = DATA_CONSTANT.validExtensionForBomFile;\n if (fileName) {\n fileExtension = fileName.substr(fileName.lastIndexOf('.') + 1).toLowerCase();\n }\n if (validExtension.indexOf(fileExtension) > -1) {\n return true;\n }\n return false;\n },\n\n createBomFileFromBlobUrl: async (url, fileName) => {\n const fetchResult = await fetch(url);\n const result = await fetchResult.blob();\n\n if (fetchResult.ok) {\n let types = DATA_CONSTANT.bomFileType\n let extension = fileName.substr(fileName.lastIndexOf('.') + 1).toLowerCase();\n let metadata = {\n type: types.find((x) => x.extension === extension).type\n };\n\n let file = new File([result], fileName, metadata);\n return file;\n }\n\n const responseError = {\n type: 'Error',\n message: result.message || 'Something went wrong',\n data: result.data || '',\n code: result.code || '',\n };\n\n const error = new Error();\n error.info = responseError;\n\n return (error);\n },\n\n deepShallowCopy: (data) => {\n return (JSON.parse(JSON.stringify(data)));\n },\n\n convertChecklist: (rfqDetail, checkListBuilderData) => {\n let checkListDetail = CommonService.deepShallowCopy(checkListBuilderData);\n\n let objCheckListBuilder = {\n RFQId: rfqDetail.quoteId,\n AssemblyId: rfqDetail.assemblyId,\n RFQCustomFieldValues: [],\n CustomQuoteFieldNames: []\n };\n\n let isAnyFieldRequiresCustomQuote = false;\n if (checkListDetail.length > 0) {\n each(checkListDetail, function (value) {\n if ((value.fieldType?.toLowerCase() === \"checkbox\" || value.fieldType?.toLowerCase() === \"dropdown\" || value.fieldType?.toLowerCase() === \"radiobutton\") && value.defaultValue !== null) {\n if (Array.isArray(value.defaultValue)) {\n value.defaultValue = value.defaultValue.join(\",\");\n }\n } else if (value.defaultValue == null) {\n value.defaultValue = \"\";\n }\n var objValues = {\n Id: value.id,\n FieldTypesName: value.name,\n FieldTypeValue: value.defaultValue\n };\n objCheckListBuilder.RFQCustomFieldValues.push(objValues);\n if (value.isCustomQuote) {\n objCheckListBuilder.CustomQuoteFieldNames.push(value.name);\n isAnyFieldRequiresCustomQuote = true;\n return;\n }\n });\n }\n objCheckListBuilder.IsAnyFieldRequiresCustomQuote = isAnyFieldRequiresCustomQuote;\n return objCheckListBuilder;\n },\n\n generateRandomId: (length) => {\n var result = '';\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var charactersLength = characters.length;\n for (var i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n },\n\n getJargonValue: (key) => {\n return JARGON_CONSTANT.jargonValues.find(x => x.label == key)?.displayValue;\n },\n\n getJargonDetail: (key) => {\n return JARGON_CONSTANT.jargonValues.find(x => x.label == key);\n },\n\n getCookie: (cname) => {\n var name = cname + \"=\";\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) === 0) {\n return c.substring(name.length, c.length);\n }\n }\n return \"\";\n },\n\n calculateTax: (configuredTax, paymentDetail) => {\n if (!configuredTax || !paymentDetail) {\n return 0;\n }\n\n if (configuredTax.includes('%')) {\n\n let totalPrice = paymentDetail.subTotalPrice + paymentDetail.shippingCharge - paymentDetail.discount;\n let taxPercentage = Number(configuredTax.split('%')[0]) * 1;\n let calculatedTax = (totalPrice / 100) * taxPercentage;\n return parseFloat(calculatedTax.toFixed(2));\n\n } else {\n return parseFloat((+configuredTax).toFixed(2));\n }\n },\n\n calculateTotal: (paymentDetail) => {\n if (!paymentDetail) {\n return 0;\n }\n\n let total = ((paymentDetail.subTotalPrice + paymentDetail.tax + paymentDetail.shippingCharge) - paymentDetail.discount);\n\n return parseFloat(total.toFixed(2));\n },\n\n getRoutePath: (pathName) => {\n if (DATA_CONSTANT.IsCustomDomainClient) {\n return `/${pathName}`;\n }\n return `/${DATA_CONSTANT.ClientCode}/${pathName}`;\n },\n getQueryParam: (name) => {\n const search = window.location.search;\n const params = new URLSearchParams(search);\n return params.get(name);\n },\n getUserEmail: () => {\n\n let loggedInUserEmail = SessionStorageService.getSessionValue('LoggedInUserEmail');\n\n if (loggedInUserEmail && loggedInUserEmail != \"undefined\") {\n return loggedInUserEmail;\n }\n\n let storeJson = JSON.parse(SessionStorageService.getSessionValue('persist:root'));\n let salesPersonEmail = storeJson ? (JSON.parse(storeJson.DefaultConfigs)?.defaultConfigs?.salesPersonEmail) : \"\";\n let userEmail = salesPersonEmail ? salesPersonEmail : \"\";\n return userEmail;\n\n },\n roundToTwoDecimal: (num) => {\n return Math.round(num * 100) / 100;\n }\n}","export const JARGON_CONSTANT = {\n keys: {\n HomePageTitle: 'HomePageTitle',\n HomePageSubTitle: 'HomePageSubTitle',\n NextButton: 'NextButton',\n RfqPageTitle: 'RfqPageTitle',\n BasicDetailSectionTitle: 'BasicDetailSectionTitle',\n QuantitySectionTitle: 'QuantitySectionTitle',\n QuantitySectionSubTitle1: 'QuantitySectionSubTitle1',\n QuantitySectionSubTitle2: 'QuantitySectionSubTitle2',\n QuantitySectionDescription: 'QuantitySectionDescription',\n FileUploadSectionTitle: 'FileUploadSectionTitle',\n FileUploadSectionSubTitle1: 'FileUploadSectionSubTitle1',\n FileUploadSectionSubTitle2: 'FileUploadSectionSubTitle2',\n MapBOMButton: 'MapBOMButton',\n LaborPageTitle: 'LaborPageTitle',\n AssemblyDetailPageTitle: 'AssemblyDetailPageTitle',\n CustomQuotePageTitle: 'CustomQuotePageTitle',\n CustomQuotePageSubTitle: 'CustomQuotePageSubTitle',\n CustomQuotePageDescription: 'CustomQuotePageDescription',\n CustomQuoteUploadFileSectionTitle: 'CustomQuoteUploadFileSectionTitle',\n CustomQuoteContactDescription1: 'CustomQuoteContactDescription1',\n CustomQuoteContactDescription2: 'CustomQuoteContactDescription2',\n CustomQuoteContactDescription3: 'CustomQuoteContactDescription3',\n SendButton: 'SendButton',\n CustomQuoteContactNumber: 'CustomQuoteContactNumber',\n QuoteCompleteButton: 'QuoteCompleteButton',\n QuoteCompleteMessage: 'QuoteCompleteMessage',\n CompilingScreenTitle: 'CompilingScreenTitle',\n CompilingScreenDescription: 'CompilingScreenDescription',\n BackButton: 'BackButton',\n ALLPartsButton: 'ALLPartsButton',\n IssueOnlyButton: 'IssueOnlyButton',\n BOMIsCleanMessage: 'BOMIsCleanMessage',\n DownloadBOM: 'DownloadBOM',\n BOMSummarySectionTitle: 'BOMSummarySectionTitle',\n DownloadQuote: 'DownloadQuote',\n QuantityColumnHeader: 'QuantityColumnHeader',\n TurnTimeColumnHeader: 'TurnTimeColumnHeader',\n AssemblyCostColumnHeader: 'AssemblyCostColumnHeader',\n AdditionalServicesColumnHeader: 'AdditionalServicesColumnHeader',\n PCBColumnHeader: 'PCBColumnHeader',\n TotalPriceColumnHeader: 'TotalPriceColumnHeader',\n BillingAndShippingTitle: 'BillingAndShippingTitle',\n ShippingAddressSubTitle: 'ShippingAddressSubTitle',\n BillingAddressSubTitle: 'BillingAddressSubTitle',\n ShippingMethodSubTitle: 'ShippingMethodSubTitle',\n OrderSummarySubTitle: 'OrderSummarySubTitle',\n SeparateBillingAddressSubTitle: 'SeparateBillingAddressSubTitle',\n QuantityLabel: 'QuantityLabel',\n LeadTimeLabel: 'LeadTimeLabel',\n RegularPriceSubTotalLabel: 'RegularPriceSubTotalLabel',\n ShippingLabel: 'ShippingLabel',\n TotalLabel: 'TotalLabel',\n HideOrderDetailsButton: 'HideOrderDetailsButton',\n ViewOrderDetailsButton: 'ViewOrderDetailsButton',\n PCBDetailsLabel: 'PCBDetailsLabel',\n NetPayableTitle: 'NetPayableTitle',\n StartNewQuoteButton: 'StartNewQuoteButton',\n GetQuotePageTitle: 'GetQuotePageTitle',\n LineColumnHeader: 'LineColumnHeader',\n ManufacturerColumnHeader: 'ManufacturerColumnHeader',\n MPNColumnHeader: 'MPNColumnHeader',\n DescriptionColumnHeader: 'DescriptionColumnHeader',\n ReferenceDesignatorColumnHeader: 'ReferenceDesignatorColumnHeader',\n TotalQuantityColumnHeader: 'TotalQuantityColumnHeader',\n MethodOfSupplyColumnHeader: 'MethodOfSupplyColumnHeader',\n IssueAlertColumnHeader: 'IssueAlertColumnHeader',\n FileImportMessage1: 'FileImportMessage1',\n FileImportMessage2: 'FileImportMessage2',\n MaxFileUploadMessage: 'MaxFileUploadMessage',\n ChooseFileButton: 'ChooseFileButton',\n ScrubMyBomTitle: 'ScrubMyBomTitle',\n ScrubMyBomSubTitle: 'ScrubMyBomSubTitle',\n ContinueButton: 'ContinueButton',\n ViewButton: 'ViewButton',\n ReorderButton: 'ReorderButton',\n RepriceAlternatesButton: 'RepriceAlternatesButton',\n SuggestAlternatesButton: \"SuggestAlternatesButton\",\n AddAlternatesManuallyButton: \"AddAlternatesManuallyButton\",\n SuggestAlternateModalTitle: 'SuggestAlternateModalTitle',\n SaveSelectedAlternatesButton: 'SaveSelectedAlternatesButton',\n AddAlternateTitle: 'AddAlternateTitle',\n SaveAlternatesButton: 'SaveAlternatesButton',\n CreateAQuoteButton: 'CreateAQuoteButton',\n BOMAnalysisButton: 'BOMAnalysisButton',\n CreateAQuoteDescription: 'CreateAQuoteDescription',\n BOMAnalysisDescription: 'BOMAnalysisDescription',\n QuoteSelectionPageTitle: 'QuoteSelectionPageTitle',\n QuoteSelectionPageSubTitle: 'QuoteSelectionPageSubTitle',\n QuickPriceButton: 'QuickPriceButton',\n QuickPriceDescription: 'QuickPriceDescription',\n DownloadAllPricing: 'DownloadAllPricing',\n FirstNameLabel: 'FirstNameLabel',\n LastNameLabel: 'LastNameLabel',\n EmailLabel: 'EmailLabel',\n PhoneLabel: 'PhoneLabel',\n CompanyLabel: 'CompanyLabel',\n QuoteTypeLabel: 'QuoteTypeLabel',\n AssemblyNameLabel: 'AssemblyNameLabel',\n AssemblyNumberLabel: 'AssemblyNumberLabel',\n RevLabel: 'RevLabel',\n TotalTurnTimeLabel: 'TotalTurnTimeLabel',\n NoOfSMTParts: 'NoOfSMTParts',\n NoOfTHParts: 'NoOfTHParts',\n TotalNoOfLineItem: 'TotalNoOfLineItem',\n NameLabel: 'NameLabel',\n StreetAddressLine1Label: 'StreetAddressLine1Label',\n StreetAddressLine2Label: 'StreetAddressLine2Label',\n PostalCodeLabel: 'PostalCodeLabel',\n CityLabel: 'CityLabel',\n StateLabel: 'StateLabel',\n ChooseShippingMethod: 'ChooseShippingMethod',\n UnpricedLineItem: 'UnpricedLineItem',\n CrossMatch: 'CrossMatch',\n OutofStock: 'OutofStock',\n LongLeadTime: 'LongLeadTime',\n InStockButLongLeadTime: 'InStockButLongLeadTime',\n Select: 'Select',\n AssemblyNameColumnHeader: 'AssemblyNameColumnHeader',\n AssemblyNumberRevColumnHeader: 'AssemblyNumberRevColumnHeader',\n RequestedQTYTurnTimeColumnHeader: 'RequestedQTYTurnTimeColumnHeader',\n OrderedQTYTurnTimeColumnHeader: 'OrderedQTYTurnTimeColumnHeader',\n OrderPriceColumnHeader: 'OrderPriceColumnHeader',\n QuoteDateColumnHeader: 'QuoteDateColumnHeader',\n StatusColumnHeader: 'StatusColumnHeader',\n ActionsColumnHeader: 'ActionsColumnHeader',\n UploadedFilesTitle: 'UploadedFilesTitle',\n QuoteHistoryHeader: 'QuoteHistoryHeader',\n QuoteHistoryLinkText: 'QuoteHistoryLinkText',\n NoOfIssues: 'NoOfIssues',\n LoginLinkText: 'LoginLinkText',\n LogoutLinkText: 'LogoutLinkText',\n RejectedFilesTitle: 'RejectedFilesTitle',\n FilesTypeLabel: 'FilesTypeLabel',\n NoteLabel: 'NoteLabel',\n\n YesButton: 'YesButton',\n NoButton: 'NoButton',\n CustomQuoteWarning: 'CustomQuoteWarning',\n DeleteFileAlert: 'DeleteFileAlert',\n DeleteQuantityAlert: 'DeleteQuantityAlert',\n DeleteTurnTimeAlert: 'DeleteTurnTimeAlert',\n MinimumOneQuantityRequired: 'MinimumOneQuantityRequired',\n MinimumOneTurnTimeRequired: 'MinimumOneTurnTimeRequired',\n StartNewQuoteConfirmation: 'StartNewQuoteConfirmation',\n AssemblyDetailNotConfigured: 'AssemblyDetailNotConfigured',\n NoPCBLineAdded: 'NoPCBLineAdded',\n NavigationBlockMessage: 'NavigationBlockMessage',\n CustomQuoteWarningForChecklist: 'CustomQuoteWarningForChecklist',\n ReorderRFQ: 'ReorderRFQ',\n RequiredMessage: 'RequiredMessage',\n InvalidValueMessage: 'InvalidValueMessage',\n MaxLengthMessage: 'MaxLengthMessage',\n MinValueMessage: 'MinValueMessage',\n RequiredMethodOfSupply: 'RequiredMethodOfSupply',\n InvalidAmount: 'InvalidAmount',\n SelectAlternate: 'SelectAlternate',\n DuplicatePartNumber: 'DuplicatePartNumber',\n RequireAlternate: 'RequireAlternate',\n MinLengthMessage: 'MinLengthMessage',\n BOMHealthMonitorHeader: 'BOMHealthMonitorHeader',\n BOMHealthMonitorHistoryHeader: 'BOMHealthMonitorHistoryHeader',\n CreateSchedule: 'CreateSchedule',\n DeleteButton: 'DeleteButton',\n EditButton: 'EditButton'\n },\n\n jargonValues: [],\n jargonObject: {}\n}","import { createUserManager } from 'redux-oidc';\nimport { loadUser } from \"redux-oidc\";\nimport { SessionStorageService } from '../services/SessionStorageService';\nimport { history } from '../History';\nimport { DATA_CONSTANT } from '../constants/DataConstant';\nimport { configureStore } from '../redux/store';\nimport { CommonService } from \"../services/CommonService\";\n\nlet OIDCService = {};\n\nconst initializeUserManager = (config) => {\n let urlClientCode = DATA_CONSTANT.IsCustomDomainClient ? \"\" : \"/\" + DATA_CONSTANT.ClientCode;\n const userConfig = {\n authority: config?.authenticationUrl,\n client_id: config?.portCQClientId,\n redirect_uri: `${config?.portCQRootUrl}${urlClientCode}/callback.html`,\n response_type: 'code',\n response_mode: 'query',\n scope: `${config?.apiScopesToRequest}`,\n silent_redirect_uri: `${config?.portCQRootUrl}${urlClientCode}/silent_renew.html`,\n automaticSilentRenew: true,\n revokeAccessTokenOnSignout: true,\n post_logout_redirect_uri: `${config?.portCQRootUrl}${urlClientCode}`,\n accessTokenExpiringNotificationTime: `${config?.accessTokenExpiringNotification}` // seconds\n };\n let UserManager = createUserManager(userConfig);\n\n UserManager.events.addUserSignedOut(() => {\n OIDCService.logout();\n });\n UserManager.events.addUserLoaded(() => { });\n\n UserManager.events.addSilentRenewError(function (e) {\n if (e.message == 'Unauthorized') {\n history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 401);\n }\n });\n\n\n let store = configureStore();\n OIDCService = {\n login: () => {\n if (!SessionStorageService.getPostLoginUrl()) {\n SessionStorageService.setPostLoginUrl(window.location.pathname);\n }\n const user = store.getState().oidc.user; \n if (!user || user.expired) {\n let userState = {\n 'state': { uri: JSON.stringify(window.location.href) }\n };\n UserManager.signinRedirect(userState);\n return false;\n }\n return true;\n },\n logout: () => {\n const user = store.getState().oidc.user;\n UserManager.removeUser();\n UserManager.signoutRedirect({ 'id_token_hint': user.id_token }).catch((error) => { this.handleError(error); history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 500); });\n SessionStorageService.removeSessionValue(\"LoggedInUserEmail\");\n },\n loadUser: async () => new Promise((resolve, reject) => {\n loadUser(store, UserManager).then(function (user) {\n resolve(user);\n }).catch(function (err) { resolve(err); history.push(CommonService.getRoutePath(DATA_CONSTANT.routes.error), 500); });\n }),\n getUser: () => {\n const user = store.getState().oidc.user;\n if (user?.profile?.Email) {\n SessionStorageService.setSessionValue(\"LoggedInUserEmail\", user.profile.Email);\n }\n return user;\n },\n setUser: (user) => {\n store.dispatch({\n type: 'redux-oidc/USER_FOUND',\n payload: user,\n });\n let oidcSessionUrl = \"oidc.user:\" + window.$config.authenticationUrl + \":\" + window.$config.portcqClientId;\n SessionStorageService.removeSessionValue(oidcSessionUrl);\n SessionStorageService.setSessionValue(oidcSessionUrl, JSON.stringify(user));\n },\n getUserId: () => {\n let user = store.getState().oidc.user;\n let userId = (user && user.profile) ? user.profile.sub : \"\";\n return userId;\n },\n hasUserAccessRights: () => {\n\n const user = store.getState().oidc.user;\n if (user.profile.IsSuperAdmin && user.profile.IsSuperAdmin.toLowerCase() == 'true') {\n return true;\n }\n if (user.profile.HasAccessToApplication != null && user.profile.HasAccessToApplication != undefined) {\n return user.profile.HasAccessToApplication.toLowerCase() === 'true';\n }\n return false;\n },\n isEmailConfirmed: () => {\n const user = store.getState().oidc.user;\n if (user != undefined && user.profile.EmailConfirmed?.toLowerCase() == 'false') {\n return false;\n }\n return true;\n }\n }\n\n return UserManager;\n};\n\nexport { initializeUserManager as initializeUserManager, OIDCService as OIDCService }","const postLoginRouteKey = 'postLoginRoute';\n\nexport const SessionStorageService = {\n getPostLoginUrl: () => {\n return sessionStorage.getItem(postLoginRouteKey)\n },\n\n setPostLoginUrl: (value) => {\n sessionStorage.setItem(postLoginRouteKey, value);\n },\n\n removePostLoginUrl: () => {\n sessionStorage.removeItem(postLoginRouteKey);\n },\n getSessionValue: (key) => {\n return sessionStorage.getItem(key)\n },\n\n setSessionValue: (key, value) => {\n sessionStorage.setItem(key, value);\n },\n\n removeSessionValue: (key) => {\n sessionStorage.removeItem(key);\n }\n};","export { clearJobType } from \"./ClearJobType\";\nexport { clearStore } from \"./ClearStoreActions\";\nexport { setCompletedSteps, resetCompletedSteps, setAllCompletedSteps } from \"./CompletedStepActions\";\nexport { setDefaultConfigs } from \"./DefaultConfigActions\";\nexport { selectJobType } from \"./JobTypeActions\";\nexport { setRFQDetails, setBOMId, setIsCustomQuoteRequired } from \"./RFQDetailActions\";\nexport { setBomFile } from \"./SetBomFIleAction\";\nexport { setClientName, setClientCode } from \"./SetClient\";\nexport { setPCBNetQuoteDetails } from './PCBNetQuoteActions'","import React from 'react';\nimport { BiCart, BiPlusCircle, BiX, BiXCircle, BiSend } from \"react-icons/bi\";\nimport './InputButton.css';\nimport { Button } from 'react-bootstrap';\n\nexport const RemoveButton = (props) => {\n return (\n \n )\n};\n\nexport const AddButton = (props) => {\n return (\n \n )\n};\n\nexport const PrimaryButton = (props) => {\n return (\n \n )\n};\n\nexport const SecondaryButton = (props) => {\n return (\n \n )\n};\n\nexport const SmallGreyButton = (props) => {\n let isActive = props.isActive === true ? \"isActive\" : \" \";\n return (\n \n )\n};\n\nexport const LinkButton = (props) => {\n return (\n \n )\n};\n\nexport const ShoppingCartButton = (props) => {\n return (\n \n );\n};\n\nexport const ReportButton = (props) => {\n return (\n \n );\n}\n\nexport const CloseButton = (props) => {\n return (\n \n )\n};\n\nexport const SendButton = (props) => {\n return (\n \n );\n};","export { JobTypes } from './JobTypes';\nexport { DefaultConfigs } from './DefaultConfigs';\nexport { RFQDetails } from './RFQDetails';\nexport { CompletedSteps } from './CompletedSteps';\nexport { BomFile } from './BomFile';\nexport { Client } from './Client';\nexport { PCBNetQuoteDetails } from './PCBNetQuoteDetails'","import { RESET_COMPLETED_STEPS, SET_COMPLETED_STEPS, SET_ALL_COMPLETED_STEPS } from '../../constants/ActionConstants';\n\nexport const setCompletedSteps = (stepName) => ({\n type: SET_COMPLETED_STEPS,\n data: { stepName: stepName }\n});\n\nexport const resetCompletedSteps = () => ({\n type: RESET_COMPLETED_STEPS,\n data: {}\n});\n\nexport const setAllCompletedSteps = (steps) => ({\n type: SET_ALL_COMPLETED_STEPS,\n data: steps\n});","import React from 'react';\nimport { usePromiseTracker } from \"react-promise-tracker\";\nimport BeatLoader from \"react-spinners/BeatLoader\";\nimport './LoadingSpinner.css'\n\nexport const LoadingSpiner = (props) => {\n const { promiseInProgress } = usePromiseTracker({ area: props.area });\n const parentContainer = props.area ? props.parentContainer?.current : null;\n let loaderClass = null;\n if (promiseInProgress) {\n if (parentContainer) {\n loaderClass = \"componentwise-loader\";\n } else {\n loaderClass = \"full-body-loader\";\n }\n } else {\n if (parentContainer) {\n parentContainer.classList.remove('cm-backdrop');\n } else {\n if (document.getElementsByClassName(\"overlay-box\").length > 0) {\n document.getElementById(\"bodyContainer\").remove();\n }\n }\n }\n\n return (\n promiseInProgress &&\n <>\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n )\n};","/// \nexport const DATA_CONSTANT = {\n\n allowedFileTypes: [\n 'image/*',\n 'application/pdf',\n '.csv',\n 'application/msword',\n 'application/json',\n 'text/plain',\n '.zip',\n '.rar',\n '.7zip',\n '.xlsx',\n '.docx',\n '.doc',\n '.gbr',\n '.xls'\n ],\n maxFileSize: 52428800 /*Bytes- 50 MB*/,\n maxFiles: 5,\n patterns: {\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n name: /^[a-zA-Z0-9\\[\\]\\\\/{};,!@#$%^&*~':?) (+=._-]+$/,\n nameWithSpecialCharacters: '^[\\\\p{L}\\\\p{N}\\\\p{Sc}\\\\p{So}\\\\p{M}\\\\p{Zs}\\\\p{P}^~+=]+$',\n //Number starting from 1 to 9 and allow up to 99999999\n quantity: /^[1-9][0-9]{0,7}$/,\n //Number starting from 1 to 9 and allow up to 999\n totalTurnTime: /^[1-9][0-9]{0,2}$/,\n laborQuestion: /^[0-9]{1,4}(\\.[0-9]{1,2})?$/,\n checkListBuilderNumber: /^[0-9]*$/,\n dateFormat: \"MM/DD/YYYY\",\n assemblyNumber: /^[a-zA-Z0-9-!@$%^#&{}()_+;:,'.= ]{0,50}$/,\n assemblyName: /^[a-zA-Z0-9-!@$%^#&*/{}()_+;:,'.=~ ]+$/,\n shippingCharge: /^[0-9]{1,5}(\\.[0-9]{0,2})?$/,\n twoDecimalPointPercentage: /^((?:|0|[1-9]\\d?|100)(?:\\.\\d{1,2})?)$/,\n joditDefaultTags: /]*>( |\\s+|)*<\\/p>/g\n },\n\n stepNames: {\n RFQ: 'RFQ',\n BOM: 'BOM',\n Labor: 'Labor',\n PCB: 'PCB',\n ReviewBOM: 'ReviewBOM',\n IsComponentPricingDone: 'IsComponentPricingDone',\n AssemblyDetail: 'AssemblyDetail',\n GetQuote: 'GetQuote',\n Checkout: 'Checkout',\n CheckoutBillingShipping: 'CheckoutBillingShipping',\n CheckoutPayment: 'CheckoutPayment',\n CheckoutVerify: 'CheckoutVerify',\n Completed: 'Completed',\n ContactDetails: 'ContactDetails'\n },\n\n guidelinesFiles: {\n BOM_format_guidelines: 'BOM_Best_Practices.pdf',\n BOM_template: 'AAPCB_BOM_Template.xlsx'\n },\n\n validExtensionForBomFile: ['xlsx', 'xls', 'csv'],\n\n bomFileType: [{ extension: 'xls', type: 'application/vnd.ms-excel' },\n { extension: \"xlsx\", type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' },\n { extension: \"csv\", type: 'text/csv' }],\n\n FileType: {\n BOM: 'BOM'\n },\n\n //Array to bind file type drop down list\n arrayFileType: [\n \"Select\",\n \"BOM\",\n ],\n\n timeUOMs: [\n { label: 'Day(s)', value: 'Days' },\n { label: 'Week(s)', value: 'Weeks' },\n ],\n\n ConfigurationKey: {\n IntercomAppId: 'IntercomAppId',\n GoogleAnalyticsTagId: 'GoogleAnalyticsTagId',\n PCBPartClass: 'PCBPartClass',\n StripePublishableKey: 'StripePublishableKey',\n AllowMultipleJobTypeSelection: 'AllowMultipleJobTypeSelection',\n MaxNoOfUploadDocuments: 'MaxNoOfUploadDocuments',\n ClientName: 'ClientName',\n ThemeName: 'ThemeName',\n ContactNumber: 'ContactNumber',\n QuoteCQClientCode: 'QuoteCQClientCode',\n MinimumTurnTime: 'MinimumTurnTime',\n AdjustedTurnTimeToolTipText: 'AdjustedTurnTimeToolTipText',\n RejectTurnTimeConformationText: 'RejectTurnTimeConformationText',\n ApproveTurnTimeConformationText: 'ApproveTurnTimeConformationText',\n IsLogRocketEnabled: 'IsLogRocketEnabled',\n LogRocketAppId: 'LogRocketAppId',\n DefaultTurnTimeForBOMAnalysis: 'DefaultTurnTimeForBOMAnalysis',\n IsBomAnalysisEnabled: 'IsBomAnalysisEnabled',\n IsGetAQuoteEnabled: 'IsGetAQuoteEnabled',\n IsQuickPriceEnabled: 'IsQuickPriceEnabled',\n DefaultFirstName: 'DefaultFirstName',\n DefaultLastName: 'DefaultLastName',\n DefaultEmail: 'DefaultEmail',\n DefaultPhone: 'DefaultPhone',\n DefaultCompany: 'DefaultCompany',\n DefaultAssemblyName: 'DefaultAssemblyName',\n DefaultAssemblyNumber: 'DefaultAssemblyNumber',\n DefaultTurnTimeForQuickPrice: 'DefaultTurnTimeForQuickPrice',\n DefaultRev: 'DefaultRev',\n DefaultQuoteType: 'DefaultQuoteType',\n ReportRedashId: 'ReportRedashId',\n BOMHealthWidgetUrl: 'BOMHealthWidgetUrl',\n IsBOMHealthEnabled: 'IsBOMHealthEnabled',\n BOMHealthReportAPIAccessToken: 'BOMHealthReportAPIAccessToken',\n BOMHealthLastUpdatedDays: 'BOMHealthLastUpdatedDays',\n VAT: 'VAT',\n IsBomHealthHelpIconVisible: 'IsBomHealthHelpIconVisible',\n RemoveActivityWhenSwitchIsOffFeatureEnabled: 'RemoveActivityWhenSwitchIsOffFeatureEnabled',\n DefaultQuantity: 'DefaultQuantity',\n PCBNetUrl: 'PCBNetUrl',\n MaximumQuantityCount: 'MaximumQuantityCount',\n IsPricingColumnsVisibleInReviewBOM: 'IsPricingColumnsVisibleInReviewBOM',\n HubSpotAppId: 'HubSpotAppId'\n },\n\n defaultTimeUOMUnit: \"Day(s)\",\n TooltipPlacement: ['right', 'left', 'top', 'bottom'],\n ITARProcessingRequired: 'ITAR processing required',\n FileIconNotDispalyOnRoute: [\"/rfq\", \"/customquote\"],\n RfqRouteName: 'rfq',\n routes: {\n error: \"error\",\n customQuote: \"customquote\",\n complete: \"complete\",\n quoteHistory: \"quotehistory\",\n checkout: \"checkout\",\n jobtype: \"jobtype\",\n reviewbom: \"reviewbom\",\n scrubmybom: \"scrubmybom\",\n emailActivationPending: \"emailActivationPending\",\n bomHealthMonitorHistory: \"bomhealthmonitorhistory\",\n quoteSummary: \"quotesummary\",\n quoteComplete: \"quotecomplete\",\n bomHealthMonitor: \"bomhealthmonitor\",\n backToPCBNet: \"backtopcbnet\"\n },\n rfqSteps: [],\n\n AssemblyFields: {\n ExternalUserId: 'ExternalUserId'\n },\n\n SectionName: {\n home: \"Home\",\n pricingCompiling: \"PricingCompiling\",\n scrubMyBom: \"scrubMyBom\",\n createAQuoteDescription: \"CreateAQuoteDescription\",\n bomAnalysisDescription: \"BOMAnalysisDescription\",\n quickPriceDescription: \"QuickPriceDescription\",\n getBOMHealthDescription: \"GetBOMHealthDescription\"\n },\n\n DriverCountType: {\n Blank: \"Blank\",\n Fixed: \"Fixed\",\n Recommended: \"Recommended\"\n },\n\n DriverCountSubType: {\n Static: \"Static\",\n Formula: \"Formula\"\n },\n\n ToastMessageVariant: {\n Success: 'success',\n Error: 'danger',\n Warning: 'warning',\n Info: 'info'\n },\n\n //RFQStatus: { InProgress: 'In Progress', Completed: 'Order Placed', CustomQuote: 'Custom', BOMAnalysis: 'BOM Analysis' },\n\n AlternateSource: {\n CQSuggestions: 'CQSuggestions',\n Manual: 'Manual'\n },\n\n DataIndex: {\n QuoteCQJobTypeName: 'quoteCQJobTypeName',\n JobTypeDescription: 'jobTypeDescription',\n Title: 'title',\n DisplayName: 'displayName',\n ShippingMethod: 'shippingMethodName',\n ShippingCharge: 'shippingCharge',\n ScreenName: 'screenName',\n Description: 'description',\n CustomQuoteValues: 'customQuoteValues'\n },\n MarketingContents: {\n HTMLContentLabel: 'HTML Content',\n SectionNameLabel: 'Section Name'\n },\n\n GridScroll: { y: '350px' },\n ScreenNamesForConfiguration: [\n { name: 'AssemblyDetail', displayValue: 'Assembly Detail' },\n { name: 'Labor', displayValue: 'Labor' },\n ],\n SectionNamesForConfiguration: [\n { name: 'Home', displayValue: 'Home', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'PricingCompiling', displayValue: 'Pricing Compiling', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'ScrubMyBOM', displayValue: 'Scrub My BOM', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'AssemblyDetail', displayValue: 'Assembly Detail', isForMarketingSection: false, isForChecklistSection: true },\n { name: 'Labor', displayValue: 'Labor', isForMarketingSection: false, isForChecklistSection: true },\n { name: 'CreateAQuoteDescription', displayValue: 'Create A Quote', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'BOMAnalysisDescription', displayValue: 'BOM Analysis', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'QuickPriceDescription', displayValue: 'Quick Price', isForMarketingSection: true, isForChecklistSection: false },\n { name: 'GetBOMHealthDescription', displayValue: 'Get BOM Health', isForMarketingSection: true, isForChecklistSection: false }\n ],\n\n BomHealthRFQInfo: null,\n PortCQApplicationName: \"PortCQ\",\n ClientCode: \"\",\n BOMHealthScheduleInterval: [\n { label: 'Select', value: '' },\n { label: '1 Week', value: 7 },\n { label: '2 week', value: 14 },\n { label: '3 week', value: 21 },\n ],\n IsCustomDomainClient: false,\n CurrencyMaster: {\n \"AED\": \"د.إ\",\n \"ARS\": \"$\",\n \"AUD\": \"$\",\n \"BGN\": \"Лв.\",\n \"BRL\": \"R$\",\n \"BSD\": \"B$\",\n \"CAD\": \"$\",\n \"CHF\": \"CHf\",\n \"CLP\": \"$\",\n \"CNY\": \"¥\",\n \"COP\": \"$\",\n \"CZK\": \"Kč\",\n \"DKK\": \"Kr.\",\n \"DOP\": \"$\",\n \"EGP\": \"E£\",\n \"EUR\": \"€\",\n \"FJD\": \"FJ$\",\n \"GBP\": \"£\",\n \"GTQ\": \"Q\",\n \"HKD\": \"$\",\n \"HRK\": \"kn\",\n \"HUF\": \"Ft\",\n \"IDR\": \"Rp\",\n \"ILS\": \"₪\",\n \"INR\": \"₹\",\n \"ISK\": \"kr\",\n \"JPY\": \"¥\",\n \"KRW\": \"₩\",\n \"KZT\": \"₸\",\n \"MVR\": \"ރ.\",\n \"MXN\": \"$\",\n \"MYR\": \"RM\",\n \"NOK\": \"kr\",\n \"NZD\": \"$\",\n \"PAB\": \"B/.\",\n \"PEN\": \"S/\",\n \"PHP\": \"₱\",\n \"PKR\": \"₨\",\n \"PLN\": \"zł\",\n \"PYG\": \"₲\",\n \"RON\": \"lei\",\n \"RUB\": \"₽\",\n \"SAR\": \"SR\",\n \"SEK\": \"kr\",\n \"SGD\": \"$\",\n \"THB\": \"฿\",\n \"TRY\": \"₺\",\n \"TWD\": \"$\",\n \"UAH\": \"₴\",\n \"USD\": \"$\",\n \"UYU\": \"$\",\n \"ZAR\": \"R\",\n \"LKR\": \"Rs\",\n \"RMB\": \"¥\",\n },\n IsAnyQuoteFeatureEnabled: false,\n QuoteFeatures: [],\n IsPCBNetClient: false,\n IsGoogleAnalyticsEnabled: false\n};","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const ConfigurationService = {\n\n getByKeys: (configKeys) => {\n return CommonHttpService.httpPost(URL_CONSTANT.Configuration.GetConfigurations, configKeys);\n },\n getApplicationConfigurations: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.Configuration.GetApplicationConfigurations);\n },\n getMiscConfigurations: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.MiscConfiguration.GetMiscConfigurations);\n },\n updateMiscConfigurations: (data) => {\n return CommonHttpService.httpPut(URL_CONSTANT.MiscConfiguration.UpdateMiscConfigurations, data);\n },\n getAllMarketingContents: () => {\n return CommonHttpService.httpGet(URL_CONSTANT.MarketingContent.GetAllMarketingContents);\n },\n updateMarketingContent: (data) => {\n return CommonHttpService.httpPut(URL_CONSTANT.MarketingContent.UpdateMarketingContent, data);\n },\n isClientExist: (portcqClientId) => {\n return CommonHttpService.httpGet(`${URL_CONSTANT.Configuration.IsClientExist}?portcqClientId=${portcqClientId}`);\n },\n decryptQueryString: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.Configuration.DecryptQueryString, data);\n }\n}","import { CommonHttpService } from './CommonHttpService';\nimport { URL_CONSTANT } from '../constants/UrlConstant';\n\nexport const AssemblyChatService = {\n\n getAssemblyChat: (assemblyId, loginUserEmail) => {\n const url = `${URL_CONSTANT.AssemblyChat.GetAssemblyChat}?assemblyId=${assemblyId}&&loginUserEmail=${loginUserEmail}`;\n return CommonHttpService.httpGet(url);\n },\n saveAssemblyChatMessage: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.AssemblyChat.SaveAssemblyChatMessage, data);\n },\n getUnreadMessageCount: (data) => {\n return CommonHttpService.httpPost(URL_CONSTANT.AssemblyChat.GetUnreadMessageCount, data);\n }\n}","import { SET_RFQ_DETAILS, SET_BOMID, SET_IS_CUSTOMQUOTE_REQUIRES, SET_EXTERNAL_USERID } from '../../constants/ActionConstants';\n\nexport const setRFQDetails = (rfqDetails) => ({\n type: SET_RFQ_DETAILS,\n data: { rfqDetails: rfqDetails }\n});\n\nexport const setBOMId = (bomId) => ({\n type: SET_BOMID,\n data: { bomId: bomId || 0 }\n});\n\nexport const setIsCustomQuoteRequired = (isCustomQuoteRequires) => ({\n type: SET_IS_CUSTOMQUOTE_REQUIRES,\n data: { isCustomQuoteRequires: isCustomQuoteRequires || false }\n});\n\nexport const setExternalUserId = (externalUserId) => ({\n type: SET_EXTERNAL_USERID,\n data: { externalUserId: externalUserId }\n});\n","export const MESSAGE_CONSTANT = {\n //quantity: {\n // required: \"Quantity is required.\",\n // invalid: \"Please insert valid Quantity.\"\n //},\n //turnTime: {\n // required: \"Total Turn Time is required.\",\n // invalid: \"Please insert valid Total Turn Time.\",\n // minLength: \"Turn Time should not be less than {0}.\"\n //},\n //contactInfo: {\n // name: {\n // required: \"Name is required.\",\n // invalid: \"Please insert valid Name.\"\n // },\n // firstName: {\n // required: \"First Name is required.\",\n // invalid: \"Please insert valid First Name.\"\n // },\n // lastName: {\n // required: \"Last Name is required.\",\n // invalid: \"Please insert valid Last Name.\"\n // },\n // email: {\n // required: \"Email is required.\",\n // invalid: \"Please insert valid Email.\"\n // },\n // company: {\n // invalid: \"Please insert valid Company name.\"\n // },\n // phone: {\n // required: \"Phone is required.\",\n // invalid: \"Please insert valid Phone.\"\n // }\n //},\n //labor: {\n // laborQuestion: {\n // required: \"Field is required.\",\n // invalid: \"Please enter a valid value.\",\n // maxValue: \"Value must be less than 5 digits.\"\n // },\n // laborNotConfigured: \"Build requirements is not configured.\",\n // onlyReadonlyQuestions: \"Looks like all of your labor activities are already configured, you can move to the next page.\",\n //},\n //documntUploader: {\n // isFileUpload: {\n // required: \"Please add your Gerbers, XYRS data and BOM.\",\n // },\n //},\n //bomFile: {\n // required: \"Please upload csv/xls/xlsx type file and mark it as BOM.\",\n //},\n //tooManyFiles: \"Too many files. Maximum number of files is\",\n validationMessage: {\n //required: \" is required.\",\n //invalid: \"Please insert valid \",\n maxLength50: \"Value must be less than 51 characters.\",\n maxLength100: \"Value must be less than 101 characters.\",\n maxLength250: \"Value must be less than 251 characters.\",\n maxLength500: \"Value must be less than 501 characters.\"\n },\n //CheckListBuilder: {\n // maxValue: \"Value cannot contain more than {0} characters.\",\n // required: \"{0} Field is required.\",\n // invalid: \"Please insert valid {0}.\",\n // minValue: \"Value must be greater than {0} digits.\",\n //},\n //reviewBOM: {\n // //requiredMethodOfSupply: \"Please select Method Of Supply for LineItems \"\n //},\n //required: \"is required.\",\n //validation: {\n // maxValue: \"{0} cannot contain more than {1} characters.\",\n // required: \"{0} is required.\",\n // invalid: \"Please insert valid {0}.\",\n // minValue: \"Value must be greater than {0} digits.\",\n //},\n //accountNumber: {\n // invalid: \"Invalid account number.\",\n // required: \"Account Number is required.\",\n //},\n //Payment: {\n // invalidAmount: \"Amount should be greater than 0.\"\n //},\n //suggestAlternate: {\n // required: \"Please select at least one alternate part.\"\n //},\n //alternates: {\n // duplicate: \"Duplicate part number found : {0}.\",\n // requireAlternateForLineItems: \"Alternate needs to be added for lineitem(s) {0}.\"\n //},\n //customQuoteWarning: \"This would require to be a custom quote. Are you sure you want to continue?\",\n //DeleteFile: \"Are you sure you want to delete {0}?\",\n //DeleteQuantity: \"Are you sure you want to delete this quantity?\",\n //DeleteTurnTime: \"Are you sure you want to delete this turntime?\",\n //MinimumOneQuantityRequired: \"Minimum one quantity and turntime is required.\",\n //MinimumOneTurnTimeRequired: \"Minimum one turntime is required per quantity.\",\n //StartNewQuoteConfirmation: \"Are you sure you want to create a new quote?\",\n //assemblyDetailNotConfigured: \"Assembly details are not configured, you can move to the next page.\",\n //noPCBLineAdded: \"No PCB line(s) added in the BOM. Click {0} button to move to the next page.\",\n //navigationBlockMessage: \"You may have unsaved changes. Are you sure you want to leave this page without saving first?\",\n successMessage: \"Success!\",\n terminologyUpdatedSuccessfully: \"Terminology(s) updated successfully!\",\n //customQuoteWarningForChecklist: \"{0} field(s) selection would require to be a custom quote. Are you sure you want to continue?\",\n //reorderRFQ: \"Are you sure you want to {0} this quote?\",\n miscConfigurationUpdatedSuccessfully: \"Misc Configuration(s) updated successfully!\",\n jobTypesUpdatedSuccessfully: \"Jobtype(s) updated successfully!\",\n rfqStepsUpdatedSuccessfully: \"RFQ Step(s) updated successfully!\",\n shippingMethodsUpdatedSuccessfully: \"Shipping Method(s) updated successfully!\",\n marketingContentUpdatedSuccessfully: \"Marketing Content updated successfully!\",\n checkListDetailsUpdatedSuccessfully: \"Checklist detail updated successfully!\",\n configurations: {\n invalid: \"Please insert valid \",\n required: \" is required.\"\n },\n invalidURLMessage: {\n messageTitle: \"Invalid URL\",\n messageContent: \"This URL you are trying to access is invalid.Please request a valid URL.\"\n }\n};\n","import React, { useEffect, useState } from 'react';\nimport Logo from '../Logo/Logo';\nimport './Header.css';\nimport { Container, Row, Col } from 'react-bootstrap';\nimport TopNavMenu from \"../Navigation/TopNavMenu\";\nimport { OIDCService } from '../../constants/UserManager';\nimport { DATA_CONSTANT } from '../../constants/DataConstant';\n\nconst Header = () => {\n\n const [loggedInUserName, setLoggedInUserName] = useState(null);\n\n useEffect(() => {\n\n let user = OIDCService.getUser();\n if (user != null) {\n // If user logged in then user id is sub\n setLoggedInUserName(user.profile ? user.profile.FirstName : null);\n }\n }, [])\n\n return (\n \n
    \n \n \n \n \n \n {\n !DATA_CONSTANT.IsPCBNetClient &&\n
    \n {loggedInUserName &&
    Hello, {loggedInUserName}
    }\n\n \n
    \n }\n \n
    \n
    \n
    \n );\n}\n\nexport default Header"],"sourceRoot":""}