{"version":3,"sources":["constants/ActionTypes.js","constants/Copy.js","polyfills.js","reducers/OutcomeReducer.js","reducers/StepsReducer.js","reducers/AttachmentReducer.js","reducers/HookReducer.js","reducers/LocationReducer.js","store.js","api/telemetry.js","api/validation.js","data/models/Accordion.js","data/models/ButtonRow.js","data/models/RedirectButton.js","data/models/Control.js","data/models/Heading.js","data/models/HeadingNoDiv.js","data/models/Hook.js","data/models/InfoBlock.js","data/models/Link.js","data/models/Message.js","data/models/Step.js","data/models/SummaryTable.js","data/models/SummaryTableRow.js","data/models/ColleagueSummary.js","data/models/DateTimeSelect.js","data/models/DateTimeConfirm.js","data/models/NwlpContact.js","data/models/Banner.js","data/steps/CleanAndWasteJourney/ContactDetailsStep.js","data/steps/CleanJourney/Common/initialLocationStep.js","data/steps/CleanJourney/InternalExternal/supplyIssueStep.js","data/steps/CleanJourney/Common/waterFromCoverStep.js","data/steps/CleanJourney/InternalExternal/waterQualityIssueStep.js","data/steps/CleanAndWasteJourney/addressLookupStep.js","data/steps/CleanAndWasteJourney/addressLookupInfoStep.js","data/steps/CleanAndWasteJourney/addressResultStep.js","data/steps/CleanJourney/Public/mapSearchStep.js","data/steps/CleanJourney/Public/mapSearchResultsStep.js","data/steps/CleanJourney/Public/mapStep.js","data/steps/CleanJourney/Public/mapConfirmStep.js","data/steps/CleanJourney/Public/incidentConfirm.js","data/steps/CleanJourney/InternalExternal/waterOriginInternalStep.js","data/steps/CleanJourney/InternalExternal/waterOriginExternalStep.js","data/steps/CleanJourney/Public/waterOriginPublicStep.js","data/steps/CleanJourney/Public/coverTypeStep.js","data/steps/CleanJourney/InternalExternal/cleanCoverBoundaryStep.js","data/steps/CleanJourney/InternalExternal/cleanCoverSeverityStep.js","data/steps/CleanJourney/InternalExternal/cleanCoverRiskStep.js","data/steps/CleanJourney/InternalExternal/externalWasteRiskStep.js","data/steps/CleanJourney/InternalExternal/externalWasteSeverityStep.js","data/steps/CleanJourney/Common/waterTypeStep.js","data/steps/CleanJourney/InternalExternal/externalWaterType.js","data/steps/CleanJourney/Common/rainfallAffectedStep.js","data/steps/CleanAndWasteJourney/externalRainfallAffectedStep.js","data/steps/CleanAndWasteJourney/externalFlowConstantStep.js","data/steps/CleanJourney/Common/flowConstantStep.js","data/steps/CleanAndWasteJourney/externalWaterSmellStep.js","data/steps/CleanJourney/Common/waterSmellStep.js","data/steps/CleanJourney/InternalExternal/supplyPipeEligibilityStep.js","data/steps/CleanJourney/InternalExternal/cleanAccessSupplyStep.js","data/steps/CleanJourney/Common/pollutionEnteringStep.js","data/steps/CleanJourney/Common/pollutionFromStep.js","data/steps/CleanJourney/Common/pollutionTypeStep.js","data/steps/CleanJourney/InternalExternal/cleanMeterLeakingStep.js","data/steps/CleanJourney/InternalExternal/cleanMeterLocationStep.js","data/steps/CleanJourney/InternalExternal/cleanMeterSeverityExtStep.js","data/steps/CleanJourney/InternalExternal/cleanMeterSeverityIntStep.js","data/steps/CleanJourney/InternalExternal/cleanMeterInternalExternalStep.js","data/steps/CleanJourney/InternalExternal/cleanCondensationConfirmStep.js","data/steps/CleanJourney/InternalExternal/cleanMeterRiskInternalStep.js","data/steps/CleanJourney/InternalExternal/noWaterInfoStep.js","data/steps/CleanJourney/InternalExternal/blockedDrainsInfoStep.js","data/steps/CleanJourney/InternalExternal/privateProblemInfoStep.js","data/steps/CleanJourney/Public/cleanSeverityStep.js","data/steps/CleanJourney/Public/wasteSeverityStep.js","data/steps/CleanJourney/Public/cleanRiskStep.js","data/steps/CleanJourney/InternalExternal/wasteRiskStep.js","data/steps/CleanJourney/Public/photoStep.js","data/steps/CleanJourney/InternalExternal/externalPhotoStep.js","data/steps/CleanJourney/Common/hardWaterRedirect.js","data/steps/CleanJourney/InternalExternal/tasteSmellRedirect.js","data/steps/CleanJourney/InternalExternal/discolouredRedirect.js","data/steps/CleanJourney/Common/damagedCoverRedirect.js","data/steps/CleanJourney/InternalExternal/callbackRedirect.js","data/steps/CleanAndWasteJourney/summaryStep.js","data/steps/CleanAndWasteJourney/thankYouPollutionStep.js","data/steps/CleanAndWasteJourney/thankYouStep.js","data/steps/CleanJourney/InternalExternal/overflowPipeOffRampStep.js","data/steps/CleanJourney/InternalExternal/meterCondensationInfoStep.js","data/steps/CleanJourney/Public/rtimOffRampStep.js","data/steps/CleanJourney/InternalExternal/cleanSupplyOffRampStep.js","data/steps/CleanAndWasteJourney/nonHouseholdStep.js","data/steps/CleanJourney/InternalExternal/cleanInternalStopTapInfoStep.js","data/steps/CleanJourney/InternalExternal/cleanLeakingMeterInfoStep.js","data/steps/CleanJourney/InternalExternal/internalOffRampStep.js","data/steps/WasteJourney/initialLocationWasteStep.js","data/steps/WasteJourney/wasteOriginBoundaryStep.js","data/steps/WasteJourney/Public/wasteExternalOriginStep.js","data/steps/WasteJourney/Common/externalRoughLocationStep.js","data/steps/WasteJourney/Internal/wasteOriginInternalStep.js","data/steps/WasteJourney/wasteCoverBoundaryStep.js","data/steps/WasteJourney/Common/cleanBoundarySeverityStep.js","data/steps/WasteJourney/Common/cleanBoundaryRiskStep.js","data/steps/WasteJourney/cleanBoundaryAccessSupplyStep.js","data/steps/WasteJourney/Common/wastePhotoStep.js","data/steps/WasteJourney/Common/wasteBoundaryRiskStep.js","data/steps/WasteJourney/Common/wasteBoundarySeverityStep.js","data/steps/WasteJourney/wasteBoundaryAccessSupplyStep.js","data/steps/WasteJourney/boundaryWaterTypeStep.js","data/steps/WasteJourney/boundaryRainfallAffectedStep.js","data/steps/WasteJourney/boundaryFlowConstantStep.js","data/steps/WasteJourney/boundaryWaterSmellStep.js","data/steps/WasteJourney/wasteBoundaryEscapeStep.js","data/steps/WasteJourney/wasteBoundaryIssuesStep.js","data/steps/WasteJourney/wasteResponsibiltyBoundaryStep.js","data/steps/WasteJourney/wasteDrainageInfoStep.js","data/steps/WasteJourney/Public/externalWasteWaterType.js","data/steps/WasteJourney/Public/wasteOriginPollutionStep.js","data/steps/WasteJourney/Public/wasteExternalCoverStep.js","data/steps/WasteJourney/Public/wasteExternalCoverBlockedStep.js","data/steps/WasteJourney/Public/wasteCouncilInfoStep.js","data/steps/WasteJourney/wasteBoundaryEscapeLocationStep.js","data/steps/WasteJourney/wasteBoundaryEscapePropertyStep.js","data/steps/WasteJourney/Common/wasteOohStep.js","data/steps/WasteJourney/wasteBoundaryEscapeInternalStep.js","data/steps/WasteJourney/Common/wasteOdourTypeStep.js","data/steps/WasteJourney/Common/wasteGasInfoStep.js","data/steps/WasteJourney/Common/wasteChemicalInfoStep.js","data/steps/WasteJourney/Common/wasteOdourOtherStep.js","data/steps/WasteJourney/Internal/wasteOdourOutsideStep.js","data/steps/WasteJourney/Internal/wasteOdourSourceStep.js","data/steps/WasteJourney/Common/wasteOdourFrequencyStep.js","data/steps/WasteJourney/Internal/wasteOdourLocationStep.js","data/steps/WasteJourney/Common/wasteInternalOdourInfoStep.js","data/steps/WasteJourney/Internal/wasteInternalExtdrainStep.js","data/steps/WasteJourney/Internal/wasteInternalExtotherStep.js","data/steps/WasteJourney/Internal/wasteInternalFclty1Step.js","data/steps/WasteJourney/Internal/wasteInternalFclty2Step.js","data/steps/WasteJourney/Internal/wasteInternalSameStep.js","data/steps/WasteJourney/Internal/wasteInternalEntryStep.js","data/steps/WasteJourney/Internal/wasteInternalToiletStep.js","data/steps/WasteJourney/Internal/wasteTimedAccessTodayStep.js","data/steps/WasteJourney/Internal/wasteTimedAccessTomorrowStep.js","data/steps/WasteJourney/Internal/wasteInternalSinkStep.js","data/steps/WasteJourney/Internal/wasteInternalAreaStep.js","data/steps/WasteJourney/Internal/wasteInternalOtherStep.js","data/steps/WasteJourney/Internal/wasteInternalSourceStep.js","data/steps/WasteJourney/Internal/wasteInternalFreqStep.js","data/steps/WasteJourney/Internal/wasteInternalTextStep.js","data/steps/Nwlp/nwlpInitialProblemStep.js","data/steps/Nwlp/nwlpPressureProblemStep.js","data/steps/Nwlp/nwlpProblemNeighbourStep.js","data/steps/Nwlp/nwlpProblemFrequencyStep.js","data/steps/Nwlp/nwlpPressureSupplyStep.js","data/steps/Nwlp/nwlpStopTapStep.js","data/steps/Nwlp/nwlpPropertyTypeStep.js","data/steps/Nwlp/nwlpNoticeTodayStep.js","data/steps/Nwlp/nwlpFacilitiesAffectedStep.js","data/steps/Nwlp/nwlpAnyWaterStep.js","data/steps/Nwlp/nwlpNoticeDateTimeStep.js","data/steps/Nwlp/nwlpNoticeConfirmStep.js","data/steps/Nwlp/nwlpOohInfoStep.js","data/steps/WasteJourney/Public/wasteIncidentConfirm.js","data/steps/WasteJourney/Public/wasteRtimOffRampStep.js","data/steps/Info/Colleague/rtimInformationColStep.js","data/steps/Info/Colleague/wasteRtimInformationColStep.js","data/steps/Info/Colleague/cleanIntstoptapInfoColStep.js","data/steps/Info/Colleague/cleanCondenInfoColStep.js","data/steps/Info/Colleague/internalInformationColStep.js","data/steps/Info/Colleague/cleanOverflowInfoColStep.js","data/steps/Info/Colleague/cleanLeakingMeterInfoColStep.js","data/steps/Info/Colleague/cleanSupplyInfoColStep.js","data/steps/Info/Colleague/wasteGasInfoColStep.js","data/steps/Info/Colleague/wasteChemicalInfoColStep.js","data/steps/Info/Colleague/wasteCouncilInfoColStep.js","data/steps/Info/Colleague/wasteInternalOdourInfoColStep.js","data/steps/Info/Colleague/wasteDrainageInfoColStep.js","data/config.js","data/outcomes.js","api/steps.js","api/googleAnalytics.js","api/service.js","api/outcome.js","actions/OutcomeAction.js","api/addresses.js","api/incidents.js","api/callbacks.js","api/time.js","actions/HookActions.js","actions/StepsAction.js","api/attachments.js","actions/AttachmentAction.js","components/Step.jsx","components/common/FileList/FileList.jsx","components/common/FileList/index.js","components/common/UKAddressResult/UKAddressResult.jsx","components/common/UKAddressResult/index.js","components/common/Preloader/Preloader.jsx","components/common/Preloader/index.js","scenes/blocks/AccordionBlock/index.js","scenes/blocks/AccordionBlock/AccordionBlock.jsx","scenes/blocks/AddressListBlock/index.js","scenes/blocks/AddressListBlock/AddressListBlock.jsx","scenes/blocks/PlacesListBlock/index.js","scenes/blocks/PlacesListBlock/PlacesListBlock.jsx","scenes/blocks/ButtonRowBlock/ButtonRowBlock.jsx","scenes/blocks/ButtonRowBlock/index.js","scenes/blocks/ChoiceBlock/index.js","scenes/blocks/ChoiceBlock/ChoiceBlock.jsx","scenes/blocks/DayListBlock/index.js","scenes/blocks/DayListBlock/DayListBlock.jsx","scenes/blocks/FieldBlock/FieldBlock.jsx","scenes/blocks/FieldBlock/index.js","scenes/blocks/FileUploadBlock/FileUploadBlock.jsx","scenes/blocks/FileUploadBlock/index.js","scenes/blocks/HeadingsBlock/index.js","scenes/blocks/HeadingsBlock/HeadingsBlock.jsx","scenes/blocks/HeadingNoDivBlock/index.js","scenes/blocks/HeadingNoDivBlock/HeadingNoDivBlock.jsx","scenes/blocks/InfoBlock/index.js","scenes/blocks/InfoBlock/InfoBlock.jsx","scenes/blocks/LinkBlock/LinkBlock.jsx","scenes/blocks/LinkBlock/index.js","scenes/blocks/MapBlock/MapBlock.jsx","scenes/blocks/MapBlock/index.js","scenes/blocks/MapSearchBlock/index.js","scenes/blocks/MapSearchBlock/MapSearchBlock.jsx","scenes/blocks/MessageBlock/MessageBlock.jsx","scenes/blocks/MessageBlock/index.js","scenes/blocks/TextBlock/index.js","scenes/blocks/TextBlock/TextBlock.jsx","scenes/blocks/SlotListBlock/SlotListBlock.jsx","scenes/blocks/SlotListBlock/index.js","scenes/blocks/IncidentBlock/index.js","scenes/blocks/IncidentBlock/IncidentBlock.jsx","scenes/blocks/SummaryBlock/index.js","scenes/blocks/SummaryBlock/SummaryBlock.jsx","scenes/blocks/SummaryTableBlock/index.js","scenes/blocks/SummaryTableBlock/SummaryTableBlock.jsx","scenes/blocks/StaticMapBlock/StaticMapBlock.jsx","scenes/blocks/StaticMapBlock/index.js","scenes/blocks/TermsAndConditionsBlock/TermsAndConditionsBlock.jsx","scenes/blocks/TermsAndConditionsBlock/index.js","scenes/blocks/PrioritisedCheckboxBlock/PrioritisedCheckboxBlock.jsx","scenes/blocks/CountedCheckboxBlock/CountedCheckboxBlock.jsx","scenes/blocks/RedirectButton/index.js","scenes/blocks/RedirectButton/RedirectButton.jsx","scenes/blocks/SentimentBlock/SentimentSection.jsx","scenes/blocks/SentimentBlock/SentimentBlock.jsx","scenes/blocks/ColleagueSummaryBlock/index.js","scenes/blocks/ColleagueSummaryBlock/ColleagueSummaryBlock.jsx","scenes/blocks/DateTimeSelectBlock/DateTimeSelectBlock.jsx","scenes/blocks/DateTimeConfirmBlock/DateTimeConfirmBlock.jsx","scenes/blocks/NwlpContactBlock/NwlpContactBlock.jsx","scenes/blocks/NwlpContactBlock/index.js","scenes/blocks/BannerBlock/BannerBlock.jsx","scenes/blocks/BlockRenderer/BlockRenderer.jsx","scenes/blocks/BlockRenderer/index.js","scenes/Steps.jsx","actions/LocationActions.js","api/token.js","scenes/blocks/ColleagueModeHeaderBlock/ColleagueModeHeaderBlock.jsx","App.js","index.js","reducers/rootReducer.js","api/location.js","constants/Settings.js"],"names":["FETCH_ADDRESSES_REQUEST","FETCH_ADDRESSES_SUCCESS","FETCH_ADDRESSES_ERROR","FETCH_ADDRESSES_LOADING","FETCH_LOCATION_CHECKING","SET_SEARCHED_LOCATION","SET_CURRENT_LOCATION","SET_IS_YORKSHIRE","FETCH_LOCATION_ERROR","SET_MAP_LOCATION","FETCH_CONFIG_LOADING","FETCH_CONFIG_ERROR","FETCH_LOOKUP_ERROR","SET_CONFIG","LOAD_STEP","SET_ANSWER","SET_ANSWERS","SET_STEP","SET_VISITED_STEPS","SET_BREADCRUMBS","SET_SUMMARY","SET_EDIT_MODE","SET_LOOKUP","SET_USER_PATH","ATTACHMENT_UPLOAD_ADD","ATTACHMENT_UPLOAD_REQUEST","ATTACHMENT_UPLOAD_SUCCESS","ATTACHMENT_UPLOAD_ERROR","ATTACHMENT_UPLOADING","ATTACHMENT_UPLOAD_REMOVE","FETCH_CALLBACKS_REQUEST","FETCH_CALLBACKS_SUCCESS","FETCH_CALLBACKS_ERROR","FETCH_CALLBACKS_LOADING","SUBMIT_OUTCOME_REQUEST","SUBMIT_OUTCOME_SUCCESS","SUBMIT_OUTCOME_ERROR","SUBMIT_OUTCOME_LOADING","SUBMIT_OUTCOME_SUMMARY_SUCCESS","HOOK_SUCCESS","HOOK_ERROR","HOOK_LOADING","HOOK_COUNT","SHORT_MONTHS","commonQuestions","yesItIs","noItIsnt","accessYes","accessNo","notSure","other","atLeastOne","atLeastOne2","searchTerm","ywArea","noLocations","identifyWaterType","callUs","whatNext","locationNearTo","contactPlumberRaw","contactPlumber","homeInsurance","contactLandlord","under10","contactInsurance","accident","both","none","meterPipe","access","largeArea","workingNearHere","slowToilet","allThatApply","howWeFixLeaks","howWeFixProblems","backToMainWebsite","localPlumber","localCouncil","pipeResponsibility","images","highwayGully","gully","squareSewage","sluiceSquare","sluiceRectangle","meter","triangleSewage","largeSquareSewage","nwlpInitialProblem","title","heading","pressure","noWater","nwlpStopTap","solveIssue","blurb","actions","actionsArr","yes","Option_Yes","no","Option_No","unsure","nwlpNoticeToday","nwlpPressureProblem","highPressure","lowPressure","nwlpAnyWater","nwlpPropertyType","nwlpProblemNeighbour","nwlpProblemFrequency","constant","intermittent","nwlpPressureSupply","notFirstFeed","hotOnly","hotCold","nwlpFacilitiesAffected","detail","firstFeed","nwlpNoticeDateTime","noDate","noTime","future","nwlpNoticeConfirm","nwlpOohInfo","concat","uploadPage","subHeader","buttonText","uploading","calloutBoxTop","calloutBoxSafety","accordionHeader","accordionBody","duplicateIssueQuestion","privateIssueQuestion","reviewForCoC","nwlpContactBanner","header","infos","duplicateIssueBanner","level","privateBannerInfo","privateIssueBanner","emergencyPrivateIssueBanner","councilIssueBanner","chemicalBanner","overflowPrivateBanner","rtimInformation","subHeading","wasteRtimInformation","cleanIntStopTapInfo","cleanCondenInfo","subHeading1","subHeading2","subHeading3","internalInformation","cleanOverflowInformation","getInTouch","cleanLeakingMeterInfo","cleanSupplyInfo","wasteGasInfo","info","NATIONAL_GAS_NUMBER","bulletHead","bullets","wasteGasInfoCol","wasteChemicalInfo","YW_PHONE_NUMBER","wasteCouncilInfo","wasteInternalOdourInfo","wasteDrainageInfo","addressLookupInfo","SEVERN_TRENT_URL","UNITED_UTILITIES_URL","NORTHUMBRIAN_WATER_URL","FIND_SUPPLIER_URL","addressLookup","postcode","buildingNumber","continue","invalidPostcode","addressResultSingle","validation","addressResultMultiple","missingAddress","contactDetails","firstName","lastName","email","phone","terms","emailFormat","phoneFormat","externalFlowConstant","externalRainfallAffected","externalWaterSmell","nonHousehold","hint","location","thankYouPollution","redirect","thankYou","summary","error","timePassed","newTime","sendTechnician","givenDetails","changeDetails","confirm","alreadySubmitted","sameReport","differentReport","flowConstant","initialLocation","internal","external","public","pollutionEntering","enteringSea","enteringRiver","enteringCanal","enteringPond","enteringNature","enteringOther","pollutionFrom","pipe","cover","ywSite","ground","pumping","pollutionType","sewage","wipes","soap","chemical","fish","rainfallAffected","waterFromCover","waterSmell","waterType","clean","waste","blockedDrainsInfo","subheadings","helpPages","callback","cleanAccessSupply","cleanCondensationConfirm","condensation","label","cleanCoverBoundary","grate","largeSquare","rectangle","smallSquare","circle","cleanCoverRisk","propertyDamage","cleanCoverSeverity","cleanMeterInternal","stopTap","cleanMeterLeaking","cleanMeterLocation","inside","outside","cleanMeterRiskInternal","cleanMeterSeverityExt","propertyRisk","worsening","cleanMeterSeverityInt","slow","fast","steady","gushing","externalWasteRisk","externalWasteSeverity","dampArea","smallArea","mediumArea","externalWaterType","noWaterInfo","supplyIssue","poorQuality","supplyPipeEligibility","mayQualify","may","dontQualify","dont","wasteRisk","waterOriginExternal","waterOriginInternal","stoptap","somewhereElse","waterQualityIssue","discoloured","smells","hardWater","cleanRisk","cleanSeverity","coverType","triangle","incidentConfirm","mapConfirm","anyOtherInformation","mapSearchResult","mapSearch","currentLocation","externalRoughLocation","map","pinpoint","cantUse","notYwArea","boundaries","findLocation1","findLocation2","checkBrowser","tryAgain","locationInstructions","wasteSeverity","waterOriginPublic","boundaryFlowConstant","boundaryRainfallAffected","boundaryWaterSmell","boundaryWaterType","externalWasteWaterType","cleanBoundaryAccessSupply","wasteBoundaryAccessSupply","initialLocationWaste","wasteBoundaryEscapeInternal","wasteExternalCoverBlocked","blocked","wasteExternalCover","wasteExternalOrigin","odour","pollution","wasteIncidentConfirm","wasteOriginPollution","private","wasteBoundaryEscapeLocation","WASTE_BOUNDARY_ESCAPE_LOCATION_QUESTION","options","wasteBoundaryEscapeProperty","flowing","damp","wasteBoundaryEscape","wasteBoundaryIssues","wasteCoverBoundary","wasteOriginBoundary","cleanBoundaryRisk","cleanBoundarySeverity","wasteBoundaryRisk","wasteBoundarySeverity","wasteOdourFrequency","wasteOdourOther","blockedDrain","wasteOdourType","gas","farm","drain","wasteOoh","wasteInternalArea","groundFloor","garage","cellar","upstairs","wasteInternalEntry","toilet","appliance","sink","floor","wasteInternalExtdrain","clear","wasteInternalExtother","manhole","wasteInternalFclty1","multipleToilets","downstairsToilet","downstairsBath","downstairsFacilities","upstairsToilet","upstairsBath","upstairsFacilities","wasteInternalFclty2","shower","bath","wasteInternalFreq","wasteInternalOther","mahole","wasteInternalSame","different","same","wasteInternalSink","wasteInternalSource","chute","airbrick","wasteInternalText","placeholder","wasteInternalToilet","once","many","wasteOdourLocation","wholeProperty","multipleRooms","oneRoom","wasteOdourOutside","insideOutside","wasteOdourSource","kitchen","wasteOriginInternal","house","bathroom","wasteTimedAccessToday","wasteTimedAccessTomorrow","wasteResponsibiltyBoundary","homeOwnerResp","homeOwner","ywResp","yw","owner","yorkshireWater","Object","values","require","initialState","status","undefined","hasErrored","isLoading","state","arguments","length","action","type","ActionTypes","_objectSpread","answers","initialSteps","validStep","visitedSteps","isEditing","breadcrumbs","lookupErrored","lookupErrors","lookupError","lookupErrorResponse","response","answer","config","newStep","userPath","path","files","isUploading","_toConsumableArray","filter","file","filename","id","isVideo","attachment","attachmentId","lookups","errorResponse","hasError","lookupCount","_defineProperty","key","lookup","isYorkshire","mapHasDragged","history","createBrowserHistory","ai","TelemetryService","_this","_classCallCheck","pageViewInitializer","envelope","baseType","lastUri","baseData","uri","name","replace","DOCUMENT_TITLE","TITLE_DIVIDER","this","reactPlugin","ReactPlugin","_createClass","value","reactPluginConfig","INSTRUMENTATION_KEY","APP_INSIGHTS_INSTRUMENTATION_KEY","appInsights","ApplicationInsights","instrumentationKey","maxBatchInterval","disableFetchTracking","extensions","extensionConfig","identifier","loadAppInsights","addTelemetryInitializer","validateJs","validators","isFuture","nowDate","moment","utc","format","result","field","datetime","earliest","validationService","validate","constraints","Accordion","content","prototype","setContent","ButtonRow","showContinue","showBack","continueButtonDisabled","setContinueButtonDisabled","setContinueButtonText","text","continueButtonText","setContinueButtonState","continueButtonState","showContinueButton","hideContinueButton","showBackButton","hideBackButton","setConstraints","RedirectButton","redirectUrl","Control","className","default","hideLabel","setLabel","setMaxLength","max","maxLength","setHint","setChars","chars","setCols","cols","isRequired","bool","isRequiredMarker","isCollapsed","collapse","isCondensed","condensed","setDefault","defaultValue","setClassName","labelOff","addOption","icon","isExclusive","readable","image","option","push","Heading","priority","size","setSize","setPriority","HeadingNoDiv","Hook","params","Error","hidePageLoader","setPageLoaderHidden","setValidation","InfoBlock","classNames","classnames","Link","target","setRoute","route","setLink","link","setCondensed","setFormat","isFormatted","setTarget","setState","setEditSlug","editSlug","setEditMode","editMode","Message","message","nextSteps","setNextStep","stepForwardText","stepForwardParams","setNextSteps","Step","slug","setRedirectUrl","url","redirectURL","setTitle","setIsContained","isContained","addBlock","block","blocks","SummaryTable","rows","addRow","row","SummaryTableRow","setFormatter","ColleagueSummary","DateTimeSelect","setMaxTime","DateTimeConfirm","NwlpContact","Banner","banner","headingBlock","infoBlock","firstNameControl","lastNameControl","emailAddressControl","phoneNumberControl","hiddenContactControl","hiddenStepControl","LEAK_OR_FLOOD","termsAndConditions","hiddenQueryStringController","buttonsBlock","contactDetailsStep","urlParams","URLSearchParams","window","search","get","source","sessionStorage","setItem","altSource","getItem","SOURCE_CLEAN","isCleanIntial","SOURCE_WASTE","isWasteInitial","SOURCE_NWLP","isNwlpInitial","colleagueMode","NO","removeItem","token","RegExp","GUID_REGEX","test","YW_NOREPLY_EMAIL","YES","colleagueToken","isColleagueMode","initialProblem","supplyAffected","contactPreference","presence","exclusion","inclusion","allowEmpty","pattern","VALIDATION_EMAIL","telephone","VALIDATION_TELEPHONE_REGEX","TermsAndConditions","initialLocationControl","INTERNAL","EXTERNAL","PUBLIC","initialLocationStep","isCleanInitial","supplyIssueControl","NO_WATER","LOW_PRESSURE","POOR_QUALITY","supplyIssueStep","WATER_SUPPLY","waterFromCoverControl","waterFromCoverStep","DAMAGED_COVER","waterQualityIssueControl","waterQualityIssueStep","locateMethodControl","LOCATION_METHOD_ADDRESS_LOOKUP","addressTotalControl","lookupPostcodeControl","buildingNameOrNumberControl","addressLookupStep","exitHook","STEP_ADDRESS_LOOKUP","PRESSURE","infoBlock1","headingBlock2","infoBlock2","infoBlock3","infoBlock4","linkBlock","MAIN_WEBSITE_URL","addressLookupInfoStep","addressTotal","numericality","equalTo","addressConfirm","headingBlockSingle","locationControl","utmLocationControl","commercialControl","addressConfirmControl","locateMethod","singleAddressConfirmControl","manualLinkBlock","addressResultStep","addressResultSingleStep","LOCATION_METHOD_MAP_SEARCH","LOCATION_METHOD_CURRENT_LOCATION","greaterThan","noResultMessageBlock","mapSearchStep","STEP_MAP_SEARCH_LOOKUP","ODOUR","SLOW_DRAINAGE","mapResultConfirmControl","mapSearchResultsStep","mapConfirmed","instructionMessageBlock","invalidMessageBlock","renderHtml","buttonsBlockMapDraggedAndInYorkshire","buttonsBlockMapNotYetDragged","buttonsBlockMapDraggedButNotInYorkshire","noResultsButtonsBlock","mapStep","entryHook","STEP_MAP_LOCATION_LOOKUP","AllowEmpty","POLLUTION","GROUND","COVER","CLEAN","WASTE","UNSURE","externalConstantPressure","SQUARE","SLUICE_VALVE","STOPTAP","METER","OTHER","GULLY","GUSHING","BLOCKED","FARM","GAS","CHEMICAL","DRAIN","BOTH","NONE","CONSTANT","INTERMITTENT","locationDetailsBlock2","showMaxLength","mapConfirmStep","STEP_INCIDENTS_LOOKUP","nearbyControl","incidentConfirmStep","incidentTotal","waterOriginInternalControl","PLUMBING","waterOriginInternalStep","waterOriginControl","OVERFLOW_PIPE","waterOriginExternalStep","waterOriginPublicControl","ABOVE_GROUND_STOP_TAP","waterOriginPublicStep","rtimInformationCol","coverTypeControl","TRIANGLE","coverTypeStep","externalCoverType","GRATE","cleanAccess","waterOrigin","cleanCoverBoundaryStep","externalWaterOrigin","cleanCoverSeverityControl","TRICKLING","cleanCoverSeverityStep","cleanCoverRiskControl","PROPERTY_DAMAGE","ACCIDENT","cleanCoverRiskStep","externalWasteRiskControl","ACCESS","externalWasteRiskStep","externalWasteSeverityControl","DAMP","SMALL","MEDIUM","LARGE","externalWasteSeverityStep","waterTypeControl","waterTypeStep","externalWaterTypeControl","externalWaterTypeStep","rainAffectedControl","rainfallAffectedStep","externalRainfallAffectedStep","flowConstantControl","externalFlowConstantStep","flowConstantStep","waterSmellControl","externalWaterSmellStep","waterSmellStep","constantPressure","headingInfoBlock1","headingInfoBlock2","infoBlock5","headingBlock5","radio","supplyPipeEligibilityStep","externalProblemControl","cleanAccessSupplyStep","OUTSIDE","INSIDE","eligibility","WORSENING","pollutionEnteringControl","pollutionEnteringStep","pollutionFromControl","pollutionFromStep","pollutionTypeControl","pollutionTypeStep","cleanMeterLeakingControl","cleanMeterLeakingStep","cleanMeterLocationControl","cleanMeterLocationStep","cleanMeterSeverityExtControl","cleanMeterSeverityExtStep","cleanMeterSeverityIntControl","SLOW_DRIP","FAST_DRIP","STEADY_FLOW","cleanMeterSeverityIntStep","internalWaterOrigin","PIPE_MEETS_METER","cleanCondenConfirm","cleanMeterInternalControl","cleanMeterInternalExternalStep","headingNoDiv","headingNoDiv2","cleanCondensationConfirmStep","cleanMeterRiskIntControl","cleanMeterRiskInternalStep","noWaterInfoHeading1","noWaterInfoBlock1","noWaterInfoLink1","WATER_PRESSURE_URL","noWaterInfoHeading2","noWaterInfoBlock2","callbackLink","CALLBACK_1_URL","noWaterInfoStep","blockageInfoHeading1","blockageInfoBlock1","blockageInfoLink1","SLOW_DRAINING_URL","blockageInfoHeading2","blockageInfoBlock2","blockedDrainsInfoStep","privateShutoff","privateInfoHeading1","privateInfoBlock1","privateInfoLink1","LOCAL_PLUMBER_URL","privateInfoBlock2","switchOffHeading","privateProblemInfoStep","cleanSeverityControl","cleanSeverityStep","wasteSeverityControl","wasteSeverityStep","cleanRiskControl","cleanRiskStep","RUNNING_QUICKLY","wasteRiskControl","wasteRiskStep","hintBlockPublic","safetyBlockPublic","tipsBlock","uploadBlock","ctaText","buttonsBlockDisabled","photoControl","photoStep","hintBlockExternal","safetyBlockExternal","externalPhotoStep","cleanIntstoptapInfoCol","cleanCondenInfoCol","internalInformationCol","cleanOverflowInfoCol","cleanLeakingmeterInfoCol","cleanSupplyInfoCol","hardWaterRedirect","WATER_HARDNESS_URL","tasteSmellRedirect","TASTE_SMELLS_URL","discolouredRedirect","DISCOLOURED_WATER_URL","damagedCoverRedirect","MANHOLE_DRAIN_URL","callbackRedirect","CALLBACK_2_URL","callbackMissedMessageBlock","hintBlock","contactInfoBlock","contactNameRow","emailSummaryRow","telephoneSummaryRow","contactSummaryBlock","changeDetailsLinkBlock","hiddenStep2Control","buttonsBlockFailed","submitHook","STEP_SUBMISSION_LOOKUP","colleagueSummary","colleagueSummaryValidControl","summaryStep","hasRecaptcha","colleagueSummaryValid","problemSubmitted","hasSubmitted","appointmentSlot","thankYouInfoBlock1","thankYouInfoBlock2","mainSiteLink","colleagueButtonBlock","DECP_PROBLEM_SUBMIT_URL","thankYouPollutionStep","WATERCOURSE","PROPERTY","TOWARDS_WATERCOURSE","GARDEN","OUTBUILDING","isWorkingHours","thankYouInfoHeading2","thankYouInfoLink1","FIX_LEAKS_URL","thankYouInfoLink2","thankYouStep","linkBlock1","linkBlock2","GET_IN_TOUCH_URL","overflowPipeOffRampStep","headingBlock3","headingBlock4","infoBlock6","infoBlock7","meterCondensationInfoStep","rtimOffRampStep","incidentResults","cleanSupplyOffRampStep","nonHouseholdStep","isCommercial","cleanInternalStopTapInfoStep","cleanLeakingMeterInfoStep","PIPE_RESPONSIBILITY_URL","internalOffRampStep","initialLocationWasteControl","initialLocationWasteStep","wasteOriginBoundaryControl","wasteOriginBoundaryStep","wasteExternalOriginControl","wasteExternalOriginStep","externalRoughLocationStep","wasteOriginInternalControl","HOUSE","BATHROOM","KITCHEN","wasteOriginInternalStep","wasteCoverBoundaryStep","cleanBoundarySeverityControl","cleanBoundarySeverityStep","wasteExternalCoverType","wasteRtimInformationCol","cleanBoundaryRiskControl","cleanBoundaryRiskStep","cleanBoundaryAccessSupplyControl","cleanBoundaryAccessSupplyStep","wastePhotoControl","wastePhotoStep","PRIVATE","YORKSHIREWATER","wasteResponsibility","OWNER","POOLING","wasteBoundaryRiskControl","wasteBoundaryRiskStep","wasteBoundarySeverityControl","wasteBoundarySeverityStep","wasteBoundaryAccessSupplyControl","wasteBoundaryAccessSupplyStep","CLEAR","DOWNSTAIRS_BATH","MULTIPLE_TOILETS","DOWNSTAIRS_TOILET","UPSTAIRS_FACILITIES","DOWNSTAIRS_FACILITIES","UPSTAIRS_TOILET","UPSTAIRS_BATH","MANHOLE","wasteInternalFclty2Count","SINGLE","MULTIPLE","DIFFERENT","SAME","TOILET","APPLIANCE","SINK","FLOOR","CELLAR","MANY","ONCE","boundaryWaterTypeControl","boundaryWaterTypeStep","boundaryRainfallAffectedControl","boundaryRainfallAffectedStep","boundaryFlowConstantControl","boundaryFlowConstantStep","boundaryWaterSmellControl","boundaryWaterSmellStep","wasteBoundaryEscapeControl","wasteBoundaryEscapeStep","wasteBoundaryIssuesControl","wasteBoundaryIssuesStep","heading2","wasteResponsibiltyBoundaryStep","wasteDrainageInfoStep","GROUND_FLOOR","GARAGE","UPSTAIRS","CHUTE","AIRBRICK","PIPE","HIGH_PRESSURE","NOT_FIRST_FEED","HOT_ONLY","HOT_COLD","FIRST_FEED","externalWasteWaterTypeControl","externalWasteWaterTypeStep","wasteOriginPollutionControl","wasteOriginPollutionStep","coverControl","wasteExternalCoverStep","coverBlockedControl","wasteExternalCoverBlockedStep","LOCAL_COUNCIL_URL","wasteCouncilInfoStep","wasteBoundaryEscapeLocationControl","wasteBoundaryEscapeLocationsControl","wasteBoundaryEscapeLocationStep","selector","items","wasteBoundaryEscapePropertyControl","wasteBoundaryEscapePropertyStep","STEP_WORKING_HOURS_LOOKUP","wasteOohControl","linkBlockMainSite","wasteOohStep","wasteBoundaryEscapeInternalControl","wasteBoundaryEscapeInternalStep","wasteOdourTypeControl","wasteOdourTypeStep","bullet1","bullet2","bullet3","wasteGasInfoStep","wasteChemicalInfoStep","wasteOdourOtherControl","wasteOdourOtherStep","wasteOdourOutsideControl","INSIDE_OUTSIDE","wasteOdourOutsideStep","wasteOdourSourceControl","SHOWER_TOILET_SINK","UNDER_KITCHEN_SINK","wasteOdourSourceStep","wasteOdourFrequencyControl","wasteOdourFrequencyStep","WHOLE_PROPERTY","MULTIPLE_ROOMS","ONE_ROOM","wasteOdourLocationControl","wasteOdourLocationStep","wasteInternalOdourInfoStep","wasteInternalExtdrainControl","wasteInternalExtdrainStep","STEP_ACCESS_HOURS_LOOKUP","wasteInternalExtotherControl","wasteInternalExtotherStep","wasteInternalFclty1Control","wasteInternalFclty1Step","wasteInternalFclty2CountControl","wasteInternalFclty2Control","checkboxBlock","count","SHOWER","BATH","wasteInternalFclty2Step","wasteInternalSameControl","wasteInternalSameStep","wasteInternalEntryControl","wasteInternalEntryStep","wasteInternalToiletControl","wasteInternalToiletStep","wasteTimedAccessTodayControl","wasteTimedAccessTodayStep","isAccessHours","wasteTimedAccessTomorrowControl","wasteTimedAccessTomorrowStep","wasteInternalSinkControl","wasteInternalSinkStep","wasteInternalAreaControl","wasteInternalAreaStep","wasteInternalOtherControl","wasteInternalOtherStep","wasteInternalSourceControl","wasteInternalSourceStep","wasteInternalFreqControl","wasteInternalFreqStep","textBlock","WI_TEXT_CHAR_COUNT","wasteInternalTextStep","nwlpInitialProblemControl","nwlpInitialProblemStep","nwlpPressureProblemControl","nwlpPressureProblemStep","nwlpProblemNeighbourControl","nwlpProblemNeighbourStep","isNoWaterEnabled","nwlpProblemFrequencyControl","nwlpProblemFrequencyStep","nwlpPressureSupplyControl","nwlpPressureSupplyStep","nwlpStopTapStep","nwlpPropertyTypeControl","nwlpPropertyTypeStep","nwlpNoticeTodayControl","nwlpNoticeTodayStep","nwlpFacilitiesAffectedControl","nwlpFacilitiesAffectedStep","isNoWaterEnabledControl","nwlpAnyWaterControl","nwlpAnyWaterStep","STEP_NOWATER_ENABLED_LOOKUP","nwlpNoticeDateTimeControl","dateTimeSelect","nwlpNoticeDateTimeStep","nwlpNoticeDateTimeValid","dateTimeConfirm","nwlpNoticeConfirmControl","nwlpNoticeConfirmStep","nwlpOohInfoStep","wasteIncidentConfirmStep","incidentTotalWaste","FIX_PROBLEMS_URL","wasteRtimOffRampStep","wasteIncidentResults","rtimInformationColStep","wasteRtimInformationColStep","cleanIntstoptapInfoColStep","infoBlock8","cleanCondenInfoColStep","internalInformationColStep","cleanOverflowInfoColStep","cleanLeakingMeterInfoColStep","cleanSupplyInfoColStep","wasteGasInfoColStep","wasteChemicalInfoColStep","wasteCouncilInfoColStep","wasteInternalOdourInfoColStep","wasteDrainageInfoColStep","nwlpStepConfig","cleanStepConfig","wasteStepConfig","outcomeConfig","possibleValues","cleanseSteps","steps","step","counter","initialAnswers","reduce","reduceQuestionBlocks","exclusiveAnswers","reduceExclusiveAnswers","hiddenAnswers","reduceHiddenBlocks","validateStep","constraintArr","Array","isArray","hasPassed","forEach","accumulator","BLOCK_QUESTION_TYPES","includes","reduceClearBlocks","fieldName","stepsApi","fetchSteps","successHandler","errorHandler","localStorageSource","Promise","resolve","setTimeout","then","catch","getNextValidStep","currentSlug","nextValidStep","prevSlug","validSteps","isNext","i","thisStep","getValidBlocks","validateBlock","removeForwardAnswers","currentAnswers","currentSteps","counterNum","futureQuestionsObj","stepQuestions","forwardQuestions","keys","newAnswers","removeForwardClearableAnswers","futureClearQuestionsObj","hasMetCurrentSlug","stepClearQuestions","forwardClearQuestions","realVisitedSteps","newAnswersThisStep","realStep","googleAnalytics","trackEvent","event","stepSlug","dataLayer","form_id","GA_FORM_ID","form_name","form_state","GA_SUCCESS","Service","handleError","reject","service","axios","create","headers","validateStatus","interceptors","use","handleSuccess","data","payload","request","method","responseType","reduceOutcomes","outcome","matchingValues","acc","val","possibleValue","reduceOutcomesValues","evaluateUserResponses","questionAcc","thisStepBlocks","questions","blockAcc","currentAnswer","matchedOptions","join","evaluateReadableProblem","problemGroup","problemGroupString","summariseProblemGroup","origin","summariseOrigin","summariseCleanSeverity","summaryResponse","sprintf","SUMMARY_PROPOSITION_TEMPLATE","SUMMARY_FROM_TEMPLATE","SUMMARY_CLEAN_SEVERITY_TEMPLATE","group","severity","outcomeApi","postOutcome","valueBag","uniquePath","timeSlotRange","lens","R","lensVal","slots","startTime","output","_ref","timeSlots","timeSlot","time","range","getRangeFromStartTime","desc","mapResult","locationDetails","wasteBoundaryEscapeLocations","item","index","userResponses","ALPHABET","sentimentReportOutcome","SentimentReportOutcome","Option_NA","sentimentReportOutcome2ndLevel","SentimentReportOutcome2ndLevel","sentimentLogComplaint","SentimentLogComplaint","sentimentCustomerUsedComplaintWording","SentimentCustomerUsedComplaintWording","additionalComments","additionalCommentsText","post","API_ENDPOINT_PROBLEMS","phoneNumber","emailAddress","isAnonymous","attachments","toString","propertyReference","latLongCoordinates","lat","lng","latitude","Math","round","longitude","locationDescription","UtmCoordinates","utmLocation","easting","northing","channel","problemType","isSevere","hasCallback","hasShutoff","callbackInfo","immediateCallback","slot","from","to","reasonId","JourneyCode","ReCaptchaResponse","recaptchaCode","AdditionalComment","ColleagueToken","fetchOutcomeSummary","outcomes","out","problemReadableString","problemResponse","evaluateOutcomeSummary","dispatch","getState","outcomeIsLoading","outcomeHasErrored","addressApi","fetchAddresses","lookupValues","API_ENDPOINT_PROPERTIES","addresses","address","incidentsApi","getIncidents","hooks","externalMap","websiteIssueCategoryCodeParam","incidentType","API_ENDPOINT_INCIDENTS","resp","callbacksApi","fetchSlots","API_ENDPOINT_CALLBACKS","availableSlots","day","newTimeSlots","newEndTime","description","_regeneratorRuntime","e","t","r","n","hasOwnProperty","o","defineProperty","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","arg","call","h","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","done","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","_asyncToGenerator","_callee","_context","API_ENDPOINT_TIME","_x","_x2","apply","isNoWaterHours","_ref2","_callee2","_context2","_x3","_x4","_ref3","_callee3","_context3","_x5","_x6","timeApi","_ref4","_callee4","_context4","_x7","_x8","lensMap","tree","vals","split","lensString","hookIsLoading","hookSuccess","hookCount","hookHasError","stepSubmission","validationResult","_response$data","GA_FORM_SUBMIT","incidentLookup","incidentApi","cleanOrWasteIncidentTotal","workingHoursLookup","accessHoursLookup","noWaterEnabledLookup","geocodeLocation","locationApi","checkMapLocation","matchedResponses","mapResultConfirm","results","place_id","geometry","reverseGeocodeLocation","formattedAddress","getCurrentLocation","latLng","err","callbacksLookup","loadConfig","configIsLoading","setConfig","configHasErrored","loadStep","_getState","locations","_getState$steps","validBlocks","validatedStep","isReloading","setAnswers","performLookup","additionalValues","document","setStep","lookupAction","incidents","callbacks","submission","workingHours","accessHours","noWaterEnabled","CalculateBlockAddress","_getState6$steps","visitedStepsAndAnwsers","_loop","stepAnswers","find","stepItem","code","calculatedPath","journeyMapping","stepsToExclude","calculatedString","contactDetailsHit","visitedStep","stepPathMapping","indexOf","stepKey","isContactDetails","answerItem","stepData","console","warn","JSON","stringify","GetCalculatedStringPath","head","setAttribute","setAnswer","setVisitedSteps","setBreadcrumbs","attachmentsApi","uploadAttachment","formData","FormData","append","API_ENDPOINT_ATTACHMENTS","ATTACHMENT_POLICY_ID","attachmentIsUploading","attachmentHasErrored","uploadedVideoCount","uploadedImageCount","attachmentAdd","ATTACHMENT_VIDEO_TOTAL_LIMIT","ATTACHMENT_ERROR_UPLOAD_LIMIT","ATTACHMENT_ERROR_TOO_BIG","ATTACHMENT_IMAGE_TOTAL_LIMIT","ATTACHMENT_MAX_FILE_SIZE","attachmentApi","attachmentSuccess","ATTACHMENT_ERROR_UNKNOWN","ATTACHMENT_ERROR_FILE_TYPE","_Component","_inherits","_super","_createSuper","_len","args","_key","renderContainer","children","stepId","React","createElement","Card","qa","_this$props","props","RenderContainer","Component","defaultProps","FileList","handleRemove","onRemove","onKeyUp","_this2","Fragment","data-qa","HeadingBlock","conditionalRowClasses","Icon","colour","width","height","viewBox","xmlns","SVG_NAMESPACE_URL","fill","cx","cy","attributeName","begin","dur","calcMode","repeatCount","fillOpacity","role","onClick","tabIndex","UKAddressResult","onAddressSelect","form","handleChange","commercial","updateStateBeforeAnswerWipe","updateStateAfterAnswerWipe","updateAfterStateAndAnswerCompare","confirmOptions","isScrollable","FluidField","component","onChange","bind","Preloader","_PureComponent","style","position","Loader","PureComponent","LOADING_TEXT","AccordionBlock","AccordionSingle","contentPadding","contentBackground","contentBg","ReactMarkdown","escapeHtml","AddressListBlock","stepTo","PlacesListBlock","formatted_address","ButtonRowBlock","backButtonText","onBack","Button","disabled","ChoiceBlock","stepForward","handleClick","colSpanMd","Row","Col","sm","md","ChoiceTile","DayListBlock","FieldBlock","showComponent","onlyShowInColleagueMode","characters","FileUploadBlock","uploadAttachments","attachmentRemove","handleKeyUp","inputElement","click","forRowClasses","htmlFor","ref","input","accept","capture","multiple","ATTACHMENTS_CTA_DEFAULT_TEXT","HeadingsBlock","parsedTitle","parsedDescription","HeadingNoDivBlock","paragraph","dangerouslySetInnerHTML","__html","LinkBlock","dynamicClasses","dynamicButtonClasses","href","rel","MapBlock","myRef","hasEventListner","listener","handleMapDrag","SetMapHasDragged","handleMapUpdate","SetIsYorkshire","_assertThisInitialized","createRef","current","inYorkshire","addListener","remove","postcodes","LOADING_MAP_TEXT","GoogleMap","onLatLngUpdate","mapDrag","zoom","lookupsLoading","MapSearchBlock","iconSize","iconPosition","MessageBlock","newNextSteps","parsedText","matcherFn","rawText","processed","qaIdentifier","renderNextStepLink","ReactStringReplace","TextBlock","SlotListBlock","activeTimeSlots","activeSlots","appointmentDay","IncidentBlock","category","model","incident","getCategoryDescription","distance","radiusDistance","DataTable","Table","Head","minWidth","align","Body","inc","Cell","SummaryBlock","SummaryTableBlock","prefix","postfix","editParams","processedValue","interval","newMoment","newMomentEnd","add","formatValue","aria-label","StaticMapBlock","src","GetURLString","alt","GOOGLEMAPS_API_URL","TermsAndConditionsBlock","onChangeEvent","isValid","checked","getMessage","submitCount","_this$props$answers","_this$props2","_this$props2$answers","FormRow","valid","messages","defaultChecked","YW_LEGAL_URL","YW_PRIVACY_URL","PrioritisedCheckboxBlock","newItems","selected","x","sorted","sort","b","pathSelector","CountedCheckboxBlock","localStorage","SentimentSection","dirty","errors","onBlur","handleBlur","SelectInput","valueIfNo","generateOptions","Sentiment","reportOutcomeDirty","usedComplaintDirty","logComplaintDirty","sentimentReportOutcome_Valid","sentimentReportOutcome2ndLevel_Valid","sentimentCustomerUsedComplaintWording_Valid","sentimentLogComplaint_Valid","sentimentReportOutcome2ndLevel_Options","sentimentValid","secondOutcome","reportOutcomeValid","secondReportOutcomeValid","usedComplaintValid","logComplaintValid","valueName","isInBooleanArray","arr","inArr","inArray","SentimentReportOutcome_Option_Escalation","SentimentLogComplaint_Options","isSatisfiedNotConfirmed","SentimentReportOutcome_Option_Satisfied_Deemed","isDissatisfiedNotConfirmed","SentimentReportOutcome_Option_Dissatisfied_Deemed","secondLevel","secondLevelOptions","SentimentReportOutcome2ndLevel_Satisfied_Options","SentimentReportOutcome2ndLevel_DisSatisfied_Options","reportOutcomeExists","SentimentReportOutcome_Options","secondReportOutcomeExists","usedComplaintExists","SentimentCustomerUsedComplaintWording_Options","logComplaintExists","secondLevel_Valid","reportOutcomeCheck","usedComplaintCheck","logComplaintCheck","_this3","ColleagueSummaryBlock","ADDITIONAL_COMMENTS_CHAR_COUNT","DateTimeSelectBlock","noticeDate","noticeTime","maxDate","calculateMaxDate","dateValid","timeValid","dateError","timeError","date","Date","dd","getDate","mm","getMonth","getFullYear","d1","d2","getUTCFullYear","getUTCMonth","getUTCDate","dateSelected","timeSelected","isToday","sameDate","toISOString","DateTimeConfirmBlock","hours","getHours","minutes","getMinutes","ampm","nwlpNoticeDateTimeString","formatAMPM","str","NwlpContactBlock","isNwlpJourney","isNwlpHours","loading","_componentDidMount","t0","BannerBlock","BlockRenderer","BlockComponent","accordionSingle","days","buttons","redirectButton","checkbox","textarea","fileUpload","staticMapResult","placesResults","question","incidentList","summaryTable","prioritisedCheckbox","countedCheckbox","nwlpContact","assign","Steps","handleStepForward","isRecaptcha","tracker","_this$props$validStep","RECAPTCHA_ACTIVE","recaptcha","hasRecaptchaExecuted","execute","handleStepTo","handleStepBack","_this$props3","stepBack","forceExclusiveAnswer","exclusiveAnswer","newAnswer","exclusive","_this$props4","match","pathname","prevProps","_this$props5","_this$props6","_this$props7","formValues","Layouts","CenteredColumn","FluidForm","initialValues","onSubmit","Recaptcha","sitekey","RECAPTCHA_KEY","onResolved","locale","RECAPTCHA_LOCALE","withRouter","connect","_getState2$steps","newVisitStep","foundMatch","thisVisitedStep","previousSlug","_getState3","_getState3$steps","_getState4","_getState5","_getState5$steps","newValueBag","newValidStep","newVisSteps","GA_FORM_START","GA_FORM_STEP","open","filesArr","promises","all","tokenApi","getToken","API_ENDPOINT_TOKEN","ColleagueModeHeaderBlock","initials","nameArray","account","UNKNOWN_COLLEAGUE","colleagueName","Pill","data-testid","backgroundColour","textColour","COLLEAGUE_MODE","NavBarSeparator","NavBarProfile","theme","App","colleague","AppWrapper","SERVICE_TITLE","toLink","Switch","Route","exact","initialize","store","middleware","enhancer","composeWithDevTools","applyMiddleware","routerMiddleware","thunk","createStore","combineReducers","outcomeReducer","router","connectRouter","stepsReducer","hookReducer","attachmentReducer","LocationReducer","configureStore","ReactDOM","render","Provider","ConnectedRouter","getElementById","google","maps","Geocoder","geocode","getPostcodesFromGooglePlacesResponse","firstFormattedAddress","address_components","types","short_name","firstLat","firstLng","locationResults","entry","postcodeEntry","query","fields","bounds","north","LOCATION_BOUND_NORTH","east","LOCATION_BOUND_EAST","south","LOCATION_BOUND_SOUTH","west","LOCATION_BOUND_WEST","places","PlacesService","textSearch","filteredResults","resultLocation","polyline","Polygon","encoding","decodePath","String","REGION_BOUNDARY_PATH","poly","containsLocation","firstLocation","part","totalResults","global","navigator","geolocation","getCurrentPosition","pos","coords","timeout"],"mappings":"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CAL,GACAI,GACAf,GACAR,GACAU,GACAP,GACAzG,GACAiJ,GACA/e,GACAwB,GACAC,GACAd,GACAqO,GACAsB,IAGW2O,GAAkB,CAC7B/iB,GACA4C,GACAkG,GACAwM,GACA+M,GACApZ,GACAY,GACAqB,GACAG,GACAE,GACAG,GACAzB,GACAI,GACAG,GACAM,GACA0J,GACA8N,GACAtV,GACAE,GACAY,GACAG,GACAb,GACAK,GACAU,GACAgH,GACA+M,GACA9M,GACAmN,GACA1N,GACAuN,GACAlW,GACA8I,GACAwN,GACApW,GACAlJ,GACAG,GACA8L,GACA3L,GACAoC,GACAK,GACAS,GACA6B,GACAG,GACAoM,GACAkN,GACA5Y,GACAI,GACAwB,GACAI,GACAI,GACAG,GACAe,GACAE,GACAE,GACA8B,GACAe,GACAE,GACAI,GACAG,GACAL,GACAgB,GACAH,GACAU,GACAE,GACAE,GACAE,GACAE,GACAhO,GACAwB,GACAC,GACAd,GACAwQ,GACAnC,GACAsB,IAGW4O,GAAkB,CAC7BhjB,GACAwV,GACAE,GACAS,GACAP,GACAiF,GACA9B,GACAE,GACAE,GACAE,GACA0B,GACAE,GACA0H,GACAlI,GACApP,GACAE,GACAG,GACAwK,GACAsI,GACAW,GACAE,GACAE,GACAE,GACAG,GACAX,GACApB,GACAO,GACAE,GACAX,GACAe,GACAlB,GACAxB,GACAI,GACAqG,GACApG,GACAqG,GACAnG,GACAG,GACAI,GACAO,GACAC,GACAsF,GACA5F,GACAzD,GACA6B,GACAU,GACAN,GACAI,GACAnC,GACAE,GACAC,GACAiJ,GACAhN,GACA5P,GACAS,GACA6B,GACAoZ,GACAG,GACAG,GACAtH,GACAtE,GACAI,GACAE,GACAS,GACAE,GACAE,GACAX,GACA+H,GACAG,GACAjb,GACAwB,GACAC,GACAd,GACAwQ,GACAnC,GACAW,GACAW,IC1Ca6O,GAtSO,CACpB,CACEltB,KAAM,WACN2D,QAAS,KACTwpB,eAAgB,CACd,CAAE3sB,MAAO,WAAY2B,YAAa,CAAC,CAAEhb,mBAA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","file":"static/js/main.5d837db3.chunk.js","sourcesContent":["/* ADDRESS */\r\nexport const FETCH_ADDRESSES_REQUEST = 'FETCH_ADDRESSES_REQUEST';\r\nexport const FETCH_ADDRESSES_SUCCESS = 'FETCH_ADDRESSES_SUCCESS';\r\nexport const FETCH_ADDRESSES_ERROR = 'FETCH_ADDRESSES_ERROR';\r\nexport const FETCH_ADDRESSES_LOADING = 'FETCH_ADDRESSES_LOADING';\r\n\r\n/* LOCATION */\r\nexport const FETCH_LOCATION_CHECKING = 'FETCH_LOCATION_CHECKING';\r\nexport const SET_SEARCHED_LOCATION = 'SET_SEARCHED_LOCATION';\r\nexport const SET_CURRENT_LOCATION = 'SET_CURRENT_LOCATION';\r\nexport const SET_IS_YORKSHIRE = 'SET_IS_YORKSHIRE';\r\nexport const FETCH_LOCATION_ERROR = 'FETCH_LOCATION_ERROR';\r\nexport const SET_MAP_LOCATION = 'SET_MAP_LOCATION';\r\n\r\n/* CONFIG */\r\nexport const FETCH_CONFIG_LOADING = 'FETCH_CONFIG_LOADING';\r\nexport const FETCH_CONFIG_ERROR = 'FETCH_CONFIG_ERROR';\r\nexport const FETCH_LOOKUP_ERROR = 'FETCH_LOOKUP_ERROR';\r\nexport const SET_CONFIG = 'SET_CONFIG';\r\nexport const LOAD_STEP = 'LOAD_STEP';\r\nexport const SET_ANSWER = 'SET_ANSWER';\r\nexport const SET_ANSWERS = 'SET_ANSWERS';\r\nexport const SET_STEP = 'SET_STEP';\r\nexport const SET_VISITED_STEPS = 'SET_VISITED_STEPS';\r\nexport const SET_BREADCRUMBS = 'SET_BREADCRUMBS';\r\nexport const SET_SUMMARY = 'SET_SUMMARY';\r\nexport const SET_EDIT_MODE = 'SET_EDIT_MODE';\r\nexport const SET_LOOKUP = 'SET_LOOKUP';\r\nexport const SET_USER_PATH = 'SET_USER_PATH';\r\n\r\n/* ATTACHMENTS */\r\nexport const ATTACHMENT_UPLOAD_ADD = 'ATTACHMENT_UPLOAD_ADD';\r\nexport const ATTACHMENT_UPLOAD_REQUEST = 'ATTACHMENT_UPLOAD_REQUEST';\r\nexport const ATTACHMENT_UPLOAD_SUCCESS = 'ATTACHMENT_UPLOAD_SUCCESS';\r\nexport const ATTACHMENT_UPLOAD_ERROR = 'ATTACHMENT_UPLOAD_ERROR';\r\nexport const ATTACHMENT_UPLOADING = 'ATTACHMENT_UPLOADING';\r\nexport const ATTACHMENT_UPLOAD_REMOVE = 'ATTACHMENT_UPLOAD_REMOVE';\r\n\r\n/* CALLBACK */\r\nexport const FETCH_CALLBACKS_REQUEST = 'FETCH_CALLBACKS_REQUEST';\r\nexport const FETCH_CALLBACKS_SUCCESS = 'FETCH_CALLBACKS_SUCCESS';\r\nexport const FETCH_CALLBACKS_ERROR = 'FETCH_CALLBACKS_ERROR';\r\nexport const FETCH_CALLBACKS_LOADING = 'FETCH_CALLBACKS_LOADING';\r\n\r\n/* PROBLEM */\r\nexport const SUBMIT_OUTCOME_REQUEST = 'SUBMIT_OUTCOME_REQUEST';\r\nexport const SUBMIT_OUTCOME_SUCCESS = 'SUBMIT_OUTCOME_SUCCESS';\r\nexport const SUBMIT_OUTCOME_ERROR = 'SUBMIT_OUTCOME_ERROR';\r\nexport const SUBMIT_OUTCOME_LOADING = 'SUBMIT_OUTCOME_LOADING';\r\nexport const SUBMIT_OUTCOME_SUMMARY_SUCCESS = 'SUBMIT_OUTCOME_SUMMARY_SUCCESS';\r\n\r\n/* HOOK */\r\nexport const HOOK_SUCCESS = 'HOOK_SUCCESS';\r\nexport const HOOK_ERROR = 'HOOK_ERROR';\r\nexport const HOOK_LOADING = 'HOOK_LOADING';\r\nexport const HOOK_COUNT = 'HOOK_COUNT';\r\n","import {\r\n FIND_SUPPLIER_URL,\r\n NATIONAL_GAS_NUMBER,\r\n NORTHUMBRIAN_WATER_URL,\r\n Option_No,\r\n Option_Yes,\r\n SEVERN_TRENT_URL,\r\n UNITED_UTILITIES_URL,\r\n WASTE_BOUNDARY_ESCAPE_LOCATION_QUESTION,\r\n YW_PHONE_NUMBER,\r\n} from './Settings';\r\n\r\nexport const SHORT_MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\r\nconst commonQuestions = {\r\n whatProblem: \"What's the problem?\",\r\n whereProblem: \"Where's the problem?\",\r\n leakRisk: 'Is the leak causing any of the following?',\r\n gushingInAir: 'Is the water gushing in the air?',\r\n waterOrigin: 'Where exactly is the water coming from?',\r\n waterOrigin2: 'Where is the water coming from?',\r\n waterOrigin3: \"Where's the water coming from?\",\r\n propertyRiskOrAccess: 'Is it a risk to property or obstructing access?',\r\n problemScale: 'How would you describe the scale of the problem?',\r\n waterType: 'Do you know what type of water this is?',\r\n coverType: 'What does the cover look like?',\r\n incidentConfirm: 'Could it be one of these problems?',\r\n flowConstant: 'Is flow constant and under pressure?',\r\n access: 'Can we access the garden or driveway?',\r\n facilitiesAffected: 'Which facilities are affected?',\r\n frequency: 'When is it happening?',\r\n frequency2: 'When is this happening?',\r\n};\r\n\r\nconst yesItIs = 'Yes, it is';\r\nconst noItIsnt = \"No, it isn't\";\r\nconst yesItDoes = 'Yes, it does';\r\nconst noItDoesnt = \"No, it doesn't\";\r\nconst yesThereIs = 'Yes, there is';\r\nconst noThereIsnt = \"No, there isn't\";\r\nconst yesItCould = 'Yes, it could';\r\nconst accessYes = \"Yes, it's accessible at any time\";\r\nconst accessNo = \"No, I'll need to be there to let you in\";\r\nconst cantCheck = \"I can't check\";\r\nconst notSure = \"I'm not sure\";\r\nconst other = 'Other';\r\nconst atLeastOne = 'Please select at least one';\r\nconst atLeastOne2 = 'Please select at least one of the options below';\r\nconst specifySearchTerm = 'Please specify a search term';\r\nconst searchTerm = \"check you've used the correct search term\";\r\nconst ywArea = 'check the location is covered by Yorkshire Water';\r\nconst currentLocation = 'use your current location';\r\nconst noLocations = \"**Sorry, we can't find any locations matching your search.** \\n\\n To try again:\";\r\nconst identifyWaterType =\r\n \"It can really help our technicians if you can accurately identify the water type causing this issue.\\nDon't worry if you can't identify it, you can just click **I'm not sure** below.\";\r\nconst constant = 'It is happening all the time';\r\nconst intermittent = 'It happens intermittently';\r\nconst pleaseCallUs = 'Please call us';\r\nconst getInTouch = 'Get in touch';\r\nconst callUs = 'call us on 0345 1 24 24 24';\r\nconst whatNext = 'What next?';\r\nconst thankyouForReporting = 'Thank you for letting us know about the problem.';\r\nconst locationNearTo = \"You've told us the problem is on or near to \";\r\nconst contactPlumberRaw =\r\n 'You can find a local approved plumber by visiting the WaterSafe website or call 01156 472 850 to speak to our trusted partner CET.';\r\nconst contactPlumber = \"If your insurance doesn't cover the problem, you'll need to contact a plumber.\";\r\nconst homeInsurance =\r\n 'If you own the property, you should check if your plumbing is covered by your home insurance or a separate policy. Your insurer will be able to give you advice about making a claim.';\r\nconst contactLandlord =\r\n 'If you live in a rented property, you should contact your landlord and tell them about the problem.';\r\nconst under10 =\r\n 'If your home is under 10 years old, you should contact your property developer as your drainage may be under warranty.';\r\nconst contactInsurance =\r\n \"If you own the property, contact your insurance company before you start looking for a drainage contractor. They will be able to give you help and advice about making a claim. If you don't notify your insurance company, it could affect any future insurance claim. We have no liability for blockages which are beyond our control, so your insurance company are best placed to help you regarding loss and damage.\";\r\nconst somewhereElse = 'Somewhere else';\r\nconst propertyRisk = 'Risk to property';\r\nconst propertyDamage = 'Damage to property';\r\nconst accident = 'A clear risk of an accident';\r\nconst both = 'Both';\r\nconst none = 'None';\r\nconst meter = 'The meter';\r\nconst meterPipe = 'Where the pipe connects to the meter';\r\nconst stopTap = 'Stop tap or pipe';\r\nconst access = 'Obstructing access';\r\nconst dampArea = 'Damp patch';\r\nconst smallArea = 'Covers small area';\r\nconst mediumArea = 'Covers medium area';\r\nconst largeArea = 'Covers significant area';\r\nconst leakingStopTap = 'Leaking stop tap or pipe';\r\nconst workingNearHere = \"We're working in this area. Could the problem you saw be one of the ones we're working on?\";\r\nconst internalLocation = 'Inside my property';\r\nconst externalLocation = 'In my garden or on my driveway';\r\nconst publicLocation = 'Public area or road';\r\nconst slowToilet = 'My toilet or sink is draining slowly or not emptying';\r\nconst isAnOdour = \"There's an odour\";\r\nconst sewageFromCover = 'Sewage is coming from a cover';\r\nconst sewageFromGround = 'Sewage is coming from the ground';\r\nconst allTheTime = 'All the time';\r\nconst comesAndGoes = 'It comes and goes';\r\nconst blockedDrain = \"I've got a blocked drain outside\";\r\nconst allThatApply = 'Select all that apply:';\r\n\r\nexport const howWeFixLeaks = 'Find out how we fix leaks';\r\nexport const howWeFixProblems = 'Find out how we fix problems';\r\nexport const backToMainWebsite = 'Back to the main website';\r\nexport const localPlumber = 'Find a local approved plumber';\r\nexport const localCouncil = 'Find your local council';\r\nexport const pipeResponsibility = 'Find out more about pipe responsibility';\r\n\r\nexport const images = {\r\n highwayGully: '/images/processed/highway-gully.jpg',\r\n gully: '/images/processed/domestic-gully.png',\r\n squareSewage: '/images/processed/choice-square-sewerage-1.png',\r\n sluiceSquare: '/images/processed/choice-sluice.jpg',\r\n sluiceRectangle: '/images/processed/choice-sluice2.jpg',\r\n meter: '/images/processed/cover-meter.jpg',\r\n triangleSewage: '/images/processed/choice-triangle-sewerage.jpg',\r\n largeSquareSewage: '/images/processed/choice-square-sewerage.jpg',\r\n};\r\n\r\nexport const nwlpInitialProblem = {\r\n title: 'NWLP Initial Problem',\r\n heading: commonQuestions.whatProblem,\r\n pressure: 'I have a problem with my water pressure',\r\n noWater: 'I have no water',\r\n};\r\n\r\nexport const nwlpStopTap = {\r\n title: 'NWLP Stop Tap',\r\n heading: 'Please test your Stop Tap',\r\n solveIssue: 'Did this solve the issue?',\r\n blurb:\r\n 'The internal stop tap is likely to be found under or near the kitchen sink as this is the most common place for the supply to enter a building. Other locations could include a downstairs bathroom, utility room, attached garage or cellar.',\r\n actions: 'Please check your internal stop tap by taking the following actions:',\r\n actionsArr: [\r\n '1. Turn on the cold tap that is nearest to the stop tap.',\r\n '2. Turn the stop tap on and off fully three or four times ensuring that it is left in the on position.',\r\n ],\r\n yes: Option_Yes,\r\n no: Option_No,\r\n unsure: cantCheck,\r\n};\r\n\r\nexport const nwlpNoticeToday = {\r\n title: 'NWLP Notice Today',\r\n heading: 'Did you first notice today?',\r\n yes: Option_Yes,\r\n no: Option_No,\r\n};\r\n\r\nexport const nwlpPressureProblem = {\r\n title: 'NWLP Pressure Problem',\r\n heading: \"What's the problem with your pressure?\",\r\n highPressure: 'My water pressure is high',\r\n lowPressure: 'My water pressure is low',\r\n};\r\n\r\nexport const nwlpAnyWater = {\r\n title: 'NWLP Any Water',\r\n heading: 'Is any water at all coming out of your tap?',\r\n yes: 'A tiny bit',\r\n no: 'None at all',\r\n};\r\n\r\nexport const nwlpPropertyType = {\r\n title: 'NWLP Property Type',\r\n heading: 'Is the property a flat or apartment?',\r\n yes: yesItIs,\r\n no: \"No, it's not\",\r\n};\r\n\r\nexport const nwlpProblemNeighbour = {\r\n title: 'NWLP Problem Neighbour',\r\n heading: 'Are your neighbours having similar problems?',\r\n yes: Option_Yes,\r\n no: Option_No,\r\n notSure: notSure,\r\n};\r\n\r\nexport const nwlpProblemFrequency = {\r\n title: 'NWLP Problem Frequency',\r\n heading: commonQuestions.frequency,\r\n constant: constant,\r\n intermittent: intermittent,\r\n};\r\n\r\nexport const nwlpPressureSupply = {\r\n title: 'NWLP Pressure Supply',\r\n heading: 'Which supply is affected?',\r\n notFirstFeed: 'Any tap that is not first feed',\r\n hotOnly: 'Hot tap only',\r\n hotCold: 'Cold supply only / Cold & Hot',\r\n};\r\n\r\nexport const nwlpFacilitiesAffected = {\r\n title: 'NWLP Facilities Affected',\r\n heading: 'Which facilities are affected?',\r\n detail:\r\n 'The main feed is likely to be found under or near the kitchen sink as this is the most common place for the supply to enter a building. If your kitchen sink isn’t located on the ground floor, other locations could include a downstairs bathroom, utility room, attached garage or cellar etc.',\r\n firstFeed: 'All taps including the main feed tap',\r\n notFirstFeed: 'Any tap that is not the main feed tap',\r\n};\r\n\r\nexport const nwlpNoticeDateTime = {\r\n title: 'NWLP Notice DateTime',\r\n heading: 'When did you first notice this problem?',\r\n detail: [\r\n \"Please tell us exactly when the problem started. If you're struggling to remember, please select a rough date and time.\",\r\n 'Select a date and time:',\r\n ],\r\n noDate: 'Please select a date',\r\n noTime: 'Please select a time',\r\n future: 'Please select a time that is not in the future',\r\n};\r\n\r\nexport const nwlpNoticeConfirm = {\r\n title: 'NWLP Notice Confirm',\r\n heading: 'Is this time correct?',\r\n detail:\r\n \"You've told us you first noticed the problem on the {nwlpNoticeDateTimeString} would you like to continue?\",\r\n};\r\n\r\nexport const nwlpOohInfo = {\r\n title: 'NWLP OOH Info',\r\n heading: \"You can't report this online\",\r\n callUs: pleaseCallUs,\r\n detail: [\r\n 'From what you have told us it seems to be a no water problem, unfortunately you can not report this type of problem at this time',\r\n \"Incidents reported online won't be looked at until the morning.\",\r\n `We want to get your water back on as soon as possible, so please ${callUs}.`,\r\n ],\r\n};\r\n\r\nexport const uploadPage = {\r\n heading: 'Can you show us the problem?',\r\n subHeader: 'Photos or videos may help our technicians resolve your problem quicker',\r\n buttonText: 'Take or upload',\r\n uploading: 'Uploading',\r\n calloutBoxTop: `Please keep **videos under 30 seconds.** - If that's not long enough you can upload up to three videos. You can also upload up to 10 photos.`,\r\n calloutBoxSafety: `**You are responsible for your own safety while filming:** \r\n\r\n * If you feel unsafe at any point, stop and continue without uploading the photo or video.\r\n * Be careful not to step onto the road or any uneven ground when capturing your photo or video.\r\n * Keep an eye on your surroundings (try holding your camera still and look at where you walk rather than at your screen). \r\n\r\n **Please try not to record other people or conversations. If you need a reminder, please see [report a problem online terms and conditions](https://www.yorkshirewater.com/about-us/our-policies/legal/#report-a-problem-online).**`,\r\n accordionHeader: 'How to take and upload:',\r\n accordionBody: `How to **take a good photo or video:** \r\n * Stand back - make sure to show us where the water is coming from and anything that's at risk.\r\n * Use flash - if the problem is in a tight space or the light isn't great, this will help us see the problem clearly.\r\n * Hold still - holding your phone or camera steady will give us a clear picture of what's going on. \r\n\r\n\r\nHow to up **upload your photo or video:**\r\n * Select 'Take or upload' below and follow the onscreen instructions, just like you would for attaching a document. You can select multiple files at once.\r\n * Don't worry if you upload something incorrectly - a 'remove' button will appear when the fils is ready, so you can always try again before selecting 'Continue'.`,\r\n};\r\n\r\nexport const duplicateIssueQuestion = 'Duplicate Issue:';\r\nexport const privateIssueQuestion = 'Private Issue:';\r\nexport const reviewForCoC = 'Review for Close on Contact';\r\n\r\nexport const nwlpContactBanner = {\r\n header: 'No water after 8pm?',\r\n infos: [\r\n \"Incidents reported online won't be looked at until the morning.\",\r\n `We want to get your water back on as soon as possible, so please ${callUs}.`,\r\n ],\r\n};\r\n\r\nexport const duplicateIssueBanner = {\r\n header: 'Duplicate issue',\r\n infos: ['A job has already been raised for this problem. Please continue to register this contact.'],\r\n level: 'warning',\r\n};\r\n\r\nexport const privateBannerInfo =\r\n \"This is the homeowner's responsibility. Please continue to register this contact.\";\r\n\r\nexport const privateIssueBanner = {\r\n header: 'Private issue',\r\n infos: [privateBannerInfo],\r\n level: 'warning',\r\n};\r\n\r\nexport const emergencyPrivateIssueBanner = {\r\n header: 'Emergency private issue',\r\n infos: [privateBannerInfo],\r\n level: 'error',\r\n};\r\n\r\nexport const councilIssueBanner = {\r\n header: 'Council issue',\r\n infos: ['The customer needs to contact the council. Please continue to register this contact.'],\r\n level: 'warning',\r\n};\r\n\r\nexport const chemicalBanner = {\r\n header: null,\r\n infos: [\r\n `This can not be reported via Report a Problem.\r\n Chemical odours need to be reported on ICE. If you are not able to report this on ICE, please transfer the customer to ext 853503.`,\r\n ],\r\n level: 'warning',\r\n};\r\n\r\nexport const overflowPrivateBanner = {\r\n header: 'Private issue',\r\n infos: [\r\n privateBannerInfo,\r\n \"If the leak is coming from an overflow pipe on another property, please click back until you reach the 'where's the problem' page and report this issue as a 'public area or road'.\",\r\n ],\r\n level: 'warning',\r\n};\r\n\r\nexport const rtimInformation = {\r\n title: 'Results Info',\r\n heading: \"We're on it\",\r\n subHeading: whatNext,\r\n detail: [\r\n \"We're working on this leak. Thanks for checking whether we knew about it.\",\r\n \"We'll fix the leak as quickly as possible.\",\r\n ],\r\n};\r\n\r\nexport const wasteRtimInformation = {\r\n title: 'Results Info',\r\n heading: \"We're on it\",\r\n subHeading: whatNext,\r\n detail: [\r\n \"We're working on this problem. Thanks for checking whether we knew about it.\",\r\n \"We'll fix the problem as quickly as possible.\",\r\n ],\r\n};\r\n\r\nexport const cleanIntStopTapInfo = {\r\n title: 'Clean internal stop tap info',\r\n heading: leakingStopTap,\r\n subHeading: whatNext,\r\n detail: [\r\n \"We wouldn't be able to fix a leaking stop tap or pipe in your home. Repairs are the homeowner's responsibility.\",\r\n contactLandlord,\r\n homeInsurance,\r\n contactPlumber,\r\n contactPlumberRaw,\r\n ],\r\n};\r\n\r\nexport const cleanCondenInfo = {\r\n title: 'Clean Overflow Info',\r\n heading: 'Fixing problems in your home',\r\n subHeading1: whatNext,\r\n subHeading2: 'Fixing leaks',\r\n subHeading3: 'Dealing with condensation',\r\n detail: [\r\n \"If you dry the meter and the water doesn't appear immediately, condensation or a leaky pipe might be the cause. We wouldn't be able to fix this as it's the homeowner's responsibility.\",\r\n 'The next steps depend on whether you need to deal with condensation or fixing a leak.',\r\n \"To stop condensation, you can cover the fittings with an insulated material called lagging. You can buy lagging in DIY stores for a couple of quid. Just cut it to size and clip it on. If you've got some cable ties handy, pop a couple on to keep it secure.\",\r\n \"If your meter is near a washing machine or sink, take a look and see if the leak is coming from one of the pipes. If the leak is coming from a pipe, it's the homeowner's responsibility to fix it.\",\r\n contactLandlord,\r\n homeInsurance,\r\n contactPlumber,\r\n contactPlumberRaw,\r\n ],\r\n};\r\n\r\nexport const internalInformation = {\r\n title: 'Internal Info',\r\n heading: 'Leaks inside your property',\r\n subHeading: whatNext,\r\n detail: [\r\n \"If the leak is coming from anywhere else in your home, it's your responsibility as a homeowner to get it fixed.\",\r\n contactLandlord,\r\n homeInsurance,\r\n contactPlumber,\r\n contactPlumberRaw,\r\n ],\r\n};\r\n\r\nexport const cleanOverflowInformation = {\r\n title: 'Clean Overflow Info',\r\n heading: 'Leak is coming from an overflow pipe',\r\n subHeading: whatNext,\r\n detail: [\r\n \"It's the responsibility of the homeowner to fix a leaky overflow pipe.\",\r\n \"If the leak is coming from an overflow pipe on your property, you'll need to contact a plumber.\",\r\n 'If the leak is coming from an overflow pipe on another property, please get in touch so we can contact the homeowner about the problem.',\r\n contactPlumberRaw,\r\n ],\r\n getInTouch: getInTouch,\r\n};\r\n\r\nexport const cleanLeakingMeterInfo = {\r\n title: 'Clean leaking meter info',\r\n heading: \"There's probably a leak in your home\",\r\n subHeading: whatNext,\r\n detail: [\r\n \"If your meter is turning when you're not using any water, there's probably a leak in your home's plumbing. We wouldn't be able to fix this as it's the homeowner's responsibility.\",\r\n contactLandlord,\r\n homeInsurance,\r\n contactPlumber,\r\n contactPlumberRaw,\r\n ],\r\n};\r\n\r\nexport const cleanSupplyInfo = {\r\n title: 'Clean Overflow Info',\r\n heading: 'Fixing a leak in your garden or driveway',\r\n detail: [\r\n contactLandlord,\r\n \"If you're a business customer, you should contact your retailer.\",\r\n \"If you own the property and it's under 2 years old, you should contact your developer as your supply pipe will still be under warranty.\",\r\n \"If you own the property and it's over 2 years old, you should check if your plumbing is covered by your insurance. Your insurer will be able to give you advice about making a claim.\",\r\n contactPlumber,\r\n contactPlumberRaw,\r\n ],\r\n};\r\n\r\nexport const wasteGasInfo = {\r\n title: 'Waste gas info',\r\n heading: 'Call National Gas immediately',\r\n info: `If you can smell gas, or think there's a gas leak, please call National Gas Emergencies on ${NATIONAL_GAS_NUMBER} as soon as you can.`,\r\n subHeading: whatNext,\r\n bulletHead: \"Once you've called the National Gas Emergency line:\",\r\n bullets: [\r\n '\\u2022 open all your doors and windows',\r\n \"\\u2022 don't use anything electrical\",\r\n '\\u2022 put out any flames (candles, matches, cigarettes etc).',\r\n ],\r\n};\r\n\r\nexport const wasteGasInfoCol = {\r\n title: 'Waste gas info',\r\n heading: 'Call National Gas immediately',\r\n info: `If you can smell gas, or think there's a gas leak, please call National Gas Emergencies on ${NATIONAL_GAS_NUMBER} as soon as you can.`,\r\n subHeading: whatNext,\r\n bulletHead: \"Once you've called the National Gas Emergency line:\",\r\n bullets: [\r\n '\\u2022 open all your doors and windows',\r\n \"\\u2022 don't use anything electrical\",\r\n '\\u2022 put out any flames (candles, matches, cigarettes etc).',\r\n ],\r\n};\r\n\r\nexport const wasteChemicalInfo = {\r\n title: 'Waste chemical info',\r\n heading: \"You can't report this problem online\",\r\n subHeading: whatNext,\r\n detail: [\r\n \"You can't report this kind of problem online at the moment - we're working on it!\",\r\n `Please call us on ${YW_PHONE_NUMBER} so we can help.`,\r\n ],\r\n};\r\n\r\nexport const wasteCouncilInfo = {\r\n title: 'Waste council info',\r\n heading: 'Blocked highway gullies',\r\n subHeading: whatNext,\r\n detail: [\r\n 'Your local council is responsible for problems with highway gullies. These are the medium sized grates that are found by the side of the road.',\r\n `Please contact your local council to let them know so they can investigate the problem.`,\r\n ],\r\n};\r\n\r\nexport const wasteInternalOdourInfo = {\r\n title: 'Waste internal odour info',\r\n heading: 'Smells inside your property',\r\n subHeading: whatNext,\r\n detail: [\r\n \"From what you've told us, it sounds like there's a blockage in your property's pipework. It's the homeowner's responsibility to fix problems inside your property, we won't be able to help.\",\r\n contactLandlord,\r\n contactInsurance,\r\n contactPlumber,\r\n under10,\r\n contactPlumberRaw,\r\n ],\r\n};\r\n\r\nexport const wasteDrainageInfo = {\r\n title: 'Waste Drainage Info',\r\n heading: 'Fixing a problem in your property',\r\n subHeading: whatNext,\r\n detail: [\r\n \"It sounds like the problem is in your property's plumbing and it's the homeowner's responsibility to sort it.\",\r\n contactLandlord,\r\n contactInsurance,\r\n contactPlumber,\r\n under10,\r\n contactPlumberRaw,\r\n ],\r\n};\r\n\r\nexport const addressLookupInfo = {\r\n title: 'address info',\r\n heading: \"We can't find your address\",\r\n subHeading: whatNext,\r\n detail: [\r\n \"This might be because your property isn't on our system just yet or it could be served by a different water company.\",\r\n `We share boundaries with Severn Trent, United Utilities and Northumbrian Water. They might be the water companies you're looking for.`,\r\n `If you're not sure which water company you need to contact, you can find out by visiting Water UK and entering your postcode. Find your supplier`,\r\n `If you think you're within the Yorkshire Water boundary and your address isn't on our system, please give us a call on ${YW_PHONE_NUMBER} and we'll get this sorted.`,\r\n ],\r\n};\r\n\r\nexport const addressLookup = {\r\n title: 'Address lookup',\r\n heading: \"What's the address?\",\r\n postcode: 'Postcode',\r\n buildingNumber: 'Building name or number (optional)',\r\n continue: 'Find address',\r\n invalidPostcode: 'Please enter a valid UK postcode',\r\n};\r\n\r\nexport const addressResultSingle = {\r\n title: 'Confirm address',\r\n heading: 'Is this the correct address?',\r\n validation: 'Please confirm the address',\r\n};\r\n\r\nexport const addressResultMultiple = {\r\n title: 'Select an address',\r\n heading: 'Which address should we use?',\r\n missingAddress: \"My address isn't listed\",\r\n};\r\n\r\nexport const contactDetails = {\r\n title: 'Your name',\r\n heading: 'Please enter your contact details',\r\n info: `We'll only use your details if we need to contact you about the problem`,\r\n firstName: 'First name',\r\n lastName: 'Last name',\r\n email: 'Email',\r\n phone: 'Contact Number',\r\n validation: {\r\n terms: 'To continue, you need to consent to our terms and conditions',\r\n firstName: 'Please enter a first name',\r\n lastName: 'Please enter a last name',\r\n email: 'Please enter your email address',\r\n emailFormat: 'Please enter a valid email address',\r\n phone: 'Please enter your contact number',\r\n phoneFormat: 'Please enter a valid telephone number',\r\n },\r\n};\r\n\r\nexport const externalFlowConstant = {\r\n title: 'External Constant flow',\r\n heading: commonQuestions.flowConstant,\r\n yes: yesItIs,\r\n no: noItIsnt,\r\n};\r\n\r\nexport const externalRainfallAffected = {\r\n title: 'External Rainfall affected',\r\n heading: 'Could recent rainfall have affected this problem?',\r\n yes: yesItCould,\r\n notSure: notSure,\r\n};\r\n\r\nexport const externalWaterSmell = {\r\n title: 'External Water smell',\r\n heading: 'Does the water smell?',\r\n yes: yesItDoes,\r\n no: noItDoesnt,\r\n};\r\n\r\nexport const nonHousehold = {\r\n title: 'Non household step',\r\n heading: 'This is a business address',\r\n subHeading: whatNext,\r\n hint: \"Sorry, you can't use this form to report a problem if your property is used for business.\",\r\n detail: [\r\n \"Please check the address is correct. If it's not, you can go back and change it.\",\r\n \"If you're a business customer, please contact your retailer for help.\",\r\n `If your address is correct and your property is not used for business, please call us on ${YW_PHONE_NUMBER} so we can update our system and help you with your problem.`,\r\n ],\r\n location: locationNearTo,\r\n};\r\n\r\nexport const thankYouPollution = {\r\n title: 'Thank you pollution',\r\n heading: 'Please call us',\r\n subHeading: 'From what you have told us, this sounds like an emergency.',\r\n redirect: 'Start new report',\r\n detail: [\r\n thankyouForReporting,\r\n `Please call us on ${YW_PHONE_NUMBER} as soon as possible.`,\r\n ],\r\n};\r\n\r\nexport const thankYou = {\r\n title: 'Thank you',\r\n heading: 'Thanks!',\r\n subHeading: whatNext,\r\n redirect: 'Start new report',\r\n detail: [thankyouForReporting, \"We'll review what you've told us and get the problem sorted.\"],\r\n};\r\n\r\nexport const summary = {\r\n title: 'Problem summary',\r\n heading: \"You're almost done!\",\r\n error:\r\n '**We’re sorry, something went wrong.** \\n\\n There was an unexpected problem with our system. Our technical team have been notified and will hopefully fix it soon. Please check back later.',\r\n timePassed: '**Sorry, your call back time has passed.**',\r\n newTime: 'Please choose a new time.',\r\n sendTechnician: \"This is where we'll send our technician.\",\r\n givenDetails: \"We might need to contact you about the problem. The contact details you've given us are:\",\r\n changeDetails: 'Change your contact details',\r\n confirm: 'Confirm and submit',\r\n alreadySubmitted: \"**You've already submitted this report**\",\r\n sameReport: \"We're really sorry, you can't report the same problem more than once.\",\r\n differentReport: 'Report a different problem',\r\n location: locationNearTo,\r\n};\r\n\r\nexport const appointmentSlot = {\r\n title: 'Best time to call',\r\n heading: \"When's the best time?\",\r\n validation: 'Please select a time slot',\r\n};\r\n\r\nexport const flowConstant = {\r\n title: 'Constant flow',\r\n heading: commonQuestions.flowConstant,\r\n yes: yesItIs,\r\n no: noItIsnt,\r\n};\r\n\r\nexport const initialLocation = {\r\n title: 'Initial location',\r\n heading: commonQuestions.whereProblem,\r\n internal: internalLocation,\r\n external: externalLocation,\r\n public: publicLocation,\r\n};\r\n\r\nexport const pollutionEntering = {\r\n title: 'Pollution entering',\r\n heading: \"What's the pollution entering?\",\r\n enteringSea: 'Sea',\r\n enteringRiver: 'River or stream',\r\n enteringCanal: 'Canal',\r\n enteringPond: 'Pond or lake',\r\n enteringNature: 'Nature Reserve',\r\n enteringOther: other,\r\n};\r\n\r\nexport const pollutionFrom = {\r\n title: 'Pollution source',\r\n heading: \"Where's the pollution coming from?\",\r\n pipe: 'Pipe',\r\n cover: 'Cover or grate',\r\n ywSite: 'A Yorkshire Water site',\r\n ground: 'Through the ground',\r\n pumping: 'Green pumping station',\r\n};\r\n\r\nexport const pollutionType = {\r\n title: 'Pollution type',\r\n heading: 'What type of pollution?',\r\n sewage: 'Sewage',\r\n wipes: 'Wipes or sanitary products',\r\n soap: 'Soapy or discoloured water',\r\n chemical: 'Chemicals, oil or petrol',\r\n fish: 'Dead fish',\r\n other: other,\r\n validation: atLeastOne,\r\n};\r\n\r\nexport const rainfallAffected = {\r\n title: 'Rainfall affected',\r\n heading: 'Could recent rainfall have affected this problem?',\r\n yes: yesItCould,\r\n unsure: notSure,\r\n};\r\n\r\nexport const waterFromCover = {\r\n title: 'Water from cover',\r\n heading: 'Is there water coming from the cover?',\r\n yes: yesThereIs,\r\n no: noThereIsnt,\r\n};\r\n\r\nexport const waterSmell = {\r\n title: 'Water smell',\r\n heading: 'Does the water smell?',\r\n yes: yesItDoes,\r\n no: noItDoesnt,\r\n};\r\n\r\nexport const waterType = {\r\n title: 'Water type',\r\n heading: commonQuestions.waterType,\r\n clean: 'Fresh water',\r\n waste: 'Sewage',\r\n unsure: notSure,\r\n hint: identifyWaterType,\r\n};\r\n\r\nexport const appointmentPreference = {\r\n title: 'Appointment preference',\r\n heading: 'When can we send a technician?',\r\n asap: 'Straight away',\r\n appointment: \"I'll book an appointment\",\r\n};\r\n\r\nexport const blockedDrainsInfo = {\r\n title: 'Blocked drains',\r\n heading: 'There might be a blockage',\r\n subheadings: ['Have you read our help pages?', \"If that didn't help\"],\r\n detail: [\r\n 'If sewage and water from drains can’t leave your property quickly then you might experience bad odours or slow drainage.\\nRead our online help pages to see if this is something you can sort yourself.',\r\n 'We need to call you to help get your drainage sorted as soon as possible, we just need a few details.',\r\n ],\r\n helpPages: 'Read our help pages',\r\n callback: 'Request a callback',\r\n};\r\n\r\nexport const cleanAccessSupply = {\r\n title: 'External problem',\r\n heading: commonQuestions.access,\r\n yes: accessYes,\r\n no: accessNo,\r\n};\r\n\r\nexport const cleanCondensationConfirm = {\r\n title: 'Clean condensation confirmation',\r\n heading: \"There's water on or around my meter\",\r\n condensation: \"Let's see if it's condensation\",\r\n label: 'Does the water reappear immediately?',\r\n yes: yesItDoes,\r\n no: noItDoesnt,\r\n detail: [\r\n 'Water on or around your meter could be condensation or from a leaky pipe. Before you continue please check a couple of things.',\r\n \"Is your meter near a washing machine or sink? Take a look and see if the leak is coming from a pipe and dripping onto the meter. If the leak is coming from a pipe, it's the homeowner's responsibility to fix it.\",\r\n 'Dry the meter and surrounding pipes with kitchen paper.',\r\n \"\\u2022 If the water takes a while to show, it's probably just condensation.\",\r\n '\\u2022 If water reappears immediately in drips, then you have a leaky meter.',\r\n ],\r\n};\r\n\r\nexport const cleanCoverBoundary = {\r\n title: 'Clean cover boundary',\r\n heading: commonQuestions.coverType,\r\n grate: 'Small grate',\r\n largeSquare: 'Large square',\r\n rectangle: 'Medium rectangle',\r\n smallSquare: 'Small square',\r\n circle: 'Small circle',\r\n other: other,\r\n};\r\n\r\nexport const cleanCoverRisk = {\r\n title: 'Clean cover risk',\r\n heading: commonQuestions.leakRisk,\r\n propertyDamage: propertyDamage,\r\n accident: accident,\r\n both: both,\r\n none: none,\r\n validation: atLeastOne,\r\n};\r\n\r\nexport const cleanCoverSeverity = {\r\n title: 'Clean cover severity',\r\n heading: commonQuestions.gushingInAir,\r\n yes: yesItIs,\r\n no: noItIsnt,\r\n};\r\n\r\nexport const cleanMeterInternal = {\r\n title: 'Clean meter control',\r\n heading: commonQuestions.waterOrigin,\r\n meter: meter,\r\n meterPipe: meterPipe,\r\n stopTap: stopTap,\r\n unsure: notSure,\r\n};\r\n\r\nexport const cleanMeterLeaking = {\r\n title: 'Clean meter leaking',\r\n heading: 'Is there water on or around the meter?',\r\n yes: yesThereIs,\r\n no: noThereIsnt,\r\n};\r\n\r\nexport const cleanMeterLocation = {\r\n title: 'Clean meter location',\r\n heading: 'Is the meter inside or outside the property?',\r\n inside: \"It's on the inside\",\r\n outside: \"It's on the outside\",\r\n};\r\n\r\nexport const cleanMeterRiskInternal = {\r\n title: 'Clean meter risk internal',\r\n heading: 'Is there a risk to the property?',\r\n yes: yesThereIs,\r\n no: noThereIsnt,\r\n};\r\n\r\nexport const cleanMeterSeverityExt = {\r\n title: 'Clean meter severity external',\r\n heading: 'Is the problem getting worse and is there risk to property?',\r\n propertyRisk: propertyRisk,\r\n worsening: 'The problem is getting worse',\r\n both: both,\r\n none: none,\r\n};\r\n\r\nexport const cleanMeterSeverityInt = {\r\n title: 'Clean meter severity internal',\r\n heading: 'Can you describe the leak?',\r\n slow: 'Slow drip',\r\n fast: 'Fast drip',\r\n steady: 'Steady flow',\r\n gushing: 'Gushing',\r\n};\r\n\r\nexport const externalProblem = {\r\n title: 'External problem',\r\n heading: commonQuestions.whatProblem,\r\n leak: 'A leak or flood',\r\n odour: 'An odour',\r\n cover: 'A damaged cover',\r\n};\r\n\r\nexport const externalWasteRisk = {\r\n title: 'External waste risk',\r\n heading: commonQuestions.propertyRiskOrAccess,\r\n propertyRisk: propertyRisk,\r\n access: access,\r\n both: both,\r\n none: none,\r\n validation: atLeastOne,\r\n};\r\n\r\nexport const externalWasteSeverity = {\r\n title: 'External waste water severity',\r\n heading: commonQuestions.problemScale,\r\n dampArea: dampArea,\r\n smallArea: smallArea,\r\n mediumArea: mediumArea,\r\n largeArea: largeArea,\r\n};\r\n\r\nexport const externalWaterType = {\r\n title: 'External water type',\r\n heading: commonQuestions.waterType,\r\n clean: 'Fresh water',\r\n waste: 'Sewage',\r\n unsure: notSure,\r\n hint: identifyWaterType,\r\n};\r\n\r\nexport const internalMeter = {\r\n title: 'Internal meter',\r\n heading: commonQuestions.waterOrigin,\r\n meter: meter,\r\n meterPipe: meterPipe,\r\n stopTap: stopTap,\r\n unsure: notSure,\r\n};\r\n\r\nexport const noWaterInfo = {\r\n title: 'Water supply problem',\r\n heading: 'Your next steps',\r\n subHeading: 'Have you read our help pages?',\r\n subHeading2: \"If that didn't help\",\r\n callback: 'Request a callback',\r\n detail: [\r\n \"If you turn on your taps and find you have no cold water, or very low water pressure, it may simply be because there's work going on in your area. You can find everything you need to resolve the problem below.\",\r\n 'We need to call you to help get your water on as soon as possible, we just need a few details.',\r\n ],\r\n helpPages: 'Read our help pages',\r\n};\r\n\r\nexport const supplyIssue = {\r\n title: 'Supply issue',\r\n heading: \"What's your water supply problem?\",\r\n noWater: 'No water',\r\n lowPressure: 'Low pressure',\r\n poorQuality: 'Poor quality',\r\n};\r\n\r\nexport const supplyPipeEligibility = {\r\n title: 'Supply Pipe Eligibilty',\r\n heading: 'Leaks in your garden or driveway',\r\n detail:\r\n \"As a homeowner, you're responsible for the supply pipe that goes from the street boundary to your home. But don't worry, if there's a leak in your garden or driveway, you might be eligible for a free investigation.\",\r\n subHeading1: \"Who's eligible?\",\r\n mayQualify: 'You may qualify for this service if:',\r\n may: \"\\u2022 you're a household customer and the property is billed by Yorkshire Water for water services.\",\r\n dontQualify: \"You don't qualify for this service if:\",\r\n dont: [\r\n '\\u2022 your property is not billed by Yorkshire Water for water services',\r\n '\\u2022 your home is less than 2 years old',\r\n \"\\u2022 you're a business customer.\",\r\n ],\r\n subHeading2: \"Do you think you're eligible for a free investigation?\",\r\n no: \"No, I don't think so\",\r\n yes: Option_Yes,\r\n};\r\n\r\nexport const wasteRisk = {\r\n title: 'Waste water risk',\r\n heading: commonQuestions.propertyRiskOrAccess,\r\n propertyRisk: propertyRisk,\r\n access: access,\r\n both: both,\r\n none: none,\r\n validation: atLeastOne,\r\n};\r\n\r\nexport const waterOriginExternal = {\r\n title: 'External water origin',\r\n heading: commonQuestions.waterOrigin2,\r\n cover: 'A cover',\r\n pipe: 'Overflow pipe',\r\n meter: 'External meter',\r\n ground: 'The ground',\r\n};\r\n\r\nexport const waterOriginInternal = {\r\n title: 'Internal water origin',\r\n heading: commonQuestions.waterOrigin3,\r\n meter: 'On or around the meter',\r\n stoptap: leakingStopTap,\r\n somewhereElse: somewhereElse,\r\n hint:\r\n \"Tell us where the leak in your home is coming from. If you're a business customer, you won't be able to report your problem using this form, please contact your retailer for help.\",\r\n};\r\n\r\nexport const waterQualityIssue = {\r\n title: 'Water quality issue',\r\n heading: \"How's your water quality affected?\",\r\n discoloured: 'It is discoloured',\r\n smells: 'It tastes or smells',\r\n hardWater: 'It is hard water',\r\n};\r\n\r\nexport const cleanRisk = {\r\n title: 'Clean water risk',\r\n heading: commonQuestions.leakRisk,\r\n propertyDamage: propertyDamage,\r\n accident: accident,\r\n both: both,\r\n none: none,\r\n validation: atLeastOne,\r\n};\r\n\r\nexport const cleanSeverity = {\r\n title: 'Clean water severity',\r\n heading: commonQuestions.gushingInAir,\r\n yes: yesItIs,\r\n no: noItIsnt,\r\n};\r\n\r\nexport const coverType = {\r\n title: 'Cover type',\r\n heading: commonQuestions.coverType,\r\n triangle: 'Large triangle',\r\n rectangle: 'Medium rectangle',\r\n smallSquare: 'Small square',\r\n circle: 'Small circle',\r\n other: other,\r\n};\r\n\r\nexport const incidentConfirm = {\r\n title: 'Location search results',\r\n heading: commonQuestions.incidentConfirm,\r\n yes: yesItIs,\r\n no: noItIsnt,\r\n hint: workingNearHere,\r\n};\r\n\r\nexport const mapConfirm = {\r\n title: 'MapConfirm',\r\n heading: 'Is this location accurate?',\r\n sendTechnician: 'This is where we will send our technician. Is that correct?',\r\n anyOtherInformation: 'Is there any other information you can tell us to help our technician find the problem?',\r\n continue: \"Yes, It's there\",\r\n location: locationNearTo,\r\n};\r\n\r\nexport const mapSearchResult = {\r\n title: 'Location search results',\r\n heading: 'Which location are you looking for?',\r\n label: 'Which location should we use?',\r\n};\r\n\r\nexport const mapSearch = {\r\n title: 'Location search',\r\n heading: \"Let's get a rough idea of where this problem is\",\r\n noLocations: noLocations,\r\n searchTerm: searchTerm,\r\n ywArea: ywArea,\r\n currentLocation: currentLocation,\r\n validation: specifySearchTerm,\r\n};\r\n\r\nexport const externalRoughLocation = {\r\n title: 'External rough location',\r\n heading: \"Let's get a rough idea of where this problem is\",\r\n noLocations: noLocations,\r\n searchTerm: searchTerm,\r\n ywArea: ywArea,\r\n currentLocation: currentLocation,\r\n validation: specifySearchTerm,\r\n};\r\n\r\nexport const map = {\r\n title: 'Map',\r\n heading: 'Tell us exactly where the problem is',\r\n pinpoint: 'Drag the map to pinpoint where our technicians can find the problem.',\r\n cantUse: \"**Sorry, we can't use this location.**\",\r\n notYwArea:\r\n \"The location you have selected isn't in the Yorkshire Water area. \\nPlease check the location is correct and try again.\",\r\n boundaries: `If the location is correct, please contact the water company responsible for the area. We share boundaries with Severn Trent, United Utilities and Northumbrian Water`,\r\n continue: \"It's there\",\r\n findLocation1: 'find your location on a map.',\r\n findLocation2: 'find your location on a map',\r\n checkBrowser: 'check your browser location services are enabled and try again',\r\n tryAgain: 'try again',\r\n locationInstructions: \"**We can't detect your current location** \\n\\n To tell us your location:\",\r\n};\r\n\r\nexport const wasteSeverity = {\r\n title: 'Waste water severity',\r\n heading: commonQuestions.problemScale,\r\n dampArea: dampArea,\r\n smallArea: smallArea,\r\n mediumArea: mediumArea,\r\n largeArea: largeArea,\r\n};\r\n\r\nexport const waterOriginPublic = {\r\n title: 'Public water origin',\r\n heading: commonQuestions.waterOrigin3,\r\n cover: 'A cover',\r\n ground: 'The ground',\r\n stopTap: 'Above ground stop tap',\r\n other: other,\r\n};\r\n\r\nexport const boundaryFlowConstant = {\r\n title: 'Boundary Flow Constant Cover',\r\n heading: commonQuestions.flowConstant,\r\n yes: yesItIs,\r\n no: noItIsnt,\r\n};\r\n\r\nexport const boundaryRainfallAffected = {\r\n title: 'Boundary rainfall affected cover',\r\n heading: 'Could recent rainfall have affected this problem?',\r\n yes: yesItCould,\r\n notSure: notSure,\r\n};\r\n\r\nexport const boundaryWaterSmell = {\r\n title: 'Boundary water smell cover',\r\n heading: 'Does the water smell?',\r\n yes: yesItDoes,\r\n no: noItDoesnt,\r\n};\r\n\r\nexport const boundaryWaterType = {\r\n title: 'External water type',\r\n heading: commonQuestions.waterType,\r\n clean: 'Fresh water',\r\n waste: 'Sewage',\r\n unsure: notSure,\r\n hint: identifyWaterType,\r\n};\r\n\r\nexport const externalWasteWaterType = {\r\n title: 'External waste water type',\r\n heading: commonQuestions.waterType,\r\n clean: 'Fresh water',\r\n waste: 'Sewage',\r\n unsure: notSure,\r\n hint: identifyWaterType,\r\n};\r\n\r\nexport const cleanBoundaryAccessSupply = {\r\n title: 'Clean boundary access supply cover',\r\n heading: commonQuestions.access,\r\n yes: accessYes,\r\n no: accessNo,\r\n};\r\n\r\nexport const wasteBoundaryAccessSupply = {\r\n title: 'Waste boundary access supply cover',\r\n heading: commonQuestions.access,\r\n yes: accessYes,\r\n no: accessNo,\r\n};\r\n\r\nexport const initialLocationWaste = {\r\n title: 'Initial location waste',\r\n heading: commonQuestions.whereProblem,\r\n internal: internalLocation,\r\n external: externalLocation,\r\n public: publicLocation,\r\n};\r\n\r\nexport const wasteBoundaryEscapeInternal = {\r\n title: 'Waste boundary escape internal',\r\n heading: 'Are your toilets and sinks draining properly?',\r\n yes: 'Yes, they are',\r\n no: \"No, they're not\",\r\n};\r\n\r\nexport const wasteExternalCoverBlocked = {\r\n title: 'Waste external cover blocked',\r\n heading: \"What's happening?\",\r\n blocked: \"Water can't enter the grate\",\r\n gushing: 'Water is gushing out of the grate',\r\n};\r\n\r\nexport const wasteExternalCover = {\r\n title: 'Waste external cover',\r\n heading: commonQuestions.coverType,\r\n grate: 'Medium grate',\r\n largeSquare: 'Large square',\r\n rectangle: 'Medium rectangle',\r\n smallSquare: 'Small square',\r\n circle: 'Small circle',\r\n other: other,\r\n};\r\n\r\nexport const wasteExternalOrigin = {\r\n title: 'Waste external origin',\r\n heading: commonQuestions.whatProblem,\r\n ground: sewageFromGround,\r\n odour: isAnOdour,\r\n pollution: \"I've spotted pollution in a river, stream or coastal area\",\r\n cover: sewageFromCover,\r\n};\r\n\r\nexport const wasteIncidentConfirm = {\r\n title: 'Location search results',\r\n heading: commonQuestions.incidentConfirm,\r\n yes: yesItIs,\r\n no: noItIsnt,\r\n hint: workingNearHere,\r\n};\r\n\r\nexport const wasteOriginPollution = {\r\n title: 'Waste origin pollution',\r\n heading: 'Where is the pollution coming from?',\r\n grate: 'Public grate or sewer',\r\n private: 'Private property',\r\n ywSite: 'Yorkshire Water equipment or site',\r\n unsure: notSure,\r\n};\r\n\r\nexport const wasteBoundaryEscapeLocation = {\r\n title: 'Waste boundary escape location',\r\n heading: WASTE_BOUNDARY_ESCAPE_LOCATION_QUESTION,\r\n detail: allThatApply,\r\n options: [\r\n 'Into a watercourse (eg. river, stream, sea)',\r\n 'Towards a watercourse (eg. river, stream, sea) or drain at the side of the road',\r\n 'Into a drain at the side of the road',\r\n 'Into my property or attached garage',\r\n 'Into a detached garage or other outside building',\r\n 'My garden or driveway',\r\n ],\r\n validation: atLeastOne,\r\n};\r\n\r\nexport const wasteBoundaryEscapeProperty = {\r\n title: 'Waste boundary escape property',\r\n heading: 'How would you describe the problem inside your property or attached garage?',\r\n flowing: 'Flowing or pooling water',\r\n damp: dampArea,\r\n};\r\n\r\nexport const wasteBoundaryEscape = {\r\n title: 'Waste boundary escape',\r\n heading: 'Is the drain overflowing?',\r\n yes: yesItIs,\r\n no: noItIsnt,\r\n};\r\n\r\nexport const wasteBoundaryIssues = {\r\n title: 'Waste boundary issues',\r\n heading: 'Apart from your drain being blocked, do you have any of these problems?',\r\n slowToilet: slowToilet,\r\n odour: isAnOdour,\r\n both: both,\r\n none: none,\r\n};\r\n\r\nexport const wasteCoverBoundary = {\r\n title: 'Waste cover boundary',\r\n heading: commonQuestions.coverType,\r\n grate: 'Small grate',\r\n largeSquare: 'Large square',\r\n rectangle: 'Medium rectangle',\r\n smallSquare: 'Small square',\r\n circle: 'Small circle',\r\n other: other,\r\n};\r\n\r\nexport const wasteOriginBoundary = {\r\n title: 'Waste origin boundary',\r\n heading: commonQuestions.whatProblem,\r\n cover: sewageFromCover,\r\n ground: sewageFromGround,\r\n odour: isAnOdour,\r\n blocked: \"I've lifted a cover and the drain is blocked\",\r\n};\r\n\r\nexport const cleanBoundaryRisk = {\r\n title: 'Clean boundary risk cover',\r\n heading: commonQuestions.leakRisk,\r\n propertyDamage: propertyDamage,\r\n accident: accident,\r\n both: both,\r\n none: none,\r\n validation: atLeastOne,\r\n};\r\n\r\nexport const cleanBoundarySeverity = {\r\n title: 'Clean boundary severity cover',\r\n heading: commonQuestions.gushingInAir,\r\n yes: yesItIs,\r\n no: noItIsnt,\r\n};\r\n\r\nexport const wasteBoundaryRisk = {\r\n title: 'Waste boundary risk cover',\r\n heading: commonQuestions.propertyRiskOrAccess,\r\n propertyRisk: propertyRisk,\r\n access: access,\r\n both: both,\r\n none: none,\r\n validation: atLeastOne,\r\n};\r\n\r\nexport const wasteBoundarySeverity = {\r\n title: 'Waste boundary severity cover',\r\n heading: commonQuestions.problemScale,\r\n dampArea: dampArea,\r\n smallArea: smallArea,\r\n mediumArea: mediumArea,\r\n largeArea: largeArea,\r\n};\r\n\r\nexport const wasteOdourFrequency = {\r\n title: 'Waste odour frequency',\r\n heading: 'When can you smell it?',\r\n constant: allTheTime,\r\n intermittent: comesAndGoes,\r\n};\r\n\r\nexport const wasteOdourOther = {\r\n title: 'Waste odour other',\r\n heading: 'Apart from the odour, do you have any of these problems?',\r\n blockedDrain: blockedDrain,\r\n slowToilet: slowToilet,\r\n both: both,\r\n none: none,\r\n};\r\n\r\nexport const wasteOdourType = {\r\n title: 'Waste odour type',\r\n heading: 'What does it smell like?',\r\n gas: 'Gas',\r\n chemical: 'Chemical, petrol, diesel or oil',\r\n farm: 'Farm or muck spreading',\r\n drain: 'Drains, sewage or eggy',\r\n};\r\n\r\nexport const wasteOoh = {\r\n title: 'Waste Ooh',\r\n heading: 'Reporting an emergency?',\r\n detail: [\r\n 'Incidents reported online will be looked at during our working hours:',\r\n '6.30am to 10pm Monday to Saturday\\n7.30am to 10pm on Sundays',\r\n \"If it's not an emergency, please continue and we'll pick this up during working hours.\",\r\n `If there's an emergency, please call us on ${YW_PHONE_NUMBER}.`,\r\n ],\r\n};\r\n\r\nexport const wasteInternalArea = {\r\n title: 'Waste internal area',\r\n heading: 'Which part of your property is affected?',\r\n groundFloor: 'Ground floor',\r\n garage: 'An attached garage',\r\n cellar: 'Cellar or basement',\r\n upstairs: 'Upstairs or above ground floor',\r\n other: other,\r\n};\r\n\r\nexport const wasteInternalEntry = {\r\n title: 'Waste internal entry',\r\n heading: 'How is the water getting into the property?',\r\n toilet: 'Overflowing toilet, sink, shower or bath',\r\n appliance: 'Coming out of a dishwasher, washing machine or pipe work under the kitchen sink',\r\n sink: 'Overflowing kitchen sink',\r\n floor: 'Through the wall or floor',\r\n cellar: 'Through a door or cellar',\r\n};\r\n\r\nexport const wasteInternalExtdrain = {\r\n title: 'Waste internal extdrain',\r\n heading: 'Is the outside drain from the kitchen sink clear?',\r\n clear: \"Yes it's clear and flowing\",\r\n blocked: \"No it's blocked or overflowing\",\r\n unsure: \"I'm not sure or can't check\",\r\n};\r\n\r\nexport const wasteInternalExtother = {\r\n title: 'Waste internal extother',\r\n heading: 'Do you have any problems outside?',\r\n grate: \"I've got a blocked grate outside\",\r\n manhole: 'Sewage is coming out of an outside manhole or grate',\r\n odour: \"There's an odour outside\",\r\n no: Option_No,\r\n};\r\n\r\nexport const wasteInternalFclty1 = {\r\n title: 'Waste internal fclty1',\r\n heading: commonQuestions.facilitiesAffected,\r\n multipleToilets: 'Downstairs and upstairs toilet',\r\n downstairsToilet: 'Downstairs toilet only',\r\n downstairsBath: 'Downstairs shower, sink or bath',\r\n downstairsFacilities: 'Downstairs toilet and another downstairs facility',\r\n upstairsToilet: 'Upstairs toilet only',\r\n upstairsBath: 'Upstairs sink, shower or bath',\r\n upstairsFacilities: 'Upstairs toilet and another facility in the same room',\r\n};\r\n\r\nexport const wasteInternalFclty2 = {\r\n title: 'Waste internal fclty2',\r\n heading: commonQuestions.facilitiesAffected,\r\n detail: allThatApply,\r\n error: atLeastOne2,\r\n sink: 'Sink',\r\n shower: 'Shower',\r\n bath: 'Bath',\r\n};\r\n\r\nexport const wasteInternalFreq = {\r\n title: 'Waste internal freq',\r\n heading: commonQuestions.frequency2,\r\n constant: allTheTime,\r\n intermittent: 'It stops and starts',\r\n};\r\n\r\nexport const wasteInternalOther = {\r\n title: 'Waste internal other',\r\n heading: 'Do you have any of these other problems?',\r\n detail: allThatApply,\r\n slow: 'Toilet and or sink not draining properly',\r\n blocked: \"I've got a blocked drain outside\",\r\n mahole: 'Sewage is coming out of an outside manhole or grate',\r\n odour: \"There's a sewage odour\",\r\n no: 'None of the above',\r\n validation: atLeastOne2,\r\n};\r\n\r\nexport const wasteInternalSame = {\r\n title: 'Waste internal same',\r\n heading: 'Are the affected facilities in the same room?',\r\n different: 'No, they are all in separate rooms',\r\n same: 'Yes, more than one are in the same room',\r\n};\r\n\r\nexport const wasteInternalSink = {\r\n title: 'Waste internal sink',\r\n heading: 'Is the kitchen sink affected?',\r\n clear: 'The kitchen sink is fine',\r\n blocked: 'The kitchen sink is overflowing or not draining properly',\r\n};\r\n\r\nexport const wasteInternalSource = {\r\n title: 'Waste internal source',\r\n heading: commonQuestions.waterOrigin2,\r\n pipe: 'Above ground wastewater or sewage pipe',\r\n chute: 'Through an outside coal chute hatch or opening',\r\n airbrick: 'Outside air brick above the ground level',\r\n other: 'Somewhere else',\r\n};\r\n\r\nexport const wasteInternalText = {\r\n title: 'Waste internal text',\r\n heading: 'In your own words, where is the water coming from?',\r\n label: 'Add a brief description',\r\n placeholder: 'Eg: The water is coming from a pipe',\r\n validation: 'Please write a brief description below',\r\n};\r\n\r\nexport const wasteInternalToilet = {\r\n title: 'Waste internal toilet',\r\n heading: \"What's happening with your toilet?\",\r\n once: 'My toilet flushed once and overflowed',\r\n none: 'My toilet has overflowed without flushing',\r\n many: 'My toilet overflowed after more than one flush',\r\n};\r\n\r\nexport const wasteOdourLocation = {\r\n title: 'Waste odour location',\r\n heading: 'Whereabouts can you smell it?',\r\n once: 'My toilet flushed once and overflowed',\r\n none: 'My toilet has overflowed without flushing',\r\n many: 'My toilet overflowed after more than one flush',\r\n\r\n wholeProperty: 'Throughout the whole property',\r\n groundFloor: 'Whole ground floor',\r\n upstairs: 'Upstairs only',\r\n multipleRooms: 'More than one room but not the whole floor',\r\n oneRoom: 'One room only',\r\n cellar: 'Cellar only',\r\n};\r\n\r\nexport const wasteOdourOutside = {\r\n title: 'Waste odour outside',\r\n heading: 'Where is the smell?',\r\n inside: 'Only inside my property',\r\n insideOutside: 'Inside and outside',\r\n};\r\n\r\nexport const wasteOdourSource = {\r\n title: 'Waste odour source',\r\n heading: 'Where is the smell coming from?',\r\n appliance: 'Washing machine or dishwasher',\r\n shower: 'Shower, toilet or sink',\r\n kitchen: 'Under the kitchen sink',\r\n other: 'Somewhere else',\r\n};\r\n\r\nexport const wasteOriginInternal = {\r\n title: 'Waste Origin Internal',\r\n heading: commonQuestions.whatProblem,\r\n house: 'I have wastewater in my house',\r\n odour: \"There's an odour\",\r\n bathroom: \"My toilet, sink, shower or bath isn't draining properly or is blocked\",\r\n kitchen: 'My kitchen sink, dishwasher or washing machine is not draining properly',\r\n};\r\n\r\nexport const wasteTimedAccessToday = {\r\n title: 'Waste timed access today',\r\n heading: 'Will somebody over the age of 18 be at the property for the rest of the day up until 10pm?',\r\n yes: Option_Yes,\r\n no: Option_No,\r\n};\r\n\r\nexport const wasteTimedAccessTomorrow = {\r\n title: 'Waste timed access tomorrow',\r\n heading:\r\n 'Will somebody over the age of 18 be at the property for the rest of the day up until 10pm tonight or 12pm tomorrow?',\r\n yes: Option_Yes,\r\n no: Option_No,\r\n};\r\n\r\nexport const wasteResponsibiltyBoundary = {\r\n title: 'Waste Responsibilty Boundary',\r\n heading: \"Who's responsible for the blocked drain?\",\r\n detail:\r\n \"If there's a blockage in a drainage pipe or sewer, responsibility for fixing it depends on where the problem is.\",\r\n homeOwnerResp: 'The homeowner is responsible for:',\r\n homeOwner: [\r\n '\\u2022 all the pipes inside the property. These include toilets, sink drains and any outdoor guttering or pipes attached to the property.',\r\n '\\u2022 the section of pipe that goes into the ground, either directly or into a gully close to the property, until it reaches a shared drainage pipe or public sewer.',\r\n \"\\u2022 drains shared between more than one property if your home was built after 2011, unless they've been adopted by Yorkshire Water.\",\r\n ],\r\n ywResp: 'Yorkshire Water are responsible for:',\r\n yw: [\r\n '\\u2022 drains shared between more than one property which flow into a public sewer, if your home was built before 2011.',\r\n '\\u2022 drains outside of the property boundary which flow into a public sewer.',\r\n '\\u2022 public sewers.',\r\n ],\r\n subHeading: 'Whose responsibility is it?',\r\n owner: \"I think it's the homeowner's responsibility\",\r\n yorkshireWater: \"I think it's Yorkshire Water's responsibility\",\r\n unsure: notSure,\r\n};\r\n","Object.values = Object.values || require('object.values');\r\n","import { ActionTypes } from '../constants';\r\n\r\nexport const initialState = {\r\n status: {},\r\n error: undefined,\r\n hasErrored: false,\r\n isLoading: false,\r\n};\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case ActionTypes.SUBMIT_OUTCOME_LOADING:\r\n return {\r\n ...state,\r\n isLoading: action.isLoading,\r\n };\r\n case ActionTypes.SUBMIT_OUTCOME_SUMMARY_SUCCESS:\r\n return {\r\n ...state,\r\n status: action.status,\r\n };\r\n case ActionTypes.SUBMIT_OUTCOME_ERROR:\r\n return {\r\n ...state,\r\n hasErrored: action.hasErrored,\r\n error: action.error,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { ActionTypes } from '../constants';\r\n\r\nexport const initialState = {\r\n answers: {},\r\n error: null,\r\n hasErrored: false,\r\n initialSteps: null,\r\n isLoading: true,\r\n validStep: null,\r\n visitedSteps: [],\r\n summary: null,\r\n isEditing: false,\r\n breadcrumbs: [],\r\n};\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case ActionTypes.FETCH_CONFIG_LOADING:\r\n return {\r\n ...state,\r\n isLoading: action.isLoading,\r\n };\r\n case ActionTypes.FETCH_CONFIG_ERROR:\r\n return {\r\n ...state,\r\n hasErrored: action.hasErrored,\r\n error: action.error,\r\n };\r\n case ActionTypes.FETCH_LOOKUP_ERROR:\r\n return {\r\n ...state,\r\n lookupErrored: action.hasErrored,\r\n lookupErrors: state.lookupErrors + 1,\r\n lookupError: action.error,\r\n lookupErrorResponse: action.response,\r\n answers: { ...state.answers, lookupError: action.error },\r\n };\r\n case ActionTypes.SET_ANSWER:\r\n return {\r\n ...state,\r\n answers: { ...state.answers, ...action.answer },\r\n };\r\n case ActionTypes.SET_ANSWERS:\r\n return {\r\n ...state,\r\n answers: action.answers,\r\n };\r\n case ActionTypes.SET_CONFIG:\r\n return {\r\n ...state,\r\n initialSteps: action.config,\r\n };\r\n case ActionTypes.SET_STEP:\r\n return {\r\n ...state,\r\n validStep: action.newStep,\r\n };\r\n case ActionTypes.SET_VISITED_STEPS:\r\n return {\r\n ...state,\r\n visitedSteps: action.visitedSteps,\r\n };\r\n case ActionTypes.SET_EDIT_MODE:\r\n return {\r\n ...state,\r\n isEditing: action.isEditing,\r\n };\r\n case ActionTypes.SET_USER_PATH:\r\n return {\r\n ...state,\r\n userPath: action.path,\r\n };\r\n case ActionTypes.SET_BREADCRUMBS:\r\n return {\r\n ...state,\r\n breadcrumbs: action.breadcrumbs,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { ActionTypes } from '../constants';\r\n\r\nexport const initialState = {\r\n files: [],\r\n isUploading: false,\r\n};\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case ActionTypes.ATTACHMENT_UPLOADING:\r\n return {\r\n ...state,\r\n isUploading: action.isUploading,\r\n };\r\n case ActionTypes.ATTACHMENT_UPLOAD_ADD:\r\n return {\r\n ...state,\r\n files: [\r\n ...state.files.filter((file) => file.filename !== action.filename),\r\n ...[\r\n {\r\n filename: action.filename,\r\n id: state.files.length + 1,\r\n isUploading: true,\r\n hasErrored: false,\r\n error: null,\r\n isVideo: action.isVideo,\r\n },\r\n ],\r\n ],\r\n };\r\n case ActionTypes.ATTACHMENT_UPLOAD_REMOVE:\r\n return {\r\n ...state,\r\n files: [...state.files.filter((attachment) => attachment.id !== action.attachmentId)],\r\n };\r\n case ActionTypes.ATTACHMENT_UPLOAD_SUCCESS:\r\n return {\r\n ...state,\r\n files: [\r\n ...state.files.map((file) => {\r\n if (action.filename === file.filename) {\r\n return { ...file, id: action.attachmentId, isUploading: false, isVideo: action.isVideo };\r\n }\r\n return file;\r\n }),\r\n ],\r\n };\r\n case ActionTypes.ATTACHMENT_UPLOAD_ERROR:\r\n return {\r\n ...state,\r\n files: [\r\n ...state.files.map((file) => {\r\n if (action.filename === file.filename) {\r\n return { ...file, error: action.error, hasErrored: true, isUploading: false };\r\n }\r\n return file;\r\n }),\r\n ],\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { ActionTypes } from '../constants';\r\n\r\nexport const initialState = {\r\n lookups: {},\r\n error: null,\r\n errorResponse: null,\r\n hasError: false,\r\n isLoading: false,\r\n lookupCount: 0,\r\n};\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case ActionTypes.HOOK_LOADING:\r\n return {\r\n ...state,\r\n isLoading: action.isLoading,\r\n };\r\n case ActionTypes.HOOK_SUCCESS:\r\n return {\r\n ...state,\r\n lookups: {\r\n ...state.lookups,\r\n [action.key]: action.response,\r\n },\r\n lookup: action.key,\r\n };\r\n case ActionTypes.HOOK_ERROR:\r\n return {\r\n ...state,\r\n hasError: action.hasError,\r\n error: action.error,\r\n errorResponse: action.errorResponse,\r\n };\r\n case ActionTypes.HOOK_COUNT:\r\n return {\r\n ...state,\r\n lookupCount: state.lookupCount + 1 || 0,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { ActionTypes } from '../constants';\r\n\r\nexport const initialState = {\r\n status: {},\r\n isYorkshire: true,\r\n mapHasDragged: false,\r\n};\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case ActionTypes.SET_CURRENT_LOCATION:\r\n return {\r\n ...state,\r\n mapHasDragged: action.mapHasDragged,\r\n };\r\n case ActionTypes.SET_IS_YORKSHIRE:\r\n return {\r\n ...state,\r\n isYorkshire: action.isYorkshire,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { createStore, applyMiddleware } from 'redux';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport { createBrowserHistory } from 'history';\r\nimport { routerMiddleware } from 'connected-react-router';\r\nimport thunk from 'redux-thunk';\r\nimport createRootReducer from './reducers/rootReducer';\r\n\r\nexport const history = createBrowserHistory();\r\n\r\nexport default function configureStore(middleware) {\r\n let enhancer;\r\n if (middleware) {\r\n enhancer = middleware;\r\n } else {\r\n enhancer = composeWithDevTools(\r\n applyMiddleware(routerMiddleware(history), thunk),\r\n // other store enhancers if any\r\n );\r\n }\r\n\r\n const store = createStore(createRootReducer(history), enhancer);\r\n return store;\r\n}\r\n","import { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { ReactPlugin } from '@microsoft/applicationinsights-react-js';\r\nimport { DOCUMENT_TITLE, TITLE_DIVIDER, APP_INSIGHTS_INSTRUMENTATION_KEY } from '../constants';\r\n\r\nclass TelemetryService {\r\n constructor() {\r\n this.reactPlugin = new ReactPlugin();\r\n this.lastUri = null;\r\n }\r\n\r\n initialize(reactPluginConfig) {\r\n let INSTRUMENTATION_KEY = APP_INSIGHTS_INSTRUMENTATION_KEY;\r\n\r\n this.appInsights = new ApplicationInsights({\r\n config: {\r\n instrumentationKey: INSTRUMENTATION_KEY,\r\n maxBatchInterval: 0,\r\n disableFetchTracking: false,\r\n extensions: [this.reactPlugin],\r\n extensionConfig: {\r\n [this.reactPlugin.identifier]: reactPluginConfig,\r\n },\r\n },\r\n });\r\n this.appInsights.loadAppInsights();\r\n this.appInsights.addTelemetryInitializer(this.pageViewInitializer);\r\n }\r\n\r\n pageViewInitializer = (envelope) => {\r\n if (envelope.baseType === 'PageviewData') {\r\n // dont track same page again\r\n if (this.lastUri === envelope.baseData.uri) {\r\n return false;\r\n }\r\n\r\n // Removes base document title fro start of logged page name\r\n envelope.baseData.name = envelope.baseData.name.replace(`${DOCUMENT_TITLE}${TITLE_DIVIDER}`, '');\r\n this.lastUri = envelope.baseData.uri;\r\n }\r\n return true;\r\n };\r\n}\r\n\r\nexport let ai = new TelemetryService();\r\n","import validateJs from 'validate.js';\r\nimport moment from 'moment';\r\n\r\n/*\r\nisFuture\r\n\r\nisFuture validator to check a date value is in the future\r\n\r\nvalue - The value being validated\r\n*/\r\nexport const isFuture = (value) => {\r\n if (!value) return;\r\n const nowDate = moment.utc().format();\r\n const result = validateJs({ field: value }, { field: { datetime: { earliest: nowDate } } });\r\n return result ? result.field : result;\r\n};\r\n\r\n/*\r\nvalidateJs.validators.isFuture\r\n\r\nExtend validate.js to contain isFuture validator\r\n\r\nvalue - The value being validated\r\n*/\r\n\r\nvalidateJs.validators.isFuture = isFuture;\r\n\r\n/*\r\nvalidate\r\n\r\nWrapper for validation library\r\n\r\nvalues - Object containing value bag\r\nconstraints - The conditions whicch will be checked against the value\r\n*/\r\nexport const validate = (values, constraints) => {\r\n return validateJs(values, constraints);\r\n};\r\n\r\nconst validationService = {\r\n validate,\r\n};\r\n\r\nexport default validationService;\r\n","function Accordion(id, heading, content) {\r\n this.id = id;\r\n this.heading = heading;\r\n this.type = 'accordionSingle';\r\n}\r\n\r\nAccordion.prototype.setContent = function(content) {\r\n this.content = content;\r\n return this;\r\n};\r\n\r\nexport default Accordion;\r\n","function ButtonRow() {\r\n this.type = 'buttons';\r\n this.showContinue = true;\r\n this.showBack = true;\r\n this.continueButtonDisabled = false;\r\n}\r\n\r\nButtonRow.prototype.setContinueButtonDisabled = function(state) {\r\n this.continueButtonDisabled = state;\r\n return this;\r\n};\r\n\r\nButtonRow.prototype.setContinueButtonText = function(text) {\r\n this.continueButtonText = text;\r\n return this;\r\n};\r\n\r\nButtonRow.prototype.setContinueButtonState = function(state) {\r\n this.continueButtonState = state;\r\n return this;\r\n};\r\n\r\nButtonRow.prototype.showContinueButton = function() {\r\n this.showContinue = true;\r\n return this;\r\n};\r\n\r\nButtonRow.prototype.hideContinueButton = function() {\r\n this.showContinue = false;\r\n return this;\r\n};\r\n\r\nButtonRow.prototype.showBackButton = function() {\r\n this.showBack = true;\r\n return this;\r\n};\r\n\r\nButtonRow.prototype.hideBackButton = function() {\r\n this.showBack = false;\r\n return this;\r\n};\r\n\r\nButtonRow.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default ButtonRow;\r\n","function RedirectButton(text, redirectUrl) {\r\n this.redirectUrl = redirectUrl;\r\n this.type = 'redirectButton';\r\n this.text = text;\r\n}\r\n\r\nRedirectButton.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default RedirectButton;\r\n","function Control(type, name, className) {\r\n this.type = type;\r\n this.name = name;\r\n this.default = '';\r\n this.hint = null;\r\n this.hideLabel = false;\r\n this.className = className;\r\n}\r\n\r\nControl.prototype.setLabel = function(label) {\r\n this.label = label;\r\n return this;\r\n};\r\n\r\nControl.prototype.setMaxLength = function(max) {\r\n this.maxLength = max;\r\n return this;\r\n};\r\n\r\nControl.prototype.setHint = function(hint) {\r\n this.hint = hint;\r\n return this;\r\n};\r\n\r\nControl.prototype.setChars = function(chars) {\r\n this.chars = chars;\r\n return this;\r\n};\r\n\r\nControl.prototype.setCols = function(cols) {\r\n this.cols = cols;\r\n return this;\r\n};\r\n\r\nControl.prototype.isRequired = function(bool) {\r\n this.isRequiredMarker = bool;\r\n return this;\r\n};\r\n\r\nControl.prototype.isCollapsed = function(bool) {\r\n this.collapse = bool;\r\n return this;\r\n};\r\n\r\nControl.prototype.isCondensed = function(bool) {\r\n this.condensed = bool;\r\n return this;\r\n};\r\n\r\nControl.prototype.isRequired = function(bool) {\r\n this.isRequiredMarker = bool;\r\n return this;\r\n};\r\n\r\nControl.prototype.setDefault = function(defaultValue) {\r\n this.default = defaultValue;\r\n return this;\r\n};\r\n\r\nControl.prototype.setClassName = function(className) {\r\n this.className = className;\r\n return this;\r\n};\r\n\r\nControl.prototype.labelOff = function() {\r\n this.hideLabel = true;\r\n return this;\r\n};\r\n\r\nControl.prototype.addOption = function(label, value, icon, isExclusive, readable, image) {\r\n const option = {\r\n label: label,\r\n value: value,\r\n id: value,\r\n icon: icon,\r\n image: image,\r\n isExclusive: isExclusive,\r\n readable: readable,\r\n };\r\n\r\n if (this.options === undefined) {\r\n this.options = [option];\r\n } else {\r\n this.options.push(option);\r\n }\r\n return this;\r\n};\r\n\r\nexport default Control;\r\n","function Heading(id, title, priority = 1, className = null) {\r\n this.id = id;\r\n this.priority = priority;\r\n this.size = 'lg';\r\n this.title = title;\r\n this.type = 'heading';\r\n this.className = className;\r\n}\r\n\r\nHeading.prototype.setSize = function(size) {\r\n this.size = size;\r\n return this;\r\n};\r\n\r\nHeading.prototype.setPriority = function(priority) {\r\n this.priority = priority;\r\n return this;\r\n};\r\n\r\nHeading.prototype.setClassName = function(className) {\r\n this.className = className;\r\n return this;\r\n};\r\n\r\nHeading.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default Heading;\r\n","function HeadingNoDiv(id, title, className, priority = 1) {\r\n this.id = id;\r\n this.priority = priority;\r\n this.size = 'lg';\r\n this.title = title;\r\n this.type = 'headingNoDiv';\r\n this.className = className;\r\n}\r\n\r\nHeadingNoDiv.prototype.setSize = function(size) {\r\n this.size = size;\r\n return this;\r\n};\r\n\r\nHeadingNoDiv.prototype.setPriority = function(priority) {\r\n this.priority = priority;\r\n return this;\r\n};\r\n\r\nHeadingNoDiv.prototype.setClassName = function(className) {\r\n this.className = className;\r\n return this;\r\n};\r\n\r\nHeadingNoDiv.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default HeadingNoDiv;\r\n","function Hook(type, params) {\r\n if (!type) {\r\n throw new Error('No type provided to hook');\r\n }\r\n this.hidePageLoader = false;\r\n this.params = params;\r\n this.type = type;\r\n this.validation = {};\r\n}\r\n\r\nHook.prototype.setPageLoaderHidden = function() {\r\n this.hidePageLoader = true;\r\n return this;\r\n};\r\n\r\nHook.prototype.setValidation = function(validation) {\r\n this.validation = validation;\r\n return this;\r\n};\r\n\r\nexport default Hook;\r\n","function InfoBlock(id, text, classNames) {\r\n this.classnames = classNames;\r\n this.type = 'info';\r\n this.id = id;\r\n this.text = text;\r\n}\r\n\r\nInfoBlock.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default InfoBlock;\r\n","function Link(id, text) {\r\n this.id = id;\r\n this.text = text;\r\n this.type = 'link';\r\n this.state = 'link';\r\n this.target = '_blank';\r\n}\r\n\r\nLink.prototype.setRoute = function(route) {\r\n this.route = route;\r\n return this;\r\n};\r\n\r\nLink.prototype.setLink = function(link) {\r\n this.link = link;\r\n return this;\r\n};\r\n\r\nLink.prototype.setCondensed = function(bool) {\r\n this.isCondensed = bool || true;\r\n return this;\r\n};\r\n\r\nLink.prototype.setFormat = function(bool) {\r\n this.isFormatted = bool || true;\r\n return this;\r\n};\r\n\r\nLink.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nLink.prototype.setTarget = function(target) {\r\n this.target = target;\r\n return this;\r\n};\r\n\r\nLink.prototype.setState = function(state) {\r\n this.state = state;\r\n return this;\r\n};\r\n\r\nLink.prototype.setEditSlug = function(editSlug) {\r\n this.editSlug = editSlug;\r\n return this;\r\n};\r\n\r\nLink.prototype.setEditMode = function(bool) {\r\n this.editMode = bool;\r\n return this;\r\n};\r\n\r\nexport default Link;\r\n","function Message(id, message) {\r\n this.type = 'message';\r\n this.id = id;\r\n this.message = message;\r\n this.state = 'error';\r\n this.constraints = null;\r\n this.nextSteps = [];\r\n}\r\n\r\nMessage.prototype.setState = function(state) {\r\n this.state = state;\r\n return this;\r\n};\r\n\r\nMessage.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nMessage.prototype.setNextStep = function(text, stepForwardText, stepForwardParams) {\r\n const newStep = { text, stepForwardText, stepForwardParams };\r\n this.nextSteps = this.nextSteps ? [...this.nextSteps, newStep] : [newStep];\r\n return this;\r\n};\r\n\r\nMessage.prototype.setNextSteps = function(nextSteps) {\r\n this.nextSteps = nextSteps;\r\n return this;\r\n};\r\n\r\nexport default Message;\r\n","function Step(type, slug) {\r\n this.type = type;\r\n this.slug = slug;\r\n this.constraints = {};\r\n this.validation = {};\r\n this.title = null;\r\n}\r\n\r\nStep.prototype.setRedirectUrl = function(url) {\r\n this.redirectURL = url;\r\n return this;\r\n};\r\n\r\nStep.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nStep.prototype.setTitle = function(title) {\r\n this.title = title;\r\n return this;\r\n};\r\n\r\nStep.prototype.setIsContained = function(bool) {\r\n this.isContained = bool;\r\n return this;\r\n};\r\n\r\nStep.prototype.setValidation = function(validation) {\r\n this.validation = validation;\r\n return this;\r\n};\r\n\r\nStep.prototype.addBlock = function(block) {\r\n if (this.blocks === undefined) {\r\n this.blocks = [block];\r\n } else {\r\n this.blocks.push(block);\r\n }\r\n return this;\r\n};\r\n\r\nexport default Step;\r\n","function SummaryTable(id) {\r\n this.id = id;\r\n this.type = 'summaryTable';\r\n this.rows = [];\r\n}\r\n\r\nSummaryTable.prototype.addRow = function(row) {\r\n this.rows = [...this.rows, row];\r\n return this;\r\n};\r\n\r\nSummaryTable.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default SummaryTable;\r\n","function SummaryTableRow(id, label, value) {\r\n this.id = id;\r\n this.label = label;\r\n this.value = value;\r\n this.editMode = true;\r\n}\r\n\r\nSummaryTableRow.prototype.setFormatter = function(format) {\r\n this.format = format;\r\n return this;\r\n};\r\n\r\nSummaryTableRow.prototype.setEditSlug = function(editSlug) {\r\n this.editSlug = editSlug;\r\n return this;\r\n};\r\n\r\nSummaryTableRow.prototype.setEditMode = function(bool) {\r\n this.editMode = bool;\r\n return this;\r\n};\r\n\r\nexport default SummaryTableRow;\r\n","function ColleagueSummary() {\r\n this.type = 'colleagueSummary';\r\n}\r\n\r\nColleagueSummary.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default ColleagueSummary;\r\n","function DateTimeSelect(name) {\r\n this.type = 'dateTimeSelect';\r\n this.setMaxTime = true;\r\n this.name = name;\r\n}\r\n\r\nDateTimeSelect.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default DateTimeSelect;\r\n","function DateTimeConfirm() {\r\n this.type = 'dateTimeConfirm';\r\n}\r\n\r\nDateTimeConfirm.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default DateTimeConfirm;\r\n","function NwlpContact() {\r\n this.type = 'nwlpContact';\r\n}\r\n\r\nNwlpContact.prototype.setConstraints = function(constraints) {\r\n this.constraints = constraints;\r\n return this;\r\n};\r\n\r\nexport default NwlpContact;\r\n","function Banner(banner) {\r\n this.type = 'banner';\r\n this.header = banner.header;\r\n this.infos = banner.infos;\r\n this.level = banner.level;\r\n}\r\n\r\nexport default Banner;\r\n","import { Control, Heading, Step, ButtonRow, InfoBlock } from '../../models';\r\nimport {\r\n VALIDATION_TELEPHONE_REGEX,\r\n VALIDATION_EMAIL,\r\n LEAK_OR_FLOOD,\r\n YW_NOREPLY_EMAIL,\r\n YES,\r\n NO,\r\n GUID_REGEX,\r\n SOURCE_CLEAN,\r\n SOURCE_WASTE,\r\n SOURCE_NWLP,\r\n} from '../../../constants';\r\nimport { contactDetails } from '../../../constants/Copy';\r\nimport NwlpContact from '../../models/NwlpContact';\r\n\r\nconst headingBlock = new Heading('step-title', contactDetails.heading);\r\nconst infoBlock = new InfoBlock('info', contactDetails.info);\r\nconst firstNameControl = new Control('text', 'firstName')\r\n .setLabel(contactDetails.firstName)\r\n .isRequired(true)\r\n .setCols(12)\r\n .setDefault('')\r\n .setMaxLength('30');\r\nconst lastNameControl = new Control('text', 'lastName')\r\n .setLabel(contactDetails.lastName)\r\n .setCols(12)\r\n .isRequired(true)\r\n .setDefault('')\r\n .setMaxLength('30');\r\nconst emailAddressControl = new Control('text', 'email')\r\n .setLabel(contactDetails.email)\r\n .setCols(12)\r\n .isRequired(true)\r\n .setDefault('')\r\n .setMaxLength('80');\r\nconst phoneNumberControl = new Control('text', 'telephone')\r\n .setLabel(contactDetails.phone)\r\n .setCols(4)\r\n .isRequired(true)\r\n .setDefault('')\r\n .setMaxLength('11');\r\nconst hiddenContactControl = new Control('hidden', 'text').setDefault('TELEPHONE');\r\nconst hiddenStepControl = new Control('hidden', 'initialProblem').setDefault(LEAK_OR_FLOOD);\r\nconst termsAndConditions = new Control('TermsAndConditions', 'TermsAndConditions');\r\nconst hiddenQueryStringController = new Control('hidden', 'mapSearch');\r\nconst buttonsBlock = new ButtonRow().hideBackButton();\r\n\r\nconst contactDetailsStep = new Step('step', 'personal-details');\r\ncontactDetailsStep.setIsContained(true);\r\ncontactDetailsStep.addBlock(new NwlpContact());\r\ncontactDetailsStep.addBlock(headingBlock);\r\ncontactDetailsStep.addBlock(infoBlock);\r\ncontactDetailsStep.addBlock(firstNameControl);\r\ncontactDetailsStep.addBlock(lastNameControl);\r\ncontactDetailsStep.addBlock(emailAddressControl);\r\ncontactDetailsStep.addBlock(phoneNumberControl);\r\ncontactDetailsStep.addBlock(termsAndConditions);\r\ncontactDetailsStep.addBlock(buttonsBlock);\r\ncontactDetailsStep.addBlock(hiddenContactControl);\r\ncontactDetailsStep.addBlock(hiddenStepControl);\r\ncontactDetailsStep.addBlock(hiddenQueryStringController);\r\ncontactDetailsStep.setTitle(contactDetails.title);\r\n\r\n(() => {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const name = urlParams.get('searchQuery');\r\n if (name) {\r\n hiddenQueryStringController.setDefault(name);\r\n }\r\n const source = urlParams.get('source');\r\n if (source !== null) {\r\n window.sessionStorage.setItem('source', source);\r\n }\r\n const altSource = window.sessionStorage.getItem('source');\r\n\r\n if (source || altSource) {\r\n if (source === SOURCE_CLEAN || altSource === SOURCE_CLEAN) {\r\n const isCleanIntial = new Control('hidden', 'isCleanIntial');\r\n isCleanIntial.setDefault(true);\r\n contactDetailsStep.addBlock(isCleanIntial);\r\n } else if (source === SOURCE_WASTE || altSource === SOURCE_WASTE) {\r\n const isWasteInitial = new Control('hidden', 'isWasteInitial');\r\n isWasteInitial.setDefault(true);\r\n contactDetailsStep.addBlock(isWasteInitial);\r\n } else if (source === SOURCE_NWLP || altSource === SOURCE_NWLP) {\r\n const isNwlpInitial = new Control('hidden', 'isNwlpInitial');\r\n isNwlpInitial.setDefault(true);\r\n contactDetailsStep.addBlock(isNwlpInitial);\r\n }\r\n }\r\n\r\n let colleagueMode = NO;\r\n window.sessionStorage.removeItem('token');\r\n let token = urlParams.get('token') || undefined;\r\n\r\n if (token !== null) {\r\n let regex = new RegExp(GUID_REGEX);\r\n if (regex.test(token)) {\r\n window.sessionStorage.setItem('token', token);\r\n emailAddressControl.setDefault(YW_NOREPLY_EMAIL);\r\n colleagueMode = YES;\r\n } else {\r\n token = undefined;\r\n }\r\n }\r\n const colleagueToken = new Control('hidden', 'colleagueToken');\r\n colleagueToken.setDefault(token);\r\n contactDetailsStep.addBlock(colleagueToken);\r\n const isColleagueMode = new Control('hidden', 'isColleagueMode');\r\n isColleagueMode.setDefault(colleagueMode);\r\n contactDetailsStep.addBlock(isColleagueMode);\r\n\r\n contactDetailsStep.addBlock(new Control('hidden', 'isAccessHours').setDefault(undefined));\r\n contactDetailsStep.addBlock(new Control('hidden', 'isWorkingHours').setDefault(undefined));\r\n contactDetailsStep.addBlock(new Control('hidden', 'isNoWaterEnabled').setDefault(undefined));\r\n})();\r\n\r\ncontactDetailsStep.setConstraints([\r\n {\r\n initialLocation: {},\r\n initialProblem: {},\r\n supplyAffected: {},\r\n waterFromCover: {},\r\n },\r\n {\r\n initialLocation: {},\r\n contactPreference: {\r\n presence: true,\r\n exclusion: ['EMAIL', 'ANON'],\r\n inclusion: ['TELEPHONE', 'EMAIL'],\r\n },\r\n },\r\n]);\r\n\r\ncontactDetailsStep.setValidation({\r\n firstName: {\r\n presence: { allowEmpty: false, message: contactDetails.validation.firstName },\r\n },\r\n lastName: {\r\n presence: { allowEmpty: false, message: contactDetails.validation.lastName },\r\n },\r\n email: {\r\n presence: { allowEmpty: false, message: contactDetails.validation.email },\r\n format: {\r\n pattern: new RegExp(VALIDATION_EMAIL),\r\n message: contactDetails.validation.emailFormat,\r\n },\r\n },\r\n telephone: {\r\n presence: { allowEmpty: false, message: contactDetails.validation.phone },\r\n format: {\r\n pattern: new RegExp(VALIDATION_TELEPHONE_REGEX),\r\n message: contactDetails.validation.phoneFormat,\r\n },\r\n },\r\n TermsAndConditions: {\r\n presence: { allowEmpty: false, message: contactDetails.validation.terms },\r\n },\r\n});\r\n\r\nexport { contactDetailsStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../../models';\r\nimport { INTERNAL, EXTERNAL, PUBLIC } from '../../../../constants';\r\nimport { initialLocation } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', initialLocation.heading);\r\nconst initialLocationControl = new Control('question', 'initialLocation');\r\ninitialLocationControl.setLabel(initialLocation.heading);\r\ninitialLocationControl.addOption(initialLocation.internal, INTERNAL, 'IconFloodHouseInternal');\r\ninitialLocationControl.addOption(initialLocation.external, EXTERNAL, 'IconFloodHouseExternal');\r\ninitialLocationControl.addOption(initialLocation.public, PUBLIC, 'IconPublicArea');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst initialLocationStep = new Step('step', 'initial-location');\r\ninitialLocationStep.addBlock(headingBlock);\r\ninitialLocationStep.addBlock(initialLocationControl);\r\ninitialLocationStep.addBlock(buttonsBlock);\r\ninitialLocationStep.setTitle(initialLocation.title);\r\n\r\ninitialLocationStep.setConstraints({\r\n isWasteInitial: {\r\n exclusion: [true],\r\n },\r\n isCleanInitial: {\r\n inclusion: [true],\r\n },\r\n isNwlpInitial: {\r\n exclusion: [true],\r\n },\r\n});\r\n\r\nexport { initialLocationStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { INTERNAL, WATER_SUPPLY, NO_WATER, LOW_PRESSURE, POOR_QUALITY } from '../../../../constants';\r\nimport { supplyIssue } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', supplyIssue.heading);\r\nconst supplyIssueControl = new Control('question', 'supplyIssue');\r\nsupplyIssueControl.setLabel(supplyIssue.heading);\r\nsupplyIssueControl.addOption(supplyIssue.noWater, NO_WATER, 'IconDisabled');\r\nsupplyIssueControl.addOption(supplyIssue.lowPressure, LOW_PRESSURE, 'IconLowPressure');\r\nsupplyIssueControl.addOption(supplyIssue.poorQuality, POOR_QUALITY, 'IconDiscoloured');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst supplyIssueStep = new Step('step', 'supply-issue');\r\nsupplyIssueStep.addBlock(headingBlock);\r\nsupplyIssueStep.addBlock(supplyIssueControl);\r\nsupplyIssueStep.addBlock(buttonsBlock);\r\nsupplyIssueStep.setTitle(supplyIssue.title);\r\n\r\nsupplyIssueStep.setConstraints({\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n },\r\n initialProblem: {\r\n presence: true,\r\n inclusion: [WATER_SUPPLY],\r\n },\r\n});\r\n\r\nexport { supplyIssueStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { DAMAGED_COVER, YES, NO } from '../../../../constants';\r\nimport { waterFromCover } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', waterFromCover.heading);\r\nconst waterFromCoverControl = new Control('question', 'waterFromCover');\r\nwaterFromCoverControl.setLabel(waterFromCover.heading);\r\nwaterFromCoverControl.addOption(waterFromCover.yes, YES, 'IconCheckTick');\r\nwaterFromCoverControl.addOption(waterFromCover.no, NO, 'IconCross');\r\nwaterFromCoverControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst waterFromCoverStep = new Step('step', 'water-from-cover');\r\nwaterFromCoverStep.addBlock(headingBlock);\r\nwaterFromCoverStep.addBlock(waterFromCoverControl);\r\nwaterFromCoverStep.addBlock(buttonsBlock);\r\nwaterFromCoverStep.setTitle(waterFromCover.title);\r\n\r\nwaterFromCoverStep.setConstraints({\r\n initialProblem: {\r\n presence: true,\r\n inclusion: [DAMAGED_COVER],\r\n },\r\n});\r\n\r\nexport { waterFromCoverStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { INTERNAL, WATER_SUPPLY, POOR_QUALITY } from '../../../../constants';\r\nimport { waterQualityIssue } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', waterQualityIssue.heading);\r\nconst waterQualityIssueControl = new Control('question', 'waterQualityIssue');\r\nwaterQualityIssueControl.setLabel(waterQualityIssue.heading);\r\nwaterQualityIssueControl.addOption(waterQualityIssue.discoloured, 'DISCOLOURED', 'IconDiscoloured');\r\nwaterQualityIssueControl.addOption(waterQualityIssue.smells, 'TASTE_OR_SMELL', 'IconBadSmell');\r\nwaterQualityIssueControl.addOption(waterQualityIssue.hardWater, 'HARD_WATER', 'IconHardWater');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst waterQualityIssueStep = new Step('step', 'water-quality');\r\nwaterQualityIssueStep.addBlock(headingBlock);\r\nwaterQualityIssueStep.addBlock(waterQualityIssueControl);\r\nwaterQualityIssueStep.addBlock(buttonsBlock);\r\nwaterQualityIssueStep.setTitle(waterQualityIssue.title);\r\n\r\nwaterQualityIssueStep.setConstraints({\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n },\r\n initialProblem: {\r\n presence: true,\r\n inclusion: [WATER_SUPPLY],\r\n },\r\n supplyIssue: {\r\n presence: true,\r\n inclusion: [POOR_QUALITY],\r\n },\r\n});\r\n\r\nexport { waterQualityIssueStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../models';\r\nimport {\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n STEP_ADDRESS_LOOKUP,\r\n NO_WATER,\r\n PRESSURE,\r\n} from '../../../constants';\r\nimport { addressLookup } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', addressLookup.heading);\r\nconst locateMethodControl = new Control('hidden', 'locateMethod').setDefault(LOCATION_METHOD_ADDRESS_LOOKUP);\r\nconst addressTotalControl = new Control('hidden', 'addressTotal').setDefault(0);\r\nconst lookupPostcodeControl = new Control('text', 'postcode')\r\n .setLabel(addressLookup.postcode)\r\n .setChars(14)\r\n .isRequired(true)\r\n .isCollapsed(true)\r\n .isCondensed(true)\r\n .setDefault('');\r\nconst buildingNameOrNumberControl = new Control('text', 'buildingNumber')\r\n .setLabel(addressLookup.buildingNumber)\r\n .setCols(6)\r\n .setDefault('');\r\nconst buttonsBlock = new ButtonRow().setContinueButtonText(addressLookup.continue);\r\n\r\nconst addressLookupStep = new Step('step', 'address-lookup');\r\naddressLookupStep.setIsContained(true);\r\naddressLookupStep.addBlock(headingBlock);\r\naddressLookupStep.addBlock(locateMethodControl);\r\naddressLookupStep.addBlock(addressTotalControl);\r\naddressLookupStep.addBlock(lookupPostcodeControl);\r\naddressLookupStep.addBlock(buildingNameOrNumberControl);\r\naddressLookupStep.addBlock(buttonsBlock);\r\naddressLookupStep.exitHook = new Hook(STEP_ADDRESS_LOOKUP, { postcode: 'postcode', buildingNumber: 'buildingNumber' });\r\naddressLookupStep.setTitle(addressLookup.title);\r\n\r\naddressLookupStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [INTERNAL, EXTERNAL],\r\n },\r\n initialLocationWaste: {\r\n exclusion: [PUBLIC],\r\n },\r\n nwlpInitialProblem: {\r\n inclusion: [PRESSURE, NO_WATER],\r\n },\r\n});\r\n\r\naddressLookupStep.setValidation({\r\n postcode: {\r\n presence: true,\r\n postcode: { message: addressLookup.invalidPostcode },\r\n },\r\n});\r\n\r\nexport { addressLookupStep };\r\n","import { PUBLIC, MAIN_WEBSITE_URL } from '../../../constants';\r\nimport { addressLookupInfo, backToMainWebsite } from '../../../constants/Copy';\r\nimport { ButtonRow, Heading, Step, InfoBlock, Link } from '../../models';\r\n\r\nconst headingBlock = new Heading('step-title', addressLookupInfo.heading);\r\nconst infoBlock1 = new InfoBlock('info-block-1', addressLookupInfo.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', addressLookupInfo.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', addressLookupInfo.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block-3', addressLookupInfo.detail[2], 'p-t');\r\nconst infoBlock4 = new InfoBlock('info-block4', addressLookupInfo.detail[3], 'p-t');\r\nconst linkBlock = new Link('link-block', backToMainWebsite, 'p-t')\r\n .setLink(MAIN_WEBSITE_URL)\r\n .setTarget('_self')\r\n .setFormat(true);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst addressLookupInfoStep = new Step('step', 'address-lookup-info');\r\naddressLookupInfoStep.addBlock(headingBlock);\r\naddressLookupInfoStep.addBlock(infoBlock1);\r\naddressLookupInfoStep.addBlock(headingBlock2);\r\naddressLookupInfoStep.addBlock(infoBlock2);\r\naddressLookupInfoStep.addBlock(infoBlock3);\r\naddressLookupInfoStep.addBlock(infoBlock4);\r\naddressLookupInfoStep.addBlock(linkBlock);\r\naddressLookupInfoStep.addBlock(buttonsBlock);\r\naddressLookupInfoStep.setIsContained(true);\r\naddressLookupInfoStep.setTitle(addressLookupInfo.title);\r\n\r\naddressLookupInfoStep.setConstraints([\r\n {\r\n addressTotal: {\r\n presence: true,\r\n numericality: { equalTo: 0 },\r\n },\r\n initialLocation: {\r\n exclusion: [PUBLIC],\r\n },\r\n initialLocationWaste: {\r\n exclusion: [PUBLIC],\r\n },\r\n },\r\n {\r\n addressConfirm: {\r\n inclusion: ['N'],\r\n },\r\n initialLocation: {\r\n exclusion: [PUBLIC],\r\n },\r\n initialLocationWaste: {\r\n exclusion: [PUBLIC],\r\n },\r\n },\r\n]);\r\n\r\nexport { addressLookupInfoStep };\r\n","import { ButtonRow, Step, Control, Heading, Link } from '../../models';\r\nimport {\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n NO,\r\n} from '../../../constants';\r\nimport { addressResultMultiple, addressResultSingle } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', addressResultMultiple.heading);\r\nconst headingBlockSingle = new Heading('step-title', addressResultSingle.heading);\r\nconst locateMethodControl = new Control('hidden', 'locateMethod').setDefault(LOCATION_METHOD_ADDRESS_LOOKUP);\r\nconst locationControl = new Control('hidden', 'locationDetails').setDefault('');\r\nconst utmLocationControl = new Control('hidden', 'utmLocation').setDefault('');\r\nconst commercialControl = new Control('hidden', 'isCommercial');\r\nconst addressConfirmControl = new Control('addresses', 'addressConfirm').isRequired(true).setDefault('');\r\naddressConfirmControl.setLabel(addressResultMultiple.heading);\r\naddressConfirmControl.route = { target: 'address-lookup', params: { locateMethod: LOCATION_METHOD_ADDRESS_LOOKUP } };\r\nconst singleAddressConfirmControl = new Control('addresses', 'addressConfirm').isRequired(true).setDefault('');\r\nsingleAddressConfirmControl.setLabel(addressResultMultiple.heading);\r\nsingleAddressConfirmControl.route = {\r\n target: 'address-lookup',\r\n params: { locateMethod: LOCATION_METHOD_ADDRESS_LOOKUP },\r\n};\r\nconst manualLinkBlock = new Link('link-block', addressResultMultiple.missingAddress)\r\n .setRoute({ target: 'address-lookup-info' })\r\n .setCondensed(false);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst addressResultStep = new Step('step', 'address-results');\r\naddressResultStep.addBlock(headingBlock);\r\naddressResultStep.addBlock(locateMethodControl);\r\naddressResultStep.addBlock(addressConfirmControl);\r\naddressResultStep.addBlock(manualLinkBlock);\r\naddressResultStep.addBlock(buttonsBlock);\r\naddressResultStep.addBlock(locationControl);\r\naddressResultStep.addBlock(utmLocationControl);\r\naddressResultStep.addBlock(commercialControl);\r\naddressResultStep.setIsContained(true);\r\naddressResultStep.setTitle(addressResultMultiple.title);\r\n\r\nconst addressResultSingleStep = new Step('step', 'address-result');\r\naddressResultSingleStep.addBlock(headingBlockSingle);\r\naddressResultSingleStep.addBlock(locateMethodControl);\r\naddressResultSingleStep.addBlock(singleAddressConfirmControl);\r\naddressResultSingleStep.addBlock(buttonsBlock);\r\naddressResultSingleStep.addBlock(locationControl);\r\naddressResultSingleStep.addBlock(utmLocationControl);\r\naddressResultSingleStep.addBlock(commercialControl);\r\naddressResultSingleStep.setIsContained(true);\r\naddressResultSingleStep.setTitle(addressResultSingle.title);\r\n\r\naddressResultSingleStep.setConstraints({\r\n addressTotal: {\r\n presence: true,\r\n numericality: {\r\n equalTo: 1,\r\n },\r\n },\r\n locateMethod: {\r\n exclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\naddressResultSingleStep.setValidation({\r\n addressConfirm: { presence: { allowEmpty: false, message: addressResultSingle.validation } },\r\n});\r\n\r\naddressResultStep.setConstraints({\r\n addressTotal: {\r\n presence: true,\r\n numericality: {\r\n greaterThan: 1,\r\n },\r\n },\r\n locateMethod: {\r\n exclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\naddressResultStep.setValidation({\r\n addressConfirm: { presence: { allowEmpty: false, message: addressResultSingle.validation } },\r\n});\r\n\r\nexport { addressResultStep, addressResultSingleStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n STEP_MAP_SEARCH_LOOKUP,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n PUBLIC,\r\n ODOUR,\r\n WATER_SUPPLY,\r\n SLOW_DRAINAGE,\r\n NO,\r\n} from '../../../../constants';\r\nimport { mapSearch } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', mapSearch.heading);\r\nconst locateMethodControl = new Control('hidden', 'locateMethod').setDefault(LOCATION_METHOD_MAP_SEARCH);\r\nconst noResultMessageBlock = {\r\n id: 'NO-RESULTS',\r\n type: 'message',\r\n message: mapSearch.noLocations,\r\n state: 'error',\r\n nextSteps: [\r\n {\r\n text: mapSearch.searchTerm,\r\n },\r\n {\r\n text: mapSearch.ywArea,\r\n },\r\n {\r\n text: mapSearch.currentLocation,\r\n stepForwardParams: { target: 'map', params: { locateMethod: LOCATION_METHOD_CURRENT_LOCATION } },\r\n stepForwardText: mapSearch.currentLocation,\r\n },\r\n ],\r\n};\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst mapSearchStep = new Step('step', 'map-search');\r\nmapSearchStep.addBlock(headingBlock);\r\nmapSearchStep.addBlock(locateMethodControl);\r\nmapSearchStep.addBlock(noResultMessageBlock);\r\nmapSearchStep.addBlock({\r\n type: 'mapSearch',\r\n name: 'mapSearch',\r\n});\r\nmapSearchStep.addBlock(buttonsBlock);\r\nmapSearchStep.exitHook = new Hook(STEP_MAP_SEARCH_LOOKUP, 'mapSearch');\r\nmapSearchStep.setIsContained(true);\r\nmapSearchStep.setTitle(mapSearch.title);\r\n\r\nnoResultMessageBlock.constraints = [\r\n {\r\n 'hooks.error': {\r\n presence: true,\r\n inclusion: [STEP_MAP_SEARCH_LOOKUP],\r\n },\r\n },\r\n];\r\n\r\nmapSearchStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n },\r\n initialProblem: {\r\n exclusion: [ODOUR, WATER_SUPPLY, SLOW_DRAINAGE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nmapSearchStep.setValidation({\r\n mapSearch: {\r\n presence: {\r\n allowEmpty: false,\r\n message: mapSearch.validation,\r\n },\r\n },\r\n});\r\n\r\nexport { mapSearchStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { LOCATION_METHOD_MAP_SEARCH } from '../../../../constants';\r\nimport { mapSearchResult } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', mapSearchResult.heading);\r\nconst mapResultConfirmControl = new Control('placesResults', 'mapResultConfirm');\r\nmapResultConfirmControl.setLabel(mapSearchResult.label);\r\nmapResultConfirmControl.route = { target: 'map-search', params: { locateMethod: LOCATION_METHOD_MAP_SEARCH } };\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst mapSearchResultsStep = new Step('step', 'map-search-results');\r\nmapSearchResultsStep.addBlock(headingBlock);\r\nmapSearchResultsStep.addBlock(mapResultConfirmControl);\r\nmapSearchResultsStep.addBlock(buttonsBlock);\r\nmapSearchResultsStep.setIsContained(true);\r\nmapSearchResultsStep.setTitle(mapSearchResult.title);\r\n\r\nmapSearchResultsStep.setConstraints({\r\n 'hooks.lookups.mapSearch.totalResults': {\r\n presence: true,\r\n numericality: {\r\n greaterThan: 1,\r\n },\r\n },\r\n mapSearch: {\r\n presence: true,\r\n },\r\n locateMethod: {\r\n inclusion: ['MAP_SEARCH'],\r\n },\r\n});\r\n\r\nexport { mapSearchResultsStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step, Message } from '../../../models';\r\nimport '../../../../constants';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n SQUARE,\r\n BLOCKED,\r\n GUSHING,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n STEP_MAP_LOCATION_LOOKUP,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n WATER_SUPPLY,\r\n SLOW_DRAINAGE,\r\n FARM,\r\n GAS,\r\n CHEMICAL,\r\n DRAIN,\r\n BOTH,\r\n NONE,\r\n CONSTANT,\r\n INTERMITTENT,\r\n} from '../../../../constants';\r\nimport { map } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', map.heading);\r\nconst mapConfirmed = new Control('hidden', 'mapConfirmed').setDefault('TRUE');\r\nmapConfirmed.clear = true;\r\nconst instructionMessageBlock = new Message('step-hint', map.pinpoint).setState('info');\r\nconst invalidMessageBlock = {\r\n id: 'NO-RESULTS',\r\n type: 'message',\r\n message: map.cantUse,\r\n state: 'error',\r\n renderHtml: true,\r\n nextSteps: [\r\n {\r\n text: map.notYwArea,\r\n },\r\n {\r\n text: map.boundaries,\r\n },\r\n ],\r\n};\r\nconst noResultMessageBlock = new Message('no-location', map.locationInstructions);\r\nnoResultMessageBlock.setNextStep(map.checkBrowser, map.tryAgain, {\r\n target: 'map',\r\n params: { locateMethod: LOCATION_METHOD_CURRENT_LOCATION },\r\n});\r\nnoResultMessageBlock.setNextStep(map.findLocation1, map.findLocation2, {\r\n target: 'map-search',\r\n params: { locateMethod: LOCATION_METHOD_MAP_SEARCH },\r\n});\r\nnoResultMessageBlock.setState('info');\r\nconst mapResultBlock = {\r\n type: 'mapResult',\r\n name: 'mapResult',\r\n clear: true,\r\n constraints: [\r\n {\r\n 'hooks.error': {\r\n exclusion: ['map'],\r\n },\r\n },\r\n ],\r\n};\r\nconst buttonsBlockMapDraggedAndInYorkshire = new ButtonRow().setContinueButtonText(map.continue);\r\nconst buttonsBlockMapNotYetDragged = new ButtonRow();\r\nbuttonsBlockMapNotYetDragged.setContinueButtonDisabled(true);\r\nbuttonsBlockMapNotYetDragged.setContinueButtonText(map.continue);\r\nbuttonsBlockMapNotYetDragged.setContinueButtonState('default');\r\nconst buttonsBlockMapDraggedButNotInYorkshire = new ButtonRow();\r\nbuttonsBlockMapDraggedButNotInYorkshire.setContinueButtonDisabled(true);\r\nbuttonsBlockMapDraggedButNotInYorkshire.setContinueButtonText(map.continue);\r\nbuttonsBlockMapDraggedButNotInYorkshire.setContinueButtonState('default');\r\nconst noResultsButtonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst mapStep = new Step('step', 'map');\r\nmapStep.setIsContained(true);\r\nmapStep.entryHook = new Hook(STEP_MAP_LOCATION_LOOKUP, '').setPageLoaderHidden(true);\r\nmapStep.addBlock(headingBlock);\r\nmapStep.addBlock(mapConfirmed);\r\nmapStep.addBlock(instructionMessageBlock);\r\nmapStep.addBlock(invalidMessageBlock);\r\nmapStep.addBlock(noResultMessageBlock);\r\nmapStep.addBlock(mapResultBlock);\r\nmapStep.addBlock(buttonsBlockMapNotYetDragged);\r\nmapStep.addBlock(buttonsBlockMapDraggedButNotInYorkshire);\r\nmapStep.addBlock(buttonsBlockMapDraggedAndInYorkshire);\r\nmapStep.addBlock(noResultsButtonsBlock);\r\nmapStep.setTitle(map.title);\r\n\r\ninstructionMessageBlock.setConstraints([\r\n {\r\n 'locations.isYorkshire': {\r\n presence: true,\r\n inclusion: [true],\r\n },\r\n 'hooks.error': {\r\n exclusion: ['map'],\r\n },\r\n 'hooks.lookups.map': {\r\n presence: {\r\n AllowEmpty: false,\r\n },\r\n },\r\n },\r\n]);\r\n\r\ninvalidMessageBlock.constraints = [\r\n {\r\n 'locations.isYorkshire': {\r\n presence: true,\r\n inclusion: [false],\r\n },\r\n },\r\n];\r\n\r\nnoResultMessageBlock.setConstraints([\r\n {\r\n 'hooks.error': {\r\n presence: true,\r\n inclusion: ['map'],\r\n },\r\n },\r\n]);\r\n\r\nbuttonsBlockMapDraggedAndInYorkshire.setConstraints([\r\n {\r\n 'locations.mapHasDragged': {\r\n inclusion: [true],\r\n },\r\n 'locations.isYorkshire': {\r\n presence: true,\r\n inclusion: [true],\r\n },\r\n 'hooks.error': {\r\n exclusion: ['map'],\r\n },\r\n 'hooks.lookups.map': {\r\n presence: {\r\n AllowEmpty: false,\r\n },\r\n },\r\n 'hooks.isloading': {\r\n exclusion: [true],\r\n },\r\n },\r\n]);\r\n\r\nbuttonsBlockMapNotYetDragged.setConstraints([\r\n {\r\n 'locations.mapHasDragged': {\r\n inclusion: [undefined, false],\r\n },\r\n 'locations.isYorkshire': {\r\n inclusion: [true, false],\r\n },\r\n 'hooks.error': {\r\n exclusion: ['map'],\r\n },\r\n 'hooks.lookups.map': {\r\n presence: {\r\n AllowEmpty: false,\r\n },\r\n },\r\n 'hooks.isloading': {\r\n exclusion: [true],\r\n },\r\n },\r\n]);\r\n\r\nbuttonsBlockMapDraggedButNotInYorkshire.setConstraints([\r\n {\r\n 'locations.mapHasDragged': {\r\n presence: true,\r\n inclusion: [true],\r\n },\r\n 'locations.isYorkshire': {\r\n inclusion: [false],\r\n },\r\n 'hooks.error': {\r\n exclusion: ['map'],\r\n },\r\n 'hooks.lookups.map': {\r\n presence: {\r\n AllowEmpty: false,\r\n },\r\n },\r\n 'hooks.isloading': {\r\n exclusion: [true],\r\n },\r\n },\r\n]);\r\n\r\nnoResultsButtonsBlock.setConstraints([\r\n {\r\n 'hooks.error': {\r\n presence: true,\r\n inclusion: ['map'],\r\n },\r\n },\r\n]);\r\n\r\nmapStep.setConstraints([\r\n {\r\n initialLocation: {\r\n presence: true,\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n initialProblem: {\r\n exclusion: [ODOUR, WATER_SUPPLY, SLOW_DRAINAGE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n initialProblem: {\r\n exclusion: [ODOUR, WATER_SUPPLY, SLOW_DRAINAGE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [POLLUTION],\r\n exclusion: [ODOUR, GROUND, COVER],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [POLLUTION],\r\n exclusion: [ODOUR, GROUND, COVER],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [CLEAN, WASTE],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [CLEAN, WASTE],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [CLEAN, WASTE],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [CLEAN, WASTE],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES, NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES, NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [FARM],\r\n exclusion: [GAS, CHEMICAL, DRAIN],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [FARM],\r\n exclusion: [GAS, CHEMICAL, DRAIN],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [DRAIN, BLOCKED, BOTH],\r\n exclusion: [NONE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [DRAIN, BLOCKED, BOTH],\r\n exclusion: [NONE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourFrequency: {\r\n inclusion: [CONSTANT, INTERMITTENT],\r\n exclusion: [],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourFrequency: {\r\n inclusion: [CONSTANT, INTERMITTENT],\r\n exclusion: [],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SQUARE, SLUICE_VALVE, STOPTAP, METER, OTHER],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [BLOCKED],\r\n exclusion: [GUSHING],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SQUARE, SLUICE_VALVE, STOPTAP, METER, OTHER],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [BLOCKED],\r\n exclusion: [GUSHING],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n]);\r\n\r\nexport { mapStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step, Message } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n SQUARE,\r\n BLOCKED,\r\n GUSHING,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n STEP_MAP_LOCATION_LOOKUP,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n WATER_SUPPLY,\r\n SLOW_DRAINAGE,\r\n STEP_INCIDENTS_LOOKUP,\r\n FARM,\r\n GAS,\r\n CHEMICAL,\r\n DRAIN,\r\n BOTH,\r\n NONE,\r\n INTERMITTENT,\r\n CONSTANT,\r\n} from '../../../../constants';\r\nimport { mapConfirm } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', mapConfirm.heading);\r\nconst mapConfirmed = new Control('hidden', 'mapConfirmed').setDefault('TRUE');\r\nmapConfirmed.clear = true;\r\nconst addressTotalControl = new Control('hidden', 'locationDetails');\r\nconst instructionMessageBlock = new Message('step-hint', mapConfirm.sendTechnician).setState('info');\r\nconst mapResultBlock = {\r\n type: 'staticMapResult',\r\n name: 'staticMapResult',\r\n clear: true,\r\n constraints: [\r\n {\r\n 'hooks.error': {\r\n exclusion: ['map'],\r\n },\r\n },\r\n ],\r\n};\r\nconst locationDetailsBlock2 = {\r\n type: 'textarea',\r\n label: mapConfirm.anyOtherInformation,\r\n name: 'nb',\r\n maxLength: '60',\r\n showMaxLength: true,\r\n};\r\nconst buttonsBlock = new ButtonRow().setContinueButtonText(mapConfirm.continue);\r\nconst mapConfirmStep = new Step('step', 'mapConfirm');\r\nmapConfirmStep.setIsContained(true);\r\nmapConfirmStep.entryHook = new Hook(STEP_MAP_LOCATION_LOOKUP, '').setPageLoaderHidden(true);\r\nmapConfirmStep.exitHook = new Hook(STEP_INCIDENTS_LOOKUP, '');\r\nmapConfirmStep.addBlock(headingBlock);\r\nmapConfirmStep.addBlock(mapConfirmed);\r\nmapConfirmStep.addBlock(instructionMessageBlock);\r\nmapConfirmStep.addBlock(mapResultBlock);\r\nmapConfirmStep.addBlock({ type: 'textBlock', text: mapConfirm.location, name: 'locationDetails' });\r\nmapConfirmStep.addBlock(addressTotalControl);\r\nmapConfirmStep.addBlock(locationDetailsBlock2);\r\nmapConfirmStep.addBlock(buttonsBlock);\r\nmapConfirmStep.setTitle(mapConfirm.title);\r\n\r\nmapConfirmStep.setConstraints([\r\n {\r\n initialLocation: {\r\n presence: true,\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n initialProblem: {\r\n exclusion: [ODOUR, WATER_SUPPLY, SLOW_DRAINAGE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n initialProblem: {\r\n exclusion: [ODOUR, WATER_SUPPLY, SLOW_DRAINAGE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [POLLUTION],\r\n exclusion: [ODOUR, GROUND, COVER],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [POLLUTION],\r\n exclusion: [ODOUR, GROUND, COVER],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [CLEAN, WASTE],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [CLEAN, WASTE],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [CLEAN, WASTE],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [CLEAN, WASTE],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES, NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES, NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [FARM],\r\n exclusion: [GAS, CHEMICAL, DRAIN],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [FARM],\r\n exclusion: [GAS, CHEMICAL, DRAIN],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [DRAIN, BLOCKED, BOTH],\r\n exclusion: [NONE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [DRAIN, BLOCKED, BOTH],\r\n exclusion: [NONE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourFrequency: {\r\n inclusion: [CONSTANT, INTERMITTENT],\r\n exclusion: [],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourFrequency: {\r\n inclusion: [CONSTANT, INTERMITTENT],\r\n exclusion: [],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SQUARE, SLUICE_VALVE, STOPTAP, METER, OTHER],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [BLOCKED],\r\n exclusion: [GUSHING],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SQUARE, SLUICE_VALVE, STOPTAP, METER, OTHER],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [BLOCKED],\r\n exclusion: [GUSHING],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n]);\r\n\r\nexport { mapConfirmStep };\r\n","import { Control, Heading, Step, Message, ButtonRow } from '../../../models';\r\nimport { NO, YES } from '../../../../constants';\r\nimport { incidentConfirm } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', incidentConfirm.heading);\r\nconst instructionMessageBlock = new Message('step-hint', incidentConfirm.hint).setState('info');\r\nconst addressTotalControl = new Control('hidden', 'incidentTotal');\r\nconst nearbyControl = new Control('question', 'incidentResults').setLabel('');\r\nnearbyControl.addOption(incidentConfirm.yes, YES, 'IconCheckTick');\r\nnearbyControl.addOption(incidentConfirm.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst incidentConfirmStep = new Step('step', 'incident-results');\r\nincidentConfirmStep.addBlock(headingBlock);\r\nincidentConfirmStep.addBlock(instructionMessageBlock);\r\nincidentConfirmStep.addBlock({ type: 'incidentList', name: 'incidentList' });\r\nincidentConfirmStep.addBlock(addressTotalControl);\r\nincidentConfirmStep.addBlock(nearbyControl);\r\nincidentConfirmStep.addBlock(buttonsBlock);\r\nincidentConfirmStep.setIsContained(true);\r\nincidentConfirmStep.setTitle(incidentConfirm.title);\r\n\r\nincidentConfirmStep.setConstraints({\r\n isCleanInitial: {\r\n inclusion: [true],\r\n },\r\n isWasteInitial: {\r\n exclusion: [true],\r\n },\r\n incidentTotal: {\r\n presence: { AllowEmpty: true },\r\n numericality: {\r\n greaterThan: 0,\r\n },\r\n },\r\n});\r\n\r\nexport { incidentConfirmStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { INTERNAL, METER, PLUMBING, OTHER } from '../../../../constants';\r\nimport { waterOriginInternal } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', waterOriginInternal.heading);\r\nconst waterOriginInternalControl = new Control('question', 'internalWaterOrigin');\r\nwaterOriginInternalControl.setLabel(waterOriginInternal.heading);\r\nwaterOriginInternalControl.addOption(waterOriginInternal.meter, METER, 'IconMeter');\r\nwaterOriginInternalControl.addOption(waterOriginInternal.stoptap, PLUMBING, 'IconTap');\r\nwaterOriginInternalControl.addOption(waterOriginInternal.somewhereElse, OTHER, 'IconQuestion');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst waterOriginInternalStep = new Step('step', 'water-origin-private');\r\nwaterOriginInternalStep.addBlock(headingBlock);\r\nwaterOriginInternalStep.addBlock({\r\n type: 'message',\r\n id: 'step-hint',\r\n message: waterOriginInternal.hint,\r\n});\r\nwaterOriginInternalStep.addBlock(waterOriginInternalControl);\r\nwaterOriginInternalStep.addBlock(buttonsBlock);\r\nwaterOriginInternalStep.setTitle(waterOriginInternal.title);\r\n\r\nwaterOriginInternalStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n },\r\n});\r\n\r\nexport { waterOriginInternalStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../../models';\r\nimport { COVER, OVERFLOW_PIPE, METER, GROUND, EXTERNAL } from '../../../../constants';\r\nimport { waterOriginExternal } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', waterOriginExternal.heading);\r\nconst waterOriginControl = new Control('question', 'externalWaterOrigin');\r\nwaterOriginControl.setLabel(waterOriginExternal.heading);\r\nwaterOriginControl.addOption(waterOriginExternal.cover, COVER, 'IconCover');\r\nwaterOriginControl.addOption(waterOriginExternal.pipe, OVERFLOW_PIPE, 'IconConstantPressure');\r\nwaterOriginControl.addOption(waterOriginExternal.meter, METER, 'IconMeter');\r\nwaterOriginControl.addOption(waterOriginExternal.ground, GROUND, 'IconGround2');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst waterOriginExternalStep = new Step('step', 'water-origin');\r\nwaterOriginExternalStep.addBlock(headingBlock);\r\nwaterOriginExternalStep.addBlock(waterOriginControl);\r\nwaterOriginExternalStep.addBlock(buttonsBlock);\r\nwaterOriginExternalStep.setTitle(waterOriginExternal.title);\r\n\r\nwaterOriginExternalStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n});\r\n\r\nexport { waterOriginExternalStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n PUBLIC,\r\n COVER,\r\n GROUND,\r\n OTHER,\r\n ABOVE_GROUND_STOP_TAP,\r\n LEAK_OR_FLOOD,\r\n POLLUTION,\r\n NO,\r\n} from '../../../../constants';\r\nimport { waterOriginPublic } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', waterOriginPublic.heading);\r\nconst waterOriginPublicControl = new Control('question', 'waterOrigin');\r\nwaterOriginPublicControl.setLabel(waterOriginPublic.heading);\r\nwaterOriginPublicControl.addOption(waterOriginPublic.cover, COVER, 'IconCover');\r\nwaterOriginPublicControl.addOption(waterOriginPublic.ground, GROUND, 'IconGround2');\r\nwaterOriginPublicControl.addOption(waterOriginPublic.stopTap, ABOVE_GROUND_STOP_TAP, 'IconTap');\r\nwaterOriginPublicControl.addOption(waterOriginPublic.other, OTHER, 'IconQuestion');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst waterOriginPublicStep = new Step('step', 'water-origin-public');\r\nwaterOriginPublicStep.addBlock(headingBlock);\r\nwaterOriginPublicStep.addBlock(waterOriginPublicControl);\r\nwaterOriginPublicStep.addBlock(buttonsBlock);\r\nwaterOriginPublicStep.setTitle(waterOriginPublic.title);\r\n\r\nwaterOriginPublicStep.setConstraints({\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n },\r\n initialProblem: {\r\n presence: true,\r\n inclusion: [LEAK_OR_FLOOD],\r\n exclusion: [POLLUTION],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n rtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n});\r\n\r\nexport { waterOriginPublicStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n COVER,\r\n METER,\r\n PLUMBING,\r\n ABOVE_GROUND_STOP_TAP,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n TRIANGLE,\r\n} from '../../../../constants';\r\nimport { coverType, images } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', coverType.heading);\r\nconst coverTypeControl = new Control('question', 'coverType').setLabel(coverType.heading).setDefault('');\r\ncoverTypeControl.addOption(coverType.triangle, TRIANGLE, null, false, false, images.triangleSewage);\r\ncoverTypeControl.addOption('Large square', SQUARE, null, false, false, images.largeSquareSewage);\r\ncoverTypeControl.addOption(coverType.rectangle, SLUICE_VALVE, null, false, false, images.sluiceRectangle);\r\ncoverTypeControl.addOption(coverType.smallSquare, STOPTAP, null, false, false, images.sluiceSquare);\r\ncoverTypeControl.addOption(coverType.circle, METER, null, false, false, images.meter);\r\ncoverTypeControl.addOption(coverType.other, OTHER, 'IconQuestion', false, false, null);\r\ncoverTypeControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst coverTypeStep = new Step('step', 'cover-type');\r\ncoverTypeStep.addBlock(headingBlock);\r\ncoverTypeStep.addBlock(coverTypeControl);\r\ncoverTypeStep.addBlock(buttonsBlock);\r\ncoverTypeStep.setTitle(coverType.title);\r\n\r\ncoverTypeStep.setConstraints([\r\n {\r\n externalCoverType: {\r\n exclusion: [GRATE, SQUARE, STOPTAP, METER, SLUICE_VALVE, OTHER],\r\n },\r\n cleanAccess: {\r\n exclusion: [YES, NO],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [PLUMBING, METER, ABOVE_GROUND_STOP_TAP],\r\n },\r\n },\r\n {\r\n externalCoverType: {\r\n exclusion: [GRATE, SQUARE, STOPTAP, METER, SLUICE_VALVE, OTHER],\r\n },\r\n cleanAccess: {\r\n exclusion: [YES, NO],\r\n },\r\n waterFromCover: {\r\n presence: true,\r\n exclusion: [NO],\r\n inclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { coverTypeStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n PUBLIC,\r\n INTERNAL,\r\n EXTERNAL,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n} from '../../../../constants';\r\nimport { cleanCoverBoundary, images } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanCoverBoundary.heading);\r\nconst coverTypeControl = new Control('question', 'externalCoverType');\r\ncoverTypeControl.setLabel(cleanCoverBoundary.heading);\r\ncoverTypeControl.setDefault('');\r\ncoverTypeControl.addOption(cleanCoverBoundary.grate, GRATE, null, false, false, images.gully);\r\ncoverTypeControl.addOption(cleanCoverBoundary.largeSquare, SQUARE, null, false, false, images.squareSewage);\r\ncoverTypeControl.addOption(cleanCoverBoundary.rectangle, SLUICE_VALVE, null, false, false, images.sluiceRectangle);\r\ncoverTypeControl.addOption(cleanCoverBoundary.smallSquare, STOPTAP, null, false, false, images.sluiceSquare);\r\ncoverTypeControl.addOption(cleanCoverBoundary.circle, METER, null, false, false, images.meter);\r\ncoverTypeControl.addOption(cleanCoverBoundary.other, OTHER, 'IconQuestion', false, false, null);\r\ncoverTypeControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanCoverBoundaryStep = new Step('step', 'clean-cover-boundary');\r\ncleanCoverBoundaryStep.addBlock(headingBlock);\r\ncleanCoverBoundaryStep.addBlock(coverTypeControl);\r\ncleanCoverBoundaryStep.addBlock(buttonsBlock);\r\ncleanCoverBoundaryStep.setTitle(cleanCoverBoundary.title);\r\n\r\ncleanCoverBoundaryStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [PUBLIC, INTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n});\r\n\r\nexport { cleanCoverBoundaryStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n CLEAN,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n GUSHING,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n TRICKLING,\r\n} from '../../../../constants';\r\nimport { cleanCoverSeverity } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanCoverSeverity.heading);\r\nconst cleanCoverSeverityControl = new Control('question', 'cleanCoverSeverity');\r\ncleanCoverSeverityControl.setLabel(cleanCoverSeverity.heading);\r\ncleanCoverSeverityControl.addOption(cleanCoverSeverity.yes, GUSHING, 'IconGushing', false, GUSHING);\r\ncleanCoverSeverityControl.addOption(cleanCoverSeverity.no, TRICKLING, 'IconCross', false, TRICKLING);\r\ncleanCoverSeverityControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanCoverSeverityStep = new Step('step', 'clean-cover-severity');\r\ncleanCoverSeverityStep.addBlock(headingBlock);\r\ncleanCoverSeverityStep.addBlock(cleanCoverSeverityControl);\r\ncleanCoverSeverityStep.addBlock(buttonsBlock);\r\ncleanCoverSeverityStep.setTitle(cleanCoverSeverity.title);\r\n\r\ncleanCoverSeverityStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [CLEAN],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [STOPTAP, METER, SLUICE_VALVE],\r\n exclusion: [GRATE, SQUARE, OTHER],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanCoverSeverityStep };\r\n","import {\r\n YES,\r\n NO,\r\n UNSURE,\r\n CLEAN,\r\n ACCIDENT,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n GUSHING,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n NONE,\r\n COVER,\r\n GROUND,\r\n OVERFLOW_PIPE,\r\n PROPERTY_DAMAGE,\r\n TRICKLING,\r\n} from '../../../../constants';\r\nimport { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { cleanCoverRisk } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanCoverRisk.heading);\r\nconst cleanCoverRiskControl = new Control('question', 'cleanCoverRisk');\r\ncleanCoverRiskControl.setLabel(cleanCoverRisk.heading);\r\ncleanCoverRiskControl.setDefault('');\r\ncleanCoverRiskControl.addOption(cleanCoverRisk.propertyDamage, PROPERTY_DAMAGE, 'IconHouse');\r\ncleanCoverRiskControl.addOption(cleanCoverRisk.accident, ACCIDENT, 'IconAccessWalking');\r\ncleanCoverRiskControl.addOption(cleanCoverRisk.both, BOTH, 'IconPropertyAccess');\r\ncleanCoverRiskControl.addOption(cleanCoverRisk.none, NONE, 'IconCross');\r\ncleanCoverRiskControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanCoverRiskStep = new Step('step', 'clean-cover-risk');\r\ncleanCoverRiskStep.addBlock(headingBlock);\r\ncleanCoverRiskStep.addBlock(cleanCoverRiskControl);\r\ncleanCoverRiskStep.addBlock(buttonsBlock);\r\ncleanCoverRiskStep.setIsContained(false);\r\ncleanCoverRiskStep.setTitle(cleanCoverRisk.title);\r\n\r\ncleanCoverRiskStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [NO],\r\n },\r\n cleanCoverSeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [YES],\r\n },\r\n cleanCoverSeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [CLEAN],\r\n },\r\n cleanCoverSeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [STOPTAP, METER, SLUICE_VALVE],\r\n exclusion: [GRATE, SQUARE, OTHER],\r\n },\r\n cleanCoverSeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n },\r\n]);\r\n\r\ncleanCoverRiskStep.setValidation({\r\n cleanCoverRisk: {\r\n presence: {\r\n message: cleanCoverRisk.validation,\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { cleanCoverRiskStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n ACCESS,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n NONE,\r\n COVER,\r\n GROUND,\r\n OVERFLOW_PIPE,\r\n PROPERTY_DAMAGE,\r\n} from '../../../../constants';\r\nimport { externalWasteRisk } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', externalWasteRisk.heading);\r\nconst externalWasteRiskControl = new Control('question', 'externalWasteRisk');\r\nexternalWasteRiskControl.setLabel(externalWasteRisk.heading);\r\nexternalWasteRiskControl.setDefault('');\r\nexternalWasteRiskControl.addOption(externalWasteRisk.propertyRisk, PROPERTY_DAMAGE, 'IconHouse');\r\nexternalWasteRiskControl.addOption(externalWasteRisk.access, ACCESS, 'IconAccessWalking');\r\nexternalWasteRiskControl.addOption(externalWasteRisk.both, BOTH, 'IconPropertyAccess');\r\nexternalWasteRiskControl.addOption(externalWasteRisk.none, NONE, 'IconCross');\r\nexternalWasteRiskControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst externalWasteRiskStep = new Step('step', 'external-waste-risk');\r\nexternalWasteRiskStep.addBlock(headingBlock);\r\nexternalWasteRiskStep.addBlock(externalWasteRiskControl);\r\nexternalWasteRiskStep.addBlock(buttonsBlock);\r\nexternalWasteRiskStep.setTitle(externalWasteRisk.title);\r\n\r\nexternalWasteRiskStep.setConstraints([\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [WASTE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [GRATE, SQUARE],\r\n exclusion: [STOPTAP, METER, SLUICE_VALVE, OTHER],\r\n },\r\n },\r\n]);\r\n\r\nexternalWasteRiskStep.setValidation({\r\n wasteRisk: {\r\n presence: {\r\n message: externalWasteRisk.validation,\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { externalWasteRiskStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n ACCESS,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n DAMP,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n LARGE,\r\n MEDIUM,\r\n NONE,\r\n ABOVE_GROUND_STOP_TAP,\r\n COVER,\r\n GROUND,\r\n OVERFLOW_PIPE,\r\n PROPERTY_DAMAGE,\r\n SMALL,\r\n} from '../../../../constants';\r\nimport { externalWasteSeverity } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', externalWasteSeverity.heading);\r\nconst externalWasteSeverityControl = new Control('question', 'externalWasteSeverity');\r\nexternalWasteSeverityControl.setLabel(externalWasteSeverity.heading);\r\nexternalWasteSeverityControl.addOption(externalWasteSeverity.dampArea, DAMP, 'IconDampPatch');\r\nexternalWasteSeverityControl.addOption(externalWasteSeverity.smallArea, SMALL, 'IconSmallArea');\r\nexternalWasteSeverityControl.addOption(externalWasteSeverity.mediumArea, MEDIUM, 'IconMediumArea');\r\nexternalWasteSeverityControl.addOption(externalWasteSeverity.largeArea, LARGE, 'IconLargeArea');\r\nexternalWasteSeverityControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst externalWasteSeverityStep = new Step('step', 'external-waste-severity');\r\nexternalWasteSeverityStep.addBlock(headingBlock);\r\nexternalWasteSeverityStep.addBlock(externalWasteSeverityControl);\r\nexternalWasteSeverityStep.addBlock(buttonsBlock);\r\nexternalWasteSeverityStep.setTitle(externalWasteSeverity.title);\r\n\r\nexternalWasteSeverityStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n },\r\n externalWasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n },\r\n externalWasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [WASTE],\r\n },\r\n externalWasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [GRATE, SQUARE],\r\n exclusion: [STOPTAP, METER, SLUICE_VALVE, OTHER],\r\n },\r\n externalWasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [ABOVE_GROUND_STOP_TAP, COVER, GROUND],\r\n },\r\n externalWaterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n externalWasteRisk: {\r\n presence: true,\r\n inclusion: [ACCESS, BOTH, NONE, PROPERTY_DAMAGE],\r\n },\r\n },\r\n]);\r\n\r\nexport { externalWasteSeverityStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n TRIANGLE,\r\n GROUND,\r\n WASTE,\r\n CLEAN,\r\n UNSURE,\r\n INTERNAL,\r\n} from '../../../../constants';\r\nimport { waterType } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', waterType.heading);\r\nconst waterTypeControl = new Control('question', 'waterType');\r\nwaterTypeControl.setLabel(waterType.heading);\r\nwaterTypeControl.addOption(waterType.clean, CLEAN, 'IconGlass', false, 'clean water');\r\nwaterTypeControl.addOption(waterType.waste, WASTE, 'IconToiletRoll', false, 'sewage');\r\nwaterTypeControl.addOption(waterType.unsure, UNSURE, 'IconQuestion', false, 'unsure');\r\nwaterTypeControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst waterTypeStep = new Step('step', 'water-type');\r\nwaterTypeStep.addBlock(headingBlock);\r\nwaterTypeStep.addBlock({\r\n type: 'message',\r\n id: 'step-hint',\r\n message: waterType.hint,\r\n});\r\nwaterTypeStep.addBlock(waterTypeControl);\r\nwaterTypeStep.addBlock(buttonsBlock);\r\nwaterTypeStep.setTitle(waterType.title);\r\n\r\nwaterTypeStep.setConstraints([\r\n {\r\n initialLocation: {\r\n exclusion: [INTERNAL],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [OTHER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [GRATE, SQUARE],\r\n exclusion: [STOPTAP, METER, SLUICE_VALVE, OTHER],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n exclusion: [INTERNAL],\r\n },\r\n coverType: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [TRIANGLE, SQUARE, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n externalCoverType: {\r\n inclusion: [GRATE, SQUARE],\r\n exclusion: [STOPTAP, METER, SLUICE_VALVE, OTHER],\r\n },\r\n },\r\n]);\r\n\r\nexport { waterTypeStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n ABOVE_GROUND_STOP_TAP,\r\n COVER,\r\n GROUND,\r\n WASTE,\r\n CLEAN,\r\n UNSURE,\r\n} from '../../../../constants';\r\nimport { externalWaterType } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', externalWaterType.heading);\r\nconst externalWaterTypeControl = new Control('question', 'externalWaterType');\r\nexternalWaterTypeControl.setLabel(externalWaterType.heading);\r\nexternalWaterTypeControl.addOption(externalWaterType.clean, CLEAN, 'IconGlass', false, 'clean water');\r\nexternalWaterTypeControl.addOption(externalWaterType.waste, WASTE, 'IconToiletRoll', false, 'sewage');\r\nexternalWaterTypeControl.addOption(externalWaterType.unsure, UNSURE, 'IconQuestion', false, 'unsure');\r\nexternalWaterTypeControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst externalWaterTypeStep = new Step('step', 'external-water-type');\r\nexternalWaterTypeStep.addBlock(headingBlock);\r\nexternalWaterTypeStep.addBlock({\r\n type: 'message',\r\n id: 'step-hint',\r\n message: externalWaterType.hint,\r\n});\r\nexternalWaterTypeStep.addBlock(externalWaterTypeControl);\r\nexternalWaterTypeStep.addBlock(buttonsBlock);\r\nexternalWaterTypeStep.setTitle(externalWaterType.title);\r\n\r\nexternalWaterTypeStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n exclusion: [STOPTAP, GRATE, SQUARE, METER, SLUICE_VALVE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n exclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [GROUND, OTHER],\r\n exclusion: [ABOVE_GROUND_STOP_TAP, COVER],\r\n },\r\n },\r\n]);\r\n\r\nexport { externalWaterTypeStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n ABOVE_GROUND_STOP_TAP,\r\n COVER,\r\n GROUND,\r\n} from '../../../../constants';\r\nimport { rainfallAffected } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', rainfallAffected.heading);\r\nconst rainAffectedControl = new Control('question', 'rainfallAffected');\r\nrainAffectedControl.setLabel(rainfallAffected.heading);\r\nrainAffectedControl.addOption(rainfallAffected.yes, YES, 'IconRain');\r\nrainAffectedControl.addOption(rainfallAffected.unsure, UNSURE, 'IconCross');\r\nrainAffectedControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst rainfallAffectedStep = new Step('step', 'rainfall-affected');\r\nrainfallAffectedStep.addBlock(headingBlock);\r\nrainfallAffectedStep.addBlock(rainAffectedControl);\r\nrainfallAffectedStep.addBlock(buttonsBlock);\r\nrainfallAffectedStep.setTitle(rainfallAffected.title);\r\n\r\nrainfallAffectedStep.setConstraints([\r\n {\r\n waterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterOrigin: {\r\n inclusion: [GROUND, OTHER],\r\n exclusion: [COVER, ABOVE_GROUND_STOP_TAP],\r\n },\r\n externalWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ABOVE_GROUND_STOP_TAP, GROUND, OTHER],\r\n },\r\n coverType: {\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n externalWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n },\r\n]);\r\n\r\nexport { rainfallAffectedStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n YES,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n OTHER,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../constants';\r\nimport { externalRainfallAffected } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', externalRainfallAffected.heading);\r\nconst rainAffectedControl = new Control('question', 'externalRainfallAffected');\r\nrainAffectedControl.setLabel(externalRainfallAffected.heading);\r\nrainAffectedControl.addOption(externalRainfallAffected.yes, YES, 'IconRain');\r\nrainAffectedControl.addOption(externalRainfallAffected.notSure, UNSURE, 'IconCross');\r\nrainAffectedControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst externalRainfallAffectedStep = new Step('step', 'external-rainfall-affected');\r\nexternalRainfallAffectedStep.addBlock(headingBlock);\r\nexternalRainfallAffectedStep.addBlock(rainAffectedControl);\r\nexternalRainfallAffectedStep.addBlock(buttonsBlock);\r\nexternalRainfallAffectedStep.setTitle(externalRainfallAffected.title);\r\n\r\nexternalRainfallAffectedStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n },\r\n]);\r\n\r\nexport { externalRainfallAffectedStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n OTHER,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../constants';\r\nimport { externalFlowConstant } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', externalFlowConstant.heading);\r\nconst flowConstantControl = new Control('question', 'externalConstantPressure');\r\nflowConstantControl.setLabel(externalFlowConstant.heading);\r\nflowConstantControl.addOption(externalFlowConstant.yes, YES, 'IconConstantPressure');\r\nflowConstantControl.addOption(externalFlowConstant.no, NO, 'IconCross');\r\nflowConstantControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst externalFlowConstantStep = new Step('step', 'external-flow-constant');\r\nexternalFlowConstantStep.addBlock(headingBlock);\r\nexternalFlowConstantStep.addBlock(flowConstantControl);\r\nexternalFlowConstantStep.addBlock(buttonsBlock);\r\nexternalFlowConstantStep.setTitle(externalFlowConstant.title);\r\n\r\nexternalFlowConstantStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { externalFlowConstantStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { YES, NO, UNSURE, EXTERNAL, INTERNAL, PUBLIC } from '../../../../constants';\r\nimport { flowConstant } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', flowConstant.heading);\r\nconst flowConstantControl = new Control('question', 'constantPressure');\r\nflowConstantControl.setLabel(flowConstant.heading);\r\nflowConstantControl.addOption(flowConstant.yes, YES, 'IconConstantPressure');\r\nflowConstantControl.addOption(flowConstant.no, NO, 'IconCross');\r\nflowConstantControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst flowConstantStep = new Step('step', 'flow-constant');\r\nflowConstantStep.addBlock(headingBlock);\r\nflowConstantStep.addBlock(flowConstantControl);\r\nflowConstantStep.addBlock(buttonsBlock);\r\nflowConstantStep.setTitle(flowConstant.title);\r\n\r\nflowConstantStep.setConstraints([\r\n {\r\n rainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n },\r\n waterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n waterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n },\r\n rainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { flowConstantStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n OTHER,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../constants';\r\nimport { externalWaterSmell } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', externalWaterSmell.heading);\r\nconst waterSmellControl = new Control('question', 'externalWaterSmell');\r\nwaterSmellControl.setLabel(externalWaterSmell.heading);\r\nwaterSmellControl.addOption(externalWaterSmell.yes, YES, 'IconBadSmell');\r\nwaterSmellControl.addOption(externalWaterSmell.no, NO, 'IconCross');\r\nwaterSmellControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst externalWaterSmellStep = new Step('step', 'external-water-smell');\r\nexternalWaterSmellStep.addBlock(headingBlock);\r\nexternalWaterSmellStep.addBlock(waterSmellControl);\r\nexternalWaterSmellStep.addBlock(buttonsBlock);\r\nexternalWaterSmellStep.setTitle(externalWaterSmell.title);\r\n\r\nexternalWaterSmellStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { externalWaterSmellStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { YES, NO, UNSURE, OTHER, GROUND } from '../../../../constants';\r\nimport { waterSmell } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', waterSmell.heading);\r\nconst waterSmellControl = new Control('question', 'waterSmell');\r\nwaterSmellControl.setLabel(waterSmell.heading);\r\nwaterSmellControl.addOption(waterSmell.yes, YES, 'IconBadSmell');\r\nwaterSmellControl.addOption(waterSmell.no, NO, 'IconCross');\r\nwaterSmellControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst waterSmellStep = new Step('step', 'water-smell');\r\nwaterSmellStep.addBlock(headingBlock);\r\nwaterSmellStep.addBlock(waterSmellControl);\r\nwaterSmellStep.addBlock(buttonsBlock);\r\nwaterSmellStep.setTitle(waterSmell.title);\r\n\r\nwaterSmellStep.setConstraints([\r\n {\r\n waterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n },\r\n constantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n },\r\n },\r\n {\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n },\r\n },\r\n {\r\n coverType: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nexport { waterSmellStep };\r\n","import { Heading, Control, Step, ButtonRow, InfoBlock } from '../../../models';\r\nimport { EXTERNAL, PUBLIC, INTERNAL, GROUND, YES, NO } from '../../../../constants';\r\nimport { supplyPipeEligibility } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', supplyPipeEligibility.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', supplyPipeEligibility.detail, 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', supplyPipeEligibility.subHeading1, 2).setSize('md');\r\nconst headingInfoBlock1 = new InfoBlock('heading-info1', supplyPipeEligibility.mayQualify);\r\nconst infoBlock2 = new InfoBlock('bullet-point-info2', supplyPipeEligibility.may, 'm-l');\r\nconst headingInfoBlock2 = new InfoBlock('heading-info2', supplyPipeEligibility.dontQualify);\r\nconst infoBlock3 = new InfoBlock('bullet-point-info3', supplyPipeEligibility.dont[0], 'm-l');\r\nconst infoBlock4 = new InfoBlock('bullet-point-info4', supplyPipeEligibility.dont[1], 'm-l');\r\nconst infoBlock5 = new InfoBlock('bullet-point-info5', supplyPipeEligibility.dont[2], 'm-l p-b');\r\nconst headingBlock5 = new Heading('step-heading5', supplyPipeEligibility.subHeading2, 2).setSize('md');\r\nconst radio = new Control('radio', 'eligibility')\r\n .setLabel(supplyPipeEligibility.subHeading2)\r\n .labelOff()\r\n .addOption(supplyPipeEligibility.no, NO, null)\r\n .addOption(supplyPipeEligibility.yes, YES, null)\r\n .setDefault(NO);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst supplyPipeEligibilityStep = new Step('step', 'clean-eligibility-boundary');\r\nsupplyPipeEligibilityStep.setIsContained(true);\r\nsupplyPipeEligibilityStep.addBlock(headingBlock);\r\nsupplyPipeEligibilityStep.addBlock(infoBlock1);\r\nsupplyPipeEligibilityStep.addBlock(headingBlock2);\r\nsupplyPipeEligibilityStep.addBlock(headingInfoBlock1);\r\nsupplyPipeEligibilityStep.addBlock(infoBlock2);\r\nsupplyPipeEligibilityStep.addBlock(headingInfoBlock2);\r\nsupplyPipeEligibilityStep.addBlock(infoBlock3);\r\nsupplyPipeEligibilityStep.addBlock(infoBlock4);\r\nsupplyPipeEligibilityStep.addBlock(infoBlock5);\r\nsupplyPipeEligibilityStep.addBlock(headingBlock5);\r\nsupplyPipeEligibilityStep.addBlock(radio);\r\nsupplyPipeEligibilityStep.addBlock(buttonsBlock);\r\nsupplyPipeEligibilityStep.setTitle(supplyPipeEligibility.title);\r\n\r\nsupplyPipeEligibilityStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [PUBLIC, INTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [GROUND],\r\n },\r\n});\r\n\r\nexport { supplyPipeEligibilityStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n ACCESS,\r\n ACCIDENT,\r\n BOTH,\r\n INSIDE,\r\n OUTSIDE,\r\n NONE,\r\n PROPERTY_DAMAGE,\r\n WORSENING,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n DAMP,\r\n GUSHING,\r\n LARGE,\r\n MEDIUM,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n SMALL,\r\n TRICKLING,\r\n} from '../../../../constants';\r\nimport { cleanAccessSupply } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanAccessSupply.heading);\r\nconst externalProblemControl = new Control('question', 'cleanAccess');\r\nexternalProblemControl.setLabel(cleanAccessSupply.heading);\r\nexternalProblemControl.labelOff();\r\nexternalProblemControl.addOption(cleanAccessSupply.yes, YES, 'IconAccessWalking');\r\nexternalProblemControl.addOption(cleanAccessSupply.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanAccessSupplyStep = new Step('step', 'clean-access-supply');\r\ncleanAccessSupplyStep.addBlock(headingBlock);\r\ncleanAccessSupplyStep.addBlock(externalProblemControl);\r\ncleanAccessSupplyStep.addBlock(buttonsBlock);\r\ncleanAccessSupplyStep.setTitle(cleanAccessSupply.title);\r\n\r\ncleanAccessSupplyStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n },\r\n cleanCoverSeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanCoverRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n },\r\n externalWasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteSeverity: {\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [YES],\r\n },\r\n cleanCoverSeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanCoverRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [UNSURE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n },\r\n externalWasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteSeverity: {\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [WASTE],\r\n },\r\n externalWasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteSeverity: {\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n externalWaterType: {\r\n inclusion: [CLEAN],\r\n },\r\n cleanCoverSeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanCoverRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n waterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n },\r\n wasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteSeverity: {\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [OTHER],\r\n },\r\n waterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n },\r\n constantPressure: {\r\n inclusion: [YES, NO],\r\n },\r\n rainfallAffected: {\r\n inclusion: [YES, NO],\r\n },\r\n waterSmell: {\r\n inclusion: [YES, NO],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n externalWaterOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [OVERFLOW_PIPE, METER, GROUND],\r\n },\r\n externalCoverType: {\r\n inclusion: [GRATE, SQUARE, STOPTAP, METER, SLUICE_VALVE],\r\n },\r\n cleanMeterLocation: {\r\n inclusion: [OUTSIDE],\r\n exclusion: [INSIDE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n cleanCoverRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [OUTSIDE],\r\n exclusion: [INSIDE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n eligibility: {\r\n inclusion: [YES],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [OUTSIDE],\r\n exclusion: [INSIDE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, GROUND, OVERFLOW_PIPE],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [OUTSIDE],\r\n exclusion: [INSIDE],\r\n },\r\n cleanMeterSeverityExt: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, WORSENING, BOTH, NONE],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanAccessSupplyStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { pollutionEntering } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', pollutionEntering.heading);\r\nconst pollutionEnteringControl = new Control('question', 'pollutionEntering');\r\npollutionEnteringControl.setLabel(pollutionEntering.heading);\r\npollutionEnteringControl.addOption(pollutionEntering.enteringSea, 'ENTERING_SEA', 'IconSea');\r\npollutionEnteringControl.addOption(pollutionEntering.enteringRiver, 'ENTERING_RIVER_OR_STREAM', 'IconRiverStream');\r\npollutionEnteringControl.addOption(pollutionEntering.enteringCanal, 'ENTERING_CANAL', 'IconCanal');\r\npollutionEnteringControl.addOption(pollutionEntering.enteringPond, 'ENTERING_POND_LAKE', 'IconPondLake');\r\npollutionEnteringControl.addOption(pollutionEntering.enteringNature, 'ENTERING_NATURE_RESERVE', 'IconNatureReserve');\r\npollutionEnteringControl.addOption(pollutionEntering.enteringOther, 'ENTERING_OTHER', 'IconQuestion');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst pollutionEnteringStep = new Step('step', 'pollution-entering');\r\npollutionEnteringStep.addBlock(headingBlock);\r\npollutionEnteringStep.addBlock(pollutionEnteringControl);\r\npollutionEnteringStep.addBlock(buttonsBlock);\r\npollutionEnteringStep.setTitle(pollutionEntering.title);\r\n\r\npollutionEnteringStep.setConstraints([\r\n {\r\n initialProblem: { inclusion: ['POLLUTION'] },\r\n },\r\n]);\r\n\r\nexport { pollutionEnteringStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { pollutionFrom } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', pollutionFrom.heading);\r\nconst pollutionFromControl = new Control('question', 'pollutionFrom');\r\npollutionFromControl.setLabel(pollutionFrom.heading);\r\npollutionFromControl.addOption(\r\n pollutionFrom.pipe,\r\n 'FROM_PIPE',\r\n null,\r\n false,\r\n false,\r\n '/images/processed/choice-from-pipe.jpg',\r\n);\r\npollutionFromControl.addOption(\r\n pollutionFrom.cover,\r\n 'FROM_COVER_OR_GRATE',\r\n null,\r\n false,\r\n false,\r\n '/images/processed/choice-from-cover-grate.jpg',\r\n);\r\npollutionFromControl.addOption(\r\n pollutionFrom.ywSite,\r\n 'FROM_YW_SITE',\r\n null,\r\n false,\r\n false,\r\n '/images/processed/choice-from-yw-site.jpg',\r\n);\r\npollutionFromControl.addOption(\r\n pollutionFrom.ground,\r\n 'FROM_GROUND',\r\n null,\r\n false,\r\n false,\r\n '/images/processed/choice-from-ground.jpg',\r\n);\r\npollutionFromControl.addOption(\r\n pollutionFrom.pumping,\r\n 'FROM_PUMPING_STATION',\r\n null,\r\n false,\r\n false,\r\n '/images/processed/choice-from-pumping-station.jpg',\r\n);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst pollutionFromStep = new Step('step', 'pollution-from');\r\npollutionFromStep.addBlock(headingBlock);\r\npollutionFromStep.addBlock(pollutionFromControl);\r\npollutionFromStep.addBlock(buttonsBlock);\r\npollutionFromStep.setTitle(pollutionFrom.title);\r\n\r\npollutionFromStep.setConstraints([\r\n {\r\n initialProblem: { inclusion: ['POLLUTION'] },\r\n },\r\n]);\r\n\r\nexport { pollutionFromStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { pollutionType } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', pollutionType.heading);\r\nconst pollutionTypeControl = new Control('checkbox', 'pollutionType');\r\npollutionTypeControl\r\n .setLabel(pollutionType.heading)\r\n .labelOff()\r\n .setDefault('');\r\npollutionTypeControl.addOption(pollutionType.sewage, 'SEWAGE', null);\r\npollutionTypeControl.addOption(pollutionType.wipes, 'WIPES_OR_SANITARY', null);\r\npollutionTypeControl.addOption(pollutionType.soap, 'SOAPY_DISCOLOURED_WATER', null);\r\npollutionTypeControl.addOption(pollutionType.chemical, 'CHEMICALS_OIL_PETROL', null);\r\npollutionTypeControl.addOption(pollutionType.fish, 'DEAD_FISH', null);\r\npollutionTypeControl.addOption(pollutionType.other, 'OTHER', null);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst pollutionTypeStep = new Step('step', 'pollution-type');\r\npollutionTypeStep.addBlock(headingBlock);\r\npollutionTypeStep.addBlock(pollutionTypeControl);\r\npollutionTypeStep.addBlock(buttonsBlock);\r\npollutionTypeStep.setIsContained(false);\r\npollutionTypeStep.setTitle(pollutionType.title);\r\n\r\npollutionTypeStep.setConstraints([\r\n {\r\n initialProblem: { inclusion: ['POLLUTION'] },\r\n },\r\n]);\r\n\r\npollutionTypeStep.setValidation({\r\n pollutionType: {\r\n presence: {\r\n message: pollutionType.validation,\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { pollutionTypeStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../../models';\r\nimport { EXTERNAL, NO, YES, COVER, OVERFLOW_PIPE, GROUND, METER } from '../../../../constants';\r\nimport { cleanMeterLeaking } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanMeterLeaking.heading);\r\nconst cleanMeterLeakingControl = new Control('question', 'cleanMeterLeaking');\r\ncleanMeterLeakingControl.setLabel(cleanMeterLeaking.heading);\r\ncleanMeterLeakingControl.addOption(cleanMeterLeaking.yes, YES, 'IconMeter');\r\ncleanMeterLeakingControl.addOption(cleanMeterLeaking.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanMeterLeakingStep = new Step('step', 'clean-meter-leaking');\r\ncleanMeterLeakingStep.addBlock(headingBlock);\r\ncleanMeterLeakingStep.addBlock(cleanMeterLeakingControl);\r\ncleanMeterLeakingStep.addBlock(buttonsBlock);\r\ncleanMeterLeakingStep.setTitle(cleanMeterLeaking.title);\r\n\r\ncleanMeterLeakingStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n});\r\n\r\nexport { cleanMeterLeakingStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../../models';\r\nimport { INSIDE, OUTSIDE, EXTERNAL, NO, YES, COVER, OVERFLOW_PIPE, GROUND, METER } from '../../../../constants';\r\nimport { cleanMeterLocation } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanMeterLocation.heading);\r\nconst cleanMeterLocationControl = new Control('question', 'cleanMeterLocation');\r\ncleanMeterLocationControl.setLabel(cleanMeterLocation.heading);\r\ncleanMeterLocationControl.addOption(cleanMeterLocation.inside, INSIDE, 'IconHouse');\r\ncleanMeterLocationControl.addOption(cleanMeterLocation.outside, OUTSIDE, 'IconGround');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanMeterLocationStep = new Step('step', 'clean-meter-location');\r\ncleanMeterLocationStep.addBlock(headingBlock);\r\ncleanMeterLocationStep.addBlock(cleanMeterLocationControl);\r\ncleanMeterLocationStep.addBlock(buttonsBlock);\r\ncleanMeterLocationStep.setTitle(cleanMeterLocation.title);\r\n\r\ncleanMeterLocationStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nexport { cleanMeterLocationStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../../models';\r\nimport {\r\n INSIDE,\r\n OUTSIDE,\r\n BOTH,\r\n NONE,\r\n PROPERTY_DAMAGE,\r\n WORSENING,\r\n EXTERNAL,\r\n NO,\r\n YES,\r\n COVER,\r\n GROUND,\r\n METER,\r\n OVERFLOW_PIPE,\r\n} from '../../../../constants';\r\nimport { cleanMeterSeverityExt } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanMeterSeverityExt.heading);\r\nconst cleanMeterSeverityExtControl = new Control('question', 'cleanMeterSeverityExt');\r\ncleanMeterSeverityExtControl.setLabel(cleanMeterSeverityExt.heading);\r\ncleanMeterSeverityExtControl.addOption(cleanMeterSeverityExt.propertyRisk, PROPERTY_DAMAGE, 'IconHouse');\r\ncleanMeterSeverityExtControl.addOption(cleanMeterSeverityExt.worsening, WORSENING, 'IconLargeArea');\r\ncleanMeterSeverityExtControl.addOption(cleanMeterSeverityExt.both, BOTH, 'IconPropertyAccess');\r\ncleanMeterSeverityExtControl.addOption(cleanMeterSeverityExt.none, NONE, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanMeterSeverityExtStep = new Step('step', 'clean-meter-severity-ext');\r\ncleanMeterSeverityExtStep.addBlock(headingBlock);\r\ncleanMeterSeverityExtStep.addBlock(cleanMeterSeverityExtControl);\r\ncleanMeterSeverityExtStep.addBlock(buttonsBlock);\r\ncleanMeterSeverityExtStep.setTitle(cleanMeterSeverityExt.title);\r\n\r\ncleanMeterSeverityExtStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [OUTSIDE],\r\n exclusion: [INSIDE],\r\n },\r\n});\r\n\r\nexport { cleanMeterSeverityExtStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n INSIDE,\r\n OUTSIDE,\r\n METER,\r\n PIPE_MEETS_METER,\r\n STOPTAP,\r\n FAST_DRIP,\r\n GUSHING,\r\n EXTERNAL,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n INTERNAL,\r\n PUBLIC,\r\n SLOW_DRIP,\r\n STEADY_FLOW,\r\n} from '../../../../constants';\r\nimport { cleanMeterSeverityInt } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanMeterSeverityInt.heading);\r\nconst cleanMeterSeverityIntControl = new Control('question', 'cleanMeterSeverityInt');\r\ncleanMeterSeverityIntControl.setLabel(cleanMeterSeverityInt.heading);\r\ncleanMeterSeverityIntControl.addOption(cleanMeterSeverityInt.slow, SLOW_DRIP, 'IconWater3', false, 'slow drip');\r\ncleanMeterSeverityIntControl.addOption(cleanMeterSeverityInt.fast, FAST_DRIP, 'IconDripping', false, 'fast drip');\r\ncleanMeterSeverityIntControl.addOption(\r\n cleanMeterSeverityInt.steady,\r\n STEADY_FLOW,\r\n 'IconLowPressure',\r\n false,\r\n 'steady flow',\r\n);\r\ncleanMeterSeverityIntControl.addOption(cleanMeterSeverityInt.gushing, GUSHING, 'IconGushing', false, GUSHING);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanMeterSeverityIntStep = new Step('step', 'clean-meter-severity-int');\r\ncleanMeterSeverityIntStep.addBlock(headingBlock);\r\ncleanMeterSeverityIntStep.addBlock(cleanMeterSeverityIntControl);\r\ncleanMeterSeverityIntStep.addBlock(buttonsBlock);\r\ncleanMeterSeverityIntStep.setTitle(cleanMeterSeverityInt.title);\r\n\r\ncleanMeterSeverityIntStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n },\r\n cleanMeterInternal: {\r\n inclusion: [METER, PIPE_MEETS_METER, UNSURE],\r\n exclusion: [STOPTAP],\r\n },\r\n cleanCondenConfirm: {\r\n inclusion: [YES],\r\n },\r\n },\r\n {\r\n cleanCondenConfirm: {\r\n inclusion: [YES],\r\n },\r\n cleanMeterInternal: {\r\n inclusion: [METER, PIPE_MEETS_METER, UNSURE],\r\n exclusion: [STOPTAP],\r\n },\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [INSIDE],\r\n exclusion: [OUTSIDE],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanMeterSeverityIntStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../../models';\r\nimport {\r\n METER,\r\n PIPE_MEETS_METER,\r\n STOPTAP,\r\n UNSURE,\r\n INSIDE,\r\n OUTSIDE,\r\n EXTERNAL,\r\n NO,\r\n YES,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n PUBLIC,\r\n INTERNAL,\r\n} from '../../../../constants';\r\nimport { cleanMeterInternal } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanMeterInternal.heading);\r\nconst cleanMeterInternalControl = new Control('question', 'cleanMeterInternal');\r\ncleanMeterInternalControl.setLabel(cleanMeterInternal.heading);\r\ncleanMeterInternalControl.addOption(cleanMeterInternal.meter, METER, 'IconMeter');\r\ncleanMeterInternalControl.addOption(cleanMeterInternal.meterPipe, PIPE_MEETS_METER, 'IconWrench');\r\ncleanMeterInternalControl.addOption(cleanMeterInternal.stopTap, STOPTAP, 'IconTap');\r\ncleanMeterInternalControl.addOption(cleanMeterInternal.unsure, UNSURE, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanMeterInternalExternalStep = new Step('step', 'clean-meter-internal');\r\ncleanMeterInternalExternalStep.addBlock(headingBlock);\r\ncleanMeterInternalExternalStep.addBlock(cleanMeterInternalControl);\r\ncleanMeterInternalExternalStep.addBlock(buttonsBlock);\r\ncleanMeterInternalExternalStep.setTitle(cleanMeterInternal.title);\r\n\r\ncleanMeterInternalExternalStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [INSIDE],\r\n exclusion: [OUTSIDE],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanMeterInternalExternalStep };\r\n","import { ButtonRow, Control, Heading, HeadingNoDiv, InfoBlock, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n METER,\r\n PIPE_MEETS_METER,\r\n STOPTAP,\r\n INSIDE,\r\n OUTSIDE,\r\n EXTERNAL,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n INTERNAL,\r\n PUBLIC,\r\n} from '../../../../constants';\r\nimport { cleanCondensationConfirm } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', cleanCondensationConfirm.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanCondensationConfirm.detail[0], 'p-b');\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanCondensationConfirm.detail[1], 'p-b');\r\nconst headingNoDiv = new HeadingNoDiv(\r\n 'step-heading2',\r\n cleanCondensationConfirm.condensation,\r\n 'u-mb--0 u-pb--200 c-message c-message--info',\r\n 2,\r\n).setSize('sm');\r\nconst infoBlock3 = new InfoBlock(\r\n 'info-block',\r\n cleanCondensationConfirm.detail[2],\r\n 'u-pt--0 u-pb--200 u-mb--0 c-message c-message--info',\r\n);\r\nconst infoBlock4 = new InfoBlock(\r\n 'bullet-point-info4',\r\n cleanCondensationConfirm.detail[3],\r\n 'u-pt--0 u-pb--50 u-pl--450 u-mb--0 c-message c-message--info',\r\n);\r\nconst infoBlock5 = new InfoBlock(\r\n 'bullet-point-info5',\r\n cleanCondensationConfirm.detail[4],\r\n 'u-pt--0 u-pb--0 u-pl--450 u-mb--0 c-message c-message--info',\r\n);\r\nconst headingNoDiv2 = new HeadingNoDiv(\r\n 'step-heading3',\r\n cleanCondensationConfirm.label,\r\n 'u-mb--0 u-pt--200 u-pb--0 c-message c-message--info',\r\n 3,\r\n).setSize('sm');\r\nconst radio = new Control('radio', 'cleanCondenConfirm', 'u-mb--0 u-pt--0 u-pb--0 c-message c-message--info')\r\n .setLabel(cleanCondensationConfirm.label)\r\n .labelOff()\r\n .addOption(cleanCondensationConfirm.no, NO, null)\r\n .addOption(cleanCondensationConfirm.yes, YES, null)\r\n .setDefault(NO);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst cleanCondensationConfirmStep = new Step('step', 'clean-conden-confirm');\r\ncleanCondensationConfirmStep.setIsContained(true);\r\ncleanCondensationConfirmStep.addBlock(headingBlock);\r\ncleanCondensationConfirmStep.addBlock(infoBlock);\r\ncleanCondensationConfirmStep.addBlock(infoBlock2);\r\ncleanCondensationConfirmStep.addBlock(headingNoDiv);\r\ncleanCondensationConfirmStep.addBlock(infoBlock3);\r\ncleanCondensationConfirmStep.addBlock(infoBlock4);\r\ncleanCondensationConfirmStep.addBlock(infoBlock5);\r\ncleanCondensationConfirmStep.addBlock(headingNoDiv2);\r\ncleanCondensationConfirmStep.addBlock(radio);\r\ncleanCondensationConfirmStep.addBlock(buttonsBlock);\r\ncleanCondensationConfirmStep.setTitle(cleanCondensationConfirm.title);\r\n\r\ncleanCondensationConfirmStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n },\r\n cleanMeterInternal: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [PIPE_MEETS_METER, STOPTAP, UNSURE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [INSIDE],\r\n exclusion: [OUTSIDE],\r\n },\r\n cleanMeterInternal: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [PIPE_MEETS_METER, STOPTAP, UNSURE],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanCondensationConfirmStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n METER,\r\n PIPE_MEETS_METER,\r\n STOPTAP,\r\n INSIDE,\r\n OUTSIDE,\r\n FAST_DRIP,\r\n GUSHING,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n GROUND,\r\n OVERFLOW_PIPE,\r\n SLOW_DRIP,\r\n STEADY_FLOW,\r\n} from '../../../../constants';\r\nimport { cleanMeterRiskInternal } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanMeterRiskInternal.heading);\r\nconst cleanMeterRiskIntControl = new Control('question', 'cleanMeterRiskInt');\r\ncleanMeterRiskIntControl.setLabel(cleanMeterRiskInternal.heading);\r\ncleanMeterRiskIntControl.addOption(cleanMeterRiskInternal.yes, YES, 'IconFloodHouseInternal');\r\ncleanMeterRiskIntControl.addOption(cleanMeterRiskInternal.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanMeterRiskInternalStep = new Step('step', 'clean-meter-risk-int');\r\ncleanMeterRiskInternalStep.addBlock(headingBlock);\r\ncleanMeterRiskInternalStep.addBlock(cleanMeterRiskIntControl);\r\ncleanMeterRiskInternalStep.addBlock(buttonsBlock);\r\ncleanMeterRiskInternalStep.setTitle(cleanMeterRiskInternal.title);\r\n\r\ncleanMeterRiskInternalStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n },\r\n cleanMeterInternal: {\r\n inclusion: [METER, PIPE_MEETS_METER, UNSURE],\r\n exclusion: [STOPTAP],\r\n },\r\n cleanMeterSeverityInt: {\r\n presence: true,\r\n inclusion: [SLOW_DRIP, FAST_DRIP, STEADY_FLOW, GUSHING],\r\n },\r\n },\r\n {\r\n cleanMeterSeverityInt: {\r\n presence: true,\r\n inclusion: [SLOW_DRIP, FAST_DRIP, STEADY_FLOW, GUSHING],\r\n },\r\n cleanCondenConfirm: {\r\n inclusion: [YES],\r\n },\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [INSIDE],\r\n exclusion: [OUTSIDE],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanMeterRiskInternalStep };\r\n","import { ButtonRow, Heading, InfoBlock, Link, Step } from '../../../models';\r\nimport {\r\n INTERNAL,\r\n WATER_SUPPLY,\r\n NO,\r\n NO_WATER,\r\n LOW_PRESSURE,\r\n CALLBACK_1_URL,\r\n WATER_PRESSURE_URL,\r\n} from '../../../../constants';\r\nimport { noWaterInfo } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', noWaterInfo.heading);\r\nconst noWaterInfoHeading1 = new Heading('read-help-heading', noWaterInfo.subHeading, 2).setSize('md');\r\nconst noWaterInfoBlock1 = new InfoBlock('read-help-block', noWaterInfo.detail[0]);\r\nconst noWaterInfoLink1 = new Link('read-help-link', noWaterInfo.helpPages)\r\n .setState('primary')\r\n .setLink(WATER_PRESSURE_URL);\r\nconst noWaterInfoHeading2 = new Heading('read-help-block', noWaterInfo.subHeading2, 2).setSize('md');\r\nconst noWaterInfoBlock2 = new InfoBlock('next-steps-block', noWaterInfo.detail[1]);\r\nconst callbackLink = new Link('callback-link', noWaterInfo.callback).setLink(CALLBACK_1_URL);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst noWaterInfoStep = new Step('step', 'water-supply-problem');\r\nnoWaterInfoStep.addBlock(headingBlock);\r\nnoWaterInfoStep.addBlock(noWaterInfoHeading1);\r\nnoWaterInfoStep.addBlock(noWaterInfoBlock1);\r\nnoWaterInfoStep.addBlock(noWaterInfoLink1);\r\nnoWaterInfoStep.addBlock(noWaterInfoHeading2);\r\nnoWaterInfoStep.addBlock(noWaterInfoBlock2);\r\nnoWaterInfoStep.addBlock(callbackLink);\r\nnoWaterInfoStep.addBlock(buttonsBlock);\r\nnoWaterInfoStep.setIsContained(true);\r\nnoWaterInfoStep.setTitle(noWaterInfo.title);\r\n\r\nnoWaterInfoStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n },\r\n initialProblem: {\r\n inclusion: [WATER_SUPPLY],\r\n },\r\n supplyIssue: {\r\n inclusion: [NO_WATER, LOW_PRESSURE],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nexport { noWaterInfoStep };\r\n","import { ButtonRow, Heading, InfoBlock, Link, Step } from '../../../models';\r\nimport { INTERNAL, EXTERNAL, ODOUR, SLOW_DRAINAGE, NO, CALLBACK_1_URL, SLOW_DRAINING_URL } from '../../../../constants';\r\nimport { blockedDrainsInfo } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', blockedDrainsInfo.heading);\r\nconst blockageInfoHeading1 = new Heading('read-help-heading', blockedDrainsInfo.subheadings[0], 2)\r\n .setPriority(2)\r\n .setSize('md');\r\nconst blockageInfoBlock1 = new InfoBlock('read-help-block', blockedDrainsInfo.detail[0]);\r\nconst blockageInfoLink1 = new Link('read-help-link', blockedDrainsInfo.helpPages)\r\n .setState('primary')\r\n .setLink(SLOW_DRAINING_URL);\r\nconst blockageInfoHeading2 = new Heading('next-steps-heading', blockedDrainsInfo.subheadings[1], 2).setSize('md');\r\nconst blockageInfoBlock2 = new InfoBlock('next-steps-block', blockedDrainsInfo.detail[1]);\r\nconst callbackLink = new Link('callback-link', blockedDrainsInfo.callback).setLink(CALLBACK_1_URL);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst blockedDrainsInfoStep = new Step('step', 'blocked-drains');\r\nblockedDrainsInfoStep.addBlock(headingBlock);\r\nblockedDrainsInfoStep.addBlock(blockageInfoHeading1);\r\nblockedDrainsInfoStep.addBlock(blockageInfoBlock1);\r\nblockedDrainsInfoStep.addBlock(blockageInfoLink1);\r\nblockedDrainsInfoStep.addBlock(blockageInfoHeading2);\r\nblockedDrainsInfoStep.addBlock(blockageInfoBlock2);\r\nblockedDrainsInfoStep.addBlock(callbackLink);\r\nblockedDrainsInfoStep.addBlock(buttonsBlock);\r\nblockedDrainsInfoStep.setIsContained(true);\r\nblockedDrainsInfoStep.setTitle(blockedDrainsInfo.title);\r\n\r\nblockedDrainsInfoStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL, INTERNAL],\r\n },\r\n initialProblem: {\r\n inclusion: [ODOUR, SLOW_DRAINAGE],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nexport { blockedDrainsInfoStep };\r\n","import { ButtonRow, Control, Heading, InfoBlock, Link, Step } from '../../../models';\r\n\r\nimport { INTERNAL, PLUMBING, NO, LOCATION_METHOD_ADDRESS_LOOKUP, LOCAL_PLUMBER_URL } from '../../../../constants';\r\n\r\n/* :: BLOCKS :: */\r\n\r\n/* BLOCK: Step heading */\r\nconst headingBlock = new Heading('step-title', 'This looks like a private issue');\r\n\r\n/* BLOCK: Hidden field */\r\nconst privateShutoff = new Control('hidden', 'requireShutoff');\r\nprivateShutoff.setDefault('Y');\r\n\r\n/* BLOCK: Plumber heading */\r\nconst privateInfoHeading1 = new Heading('need-plumber-heading', 'You may need a plumber', 2);\r\nprivateInfoHeading1.setSize('md');\r\n\r\n/* BLOCK: Plumber info */\r\nconst privateInfoBlock1 = new InfoBlock(\r\n 'need-plumber-block',\r\n 'From the answers you have given, it looks like the problem can be solved by a local plumber.\\nWaterSafe is a free online directory and national accreditation body for competent and qualified plumbers.',\r\n);\r\n\r\n/* BLOCK: Plumber link: Address Lookup */\r\nconst privateInfoLink1 = new Link('need-plumber-link', 'Find an approved plumber near %{postcode}');\r\nprivateInfoLink1.setLink(`${LOCAL_PLUMBER_URL}/search/?q=%{postcode}`); //TODO: Unused page?\r\nprivateInfoLink1.setConstraints({\r\n postcode: { presence: true },\r\n locateMethod: { inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP] },\r\n});\r\n\r\n/* BLOCK: New window info */\r\nconst privateInfoBlock2 = new InfoBlock('new-window-block', 'The above link will take you to the WaterSafe website.');\r\n\r\n/* BLOCK: Shutoff heading */\r\nconst switchOffHeading = new Heading('next-steps-block', 'Do you need us to switch off your water?', 2);\r\nswitchOffHeading.setSize('md');\r\n\r\n/* BLOCK: Buttons */\r\nconst buttonsBlock = new ButtonRow();\r\nbuttonsBlock.setContinueButtonState('primary');\r\nbuttonsBlock.setContinueButtonText('Yes I do');\r\n\r\n/* :: STEP: PRIVATE PROBLEM :: */\r\nconst privateProblemInfoStep = new Step('step', 'private-problem');\r\nprivateProblemInfoStep.setConstraints({\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [PLUMBING],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nprivateProblemInfoStep.addBlock(headingBlock);\r\nprivateProblemInfoStep.addBlock(privateShutoff);\r\nprivateProblemInfoStep.addBlock(privateInfoHeading1);\r\nprivateProblemInfoStep.addBlock(privateInfoBlock1);\r\nprivateProblemInfoStep.addBlock(privateInfoLink1);\r\nprivateProblemInfoStep.addBlock(privateInfoBlock2);\r\nprivateProblemInfoStep.addBlock(switchOffHeading);\r\nprivateProblemInfoStep.addBlock(buttonsBlock);\r\nprivateProblemInfoStep.setIsContained(true);\r\nprivateProblemInfoStep.setTitle('Private problem');\r\n\r\nexport { privateProblemInfoStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n TRIANGLE,\r\n GUSHING,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n ABOVE_GROUND_STOP_TAP,\r\n COVER,\r\n GROUND,\r\n PLUMBING,\r\n TRICKLING,\r\n CLEAN,\r\n WASTE,\r\n UNSURE,\r\n} from '../../../../constants';\r\nimport { cleanSeverity } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanSeverity.heading);\r\nconst cleanSeverityControl = new Control('question', 'cleanSeverity');\r\ncleanSeverityControl.setLabel(cleanSeverity.heading);\r\ncleanSeverityControl.addOption(cleanSeverity.yes, GUSHING, 'IconGushing', false, GUSHING);\r\ncleanSeverityControl.addOption(cleanSeverity.no, TRICKLING, 'IconCross', false, TRICKLING);\r\ncleanSeverityControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanSeverityStep = new Step('step', 'clean-severity');\r\ncleanSeverityStep.addBlock(headingBlock);\r\ncleanSeverityStep.addBlock(cleanSeverityControl);\r\ncleanSeverityStep.addBlock(buttonsBlock);\r\ncleanSeverityStep.setTitle(cleanSeverity.title);\r\n\r\ncleanSeverityStep.setConstraints([\r\n {\r\n initialLocation: {\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n waterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n },\r\n coverType: {\r\n exclusion: [TRIANGLE, SQUARE, SLUICE_VALVE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n waterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n constantPressure: {\r\n presence: true,\r\n inclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [PLUMBING, METER, ABOVE_GROUND_STOP_TAP],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n coverType: {\r\n presence: true,\r\n inclusion: [STOPTAP, METER, SLUICE_VALVE],\r\n exclusion: [TRIANGLE, SQUARE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterOrigin: {\r\n inclusion: [GROUND, OTHER],\r\n exclusion: [COVER, ABOVE_GROUND_STOP_TAP],\r\n },\r\n waterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n coverType: {\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n externalWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanSeverityStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n ACCESS,\r\n BOTH,\r\n YES,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n TRIANGLE,\r\n DAMP,\r\n LARGE,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n MEDIUM,\r\n NONE,\r\n ABOVE_GROUND_STOP_TAP,\r\n COVER,\r\n GROUND,\r\n PROPERTY_DAMAGE,\r\n SMALL,\r\n CLEAN,\r\n WASTE,\r\n UNSURE,\r\n} from '../../../../constants';\r\nimport { wasteSeverity } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteSeverity.heading);\r\n\r\nconst wasteSeverityControl = new Control('question', 'wasteSeverity');\r\nwasteSeverityControl.setLabel(wasteSeverity.heading);\r\nwasteSeverityControl.addOption(wasteSeverity.dampArea, DAMP, 'IconDampPatch');\r\nwasteSeverityControl.addOption(wasteSeverity.smallArea, SMALL, 'IconSmallArea');\r\nwasteSeverityControl.addOption(wasteSeverity.mediumArea, MEDIUM, 'IconMediumArea');\r\nwasteSeverityControl.addOption(wasteSeverity.largeArea, LARGE, 'IconLargeArea');\r\nwasteSeverityControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteSeverityStep = new Step('step', 'waste-severity');\r\nwasteSeverityStep.addBlock(headingBlock);\r\nwasteSeverityStep.addBlock(wasteSeverityControl);\r\nwasteSeverityStep.addBlock(buttonsBlock);\r\nwasteSeverityStep.setTitle(wasteSeverity.title);\r\n\r\nwasteSeverityStep.setConstraints([\r\n {\r\n waterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n },\r\n },\r\n {\r\n waterSmell: {\r\n presence: true,\r\n inclusion: [YES],\r\n },\r\n },\r\n {\r\n rainfallAffected: {\r\n presence: true,\r\n inclusion: [YES],\r\n },\r\n },\r\n {\r\n coverType: {\r\n presence: true,\r\n inclusion: [TRIANGLE, SQUARE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ABOVE_GROUND_STOP_TAP, COVER, OTHER],\r\n },\r\n waterType: {\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n wasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ABOVE_GROUND_STOP_TAP, GROUND, OTHER],\r\n },\r\n coverType: {\r\n inclusion: [OTHER],\r\n exclusion: [GRATE, SQUARE, STOPTAP, METER, SLUICE_VALVE],\r\n },\r\n waterType: {\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n wasteRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteSeverityStep };\r\n","import {\r\n ACCIDENT,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n GUSHING,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n NONE,\r\n ABOVE_GROUND_STOP_TAP,\r\n COVER,\r\n GROUND,\r\n PROPERTY_DAMAGE,\r\n RUNNING_QUICKLY,\r\n TRICKLING,\r\n} from '../../../../constants';\r\nimport { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { cleanRisk } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanRisk.heading);\r\nconst cleanRiskControl = new Control('question', 'cleanRisk');\r\ncleanRiskControl.setLabel(cleanRisk.heading);\r\ncleanRiskControl.setDefault('');\r\ncleanRiskControl.addOption(cleanRisk.propertyDamage, PROPERTY_DAMAGE, 'IconHouse');\r\ncleanRiskControl.addOption(cleanRisk.accident, ACCIDENT, 'IconAccessWalking');\r\ncleanRiskControl.addOption(cleanRisk.both, BOTH, 'IconPropertyAccess');\r\ncleanRiskControl.addOption(cleanRisk.none, NONE, 'IconCross');\r\ncleanRiskControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanRiskStep = new Step('step', 'clean-risk');\r\ncleanRiskStep.addBlock(headingBlock);\r\ncleanRiskStep.addBlock(cleanRiskControl);\r\ncleanRiskStep.addBlock(buttonsBlock);\r\ncleanRiskStep.setIsContained(false);\r\ncleanRiskStep.setTitle(cleanRisk.title);\r\n\r\ncleanRiskStep.setConstraints([\r\n {\r\n cleanSeverity: {\r\n presence: true,\r\n inclusion: [RUNNING_QUICKLY, GUSHING, TRICKLING],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [ABOVE_GROUND_STOP_TAP],\r\n exclusion: [COVER, GROUND, OTHER],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n coverType: {\r\n presence: true,\r\n inclusion: [METER, OTHER, STOPTAP],\r\n exclusion: [GRATE, SQUARE, SLUICE_VALVE],\r\n },\r\n cleanSeverity: {\r\n presence: true,\r\n inclusion: [RUNNING_QUICKLY, GUSHING, TRICKLING],\r\n },\r\n },\r\n]);\r\n\r\ncleanRiskStep.setValidation({\r\n cleanRisk: {\r\n presence: {\r\n message: cleanRisk.validation,\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { cleanRiskStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n ACCESS,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n TRIANGLE,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n NONE,\r\n ABOVE_GROUND_STOP_TAP,\r\n COVER,\r\n GROUND,\r\n PROPERTY_DAMAGE,\r\n} from '../../../../constants';\r\nimport { wasteRisk } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteRisk.heading);\r\nconst wasteRiskControl = new Control('question', 'wasteRisk');\r\nwasteRiskControl.setLabel(wasteRisk.heading);\r\nwasteRiskControl.setDefault('');\r\nwasteRiskControl.addOption(wasteRisk.propertyRisk, PROPERTY_DAMAGE, 'IconHouse');\r\nwasteRiskControl.addOption(wasteRisk.access, ACCESS, 'IconAccessWalking');\r\nwasteRiskControl.addOption(wasteRisk.both, BOTH, 'IconPropertyAccess');\r\nwasteRiskControl.addOption(wasteRisk.none, NONE, 'IconCross');\r\nwasteRiskControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteRiskStep = new Step('step', 'waste-risk');\r\nwasteRiskStep.addBlock(headingBlock);\r\nwasteRiskStep.addBlock(wasteRiskControl);\r\nwasteRiskStep.addBlock(buttonsBlock);\r\nwasteRiskStep.setTitle(wasteRisk.title);\r\n\r\nwasteRiskStep.setConstraints([\r\n {\r\n initialLocation: {\r\n presence: true,\r\n exclusion: ['INTERNAL'],\r\n },\r\n waterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n exclusion: ['INTERNAL'],\r\n },\r\n waterSmell: {\r\n presence: true,\r\n inclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n exclusion: ['INTERNAL'],\r\n },\r\n rainfallAffected: {\r\n presence: true,\r\n inclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n exclusion: ['INTERNAL'],\r\n },\r\n coverType: {\r\n presence: true,\r\n inclusion: [TRIANGLE, SQUARE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [GROUND, OTHER],\r\n exclusion: [COVER, ABOVE_GROUND_STOP_TAP],\r\n },\r\n externalWaterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n coverType: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n externalWaterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n },\r\n]);\r\nwasteRiskStep.setValidation({\r\n wasteRisk: {\r\n presence: {\r\n message: wasteRisk.validation,\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { wasteRiskStep };\r\n","import { Accordion, ButtonRow, Heading, Message, Step, Control, InfoBlock } from '../../../models';\r\nimport { INTERNAL, EXTERNAL, PUBLIC, ODOUR, WATER_SUPPLY, SLOW_DRAINAGE, NO, YES } from '../../../../constants';\r\nimport { uploadPage } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', uploadPage.heading);\r\nconst infoBlock = new InfoBlock('step-info', uploadPage.subHeader);\r\nconst hintBlockPublic = new Message('step-hint', uploadPage.calloutBoxTop).setState('info');\r\nconst safetyBlockPublic = new Message('step-warning', uploadPage.calloutBoxSafety).setState('warning');\r\nconst tipsBlock = new Accordion('accordion-photos', uploadPage.accordionHeader).setContent(uploadPage.accordionBody);\r\nconst uploadBlock = {\r\n id: 'image-upload',\r\n type: 'fileUpload',\r\n name: 'attachments',\r\n ctaText: uploadPage.buttonText,\r\n};\r\nconst buttonsBlock = new ButtonRow();\r\nconst buttonsBlockDisabled = new ButtonRow();\r\nbuttonsBlockDisabled.setContinueButtonDisabled(true);\r\nbuttonsBlockDisabled.setContinueButtonText('Uploading');\r\nbuttonsBlockDisabled.setContinueButtonState('default');\r\nbuttonsBlockDisabled.setConstraints({\r\n 'attachments.isUploading': {\r\n presence: true,\r\n inclusion: [true],\r\n },\r\n});\r\nconst photoControl = new Control('hidden', 'photoStep').setDefault(YES);\r\n\r\nconst photoStep = new Step('step', 'photos');\r\nphotoStep.addBlock(headingBlock);\r\nphotoStep.addBlock(infoBlock);\r\nphotoStep.addBlock(hintBlockPublic);\r\nphotoStep.addBlock(safetyBlockPublic);\r\nphotoStep.addBlock(tipsBlock);\r\nphotoStep.addBlock(uploadBlock);\r\nphotoStep.addBlock(buttonsBlock);\r\nphotoStep.addBlock(buttonsBlockDisabled);\r\nphotoStep.addBlock(photoControl);\r\nphotoStep.setIsContained(true);\r\nphotoStep.setTitle('Photos');\r\n\r\nbuttonsBlock.setConstraints({\r\n 'attachments.isUploading': {\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n});\r\n\r\nphotoStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n initialProblem: {\r\n exclusion: [WATER_SUPPLY, SLOW_DRAINAGE, ODOUR],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n rtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n});\r\n\r\nexport { photoStep };\r\n","import { Accordion, ButtonRow, Heading, Message, Step, Control, InfoBlock } from '../../../models';\r\nimport { EXTERNAL, YES, INTERNAL, PUBLIC } from '../../../../constants';\r\nimport { uploadPage } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', uploadPage.heading);\r\nconst infoBlock = new InfoBlock('step-info', uploadPage.subHeader);\r\nconst hintBlockExternal = new Message('step-hint', uploadPage.calloutBoxTop).setState('info');\r\nconst safetyBlockExternal = new Message('step-hint', uploadPage.calloutBoxSafety).setState('warning');\r\nconst tipsBlock = new Accordion('accordion-photos', uploadPage.accordionHeader).setContent(uploadPage.accordionBody);\r\nconst uploadBlock = {\r\n id: 'image-upload',\r\n type: 'fileUpload',\r\n name: 'attachments',\r\n ctaText: uploadPage.buttonText,\r\n};\r\nconst buttonsBlock = new ButtonRow();\r\nbuttonsBlock.setConstraints({\r\n 'attachments.isUploading': {\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n});\r\nconst buttonsBlockDisabled = new ButtonRow();\r\nbuttonsBlockDisabled.setContinueButtonDisabled(true);\r\nbuttonsBlockDisabled.setContinueButtonText(uploadPage.uploading);\r\nbuttonsBlockDisabled.setContinueButtonState('default');\r\nbuttonsBlockDisabled.setConstraints({\r\n 'attachments.isUploading': {\r\n presence: true,\r\n inclusion: [true],\r\n },\r\n});\r\nconst photoControl = new Control('hidden', 'externalPhotoStep').setDefault(YES);\r\n\r\nconst externalPhotoStep = new Step('step', 'external-photos');\r\nexternalPhotoStep.addBlock(headingBlock);\r\nexternalPhotoStep.addBlock(infoBlock);\r\nexternalPhotoStep.addBlock(hintBlockExternal);\r\nexternalPhotoStep.addBlock(safetyBlockExternal);\r\nexternalPhotoStep.addBlock(tipsBlock);\r\nexternalPhotoStep.addBlock(uploadBlock);\r\nexternalPhotoStep.addBlock(buttonsBlock);\r\nexternalPhotoStep.addBlock(buttonsBlockDisabled);\r\nexternalPhotoStep.addBlock(photoControl);\r\nexternalPhotoStep.setIsContained(true);\r\nexternalPhotoStep.setTitle('External Photos');\r\n\r\nexternalPhotoStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL, INTERNAL],\r\n exclusion: [PUBLIC],\r\n },\r\n cleanIntstoptapInfoCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n cleanCondenInfoCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n internalInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n cleanOverflowInfoCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n cleanLeakingmeterInfoCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n cleanSupplyInfoCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n});\r\n\r\nexport { externalPhotoStep };\r\n","import { Step } from '../../../models';\r\nimport { INTERNAL, WATER_HARDNESS_URL } from '../../../../constants';\r\n\r\nexport const hardWaterRedirect = new Step('redirect', 'Hard Water Redirection', 'hard-water-redirect')\r\n .setRedirectUrl(WATER_HARDNESS_URL)\r\n .setConstraints({\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n },\r\n waterQualityIssue: {\r\n presence: true,\r\n inclusion: ['HARD_WATER'],\r\n },\r\n });\r\n","import { Step } from '../../../models';\r\nimport { INTERNAL, TASTE_SMELLS_URL } from '../../../../constants';\r\n\r\nexport const tasteSmellRedirect = new Step('redirect', 'taste-smell-redirect')\r\n .setRedirectUrl(TASTE_SMELLS_URL)\r\n .setConstraints({\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n },\r\n waterQualityIssue: {\r\n presence: true,\r\n inclusion: ['TASTE_OR_SMELL'],\r\n },\r\n });\r\n","import { Step } from '../../../models';\r\nimport { DISCOLOURED_WATER_URL, INTERNAL } from '../../../../constants';\r\n\r\nexport const discolouredRedirect = new Step('redirect', 'discoloured-redirect')\r\n .setRedirectUrl(DISCOLOURED_WATER_URL)\r\n .setConstraints({\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n },\r\n waterQualityIssue: {\r\n presence: true,\r\n inclusion: ['DISCOLOURED'],\r\n },\r\n });\r\n","import { Step } from '../../../models';\r\nimport { EXTERNAL, PUBLIC, DAMAGED_COVER, NO, MANHOLE_DRAIN_URL } from '../../../../constants';\r\n\r\nconst damagedCoverRedirect = new Step('redirect', 'damaged-cover-redirect');\r\ndamagedCoverRedirect.setRedirectUrl(MANHOLE_DRAIN_URL);\r\ndamagedCoverRedirect.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL, PUBLIC],\r\n },\r\n initialProblem: {\r\n presence: true,\r\n inclusion: [DAMAGED_COVER],\r\n },\r\n waterFromCover: {\r\n inclusion: [NO],\r\n },\r\n});\r\n\r\nexport { damagedCoverRedirect };\r\n","import { Step } from '../../../models';\r\nimport {\r\n INTERNAL,\r\n EXTERNAL,\r\n ODOUR,\r\n WATER_SUPPLY,\r\n SLOW_DRAINAGE,\r\n NO,\r\n NO_WATER,\r\n LOW_PRESSURE,\r\n CALLBACK_2_URL,\r\n} from '../../../../constants';\r\n\r\nexport const callbackRedirect = new Step('redirect', 'callback-redirect')\r\n .setRedirectUrl(CALLBACK_2_URL)\r\n .setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n },\r\n initialProblem: {\r\n inclusion: [WATER_SUPPLY],\r\n },\r\n supplyIssue: {\r\n inclusion: [NO_WATER, LOW_PRESSURE],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL, INTERNAL],\r\n },\r\n initialProblem: {\r\n inclusion: [ODOUR, SLOW_DRAINAGE],\r\n },\r\n waterFromCover: {\r\n exclusion: [NO],\r\n },\r\n },\r\n ]);\r\n","import {\r\n ButtonRow,\r\n Link,\r\n Heading,\r\n Hook,\r\n Message,\r\n Step,\r\n SummaryTable,\r\n SummaryTableRow,\r\n InfoBlock,\r\n Control,\r\n ColleagueSummary,\r\n} from '../../models';\r\nimport { NO, STEP_SUBMISSION_LOOKUP, YES } from '../../../constants';\r\nimport { summary } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', summary.heading);\r\nconst noResultMessageBlock = new Message('NO-RESULTS', summary.error);\r\nconst callbackMissedMessageBlock = new Message('CALLBACK-MISSED', summary.timePassed);\r\ncallbackMissedMessageBlock.setNextStep(summary.newTime, 'choose a new time', {\r\n target: 'appointment-day',\r\n});\r\nconst invalidMessageBlock = {\r\n id: 'alreadySubmittedBlock',\r\n type: 'message',\r\n message: summary.alreadySubmitted,\r\n state: 'error',\r\n renderHtml: true,\r\n nextSteps: [\r\n {\r\n text: summary.sameReport,\r\n },\r\n {\r\n text: summary.differentReport,\r\n },\r\n ],\r\n};\r\nconst hintBlock = new Message('step-hint', summary.sendTechnician).setState('info');\r\nconst contactInfoBlock = new InfoBlock('contact-info-heading', summary.givenDetails);\r\nconst contactNameRow = new SummaryTableRow('nameSummary', 'Name', '%{firstName} %{lastName}');\r\nconst emailSummaryRow = new SummaryTableRow('emailSummary', 'Email', '%{email}');\r\nconst telephoneSummaryRow = new SummaryTableRow('telephoneSummary', 'Telephone', '%{telephone}');\r\nconst contactSummaryBlock = new SummaryTable('contactSummary');\r\ncontactSummaryBlock.addRow(contactNameRow);\r\ncontactSummaryBlock.addRow(emailSummaryRow);\r\ncontactSummaryBlock.addRow(telephoneSummaryRow);\r\nconst changeDetailsLinkBlock = new Link('link-block', summary.changeDetails)\r\n .setEditSlug('contact-details')\r\n .setEditMode(true);\r\nconst hiddenStepControl = new Control('hidden', 'hasSubmitted').setDefault(false);\r\nconst hiddenStep2Control = new Control('hidden', 'problemSubmitted');\r\nconst buttonsBlock = new ButtonRow().setContinueButtonText(summary.confirm);\r\nconst buttonsBlockFailed = new ButtonRow().setContinueButtonText(summary.confirm);\r\nconst buttonsBlockDisabled = new ButtonRow().setContinueButtonText(summary.confirm).setContinueButtonDisabled(true);\r\nconst submitHook = new Hook(STEP_SUBMISSION_LOOKUP, '');\r\nconst colleagueSummary = new ColleagueSummary();\r\nconst colleagueSummaryValidControl = new Control('hidden', 'colleagueSummaryValid').setDefault(true);\r\n\r\nconst summaryStep = new Step('step', 'your-summary');\r\nsummaryStep.addBlock(headingBlock);\r\nsummaryStep.addBlock(noResultMessageBlock);\r\nsummaryStep.addBlock({\r\n type: 'textBlock',\r\n text: summary.location,\r\n name: 'locationDetails',\r\n});\r\nsummaryStep.addBlock(invalidMessageBlock);\r\nsummaryStep.addBlock(colleagueSummaryValidControl);\r\nsummaryStep.addBlock(hiddenStepControl);\r\nsummaryStep.addBlock(hiddenStep2Control);\r\nsummaryStep.addBlock(hintBlock);\r\nsummaryStep.addBlock(contactInfoBlock);\r\nsummaryStep.addBlock(contactSummaryBlock);\r\nsummaryStep.addBlock(changeDetailsLinkBlock);\r\nsummaryStep.addBlock(colleagueSummary);\r\nsummaryStep.addBlock(buttonsBlock);\r\nsummaryStep.addBlock(buttonsBlockDisabled);\r\nsummaryStep.addBlock(buttonsBlockFailed);\r\nsummaryStep.setIsContained(true);\r\nsummaryStep.hasRecaptcha = true;\r\nsummaryStep.exitHook = submitHook;\r\nsummaryStep.setTitle(summary.title);\r\n\r\nnoResultMessageBlock.setConstraints([\r\n {\r\n 'hooks.error': {\r\n presence: true,\r\n inclusion: [STEP_SUBMISSION_LOOKUP],\r\n },\r\n 'hooks.errorResponse.appointmentSlot': {\r\n inclusion: [undefined],\r\n },\r\n },\r\n]);\r\n\r\nsummaryStep.setValidation({\r\n colleagueSummaryValid: {\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n});\r\n\r\ncolleagueSummary.setConstraints({\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nbuttonsBlockDisabled.setConstraints({\r\n problemSubmitted: { inclusion: [true] },\r\n hasSubmitted: { presence: { AllowEmpty: true } },\r\n});\r\n\r\nbuttonsBlockFailed.setConstraints([\r\n {\r\n 'hooks.error': {\r\n presence: true,\r\n inclusion: [STEP_SUBMISSION_LOOKUP],\r\n },\r\n 'hooks.errorResponse.appointmentSlot': {\r\n inclusion: [undefined],\r\n },\r\n },\r\n]);\r\n\r\nsubmitHook.setValidation({\r\n appointmentSlot: { isFuture: true },\r\n});\r\n\r\nbuttonsBlock.setConstraints([\r\n {\r\n hasSubmitted: {\r\n inclusion: [true],\r\n },\r\n problemSubmitted: { inclusion: [''] },\r\n },\r\n]);\r\n\r\ncontactSummaryBlock.setConstraints([\r\n {\r\n firstName: {\r\n presence: true,\r\n },\r\n },\r\n {\r\n telephone: {\r\n presence: true,\r\n },\r\n },\r\n {\r\n email: {\r\n presence: true,\r\n },\r\n },\r\n]);\r\n\r\ninvalidMessageBlock.constraints = [\r\n {\r\n hasSubmitted: { presence: true },\r\n problemSubmitted: { inclusion: [true] },\r\n },\r\n];\r\n\r\ncallbackMissedMessageBlock.setConstraints([\r\n {\r\n 'hooks.error': {\r\n presence: true,\r\n inclusion: [STEP_SUBMISSION_LOOKUP],\r\n },\r\n 'hooks.errorResponse.appointmentSlot': {\r\n presence: true,\r\n },\r\n problemSubmitted: { inclusion: [''] },\r\n },\r\n]);\r\n\r\nsummaryStep.setConstraints({});\r\n\r\nexport { summaryStep };\r\n","import {\r\n MAIN_WEBSITE_URL,\r\n GARDEN,\r\n OUTBUILDING,\r\n PROPERTY,\r\n GULLY,\r\n WATERCOURSE,\r\n TOWARDS_WATERCOURSE,\r\n NO,\r\n YES,\r\n DECP_PROBLEM_SUBMIT_URL,\r\n} from '../../../constants';\r\nimport { backToMainWebsite, thankYouPollution } from '../../../constants/Copy';\r\nimport { Heading, InfoBlock, Step, Link, RedirectButton } from '../../models';\r\n\r\nconst headingBlock = new Heading('step-title', thankYouPollution.heading);\r\nconst thankYouInfoBlock1 = new InfoBlock('thank-you-block', thankYouPollution.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('what-next-heading', thankYouPollution.subHeading, 2).setSize('sm');\r\nconst thankYouInfoBlock2 = new InfoBlock('what-next-block', thankYouPollution.detail[1], 'p-b');\r\nconst mainSiteLink = new Link('main-website-link', backToMainWebsite).setLink(MAIN_WEBSITE_URL).setTarget('_self');\r\nconst colleagueButtonBlock = new RedirectButton(thankYouPollution.redirect, DECP_PROBLEM_SUBMIT_URL);\r\n\r\nconst thankYouPollutionStep = new Step('step', 'thank-you-pollution');\r\nthankYouPollutionStep.addBlock(headingBlock);\r\nthankYouPollutionStep.addBlock(thankYouInfoBlock1);\r\nthankYouPollutionStep.addBlock(headingBlock2);\r\nthankYouPollutionStep.addBlock(thankYouInfoBlock2);\r\nthankYouPollutionStep.addBlock(mainSiteLink);\r\nthankYouPollutionStep.addBlock(colleagueButtonBlock);\r\nthankYouPollutionStep.setIsContained(true);\r\nthankYouPollutionStep.setTitle(thankYouPollution.title);\r\n\r\nmainSiteLink.setConstraints({\r\n isColleagueMode: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\ncolleagueButtonBlock.setConstraints({\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nthankYouPollutionStep.setConstraints({\r\n wasteBoundaryEscapeLocation: {\r\n inclusion: [WATERCOURSE],\r\n exclusion: [PROPERTY, TOWARDS_WATERCOURSE, GULLY, GARDEN, OUTBUILDING],\r\n },\r\n problemSubmitted: {\r\n presence: {\r\n AllowEmpty: false,\r\n },\r\n },\r\n isWorkingHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n});\r\n\r\nexport { thankYouPollutionStep };\r\n","import { DECP_PROBLEM_SUBMIT_URL, FIX_LEAKS_URL, MAIN_WEBSITE_URL, NO, YES } from '../../../constants';\r\nimport { backToMainWebsite, howWeFixLeaks, thankYou } from '../../../constants/Copy';\r\nimport { Heading, InfoBlock, Step, Link, Control, RedirectButton } from '../../models';\r\n\r\nconst headingBlock = new Heading('step-title', thankYou.heading);\r\nconst thankYouInfoBlock1 = new InfoBlock('thank-you-block', thankYou.detail[0], 'p-b');\r\nconst thankYouInfoHeading2 = new Heading('what-next-heading', thankYou.subHeading, 2).setSize('md');\r\nconst thankYouInfoBlock2 = new InfoBlock('what-next-block', thankYou.detail[1]);\r\nconst thankYouInfoLink1 = new Link('main-website-link', howWeFixLeaks).setLink(FIX_LEAKS_URL, 'p-b').setTarget('_self');\r\nconst thankYouInfoLink2 = new Link('main-website-link', backToMainWebsite).setLink(MAIN_WEBSITE_URL).setTarget('_self');\r\nconst colleagueButtonBlock = new RedirectButton(thankYou.redirect, DECP_PROBLEM_SUBMIT_URL);\r\nconst hiddenStepControl = new Control('hidden', 'hasSubmitted');\r\nhiddenStepControl.setDefault(true);\r\n\r\nconst thankYouStep = new Step('step', 'thank-you');\r\nthankYouStep.addBlock(headingBlock);\r\nthankYouStep.addBlock(thankYouInfoBlock1);\r\nthankYouStep.addBlock(thankYouInfoHeading2);\r\nthankYouStep.addBlock(thankYouInfoBlock2);\r\nthankYouStep.addBlock(thankYouInfoLink2);\r\nthankYouStep.addBlock(hiddenStepControl);\r\nthankYouStep.addBlock(colleagueButtonBlock);\r\nthankYouStep.setIsContained(true);\r\nthankYouStep.setTitle(thankYou.title);\r\n\r\nthankYouInfoHeading2.setConstraints({\r\n isColleagueMode: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nthankYouInfoBlock2.setConstraints({\r\n isColleagueMode: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nthankYouInfoLink1.setConstraints({\r\n isColleagueMode: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nthankYouInfoLink2.setConstraints({\r\n isColleagueMode: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\ncolleagueButtonBlock.setConstraints({\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nthankYouStep.setConstraints({\r\n problemSubmitted: {\r\n presence: {\r\n AllowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { thankYouStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport {\r\n PUBLIC,\r\n OVERFLOW_PIPE,\r\n COVER,\r\n METER,\r\n GROUND,\r\n INTERNAL,\r\n MAIN_WEBSITE_URL,\r\n LOCAL_PLUMBER_URL,\r\n GET_IN_TOUCH_URL,\r\n NO,\r\n YES,\r\n} from '../../../../constants';\r\nimport { backToMainWebsite, cleanOverflowInformation, localPlumber } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', cleanOverflowInformation.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanOverflowInformation.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', cleanOverflowInformation.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanOverflowInformation.detail[1]);\r\nconst linkBlock1 = new Link('link-block1', localPlumber).setLink(LOCAL_PLUMBER_URL).setTarget('_self');\r\nconst infoBlock3 = new InfoBlock('info-block4', cleanOverflowInformation.detail[2]);\r\nconst linkBlock2 = new Link('link-block2', cleanOverflowInformation.getInTouch)\r\n .setLink(GET_IN_TOUCH_URL)\r\n .setTarget('_self');\r\nconst linkBlock = new Link('link-block', backToMainWebsite, 'p-t')\r\n .setLink(MAIN_WEBSITE_URL)\r\n .setTarget('_self')\r\n .setFormat(true);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst overflowPipeOffRampStep = new Step('step', 'clean-overflow-info');\r\noverflowPipeOffRampStep.setIsContained(true);\r\noverflowPipeOffRampStep.addBlock(headingBlock);\r\noverflowPipeOffRampStep.addBlock(infoBlock);\r\noverflowPipeOffRampStep.addBlock(headingBlock2);\r\noverflowPipeOffRampStep.addBlock(infoBlock2);\r\noverflowPipeOffRampStep.addBlock(linkBlock1);\r\noverflowPipeOffRampStep.addBlock(infoBlock3);\r\noverflowPipeOffRampStep.addBlock(linkBlock2);\r\noverflowPipeOffRampStep.addBlock(linkBlock);\r\noverflowPipeOffRampStep.addBlock(buttonsBlock);\r\noverflowPipeOffRampStep.setTitle(cleanOverflowInformation.title);\r\n\r\noverflowPipeOffRampStep.setConstraints({\r\n externalWaterOrigin: {\r\n inclusion: [OVERFLOW_PIPE],\r\n exclusion: [COVER, METER, GROUND],\r\n },\r\n initialLocation: {\r\n exclusion: [PUBLIC, INTERNAL],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nexport { overflowPipeOffRampStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n METER,\r\n PIPE_MEETS_METER,\r\n STOPTAP,\r\n INSIDE,\r\n OUTSIDE,\r\n EXTERNAL,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n INTERNAL,\r\n PUBLIC,\r\n MAIN_WEBSITE_URL,\r\n LOCAL_PLUMBER_URL,\r\n} from '../../../../constants';\r\nimport { backToMainWebsite, cleanCondenInfo, localPlumber } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', cleanCondenInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanCondenInfo.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', cleanCondenInfo.subHeading1, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanCondenInfo.detail[1], 'p-b');\r\nconst headingBlock3 = new Heading('step-heading2', cleanCondenInfo.subHeading3, 2).setSize('md');\r\nconst infoBlock3 = new InfoBlock('info-block3', cleanCondenInfo.detail[2], 'p-b');\r\nconst headingBlock4 = new Heading('step-heading2', cleanCondenInfo.subHeading2, 2).setSize('md');\r\nconst infoBlock4 = new InfoBlock('info-block4', cleanCondenInfo.detail[3]);\r\nconst infoBlock5 = new InfoBlock('info-block5', cleanCondenInfo.detail[4]);\r\nconst infoBlock6 = new InfoBlock('info-block6', cleanCondenInfo.detail[5]);\r\nconst infoBlock7 = new InfoBlock('info-block7', cleanCondenInfo.detail[6]);\r\nconst linkBlock1 = new Link('link-block1', localPlumber).setLink(LOCAL_PLUMBER_URL).setTarget('_self');\r\nconst linkBlock2 = new Link('link-block', backToMainWebsite, 'p-t')\r\n .setLink(MAIN_WEBSITE_URL)\r\n .setTarget('_self')\r\n .setFormat(true);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst meterCondensationInfoStep = new Step('step', 'clean-conden-info');\r\nmeterCondensationInfoStep.setIsContained(true);\r\nmeterCondensationInfoStep.addBlock(headingBlock);\r\nmeterCondensationInfoStep.addBlock(infoBlock);\r\nmeterCondensationInfoStep.addBlock(headingBlock2);\r\nmeterCondensationInfoStep.addBlock(infoBlock2);\r\nmeterCondensationInfoStep.addBlock(headingBlock3);\r\nmeterCondensationInfoStep.addBlock(infoBlock3);\r\nmeterCondensationInfoStep.addBlock(headingBlock4);\r\nmeterCondensationInfoStep.addBlock(infoBlock4);\r\nmeterCondensationInfoStep.addBlock(infoBlock5);\r\nmeterCondensationInfoStep.addBlock(infoBlock6);\r\nmeterCondensationInfoStep.addBlock(infoBlock7);\r\nmeterCondensationInfoStep.addBlock(linkBlock1);\r\nmeterCondensationInfoStep.addBlock(linkBlock2);\r\nmeterCondensationInfoStep.addBlock(buttonsBlock);\r\nmeterCondensationInfoStep.setTitle(cleanCondenInfo.title);\r\n\r\nmeterCondensationInfoStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n inclusion: [METER],\r\n },\r\n cleanMeterInternal: {\r\n inclusion: [METER],\r\n exclusion: [PIPE_MEETS_METER, STOPTAP, UNSURE],\r\n },\r\n cleanCondenConfirm: {\r\n inclusion: [NO],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n cleanCondenConfirm: {\r\n inclusion: [NO],\r\n },\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [INSIDE],\r\n exclusion: [OUTSIDE],\r\n },\r\n cleanMeterInternal: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [PIPE_MEETS_METER, STOPTAP, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { meterCondensationInfoStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport { FIX_LEAKS_URL, YES, MAIN_WEBSITE_URL, NO } from '../../../../constants';\r\nimport { backToMainWebsite, howWeFixLeaks, rtimInformation } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', rtimInformation.heading);\r\nconst infoBlock = new InfoBlock('info-block', rtimInformation.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', rtimInformation.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', rtimInformation.detail[1]);\r\nconst linkBlock1 = new Link('link-block1', howWeFixLeaks).setLink(FIX_LEAKS_URL).setTarget('_self');\r\nconst linkBlock2 = new Link('link-block2', backToMainWebsite, 'p-t').setLink(MAIN_WEBSITE_URL).setTarget('_self');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst rtimOffRampStep = new Step('step', 'rtim-information');\r\nrtimOffRampStep.setIsContained(true);\r\nrtimOffRampStep.addBlock(headingBlock);\r\nrtimOffRampStep.addBlock(infoBlock);\r\nrtimOffRampStep.addBlock(headingBlock2);\r\nrtimOffRampStep.addBlock(infoBlock2);\r\nrtimOffRampStep.addBlock(linkBlock1);\r\nrtimOffRampStep.addBlock(linkBlock2);\r\nrtimOffRampStep.addBlock(buttonsBlock);\r\nrtimOffRampStep.setTitle(rtimInformation.title);\r\n\r\nrtimOffRampStep.setConstraints({\r\n incidentResults: {\r\n inclusion: [YES],\r\n },\r\n incidentTotal: {\r\n presence: true,\r\n numericality: {\r\n greaterThan: 0,\r\n },\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nexport { rtimOffRampStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n EXTERNAL,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n METER,\r\n MAIN_WEBSITE_URL,\r\n LOCAL_PLUMBER_URL,\r\n} from '../../../../constants';\r\nimport { cleanSupplyInfo, backToMainWebsite, localPlumber } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', cleanSupplyInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanSupplyInfo.detail[0]);\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanSupplyInfo.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', cleanSupplyInfo.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', cleanSupplyInfo.detail[3]);\r\nconst infoBlock5 = new InfoBlock('info-block5', cleanSupplyInfo.detail[4]);\r\nconst linkBlock1 = new Link('link-block1', localPlumber).setLink(LOCAL_PLUMBER_URL).setTarget('_self');\r\nconst linkBlock = new Link('link-block', backToMainWebsite, 'p-t')\r\n .setLink(MAIN_WEBSITE_URL)\r\n .setTarget('_self')\r\n .setFormat(true);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanSupplyOffRampStep = new Step('step', 'clean-supply-info');\r\ncleanSupplyOffRampStep.setIsContained(true);\r\ncleanSupplyOffRampStep.addBlock(headingBlock);\r\ncleanSupplyOffRampStep.addBlock(infoBlock);\r\ncleanSupplyOffRampStep.addBlock(infoBlock2);\r\ncleanSupplyOffRampStep.addBlock(infoBlock3);\r\ncleanSupplyOffRampStep.addBlock(infoBlock4);\r\ncleanSupplyOffRampStep.addBlock(infoBlock5);\r\ncleanSupplyOffRampStep.addBlock(linkBlock1);\r\ncleanSupplyOffRampStep.addBlock(linkBlock);\r\ncleanSupplyOffRampStep.addBlock(buttonsBlock);\r\ncleanSupplyOffRampStep.setTitle(cleanSupplyInfo.title);\r\n\r\ncleanSupplyOffRampStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [COVER, METER, OVERFLOW_PIPE],\r\n },\r\n eligibility: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nexport { cleanSupplyOffRampStep };\r\n","import {\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n PUBLIC,\r\n MAIN_WEBSITE_URL,\r\n} from '../../../constants';\r\nimport { backToMainWebsite, nonHousehold } from '../../../constants/Copy';\r\nimport { Heading, Step, ButtonRow, Link, InfoBlock, Message } from '../../models';\r\n\r\nconst headingBlock = new Heading('step-heading', nonHousehold.heading);\r\nconst hintBlock = new Message('step-hint', nonHousehold.hint).setState('info');\r\nconst headingBlock2 = new Heading('step-heading2', nonHousehold.subHeading, 2).setSize('md');\r\nconst infoBlock = new InfoBlock('info-block', nonHousehold.detail[0]);\r\nconst infoBlock2 = new InfoBlock('info-block2', nonHousehold.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', nonHousehold.detail[2]);\r\nconst linkBlock = new Link('link-block', backToMainWebsite, 'p-t')\r\n .setLink(MAIN_WEBSITE_URL)\r\n .setTarget('_self')\r\n .setFormat(true);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nonHouseholdStep = new Step('step', 'non-household');\r\nnonHouseholdStep.setIsContained(true);\r\nnonHouseholdStep.addBlock(headingBlock);\r\nnonHouseholdStep.addBlock({\r\n type: 'textBlock',\r\n text: nonHousehold.location,\r\n name: 'locationDetails',\r\n});\r\nnonHouseholdStep.addBlock(hintBlock);\r\nnonHouseholdStep.addBlock(headingBlock2);\r\nnonHouseholdStep.addBlock(infoBlock);\r\nnonHouseholdStep.addBlock(infoBlock2);\r\nnonHouseholdStep.addBlock(infoBlock3);\r\nnonHouseholdStep.addBlock(linkBlock);\r\nnonHouseholdStep.addBlock(buttonsBlock);\r\nnonHouseholdStep.setTitle(nonHousehold.title);\r\n\r\nnonHouseholdStep.setConstraints({\r\n initialLocation: {\r\n exclusion: [PUBLIC],\r\n },\r\n locateMethod: {\r\n exclusion: [LOCATION_METHOD_MAP_SEARCH, LOCATION_METHOD_CURRENT_LOCATION],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n exclusion: ['N'],\r\n },\r\n isCommercial: {\r\n inclusion: [true],\r\n exclusion: [false, undefined],\r\n },\r\n});\r\n\r\nexport { nonHouseholdStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport {\r\n METER,\r\n PIPE_MEETS_METER,\r\n STOPTAP,\r\n UNSURE,\r\n INSIDE,\r\n OUTSIDE,\r\n INTERNAL,\r\n EXTERNAL,\r\n NO,\r\n YES,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n PUBLIC,\r\n PLUMBING,\r\n MAIN_WEBSITE_URL,\r\n LOCAL_PLUMBER_URL,\r\n} from '../../../../constants';\r\nimport { backToMainWebsite, cleanIntStopTapInfo, localPlumber } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', cleanIntStopTapInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanIntStopTapInfo.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', cleanIntStopTapInfo.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanIntStopTapInfo.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', cleanIntStopTapInfo.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', cleanIntStopTapInfo.detail[3]);\r\nconst linkBlock = new Link('link-block', localPlumber).setLink(LOCAL_PLUMBER_URL).setTarget('_self');\r\nconst linkBlock2 = new Link('link-block2', backToMainWebsite).setLink(MAIN_WEBSITE_URL).setTarget('_self');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanInternalStopTapInfoStep = new Step('step', 'clean-intstoptap-info');\r\ncleanInternalStopTapInfoStep.setIsContained(true);\r\ncleanInternalStopTapInfoStep.addBlock(headingBlock);\r\ncleanInternalStopTapInfoStep.addBlock(infoBlock);\r\ncleanInternalStopTapInfoStep.addBlock(headingBlock2);\r\ncleanInternalStopTapInfoStep.addBlock(infoBlock2);\r\ncleanInternalStopTapInfoStep.addBlock(infoBlock3);\r\ncleanInternalStopTapInfoStep.addBlock(infoBlock4);\r\ncleanInternalStopTapInfoStep.addBlock(linkBlock);\r\ncleanInternalStopTapInfoStep.addBlock(linkBlock2);\r\ncleanInternalStopTapInfoStep.addBlock(buttonsBlock);\r\ncleanInternalStopTapInfoStep.setTitle(cleanIntStopTapInfo.title);\r\n\r\ncleanInternalStopTapInfoStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n },\r\n cleanMeterInternal: {\r\n presence: true,\r\n inclusion: [STOPTAP],\r\n exclusion: [METER, PIPE_MEETS_METER, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [PLUMBING],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [INSIDE],\r\n exclusion: [OUTSIDE],\r\n },\r\n cleanMeterInternal: {\r\n presence: true,\r\n inclusion: [STOPTAP],\r\n exclusion: [METER, PIPE_MEETS_METER, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanInternalStopTapInfoStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport {\r\n EXTERNAL,\r\n NO,\r\n YES,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n METER,\r\n MAIN_WEBSITE_URL,\r\n LOCAL_PLUMBER_URL,\r\n} from '../../../../constants';\r\nimport { backToMainWebsite, cleanLeakingMeterInfo, localPlumber } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', cleanLeakingMeterInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanLeakingMeterInfo.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', cleanLeakingMeterInfo.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanLeakingMeterInfo.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', cleanLeakingMeterInfo.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', cleanLeakingMeterInfo.detail[3]);\r\nconst linkBlock = new Link('link-block', localPlumber).setLink(LOCAL_PLUMBER_URL).setTarget('_self');\r\nconst linkBlock2 = new Link('link-block2', backToMainWebsite).setLink(MAIN_WEBSITE_URL).setTarget('_self');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanLeakingMeterInfoStep = new Step('step', 'clean-leakingmeter-info');\r\ncleanLeakingMeterInfoStep.setIsContained(true);\r\ncleanLeakingMeterInfoStep.addBlock(headingBlock);\r\ncleanLeakingMeterInfoStep.addBlock(infoBlock);\r\ncleanLeakingMeterInfoStep.addBlock(headingBlock2);\r\ncleanLeakingMeterInfoStep.addBlock(infoBlock2);\r\ncleanLeakingMeterInfoStep.addBlock(infoBlock3);\r\ncleanLeakingMeterInfoStep.addBlock(infoBlock4);\r\ncleanLeakingMeterInfoStep.addBlock(linkBlock);\r\ncleanLeakingMeterInfoStep.addBlock(linkBlock2);\r\ncleanLeakingMeterInfoStep.addBlock(buttonsBlock);\r\ncleanLeakingMeterInfoStep.setTitle(cleanLeakingMeterInfo.title);\r\n\r\ncleanLeakingMeterInfoStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nexport { cleanLeakingMeterInfoStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport {\r\n LOCAL_PLUMBER_URL,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n MAIN_WEBSITE_URL,\r\n OTHER,\r\n PIPE_RESPONSIBILITY_URL,\r\n NO,\r\n YES,\r\n} from '../../../../constants';\r\nimport { backToMainWebsite, internalInformation, localPlumber, pipeResponsibility } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', internalInformation.heading);\r\nconst infoBlock = new InfoBlock('info-block', internalInformation.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', internalInformation.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', internalInformation.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', internalInformation.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', internalInformation.detail[3]);\r\nconst linkBlock1 = new Link('link-block3', pipeResponsibility).setLink(PIPE_RESPONSIBILITY_URL).setTarget('_self');\r\nconst linkBlock2 = new Link('link-block4', localPlumber).setLink(LOCAL_PLUMBER_URL).setTarget('_self');\r\nconst linkBlock = new Link('link-block', backToMainWebsite, 'p-t')\r\n .setLink(MAIN_WEBSITE_URL)\r\n .setTarget('_self')\r\n .setFormat(true);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst internalOffRampStep = new Step('step', 'internal-information');\r\ninternalOffRampStep.setIsContained(true);\r\ninternalOffRampStep.addBlock(headingBlock);\r\ninternalOffRampStep.addBlock(infoBlock);\r\ninternalOffRampStep.addBlock(headingBlock2);\r\ninternalOffRampStep.addBlock(infoBlock2);\r\ninternalOffRampStep.addBlock(infoBlock3);\r\ninternalOffRampStep.addBlock(infoBlock4);\r\ninternalOffRampStep.addBlock(linkBlock1);\r\ninternalOffRampStep.addBlock(linkBlock2);\r\ninternalOffRampStep.addBlock(linkBlock);\r\ninternalOffRampStep.addBlock(buttonsBlock);\r\ninternalOffRampStep.setTitle(internalInformation.title);\r\n\r\ninternalOffRampStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nexport { internalOffRampStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../models';\r\nimport { INTERNAL, EXTERNAL, PUBLIC } from '../../../constants';\r\nimport { initialLocationWaste } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', initialLocationWaste.heading);\r\nconst initialLocationWasteControl = new Control('question', 'initialLocationWaste');\r\ninitialLocationWasteControl.setLabel(initialLocationWaste.heading);\r\ninitialLocationWasteControl.addOption(initialLocationWaste.internal, INTERNAL, 'IconFloodHouseInternal');\r\ninitialLocationWasteControl.addOption(initialLocationWaste.external, EXTERNAL, 'IconFloodHouseExternal');\r\ninitialLocationWasteControl.addOption(initialLocationWaste.public, PUBLIC, 'IconPublicArea');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst initialLocationWasteStep = new Step('step', 'initial-location-waste');\r\ninitialLocationWasteStep.addBlock(headingBlock);\r\ninitialLocationWasteStep.addBlock(initialLocationWasteControl);\r\ninitialLocationWasteStep.addBlock(buttonsBlock);\r\ninitialLocationWasteStep.setTitle(initialLocationWaste.title);\r\n\r\ninitialLocationWasteStep.setConstraints({\r\n isWasteInitial: {\r\n inclusion: [true],\r\n },\r\n isCleanInitial: {\r\n exclusion: [true],\r\n },\r\n isNwlpInitial: {\r\n exclusion: [true],\r\n },\r\n});\r\n\r\nexport { initialLocationWasteStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport { EXTERNAL, INTERNAL, PUBLIC, COVER, DRAIN, GROUND, ODOUR } from '../../../constants';\r\nimport { wasteOriginBoundary } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteOriginBoundary.heading);\r\nconst wasteOriginBoundaryControl = new Control('question', 'wasteOriginBoundary');\r\nwasteOriginBoundaryControl.setLabel(wasteOriginBoundary.heading);\r\nwasteOriginBoundaryControl.addOption(wasteOriginBoundary.cover, COVER, 'IconCover');\r\nwasteOriginBoundaryControl.addOption(wasteOriginBoundary.ground, GROUND, 'IconGround');\r\nwasteOriginBoundaryControl.addOption(wasteOriginBoundary.odour, ODOUR, 'IconBadSmell');\r\nwasteOriginBoundaryControl.addOption(wasteOriginBoundary.blocked, DRAIN, 'IconInternalBlockage');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteOriginBoundaryStep = new Step('step', 'waste-origin-boundary');\r\nwasteOriginBoundaryStep.addBlock(headingBlock);\r\nwasteOriginBoundaryStep.addBlock(wasteOriginBoundaryControl);\r\nwasteOriginBoundaryStep.addBlock(buttonsBlock);\r\nwasteOriginBoundaryStep.setTitle(wasteOriginBoundary.title);\r\n\r\nwasteOriginBoundaryStep.setConstraints({\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n});\r\n\r\nexport { wasteOriginBoundaryStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport { EXTERNAL, INTERNAL, PUBLIC, COVER, GROUND, ODOUR, POLLUTION } from '../../../../constants';\r\nimport { wasteExternalOrigin } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteExternalOrigin.heading);\r\nconst wasteExternalOriginControl = new Control('question', 'wasteExternalOrigin');\r\nwasteExternalOriginControl.setLabel(wasteExternalOrigin.heading);\r\nwasteExternalOriginControl.addOption(wasteExternalOrigin.ground, GROUND, 'IconGround');\r\nwasteExternalOriginControl.addOption(wasteExternalOrigin.odour, ODOUR, 'IconBadSmell');\r\nwasteExternalOriginControl.addOption(wasteExternalOrigin.pollution, POLLUTION, 'IconPollution2');\r\nwasteExternalOriginControl.addOption(wasteExternalOrigin.cover, COVER, 'IconCover');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteExternalOriginStep = new Step('step', 'waste-external-origin');\r\nwasteExternalOriginStep.addBlock(headingBlock);\r\nwasteExternalOriginStep.addBlock(wasteExternalOriginControl);\r\nwasteExternalOriginStep.addBlock(buttonsBlock);\r\nwasteExternalOriginStep.setTitle(wasteExternalOrigin.title);\r\n\r\nwasteExternalOriginStep.setConstraints({\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n});\r\n\r\nexport { wasteExternalOriginStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n STEP_MAP_SEARCH_LOOKUP,\r\n SQUARE,\r\n GULLY,\r\n OTHER,\r\n METER,\r\n STOPTAP,\r\n SLUICE_VALVE,\r\n GUSHING,\r\n BLOCKED,\r\n FARM,\r\n GAS,\r\n CHEMICAL,\r\n DRAIN,\r\n BOTH,\r\n NONE,\r\n INTERMITTENT,\r\n CONSTANT,\r\n} from '../../../../constants';\r\nimport { externalRoughLocation } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', externalRoughLocation.heading);\r\nconst locateMethodControl = new Control('hidden', 'locateMethod').setDefault(LOCATION_METHOD_MAP_SEARCH);\r\nconst noResultMessageBlock = {\r\n id: 'NO-RESULTS',\r\n type: 'message',\r\n message: externalRoughLocation.noLocations,\r\n state: 'error',\r\n nextSteps: [\r\n {\r\n text: externalRoughLocation.searchTerm,\r\n },\r\n {\r\n text: externalRoughLocation.ywArea,\r\n },\r\n {\r\n text: externalRoughLocation.currentLocation,\r\n stepForwardParams: { target: 'map', params: { locateMethod: LOCATION_METHOD_CURRENT_LOCATION } },\r\n stepForwardText: externalRoughLocation.currentLocation,\r\n },\r\n ],\r\n};\r\nnoResultMessageBlock.constraints = [\r\n {\r\n 'hooks.error': {\r\n presence: true,\r\n inclusion: [STEP_MAP_SEARCH_LOOKUP],\r\n },\r\n },\r\n];\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst externalRoughLocationStep = new Step('step', 'external-rough-location');\r\nexternalRoughLocationStep.addBlock(headingBlock);\r\nexternalRoughLocationStep.addBlock(locateMethodControl);\r\nexternalRoughLocationStep.addBlock(noResultMessageBlock);\r\nexternalRoughLocationStep.addBlock({ type: 'mapSearch', name: 'mapSearch' });\r\nexternalRoughLocationStep.addBlock(buttonsBlock);\r\nexternalRoughLocationStep.exitHook = new Hook(STEP_MAP_SEARCH_LOOKUP, 'mapSearch');\r\nexternalRoughLocationStep.setIsContained(true);\r\nexternalRoughLocationStep.setTitle(externalRoughLocation.title);\r\n\r\nexternalRoughLocationStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [POLLUTION],\r\n exclusion: [ODOUR, GROUND, COVER],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND, POLLUTION],\r\n exclusion: [ODOUR, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [CLEAN, WASTE],\r\n exclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [WASTE, CLEAN],\r\n exclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES, NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [FARM],\r\n exclusion: [GAS, CHEMICAL, DRAIN],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [DRAIN, BLOCKED, BOTH],\r\n exclusion: [NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourFrequency: {\r\n inclusion: [CONSTANT, INTERMITTENT],\r\n exclusion: [],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SQUARE, SLUICE_VALVE, STOPTAP, METER, OTHER],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [BLOCKED],\r\n exclusion: [GUSHING],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nexternalRoughLocationStep.setValidation({\r\n mapSearch: {\r\n presence: {\r\n allowEmpty: false,\r\n message: externalRoughLocation.validation,\r\n },\r\n },\r\n});\r\n\r\nexport { externalRoughLocationStep };\r\n","import { Heading, Control, Step, ButtonRow } from '../../../models';\r\nimport { INTERNAL, PUBLIC, EXTERNAL, HOUSE, ODOUR, BATHROOM, KITCHEN } from '../../../../constants';\r\nimport { wasteOriginInternal } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', wasteOriginInternal.heading);\r\nconst wasteOriginInternalControl = new Control('question', 'wasteOriginInternal');\r\nwasteOriginInternalControl.setLabel(wasteOriginInternal.heading);\r\nwasteOriginInternalControl.addOption(wasteOriginInternal.house, HOUSE, 'IconFloodHouseInternal');\r\nwasteOriginInternalControl.addOption(wasteOriginInternal.odour, ODOUR, 'IconBadSmell');\r\nwasteOriginInternalControl.addOption(wasteOriginInternal.bathroom, BATHROOM, 'IconInternalBlockage');\r\nwasteOriginInternalControl.addOption(wasteOriginInternal.kitchen, KITCHEN, 'IconWashingMachine2');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteOriginInternalStep = new Step('step', 'waste-origin-internal');\r\nwasteOriginInternalStep.addBlock(headingBlock);\r\nwasteOriginInternalStep.addBlock(wasteOriginInternalControl);\r\nwasteOriginInternalStep.addBlock(buttonsBlock);\r\nwasteOriginInternalStep.setTitle(wasteOriginInternal.title);\r\n\r\nwasteOriginInternalStep.setConstraints({\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n});\r\n\r\nexport { wasteOriginInternalStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n} from '../../../constants';\r\nimport { wasteCoverBoundary, images } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteCoverBoundary.heading);\r\nconst coverTypeControl = new Control('question', 'wasteExternalCoverType');\r\ncoverTypeControl.setLabel(wasteCoverBoundary.heading);\r\ncoverTypeControl.setDefault('');\r\ncoverTypeControl.addOption(wasteCoverBoundary.grate, GRATE, null, false, false, images.gully);\r\ncoverTypeControl.addOption(wasteCoverBoundary.largeSquare, SQUARE, null, false, false, images.squareSewage);\r\ncoverTypeControl.addOption(wasteCoverBoundary.rectangle, SLUICE_VALVE, null, false, false, images.sluiceRectangle);\r\ncoverTypeControl.addOption(wasteCoverBoundary.smallSquare, STOPTAP, null, false, false, images.sluiceSquare);\r\ncoverTypeControl.addOption(wasteCoverBoundary.circle, METER, null, false, false, images.meter);\r\ncoverTypeControl.addOption(wasteCoverBoundary.other, OTHER, 'IconQuestion', false, false, null);\r\ncoverTypeControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteCoverBoundaryStep = new Step('step', 'waste-cover-boundary');\r\nwasteCoverBoundaryStep.addBlock(headingBlock);\r\nwasteCoverBoundaryStep.addBlock(coverTypeControl);\r\nwasteCoverBoundaryStep.addBlock(buttonsBlock);\r\nwasteCoverBoundaryStep.setTitle(wasteCoverBoundary.title);\r\n\r\nwasteCoverBoundaryStep.setConstraints({\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n});\r\n\r\nexport { wasteCoverBoundaryStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GULLY,\r\n GRATE,\r\n SQUARE,\r\n GUSHING,\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n TRICKLING,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../../constants';\r\nimport { cleanBoundarySeverity } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanBoundarySeverity.heading);\r\nconst cleanBoundarySeverityControl = new Control('question', 'cleanBoundarySeverity');\r\ncleanBoundarySeverityControl.setLabel(cleanBoundarySeverity.heading);\r\ncleanBoundarySeverityControl.addOption(cleanBoundarySeverity.yes, GUSHING, 'IconGushing', false, GUSHING);\r\ncleanBoundarySeverityControl.addOption(cleanBoundarySeverity.no, TRICKLING, 'IconCross', false, TRICKLING);\r\ncleanBoundarySeverityControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanBoundarySeverityStep = new Step('step', 'clean-boundary-severity');\r\ncleanBoundarySeverityStep.addBlock(headingBlock);\r\ncleanBoundarySeverityStep.addBlock(cleanBoundarySeverityControl);\r\ncleanBoundarySeverityStep.addBlock(buttonsBlock);\r\ncleanBoundarySeverityStep.setTitle(cleanBoundarySeverity.title);\r\n\r\ncleanBoundarySeverityStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n presence: true,\r\n inclusion: [METER, SLUICE_VALVE, STOPTAP],\r\n exclusion: [OTHER, GRATE, SQUARE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [UNSURE, WASTE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [UNSURE, WASTE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanBoundarySeverityStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n ACCIDENT,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n GULLY,\r\n GUSHING,\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n NONE,\r\n PROPERTY_DAMAGE,\r\n TRICKLING,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../../constants';\r\nimport { cleanBoundaryRisk } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanBoundaryRisk.heading);\r\nconst cleanBoundaryRiskControl = new Control('question', 'cleanBoundaryRisk');\r\ncleanBoundaryRiskControl.setLabel(cleanBoundaryRisk.heading);\r\ncleanBoundaryRiskControl.setDefault('');\r\ncleanBoundaryRiskControl.addOption(cleanBoundaryRisk.propertyDamage, PROPERTY_DAMAGE, 'IconHouse');\r\ncleanBoundaryRiskControl.addOption(cleanBoundaryRisk.accident, ACCIDENT, 'IconAccessWalking');\r\ncleanBoundaryRiskControl.addOption(cleanBoundaryRisk.both, BOTH, 'IconPropertyAccess');\r\ncleanBoundaryRiskControl.addOption(cleanBoundaryRisk.none, NONE, 'IconCross');\r\ncleanBoundaryRiskControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanBoundaryRiskStep = new Step('step', 'clean-boundary-risk');\r\ncleanBoundaryRiskStep.addBlock(headingBlock);\r\ncleanBoundaryRiskStep.addBlock(cleanBoundaryRiskControl);\r\ncleanBoundaryRiskStep.addBlock(buttonsBlock);\r\ncleanBoundaryRiskStep.setIsContained(false);\r\ncleanBoundaryRiskStep.setTitle(cleanBoundaryRisk.title);\r\n\r\ncleanBoundaryRiskStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n presence: true,\r\n inclusion: [METER, OTHER, SLUICE_VALVE, STOPTAP],\r\n exclusion: [GRATE, SQUARE],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [UNSURE, WASTE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [UNSURE, WASTE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n]);\r\n\r\ncleanBoundaryRiskStep.setValidation({\r\n cleanBoundaryRisk: {\r\n presence: {\r\n message: 'Please select at least one',\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { cleanBoundaryRiskStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n ACCIDENT,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n GUSHING,\r\n NONE,\r\n PROPERTY_DAMAGE,\r\n TRICKLING,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n} from '../../../constants';\r\nimport { cleanBoundaryAccessSupply } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', cleanBoundaryAccessSupply.heading);\r\nconst cleanBoundaryAccessSupplyControl = new Control('question', 'cleanBoundaryAccessSupply');\r\ncleanBoundaryAccessSupplyControl.setLabel(cleanBoundaryAccessSupply.heading);\r\ncleanBoundaryAccessSupplyControl.labelOff();\r\ncleanBoundaryAccessSupplyControl.addOption(cleanBoundaryAccessSupply.yes, YES, 'IconAccessWalking');\r\ncleanBoundaryAccessSupplyControl.addOption(cleanBoundaryAccessSupply.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst cleanBoundaryAccessSupplyStep = new Step('step', 'clean-boundary-access-supply');\r\ncleanBoundaryAccessSupplyStep.addBlock(headingBlock);\r\ncleanBoundaryAccessSupplyStep.addBlock(cleanBoundaryAccessSupplyControl);\r\ncleanBoundaryAccessSupplyStep.addBlock(buttonsBlock);\r\ncleanBoundaryAccessSupplyStep.setTitle(cleanBoundaryAccessSupply.title);\r\n\r\ncleanBoundaryAccessSupplyStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [METER, OTHER, SLUICE_VALVE, STOPTAP],\r\n exclusion: [GRATE, SQUARE],\r\n },\r\n cleanBoundarySeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanBoundarySeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n cleanBoundarySeverity: {\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanBoundaryAccessSupplyStep };\r\n","import { Accordion, ButtonRow, Heading, Message, Step, Control, InfoBlock } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n ACCESS,\r\n ACCIDENT,\r\n BOTH,\r\n OWNER,\r\n YORKSHIREWATER,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n GULLY,\r\n DAMP,\r\n GUSHING,\r\n LARGE,\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n MEDIUM,\r\n NONE,\r\n PROPERTY_DAMAGE,\r\n SMALL,\r\n TRICKLING,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n HOUSE,\r\n PRIVATE,\r\n ODOUR,\r\n POLLUTION,\r\n BLOCKED,\r\n WATERCOURSE,\r\n TOWARDS_WATERCOURSE,\r\n PROPERTY,\r\n OUTBUILDING,\r\n GARDEN,\r\n POOLING,\r\n FARM,\r\n CHEMICAL,\r\n GAS,\r\n BATHROOM,\r\n KITCHEN,\r\n} from '../../../../constants';\r\nimport { uploadPage } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', uploadPage.heading);\r\nconst infoBlock = new InfoBlock('step-info', uploadPage.subHeader);\r\nconst hintBlockPublic = new Message('step-hint', uploadPage.calloutBoxTop).setState('info');\r\nconst safetyBlockExternal = new Message('step-hint', uploadPage.calloutBoxSafety).setState('warning');\r\nconst tipsBlock = new Accordion('accordion-photos', uploadPage.accordionHeader).setContent(uploadPage.accordionBody);\r\nconst uploadBlock = {\r\n id: 'image-upload',\r\n type: 'fileUpload',\r\n name: 'attachments',\r\n ctaText: uploadPage.buttonText,\r\n};\r\nconst buttonsBlock = new ButtonRow();\r\nconst buttonsBlockDisabled = new ButtonRow();\r\nbuttonsBlockDisabled.setContinueButtonDisabled(true);\r\nbuttonsBlockDisabled.setContinueButtonText('Uploading');\r\nbuttonsBlockDisabled.setContinueButtonState('default');\r\nconst wastePhotoControl = new Control('hidden', 'wastePhotoStep').setDefault(YES);\r\n\r\nconst wastePhotoStep = new Step('step', 'waste-photos');\r\nwastePhotoStep.addBlock(headingBlock);\r\nwastePhotoStep.addBlock(infoBlock);\r\nwastePhotoStep.addBlock(hintBlockPublic);\r\nwastePhotoStep.addBlock(safetyBlockExternal);\r\nwastePhotoStep.addBlock(tipsBlock);\r\nwastePhotoStep.addBlock(uploadBlock);\r\nwastePhotoStep.addBlock(buttonsBlock);\r\nwastePhotoStep.addBlock(buttonsBlockDisabled);\r\nwastePhotoStep.addBlock(wastePhotoControl);\r\nwastePhotoStep.setIsContained(true);\r\nwastePhotoStep.setTitle('Waste photos');\r\n\r\nwastePhotoStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n presence: true,\r\n inclusion: [METER, OTHER, SLUICE_VALVE, STOPTAP],\r\n exclusion: [GRATE, SQUARE],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n cleanBoundaryAccessSupply: {\r\n presence: true,\r\n inclusion: [NO, YES],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n presence: true,\r\n inclusion: [OTHER, GRATE, SQUARE],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [ACCESS, BOTH, NONE, PROPERTY_DAMAGE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteBoundaryAccessSupply: {\r\n presence: true,\r\n inclusion: [NO, YES],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteBoundaryAccessSupply: {\r\n presence: true,\r\n inclusion: [YES, NO],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n cleanBoundaryAccessSupply: {\r\n presence: true,\r\n inclusion: [YES, NO],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n cleanBoundaryAccessSupply: {\r\n presence: true,\r\n inclusion: [YES, NO],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteBoundaryAccessSupply: {\r\n presence: true,\r\n inclusion: [YES, NO],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [POLLUTION],\r\n exclusion: [GROUND, ODOUR, COVER],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteOriginPollution: {\r\n presence: true,\r\n inclusion: [GRATE, PRIVATE, YORKSHIREWATER, UNSURE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [POLLUTION],\r\n exclusion: [GROUND, ODOUR, COVER],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteOriginPollution: {\r\n presence: true,\r\n inclusion: [GRATE, PRIVATE, YORKSHIREWATER, UNSURE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [WASTE, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n presence: true,\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n presence: true,\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n exclusion: [OTHER, SQUARE, GULLY],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, SQUARE, GULLY],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n exclusion: [UNSURE, CLEAN],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, SQUARE, GULLY],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [WASTE],\r\n exclusion: [UNSURE, CLEAN],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, SQUARE, GULLY],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [UNSURE, WASTE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SQUARE, GULLY, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [CLEAN],\r\n exclusion: [UNSURE, WASTE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n presence: true,\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n cleanBoundarySeverity: {\r\n presence: true,\r\n inclusion: [GUSHING, TRICKLING],\r\n },\r\n cleanBoundaryRisk: {\r\n presence: true,\r\n inclusion: [PROPERTY_DAMAGE, ACCIDENT, BOTH, NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n wasteBoundaryIssues: {\r\n presence: true,\r\n inclusion: [BLOCKED, ODOUR, BOTH],\r\n exclusion: [NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n wasteBoundaryIssues: {\r\n presence: true,\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, ODOUR, BOTH],\r\n },\r\n wasteResponsibility: {\r\n presence: true,\r\n inclusion: [YORKSHIREWATER, UNSURE],\r\n exclusion: [OWNER],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n presence: true,\r\n inclusion: [WATERCOURSE],\r\n exclusion: [TOWARDS_WATERCOURSE, GULLY, PROPERTY, OUTBUILDING, GARDEN],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n presence: true,\r\n inclusion: [GARDEN, OUTBUILDING],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, PROPERTY],\r\n },\r\n wasteBoundaryIssues: {\r\n presence: true,\r\n inclusion: [BLOCKED, ODOUR, BOTH],\r\n exclusion: [NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n presence: true,\r\n inclusion: [GARDEN, OUTBUILDING],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, PROPERTY],\r\n },\r\n wasteBoundaryIssues: {\r\n presence: true,\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, ODOUR, BOTH],\r\n },\r\n wasteResponsibility: {\r\n presence: true,\r\n inclusion: [YORKSHIREWATER, UNSURE],\r\n exclusion: [OWNER],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n presence: true,\r\n inclusion: [PROPERTY],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, GARDEN, OUTBUILDING],\r\n },\r\n wasteBoundaryEscapeProperty: {\r\n presence: true,\r\n inclusion: [POOLING],\r\n exclusion: [DAMP],\r\n },\r\n isWorkingHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n presence: true,\r\n inclusion: [PROPERTY],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, GARDEN, OUTBUILDING],\r\n },\r\n wasteBoundaryEscapeProperty: {\r\n presence: true,\r\n inclusion: [POOLING],\r\n exclusion: [DAMP],\r\n },\r\n isWorkingHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n wasteOoh: {\r\n presence: true,\r\n inclusion: [YES],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n presence: true,\r\n inclusion: [PROPERTY],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, GARDEN, OUTBUILDING],\r\n },\r\n wasteBoundaryEscapeProperty: {\r\n presence: true,\r\n inclusion: [DAMP],\r\n exclusion: [POOLING],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n presence: true,\r\n inclusion: [GULLY, TOWARDS_WATERCOURSE],\r\n exclusion: [WATERCOURSE, PROPERTY, GARDEN, OUTBUILDING],\r\n },\r\n wasteBoundaryEscapeInternal: {\r\n presence: true,\r\n inclusion: [YES, NO],\r\n exclusion: [],\r\n },\r\n isWorkingHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n presence: true,\r\n inclusion: [GULLY, TOWARDS_WATERCOURSE],\r\n exclusion: [WATERCOURSE, PROPERTY, GARDEN, OUTBUILDING],\r\n },\r\n wasteBoundaryEscapeInternal: {\r\n presence: true,\r\n inclusion: [YES, NO],\r\n exclusion: [],\r\n },\r\n isWorkingHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n wasteOoh: {\r\n presence: true,\r\n inclusion: [YES],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n presence: true,\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n presence: true,\r\n inclusion: [DRAIN, BLOCKED, BOTH],\r\n exclusion: [NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n presence: true,\r\n inclusion: [ODOUR],\r\n exclusion: [COVER, GROUND, DRAIN],\r\n },\r\n wasteOdourType: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n presence: true,\r\n inclusion: [DRAIN, BLOCKED, BOTH],\r\n exclusion: [NONE],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n presence: true,\r\n inclusion: [DRAIN, BLOCKED, BOTH],\r\n exclusion: [NONE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteRtimInformationCol: {\r\n presence: false,\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n presence: true,\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n presence: true,\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n presence: true,\r\n inclusion: [DRAIN, BLOCKED, BOTH],\r\n exclusion: [NONE],\r\n },\r\n locateMethod: {\r\n presence: true,\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n]);\r\n\r\nbuttonsBlock.setConstraints({\r\n 'attachments.isUploading': {\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n});\r\n\r\nbuttonsBlockDisabled.setConstraints({\r\n 'attachments.isUploading': {\r\n presence: true,\r\n inclusion: [true],\r\n },\r\n});\r\n\r\nexport { wastePhotoStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n ACCESS,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n GULLY,\r\n NONE,\r\n PROPERTY_DAMAGE,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n GUSHING,\r\n BLOCKED,\r\n} from '../../../../constants';\r\nimport { wasteBoundaryRisk } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteBoundaryRisk.heading);\r\nconst wasteBoundaryRiskControl = new Control('question', 'wasteBoundaryRisk');\r\nwasteBoundaryRiskControl.setLabel(wasteBoundaryRisk.heading);\r\nwasteBoundaryRiskControl.setDefault('');\r\nwasteBoundaryRiskControl.addOption(wasteBoundaryRisk.propertyRisk, PROPERTY_DAMAGE, 'IconHouse');\r\nwasteBoundaryRiskControl.addOption(wasteBoundaryRisk.access, ACCESS, 'IconAccessWalking');\r\nwasteBoundaryRiskControl.addOption(wasteBoundaryRisk.both, BOTH, 'IconPropertyAccess');\r\nwasteBoundaryRiskControl.addOption(wasteBoundaryRisk.none, NONE, 'IconCross');\r\nwasteBoundaryRiskControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteBoundaryRiskStep = new Step('step', 'waste-boundary-risk');\r\nwasteBoundaryRiskStep.addBlock(headingBlock);\r\nwasteBoundaryRiskStep.addBlock(wasteBoundaryRiskControl);\r\nwasteBoundaryRiskStep.addBlock(buttonsBlock);\r\nwasteBoundaryRiskStep.setTitle(wasteBoundaryRisk.title);\r\n\r\nwasteBoundaryRiskStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [GRATE, SQUARE],\r\n exclusion: [METER, OTHER, SLUICE_VALVE, STOPTAP],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [WASTE],\r\n exclusion: [UNSURE, CLEAN],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, SQUARE, GULLY],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [WASTE],\r\n exclusion: [UNSURE, CLEAN],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, SQUARE, GULLY],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n]);\r\n\r\nwasteBoundaryRiskStep.setValidation({\r\n wasteRisk: {\r\n presence: {\r\n message: wasteBoundaryRisk.validation,\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { wasteBoundaryRiskStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n ACCESS,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n GULLY,\r\n DAMP,\r\n LARGE,\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n MEDIUM,\r\n NONE,\r\n PROPERTY_DAMAGE,\r\n SMALL,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n GUSHING,\r\n BLOCKED,\r\n} from '../../../../constants';\r\nimport { wasteBoundarySeverity } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteBoundarySeverity.heading);\r\nconst wasteBoundarySeverityControl = new Control('question', 'wasteBoundarySeverity');\r\nwasteBoundarySeverityControl.setLabel(wasteBoundarySeverity.heading);\r\nwasteBoundarySeverityControl.addOption(wasteBoundarySeverity.dampArea, DAMP, 'IconDampPatch');\r\nwasteBoundarySeverityControl.addOption(wasteBoundarySeverity.smallArea, SMALL, 'IconSmallArea');\r\nwasteBoundarySeverityControl.addOption(wasteBoundarySeverity.mediumArea, MEDIUM, 'IconMediumArea');\r\nwasteBoundarySeverityControl.addOption(wasteBoundarySeverity.largeArea, LARGE, 'IconLargeArea');\r\nwasteBoundarySeverityControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteBoundarySeverityStep = new Step('step', 'waste-boundary-severity');\r\nwasteBoundarySeverityStep.addBlock(headingBlock);\r\nwasteBoundarySeverityStep.addBlock(wasteBoundarySeverityControl);\r\nwasteBoundarySeverityStep.addBlock(buttonsBlock);\r\nwasteBoundarySeverityStep.setTitle(wasteBoundarySeverity.title);\r\n\r\nwasteBoundarySeverityStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [OTHER, GRATE, SQUARE],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP],\r\n },\r\n wasteBoundaryRisk: {\r\n presence: true,\r\n inclusion: [ACCESS, BOTH, NONE, PROPERTY_DAMAGE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [WASTE],\r\n exclusion: [CLEAN, UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n externalWasteWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n externalRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n externalConstantPressure: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n externalWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [SQUARE],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, GULLY],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, OTHER, SQUARE],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [GUSHING],\r\n exclusion: [BLOCKED],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, SQUARE, GULLY],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [WASTE],\r\n exclusion: [UNSURE, CLEAN],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, SQUARE, GULLY],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [WASTE],\r\n exclusion: [UNSURE, CLEAN],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, SQUARE, GULLY],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [SLUICE_VALVE, STOPTAP, METER, GULLY, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [WASTE, CLEAN],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteBoundarySeverityStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n ACCESS,\r\n BOTH,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n DAMP,\r\n LARGE,\r\n MEDIUM,\r\n NONE,\r\n PROPERTY_DAMAGE,\r\n SMALL,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n KITCHEN,\r\n HOUSE,\r\n BATHROOM,\r\n BLOCKED,\r\n CLEAR,\r\n MANHOLE,\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n UPSTAIRS_BATH,\r\n SINGLE,\r\n MULTIPLE,\r\n DIFFERENT,\r\n SAME,\r\n TOILET,\r\n APPLIANCE,\r\n SINK,\r\n FLOOR,\r\n CELLAR,\r\n MANY,\r\n ONCE,\r\n} from '../../../constants';\r\nimport { wasteBoundaryAccessSupply } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteBoundaryAccessSupply.heading);\r\nconst wasteBoundaryAccessSupplyControl = new Control('question', 'wasteBoundaryAccessSupply');\r\nwasteBoundaryAccessSupplyControl.setLabel(wasteBoundaryAccessSupply.heading);\r\nwasteBoundaryAccessSupplyControl.labelOff();\r\nwasteBoundaryAccessSupplyControl.addOption(wasteBoundaryAccessSupply.yes, YES, 'IconAccessWalking');\r\nwasteBoundaryAccessSupplyControl.addOption(wasteBoundaryAccessSupply.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteBoundaryAccessSupplyStep = new Step('step', 'waste-boundary-access-supply');\r\nwasteBoundaryAccessSupplyStep.addBlock(headingBlock);\r\nwasteBoundaryAccessSupplyStep.addBlock(wasteBoundaryAccessSupplyControl);\r\nwasteBoundaryAccessSupplyStep.addBlock(buttonsBlock);\r\nwasteBoundaryAccessSupplyStep.setTitle(wasteBoundaryAccessSupply.title);\r\n\r\nwasteBoundaryAccessSupplyStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [OTHER, GRATE, SQUARE],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [ACCESS, BOTH, NONE, PROPERTY_DAMAGE],\r\n },\r\n wasteBoundarySeverity: {\r\n presence: true,\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [YES],\r\n exclusion: [UNSURE],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n boundaryWaterSmell: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryRisk: {\r\n inclusion: [PROPERTY_DAMAGE, ACCESS, BOTH, NONE],\r\n },\r\n wasteBoundarySeverity: {\r\n inclusion: [DAMP, SMALL, MEDIUM, LARGE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [KITCHEN],\r\n exclusion: [HOUSE, ODOUR, BATHROOM],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [BLOCKED, UNSURE],\r\n exclusion: [CLEAR],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [DOWNSTAIRS_BATH, MULTIPLE_TOILETS, DOWNSTAIRS_TOILET, UPSTAIRS_FACILITIES, DOWNSTAIRS_FACILITIES],\r\n exclusion: [UPSTAIRS_TOILET, UPSTAIRS_BATH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [SAME],\r\n exclusion: [DIFFERENT],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n wasteInternalToilet: {\r\n inclusion: [MANY],\r\n exclusion: [ONCE, NONE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [MULTIPLE_TOILETS, DOWNSTAIRS_TOILET],\r\n exclusion: [UPSTAIRS_BATH, UPSTAIRS_TOILET, DOWNSTAIRS_BATH, UPSTAIRS_FACILITIES, DOWNSTAIRS_FACILITIES],\r\n },\r\n wasteInternalToilet: {\r\n inclusion: [MANY],\r\n exclusion: [ONCE, NONE],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteBoundaryAccessSupplyStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n CLEAN,\r\n WASTE,\r\n UNSURE,\r\n} from '../../../constants';\r\nimport { boundaryWaterType } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', boundaryWaterType.heading);\r\nconst boundaryWaterTypeControl = new Control('question', 'boundaryWaterType');\r\nboundaryWaterTypeControl.setLabel(boundaryWaterType.heading);\r\nboundaryWaterTypeControl.addOption(boundaryWaterType.clean, CLEAN, 'IconGlass', false, 'clean water');\r\nboundaryWaterTypeControl.addOption(boundaryWaterType.waste, WASTE, 'IconToiletRoll', false, 'sewage');\r\nboundaryWaterTypeControl.addOption(boundaryWaterType.unsure, UNSURE, 'IconQuestion', false, 'unsure');\r\nboundaryWaterTypeControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst boundaryWaterTypeStep = new Step('step', 'boundary-water-type');\r\nboundaryWaterTypeStep.addBlock(headingBlock);\r\nboundaryWaterTypeStep.addBlock({ type: 'message', id: 'step-hint', message: boundaryWaterType.hint });\r\nboundaryWaterTypeStep.addBlock(boundaryWaterTypeControl);\r\nboundaryWaterTypeStep.addBlock(buttonsBlock);\r\nboundaryWaterTypeStep.setTitle(boundaryWaterType.title);\r\n\r\nboundaryWaterTypeStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [GULLY, SQUARE, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n },\r\n]);\r\n\r\nexport { boundaryWaterTypeStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n YES,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../constants';\r\nimport { boundaryRainfallAffected } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', boundaryRainfallAffected.heading);\r\nconst boundaryRainfallAffectedControl = new Control('question', 'boundaryRainfallAffected');\r\nboundaryRainfallAffectedControl.setLabel(boundaryRainfallAffected.heading);\r\nboundaryRainfallAffectedControl.addOption(boundaryRainfallAffected.yes, YES, 'IconRain');\r\nboundaryRainfallAffectedControl.addOption(boundaryRainfallAffected.notSure, UNSURE, 'IconCross');\r\nboundaryRainfallAffectedControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst boundaryRainfallAffectedStep = new Step('step', 'boundary-rainfall-affected');\r\nboundaryRainfallAffectedStep.addBlock(headingBlock);\r\nboundaryRainfallAffectedStep.addBlock(boundaryRainfallAffectedControl);\r\nboundaryRainfallAffectedStep.addBlock(buttonsBlock);\r\nboundaryRainfallAffectedStep.setTitle(boundaryRainfallAffected.title);\r\n\r\nboundaryRainfallAffectedStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [GULLY, SQUARE, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n },\r\n]);\r\n\r\nexport { boundaryRainfallAffectedStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../constants';\r\nimport { boundaryFlowConstant } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', boundaryFlowConstant.heading);\r\nconst boundaryFlowConstantControl = new Control('question', 'boundaryFlowConstant');\r\nboundaryFlowConstantControl.setLabel(boundaryFlowConstant.heading);\r\nboundaryFlowConstantControl.addOption(boundaryFlowConstant.yes, YES, 'IconConstantPressure');\r\nboundaryFlowConstantControl.addOption(boundaryFlowConstant.no, NO, 'IconCross');\r\nboundaryFlowConstantControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst boundaryFlowConstantStep = new Step('step', 'boundary-flow-constant');\r\nboundaryFlowConstantStep.addBlock(headingBlock);\r\nboundaryFlowConstantStep.addBlock(boundaryFlowConstantControl);\r\nboundaryFlowConstantStep.addBlock(buttonsBlock);\r\nboundaryFlowConstantStep.setTitle(boundaryFlowConstant.title);\r\n\r\nboundaryFlowConstantStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [GULLY, SQUARE, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { boundaryFlowConstantStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../constants';\r\nimport { boundaryWaterSmell } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', boundaryWaterSmell.heading);\r\nconst boundaryWaterSmellControl = new Control('question', 'boundaryWaterSmell');\r\nboundaryWaterSmellControl.setLabel(boundaryWaterSmell.heading);\r\nboundaryWaterSmellControl.addOption(boundaryWaterSmell.yes, YES, 'IconBadSmell');\r\nboundaryWaterSmellControl.addOption(boundaryWaterSmell.no, NO, 'IconCross');\r\nboundaryWaterSmellControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst boundaryWaterSmellStep = new Step('step', 'boundary-water-smell');\r\nboundaryWaterSmellStep.addBlock(headingBlock);\r\nboundaryWaterSmellStep.addBlock(boundaryWaterSmellControl);\r\nboundaryWaterSmellStep.addBlock(buttonsBlock);\r\nboundaryWaterSmellStep.setTitle(boundaryWaterSmell.title);\r\n\r\nboundaryWaterSmellStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [COVER],\r\n exclusion: [DRAIN, GROUND, ODOUR],\r\n },\r\n wasteExternalCoverType: {\r\n inclusion: [OTHER],\r\n exclusion: [METER, SLUICE_VALVE, STOPTAP, GRATE, SQUARE],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [GROUND],\r\n exclusion: [DRAIN, COVER, ODOUR],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [OTHER],\r\n exclusion: [GULLY, SQUARE, SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n boundaryWaterType: {\r\n inclusion: [UNSURE],\r\n exclusion: [CLEAN, WASTE],\r\n },\r\n boundaryRainfallAffected: {\r\n inclusion: [UNSURE],\r\n exclusion: [YES],\r\n },\r\n boundaryFlowConstant: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { boundaryWaterSmellStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport { YES, NO, EXTERNAL, INTERNAL, PUBLIC, COVER, DRAIN, GROUND, ODOUR } from '../../../constants';\r\nimport { wasteBoundaryEscape } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteBoundaryEscape.heading);\r\nconst wasteBoundaryEscapeControl = new Control('question', 'wasteBoundaryEscape');\r\nwasteBoundaryEscapeControl.setLabel(wasteBoundaryEscape.heading);\r\nwasteBoundaryEscapeControl.addOption(wasteBoundaryEscape.yes, YES, 'IconCheckTick');\r\nwasteBoundaryEscapeControl.addOption(wasteBoundaryEscape.no, NO, 'IconCross');\r\nwasteBoundaryEscapeControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteBoundaryEscapeStep = new Step('step', 'waste-boundary-escape');\r\nwasteBoundaryEscapeStep.addBlock(headingBlock);\r\nwasteBoundaryEscapeStep.addBlock(wasteBoundaryEscapeControl);\r\nwasteBoundaryEscapeStep.addBlock(buttonsBlock);\r\nwasteBoundaryEscapeStep.setTitle(wasteBoundaryEscape.title);\r\n\r\nwasteBoundaryEscapeStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteBoundaryEscapeStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n GARDEN,\r\n OUTBUILDING,\r\n PROPERTY,\r\n GULLY,\r\n WATERCOURSE,\r\n BOTH,\r\n NONE,\r\n ODOUR,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n TOWARDS_WATERCOURSE,\r\n BLOCKED,\r\n} from '../../../constants';\r\nimport { wasteBoundaryIssues } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteBoundaryIssues.heading);\r\nconst wasteBoundaryIssuesControl = new Control('question', 'wasteBoundaryIssues');\r\nwasteBoundaryIssuesControl.setLabel(wasteBoundaryIssues.heading);\r\nwasteBoundaryIssuesControl.setDefault('');\r\nwasteBoundaryIssuesControl.addOption(wasteBoundaryIssues.slowToilet, BLOCKED, 'IconInternalBlockage');\r\nwasteBoundaryIssuesControl.addOption(wasteBoundaryIssues.odour, ODOUR, 'IconBadSmell');\r\nwasteBoundaryIssuesControl.addOption(wasteBoundaryIssues.both, BOTH, 'IconHouse2');\r\nwasteBoundaryIssuesControl.addOption(wasteBoundaryIssues.none, NONE, 'IconCross');\r\nwasteBoundaryIssuesControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteBoundaryIssuesStep = new Step('step', 'waste-boundary-issues');\r\nwasteBoundaryIssuesStep.addBlock(headingBlock);\r\nwasteBoundaryIssuesStep.addBlock(wasteBoundaryIssuesControl);\r\nwasteBoundaryIssuesStep.addBlock(buttonsBlock);\r\nwasteBoundaryIssuesStep.setIsContained(false);\r\nwasteBoundaryIssuesStep.setTitle(wasteBoundaryIssues.title);\r\n\r\nwasteBoundaryIssuesStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n inclusion: [GARDEN, OUTBUILDING],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, PROPERTY],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteBoundaryIssuesStep };\r\n","import { Heading, Control, Step, ButtonRow, InfoBlock } from '../../models';\r\nimport {\r\n OWNER,\r\n UNSURE,\r\n YORKSHIREWATER,\r\n YES,\r\n NO,\r\n BOTH,\r\n NONE,\r\n ODOUR,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n OUTBUILDING,\r\n PROPERTY,\r\n GULLY,\r\n TOWARDS_WATERCOURSE,\r\n WATERCOURSE,\r\n GARDEN,\r\n BLOCKED,\r\n} from '../../../constants';\r\nimport { wasteResponsibiltyBoundary } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', wasteResponsibiltyBoundary.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', wasteResponsibiltyBoundary.detail, 'p-tb');\r\nconst heading = new Heading('step-heading2', wasteResponsibiltyBoundary.homeOwnerResp, 2).setSize('sm');\r\nconst infoBlock2 = new InfoBlock(\r\n 'bullet-point1',\r\n wasteResponsibiltyBoundary.homeOwner[0],\r\n 'u-pt--0 u-pb--50 u-pl--450 u-mb--0',\r\n);\r\nconst infoBlock3 = new InfoBlock(\r\n 'bullet-point2',\r\n wasteResponsibiltyBoundary.homeOwner[1],\r\n 'u-pt--0 u-pb--50 u-pl--450 u-mb--0',\r\n);\r\nconst infoBlock4 = new InfoBlock(\r\n 'bullet-point3',\r\n wasteResponsibiltyBoundary.homeOwner[2],\r\n 'u-pt--0 u-pb--150 u-pl--450 u-mb--0',\r\n);\r\nconst heading2 = new Heading('step-heading2', wasteResponsibiltyBoundary.ywResp, 2).setSize('sm');\r\nconst infoBlock5 = new InfoBlock(\r\n 'bullet-point5',\r\n wasteResponsibiltyBoundary.yw[0],\r\n 'u-pt--0 u-pb--50 u-pl--450 u-mb--0',\r\n);\r\nconst infoBlock6 = new InfoBlock(\r\n 'bullet-point6',\r\n wasteResponsibiltyBoundary.yw[1],\r\n 'u-pt--0 u-pb--50 u-pl--450 u-mb--0',\r\n);\r\nconst infoBlock7 = new InfoBlock(\r\n 'bullet-point7',\r\n wasteResponsibiltyBoundary.yw[2],\r\n 'u-pt--0 u-pb--150 u-pl--450 u-mb--0',\r\n);\r\nconst headingBlock2 = new Heading('step-heading2', wasteResponsibiltyBoundary.subHeading, 2).setSize('md');\r\nconst radio = new Control('radio', 'wasteResponsibility')\r\n .setLabel(wasteResponsibiltyBoundary.subHeading)\r\n .labelOff()\r\n .addOption(wasteResponsibiltyBoundary.owner, OWNER, null)\r\n .addOption(wasteResponsibiltyBoundary.yorkshireWater, YORKSHIREWATER, null)\r\n .addOption(wasteResponsibiltyBoundary.unsure, UNSURE, null)\r\n .setDefault(OWNER);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst wasteResponsibiltyBoundaryStep = new Step('step', 'waste-responsibility-boundary');\r\nwasteResponsibiltyBoundaryStep.setIsContained(true);\r\nwasteResponsibiltyBoundaryStep.addBlock(headingBlock);\r\nwasteResponsibiltyBoundaryStep.addBlock(infoBlock1);\r\nwasteResponsibiltyBoundaryStep.addBlock(heading);\r\nwasteResponsibiltyBoundaryStep.addBlock(infoBlock2);\r\nwasteResponsibiltyBoundaryStep.addBlock(infoBlock3);\r\nwasteResponsibiltyBoundaryStep.addBlock(infoBlock4);\r\nwasteResponsibiltyBoundaryStep.addBlock(heading2);\r\nwasteResponsibiltyBoundaryStep.addBlock(infoBlock5);\r\nwasteResponsibiltyBoundaryStep.addBlock(infoBlock6);\r\nwasteResponsibiltyBoundaryStep.addBlock(infoBlock7);\r\nwasteResponsibiltyBoundaryStep.addBlock(headingBlock2);\r\nwasteResponsibiltyBoundaryStep.addBlock(radio);\r\nwasteResponsibiltyBoundaryStep.addBlock(buttonsBlock);\r\nwasteResponsibiltyBoundaryStep.setTitle(wasteResponsibiltyBoundary.title);\r\n\r\nwasteResponsibiltyBoundaryStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n wasteBoundaryIssues: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, ODOUR, BOTH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n inclusion: [GARDEN, OUTBUILDING],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, PROPERTY],\r\n },\r\n wasteBoundaryIssues: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, ODOUR, BOTH],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteResponsibiltyBoundaryStep };\r\n","import { Heading, Link, Step, ButtonRow, InfoBlock } from '../../models';\r\nimport {\r\n OWNER,\r\n UNSURE,\r\n YORKSHIREWATER,\r\n INTERNAL,\r\n PUBLIC,\r\n EXTERNAL,\r\n ODOUR,\r\n WATERCOURSE,\r\n GARDEN,\r\n PIPE_RESPONSIBILITY_URL,\r\n LOCAL_PLUMBER_URL,\r\n BLOCKED,\r\n DRAIN,\r\n COVER,\r\n GROUND,\r\n NO,\r\n YES,\r\n NONE,\r\n BOTH,\r\n OUTBUILDING,\r\n TOWARDS_WATERCOURSE,\r\n GULLY,\r\n PROPERTY,\r\n KITCHEN,\r\n HOUSE,\r\n BATHROOM,\r\n CLEAR,\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n GRATE,\r\n MANHOLE,\r\n UPSTAIRS_BATH,\r\n SINGLE,\r\n MULTIPLE,\r\n DIFFERENT,\r\n SAME,\r\n TOILET,\r\n APPLIANCE,\r\n SINK,\r\n FLOOR,\r\n CELLAR,\r\n GROUND_FLOOR,\r\n GARAGE,\r\n OTHER,\r\n UPSTAIRS,\r\n SLOW_DRAINAGE,\r\n CHUTE,\r\n PIPE,\r\n AIRBRICK,\r\n INTERMITTENT,\r\n CONSTANT,\r\n PRESSURE,\r\n NO_WATER,\r\n LOW_PRESSURE,\r\n HIGH_PRESSURE,\r\n NOT_FIRST_FEED,\r\n HOT_ONLY,\r\n HOT_COLD,\r\n FIRST_FEED,\r\n} from '../../../constants';\r\nimport { pipeResponsibility, localPlumber, wasteDrainageInfo } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', wasteDrainageInfo.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', wasteDrainageInfo.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', wasteDrainageInfo.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteDrainageInfo.detail[1], 'p-tb');\r\nconst infoBlock3 = new InfoBlock('info-block3', wasteDrainageInfo.detail[2], 'p-tb');\r\nconst infoBlock4 = new InfoBlock('info-block4', wasteDrainageInfo.detail[3], 'p-tb');\r\nconst linkBlock1 = new Link('link-block3', pipeResponsibility).setLink(PIPE_RESPONSIBILITY_URL).setTarget('_self');\r\nconst linkBlock2 = new Link('link-block4', localPlumber).setLink(LOCAL_PLUMBER_URL).setTarget('_self');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteDrainageInfoStep = new Step('step', 'waste-drainage-info');\r\nwasteDrainageInfoStep.setIsContained(true);\r\nwasteDrainageInfoStep.addBlock(headingBlock);\r\nwasteDrainageInfoStep.addBlock(infoBlock1);\r\nwasteDrainageInfoStep.addBlock(headingBlock2);\r\nwasteDrainageInfoStep.addBlock(infoBlock2);\r\nwasteDrainageInfoStep.addBlock(infoBlock3);\r\nwasteDrainageInfoStep.addBlock(infoBlock4);\r\nwasteDrainageInfoStep.addBlock(linkBlock1);\r\nwasteDrainageInfoStep.addBlock(linkBlock2);\r\nwasteDrainageInfoStep.addBlock(buttonsBlock);\r\nwasteDrainageInfoStep.setTitle(wasteDrainageInfo.title);\r\n\r\nwasteDrainageInfoStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n wasteBoundaryIssues: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, ODOUR, BOTH],\r\n },\r\n wasteResponsibility: {\r\n inclusion: [OWNER],\r\n exclusion: [YORKSHIREWATER, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n inclusion: [GARDEN, OUTBUILDING],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, PROPERTY],\r\n },\r\n wasteBoundaryIssues: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, ODOUR, BOTH],\r\n },\r\n wasteResponsibility: {\r\n inclusion: [OWNER],\r\n exclusion: [YORKSHIREWATER, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [KITCHEN],\r\n exclusion: [HOUSE, ODOUR, BATHROOM],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [CLEAR],\r\n exclusion: [BLOCKED, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [APPLIANCE],\r\n exclusion: [TOILET, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalSink: {\r\n inclusion: [CLEAR],\r\n exclusion: [BLOCKED],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [APPLIANCE],\r\n exclusion: [TOILET, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalSink: {\r\n inclusion: [BLOCKED],\r\n exclusion: [CLEAR],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [CLEAR],\r\n exclusion: [BLOCKED, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [SINK],\r\n exclusion: [TOILET, APPLIANCE, FLOOR, CELLAR],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [CLEAR],\r\n exclusion: [BLOCKED, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n exclusion: [CELLAR],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [CHUTE, AIRBRICK],\r\n exclusion: [PIPE, OTHER],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [PIPE],\r\n exclusion: [CHUTE, AIRBRICK, OTHER],\r\n },\r\n wasteInternalFreq: {\r\n inclusion: [INTERMITTENT],\r\n exclusion: [CONSTANT],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n presence: true,\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n nwlpPressureProblem: {\r\n inclusion: [LOW_PRESSURE],\r\n exclusion: [HIGH_PRESSURE],\r\n },\r\n nwlpPressureSupply: {\r\n inclusion: [NOT_FIRST_FEED, HOT_ONLY],\r\n exclusion: [HOT_COLD],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n presence: true,\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [NOT_FIRST_FEED],\r\n exclusion: [FIRST_FEED],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteDrainageInfoStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n PUBLIC,\r\n WASTE,\r\n CLEAN,\r\n UNSURE,\r\n INTERNAL,\r\n EXTERNAL,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n COVER,\r\n} from '../../../../constants';\r\nimport { externalWasteWaterType } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', externalWasteWaterType.heading);\r\nconst externalWasteWaterTypeControl = new Control('question', 'externalWasteWaterType');\r\nexternalWasteWaterTypeControl.setLabel(externalWasteWaterType.heading);\r\nexternalWasteWaterTypeControl.addOption(externalWasteWaterType.clean, CLEAN, 'IconGlass', false, 'clean water');\r\nexternalWasteWaterTypeControl.addOption(externalWasteWaterType.waste, WASTE, 'IconToiletRoll', false, 'sewage');\r\nexternalWasteWaterTypeControl.addOption(externalWasteWaterType.unsure, UNSURE, 'IconQuestion', false, 'unsure');\r\nexternalWasteWaterTypeControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst externalWasteWaterTypeStep = new Step('step', 'external-waste-water-type');\r\nexternalWasteWaterTypeStep.addBlock(headingBlock);\r\nexternalWasteWaterTypeStep.addBlock({ type: 'message', id: 'step-hint', message: externalWasteWaterType.hint });\r\nexternalWasteWaterTypeStep.addBlock(externalWasteWaterTypeControl);\r\nexternalWasteWaterTypeStep.addBlock(buttonsBlock);\r\nexternalWasteWaterTypeStep.setTitle(externalWasteWaterType.title);\r\n\r\nexternalWasteWaterTypeStep.setConstraints({\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [GROUND],\r\n exclusion: [ODOUR, POLLUTION, COVER],\r\n },\r\n});\r\n\r\nexport { externalWasteWaterTypeStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n LOCATION_METHOD_ADDRESS_LOOKUP,\r\n LOCATION_METHOD_CURRENT_LOCATION,\r\n LOCATION_METHOD_MAP_SEARCH,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n GROUND,\r\n GRATE,\r\n PRIVATE,\r\n UNSURE,\r\n YORKSHIREWATER,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../../constants';\r\nimport { wasteOriginPollution } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteOriginPollution.heading);\r\nconst wasteOriginPollutionControl = new Control('question', 'wasteOriginPollution');\r\nwasteOriginPollutionControl.setLabel(wasteOriginPollution.heading);\r\nwasteOriginPollutionControl.addOption(wasteOriginPollution.grate, GRATE, 'IconConstantPressure');\r\nwasteOriginPollutionControl.addOption(wasteOriginPollution.private, PRIVATE, 'IconDisabled');\r\nwasteOriginPollutionControl.addOption(wasteOriginPollution.ywSite, YORKSHIREWATER, 'IconDripping');\r\nwasteOriginPollutionControl.addOption(wasteOriginPollution.unsure, UNSURE, 'IconQuestion');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteOriginPollutionStep = new Step('step', 'waste-origin-pollution');\r\nwasteOriginPollutionStep.addBlock(headingBlock);\r\nwasteOriginPollutionStep.addBlock(wasteOriginPollutionControl);\r\nwasteOriginPollutionStep.addBlock(buttonsBlock);\r\nwasteOriginPollutionStep.setTitle(wasteOriginPollution.title);\r\n\r\nwasteOriginPollutionStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [POLLUTION],\r\n exclusion: [GROUND, ODOUR, COVER],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [POLLUTION],\r\n exclusion: [GROUND, ODOUR, COVER],\r\n },\r\n locateMethod: {\r\n inclusion: [LOCATION_METHOD_ADDRESS_LOOKUP],\r\n },\r\n addressConfirm: {\r\n presence: true,\r\n inclusion: ['N'],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteOriginPollutionStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n SQUARE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../../constants';\r\nimport { images, wasteExternalCover } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteExternalCover.heading);\r\nconst coverControl = new Control('question', 'wasteExternalCover');\r\ncoverControl.setLabel(wasteExternalCover.heading);\r\ncoverControl.setDefault('');\r\ncoverControl.addOption(wasteExternalCover.grate, GULLY, null, false, false, images.highwayGully);\r\ncoverControl.addOption(wasteExternalCover.largeSquare, SQUARE, null, false, false, images.squareSewage);\r\ncoverControl.addOption(wasteExternalCover.rectangle, SLUICE_VALVE, null, false, false, images.sluiceRectangle);\r\ncoverControl.addOption(wasteExternalCover.smallSquare, STOPTAP, null, false, false, images.sluiceSquare);\r\ncoverControl.addOption(wasteExternalCover.circle, METER, null, false, false, images.meter);\r\ncoverControl.addOption(wasteExternalCover.other, OTHER, 'IconQuestion', false, false, null);\r\ncoverControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteExternalCoverStep = new Step('step', 'waste-external-cover');\r\nwasteExternalCoverStep.addBlock(headingBlock);\r\nwasteExternalCoverStep.addBlock(coverControl);\r\nwasteExternalCoverStep.addBlock(buttonsBlock);\r\nwasteExternalCoverStep.setTitle(wasteExternalCover.title);\r\n\r\nwasteExternalCoverStep.setConstraints({\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [INTERNAL, EXTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n});\r\n\r\nexport { wasteExternalCoverStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n SQUARE,\r\n BLOCKED,\r\n GUSHING,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n} from '../../../../constants';\r\nimport { wasteExternalCoverBlocked } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteExternalCoverBlocked.heading);\r\nconst coverBlockedControl = new Control('question', 'wasteExternalCoverBlocked');\r\ncoverBlockedControl.setLabel(wasteExternalCoverBlocked.heading);\r\ncoverBlockedControl.setDefault('');\r\ncoverBlockedControl.addOption(wasteExternalCoverBlocked.blocked, BLOCKED, 'IconDampPatch', false);\r\ncoverBlockedControl.addOption(wasteExternalCoverBlocked.gushing, GUSHING, 'IconGushing', false);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteExternalCoverBlockedStep = new Step('step', 'waste-external-cover-blocked');\r\nwasteExternalCoverBlockedStep.addBlock(headingBlock);\r\nwasteExternalCoverBlockedStep.addBlock(coverBlockedControl);\r\nwasteExternalCoverBlockedStep.addBlock(buttonsBlock);\r\nwasteExternalCoverBlockedStep.setTitle(wasteExternalCoverBlocked.title);\r\n\r\nwasteExternalCoverBlockedStep.setConstraints({\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SQUARE, SLUICE_VALVE, STOPTAP, METER, OTHER],\r\n },\r\n});\r\n\r\nexport { wasteExternalCoverBlockedStep };\r\n","import { ButtonRow, Heading, InfoBlock, Link, Step } from '../../../models';\r\nimport {\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n SQUARE,\r\n BLOCKED,\r\n GUSHING,\r\n LOCAL_COUNCIL_URL,\r\n MAIN_WEBSITE_URL,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n NO,\r\n YES,\r\n} from '../../../../constants';\r\nimport { backToMainWebsite, localCouncil, wasteCouncilInfo } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', wasteCouncilInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', wasteCouncilInfo.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', wasteCouncilInfo.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteCouncilInfo.detail[1]);\r\nconst linkBlock1 = new Link('link-block1', localCouncil).setLink(LOCAL_COUNCIL_URL).setTarget('_self');\r\nconst linkBlock2 = new Link('link-block2', backToMainWebsite, 'p-t').setLink(MAIN_WEBSITE_URL).setTarget('_self');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteCouncilInfoStep = new Step('step', 'waste-council-info');\r\nwasteCouncilInfoStep.setIsContained(true);\r\nwasteCouncilInfoStep.addBlock(headingBlock);\r\nwasteCouncilInfoStep.addBlock(infoBlock);\r\nwasteCouncilInfoStep.addBlock(headingBlock2);\r\nwasteCouncilInfoStep.addBlock(infoBlock2);\r\nwasteCouncilInfoStep.addBlock(linkBlock1);\r\nwasteCouncilInfoStep.addBlock(linkBlock2);\r\nwasteCouncilInfoStep.addBlock(buttonsBlock);\r\nwasteCouncilInfoStep.setTitle(wasteCouncilInfo.title);\r\n\r\nwasteCouncilInfoStep.setConstraints({\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SQUARE, SLUICE_VALVE, STOPTAP, METER, OTHER],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [BLOCKED],\r\n exclusion: [GUSHING],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nexport { wasteCouncilInfoStep };\r\n","import { ButtonRow, Control, Heading, InfoBlock, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n GARDEN,\r\n OUTBUILDING,\r\n PROPERTY,\r\n GULLY,\r\n WATERCOURSE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n TOWARDS_WATERCOURSE,\r\n} from '../../../constants';\r\nimport { wasteBoundaryEscapeLocation } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteBoundaryEscapeLocation.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', wasteBoundaryEscapeLocation.detail, 'p-b');\r\nconst wasteBoundaryEscapeLocationControl = new Control('hidden', 'wasteBoundaryEscapeLocation');\r\nconst wasteBoundaryEscapeLocationsControl = new Control('hidden', 'wasteBoundaryEscapeLocations');\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst wasteBoundaryEscapeLocationStep = new Step('step', 'waste-boundary-escape-location');\r\nwasteBoundaryEscapeLocationStep.addBlock(headingBlock);\r\nwasteBoundaryEscapeLocationStep.addBlock(infoBlock1);\r\nwasteBoundaryEscapeLocationStep.addBlock(wasteBoundaryEscapeLocationControl);\r\nwasteBoundaryEscapeLocationStep.addBlock(wasteBoundaryEscapeLocationsControl);\r\nwasteBoundaryEscapeLocationStep.addBlock({\r\n type: 'prioritisedCheckbox',\r\n selector: 'wasteBoundaryEscapeLocation',\r\n items: 'wasteBoundaryEscapeLocations',\r\n options: [\r\n { priority: 1, value: WATERCOURSE, text: wasteBoundaryEscapeLocation.options[0] },\r\n { priority: 4, value: TOWARDS_WATERCOURSE, text: wasteBoundaryEscapeLocation.options[1] },\r\n { priority: 3, value: GULLY, text: wasteBoundaryEscapeLocation.options[2] },\r\n { priority: 2, value: PROPERTY, text: wasteBoundaryEscapeLocation.options[3] },\r\n { priority: 5, value: OUTBUILDING, text: wasteBoundaryEscapeLocation.options[4] },\r\n { priority: 6, value: GARDEN, text: wasteBoundaryEscapeLocation.options[5] },\r\n ],\r\n});\r\nwasteBoundaryEscapeLocationStep.addBlock(buttonsBlock);\r\nwasteBoundaryEscapeLocationStep.setTitle(wasteBoundaryEscapeLocation.title);\r\n\r\nwasteBoundaryEscapeLocationStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nwasteBoundaryEscapeLocationStep.setValidation({\r\n wasteBoundaryEscapeLocation: {\r\n presence: {\r\n message: wasteBoundaryEscapeLocation.validation,\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { wasteBoundaryEscapeLocationStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n DAMP,\r\n POOLING,\r\n STEP_WORKING_HOURS_LOOKUP,\r\n GARDEN,\r\n OUTBUILDING,\r\n PROPERTY,\r\n GULLY,\r\n WATERCOURSE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n TOWARDS_WATERCOURSE,\r\n} from '../../../constants';\r\nimport { wasteBoundaryEscapeProperty } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteBoundaryEscapeProperty.heading);\r\nconst wasteBoundaryEscapePropertyControl = new Control('question', 'wasteBoundaryEscapeProperty');\r\nwasteBoundaryEscapePropertyControl.setLabel(wasteBoundaryEscapeProperty.heading);\r\nwasteBoundaryEscapePropertyControl.addOption(wasteBoundaryEscapeProperty.flowing, POOLING, 'IconConstantPressure');\r\nwasteBoundaryEscapePropertyControl.addOption(wasteBoundaryEscapeProperty.damp, DAMP, 'IconDripping');\r\nwasteBoundaryEscapePropertyControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteBoundaryEscapePropertyStep = new Step('step', 'waste-boundary-escape-property');\r\nwasteBoundaryEscapePropertyStep.addBlock(headingBlock);\r\nwasteBoundaryEscapePropertyStep.addBlock(wasteBoundaryEscapePropertyControl);\r\nwasteBoundaryEscapePropertyStep.addBlock(buttonsBlock);\r\nwasteBoundaryEscapePropertyStep.exitHook = new Hook(STEP_WORKING_HOURS_LOOKUP, '');\r\nwasteBoundaryEscapePropertyStep.setTitle(wasteBoundaryEscapeProperty.title);\r\n\r\nwasteBoundaryEscapePropertyStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n inclusion: [PROPERTY],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, GARDEN, OUTBUILDING],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteBoundaryEscapePropertyStep };\r\n","import {\r\n YES,\r\n NO,\r\n EXTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n WATERCOURSE,\r\n TOWARDS_WATERCOURSE,\r\n GULLY,\r\n PROPERTY,\r\n OUTBUILDING,\r\n GARDEN,\r\n POOLING,\r\n DAMP,\r\n INTERNAL,\r\n MAIN_WEBSITE_URL,\r\n} from '../../../../constants';\r\nimport { Heading, Link, Step, ButtonRow, InfoBlock, Control } from '../../../models';\r\nimport { backToMainWebsite, wasteOoh } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', wasteOoh.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', wasteOoh.detail[0], 'p-tb');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteOoh.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', wasteOoh.detail[2], 'p-t');\r\nconst infoBlock4 = new InfoBlock('info-block4', wasteOoh.detail[3], 'p-tb');\r\nconst wasteOohControl = new Control('hidden', 'wasteOoh').setDefault(YES);\r\nconst linkBlockMainSite = new Link('link-block-main-site', backToMainWebsite, 'p-t')\r\n .setLink(MAIN_WEBSITE_URL)\r\n .setTarget('_self');\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst wasteOohStep = new Step('step', 'waste-OOH');\r\nwasteOohStep.setIsContained(true);\r\nwasteOohStep.addBlock(headingBlock);\r\nwasteOohStep.addBlock(infoBlock1);\r\nwasteOohStep.addBlock(infoBlock2);\r\nwasteOohStep.addBlock(infoBlock3);\r\nwasteOohStep.addBlock(infoBlock4);\r\nwasteOohStep.addBlock(buttonsBlock);\r\nwasteOohStep.addBlock(linkBlockMainSite);\r\nwasteOohStep.addBlock(wasteOohControl);\r\nwasteOohStep.setTitle(wasteOoh.title);\r\n\r\nwasteOohStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n inclusion: [PROPERTY],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, GARDEN, OUTBUILDING],\r\n },\r\n wasteBoundaryEscapeProperty: {\r\n inclusion: [POOLING],\r\n exclusion: [DAMP],\r\n },\r\n isWorkingHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n inclusion: [GULLY, TOWARDS_WATERCOURSE],\r\n exclusion: [WATERCOURSE, PROPERTY, GARDEN, OUTBUILDING],\r\n },\r\n wasteBoundaryEscapeInternal: {\r\n inclusion: [YES, NO],\r\n exclusion: [],\r\n },\r\n isWorkingHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteOohStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n STEP_WORKING_HOURS_LOOKUP,\r\n GARDEN,\r\n OUTBUILDING,\r\n PROPERTY,\r\n GULLY,\r\n WATERCOURSE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n DRAIN,\r\n GROUND,\r\n ODOUR,\r\n TOWARDS_WATERCOURSE,\r\n} from '../../../constants';\r\nimport { wasteBoundaryEscapeInternal } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteBoundaryEscapeInternal.heading);\r\nconst wasteBoundaryEscapeInternalControl = new Control('question', 'wasteBoundaryEscapeInternal');\r\nwasteBoundaryEscapeInternalControl.setLabel(wasteBoundaryEscapeInternal.heading);\r\nwasteBoundaryEscapeInternalControl.addOption(wasteBoundaryEscapeInternal.yes, YES, 'IconCheckTick');\r\nwasteBoundaryEscapeInternalControl.addOption(wasteBoundaryEscapeInternal.no, NO, 'IconCross');\r\nwasteBoundaryEscapeInternalControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteBoundaryEscapeInternalStep = new Step('step', 'waste-boundary-escape-internal');\r\nwasteBoundaryEscapeInternalStep.addBlock(headingBlock);\r\nwasteBoundaryEscapeInternalStep.addBlock(wasteBoundaryEscapeInternalControl);\r\nwasteBoundaryEscapeInternalStep.addBlock(buttonsBlock);\r\nwasteBoundaryEscapeInternalStep.exitHook = new Hook(STEP_WORKING_HOURS_LOOKUP, '');\r\nwasteBoundaryEscapeInternalStep.setTitle(wasteBoundaryEscapeInternal.title);\r\n\r\nwasteBoundaryEscapeInternalStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n inclusion: [GULLY, TOWARDS_WATERCOURSE],\r\n exclusion: [WATERCOURSE, PROPERTY, GARDEN, OUTBUILDING],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteBoundaryEscapeInternalStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n GAS,\r\n CHEMICAL,\r\n FARM,\r\n DRAIN,\r\n HOUSE,\r\n ODOUR,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n COVER,\r\n GROUND,\r\n POLLUTION,\r\n BATHROOM,\r\n KITCHEN,\r\n} from '../../../../constants';\r\nimport { wasteOdourType } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteOdourType.heading);\r\nconst wasteOdourTypeControl = new Control('question', 'wasteOdourType');\r\nwasteOdourTypeControl.setLabel(wasteOdourType.heading);\r\nwasteOdourTypeControl.setDefault('');\r\nwasteOdourTypeControl.addOption(wasteOdourType.gas, GAS, 'IconFlame');\r\nwasteOdourTypeControl.addOption(wasteOdourType.chemical, CHEMICAL, 'IconPetrol');\r\nwasteOdourTypeControl.addOption(wasteOdourType.farm, FARM, 'IconTractor');\r\nwasteOdourTypeControl.addOption(wasteOdourType.drain, DRAIN, 'IconConstantPressure');\r\nwasteOdourTypeControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteOdourTypeStep = new Step('step', 'waste-odour-type');\r\nwasteOdourTypeStep.addBlock(headingBlock);\r\nwasteOdourTypeStep.addBlock(wasteOdourTypeControl);\r\nwasteOdourTypeStep.addBlock(buttonsBlock);\r\nwasteOdourTypeStep.setIsContained(false);\r\nwasteOdourTypeStep.setTitle(wasteOdourType.title);\r\n\r\nwasteOdourTypeStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [ODOUR],\r\n exclusion: [COVER, GROUND, DRAIN],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteOdourTypeStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport {\r\n MAIN_WEBSITE_URL,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n CHEMICAL,\r\n DRAIN,\r\n FARM,\r\n GAS,\r\n COVER,\r\n GROUND,\r\n HOUSE,\r\n ODOUR,\r\n POLLUTION,\r\n BATHROOM,\r\n KITCHEN,\r\n backToMainWebsite,\r\n wasteGasInfo,\r\n NO,\r\n YES,\r\n} from '../../../../constants';\r\n\r\nconst headingBlock = new Heading('step-heading', wasteGasInfo.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', wasteGasInfo.info, 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', wasteGasInfo.subHeading, 2).setSize('sm');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteGasInfo.bulletHead, 'u-pb--100');\r\nconst bullet1 = new InfoBlock('bullet-point1', wasteGasInfo.bullets[0], 'u-pt--0 u-pb--50 u-mb--0');\r\nconst bullet2 = new InfoBlock('bullet-point1', wasteGasInfo.bullets[1], 'u-pt--0 u-pb--50 u-mb--0');\r\nconst bullet3 = new InfoBlock('bullet-point1', wasteGasInfo.bullets[2], 'u-pt--0 u-pb--50 u-mb--0');\r\nconst linkBlock = new Link('main-website-link', backToMainWebsite).setLink(MAIN_WEBSITE_URL).setTarget('_self');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteGasInfoStep = new Step('step', 'waste-gas-info');\r\nwasteGasInfoStep.setIsContained(true);\r\nwasteGasInfoStep.addBlock(headingBlock);\r\nwasteGasInfoStep.addBlock(infoBlock1);\r\nwasteGasInfoStep.addBlock(headingBlock2);\r\nwasteGasInfoStep.addBlock(infoBlock2);\r\nwasteGasInfoStep.addBlock(bullet1);\r\nwasteGasInfoStep.addBlock(bullet2);\r\nwasteGasInfoStep.addBlock(bullet3);\r\nwasteGasInfoStep.addBlock(linkBlock);\r\nwasteGasInfoStep.addBlock(buttonsBlock);\r\nwasteGasInfoStep.setTitle(wasteGasInfo.title);\r\n\r\nwasteGasInfoStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [ODOUR],\r\n exclusion: [COVER, GROUND, DRAIN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteGasInfoStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport {\r\n MAIN_WEBSITE_URL,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n CHEMICAL,\r\n DRAIN,\r\n FARM,\r\n GAS,\r\n COVER,\r\n GROUND,\r\n HOUSE,\r\n ODOUR,\r\n POLLUTION,\r\n BATHROOM,\r\n KITCHEN,\r\n backToMainWebsite,\r\n wasteChemicalInfo,\r\n NO,\r\n YES,\r\n} from '../../../../constants';\r\n\r\nconst headingBlock = new Heading('step-heading', wasteChemicalInfo.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', wasteChemicalInfo.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', wasteChemicalInfo.subHeading, 2).setSize('sm');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteChemicalInfo.detail[1]);\r\nconst linkBlock = new Link('main-website-link', backToMainWebsite).setLink(MAIN_WEBSITE_URL).setTarget('_self');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteChemicalInfoStep = new Step('step', 'waste-chemical-info');\r\nwasteChemicalInfoStep.setIsContained(true);\r\nwasteChemicalInfoStep.addBlock(headingBlock);\r\nwasteChemicalInfoStep.addBlock(infoBlock1);\r\nwasteChemicalInfoStep.addBlock(headingBlock2);\r\nwasteChemicalInfoStep.addBlock(infoBlock2);\r\nwasteChemicalInfoStep.addBlock(linkBlock);\r\nwasteChemicalInfoStep.addBlock(buttonsBlock);\r\nwasteChemicalInfoStep.setTitle(wasteChemicalInfo.title);\r\n\r\nwasteChemicalInfoStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [CHEMICAL],\r\n exclusion: [GAS, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [ODOUR],\r\n exclusion: [COVER, GROUND, DRAIN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [CHEMICAL],\r\n exclusion: [GAS, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [CHEMICAL],\r\n exclusion: [GAS, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteChemicalInfoStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n BOTH,\r\n DRAIN,\r\n NONE,\r\n BLOCKED,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n CHEMICAL,\r\n FARM,\r\n GAS,\r\n HOUSE,\r\n ODOUR,\r\n COVER,\r\n GROUND,\r\n POLLUTION,\r\n BATHROOM,\r\n KITCHEN,\r\n} from '../../../../constants';\r\nimport { wasteOdourOther } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteOdourOther.heading);\r\nconst wasteOdourOtherControl = new Control('question', 'wasteOdourOther');\r\nwasteOdourOtherControl.setLabel(wasteOdourOther.heading);\r\nwasteOdourOtherControl.setDefault('');\r\nwasteOdourOtherControl.addOption(wasteOdourOther.blockedDrain, DRAIN, 'IconInternalBlockage');\r\nwasteOdourOtherControl.addOption(wasteOdourOther.slowToilet, BLOCKED, 'IconToilet');\r\nwasteOdourOtherControl.addOption(wasteOdourOther.both, BOTH, 'IconHouse2');\r\nwasteOdourOtherControl.addOption(wasteOdourOther.none, NONE, 'IconCross');\r\nwasteOdourOtherControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteOdourOtherStep = new Step('step', 'waste-odour-other');\r\nwasteOdourOtherStep.addBlock(headingBlock);\r\nwasteOdourOtherStep.addBlock(wasteOdourOtherControl);\r\nwasteOdourOtherStep.addBlock(buttonsBlock);\r\nwasteOdourOtherStep.setIsContained(false);\r\nwasteOdourOtherStep.setTitle(wasteOdourOther.title);\r\n\r\nwasteOdourOtherStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [ODOUR],\r\n exclusion: [COVER, GROUND, DRAIN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteOdourOtherStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n INSIDE,\r\n INSIDE_OUTSIDE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n HOUSE,\r\n ODOUR,\r\n DRAIN,\r\n BLOCKED,\r\n BOTH,\r\n NONE,\r\n FARM,\r\n CHEMICAL,\r\n GAS,\r\n BATHROOM,\r\n KITCHEN,\r\n} from '../../../../constants';\r\nimport { wasteOdourOutside } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteOdourOutside.heading);\r\nconst wasteOdourOutsideControl = new Control('question', 'wasteOdourOutside');\r\nwasteOdourOutsideControl.setLabel(wasteOdourOutside.heading);\r\nwasteOdourOutsideControl.setDefault('');\r\nwasteOdourOutsideControl.addOption(wasteOdourOutside.inside, INSIDE, 'IconHouse2');\r\nwasteOdourOutsideControl.addOption(wasteOdourOutside.insideOutside, INSIDE_OUTSIDE, 'IconNatureReserve2');\r\nwasteOdourOutsideControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteOdourOutsideStep = new Step('step', 'waste-odour-outside');\r\nwasteOdourOutsideStep.addBlock(headingBlock);\r\nwasteOdourOutsideStep.addBlock(wasteOdourOutsideControl);\r\nwasteOdourOutsideStep.addBlock(buttonsBlock);\r\nwasteOdourOutsideStep.setIsContained(false);\r\nwasteOdourOutsideStep.setTitle(wasteOdourOutside.title);\r\n\r\nwasteOdourOutsideStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteOdourOutsideStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n APPLIANCE,\r\n SHOWER_TOILET_SINK,\r\n OTHER,\r\n UNDER_KITCHEN_SINK,\r\n INSIDE,\r\n INSIDE_OUTSIDE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n HOUSE,\r\n ODOUR,\r\n DRAIN,\r\n BLOCKED,\r\n BOTH,\r\n NONE,\r\n FARM,\r\n CHEMICAL,\r\n GAS,\r\n BATHROOM,\r\n KITCHEN,\r\n} from '../../../../constants';\r\nimport { wasteOdourSource } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteOdourSource.heading);\r\nconst wasteOdourSourceControl = new Control('question', 'wasteOdourSource');\r\nwasteOdourSourceControl.setLabel(wasteOdourSource.heading);\r\nwasteOdourSourceControl.setDefault('');\r\nwasteOdourSourceControl.addOption(wasteOdourSource.appliance, APPLIANCE, 'IconWashingMachine2');\r\nwasteOdourSourceControl.addOption(wasteOdourSource.shower, SHOWER_TOILET_SINK, 'IconShower3');\r\nwasteOdourSourceControl.addOption(wasteOdourSource.kitchen, UNDER_KITCHEN_SINK, 'IconSink');\r\nwasteOdourSourceControl.addOption(wasteOdourSource.other, OTHER, 'IconCross');\r\nwasteOdourSourceControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteOdourSourceStep = new Step('step', 'waste-odour-source');\r\nwasteOdourSourceStep.addBlock(headingBlock);\r\nwasteOdourSourceStep.addBlock(wasteOdourSourceControl);\r\nwasteOdourSourceStep.addBlock(buttonsBlock);\r\nwasteOdourSourceStep.setIsContained(false);\r\nwasteOdourSourceStep.setTitle(wasteOdourSource.title);\r\n\r\nwasteOdourSourceStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourOutside: {\r\n inclusion: [INSIDE],\r\n exclusion: [INSIDE_OUTSIDE],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteOdourSourceStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n CONSTANT,\r\n INTERMITTENT,\r\n INSIDE,\r\n INSIDE_OUTSIDE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n HOUSE,\r\n ODOUR,\r\n DRAIN,\r\n BLOCKED,\r\n BOTH,\r\n NONE,\r\n FARM,\r\n CHEMICAL,\r\n GAS,\r\n APPLIANCE,\r\n SHOWER_TOILET_SINK,\r\n OTHER,\r\n UNDER_KITCHEN_SINK,\r\n UPSTAIRS,\r\n MULTIPLE_ROOMS,\r\n ONE_ROOM,\r\n WHOLE_PROPERTY,\r\n GROUND_FLOOR,\r\n CELLAR,\r\n COVER,\r\n GROUND,\r\n POLLUTION,\r\n BATHROOM,\r\n KITCHEN,\r\n} from '../../../../constants';\r\nimport { wasteOdourFrequency } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteOdourFrequency.heading);\r\nconst wasteOdourFrequencyControl = new Control('question', 'wasteOdourFrequency');\r\nwasteOdourFrequencyControl.setLabel(wasteOdourFrequency.heading);\r\nwasteOdourFrequencyControl.setDefault('');\r\nwasteOdourFrequencyControl.addOption(wasteOdourFrequency.constant, CONSTANT, 'Icon24Hours');\r\nwasteOdourFrequencyControl.addOption(wasteOdourFrequency.intermittent, INTERMITTENT, 'IconTime');\r\nwasteOdourFrequencyControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteOdourFrequencyStep = new Step('step', 'waste-odour-frequency');\r\nwasteOdourFrequencyStep.addBlock(headingBlock);\r\nwasteOdourFrequencyStep.addBlock(wasteOdourFrequencyControl);\r\nwasteOdourFrequencyStep.addBlock(buttonsBlock);\r\nwasteOdourFrequencyStep.setIsContained(false);\r\nwasteOdourFrequencyStep.setTitle(wasteOdourFrequency.title);\r\n\r\nwasteOdourFrequencyStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourOutside: {\r\n inclusion: [INSIDE_OUTSIDE],\r\n exclusion: [INSIDE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourOutside: {\r\n inclusion: [INSIDE],\r\n exclusion: [INSIDE_OUTSIDE],\r\n },\r\n wasteOdourSource: {\r\n inclusion: [OTHER],\r\n exclusion: [APPLIANCE, SHOWER_TOILET_SINK, UNDER_KITCHEN_SINK],\r\n },\r\n wasteOdourLocation: {\r\n inclusion: [WHOLE_PROPERTY, GROUND_FLOOR, CELLAR],\r\n exclusion: [UPSTAIRS, MULTIPLE_ROOMS, ONE_ROOM],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [ODOUR],\r\n exclusion: [COVER, GROUND, DRAIN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteOdourFrequencyStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n WHOLE_PROPERTY,\r\n CELLAR,\r\n ONE_ROOM,\r\n MULTIPLE_ROOMS,\r\n UPSTAIRS,\r\n GROUND_FLOOR,\r\n APPLIANCE,\r\n SHOWER_TOILET_SINK,\r\n OTHER,\r\n UNDER_KITCHEN_SINK,\r\n INSIDE,\r\n INSIDE_OUTSIDE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n HOUSE,\r\n ODOUR,\r\n DRAIN,\r\n BLOCKED,\r\n BOTH,\r\n NONE,\r\n FARM,\r\n CHEMICAL,\r\n GAS,\r\n BATHROOM,\r\n KITCHEN,\r\n} from '../../../../constants';\r\nimport { wasteOdourLocation } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteOdourLocation.heading);\r\nconst wasteOdourLocationControl = new Control('question', 'wasteOdourLocation');\r\nwasteOdourLocationControl.setLabel(wasteOdourLocation.heading);\r\nwasteOdourLocationControl.setDefault('');\r\nwasteOdourLocationControl.addOption(wasteOdourLocation.wholeProperty, WHOLE_PROPERTY, 'IconHouse2');\r\nwasteOdourLocationControl.addOption(wasteOdourLocation.groundFloor, GROUND_FLOOR, 'IconGroundFloor');\r\nwasteOdourLocationControl.addOption(wasteOdourLocation.upstairs, UPSTAIRS, 'IconUpStairs');\r\nwasteOdourLocationControl.addOption(wasteOdourLocation.multipleRooms, MULTIPLE_ROOMS, 'IconDoors');\r\nwasteOdourLocationControl.addOption(wasteOdourLocation.oneRoom, ONE_ROOM, 'IconDoor');\r\nwasteOdourLocationControl.addOption(wasteOdourLocation.cellar, CELLAR, 'IconCellar');\r\nwasteOdourLocationControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteOdourLocationStep = new Step('step', 'waste-odour-location');\r\nwasteOdourLocationStep.addBlock(headingBlock);\r\nwasteOdourLocationStep.addBlock(wasteOdourLocationControl);\r\nwasteOdourLocationStep.addBlock(buttonsBlock);\r\nwasteOdourLocationStep.setIsContained(false);\r\nwasteOdourLocationStep.setTitle(wasteOdourLocation.title);\r\n\r\nwasteOdourLocationStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourOutside: {\r\n inclusion: [INSIDE],\r\n exclusion: [INSIDE_OUTSIDE],\r\n },\r\n wasteOdourSource: {\r\n inclusion: [OTHER],\r\n exclusion: [APPLIANCE, SHOWER_TOILET_SINK, UNDER_KITCHEN_SINK],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteOdourLocationStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport {\r\n MAIN_WEBSITE_URL,\r\n APPLIANCE,\r\n SHOWER_TOILET_SINK,\r\n OTHER,\r\n UNDER_KITCHEN_SINK,\r\n INSIDE,\r\n INSIDE_OUTSIDE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n HOUSE,\r\n ODOUR,\r\n DRAIN,\r\n BLOCKED,\r\n BOTH,\r\n NONE,\r\n FARM,\r\n CHEMICAL,\r\n GAS,\r\n UPSTAIRS,\r\n MULTIPLE_ROOMS,\r\n ONE_ROOM,\r\n WHOLE_PROPERTY,\r\n GROUND_FLOOR,\r\n CELLAR,\r\n PIPE_RESPONSIBILITY_URL,\r\n LOCAL_PLUMBER_URL,\r\n BATHROOM,\r\n KITCHEN,\r\n NO,\r\n YES,\r\n} from '../../../../constants';\r\nimport {\r\n backToMainWebsite,\r\n localPlumber,\r\n pipeResponsibility,\r\n wasteInternalOdourInfo,\r\n} from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', wasteInternalOdourInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', wasteInternalOdourInfo.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', wasteInternalOdourInfo.subHeading, 2).setSize('sm');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteInternalOdourInfo.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', wasteInternalOdourInfo.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', wasteInternalOdourInfo.detail[3]);\r\nconst linkBlock1 = new Link('link-block3', pipeResponsibility).setLink(PIPE_RESPONSIBILITY_URL).setTarget('_self');\r\nconst linkBlock2 = new Link('link-block4', localPlumber).setLink(LOCAL_PLUMBER_URL).setTarget('_self');\r\nconst linkBlock = new Link('link-block', backToMainWebsite, 'p-t')\r\n .setLink(MAIN_WEBSITE_URL)\r\n .setTarget('_self')\r\n .setFormat(true);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalOdourInfoStep = new Step('step', 'waste-internal-odour-info');\r\nwasteInternalOdourInfoStep.setIsContained(true);\r\nwasteInternalOdourInfoStep.addBlock(headingBlock);\r\nwasteInternalOdourInfoStep.addBlock(infoBlock);\r\nwasteInternalOdourInfoStep.addBlock(headingBlock2);\r\nwasteInternalOdourInfoStep.addBlock(infoBlock2);\r\nwasteInternalOdourInfoStep.addBlock(infoBlock3);\r\nwasteInternalOdourInfoStep.addBlock(infoBlock4);\r\nwasteInternalOdourInfoStep.addBlock(linkBlock1);\r\nwasteInternalOdourInfoStep.addBlock(linkBlock2);\r\nwasteInternalOdourInfoStep.addBlock(linkBlock);\r\nwasteInternalOdourInfoStep.addBlock(buttonsBlock);\r\nwasteInternalOdourInfoStep.setTitle(wasteInternalOdourInfo.title);\r\n\r\nwasteInternalOdourInfoStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourOutside: {\r\n inclusion: [INSIDE],\r\n exclusion: [INSIDE_OUTSIDE],\r\n },\r\n wasteOdourSource: {\r\n inclusion: [APPLIANCE, SHOWER_TOILET_SINK, UNDER_KITCHEN_SINK],\r\n exclusion: [OTHER],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourOutside: {\r\n inclusion: [INSIDE],\r\n exclusion: [INSIDE_OUTSIDE],\r\n },\r\n wasteOdourSource: {\r\n inclusion: [OTHER],\r\n exclusion: [APPLIANCE, SHOWER_TOILET_SINK, UNDER_KITCHEN_SINK],\r\n },\r\n wasteOdourLocation: {\r\n inclusion: [UPSTAIRS, MULTIPLE_ROOMS, ONE_ROOM],\r\n exclusion: [WHOLE_PROPERTY, GROUND_FLOOR, CELLAR],\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalOdourInfoStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n UNSURE,\r\n BLOCKED,\r\n CLEAR,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n KITCHEN,\r\n HOUSE,\r\n ODOUR,\r\n BATHROOM,\r\n APPLIANCE,\r\n TOILET,\r\n SINK,\r\n FLOOR,\r\n CELLAR,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n} from '../../../../constants';\r\nimport { wasteInternalExtdrain } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalExtdrain.heading);\r\nconst wasteInternalExtdrainControl = new Control('question', 'wasteInternalExtdrain');\r\nwasteInternalExtdrainControl.setLabel(wasteInternalExtdrain.heading);\r\nwasteInternalExtdrainControl.setDefault('');\r\nwasteInternalExtdrainControl.addOption(wasteInternalExtdrain.clear, CLEAR, 'IconDripping');\r\nwasteInternalExtdrainControl.addOption(wasteInternalExtdrain.blocked, BLOCKED, 'IconInternalBlockage');\r\nwasteInternalExtdrainControl.addOption(wasteInternalExtdrain.unsure, UNSURE, 'IconQuestion');\r\nwasteInternalExtdrainControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalExtdrainStep = new Step('step', 'waste-internal-extdrain');\r\nwasteInternalExtdrainStep.addBlock(headingBlock);\r\nwasteInternalExtdrainStep.addBlock(wasteInternalExtdrainControl);\r\nwasteInternalExtdrainStep.addBlock(buttonsBlock);\r\nwasteInternalExtdrainStep.setIsContained(false);\r\nwasteInternalExtdrainStep.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteInternalExtdrainStep.setTitle(wasteInternalExtdrain.title);\r\n\r\nwasteInternalExtdrainStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [KITCHEN],\r\n exclusion: [HOUSE, ODOUR, BATHROOM],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [APPLIANCE],\r\n exclusion: [TOILET, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalSink: {\r\n inclusion: [BLOCKED],\r\n exclusion: [CLEAR],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [SINK],\r\n exclusion: [TOILET, APPLIANCE, FLOOR, CELLAR],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalExtdrainStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n APPLIANCE,\r\n BATHROOM,\r\n CELLAR,\r\n DIFFERENT,\r\n DOWNSTAIRS_BATH,\r\n DOWNSTAIRS_FACILITIES,\r\n DOWNSTAIRS_TOILET,\r\n EXTERNAL,\r\n FLOOR,\r\n GRATE,\r\n HOUSE,\r\n INTERNAL,\r\n KITCHEN,\r\n MANHOLE,\r\n MULTIPLE,\r\n MULTIPLE_TOILETS,\r\n NO,\r\n ODOUR,\r\n PUBLIC,\r\n SAME,\r\n SINGLE,\r\n SINK,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n TOILET,\r\n UPSTAIRS_BATH,\r\n UPSTAIRS_FACILITIES,\r\n UPSTAIRS_TOILET,\r\n} from '../../../../constants';\r\nimport { wasteInternalExtother } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalExtother.heading);\r\nconst wasteInternalExtotherControl = new Control('question', 'wasteInternalExtother');\r\nwasteInternalExtotherControl.setLabel(wasteInternalExtother.heading);\r\nwasteInternalExtotherControl.setDefault('');\r\nwasteInternalExtotherControl.addOption(wasteInternalExtother.grate, GRATE, 'IconInternalBlockage');\r\nwasteInternalExtotherControl.addOption(wasteInternalExtother.manhole, MANHOLE, 'IconConstantPressure');\r\nwasteInternalExtotherControl.addOption(wasteInternalExtother.odour, ODOUR, 'IconBadSmell');\r\nwasteInternalExtotherControl.addOption(wasteInternalExtother.no, NO, 'IconCross');\r\nwasteInternalExtotherControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalExtotherStep = new Step('step', 'waste-internal-extother');\r\nwasteInternalExtotherStep.addBlock(headingBlock);\r\nwasteInternalExtotherStep.addBlock(wasteInternalExtotherControl);\r\nwasteInternalExtotherStep.addBlock(buttonsBlock);\r\nwasteInternalExtotherStep.setIsContained(false);\r\nwasteInternalExtotherStep.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteInternalExtotherStep.setTitle(wasteInternalExtother.title);\r\n\r\nwasteInternalExtotherStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n },\r\n]);\r\nwasteInternalExtotherStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalExtotherStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n DOWNSTAIRS_BATH,\r\n DOWNSTAIRS_FACILITIES,\r\n DOWNSTAIRS_TOILET,\r\n MULTIPLE_TOILETS,\r\n UPSTAIRS_BATH,\r\n UPSTAIRS_FACILITIES,\r\n UPSTAIRS_TOILET,\r\n BATHROOM,\r\n EXTERNAL,\r\n HOUSE,\r\n INTERNAL,\r\n KITCHEN,\r\n ODOUR,\r\n PUBLIC,\r\n TOILET,\r\n APPLIANCE,\r\n SINK,\r\n FLOOR,\r\n CELLAR,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n} from '../../../../constants';\r\nimport { wasteInternalFclty1 } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalFclty1.heading);\r\nconst wasteInternalFclty1Control = new Control('question', 'wasteInternalFclty1');\r\nwasteInternalFclty1Control.setLabel(wasteInternalFclty1.heading);\r\nwasteInternalFclty1Control.setDefault('');\r\nwasteInternalFclty1Control.addOption(wasteInternalFclty1.multipleToilets, MULTIPLE_TOILETS, 'IconHouse2');\r\nwasteInternalFclty1Control.addOption(wasteInternalFclty1.downstairsToilet, DOWNSTAIRS_TOILET, 'IconSink');\r\nwasteInternalFclty1Control.addOption(wasteInternalFclty1.downstairsBath, DOWNSTAIRS_BATH, 'IconCellar');\r\nwasteInternalFclty1Control.addOption(\r\n wasteInternalFclty1.downstairsFacilities,\r\n DOWNSTAIRS_FACILITIES,\r\n 'IconFloodHouseInternal',\r\n);\r\nwasteInternalFclty1Control.addOption(wasteInternalFclty1.upstairsToilet, UPSTAIRS_TOILET, 'IconToilet');\r\nwasteInternalFclty1Control.addOption(wasteInternalFclty1.upstairsBath, UPSTAIRS_BATH, 'IconUpStairs');\r\nwasteInternalFclty1Control.addOption(wasteInternalFclty1.upstairsFacilities, UPSTAIRS_FACILITIES, 'IconSink');\r\nwasteInternalFclty1Control.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalFclty1Step = new Step('step', 'waste-internal-fclty1');\r\nwasteInternalFclty1Step.addBlock(headingBlock);\r\nwasteInternalFclty1Step.addBlock(wasteInternalFclty1Control);\r\nwasteInternalFclty1Step.addBlock(buttonsBlock);\r\nwasteInternalFclty1Step.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteInternalFclty1Step.setTitle(wasteInternalFclty1.title);\r\n\r\nwasteInternalFclty1Step.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalFclty1Step };\r\n","import { ButtonRow, Control, Heading, InfoBlock, Step } from '../../../models';\r\nimport {\r\n SINK,\r\n SHOWER,\r\n BATH,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n BATHROOM,\r\n HOUSE,\r\n ODOUR,\r\n KITCHEN,\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n UPSTAIRS_BATH,\r\n TOILET,\r\n APPLIANCE,\r\n FLOOR,\r\n CELLAR,\r\n} from '../../../../constants';\r\nimport { wasteInternalFclty2 } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalFclty2.heading);\r\nconst wasteInternalFclty2CountControl = new Control('hidden', 'wasteInternalFclty2Count');\r\nconst wasteInternalFclty2Control = new Control('hidden', 'wasteInternalFclty2');\r\nwasteInternalFclty2Control.setLabel(wasteInternalFclty2.heading);\r\nconst infoBlock = new InfoBlock('info-block1', wasteInternalFclty2.detail);\r\nvar checkboxBlock = {\r\n type: 'countedCheckbox',\r\n count: 'wasteInternalFclty2Count',\r\n name: 'wasteInternalFclty2',\r\n error: wasteInternalFclty2.error,\r\n options: [\r\n { value: SINK, text: wasteInternalFclty2.sink },\r\n { value: SHOWER, text: wasteInternalFclty2.shower },\r\n { value: BATH, text: wasteInternalFclty2.bath },\r\n ],\r\n};\r\n\r\nconst wasteInternalFclty2Step = new Step('step', 'waste-internal-fclty2');\r\nwasteInternalFclty2Step.addBlock(headingBlock);\r\nwasteInternalFclty2Step.addBlock(infoBlock);\r\nwasteInternalFclty2Step.addBlock(checkboxBlock);\r\nwasteInternalFclty2Step.addBlock(wasteInternalFclty2Control);\r\nwasteInternalFclty2Step.addBlock(wasteInternalFclty2CountControl);\r\nwasteInternalFclty2Step.addBlock(new ButtonRow());\r\nwasteInternalFclty2Step.setIsContained(false);\r\nwasteInternalFclty2Step.setTitle(wasteInternalFclty2.title);\r\n\r\nwasteInternalFclty2Step.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n },\r\n]);\r\n\r\nwasteInternalFclty2Step.setValidation({\r\n wasteInternalFclty2: {\r\n presence: {\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { wasteInternalFclty2Step };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n APPLIANCE,\r\n BATHROOM,\r\n CELLAR,\r\n DIFFERENT,\r\n DOWNSTAIRS_BATH,\r\n DOWNSTAIRS_FACILITIES,\r\n DOWNSTAIRS_TOILET,\r\n EXTERNAL,\r\n FLOOR,\r\n HOUSE,\r\n INTERNAL,\r\n KITCHEN,\r\n MULTIPLE,\r\n MULTIPLE_TOILETS,\r\n ODOUR,\r\n PUBLIC,\r\n SAME,\r\n SINGLE,\r\n SINK,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n TOILET,\r\n UPSTAIRS_BATH,\r\n UPSTAIRS_FACILITIES,\r\n UPSTAIRS_TOILET,\r\n} from '../../../../constants';\r\nimport { wasteInternalSame } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalSame.heading);\r\nconst wasteInternalSameControl = new Control('question', 'wasteInternalSame');\r\nwasteInternalSameControl.setLabel(wasteInternalSame.heading);\r\nwasteInternalSameControl.setDefault('');\r\nwasteInternalSameControl.addOption(wasteInternalSame.different, DIFFERENT, 'IconCross');\r\nwasteInternalSameControl.addOption(wasteInternalSame.same, SAME, 'IconCheckTick');\r\nwasteInternalSameControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalSameStep = new Step('step', 'waste-internal-same');\r\nwasteInternalSameStep.addBlock(headingBlock);\r\nwasteInternalSameStep.addBlock(wasteInternalSameControl);\r\nwasteInternalSameStep.addBlock(buttonsBlock);\r\nwasteInternalSameStep.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteInternalSameStep.setTitle(wasteInternalSame.title);\r\n\r\nwasteInternalSameStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalSameStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n APPLIANCE,\r\n BATHROOM,\r\n CELLAR,\r\n EXTERNAL,\r\n FLOOR,\r\n HOUSE,\r\n INTERNAL,\r\n KITCHEN,\r\n ODOUR,\r\n PUBLIC,\r\n SINK,\r\n TOILET,\r\n} from '../../../../constants';\r\nimport { wasteInternalEntry } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalEntry.heading);\r\nconst wasteInternalEntryControl = new Control('question', 'wasteInternalEntry');\r\nwasteInternalEntryControl.setLabel(wasteInternalEntry.heading);\r\nwasteInternalEntryControl.setDefault('');\r\nwasteInternalEntryControl.addOption(wasteInternalEntry.toilet, TOILET, 'IconToilet');\r\nwasteInternalEntryControl.addOption(wasteInternalEntry.appliance, APPLIANCE, 'IconWashingMachine2');\r\nwasteInternalEntryControl.addOption(wasteInternalEntry.sink, SINK, 'IconSink');\r\nwasteInternalEntryControl.addOption(wasteInternalEntry.floor, FLOOR, 'IconFloodHouseInternal');\r\nwasteInternalEntryControl.addOption(wasteInternalEntry.cellar, CELLAR, 'IconCellar');\r\nwasteInternalEntryControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalEntryStep = new Step('step', 'waste-internal-entry');\r\nwasteInternalEntryStep.addBlock(headingBlock);\r\nwasteInternalEntryStep.addBlock(wasteInternalEntryControl);\r\nwasteInternalEntryStep.addBlock(buttonsBlock);\r\nwasteInternalEntryStep.setIsContained(false);\r\nwasteInternalEntryStep.setTitle(wasteInternalEntry.title);\r\n\r\nwasteInternalEntryStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalEntryStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n APPLIANCE,\r\n BATHROOM,\r\n CELLAR,\r\n DOWNSTAIRS_BATH,\r\n DOWNSTAIRS_FACILITIES,\r\n DOWNSTAIRS_TOILET,\r\n EXTERNAL,\r\n FLOOR,\r\n GRATE,\r\n HOUSE,\r\n INTERNAL,\r\n KITCHEN,\r\n MANHOLE,\r\n MANY,\r\n MULTIPLE_TOILETS,\r\n NO,\r\n NONE,\r\n ODOUR,\r\n ONCE,\r\n PUBLIC,\r\n SINK,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n TOILET,\r\n UPSTAIRS_BATH,\r\n UPSTAIRS_FACILITIES,\r\n UPSTAIRS_TOILET,\r\n} from '../../../../constants';\r\nimport { wasteInternalToilet } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalToilet.heading);\r\nconst wasteInternalToiletControl = new Control('question', 'wasteInternalToilet');\r\nwasteInternalToiletControl.setLabel(wasteInternalToilet.heading);\r\nwasteInternalToiletControl.setDefault('');\r\nwasteInternalToiletControl.addOption(wasteInternalToilet.once, ONCE, 'IconToilet');\r\nwasteInternalToiletControl.addOption(wasteInternalToilet.none, NONE, 'IconToilet');\r\nwasteInternalToiletControl.addOption(wasteInternalToilet.many, MANY, 'IconToilet');\r\nwasteInternalToiletControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalToiletStep = new Step('step', 'waste-internal-toilet');\r\nwasteInternalToiletStep.addBlock(headingBlock);\r\nwasteInternalToiletStep.addBlock(wasteInternalToiletControl);\r\nwasteInternalToiletStep.addBlock(buttonsBlock);\r\nwasteInternalToiletStep.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteInternalToiletStep.setTitle(wasteInternalToilet.title);\r\n\r\nwasteInternalToiletStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [MULTIPLE_TOILETS, DOWNSTAIRS_TOILET],\r\n exclusion: [UPSTAIRS_BATH, UPSTAIRS_TOILET, DOWNSTAIRS_BATH, UPSTAIRS_FACILITIES, DOWNSTAIRS_FACILITIES],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalToiletStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n APPLIANCE,\r\n BATHROOM,\r\n CELLAR,\r\n DOWNSTAIRS_BATH,\r\n DOWNSTAIRS_FACILITIES,\r\n DOWNSTAIRS_TOILET,\r\n EXTERNAL,\r\n FLOOR,\r\n GRATE,\r\n HOUSE,\r\n INTERNAL,\r\n KITCHEN,\r\n MANHOLE,\r\n MANY,\r\n MULTIPLE_TOILETS,\r\n NONE,\r\n ODOUR,\r\n ONCE,\r\n PUBLIC,\r\n SINK,\r\n TOILET,\r\n UPSTAIRS_BATH,\r\n UPSTAIRS_FACILITIES,\r\n UPSTAIRS_TOILET,\r\n SINGLE,\r\n MULTIPLE,\r\n DIFFERENT,\r\n SAME,\r\n BLOCKED,\r\n CLEAR,\r\n UNSURE,\r\n GROUND_FLOOR,\r\n GARAGE,\r\n OTHER,\r\n UPSTAIRS,\r\n SLOW_DRAINAGE,\r\n CHUTE,\r\n AIRBRICK,\r\n PIPE,\r\n CONSTANT,\r\n INTERMITTENT,\r\n} from '../../../../constants';\r\nimport { wasteTimedAccessToday } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteTimedAccessToday.heading);\r\nconst wasteTimedAccessTodayControl = new Control('question', 'wasteTimedAccessToday');\r\nwasteTimedAccessTodayControl.setLabel(wasteTimedAccessToday.heading);\r\nwasteTimedAccessTodayControl.setDefault('');\r\nwasteTimedAccessTodayControl.addOption(wasteTimedAccessToday.yes, YES, 'IconCheckTick');\r\nwasteTimedAccessTodayControl.addOption(wasteTimedAccessToday.no, NO, 'IconCross');\r\nwasteTimedAccessTodayControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteTimedAccessTodayStep = new Step('step', 'waste-timed-access-today');\r\nwasteTimedAccessTodayStep.addBlock(headingBlock);\r\nwasteTimedAccessTodayStep.addBlock(wasteTimedAccessTodayControl);\r\nwasteTimedAccessTodayStep.addBlock(buttonsBlock);\r\nwasteTimedAccessTodayStep.setIsContained(false);\r\nwasteTimedAccessTodayStep.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteTimedAccessTodayStep.setTitle(wasteTimedAccessToday.title);\r\n\r\nwasteTimedAccessTodayStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n wasteInternalToilet: {\r\n inclusion: [ONCE, NONE],\r\n exclusion: [MANY],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [SAME],\r\n exclusion: [DIFFERENT],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [MULTIPLE_TOILETS, DOWNSTAIRS_TOILET],\r\n exclusion: [UPSTAIRS_TOILET, DOWNSTAIRS_BATH, UPSTAIRS_BATH, UPSTAIRS_FACILITIES, DOWNSTAIRS_FACILITIES],\r\n },\r\n wasteInternalToilet: {\r\n inclusion: [ONCE, NONE],\r\n exclusion: [MANY],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [DOWNSTAIRS_BATH, DOWNSTAIRS_FACILITIES, UPSTAIRS_FACILITIES],\r\n exclusion: [MULTIPLE_TOILETS, DOWNSTAIRS_TOILET, UPSTAIRS_BATH, UPSTAIRS_TOILET],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [APPLIANCE],\r\n exclusion: [TOILET, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalSink: {\r\n inclusion: [BLOCKED],\r\n exclusion: [CLEAR],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [BLOCKED, UNSURE],\r\n exclusion: [CLEAR],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [SINK],\r\n exclusion: [TOILET, APPLIANCE, FLOOR, CELLAR],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [BLOCKED, UNSURE],\r\n exclusion: [CLEAR],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS, CELLAR],\r\n exclusion: [],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n exclusion: [NONE],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [OTHER],\r\n exclusion: [CHUTE, AIRBRICK, PIPE],\r\n },\r\n wasteInternalText: {\r\n presence: true,\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [PIPE],\r\n exclusion: [CHUTE, AIRBRICK, OTHER],\r\n },\r\n wasteInternalFreq: {\r\n inclusion: [CONSTANT],\r\n exclusion: [INTERMITTENT],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteTimedAccessTodayStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n APPLIANCE,\r\n BATHROOM,\r\n CELLAR,\r\n DOWNSTAIRS_BATH,\r\n DOWNSTAIRS_FACILITIES,\r\n DOWNSTAIRS_TOILET,\r\n EXTERNAL,\r\n FLOOR,\r\n GRATE,\r\n HOUSE,\r\n INTERNAL,\r\n KITCHEN,\r\n MANHOLE,\r\n MANY,\r\n MULTIPLE_TOILETS,\r\n NONE,\r\n ODOUR,\r\n ONCE,\r\n PUBLIC,\r\n SINK,\r\n TOILET,\r\n UPSTAIRS_BATH,\r\n UPSTAIRS_FACILITIES,\r\n UPSTAIRS_TOILET,\r\n SINGLE,\r\n MULTIPLE,\r\n SAME,\r\n DIFFERENT,\r\n BLOCKED,\r\n CLEAR,\r\n UNSURE,\r\n GROUND_FLOOR,\r\n GARAGE,\r\n OTHER,\r\n UPSTAIRS,\r\n SLOW_DRAINAGE,\r\n CHUTE,\r\n AIRBRICK,\r\n PIPE,\r\n CONSTANT,\r\n INTERMITTENT,\r\n} from '../../../../constants';\r\nimport { wasteTimedAccessTomorrow } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteTimedAccessTomorrow.heading);\r\nconst wasteTimedAccessTomorrowControl = new Control('question', 'wasteTimedAccessTomorrow');\r\nwasteTimedAccessTomorrowControl.setLabel(wasteTimedAccessTomorrow.heading);\r\nwasteTimedAccessTomorrowControl.setDefault('');\r\nwasteTimedAccessTomorrowControl.addOption(wasteTimedAccessTomorrow.yes, YES, 'IconCheckTick');\r\nwasteTimedAccessTomorrowControl.addOption(wasteTimedAccessTomorrow.no, NO, 'IconCross');\r\nwasteTimedAccessTomorrowControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteTimedAccessTomorrowStep = new Step('step', 'waste-timed-access-tomorrow');\r\nwasteTimedAccessTomorrowStep.addBlock(headingBlock);\r\nwasteTimedAccessTomorrowStep.addBlock(wasteTimedAccessTomorrowControl);\r\nwasteTimedAccessTomorrowStep.addBlock(buttonsBlock);\r\nwasteTimedAccessTomorrowStep.setIsContained(false);\r\nwasteTimedAccessTomorrowStep.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteTimedAccessTomorrowStep.setTitle(wasteTimedAccessTomorrow.title);\r\n\r\nwasteTimedAccessTomorrowStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n wasteInternalToilet: {\r\n inclusion: [ONCE, NONE],\r\n exclusion: [MANY],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [SAME],\r\n exclusion: [DIFFERENT],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [GRATE, MANHOLE, ODOUR],\r\n exclusion: [NO],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [MULTIPLE_TOILETS, DOWNSTAIRS_TOILET],\r\n exclusion: [UPSTAIRS_TOILET, DOWNSTAIRS_BATH, UPSTAIRS_BATH, UPSTAIRS_FACILITIES, DOWNSTAIRS_FACILITIES],\r\n },\r\n wasteInternalToilet: {\r\n inclusion: [ONCE, NONE],\r\n exclusion: [MANY],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [DOWNSTAIRS_BATH, DOWNSTAIRS_FACILITIES, UPSTAIRS_FACILITIES],\r\n exclusion: [MULTIPLE_TOILETS, DOWNSTAIRS_TOILET, UPSTAIRS_BATH, UPSTAIRS_TOILET],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [APPLIANCE],\r\n exclusion: [TOILET, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalSink: {\r\n inclusion: [BLOCKED],\r\n exclusion: [CLEAR],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [BLOCKED, UNSURE],\r\n exclusion: [CLEAR],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [SINK],\r\n exclusion: [TOILET, APPLIANCE, FLOOR, CELLAR],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [BLOCKED, UNSURE],\r\n exclusion: [CLEAR],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS, CELLAR],\r\n exclusion: [],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n exclusion: [NONE],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [OTHER],\r\n exclusion: [CHUTE, AIRBRICK, PIPE],\r\n },\r\n wasteInternalText: {\r\n presence: true,\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [PIPE],\r\n exclusion: [CHUTE, AIRBRICK, OTHER],\r\n },\r\n wasteInternalFreq: {\r\n inclusion: [CONSTANT],\r\n exclusion: [INTERMITTENT],\r\n },\r\n isAccessHours: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteTimedAccessTomorrowStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n BLOCKED,\r\n CLEAR,\r\n APPLIANCE,\r\n BATHROOM,\r\n CELLAR,\r\n EXTERNAL,\r\n FLOOR,\r\n HOUSE,\r\n INTERNAL,\r\n KITCHEN,\r\n ODOUR,\r\n PUBLIC,\r\n SINK,\r\n TOILET,\r\n} from '../../../../constants';\r\nimport { wasteInternalSink } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalSink.heading);\r\nconst wasteInternalSinkControl = new Control('question', 'wasteInternalSink');\r\nwasteInternalSinkControl.setLabel(wasteInternalSink.heading);\r\nwasteInternalSinkControl.setDefault('');\r\nwasteInternalSinkControl.addOption(wasteInternalSink.clear, CLEAR, 'IconSink');\r\nwasteInternalSinkControl.addOption(wasteInternalSink.blocked, BLOCKED, 'IconInternalBlockage');\r\nwasteInternalSinkControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalSinkStep = new Step('step', 'waste-internal-sink');\r\nwasteInternalSinkStep.addBlock(headingBlock);\r\nwasteInternalSinkStep.addBlock(wasteInternalSinkControl);\r\nwasteInternalSinkStep.addBlock(buttonsBlock);\r\nwasteInternalSinkStep.setTitle(wasteInternalSink.title);\r\n\r\nwasteInternalSinkStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [APPLIANCE],\r\n exclusion: [TOILET, SINK, FLOOR, CELLAR],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalSinkStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n CELLAR,\r\n GARAGE,\r\n GROUND_FLOOR,\r\n OTHER,\r\n UPSTAIRS,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n KITCHEN,\r\n HOUSE,\r\n ODOUR,\r\n BATHROOM,\r\n APPLIANCE,\r\n TOILET,\r\n SINK,\r\n FLOOR,\r\n} from '../../../../constants';\r\nimport { wasteInternalArea } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalArea.heading);\r\nconst wasteInternalAreaControl = new Control('question', 'wasteInternalArea');\r\nwasteInternalAreaControl.setLabel(wasteInternalArea.heading);\r\nwasteInternalAreaControl.setDefault('');\r\nwasteInternalAreaControl.addOption(wasteInternalArea.groundFloor, GROUND_FLOOR, 'IconGroundFloor');\r\nwasteInternalAreaControl.addOption(wasteInternalArea.garage, GARAGE, 'IconHouse2');\r\nwasteInternalAreaControl.addOption(wasteInternalArea.cellar, CELLAR, 'IconCellar');\r\nwasteInternalAreaControl.addOption(wasteInternalArea.upstairs, UPSTAIRS, 'IconUpStairs');\r\nwasteInternalAreaControl.addOption(wasteInternalArea.other, OTHER, 'IconCross');\r\nwasteInternalAreaControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalAreaStep = new Step('step', 'waste-internal-area');\r\nwasteInternalAreaStep.addBlock(headingBlock);\r\nwasteInternalAreaStep.addBlock(wasteInternalAreaControl);\r\nwasteInternalAreaStep.addBlock(buttonsBlock);\r\nwasteInternalAreaStep.setIsContained(false);\r\nwasteInternalAreaStep.setTitle(wasteInternalArea.title);\r\n\r\nwasteInternalAreaStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalAreaStep };\r\n","import { ButtonRow, Control, Heading, Hook, InfoBlock, Step } from '../../../models';\r\nimport {\r\n BLOCKED,\r\n MANHOLE,\r\n NONE,\r\n ODOUR,\r\n SLOW_DRAINAGE,\r\n CELLAR,\r\n GARAGE,\r\n GROUND_FLOOR,\r\n OTHER,\r\n UPSTAIRS,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n KITCHEN,\r\n HOUSE,\r\n BATHROOM,\r\n APPLIANCE,\r\n TOILET,\r\n SINK,\r\n FLOOR,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n} from '../../../../constants';\r\nimport { wasteInternalOther } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalOther.heading);\r\nconst infoBlock = new InfoBlock('info-block1', wasteInternalOther.detail);\r\nconst wasteInternalOtherControl = new Control('checkbox', 'wasteInternalOther');\r\nwasteInternalOtherControl.setLabel(wasteInternalOther.heading);\r\nwasteInternalOtherControl.hideLabel = true;\r\nwasteInternalOtherControl.setDefault('');\r\nwasteInternalOtherControl.addOption(wasteInternalOther.slow, SLOW_DRAINAGE, null);\r\nwasteInternalOtherControl.addOption(wasteInternalOther.blocked, BLOCKED, null);\r\nwasteInternalOtherControl.addOption(wasteInternalOther.mahole, MANHOLE, null);\r\nwasteInternalOtherControl.addOption(wasteInternalOther.odour, ODOUR, null);\r\nwasteInternalOtherControl.addOption(wasteInternalOther.no, NONE, null, true);\r\n\r\nconst wasteInternalOtherStep = new Step('step', 'waste-internal-other');\r\nwasteInternalOtherStep.addBlock(headingBlock);\r\nwasteInternalOtherStep.addBlock(infoBlock);\r\nwasteInternalOtherStep.addBlock(wasteInternalOtherControl);\r\nwasteInternalOtherStep.addBlock(new ButtonRow());\r\nwasteInternalOtherStep.setIsContained(false);\r\nwasteInternalOtherStep.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteInternalOtherStep.setTitle(wasteInternalOther.title);\r\n\r\nwasteInternalOtherStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS, CELLAR],\r\n exclusion: [],\r\n },\r\n },\r\n]);\r\nwasteInternalOtherStep.setValidation({\r\n wasteInternalOther: {\r\n presence: {\r\n message: wasteInternalOther.validation,\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { wasteInternalOtherStep };\r\n","import { ButtonRow, Control, Heading, Step } from '../../../models';\r\nimport {\r\n AIRBRICK,\r\n CHUTE,\r\n OTHER,\r\n PIPE,\r\n BLOCKED,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n KITCHEN,\r\n HOUSE,\r\n ODOUR,\r\n BATHROOM,\r\n APPLIANCE,\r\n TOILET,\r\n SINK,\r\n FLOOR,\r\n CELLAR,\r\n GROUND_FLOOR,\r\n GARAGE,\r\n UPSTAIRS,\r\n SLOW_DRAINAGE,\r\n MANHOLE,\r\n NONE,\r\n} from '../../../../constants';\r\nimport { wasteInternalSource } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalSource.heading);\r\nconst wasteInternalSourceControl = new Control('question', 'wasteInternalSource');\r\nwasteInternalSourceControl.setLabel(wasteInternalSource.heading);\r\nwasteInternalSourceControl.setDefault('');\r\nwasteInternalSourceControl.addOption(wasteInternalSource.pipe, PIPE, 'IconInternalBlockage');\r\nwasteInternalSourceControl.addOption(wasteInternalSource.chute, CHUTE, 'IconPropertyAccess');\r\nwasteInternalSourceControl.addOption(wasteInternalSource.airbrick, AIRBRICK, 'IconCover');\r\nwasteInternalSourceControl.addOption(wasteInternalSource.other, OTHER, 'IconQuestion');\r\nwasteInternalSourceControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalSourceStep = new Step('step', 'waste-internal-source');\r\nwasteInternalSourceStep.addBlock(headingBlock);\r\nwasteInternalSourceStep.addBlock(wasteInternalSourceControl);\r\nwasteInternalSourceStep.addBlock(buttonsBlock);\r\nwasteInternalSourceStep.setTitle(wasteInternalSource.title);\r\n\r\nwasteInternalSourceStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalSourceStep };\r\n","import { ButtonRow, Control, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n CONSTANT,\r\n INTERMITTENT,\r\n AIRBRICK,\r\n CHUTE,\r\n OTHER,\r\n PIPE,\r\n BLOCKED,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n KITCHEN,\r\n HOUSE,\r\n ODOUR,\r\n BATHROOM,\r\n APPLIANCE,\r\n TOILET,\r\n SINK,\r\n FLOOR,\r\n CELLAR,\r\n GROUND_FLOOR,\r\n GARAGE,\r\n UPSTAIRS,\r\n SLOW_DRAINAGE,\r\n MANHOLE,\r\n NONE,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n} from '../../../../constants';\r\nimport { wasteInternalFreq } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalFreq.heading);\r\nconst wasteInternalFreqControl = new Control('question', 'wasteInternalFreq');\r\nwasteInternalFreqControl.setLabel(wasteInternalFreq.heading);\r\nwasteInternalFreqControl.setDefault('');\r\nwasteInternalFreqControl.addOption(wasteInternalFreq.constant, CONSTANT, 'Icon24Hours');\r\nwasteInternalFreqControl.addOption(wasteInternalFreq.intermittent, INTERMITTENT, 'IconTime');\r\nwasteInternalFreqControl.clear = true;\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteInternalFreqStep = new Step('step', 'waste-internal-freq');\r\nwasteInternalFreqStep.addBlock(headingBlock);\r\nwasteInternalFreqStep.addBlock(wasteInternalFreqControl);\r\nwasteInternalFreqStep.addBlock(buttonsBlock);\r\nwasteInternalFreqStep.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteInternalFreqStep.setTitle(wasteInternalFreq.title);\r\n\r\nwasteInternalFreqStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [PIPE],\r\n exclusion: [CHUTE, AIRBRICK, OTHER],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalFreqStep };\r\n","import { ButtonRow, Heading, Hook, Step } from '../../../models';\r\nimport {\r\n WI_TEXT_CHAR_COUNT,\r\n AIRBRICK,\r\n CHUTE,\r\n OTHER,\r\n PIPE,\r\n BLOCKED,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n KITCHEN,\r\n HOUSE,\r\n ODOUR,\r\n BATHROOM,\r\n APPLIANCE,\r\n TOILET,\r\n SINK,\r\n FLOOR,\r\n CELLAR,\r\n GROUND_FLOOR,\r\n GARAGE,\r\n UPSTAIRS,\r\n SLOW_DRAINAGE,\r\n MANHOLE,\r\n NONE,\r\n STEP_ACCESS_HOURS_LOOKUP,\r\n} from '../../../../constants';\r\nimport { wasteInternalText } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteInternalText.heading);\r\nconst textBlock = {\r\n type: 'textarea',\r\n label: wasteInternalText.label,\r\n name: 'wasteInternalText',\r\n maxLength: WI_TEXT_CHAR_COUNT,\r\n showMaxLength: true,\r\n placeholder: wasteInternalText.placeholder,\r\n isRequiredMarker: true,\r\n};\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst wasteInternalTextStep = new Step('step', 'waste-internal-text');\r\nwasteInternalTextStep.addBlock(headingBlock);\r\nwasteInternalTextStep.addBlock(textBlock);\r\nwasteInternalTextStep.addBlock(buttonsBlock);\r\nwasteInternalTextStep.setIsContained(false);\r\nwasteInternalTextStep.exitHook = new Hook(STEP_ACCESS_HOURS_LOOKUP, '');\r\nwasteInternalTextStep.setTitle(wasteInternalText.title);\r\n\r\nwasteInternalTextStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [OTHER],\r\n exclusion: [CHUTE, AIRBRICK, PIPE],\r\n },\r\n },\r\n]);\r\n\r\nwasteInternalTextStep.setValidation({\r\n wasteInternalText: {\r\n presence: {\r\n message: wasteInternalText.validation,\r\n allowEmpty: false,\r\n },\r\n },\r\n});\r\n\r\nexport { wasteInternalTextStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../models';\r\nimport { PRESSURE, NO_WATER } from '../../../constants';\r\nimport { nwlpInitialProblem } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', nwlpInitialProblem.heading);\r\nconst nwlpInitialProblemControl = new Control('question', 'nwlpInitialProblem');\r\nnwlpInitialProblemControl.setLabel(nwlpInitialProblem.heading);\r\nnwlpInitialProblemControl.addOption(nwlpInitialProblem.pressure, PRESSURE, 'IconLowPressure');\r\nnwlpInitialProblemControl.addOption(nwlpInitialProblem.noWater, NO_WATER, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpInitialProblemStep = new Step('step', 'nwlp-initial-problem');\r\nnwlpInitialProblemStep.addBlock(headingBlock);\r\nnwlpInitialProblemStep.addBlock(nwlpInitialProblemControl);\r\nnwlpInitialProblemStep.addBlock(buttonsBlock);\r\nnwlpInitialProblemStep.setTitle(nwlpInitialProblem.title);\r\n\r\nnwlpInitialProblemStep.setConstraints({\r\n isWasteInitial: {\r\n exclusion: [true],\r\n },\r\n isCleanInitial: {\r\n exclusion: [true],\r\n },\r\n isNwlpInitial: {\r\n inclusion: [true],\r\n },\r\n});\r\n\r\nexport { nwlpInitialProblemStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../models';\r\nimport { HIGH_PRESSURE, LOW_PRESSURE, NO_WATER, PRESSURE } from '../../../constants';\r\nimport { nwlpPressureProblem } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', nwlpPressureProblem.heading);\r\nconst nwlpPressureProblemControl = new Control('question', 'nwlpPressureProblem');\r\nnwlpPressureProblemControl.setLabel(nwlpPressureProblem.heading);\r\nnwlpPressureProblemControl.addOption(nwlpPressureProblem.highPressure, HIGH_PRESSURE, 'IconTap3');\r\nnwlpPressureProblemControl.addOption(nwlpPressureProblem.lowPressure, LOW_PRESSURE, 'IconDripping');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpPressureProblemStep = new Step('step', 'nwlp-pressure-problem');\r\nnwlpPressureProblemStep.addBlock(headingBlock);\r\nnwlpPressureProblemStep.addBlock(nwlpPressureProblemControl);\r\nnwlpPressureProblemStep.addBlock(buttonsBlock);\r\nnwlpPressureProblemStep.setTitle(nwlpPressureProblem.title);\r\n\r\nnwlpPressureProblemStep.setConstraints({\r\n nwlpInitialProblem: {\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n});\r\n\r\nexport { nwlpPressureProblemStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n HIGH_PRESSURE,\r\n LOW_PRESSURE,\r\n PRESSURE,\r\n NO_WATER,\r\n HOT_COLD,\r\n NOT_FIRST_FEED,\r\n HOT_ONLY,\r\n FIRST_FEED,\r\n} from '../../../constants';\r\nimport { nwlpProblemNeighbour } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', nwlpProblemNeighbour.heading);\r\nconst nwlpProblemNeighbourControl = new Control('question', 'nwlpProblemNeighbour');\r\nnwlpProblemNeighbourControl.setLabel(nwlpProblemNeighbour.heading);\r\nnwlpProblemNeighbourControl.addOption(nwlpProblemNeighbour.yes, YES, 'IconCheckTick');\r\nnwlpProblemNeighbourControl.addOption(nwlpProblemNeighbour.no, NO, 'IconCross');\r\nnwlpProblemNeighbourControl.addOption(nwlpProblemNeighbour.notSure, UNSURE, 'IconQuestion');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpProblemNeighbourStep = new Step('step', 'nwlp-problem-neighbour');\r\nnwlpProblemNeighbourStep.addBlock(headingBlock);\r\nnwlpProblemNeighbourStep.addBlock(nwlpProblemNeighbourControl);\r\nnwlpProblemNeighbourStep.addBlock(buttonsBlock);\r\nnwlpProblemNeighbourStep.setTitle(nwlpProblemNeighbour.title);\r\n\r\nnwlpProblemNeighbourStep.setConstraints([\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n nwlpPressureProblem: {\r\n inclusion: [HIGH_PRESSURE],\r\n exclusion: [LOW_PRESSURE],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n nwlpPressureProblem: {\r\n inclusion: [LOW_PRESSURE],\r\n exclusion: [HIGH_PRESSURE],\r\n },\r\n nwlpPressureSupply: {\r\n inclusion: [HOT_COLD],\r\n exclusion: [NOT_FIRST_FEED, HOT_ONLY],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpPropertyType: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpAnyWater: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n nwlpPropertyType: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpAnyWater: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n isNoWaterEnabled: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n nwlpNoticeDateTime: {\r\n presence: true,\r\n },\r\n nwlpNoticeConfirm: {\r\n inclusion: ['TRUE'],\r\n },\r\n nwlpPropertyType: {\r\n inclusion: [YES, NO],\r\n },\r\n },\r\n]);\r\n\r\nexport { nwlpProblemNeighbourStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../models';\r\nimport {\r\n CONSTANT,\r\n INTERMITTENT,\r\n PRESSURE,\r\n NO_WATER,\r\n HIGH_PRESSURE,\r\n LOW_PRESSURE,\r\n YES,\r\n NO,\r\n UNSURE,\r\n} from '../../../constants';\r\nimport { nwlpProblemFrequency } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', nwlpProblemFrequency.heading);\r\nconst nwlpProblemFrequencyControl = new Control('question', 'nwlpProblemFrequency');\r\nnwlpProblemFrequencyControl.setLabel(nwlpProblemFrequency.heading);\r\nnwlpProblemFrequencyControl.addOption(nwlpProblemFrequency.constant, CONSTANT, 'Icon24Hours');\r\nnwlpProblemFrequencyControl.addOption(nwlpProblemFrequency.intermittent, INTERMITTENT, 'IconTime');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpProblemFrequencyStep = new Step('step', 'nwlp-problem-frequency');\r\nnwlpProblemFrequencyStep.addBlock(headingBlock);\r\nnwlpProblemFrequencyStep.addBlock(nwlpProblemFrequencyControl);\r\nnwlpProblemFrequencyStep.addBlock(buttonsBlock);\r\nnwlpProblemFrequencyStep.setTitle(nwlpProblemFrequency.title);\r\n\r\nnwlpProblemFrequencyStep.setConstraints({\r\n nwlpInitialProblem: {\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n nwlpPressureProblem: {\r\n inclusion: [HIGH_PRESSURE],\r\n exclusion: [LOW_PRESSURE],\r\n },\r\n nwlpProblemNeighbour: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n});\r\n\r\nexport { nwlpProblemFrequencyStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../models';\r\nimport {\r\n NOT_FIRST_FEED,\r\n HOT_ONLY,\r\n HOT_COLD,\r\n PRESSURE,\r\n NO_WATER,\r\n LOW_PRESSURE,\r\n HIGH_PRESSURE,\r\n} from '../../../constants';\r\nimport { nwlpPressureSupply } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', nwlpPressureSupply.heading);\r\nconst nwlpPressureSupplyControl = new Control('question', 'nwlpPressureSupply');\r\nnwlpPressureSupplyControl.setLabel(nwlpPressureSupply.heading);\r\nnwlpPressureSupplyControl.addOption(nwlpPressureSupply.notFirstFeed, NOT_FIRST_FEED, 'IconOne');\r\nnwlpPressureSupplyControl.addOption(nwlpPressureSupply.hotOnly, HOT_ONLY, 'IconTwo');\r\nnwlpPressureSupplyControl.addOption(nwlpPressureSupply.hotCold, HOT_COLD, 'IconThree');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpPressureSupplyStep = new Step('step', 'nwlp-pressure-supply');\r\nnwlpPressureSupplyStep.addBlock(headingBlock);\r\nnwlpPressureSupplyStep.addBlock(nwlpPressureSupplyControl);\r\nnwlpPressureSupplyStep.addBlock(buttonsBlock);\r\nnwlpPressureSupplyStep.setTitle(nwlpPressureSupply.title);\r\n\r\nnwlpPressureSupplyStep.setConstraints({\r\n nwlpInitialProblem: {\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n nwlpPressureProblem: {\r\n inclusion: [LOW_PRESSURE],\r\n exclusion: [HIGH_PRESSURE],\r\n },\r\n});\r\n\r\nexport { nwlpPressureSupplyStep };\r\n","import { Heading, Control, Step, ButtonRow, InfoBlock } from '../../models';\r\nimport {\r\n NO,\r\n UNSURE,\r\n YES,\r\n PRESSURE,\r\n NO_WATER,\r\n LOW_PRESSURE,\r\n HIGH_PRESSURE,\r\n HOT_COLD,\r\n NOT_FIRST_FEED,\r\n HOT_ONLY,\r\n FIRST_FEED,\r\n} from '../../../constants';\r\nimport { nwlpStopTap } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', nwlpStopTap.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', nwlpStopTap.blurb);\r\nconst heading = new Heading('step-heading2', nwlpStopTap.actions, 2).setSize('sm');\r\nconst infoBlock2 = new InfoBlock('bullet-point1', nwlpStopTap.actionsArr[0], 'u-pt--0 u-pb--50 u-pl u-mb--0');\r\nconst infoBlock3 = new InfoBlock('bullet-point2', nwlpStopTap.actionsArr[1], 'u-pt--0 u-pb--50 u-pl u-mb--0');\r\nconst headingBlock2 = new Heading('step-heading2', nwlpStopTap.solveIssue, 2, 'p-t').setSize('md');\r\nconst radio = new Control('radio', 'nwlpStopTap').setLabel(nwlpStopTap.solveIssue).labelOff();\r\nradio.addOption(nwlpStopTap.yes, YES, null);\r\nradio.addOption(nwlpStopTap.no, NO, null);\r\nradio.addOption(nwlpStopTap.unsure, UNSURE, null);\r\nradio.setDefault(YES);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst nwlpStopTapStep = new Step('step', 'nwlp-stop-tap');\r\nnwlpStopTapStep.setIsContained(true);\r\nnwlpStopTapStep.addBlock(headingBlock);\r\nnwlpStopTapStep.addBlock(infoBlock1);\r\nnwlpStopTapStep.addBlock(heading);\r\nnwlpStopTapStep.addBlock(infoBlock2);\r\nnwlpStopTapStep.addBlock(infoBlock3);\r\nnwlpStopTapStep.addBlock(headingBlock2);\r\nnwlpStopTapStep.addBlock(radio);\r\nnwlpStopTapStep.addBlock(buttonsBlock);\r\nnwlpStopTapStep.setTitle(nwlpStopTap.title);\r\n\r\nnwlpStopTapStep.setConstraints([\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n nwlpPressureProblem: {\r\n inclusion: [LOW_PRESSURE],\r\n exclusion: [HIGH_PRESSURE],\r\n },\r\n nwlpPressureSupply: {\r\n inclusion: [HOT_COLD],\r\n exclusion: [NOT_FIRST_FEED, HOT_ONLY],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n },\r\n]);\r\n\r\nexport { nwlpStopTapStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n PRESSURE,\r\n NO_WATER,\r\n LOW_PRESSURE,\r\n HIGH_PRESSURE,\r\n HOT_COLD,\r\n NOT_FIRST_FEED,\r\n HOT_ONLY,\r\n UNSURE,\r\n FIRST_FEED,\r\n} from '../../../constants';\r\nimport { nwlpPropertyType } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', nwlpPropertyType.heading);\r\nconst nwlpPropertyTypeControl = new Control('question', 'nwlpPropertyType');\r\nnwlpPropertyTypeControl.setLabel(nwlpPropertyType.heading);\r\nnwlpPropertyTypeControl.addOption(nwlpPropertyType.yes, YES, 'IconCheckTick');\r\nnwlpPropertyTypeControl.addOption(nwlpPropertyType.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpPropertyTypeStep = new Step('step', 'nwlp-property-type');\r\nnwlpPropertyTypeStep.addBlock(headingBlock);\r\nnwlpPropertyTypeStep.addBlock(nwlpPropertyTypeControl);\r\nnwlpPropertyTypeStep.addBlock(buttonsBlock);\r\nnwlpPropertyTypeStep.setTitle(nwlpPropertyType.title);\r\n\r\nnwlpPropertyTypeStep.setConstraints([\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n nwlpPressureProblem: {\r\n inclusion: [LOW_PRESSURE],\r\n exclusion: [HIGH_PRESSURE],\r\n },\r\n nwlpPressureSupply: {\r\n inclusion: [HOT_COLD],\r\n exclusion: [NOT_FIRST_FEED, HOT_ONLY],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpAnyWater: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpAnyWater: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n isNoWaterEnabled: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n nwlpNoticeDateTime: {\r\n presence: true,\r\n },\r\n nwlpNoticeConfirm: {\r\n inclusion: ['TRUE'],\r\n },\r\n },\r\n]);\r\n\r\nexport { nwlpPropertyTypeStep };\r\n","import { Control, Heading, Step, ButtonRow } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n PRESSURE,\r\n NO_WATER,\r\n LOW_PRESSURE,\r\n HIGH_PRESSURE,\r\n HOT_COLD,\r\n NOT_FIRST_FEED,\r\n HOT_ONLY,\r\n UNSURE,\r\n FIRST_FEED,\r\n} from '../../../constants';\r\nimport { nwlpNoticeToday } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', nwlpNoticeToday.heading);\r\nconst nwlpNoticeTodayControl = new Control('question', 'nwlpNoticeToday');\r\nnwlpNoticeTodayControl.setLabel(nwlpNoticeToday.heading);\r\nnwlpNoticeTodayControl.addOption(nwlpNoticeToday.yes, YES, 'IconCheckTick');\r\nnwlpNoticeTodayControl.addOption(nwlpNoticeToday.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpNoticeTodayStep = new Step('step', 'nwlp-notice-today');\r\nnwlpNoticeTodayStep.addBlock(headingBlock);\r\nnwlpNoticeTodayStep.addBlock(nwlpNoticeTodayControl);\r\nnwlpNoticeTodayStep.addBlock(buttonsBlock);\r\nnwlpNoticeTodayStep.setTitle(nwlpNoticeToday.title);\r\n\r\nnwlpNoticeTodayStep.setConstraints([\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n nwlpPressureProblem: {\r\n inclusion: [LOW_PRESSURE],\r\n exclusion: [HIGH_PRESSURE],\r\n },\r\n nwlpPressureSupply: {\r\n inclusion: [HOT_COLD],\r\n exclusion: [NOT_FIRST_FEED, HOT_ONLY],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpPropertyType: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n nwlpProblemNeighbour: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpAnyWater: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n nwlpPropertyType: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n nwlpProblemNeighbour: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n },\r\n]);\r\n\r\nexport { nwlpNoticeTodayStep };\r\n","import { Control, Heading, Step, ButtonRow, InfoBlock } from '../../models';\r\nimport { NOT_FIRST_FEED, FIRST_FEED, NO_WATER, PRESSURE } from '../../../constants';\r\nimport { nwlpFacilitiesAffected } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', nwlpFacilitiesAffected.heading);\r\nconst infoBlock = new InfoBlock('infoBlock', nwlpFacilitiesAffected.detail, 'c-message c-message--info');\r\nconst nwlpFacilitiesAffectedControl = new Control('question', 'nwlpFacilitiesAffected');\r\nnwlpFacilitiesAffectedControl.setLabel(nwlpFacilitiesAffected.heading);\r\nnwlpFacilitiesAffectedControl.addOption(nwlpFacilitiesAffected.firstFeed, FIRST_FEED, 'IconTap4');\r\nnwlpFacilitiesAffectedControl.addOption(nwlpFacilitiesAffected.notFirstFeed, NOT_FIRST_FEED, 'IconTap5');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpFacilitiesAffectedStep = new Step('step', 'nwlp-facilities-affected');\r\nnwlpFacilitiesAffectedStep.addBlock(headingBlock);\r\nnwlpFacilitiesAffectedStep.addBlock(infoBlock);\r\nnwlpFacilitiesAffectedStep.addBlock(nwlpFacilitiesAffectedControl);\r\nnwlpFacilitiesAffectedStep.addBlock(buttonsBlock);\r\nnwlpFacilitiesAffectedStep.setTitle(nwlpFacilitiesAffected.title);\r\n\r\nnwlpFacilitiesAffectedStep.setConstraints({\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n});\r\n\r\nexport { nwlpFacilitiesAffectedStep };\r\n","import { Control, Heading, Step, ButtonRow, Hook } from '../../models';\r\nimport {\r\n YES,\r\n NO,\r\n NO_WATER,\r\n PRESSURE,\r\n FIRST_FEED,\r\n NOT_FIRST_FEED,\r\n UNSURE,\r\n STEP_NOWATER_ENABLED_LOOKUP,\r\n} from '../../../constants';\r\nimport { nwlpAnyWater } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', nwlpAnyWater.heading);\r\nconst isNoWaterEnabledControl = new Control('hidden', 'isNoWaterEnabled');\r\nconst nwlpAnyWaterControl = new Control('question', 'nwlpAnyWater');\r\nnwlpAnyWaterControl.setLabel(nwlpAnyWater.heading);\r\nnwlpAnyWaterControl.addOption(nwlpAnyWater.yes, YES, 'IconTap2');\r\nnwlpAnyWaterControl.addOption(nwlpAnyWater.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpAnyWaterStep = new Step('step', 'nwlp-any-water');\r\nnwlpAnyWaterStep.addBlock(headingBlock);\r\nnwlpAnyWaterStep.addBlock(isNoWaterEnabledControl);\r\nnwlpAnyWaterStep.addBlock(nwlpAnyWaterControl);\r\nnwlpAnyWaterStep.addBlock(buttonsBlock);\r\nnwlpAnyWaterStep.setTitle(nwlpAnyWater.title);\r\nnwlpAnyWaterStep.exitHook = new Hook(STEP_NOWATER_ENABLED_LOOKUP, '');\r\n\r\nnwlpAnyWaterStep.setConstraints({\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n});\r\n\r\nexport { nwlpAnyWaterStep };\r\n","import { ButtonRow, Control, Heading, InfoBlock, Step } from '../../models';\r\nimport { FIRST_FEED, NO, NOT_FIRST_FEED, NO_WATER, PRESSURE, UNSURE, YES } from '../../../constants';\r\nimport { nwlpNoticeDateTime } from '../../../constants/Copy';\r\nimport DateTimeSelect from '../../models/DateTimeSelect';\r\n\r\nconst nwlpNoticeDateTimeControl = new Control('hidden', 'nwlpNoticeDateTime');\r\nconst dateTimeSelect = new DateTimeSelect('nwlpNoticeDateTime');\r\nnwlpNoticeDateTimeControl.setLabel(nwlpNoticeDateTime.heading);\r\nconst headingBlock = new Heading('step-title', nwlpNoticeDateTime.heading);\r\nconst infoBlock = new InfoBlock('infoBlock', nwlpNoticeDateTime.detail[0], 'c-message c-message--info');\r\nconst infoBlock2 = new InfoBlock('infoBlock', nwlpNoticeDateTime.detail[1]);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst nwlpNoticeDateTimeStep = new Step('step', 'nwlp-notice-datetime');\r\nnwlpNoticeDateTimeStep.addBlock(headingBlock);\r\nnwlpNoticeDateTimeStep.addBlock(infoBlock);\r\nnwlpNoticeDateTimeStep.addBlock(infoBlock2);\r\nnwlpNoticeDateTimeStep.addBlock(dateTimeSelect);\r\nnwlpNoticeDateTimeStep.addBlock(nwlpNoticeDateTimeControl);\r\nnwlpNoticeDateTimeStep.addBlock(buttonsBlock);\r\nnwlpNoticeDateTimeStep.setIsContained(true);\r\nnwlpNoticeDateTimeStep.setTitle(nwlpNoticeDateTime.title);\r\n\r\nnwlpNoticeDateTimeStep.setConstraints({\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpAnyWater: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n isNoWaterEnabled: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n});\r\n\r\nnwlpNoticeDateTimeStep.setValidation({\r\n nwlpNoticeDateTimeValid: {\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n});\r\n\r\nexport { nwlpNoticeDateTimeStep };\r\n","import { ButtonRow, Control, Heading, Step, DateTimeConfirm } from '../../models';\r\nimport { FIRST_FEED, NO, NOT_FIRST_FEED, NO_WATER, PRESSURE, UNSURE, YES } from '../../../constants';\r\nimport { nwlpNoticeConfirm } from '../../../constants/Copy';\r\n\r\nconst dateTimeConfirm = new DateTimeConfirm();\r\nconst headingBlock = new Heading('step-title', nwlpNoticeConfirm.heading);\r\nconst nwlpNoticeConfirmControl = new Control('hidden', 'nwlpNoticeConfirm').setDefault('TRUE');\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst nwlpNoticeConfirmStep = new Step('step', 'nwlp-notice-confirm');\r\nnwlpNoticeConfirmStep.addBlock(headingBlock);\r\nnwlpNoticeConfirmStep.addBlock(dateTimeConfirm);\r\nnwlpNoticeConfirmStep.addBlock(nwlpNoticeConfirmControl);\r\nnwlpNoticeConfirmStep.addBlock(buttonsBlock);\r\nnwlpNoticeConfirmStep.setIsContained(true);\r\nnwlpNoticeConfirmStep.setTitle(nwlpNoticeConfirm.title);\r\n\r\nnwlpNoticeConfirmStep.setConstraints([\r\n {\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpAnyWater: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n isNoWaterEnabled: {\r\n presence: true,\r\n inclusion: [true],\r\n exclusion: [false],\r\n },\r\n nwlpNoticeDateTime: {\r\n presence: true,\r\n },\r\n },\r\n]);\r\n\r\nexport { nwlpNoticeConfirmStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../models';\r\nimport { MAIN_WEBSITE_URL, NO_WATER, PRESSURE, FIRST_FEED, NOT_FIRST_FEED, YES, NO, UNSURE } from '../../../constants';\r\nimport { backToMainWebsite, nwlpOohInfo } from '../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', nwlpOohInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', nwlpOohInfo.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading', nwlpOohInfo.callUs, 2).setSize('sm');\r\nconst infoBlock2 = new InfoBlock('info-block2', nwlpOohInfo.detail[1], 'p-b');\r\nconst infoBlock3 = new InfoBlock('info-block3', nwlpOohInfo.detail[2]);\r\nconst linkBlock = new Link('link-block', backToMainWebsite)\r\n .setLink(MAIN_WEBSITE_URL)\r\n .setTarget('_self')\r\n .setFormat(true);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst nwlpOohInfoStep = new Step('step', 'nwlp-ooh-info');\r\nnwlpOohInfoStep.setIsContained(true);\r\nnwlpOohInfoStep.addBlock(headingBlock);\r\nnwlpOohInfoStep.addBlock(infoBlock);\r\nnwlpOohInfoStep.addBlock(headingBlock2);\r\nnwlpOohInfoStep.addBlock(infoBlock2);\r\nnwlpOohInfoStep.addBlock(infoBlock3);\r\nnwlpOohInfoStep.addBlock(linkBlock);\r\nnwlpOohInfoStep.addBlock(buttonsBlock);\r\nnwlpOohInfoStep.setTitle(nwlpOohInfo.title);\r\n\r\nnwlpOohInfoStep.setConstraints({\r\n nwlpInitialProblem: {\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [FIRST_FEED],\r\n exclusion: [NOT_FIRST_FEED],\r\n },\r\n nwlpStopTap: {\r\n inclusion: [YES, NO, UNSURE],\r\n },\r\n nwlpAnyWater: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n isNoWaterEnabled: {\r\n presence: true,\r\n inclusion: [false],\r\n exclusion: [true],\r\n },\r\n});\r\n\r\nexport { nwlpOohInfoStep };\r\n","import { Control, Heading, Step, Message, ButtonRow } from '../../../models';\r\nimport { NO, YES } from '../../../../constants';\r\nimport { wasteIncidentConfirm } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-title', wasteIncidentConfirm.heading);\r\nconst instructionMessageBlock = new Message('step-hint', wasteIncidentConfirm.hint).setState('info');\r\nconst addressTotalControl = new Control('hidden', 'incidentTotalWaste');\r\nconst nearbyControl = new Control('question', 'wasteIncidentResults');\r\nnearbyControl.setLabel('');\r\nnearbyControl.addOption(wasteIncidentConfirm.yes, YES, 'IconCheckTick');\r\nnearbyControl.addOption(wasteIncidentConfirm.no, NO, 'IconCross');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteIncidentConfirmStep = new Step('step', 'waste-incident-results');\r\nwasteIncidentConfirmStep.addBlock(headingBlock);\r\nwasteIncidentConfirmStep.addBlock(instructionMessageBlock);\r\nwasteIncidentConfirmStep.addBlock({\r\n type: 'incidentList',\r\n name: 'incidentList',\r\n});\r\nwasteIncidentConfirmStep.addBlock(addressTotalControl);\r\nwasteIncidentConfirmStep.addBlock(nearbyControl);\r\nwasteIncidentConfirmStep.addBlock(buttonsBlock);\r\nwasteIncidentConfirmStep.setIsContained(true);\r\nwasteIncidentConfirmStep.setTitle(wasteIncidentConfirm.title);\r\n\r\nwasteIncidentConfirmStep.setConstraints({\r\n isWasteInitial: {\r\n inclusion: [true],\r\n },\r\n isCleanInitial: {\r\n exclusion: [true],\r\n },\r\n incidentTotalWaste: {\r\n presence: { AllowEmpty: true },\r\n numericality: {\r\n greaterThan: 0,\r\n },\r\n },\r\n});\r\n\r\nexport { wasteIncidentConfirmStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Link } from '../../../models';\r\nimport { FIX_PROBLEMS_URL, YES, MAIN_WEBSITE_URL, NO } from '../../../../constants';\r\nimport { backToMainWebsite, howWeFixProblems, wasteRtimInformation } from '../../../../constants/Copy';\r\n\r\nconst headingBlock = new Heading('step-heading', wasteRtimInformation.heading);\r\nconst infoBlock = new InfoBlock('info-block', wasteRtimInformation.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', wasteRtimInformation.subHeading).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteRtimInformation.detail[1]);\r\nconst linkBlock1 = new Link('link-block1', howWeFixProblems).setLink(FIX_PROBLEMS_URL).setTarget('_self');\r\nconst linkBlock2 = new Link('link-block2', backToMainWebsite, 'p-t').setLink(MAIN_WEBSITE_URL).setTarget('_self');\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteRtimOffRampStep = new Step('step', 'waste-rtim-information');\r\nwasteRtimOffRampStep.setIsContained(true);\r\nwasteRtimOffRampStep.addBlock(headingBlock);\r\nwasteRtimOffRampStep.addBlock(infoBlock);\r\nwasteRtimOffRampStep.addBlock(headingBlock2);\r\nwasteRtimOffRampStep.addBlock(infoBlock2);\r\nwasteRtimOffRampStep.addBlock(linkBlock1);\r\nwasteRtimOffRampStep.addBlock(linkBlock2);\r\nwasteRtimOffRampStep.addBlock(buttonsBlock);\r\nwasteRtimOffRampStep.setTitle(wasteRtimInformation.title);\r\n\r\nwasteRtimOffRampStep.setConstraints({\r\n wasteIncidentResults: {\r\n inclusion: [YES],\r\n },\r\n incidentTotalWaste: {\r\n presence: { AllowEmpty: true },\r\n numericality: {\r\n greaterThan: 0,\r\n },\r\n },\r\n isColleagueMode: {\r\n presence: false,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n});\r\n\r\nexport { wasteRtimOffRampStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Banner, Control } from '../../../models';\r\nimport { YES, NO } from '../../../../constants';\r\nimport {\r\n duplicateIssueBanner,\r\n duplicateIssueQuestion,\r\n reviewForCoC,\r\n rtimInformation,\r\n} from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(duplicateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', rtimInformation.heading);\r\nconst infoBlock = new InfoBlock('info-block', rtimInformation.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', rtimInformation.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', rtimInformation.detail[1]);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst rtimInformationColStep = new Step('step', 'rtim-information-col');\r\nrtimInformationColStep.setIsContained(true);\r\nrtimInformationColStep.addBlock(new Control('hidden', 'rtimInformationCol').setDefault(true));\r\nrtimInformationColStep.addBlock(\r\n new Control('hidden', 'rtimInformationColTxt').setLabel(duplicateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\nrtimInformationColStep.addBlock(banner);\r\nrtimInformationColStep.addBlock(headingBlock);\r\nrtimInformationColStep.addBlock(infoBlock);\r\nrtimInformationColStep.addBlock(headingBlock2);\r\nrtimInformationColStep.addBlock(infoBlock2);\r\nrtimInformationColStep.addBlock(buttonsBlock);\r\nrtimInformationColStep.setTitle(rtimInformation.title);\r\n\r\nrtimInformationColStep.setConstraints({\r\n incidentResults: {\r\n inclusion: [YES],\r\n },\r\n incidentTotal: {\r\n presence: true,\r\n numericality: {\r\n greaterThan: 0,\r\n },\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nexport { rtimInformationColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Control, Banner } from '../../../models';\r\nimport { YES, NO } from '../../../../constants';\r\nimport {\r\n duplicateIssueBanner,\r\n duplicateIssueQuestion,\r\n reviewForCoC,\r\n wasteRtimInformation,\r\n} from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(duplicateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', wasteRtimInformation.heading);\r\nconst infoBlock = new InfoBlock('info-block', wasteRtimInformation.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', wasteRtimInformation.subHeading).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteRtimInformation.detail[1]);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteRtimInformationColStep = new Step('step', 'waste-rtim-information-col');\r\nwasteRtimInformationColStep.setIsContained(true);\r\nwasteRtimInformationColStep.addBlock(new Control('hidden', 'wasteRtimInformationCol').setDefault(true));\r\nwasteRtimInformationColStep.addBlock(\r\n new Control('hidden', 'wasteRtimInformationColTxt').setLabel(duplicateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\nwasteRtimInformationColStep.addBlock(banner);\r\nwasteRtimInformationColStep.addBlock(headingBlock);\r\nwasteRtimInformationColStep.addBlock(infoBlock);\r\nwasteRtimInformationColStep.addBlock(headingBlock2);\r\nwasteRtimInformationColStep.addBlock(infoBlock2);\r\nwasteRtimInformationColStep.addBlock(buttonsBlock);\r\nwasteRtimInformationColStep.setTitle(wasteRtimInformation.title);\r\n\r\nwasteRtimInformationColStep.setConstraints({\r\n wasteIncidentResults: {\r\n inclusion: [YES],\r\n },\r\n incidentTotalWaste: {\r\n presence: { AllowEmpty: true },\r\n numericality: {\r\n greaterThan: 0,\r\n },\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nexport { wasteRtimInformationColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Banner, Control } from '../../../models';\r\nimport {\r\n METER,\r\n PIPE_MEETS_METER,\r\n STOPTAP,\r\n UNSURE,\r\n INSIDE,\r\n OUTSIDE,\r\n INTERNAL,\r\n EXTERNAL,\r\n NO,\r\n YES,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n PUBLIC,\r\n PLUMBING,\r\n} from '../../../../constants';\r\nimport {\r\n cleanIntStopTapInfo,\r\n privateIssueBanner,\r\n privateIssueQuestion,\r\n reviewForCoC,\r\n} from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(privateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', cleanIntStopTapInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanIntStopTapInfo.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', cleanIntStopTapInfo.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanIntStopTapInfo.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', cleanIntStopTapInfo.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', cleanIntStopTapInfo.detail[3]);\r\nconst infoBlock5 = new InfoBlock('info-block5', cleanIntStopTapInfo.detail[4], 'p-b');\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst cleanIntstoptapInfoColStep = new Step('step', 'clean-intstoptap-info-col');\r\ncleanIntstoptapInfoColStep.setIsContained(true);\r\ncleanIntstoptapInfoColStep.addBlock(new Control('hidden', 'cleanIntstoptapInfoCol').setDefault(true));\r\ncleanIntstoptapInfoColStep.addBlock(\r\n new Control('hidden', 'cleanIntstoptapInfoColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\ncleanIntstoptapInfoColStep.addBlock(banner);\r\ncleanIntstoptapInfoColStep.addBlock(headingBlock);\r\ncleanIntstoptapInfoColStep.addBlock(infoBlock);\r\ncleanIntstoptapInfoColStep.addBlock(headingBlock2);\r\ncleanIntstoptapInfoColStep.addBlock(infoBlock2);\r\ncleanIntstoptapInfoColStep.addBlock(infoBlock3);\r\ncleanIntstoptapInfoColStep.addBlock(infoBlock4);\r\ncleanIntstoptapInfoColStep.addBlock(infoBlock5);\r\ncleanIntstoptapInfoColStep.addBlock(buttonsBlock);\r\ncleanIntstoptapInfoColStep.setTitle(cleanIntStopTapInfo.title);\r\n\r\ncleanIntstoptapInfoColStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n },\r\n cleanMeterInternal: {\r\n presence: true,\r\n inclusion: [STOPTAP],\r\n exclusion: [METER, PIPE_MEETS_METER, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [PLUMBING],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [INSIDE],\r\n exclusion: [OUTSIDE],\r\n },\r\n cleanMeterInternal: {\r\n presence: true,\r\n inclusion: [STOPTAP],\r\n exclusion: [METER, PIPE_MEETS_METER, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanIntstoptapInfoColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Control, Banner } from '../../../models';\r\nimport {\r\n YES,\r\n NO,\r\n UNSURE,\r\n METER,\r\n PIPE_MEETS_METER,\r\n STOPTAP,\r\n INSIDE,\r\n OUTSIDE,\r\n EXTERNAL,\r\n COVER,\r\n OVERFLOW_PIPE,\r\n GROUND,\r\n INTERNAL,\r\n PUBLIC,\r\n} from '../../../../constants';\r\nimport { cleanCondenInfo, privateIssueBanner, privateIssueQuestion, reviewForCoC } from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(privateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', cleanCondenInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanCondenInfo.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', cleanCondenInfo.subHeading1, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanCondenInfo.detail[1], 'p-b');\r\nconst headingBlock3 = new Heading('step-heading2', cleanCondenInfo.subHeading3, 2).setSize('md');\r\nconst infoBlock3 = new InfoBlock('info-block3', cleanCondenInfo.detail[2], 'p-b');\r\nconst headingBlock4 = new Heading('step-heading2', cleanCondenInfo.subHeading2, 2).setSize('md');\r\nconst infoBlock4 = new InfoBlock('info-block4', cleanCondenInfo.detail[3]);\r\nconst infoBlock5 = new InfoBlock('info-block5', cleanCondenInfo.detail[4]);\r\nconst infoBlock6 = new InfoBlock('info-block6', cleanCondenInfo.detail[5]);\r\nconst infoBlock7 = new InfoBlock('info-block7', cleanCondenInfo.detail[6]);\r\nconst infoBlock8 = new InfoBlock('info-block8', cleanCondenInfo.detail[7], 'p-b');\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst cleanCondenInfoColStep = new Step('step', 'clean-conden-info-col');\r\ncleanCondenInfoColStep.setIsContained(true);\r\ncleanCondenInfoColStep.addBlock(banner);\r\ncleanCondenInfoColStep.addBlock(headingBlock);\r\ncleanCondenInfoColStep.addBlock(new Control('hidden', 'cleanCondenInfoCol').setDefault(true));\r\ncleanCondenInfoColStep.addBlock(\r\n new Control('hidden', 'cleanCondenInfoColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\ncleanCondenInfoColStep.addBlock(infoBlock);\r\ncleanCondenInfoColStep.addBlock(headingBlock2);\r\ncleanCondenInfoColStep.addBlock(infoBlock2);\r\ncleanCondenInfoColStep.addBlock(headingBlock3);\r\ncleanCondenInfoColStep.addBlock(infoBlock3);\r\ncleanCondenInfoColStep.addBlock(headingBlock4);\r\ncleanCondenInfoColStep.addBlock(infoBlock4);\r\ncleanCondenInfoColStep.addBlock(infoBlock5);\r\ncleanCondenInfoColStep.addBlock(infoBlock6);\r\ncleanCondenInfoColStep.addBlock(infoBlock7);\r\ncleanCondenInfoColStep.addBlock(infoBlock8);\r\ncleanCondenInfoColStep.addBlock(buttonsBlock);\r\ncleanCondenInfoColStep.setTitle(cleanCondenInfo.title);\r\n\r\ncleanCondenInfoColStep.setConstraints([\r\n {\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n inclusion: [METER],\r\n },\r\n cleanMeterInternal: {\r\n inclusion: [METER],\r\n exclusion: [PIPE_MEETS_METER, STOPTAP, UNSURE],\r\n },\r\n cleanCondenConfirm: {\r\n inclusion: [NO],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n cleanCondenConfirm: {\r\n inclusion: [NO],\r\n },\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n cleanMeterLocation: {\r\n presence: true,\r\n inclusion: [INSIDE],\r\n exclusion: [OUTSIDE],\r\n },\r\n cleanMeterInternal: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [PIPE_MEETS_METER, STOPTAP, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nexport { cleanCondenInfoColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Control, Banner } from '../../../models';\r\nimport { EXTERNAL, INTERNAL, PUBLIC, OTHER, NO, YES } from '../../../../constants';\r\nimport {\r\n internalInformation,\r\n privateIssueBanner,\r\n privateIssueQuestion,\r\n reviewForCoC,\r\n} from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(privateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', internalInformation.heading);\r\nconst infoBlock = new InfoBlock('info-block', internalInformation.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', internalInformation.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', internalInformation.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', internalInformation.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', internalInformation.detail[3]);\r\nconst infoBlock5 = new InfoBlock('info-block5', internalInformation.detail[4]);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst internalInformationColStep = new Step('step', 'internal-information-col');\r\ninternalInformationColStep.setIsContained(true);\r\ninternalInformationColStep.addBlock(new Control('hidden', 'internalInformationCol').setDefault(true));\r\ninternalInformationColStep.addBlock(\r\n new Control('hidden', 'internalInformationColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\ninternalInformationColStep.addBlock(banner);\r\ninternalInformationColStep.addBlock(headingBlock);\r\ninternalInformationColStep.addBlock(infoBlock);\r\ninternalInformationColStep.addBlock(headingBlock2);\r\ninternalInformationColStep.addBlock(infoBlock2);\r\ninternalInformationColStep.addBlock(infoBlock3);\r\ninternalInformationColStep.addBlock(infoBlock4);\r\ninternalInformationColStep.addBlock(infoBlock5);\r\ninternalInformationColStep.addBlock(buttonsBlock);\r\ninternalInformationColStep.setTitle(internalInformation.title);\r\n\r\ninternalInformationColStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [INTERNAL],\r\n exclusion: [PUBLIC, EXTERNAL],\r\n },\r\n internalWaterOrigin: {\r\n presence: true,\r\n inclusion: [OTHER],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nexport { internalInformationColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Control, Banner } from '../../../models';\r\nimport { PUBLIC, OVERFLOW_PIPE, COVER, METER, GROUND, INTERNAL, NO, YES } from '../../../../constants';\r\nimport {\r\n cleanOverflowInformation,\r\n overflowPrivateBanner,\r\n privateIssueQuestion,\r\n reviewForCoC,\r\n} from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(overflowPrivateBanner);\r\nconst headingBlock = new Heading('step-heading', cleanOverflowInformation.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanOverflowInformation.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', cleanOverflowInformation.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanOverflowInformation.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', cleanOverflowInformation.detail[3]);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst cleanOverflowInfoColStep = new Step('step', 'clean-overflow-info-col');\r\ncleanOverflowInfoColStep.setIsContained(true);\r\ncleanOverflowInfoColStep.addBlock(new Control('hidden', 'cleanOverflowInfoCol').setDefault(true));\r\ncleanOverflowInfoColStep.addBlock(\r\n new Control('hidden', 'cleanOverflowInfoColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\ncleanOverflowInfoColStep.addBlock(banner);\r\ncleanOverflowInfoColStep.addBlock(headingBlock);\r\ncleanOverflowInfoColStep.addBlock(infoBlock);\r\ncleanOverflowInfoColStep.addBlock(headingBlock2);\r\ncleanOverflowInfoColStep.addBlock(infoBlock2);\r\ncleanOverflowInfoColStep.addBlock(infoBlock3);\r\ncleanOverflowInfoColStep.addBlock(buttonsBlock);\r\ncleanOverflowInfoColStep.setTitle(cleanOverflowInformation.title);\r\n\r\ncleanOverflowInfoColStep.setConstraints({\r\n externalWaterOrigin: {\r\n inclusion: [OVERFLOW_PIPE],\r\n exclusion: [COVER, METER, GROUND],\r\n },\r\n initialLocation: {\r\n exclusion: [PUBLIC, INTERNAL],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nexport { cleanOverflowInfoColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Banner, Control } from '../../../models';\r\nimport { EXTERNAL, NO, YES, COVER, OVERFLOW_PIPE, GROUND, METER } from '../../../../constants';\r\nimport {\r\n cleanLeakingMeterInfo,\r\n privateIssueBanner,\r\n privateIssueQuestion,\r\n reviewForCoC,\r\n} from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(privateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', cleanLeakingMeterInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanLeakingMeterInfo.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', cleanLeakingMeterInfo.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanLeakingMeterInfo.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', cleanLeakingMeterInfo.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', cleanLeakingMeterInfo.detail[3]);\r\nconst infoBlock5 = new InfoBlock('info-block5', cleanLeakingMeterInfo.detail[4], 'p-b');\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst cleanLeakingMeterInfoColStep = new Step('step', 'clean-leakingmeter-info-col');\r\ncleanLeakingMeterInfoColStep.setIsContained(true);\r\ncleanLeakingMeterInfoColStep.addBlock(new Control('hidden', 'cleanLeakingmeterInfoCol').setDefault(true));\r\ncleanLeakingMeterInfoColStep.addBlock(\r\n new Control('hidden', 'cleanLeakingMeterInfoColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\ncleanLeakingMeterInfoColStep.addBlock(banner);\r\ncleanLeakingMeterInfoColStep.addBlock(headingBlock);\r\ncleanLeakingMeterInfoColStep.addBlock(infoBlock);\r\ncleanLeakingMeterInfoColStep.addBlock(headingBlock2);\r\ncleanLeakingMeterInfoColStep.addBlock(infoBlock2);\r\ncleanLeakingMeterInfoColStep.addBlock(infoBlock3);\r\ncleanLeakingMeterInfoColStep.addBlock(infoBlock4);\r\ncleanLeakingMeterInfoColStep.addBlock(infoBlock5);\r\ncleanLeakingMeterInfoColStep.addBlock(buttonsBlock);\r\ncleanLeakingMeterInfoColStep.setTitle(cleanLeakingMeterInfo.title);\r\n\r\ncleanLeakingMeterInfoColStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [METER],\r\n exclusion: [COVER, OVERFLOW_PIPE, GROUND],\r\n },\r\n cleanMeterLeaking: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nexport { cleanLeakingMeterInfoColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Control, Banner } from '../../../models';\r\nimport { YES, NO, EXTERNAL, COVER, OVERFLOW_PIPE, GROUND, METER } from '../../../../constants';\r\nimport { cleanSupplyInfo, privateIssueBanner, privateIssueQuestion, reviewForCoC } from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(privateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', cleanSupplyInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', cleanSupplyInfo.detail[0]);\r\nconst infoBlock2 = new InfoBlock('info-block2', cleanSupplyInfo.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', cleanSupplyInfo.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', cleanSupplyInfo.detail[3]);\r\nconst infoBlock5 = new InfoBlock('info-block5', cleanSupplyInfo.detail[4]);\r\nconst infoBlock6 = new InfoBlock('info-block6', cleanSupplyInfo.detail[5]);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst cleanSupplyInfoColStep = new Step('step', 'clean-supply-info-col');\r\ncleanSupplyInfoColStep.setIsContained(true);\r\ncleanSupplyInfoColStep.addBlock(new Control('hidden', 'cleanSupplyInfoCol').setDefault(true));\r\ncleanSupplyInfoColStep.addBlock(\r\n new Control('hidden', 'cleanSupplyInfoColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\ncleanSupplyInfoColStep.addBlock(banner);\r\ncleanSupplyInfoColStep.addBlock(headingBlock);\r\ncleanSupplyInfoColStep.addBlock(infoBlock);\r\ncleanSupplyInfoColStep.addBlock(infoBlock2);\r\ncleanSupplyInfoColStep.addBlock(infoBlock3);\r\ncleanSupplyInfoColStep.addBlock(infoBlock4);\r\ncleanSupplyInfoColStep.addBlock(infoBlock5);\r\ncleanSupplyInfoColStep.addBlock(infoBlock6);\r\ncleanSupplyInfoColStep.addBlock(buttonsBlock);\r\ncleanSupplyInfoColStep.setTitle(cleanSupplyInfo.title);\r\n\r\ncleanSupplyInfoColStep.setConstraints({\r\n initialLocation: {\r\n inclusion: [EXTERNAL],\r\n },\r\n externalWaterOrigin: {\r\n presence: true,\r\n inclusion: [GROUND],\r\n exclusion: [COVER, METER, OVERFLOW_PIPE],\r\n },\r\n eligibility: {\r\n presence: true,\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nexport { cleanSupplyInfoColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Control, Banner } from '../../../models';\r\nimport {\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n CHEMICAL,\r\n DRAIN,\r\n FARM,\r\n GAS,\r\n COVER,\r\n GROUND,\r\n HOUSE,\r\n ODOUR,\r\n POLLUTION,\r\n BATHROOM,\r\n KITCHEN,\r\n NO,\r\n YES,\r\n} from '../../../../constants';\r\nimport {\r\n wasteGasInfoCol,\r\n emergencyPrivateIssueBanner,\r\n privateIssueQuestion,\r\n reviewForCoC,\r\n} from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(emergencyPrivateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', wasteGasInfoCol.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', wasteGasInfoCol.info, 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', wasteGasInfoCol.subHeading, 2).setSize('sm');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteGasInfoCol.bulletHead, 'u-pb--100');\r\nconst bullet1 = new InfoBlock('bullet-point1', wasteGasInfoCol.bullets[0], 'u-pt--0 u-pb--50 u-mb--0');\r\nconst bullet2 = new InfoBlock('bullet-point1', wasteGasInfoCol.bullets[1], 'u-pt--0 u-pb--50 u-mb--0');\r\nconst bullet3 = new InfoBlock('bullet-point1', wasteGasInfoCol.bullets[2], 'u-pt--0 u-pb--50 u-mb--0');\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst wasteGasInfoColStep = new Step('step', 'waste-gas-info-col');\r\nwasteGasInfoColStep.setIsContained(true);\r\nwasteGasInfoColStep.addBlock(new Control('hidden', 'wasteGasInfoCol').setDefault(true));\r\nwasteGasInfoColStep.addBlock(\r\n new Control('hidden', 'wasteGasInfoColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\nwasteGasInfoColStep.addBlock(banner);\r\nwasteGasInfoColStep.addBlock(headingBlock);\r\nwasteGasInfoColStep.addBlock(infoBlock1);\r\nwasteGasInfoColStep.addBlock(headingBlock2);\r\nwasteGasInfoColStep.addBlock(infoBlock2);\r\nwasteGasInfoColStep.addBlock(bullet1);\r\nwasteGasInfoColStep.addBlock(bullet2);\r\nwasteGasInfoColStep.addBlock(bullet3);\r\nwasteGasInfoColStep.addBlock(buttonsBlock);\r\nwasteGasInfoColStep.setTitle(wasteGasInfoCol.title);\r\n\r\nwasteGasInfoColStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [ODOUR],\r\n exclusion: [COVER, GROUND, DRAIN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [GAS],\r\n exclusion: [CHEMICAL, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteGasInfoColStep };\r\n","import { Step, ButtonRow, Banner } from '../../../models';\r\nimport {\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n CHEMICAL,\r\n DRAIN,\r\n FARM,\r\n GAS,\r\n COVER,\r\n GROUND,\r\n HOUSE,\r\n ODOUR,\r\n POLLUTION,\r\n BATHROOM,\r\n KITCHEN,\r\n wasteChemicalInfo,\r\n NO,\r\n YES,\r\n chemicalBanner,\r\n} from '../../../../constants';\r\n\r\nconst banner = new Banner(chemicalBanner);\r\nconst buttonsBlock = new ButtonRow().hideContinueButton();\r\n\r\nconst wasteChemicalInfoColStep = new Step('step', 'waste-chemical-info-col');\r\nwasteChemicalInfoColStep.setIsContained(true);\r\nwasteChemicalInfoColStep.addBlock(banner);\r\nwasteChemicalInfoColStep.addBlock(buttonsBlock);\r\nwasteChemicalInfoColStep.setTitle(wasteChemicalInfo.title);\r\n\r\nwasteChemicalInfoColStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [CHEMICAL],\r\n exclusion: [GAS, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [ODOUR],\r\n exclusion: [COVER, GROUND, DRAIN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [CHEMICAL],\r\n exclusion: [GAS, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [ODOUR],\r\n exclusion: [POLLUTION, GROUND, COVER],\r\n },\r\n wasteOdourType: {\r\n inclusion: [CHEMICAL],\r\n exclusion: [GAS, FARM, DRAIN],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteChemicalInfoColStep };\r\n","import { Banner, ButtonRow, Control, Heading, InfoBlock, Step } from '../../../models';\r\nimport {\r\n GULLY,\r\n METER,\r\n OTHER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n SQUARE,\r\n BLOCKED,\r\n GUSHING,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n COVER,\r\n GROUND,\r\n ODOUR,\r\n POLLUTION,\r\n NO,\r\n YES,\r\n} from '../../../../constants';\r\nimport { wasteCouncilInfo, councilIssueBanner, privateIssueQuestion, reviewForCoC } from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(councilIssueBanner);\r\nconst headingBlock = new Heading('step-heading', wasteCouncilInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', wasteCouncilInfo.detail[0], 'p-b');\r\nconst headingBlock2 = new Heading('step-heading2', wasteCouncilInfo.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteCouncilInfo.detail[1], 'p-b');\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst wasteCouncilInfoColStep = new Step('step', 'waste-council-info-col');\r\nwasteCouncilInfoColStep.setIsContained(true);\r\nwasteCouncilInfoColStep.addBlock(new Control('hidden', 'wasteCouncilInfoCol').setDefault(true));\r\nwasteCouncilInfoColStep.addBlock(\r\n new Control('hidden', 'wasteCouncilInfoColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\nwasteCouncilInfoColStep.addBlock(banner);\r\nwasteCouncilInfoColStep.addBlock(headingBlock);\r\nwasteCouncilInfoColStep.addBlock(infoBlock);\r\nwasteCouncilInfoColStep.addBlock(headingBlock2);\r\nwasteCouncilInfoColStep.addBlock(infoBlock2);\r\nwasteCouncilInfoColStep.addBlock(buttonsBlock);\r\nwasteCouncilInfoColStep.setTitle(wasteCouncilInfo.title);\r\n\r\nwasteCouncilInfoColStep.setConstraints({\r\n initialLocationWaste: {\r\n inclusion: [PUBLIC],\r\n exclusion: [EXTERNAL, INTERNAL],\r\n },\r\n wasteExternalOrigin: {\r\n inclusion: [COVER],\r\n exclusion: [ODOUR, POLLUTION, GROUND],\r\n },\r\n wasteExternalCover: {\r\n inclusion: [GULLY],\r\n exclusion: [SQUARE, SLUICE_VALVE, STOPTAP, METER, OTHER],\r\n },\r\n wasteExternalCoverBlocked: {\r\n inclusion: [BLOCKED],\r\n exclusion: [GUSHING],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n});\r\n\r\nexport { wasteCouncilInfoColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Banner, Control } from '../../../models';\r\nimport {\r\n APPLIANCE,\r\n SHOWER_TOILET_SINK,\r\n OTHER,\r\n UNDER_KITCHEN_SINK,\r\n INSIDE,\r\n INSIDE_OUTSIDE,\r\n EXTERNAL,\r\n INTERNAL,\r\n PUBLIC,\r\n HOUSE,\r\n ODOUR,\r\n DRAIN,\r\n BLOCKED,\r\n BOTH,\r\n NONE,\r\n FARM,\r\n CHEMICAL,\r\n GAS,\r\n UPSTAIRS,\r\n MULTIPLE_ROOMS,\r\n ONE_ROOM,\r\n WHOLE_PROPERTY,\r\n GROUND_FLOOR,\r\n CELLAR,\r\n BATHROOM,\r\n KITCHEN,\r\n NO,\r\n YES,\r\n} from '../../../../constants';\r\nimport {\r\n privateIssueBanner,\r\n privateIssueQuestion,\r\n reviewForCoC,\r\n wasteInternalOdourInfo,\r\n} from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(privateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', wasteInternalOdourInfo.heading);\r\nconst infoBlock = new InfoBlock('info-block', wasteInternalOdourInfo.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', wasteInternalOdourInfo.subHeading, 2).setSize('sm');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteInternalOdourInfo.detail[1]);\r\nconst infoBlock3 = new InfoBlock('info-block3', wasteInternalOdourInfo.detail[2]);\r\nconst infoBlock4 = new InfoBlock('info-block4', wasteInternalOdourInfo.detail[4]);\r\nconst infoBlock6 = new InfoBlock('info-block6', wasteInternalOdourInfo.detail[5]);\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst wasteInternalOdourInfoColStep = new Step('step', 'waste-internal-odour-info-col');\r\nwasteInternalOdourInfoColStep.setIsContained(true);\r\nwasteInternalOdourInfoColStep.addBlock(new Control('hidden', 'wasteInternalOdourInfoCol').setDefault(true));\r\nwasteInternalOdourInfoColStep.addBlock(\r\n new Control('hidden', 'wasteInternalOdourInfoColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\nwasteInternalOdourInfoColStep.addBlock(banner);\r\nwasteInternalOdourInfoColStep.addBlock(headingBlock);\r\nwasteInternalOdourInfoColStep.addBlock(infoBlock);\r\nwasteInternalOdourInfoColStep.addBlock(headingBlock2);\r\nwasteInternalOdourInfoColStep.addBlock(infoBlock2);\r\nwasteInternalOdourInfoColStep.addBlock(infoBlock3);\r\nwasteInternalOdourInfoColStep.addBlock(infoBlock4);\r\nwasteInternalOdourInfoColStep.addBlock(infoBlock6);\r\nwasteInternalOdourInfoColStep.addBlock(buttonsBlock);\r\nwasteInternalOdourInfoColStep.setTitle(wasteInternalOdourInfo.title);\r\n\r\nwasteInternalOdourInfoColStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourOutside: {\r\n inclusion: [INSIDE],\r\n exclusion: [INSIDE_OUTSIDE],\r\n },\r\n wasteOdourSource: {\r\n inclusion: [APPLIANCE, SHOWER_TOILET_SINK, UNDER_KITCHEN_SINK],\r\n exclusion: [OTHER],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [ODOUR],\r\n exclusion: [HOUSE, BATHROOM, KITCHEN],\r\n },\r\n wasteOdourType: {\r\n inclusion: [DRAIN],\r\n exclusion: [GAS, CHEMICAL, FARM],\r\n },\r\n wasteOdourOther: {\r\n inclusion: [NONE],\r\n exclusion: [DRAIN, BLOCKED, BOTH],\r\n },\r\n wasteOdourOutside: {\r\n inclusion: [INSIDE],\r\n exclusion: [INSIDE_OUTSIDE],\r\n },\r\n wasteOdourSource: {\r\n inclusion: [OTHER],\r\n exclusion: [APPLIANCE, SHOWER_TOILET_SINK, UNDER_KITCHEN_SINK],\r\n },\r\n wasteOdourLocation: {\r\n inclusion: [UPSTAIRS, MULTIPLE_ROOMS, ONE_ROOM],\r\n exclusion: [WHOLE_PROPERTY, GROUND_FLOOR, CELLAR],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteInternalOdourInfoColStep };\r\n","import { Heading, Step, ButtonRow, InfoBlock, Banner, Control } from '../../../models';\r\nimport {\r\n OWNER,\r\n UNSURE,\r\n YORKSHIREWATER,\r\n INTERNAL,\r\n PUBLIC,\r\n EXTERNAL,\r\n ODOUR,\r\n WATERCOURSE,\r\n GARDEN,\r\n BLOCKED,\r\n DRAIN,\r\n COVER,\r\n GROUND,\r\n NO,\r\n YES,\r\n NONE,\r\n BOTH,\r\n OUTBUILDING,\r\n TOWARDS_WATERCOURSE,\r\n GULLY,\r\n PROPERTY,\r\n KITCHEN,\r\n HOUSE,\r\n BATHROOM,\r\n CLEAR,\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n GRATE,\r\n MANHOLE,\r\n UPSTAIRS_BATH,\r\n SINGLE,\r\n MULTIPLE,\r\n DIFFERENT,\r\n SAME,\r\n TOILET,\r\n APPLIANCE,\r\n SINK,\r\n FLOOR,\r\n CELLAR,\r\n GROUND_FLOOR,\r\n GARAGE,\r\n OTHER,\r\n UPSTAIRS,\r\n SLOW_DRAINAGE,\r\n CHUTE,\r\n PIPE,\r\n AIRBRICK,\r\n INTERMITTENT,\r\n CONSTANT,\r\n PRESSURE,\r\n NO_WATER,\r\n LOW_PRESSURE,\r\n HIGH_PRESSURE,\r\n NOT_FIRST_FEED,\r\n HOT_ONLY,\r\n HOT_COLD,\r\n FIRST_FEED,\r\n} from '../../../../constants';\r\nimport { wasteDrainageInfo, privateIssueBanner, privateIssueQuestion, reviewForCoC } from '../../../../constants/Copy';\r\n\r\nconst banner = new Banner(privateIssueBanner);\r\nconst headingBlock = new Heading('step-heading', wasteDrainageInfo.heading);\r\nconst infoBlock1 = new InfoBlock('info-block1', wasteDrainageInfo.detail[0], 'p-tb');\r\nconst headingBlock2 = new Heading('step-heading2', wasteDrainageInfo.subHeading, 2).setSize('md');\r\nconst infoBlock2 = new InfoBlock('info-block2', wasteDrainageInfo.detail[1], 'p-b');\r\nconst infoBlock3 = new InfoBlock('info-block3', wasteDrainageInfo.detail[2], 'p-b');\r\nconst infoBlock5 = new InfoBlock('info-block5', wasteDrainageInfo.detail[4], 'p-b');\r\nconst infoBlock6 = new InfoBlock('info-block6', wasteDrainageInfo.detail[5], 'p-b');\r\nconst buttonsBlock = new ButtonRow();\r\n\r\nconst wasteDrainageInfoColStep = new Step('step', 'waste-drainage-info-col');\r\nwasteDrainageInfoColStep.setIsContained(true);\r\nwasteDrainageInfoColStep.addBlock(new Control('hidden', 'wasteDrainageInfoCol').setDefault(true));\r\nwasteDrainageInfoColStep.addBlock(\r\n new Control('hidden', 'wasteDrainageInfoColTxt').setLabel(privateIssueQuestion).setDefault(reviewForCoC),\r\n);\r\nwasteDrainageInfoColStep.addBlock(banner);\r\nwasteDrainageInfoColStep.addBlock(headingBlock);\r\nwasteDrainageInfoColStep.addBlock(infoBlock1);\r\nwasteDrainageInfoColStep.addBlock(headingBlock2);\r\nwasteDrainageInfoColStep.addBlock(infoBlock2);\r\nwasteDrainageInfoColStep.addBlock(infoBlock3);\r\nwasteDrainageInfoColStep.addBlock(infoBlock5);\r\nwasteDrainageInfoColStep.addBlock(infoBlock6);\r\nwasteDrainageInfoColStep.addBlock(buttonsBlock);\r\nwasteDrainageInfoColStep.setTitle(wasteDrainageInfo.title);\r\n\r\nwasteDrainageInfoColStep.setConstraints([\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [NO],\r\n exclusion: [YES],\r\n },\r\n wasteBoundaryIssues: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, ODOUR, BOTH],\r\n },\r\n wasteResponsibility: {\r\n inclusion: [OWNER],\r\n exclusion: [YORKSHIREWATER, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n exclusion: [INTERNAL, PUBLIC],\r\n },\r\n wasteOriginBoundary: {\r\n inclusion: [DRAIN],\r\n exclusion: [COVER, GROUND, ODOUR],\r\n },\r\n wasteBoundaryEscape: {\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n wasteBoundaryEscapeLocation: {\r\n inclusion: [GARDEN, OUTBUILDING],\r\n exclusion: [WATERCOURSE, TOWARDS_WATERCOURSE, GULLY, PROPERTY],\r\n },\r\n wasteBoundaryIssues: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, ODOUR, BOTH],\r\n },\r\n wasteResponsibility: {\r\n inclusion: [OWNER],\r\n exclusion: [YORKSHIREWATER, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [KITCHEN],\r\n exclusion: [HOUSE, ODOUR, BATHROOM],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [CLEAR],\r\n exclusion: [BLOCKED, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [BATHROOM],\r\n exclusion: [HOUSE, ODOUR, KITCHEN],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_TOILET],\r\n exclusion: [\r\n UPSTAIRS_BATH,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [SINGLE],\r\n exclusion: [MULTIPLE],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [TOILET],\r\n exclusion: [APPLIANCE, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalFclty1: {\r\n inclusion: [UPSTAIRS_BATH],\r\n exclusion: [\r\n UPSTAIRS_TOILET,\r\n DOWNSTAIRS_BATH,\r\n MULTIPLE_TOILETS,\r\n DOWNSTAIRS_TOILET,\r\n UPSTAIRS_FACILITIES,\r\n DOWNSTAIRS_FACILITIES,\r\n ],\r\n },\r\n wasteInternalFclty2Count: {\r\n inclusion: [MULTIPLE],\r\n exclusion: [SINGLE],\r\n },\r\n wasteInternalSame: {\r\n inclusion: [DIFFERENT],\r\n exclusion: [SAME],\r\n },\r\n wasteInternalExtother: {\r\n inclusion: [NO],\r\n exclusion: [GRATE, MANHOLE, ODOUR],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [APPLIANCE],\r\n exclusion: [TOILET, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalSink: {\r\n inclusion: [CLEAR],\r\n exclusion: [BLOCKED],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [APPLIANCE],\r\n exclusion: [TOILET, SINK, FLOOR, CELLAR],\r\n },\r\n wasteInternalSink: {\r\n inclusion: [BLOCKED],\r\n exclusion: [CLEAR],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [CLEAR],\r\n exclusion: [BLOCKED, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [SINK],\r\n exclusion: [TOILET, APPLIANCE, FLOOR, CELLAR],\r\n },\r\n wasteInternalExtdrain: {\r\n inclusion: [CLEAR],\r\n exclusion: [BLOCKED, UNSURE],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n exclusion: [CELLAR],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [CHUTE, AIRBRICK],\r\n exclusion: [PIPE, OTHER],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n exclusion: [EXTERNAL, PUBLIC],\r\n },\r\n wasteOriginInternal: {\r\n inclusion: [HOUSE],\r\n exclusion: [ODOUR, BATHROOM, KITCHEN],\r\n },\r\n wasteInternalEntry: {\r\n inclusion: [FLOOR, CELLAR],\r\n exclusion: [TOILET, APPLIANCE, SINK],\r\n },\r\n wasteInternalArea: {\r\n inclusion: [CELLAR],\r\n exclusion: [GROUND_FLOOR, GARAGE, OTHER, UPSTAIRS],\r\n },\r\n wasteInternalOther: {\r\n inclusion: [NONE],\r\n exclusion: [BLOCKED, MANHOLE, ODOUR, SLOW_DRAINAGE],\r\n },\r\n wasteInternalSource: {\r\n inclusion: [PIPE],\r\n exclusion: [CHUTE, AIRBRICK, OTHER],\r\n },\r\n wasteInternalFreq: {\r\n inclusion: [INTERMITTENT],\r\n exclusion: [CONSTANT],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n presence: true,\r\n inclusion: [PRESSURE],\r\n exclusion: [NO_WATER],\r\n },\r\n nwlpPressureProblem: {\r\n inclusion: [LOW_PRESSURE],\r\n exclusion: [HIGH_PRESSURE],\r\n },\r\n nwlpPressureSupply: {\r\n inclusion: [NOT_FIRST_FEED, HOT_ONLY],\r\n exclusion: [HOT_COLD],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n {\r\n nwlpInitialProblem: {\r\n presence: true,\r\n inclusion: [NO_WATER],\r\n exclusion: [PRESSURE],\r\n },\r\n nwlpFacilitiesAffected: {\r\n inclusion: [NOT_FIRST_FEED],\r\n exclusion: [FIRST_FEED],\r\n },\r\n isColleagueMode: {\r\n presence: true,\r\n inclusion: [YES],\r\n exclusion: [NO],\r\n },\r\n },\r\n]);\r\n\r\nexport { wasteDrainageInfoColStep };\r\n","/* 1. Kickoff Step */\r\nimport { contactDetailsStep } from './steps/CleanAndWasteJourney/ContactDetailsStep';\r\nimport { initialLocationStep } from './steps/CleanJourney/Common/initialLocationStep';\r\n\r\n/* 2. Triage Steps */\r\nimport { supplyIssueStep } from './steps/CleanJourney/InternalExternal/supplyIssueStep';\r\nimport { waterFromCoverStep } from './steps/CleanJourney/Common/waterFromCoverStep';\r\nimport { waterQualityIssueStep } from './steps/CleanJourney/InternalExternal/waterQualityIssueStep';\r\n\r\n/* 3. Location Steps */\r\nimport { addressLookupStep } from './steps/CleanAndWasteJourney/addressLookupStep';\r\nimport { addressLookupInfoStep } from './steps/CleanAndWasteJourney/addressLookupInfoStep';\r\nimport { addressResultStep, addressResultSingleStep } from './steps/CleanAndWasteJourney/addressResultStep';\r\nimport { mapSearchStep } from './steps/CleanJourney/Public/mapSearchStep';\r\nimport { mapSearchResultsStep } from './steps/CleanJourney/Public/mapSearchResultsStep';\r\nimport { mapStep } from './steps/CleanJourney/Public/mapStep';\r\nimport { mapConfirmStep } from './steps/CleanJourney/Public/mapConfirmStep';\r\nimport { incidentConfirmStep } from './steps/CleanJourney/Public/incidentConfirm';\r\n\r\n/* 4. Problem identification Steps */\r\nimport { waterOriginInternalStep } from './steps/CleanJourney/InternalExternal/waterOriginInternalStep';\r\nimport { waterOriginExternalStep } from './steps/CleanJourney/InternalExternal/waterOriginExternalStep';\r\nimport { waterOriginPublicStep } from './steps/CleanJourney/Public/waterOriginPublicStep';\r\nimport { coverTypeStep } from './steps/CleanJourney/Public/coverTypeStep';\r\nimport { cleanCoverBoundaryStep } from './steps/CleanJourney/InternalExternal/cleanCoverBoundaryStep';\r\nimport { cleanCoverSeverityStep } from './steps/CleanJourney/InternalExternal/cleanCoverSeverityStep';\r\nimport { cleanCoverRiskStep } from './steps/CleanJourney/InternalExternal/cleanCoverRiskStep';\r\nimport { externalWasteRiskStep } from './steps/CleanJourney/InternalExternal/externalWasteRiskStep';\r\nimport { externalWasteSeverityStep } from './steps/CleanJourney/InternalExternal/externalWasteSeverityStep';\r\nimport { waterTypeStep } from './steps/CleanJourney/Common/waterTypeStep';\r\nimport { externalWaterTypeStep } from './steps/CleanJourney/InternalExternal/externalWaterType';\r\nimport { rainfallAffectedStep } from './steps/CleanJourney/Common/rainfallAffectedStep';\r\nimport { externalRainfallAffectedStep } from './steps/CleanAndWasteJourney/externalRainfallAffectedStep';\r\nimport { externalFlowConstantStep } from './steps/CleanAndWasteJourney/externalFlowConstantStep';\r\nimport { flowConstantStep } from './steps/CleanJourney/Common/flowConstantStep';\r\nimport { externalWaterSmellStep } from './steps/CleanAndWasteJourney/externalWaterSmellStep';\r\nimport { waterSmellStep } from './steps/CleanJourney/Common/waterSmellStep';\r\nimport { supplyPipeEligibilityStep } from './steps/CleanJourney/InternalExternal/supplyPipeEligibilityStep';\r\nimport { cleanAccessSupplyStep } from './steps/CleanJourney/InternalExternal/cleanAccessSupplyStep';\r\nimport { pollutionEnteringStep } from './steps/CleanJourney/Common/pollutionEnteringStep';\r\nimport { pollutionFromStep } from './steps/CleanJourney/Common/pollutionFromStep';\r\nimport { pollutionTypeStep } from './steps/CleanJourney/Common/pollutionTypeStep';\r\nimport { cleanMeterLeakingStep } from './steps/CleanJourney/InternalExternal/cleanMeterLeakingStep';\r\nimport { cleanMeterLocationStep } from './steps/CleanJourney/InternalExternal/cleanMeterLocationStep';\r\nimport { cleanMeterSeverityExtStep } from './steps/CleanJourney/InternalExternal/cleanMeterSeverityExtStep';\r\nimport { cleanMeterSeverityIntStep } from './steps/CleanJourney/InternalExternal/cleanMeterSeverityIntStep';\r\nimport { cleanMeterInternalExternalStep } from './steps/CleanJourney/InternalExternal/cleanMeterInternalExternalStep';\r\nimport { cleanCondensationConfirmStep } from './steps/CleanJourney/InternalExternal/cleanCondensationConfirmStep';\r\nimport { cleanMeterRiskInternalStep } from './steps/CleanJourney/InternalExternal/cleanMeterRiskInternalStep';\r\n\r\n/* 5. Info Step */\r\nimport { noWaterInfoStep } from './steps/CleanJourney/InternalExternal/noWaterInfoStep';\r\nimport { blockedDrainsInfoStep } from './steps/CleanJourney/InternalExternal/blockedDrainsInfoStep';\r\nimport { privateProblemInfoStep } from './steps/CleanJourney/InternalExternal/privateProblemInfoStep';\r\n\r\n/* 6. Severity Steps */\r\nimport { cleanSeverityStep } from './steps/CleanJourney/Public/cleanSeverityStep';\r\nimport { wasteSeverityStep } from './steps/CleanJourney/Public/wasteSeverityStep';\r\n\r\n/* 7. Risk Steps */\r\nimport { cleanRiskStep } from './steps/CleanJourney/Public/cleanRiskStep';\r\nimport { wasteRiskStep } from './steps/CleanJourney/InternalExternal/wasteRiskStep';\r\n\r\n/* 8. Details Steps */\r\nimport { photoStep } from './steps/CleanJourney/Public/photoStep';\r\nimport { externalPhotoStep } from './steps/CleanJourney/InternalExternal/externalPhotoStep';\r\n\r\n/* 9. Redirects */\r\nimport { hardWaterRedirect } from './steps/CleanJourney/Common/hardWaterRedirect';\r\nimport { tasteSmellRedirect } from './steps/CleanJourney/InternalExternal/tasteSmellRedirect';\r\nimport { discolouredRedirect } from './steps/CleanJourney/InternalExternal/discolouredRedirect';\r\nimport { damagedCoverRedirect } from './steps/CleanJourney/Common/damagedCoverRedirect';\r\nimport { callbackRedirect } from './steps/CleanJourney/InternalExternal/callbackRedirect';\r\n\r\n/* 10. Finalise */\r\nimport { summaryStep } from './steps/CleanAndWasteJourney/summaryStep';\r\nimport { thankYouPollutionStep } from './steps/CleanAndWasteJourney/thankYouPollutionStep';\r\nimport { thankYouStep } from './steps/CleanAndWasteJourney/thankYouStep';\r\n\r\n/* 11. Off Ramp Steps */\r\nimport { overflowPipeOffRampStep } from './steps/CleanJourney/InternalExternal/overflowPipeOffRampStep';\r\nimport { meterCondensationInfoStep } from './steps/CleanJourney/InternalExternal/meterCondensationInfoStep';\r\nimport { rtimOffRampStep } from './steps/CleanJourney/Public/rtimOffRampStep';\r\nimport { cleanSupplyOffRampStep } from './steps/CleanJourney/InternalExternal/cleanSupplyOffRampStep';\r\nimport { nonHouseholdStep } from './steps/CleanAndWasteJourney/nonHouseholdStep';\r\nimport { cleanInternalStopTapInfoStep } from './steps/CleanJourney/InternalExternal/cleanInternalStopTapInfoStep';\r\nimport { cleanLeakingMeterInfoStep } from './steps/CleanJourney/InternalExternal/cleanLeakingMeterInfoStep';\r\nimport { internalOffRampStep } from './steps/CleanJourney/InternalExternal/internalOffRampStep';\r\n\r\n/* Waste Journey Steps */\r\nimport { initialLocationWasteStep } from './steps/WasteJourney/initialLocationWasteStep';\r\nimport { wasteOriginBoundaryStep } from './steps/WasteJourney/wasteOriginBoundaryStep';\r\nimport { wasteExternalOriginStep } from './steps/WasteJourney/Public/wasteExternalOriginStep';\r\nimport { externalRoughLocationStep } from './steps/WasteJourney/Common/externalRoughLocationStep';\r\nimport { wasteOriginInternalStep } from './steps/WasteJourney/Internal/wasteOriginInternalStep';\r\nimport { wasteCoverBoundaryStep } from './steps/WasteJourney/wasteCoverBoundaryStep';\r\nimport { cleanBoundarySeverityStep } from './steps/WasteJourney/Common/cleanBoundarySeverityStep';\r\nimport { cleanBoundaryRiskStep } from './steps/WasteJourney/Common/cleanBoundaryRiskStep';\r\nimport { cleanBoundaryAccessSupplyStep } from './steps/WasteJourney/cleanBoundaryAccessSupplyStep';\r\nimport { wastePhotoStep } from './steps/WasteJourney/Common/wastePhotoStep';\r\nimport { wasteBoundaryRiskStep } from './steps/WasteJourney/Common/wasteBoundaryRiskStep';\r\nimport { wasteBoundarySeverityStep } from './steps/WasteJourney/Common/wasteBoundarySeverityStep';\r\nimport { wasteBoundaryAccessSupplyStep } from './steps/WasteJourney/wasteBoundaryAccessSupplyStep';\r\nimport { boundaryWaterTypeStep } from './steps/WasteJourney/boundaryWaterTypeStep';\r\nimport { boundaryRainfallAffectedStep } from './steps/WasteJourney/boundaryRainfallAffectedStep';\r\nimport { boundaryFlowConstantStep } from './steps/WasteJourney/boundaryFlowConstantStep';\r\nimport { boundaryWaterSmellStep } from './steps/WasteJourney/boundaryWaterSmellStep';\r\nimport { wasteBoundaryEscapeStep } from './steps/WasteJourney/wasteBoundaryEscapeStep';\r\nimport { wasteBoundaryIssuesStep } from './steps/WasteJourney/wasteBoundaryIssuesStep';\r\nimport { wasteResponsibiltyBoundaryStep } from './steps/WasteJourney/wasteResponsibiltyBoundaryStep';\r\nimport { wasteDrainageInfoStep } from './steps/WasteJourney/wasteDrainageInfoStep';\r\nimport { externalWasteWaterTypeStep } from './steps/WasteJourney/Public/externalWasteWaterType';\r\nimport { wasteOriginPollutionStep } from './steps/WasteJourney/Public/wasteOriginPollutionStep';\r\nimport { wasteExternalCoverStep } from './steps/WasteJourney/Public/wasteExternalCoverStep';\r\nimport { wasteExternalCoverBlockedStep } from './steps/WasteJourney/Public/wasteExternalCoverBlockedStep';\r\nimport { wasteCouncilInfoStep } from './steps/WasteJourney/Public/wasteCouncilInfoStep';\r\nimport { wasteBoundaryEscapeLocationStep } from './steps/WasteJourney/wasteBoundaryEscapeLocationStep';\r\nimport { wasteBoundaryEscapePropertyStep } from './steps/WasteJourney/wasteBoundaryEscapePropertyStep';\r\nimport { wasteOohStep } from './steps/WasteJourney/Common/wasteOohStep';\r\nimport { wasteBoundaryEscapeInternalStep } from './steps/WasteJourney/wasteBoundaryEscapeInternalStep';\r\nimport { wasteOdourTypeStep } from './steps/WasteJourney/Common/wasteOdourTypeStep';\r\nimport { wasteGasInfoStep } from './steps/WasteJourney/Common/wasteGasInfoStep';\r\nimport { wasteChemicalInfoStep } from './steps/WasteJourney/Common/wasteChemicalInfoStep';\r\nimport { wasteOdourOtherStep } from './steps/WasteJourney/Common/wasteOdourOtherStep';\r\nimport { wasteOdourOutsideStep } from './steps/WasteJourney/Internal/wasteOdourOutsideStep';\r\nimport { wasteOdourSourceStep } from './steps/WasteJourney/Internal/wasteOdourSourceStep';\r\nimport { wasteOdourFrequencyStep } from './steps/WasteJourney/Common/wasteOdourFrequencyStep';\r\nimport { wasteOdourLocationStep } from './steps/WasteJourney/Internal/wasteOdourLocationStep';\r\nimport { wasteInternalOdourInfoStep } from './steps/WasteJourney/Common/wasteInternalOdourInfoStep';\r\nimport { wasteInternalExtdrainStep } from './steps/WasteJourney/Internal/wasteInternalExtdrainStep';\r\nimport { wasteInternalExtotherStep } from './steps/WasteJourney/Internal/wasteInternalExtotherStep';\r\nimport { wasteInternalFclty1Step } from './steps/WasteJourney/Internal/wasteInternalFclty1Step';\r\nimport { wasteInternalFclty2Step } from './steps/WasteJourney/Internal/wasteInternalFclty2Step';\r\nimport { wasteInternalSameStep } from './steps/WasteJourney/Internal/wasteInternalSameStep';\r\nimport { wasteInternalEntryStep } from './steps/WasteJourney/Internal/wasteInternalEntryStep';\r\nimport { wasteInternalToiletStep } from './steps/WasteJourney/Internal/wasteInternalToiletStep';\r\nimport { wasteTimedAccessTodayStep } from './steps/WasteJourney/Internal/wasteTimedAccessTodayStep';\r\nimport { wasteTimedAccessTomorrowStep } from './steps/WasteJourney/Internal/wasteTimedAccessTomorrowStep';\r\nimport { wasteInternalSinkStep } from './steps/WasteJourney/Internal/wasteInternalSinkStep';\r\nimport { wasteInternalAreaStep } from './steps/WasteJourney/Internal/wasteInternalAreaStep';\r\nimport { wasteInternalOtherStep } from './steps/WasteJourney/Internal/wasteInternalOtherStep';\r\nimport { wasteInternalSourceStep } from './steps/WasteJourney/Internal/wasteInternalSourceStep';\r\nimport { wasteInternalFreqStep } from './steps/WasteJourney/Internal/wasteInternalFreqStep';\r\nimport { wasteInternalTextStep } from './steps/WasteJourney/Internal/wasteInternalTextStep';\r\nimport { nwlpInitialProblemStep } from './steps/Nwlp/nwlpInitialProblemStep';\r\nimport { nwlpPressureProblemStep } from './steps/Nwlp/nwlpPressureProblemStep';\r\nimport { nwlpProblemNeighbourStep } from './steps/Nwlp/nwlpProblemNeighbourStep';\r\nimport { nwlpProblemFrequencyStep } from './steps/Nwlp/nwlpProblemFrequencyStep';\r\nimport { nwlpPressureSupplyStep } from './steps/Nwlp/nwlpPressureSupplyStep';\r\nimport { nwlpStopTapStep } from './steps/Nwlp/nwlpStopTapStep';\r\nimport { nwlpPropertyTypeStep } from './steps/Nwlp/nwlpPropertyTypeStep';\r\nimport { nwlpNoticeTodayStep } from './steps/Nwlp/nwlpNoticeTodayStep';\r\nimport { nwlpFacilitiesAffectedStep } from './steps/Nwlp/nwlpFacilitiesAffectedStep';\r\nimport { nwlpAnyWaterStep } from './steps/Nwlp/nwlpAnyWaterStep';\r\nimport { nwlpNoticeDateTimeStep } from './steps/Nwlp/nwlpNoticeDateTimeStep';\r\nimport { nwlpNoticeConfirmStep } from './steps/Nwlp/nwlpNoticeConfirmStep';\r\nimport { nwlpOohInfoStep } from './steps/Nwlp/nwlpOohInfoStep';\r\n\r\nimport { wasteIncidentConfirmStep } from './steps/WasteJourney/Public/wasteIncidentConfirm';\r\nimport { wasteRtimOffRampStep } from './steps/WasteJourney/Public/wasteRtimOffRampStep';\r\nimport { rtimInformationColStep } from './steps/Info/Colleague/rtimInformationColStep';\r\nimport { wasteRtimInformationColStep } from './steps/Info/Colleague/wasteRtimInformationColStep';\r\nimport { cleanIntstoptapInfoColStep } from './steps/Info/Colleague/cleanIntstoptapInfoColStep';\r\nimport { cleanCondenInfoColStep } from './steps/Info/Colleague/cleanCondenInfoColStep';\r\nimport { internalInformationColStep } from './steps/Info/Colleague/internalInformationColStep';\r\nimport { cleanOverflowInfoColStep } from './steps/Info/Colleague/cleanOverflowInfoColStep';\r\nimport { cleanLeakingMeterInfoColStep } from './steps/Info/Colleague/cleanLeakingMeterInfoColStep';\r\nimport { cleanSupplyInfoColStep } from './steps/Info/Colleague/cleanSupplyInfoColStep';\r\nimport { wasteGasInfoColStep } from './steps/Info/Colleague/wasteGasInfoColStep';\r\nimport { wasteChemicalInfoColStep } from './steps/Info/Colleague/wasteChemicalInfoColStep';\r\nimport { wasteCouncilInfoColStep } from './steps/Info/Colleague/wasteCouncilInfoColStep';\r\nimport { wasteInternalOdourInfoColStep } from './steps/Info/Colleague/wasteInternalOdourInfoColStep';\r\nimport { wasteDrainageInfoColStep } from './steps/Info/Colleague/wasteDrainageInfoColStep';\r\n\r\n/*\r\nStep Config\r\nAn array containing all possible steps in the order of appearance.\r\n*/\r\n\r\nexport const nwlpStepConfig = [\r\n contactDetailsStep,\r\n nwlpInitialProblemStep,\r\n nwlpPressureProblemStep,\r\n nwlpPressureSupplyStep,\r\n nwlpFacilitiesAffectedStep,\r\n nwlpStopTapStep,\r\n nwlpAnyWaterStep,\r\n nwlpOohInfoStep,\r\n nwlpNoticeDateTimeStep,\r\n nwlpNoticeConfirmStep,\r\n nwlpPropertyTypeStep,\r\n nwlpProblemNeighbourStep,\r\n nwlpNoticeTodayStep,\r\n nwlpProblemFrequencyStep,\r\n wasteDrainageInfoStep,\r\n wasteDrainageInfoColStep,\r\n addressLookupStep,\r\n addressResultStep,\r\n addressResultSingleStep,\r\n addressLookupInfoStep,\r\n summaryStep,\r\n thankYouStep,\r\n];\r\n\r\nexport const cleanStepConfig = [\r\n contactDetailsStep,\r\n initialLocationStep,\r\n waterOriginInternalStep,\r\n internalOffRampStep,\r\n internalInformationColStep,\r\n waterOriginExternalStep,\r\n cleanCoverBoundaryStep,\r\n externalWaterTypeStep,\r\n externalRainfallAffectedStep,\r\n externalFlowConstantStep,\r\n externalWaterSmellStep,\r\n cleanCoverSeverityStep,\r\n cleanCoverRiskStep,\r\n externalWasteRiskStep,\r\n externalWasteSeverityStep,\r\n overflowPipeOffRampStep,\r\n cleanOverflowInfoColStep,\r\n cleanMeterLeakingStep,\r\n cleanMeterLocationStep,\r\n cleanMeterInternalExternalStep,\r\n cleanCondensationConfirmStep,\r\n cleanMeterSeverityExtStep,\r\n cleanMeterSeverityIntStep,\r\n cleanMeterRiskInternalStep,\r\n cleanInternalStopTapInfoStep,\r\n cleanIntstoptapInfoColStep,\r\n cleanLeakingMeterInfoStep,\r\n cleanLeakingMeterInfoColStep,\r\n meterCondensationInfoStep,\r\n cleanCondenInfoColStep,\r\n supplyPipeEligibilityStep,\r\n cleanSupplyOffRampStep,\r\n cleanSupplyInfoColStep,\r\n cleanAccessSupplyStep,\r\n supplyIssueStep,\r\n waterFromCoverStep,\r\n blockedDrainsInfoStep,\r\n waterQualityIssueStep,\r\n mapSearchStep,\r\n mapSearchResultsStep,\r\n mapStep,\r\n mapConfirmStep,\r\n incidentConfirmStep,\r\n rtimOffRampStep,\r\n rtimInformationColStep,\r\n waterOriginPublicStep,\r\n coverTypeStep,\r\n waterTypeStep,\r\n rainfallAffectedStep,\r\n flowConstantStep,\r\n waterSmellStep,\r\n pollutionEnteringStep,\r\n pollutionFromStep,\r\n pollutionTypeStep,\r\n noWaterInfoStep,\r\n privateProblemInfoStep,\r\n cleanSeverityStep,\r\n cleanRiskStep,\r\n wasteRiskStep,\r\n wasteSeverityStep,\r\n externalPhotoStep,\r\n photoStep,\r\n hardWaterRedirect,\r\n tasteSmellRedirect,\r\n discolouredRedirect,\r\n damagedCoverRedirect,\r\n callbackRedirect,\r\n addressLookupStep,\r\n addressResultStep,\r\n addressResultSingleStep,\r\n addressLookupInfoStep,\r\n nonHouseholdStep,\r\n summaryStep,\r\n thankYouStep,\r\n];\r\n\r\nexport const wasteStepConfig = [\r\n contactDetailsStep,\r\n initialLocationWasteStep,\r\n wasteOriginBoundaryStep,\r\n wasteCoverBoundaryStep,\r\n wasteExternalOriginStep,\r\n wasteExternalCoverStep,\r\n boundaryWaterTypeStep,\r\n boundaryRainfallAffectedStep,\r\n boundaryFlowConstantStep,\r\n boundaryWaterSmellStep,\r\n wasteExternalCoverBlockedStep,\r\n wasteCouncilInfoStep,\r\n wasteCouncilInfoColStep,\r\n externalWasteWaterTypeStep,\r\n externalRainfallAffectedStep,\r\n externalFlowConstantStep,\r\n externalWaterSmellStep,\r\n wasteOriginInternalStep,\r\n wasteInternalEntryStep,\r\n wasteInternalAreaStep,\r\n wasteInternalOtherStep,\r\n wasteInternalSourceStep,\r\n wasteInternalFreqStep,\r\n wasteInternalTextStep,\r\n wasteInternalSinkStep,\r\n wasteInternalFclty1Step,\r\n wasteInternalFclty2Step,\r\n wasteInternalSameStep,\r\n wasteInternalExtotherStep,\r\n wasteInternalToiletStep,\r\n wasteInternalExtdrainStep,\r\n wasteOdourTypeStep,\r\n wasteGasInfoStep,\r\n wasteGasInfoColStep,\r\n wasteChemicalInfoStep,\r\n wasteChemicalInfoColStep,\r\n wasteOdourOtherStep,\r\n wasteOdourOutsideStep,\r\n wasteOdourSourceStep,\r\n wasteOdourLocationStep,\r\n wasteInternalOdourInfoStep,\r\n wasteInternalOdourInfoColStep,\r\n wasteOdourFrequencyStep,\r\n wasteBoundaryEscapeStep,\r\n wasteBoundaryEscapeLocationStep,\r\n wasteBoundaryEscapeInternalStep,\r\n wasteBoundaryEscapePropertyStep,\r\n wasteOohStep,\r\n wasteBoundaryIssuesStep,\r\n wasteResponsibiltyBoundaryStep,\r\n wasteDrainageInfoStep,\r\n wasteDrainageInfoColStep,\r\n externalRoughLocationStep,\r\n mapSearchResultsStep,\r\n mapStep,\r\n mapConfirmStep,\r\n wasteIncidentConfirmStep,\r\n wasteRtimOffRampStep,\r\n wasteRtimInformationColStep,\r\n wasteOriginPollutionStep,\r\n cleanBoundarySeverityStep,\r\n cleanBoundaryRiskStep,\r\n cleanBoundaryAccessSupplyStep,\r\n wasteBoundaryRiskStep,\r\n wasteBoundarySeverityStep,\r\n wasteBoundaryAccessSupplyStep,\r\n wastePhotoStep,\r\n wasteTimedAccessTodayStep,\r\n wasteTimedAccessTomorrowStep,\r\n addressLookupStep,\r\n addressResultStep,\r\n addressResultSingleStep,\r\n addressLookupInfoStep,\r\n nonHouseholdStep,\r\n summaryStep,\r\n thankYouPollutionStep,\r\n thankYouStep,\r\n];\r\n","import {\r\n YES,\r\n NO,\r\n WASTE,\r\n CLEAN,\r\n INTERNAL,\r\n EXTERNAL,\r\n PUBLIC,\r\n METER,\r\n SLUICE_VALVE,\r\n STOPTAP,\r\n GRATE,\r\n SQUARE,\r\n TRIANGLE,\r\n GUSHING,\r\n NONE,\r\n ABOVE_GROUND_STOP_TAP,\r\n PLUMBING,\r\n POLLUTION,\r\n PRESSURE,\r\n} from '../constants';\r\n\r\nconst outcomeConfig = [\r\n {\r\n name: 'location',\r\n default: null,\r\n possibleValues: [\r\n { value: 'INTERNAL', constraints: [{ nwlpInitialProblem: { presence: true } }] },\r\n {\r\n value: 'INTERNAL',\r\n constraints: [{ initialLocation: { presence: true, inclusion: [INTERNAL] } }],\r\n },\r\n {\r\n value: 'INTERNAL',\r\n constraints: [\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n value: 'EXTERNAL',\r\n constraints: [{ initialLocation: { presence: true, inclusion: [EXTERNAL] } }],\r\n },\r\n {\r\n value: 'EXTERNAL',\r\n constraints: [\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n value: 'PUBLIC',\r\n constraints: [{ initialLocation: { presence: true, inclusion: [PUBLIC] } }],\r\n },\r\n {\r\n value: 'PUBLIC',\r\n constraints: [\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'group',\r\n default: null,\r\n possibleValues: [\r\n { value: 'NOWATER', constraints: [{ nwlpAnyWater: { presence: true, inclusion: [NO] } }] },\r\n {\r\n value: 'PRESSURE',\r\n constraints: [\r\n { nwlpInitialProblem: { presence: true, inclusion: [PRESSURE] } },\r\n { nwlpAnyWater: { presence: true, inclusion: [YES] } },\r\n ],\r\n },\r\n { value: 'POLLUTION', constraints: [{ initialProblem: { inclusion: [POLLUTION] } }] },\r\n {\r\n value: 'METER',\r\n constraints: [\r\n { waterOrigin: { presence: true, inclusion: [METER] } },\r\n { coverType: { presence: true, inclusion: [METER] } },\r\n ],\r\n },\r\n {\r\n value: 'METER',\r\n constraints: [\r\n { externalWaterOrigin: { presence: true, inclusion: [METER] } },\r\n { externalCoverType: { presence: true, inclusion: [METER] } },\r\n ],\r\n },\r\n {\r\n value: 'CLEAN',\r\n constraints: [\r\n {\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [ABOVE_GROUND_STOP_TAP, PLUMBING],\r\n },\r\n },\r\n {\r\n coverType: {\r\n presence: true,\r\n inclusion: [SLUICE_VALVE, STOPTAP],\r\n },\r\n },\r\n { waterType: { presence: true, inclusion: [CLEAN] } },\r\n { constantPressure: { presence: true, inclusion: [YES] } },\r\n { waterSmell: { presence: true, inclusion: [NO] } },\r\n ],\r\n },\r\n {\r\n value: 'CLEAN',\r\n constraints: [\r\n {\r\n externalCoverType: {\r\n presence: true,\r\n inclusion: [SLUICE_VALVE, STOPTAP],\r\n },\r\n },\r\n { externalWaterType: { presence: true, inclusion: [CLEAN] } },\r\n { externalConstantPressure: { presence: true, inclusion: [YES] } },\r\n { externalWaterSmell: { presence: true, inclusion: [NO] } },\r\n { cleanSupplyInfoCol: { presence: true, inclusion: [true] } },\r\n { cleanLeakingmeterInfoCol: { presence: true, inclusion: [true] } },\r\n { cleanIntstoptapInfoCol: { presence: true, inclusion: [true] } },\r\n { cleanCondenInfoCol: { presence: true, inclusion: [true] } },\r\n { cleanOverflowInfoCol: { presence: true, inclusion: [true] } },\r\n { internalInformationCol: { presence: true, inclusion: [true] } },\r\n ],\r\n },\r\n {\r\n value: 'CLEAN',\r\n constraints: [\r\n {\r\n initialLocation: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n value: 'WASTE',\r\n constraints: [\r\n { waterType: { presence: true, inclusion: [WASTE] } },\r\n { rainfallAffected: { presence: true, inclusion: [YES] } },\r\n { waterSmell: { presence: true, inclusion: [YES] } },\r\n {\r\n coverType: {\r\n presence: true,\r\n inclusion: [TRIANGLE, SQUARE],\r\n },\r\n },\r\n { wasteGasInfoCol: { presence: true, inclusion: [true] } },\r\n ],\r\n },\r\n {\r\n value: 'WASTE',\r\n constraints: [\r\n { externalWaterType: { presence: true, inclusion: [WASTE] } },\r\n {\r\n externalRainfallAffected: { presence: true, inclusion: [YES] },\r\n },\r\n { externalWaterSmell: { presence: true, inclusion: [YES] } },\r\n {\r\n externalCoverType: {\r\n presence: true,\r\n inclusion: [GRATE, SQUARE],\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n value: 'WASTE',\r\n constraints: [\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n value: 'WASTE',\r\n constraints: [\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n value: 'WASTE',\r\n constraints: [\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [PUBLIC],\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n value: 'WASTE',\r\n constraints: [\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [EXTERNAL],\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n value: 'WASTE',\r\n constraints: [\r\n {\r\n initialLocationWaste: {\r\n presence: true,\r\n inclusion: [INTERNAL],\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'reasonId',\r\n default: null,\r\n possibleValues: [\r\n {\r\n value: 5,\r\n constraints: [\r\n { initialProblem: { inclusion: [POLLUTION] } },\r\n { waterType: { presence: true, inclusion: [WASTE] } },\r\n { rainfallAffected: { presence: true, inclusion: [YES] } },\r\n { waterSmell: { presence: true, inclusion: [YES] } },\r\n {\r\n coverType: {\r\n presence: true,\r\n inclusion: [TRIANGLE, SQUARE],\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n value: 4,\r\n constraints: [\r\n { waterOrigin: { presence: true, inclusion: [METER] } },\r\n\r\n {\r\n coverType: {\r\n presence: true,\r\n inclusion: [SLUICE_VALVE, STOPTAP, METER],\r\n },\r\n },\r\n {\r\n waterOrigin: {\r\n presence: true,\r\n inclusion: [ABOVE_GROUND_STOP_TAP, PLUMBING],\r\n },\r\n },\r\n { waterType: { presence: true, inclusion: [CLEAN] } },\r\n { constantPressure: { presence: true, inclusion: [YES] } },\r\n { waterSmell: { presence: true, inclusion: [NO] } },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n name: 'isSevere',\r\n default: false,\r\n possibleValues: [\r\n {\r\n value: true,\r\n constraints: [\r\n { wasteSeverity: { presence: true } },\r\n { cleanSeverity: { presence: true, inclusion: [GUSHING] } },\r\n {\r\n cleanRisk: {\r\n presence: true,\r\n exclusion: [NONE],\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n\r\n {\r\n name: 'hasShutoff',\r\n default: false,\r\n possibleValues: [],\r\n },\r\n {\r\n name: 'isAnonymous',\r\n default: false,\r\n possibleValues: [],\r\n },\r\n];\r\n\r\nexport default outcomeConfig;\r\n","import validationService from '../api/validation';\r\nimport { BLOCK_QUESTION_TYPES, SOURCE_NWLP, SOURCE_WASTE } from '../constants';\r\nimport { cleanStepConfig, wasteStepConfig } from '../data';\r\nimport { nwlpStepConfig } from '../data/config';\r\n/*\r\ncleanseSteps\r\n\r\nInitial parse of received config to produce convenience properties with each step (initialAnswers, exclusiveAnswers, hiddenAnswers)\r\n\r\nsteps - Array of step objects\r\n\r\n*/\r\nexport const cleanseSteps = (steps) => {\r\n return steps.map((step, counter) => {\r\n let initialAnswers = step.blocks ? step.blocks.reduce(reduceQuestionBlocks, {}) : {};\r\n let exclusiveAnswers = step.blocks ? step.blocks.reduce(reduceExclusiveAnswers, []) : [];\r\n let hiddenAnswers = step.blocks ? step.blocks.reduce(reduceHiddenBlocks, {}) : {};\r\n return {\r\n ...step,\r\n initialAnswers,\r\n exclusiveAnswers,\r\n hiddenAnswers,\r\n };\r\n });\r\n};\r\n\r\n/*\r\nfetchSteps\r\n\r\nResolve config object from remote source. At present we are loading this locally but could be swapped to be http request returning a Promise.\r\n\r\nsuccessHandler -Function to call on successful response\r\nerrorHandler -Function to call on erroneous response\r\nsource - indicates which config to use (clean or waste)\r\n\r\n*/\r\nexport const fetchSteps = (successHandler, errorHandler, source) => {\r\n let config;\r\n if (source.source === SOURCE_WASTE || source.localStorageSource === SOURCE_WASTE) {\r\n config = wasteStepConfig;\r\n } else if (source.source === SOURCE_NWLP || source.localStorageSource === SOURCE_NWLP) {\r\n config = nwlpStepConfig;\r\n } else {\r\n config = cleanStepConfig;\r\n }\r\n\r\n return new Promise(function(resolve) {\r\n setTimeout(() => resolve(config), 500); // mock delay until async source\r\n })\r\n .then((steps) => {\r\n successHandler(cleanseSteps(steps));\r\n })\r\n .catch(errorHandler);\r\n};\r\n\r\n/*\r\nvalidateStep\r\n\r\nCompares a list of values against the constraints of the given step\r\n\r\nstep - The step object being validated\r\nvalues - A value bag to compare constraints against\r\n\r\n*/\r\nexport const validateStep = (step, values) => {\r\n let constraintArr = Array.isArray(step.constraints) ? step.constraints : [step.constraints];\r\n let hasPassed = false;\r\n\r\n constraintArr.forEach((constraints) => {\r\n if (!validationService.validate(values, constraints)) {\r\n hasPassed = true;\r\n }\r\n });\r\n\r\n return hasPassed;\r\n};\r\n\r\n/*\r\nvalidateBlock\r\n\r\nCompares a list of values against the constraints of the given block\r\n\r\nblock - The step object being validated\r\nvalues - A value bag to compare constraints against\r\n\r\n*/\r\nexport const validateBlock = (block, values) => {\r\n let constraintArr = Array.isArray(block.constraints) ? block.constraints : [block.constraints];\r\n let hasPassed = false;\r\n\r\n constraintArr.forEach((constraints) => {\r\n if (!validationService.validate(values, constraints)) {\r\n hasPassed = true;\r\n }\r\n });\r\n\r\n return hasPassed;\r\n};\r\n\r\n/*\r\nreduceQuestionBlocks\r\n\r\nReducer to extract only blocks which are classified as a question\r\nand will therefore ned to be stored in state as the user\r\nprogresses through the steps\r\n\r\naccumulator - An object to accumulate the matching values\r\nblock - A block object which to evaluate\r\n\r\n*/\r\nexport const reduceQuestionBlocks = (accumulator, block) => {\r\n if (BLOCK_QUESTION_TYPES.includes(block.type) && block.name) {\r\n accumulator[block.name] = block.default || '';\r\n }\r\n return accumulator;\r\n};\r\n\r\nexport const reduceClearBlocks = (accumulator, block) => {\r\n if (block.clear === true) {\r\n accumulator[block.name] = undefined;\r\n }\r\n return accumulator;\r\n};\r\n\r\n/*\r\nreduceHiddenBlocks\r\n\r\nReducer to extract only blocks which are classified as hidden fields\r\n\r\naccumulator - An object to accumulate the matching values\r\nblock - A block object which to evaluate\r\n\r\n*/\r\nexport const reduceHiddenBlocks = (accumulator, block) => {\r\n if (block.type === 'hidden') {\r\n accumulator[block.name] = block.default || '';\r\n }\r\n return accumulator;\r\n};\r\n\r\n/*\r\nreduceExclusiveAnswers\r\n\r\nReducer to extract only blocks which are classified as exclusive fields - which means that the answers\r\nmust be checked to see if the some answers can only be answered on their own\r\n\r\naccumulator - An object to accumulate the matching values\r\nblock - A block object which to evaluate\r\n\r\n*/\r\nexport const reduceExclusiveAnswers = (accumulator, block) => {\r\n if (block.type === 'checkbox') {\r\n block.options.forEach((option) => {\r\n if (option.isExclusive) {\r\n accumulator.push({ fieldName: block.name, answer: option.value });\r\n }\r\n });\r\n }\r\n return accumulator;\r\n};\r\n\r\n/*\r\ngetNextValidStep\r\n\r\nProcess a given array of steps against the values and array of visited slugs to see what are the next valid steps\r\n\r\nsteps - Array of all step objects\r\nvalues - Object containing answers to questions within the steps\r\nvisited - An array of slugs that relate to visited steps and therefore are no longer valid as forward steps\r\n\r\n*/\r\nexport const getNextValidStep = (steps, values, currentSlug) => {\r\n const validSteps = steps.filter((step) => {\r\n return validateStep(step, values);\r\n });\r\n\r\n let nextValidStep;\r\n let isNext = false;\r\n let prevSlug;\r\n let i = 0;\r\n if (validSteps) {\r\n while (!isNext && i < validSteps.length) {\r\n const thisStep = validSteps[i];\r\n\r\n if (prevSlug === currentSlug) {\r\n isNext = true;\r\n nextValidStep = thisStep;\r\n }\r\n prevSlug = thisStep.slug;\r\n\r\n i++;\r\n }\r\n }\r\n\r\n if (!nextValidStep) {\r\n nextValidStep = validSteps[0];\r\n }\r\n return nextValidStep;\r\n};\r\n\r\n/*\r\ngetValidBlocks\r\n\r\nProcess a given array of blocks against the values to see what are the next valid blocks to display on this step\r\n\r\nblocks - Array of all blocks objects within a step\r\nvalues - Object containing answers to questions within the steps for constraint comparison\r\n\r\n*/\r\nexport const getValidBlocks = (blocks, values) => {\r\n return blocks\r\n ? blocks.filter((block) => {\r\n return validateBlock(block, values);\r\n })\r\n : [];\r\n};\r\n\r\n/*\r\nremoveForwardAnswers\r\n\r\nRemoves answers from steps that are beyond the current step from the currentAnswers object\r\n\r\ncurrentAnswers - Object containing current value bag\r\ncurrentSteps - Array of all step objects currently possible\r\ncurrentSlug - The slug of the current active step\r\n\r\n*/\r\nexport const removeForwardClearableAnswers = (currentAnswers, currentSteps, currentSlug) => {\r\n const validSteps = currentSteps.filter((step) => {\r\n return validateStep(step, currentAnswers);\r\n });\r\n\r\n let counterNum = 0;\r\n let futureClearQuestionsObj = {};\r\n let hasMetCurrentSlug = false;\r\n\r\n while (counterNum < validSteps.length) {\r\n const thisStep = validSteps[counterNum];\r\n if (thisStep) {\r\n if (hasMetCurrentSlug) {\r\n const stepClearQuestions = thisStep.blocks ? thisStep.blocks.reduce(reduceClearBlocks, {}) : [];\r\n futureClearQuestionsObj = { ...futureClearQuestionsObj, ...stepClearQuestions };\r\n }\r\n\r\n if (currentSlug === thisStep.slug) {\r\n hasMetCurrentSlug = true;\r\n }\r\n }\r\n counterNum++;\r\n }\r\n\r\n const forwardClearQuestions = Object.keys(futureClearQuestionsObj);\r\n\r\n let newAnswers = {};\r\n Object.keys(currentAnswers).forEach((key) => {\r\n if (!forwardClearQuestions.includes(key)) {\r\n newAnswers[key] = currentAnswers[key];\r\n }\r\n });\r\n\r\n return newAnswers;\r\n};\r\n\r\n/*\r\nremoveForwardAnswers\r\n\r\nRemoves answers from steps that are beyond the current step from the currentAnswers object\r\n\r\ncurrentAnswers - Object containing current value bag\r\ncurrentSteps - Array of all step objects currently possible\r\ncurrentSlug - The slug of the current active step\r\n\r\n*/\r\nexport const removeForwardAnswers = (currentAnswers, currentSteps) => {\r\n const validSteps = currentSteps.filter((step) => {\r\n return validateStep(step, currentAnswers);\r\n });\r\n\r\n let counterNum = 0;\r\n let futureQuestionsObj = {};\r\n\r\n while (counterNum < validSteps.length) {\r\n const thisStep = validSteps[counterNum];\r\n if (thisStep) {\r\n const stepQuestions = thisStep.blocks ? thisStep.blocks.reduce(reduceQuestionBlocks) : [];\r\n\r\n futureQuestionsObj = { ...futureQuestionsObj, ...stepQuestions };\r\n }\r\n counterNum++;\r\n }\r\n\r\n const forwardQuestions = Object.keys(futureQuestionsObj);\r\n\r\n let newAnswers = {};\r\n Object.keys(currentAnswers).forEach((key) => {\r\n if (forwardQuestions.includes(key)) {\r\n newAnswers[key] = currentAnswers[key];\r\n }\r\n });\r\n\r\n return newAnswers;\r\n};\r\n\r\n// REAL VISITED STEPS\r\nexport const realVisitedSteps = (visitedSteps, initialSteps, newAnswersThisStep, currentSlug) => {\r\n const validSteps = initialSteps.filter((step) => {\r\n return validateStep(step, newAnswersThisStep);\r\n });\r\n let counterNum = 0;\r\n let realStep;\r\n\r\n while (counterNum < validSteps.length) {\r\n const thisStep = validSteps[counterNum];\r\n\r\n if (currentSlug === thisStep.slug) {\r\n realStep = thisStep.slug;\r\n }\r\n\r\n counterNum++;\r\n }\r\n\r\n return visitedSteps.includes(currentSlug) ? visitedSteps : [...visitedSteps, realStep];\r\n};\r\n\r\nconst stepsApi = {\r\n cleanseSteps,\r\n fetchSteps,\r\n getNextValidStep,\r\n getValidBlocks,\r\n removeForwardAnswers,\r\n removeForwardClearableAnswers,\r\n realVisitedSteps,\r\n validateStep,\r\n reduceQuestionBlocks,\r\n reduceClearBlocks,\r\n reduceHiddenBlocks,\r\n reduceExclusiveAnswers,\r\n};\r\n\r\nexport default stepsApi;\r\n","import { GA_FORM_ID, GA_SUCCESS } from '../constants';\r\n\r\nconst trackEvent = (event, stepSlug) =>\r\n window.dataLayer &&\r\n window.dataLayer.push({\r\n event: event,\r\n form_id: GA_FORM_ID,\r\n form_name: stepSlug,\r\n form_state: GA_SUCCESS,\r\n });\r\n\r\nconst googleAnalytics = {\r\n trackEvent,\r\n};\r\n\r\nexport default googleAnalytics;\r\n","import axios from 'axios';\r\n\r\nclass Service {\r\n constructor() {\r\n let service = axios.create({\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n validateStatus: function(status) {\r\n return status === 200;\r\n },\r\n });\r\n service.interceptors.response.use(this.handleSuccess, this.handleError);\r\n this.service = service;\r\n }\r\n\r\n handleSuccess(response) {\r\n return Promise.resolve({ status: response.status, data: response.data });\r\n }\r\n\r\n handleError = (error) => {\r\n return Promise.reject({ status: error.response.status, message: error.message });\r\n };\r\n\r\n get(path) {\r\n return this.service.get(path);\r\n }\r\n\r\n patch(path, payload, callback) {\r\n return this.service.request({\r\n method: 'PATCH',\r\n url: path,\r\n responseType: 'json',\r\n data: payload,\r\n });\r\n }\r\n\r\n post(path, payload) {\r\n return this.service.request({\r\n method: 'POST',\r\n url: path,\r\n responseType: 'json',\r\n data: payload,\r\n });\r\n }\r\n}\r\n\r\n// eslint-disable-next-line import/no-anonymous-default-export\r\nexport default new Service();\r\n","import * as R from 'ramda';\r\nimport { sprintf } from 'sprintf-js';\r\n\r\nimport Service from './service';\r\nimport validationService from '../api/validation';\r\nimport {\r\n ALPHABET,\r\n WASTE_BOUNDARY_ESCAPE_LOCATION_QUESTION,\r\n API_ENDPOINT_PROBLEMS,\r\n BLOCK_QUESTION_TYPES,\r\n GUSHING,\r\n ABOVE_GROUND_STOP_TAP,\r\n COVER,\r\n GROUND,\r\n METER,\r\n PLUMBING,\r\n RUNNING_QUICKLY,\r\n SUMMARY_CLEAN_SEVERITY_TEMPLATE,\r\n SUMMARY_FROM_TEMPLATE,\r\n SUMMARY_PROPOSITION_TEMPLATE,\r\n TRICKLING,\r\n Option_NA,\r\n} from '../constants';\r\nimport outcomeConfig from '../data/outcomes';\r\n\r\n/*\r\npostOutcome\r\n\r\nMake a http POST to the problem api given the values\r\n\r\nproblemData - An object containing the value bag of answers\r\nsuccessHandler -Function to call on successful response\r\nerrorHandler -Function to call on erroneous response\r\n\r\n*/\r\n\r\nconst getRangeFromStartTime = (slots, startTime) => {\r\n let output;\r\n if (slots && startTime) {\r\n slots.forEach(({ timeSlots }) => {\r\n timeSlots.forEach((timeSlot) => {\r\n if (timeSlot.time === startTime) {\r\n output = timeSlot.range;\r\n }\r\n });\r\n });\r\n }\r\n return output;\r\n};\r\n\r\nconst postOutcome = (valueBag, successHandler, errorHandler, uniquePath) => {\r\n const lens = R.lensPath(['hooks', 'lookups', 'callbacks']);\r\n const lensVal = R.view(lens, valueBag);\r\n let timeSlotRange;\r\n if (lensVal) {\r\n timeSlotRange = getRangeFromStartTime(lensVal, valueBag.appointmentSlot);\r\n }\r\n\r\n let desc = '';\r\n if (valueBag.mapResult) {\r\n desc = valueBag.mapResult.locationDetails;\r\n } else if (valueBag.locationDetails) {\r\n desc = valueBag.locationDetails;\r\n }\r\n\r\n let postcode = '';\r\n if (valueBag.mapResult) {\r\n postcode = valueBag.mapResult.postcode;\r\n } else if (valueBag.postcode) {\r\n postcode = valueBag.postcode;\r\n }\r\n\r\n const { status } = valueBag;\r\n if (valueBag.wasteBoundaryEscapeLocations) {\r\n valueBag.wasteBoundaryEscapeLocations.forEach((item, index) => {\r\n status.userResponses[`${WASTE_BOUNDARY_ESCAPE_LOCATION_QUESTION} ${ALPHABET[index]})`] = item;\r\n });\r\n }\r\n const sentimentReportOutcome = valueBag.SentimentReportOutcome !== Option_NA ? valueBag.SentimentReportOutcome : null;\r\n const sentimentReportOutcome2ndLevel =\r\n valueBag.SentimentReportOutcome2ndLevel !== Option_NA ? valueBag.SentimentReportOutcome2ndLevel : null;\r\n const sentimentLogComplaint = valueBag.SentimentLogComplaint !== Option_NA ? valueBag.SentimentLogComplaint : null;\r\n const sentimentCustomerUsedComplaintWording =\r\n valueBag.SentimentCustomerUsedComplaintWording !== Option_NA\r\n ? valueBag.SentimentCustomerUsedComplaintWording\r\n : null;\r\n const additionalComments = valueBag.additionalCommentsText || null;\r\n const colleagueToken = valueBag.colleagueToken || null;\r\n\r\n delete status.userResponses['Which location should we use?'];\r\n return Service.post(`${API_ENDPOINT_PROBLEMS}`, {\r\n contactDetails: {\r\n firstName: valueBag.firstName || null,\r\n lastName: valueBag.lastName || null,\r\n phoneNumber: valueBag.telephone || null,\r\n emailAddress: valueBag.email || null,\r\n isAnonymous: status.isAnonymous,\r\n },\r\n attachments: valueBag.attachments.files\r\n ? valueBag.attachments.files\r\n .filter((attachment) => !attachment.hasErrored)\r\n .map((attachment) => ({ attachmentId: attachment.id.toString(), isVideo: attachment.isVideo }))\r\n : [],\r\n location: {\r\n postcode: postcode && postcode.replace(' ', ''),\r\n propertyReference: valueBag.addressConfirm || '',\r\n latLongCoordinates:\r\n valueBag.mapResult && (valueBag.mapResult.lat || valueBag.mapResult.lng)\r\n ? {\r\n latitude: Math.round(valueBag.mapResult.lat * 1000000) / 1000000,\r\n longitude: Math.round(valueBag.mapResult.lng * 1000000) / 1000000,\r\n }\r\n : null,\r\n locationDescription: desc,\r\n UtmCoordinates: valueBag.utmLocation\r\n ? {\r\n easting: valueBag.utmLocation.easting,\r\n northing: valueBag.utmLocation.northing,\r\n }\r\n : null,\r\n },\r\n channel: 'tellus',\r\n detail: {\r\n problemType: status.group || null,\r\n location: status.location || null,\r\n isSevere: status.isSevere,\r\n hasCallback: status.hasCallback,\r\n hasShutoff: status.hasShutoff,\r\n callbackInfo: valueBag.appointmentSlot\r\n ? {\r\n immediateCallback: false,\r\n slot: timeSlotRange ? { from: timeSlotRange.from, to: timeSlotRange.to } : null,\r\n reasonId: status.reasonId,\r\n }\r\n : null,\r\n userResponses: status.userResponses,\r\n JourneyCode: uniquePath,\r\n },\r\n ReCaptchaResponse: valueBag.recaptchaCode || null,\r\n AdditionalComment: additionalComments,\r\n ColleagueToken: colleagueToken,\r\n SentimentReportOutcome: sentimentReportOutcome,\r\n SentimentReportOutcome2ndLevel: sentimentReportOutcome2ndLevel,\r\n SentimentLogComplaint: sentimentLogComplaint,\r\n SentimentCustomerUsedComplaintWording: sentimentCustomerUsedComplaintWording,\r\n })\r\n .then((response) => {\r\n successHandler(response);\r\n })\r\n .catch((error) => {\r\n errorHandler(error);\r\n });\r\n};\r\n\r\n/*\r\nreduceOutcomesValues\r\n\r\nTake and outcome object and reduce it list of possible values to identify a matching values\r\n\r\naccumulator - object to build up with correct outcome names as keys and reduced value from list of possible values\r\npossibleValue - Single possibleValue object\r\n\r\n*/\r\nexport const reduceOutcomesValues = (accumulator, possibleValue, currentAnswers) => {\r\n let constraintArr = Array.isArray(possibleValue.constraints)\r\n ? possibleValue.constraints\r\n : [possibleValue.constraints];\r\n let hasPassed = false;\r\n\r\n constraintArr.forEach((constraints) => {\r\n if (!validationService.validate(currentAnswers, constraints)) {\r\n hasPassed = true;\r\n }\r\n });\r\n\r\n return hasPassed ? [...accumulator, possibleValue.value] : accumulator;\r\n};\r\n\r\n/*\r\nreduceOutcomes\r\n\r\nTake and outcome object and reduce it list of possible values to identify a matching values\r\n\r\naccumulator - object to build up with correct outcome names as keys and reduced value from list of possible values\r\noutcome -Single outcome object\r\n\r\n*/\r\nexport const reduceOutcomes = (accumulator, outcome, currentAnswers) => {\r\n const matchingValues = outcome.possibleValues.reduce(\r\n (acc, val) => reduceOutcomesValues(acc, val, currentAnswers),\r\n [],\r\n );\r\n accumulator[outcome.name] = matchingValues.length ? matchingValues[0] : outcome.default;\r\n return accumulator;\r\n};\r\n\r\n/*\r\nfetchOutcomeSummary\r\n\r\nTakes a list of answers and list of steps and summarises the derived problem classifying into a broad location, a broad group, isSevere, hasCallback\r\n\r\ncurrentAnswers - Object containing current value bag\r\ncurrentSteps - Array of all step objects currently possible\r\nsuccessHandler -A callback fro successful lookup\r\nerrorHandler - A callback for failure to derive problem\r\n\r\n*/\r\nexport const fetchOutcomeSummary = (currentAnswers, currentSteps, successHandler, errorHandler) => {\r\n const outcomes = outcomeConfig.reduce((acc, out) => reduceOutcomes(acc, out, currentAnswers), {});\r\n const problemReadableString = evaluateReadableProblem(currentAnswers, outcomes.group);\r\n const userResponses = evaluateUserResponses(currentSteps, currentAnswers);\r\n\r\n let problemResponse = {\r\n summary: problemReadableString,\r\n userResponses,\r\n ...outcomes,\r\n };\r\n return new Promise(function(resolve) {\r\n setTimeout(() => resolve(problemResponse), 1); // mock delay until async source\r\n })\r\n .then(successHandler)\r\n .catch(errorHandler);\r\n};\r\n\r\nexport const evaluateUserResponses = (currentSteps, currentAnswers) => {\r\n const flatQuestions = currentSteps.reduce((questionAcc, step) => {\r\n const thisStepBlocks = step.blocks;\r\n if (!thisStepBlocks) {\r\n return questionAcc;\r\n }\r\n\r\n const questions = thisStepBlocks.reduce((blockAcc, block) => {\r\n const currentAnswer = currentAnswers[block.name];\r\n\r\n if (currentAnswer && block.label) {\r\n if (BLOCK_QUESTION_TYPES.includes(block.type)) {\r\n if (!block.options) {\r\n blockAcc[block.label] = currentAnswer;\r\n } else {\r\n const matchedOptions = block.options\r\n .filter((option) => {\r\n return option.value === currentAnswer || currentAnswer.includes(option.value);\r\n })\r\n .map((option) => option.label);\r\n\r\n if (matchedOptions.length) {\r\n blockAcc[block.label] = matchedOptions.join(', ');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return blockAcc;\r\n }, {});\r\n\r\n return { ...questionAcc, ...questions };\r\n }, {});\r\n\r\n return flatQuestions;\r\n};\r\n\r\n/*\r\nevaluateReadableProblem\r\n\r\nTakes the current answers and reduces that a single readable sentence or paragraph\r\n\r\ncurrentAnswers - Object containing current value bag\r\n\r\n*/\r\nexport const evaluateReadableProblem = (currentAnswers, problemGroup) => {\r\n const problemGroupString = summariseProblemGroup(problemGroup);\r\n const origin = summariseOrigin(currentAnswers.coverType ? COVER : currentAnswers.waterOrigin);\r\n const cleanSeverity = summariseCleanSeverity(currentAnswers.cleanSeverity);\r\n\r\n let summaryResponse = '';\r\n\r\n if (problemGroupString) {\r\n summaryResponse = sprintf(SUMMARY_PROPOSITION_TEMPLATE, problemGroupString);\r\n }\r\n\r\n if (origin) {\r\n summaryResponse += sprintf(SUMMARY_FROM_TEMPLATE, origin);\r\n }\r\n\r\n if (cleanSeverity) {\r\n summaryResponse += sprintf(SUMMARY_CLEAN_SEVERITY_TEMPLATE, cleanSeverity);\r\n summaryResponse += `.`;\r\n }\r\n\r\n return summaryResponse;\r\n};\r\n\r\n/*\r\nsummariseProblemGroup\r\n\r\nTakes a string representing the derived problem group and converts this to a readable string\r\n\r\ngroup - String representing the problem group generated in evaluateProblemGroup\r\n\r\n*/\r\nconst summariseProblemGroup = (group) => {\r\n switch (group) {\r\n case 'WASTE':\r\n return 'A sewage flood';\r\n case 'CLEAN':\r\n return 'A clean water leak';\r\n case 'METER':\r\n return 'A clean water leak';\r\n case 'POLLUTION':\r\n return 'A water pollution incident';\r\n default:\r\n return 'A leak or flood';\r\n }\r\n};\r\n\r\nconst summariseOrigin = (origin) => {\r\n switch (origin) {\r\n case METER:\r\n return 'a water meter';\r\n case PLUMBING:\r\n return 'a plumbing fixture';\r\n case COVER:\r\n return 'a cover';\r\n case GROUND:\r\n return 'the ground';\r\n case ABOVE_GROUND_STOP_TAP:\r\n return 'an above ground stop tap';\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\nconst summariseCleanSeverity = (severity) => {\r\n switch (severity) {\r\n case GUSHING:\r\n return GUSHING;\r\n case RUNNING_QUICKLY:\r\n return 'running quickly';\r\n case TRICKLING:\r\n return 'not gushing';\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\nconst outcomeApi = { postOutcome, fetchOutcomeSummary };\r\n\r\nexport default outcomeApi;\r\n","import { ActionTypes } from '../constants';\r\n\r\nimport outcomeApi from '../api/outcome';\r\n\r\n/*\r\nevaluateOutcomeSummary\r\n\r\nTake the current values submitted and match against outcomes to produce a high level summary \r\nof the steps that can be used in the submission.\r\n\r\nvalues - total set of values from all steps\r\nsuccessHandler - a function to call once a successful response received from the lookup\r\nerrorHandler - a function to call once an error has been received from the lookup\r\n\r\n*/\r\nexport function evaluateOutcomeSummary(valueBag, successHandler, errorHandler) {\r\n return (dispatch, getState) => {\r\n dispatch(outcomeIsLoading(true));\r\n\r\n const {\r\n steps: { initialSteps },\r\n } = getState();\r\n\r\n return outcomeApi.fetchOutcomeSummary(\r\n valueBag,\r\n initialSteps,\r\n (response) => {\r\n dispatch(outcomeIsLoading(false));\r\n dispatch(outcomeSummarySuccess(response));\r\n\r\n if (successHandler) {\r\n successHandler(response);\r\n }\r\n },\r\n (error) => {\r\n dispatch(outcomeHasErrored(true, error));\r\n dispatch(outcomeIsLoading(false));\r\n\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n },\r\n );\r\n };\r\n}\r\n\r\nexport const outcomeIsLoading = (bool) => ({\r\n type: ActionTypes.SUBMIT_OUTCOME_LOADING,\r\n isLoading: bool,\r\n});\r\n\r\nexport function outcomeHasErrored(hasErrored, error) {\r\n return {\r\n type: ActionTypes.SUBMIT_OUTCOME_ERROR,\r\n hasErrored,\r\n error,\r\n };\r\n}\r\n\r\nexport function outcomeSummarySuccess(status) {\r\n return {\r\n type: ActionTypes.SUBMIT_OUTCOME_SUMMARY_SUCCESS,\r\n status,\r\n };\r\n}\r\n","import Service from './service';\r\nimport { API_ENDPOINT_PROPERTIES } from '../constants';\r\n/*\r\nfetchAddresses\r\n\r\nMake a http request ot GET the address given the parameters\r\n\r\npostcode - A string representing the search postcode\r\nbuildingNumber - A string representing the optional building number\r\nsuccessHandler -Function to call on successful response\r\nerrorHandler -Function to call on erroneous response\r\n\r\n*/\r\nconst fetchAddresses = (lookupValues, successHandler, errorHandler) => {\r\n return Service.get(\r\n `${API_ENDPOINT_PROPERTIES}?postcode=${lookupValues.postcode}&houseNameOrNumber=${lookupValues.buildingNumber}`,\r\n )\r\n .then(({ data }) => {\r\n const addresses = data.map((item) => {\r\n return {\r\n id: item.propertyReference,\r\n address: item.address,\r\n label: item.address,\r\n postcode: item.postcode,\r\n easting: item.easting,\r\n northing: item.northing,\r\n isCommercial: item.isCommercial,\r\n };\r\n });\r\n successHandler(addresses);\r\n })\r\n .catch((error) => {\r\n errorHandler(error);\r\n });\r\n};\r\n\r\nconst addressApi = { fetchAddresses };\r\n\r\nexport default addressApi;\r\n","import Service from './service';\r\nimport { API_ENDPOINT_INCIDENTS } from '../constants';\r\n\r\nconst getIncidents = (lookupValues, successHandler, errorHandler) => {\r\n const latitude = lookupValues.mapResult\r\n ? lookupValues.mapResult.lat\r\n : lookupValues.hooks.lookups.externalMap\r\n ? lookupValues.hooks.lookups.externalMap.lat\r\n : null;\r\n const longitude = lookupValues.mapResult\r\n ? lookupValues.mapResult.lng\r\n : lookupValues.hooks.lookups.externalMap\r\n ? lookupValues.hooks.lookups.externalMap.lng\r\n : null;\r\n\r\n const websiteIssueCategoryCodeParam = lookupValues.isWasteInitial ? '' : '&websiteIssueCategoryCode=LeakFlood';\r\n const incidentType = lookupValues.isWasteInitial ? 'Waste' : 'Clean';\r\n const url = `${API_ENDPOINT_INCIDENTS}?latitude=${latitude}&longitude=${longitude}${websiteIssueCategoryCodeParam}&incidentType=${incidentType}&radius=300`;\r\n return Service.get(url)\r\n .then((resp) => {\r\n if (resp.data.length === 0) {\r\n successHandler([]);\r\n } else {\r\n successHandler(resp.data);\r\n }\r\n })\r\n .catch((error) => {\r\n successHandler([]);\r\n errorHandler(error);\r\n });\r\n};\r\n\r\nconst incidentsApi = { getIncidents };\r\n\r\nexport default incidentsApi;\r\n","import moment from 'moment';\r\nimport Service from './service';\r\nimport { API_ENDPOINT_CALLBACKS } from '../constants';\r\n\r\n/*\r\nfetchSlots\r\n\r\nMake a request for slots given the reasonId\r\n\r\nreasonId - Id of the reason type\r\nsuccessHandler - Function to call on successful response\r\nerrorHandler - Function to call on erroneous response\r\n\r\n*/\r\nconst fetchSlots = (reasonId, successHandler, errorHandler) => {\r\n return Service.get(`${API_ENDPOINT_CALLBACKS}/slots/${reasonId}`)\r\n .then(({ data }) => {\r\n const availableSlots = data.availableSlots.map((day) => {\r\n const newTimeSlots = day.timeSlots.map((timeSlot) => {\r\n const startDate = moment(timeSlot.from);\r\n const startTime = startDate.format('HH:mm');\r\n const endDate = moment(timeSlot.to);\r\n const newEndTime = endDate.format('HH:mm');\r\n return { range: timeSlot, description: `${startTime} to ${newEndTime}`, time: timeSlot.from };\r\n });\r\n\r\n return { ...day, timeSlots: newTimeSlots };\r\n });\r\n successHandler(availableSlots);\r\n })\r\n .catch(errorHandler);\r\n};\r\n\r\nconst callbacksApi = { fetchSlots };\r\n\r\nexport default callbacksApi;\r\n","import Service from './service';\r\nimport { API_ENDPOINT_TIME } from '../constants';\r\n\r\nconst isAccessHours = async (successHandler, errorHandler) => {\r\n const url = `${API_ENDPOINT_TIME}/isAccessHours`;\r\n return Service.get(url)\r\n .then((resp) => {\r\n successHandler(resp.data);\r\n })\r\n .catch((error) => {\r\n errorHandler(error);\r\n });\r\n};\r\n\r\nconst isNoWaterHours = async (successHandler, errorHandler) => {\r\n const url = `${API_ENDPOINT_TIME}/isNoWaterHours?justGetTime=true`;\r\n return Service.get(url)\r\n .then((resp) => {\r\n successHandler(resp.data);\r\n })\r\n .catch((error) => {\r\n errorHandler(error);\r\n });\r\n};\r\n\r\nconst isNoWaterEnabled = async (successHandler, errorHandler) => {\r\n const url = `${API_ENDPOINT_TIME}/isNoWaterHours?justGetTime=false`;\r\n return Service.get(url)\r\n .then((resp) => {\r\n successHandler(resp.data);\r\n })\r\n .catch((error) => {\r\n errorHandler(error);\r\n });\r\n};\r\n\r\nconst isWorkingHours = async (successHandler, errorHandler) => {\r\n const url = `${API_ENDPOINT_TIME}/isWorkingHours`;\r\n return Service.get(url)\r\n .then((resp) => {\r\n successHandler(resp.data);\r\n })\r\n .catch((error) => {\r\n errorHandler(error);\r\n });\r\n};\r\n\r\nconst timeApi = {\r\n isAccessHours,\r\n isNoWaterHours,\r\n isWorkingHours,\r\n isNoWaterEnabled,\r\n};\r\n\r\nexport default timeApi;\r\n","import { ActionTypes, GA_FORM_SUBMIT } from '../constants';\r\nimport * as R from 'ramda';\r\nimport { LOCATION_METHOD_CURRENT_LOCATION, LOCATION_METHOD_MAP_SEARCH } from '../constants';\r\n\r\nimport addressApi from '../api/addresses';\r\nimport locationApi from '../api/location';\r\nimport incidentApi from '../api/incidents';\r\nimport callbacksApi from '../api/callbacks';\r\nimport outcomeApi from '../api/outcome';\r\nimport timeApi from '../api/time';\r\nimport validationService from '../api/validation';\r\nimport googleAnalytics from '../api/googleAnalytics';\r\n\r\nexport const lensMap = (tree, vals) => {\r\n let lensParts = Object.keys(tree).reduce((accumulator, key) => {\r\n const value = tree[key];\r\n\r\n const lens = R.lensPath(value.split('.'));\r\n const lensVal = R.view(lens, vals);\r\n\r\n accumulator[key] = lensVal;\r\n return accumulator;\r\n }, {});\r\n\r\n return lensParts;\r\n};\r\n\r\nexport const lensString = (params, vals) => {\r\n if (params === '') {\r\n return vals;\r\n }\r\n const lens = R.lensPath(params.split('.'));\r\n const lensVal = R.view(lens, vals);\r\n return lensVal;\r\n};\r\n\r\nexport const hookIsLoading = (bool) => ({\r\n type: ActionTypes.HOOK_LOADING,\r\n isLoading: bool,\r\n});\r\n\r\nexport function hookSuccess(key, response) {\r\n return {\r\n type: ActionTypes.HOOK_SUCCESS,\r\n key,\r\n response,\r\n };\r\n}\r\n\r\nexport function hookCount() {\r\n return {\r\n type: ActionTypes.HOOK_COUNT,\r\n };\r\n}\r\n\r\nexport function hookHasError(hasError, error, errorResponse) {\r\n return {\r\n type: ActionTypes.HOOK_ERROR,\r\n hasError,\r\n error,\r\n errorResponse,\r\n };\r\n}\r\n\r\n// hooks\r\n\r\nexport function stepSubmission(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch, getState) => {\r\n const {\r\n steps: { userPath },\r\n } = getState();\r\n\r\n const params =\r\n typeof lookup.params === 'string' ? lensString(lookup.params, valueBag) : lensMap(lookup.params || {}, valueBag);\r\n if (lookup.validation) {\r\n const validationResult = validationService.validate(valueBag, lookup.validation);\r\n if (validationResult) {\r\n dispatch(hookSuccess(lookup.type, null));\r\n dispatch(hookHasError(true, lookup.type, validationResult));\r\n dispatch(hookIsLoading(false));\r\n\r\n if (errorHandler) {\r\n errorHandler(validationResult[0]);\r\n }\r\n\r\n return;\r\n }\r\n }\r\n dispatch(hookIsLoading(true));\r\n dispatch(hookCount());\r\n\r\n outcomeApi.postOutcome(\r\n params,\r\n (response) => {\r\n dispatch(hookSuccess(lookup.type, {}));\r\n dispatch(hookHasError(false));\r\n dispatch(hookIsLoading(false));\r\n if (successHandler) {\r\n successHandler({}, { problemSubmitted: true, isWorkingHours: response.data?.isWorkingHours });\r\n }\r\n\r\n googleAnalytics.trackEvent(GA_FORM_SUBMIT, 'your-summary');\r\n },\r\n (error) => {\r\n dispatch(hookSuccess(lookup.type, null));\r\n dispatch(hookHasError(true, lookup.type, error));\r\n dispatch(hookIsLoading(false));\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n },\r\n userPath,\r\n );\r\n };\r\n}\r\n\r\nexport function incidentLookup(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch) => {\r\n const params =\r\n typeof lookup.params === 'string' ? lensString(lookup.params, valueBag) : lensMap(lookup.params || {}, valueBag);\r\n\r\n dispatch(hookIsLoading(true));\r\n dispatch(hookCount());\r\n return incidentApi.getIncidents(\r\n params,\r\n (response) => {\r\n dispatch(hookSuccess(lookup.type, response));\r\n dispatch(hookHasError(false));\r\n dispatch(hookIsLoading(false));\r\n if (successHandler) {\r\n const cleanOrWasteIncidentTotal = params.isWasteInitial\r\n ? { incidentTotalWaste: response.length }\r\n : { incidentTotal: response.length };\r\n successHandler(response, cleanOrWasteIncidentTotal);\r\n }\r\n\r\n return;\r\n },\r\n (error) => {\r\n dispatch(hookSuccess(lookup.type, null));\r\n dispatch(hookHasError(true, lookup.type, error));\r\n dispatch(hookIsLoading(false));\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n },\r\n );\r\n };\r\n}\r\n\r\nexport function workingHoursLookup(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch) => {\r\n dispatch(hookIsLoading(true));\r\n dispatch(hookCount());\r\n\r\n return timeApi.isWorkingHours(\r\n (response) => {\r\n dispatch(hookSuccess(lookup.type, response));\r\n dispatch(hookHasError(false));\r\n dispatch(hookIsLoading(false));\r\n if (successHandler) {\r\n successHandler(response, { isWorkingHours: response });\r\n }\r\n return;\r\n },\r\n (error) => {\r\n dispatch(hookSuccess(lookup.type, null));\r\n dispatch(hookHasError(true, lookup.type, error));\r\n dispatch(hookIsLoading(false));\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n },\r\n );\r\n };\r\n}\r\n\r\nexport function accessHoursLookup(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch) => {\r\n dispatch(hookIsLoading(true));\r\n dispatch(hookCount());\r\n\r\n return timeApi.isAccessHours(\r\n (response) => {\r\n dispatch(hookSuccess(lookup.type, response));\r\n dispatch(hookHasError(false));\r\n dispatch(hookIsLoading(false));\r\n if (successHandler) {\r\n successHandler(response, { isAccessHours: response });\r\n }\r\n return;\r\n },\r\n (error) => {\r\n dispatch(hookSuccess(lookup.type, null));\r\n dispatch(hookHasError(true, lookup.type, error));\r\n dispatch(hookIsLoading(false));\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n },\r\n );\r\n };\r\n}\r\n\r\nexport function noWaterEnabledLookup(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch) => {\r\n dispatch(hookIsLoading(true));\r\n dispatch(hookCount());\r\n\r\n return timeApi.isNoWaterEnabled(\r\n (response) => {\r\n dispatch(hookSuccess(lookup.type, response));\r\n dispatch(hookHasError(false));\r\n dispatch(hookIsLoading(false));\r\n if (successHandler) {\r\n successHandler(response, { isNoWaterEnabled: response });\r\n }\r\n return;\r\n },\r\n (error) => {\r\n dispatch(hookSuccess(lookup.type, null));\r\n dispatch(hookHasError(true, lookup.type, error));\r\n dispatch(hookIsLoading(false));\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n },\r\n );\r\n };\r\n}\r\n\r\nexport function addressLookup(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch) => {\r\n const params =\r\n typeof lookup.params === 'string' ? lensString(lookup.params, valueBag) : lensMap(lookup.params || {}, valueBag);\r\n\r\n dispatch(hookIsLoading(true));\r\n dispatch(hookCount());\r\n return addressApi.fetchAddresses(\r\n params,\r\n (response) => {\r\n dispatch(hookSuccess(lookup.type, response));\r\n dispatch(hookHasError(false));\r\n dispatch(hookIsLoading(false));\r\n if (successHandler) {\r\n successHandler(response, { addressTotal: response.length });\r\n }\r\n\r\n return;\r\n },\r\n (error) => {\r\n dispatch(hookSuccess(lookup.type, null));\r\n dispatch(hookHasError(true, lookup.type, error));\r\n dispatch(hookIsLoading(false));\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n },\r\n );\r\n };\r\n}\r\n\r\nexport function geocodeLocation(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch) => {\r\n let params =\r\n typeof lookup.params === 'string' ? lensString(lookup.params, valueBag) : lensMap(lookup.params || {}, valueBag);\r\n\r\n dispatch(hookIsLoading(true));\r\n dispatch(hookCount());\r\n let address = params;\r\n\r\n locationApi.geocodeLocation(\r\n address,\r\n (response) => {\r\n dispatch(hookSuccess(lookup.type, response));\r\n dispatch(hookIsLoading(false));\r\n dispatch(hookHasError(false, null));\r\n if (successHandler) {\r\n successHandler(response, {});\r\n }\r\n },\r\n (status) => {\r\n dispatch(hookSuccess(lookup.type, undefined));\r\n dispatch(hookHasError(true, lookup.type, status));\r\n dispatch(hookIsLoading(false));\r\n if (errorHandler) {\r\n errorHandler(status);\r\n }\r\n },\r\n );\r\n };\r\n}\r\n\r\nexport function checkMapLocation(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch) => {\r\n const params =\r\n typeof lookup.params === 'string' ? lensString(lookup.params, valueBag) : lensMap(lookup.params || {}, valueBag);\r\n\r\n dispatch(hookIsLoading(true));\r\n dispatch(hookCount());\r\n\r\n if (params.mapResult && params.mapConfirmed === 'TRUE') {\r\n // 1. Map already confirmed\r\n dispatch(hookSuccess(lookup.type, params.mapResult));\r\n dispatch(hookHasError(false, null));\r\n dispatch(hookIsLoading(false));\r\n if (successHandler) {\r\n successHandler(params.mapResult);\r\n }\r\n } else if (params.locateMethod === LOCATION_METHOD_MAP_SEARCH && params.hooks.lookups.mapSearch) {\r\n let response = { lat: params.hooks.lookups.mapSearch.lat, lng: params.hooks.lookups.mapSearch.lng };\r\n let matchedResponses;\r\n if (valueBag.mapResultConfirm) {\r\n matchedResponses = params.hooks.lookups.mapSearch.results.filter(\r\n (row) => row.place_id === valueBag.mapResultConfirm,\r\n );\r\n\r\n if (matchedResponses) {\r\n response = {\r\n lat: matchedResponses[0].geometry.location.lat(),\r\n lng: matchedResponses[0].geometry.location.lng(),\r\n };\r\n }\r\n } else {\r\n matchedResponses = params.hooks.lookups.mapSearch.results;\r\n }\r\n\r\n const location = {\r\n location: {\r\n lat: response.lat,\r\n lng: response.lng,\r\n },\r\n };\r\n dispatch(hookSuccess(lookup.type, response));\r\n dispatch(hookHasError(false, null));\r\n dispatch(hookIsLoading(false));\r\n if (successHandler && matchedResponses) {\r\n locationApi.reverseGeocodeLocation({ location }, (response) => {\r\n successHandler(response, {\r\n mapResult: { lat: response.lat, lng: response.lng, locationDetails: response.formattedAddress || '' },\r\n });\r\n });\r\n }\r\n } else if (params.locateMethod === LOCATION_METHOD_CURRENT_LOCATION) {\r\n locationApi.getCurrentLocation(\r\n (lat, lng) => {\r\n let latLng = { lat, lng };\r\n dispatch(hookSuccess(lookup.type, latLng));\r\n dispatch(hookHasError(false, null));\r\n dispatch(hookIsLoading(false));\r\n if (successHandler) {\r\n locationApi.reverseGeocodeLocation({ location: latLng }, (response) => {\r\n successHandler(latLng, {\r\n mapResult: { lat: response.lat, lng: response.lng, locationDetails: response.formattedAddress || '' },\r\n });\r\n });\r\n }\r\n },\r\n (err) => {\r\n dispatch(hookSuccess(lookup.type, null));\r\n dispatch(hookHasError(true, lookup.type, err));\r\n dispatch(hookIsLoading(false));\r\n errorHandler();\r\n },\r\n );\r\n } else {\r\n dispatch(hookSuccess(lookup.type, null));\r\n dispatch(hookHasError(true, lookup.type, 'No location found'));\r\n dispatch(hookIsLoading(false));\r\n errorHandler();\r\n }\r\n };\r\n}\r\n\r\nexport function callbacksLookup(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch) => {\r\n const params =\r\n typeof lookup.params === 'string' ? lensString(lookup.params, valueBag) : lensMap(lookup.params || {}, valueBag);\r\n\r\n dispatch(hookIsLoading(true));\r\n dispatch(hookCount());\r\n return callbacksApi.fetchSlots(\r\n params.reasonId,\r\n (response) => {\r\n dispatch(hookSuccess(lookup.type, response));\r\n dispatch(hookHasError(false));\r\n dispatch(hookIsLoading(false));\r\n\r\n if (successHandler) {\r\n successHandler(response);\r\n }\r\n\r\n return;\r\n },\r\n (error) => {\r\n dispatch(hookSuccess(lookup.type, undefined));\r\n dispatch(hookHasError(true, lookup.type, error));\r\n dispatch(hookIsLoading(false));\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n },\r\n );\r\n };\r\n}\r\n","import { push, replace } from 'connected-react-router';\r\nimport { GA_FORM_START, GA_FORM_STEP, journeyMapping } from '../constants/Settings';\r\nimport { ActionTypes, DOCUMENT_TITLE, TITLE_DIVIDER } from '../constants';\r\nimport stepsApi from '../api/steps';\r\nimport googleAnalytics from '../api/googleAnalytics';\r\nimport { evaluateOutcomeSummary } from './OutcomeAction';\r\nimport {\r\n addressLookup,\r\n incidentLookup,\r\n geocodeLocation,\r\n checkMapLocation,\r\n callbacksLookup,\r\n stepSubmission,\r\n workingHoursLookup,\r\n noWaterEnabledLookup,\r\n accessHoursLookup,\r\n} from './HookActions';\r\n\r\n/*\r\nloadConfig\r\n\r\nFetch the config that will drive the step system and reset the url to the base\r\n\r\n*/\r\nexport function loadConfig(source) {\r\n return (dispatch) => {\r\n // mark config as loading\r\n dispatch(configIsLoading(true));\r\n\r\n // reset route to first step\r\n dispatch(replace('/'));\r\n\r\n // fetch steps from config\r\n return stepsApi.fetchSteps(\r\n (config) => {\r\n // set config in store\r\n dispatch(setConfig(config));\r\n\r\n // switch off config loading\r\n dispatch(configIsLoading(false));\r\n },\r\n (error) => {\r\n // switch off config loading flag\r\n dispatch(configIsLoading(false));\r\n\r\n // store error from config api\r\n dispatch(configHasErrored(true, error));\r\n },\r\n source,\r\n );\r\n };\r\n}\r\n\r\n/*\r\nloadStep\r\n\r\nGiven a slug this action gets a step from config that matches the slug.\r\nIt is not validated against the constraints as this is done on moving forward.\r\nThe steps blocks are revalidated against the new questions set.\r\n\r\nslug - the url portion that represents the step to be loaded\r\n\r\n*/\r\nexport function loadStep(slug) {\r\n return (dispatch, getState) => {\r\n const {\r\n attachments,\r\n outcome: { status },\r\n hooks,\r\n locations,\r\n steps: { initialSteps, answers, isEditing, validStep },\r\n } = getState();\r\n\r\n // make sure answers are up to date with newly submitted values\r\n let valueBag = { ...answers, hooks, status, attachments, locations };\r\n\r\n // Check for step with slug matching current slug\r\n let newStep = initialSteps.filter((step) => step.slug === slug)[0] || initialSteps[0];\r\n\r\n // Revalidate blocks within step against current answers\r\n const validBlocks = newStep ? stepsApi.getValidBlocks(newStep.blocks, { ...valueBag, isEditing }) : [];\r\n\r\n // re-assemble current step with newly validated blocks\r\n let validatedStep = { ...newStep, blocks: validBlocks };\r\n const isReloading = validatedStep && validStep && validatedStep.slug === validStep.slug;\r\n\r\n if (!isEditing && !isReloading) {\r\n const newAnswers = stepsApi.removeForwardClearableAnswers(answers, initialSteps, slug);\r\n dispatch(setAnswers({ ...newAnswers }));\r\n\r\n if (validatedStep.entryHook) {\r\n dispatch(\r\n performLookup(validatedStep.entryHook, valueBag, function(response, additionalValues) {\r\n if (additionalValues) {\r\n const newAnswers = stepsApi.removeForwardClearableAnswers(answers, initialSteps, slug);\r\n\r\n dispatch(setAnswers({ ...newAnswers, ...additionalValues }));\r\n }\r\n }),\r\n );\r\n }\r\n }\r\n\r\n // set new step document title\r\n document.title = validatedStep.title ? `${DOCUMENT_TITLE}${TITLE_DIVIDER}${validatedStep.title}` : DOCUMENT_TITLE;\r\n\r\n dispatch(setStep(validatedStep));\r\n\r\n return Promise.resolve(validatedStep);\r\n };\r\n}\r\n\r\n/*\r\nstepBack\r\n\r\nNavigated the user to a legitimate previous step as listed in the visitedSteps.\r\nIf a user has used the browser back button to navigate we will need to clean up the visitedSteps to remove\r\nunnecessary forward steps that have not yet been triggered by the method.\r\n\r\n*/\r\nexport function stepBack() {\r\n return (dispatch, getState) => {\r\n const {\r\n steps: { visitedSteps, validStep, breadcrumbs },\r\n } = getState();\r\n\r\n let newVisitStep = [];\r\n\r\n // Check for history leaps\r\n // 1. Check if the user navigated with history to previous steps\r\n // i.e. does the visitedSteps array include the current step\r\n\r\n // validStep.slug is the current step we are on.\r\n breadcrumbs.pop();\r\n dispatch(setBreadcrumbs(breadcrumbs));\r\n\r\n if (visitedSteps.includes(validStep.slug)) {\r\n let foundMatch = false;\r\n let counter = 0;\r\n\r\n // Remove future and current steps\r\n // 1. iterate visited steps until we find current step\r\n // 2. Add all slugs until that point to new visitedSteps\r\n while (!foundMatch) {\r\n const thisVisitedStep = visitedSteps[counter];\r\n if (thisVisitedStep === validStep.slug) {\r\n foundMatch = true;\r\n } else {\r\n newVisitStep.push(thisVisitedStep);\r\n }\r\n counter++;\r\n }\r\n } else {\r\n // we're good this step isnt in the visitedSteps lets use the current visited steps\r\n newVisitStep = [...visitedSteps];\r\n }\r\n\r\n // get the end of the visited steps stack as the previous slug\r\n const previousSlug = newVisitStep.pop();\r\n\r\n // set new visited steps without last slug as we're moving to it\r\n dispatch(setVisitedSteps(newVisitStep));\r\n\r\n // navigate to the previous slug\r\n dispatch(push(previousSlug));\r\n };\r\n}\r\n\r\n/*\r\nstepForward\r\n\r\nNavigate through the steps in a forward direction from the 'currentSlug' - setting\r\nvalues in the answers set as we go. This also updates the visited steps by adding\r\nthe current slug to the visitedSteps array.\r\n\r\ncurrentSlug - the url part that represents the current step\r\nvalues - the values from the current step that will be passed forward\r\n\r\n*/\r\nexport function stepForward(currentSlug, values) {\r\n return (dispatch, getState) => {\r\n // set new answers in store\r\n dispatch(setAnswer(values));\r\n\r\n const {\r\n attachments,\r\n outcome: { status },\r\n hooks,\r\n locations,\r\n steps: { initialSteps, answers, isEditing, visitedSteps, validStep },\r\n } = getState();\r\n\r\n // make sure valuebag contains newly submitted values\r\n let valueBag = { ...answers, ...values, hooks, status, attachments, locations };\r\n\r\n return dispatch(\r\n evaluateOutcomeSummary(\r\n valueBag,\r\n () => {\r\n const {\r\n attachments,\r\n locations,\r\n outcome: { status },\r\n hooks,\r\n steps: { answers },\r\n } = getState();\r\n\r\n // make sure valuebag contains newly submitted values\r\n let valueBag = { ...answers, ...values, hooks, status, attachments, locations };\r\n\r\n return dispatch(\r\n performLookup(validStep.exitHook, valueBag, function(response, additionalValues) {\r\n // update answers with any that are return from lookup\r\n const {\r\n outcome: { status },\r\n hooks,\r\n steps: { answers, breadcrumbs },\r\n } = getState();\r\n let newValueBag = { ...answers, ...values, ...additionalValues, hooks, status };\r\n\r\n // Get next valid step\r\n // 1. Gets a valid step given answers including new answers\r\n // 2. Is next in not just end of visited stack\r\n let newValidStep = stepsApi.getNextValidStep(initialSteps, newValueBag, currentSlug);\r\n\r\n if (newValidStep) {\r\n // Update visited steps\r\n // 1. Add this step to visited\r\n // 2. Remove previous steps that are no longer valid\r\n let newVisSteps = stepsApi.realVisitedSteps(visitedSteps, initialSteps, newValueBag, currentSlug);\r\n dispatch(setVisitedSteps(newVisSteps));\r\n\r\n if (!isEditing) {\r\n // Remove answers for steps that are no longer valid\r\n // 1. Remove all answers from answers that are for backward steps that are no longer valid\r\n let newAnswers = stepsApi.removeForwardAnswers(newValueBag, initialSteps);\r\n dispatch(setAnswers({ ...newAnswers }));\r\n }\r\n\r\n if (initialSteps && initialSteps[0].slug === validStep.slug) {\r\n googleAnalytics.trackEvent(GA_FORM_START, currentSlug);\r\n } else {\r\n googleAnalytics.trackEvent(GA_FORM_STEP, currentSlug);\r\n }\r\n\r\n if (isEditing) {\r\n dispatch(push('your-summary'));\r\n } else if (newValidStep.type === 'step') {\r\n dispatch(push(newValidStep.slug));\r\n } else if (newValidStep.type === 'redirect') {\r\n window.open(newValidStep.redirectURL, '_blank');\r\n }\r\n\r\n // turn off edit mode\r\n dispatch(setEditMode(false));\r\n\r\n // newValidStep.slug new step !!!\r\n breadcrumbs.push(newValidStep.slug);\r\n dispatch(setBreadcrumbs(breadcrumbs));\r\n return Promise.resolve(newValidStep);\r\n }\r\n return Promise.resolve(null);\r\n }),\r\n );\r\n },\r\n () => {\r\n return Promise.resolve(null);\r\n },\r\n ),\r\n );\r\n };\r\n}\r\n\r\n/*\r\nstepTo\r\n\r\nMove to a slug without any validation of constraints as a means of moving sideWays in the process or backwards\r\nin the case of edit where the leap is more than one step.\r\n\r\nroute - An object representing the route { target: string, params: object, editMode: bool }\r\n\r\n*/\r\nexport function stepTo(route) {\r\n return (dispatch) => {\r\n if (route.editMode) {\r\n dispatch(setEditMode(route.editMode));\r\n }\r\n\r\n if (route.params) {\r\n dispatch(setAnswer(route.params));\r\n }\r\n\r\n if (route.target) {\r\n dispatch(push(route.target));\r\n }\r\n\r\n return Promise.resolve(route);\r\n };\r\n}\r\n\r\n/*\r\nperformLookup\r\n\r\nGiven a lookup identifier perform an async lookup given the passed values and return the response to the successHandler\r\nor errorHandler dependent on the outcome.\r\n\r\ntype - an string identifying the type of lookup\r\nvalues - additional values to use in the lookup\r\nsuccessHandler - a function to call once a successful response received from the lookup\r\nerrorHandler - a function to call once an error has been received from the lookup\r\n\r\n*/\r\n\r\nexport function performLookup(lookup, valueBag, successHandler, errorHandler) {\r\n return (dispatch, getState) => {\r\n const lookups = {\r\n addresses: addressLookup,\r\n incidents: incidentLookup,\r\n callbacks: callbacksLookup,\r\n mapSearch: geocodeLocation,\r\n map: checkMapLocation,\r\n submission: stepSubmission,\r\n workingHours: workingHoursLookup,\r\n accessHours: accessHoursLookup,\r\n noWaterEnabled: noWaterEnabledLookup,\r\n };\r\n\r\n if (lookup) {\r\n const lookupAction = lookups[lookup.type];\r\n if (!lookup.hidePageLoader) {\r\n dispatch(configIsLoading(true));\r\n }\r\n\r\n if (lookupAction) {\r\n dispatch(\r\n lookupAction(\r\n lookup,\r\n valueBag,\r\n (response, additionalValues) => {\r\n dispatch(configIsLoading(false));\r\n if (successHandler) {\r\n successHandler(response, additionalValues);\r\n }\r\n },\r\n (error) => {\r\n dispatch(configIsLoading(false));\r\n if (errorHandler) {\r\n errorHandler(error);\r\n }\r\n },\r\n ),\r\n );\r\n }\r\n } else {\r\n if (successHandler) {\r\n successHandler(null, {});\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport function CalculateBlockAddress() {\r\n return (dispatch, getState) => {\r\n const {\r\n steps: { initialSteps, answers, breadcrumbs },\r\n } = getState();\r\n\r\n let visitedStepsAndAnwsers = [];\r\n for (let i = 0; i < breadcrumbs.length; i++) {\r\n let stepAnswers = [];\r\n const step = initialSteps.find((o) => o.slug === breadcrumbs[i]);\r\n const initialAnswers = step.initialAnswers;\r\n\r\n if (initialAnswers) {\r\n Object.keys(initialAnswers).forEach((key) => {\r\n let stepItem = {};\r\n if (answers[key]) {\r\n stepItem[key] = answers[key];\r\n stepAnswers.push(stepItem);\r\n }\r\n });\r\n }\r\n\r\n if (stepAnswers.length > 0) {\r\n let item = {\r\n steps: breadcrumbs[i],\r\n answers: stepAnswers,\r\n };\r\n visitedStepsAndAnwsers.push(item);\r\n }\r\n }\r\n\r\n const calculatedPath = GetCalculatedStringPath(visitedStepsAndAnwsers, journeyMapping);\r\n updateHeadJourneyCode(calculatedPath);\r\n dispatch(setUserPath(calculatedPath));\r\n return Promise.resolve(calculatedPath);\r\n };\r\n}\r\n\r\nexport function GetCalculatedStringPath(visitedStepsAndAnwsers, journeyMapping) {\r\n const stepsToExclude = [\r\n 'external-photos',\r\n 'external-rough-location',\r\n 'incident-total',\r\n 'incident-total-waste',\r\n 'initial-location-external-waste',\r\n 'map',\r\n 'mapConfirm',\r\n 'map-search',\r\n 'personal-details',\r\n 'photos',\r\n 'incident-results',\r\n 'waste-external-cover-type',\r\n 'waste-incident-results',\r\n 'waste-photos',\r\n 'waste-ooh',\r\n 'is-working-hours',\r\n 'is-access-hours',\r\n 'waste-internal-fclty2-count',\r\n 'waste-internal-text',\r\n 'nwlp-notice-date-time',\r\n 'nwlp-notice-confirmed',\r\n 'is-no-water-enabled',\r\n 'nwlp-notice-datetime',\r\n 'is-colleague-mode',\r\n 'clean-leakingmeter-info-col',\r\n 'rtim-information-col',\r\n 'waste-rtim-information-col',\r\n 'clean-conden-info-col',\r\n 'clean-intstoptap-info-col',\r\n 'clean-overflow-info-col',\r\n 'internal-information-col',\r\n 'clean-supply-info-col',\r\n 'waste-gas-info-col',\r\n 'waste-council-info-col',\r\n 'waste-internal-odour-info-col',\r\n 'waste-drainage-info-col',\r\n ];\r\n let calculatedString = '';\r\n let contactDetailsHit = false;\r\n visitedStepsAndAnwsers.forEach((visitedStep) => {\r\n const stepPathMapping = journeyMapping[visitedStep.steps];\r\n\r\n if (isNaN(visitedStep.steps) && stepsToExclude.indexOf(visitedStep.steps) === -1) {\r\n if (stepPathMapping && stepPathMapping.stepKey && visitedStep.answers) {\r\n const isContactDetails =\r\n visitedStep.steps === 'initial-location' || visitedStep.steps === 'initial-location-waste';\r\n const addValue = contactDetailsHit === false || isContactDetails === false;\r\n\r\n if (addValue) {\r\n calculatedString += stepPathMapping.stepKey;\r\n visitedStep.answers.forEach((answer) => {\r\n Object.keys(answer).forEach((answerItem) => {\r\n const val = answer[answerItem];\r\n const stepData = stepPathMapping.answers.find((o) => o.value === val);\r\n if (stepData) {\r\n calculatedString += stepData.key;\r\n }\r\n });\r\n });\r\n if (isContactDetails) {\r\n contactDetailsHit = true;\r\n }\r\n }\r\n } else {\r\n // eslint-disable-next-line no-console\r\n console.warn(`invalid mapping item or step ${JSON.stringify(visitedStep.steps)}`);\r\n }\r\n }\r\n });\r\n\r\n return calculatedString;\r\n}\r\n\r\nfunction updateHeadJourneyCode(code) {\r\n document.head.setAttribute('data-journeyCode', code);\r\n}\r\n\r\n// standard actions\r\nexport function configIsLoading(bool) {\r\n return {\r\n type: ActionTypes.FETCH_CONFIG_LOADING,\r\n isLoading: bool,\r\n };\r\n}\r\n\r\nexport function setConfig(config) {\r\n return {\r\n type: ActionTypes.SET_CONFIG,\r\n config,\r\n };\r\n}\r\n\r\nexport function setStep(newStep) {\r\n return {\r\n type: ActionTypes.SET_STEP,\r\n newStep,\r\n };\r\n}\r\n\r\nexport function setAnswers(answers) {\r\n return {\r\n type: ActionTypes.SET_ANSWERS,\r\n answers,\r\n };\r\n}\r\n\r\nexport function setAnswer(answer) {\r\n return {\r\n type: ActionTypes.SET_ANSWER,\r\n answer,\r\n };\r\n}\r\n\r\nexport function setVisitedSteps(visitedSteps) {\r\n return {\r\n type: ActionTypes.SET_VISITED_STEPS,\r\n visitedSteps,\r\n };\r\n}\r\n\r\nexport function setBreadcrumbs(breadcrumbs) {\r\n return {\r\n type: ActionTypes.SET_BREADCRUMBS,\r\n breadcrumbs,\r\n };\r\n}\r\n\r\nexport function configHasErrored(hasErrored, error) {\r\n return {\r\n type: ActionTypes.FETCH_CONFIG_ERROR,\r\n hasErrored,\r\n error,\r\n };\r\n}\r\n\r\nexport function setEditMode(isEditing) {\r\n return {\r\n type: ActionTypes.SET_EDIT_MODE,\r\n isEditing,\r\n };\r\n}\r\n\r\nexport function setUserPath(path) {\r\n return {\r\n type: ActionTypes.SET_USER_PATH,\r\n path,\r\n };\r\n}\r\n","import Service from './service';\r\nimport { API_ENDPOINT_ATTACHMENTS, ATTACHMENT_POLICY_ID } from '../constants';\r\n/*\r\nuploadAttachment\r\n\r\nUse the attachments api to upload images\r\n\r\nfile - A pointer to the file\r\nsuccessHandler - Function to call on successful response\r\nerrorHandler - Function to call on erroneous response\r\n\r\n*/\r\nconst uploadAttachment = (file, successHandler, errorHandler) => {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n\r\n return Service.post(`${API_ENDPOINT_ATTACHMENTS}?policyId=${ATTACHMENT_POLICY_ID}`, formData)\r\n .then(successHandler)\r\n .catch(errorHandler);\r\n};\r\n\r\nconst attachmentsApi = { uploadAttachment };\r\n\r\nexport default attachmentsApi;\r\n","import { ATTACHMENT_IMAGE_TOTAL_LIMIT, ATTACHMENT_VIDEO_TOTAL_LIMIT, ActionTypes } from '../constants';\r\n\r\nimport {\r\n ATTACHMENT_ERROR_UNKNOWN,\r\n ATTACHMENT_ERROR_TOO_BIG,\r\n ATTACHMENT_MAX_FILE_SIZE,\r\n ATTACHMENT_ERROR_FILE_TYPE,\r\n ATTACHMENT_ERROR_UPLOAD_LIMIT,\r\n} from '../constants';\r\nimport attachmentApi from '../api/attachments';\r\n\r\nexport const attachmentIsUploading = (bool) => ({\r\n type: ActionTypes.ATTACHMENT_UPLOADING,\r\n isUploading: bool,\r\n});\r\n\r\nexport function attachmentHasErrored(hasErrored, filename, error) {\r\n return {\r\n type: ActionTypes.ATTACHMENT_UPLOAD_ERROR,\r\n hasErrored,\r\n filename,\r\n error,\r\n };\r\n}\r\n\r\nexport function attachmentAdd(filename, isVideo) {\r\n return {\r\n type: ActionTypes.ATTACHMENT_UPLOAD_ADD,\r\n filename,\r\n isVideo: isVideo,\r\n };\r\n}\r\n\r\nexport function attachmentSuccess(filename, attachmentId, isVideo) {\r\n return {\r\n type: ActionTypes.ATTACHMENT_UPLOAD_SUCCESS,\r\n filename,\r\n attachmentId,\r\n isVideo,\r\n };\r\n}\r\n\r\nexport function attachmentRemove(attachmentId) {\r\n return {\r\n type: ActionTypes.ATTACHMENT_UPLOAD_REMOVE,\r\n attachmentId,\r\n };\r\n}\r\n\r\nexport function uploadAttachment(file, successHandler, errorHandler) {\r\n return (dispatch, getState) => {\r\n const {\r\n attachments: { files },\r\n } = getState();\r\n\r\n const uploadedVideoCount = files.filter((o) => o.hasErrored === false && o.isVideo === true).length;\r\n const uploadedImageCount = files.filter((o) => o.hasErrored === false && o.isVideo === false).length;\r\n\r\n const isVideo = file.type.includes('video/');\r\n dispatch(attachmentAdd(file.name, isVideo));\r\n\r\n if (uploadedVideoCount >= ATTACHMENT_VIDEO_TOTAL_LIMIT && isVideo) {\r\n dispatch(attachmentHasErrored(true, file.name, ATTACHMENT_ERROR_UPLOAD_LIMIT));\r\n if (errorHandler) {\r\n errorHandler(new Error(ATTACHMENT_ERROR_TOO_BIG));\r\n }\r\n } else if (uploadedImageCount >= ATTACHMENT_IMAGE_TOTAL_LIMIT && !isVideo) {\r\n dispatch(attachmentHasErrored(true, file.name, ATTACHMENT_ERROR_UPLOAD_LIMIT));\r\n if (errorHandler) {\r\n errorHandler(new Error(ATTACHMENT_ERROR_TOO_BIG));\r\n }\r\n } else if (file.size > ATTACHMENT_MAX_FILE_SIZE) {\r\n dispatch(attachmentHasErrored(true, file.name, ATTACHMENT_ERROR_TOO_BIG));\r\n if (errorHandler) {\r\n errorHandler(new Error(ATTACHMENT_ERROR_TOO_BIG));\r\n }\r\n } else if (!file.type.includes('image/') && !isVideo) {\r\n dispatch(attachmentHasErrored(true, file.name, ATTACHMENT_ERROR_FILE_TYPE));\r\n if (errorHandler) {\r\n errorHandler(new Error(ATTACHMENT_ERROR_FILE_TYPE));\r\n }\r\n } else {\r\n return attachmentApi.uploadAttachment(\r\n file,\r\n (response) => {\r\n dispatch(attachmentSuccess(file.name, response.data.attachmentId, isVideo));\r\n if (successHandler) {\r\n successHandler(response.data);\r\n }\r\n },\r\n (error) => {\r\n if (error.response) {\r\n if (error.response.status === 413) {\r\n dispatch(attachmentHasErrored(true, file.name, ATTACHMENT_ERROR_TOO_BIG));\r\n } else {\r\n dispatch(attachmentHasErrored(true, file.name, ATTACHMENT_ERROR_UNKNOWN));\r\n }\r\n } else {\r\n dispatch(attachmentHasErrored(true, file.name, ATTACHMENT_ERROR_UNKNOWN));\r\n }\r\n\r\n if (errorHandler) {\r\n errorHandler(ATTACHMENT_ERROR_UNKNOWN);\r\n }\r\n },\r\n );\r\n }\r\n };\r\n}\r\n\r\nexport function uploadAttachments(files) {\r\n return (dispatch, getState) => {\r\n dispatch(attachmentIsUploading(true));\r\n\r\n const filesArr = Array.from(files);\r\n let promises = [];\r\n\r\n filesArr.forEach((file) => {\r\n promises.push(dispatch(uploadAttachment(file)));\r\n });\r\n\r\n Promise.all(promises).then(function() {\r\n dispatch(attachmentIsUploading(false));\r\n });\r\n };\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Card } from 'yw-ui.v2';\r\n\r\nclass Step extends Component {\r\n renderContainer = ({ children, isContained, stepId }) => {\r\n if (isContained) {\r\n return (\r\n \r\n
{children}
\r\n
\r\n );\r\n } else {\r\n return children;\r\n }\r\n };\r\n\r\n render() {\r\n const { children, isContained, stepId } = this.props;\r\n const RenderContainer = this.renderContainer;\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n\r\nStep.propTypes = {\r\n children: PropTypes.node,\r\n isContained: PropTypes.bool,\r\n stepId: PropTypes.string.isRequired,\r\n};\r\n\r\nStep.defaultProps = {\r\n isContained: false,\r\n};\r\n\r\nexport default Step;\r\n","import React, { Component, Fragment } from 'react';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport { HeadingBlock, Icon } from 'yw-ui.v2';\r\nimport { SVG_NAMESPACE_URL } from '../../../constants';\r\n\r\nclass FileList extends Component {\r\n handleRemove = (attachmentId) => {\r\n this.props.onRemove(attachmentId);\r\n };\r\n\r\n onKeyUp = (e, attachmentId) => {\r\n if (e.key === 'Enter' || e.key === 'Space') {\r\n this.props.onRemove(attachmentId);\r\n }\r\n };\r\n\r\n render() {\r\n const { files, heading, id } = this.props;\r\n return (\r\n \r\n {files && files.length > 0 && (\r\n
\r\n \r\n {heading}\r\n \r\n \r\n {files.map((file, i) => {\r\n const conditionalRowClasses = classNames('c-file-row', {\r\n 'has-error': file.hasErrored,\r\n 'is-pending': file.isUploading,\r\n });\r\n return (\r\n \r\n {!file.isUploading && !file.hasErrored && (\r\n \r\n )}\r\n {file.hasErrored && (\r\n \r\n )}\r\n\r\n \r\n {file.filename}\r\n \r\n {file.isUploading && !file.hasErrored && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {!file.isUploading && (\r\n this.handleRemove(file.id)}\r\n onKeyUp={(e) => this.onKeyUp(e, file.id)}\r\n tabIndex=\"0\"\r\n id={`${id}_remove-file-${i}`}\r\n data-qa={`${id}_remove-file-${i}`}\r\n >\r\n remove\r\n \r\n )}\r\n {file.hasErrored && (\r\n \r\n {file.error}\r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nFileList.propTypes = {\r\n files: PropTypes.array,\r\n heading: PropTypes.string,\r\n id: PropTypes.string.isRequired,\r\n onRemove: PropTypes.func.isRequired,\r\n};\r\n\r\nFileList.defaultProps = {\r\n files: null,\r\n heading: 'Uploaded files',\r\n};\r\nexport default FileList;\r\n","import FileList from './FileList';\r\n\r\nexport default FileList;\r\n","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FluidField } from 'yw-ui.v2';\r\n\r\nclass UKAddressResult extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n commercial: false,\r\n location: '',\r\n utmLocation: {\r\n easting: '',\r\n northing: '',\r\n },\r\n };\r\n }\r\n\r\n onAddressSelect = (label, id) => {\r\n const { addresses } = this.props;\r\n const address = addresses.find((i) => i.id === id);\r\n if (address) {\r\n this.props.form.handleChange('locationDetails', address.label);\r\n this.props.form.handleChange('postcode', address.postcode);\r\n this.props.form.handleChange('utmLocation', {\r\n easting: address.easting,\r\n northing: address.northing,\r\n });\r\n this.props.form.handleChange('isCommercial', address.isCommercial);\r\n this.setState({ commercial: address.isCommercial });\r\n this.setState({ postcode: address.postcode });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.answers.isCommercial !== '') {\r\n this.updateStateBeforeAnswerWipe();\r\n } else {\r\n this.updateStateAfterAnswerWipe();\r\n }\r\n this.updateAfterStateAndAnswerCompare();\r\n }\r\n\r\n updateAfterStateAndAnswerCompare() {\r\n this.props.form.handleChange(\r\n 'isCommercial',\r\n this.state.commercial !== this.props.answers.isCommercial\r\n ? this.props.answers.isCommercial\r\n : this.state.commercial,\r\n );\r\n this.props.form.handleChange(\r\n 'locationDetails',\r\n this.state.location !== this.props.answers.locationDetails\r\n ? this.props.answers.locationDetails\r\n : this.state.location,\r\n );\r\n this.props.form.handleChange(\r\n 'postcode',\r\n this.state.postcode !== this.props.answers.postcode ? this.props.answers.postcode : this.state.postcode,\r\n );\r\n if (this.props.answers.utmLocation !== undefined) {\r\n this.props.form.handleChange(\r\n 'utmLocation',\r\n this.state.utmLocation.easting !== this.props.answers.utmLocation.easting ||\r\n this.state.utmLocation.northing !== this.props.answers.utmLocation.northing\r\n ? {\r\n easting: this.props.answers.utmLocation.easting,\r\n northing: this.props.answers.utmLocation.northing,\r\n }\r\n : {\r\n easting: this.state.utmLocation.easting,\r\n northing: this.state.utmLocation.northing,\r\n },\r\n );\r\n }\r\n }\r\n\r\n updateStateAfterAnswerWipe() {\r\n this.props.form.handleChange('isCommercial', this.state.commercial);\r\n this.props.form.handleChange('locationDetails', this.state.location);\r\n this.props.form.handleChange('postcode', this.state.postcode);\r\n this.props.form.handleChange('utmLocation', {\r\n easting: this.state.utmLocation.easting,\r\n northing: this.state.utmLocation.northing,\r\n });\r\n }\r\n\r\n updateStateBeforeAnswerWipe() {\r\n this.setState({ commercial: this.props.answers.isCommercial }, () => {\r\n this.props.form.handleChange('isCommercial', this.state.commercial);\r\n });\r\n this.setState({ location: this.props.answers.locationDetails }, () => {\r\n this.props.form.handleChange('locationDetails', this.state.location);\r\n });\r\n this.setState({ postcode: this.props.answers.postcode }, () => {\r\n this.props.form.handleChange('postcode', this.state.postcode);\r\n });\r\n if (this.props.answers.utmLocation !== undefined) {\r\n this.setState(\r\n {\r\n utmLocation: {\r\n easting: this.props.answers.utmLocation.easting,\r\n northing: this.props.answers.utmLocation.northing,\r\n },\r\n },\r\n () => {\r\n this.props.form.handleChange('utmLocation', {\r\n easting: this.state.utmLocation.easting,\r\n northing: this.state.utmLocation.northing,\r\n });\r\n },\r\n );\r\n }\r\n }\r\n\r\n render() {\r\n const { addresses } = this.props;\r\n let confirmOptions = addresses;\r\n let label = 'Select an address';\r\n let hideLabel = true;\r\n let isScrollable = true;\r\n\r\n if (addresses.length === 1) {\r\n confirmOptions = [\r\n { id: addresses[0].id, label: 'Yes' },\r\n { id: 'N', label: 'No' },\r\n ];\r\n hideLabel = false;\r\n isScrollable = false;\r\n label = '';\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nUKAddressResult.propTypes = {\r\n answers: PropTypes.object.isRequired,\r\n addresses: PropTypes.array.isRequired,\r\n form: PropTypes.object,\r\n};\r\n\r\nUKAddressResult.defaultProps = {};\r\n\r\nexport default UKAddressResult;\r\n","import UKAddressResult from './UKAddressResult';\r\n\r\nexport default UKAddressResult;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Loader } from 'yw-ui.v2';\r\n\r\nimport { LOADING_TEXT } from '../../../constants';\r\n\r\nclass Preloader extends PureComponent {\r\n render() {\r\n const { height, message, qa } = this.props;\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nPreloader.propTypes = {\r\n height: PropTypes.number,\r\n message: PropTypes.string,\r\n qa: PropTypes.string.isRequired,\r\n};\r\n\r\nPreloader.defaultProps = {\r\n height: 250,\r\n message: LOADING_TEXT,\r\n};\r\n\r\nexport default Preloader;\r\n","import Preloader from './Preloader';\r\n\r\nexport default Preloader;\r\n","import AccordionBlock from './AccordionBlock';\r\n\r\nexport default AccordionBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactMarkdown from 'react-markdown';\r\nimport { AccordionSingle, Message } from 'yw-ui.v2/dist/components';\r\n\r\nexport const AccordionBlock = ({ heading, id, content }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nAccordionBlock.propTypes = {\r\n content: PropTypes.string.isRequired,\r\n heading: PropTypes.string.isRequired,\r\n id: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default AccordionBlock;\r\n","import AddressListBlock from './AddressListBlock';\r\n\r\nexport default AddressListBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { UKAddressResult } from '../../../components/';\r\n\r\nconst AddressListBlock = ({ answers, lookups, route, stepTo, form }) => {\r\n return (\r\n \r\n {lookups.addresses.length > 1 && (\r\n

\r\n Showing results for {answers.postcode}{' '}\r\n stepTo(route)}\r\n data-qa=\"search-again-link\"\r\n >\r\n Search again\r\n \r\n .\r\n

\r\n )}\r\n {lookups.addresses.length < 2 && lookups.addresses[0] !== undefined && (\r\n

\r\n {lookups.addresses[0].label}{' '}\r\n stepTo(route)}\r\n data-qa=\"search-again-link\"\r\n >\r\n Search again\r\n \r\n .\r\n

\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nAddressListBlock.propTypes = {\r\n stepTo: PropTypes.func.isRequired,\r\n route: PropTypes.object.isRequired,\r\n lookups: PropTypes.object.isRequired,\r\n answers: PropTypes.object.isRequired,\r\n form: PropTypes.object,\r\n};\r\n\r\nexport default AddressListBlock;\r\n","import PlacesListBlock from './PlacesListBlock';\r\n\r\nexport default PlacesListBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FluidField } from 'yw-ui.v2';\r\n\r\nconst PlacesListBlock = ({ answers, label, lookups, name, route, stepTo }) => {\r\n return (\r\n \r\n {lookups.mapSearch.results.length > 1 && (\r\n

\r\n Showing results for {answers.mapSearch}{' '}\r\n stepTo(route)}\r\n data-qa=\"search-again-link\"\r\n >\r\n Search again\r\n \r\n .\r\n

\r\n )}\r\n ({\r\n id: place_id,\r\n label: formatted_address,\r\n }))}\r\n hideLabel={true}\r\n isScrollable={true}\r\n />\r\n
\r\n );\r\n};\r\n\r\nPlacesListBlock.propTypes = {\r\n label: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n stepTo: PropTypes.func.isRequired,\r\n route: PropTypes.object.isRequired,\r\n lookups: PropTypes.object.isRequired,\r\n answers: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default PlacesListBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, ButtonRow } from 'yw-ui.v2';\r\n\r\nconst ButtonRowBlock = ({\r\n continueButtonState,\r\n continueButtonText,\r\n continueButtonDisabled,\r\n backButtonText,\r\n onBack,\r\n showBack,\r\n showContinue,\r\n}) => {\r\n return (\r\n \r\n {showBack && (\r\n \r\n )}\r\n {showContinue && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nButtonRowBlock.propTypes = {\r\n backButtonText: PropTypes.string,\r\n continueButtonDisabled: PropTypes.bool,\r\n continueButtonText: PropTypes.string,\r\n continueButtonState: PropTypes.string,\r\n showBack: PropTypes.bool,\r\n showContinue: PropTypes.bool,\r\n onBack: PropTypes.func.isRequired,\r\n};\r\n\r\nButtonRowBlock.defaultProps = {\r\n backButtonText: 'Back',\r\n continueButtonDisabled: false,\r\n continueButtonText: 'Continue',\r\n continueButtonState: 'success',\r\n showBack: true,\r\n showContinue: true,\r\n};\r\n\r\nexport default ButtonRowBlock;\r\n","import ButtonRowBlock from './ButtonRowBlock';\r\n\r\nexport default ButtonRowBlock;\r\n","import ChoiceBlock from './ChoiceBlock';\r\n\r\nexport default ChoiceBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { ChoiceTile, Col, Row } from 'yw-ui.v2';\r\n\r\nconst ChoiceBlock = ({ name, options, stepForward }) => {\r\n const handleClick = (value) => {\r\n let values = {};\r\n values[name] = value;\r\n stepForward(values);\r\n };\r\n\r\n let colSpanSm = 6;\r\n let colSpanMd = options.length === 3 ? 4 : 6;\r\n\r\n return (\r\n \r\n {options && (\r\n \r\n {options.map((option, i) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nChoiceBlock.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n options: PropTypes.array.isRequired,\r\n stepForward: PropTypes.func.isRequired,\r\n validStep: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default ChoiceBlock;\r\n","import DayListBlock from './DayListBlock';\r\n\r\nexport default DayListBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { ChoiceTile, Col, Row } from 'yw-ui.v2';\r\nimport { Preloader } from '../../../components';\r\n\r\nconst DayListBlock = ({ name, lookups, stepForward }) => {\r\n const handleClick = (value) => {\r\n let values = {};\r\n values[name] = value;\r\n stepForward(values);\r\n };\r\n\r\n const filterEmptySlots = (slot) => {\r\n return slot.timeSlots.length > 0;\r\n };\r\n\r\n return (\r\n \r\n {!lookups.callbacks && }\r\n {lookups.callbacks && (\r\n \r\n {lookups.callbacks.filter(filterEmptySlots).map(({ description }, i) => (\r\n \r\n handleClick(description)}\r\n />\r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nDayListBlock.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n stepForward: PropTypes.func.isRequired,\r\n lookups: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default DayListBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FluidField } from 'yw-ui.v2';\r\nimport { YES } from '../../../constants';\r\n\r\nexport const FieldBlock = ({\r\n chars,\r\n collapse,\r\n cols,\r\n condensed,\r\n form,\r\n hideLabel,\r\n hint,\r\n isRequiredMarker,\r\n label,\r\n maxLength,\r\n name,\r\n options,\r\n showMaxLength,\r\n type,\r\n className,\r\n placeholder,\r\n onlyShowInColleagueMode,\r\n}) => {\r\n const showComponent = onlyShowInColleagueMode === false || form.values.isColleagueMode === YES;\r\n return (\r\n <>\r\n {showComponent && (\r\n
\r\n \r\n {showMaxLength && maxLength && form && (\r\n

\r\n {maxLength - (form.values[name] ? form.values[name].length : 0)} characters\r\n remaining\r\n

\r\n )}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nFieldBlock.propTypes = {\r\n chars: PropTypes.number,\r\n collapse: PropTypes.bool,\r\n cols: PropTypes.number,\r\n condensed: PropTypes.bool,\r\n form: PropTypes.object,\r\n hideLabel: PropTypes.bool,\r\n hint: PropTypes.string,\r\n isRequiredMarker: PropTypes.bool,\r\n label: PropTypes.string.isRequired,\r\n maxLength: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n options: PropTypes.array,\r\n showMaxLength: PropTypes.bool,\r\n type: PropTypes.string,\r\n className: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n onlyShowInColleagueMode: PropTypes.bool,\r\n};\r\n\r\nFieldBlock.defaultProps = {\r\n chars: null,\r\n cols: null,\r\n collapse: false,\r\n condensed: false,\r\n form: null,\r\n hideLabel: false,\r\n hint: null,\r\n isRequiredMarker: false,\r\n maxLength: null,\r\n options: null,\r\n showMaxLength: false,\r\n type: 'checkbox',\r\n className: '',\r\n placeholder: null,\r\n onlyShowInColleagueMode: false,\r\n};\r\nexport default FieldBlock;\r\n","import FieldBlock from './FieldBlock';\r\n\r\nexport default FieldBlock;\r\n","import React, { Component, Fragment } from 'react';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { FileList } from '../../../components';\r\nimport { ATTACHMENTS_CTA_DEFAULT_TEXT, SVG_NAMESPACE_URL } from '../../../constants';\r\n\r\nexport class FileUploadBlock extends Component {\r\n handleChange = (e) => {\r\n const files = Array.from(e.target.files);\r\n this.props.uploadAttachments(files);\r\n };\r\n\r\n handleRemove = (attachmentId) => {\r\n this.props.attachmentRemove(attachmentId);\r\n };\r\n\r\n handleKeyUp = (e) => {\r\n if (e.key === 'Enter' || e.key === 'Space') {\r\n this.inputElement.click();\r\n }\r\n };\r\n\r\n render() {\r\n const { name, attachments, ctaText } = this.props;\r\n const forRowClasses = classNames('c-form-row');\r\n return (\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nFileUploadBlock.propTypes = {\r\n attachments: PropTypes.object.isRequired,\r\n attachmentRemove: PropTypes.func.isRequired,\r\n ctaText: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n uploadAttachments: PropTypes.func.isRequired,\r\n};\r\n\r\nFileUploadBlock.defaultProps = {\r\n ctaText: ATTACHMENTS_CTA_DEFAULT_TEXT,\r\n};\r\n\r\nexport default FileUploadBlock;\r\n","import FileUploadBlock from './FileUploadBlock';\r\n\r\nexport default FileUploadBlock;\r\n","import HeadingsBlock from './HeadingsBlock';\r\n\r\nexport default HeadingsBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\nimport { HeadingBlock } from 'yw-ui.v2';\r\n\r\nconst HeadingsBlock = ({ id, title, description, priority, size, answers, className }) => {\r\n const parsedTitle = validate.format(title, answers);\r\n const parsedDescription = validate.format(description, answers);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nHeadingsBlock.propTypes = {\r\n answers: PropTypes.object.isRequired,\r\n className: PropTypes.string,\r\n id: PropTypes.string.isRequired,\r\n title: PropTypes.string,\r\n description: PropTypes.string,\r\n priority: PropTypes.number,\r\n size: PropTypes.string,\r\n};\r\n\r\nexport default HeadingsBlock;\r\n","import HeadingNoDivBlock from './HeadingNoDivBlock';\r\n\r\nexport default HeadingNoDivBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\nimport { Heading } from 'yw-ui.v2';\r\n\r\nconst HeadingNoDivBlock = ({ id, title, priority, size, answers, className }) => {\r\n const parsedTitle = validate.format(title, answers);\r\n\r\n return ;\r\n};\r\n\r\nHeadingNoDivBlock.propTypes = {\r\n answers: PropTypes.object.isRequired,\r\n className: PropTypes.string,\r\n id: PropTypes.string.isRequired,\r\n title: PropTypes.string,\r\n priority: PropTypes.number,\r\n size: PropTypes.string,\r\n};\r\n\r\nexport default HeadingNoDivBlock;\r\n","import InfoBlock from './InfoBlock';\r\n\r\nexport default InfoBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\n\r\nconst InfoBlock = ({ answers, id, text, classnames }) => {\r\n return (\r\n \r\n {text &&\r\n validate\r\n .format(text, answers)\r\n .split('\\n')\r\n .map((paragraph, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nInfoBlock.propTypes = {\r\n answers: PropTypes.object.isRequired,\r\n id: PropTypes.string.isRequired,\r\n text: PropTypes.string,\r\n classnames: PropTypes.string,\r\n};\r\n\r\nexport default InfoBlock;\r\n","import React, { Fragment } from 'react';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\n\r\nconst LinkBlock = ({\r\n answers,\r\n id,\r\n isCondensed,\r\n isFormatted,\r\n link,\r\n text,\r\n route,\r\n target,\r\n stepTo,\r\n state,\r\n editMode,\r\n editSlug,\r\n}) => {\r\n const dynamicClasses = classNames({\r\n 'u-mb--200': isCondensed,\r\n 'u-mt--200': isCondensed,\r\n 'u-mt--400': !isCondensed,\r\n 'u-mb--400': !isCondensed,\r\n 'p-t': isFormatted,\r\n });\r\n\r\n const dynamicButtonClasses = classNames({\r\n 'c-button': isCondensed,\r\n 'c-button--link': state === 'link',\r\n 'c-button--primary': state === 'primary',\r\n 'c-button--default': state === 'default',\r\n });\r\n\r\n const handleClick = () => {\r\n stepTo(route);\r\n };\r\n\r\n return (\r\n \r\n {text && (link || route || editSlug) && (\r\n
\r\n {link && (\r\n \r\n {validate.format(text, answers)}\r\n \r\n )}\r\n\r\n {editSlug && (\r\n stepTo({ target: editSlug, editMode: editMode })}\r\n >\r\n {validate.format(text, answers)}\r\n \r\n )}\r\n\r\n {route && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nLinkBlock.propTypes = {\r\n answers: PropTypes.object.isRequired,\r\n stepTo: PropTypes.func.isRequired,\r\n id: PropTypes.string.isRequired,\r\n isCondensed: PropTypes.bool,\r\n isFormatted: PropTypes.bool,\r\n link: PropTypes.string,\r\n route: PropTypes.object,\r\n state: PropTypes.string,\r\n target: PropTypes.string,\r\n text: PropTypes.string.isRequired,\r\n editMode: PropTypes.bool,\r\n editSlug: PropTypes.string,\r\n};\r\n\r\nLinkBlock.defaultProps = {\r\n isCondensed: true,\r\n target: '_blank',\r\n state: 'link',\r\n};\r\n\r\nexport default LinkBlock;\r\n","import LinkBlock from './LinkBlock';\r\n\r\nexport default LinkBlock;\r\n","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { GoogleMap } from 'yw-ui.v2';\r\n\r\nimport { Preloader } from '../../../components';\r\nimport { LOADING_MAP_TEXT } from '../../../constants/Settings';\r\n\r\nimport { reverseGeocodeLocation } from '../../../api/location';\r\n\r\nexport class MapBlock extends Component {\r\n myRef = null;\r\n hasEventListner = false;\r\n listener = null;\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n mapHasDragged: false,\r\n isYorkshire: false,\r\n };\r\n this.myRef = React.createRef();\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.myRef.current && this.myRef.current.state) {\r\n if (this.myRef.current.state.inYorkshire !== this.state.isYorkshire) {\r\n this.setState({ isYorkshire: this.myRef.current.state.inYorkshire });\r\n this.props.SetIsYorkshire(this.myRef.current.state.inYorkshire);\r\n }\r\n\r\n if (this.hasEventListner === false) {\r\n this.listener = this.myRef.current.map.addListener('center_changed', () => {\r\n this.props.SetMapHasDragged(true);\r\n });\r\n this.hasEventListner = true;\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.listener) {\r\n this.listener.remove();\r\n this.listener = null;\r\n }\r\n }\r\n\r\n handleMapDrag = () => {\r\n this.setState({ mapHasDragged: true });\r\n this.props.SetMapHasDragged(true);\r\n };\r\n\r\n handleMapUpdate = (lat, lng, isYorkshire) => {\r\n this.props.SetIsYorkshire(isYorkshire);\r\n\r\n const location = {\r\n location: {\r\n lat: lat,\r\n lng: lng,\r\n },\r\n };\r\n\r\n reverseGeocodeLocation(location, this.successHandler.bind(this));\r\n };\r\n\r\n successHandler(resp) {\r\n const postcode = resp.postcodes.length > 0 ? resp.postcodes[0] : '';\r\n this.props.form.handleChange(this.props.name, {\r\n lat: resp.lat,\r\n lng: resp.lng,\r\n locationDetails: resp.formattedAddress,\r\n postcode: postcode,\r\n });\r\n }\r\n\r\n render() {\r\n const { lookups } = this.props;\r\n\r\n return (\r\n \r\n {!lookups.map && }\r\n {lookups.map && lookups.map.lat && lookups.map.lng && (\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nMapBlock.propTypes = {\r\n form: PropTypes.object,\r\n lookups: PropTypes.object.isRequired,\r\n lookupsLoading: PropTypes.bool,\r\n SetMapHasDragged: PropTypes.func,\r\n SetIsYorkshire: PropTypes.func,\r\n name: PropTypes.string.isRequired,\r\n};\r\n\r\nMapBlock.defaultProps = {\r\n form: {},\r\n lookupsLoading: false,\r\n};\r\nexport default MapBlock;\r\n","import MapBlock from './MapBlock';\r\n\r\nexport default MapBlock;\r\n","import MapSearchBlock from './MapSearchBlock';\r\n\r\nexport default MapSearchBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, FluidField } from 'yw-ui.v2';\r\nimport { LOCATION_METHOD_CURRENT_LOCATION } from '../../../constants';\r\n\r\nexport const MapSearchBlock = ({ stepTo }) => {\r\n const handleGetLocation = () => {\r\n stepTo({ target: 'map', params: { locateMethod: LOCATION_METHOD_CURRENT_LOCATION, mapSearch: '' } });\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n Use my current location\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nMapSearchBlock.propTypes = {\r\n stepTo: PropTypes.func.isRequired,\r\n validStep: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default MapSearchBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactStringReplace from 'react-string-replace-recursively';\r\nimport validate from 'validate.js';\r\nimport ReactMarkdown from 'react-markdown';\r\nimport { Button, Message } from 'yw-ui.v2';\r\n\r\nexport const MessageBlock = ({ id, message, state, nextSteps, stepTo, answers, renderHtml }) => {\r\n const renderNextStepLink = (processed, params, key, stepTo) => {\r\n const qaIdentifier = 'messageStep - ' + key;\r\n\r\n return (\r\n stepTo(params || {})}\r\n >\r\n {processed}\r\n \r\n );\r\n };\r\n\r\n let newNextSteps;\r\n\r\n if (nextSteps) {\r\n newNextSteps = nextSteps.map(({ stepForwardParams, stepForwardText, text }) => {\r\n const parsedText = validate.format(text, answers);\r\n const stepForwardRegEx = new RegExp('(' + stepForwardText + ')', 'gi');\r\n const config = {\r\n searchTerm: {\r\n pattern: stepForwardRegEx,\r\n matcherFn: (rawText, processed, key) => renderNextStepLink(processed, stepForwardParams, key, stepTo),\r\n },\r\n };\r\n\r\n if (stepForwardParams && stepForwardText) {\r\n return ReactStringReplace(config)(parsedText);\r\n } else {\r\n return text;\r\n }\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {newNextSteps && newNextSteps.length > 0 && (\r\n
    \r\n {newNextSteps.map((step, i) =>\r\n renderHtml === true ? (\r\n
  • \r\n ) : (\r\n
  • {step}
  • \r\n ),\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nMessageBlock.propTypes = {\r\n answers: PropTypes.object,\r\n stepTo: PropTypes.func,\r\n id: PropTypes.string.isRequired,\r\n message: PropTypes.string.isRequired,\r\n nextSteps: PropTypes.array,\r\n state: PropTypes.string,\r\n renderHtml: PropTypes.bool,\r\n};\r\n\r\nMessageBlock.defaultProps = {\r\n nextSteps: [],\r\n state: 'info',\r\n renderHtml: false,\r\n};\r\n\r\nexport default MessageBlock;\r\n","import MessageBlock from './MessageBlock';\r\n\r\nexport default MessageBlock;\r\n","import TextBlock from './TextBlock';\r\n\r\nexport default TextBlock;\r\n","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport class TextBlock extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const { form, text, name, answers } = this.props;\r\n const address = form.values.mapResult ? form.values.mapResult[name] : answers[name];\r\n\r\n this.state = {\r\n text: text,\r\n name: address,\r\n };\r\n }\r\n render() {\r\n return (\r\n \r\n

\r\n {this.state.text}\r\n {this.state.name}\r\n

\r\n
\r\n );\r\n }\r\n}\r\n\r\nTextBlock.propTypes = {\r\n form: PropTypes.object,\r\n text: PropTypes.string,\r\n name: PropTypes.string,\r\n answers: PropTypes.object,\r\n};\r\n\r\nexport default TextBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FluidField } from 'yw-ui.v2';\r\n\r\nexport const SlotListBlock = ({ name, lookups, answers }) => {\r\n const activeSlots = lookups.callbacks.filter((slot) => {\r\n return slot.description === answers.appointmentDay;\r\n });\r\n\r\n let activeTimeSlots;\r\n if (activeSlots.length) {\r\n activeTimeSlots = activeSlots[0].timeSlots;\r\n }\r\n\r\n return (\r\n \r\n {answers.appointmentDay &&

{answers.appointmentDay}

}\r\n\r\n {\r\n return { id: timeSlot.time, label: timeSlot.description };\r\n })\r\n : []\r\n }\r\n hideLabel={true}\r\n isScrollable={true}\r\n />\r\n
\r\n );\r\n};\r\n\r\nSlotListBlock.propTypes = {\r\n lookups: PropTypes.object.isRequired,\r\n answers: PropTypes.object.isRequired,\r\n name: PropTypes.string.isRequired,\r\n};\r\n\r\nSlotListBlock.defaultProps = {};\r\n\r\nexport default SlotListBlock;\r\n","import SlotListBlock from './SlotListBlock';\r\n\r\nexport default SlotListBlock;\r\n","import IncidentBlock from './IncidentBlock';\r\n\r\nexport default IncidentBlock;\r\n","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { DataTable } from 'yw-ui.v2';\r\n\r\nclass IncidentBlock extends Component {\r\n getCategoryDescription(category) {\r\n switch (category) {\r\n case '9104':\r\n case '9105':\r\n return 'Inspection';\r\n case 'MR35':\r\n return 'Repair';\r\n case '2384':\r\n return 'External Escape - Jet Van O/S boundary';\r\n case '2391':\r\n return 'Blockage-Jet Van';\r\n case '2346':\r\n return 'Attend Site Jet Van';\r\n case '2314':\r\n return 'Attend reactive pollution';\r\n case '2345':\r\n return 'Resolution Unit';\r\n case '2347':\r\n return 'Vactor Van';\r\n case '2344':\r\n return 'Network Controller';\r\n case '9207':\r\n return 'Rising main (Physical asset inspection)';\r\n default:\r\n return '-';\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n lookups: { incidents },\r\n } = this.props;\r\n\r\n const model = incidents.map((incident) => {\r\n return {\r\n location: incident.location,\r\n status: this.getCategoryDescription(incident.category),\r\n distance: `${incident.radiusDistance} ${incident.radiusDistance === 1 ? 'metre' : 'metres'}`,\r\n };\r\n });\r\n\r\n return (\r\n \r\n
\r\n Nearby Problems\r\n
\r\n \r\n \r\n \r\n On or near\r\n \r\n Distance\r\n \r\n \r\n Status\r\n \r\n \r\n \r\n \r\n {model.map((inc, i) => {\r\n return (\r\n \r\n {inc.location}\r\n {inc.distance}\r\n {inc.status}\r\n \r\n );\r\n })}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nIncidentBlock.propTypes = {\r\n lookups: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default IncidentBlock;\r\n","import SummaryBlock from './SummaryBlock';\r\n\r\nexport default SummaryBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport const SummaryBlock = ({ summary, id }) => {\r\n return (\r\n \r\n {summary && (\r\n

\r\n {summary}\r\n

\r\n )}\r\n
\r\n );\r\n};\r\n\r\nSummaryBlock.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n summary: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default SummaryBlock;\r\n","import SummaryTableBlock from './SummaryTableBlock';\r\n\r\nexport default SummaryTableBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\nimport moment from 'moment';\r\n\r\nexport const SummaryTableBlock = ({ id, rows, answers, stepTo }) => {\r\n const formatValue = (value, format) => {\r\n if (format) {\r\n if (format.type === 'time') {\r\n return moment(value).format('HH:mma');\r\n } else if (format.type === 'interval') {\r\n if (format.options && format.options.interval) {\r\n let newMoment = moment(value);\r\n let newMomentEnd = moment(value).add(format.options.interval, 'minutes');\r\n return newMoment.format('HH:mma') + ' to ' + newMomentEnd.format('HH:mma');\r\n }\r\n }\r\n }\r\n return value;\r\n };\r\n\r\n return (\r\n \r\n {rows && (\r\n
\r\n {rows.map(({ id, value, label, format, prefix, postfix, editSlug, editMode, editParams }, i) => {\r\n let processedValue = !validate.format(value, answers).includes('undefined')\r\n ? validate.format(value, answers)\r\n : null;\r\n\r\n return (\r\n \r\n {processedValue && (\r\n \r\n
\r\n
\r\n {label}\r\n
\r\n \r\n {prefix}\r\n {formatValue(processedValue, format)}\r\n {postfix}\r\n
\r\n
\r\n\r\n {editSlug && (\r\n
\r\n stepTo({ target: editSlug, editMode: editMode, params: editParams })}\r\n >\r\n Change\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nSummaryTableBlock.propTypes = {\r\n answers: PropTypes.object.isRequired,\r\n stepTo: PropTypes.func.isRequired,\r\n id: PropTypes.string.isRequired,\r\n rows: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default SummaryTableBlock;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { GOOGLEMAPS_API_URL } from '../../../constants/Settings';\r\n\r\nexport class StaticMapBlock extends Component {\r\n render() {\r\n return \"static;\r\n }\r\n\r\n GetURLString() {\r\n const { lookups } = this.props;\r\n return `${GOOGLEMAPS_API_URL}/staticmap?center=${lookups.map.lat},${lookups.map.lng}&style=feature:poi|visibility:off&zoom=17&size=600x300&maptype=hybrid&markers=%7Ccolor:blue%7C${lookups.map.lat},${lookups.map.lng}&key=AIzaSyDZgFAmoq4CwSK8zTOZodOesbS-Nv5dftg&callback=Function.prototype`;\r\n }\r\n}\r\n\r\nStaticMapBlock.propTypes = {\r\n form: PropTypes.object,\r\n lookups: PropTypes.object.isRequired,\r\n lookupsLoading: PropTypes.bool,\r\n name: PropTypes.string.isRequired,\r\n};\r\n\r\nStaticMapBlock.defaultProps = {\r\n form: {},\r\n lookupsLoading: false,\r\n};\r\nexport default StaticMapBlock;\r\n","import StaticMapBlock from './StaticMapBlock';\r\n\r\nexport default StaticMapBlock;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormRow } from 'yw-ui.v2';\r\nimport { YW_LEGAL_URL, YW_PRIVACY_URL } from '../../../constants/Settings';\r\n\r\nexport class TermsAndConditionsBlock extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isValid: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props?.answers?.TermsAndConditions) {\r\n this.setState({ isValid: this.props?.answers?.TermsAndConditions });\r\n }\r\n }\r\n\r\n onChangeEvent = (e) => {\r\n this.setState({ isValid: e.target.checked });\r\n this.props.form.handleChange(this.props.name, e.target.checked === true ? e.target.checked : null);\r\n };\r\n\r\n getMessage = () => {\r\n if (this.state.isValid || (this.state.isValid === null && this.props.form.submitCount === 0)) {\r\n return [];\r\n }\r\n return ['You need to agree with the terms and conditions before continuing'];\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nTermsAndConditionsBlock.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n form: PropTypes.object,\r\n answers: PropTypes.object,\r\n};\r\n\r\nTermsAndConditionsBlock.defaultProps = {\r\n form: {},\r\n};\r\n\r\nexport default TermsAndConditionsBlock;\r\n","import TermsAndConditionsBlock from './TermsAndConditionsBlock';\r\n\r\nexport default TermsAndConditionsBlock;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormRow } from 'yw-ui.v2';\r\n\r\nexport class PrioritisedCheckboxBlock extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n items: this.props.options.map((option) => ({\r\n option: option,\r\n selected: false,\r\n })),\r\n pathSelector: null,\r\n };\r\n }\r\n\r\n onChange = (event, index) => {\r\n const newItems = Array.from(this.state.items);\r\n newItems[index].selected = event.target.checked;\r\n const selected = newItems.filter((x) => x.selected);\r\n const sorted = selected.sort((a, b) => a.option.priority - b.option.priority);\r\n const pathSelector = sorted[0] ? sorted[0].option.value : null;\r\n this.setState({ items: newItems });\r\n this.setState({ pathSelector: pathSelector });\r\n this.props.form.handleChange(this.props.selector, pathSelector);\r\n this.props.form.handleChange(\r\n this.props.items,\r\n selected.map((x) => x.option.text),\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.options.map((option, index) => (\r\n \r\n ))}\r\n \r\n );\r\n }\r\n}\r\n\r\nPrioritisedCheckboxBlock.propTypes = {\r\n form: PropTypes.object.isRequired,\r\n options: PropTypes.array.isRequired,\r\n selector: PropTypes.string.isRequired,\r\n items: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default PrioritisedCheckboxBlock;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormRow } from 'yw-ui.v2';\r\nimport { MULTIPLE, SINGLE } from '../../../constants';\r\n\r\nexport class CountedCheckboxBlock extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n items: this.props.options.map((option) => ({\r\n option: option,\r\n selected: false,\r\n })),\r\n count: null,\r\n };\r\n }\r\n\r\n onChange = (event, index) => {\r\n const newItems = Array.from(this.state.items);\r\n newItems[index].selected = event.target.checked;\r\n const selected = newItems.filter((x) => x.selected);\r\n var value = selected.map((x) => x.option.value).join(',');\r\n if (value === '') {\r\n value = undefined;\r\n }\r\n const count = selected.length === 1 ? SINGLE : MULTIPLE;\r\n this.setState({ items: newItems });\r\n this.setState({ count: count });\r\n this.props.form.handleChange(this.props.name, value);\r\n this.props.form.handleChange(this.props.count, count);\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.options.map((option, index) => (\r\n \r\n ))}\r\n \r\n );\r\n }\r\n}\r\n\r\nCountedCheckboxBlock.propTypes = {\r\n form: PropTypes.object.isRequired,\r\n options: PropTypes.array.isRequired,\r\n count: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n error: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default CountedCheckboxBlock;\r\n","import RedirectButton from './RedirectButton';\r\n\r\nexport default RedirectButton;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button } from 'yw-ui.v2';\r\n\r\nconst RedirectButton = ({ text, redirectUrl }) => {\r\n function onClick() {\r\n window.localStorage.clear();\r\n window.sessionStorage.clear();\r\n window.location.href = redirectUrl;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nRedirectButton.propTypes = {\r\n text: PropTypes.string.isRequired,\r\n redirectUrl: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default RedirectButton;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormRow, SelectInput } from 'yw-ui.v2';\r\nimport { Option_No, Option_Yes } from '../../../constants';\r\n\r\nexport const SentimentSection = ({\r\n name,\r\n title,\r\n options,\r\n cols,\r\n placeholder,\r\n isRequired,\r\n form,\r\n disabled,\r\n valid,\r\n message,\r\n onChange,\r\n dirty,\r\n}) => {\r\n const field = {\r\n valid: form.valid[name] || valid,\r\n value: form.values[name],\r\n errors: form.errors[name],\r\n onChange: (e, i) => {\r\n form.handleChange(e, i);\r\n onChange(dirty);\r\n },\r\n onBlur: form.handleBlur,\r\n };\r\n\r\n const generateOptions = (options) => {\r\n function generate(o) {\r\n const valueIfNo = o === Option_No ? 'false' : o;\r\n const id = o === Option_Yes ? 'true' : valueIfNo;\r\n return { id: id, label: o };\r\n }\r\n return options.map(generate);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSentimentSection.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n options: PropTypes.array.isRequired,\r\n cols: PropTypes.number,\r\n placeholder: PropTypes.string,\r\n form: PropTypes.object,\r\n isRequired: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n valid: PropTypes.bool,\r\n message: PropTypes.string,\r\n dirty: PropTypes.string,\r\n onChange: PropTypes.func,\r\n};\r\n\r\nSentimentSection.defaultProps = {\r\n cols: 12,\r\n placeholder: 'Please select an answer',\r\n isRequired: false,\r\n disabled: false,\r\n valid: true,\r\n message: 'Please select a value',\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Option_NA,\r\n SentimentCustomerUsedComplaintWording,\r\n SentimentCustomerUsedComplaintWording_Options,\r\n SentimentLogComplaint,\r\n SentimentLogComplaint_Options,\r\n SentimentReportOutcome,\r\n SentimentReportOutcome2ndLevel,\r\n SentimentReportOutcome2ndLevel_DisSatisfied_Options,\r\n SentimentReportOutcome2ndLevel_Satisfied_Options,\r\n SentimentReportOutcome_Option_Dissatisfied_Deemed,\r\n SentimentReportOutcome_Option_Escalation,\r\n SentimentReportOutcome_Option_Satisfied_Deemed,\r\n SentimentReportOutcome_Options,\r\n} from '../../../constants';\r\nimport { SentimentSection } from './SentimentSection';\r\nimport { FormRow } from 'yw-ui.v2/dist/components';\r\n\r\nexport class Sentiment extends Component {\r\n constructor(form) {\r\n super(form);\r\n this.state = {\r\n reportOutcomeDirty: false,\r\n usedComplaintDirty: false,\r\n logComplaintDirty: false,\r\n\r\n sentimentReportOutcome_Valid: true,\r\n sentimentReportOutcome2ndLevel_Valid: true,\r\n sentimentCustomerUsedComplaintWording_Valid: true,\r\n sentimentLogComplaint_Valid: true,\r\n\r\n sentimentReportOutcome2ndLevel_Options: [],\r\n\r\n sentimentValid: false,\r\n secondOutcome: false,\r\n\r\n reportOutcomeValid: null,\r\n secondReportOutcomeValid: null,\r\n usedComplaintValid: null,\r\n logComplaintValid: null,\r\n };\r\n }\r\n\r\n handleChange(dirty) {\r\n const isValid = (bool, valueName) => {\r\n const value = this.props.form.values[valueName];\r\n return bool ? value !== '' && value !== undefined : value !== '';\r\n };\r\n const isInBooleanArray = (arr, valueName) => {\r\n const value = this.props.form.values[valueName];\r\n const inArr = arr.includes(value);\r\n if (inArr) {\r\n return inArr;\r\n }\r\n return ['true', 'false'].includes(value);\r\n };\r\n\r\n const inArray = (arr, valueName) => {\r\n const value = this.props.form.values[valueName];\r\n return arr.includes(value);\r\n };\r\n\r\n this.setState(\r\n {\r\n [dirty]: true,\r\n },\r\n () => {\r\n const hasSubmitted = this.props.form.submitCount !== 0;\r\n\r\n let reportOutcomeDirty = this.state.reportOutcomeDirty;\r\n let usedComplaintDirty = this.state.usedComplaintDirty;\r\n let logComplaintDirty = this.state.logComplaintDirty;\r\n\r\n if (hasSubmitted) {\r\n reportOutcomeDirty = true;\r\n usedComplaintDirty = true;\r\n logComplaintDirty = true;\r\n }\r\n\r\n const isEscalation = this.props.form.values.SentimentReportOutcome === SentimentReportOutcome_Option_Escalation;\r\n if (isEscalation) {\r\n logComplaintDirty = true;\r\n if (SentimentLogComplaint_Options.includes(Option_NA) === false) {\r\n SentimentLogComplaint_Options.push(Option_NA);\r\n }\r\n this.props.form.values.SentimentLogComplaint = Option_NA;\r\n } else if (SentimentLogComplaint_Options.includes(Option_NA)) {\r\n SentimentLogComplaint_Options.pop(Option_NA);\r\n this.props.form.values.SentimentLogComplaint = undefined;\r\n }\r\n\r\n const isSatisfiedNotConfirmed =\r\n this.props.form.values.SentimentReportOutcome === SentimentReportOutcome_Option_Satisfied_Deemed;\r\n const isDissatisfiedNotConfirmed =\r\n this.props.form.values.SentimentReportOutcome === SentimentReportOutcome_Option_Dissatisfied_Deemed;\r\n const secondLevel = isSatisfiedNotConfirmed || isDissatisfiedNotConfirmed;\r\n let secondLevelOptions = [];\r\n if (secondLevel) {\r\n if (isSatisfiedNotConfirmed) {\r\n secondLevelOptions = SentimentReportOutcome2ndLevel_Satisfied_Options;\r\n }\r\n if (isDissatisfiedNotConfirmed) {\r\n secondLevelOptions = SentimentReportOutcome2ndLevel_DisSatisfied_Options;\r\n }\r\n } else {\r\n this.props.form.values.SentimentReportOutcome2ndLevel = Option_NA;\r\n }\r\n\r\n const reportOutcomeExists = inArray(SentimentReportOutcome_Options, SentimentReportOutcome);\r\n const secondReportOutcomeExists = inArray(secondLevelOptions, SentimentReportOutcome2ndLevel);\r\n const usedComplaintExists = isInBooleanArray(\r\n SentimentCustomerUsedComplaintWording_Options,\r\n SentimentCustomerUsedComplaintWording,\r\n );\r\n const logComplaintExists = isInBooleanArray(SentimentLogComplaint_Options, SentimentLogComplaint);\r\n\r\n const secondLevel_Valid =\r\n this.props.form.values.SentimentReportOutcome2ndLevel !== Option_NA &&\r\n isValid(reportOutcomeDirty, SentimentReportOutcome2ndLevel);\r\n\r\n const sentimentReportOutcome_Valid = isValid(reportOutcomeDirty, SentimentReportOutcome);\r\n const sentimentReportOutcome2ndLevel_Valid = secondLevel ? secondLevel_Valid : true;\r\n const sentimentCustomerUsedComplaintWording_Valid = isValid(\r\n usedComplaintDirty,\r\n SentimentCustomerUsedComplaintWording,\r\n );\r\n const sentimentLogComplaint_Valid = isValid(logComplaintDirty, SentimentLogComplaint);\r\n\r\n const reportOutcomeCheck = hasSubmitted || reportOutcomeDirty;\r\n const secondReportOutcomeChecked = reportOutcomeCheck ? secondReportOutcomeExists : null;\r\n const usedComplaintCheck = hasSubmitted || usedComplaintDirty;\r\n const logComplaintCheck = hasSubmitted || logComplaintDirty;\r\n\r\n const reportOutcomeValid = reportOutcomeCheck ? reportOutcomeExists : null;\r\n const secondReportOutcomeValid = secondLevel ? secondReportOutcomeChecked : null;\r\n const usedComplaintValid = usedComplaintCheck ? usedComplaintExists : null;\r\n const logComplaintValid = logComplaintCheck ? logComplaintExists : null;\r\n\r\n const sentimentValid =\r\n (reportOutcomeCheck ? sentimentReportOutcome_Valid : false) &&\r\n (reportOutcomeCheck ? sentimentReportOutcome2ndLevel_Valid : false) &&\r\n (usedComplaintCheck ? sentimentCustomerUsedComplaintWording_Valid : false) &&\r\n (logComplaintCheck ? sentimentLogComplaint_Valid : false);\r\n\r\n this.setState({\r\n sentimentReportOutcome_Valid: sentimentReportOutcome_Valid,\r\n sentimentReportOutcome2ndLevel_Valid: sentimentReportOutcome2ndLevel_Valid,\r\n sentimentCustomerUsedComplaintWording_Valid: sentimentCustomerUsedComplaintWording_Valid,\r\n sentimentLogComplaint_Valid: sentimentLogComplaint_Valid,\r\n sentimentReportOutcome2ndLevel_Options: secondLevelOptions,\r\n reportOutcomeValid: reportOutcomeValid,\r\n secondReportOutcomeValid: secondReportOutcomeValid,\r\n usedComplaintValid: usedComplaintValid,\r\n logComplaintValid: logComplaintValid,\r\n secondOutcome: secondLevel,\r\n sentimentValid: sentimentValid,\r\n });\r\n },\r\n );\r\n }\r\n\r\n render() {\r\n this.props.form.values.sentimentValid = this.state.sentimentValid;\r\n\r\n const isValid = (v) => {\r\n return v || (v === null && this.props.form.submitCount === 0);\r\n };\r\n\r\n return (\r\n \r\n {\r\n this.handleChange('reportOutcomeDirty');\r\n }}\r\n />\r\n {this.state.secondOutcome && (\r\n {\r\n this.handleChange('reportOutcomeDirty');\r\n }}\r\n />\r\n )}\r\n {\r\n this.handleChange('usedComplaintDirty');\r\n }}\r\n />\r\n {\r\n this.handleChange('logComplaintDirty');\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nSentiment.propTypes = {\r\n form: PropTypes.object,\r\n};\r\n\r\nexport default Sentiment;\r\n","import ColleagueSummaryBlock from './ColleagueSummaryBlock';\r\n\r\nexport default ColleagueSummaryBlock;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport FieldBlock from '../FieldBlock';\r\nimport { ADDITIONAL_COMMENTS_CHAR_COUNT, YES } from '../../../constants';\r\nimport Sentiment from '../SentimentBlock/SentimentBlock';\r\n\r\nclass ColleagueSummaryBlock extends Component {\r\n render() {\r\n this.props.form.valid['additionalCommentsText'] = true;\r\n this.props.form.values.colleagueSummaryValid =\r\n this.props.form.values.isColleagueMode === YES ? this.props.form.values.sentimentValid : true;\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nColleagueSummaryBlock.propTypes = {\r\n form: PropTypes.object,\r\n};\r\n\r\nexport default ColleagueSummaryBlock;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormRow } from 'yw-ui.v2';\r\nimport { nwlpNoticeDateTime } from '../../../constants/Copy';\r\n\r\nexport class DateTimeSelectBlock extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n maxDate: this.calculateMaxDate(),\r\n dateValid: false,\r\n timeValid: false,\r\n dateError: nwlpNoticeDateTime.noDate,\r\n timeError: nwlpNoticeDateTime.noTime,\r\n };\r\n }\r\n\r\n noticeDate = undefined;\r\n noticeTime = undefined;\r\n\r\n calculateMaxDate() {\r\n if (this.props.setMaxTime === false) {\r\n return null;\r\n }\r\n const date = new Date();\r\n let dd = date.getDate();\r\n dd = dd < 10 ? '0' + dd : dd;\r\n let mm = date.getMonth() + 1;\r\n mm = mm < 10 ? '0' + mm : mm;\r\n return `${date.getFullYear()}-${mm}-${dd}`;\r\n }\r\n\r\n sameDate(d1, d2) {\r\n return (\r\n d1.getUTCFullYear() === d2.getUTCFullYear() &&\r\n d1.getUTCMonth() === d2.getUTCMonth() &&\r\n d1.getUTCDate() === d2.getUTCDate()\r\n );\r\n }\r\n\r\n onChange(data) {\r\n const key = data.target.name;\r\n const value = data.target.value;\r\n this[key] = value;\r\n const dateSelected = this.noticeDate !== undefined && this.noticeDate !== null && this.noticeDate !== '';\r\n const timeSelected = this.noticeTime !== undefined && this.noticeTime !== null && this.noticeTime !== '';\r\n this.setState({\r\n dateValid: dateSelected,\r\n });\r\n\r\n if (dateSelected !== true || timeSelected !== true) {\r\n return;\r\n }\r\n\r\n const date = new Date(`${this.noticeDate} ${this.noticeTime}`);\r\n const isToday = this.sameDate(date, new Date());\r\n\r\n let timeValid = timeSelected;\r\n let timeError = nwlpNoticeDateTime.noTime;\r\n if (isToday === true) {\r\n if (date > new Date()) {\r\n timeValid = false;\r\n timeError = nwlpNoticeDateTime.future;\r\n }\r\n }\r\n\r\n this.setState({\r\n timeValid: timeValid,\r\n timeError: timeError,\r\n });\r\n\r\n this.props.form.handleChange(this.props.name, date.toISOString());\r\n }\r\n\r\n render() {\r\n this.props.form.values.nwlpNoticeDateTimeValid = this.state.dateValid === true && this.state.timeValid === true;\r\n return (\r\n \r\n \r\n this.onChange(value)}\r\n max={this.state.maxDate}\r\n />\r\n \r\n\r\n \r\n this.onChange(value)}\r\n />\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nDateTimeSelectBlock.propTypes = {\r\n form: PropTypes.object.isRequired,\r\n name: PropTypes.string.isRequired,\r\n setMaxTime: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default DateTimeSelectBlock;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { SHORT_MONTHS, nwlpNoticeConfirm } from '../../../constants/Copy';\r\n\r\nexport class DateTimeConfirmBlock extends Component {\r\n formatAMPM(date) {\r\n let hours = date.getHours();\r\n let minutes = date.getMinutes();\r\n const ampm = hours >= 12 ? 'pm' : 'am';\r\n hours = hours % 12;\r\n hours = hours || 12;\r\n minutes = minutes < 10 ? '0' + minutes : minutes;\r\n return `${hours}:${minutes} ${ampm}`;\r\n }\r\n\r\n render() {\r\n const date = new Date(this.props.form.values.nwlpNoticeDateTime);\r\n const nwlpNoticeDateTimeString = `${date.getDate()} ${\r\n SHORT_MONTHS[date.getMonth()]\r\n } ${date.getFullYear()} at ${this.formatAMPM(date)},`;\r\n const str = nwlpNoticeConfirm.detail.replace('{nwlpNoticeDateTimeString}', nwlpNoticeDateTimeString);\r\n return

;\r\n }\r\n}\r\n\r\nDateTimeConfirmBlock.propTypes = {\r\n form: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default DateTimeConfirmBlock;\r\n","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport InfoBlock from '../InfoBlock';\r\nimport { SOURCE_NWLP, nwlpContactBanner } from '../../../constants';\r\nimport timeApi from '../../../api/time';\r\n\r\nexport class NwlpContactBlock extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isNwlpJourney: window.sessionStorage.getItem('source') === SOURCE_NWLP,\r\n isNwlpHours: null,\r\n loading: true,\r\n error: null,\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n if (this.state.isNwlpJourney === true) {\r\n try {\r\n let isNwlpHours;\r\n await timeApi.isNoWaterHours((data) => {\r\n isNwlpHours = data;\r\n });\r\n this.setState({ isNwlpHours, loading: false });\r\n } catch (e) {\r\n this.setState({ loading: false });\r\n }\r\n } else {\r\n this.setState({ loading: false });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.loading === false && this.state.isNwlpHours === false && (\r\n <>\r\n

\r\n

{nwlpContactBanner.header}

\r\n \r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nNwlpContactBlock.propTypes = {\r\n form: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default NwlpContactBlock;\r\n","import NwlpContactBlock from './NwlpContactBlock';\r\n\r\nexport default NwlpContactBlock;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport InfoBlock from '../InfoBlock';\r\n\r\nconst BannerBlock = ({ header, infos, level }) => {\r\n return (\r\n \r\n
\r\n {header &&

{header}

}\r\n {infos.map((info) => (\r\n <>\r\n \r\n \r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nBannerBlock.propTypes = {\r\n header: PropTypes.string,\r\n infos: PropTypes.array,\r\n level: PropTypes.string,\r\n};\r\n\r\nexport default BannerBlock;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport AccordionBlock from '../AccordionBlock';\r\nimport AddressListBlock from '../AddressListBlock';\r\nimport PlacesListBlock from '../PlacesListBlock';\r\nimport ButtonRowBlock from '../ButtonRowBlock';\r\nimport ChoiceBlock from '../ChoiceBlock';\r\nimport DayListBlock from '../DayListBlock';\r\nimport FieldBlock from '../FieldBlock';\r\nimport FileUploadBlock from '../FileUploadBlock';\r\nimport HeadingsBlock from '../HeadingsBlock';\r\nimport HeadingNoDivBlock from '../HeadingNoDivBlock';\r\nimport InfoBlock from '../InfoBlock';\r\nimport LinkBlock from '../LinkBlock';\r\nimport MapBlock from '../MapBlock';\r\nimport MapSearchBlock from '../MapSearchBlock';\r\nimport MessageBlock from '../MessageBlock';\r\nimport TextBlock from '../TextBlock';\r\nimport SlotListBlock from '../SlotListBlock';\r\nimport IncidentBlock from '../IncidentBlock';\r\nimport SummaryBlock from '../SummaryBlock';\r\nimport SummaryTableBlock from '../SummaryTableBlock';\r\nimport StaticMapBlock from '../StaticMapBlock';\r\nimport TermsAndConditionsBlock from '../TermsAndConditionsBlock';\r\nimport PrioritisedCheckboxBlock from '../PrioritisedCheckboxBlock/PrioritisedCheckboxBlock';\r\nimport CountedCheckboxBlock from '../CountedCheckboxBlock/CountedCheckboxBlock';\r\nimport RedirectButton from '../RedirectButton';\r\nimport ColleagueSummaryBlock from '../ColleagueSummaryBlock';\r\nimport DateTimeSelectBlock from '../DateTimeSelectBlock/DateTimeSelectBlock';\r\nimport DateTimeConfirmBlock from '../DateTimeConfirmBlock/DateTimeConfirmBlock';\r\nimport NwlpContactBlock from '../NwlpContactBlock';\r\nimport BannerBlock from '../BannerBlock/BannerBlock';\r\n\r\nclass BlockRenderer extends Component {\r\n render() {\r\n const {\r\n block,\r\n answers,\r\n form,\r\n lookups,\r\n lookupsLoading,\r\n validStep,\r\n stepTo,\r\n stepForward,\r\n onBack,\r\n summary,\r\n attachmentRemove,\r\n uploadAttachments,\r\n attachments,\r\n SetMapHasDragged,\r\n SetIsYorkshire,\r\n locations,\r\n } = this.props;\r\n\r\n const blockTypes = {\r\n accordionSingle: AccordionBlock,\r\n addresses: AddressListBlock,\r\n days: DayListBlock,\r\n buttons: ButtonRowBlock,\r\n redirectButton: RedirectButton,\r\n checkbox: FieldBlock,\r\n radio: FieldBlock,\r\n text: FieldBlock,\r\n textarea: FieldBlock,\r\n fileUpload: FileUploadBlock,\r\n heading: HeadingsBlock,\r\n headingNoDiv: HeadingNoDivBlock,\r\n info: InfoBlock,\r\n link: LinkBlock,\r\n mapResult: MapBlock,\r\n staticMapResult: StaticMapBlock,\r\n TermsAndConditions: TermsAndConditionsBlock,\r\n placesResults: PlacesListBlock,\r\n mapSearch: MapSearchBlock,\r\n message: MessageBlock,\r\n textBlock: TextBlock,\r\n question: ChoiceBlock,\r\n slots: SlotListBlock,\r\n incidentList: IncidentBlock,\r\n summary: SummaryBlock,\r\n summaryTable: SummaryTableBlock,\r\n prioritisedCheckbox: PrioritisedCheckboxBlock,\r\n countedCheckbox: CountedCheckboxBlock,\r\n colleagueSummary: ColleagueSummaryBlock,\r\n dateTimeSelect: DateTimeSelectBlock,\r\n dateTimeConfirm: DateTimeConfirmBlock,\r\n nwlpContact: NwlpContactBlock,\r\n banner: BannerBlock,\r\n };\r\n\r\n const noOp = () => {\r\n return null;\r\n };\r\n\r\n const BlockComponent = blockTypes[block.type] || noOp;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nBlockRenderer.propTypes = {\r\n block: PropTypes.object.isRequired,\r\n answers: PropTypes.object.isRequired,\r\n form: PropTypes.object.isRequired,\r\n lookups: PropTypes.object.isRequired,\r\n locations: PropTypes.object.isRequired,\r\n lookupsLoading: PropTypes.bool,\r\n validStep: PropTypes.object.isRequired,\r\n stepTo: PropTypes.func.isRequired,\r\n stepForward: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n summary: PropTypes.string,\r\n attachments: PropTypes.object.isRequired,\r\n attachmentRemove: PropTypes.func.isRequired,\r\n uploadAttachments: PropTypes.func.isRequired,\r\n SetMapHasDragged: PropTypes.func.isRequired,\r\n SetIsYorkshire: PropTypes.func.isRequired,\r\n};\r\n\r\nBlockRenderer.defaultProps = { summary: '', lookupsLoading: false };\r\n\r\nexport default BlockRenderer;\r\n","import BlockRenderer from './BlockRenderer';\r\n\r\nexport default BlockRenderer;\r\n","import React, { Component, Fragment } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { FluidForm, Layouts } from 'yw-ui.v2';\r\nimport Recaptcha from 'react-google-invisible-recaptcha';\r\n\r\nimport { RECAPTCHA_KEY, RECAPTCHA_LOCALE, RECAPTCHA_ACTIVE } from '../constants';\r\nimport { loadStep, stepForward, stepBack, stepTo, setAnswer, CalculateBlockAddress } from '../actions/StepsAction';\r\nimport { attachmentRemove, uploadAttachments } from '../actions/AttachmentAction';\r\nimport { SetMapHasDragged } from '../actions/LocationActions';\r\nimport { SetIsYorkshire } from '../actions/LocationActions';\r\nimport { Preloader, Step } from '../components';\r\n\r\nimport BlockRenderer from './blocks/BlockRenderer';\r\n\r\nexport class Steps extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n hasRecaptchaExecuted: false,\r\n };\r\n }\r\n componentDidMount() {\r\n const { loadStep, initialSteps, route, tracker } = this.props;\r\n\r\n if (initialSteps) {\r\n if (tracker) {\r\n tracker.trackEvent({ name: 'loadStep' }, { slug: route.match.params.slug || '' });\r\n }\r\n loadStep(route.match.params.slug);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const {\r\n route: { history },\r\n } = this.props;\r\n if (history && history.action === 'POP' && history.location.pathname !== '/') {\r\n this.handleStepBack();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { attachments, route, initialSteps, lookup, lookupError, lookupsLoading, tracker, locations } = this.props;\r\n if (\r\n prevProps.lookup !== lookup ||\r\n prevProps.lookupError !== lookupError ||\r\n prevProps.lookupsLoading !== lookupsLoading ||\r\n prevProps.locations !== locations ||\r\n (!prevProps.initialSteps && initialSteps !== null) ||\r\n JSON.stringify(prevProps.attachments) !== JSON.stringify(attachments)\r\n ) {\r\n if (tracker) {\r\n tracker.trackEvent({ name: 'reloadStep' }, { slug: route.match.params.slug || '' });\r\n }\r\n this.props.loadStep(route.match.params.slug);\r\n }\r\n }\r\n\r\n shouldComponentUpdate(prevProps) {\r\n const {\r\n route,\r\n answers,\r\n lookup,\r\n initialSteps,\r\n isLoading,\r\n lookupsLoading,\r\n summary,\r\n isEditing,\r\n validStep,\r\n locations,\r\n } = this.props;\r\n if (\r\n prevProps.route.match.params.slug !== route.match.params.slug ||\r\n prevProps.isLoading !== isLoading ||\r\n prevProps.lookupsLoading !== lookupsLoading ||\r\n prevProps.answers !== answers ||\r\n prevProps.initialSteps !== initialSteps ||\r\n prevProps.summary !== summary ||\r\n prevProps.isEditing !== isEditing ||\r\n prevProps.locations !== locations ||\r\n prevProps.lookup !== lookup ||\r\n JSON.stringify(prevProps.validStep) !== JSON.stringify(validStep)\r\n ) {\r\n return true;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n handleStepForward = (values, isRecaptcha) => {\r\n const {\r\n stepForward,\r\n setAnswer,\r\n CalculateBlockAddress,\r\n tracker,\r\n validStep: { hasRecaptcha, slug },\r\n } = this.props;\r\n\r\n if (hasRecaptcha && !isRecaptcha && RECAPTCHA_ACTIVE === 'true') {\r\n setAnswer(values);\r\n\r\n if (this.recaptcha) {\r\n this.setState({ hasRecaptchaExecuted: true });\r\n this.recaptcha.execute();\r\n }\r\n } else {\r\n if (tracker) {\r\n tracker.trackEvent({ name: 'stepForward' }, { slug });\r\n }\r\n\r\n if (this.recaptcha) {\r\n this.recaptcha.reset();\r\n }\r\n\r\n stepForward(slug, { ...values });\r\n CalculateBlockAddress();\r\n }\r\n };\r\n\r\n handleStepTo = (route) => {\r\n const {\r\n stepTo,\r\n tracker,\r\n validStep: { slug },\r\n } = this.props;\r\n\r\n if (tracker) {\r\n tracker.trackEvent({ name: 'stepTo' }, { slug, route });\r\n }\r\n stepTo(route);\r\n };\r\n\r\n handleStepBack = () => {\r\n const {\r\n stepBack,\r\n tracker,\r\n validStep: { slug },\r\n } = this.props;\r\n\r\n if (tracker) {\r\n tracker.trackEvent({ name: 'stepBack' }, { slug });\r\n }\r\n\r\n stepBack();\r\n };\r\n\r\n forceExclusiveAnswer = (exclusiveAnswer, answers) => {\r\n if (answers[exclusiveAnswer.fieldName]) {\r\n if (answers[exclusiveAnswer.fieldName].includes(`,${exclusiveAnswer.answer}`)) {\r\n let newAnswer = {};\r\n newAnswer[exclusiveAnswer.fieldName] = exclusiveAnswer.answer;\r\n this.props.setAnswer(newAnswer);\r\n } else {\r\n let newAnswer = {};\r\n newAnswer[exclusiveAnswer.fieldName] = answers[exclusiveAnswer.fieldName].replace(\r\n `${exclusiveAnswer.answer},`,\r\n '',\r\n );\r\n\r\n this.props.setAnswer(newAnswer);\r\n }\r\n }\r\n };\r\n\r\n handleChange = (answers) => {\r\n const {\r\n validStep: { exclusiveAnswers },\r\n } = this.props;\r\n\r\n if (exclusiveAnswers) {\r\n exclusiveAnswers.forEach((exclusive) => this.forceExclusiveAnswer(exclusive, answers));\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n route,\r\n answers,\r\n isLoading,\r\n summary,\r\n validStep,\r\n lookups,\r\n lookupsLoading,\r\n attachments,\r\n locations,\r\n } = this.props;\r\n const currentSlug = route.match.params.slug || null;\r\n\r\n const { blocks, hasRecaptcha, hiddenAnswers, initialAnswers, isContained, slug, validation } = validStep || {};\r\n const formValues = {\r\n ...initialAnswers,\r\n ...answers,\r\n ...hiddenAnswers,\r\n };\r\n\r\n return (\r\n \r\n \r\n {isLoading && }\r\n {validStep && (\r\n
\r\n {!isLoading && (\r\n this.handleStepForward(values, false, null)}\r\n onChange={this.handleChange}\r\n >\r\n {(form) => (\r\n \r\n {RECAPTCHA_ACTIVE === 'true' &&\r\n (hasRecaptcha || this.state.hasRecaptchaExecuted) &&\r\n currentSlug === slug && (\r\n {\r\n this.recaptcha = ref;\r\n return this.recaptcha;\r\n }}\r\n sitekey={RECAPTCHA_KEY}\r\n onResolved={(response) => this.handleStepForward({ recaptchaCode: response }, true)}\r\n locale={RECAPTCHA_LOCALE}\r\n />\r\n )}\r\n\r\n {blocks &&\r\n blocks.map((block, i) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nSteps.propTypes = {\r\n loadStep: PropTypes.func.isRequired,\r\n route: PropTypes.object.isRequired,\r\n stepBack: PropTypes.func.isRequired,\r\n stepForward: PropTypes.func.isRequired,\r\n setAnswer: PropTypes.func.isRequired,\r\n stepTo: PropTypes.func.isRequired,\r\n CalculateBlockAddress: PropTypes.func.isRequired,\r\n uploadAttachments: PropTypes.func.isRequired,\r\n attachmentRemove: PropTypes.func.isRequired,\r\n SetMapHasDragged: PropTypes.func.isRequired,\r\n SetIsYorkshire: PropTypes.func.isRequired,\r\n isLoading: PropTypes.bool.isRequired,\r\n attachments: PropTypes.object.isRequired,\r\n locations: PropTypes.object.isRequired,\r\n answers: PropTypes.object.isRequired,\r\n lookups: PropTypes.object.isRequired,\r\n lookup: PropTypes.string,\r\n lookupError: PropTypes.string,\r\n lookupsLoading: PropTypes.bool,\r\n validStep: PropTypes.object,\r\n initialSteps: PropTypes.array,\r\n summary: PropTypes.string,\r\n isEditing: PropTypes.bool,\r\n tracker: PropTypes.object,\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n initialSteps: state.steps.initialSteps,\r\n validStep: state.steps.validStep,\r\n answers: state.steps.answers,\r\n isLoading: state.steps.isLoading,\r\n lookups: state.hooks.lookups,\r\n lookup: state.hooks.lookup,\r\n lookupsLoading: state.hooks.isLoading,\r\n lookupError: state.hooks.error,\r\n summary: state.outcome.status.summary,\r\n isEditing: state.steps.isEditing,\r\n attachments: state.attachments,\r\n locations: state.locations,\r\n});\r\nconst mapDispatchToProps = (dispatch) => ({\r\n loadStep: (slug) => dispatch(loadStep(slug)),\r\n setAnswer: (answer) => dispatch(setAnswer(answer)),\r\n stepBack: (step) => dispatch(stepBack(step)),\r\n stepForward: (step, values) => dispatch(stepForward(step, values)),\r\n stepTo: (step, values, editMode) => dispatch(stepTo(step, values, editMode)),\r\n uploadAttachments: (files, successHandler, errorHandler) =>\r\n dispatch(uploadAttachments(files, successHandler, errorHandler)),\r\n attachmentRemove: (attachmentId) => dispatch(attachmentRemove(attachmentId)),\r\n SetMapHasDragged: (bool) => dispatch(SetMapHasDragged(bool)),\r\n SetIsYorkshire: (bool) => dispatch(SetIsYorkshire(bool)),\r\n CalculateBlockAddress: (step) => dispatch(CalculateBlockAddress(step)),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Steps));\r\n","import { ActionTypes } from '../constants';\r\n\r\nexport function SetMapHasDragged(bool) {\r\n return {\r\n type: ActionTypes.SET_CURRENT_LOCATION,\r\n mapHasDragged: bool,\r\n };\r\n}\r\n\r\nexport function SetIsYorkshire(bool) {\r\n return {\r\n type: ActionTypes.SET_IS_YORKSHIRE,\r\n isYorkshire: bool,\r\n };\r\n}\r\n","import Service from './service';\r\nimport { API_ENDPOINT_TOKEN } from '../constants';\r\n\r\nconst getToken = async (id) => {\r\n return await Service.get(`${API_ENDPOINT_TOKEN}?id=${id}`).then(({ data }) => {\r\n return data;\r\n });\r\n};\r\n\r\nconst tokenApi = { getToken };\r\n\r\nexport default tokenApi;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { Pill } from 'yw-ui.v2';\r\nimport { NavBarProfile, NavBarSeparator, Icon } from 'yw-ui.v2/dist/components';\r\nimport tokenApi from '../../../api/token';\r\nimport { COLLEAGUE_MODE, UNKNOWN_COLLEAGUE } from '../../../constants';\r\n\r\nclass ColleagueModeHeaderBlock extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n account: UNKNOWN_COLLEAGUE,\r\n };\r\n }\r\n\r\n initials = (name) => {\r\n if (name) {\r\n const nameArray = name.split(' ');\r\n if (nameArray.length === 2) {\r\n return `${nameArray[0][0]}${nameArray[1][0]}`;\r\n }\r\n }\r\n return name;\r\n };\r\n\r\n async componentDidMount() {\r\n var result = await tokenApi.getToken(window.sessionStorage.getItem('token'));\r\n this.setState({ account: result.colleagueName });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {COLLEAGUE_MODE}\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nColleagueModeHeaderBlock.propTypes = {\r\n form: PropTypes.object,\r\n};\r\n\r\nexport default ColleagueModeHeaderBlock;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Route, Switch, withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { Layouts } from 'yw-ui.v2/dist/components';\r\n\r\nimport { loadConfig } from './actions/StepsAction';\r\nimport { Steps } from './scenes';\r\nimport { SERVICE_TITLE, MAIN_WEBSITE_URL, SOURCE_CLEAN } from './constants';\r\n\r\nimport 'yw-ui.v2/dist/css/yw-ui.v2.min.css';\r\nimport './App.scss';\r\nimport ColleagueModeHeaderBlock from './scenes/blocks/ColleagueModeHeaderBlock/ColleagueModeHeaderBlock';\r\n\r\nexport class App extends Component {\r\n componentDidMount() {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const source = urlParams.get('source') || SOURCE_CLEAN;\r\n const altSource = window.sessionStorage.getItem('source') || SOURCE_CLEAN;\r\n this.props.loadConfig({ source, altSource });\r\n }\r\n\r\n render() {\r\n const colleague = window.sessionStorage.getItem('token') !== null;\r\n return (\r\n \r\n {colleague && }\r\n
\r\n \r\n } />\r\n } />\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nApp.propTypes = {\r\n loadConfig: PropTypes.func,\r\n tracker: PropTypes.object,\r\n};\r\n\r\nApp.defaultProps = {\r\n loadConfig: () => {},\r\n};\r\n\r\nconst mapStateToProps = () => ({});\r\nconst mapDispatchToProps = (dispatch) => ({\r\n loadConfig: (config) => dispatch(loadConfig(config)),\r\n});\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(App));\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport configureStore, { history } from './store';\r\n\r\nimport { ai } from './api/telemetry';\r\n\r\nimport './polyfills';\r\nimport App from './App';\r\n\r\nai.initialize({ history: history });\r\n\r\nconst store = configureStore();\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root'),\r\n);\r\n","import { combineReducers } from 'redux';\r\nimport { connectRouter } from 'connected-react-router';\r\n\r\nimport outcomeReducer from './OutcomeReducer';\r\nimport stepsReducer from './StepsReducer';\r\nimport attachmentReducer from './AttachmentReducer';\r\nimport hookReducer from './HookReducer';\r\nimport LocationReducer from './LocationReducer';\r\n\r\nimport { initialState as initialOutcomeState } from './OutcomeReducer';\r\nimport { initialState as initialStepsState } from './StepsReducer';\r\nimport { initialState as initialHookState } from './HookReducer';\r\nimport { initialState as initialAttachmentState } from './AttachmentReducer';\r\nimport { initialState as initialLocationState } from './LocationReducer';\r\n\r\nexport const initialState = {\r\n outcome: initialOutcomeState,\r\n steps: initialStepsState,\r\n hooks: initialHookState,\r\n attachments: initialAttachmentState,\r\n locations: initialLocationState,\r\n};\r\n\r\nexport default (history) =>\r\n combineReducers({\r\n outcome: outcomeReducer,\r\n router: connectRouter(history),\r\n steps: stepsReducer,\r\n hooks: hookReducer,\r\n attachments: attachmentReducer,\r\n locations: LocationReducer,\r\n });\r\n","import {\r\n LOCATION_BOUND_NORTH,\r\n LOCATION_BOUND_EAST,\r\n LOCATION_BOUND_SOUTH,\r\n LOCATION_BOUND_WEST,\r\n REGION_BOUNDARY_PATH,\r\n} from '../constants';\r\n\r\n/*\r\ngeocodeLocation\r\n\r\nGet lat and lng for given location\r\n\r\nlocation - A string representing the location you wish to geocode\r\nsuccessHandler -Function to call on successful response\r\nerrorHandler -Function to call on erroneous response\r\n\r\n*/\r\nexport const geocodeLocation = (location, successHandler, errorHandler) => {\r\n let request = {\r\n query: location,\r\n fields: ['place_id', 'name', 'geometry', 'formatted_address'],\r\n bounds: {\r\n north: LOCATION_BOUND_NORTH,\r\n east: LOCATION_BOUND_EAST,\r\n south: LOCATION_BOUND_SOUTH,\r\n west: LOCATION_BOUND_WEST,\r\n },\r\n };\r\n const service = new window.google.maps.places.PlacesService(document.createElement('div'));\r\n service.textSearch(request, function(results, status) {\r\n if (status === 'OK') {\r\n // Check result within the boundaries of Yorkshire\r\n const filteredResults = results.filter((result) => {\r\n let resultLocation = result.geometry.location;\r\n let polyline = new window.google.maps.Polygon({\r\n path: window.google.maps.geometry.encoding.decodePath(String(REGION_BOUNDARY_PATH)),\r\n });\r\n let isWithinPolygon = window.google.maps.geometry.poly.containsLocation(resultLocation, polyline);\r\n if (isWithinPolygon) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n // check we still have results\r\n if (filteredResults.length) {\r\n const firstLocation = filteredResults[0].geometry.location;\r\n const formattedAddress = filteredResults[0].formatted_address\r\n .split(',')\r\n .filter((part) => !part.includes('UK'))\r\n .join(',');\r\n const totalResults = filteredResults.length;\r\n const lat = firstLocation.lat();\r\n const lng = firstLocation.lng();\r\n successHandler({ lat, lng, formattedAddress, totalResults, results: filteredResults });\r\n } else {\r\n errorHandler('No results');\r\n }\r\n } else {\r\n errorHandler(status);\r\n }\r\n });\r\n};\r\n\r\n/*\r\nreverseGeocodeLocation\r\n\r\nGet location for given lat lng\r\n\r\nlocation - A string representing the location you wish to reverse geocode { l`t, lng}\r\nsuccessHandler -Function to call on successful response\r\nerrorHandler -Function to call on erroneous response\r\n\r\n*/\r\nexport const reverseGeocodeLocation = (location, successHandler, errorHandler) => {\r\n // Decalre instance of the Geocoder\r\n const geocoder = new window.google.maps.Geocoder();\r\n\r\n // Call geocoder method with passed location\r\n geocoder.geocode(location, function(results, status) {\r\n // Check status is ok\r\n if (status === 'OK') {\r\n // Check we have results\r\n if (results.length) {\r\n const postcodes = getPostcodesFromGooglePlacesResponse(results);\r\n const firstResult = results[0];\r\n const firstFormattedAddress = firstResult.address_components\r\n .filter((component) => {\r\n return (\r\n component.types.includes('route') ||\r\n component.types.includes('locality') ||\r\n component.types.includes('sublocality') ||\r\n component.types.includes('postal_code_prefix') ||\r\n component.types.includes('postal_town') ||\r\n component.types.includes('administrative_area_level_2')\r\n );\r\n })\r\n .map((component) => {\r\n return component.short_name;\r\n })\r\n .join(', ');\r\n const firstLat = location.location.lat;\r\n const firstLng = location.location.lng;\r\n successHandler({ lat: firstLat, lng: firstLng, formattedAddress: firstFormattedAddress, postcodes: postcodes });\r\n } else {\r\n if (errorHandler) {\r\n errorHandler('No results');\r\n }\r\n }\r\n } else {\r\n if (errorHandler) {\r\n errorHandler(status);\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport const getCurrentLocation = (successHandler, errorHandler) => {\r\n if (global.navigator.geolocation) {\r\n global.navigator.geolocation.getCurrentPosition(\r\n (pos) => {\r\n successHandler(pos.coords.latitude, pos.coords.longitude);\r\n },\r\n () => {\r\n errorHandler('Geolocation disabled');\r\n },\r\n { timeout: 10000 },\r\n );\r\n } else {\r\n errorHandler('Geolocation unavailable');\r\n }\r\n};\r\n\r\nconst getPostcodesFromGooglePlacesResponse = (locationResults) => {\r\n const postcodes = [];\r\n if (locationResults) {\r\n locationResults.forEach((entry) => {\r\n const postcodeEntry = entry.address_components\r\n .filter((address) => address.types.includes('postal_code'))\r\n .map((o) => o.short_name);\r\n if (postcodeEntry.length > 0) {\r\n postcodes.push(postcodeEntry[0]);\r\n }\r\n });\r\n return postcodes.sort((a, b) => (a.length < b.length ? 1 : -1));\r\n }\r\n return [];\r\n};\r\n\r\nconst locationApi = {\r\n geocodeLocation,\r\n getCurrentLocation,\r\n reverseGeocodeLocation,\r\n getPostcodesFromGooglePlacesResponse,\r\n};\r\n\r\nexport default locationApi;\r\n","// Base URLs\r\nexport const getTellUsAPIBaseUrl = () =>\r\n process.env.NODE_ENV === 'production' ? '#{TellUsApiBaseUrl}' : 'https://localhost:44384/api';\r\n\r\nexport const getAPIBaseUrl = () =>\r\n process.env.NODE_ENV === 'production' ? '#{ApiBaseUrl}' : 'https://apidev.yorkswater.com/api';\r\n\r\nexport const APP_INSIGHTS_INSTRUMENTATION_KEY =\r\n process.env.NODE_ENV === 'production' ? '#{AppInsightsKey}' : 'cd51f2e7-6780-40d6-870c-1b6848c9bdf9';\r\n\r\nexport const RECAPTCHA_KEY =\r\n process.env.NODE_ENV === 'production' ? '#{ReCaptchaSiteKey}' : '6LdQdmQUAAAAAATJ4M-8umS9DTa5v5sRFeiKYLHC';\r\nexport const RECAPTCHA_ACTIVE = process.env.NODE_ENV === 'production' ? '#{ReCaptchaIsOn}' : 'false';\r\nexport const RECAPTCHA_LOCALE = 'en-GB';\r\n\r\nexport const getDecpUrl = () =>\r\n process.env.NODE_ENV === 'production' ? '#{DecpUrl}' : 'https://incident-comm-dev-fe.ase.azure.yw.kelda';\r\n\r\nexport const DECP_PROBLEM_SUBMIT_URL = `${getDecpUrl()}/problems/submit`;\r\n\r\n// Endpoints\r\nexport const API_ENDPOINT_PROPERTIES = `${getTellUsAPIBaseUrl()}/properties`;\r\nexport const API_ENDPOINT_PROBLEMS = `${getTellUsAPIBaseUrl()}/problems`;\r\nexport const API_ENDPOINT_ATTACHMENTS = `${getAPIBaseUrl()}/attachments`;\r\nexport const API_ENDPOINT_CALLBACKS = `${getAPIBaseUrl()}/common/callback`;\r\nexport const API_ENDPOINT_INCIDENTS = `${getTellUsAPIBaseUrl()}/Incidents/location`;\r\nexport const API_ENDPOINT_TOKEN = `${getTellUsAPIBaseUrl()}/Token/getToken`;\r\nexport const API_ENDPOINT_TIME = `${getTellUsAPIBaseUrl()}/Time`;\r\n\r\nexport const SOURCE_CLEAN = 'clean';\r\nexport const SOURCE_WASTE = 'waste';\r\nexport const SOURCE_NWLP = 'nwlp';\r\n\r\n/* 2.GENERAL SETTINGS */\r\nexport const COMPANY_NAME = 'Yorkshire Water';\r\nexport const SERVICE_TITLE = 'Tell us about a problem';\r\nexport const TITLE_DIVIDER = ' | ';\r\nexport const DOCUMENT_TITLE = `${COMPANY_NAME}${TITLE_DIVIDER}${SERVICE_TITLE}`;\r\nexport const YW_NOREPLY_EMAIL = 'noreply@yorkshirewater.com';\r\nexport const UNKNOWN_COLLEAGUE = 'Unknown User';\r\nexport const COLLEAGUE_MODE = 'Colleague mode';\r\n\r\n// YORKSHIRE WATER URLS\r\nexport const MAIN_WEBSITE_URL =\r\n process.env.NODE_ENV === 'production' ? '#{MainWebsiteUrl}' : 'https://www.yorkshirewater.com';\r\nexport const PIPE_RESPONSIBILITY_URL = `${MAIN_WEBSITE_URL}/your-water/whose-pipe-is-it`;\r\nexport const YW_LEGAL_URL = `${MAIN_WEBSITE_URL}/legal`;\r\nexport const YW_PRIVACY_URL = `${MAIN_WEBSITE_URL}/about-us/our-policies/privacy-policy/`;\r\nexport const FIX_LEAKS_URL = `${MAIN_WEBSITE_URL}/your-water/leaks/how-we-fix-leaks`;\r\nexport const FIX_PROBLEMS_URL = `${MAIN_WEBSITE_URL}/your-water/blocked-drains/how-we-fix-problems`;\r\nexport const CALLBACK_1_URL = `${MAIN_WEBSITE_URL}/contactus/callback/`;\r\nexport const CALLBACK_2_URL = `${MAIN_WEBSITE_URL}/contactus#callback`;\r\nexport const GET_IN_TOUCH_URL = `${MAIN_WEBSITE_URL}/your-water/report-a-problem/get-in-touch/`;\r\nexport const TASTE_SMELLS_URL = `${MAIN_WEBSITE_URL}/taste-smells`;\r\nexport const WATER_PRESSURE_URL = `${MAIN_WEBSITE_URL}/water-pressure`;\r\nexport const DISCOLOURED_WATER_URL = `${MAIN_WEBSITE_URL}/discolouredwater`;\r\nexport const SLOW_DRAINING_URL = `${MAIN_WEBSITE_URL}/help-and-advice/fix-slow-draining-toilets-sinks/`;\r\nexport const WATER_HARDNESS_URL = `${MAIN_WEBSITE_URL}/water-quality/check-your-water-hardness`;\r\nexport const MANHOLE_DRAIN_URL = `${MAIN_WEBSITE_URL}/manhole-drain-covers`;\r\n\r\n// OTHER WATER COMPANIES\r\nexport const FIND_SUPPLIER_URL = 'https://www.water.org.uk/advice-for-customers/find-your-supplier';\r\nexport const SEVERN_TRENT_URL = 'https://www.stwater.co.uk';\r\nexport const UNITED_UTILITIES_URL = 'https://www.unitedutilities.com';\r\nexport const NORTHUMBRIAN_WATER_URL = 'https://www.nwl.co.uk';\r\n\r\n// MISC URLS\r\nexport const LOCAL_PLUMBER_URL = 'https://www.watersafe.org.uk';\r\nexport const GOOGLEMAPS_API_URL = 'https://maps.googleapis.com/maps/api';\r\nexport const SVG_NAMESPACE_URL = 'http://www.w3.org/2000/svg';\r\nexport const LOCAL_COUNCIL_URL = 'https://www.gov.uk/find-local-council';\r\nexport const YW_PHONE_NUMBER = '0345 1 24 24 24';\r\nexport const NATIONAL_GAS_NUMBER = '0800 111 999';\r\n\r\n/* 3.STEP DEFAULTS */\r\n\r\n// General\r\nexport const ALPHABET = 'abcdefghijklmnopqrstuvwxyz';\r\nexport const BACK_BUTTON_LABEL = 'Back';\r\nexport const CONTINUE_BUTTON_LABEL = 'Continue';\r\nexport const DEFAULT_LOCATION_LAT = 53.7573604;\r\nexport const DEFAULT_LOCATION_LNG = -1.7860613999999941;\r\nexport const LOCATION_BOUND_NORTH = 54.615676;\r\nexport const LOCATION_BOUND_EAST = 0.086563;\r\nexport const LOCATION_BOUND_SOUTH = 53.637161;\r\nexport const LOCATION_BOUND_WEST = -2.103852;\r\n\r\nexport const REGION_BOUNDARY_PATH =\r\n '{fhkItiwH_KlSoRla@ee@hn@{YEklA{X_|AfW_Yjy@EhjAgYtdCCfq@yvAx_@sNbq@sm@fy@uSEuNlcBdIvy@cTn_ExXpG~C`bAtSBzCjmCxw@aGfIdXvXr`@pr@v`@l]dFie@zgCUf_@wUfh@{XzaA{X~W|]~h@eDxh@AvO?jG||@cGf}@t[rHvTrI`m@hlAjtBvXp|Blb@jiBcAfMfKh^vG|e@k@jU~Add@`Gvj@v@bMIdCZ~FoFj_@gEvEe`@|ToBrs@QXyCrNoFjEcW`l@gErI_WhuAuHxfAkCzc@sMtdBqExE}^uH_M|@`Iz[q@StI~q@_@pYvSfc@|Ij[pm@l|BvSvdCzXzaA`^ly@~]vh@`]?\\\\fB?nf@yIbk@_@z@_]`Os\\\\vuAS\\\\_IhOcHcFeDv]m@~@Zl@c@rD~LbNhPzZzl@j\\\\nBzs@lAz\\\\?`LD`tBZ~LLnu@yJdu@wJhm@pKbi@`Dl^xDlEbGj\\\\rc@lQ~A~XrJpp@vEnw@vE}DrKPdFhAj^hg@dKla@vWhQdCvEfCOjAt@n^eD`CSf@IpE[lZcBrn@{DrVjK`Mo^jPi^bTi_@nPjSnFoGTNfa@`HjTtNdG~|BlYj]lNzNjZzt@`^bdA~Bbe@tWrfAyA~_@tKyX|Ig[hCm@hN{h@~G}Tt}AyyBv`@gxAh@S?_BjIkZ`ARrsAfmAb{@|GrZuMxTrDfZs^pFkCln@hp@n{Bu[b@qCbM|HdD|Whh@uGrm@zx@tNlaAgIj`@sSDoSly@{]p`@rNby@jh@|FrNvp@aI~iA@|Wvr@x_@|]IlDnaAtNtiAD|p@mSly@wCdkBrgAhqA~vAn`AdwAvaBj}@fjBrh@|`A|Xz_@|]uGxS|_@aDh`@pIjh@tNhh@vSrWfNwh@`Ynp@fc@jWfgAgHlm@}GmDup@nSo`@~]KC{WpSeX`c@aPzCay@`^dOqDmbBfh@yGp]qzAA{WvX{OAiG~Cg`@lw@yzA|]sG~o@yG`}@bWlm@Ozb@}iAEup@qI{x@~Cmh@rXoaA{Smp@qIwqAoIqp@{SkiAiDsp@nw@irAhh@sGlm@uGt]_rAz]}p@bc@Gy]laAB``@bc@I||@wGv]wiACsp@}X{_@bDc`@bh@ey@pSoh@pSg`@rSCtXay@GojBuNqqAmIqp@}XgiA|C_zAnNkG`}@~g@pSc`@lNsOkIqp@vXe`@bc@mGjIfh@tS|_@tSlOtSCjh@rx@|X|`Axw@{O~aAk`@dgA}p@lm@oh@dc@x_@fDdh@nNtW`bAk`@`Dop@ic@yaBA_`@}XciA{Xch@yXkOCchA`K_@|PlGbZsAjLnBnSfNb^pHhSwJhHk`@jBuT^sh@oC}\\\\yC_P}F{IsPsOiGeGoKcHiNsQwFmLqNaUmD{G@qkAec@}`AyC{m@xDqFtCkH~R_ZxLuT|BcCtIcOlO{T|CsGrZpMlPkQlAdBtGnNvMlMz@}D}@gEsE}P{@wTbX}YhHwB|M}QbIiU]wJhFuNs@wLll@sgAlm@wWxw@bGnm@biAxXhqAzXbiA`}@rbClh@|iB`ThTjAdBTCt_@``@xX_`@zX`h@hh@pWfyAmh@~|@fOfZeFlE~JtFdc@xXbGxw@|g@B|ESXJlSc@hSh@VvMvXF\\\\h@x@lb@v|@~]hOr[aR^Dp@{@v]qSfh@qO~]CfJ_QDAxCuF@KfCyElNkp@tSgG||@mGlNuWoE}CxBsBk@ePuCgDeEiBcPyGoBuDyDuO?}CvE_DjAqDxToPxXAfLi^zCuC~GyOzCmZs@cXyCwYBc_@@wYFgC\\\\}C`EoT`@}J_EoNoB}TkHxDsAhDk@f@a@_CsNRfAqOeJsOpAgHbBiOsBsTsEqVaE}PuLk_@{Ak@?}h@xXmO|]x_@~]{_@hIgp@xX{_@fh@mOjh@|g@zf@oJlAJdCg@t@q@pGoApC{Ht@w@jMqXpEoSzd@qErG`CzHqCvAcBl_@_EbUg\\\\pMcLIaZnC_OeBwRYsA`Wge@r@_@bMoQxEmFjDmFjCwEGWvXk`@`aB}pAxl@wfBb@gA@IjXmx@lm@ap@hh@oWdJoYnAmBfJoW|BeMvHaV`PeYu@iIrA_EnG_IEqFnFyJ|^u`@jF{@rCu@xNv@nEiHhAuQOcSpAsKzDsJbQeV|BkIGwHqCmOo@aDsEeKuFkGgDoEgEkJ}BeIc@_BAMqAqP`\\\\asAh@_Ahg@un@rD{PlFyJfDkR`@}@ri@kUmDoPjAmKgFyTeGyQkA{DqCmOiAcHjEiQrCsIhZB|]aG@u_@lI_p@bUyEz@rB|BxGfA{O~AaOl@uU`AoCdSuIbc@D|]tWnm@jG|EgLlABbGoCm@wKvU_j@@oWfDex@dc@cOtSwg@vSq_@eIqhA@yg@zX_GpSrWnm@aOdc@iWz]jx@tr@k_@xXBfc@k_@|XihAiNk`ArNc`ArNq_@fe@NrBfCnF|ApHx@tB?dCkBrH{UtEgXtByJWwFi@wRQaOTeUReEWgHdFeItF}NfBoDtCmI`GmL`AqCz@gAzBkF|E{HfFmFjAqAw@}G]mSl@oVbAiWPo@lRmDlm@tOxT`NvDvDpL|FzM`I~CtAdTlDfKyCvMoQ`Is^bB_G~D{TpJq]`FaVdFi`@~CuXvDyNfGcD`F{DzCoFjEuN|@iNdDom@|JcdApIyx@hKv_@fNlhAxaAdyAbgArx@~Xso@kr@caBvm@{gAbc@J~Xso@Hs`BDug@oSex@aDmWDGnIzHxLhPnDaGPqOxEBnNaGnC\\\\rK|JrD`J|AvCh@lBbBsEuFiUjDaTp@kI`FkPtDmh@FmPnGfEfDzAjFnDlVnInDkGtBwInFwAp@eAvBgNv@iDd@iDfB}IdF\\\\bGhD~DpA{AvE}@|A_ArF^xIhCfHxIrNvBxJ|CxDrK~FnIyCvXb^nE~BrFqBg@c@QmKxDQzDpF~F`CxHcGjHqMr@u@~F{A|AUzDyCxGqHvByE~DtAtAzA|GlFzDpFzDzCnCi@rE{NpA{B~EyA`JGbNwXxGiKhI{J`NuGtKcG`EeAlO_MlxAdpDdjB_Hh_@{cA~FszDpd@ezAan@erAreBgaHe@m|@xh@wp@p@m`@rx@yH|d@}B~t@gQda@~Mx^uiBoo@{q@}k@o~Dk|@gfAnlBqqA^wi@rGaZvd@ql@cj@pYefApSaa@gKsMkm@bHml@aNmUfMkNec@al@iNhScP`qAg_@{eBeXeQF}eB{p@YwWd`Aum@n@wZlVuh@uD}h@cTuJiD}ByJ`Aqb@yBcLiPmIyKvKsD}@{EdQmEpc@eFfBsP{GsAcA}Cu@eN`Dae@_BuUqCwTiIkO}@yRcLe`@o[{LmFsWaI_RHkFRcRxDgSlLwXf`@eKtRaGtFod@}Ay@N}D}@sMuA{PwHw\\\\d@{XvKaFlBsDclAd^eg@hTmhBFo_@qXeh@kNuWfYs_AHyo@Hug@Do_@iIEgN{_@kSep@saAmaAaw@}iB_r@qyA_h@qh@cOhxAm^p_Amm@aHbTy_AmXox@ir@yh@w|@uX_^S_c@aPgw@qiAmS_`@m|@qaAsSsG_r@uqAyC{g@yHo`AxIa`Asw@wXe]saB\\\\gqBjlA|HlDo_@}b@iXeXaiAwg@gaAwvAaAyfA}y@sc@hw@{Ib`AspAisBxv@swMdYeg@fXzx@xg@dy@~XyVaR_kDPex@{Mw`Ahf@uhIld@s`CqfAkbAmw@ia@wC_h@muBcc@a^hFkMuiBazBglAkfBbD}aAkQarArm@s_Cwk@kzB{s@gg@qbBPcp@cHe_@gf@}DsPhQoSxYyRpLmXjLoUUuRbCcRo@q[sD{P_IsOmR{LgSiGuIwCwVcJqM{LsMoRwMkUeIyKyIqVWyOgDizAjdAwAnA}O|GgfA_Y{CuZcJw[{K}XyGyOqBuIgCcIaMoe@wX_z@oLss@mQu}@{@{FoJgj@_C}V_@}QRoQfAeNx@e[fBwWvAa[|CgYxF{OjJgVtYai@`FkGpDwHlT_^vHuO`JiWhFaHn@uEjDsF|K}V~Mi_@lMya@jJ{j@fFol@U}b@qEkx@{G_^sEge@}CcPoHws@mIsu@aQg`AiE_f@mEosAqGil@gFml@|A_L_UnB_T{BhA}FJwKoBkU}AuPOsEeEoWsBwRwHsi@qB_So@yDEeEsAqN_@aIiAoLcAyV{@}LoBuVg@uKyB_Xo@mNyDed@y@mNaGq`@}BcSmBmNqGgi@cDyTkEeMk@iHmOkm@qQgrAcUubAG_CaJir@{Fqj@sBw[{@y\\\\i@uXe@y]Rk_@RiI`D}d@fAeNvFii@`E{Y`AwK~Hw_@pHed@tD_N~Gu]vSgg@ha@km@`x@sRlk@g_@rCmId`@orArJeRpY_h@hReb@~Qo\\\\xRe`@tUkn@pQcZ|`@ek@x]og@jNu[zVq`@~d@{q@h_@sy@~Vqb@~d@w_AjI{T|ZugAbSegAhCgd@bMkmBb@iN@cTNk^c@wVqBeIyJiLyDiNkBqWyBiW}CsSgEw`@oAuNiAcIkFyYeF__@oBeLcFoW{B_\\\\_DaYgCcZkAu^YoLc@oGaA_Zu@yHsCeJaK{SeHeYkC_[Lu]p@cNzByObGqk@`Eue@hEqc@vC}_@zDwZvEyb@`FmZrHa`@xBgNjC}K`I{XpC{MlL__@vK{`@xK_ZbEmOjJkRvI_SnDuH|AaShHaMxE_GrI_M`JmQhCgHtG{OfI_NlT_\\\\`KeHhG{ChGk@nK~AdEfAnJ`CbI~CdDrBvJzI`CrC~KhLxDhGlEhGdDtGjAlE|@vMzBhGjGnJrC`CrHrNxGxKvClH`FbGdLnO~HrM`CbCtBnQfExRtCfGhIvGhIuLwBsOoBiDaA{@aGgHeEoEwKuRkDwJoQeWeKeUiLySeF{MgHmK{QkYkOiRgR}SeO{KwNuFqPr@gG`AwLbEeH_@kLdA_HxBeN|DuEvBya@dLoIzHyZ|PoQzFoXfNqIvEeZrLyw@hf@wQxOmUrOsUrLmTlQyTpO_Un[}FjLeUt^wUfYgJ|IoSpZ{RfUoRdZyF`IoQhZiEfG_ExGiN~S{H|M_OtQsLdQiGvGgRxOgSnOwFhHkGhGgNxPubA~pA}R|XaVn]iFlG_NlToHjKiGtHuHdIaI|KsUdZuRhU{VvXiBtCwT`YsO|TaQdRmMzOqMdR{DbGiMbO}F~H{J`PaDfCkVxZkHnHsMlPuNxSiLpSmG`J{LbOiC^yBpGuDrD_H~HsHzHsVxUoVvWwFlHaTxVqIrJyYb_@m\\\\x`@qPjRsd@nc@sNpLmTnWgPtQec@pm@o]pk@iOfSq_@b^oh@tj@kWh\\\\wc@zd@wh@|d@mg@dY}^dYwOzIqH~GsR~M{EpB{CjCa_@dRwO`L_OnH{XbRgQfHe`@hRi]zLyHhDyM~EweAte@il@v[w^tS}GfCeDfCaRdJsVbNw`@tUwQxHoH~EmYjNej@bRmVzGsTjF{OjG__@jJkJbDs]nJox@jMkNhAuI\\\\mL\\\\iDQsJhAeMv@wQSkJ]{J{@wIm@oKgCcPbCyNLgMcAuCh@{Q]cMkCcEQ_OaC}J}C}Bi@{KmGeLqEuKoF}JoH{EmFgC}BkEwFkMwKeLkPuE{KeEgQsBsSOyJoCmSiHPyEc@cLsFaWwQyH_JmGgEgJkM{AqD}HcNyFaLiEaK{@}DgCeHaGiR}@sFaCsL_CcL{A_QiE_b@q@gKkBkZWmVUeMHuHEcWSuIWiEu@_U`BuYRgHLec@K_Pc@uE?{DWmHLiKc@oHe@_QqCaVwA{DiCiRoCiMsFi\\\\oGm[_IeVkEsHoIjAyK|KoFdCuOjMkNzAkD`EmB|I{HnViCnH{HpLyA~DkAxGoGrU{@|NaDbRsDfPyG|GQ`GKz]oBpb@uF~]sDnO}CbUwA`QuBpEqAzDwGjQwCvPyClNyBrFmFdPaGrT_FlVsHbT}@vDaEjK}HjVmDxOuGta@Q|FkDh[kAhQqBjLKxNuB|OMlHeB`T_Cn]cBb]e@dVkBl[iFfS}ApQ}BzZmC|NmHf\\\\uIn\\\\aFxPmMh_@qQd]oC`HeMf`@wNt[iHtMyJrR_RrWgP~VwXfXmT~MiJnHqBd@qGlDmP|FsKnDwYdAyS{BuQiI}BCiRkUsGcR?oTzBq]qByR{Dq@iDrBeCxa@_EhZGzBgDjPiB`OaEdVcDhNiNld@eBfGkCbXEnCiFpQXfCmDo@a@hEeAfQu@pNeHfViK~EyBrFs@rA_CxJ_EfE}CtN_@bAm@~Ew@vCgAxGkCrK}@nFsBhKcA~Eo@fEwC`KuCxJ{E`DgC@sEnDy@tDoAnHB~J\\\\~EPxEr@|EtA`H`@tDl@bCnDjDx@bDw@dHqEvOyChOaEzKu@~AaC~IyDrKwErL}DtGgBnDsEnF_CvAmEQyFoMoD}EkEnBeAzE}D~IcErDsDlByCbFiExJ{CvDcCz@cFC{BrAaFbOAdL_BjG{@zEgChKuEjO}G~GuHvEmCpFeIbEeGzFgCdDcIdIaBhAiFxAoJ}BgCxCoCcAgGaFsGuK@uGf@i@nCuDEgJs@iBcBqHeBeEy@uFyE~AaMkFw@OcIbCcAt@aG|C{CrHFpL^pAl@vJE|Cf@z@~@`D|EfNdAxGYhEoBpKiE`LeC~DeDhHaChGuBtCcD`CqF`DyZ`MuFyCwD_G}CvAiAAs@e@sDoDw@c@wBt@kAjAqBlHuA|LuAvFu@lCcBzB_CrDgC~AgAd@aD~BiB\\\\yFnAuFpC{IjC_BaAmEhBwBX_FrBoASqEsAsD{DeAWyCd@wAzB{BlC{B|CaAf@sADkBt@cCEwBmAoFmBwByAkDcAyAaA}DsCiCaBmFaCoE|EaAvKoBrEgCvAs@JyDzAwDLaBh@iAnA{E|BgF|C{@`EuBxGg@xETjGGhEU~FiAlDgAI_FkC{B[yE_BqBl@qGD}Gr@iMpKmFdC{ElFqCbF_GpGwCnEeCtAwErHaDrFkBzBq@vEiCzIy@bCuBvAqIHyBSsF{@_C`A}NxE{D|AkJxC}GnDuKnIgIlKcDzAkBbBaGjEeG|FkCxAeEzDcJjHyEjF{BTiKtGkd@~ViI`HcRlNkP|OwGrIsAbF@rKNxEkBpCqHpOmOfXuHvNsJtIcM`J?jGlCvBfGrIrCpL{AfSArIiGvIcKn[e@hBy@`H}CxLiAvCkEdNm@rFcK`Y_MfR}JtGcHxHqJfGeKjCkI~A_EpE_SpCuNmC}JaIgDkFsEkIuCiHcF{IiGyLqIuDwYzAqI`OaEtMcFt[mDzIuLpK_InNoOhO}K`YuL~g@iExIaC|JeD|HmDpFaJdIeKfHcDdBmI|CsHhG_CrDoIjGyIdIgCfBiCrEwDxJoDvNwBpGkEdOo@fDw@`HcArHyBfNy@pIiClJeBvCuFlFqJfGw@l@mBrEIvDh@hEzBlDtAjFoBlKsCjKkCzKiBtQo@`JmAzLmBpGeBtDgAz@cD`FsClIVvF|CzGrEzHtAbKmAfR_BlK{D~UqAvBo@dEgBjN_BxNkAjNSfEi@lLw@fDUpKiBtQyIff@aHdv@}Nzj@iEzJsHvIeT~GsNgGiHpBsMrWsJfJaAtEyQzZsDhZWjPwCdRoFnS}JrK[jBuFxJmD~GoDlJ{FdAgAx@qGxKmDbEqC|Iy@dF{AdEsCxNi@|M`LjMlFtOhB|^|AbMlLh^v@zQHvUmE|VuQfQ_O]cRSwIlEeMnN_K|RqHt[cIr]iLfHuBZaNjQaIhXiCfCyJzDuHxKoDdQaDnWu@nZcAvQmBx_@a@tTf@pMThSCrIiCb\\\\eLne@g@dGv@vViD~VuFjKqGrO{CbGiDnWiClKuC`U`@zDrOeHxJwYdRsHrGlHfd@jc@vT_JbIv@iFjXzNzPzFxX~HfNr~@nIb|@dk@tPl\\\\|Eje@vIpSjWjGrLzNrDpAbWb@|LpHzIkU`Fw@~Ytw@vc@n`B~Frf@bDlu@o@xMnCrOrBlb@tI`o@`@pF|@x`@kAbp@aM~^}h@vk@o_@hr@sNbv@iPrs@jYbfAzFfhC}e@|y@yp@vj@gBbTjLlt@bQxuAfEr[~MrS|TyCnOsZnZ}`AxZod@dYwj@pa@qfA~Yih@nQm]b[cDlKt\\\\b]h|Ahf@fhAleAhIfJZZb@tvAjIzfAxr@xr@{VjX`z@pHncBhx@q`Anw@ta@LI~@rAjEGr]eb@b[yVplA}Mj]xjA~qD~xBbJlJWpvAiGhd@uLiCqDtB}MgAuMsOqGpEq@YeAvBkEfCkTrZhBhEuCnFkMt_BOj@G|BqJplAiA~B{OtE_FNqz@vNmgAb[eBrAsCVoArCmKrHuLtb@~F|ItPva@@tn@n@h[vCr[`C~Lf@rRlExi@e@hWoRr~@kFbRrIjWvEvn@_MfJi[d^gR|`@}GjQgFlHcZzn@eKhV{\\\\nj@ib@|i@g^np@eHnQ_DvKcTxl@wWdq@_EhEoVh]sp@|`AoKzTwEdSuCfQmKbf@yIzv@aCpVWtBeX[Iny@oc@jaAom@rFuNrh@~Oz_A}BzKdIfd@vNdT|ArOYlTdAdp@nMlb@hHjAi@hFex@niAwr@v_@oh@rp@fN`i@lh@}_@`DdX~|@qFzCry@|Cry@bI|h@tXlXqDlgB|Cfq@}Xb`@bNxrAhNhq@`I~aAlSlq@oIjy@eYbcBEbq@vXv`@';\r\n\r\nexport const LOADING_MAP_TEXT = 'Checking your location...';\r\nexport const LOADING_TEXT = 'Loading...';\r\n\r\n// Attachments\r\nexport const ATTACHMENTS_CTA_DEFAULT_TEXT = 'Take or choose a photo';\r\nexport const ATTACHMENT_ERROR_UNKNOWN = 'Upload error';\r\nexport const ATTACHMENT_ERROR_TOO_BIG = 'File too big';\r\nexport const ATTACHMENT_ERROR_UPLOAD_LIMIT = 'Upload limit reached';\r\nexport const ATTACHMENT_ERROR_FILE_TYPE = 'File type not supported';\r\nexport const ATTACHMENT_MAX_FILE_SIZE = 20971520;\r\nexport const ATTACHMENT_POLICY_ID = '40806306-FC58-4644-A456-4421937C7BFD';\r\nexport const ATTACHMENTS_PRELOADER_DEFAULT_MESSAGE = 'Uploading';\r\nexport const ATTACHMENT_VIDEO_TOTAL_LIMIT = 3;\r\nexport const ATTACHMENT_IMAGE_TOTAL_LIMIT = 10;\r\n\r\n// Page questions\r\nexport const WASTE_BOUNDARY_ESCAPE_LOCATION_QUESTION = 'Where is the water going?';\r\n\r\n// Sentiment\r\nexport const SentimentReportOutcome = 'SentimentReportOutcome';\r\nexport const SentimentReportOutcome2ndLevel = 'SentimentReportOutcome2ndLevel';\r\nexport const SentimentCustomerUsedComplaintWording = 'SentimentCustomerUsedComplaintWording';\r\nexport const SentimentLogComplaint = 'SentimentLogComplaint';\r\n\r\nexport const SentimentReportOutcome_Option_Satisfied = 'Confirmed at end customer satisfied';\r\nexport const SentimentReportOutcome_Option_Dissatisfied = 'Confirmed at end customer dissatisfied';\r\nexport const SentimentReportOutcome_Option_Satisfied_Deemed = 'Not confirmed but deemed satisfied';\r\nexport const SentimentReportOutcome_Option_Dissatisfied_Deemed = 'Not confirmed but deemed dissatisfied';\r\nexport const SentimentReportOutcome_Option_Escalation = 'Escalation Required';\r\n\r\nexport const SentimentReportOutcome2ndLevel_Satisfied_Options_NotSpecified = 'Not Specified';\r\nexport const SentimentReportOutcome2ndLevel_Satisfied_Options_Termination = 'Customer/System termination of contact';\r\nexport const SentimentReportOutcome2ndLevel_Satisfied_Options_NotExpressed = 'No dissatisfaction expressed';\r\nexport const SentimentReportOutcome2ndLevel_Satisfied_Options_ThirdParty = 'Third Party contact-unable to discuss';\r\nexport const SentimentReportOutcome2ndLevel_Satisfied_Options_Inappropriate = 'Question inappropriate';\r\n\r\nexport const SentimentReportOutcome2ndLevel_DisSatisfied_Options_NotSpecified = 'Not Specified';\r\nexport const SentimentReportOutcome2ndLevel_DisSatisfied_Options_Termination = 'Customer/System termination of contact';\r\nexport const SentimentReportOutcome2ndLevel_DisSatisfied_Options_ThirdParty = 'Third Party contact-unable to discuss';\r\nexport const SentimentReportOutcome2ndLevel_DisSatisfied_Options_Inappropriate = 'Question inappropriate';\r\nexport const SentimentReportOutcome2ndLevel_DisSatisfied_Options_NotExpressed = 'Unable to resolve dissatisfaction';\r\n\r\nexport const Option_Yes = 'Yes';\r\nexport const Option_No = 'No';\r\nexport const Option_NA = 'N/A';\r\n\r\nexport const SentimentReportOutcome_Options = [\r\n SentimentReportOutcome_Option_Satisfied,\r\n SentimentReportOutcome_Option_Dissatisfied,\r\n SentimentReportOutcome_Option_Satisfied_Deemed,\r\n SentimentReportOutcome_Option_Dissatisfied_Deemed,\r\n SentimentReportOutcome_Option_Escalation,\r\n];\r\nexport const SentimentReportOutcome2ndLevel_Satisfied_Options = [\r\n SentimentReportOutcome2ndLevel_Satisfied_Options_NotSpecified,\r\n SentimentReportOutcome2ndLevel_Satisfied_Options_Termination,\r\n SentimentReportOutcome2ndLevel_Satisfied_Options_NotExpressed,\r\n SentimentReportOutcome2ndLevel_Satisfied_Options_ThirdParty,\r\n SentimentReportOutcome2ndLevel_Satisfied_Options_Inappropriate,\r\n];\r\nexport const SentimentReportOutcome2ndLevel_DisSatisfied_Options = [\r\n SentimentReportOutcome2ndLevel_DisSatisfied_Options_NotSpecified,\r\n SentimentReportOutcome2ndLevel_DisSatisfied_Options_Termination,\r\n SentimentReportOutcome2ndLevel_DisSatisfied_Options_ThirdParty,\r\n SentimentReportOutcome2ndLevel_DisSatisfied_Options_Inappropriate,\r\n SentimentReportOutcome2ndLevel_DisSatisfied_Options_NotExpressed,\r\n];\r\nexport const SentimentCustomerUsedComplaintWording_Options = [Option_Yes, Option_No];\r\nexport const SentimentLogComplaint_Options = [Option_Yes, Option_No];\r\n\r\n// Validation\r\n// eslint-disable-next-line\r\nexport const VALIDATION_TELEPHONE_REGEX =\r\n '^s*((0044[ ]?|0)[ ]?20[ ]?[7,8]{1}?[ ]?[1-9]{1}[0-9]{2}[ ]?[0-9]{4})|((0044[ ]?|0[1-8]{1})[0-9]{1,2}[ ]?[1-9]{1}[0-9]{2}[ ]?([0-9]{6}|[0-9]{5}|[0-9]{4}))|(0[1-8]{1}[0-9]{3}[ ]?[1-9]{1}[0-9]{2}[ ]?[0-9]{2,3})|(0800[ ]?([1-9]{3}[ ]?[1-9]{4}|[1-9]{6}|[1-9]{4}))|(09[0-9]{1}[ ]?[0-9]{1}[ ]?([1-9]{4}|[1-9]{6}|[1-9]{3}[ ]?[1-9]{4}))s*$';\r\n\r\nexport const GUID_REGEX = /^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$/;\r\n\r\n// eslint-disable-next-line\r\nexport const VALIDATION_EMAIL = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n\r\nexport const WI_TEXT_CHAR_COUNT = 60;\r\nexport const ADDITIONAL_COMMENTS_CHAR_COUNT = '1000';\r\n\r\n// Lookups\r\nexport const STEP_ADDRESS_LOOKUP = 'addresses';\r\nexport const STEP_CALLBACK_LOOKUP = 'callbacks';\r\nexport const STEP_MAP_SEARCH_LOOKUP = 'mapSearch';\r\nexport const STEP_MAP_LOCATION_LOOKUP = 'map';\r\nexport const STEP_INCIDENTS_LOOKUP = 'incidents';\r\nexport const STEP_SUBMISSION_LOOKUP = 'submission';\r\nexport const STEP_WORKING_HOURS_LOOKUP = 'workingHours';\r\nexport const STEP_ACCESS_HOURS_LOOKUP = 'accessHours';\r\nexport const STEP_NOWATER_ENABLED_LOOKUP = 'noWaterEnabled';\r\n\r\n// Location Methods\r\nexport const LOCATION_METHOD_MANUAL = 'MANUAL_ADDRESS';\r\nexport const LOCATION_METHOD_MAP_SEARCH = 'MAP_SEARCH';\r\nexport const LOCATION_METHOD_CURRENT_LOCATION = 'CURRENT_LOCATION';\r\nexport const LOCATION_METHOD_ADDRESS_LOOKUP = 'ADDRESS_LOOKUP';\r\n\r\n// summary sentence templates\r\nexport const SUMMARY_PROPOSITION_TEMPLATE = '%s';\r\nexport const SUMMARY_FROM_TEMPLATE = ' from %s';\r\nexport const SUMMARY_CLEAN_SEVERITY_TEMPLATE = ' and water is %s';\r\nexport const SUMMARY_WASTE_SEVERITY_TEMPLATE = ` You told us the problem is %s`;\r\n\r\n// Common options\r\nexport const YES = 'YES';\r\nexport const NO = 'NO';\r\nexport const UNSURE = 'UNSURE';\r\nexport const BOTH = 'BOTH';\r\nexport const ONCE = 'ONCE';\r\nexport const MANY = 'MANY';\r\nexport const NONE = 'NONE';\r\nexport const OTHER = 'OTHER';\r\nexport const CONSTANT = 'CONSTANT';\r\nexport const INTERMITTENT = 'INTERMITTENT';\r\nexport const WASTE = 'WASTE';\r\nexport const CLEAN = 'CLEAN';\r\nexport const DIFFERENT = 'DIFFERENT';\r\nexport const SAME = 'SAME';\r\n\r\n// Location types\r\nexport const INTERNAL = 'INTERNAL';\r\nexport const EXTERNAL = 'EXTERNAL';\r\nexport const PUBLIC = 'PUBLIC';\r\n\r\n// Location\r\nexport const INSIDE = 'INSIDE';\r\nexport const OUTSIDE = 'OUTSIDE';\r\nexport const INSIDE_OUTSIDE = 'INSIDE_OUTSIDE';\r\n\r\nexport const NO_WATER = 'NO_WATER';\r\nexport const PRESSURE = 'PRESSURE';\r\nexport const HIGH_PRESSURE = 'HIGH_PRESSURE';\r\nexport const LOW_PRESSURE = 'LOW_PRESSURE';\r\nexport const POOR_QUALITY = 'POOR_QUALITY';\r\n\r\n// Supply\r\nexport const FIRST_FEED = 'FIRST_FEED';\r\nexport const NOT_FIRST_FEED = 'NOT_FIRST_FEED';\r\nexport const HOT_ONLY = 'HOT_ONLY';\r\nexport const HOT_COLD = 'HOT_COLD';\r\n\r\n// Risk\r\nexport const ACCIDENT = 'ACCIDENT';\r\nexport const ACCESS = 'ACCESS';\r\nexport const PROPERTY_DAMAGE = 'PROPERTY_DAMAGE';\r\n\r\n// Status\r\nexport const WORSENING = 'WORSENING';\r\nexport const CLEAR = 'CLEAR';\r\nexport const BLOCKED = 'BLOCKED';\r\nexport const GUSHING = 'GUSHING';\r\nexport const FAST_DRIP = 'FAST_DRIP';\r\nexport const SLOW_DRIP = 'SLOW_DRIP';\r\nexport const STEADY_FLOW = 'STEADY_FLOW';\r\nexport const TRICKLING = 'TRICKLING';\r\nexport const RUNNING_QUICKLY = 'RUNNING_QUICKLY';\r\n\r\n//Misc\r\nexport const SINGLE = 'SINGLE';\r\nexport const MULTIPLE = 'MULTIPLE';\r\nexport const WATER_SUPPLY = 'WATER_SUPPLY';\r\nexport const LEAK_OR_FLOOD = 'LEAK_OR_FLOOD';\r\nexport const DAMAGED_COVER = 'DAMAGED_COVER';\r\nexport const SLOW_DRAINAGE = 'SLOW_DRAINAGE';\r\nexport const METER = 'METER';\r\nexport const PIPE_MEETS_METER = 'PIPE_MEETS_METER';\r\nexport const STOPTAP = 'STOPTAP';\r\nexport const ABOVE_GROUND_STOP_TAP = 'ABOVE_GROUND_STOP_TAP';\r\nexport const OVERFLOW_PIPE = 'OVERFLOW_PIPE';\r\nexport const SHOWER_TOILET_SINK = 'SHOWER_TOILET_SINK';\r\nexport const PLUMBING = 'PLUMBING';\r\nexport const NEIGHBOUR = 'NEIGHBOUR';\r\nexport const ESCAPE = 'ESCAPE';\r\nexport const ALL_DRAINS = 'ALL_DRAINS';\r\nexport const COVER = 'COVER';\r\nexport const GROUND = 'GROUND';\r\nexport const ODOUR = 'ODOUR';\r\nexport const DRAIN = 'DRAIN';\r\nexport const HOUSE = 'HOUSE';\r\nexport const TOILET = 'TOILET';\r\nexport const POLLUTION = 'POLLUTION';\r\nexport const SINK = 'SINK';\r\nexport const SHOWER = 'SHOWER';\r\nexport const BATH = 'BATH';\r\nexport const BATHROOM = 'BATHROOM';\r\nexport const KITCHEN = 'KITCHEN';\r\nexport const WHOLE_PROPERTY = 'WHOLE_PROPERTY';\r\nexport const GROUND_FLOOR = 'GROUND_FLOOR';\r\nexport const UPSTAIRS = 'UPSTAIRS';\r\nexport const MULTIPLE_ROOMS = 'MULTIPLE_ROOMS';\r\nexport const ONE_ROOM = 'ONE_ROOM';\r\nexport const CELLAR = 'CELLAR';\r\nexport const GARAGE = 'GARAGE';\r\nexport const FLOOR = 'FLOOR';\r\nexport const CHUTE = 'CHUTE';\r\nexport const AIRBRICK = 'AIRBRICK';\r\nexport const PIPE = 'PIPE';\r\nexport const EVERYWHERE = 'EVERYWHERE';\r\nexport const ROOM = 'ROOM';\r\nexport const OWNER = 'OWNER';\r\nexport const PRIVATE = 'PRIVATE';\r\nexport const YORKSHIREWATER = 'YORKSHIREWATER';\r\nexport const SLUICE_VALVE = 'SLUICE_VALVE';\r\nexport const GRATE = 'GRATE';\r\nexport const MANHOLE = 'MANHOLE';\r\nexport const SQUARE = 'SQUARE';\r\nexport const TRIANGLE = 'TRIANGLE';\r\nexport const GULLY = 'GULLY';\r\nexport const POOLING = 'POOLING';\r\nexport const DAMP = 'DAMP';\r\nexport const SMALL = 'SMALL';\r\nexport const MEDIUM = 'MEDIUM';\r\nexport const LARGE = 'LARGE';\r\nexport const WATERCOURSE = 'WATERCOURSE';\r\nexport const TOWARDS_WATERCOURSE = 'TOWARDS_WATERCOURSE';\r\nexport const PROPERTY = 'PROPERTY';\r\nexport const OUTBUILDING = 'OUTBUILDING';\r\nexport const GARDEN = 'GARDEN';\r\nexport const APPLIANCE = 'APPLIANCE';\r\nexport const UNDER_KITCHEN_SINK = 'UNDER_KITCHEN_SINK';\r\nexport const GAS = 'GAS';\r\nexport const CHEMICAL = 'CHEMICAL';\r\nexport const FARM = 'FARM';\r\nexport const MULTIPLE_TOILETS = 'MULTIPLE_TOILETS';\r\nexport const DOWNSTAIRS_TOILET = 'DOWNSTAIRS_TOILET';\r\nexport const DOWNSTAIRS_BATH = 'DOWNSTAIRS_BATH';\r\nexport const DOWNSTAIRS_FACILITIES = 'DOWNSTAIRS_FACILITIES';\r\nexport const UPSTAIRS_TOILET = 'UPSTAIRS_TOILET';\r\nexport const UPSTAIRS_BATH = 'UPSTAIRS_BATH';\r\nexport const UPSTAIRS_FACILITIES = 'UPSTAIRS_FACILITIES';\r\n\r\nexport const BLOCK_QUESTION_TYPES = [\r\n 'addresses',\r\n 'checkbox',\r\n 'days',\r\n 'fileUpload',\r\n 'hidden',\r\n 'mapSearch',\r\n 'question',\r\n 'radio',\r\n 'slots',\r\n 'text',\r\n 'textarea',\r\n 'mapResult',\r\n 'placesResults',\r\n 'TermsAndConditions',\r\n 'prioritisedCheckbox',\r\n];\r\n\r\nexport const GA_FORM_START = 'form_start';\r\nexport const GA_FORM_SUBMIT = 'form_submit';\r\nexport const GA_FORM_STEP = 'form_step';\r\nexport const GA_SUCCESS = 'success';\r\nexport const GA_FAILURE = 'failure';\r\nexport const GA_FORM_ID = 'rap';\r\n\r\nexport const journeyMapping = {\r\n // Clean Journeys\r\n 'initial-location': {\r\n stepKey: 'CAA',\r\n answers: [\r\n {\r\n value: INTERNAL,\r\n key: 1,\r\n },\r\n {\r\n value: EXTERNAL,\r\n key: 2,\r\n },\r\n {\r\n value: PUBLIC,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'water-origin': {\r\n stepKey: 'CAB',\r\n answers: [\r\n {\r\n value: COVER,\r\n key: 1,\r\n },\r\n {\r\n value: OVERFLOW_PIPE,\r\n key: 2,\r\n },\r\n {\r\n value: METER,\r\n key: 3,\r\n },\r\n {\r\n value: GROUND,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'water-origin-public': {\r\n stepKey: 'CBV',\r\n answers: [\r\n {\r\n value: COVER,\r\n key: 1,\r\n },\r\n {\r\n value: GROUND,\r\n key: 2,\r\n },\r\n {\r\n value: ABOVE_GROUND_STOP_TAP,\r\n key: 3,\r\n },\r\n {\r\n value: OTHER,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'cover-type': {\r\n stepKey: 'CBW',\r\n answers: [\r\n {\r\n value: TRIANGLE,\r\n key: 1,\r\n },\r\n {\r\n value: SQUARE,\r\n key: 2,\r\n },\r\n {\r\n value: SLUICE_VALVE,\r\n key: 3,\r\n },\r\n {\r\n value: STOPTAP,\r\n key: 4,\r\n },\r\n {\r\n value: METER,\r\n key: 5,\r\n },\r\n {\r\n value: OTHER,\r\n key: 6,\r\n },\r\n ],\r\n },\r\n 'clean-severity': {\r\n stepKey: 'SAN',\r\n answers: [\r\n {\r\n value: GUSHING,\r\n key: 1,\r\n },\r\n {\r\n value: TRICKLING,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'water-type': {\r\n stepKey: 'SAP',\r\n answers: [\r\n {\r\n value: CLEAN,\r\n key: 1,\r\n },\r\n {\r\n value: WASTE,\r\n key: 2,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'waste-risk': {\r\n stepKey: 'SAL',\r\n answers: [\r\n {\r\n value: PROPERTY_DAMAGE,\r\n key: 1,\r\n },\r\n {\r\n value: ACCESS,\r\n key: 2,\r\n },\r\n {\r\n value: BOTH,\r\n key: 3,\r\n },\r\n {\r\n value: NONE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-severity': {\r\n stepKey: 'SAM',\r\n answers: [\r\n {\r\n value: DAMP,\r\n key: 1,\r\n },\r\n {\r\n value: SMALL,\r\n key: 2,\r\n },\r\n {\r\n value: MEDIUM,\r\n key: 3,\r\n },\r\n {\r\n value: LARGE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'clean-risk': {\r\n stepKey: 'SAO',\r\n answers: [\r\n {\r\n value: PROPERTY_DAMAGE,\r\n key: 1,\r\n },\r\n {\r\n value: ACCIDENT,\r\n key: 2,\r\n },\r\n {\r\n value: BOTH,\r\n key: 3,\r\n },\r\n {\r\n value: NONE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'rainfall-affected': {\r\n stepKey: 'SAQ',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'flow-constant': {\r\n stepKey: 'SAR',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'water-smell': {\r\n stepKey: 'SAT',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'water-origin-private': {\r\n stepKey: 'CEF',\r\n answers: [\r\n {\r\n value: METER,\r\n key: 1,\r\n },\r\n {\r\n value: PLUMBING,\r\n key: 2,\r\n },\r\n {\r\n value: OTHER,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'clean-meter-internal': {\r\n stepKey: 'SAA',\r\n answers: [\r\n {\r\n value: METER,\r\n key: 1,\r\n },\r\n {\r\n value: PIPE_MEETS_METER,\r\n key: 2,\r\n },\r\n {\r\n value: STOPTAP,\r\n key: 3,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'clean-conden-confirm': {\r\n stepKey: 'SAB',\r\n answers: [\r\n {\r\n value: NO,\r\n key: 1,\r\n },\r\n {\r\n value: YES,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'clean-meter-severity-int': {\r\n stepKey: 'SAC',\r\n answers: [\r\n {\r\n value: SLOW_DRIP,\r\n key: 1,\r\n },\r\n {\r\n value: FAST_DRIP,\r\n key: 2,\r\n },\r\n {\r\n value: STEADY_FLOW,\r\n key: 3,\r\n },\r\n {\r\n value: GUSHING,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'clean-meter-risk-int': {\r\n stepKey: 'SAD',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'clean-eligibility-boundary': {\r\n stepKey: 'SNY',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'clean-access-supply': {\r\n stepKey: 'SAH',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'clean-meter-leaking': {\r\n stepKey: 'CAL',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'clean-meter-location': {\r\n stepKey: 'CAJ',\r\n answers: [\r\n {\r\n value: INSIDE,\r\n key: 1,\r\n },\r\n {\r\n value: OUTSIDE,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'clean-meter-severity-ext': {\r\n stepKey: 'CAQ',\r\n answers: [\r\n {\r\n value: PROPERTY_DAMAGE,\r\n key: 1,\r\n },\r\n {\r\n value: WORSENING,\r\n key: 2,\r\n },\r\n {\r\n value: BOTH,\r\n key: 3,\r\n },\r\n {\r\n value: NONE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'clean-cover-boundary': {\r\n stepKey: 'CAS',\r\n answers: [\r\n {\r\n value: GRATE,\r\n key: 1,\r\n },\r\n {\r\n value: SQUARE,\r\n key: 2,\r\n },\r\n {\r\n value: SLUICE_VALVE,\r\n key: 3,\r\n },\r\n {\r\n value: STOPTAP,\r\n key: 4,\r\n },\r\n {\r\n value: METER,\r\n key: 5,\r\n },\r\n {\r\n value: OTHER,\r\n key: 6,\r\n },\r\n ],\r\n },\r\n 'external-waste-risk': {\r\n stepKey: 'SAF',\r\n answers: [\r\n {\r\n value: PROPERTY_DAMAGE,\r\n key: 1,\r\n },\r\n {\r\n value: ACCESS,\r\n key: 2,\r\n },\r\n {\r\n value: BOTH,\r\n key: 3,\r\n },\r\n {\r\n value: NONE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'clean-cover-severity': {\r\n stepKey: 'SAJ',\r\n answers: [\r\n {\r\n value: GUSHING,\r\n key: 1,\r\n },\r\n {\r\n value: TRICKLING,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'external-water-type': {\r\n stepKey: 'CAZ',\r\n answers: [\r\n {\r\n value: CLEAN,\r\n key: 1,\r\n },\r\n {\r\n value: WASTE,\r\n key: 2,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'external-waste-severity': {\r\n stepKey: 'SAG',\r\n answers: [\r\n {\r\n value: DAMP,\r\n key: 1,\r\n },\r\n {\r\n value: SMALL,\r\n key: 2,\r\n },\r\n {\r\n value: MEDIUM,\r\n key: 3,\r\n },\r\n {\r\n value: LARGE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'clean-cover-risk': {\r\n stepKey: 'SAK',\r\n answers: [\r\n {\r\n value: PROPERTY_DAMAGE,\r\n key: 1,\r\n },\r\n {\r\n value: ACCIDENT,\r\n key: 2,\r\n },\r\n {\r\n value: BOTH,\r\n key: 3,\r\n },\r\n {\r\n value: NONE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'external-rainfall-affected': {\r\n stepKey: 'CBG',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'external-flow-constant': {\r\n stepKey: 'CBK',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'external-water-smell': {\r\n stepKey: 'CBO',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n\r\n // Waste Journeys\r\n 'initial-location-waste': {\r\n stepKey: 'WAA',\r\n answers: [\r\n {\r\n value: INTERNAL,\r\n key: 1,\r\n },\r\n {\r\n value: EXTERNAL,\r\n key: 2,\r\n },\r\n {\r\n value: PUBLIC,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'waste-origin-internal': {\r\n stepKey: 'WBX',\r\n answers: [\r\n {\r\n value: HOUSE,\r\n key: 1,\r\n },\r\n {\r\n value: ODOUR,\r\n key: 2,\r\n },\r\n {\r\n value: BATHROOM,\r\n key: 3,\r\n },\r\n {\r\n value: KITCHEN,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-timed-access-today': {\r\n stepKey: 'WAO',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-timed-access-tomorrow': {\r\n stepKey: 'WAW',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-internal-freq': {\r\n stepKey: 'WIF',\r\n answers: [\r\n {\r\n value: CONSTANT,\r\n key: 1,\r\n },\r\n {\r\n value: INTERMITTENT,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-internal-same': {\r\n stepKey: 'SIS',\r\n answers: [\r\n {\r\n value: DIFFERENT,\r\n key: 1,\r\n },\r\n {\r\n value: SAME,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-internal-extdrain': {\r\n stepKey: 'SIE',\r\n answers: [\r\n {\r\n value: CLEAR,\r\n key: 1,\r\n },\r\n {\r\n value: BLOCKED,\r\n key: 2,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'waste-internal-source': {\r\n stepKey: 'WIS',\r\n answers: [\r\n {\r\n value: PIPE,\r\n key: 1,\r\n },\r\n {\r\n value: CHUTE,\r\n key: 2,\r\n },\r\n {\r\n value: AIRBRICK,\r\n key: 3,\r\n },\r\n {\r\n value: OTHER,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-internal-toilet': {\r\n stepKey: 'WIT',\r\n answers: [\r\n {\r\n value: ONCE,\r\n key: 1,\r\n },\r\n {\r\n value: NONE,\r\n key: 2,\r\n },\r\n {\r\n value: MANY,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'waste-internal-area': {\r\n stepKey: 'WIA',\r\n answers: [\r\n {\r\n value: GROUND_FLOOR,\r\n key: 1,\r\n },\r\n {\r\n value: GARAGE,\r\n key: 2,\r\n },\r\n {\r\n value: CELLAR,\r\n key: 3,\r\n },\r\n {\r\n value: UPSTAIRS,\r\n key: 4,\r\n },\r\n {\r\n value: OTHER,\r\n key: 5,\r\n },\r\n ],\r\n },\r\n 'waste-internal-sink': {\r\n stepKey: 'WIK',\r\n answers: [\r\n {\r\n value: CLEAR,\r\n key: 1,\r\n },\r\n {\r\n value: BLOCKED,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-internal-fclty1': {\r\n stepKey: 'WIL',\r\n answers: [\r\n {\r\n value: UPSTAIRS_TOILET,\r\n key: 1,\r\n },\r\n {\r\n value: UPSTAIRS_BATH,\r\n key: 2,\r\n },\r\n {\r\n value: MULTIPLE_TOILETS,\r\n key: 3,\r\n },\r\n {\r\n value: DOWNSTAIRS_TOILET,\r\n key: 4,\r\n },\r\n {\r\n value: DOWNSTAIRS_BATH,\r\n key: 5,\r\n },\r\n {\r\n value: DOWNSTAIRS_FACILITIES,\r\n key: 6,\r\n },\r\n {\r\n value: UPSTAIRS_FACILITIES,\r\n key: 7,\r\n },\r\n ],\r\n },\r\n 'waste-internal-extother': {\r\n stepKey: 'SIO',\r\n answers: [\r\n {\r\n value: GRATE,\r\n key: 1,\r\n },\r\n {\r\n value: MANHOLE,\r\n key: 2,\r\n },\r\n {\r\n value: ODOUR,\r\n key: 3,\r\n },\r\n {\r\n value: NO,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-internal-entry': {\r\n stepKey: 'WIE',\r\n answers: [\r\n {\r\n value: TOILET,\r\n key: 1,\r\n },\r\n {\r\n value: APPLIANCE,\r\n key: 2,\r\n },\r\n {\r\n value: SINK,\r\n key: 3,\r\n },\r\n {\r\n value: FLOOR,\r\n key: 4,\r\n },\r\n {\r\n value: CELLAR,\r\n key: 5,\r\n },\r\n ],\r\n },\r\n 'waste-internal-other': {\r\n stepKey: 'WIO',\r\n answers: [\r\n { value: NONE, key: 1 },\r\n { value: SLOW_DRAINAGE, key: 2 },\r\n { value: BLOCKED, key: 2 },\r\n { value: MANHOLE, key: 2 },\r\n { value: ODOUR, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${BLOCKED}`, key: 2 },\r\n { value: `${BLOCKED},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${MANHOLE}`, key: 2 },\r\n { value: `${MANHOLE},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${ODOUR}`, key: 2 },\r\n { value: `${ODOUR},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${BLOCKED},${MANHOLE}`, key: 2 },\r\n { value: `${MANHOLE},${BLOCKED}`, key: 2 },\r\n { value: `${BLOCKED},${ODOUR}`, key: 2 },\r\n { value: `${ODOUR},${BLOCKED}`, key: 2 },\r\n { value: `${MANHOLE},${ODOUR}`, key: 2 },\r\n { value: `${ODOUR},${MANHOLE}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${BLOCKED},${MANHOLE}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${MANHOLE},${BLOCKED}`, key: 2 },\r\n { value: `${BLOCKED},${SLOW_DRAINAGE},${MANHOLE}`, key: 2 },\r\n { value: `${BLOCKED},${MANHOLE},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${MANHOLE},${SLOW_DRAINAGE},${BLOCKED}`, key: 2 },\r\n { value: `${MANHOLE},${BLOCKED},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${BLOCKED},${ODOUR}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${ODOUR},${BLOCKED}`, key: 2 },\r\n { value: `${BLOCKED},${SLOW_DRAINAGE},${ODOUR}`, key: 2 },\r\n { value: `${BLOCKED},${ODOUR},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${ODOUR},${SLOW_DRAINAGE},${BLOCKED}`, key: 2 },\r\n { value: `${ODOUR},${BLOCKED},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${MANHOLE},${ODOUR}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${ODOUR},${MANHOLE}`, key: 2 },\r\n { value: `${MANHOLE},${SLOW_DRAINAGE},${ODOUR}`, key: 2 },\r\n { value: `${MANHOLE},${ODOUR},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${ODOUR},${SLOW_DRAINAGE},${MANHOLE}`, key: 2 },\r\n { value: `${ODOUR},${MANHOLE},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${BLOCKED},${MANHOLE},${ODOUR}`, key: 2 },\r\n { value: `${BLOCKED},${ODOUR},${MANHOLE}`, key: 2 },\r\n { value: `${MANHOLE},${BLOCKED},${ODOUR}`, key: 2 },\r\n { value: `${MANHOLE},${ODOUR},${BLOCKED}`, key: 2 },\r\n { value: `${ODOUR},${BLOCKED},${MANHOLE}`, key: 2 },\r\n { value: `${ODOUR},${MANHOLE},${BLOCKED}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${BLOCKED},${MANHOLE},${ODOUR}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${BLOCKED},${ODOUR},${MANHOLE}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${MANHOLE},${BLOCKED},${ODOUR}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${MANHOLE},${ODOUR},${BLOCKED}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${ODOUR},${BLOCKED},${MANHOLE}`, key: 2 },\r\n { value: `${SLOW_DRAINAGE},${ODOUR},${MANHOLE},${BLOCKED}`, key: 2 },\r\n { value: `${BLOCKED},${SLOW_DRAINAGE},${MANHOLE},${ODOUR}`, key: 2 },\r\n { value: `${BLOCKED},${SLOW_DRAINAGE},${ODOUR},${MANHOLE}`, key: 2 },\r\n { value: `${BLOCKED},${MANHOLE},${SLOW_DRAINAGE},${ODOUR}`, key: 2 },\r\n { value: `${BLOCKED},${MANHOLE},${ODOUR},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${BLOCKED},${ODOUR},${SLOW_DRAINAGE},${MANHOLE}`, key: 2 },\r\n { value: `${BLOCKED},${ODOUR},${MANHOLE},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${MANHOLE},${SLOW_DRAINAGE},${BLOCKED},${ODOUR}`, key: 2 },\r\n { value: `${MANHOLE},${SLOW_DRAINAGE},${ODOUR},${BLOCKED}`, key: 2 },\r\n { value: `${MANHOLE},${BLOCKED},${SLOW_DRAINAGE},${ODOUR}`, key: 2 },\r\n { value: `${MANHOLE},${BLOCKED},${ODOUR},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${MANHOLE},${ODOUR},${SLOW_DRAINAGE},${BLOCKED}`, key: 2 },\r\n { value: `${MANHOLE},${ODOUR},${BLOCKED},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${ODOUR},${SLOW_DRAINAGE},${BLOCKED},${MANHOLE}`, key: 2 },\r\n { value: `${ODOUR},${SLOW_DRAINAGE},${MANHOLE},${BLOCKED}`, key: 2 },\r\n { value: `${ODOUR},${BLOCKED},${SLOW_DRAINAGE},${MANHOLE}`, key: 2 },\r\n { value: `${ODOUR},${BLOCKED},${MANHOLE},${SLOW_DRAINAGE}`, key: 2 },\r\n { value: `${ODOUR},${MANHOLE},${SLOW_DRAINAGE},${BLOCKED}`, key: 2 },\r\n { value: `${ODOUR},${MANHOLE},${BLOCKED},${SLOW_DRAINAGE}`, key: 2 },\r\n ],\r\n },\r\n 'waste-internal-fclty2': {\r\n stepKey: 'WIC',\r\n answers: [\r\n { value: `${SINK}`, key: 1 },\r\n { value: `${SHOWER}`, key: 1 },\r\n { value: `${BATH}`, key: 1 },\r\n { value: `${SINK},${SHOWER}`, key: 2 },\r\n { value: `${SHOWER},${SINK}`, key: 2 },\r\n { value: `${SINK},${BATH}`, key: 2 },\r\n { value: `${BATH},${SINK}`, key: 2 },\r\n { value: `${SHOWER},${BATH}`, key: 2 },\r\n { value: `${BATH},${SHOWER}`, key: 2 },\r\n { value: `${SINK},${SHOWER},${BATH}`, key: 2 },\r\n { value: `${SINK},${BATH},${SHOWER}`, key: 2 },\r\n { value: `${SHOWER},${SINK},${BATH}`, key: 2 },\r\n { value: `${SHOWER},${BATH},${SINK}`, key: 2 },\r\n { value: `${BATH},${SINK},${SHOWER}`, key: 2 },\r\n { value: `${BATH},${SHOWER},${SINK}`, key: 2 },\r\n ],\r\n },\r\n 'waste-origin-boundary': {\r\n stepKey: 'WAC',\r\n answers: [\r\n {\r\n value: COVER,\r\n key: 1,\r\n },\r\n {\r\n value: GROUND,\r\n key: 2,\r\n },\r\n {\r\n value: ODOUR,\r\n key: 3,\r\n },\r\n {\r\n value: DRAIN,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-cover-boundary': {\r\n stepKey: 'WAD',\r\n answers: [\r\n {\r\n value: GRATE,\r\n key: 1,\r\n },\r\n {\r\n value: SQUARE,\r\n key: 2,\r\n },\r\n {\r\n value: SLUICE_VALVE,\r\n key: 3,\r\n },\r\n {\r\n value: STOPTAP,\r\n key: 4,\r\n },\r\n {\r\n value: METER,\r\n key: 5,\r\n },\r\n {\r\n value: OTHER,\r\n key: 6,\r\n },\r\n ],\r\n },\r\n 'waste-boundary-severity': {\r\n stepKey: 'SAW',\r\n answers: [\r\n {\r\n value: DAMP,\r\n key: 1,\r\n },\r\n {\r\n value: SMALL,\r\n key: 2,\r\n },\r\n {\r\n value: MEDIUM,\r\n key: 3,\r\n },\r\n {\r\n value: LARGE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-boundary-access-supply': {\r\n stepKey: 'WAF',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'clean-boundary-access-supply': {\r\n stepKey: 'WAI',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'clean-boundary-severity': {\r\n stepKey: 'SAS',\r\n answers: [\r\n {\r\n value: GUSHING,\r\n key: 1,\r\n },\r\n {\r\n value: TRICKLING,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'clean-boundary-risk': {\r\n stepKey: 'SAU',\r\n answers: [\r\n {\r\n value: PROPERTY_DAMAGE,\r\n key: 1,\r\n },\r\n {\r\n value: ACCIDENT,\r\n key: 2,\r\n },\r\n {\r\n value: BOTH,\r\n key: 3,\r\n },\r\n {\r\n value: NONE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'boundary-water-type': {\r\n stepKey: 'WAJ',\r\n answers: [\r\n {\r\n value: CLEAN,\r\n key: 1,\r\n },\r\n {\r\n value: WASTE,\r\n key: 2,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'waste-boundary-risk': {\r\n stepKey: 'SAV',\r\n answers: [\r\n {\r\n value: PROPERTY_DAMAGE,\r\n key: 1,\r\n },\r\n {\r\n value: ACCESS,\r\n key: 2,\r\n },\r\n {\r\n value: BOTH,\r\n key: 3,\r\n },\r\n {\r\n value: NONE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'boundary-rainfall-affected': {\r\n stepKey: 'WAQ',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'boundary-flow-constant': {\r\n stepKey: 'WAU',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'boundary-water-smell': {\r\n stepKey: 'WAY',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-responsibility-boundary': {\r\n stepKey: 'SAX',\r\n answers: [\r\n {\r\n value: OWNER,\r\n key: 1,\r\n },\r\n {\r\n value: YORKSHIREWATER,\r\n key: 2,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'waste-boundary-escape': {\r\n stepKey: 'WBE',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-boundary-escape-internal': {\r\n stepKey: 'WBD',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-boundary-issues': {\r\n stepKey: 'WBI',\r\n answers: [\r\n {\r\n value: BLOCKED,\r\n key: 1,\r\n },\r\n {\r\n value: ODOUR,\r\n key: 2,\r\n },\r\n {\r\n value: BOTH,\r\n key: 3,\r\n },\r\n {\r\n value: NONE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-boundary-escape-property': {\r\n stepKey: 'WBP',\r\n answers: [\r\n {\r\n value: POOLING,\r\n key: 1,\r\n },\r\n {\r\n value: DAMP,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-boundary-escape-location': {\r\n stepKey: 'WEL',\r\n answers: [\r\n {\r\n value: WATERCOURSE,\r\n key: 1,\r\n },\r\n {\r\n value: TOWARDS_WATERCOURSE,\r\n key: 2,\r\n },\r\n {\r\n value: GULLY,\r\n key: 3,\r\n },\r\n {\r\n value: PROPERTY,\r\n key: 4,\r\n },\r\n {\r\n value: OUTBUILDING,\r\n key: 5,\r\n },\r\n {\r\n value: GARDEN,\r\n key: 6,\r\n },\r\n ],\r\n },\r\n 'waste-external-origin': {\r\n stepKey: 'WDQ',\r\n answers: [\r\n {\r\n value: GROUND,\r\n key: 1,\r\n },\r\n {\r\n value: ODOUR,\r\n key: 2,\r\n },\r\n {\r\n value: POLLUTION,\r\n key: 3,\r\n },\r\n {\r\n value: COVER,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'external-waste-water-type': {\r\n stepKey: 'WDR',\r\n answers: [\r\n {\r\n value: CLEAN,\r\n key: 1,\r\n },\r\n {\r\n value: WASTE,\r\n key: 2,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'waste-origin-pollution': {\r\n stepKey: 'WCP',\r\n answers: [\r\n {\r\n value: GRATE,\r\n key: 1,\r\n },\r\n {\r\n value: PRIVATE,\r\n key: 2,\r\n },\r\n {\r\n value: YORKSHIREWATER,\r\n key: 3,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-external-cover': {\r\n stepKey: 'WCQ',\r\n answers: [\r\n {\r\n value: GULLY,\r\n key: 1,\r\n },\r\n {\r\n value: SQUARE,\r\n key: 2,\r\n },\r\n {\r\n value: SLUICE_VALVE,\r\n key: 3,\r\n },\r\n {\r\n value: STOPTAP,\r\n key: 4,\r\n },\r\n {\r\n value: METER,\r\n key: 5,\r\n },\r\n {\r\n value: OTHER,\r\n key: 6,\r\n },\r\n ],\r\n },\r\n 'waste-external-cover-blocked': {\r\n stepKey: 'WCR',\r\n answers: [\r\n {\r\n value: BLOCKED,\r\n key: 1,\r\n },\r\n {\r\n value: GUSHING,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-odour-frequency': {\r\n stepKey: 'SOF',\r\n answers: [\r\n {\r\n value: CONSTANT,\r\n key: 1,\r\n },\r\n {\r\n value: INTERMITTENT,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-odour-source': {\r\n stepKey: 'WOS',\r\n answers: [\r\n {\r\n value: APPLIANCE,\r\n key: 1,\r\n },\r\n {\r\n value: SHOWER_TOILET_SINK,\r\n key: 2,\r\n },\r\n {\r\n value: UNDER_KITCHEN_SINK,\r\n key: 3,\r\n },\r\n {\r\n value: OTHER,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-odour-outside': {\r\n stepKey: 'WOO',\r\n answers: [\r\n {\r\n value: INSIDE,\r\n key: 1,\r\n },\r\n {\r\n value: INSIDE_OUTSIDE,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'waste-odour-type': {\r\n stepKey: 'STO',\r\n answers: [\r\n {\r\n value: GAS,\r\n key: 1,\r\n },\r\n {\r\n value: CHEMICAL,\r\n key: 2,\r\n },\r\n {\r\n value: FARM,\r\n key: 3,\r\n },\r\n {\r\n value: DRAIN,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-odour-other': {\r\n stepKey: 'SOO',\r\n answers: [\r\n {\r\n value: DRAIN,\r\n key: 1,\r\n },\r\n {\r\n value: BLOCKED,\r\n key: 2,\r\n },\r\n {\r\n value: BOTH,\r\n key: 3,\r\n },\r\n {\r\n value: NONE,\r\n key: 4,\r\n },\r\n ],\r\n },\r\n 'waste-odour-location': {\r\n stepKey: 'WOL',\r\n answers: [\r\n {\r\n value: UPSTAIRS,\r\n key: 1,\r\n },\r\n {\r\n value: MULTIPLE_ROOMS,\r\n key: 2,\r\n },\r\n {\r\n value: ONE_ROOM,\r\n key: 3,\r\n },\r\n {\r\n value: WHOLE_PROPERTY,\r\n key: 4,\r\n },\r\n {\r\n value: CELLAR,\r\n key: 5,\r\n },\r\n {\r\n value: GROUND_FLOOR,\r\n key: 6,\r\n },\r\n ],\r\n },\r\n 'nwlp-initial-problem': {\r\n stepKey: 'NAA',\r\n answers: [\r\n {\r\n value: PRESSURE,\r\n key: 1,\r\n },\r\n {\r\n value: NO_WATER,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'nwlp-notice-today': {\r\n stepKey: 'NNT',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'nwlp-pressure-problem': {\r\n stepKey: 'NPP',\r\n answers: [\r\n {\r\n value: HIGH_PRESSURE,\r\n key: 1,\r\n },\r\n {\r\n value: LOW_PRESSURE,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'nwlp-any-water': {\r\n stepKey: 'NAW',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'nwlp-property-type': {\r\n stepKey: 'NPT',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'nwlp-problem-neighbour': {\r\n stepKey: 'NPN',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'nwlp-problem-frequency': {\r\n stepKey: 'NPF',\r\n answers: [\r\n {\r\n value: CONSTANT,\r\n key: 1,\r\n },\r\n {\r\n value: INTERMITTENT,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'nwlp-pressure-supply': {\r\n stepKey: 'NPS',\r\n answers: [\r\n {\r\n value: NOT_FIRST_FEED,\r\n key: 1,\r\n },\r\n {\r\n value: HOT_ONLY,\r\n key: 2,\r\n },\r\n {\r\n value: HOT_COLD,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n 'nwlp-facilities-affected': {\r\n stepKey: 'NFA',\r\n answers: [\r\n {\r\n value: FIRST_FEED,\r\n key: 1,\r\n },\r\n {\r\n value: NOT_FIRST_FEED,\r\n key: 2,\r\n },\r\n ],\r\n },\r\n 'nwlp-stop-tap': {\r\n stepKey: 'NST',\r\n answers: [\r\n {\r\n value: YES,\r\n key: 1,\r\n },\r\n {\r\n value: NO,\r\n key: 2,\r\n },\r\n {\r\n value: UNSURE,\r\n key: 3,\r\n },\r\n ],\r\n },\r\n};\r\n"],"sourceRoot":""}