{"version":3,"sources":["services/ErrorMessages.ts","components/TextInput/TextInput.tsx","components/FormNavFooter/FormNavFooter.tsx","components/Button/Button.tsx","components/CheckboxInput/CheckboxInput.tsx","components/CheckboxInputGroup/CheckboxInputGroup.tsx","images/dropdown.svg","components/DropdownMenu/DropdownMenu.tsx","images/search.svg","components/IndividualForm/IndividualForm.tsx","components/OrganisationForm/OrganisationForm.tsx","components/Content/AlertContent/AddressFieldAlertContent.tsx","components/AddressField/AddressField.tsx","components/MultiTextInput/MultiTextInput.tsx","images/calendar.svg","components/DateInput/DateInput.tsx","images/phone.svg","components/ContactInput/ContactInput.tsx","webpack:///./src/images/done.svg?0c89","components/FormLoading/FormLoading.tsx","components/ProgressBar/ProgressBar.tsx","components/Modal/Modal.tsx","components/LicenceField/LicenceField.tsx","components/Alert/Alert.tsx","components/withTracker/withTracker.tsx","components/IdleTimer/IdleTimer.tsx","components/CompanyInformation/CompanyInformation.tsx","images/edit.svg","components/Summary/Summary.tsx","images/email.svg","components/EmailField/EmailField.tsx","components/ErrorPage/ErrorPage.tsx","components/Accordion/Accordion.tsx","images/Upload.svg","components/FilesUpload/FilesUpload.tsx","components/FilesUpload/FilesUploadAccessible.tsx","images/GoodUpload.svg","components/FileUploadGroup/FileUploadGroup.tsx","components/FileUploadGroup/FileUploadGroupAccessible.tsx","components/LimitedTextArea/LimitedTextArea.tsx","components/ExpandableRow/ExpandableRow.tsx","components/ExpandableTable/ExpandableTable.tsx","components/PayForm/PayForm.tsx","components/LimitedTextAreaLarge/LimitedTextAreaLarge.tsx","components/TileRadio/TileRadioAccessible.tsx","components/CheckboxInput/CheckboxInputAccessible.tsx","components/EmailField/EmailFieldAccessible.tsx","components/LicenceField/LicenceFieldAccessible.tsx","components/ContactInformation/ContactInformationAccessible.tsx","components/CheckboxInputGroup/CheckboxInputGroupAccessible.tsx","images/tickIcon.svg","components/TileRadio/TileRadioAccessibleWithInfo.tsx","components/Nomination/IndividualFormNominate/IndividualFormNominate.tsx","components/Nomination/CompanyFormNominate/CompanyFormNominate.tsx","components/ContactInput/ContactInputAccessible.tsx","components/Nomination/NominationAccordions/NominationAccordion.tsx","components/ExpandableTableAccessible/ExpandableRow.tsx","components/ExpandableTableAccessible/ExpandableTableAccessible.tsx","components/CompanyInformation/CompanyInformationAccessible.tsx","components/Modal/SimpleModal.tsx","components/InformationContainer/InformationContainer.tsx","components/Content/ModalContent/ReviewAddressModal.tsx","components/TileRadio/TileRadioAccessibleReview.tsx","components/Review/ReviewAccordions/ReviewAccordionFooter.tsx","components/ABNACNField/ABNACNField.tsx","components/Modal/SimpleModalWithoutTitle.tsx","components/AccordionWithContent/AccordionWithContent.tsx","components/Content/AlertContent/AddressFieldAlertContentAccessible.tsx","components/AddressField/AddressFieldAccessible.tsx","components/LimitedTextAreaLarge/LimitedTextAreaUpdatedChars.tsx","constants/enums.ts","constants/lists.ts","constants/dates.ts","pages/forms/Grid.module.scss","images/info.svg","api/ReferenceDataMock.ts","api/ReferenceData.ts","api/PartialForm.ts","pages/forms/VicFinesFormContext.tsx","pages/forms/review/Step6/Grounds/Step6Grounds.module.scss","components/AddressField/AddressField.module.scss","pages/forms/review/Step12/ReviewStep12.module.scss","images/issue.svg","pages/forms/familyviolencescheme/Step9/FVSStep9.module.scss","components/TileRadio/TileRadioAccessibleWithInfo.module.scss","components/TileRadio/TileRadioAccessibleReview.module.scss","pages/forms/extension/Step4/ExtensionStep4.module.scss","pages/forms/infringementextension/Step5/InfringementExtStep5.module.scss","pages/forms/instalment/Step5/InstalmentStep5.module.scss","pages/forms/review/Step11/ReviewStep11.module.scss","constants/forms.ts","services/ValidationRules.ts","services/PageValidationKeys.ts","services/ThirdPartyService.ts","utils/Helper.ts","components/Content/AlertContent/ErrorContent.tsx","pages/forms/thirdparty/TPErrorPage/TPErrorPage.tsx","pages/forms/thirdparty/TPStep1.tsx","pages/forms/thirdparty/TPStep2.tsx","pages/forms/thirdparty/TPStep3.tsx","services/FormFieldConfig.ts","pages/forms/thirdparty/TPStep4.tsx","pages/forms/thirdparty/TPStep5.tsx","pages/forms/thirdparty/TPStep6.tsx","components/Content/AlertContent/FormSubmissionSuccessAlertContent.tsx","images/done.svg","pages/forms/thirdparty/TPStep7.tsx","pages/forms/thirdparty/ThirdParty.tsx","services/CourtService.ts","pages/forms/court/CourtErrorPage/CourtErrorPage.tsx","images/clock.svg","pages/forms/court/Step0/CourtStep0.tsx","images/question.svg","images/refNo_mail.jpg","images/refNo-handwritten.jpg","images/refNo-plan.jpg","pages/forms/court/Step1/CourtStep1.tsx","pages/forms/court/Step2/CourtStep2.tsx","images/emailviewv2.png","images/mobileview.png","pages/forms/court/Step3/CourtStep3.tsx","components/Content/AlertContent/CourtStep4AlertContent.tsx","pages/forms/court/Step4/CourtStep4.tsx","pages/forms/court/Step5/CourtStep5.tsx","pages/forms/court/Step6/CourtStep6.tsx","pages/forms/court/Step7/CourtStep7.tsx","pages/forms/court/Step8/CourtStep8.tsx","pages/forms/court/Step9/CourtStep9.tsx","pages/forms/court/Step10/CourtStep10.tsx","pages/forms/court/Step11/CourtStep11.tsx","pages/forms/court/Step12/CourtStep12.tsx","pages/forms/court/Court.tsx","services/ExtensionService.ts","pages/forms/extension/ExtensionErrorPage/ExtensionErrorPage.tsx","pages/forms/extension/Step0/ExtensionStep0.tsx","pages/forms/extension/Step1/ExtensionStep1.tsx","pages/forms/extension/Step2/ExtensionStep2.tsx","pages/forms/extension/Step3/ExtensionStep3.tsx","pages/forms/extension/Step4/ExtensionStep4.tsx","pages/forms/extension/Step5/ExtensionStep5.tsx","pages/forms/extension/Step6/ExtensionStep6.tsx","pages/forms/extension/Step7/ExtensionStep7.tsx","pages/forms/extension/Step8/ExtensionStep8.tsx","pages/forms/extension/Step9/ExtensionStep9.tsx","pages/forms/extension/Step10/ExtensionStep10.tsx","pages/forms/extension/Step11/ExtensionStep11.tsx","pages/forms/extension/Step12/ExtensionStep12.tsx","pages/forms/extension/Step15/ExtensionStep15.tsx","pages/forms/extension/Step16/ExtensionStep16.tsx","pages/forms/extension/Extension.tsx","services/FVSService.ts","pages/forms/familyviolencescheme/FVSErrorPage/FVSErrorPage.tsx","pages/forms/familyviolencescheme/Step0/FVSStep0.tsx","pages/forms/familyviolencescheme/Step1/FVSStep1.tsx","pages/forms/familyviolencescheme/Step2/FVSStep2.tsx","components/Content/AlertContent/FVSStep3AlertContent3.tsx","components/Content/AlertContent/FVSStep3AlertContent4.tsx","pages/forms/familyviolencescheme/Step3/FVSStep3.tsx","pages/forms/familyviolencescheme/Step4/FVSStep4.tsx","pages/forms/familyviolencescheme/Step5/FVSStep5.tsx","pages/forms/familyviolencescheme/Step6/FVSStep6.tsx","components/FVSPage/RiskAndSupportDetails.tsx","pages/forms/familyviolencescheme/Step7/FVSStep7.tsx","components/FVSPage/BackgroundAndIdentityDetails.tsx","pages/forms/familyviolencescheme/Step8/FVSStep8.tsx","pages/forms/familyviolencescheme/Step9/FVSStep9.tsx","components/Content/AlertContent/FVSStep10AlertContent1.tsx","components/Content/AlertContent/FVSStep10AlertContent2.tsx","components/Content/AlertContent/FVSStep19AlertContent2.tsx","components/FVSPage/LikelyPossibilities.tsx","pages/forms/familyviolencescheme/Step10/FVSStep10.tsx","components/Content/AlertContent/FVSStep11AlertContent.tsx","components/FVSPage/PaymentArrangements.tsx","pages/forms/familyviolencescheme/Step11/FVSStep11.tsx","components/FVSPage/SupportingDocuments.tsx","pages/forms/familyviolencescheme/Step12/FVSStep12.tsx","components/FVSPage/ApplicationReasons.tsx","pages/forms/familyviolencescheme/Step13/FVSStep13.tsx","pages/forms/familyviolencescheme/Step14/FVSStep14.tsx","pages/forms/familyviolencescheme/Step15/FVSStep15.tsx","pages/forms/familyviolencescheme/Step16/FVSStep16.tsx","pages/forms/familyviolencescheme/Step17/FVSStep17.tsx","pages/forms/familyviolencescheme/Step18/FVSStep18.tsx","pages/forms/familyviolencescheme/Step19/FVSStep19.tsx","pages/forms/familyviolencescheme/Step20/FVSStep20.tsx","pages/forms/familyviolencescheme/Step21/FVSStep21.tsx","pages/forms/familyviolencescheme/Step22/FVSStep22.tsx","pages/forms/familyviolencescheme/Step23/FVSStep23.tsx","pages/forms/familyviolencescheme/Step24/FVSStep24.tsx","pages/forms/familyviolencescheme/Step25/FVSStep25.tsx","pages/forms/familyviolencescheme/FamilyViolenceScheme.tsx","images/finesviclogo.svg","pages/FormContainer.tsx","pages/forms/exampledemoform/DemoPage.tsx","pages/forms/exampledemoform/DemoForm.tsx","services/InfringementExtensionService.ts","pages/forms/infringementextension/ErrorPage/InfringementExtErrorPage.tsx","pages/forms/infringementextension/Step0/InfringementExtStep0.tsx","pages/forms/infringementextension/Step1/InfringementExtStep1.tsx","pages/forms/infringementextension/Step2/InfringementExtStep2.tsx","components/Content/AlertContent/InfringementExtensionStep3AlertContent1.tsx","components/Content/AlertContent/InfringementExtensionStep3AlertContent2.tsx","pages/forms/infringementextension/Step3/InfringementExtStep3.tsx","pages/forms/infringementextension/Step4/InfringementExtStep4.tsx","components/InfringementExtension/ExpandableRow/ExpandableRow.tsx","components/InfringementExtension/ExpandableTable/ExpandableTable.tsx","pages/forms/infringementextension/Step5/InfringementExtStep5.tsx","pages/forms/infringementextension/Step6/InfringementExtStep6.tsx","components/CompanyInformation/CompanyInformationInfringementExtension.tsx","pages/forms/infringementextension/Step7/InfringementExtStep7.tsx","pages/forms/infringementextension/Step8/InfringementExtStep8.tsx","pages/forms/infringementextension/Step9/InfringementExtStep9.tsx","pages/forms/infringementextension/Step10/InfringementExtStep10.tsx","pages/forms/infringementextension/InfringementExtension.tsx","services/NominationService.ts","components/Content/AlertContent/AlreadySavedContent.tsx","pages/forms/nomination/ErrorPage/NominationErrorPage.tsx","pages/forms/nomination/Step0/NominationStep0.tsx","pages/forms/nomination/Step1/NominationStep1.tsx","pages/forms/nomination/Step2/NominationStep2.tsx","pages/forms/nomination/Step3/NominationStep3.tsx","components/Content/AlertContent/NominationStep4AlertContent1.tsx","pages/forms/nomination/Step4/NominationStep4.tsx","pages/forms/nomination/Step5/NominationStep5.tsx","pages/forms/nomination/Step6/NominationStep6.tsx","pages/forms/nomination/Step7/NominationStep7.tsx","pages/forms/nomination/Step8/NominationStep8.tsx","pages/forms/nomination/Step9/NominationStep9.tsx","pages/forms/nomination/Step10/NominationStep10.tsx","pages/forms/nomination/Step11/NominationStep11.tsx","pages/forms/nomination/Step12/NominationStep12.tsx","pages/forms/nomination/Step13/NominationStep13.tsx","pages/forms/nomination/Step14/NominationStep14.tsx","pages/forms/nomination/Nomination.tsx","services/InstalmentService.ts","pages/forms/instalment/Step0/InstalmentStep0.tsx","pages/forms/instalment/Step1/InstalmentStep1.tsx","pages/forms/instalment/Step2/InstalmentStep2.tsx","pages/forms/instalment/Step3/InstalmentStep3.tsx","pages/forms/instalment/Step4/InstalmentStep4.tsx","pages/forms/instalment/Step5/InstalmentStep5.tsx","pages/forms/instalment/Step6/InstalmentStep6.tsx","pages/forms/instalment/Step7/InstalmentStep7.tsx","images/question_small.svg","pages/forms/instalment/Step8/InstalmentStep8.tsx","pages/forms/instalment/Step9/InstalmentStep9.tsx","pages/forms/instalment/Step10/InstalmentStep10.tsx","pages/forms/instalment/Step11/InstalmentStep11.tsx","pages/forms/instalment/Step12/InstalmentStep12.tsx","pages/forms/instalment/Step13/InstalmentStep13.tsx","pages/forms/instalment/Step14/InstalmentStep14.tsx","pages/forms/instalment/Step15/InstalmentStep15.tsx","pages/forms/instalment/Error/InstalmentErrorPage.tsx","pages/forms/instalment/Instalment.tsx","services/ReviewService.ts","pages/forms/review/Step0/ReviewStep0.tsx","pages/forms/review/Step1/ReviewStep1.tsx","pages/forms/review/Step2/ReviewStep2.tsx","pages/forms/review/Step3/ReviewStep3.tsx","pages/forms/review/Step4/ReviewStep4.tsx","pages/forms/review/Step5/ReviewStep5.tsx","pages/forms/review/Step6/Grounds/PersonUnawareContent.tsx","pages/forms/review/Step6/Grounds/ContraryToLawContent.tsx","pages/forms/review/Step6/Grounds/ExceptionalCircumstances.tsx","pages/forms/review/Step6/Grounds/SpecialCircumstances.tsx","pages/forms/review/Step6/Grounds/MistakeOfIdentity.tsx","pages/forms/review/Step6/ReviewStep6.tsx","images/internalLink.svg","pages/forms/review/Step7/Statements/SpecialStatementsStep7.tsx","pages/forms/review/Step7/ReviewStep7.tsx","pages/forms/review/Step8/ReviewStep8.tsx","pages/forms/review/Step9/ReviewStep9.tsx","components/Review/Individual/IndividualFormReview.tsx","components/Review/Company/CompanyFormReview.tsx","components/Review/ThirdParty/ThirdPartyFormReview.tsx","pages/forms/review/Step10/ReviewStep10.tsx","pages/forms/review/Step11/ReviewStep11.tsx","images/add.svg","pages/forms/review/Step12/ReviewStep12.tsx","pages/forms/review/step13/ReviewStep13.tsx","pages/forms/review/Step14/ReviewStep14.tsx","pages/forms/review/Step15/ReviewStep15.tsx","pages/forms/review/ErrorPage/ReviewErrorPage.tsx","pages/forms/review/Review.tsx","components/ExpandableTableAccessible/ExpandableRow.module.scss","pages/forms/court/Step1/CourtStep1.module.scss","pages/forms/extension/Step1/ExtensionStep1.module.scss","pages/forms/familyviolencescheme/Step1/FVSStep1.module.scss","components/Modal/Modal.module.scss","components/LimitedTextAreaLarge/LimitedTextAreaLarge.module.scss","components/InfringementExtension/ExpandableRow/ExpandableRow.module.scss","components/FilesUpload/FilesUpload.module.scss","components/TileRadio/TileRadio.module.scss","components/ExpandableRow/ExpandableRow.module.scss","pages/FormContainer.module.scss","components/LicenceField/LicenceField.module.scss","components/TextInput/TextInput.module.scss","components/FileUploadGroup/FileUploadGroupAccessible.module.scss","components/TileRadio/TileRadioAccessible.module.scss","api/APIServices.ts","utils/Navigation.ts","components/FileUploadGroup/FileUploadGroup.module.scss","reportWebVitals.ts","images/downArrow.svg","pages/forms/court/Step4/CourtStep4.module.scss","components/ABNACNField/ABNACNField.module.scss","pages/forms/review/Step1/ReviewStep1.module.scss","components/MultiTextInput/MultiTextInput.module.scss","components/DateInput/DateInput.module.scss","components/Summary/Summary.module.scss","components/ExpandableTableAccessible/ExpandableTableAccessible.module.scss","pages/forms/familyviolencescheme/Step3/FVSStep3.module.scss","pages/forms/familyviolencescheme/Step4/FVSStep4.module.scss","components/Alert/Alert.module.scss","components/Accordion/Accordion.module.scss","components/LimitedTextArea/LimitedTextArea.module.scss","components/AccordionWithContent/AccordionWithContent.module.scss","pages/forms/thirdparty/TPStep2.module.scss","pages/forms/court/Step9/CourtStep9.module.scss","pages/forms/extension/Step11/ExtensionStep11.module.scss","pages/forms/extension/Step12/ExtensionStep12.module.scss","components/DropdownMenu/DropdownMenu.module.scss","components/ProgressBar/ProgressBar.module.scss","components/Content/AlertContent/FormSubmissionSuccessAlertContent.module.scss","pages/forms/court/Step3/CourtStep3.module.scss","pages/forms/extension/Step3/ExtensionStep3.module.scss","pages/forms/infringementextension/Step1/InfringementExtStep1.module.scss","pages/forms/infringementextension/Step4/InfringementExtStep4.module.scss","pages/forms/instalment/Step4/InstalmentStep4.module.scss","components/ErrorPage/ErrorPage.module.scss","pages/forms/nomination/Step3/NominationStep3.module.scss","api/AddressMock.ts","api/Address.ts","images/trash.svg","components/FormNavFooter/FormNavFooter.module.scss","components/CheckboxInput/CheckboxInputAccessible.module.scss","pages/forms/court/Step2/CourtStep2.module.scss","pages/forms/court/Step8/CourtStep8.module.scss","pages/forms/extension/Step2/ExtensionStep2.module.scss","pages/forms/familyviolencescheme/Step2/FVSStep2.module.scss","components/FVSPage/SupportingDocuments.module.scss","components/ContactInformation/ContactInformation.tsx","constants/abnacn.ts","components/CheckboxInput/CheckboxInput.module.scss","components/ExpandableTable/ExpandableTable.module.scss","components/InfringementExtension/ExpandableTable/ExpandableTable.module.scss","components/IdleTimer/IdleTimer.module.scss","components/CheckboxInputGroup/CheckboxInputGroupAccessible.module.scss","pages/forms/infringementextension/Step2/InfringementExtStep2.module.scss","pages/forms/instalment/Step6/InstalmentStep6.module.scss","pages/forms/instalment/Step7/InstalmentStep7.module.scss","components/FVSPage/VictimInformation.tsx","components/TileRadio/TileRadio.tsx","components/CheckboxInputGroup/CheckboxInputGroup.module.scss","components/RadioGroup/RadioGroup.module.scss","pages/forms/thirdparty/TPStep1.module.scss","pages/forms/thirdparty/TPStep3.module.scss","pages/forms/familyviolencescheme/Step18/FVSStep18.module.scss","pages/forms/nomination/Step1/NominationStep1.module.scss","pages/forms/nomination/Step7/NominationStep7.module.scss","pages/forms/instalment/Step1/InstalmentStep1.module.scss","pages/forms/instalment/Step3/InstalmentStep3.module.scss","pages/forms/review/Step2/ReviewStep2.module.scss","components/FormLoading/FormLoading.module.scss","components/Nomination/NominationAccordions/NominationAccordions.module.scss","components/InformationContainer/InformationContainer.module.scss","components/Review/ReviewAccordions/ReviewAccordionFooter.module.scss","pages/forms/nomination/Step6/NominationStep6.module.scss","components/Content/AlertContent/AddressFieldAlertContent.module.scss","components/AddressField/Autosuggest.theme.module.scss","components/Button/Button.module.scss","components/FVSPage/VictimInformation.module.scss","components/PayForm/PayForm.module.scss","components/Content/AlertContent/CourtStep4AlertContent.module.scss","components/FVSPage/BackgroundAndIdentityDetails.module.scss","pages/forms/nomination/Step2/NominationStep2.module.scss","pages/forms/review/Step4/ReviewStep4.module.scss","pages/forms/review/Step5/ReviewStep5.module.scss","pages/forms/review/Step7/Statements/SpecialStatementsStep7.module.scss","components/Review/Individual/IndividualFormReview.module.scss","components/Nomination/IndividualFormNominate/IndividualFormNominate.module.scss","components/Nomination/CompanyFormNominate/CompanyFormNominate.module.scss","pages/forms/thirdparty/TPStep7.module.scss","pages/forms/court/Step0/CourtStep0.module.scss","pages/forms/extension/Step0/ExtensionStep0.module.scss","pages/forms/extension/Step15/ExtensionStep15.module.scss","pages/forms/familyviolencescheme/Step0/FVSStep0.module.scss","pages/forms/familyviolencescheme/Step5/FVSStep5.module.scss","components/FVSPage/LikelyPossibilities.module.scss","pages/forms/infringementextension/Step0/InfringementExtStep0.module.scss","pages/forms/infringementextension/Step3/InfringementExtStep3.module.scss","pages/forms/infringementextension/Step6/InfringementExtStep6.module.scss","pages/forms/nomination/Step0/NominationStep0.module.scss","pages/forms/instalment/Step0/InstalmentStep0.module.scss","pages/forms/instalment/Step8/InstalmentStep8.module.scss","pages/forms/review/Step0/ReviewStep0.module.scss","components/Review/ThirdParty/ThirdPartyFormReview.module.scss","components/IndividualForm/IndividualForm.module.scss","components/OrganisationForm/OrganisationForm.module.scss","pages/forms/thirdparty/TPStep6.module.scss","pages/forms/thirdparty/ThirdParty.module.scss","pages/forms/extension/Step16/ExtensionStep16.module.scss","components/Content/AlertContent/FVSStep11AlertContent.module.scss","pages/forms/nomination/Step4/NominationStep4.module.scss","pages/forms/nomination/Step5/NominationStep5.module.scss","pages/forms/instalment/Step9/InstalmentStep9.module.scss","pages/forms/instalment/Step10/InstalmentStep10.module.scss","pages/forms/review/Step6/ReviewStep6.module.scss","pages/forms/review/Step9/ReviewStep9.module.scss","components/Review/Company/CompanyFormReview.module.scss"],"names":["INVALID_DAY","INVALID_MONTH","INVALID_YEAR","EMPTY_DATE","INVALID_FUTURE_DATE","INVALID_PAST_DATE","EMPTY_CHECKBOX","INVALID_NUMERIC_FORMAT","INVALID_YESNO_FORMAT","INVALID_NAME_FORMAT","INVALID_NAME_FORMAT_NEW","INVALID_MOBILE_NUMBER_FORMAT","INVALID_LICENCE_FORMAT","INVALID_LICENCE_FORMAT_NOMINATION","INVALID_FILE_SIZE","FILE_UPLOAD_FAIL","INVALID_PHONE_NUMBER","INVALID_PHONE_NUMBER_LENGTH","INVALID_PHONE_NUMBER_LENGTH_15","INVALID_OBLIGATION_NUMBER","FIELDS_WITH_SEPCIFI_CHARS_MSG","INVALID_OBLIGATION_TOTAL_NUMBER","INVALID_OBLIGATION_NUMBER_DUPLICATE","INVALID_VEHICLE_REGISTRATION_NUMBER","INVALID_EMAIL","MISSING_CENTRELINK_CHECK","MISSING_DECLARATION_AGREEMENT","MISSING_APPLICATION_LODGING_AGREEMENT","INVALID_ORG_NAME_FORMAT","INVALID_NAME_FORMAT_NO_SPECIAL","INVALID_OFFENCE_FIND_OUT_DATE","INVALID_ADDRESS_SEARCH_FORMAT","INVALID_INPUT_LONGER_THAN_200_CHARS","INVALID_INPUT_LONGER_THAN_100_CHARS","INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION","INVALID_INPUT_LONGER_THAN_80_CHARS","INVALID_INPUT_LONGER_THAN_75_CHARS","INVALID_INPUT_LONGER_THAN_50_CHARS","INVALID_INPUT_LONGER_THAN_40_CHARS","INVALID_INPUT_LONGER_THAN_25_CHARS","INVALID_INPUT_LONGER_THAN_15_CHARS","INVALID_INPUT_LONGER_THAN_10_CHARS","INVALID_COMPANY_NAME","INVALID_FREE_TEXT_FIELD_FORMAT","INVALID_POSITION_IN_COMPANY_FIELD","INVALID_VEHICLE_REGISTRATION_NUMBER_LENGTH","INVALID_POST_CODE","INVALID_POST_CODE_NOMINATION","INVALID_ADDRESS_FIELD_ERROR","INVALID_ABN","INVALID_ACN","INVALID_CRN","INVALID_MIN_PAYMENT_FORTNIGHTLY","INVALID_MIN_PAYMENT_LOW","INVALID_MIN_PAYMENT_HIGH","INVALID_REPAYMENT_TIME_LENGTH","minFortnightlyPayment","minMonthlyPayment","INVALID_FIRST_INSTALMENT_DATE","dateAfter28Days","getDate","getMonth","getFullYear","INVALID_FILE_SIZE_CUSTOM","maxFileSize","INVALID_MONETARY_AMOUNT","INVALID_NUMBER_INPUT","CONFIRM_AUTHORISED","CLICK_PLUS_ICON","TextInput","field","title","subtitle","isMandatory","placeholder","icon","iconPosition","iconClick","type","disabled","onChange","autocomplete","useFormikContext","errors","touched","hasError","getIn","name","touchedError","extraInputAttrs","onchange","className","classnames","styles","container","titlePresent","titleError","titleBold","optional","inputContainer","formInput","inputLeftPadding","inputError","required","value","autoComplete","iconContainerStart","iconContainerEnd","src","alt","onClick","iconButton","render","msg","errorMessage","includes","removedChars","replace","errorMsg","customisedErrorMessage","defaultProps","FormNavFooter","errorMessages","totalPages","submitPage","submit","tooltips","formNavActions","displayErrorsCount","pageValidationKeys","formType","firstPageNo","isDisabled","disableThePage","location","useLocation","navigate","useNavigate","formikContext","useContext","VicFinesContext","apiError","clearApiError","values","setFieldTouched","setFieldValue","useState","show","content","contentClass","modal","setModal","getCurrentPage","pageNo","pathname","match","Number","getNextPageSegment","direction","nextPageNo","FormType","EXTENSION","Object","keys","filter","key","goNext","a","SelectedObligationsStep12","length","areThereAnyAdditionalFines","obligationNumberToIncludeStep12","setErrors","map","url","split","slice","join","window","scrollTo","locationPath","lastSegment","substring","lastIndexOf","next","pageSegment","useEffect","enterListener","event","code","INFRINGEMENTEXTENSION","INSTALMENT","NOMINATION","REVIEW","FAMILYVIOLENCESCHEME","preventDefault","document","addEventListener","removeEventListener","Modal","close","navigationContainer","navigationRow","isStep7ContinueApplicationClicked","buttons","SaveYesNo","isDebtorTypeIndividual","CanSave","CheckAndConfirmPageLoaded","isDebtorTypeCompany","isNominatable","Status","isInternalReviewStage","backBtn","COURT","Error","navigateToNextStep","color","size","href","id","goBack","e","continueBtn","undefined","pageNum","isThePersonNamed","WasSomeoneElseDrivingAtTimeOfOffence","isNextBtnDisabled","helpLinks","needhelponformglobal","modalContent","needassistanceonformglobal","modalLegal","THIRDPARTY","Button","children","button","CheckboxInput","form","boxChecked","displayError","hrRequired","defaultValue","checkbox","target","checked","defaultChecked","body","tickContainer","component","CheckboxInputGroup","tileData","tileItem","Fragment","htmlFor","checkedInputs","_g","_excluded","_extends","assign","i","arguments","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgDropdown","_ref","svgRef","titleId","props","width","height","viewBox","xmlns","xmlnsXlink","ref","stroke","strokeWidth","fill","fillRule","transform","points","ForwardRef","DropdownMenu","isOptional","defaultOption","displayText","changeOption","selectContainer","hidden","option","display","arrowIcon","IndividualForm","gridFormStyles","gridColFull","secondaryContact","hasPrimaryNumberType","emailField","noEmailField","currentSP","OrganisationForm","PostalAddress","NotPostalAddress","TILE_DATA","manualAddressText","TileRadio","orientationRow","mobileCollapseRow","IsOrganisationAddressDifferentFromPostal","AddressFieldAlertContent","msgWarning","toLowerCase","SvgSearch","d","AddressField","movedRecentlyText","refAutoSuggest","useRef","searchText","setSearchText","suggestions","setSuggestions","manualAddress","setManualAddress","addressFound","setAddressFound","isAddressFieldVisible","setAddressFieldVisible","isOpenInfo","setOpenInfo","formikProps","countryList","VicFinesFormContext","closeNotifications","COUNTRY_DROPDOWN","item","Name","getSuggestions","queryString","autocompleteAddress","json","results","getAddressFormat","captureAddress","format","address","country","formattedCountry","word","charAt","addressLine1","addressLine2","locality","province","postalCode","inputProps","newValue","onBlur","hasTouchedAddressFields","hasAdressFieldsErrors","autosuggestContainer","tabIndex","autosuggest","searchIcon","onSuggestionsFetchRequested","onSuggestionsClearRequested","getSuggestionValue","suggestion","suggestionValue","renderSuggestion","onSuggestionSelected","theme","manualInputForm","message","InfoIcon","gridColHalf","AusStateList","addressButton","SearchText","Address","LineOne","LineTwo","Suburb","State","Postcode","Country","areFieldsTouched","current","focus","movedRecentlyButton","modalTitle","rel","sectionTitle","sectionDescription","btnFooter","MultiTextInput","formName","stepNo","includeRegisteredFines","includeUnregisteredFines","obligationList","useField","isAddFineBtnDisabled","error","addFine","arrayHelpers","enteredObligationsArray","infringementFineArray","RegisteredFinesToInclude","addNewSection","push","InfringementFinesToInclude","removeFines","removedIndex","remove","splice","pop","_item","index","section","descriptionDiv","subTitle","removeDiv","TrashIcon","inline","colHalf","DateInput","maxDate","Date","minDate","setFieldError","setHasError","isFirstTouch","setFirstTouch","isVisibleCalendar","setVisibleCalendar","label","renderTitle","dateInputContainer","selected","val","dateString","currentTarget","parseDateStringRegex","RegExp","dateStringComponents","onChangeRaw","dateParts","dateObject","customInput","guide","mask","dateFormat","onFocus","open","date","placeholderText","showYearDropdown","popperClassName","popper","popperModifiers","options","padding","onSelect","onCalendarClose","onClickOutside","scrollableYearDropdown","yearDropdownItemNumber","calendarPopupBtn","iconContainer","Calendar","ContactInput","numberTypeMandatory","hasSecondaryNumberType","noContactFieldName","noContactFieldRequired","disableContactlInput","setContactInput","CONTACT_OPTIONS","PhoneIcon","FormLoading","loading","cssloadcontainer","cssloadwhirlpool","SvgDone","ProgressBar","formMetaData","titles","ProgressStep","START","DETAILS","CHECK_CONFIRM","DONE","currentStep","pagesSegments","progressStep","bar","tileSelected","step","done","removeFirstArrow","donePrev","text","textGrey","setAppElement","VFModal","isOpen","overlayClassName","overlay","myModal","onRequestClose","contentLabel","shouldCloseOnOverlayClick","heading","closeButton","dangerouslySetInnerHTML","__html","LicenceField","nameCountryOfIssue","nameStateOfIssue","nameNoDriverLicence","noDriverLicenceOptRequired","noDriverLicenceTitle","disableLicenceInput","setLicenceInput","licenceInput","licenceOptional","textBox","Alert","classAlt","autoAlertInfo","yellowAlertInfo","alertText","titleWarning","IssueIcon","withTracker","WrappedComponent","page","ReactGA","pageview","process","API_URL","REACT_APP_SITECORE_API_ENDPOINT","PATH_THIRD_PARTY","REACT_APP_PATH_THIRD_PARTY","PATH_COURT","REACT_APP_PATH_COURT","PATH_EXTENSION","REACT_APP_PATH_EXTENSION","PATH_FVS","REACT_APP_PATH_FAMILY_VIOLENCE_SCHEME","PATH_NOMINATION","REACT_APP_PATH_NOMINATION","PATH_INSTALMENT","REACT_APP_PATH_INSTALMENT","PATH_REVIEW","REACT_APP_PATH_REVIEW","idleTimer","timeout","countdown","setCountdown","countdownActive","setCountdownActive","hasTimedOut","setHasTimedOut","continueSession","clearTimeout","exitToHome","apiLogout","fetch","method","response","result","navigateToError","useIdleTimer","onIdle","debounce","isFVSTimerExist","localeCompare","setTimeout","cookie","forEach","c","toUTCString","onkeyup","timeOutInfo","Math","floor","timeOutInstructions","btnProceed","CompanyInformation","Abn","Acn","ABNACN_TILE_DATA","POSTAL_TILE_DATA","YesValue","NoValue","NoEmail","EMAIL_TO","TitleOptionsList","PositionOfThePersonWithinTheCompany","tileChanged","AbnacnType","validate","AbnNo","payload","InputNumber","headers","JSON","stringify","then","responseBody","catch","AcnNo","HasDifferentCompanyAddress","Summary","summaryFields","edit","editLink","btnLabel","EditIcon","fields","row","index2","index3","fieldTitle","fieldValue","hide","EmailField","noEmailFieldRequired","disableEmailInput","setEmailInput","EmailIcon","ErrorPage","formBody","loader","loadContainer","cusH3","intro","Accordion","popupContent","alwaysOpen","openByDefault","accordionOpen","setAccordionOpen","spanRef","setHeight","getBoundingClientRect","iconStyle","iconClicked","iconInitiated","accordionHeader","prev","category","action","accordionTitle","iconDiv","DownArrow","accordionContent","style","divPadding","accordContent","FilesUpload","errorFieldName","labelContent","fileTypes","fileSizelimit","handleChange","handFileSizeError","labelContentUpload","types","maxSize","onSizeError","fileUploadContainer","dropTitle","Upload","FilesUploadAccessible","role","onKeyDown","getElementsByName","click","FileUploadGroup","uploadFieldArrayName","uploadAReport","whoPrepared","briefDescription","totalFileLimit","fileSizeErrorField","fileUploadFailErrorField","UploadFileSectionError","hasPrepared","hasDescribe","descriptionHasError","fileSizeHasError","files","currentFile","setCurrentFile","uploadButtonDisable","setUploadButtonDisable","resetFieldValues","File","GoodUpload","middleCol","FileName","uploadFileText","FileProvider","FileDescription","classNames","fileUploadSection","fileUploadSectionError","FileUploadform","gridColHalfWithoutFields","file","WhoPreparedReport","gridColOneQuarter","gridColTwoWithoutFields","uploadButton","uploadButtonDis","uploadButtonError","uploadButtonDiscriptionError","uploadButtonFileSizeError","ob","OBLIGATION_NUMBER","uploadFileAWS","res","resString","uploadedAttachment","RemoteFileName","toString","console","log","LimitedTextArea","limit","FileUploadGroupAccessible","setContent","setFormattedContent","useCallback","latestContent","maxLength","ExpandableRow","obligation","checkedAllParent","setCheckBox","OffenceDate","OffenceDesc","AmountDue","OffenceLocation","OffenceTime","Registration","handleWindowSizeChange","checkCurrentFromParent","find","v","number","offenceDetails","detailValues","obligationNumber","checkBoxContainer","isChecked","checkboxUpdate","Array","handleCurrentCheckbox","inputBody","secondCol","thirdCol","fourthCol","fifthCol","detailTable","offenceTable","onlyMobileRows","uppcaseText","ExpandableTable","obligations","SelectedObligationsStep9","selectedAll","setSelectedAll","checkboxAllInit","checkboxAllTrue","allCheckedOrNot","setCheckedAll","checkedObs","reduce","accumulate","detailHeadings","PayForm","blue","medium","LimitedTextAreaLarge","TileRadioAccessible","classname","wrapTiles","info","tileLength","tileContainer","orientationRowCollapse","orientationColumn","tileItemExpand","tile","noDisplay","tileValue","rowBreak","infoCaptionAboveTablet","caption","infoCaptionMobile","CheckboxInputAccessible","fieldName","tickContainerSelected","EmailFieldAccessible","LicenceFieldAccessible","ContactInformationAccessible","displayObject","isInfringementExtension","mode","isNomination","isInstalment","givenName","familyName","dateOfBirth","driverLicence","isAddressSameAsPostal","postalAddress","contactNumber","noEmailAddress","emailAddress","emailTo","receiveDocs","NoEmailAddressThree","gridStyles","formikName","border","backgroundColor","cursor","marginTop","textDecoration","margin","textAlign","transition","borderRadius","fontWeight","fontFamily","CheckboxInputGroupAccessible","TileRadioAccessibleWithInfo","hasBeenNominatedBefore","validateFieldName","selectTheOption","prevAccordionOpenRef","heights","setHeights","prevSelect","setPrevSelect","prevAccordionOpen","refs","acc","React","createRef","calculateHeight","tileItemValue","closeTheOption","returnIconContent","currentSelected","iconChanged","TickIcon","tickIcon","prevHeights","userAgent","navigator","browser","test","getBrowser","previousAccordionOpen","memo","IndividualFormNominate","currentStepNo","setDisabled","fieldsOnSteps","pages","personalContactInformation","isStep6","isStep11","WarningMessage","disableDOB","setDisableDOB","differentToPostal","dateOfBirthYesNo","noResidentialAddress","noFixedAddress","deliveryAddressType","GivenNamesYourDetails","FamilyNameYourDetails","GivenNamesSomeoneElse","GivenNamesSoldDisposed","FamilyNameSomeoneElse","FamilyNameSoldDisposed","boxheight","licenceState","statecountryOfIssue","noDriverLicence","taxiDriverAccNumber","residentialAddress","isEmailRequired","individualContactNumber","noContactNumber","email","noEmail","CompanyFormNominate","companyFields","companyContactInformation","IndividualPostalAddress","IndividualResidentialAddress","DifferentToStreetAddress","positionInCompany","organisationContactNumber","emailAddressYesNo","companyName","abnacnType","abnNo","acnNo","ABNACNField","ABNACNType","ABNACNValidFieldName","isABNValid","isACNValid","companyStreetAddress","differentToStreetAddress","companyPostalAddress","ContactInputAccessible","NominationAccordion","selectOptionName","closeOptionName","bodyContent","itemOption","CountryFields","FieldsToBeResetToFalse","FieldsToBeResetToNull","FieldsToBeResetToEmptyArray","SelectedGroundsFields","Map","set","buttonContainer","get","validateField","disabledCheckbox","selectedRows","inputContainerDisabled","tickContainerChecked","ExpandableTableAccessible","inactiveRows","selectAllButtonAtBottom","SelectedObligationsStep5","checkboxAllFalse","isAllChecked","setAllChecked","handleCheckedAll","ComapnyInformationAccessible","companyPosition","ABNNo","ACNNo","companyAddress","VFModalSimple","InformationContainer","autoInfoContainerInfo","infoContainerText","ReviewAddressModal","TileRadioAccessibleReview","iconDivContent","isPUIneligible","isMultiSelectable","handleTickIconClick","indexToRemove","tickIconCursor","errorOrInfoAppearsInAccordion","selectedText","ReviewAccordionFooter","validateFieldsNames","isSelectButtonDisabled","isMultiSelect","l","selectedList","setLoading","ABNCounter","setABNCounter","inputValue","setInputValue","currentCall","callABNAPI","validateAbnAsync","callACNAPI","validateAcnAsync","ABN_MIN_LENGTH","ACN_MIN_LENGTH","prevCounter","VFSimpleModalWithoutTitle","modalWithoutTitle","contentSimpleWithoutTitle","AccordionWithContent","AddressFieldAlertContentAccessible","AddressFieldAccessible","setDefaultAddressValues","encodedValue","encodeURIComponent","LimitedTextAreaLargeUpdated","correctedString","ObligationStatus","GenderOptionsList","OriginOptionsList","EnglishProficiencyOptionsList","nextDay","getTime","module","exports","getCountryListMock","Alpha3Code","Cioc","Promise","resolve","_reject","getToolTipsMock","Locator","Body","NODE_ENV","REACT_APP_SITECORE_API_MOCK","getCountryList","urlCountryList","mapToolTips","tooptips","mappedTooltips","tooltip","_index","keyName","replaceAll","getTooltips","formNameValue","header","urlTootips","PARTIAL_FORMS_API","savePartialForm","partialForm","status","submitSavedPartialForm","pFormId","partialFormID","checkExistingForm","ObligationNO","CheckingExisting","ExpiryDate","getPartialForm","INITIAL_TP_CONTEXT","setCountryList","_countryList","setTooltips","_tooltips","ThirdPartyContext","createContext","CONTACT_NUMBER_REGEX","EMAIL_SPECIAL_CHARS_REGEX","NAME_FIELDS_REGEX","NAME_FIELDS_NEW_REGEX","ORGANISATION_NAME_REGEX","FIELDS_WITH_SEPCIFI_CHARS","OBLIGATION_REGEX","TEN_DIGITS_OBLIGATIONS","VEHICLE_REGISTRATION_REGEX","COMPANY_NAME_REGEX","FREE_TEXT_FIELD_REGEX","POSITION_IN_COMPANY_REGEX","POST_CODE_REGEX","ADDRESS_FIELD_CHARS_REGEX","NAMES_FIELDS_REGEX","CRN_REGEX","ONLY_NUMBERS_REGEX","template","listObligationFields","temp","listArrayVFields","arrayFields","arrayFieldName","checkIsArrayVFieldsEmpty","arrayFieldsName","isContainValue","thirdPartyKeys","tpIndividualContactNumber","tpOrganisationContactNumber","tpUserContactNumber","tpOrganisationAddress","tpOrganisationPostalAddress","tpResidentialAddress","tpResidentialPostalAddress","tpStep3Individual","NoEmailAddress","tpStep3Organisation","NoEmailAddressTwo","tpLicenseState","StatecountryOfIssue","tpObligations","thirdPartyValidationKeys","page1","page2","HowLongWillThisAuthorisationLast","WhatFinesDoesThisAuthorisationCover","page3","WhoAreYouNominating","page4","IsResidentialAddressSameAsPostal","NoDriverLicence","page5","page6","page7","courtKeys","courtUserContactNumber","courtSummonsAddress","courtResidentialAddress","courtCompanyAddress","courtCompanyPostalAddress","courtLicenseState","courtValidationKeys","page0","OffenceDateRequired","HearingDateRequired","LicenceRequired","RegistrationRequired","DOBRequired","SaveOptions","HasDifferentResidentialAddress","page8","page9","page10","page11","SeriousObligation","extensionKeys","extensionUserContactNumber","extensionPostalAddress","extensionResidentialAddress","extensionLicenseState","extensionValidationKeys","DetailsForCircumstances","fvsKeys","fvsVictimResidentialAddress","fvsVictimPostalAddress","fvsVictimDriverLicence","fvsVictimContactDetails","fvsRepresentativePostalAddress","fvsRepresentativeContactDetails","fvsAgencyNames","AgencyNames","agencyName","listAgencyFields","fvsInfringementNums","fvsAOffence","fvsObligations","isPostalAddressEmpty","FVSPostalAddress","isResidentialAddressEmpty","FVSResidentialAddress","fvsValidationKeys","NoActionsTaken","NoFixedAddress","NoResidentialAddress","NoSafePostalAddress","DeliveryAddressType","IsEmailRequired","PhoneApplicant","InterpreterRequiredPrompt","DisabilityDescription","GenderSelfDescribed","NativeLanguage","relevantObs","AdditionalFinesToInclude","WhatWouldYouLikeToHappen","RemoveFines","page12","UnableToObtainAdoc","page13","page14","RepresentativeCompanyName","RepresentativeCompanyPosition","RepresentativeAllowsPhoneCommunicationBool","page15","page16","page17","page18","AdditionalFinesType","page19","page20","HasPaymentArrangement","page21","page22","page24","InstalmentKeys","instalmentIndividualContactNumber","instalmentIndividualPostalAddress","instalmentLicense","instalmentResidentialAddress","instalmentCompanyAddress","instalmentCompanyPostalAddress","instalmentCompanyContact","instalmentValidationKeys","NoInfoApplies","receiveCenterlinkPayments","instalmentDeducted","centrelinkPaymentType","haveExceptionalCircumstances","IndividualHasDifferentResidentialAddress","IndividualHasNoEmail","AbnOrAcnType","CompanyHasDifferentPostalAddress","CompanyHasNoEmail","InfringementExtensionKeys","infringementExtensionIndividualContactNumber","infringementExtensionIndividualPostalAddress","infringementExtensionLicense","infringementExtensionResidentialAddress","infringementExtensionCompanyAddress","infringementExtensionCompanyPostalAddress","infringementExtensionCompanyContact","infringementExtensionValidationKeys","isHandedDownInPersonFieldRequired","IndividualHasDifferentPostalAddress","reviewKeys","postalAddressFineholderDetails","residentialAddressFineholderDetails","postalAddressYourDetailsIndividual","residentialAddressYourDetailsIndividual","postalAddressYourDetailsThirdParty","postalAddressYourDetailsCompany","streetAddressYourDetailsCompany","contactNumberFineholderDetails","contactNumberYourDetailsIndividual","contactNumberYourDetailsThirdParty","contactNumberYourDetailsCompany","driverLicenceFineHolderDetails","PlaceOfIssueFineholderDetails","driverLicenceYourDetailsIndividual","PlaceOfIssueYourDetailsIndividual","reviewValidationKeys","isEnforcementReviewStage","IsMakingTimeRequest","HasStatementAndEvidenceSupportingDocs","YesNoDriverLicenceFineholderDetails","DifferentToPostalFineholderDetails","YesNoEmailFineholderDetails","isThirdPartyAuthorised","YesNoDriverLicenceYourDetailsIndividual","DifferentToPostalYourDetailsIndividual","YesNoEmailYourDetailsIndividual","YesNoEmailYourDetailsThirdParty","AbnAcnTypeYourDetailsCompany","DifferentToPostalYourDetailsCompany","YesNoEmailYourDetailsCompany","nominationKeys","personContactNumberSomeoneElse","companyContactNumberSomeoneElse","companyContactNumberYourDetails","individualContactNumberYourDetails","companyStreetAddressSomeoneElse","residentialAddressSomeoneElse","residentialAddressSoldDisposed","companyStreetAddressSoldDisposed","nominationCompanyStreetAddressYourDetails","nominationCompanyPostalAddressYourDetails","nominationIndividualPostalAddressYourDetails","nominationIndividualResidentialAddressYourDetails","driveLicenseStateSomeoneElse","StatecountryOfIssueSomeoneElse","driveLicenseStateSoldDisposed","StatecountryOfIssueSoldDisposed","personContactNumberSoldDisposed","companyContactNumberSoldDisposed","driveLicenseStateYourDetails","StatecountryOfIssueYourDetails","nominationValidationKeys","NoDriverLicenseSomeoneElse","DOBYesNoSomeoneElse","NoContactNumberSomeoneElse","NoEmailSomeoneElse","AbnacnTypeSomeoneElse","NoOrgContactNumberSomeoneElse","CompanyEmailYesNoSomeOneElse","WhoAreYouNominatingSoldDispose","NoDriverLicenseSoldDisposed","DOBYesNoSoldDisposed","NoContactNumberSoldDisposed","NoEmailSoldDisposed","AbnacnTypeSoldDisposed","NoOrgContactNumberSoldDisposed","CompanyEmailYesNoSoldDisposed","NoDriverLicenseYourDetails","DifferentToPostalYourDetails","NoEmailYourDetails","CompanyEmailYesNoYourDetails","AbnacnTypeYourDetails","DifferentToStreetAddressYourDetails","joinAddressFields","entry","getSubmissionPayload","formValues","submissionNumber","submitFormValues","now","MONTH","MINUTE","getMinutes","SUBMITTED_TIME","getHours","FORM_TYPE","EmailAddressOptional","EmailAddressOptionalTwo","EmailAddressOptionalThree","DriverLicenceNumberOptional","LicenceState","AuthorisationForCurrentAndFutureFines","WhichFinesToProvideAuthorisationFor","authexclude","isArray","PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeIncludedFromThisAuthority","PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeExcludedFromThisAuthority","day","authlast","month","year","submitObject","ContactNumber","IndividualContactNumber","OrganisationAddress","LineOneTwo","OrganisationPostalAddress","LineTwoTwo","SuburbTwo","StateTwo","PostcodeTwo","CountryTwo","ContactNumberTwo","OrganisationContactNumber","DD","DateOfBirth","MM","YYYY","LineOneThree","ResidentialAddress","LineTwoThree","SuburbThree","StateThree","PostcodeThree","CountryThree","LineOneFour","ResidentialPostalAddress","LineTwoFour","SuburbFour","StateFour","PostcodeFour","CountryFour","ContactNumberThree","UserContactNumber","YourSignature","consentToDeclaration","DdTwo","MmTwo","YyyyTwo","FooterSubmissionNo1","FooterFormType1","FooterObligationNo1","FooterSubmittedTime1","FooterSubmissionNo2","FooterFormType2","FooterObligationNo2","FooterSubmittedTime2","FooterSubmissionNo3","FooterFormType3","FooterObligationNo3","FooterSubmittedTime3","FooterSubmissionNo4","FooterFormType4","FooterObligationNo4","FooterSubmittedTime4","FooterSubmissionNo5","FooterFormType5","FooterObligationNo5","FooterSubmittedTime5","recaptchaResponse","ThirdPartySchema","Yup","shape","uniqueObligation","Set","has","add","when","is","min","max","of","trim","matches","nullable","GivenNames","FamilyName","WhatDoesThisAuthorisationCover","oneOf","OrganisationName","YourReferenceNumberWithinTheOrganisationOptional","LastNameOrFamilyName","FirstOrGivenNames","otherwise","thirdPartyMetaData","validationKeys","step1","step2","step3","step4","step5","step6","step7","getSummaryScreen","authlastUntilDate","WhatFinesDoesThisAuthorisationCoverTitle","entries","Boolean","getStringIndex","findString","findIndex","element","reverseTrueOrFalseSubmission","trueOrFalse","dateTypeField","dontOverrideStep3IfNotEmpty","setFormDataValues","partialFormApi","formikObject","formikValuesRef","setCurrentFormikValues","ActionsTakenOnFine","getFutureDateAfterNMonth","futureMonth","today","setMonth","getDateForValidateDebtor","receivedDates","dateObj","bytesToMBSize","bytes","parseInt","toFixed","ErrorContent","TPErrorPage","submissionError","TPStep1","LimitedAuthBody","desc","FullAuthBody","gridStyle","TPStep2","FinesAuthorisationBody","normalFontWeight","normalFontWeightBelow","FinesExceptAuthorisationBody","TILE_DATA_FINES_PROVIDE_AUTHORISATION","renderYesNo","vfH3","noMargin","TPStep3","IndividualOption","OrganisationOption","requiredDetails","bold","details","lineBreak","tpContactInfoDisplayObject","courtContactInfoDisplayObject","extensionContactInfoDisplayObject","fvsInfoDisplayObject","riskAndSupportDetails","pageTitle","hasScaredFeelings","hasRiskAssessment","contactSpecialist","additionalText","step16","backgroundAndIdentityDetails","step8","pageSubtitle","pageInfo","gender","genderDescription","lgtiqIdentified","origin","englishProficiency","nativeLanguage","disabilityDescription","step17","likelyPossibilities","step10","likelyPossibility","givenNameOptional","familyNameOptional","dateOfBirthOptional","driverLicenceOptional","licenceStateOptional","stateCountryOfIssueOptional","noDriverLicenceOptional","howDealtWithFines","step19","paymentArrangements","step11","reincludeFines","step20","hasPaymentArrangement","contactInformation","step15","noPostalAddress","sendEmailCopy","phoneApplicant","safestContactTime","phoneMessagePrompt","interpreterRequiredPrompt","alternativeLanguage","supportingDocuments","step12","isUnableToObtainADoc","step21","applicationReasons","step13","reason","step22","infringementExtensionContactInfoDisplayObject","isFirstNations","infringementExtensionCompanyInfoDisplayObject","NominationInfoDisplayObject","organisationContactNumberYesNo","instalmentContactInfoDisplayObject","instalmentCompanyInfoDisplayObject","reviewInfoDisplayObject","IndividualContactInformation","countryOfIssue","receiveApplication","receiveCorrespondence","CompanyContactInformation","acnAbnType","abnNumber","acnNumber","streetAddress","FineholderContactInformation","ThirdPartyRepContactInformation","relationshipToFineholder","organisationName","TPStep4","ContactInformation","TPStep5","TPStep6","FormSubmissionSuccessAlertContent","submissionNumberAlertInfo","hasEmailCopy","isCopied","setIsCopied","submissionAlertInfoMsgContainer","submissionHeading","submissionInfo","textarea","createElement","innerText","appendChild","select","execCommand","copyToClipboard","TPStep7","resetForm","submissionNo","handlePopstate","DoneIcon","submissionBody","ThirdParty","REACT_APP_RECAPTCHA_SITE_KEY","activeError","setActiveError","isCaptchaSuccessful","setIsCaptchaSuccess","handleRecaptchaChange","fetchData","all","countryResults","tooltipResults","formMandatoryFields","formSubmissionValidation","every","errorCount","touchedFields","submitForm","formSubmission","submitPayload","data","obligationNo","urlSubmission","formSubResponse","statusText","navToError","receiptNo","finally","initialValues","authlastselection","innerRef","validationSchema","onSubmit","Provider","path","recaptcha","sitekey","onExpired","onErrored","DATE","YEAR","YourObligationNumber","IdentifyingReference","TitleMrMrsMsMissOther","AbnacnNo","DOB","CourtContactNumber","NumberType","SecondaryContactNumber","NumberTypeTwo","SecondaryNumberType","SummonsAddress","CompanyAddress","CompanyName","CompanyPostalAddress","GroupOneZero","Email","DriverLicenceNumber","DRIVER_LICENCE","declaration","Intent","intend","CourtSchema","saveEmail","saveMobile","OFFENCE_DATE","HEARING_DATE","VEHICLE_REGISTRATION","OtherPosition","courtMetaData","step0","step9","DebtorType","CourtErrorPage","CourtStep0","pathElementArray","stepIndex","stepIndexDiff","pathNameLessLastSegment","validTitles","formikcontext","getStringForSort","stringVal","sort","stringA","stringB","pathNameLessLastSegmentOnLoad","obNumFromPath","hash","history","pushState","currentUrl","pathUrlArray","stepCurrentIndex","stepIndexDiffOnLoad","valueOfExistingform","partialFormOption","canSave","savingoption","debtorID","DebtorID","PartialFormID","getInitiate","Step","getTitles","infoDiv","ClockIcon","CourtStep1","CourtStep1AlertContent","isOpenHelp","setOpenHelp","matchMedia","smallScreen","setMatches","image","imageAlt","accordionImage","QuestionIcon","mailRef","handwrittenRef","planRef","bitmapSection","bitmapTitle","bitmapImage","contactLink","CourtStep2","context","hasOffenceDate","setOffenceDate","hasHearingDate","setHearingDate","hasLicenceNumber","setLicenceNumber","hasVehicleRego","setVehicleRego","hasDOB","setDOB","CourtStep2AlertContent","setupDebtor","HearingDate","DateOfBirthRequired","notificationDiv","CourtStep3","divWhitespace","emailNotif","mobileNotif","CourtStep4AlertContent","formExpirationDate","link","CourtStep4","seriousObligation","setSeriousObligation","expiryDate","PartialFormExpiryDate","INFRINGEMENT","PENALTY_REMINDER","NOTICE_OF_FINAL_DEMAND","ENFORCEMENT_WARRANT","Obligation","setObligationDetails","setValues","obligationPayload","formPayload","getExistingForm","FormData","parse","formDataKeys","user","line1","line2","suburb","state","postcode","company","getObligationOptions","obligationKey","getBasicInfo","DDD","ESI","MarineOffence","progressBar","CourtStep5","toUpperCase","licence","hasDifferentResidentialAddress","primaryContact","sendcopy","CourtStep6","position","other","CourtStep7","CourtStep8","subtext","responseUrl","note","CourtStep9","append","finesLink","CourtStep10","CourtStep11","SOIntend","CourtStep12","Court","stepArray","getStepInPath","setApiError","useParams","postObligation","trimmedObligationNumber","nextPageUrl","validateDebtor","getOffenceDate","toLocaleDateString","getHearingDate","getDOBDate","hearingDate","licenceNumber","offenceDate","registrationNumber","createPartialForm","Attachments","CreateDate","EMRemeinderSent","FormTypeID","ID","IsSubscribedEM","IsSubscribedSMS","Mobile","Obligations","IsPrimary","SMSRemeinderSent","updateFormDataObj","vehicleRegos","abn","acn","createPartialFormForSumbit","partialFormObj","partialRes","updatePartialForm","partialformPayload","formSubmissionValues","InfringementNoticeNumber","UserType","isInternational","minlength","maxlength","sendCopyTo","selectedObsArray","SelectedObNums","joinedBySemiccolon","selectedObligationsSelfInclude","AuthorisedObligation","additonalPdfWithObligations","totalNumberOfAttachments","SupportingAttachments","OtherSupportingAttachments","descriptionOfAttachmentsArray","descriptionOfAttachments","remoteAttachmentNames","TitleMrMrsMsOther","StateOrCountryOfIssue","CurrentDriversLicense","VehicleRegistrationIfProvided","ExtensionResidentialAddress","ExtensionPostalAddress","ExtensionContactNumber","YourEmailAddressOptional","DocumentElectronically","DDThree","DateToPay","MMThree","YYYYThree","ObligationNumberCaseNumberOrWarrantNumber","YesOrNoTwo","ExceptionalCircumstances","ProvideDetailsForAnyCircumstancesYouWouldLikeToBeConsideredForInThisApplication","NumberOfAttachments","ApplicantsSignature","DocumentDescriptions","OBLIGATIONS_TO_INCLUDE","ATTACHMENTS","FooterSubmissionNo6","FooterFormType6","FooterObligationNo6","FooterSubmittedTime6","FooterSubmissionNo7","FooterFormType7","FooterObligationNo7","FooterSubmittedTime7","ExtensionSchema","OtherSupportingFilesDescription","OtherReportNameFieldErrorHandle","OtherReportNameFileUploadErrorHandle","extensionMetaData","step14","checkFines","fine","checkOptSupportingDoc","attachment","displayFileDetails","ExtensionErrorPage","ExtensionStep0","formikRef","obNum","resBody","formData","ExtensionStep1","ExtensionStep1AlertContent","ExtensionStep2","ExtensionStep2AlertContent","ExtensionStep3","half","fontFormat","ExtensionStep4","authorisedOb","setRelevantObligations","obNumFormIk","Authorised","InfringementNumber","ex","tdFirstColBackground","tdSecondColBackground","hideInMobileView","colSpan","tdSpanFont","middleNoteSection","ExtensionStep5","ExtensionStep6","ExtensionStep7","ExtensionStep8","ExtensionStep9","ExtensionStep10","ExtensionStep11","ExtensionStep12","ExtensionStep15","IsESIorDDD","isInitialOrReminderStatus","numberSize","isEOIW","borderColor","ExtensionStep16","Extension","nextLocation","isSubmitted","submitted","search","IsCompany","resetPFormDataValues","updatePartialFormData","OtherSupportingDocNameField","OtherSupportingFilesProvider","SupportingFilesProvider","SupportingFilesDescription","ReportNameField","ReportNameFieldErrorHandle","ReportUploadFileSectionError","TicketType","OffenceCode","SelectedObligations","EligibleObligations","listUnregisteredFines","unregisteredFinesArray","timeZone","isAllOutstandingFines","isFollowingFines","firstParty","ApplicationLodger","selectedObligationsSelfIncludeFirstParty","WhichOtherFines","obligationsEntered","selectedObligationsSelfIncludeThirdParty","additonalPdfWithObligationsFirstParty","additonalPdfWithObligationsThirdParty","count","InfringementNums","AOffence","doOffenceDate","DAOffence","SignedDeclarationAttachment","RepresentativePostalAddress","residentialAddressOnly","postalAddressOnly","repPostalAddressOnly","Urgent","isUrgent","LinkYes","HasLinkBwFVSAndFines","LinkNo","EvidenceYes","HasEvidenceToSupport","EvidenceNo","Sheriff7DayNoticeYes","Sheriff7DayNoticeNo","SheriffRemoveNumberplates","SheriffSeize","SheriffWheelClamp","LostLicence","AttachmentEarnings","LandCharge","NoneApply","PersonAffected","ResidentialState","ResidentialSuburb","ResidentialPostcode","ResidentialCountry","PreferNotToProvide","PostalPostcode","PostalSuburb","PostalState","PostalCountry","AnotherPostal","SafeToEmailYes","SafeToEmailNo","EmailAddress","SafeToCallYes","SafeToCallNo","ContactPhone","SafestDaysTimes","SafestContactTime","LeavePhoneMessageYes","PhoneMessagePrompt","LeavePhoneMessageNo","InterpreterYes","InterpreterNo","Language","AlternativeLanguage","SameAsResidential","AuthorisedRep","NoSafePostal","RepGivenNames","RepresentativeGivenName","RepFamilyName","RepresentativeFamilyName","RelationshipPersonAffected","RepresentativeRelationshipToVictim","OrganisationCompanyName","PostitionOrganisationCompany","RepPostalAddress","RepPostalState","RepPostalSuburb","RepPostalPostcode","RepPostalCountry","RepPhoneNumber","FVSContactNumber","RepCanWeCallYes","RepCanWeCallNo","RepBestDaysTime","RepresentativePreferredContactDayTime","RepEmailAddress","RepresentativeEmailAddress","SendEmailCopy","RepresentativeRequestsEmailCopyBool","RiskAfraidYes","HasScaredFeelings","RiskAfraidNo","SupportAgencyAssessmentNo","HasRiskAssessment","SupportAgencyAssessmentYes","SupportAgencyAssessmentUnsure","SupportServicesContactNo","ContactSpecialist","SupportServicesContactYes","GenderMale","Gender","GenderFemale","GenderSelfDescribedSpecify","LGBTIQYes","LGBTIQIdentified","LGBTIQNo","DisabilityImpairmentYes","HasDisability","DisabilityImpairmentNo","DisabilityImpairmentSpecify","ATSIYes","Origin","ATSINo","EnglishNo","EnglishProficiency","EnglishPoorly","EnglishAdequately","EnglishWell","HomeLanguage","ObligationsAllOutstanding","ObligationsListed","ObligationsListedExclude","ObligationNumbersIncludeExclude","HaveFinesWithdrawn","NominateDriver","DriverGivenNames","GivenNamesOptional","DriverFamilyName","FamilyNameOptional","DriverDriverStateCountryIssue","StatecountryOfIssueOptional","LicenceStateOptional","DriverDriverLicence","DriverDOB","DOBOptional","CombinationAbove","CombinationDescribe","HowDealtWithFines","PAYes","PANo","PARemoveYes","PARemoveNo","PAProposeYes","ReincludeFines","PAProposeNo","NumberAttachments","ReasonsApplication","ReasonForApplication","ApplicantDeclaration","ApplicantDeclarationDate","RepDeclaration","RepDeclarationDate","FVSSchema","ConsentToThirdParty","ReportNameFileUplodErrorHandle","SignedStatutoryFileUploadErrorHandle","StatutoryUploadFileSectionError","SignedStatutoryFieldErrorHandle","FVSMetaData","step18","step23","page23","step24","step25","NoDriverLicenceOptional","pagesLodgedByVictim","AnyEligibleNomiation","AnyPaymentArrangement","pagesLodgedByRepresentative","FVSErrorPage","FVSStep0","FVSStep1","FVSStep1AlertContent","FVSStep1NoteContent","FVSStep2","FVSStep2AlertContent","FVSStep3AlertContent3","FVSStep3AlertContent4","FVSStep3","additionalText1Title","step3Additionaltext1content","titleText1","additionalText2Title","step3Additionaltext2content","titleText2","additionalText3Title","step3Additionaltext3content","titleText3","SevenDayNoticeContent","TILE_DATA_FINES_ACTIONS","hasTouchedActionsTaken","hasTouchedNoActionTaken","isActionGpDisabled","setActionGpDisabled","isNoneOptDisabled","setNoneOptDisabled","urgentOptions","urgent","some","ele","inputGroupSpacing","col","checkBoxTitleSpacing","separator","FVSStep4","currentDate","isNotifyHelp","setNotifyHelp","modalName","modalLink","FVSStep5","hasTouchedApplicationLodger","LodgedByVictim","LodgedByRepresentative","applicationLodger","FVSStep6","VictimInformation","RiskAndSupportDetails","validTitle","modalContentText","IDoNotKnowValue","TILE_DATA_1","TILE_DATA_2","FVSStep7","BackgroundAndIdentityDetails","subHeadingH3","subInfo","FVSStep8","FVSStep9","hasTouchedWhichOtherFines","FVSStep9AlertContent","middleReferenceSection","FVSStep10AlertContent1","FVSStep10AlertContent2","FVSStep19AlertContent2","LikelyPossibilities","FinesWithdrawn","NominatedDriver","Combination","FVSStep10","FVSStep11AlertContent","PaymentArrangements","FVSStep11","SupportingDocuments","isCheckedUnable","setCheckedUnable","dropdownLayout","pre","FVSStep12","ApplicationReasons","FVSStep13","FVSStep14","RepresentativeRequestsEmailCopy","RepresentativeDeclinesEmailCopy","RepresentativeEmailCopyBool","RepresentativeAllowsPhoneCommunication","RepresentativeDeclinesPhoneCommunication","RepresentativePhoneCommunicationBool","FVSStep15","FVSStep16","FVSStep17","FVSStep18","FVSStep18AlertContent","EligibleFinesValue","FollowingEligibleFines","ExcludingEligibleFines","REGISTERED_FINE_TYPE_DATA","ADDITIONAL_FINES_CONFIRMATION_DATA","FVSStep19","FVSStep20","FVSStep21","FVSStep22","FVSStep23","FVSStep24","FVSStep25","WhatWillHappen","FamilyViolenceScheme","pathNameUpperCase","partialFormAttachmentFields","arrayFieldsToBeCleared","redirectUrl","fetchRegObligationNums","selectedObligations","authorisedObligation","NextStep","checkIfAnyChanges","isChanged","step9NextPage","getEligibleNominationList","anyEligibleNomiation","step10NextPage","getPaymentArrangement","anyPaymentArrangement","step18NextPage","SignedStatutoryProvider","SignedStatutoryDescription","SignedDeclarationNameField","FormContainer","paths","formContainer","DemoPage","OptionOne","OptionTwo","OptionThree","OptionFour","TILE_DATA_A","TILE_DATA_B","gridColQuarter","DemoForm","_values","DemoSchema","validation","testAddress","testDate","InfringementExtensionSchema","OFFENCE_FIND_OUT_DATE","setDate","WasHandedInPerson","FileSizeLimitSupportingDoc","SupportingDocFieldErrorHandle","parent","createError","SupportingDocFileUploadErrorHandle","SupportingDocUploadFileSectionError","IndividualFamilyName","IndividualGivenName","IndividualEmail","IndividualEmailTo","IndividualReceiveDocs","CompanyGivenName","CompanyFamilyName","PositionInCompany","CompanyContactNumber","CompanyEmail","CompanyReceiveDocs","CompanyEmailTo","CompanyStreetAddress","InfringementExtensionMetaData","isOfficerIssued","IneligibleObligations","selectObNumbersStr","DateBecameAwareOfFine","HandedIWNoticeAtOffence","isIndividual","ObligationNumbers","ExplainWhyTheEnforcementOrderShouldBeReviewedProvideDetailedReasons","FamilyNameSurname","YesEmailCorrespondence","StateCountryOfIssue","ABNACN","ResidentialAddressLineOne","ResidentialAddressLineTwo","ResidentialAddressPostcode","ResidentialAddressState","ResidentialAddressSuburb","ResidentialAddressCountry","StreetAddressLineOne","StreetAddressLineTwo","StreetAddressPostcode","StreetAddressState","StreetAddressSuburb","StreetAddressCountry","PostalAddressLineOne","PostalAddressLineTwo","PostalAddressPostcode","PostalAddressState","PostalAddressSuburb","PostalAddressCountry","SignatureOfApplicant","DeclarationDate","FooterSubmissionNo","FooterFormType","FooterObligationNo","FooterSubmittedTime","InfringementExtErrorPage","InfringementExtStep0","isInfringementIneligibleCode","isPersonUnaware","isIneligibleCode","isNominatedCode","isFullyPaidCode","InfringementExtStep1","titleText","navigateToPayFines","navigateToViewFines","MagistratesCourtIneligibleAlertContentError1","errorMessageButtons","PersonUnawareIneligibleAlertContentError2","IneligibleObligationAlertContentError3","NominatedIneligibleAlertContentError4","PaidIneligibleAlertContentError5","InfringementExtStep1AlertContent","InfringementExtStep1NoteContent","InfringementExtStep2","InfringementExtStep2AlertContent","InfringementExtensionStep3AlertContent1","InfringementExtensionStep3AlertContent2","InfringementExtStep3","isTimeOfOffenceEnabled","setTimeOfOffenceEnabled","getTicketInfo","InfringementExtStep4","InfringementExtStep5","eligibleObs","setEligibleObligations","ineligibleObs","setIneligibleObligations","InfringementExtStep6","fileDescrption","setFilesDescription","fileSizeLimit","setFileSizeLimit","fileNumberLimit","setFileNumberLimit","getFileInfo","getValidFilesConfig","infringementData","Description","FileSize","MaxAttachments","largeTextBox","CompanyInformationInfringementExtension","InfringementExtStep7","currentSp","InfringementExtStep8","InfringementExtStep9","InfringementExtStep10","currentDomain","currentFormName","referenceID","setreferenceID","surveyUrl","setSurveyUrl","feedbackOptions","setFeedbackOptions","pageLoad","DifficultMessage","getKeyByValue","object","feedbackOptionID","FormExperience","currentDT","toISOString","ReferenceId","Source","SitecoreItemId","Value","IsSurveyCompleted","referenceIdRes","parsedData","constructor","fetchOptions","PATH_IE","REACT_APP_PATH_INFRINGEMENT_EXTENSION","InfringementExtension","Message","step5NextPage","DebtorId","SupportingDocNameField","SupportingDocFilesProvider","SupportingDocFilesDescription","NominationSchema","TaxDriverAccNumber","DriverLicenseSomeoneElse","LicenceStateSomeoneElse","DOBSomeoneElse","ResidentialAddressSomeoneElse","IndividualContactNumberSomeoneElse","EmailSomeoneElse","CompanyNameSomeoneElse","AcnNoSomeoneElse","isACNValidSomeoneElse","AbnNoSomeoneElse","isABNValidSomeoneElse","CompanyStreetAddressSomeoneElse","OrganisationContactNumberSomeoneElse","CompanyEmailSomeOneElse","TransferedVicRoads","DateSellOrDispose","schema","IsMarineOffence","schemaInner","EvidenceSoldOrDisposeSizeErrorHandle","FileUploadSizeConfig","EvidenceSoldOrDisposeFileUploadErrorHandle","EvidenceSoldOrDisposeFileSectionError","EvidenceSoldOrDispose","DriverLicenseSoldDisposed","LicenceStateSoldDisposed","DOBSoldDisposed","ResidentialAddressSoldDisposed","IndividualContactNumberSoldDisposed","EmailSoldDisposed","CompanyNameSoldDisposed","AcnNoSoldDisposed","isACNValidSoldDisposed","AbnNoSoldDisposed","isABNValidSoldDisposed","OrganisationContactNumberSoldDisposed","CompanyStreetAddressSoldDisposed","CompanyEmailSoldDisposed","VictoriaPoliceReferenceNumber","ensure","VehicleOrIdentificationStolenOrFalse","VehicleOrIdentificationStolenOrFalseSizeErrorHandle","VehicleOrIdentificationStolenOrFalseFileUploadErrorHandle","VehicleOrIdentificationStolenOrFalseFileSectionError","IncorrectNominationExplanation","RejectionSupportingDocsSizeErrorHandle","RejectionSupportingDocsFileUploadErrorHandle","UnableToIdentifyExplanation","UnableToIdentifySizeErrorHandle","UnableToIdentifyFileUploadErrorHandle","DOBYourDetails","DriverLicenseYourDetails","LicenceStateYourDetails","IndividualPostalAddressYourDetails","ResidentialAddressYourDetails","IndividualContactNumberYourDetails","EmailYourDetails","GivenNamesYourDetailsCompany","FamilyNameYourDetailsCompany","PositionInCompanyYourDetailsCompany","CompanyEmailYourDetails","CompanyNameYourDetailsCompany","AcnNoYourDetails","isACNValidYourDetails","AbnNoYourDetails","isABNValidYourDetails","OrganisationContactNumberYourDetailsCompany","CompanyStreetAddressYourDetails","CompanyPostalAddressYourDetails","nominationConsentToDeclaration","NominationMetaData","tSVBoatingMaringOffenceStr","IsTsvOffence","displayThePage","selectedOption","SelectedGroundInfo","RejectionSupportingDocs","UnableToIdentify","NoContactNumberYourDetails","NoOrgContactNumberYourDetails","nominationEndpoint","groundsInfo","WhichStatementBestDescribesYou","YourGivenNames","YourFamilyName","YourContactNumber","YourEmailAddress","YourDateOfBirth","YourDriverLicenceNumber","YourPlaceOfIssue","YourStateOfIssue","YourPostalLineOne","YourPostalLineTwo","YourPostalSuburb","YourPostalState","YourPostalPostcode","YourPostalCountry","YourResidentialLineOne","YourResidentialLineTwo","YourResidentialSuburb","YourResidentialState","YourResidentialPostcode","YourResidentialCountry","YourPositionInCompany","CompanyACNABN","CompanyACNABNNumber","CompanyStreetLineOne","CompanyStreetLineTwo","CompanyStreetSuburb","CompanyStreetState","CompanyStreetPostcode","CompanyStreetCountry","CompanyPostalLineOne","CompanyPostalLineTwo","CompanyPostalSuburb","CompanyPostalState","CompanyPostalPostcode","CompanyPostalCountry","GroundsForNomination","VehicleTransferVicRoads","DateVehicleSoldDisposedOf","NominatedGivenNames","NominatedFamilyName","NominatedDateOfBirth","NominatedTaxiDriverAccreditationNumber","NominatedDriverLicenceNumber","NominatedPlaceOfIssue","NominatedStateOfIssue","NominatedResidentialLineOne","NominatedResidentialLineTwo","NominatedResidentialSuburb","NominatedResidentialState","NominatedResidentialPostcode","NominatedResidentialCountry","NominatedContactNumber","NominatedEmailAddress","NominatedCompanyName","NominatedACNABN","NominatedACNABNNumber","NominatedPositionInCompany","NominatedCompanyStreetLineOne","NominatedCompanyStreetLineTwo","NominatedCompanySuburb","NominatedCompanyState","NominatedCompanyPostcode","NominatedCompanyCountry","NominatedCompanyContactNumber","NominatedCompanyEmailAddress","WhatStepsDidYouTake","PoliceReportReferenceNumber","AlreadyHaveASavedFormContent","NominationErrorPage","NominationStep0","getGroundsInfo","validFilesConfig","basicInfo","FineStage","HasBeenNominatedBefore","OffenceType","IsSeriousOffence","validFileInfo","isIneligible","isNotInSystem","NominationStep1","IneligibleForNomination","NotInSystemNomination","NominationStep1AlertContent","NominationStep1NoteContent","reduceGap","NominationStep2","NominationStep2AlertContent","NominationStep3","obligationNum","NominationStep3AlertContent1","NominationStep4","NominationStep4AlertContent1","NominationStep5","vehicleContent0","vehicleContent1","vehicleContent2","vehicleContent3","vehicleContent4","marineContent0","marineContent1","marineContent2","marineContent3","marineContent4","notMarineOffence","marineOffence","filteredTileData","NominationStep6","NominationStep7","IsTransfered","FileUploadMaxAttachmentsConfig","NominationStep8","filteredData","NominationStep9","marginBottom","NominationStep10","NominationStep11","NominationStep12","NominationStep13","declarationMsg","setDeclarationMsg","individualRoadOffence","companyRoadOffence","individualMarineOffence","companyMarineOffence","NominationStep14","WhatHappenToNextMessage","Nomination","setIsIndividual","getGroundsInfoFileConfig","getObOptions","navigateToSpecificSteps","sessionStorage","setItem","getNominationEndpoint","alreadySavedForm","NoResidentialAddressSomeoneElse","FileUploadDescriptionConfig","EvidenceSoldOrDisposeNameField","EvidenceSoldOrDisposeProvider","EvidenceSoldOrDisposeFilesDescription","EvidenceSoldOrDisposeErrorHandle","OrganisationContactNumberYesNoSoldDisposed","VehicleOrIdentificationStolenOrFalseNameField","VehicleOrIdentificationStolenOrFalseProvider","VehicleOrIdentificationStolenOrFalseDescription","VehicleOrIdentificationStolenOrFalseErrorHandle","RejectionSupportingDocsNameField","RejectionSupportingDocsProvider","RejectionSupportingDocsDescription","RejectionSupportingDocsErrorHandle","RejectionSupportingDocsFileSectionError","UnableToIdentifyNameField","UnableToIdentifyProvider","UnableToIdentifyDescription","UnableToIdentifyErrorHandle","UnableToIdentifyFileSectionError","OrganisationContactNumberYesNoYourDetails","dateAfter21Days","dateAfter84Days","InstalmentSchema","TotalPaymentArrangementAmount","MoreInfoAboutMatters","DetailsForUpfrontPaymentCircumstances","FileSizeLimitUpfrontPayment","SupportingDocUpfrontPaymentFieldErrorHandle","SupportingDocUpfrontPaymentFileUploadErrorHandle","SupportingDocUpfrontPaymentUploadFileSectionError","specifyPaymentType","centrelinkRefNo","fortnightlyPaymentAmount","isNaN","centrelinkCheck","instalmentFrequency","instalmentAmount","parseFloat","ceil","minimumFortnightlyPayments","minimumMonthlyPayments","firstInstalmentDate","DetailsOfFinancialCircumstances","FileSizeLimitFinancialDocs","SupportingFinancialDocFieldErrorHandle","SupportingFinancialDocFileUploadErrorHandle","SupportingFinancialDocUploadFileSectionError","numberOfDependents","fortnightlyIncomeAfterTax","fortnightlyExpenses","quarterlyProfit","quarterlyLoss","InstalmentMetaData","SupportingDocumentsUpfrontPayment","SupportingFinancialDocuments","totalNumberOfAttachmentsFinancial","totalNumberOfAttachmentsUpfrontPayment","descriptionOfAttachmentsArrayFinancial","descriptionOfAttachmentsArrayUpfrontPayment","remoteAttachmentNames1","allAttachmentNames","Sanction","CurrentLicence","DOBDD","DOBMM","DOBYYYY","DoYouReceiveAnyCentrelinkPayments","CentrelinkReferenceNumber","WhatTypeOfPaymentDoYouReceive","IfOther","CentrelinkYesOrNo","HowMuchCanYouPayFortnightly","FortnightlyCheckbox","CheckBoxSeven","MonthlyCheckbox","FortnightlyAmount","MonthlyAmount","InstalmentDD","InstalmentMM","InstalmentYYYY","YourFortnightlyIncome","NumberOfDependants","YourFortnightlyExpenses","ProfitOrLoss","DoYouHaveAnyExceptionalFinancialCircumstances","ExpensesOfAttachments","FinancialAttachments","StatementThatAppliesToYou","IfYouCannotAffordTheUpfrontPayment","MoreInformationOfAttachments","UpfrontPaymentAttachments","YouHaveChosenToNotIncludeTheFollowingFinesInThisApplication","DeclarationDD","DeclarationMM","DeclarationYYYY","InstalmentStep0","InstalmentStep1","NominatedIneligibleAlertContentError","InstalmentStep1AlertContent","InstalmentStep1NoteContent","InstalmentStep2","InstalmentStep3","InstalmentStep3AlertContent","InstalmentStep4","InstalmentStep5","arrangedObs","setArrangedObligations","defaultPAAmount","setDeafultPAAmount","additionalObligations","setAdditionalObligations","IsOnPlan","arrangedObs1","totalPAAmount","PANumberMap","PANumber","eligibleObsMap","sum","toLocaleString","minimumFractionDigits","maximumFractionDigits","ObligationsInvalidTypes","TotalAmount","total","TotalPaymentArrangementAmountDisplay","InstalmentStep6","hasTouchedMoreInfoAboutMatters","hasTouchedNoInfoApplies","InstalmentStep7","isCloseApplication","setIsCloseApplication","instalmentData","closeModal","navigateToHomePage","errorMessageQuestion","button_container","InstalmentStep8","isModalOpen","setIsModalOpen","instalmentDeductedTitle","centrepayModalInfo","centrepayCheck","InstalmentStep9","firstInstalmentDateTitle","instalmentNumberOfPayments","InstalmentStep10","InstalmentStep11","InstalmentStep12","InstalmentStep13","InstalmentStep14","InstalmentStep15","infoContent","InstalmentErrorPage","Instalment","IsIndividual","IsNominatable","saveAndContinue","ArrangedObligations","AdditionalObligationsNum","SupportingDocUpfrontPaymentNameField","SupportingDocUpfrontPaymentFilesProvider","SupportingDocUpfrontPaymentFilesDescription","SupportingFinancialDocNameField","SupportingFinancialDocFilesProvider","SupportingFinancialDocFilesDescription","ReviewSchema","ApplyingForPenaltyReminder","HaveYouSubmittedEnforcementReviewBefore","contraryToLawWasLegalMistakeMade","contraryToLawCanUploadSupportingDocs","wereThereExceptionalCircumstances","exceptionalsCanUploadSupportingDocs","wasThereAnIdentificationMistake","mistakeOfIdentityCanUploadSupportingDocs","mistakeOfIndentityWasSomeoneElseDriving","personUnawareFindOutDate","personUnawareCanUploadSupportingDocs","personUnawareEnforcementHappened","personUnawareWasSomeoneElseDriving","wereThereSpecialCircumstances","specialsCanUploadSupportingDocs","WhyYourFineShouldBeReviewed","StatementAndEvidenceDescription","StatementAndEvidenceSizeErrorHandle","StatementAndEvidenceFileUploadErrorHandle","StatementAndEvidenceFileSectionError","StatementAndEvidence","TimeExtension","selectTheSpecialOption","GivenNamesFineholderDetails","FamilyNameFineholderDetails","DOBFineholderDetails","StateOfIssueFineholderDetails","PostalAddressFineholderDetails","ResidentialAddressFineholderDetails","ContactNumberFineholderDetails","EmailFineholderDetails","GivenNamesYourDetailsIndividual","FamilyNameYourDetailsIndividual","DOBYourDetailsIndividual","StateOfIssueYourDetailsIndividual","PostalAddressYourDetailsIndividual","ResidentialAddressYourDetailsIndividual","ContactNumberYourDetailsIndividual","EmailYourDetailsIndividual","ReceiveApplicationViaEmailYourDetailsIndividual","ReceiveCorrespondenceViaEmailYourDetailsIndividual","GivenNamesYourDetailsThirdParty","FamilyNameYourDetailsThirdParty","RelationshipWithNamedPersonYourDetailsThirdParty","OrganisationNameYourDetailsThirdParty","PostalAddressYourDetailsThirdParty","ContactNumberYourDetailsThirdParty","EmailYourDetailsThirdParty","ReceiveApplicationViaEmailYourDetailsThirdParty","CorrespondenceRecipientYourDetailsThirdParty","ABNYourDetailsCompany","ACNYourDetailsCompany","PostalAddressYourDetailsCompany","StreetAddressYourDetailsCompany","ContactNumberYourDetailsCompany","EmailYourDetailsCompany","ReviewConsentToDeclaration","ReviewMetaData","isSpecialCircumstance","isExceptionalCircumstance","selectedGroundsMessage","selectedSpecialsGroundsMessage","getSelectedSpecialCircumstances","selectedSpecialCirc","BeforeYouContinuePage","whichStatementPage","whyAreYouRequestingAReviewPage","applyingWithSpecialCircumstancesPage","yourStatementPage","fineHolderDetailsPage","IndividualDetails","CompanyDetails","ThirdPartyDetails","yourDetailsContent","yourDetailsTitle","yourDetailsPage","checkFinesStep11","SelectedObligationsStep11","checkFinesStep12Entered","yourFinesPageIndividual","yourFinesPageCompanyOrThirdParty","statementDescribesYou","selectedSpecialsGroundsMessageOptions","selectedGroundsMessageOptions","checkFinesStep12AllEligible","checkFinesStep12ManuallyEntered","getSelectedObsStep11","getSelectedObsStep12","uploadedFileDescriptions","PRNFeeWaive","NoLicenceNumber","CountryOfIssue","StateOfIssue","ContactByEmail","RepresentativeGivenNames","RepresentativeFamilyNameSurname","AuthRepContactNumber","AuthRepSendCorroTo","AuthRepOrgName","AuthRepEmail","AuthRepContactByEmail","PositionrelationshipToApplicant","ReviewGround","SpecialCircumstancesGround","WhenDidYouFindOutAboutTheFine","WhyShouldFineBeReviewed","DocumentDescription","FinesToInclude","TimeNeededToGetEvidence","LineOneFive","LineTwoFive","SuburbFive","StateFive","PostcodeFive","CountryFive","FooterSubmissionTime1","FooterSubmissionTime2","FooterSubmissionTime3","FooterSubmissionTime4","ReviewStep0","ValidForPersonUnaware","IsNominated","isSanctioned","isSeriousESIOffence","isSevenDayServed","isWarrant","NotInSystem","ReviewStep1","SanctionedIneligibleAlertContentError1","SeriousESIOffenceAlertContentError2","IneligibleAlertContentError3","NominatedorFullyPaidIneligibleAlertContentError4","SevenDayIneligibleAlertContentError6","WarrantAlertContentError7","NotInSystemAlertContentError8","ReviewStep1AlertContent","ReviewStep1NoteContent","ReviewStep2","ReviewStep2AlertContent","ReviewStep3","WasSomeoneElseDrivingAtTimeOfOffenceAlert","ApplyingForPenaltyReminderAlert","HaveYouSubmittedEnforcementReviewBeforeAlert","ReviewStep4","ReviewStep5","ReviewStep5InfoContainerContent","listwithoutPadding","PERSON_UNAWARE_FIELD_NAME","FIELD_NAME","PersonUnawareContent","personUnawareErrorCount","setpersonUnawareErrorCount","errorsBlockingSelection","setErrorsBlockingSelection","olderThan15Days","personUnawareDateTitle","personUnawareCanUploadSupportingDocsTitle","personUnawareEnforcementHappenedTitle","personUnawareWasSomeoneElseDrivingTitle","SubmitApplication14DaysMsg","personUnawareCanUploadSupportingDocsMessage","personUnawareEnforcementHappenedMessage","personUnawareWasSomeoneElseDrivingMessage","fieldContainer","alertMessageBox","ErrorIcon","CONTRARY_TO_LAW_FIELD_NAME","ContraryToLaw","contraryToLawErrorCount","setContraryToLawErrorCount","contraryToLawWasLegalMistakeMadeTitle","contraryToLawCanUploadSupportingDocsTitle","contraryToLawWasLegalMistakeMadeMessage","contraryToLawCanUploadSupportingDocsMessage","EXCEPTIONAL_CIRCS_FIELD_NAME","exceptionalCicumstancesErrorCount","setExceptionalCicumstancesErrorCount","wereThereExceptionalCircumstancesTitle","exceptionalsCanUploadSupportingDocsTitle","wereThereExceptionalCircumstancesMessage","exceptionalsCanUploadSupportingDocsMessage","SPECIAL_CIRCS_FIELD_NAME","SpecialCircumstances","wereThereSpecialCircumstancesTitle","superscript","specialsCanUploadSupportingDocsTitle","wereThereSpecialCircumstancesMessage","specialsCanUploadSupportingDocsMessage","MISTAKE_OF_IDENTITY_FIELD_NAME","MistakeOfIdentity","wasThereAnIdentificationMistakeTitle","mistakeOfIdentityCanUploadSupportingDocsTitle","mistakeOfIndentityWasSomeoneElseDrivingTitle","wasThereAnIdentificationMistakeMessage","mistakeOfIdentityCanUploadSupportingDocsMessage","mistakeOfIndentityWasSomeoneElseDrivingIRMessage","mistakeOfIndentityWasSomeoneElseDrivingERMessage","ReviewStep6","reviewGrounds","filteredGrounds","ground","selectGroundsTitle","isPUEligible","MentalOrIntellectualDisability","SubstanceAddiction","Homelessness","LongTermDisability","FamilyViolence","ButtonStyle","linkIcon","LinkIcon","ReviewStep7","ReviewStep8","circumstances","setCircumstances","TimeExtensionOptionsList","setTimeExtensionOptionsList","ExceptionalOptionsList","SpecialOptionsList","UploadSupportingDocsAlert","ReviewStep9","pageFields","pageTitles","IndividualFormReview","ReceiveApplicationViaEmail","CompanyFormReview","ThirdPartyFormReview","ThirdPartyValue","PersonOnFineValue","CorrespondenceRecipient","tileLeft","ReviewStep10","ReviewStep11","PersonUnawareIneligibleList","NumberOfValidEnforcementReview","NumberOfValidInternalReview","NumberOfInvalidSevenDayNotice","PUIneligbleNums","filteredEligibleObligations","ReviewStep12","NoOtherFinesValue","IncludeAllFinesValue","ListFinesValue","obligationNumberContainer","obligationNumberField","errorList","fromEntries","AddIcon","ReviewStep13","ReviewStep14","IndividualIR","IndividualER","CompanyIR","CompanyER","ThirdPartyIR","ThirdPartyER","ReviewStep15","WhatWillHappenNextMessage","ReviewErrorPage","Review","getBasicInformation","getReviewSubmissionEndpoint","reviewGroundsList","StatementAndEvidenceNameField","StatementAndEvidenceProvider","mPOST","finesList","navUrl","destination","nextPage","currentPageNoRegex","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","autocompleteAddressMock","matched","captureAddressMock","addressLine3","components","deliveryPointId1","streetNumber1","street1","locality1","province1","provinceCode1","postalCode1","country1","countryISO1","metadata","addressIds","dpid","ADDRESS_API","REACT_APP_ADDRESS_AUTO_COMPLETE_API_ENDPOINT","REACT_APP_ADDRESS_AUTO_COMPLETE_API_TOKEN","REACT_APP_ADDRESS_AUTO_COMPLETE_MOCK","myHeaders","Headers","isThirdParty","isPostalDisabled","setPostalDisabled","RepresentativeAddressPreferred","ResidentialAddressPreferred","OtherPostalAddressPreferred","EmailPreferred","PreferredDeliveryAddressType","subHeadingInfo","radio"],"mappings":"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CACA,yCACA,4CAEIC,EAAyB,CAC7B,sBACA,6BACA,wBACA,gCACA,wBACA,+BACA,mCACA,uCACA,6CACA,uBACA,8BACA,yBACA,yBACA,iCACA,kDACA,sDACA,4DACA,qCACA,yCACA,+CACA,8BACA,kCACA,yCAEIC,EAAwB,CAC5B,iBACA,oBACA,mBAEIC,EAA8B,CAClC,wBACA,uCACA,0BACA,oBAsIIC,EAA+C,IAAIC,IACzDD,EAAsBE,IAAI,sBApII,CAC5B,sBACA,wBACA,wBACA,iBACA,sBACA,2BACA,0BACA,iCACA,6BACA,qBACA,2CACA,wCACA,wCACA,wCACA,uCACA,sCACA,yCACA,wCACA,kCACA,qBACA,mBACA,mDACA,6BACA,yBACA,wBACA,mBACA,wBACA,gCACA,mBACA,wBACA,6CACA,0CACA,0CACA,0CACA,yCACA,wCACA,2CACA,0CACA,qDACA,0BACA,iCA4FFF,EAAsBE,IAAI,sBA1FI,CAC5B,qBACA,oBACA,wBACA,iCACA,gCACA,wCACA,mCACA,uCACA,6CACA,wCACA,iCACA,yBACA,yBACA,kBACA,uBACA,4BACA,2BACA,kCACA,8BACA,4CACA,yCACA,yCACA,yCACA,wCACA,uCACA,0CACA,yCACA,sBACA,oBACA,oDACA,8BACA,0BACA,yBACA,oBACA,yBACA,6CACA,oBACA,yBACA,8CACA,2CACA,2CACA,2CACA,0CACA,yCACA,4CACA,2CACA,sDACA,iCACA,2BACA,kCAyCFF,EAAsBE,IAAI,sBAtCI,CAC5B,gCACA,uCACA,gDACA,+CACA,kDACA,kDACA,sDACA,4DACA,yDA8BFF,EAAsBE,IAAI,sBA3BI,CAC5B,iCACA,0BACA,mCACA,kCACA,qCACA,qCACA,yCACA,+CACA,4CAmBFF,EAAsBE,IAAI,sBAhBI,CAC5B,8BACA,mBACA,4BACA,2BACA,8BACA,8BACA,kCACA,wCACA,qCA0BF,OACE,gCACGR,EACD,uBACA,qBAAKn1B,UAAWE,KAAO01B,gBAAvB,SACE,sBAAK51B,UAAWE,KAAO+G,QAAvB,UACE,cAAC,EAAD,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AW5jB,kBAChCkoB,qBAAsB/D,EAEtBgE,oBAAqBtE,EACrBuE,gBAAiB/D,EACjBgE,oBAAqBzE,EAAW5jB,kBAChCsoB,qBAAsBnE,EAEtBoE,oBAAqB1E,EACrB2E,gBAAiBnE,EACjBoE,oBAAqB7E,EAAW5jB,kBAChC0oB,qBAAsBvE,EAEtBwE,oBAAqB9E,EACrB+E,gBAAiBvE,EACjBwE,oBAAqBjF,EAAW5jB,kBAChC8oB,qBAAsB3E,EAEtBmiB,oBAAqBziB,EACrB0iB,gBAAiBliB,EACjBmiB,oBAAqB5iB,EAAW5jB,kBAChCymC,qBAAsBtiB,EAEtBuiB,oBAAqB7iB,EACrB8iB,gBAAiBtiB,EACjBuiB,oBAAqBhjB,EAAW5jB,kBAChC6mC,qBAAsB1iB,IAiGxB,MA9FsC,CAEpC,YACA,sBACA,sBACA,kBACA,uBACA,cACA,eACA,eACA,iBACA,gBACA,KACA,WACA,cACA,cACA,WACA,aACA,iBACA,kBACA,kBACA,mBACA,aACA,aACA,oBACA,MACA,MACA,gBACA,eACA,MACA,eACA,8BACA,iCACA,iBACA,QACA,UACA,cACA,YACA,cACA,YACA,aACA,IACA,uBACA,WACA,kBACA,iBACA,uBACA,6BACA,aACA,0BACA,2BACA,qCACA,4BACA,gCACA,8BACA,6BACA,sCACA,yBACA,6CACA,wCAEA,kCACA,kCACA,+BACA,6BACA,8BACA,+BACA,6BACA,kBACA,6BACA,0BACA,wBACA,sBACA,2BACA,2BACA,sBACA,cACA,SACA,aACA,mBACA,wBACA,2BACA,2BACA,cACA,yBACA,uBACA,uBACA,sBACA,iBACA,mBAEkBhtB,SAAQ,SAAC1e,UACpB4sC,EAAa5sC,EACrB,IACM4sC,CACR,GAEYyhB,GAAkB7d,MAAaC,MAAM,CAChD0P,UAAW3P,MAAa7d,MAAM33B,KAAe+E,SAAShG,KACtDqmD,WAAY5P,MACTQ,IAAI,GAAI72C,KACR82C,IAAI,GAAIx2C,KACR22C,QAAQlV,EAAsB1hC,KAC9BuF,SAASvF,KACZ6L,UAAWmqC,MAAazwC,SAAS/F,MACjCsmC,YAA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,oBAAqB7iB,EACrB8iB,gBAAiBtiB,EACjBuiB,oBAAqBhjB,EAAW5jB,kBAChC6mC,qBAAsB1iB,IA2JxB,MAxJsC,CAGpC,YACA,sBACA,sBACA,kBACA,uBACA,cACA,eACA,eACA,iBACA,gBACA,KACA,WACA,cACA,cACA,WACA,aACA,iBACA,kBACA,kBACA,mBACA,aACA,aACA,oBACA,MACA,MACA,gBACA,eACA,MACA,eACA,wBACA,iCACA,iBACA,0BACA,QACA,UACA,cACA,YACA,cACA,YACA,aACA,IACA,uBACA,WACA,kBACA,iBACA,uBACA,6BACA,aACA,0BACA,2BACA,qCACA,4BACA,gCACA,8BACA,6BACA,sCACA,mBACA,6CACA,wCAEA,kCACA,kCACA,+BACA,6BACA,8BACA,kCACA,6BACA,8BACA,kCACA,+BACA,6BACA,qBACA,kBACA,6BACA,0BACA,wBACA,YACA,WACA,cACA,mBACA,sBACA,uBACA,wBACA,2BACA,2BACA,sBACA,6BACA,cACA,SACA,aACA,mBACA,0BACA,cACA,wBACA,2BACA,iBACA,cACA,oBACA,8BACA,0BACA,uBACA,8BACA,cACA,qBACA,qBACA,2BACA,kBACA,wBACA,gBACA,iBACA,qBACA,SACA,mBACA,SACA,oBACA,oBACA,oBACA,sBACA,4BACA,qBACA,oBACA,iBACA,gBACA,kBACA,sBACA,mBACA,sBACA,uBACA,sBACA,oBACA,wBACA,uBACA,uBACA,iBACA,qBACA,uBACA,sBACA,iBACA,WACA,uBACA,iCACA,uCACA,uCACA,kBACA,eAEkBhtB,SAAQ,SAAC1e,UACpB4sC,EAAa5sC,EACrB,IACM4sC,CACR,EAEY2vB,GAAY/rB,MAAaC,MAAM,CAC1C0P,UAAW3P,MAAa7d,MAAM33B,KAAe+E,SAAShG,KACtDqmD,WAAY5P,MACTQ,IAAI,GAAI72C,KACR82C,IAAI,GAAIx2C,KACR22C,QAAQlV,EAAsB1hC,KAC9BuF,SAASvF,KACZ6L,UAAWmqC,MAAazwC,SAAS/F,MACjCsmC,YAAakQ,MAAaM,KAAK,YAAa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L,YAAapT,EAAb,YAAsBqT,GAGrCqrB,mBAAoB,OACpBC,eAAgBt+B,EAChBu+B,mBAAoBh/B,EAAW5jB,kBAC/B6iD,oBAAqB1+B,EAErBwD,oBAAqB,OACrBC,gBAAiBvD,EACjBwD,oBAAqBjE,EAAW5jB,kBAChC8nB,qBAAsB3D,EAEtB4D,oBAAqB,MACrBC,gBAAiB3D,EACjB4D,oBAAqBrE,EAAW5jB,kBAChCkoB,qBAAsB/D,IAiGxB,MA7FsC,CACpC,WACA,QACA,eACA,QACA,cACA,uBACA,uBACA,mBACA,eACA,iBACA,iBACA,oBACA,mBACA,mCACA,oBACA,uBACA,qBACA,uBACA,aACA,MACA,cACA,iBACA,WACA,WACA,aACA,sBACA,aACA,WACA,iBACA,iBACA,aACA,eACA,sBACA,KACA,uBACA,0BACA,kBACA,oBACA,uBACA,sBACA,sCACA,uBACA,0BACA,+BACA,wBACA,kBACA,eACA,kBACA,iBACA,oBACA,eACA,wBACA,mBACA,cACA,cACA,sBACA,gBACA,uBACA,cACA,YACA,sBACA,2BACA,sBACA,SACA,gCACA,qCACA,gCACA,6BACA,yBACA,sCACA,sBACA,6BACA,aACA,cACA,sBACA,yBACA,kBACA,YACA,aACA,kBACA,eACA,YACA,aACA,iBACA,kBACA,kBACA,mBACA,2BAEkBhtB,SAAQ,SAAC1e,UACpB4sC,EAAa5sC,EACrB,IACM4sC,CACN,EC1jCcy9B,OATf,WACE,IAAQ9nE,EAAyD7D,cAAzD6D,OACR,OACE,mCACE,cAAC,IAAD,CAAW7B,aAAc6B,EAAOiyC,mBAGrC,E,qBCkIc81B,OAhIf,YAAoE,IAApCpb,EAAmC,EAAnCA,UACxBltD,EAAWC,cACXH,EAAWC,cACjB,EAA8BW,oBAAS,GAAvC,mBAAO4V,EAAP,KAAgBif,EAAhB,KACMwpB,EAAmBj/C,EAASoB,SAASqB,MAAM,KACzCjD,EAAaa,qBAAWC,MAAxBd,SACF0/C,EAAYnO,EAAekO,EAAkB,QAC7CE,EAAgBD,EAAYD,EAAiB98C,OAC7Ci9C,EAA0BF,EAAYl/C,EAASoB,SAASq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,uBAA2B6kC,EAAWmoC,iBAAmBnoC,EAAWmoC,iBAAmB,GAAOnoC,EAAWuoC,wBAA0BvoC,EAAWuoC,wBAA0B,KA4LhM,MAzLsC,CACpC,IACA,oBACA,mBACA,mBACA,yBACA,wBACA,wBACA,oBACA,mBACA,wBACA,mBACA,cACA,4BACA,2BACA,0BACA,gCACA,+BACA,+BACA,0BACA,0BACA,yBACA,gCACA,kCACA,mCACA,kCACA,kCACA,aACA,MACA,cACA,kBACA,iBACA,uBACA,sBACA,iBACA,iBACA,oBACA,WACA,WACA,aACA,+BACA,sCACA,sCACA,4BACA,2BACA,2BACA,kBACA,QACA,oBACA,mBACA,mBACA,wBACA,mCACA,wCACA,6CACA,wCACA,iCACA,gCACA,uCACA,aACA,yBACA,wBACA,wBACA,+BACA,8BACA,iCACA,uBACA,YACA,WACA,iBACA,aACA,yBACA,wBACA,wBACA,+BACA,eACA,sBACA,yBACA,yBACA,kBACA,mBACA,KACA,iCACA,sCACA,qCACA,qCACA,qCACA,qBACA,kBACA,mBACA,iBACA,kBACA,eACA,kBACA,2BACA,0BACA,0BACA,SACA,iCACA,8BACA,6BACA,6BACA,8BACA,6BACA,6BACA,sBACA,qBACA,qBACA,iCACA,gCACA,kCACA,cACA,eACA,sBACA,wBACA,cACA,6CACA,wCACA,uCACA,uCACA,4CACA,8CACA,gBACA,sCACA,uBACA,0BACA,qCACA,qCACA,0CACA,+CACA,mCACA,kCACA,yCACA,iCACA,gCACA,gCACA,YACA,aACA,kBACA,eACA,mBACA,cACA,YACA,qBACA,kCACA,iCACA,iCACA,SACA,YACA,qBACA,UACA,qBACA,mBACA,8BACA,8BACA,8BACA,mCACA,wCACA,4BACA,2BACA,kCACA,uBACA,uCACA,kDACA,kDACA,uDACA,4DACA,gDACA,+CACA,sDACA,gCACA,oBACA,sBACA,iCACA,wBACA,wBACA,yBACA,yBACA,wBACA,wBACA,WAEkBh1D,SAAQ,SAAC1e,UACpB4sC,EAAa5sC,EACrB,IACM4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gB,GACnJ88E,WAAY7jD,EAAWvkC,uBAAyBukC,EAAWtD,uBAAyBsD,EAAW2/C,mCAAmC34E,OAAe,GACjJ88E,UAAW9jD,EAAWvkC,uBAAyBukC,EAAWtD,uBAAyBsD,EAAW2/C,mCAAmC14E,MAAc,GAC/I88E,aAAc/jD,EAAWvkC,uBAAyBukC,EAAWtD,uBAAyBsD,EAAW2/C,mCAAmCz4E,SAAiB,GACrJ88E,YAAahkD,EAAWvkC,uBAAyBukC,EAAWtD,uBAAyBsD,EAAW2/C,mCAAmCx4E,QAAgB,GAGnJ48B,oBAAqB9D,EACrB+D,gBAAiBvD,EACjBwD,oBAAqBjE,EAAW5jB,kBAChC6nE,sBAAuB1jD,EAEvB4D,oBAAqBlE,EACrBmE,gBAAiB3D,EACjB4D,oBAAqBrE,EAAW5jB,kBAChC8nE,sBAAuB3jD,EAEvBgE,oBAAqBtE,EACrBuE,gBAAiB/D,EACjBgE,oBAAqBzE,EAAW5jB,kBAChC+nE,sBAAuB5jD,EAEvBoE,oBAAqB1E,EACrB2E,gBAAiBnE,EACjBoE,oBAAqB7E,EAAW5jB,kBAChCgoE,sBAAuB7jD,IA2JzB,MAzJsC,CACpC,IACA,wBACA,wBACA,+BACA,6BACA,6BACA,cACA,uBACA,UACA,iBACA,4BACA,gCACA,iCACA,kCACA,qCACA,qCACA,uCACA,mCACA,+CACA,aACA,WACA,aACA,MACA,uBACA,2BACA,cACA,iBACA,qCACA,yCACA,sCACA,sBACA,kBACA,yBACA,0BACA,6BACA,6BACA,gCACA,sCACA,aACA,8BACA,+BACA,kCACA,kCACA,iBACA,aACA,8BACA,iCACA,uBACA,WACA,8BACA,+BACA,kCACA,kCACA,eACA,wCACA,0CACA,sBACA,KACA,qBACA,sBACA,eACA,iBACA,kBACA,sBACA,yBACA,2BACA,wBACA,gBACA,mBACA,yBACA,kBACA,2CACA,0CACA,+BACA,iCACA,8BACA,gCACA,gCACA,cACA,sBACA,eACA,mBACA,cACA,kCACA,wCACA,gBACA,gCACA,oCACA,sCACA,iCACA,kCACA,qCACA,qCACA,uCACA,mCACA,2BACA,qCA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","file":"static/js/1.e75145dd.chunk.js","sourcesContent":["// Date/date of birth field\r\nconst INVALID_DAY = 'This is a required field, please fill in the day in DD format.';\r\nconst INVALID_DAY_LENGTH = 'The day must have a length of 2 numbers.';\r\nconst INVALID_DAY_FORMAT = 'The day must be from 1 - 31, only numbers are allowed.';\r\nconst INVALID_MONTH = 'This is a required field, please fill in the day in MM format.';\r\nconst INVALID_MONTH_LENGTH = 'The month must have a length of 2 numbers.';\r\nconst INVALID_MONTH_FORMAT = 'The month must be from 1 - 12, only numbers are allowed.';\r\nconst INVALID_YEAR = 'This is a required field, please fill in the day in YYYY format.';\r\nconst INVALID_YEAR_LENGTH = 'The year must have a length of 4 numbers.';\r\nconst INVALID_YEAR_FORMAT = 'The year can only have numbers, no spaces or special characters are allowed.';\r\nconst EMPTY_DATE = 'Please enter the date in DD/MM/YYYY format';\r\nconst INVALID_DATE_INPUT_FORMAT = 'The date format should be DD/MM/YYYY. Only numbers are allowed.';\r\nconst INVALID_FUTURE_DATE = 'The date must be in the past.';\r\nconst INVALID_PAST_DATE = 'The date must be in the future.';\r\nconst EMPTY_CHECKBOX = 'Please select an option';\r\n\r\n// Numeric text field\r\nconst INVALID_NUMERIC_FORMAT = 'Please complete this field';\r\n\r\nconst INVALID_YESNO_FORMAT = 'Please select an option';\r\n// Name fields\r\nconst INVALID_NAME_FORMAT = 'Please do not use any numbers or special characters.';\r\nconst INVALID_NAME_FORMAT_NEW = \"Only the following characters are allowed: letters, numbers, spaces, and the following special characters: -'.\";\r\n\r\n// Mobil fields step4\r\nconst INVALID_MOBILE_NUMBER_FORMAT = 'Please enter a valid number with 10 digits';\r\n\r\n// Driver licence\r\nconst INVALID_LICENCE_FORMAT = 'Please do not use any special characters, only alphanumeric values are allowed.';\r\nconst INVALID_LICENCE_FORMAT_NOMINATION = 'Only the following characters are allowed: letters, numbers and spaces';\r\n\r\n// Residential address\r\nconst INVALID_ADDRESS_FORMAT = 'This field is required. No numeric or special characters are allowed.';\r\nconst EMPTY_ADDRESS = 'Please complete this field';\r\n\r\n// Upload files\r\nconst INVALID_FILE_SIZE = 'Sorry, this file is either too large (must be less than 4MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.';\r\nconst INVALID_FILE_TYPE = 'The type of file you are trying to attach is not accepted. The allowed types are: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.';\r\nconst FILE_UPLOAD_FAIL = 'Sorry, your attachment has failed to upload. Please try again.';\r\n\r\n// Preferred contact number/Fax number\r\nconst INVALID_PHONE_NUMBER = 'Please enter a valid contact number. No spaces or special characters are allowed.';\r\nconst INVALID_PHONE_NUMBER_LENGTH = 'Contact number must have a maximum of 10 numbers.';\r\nconst INVALID_PHONE_NUMBER_LENGTH_15 = 'Contact number must have a maximum of 15 numbers.';\r\n\r\nconst INVALID_OBLIGATION_NUMBER = 'Please enter a valid obligation number';\r\nconst FIELDS_WITH_SEPCIFI_CHARS_MSG = 'Please complete this field without the following characters: <>';\r\nconst INVALID_OBLIGATION_TOTAL_NUMBER = 'A maximum of 25 obligations can be accpected.';\r\nconst INVALID_OBLIGATION_NUMBER_DUPLICATE = 'Please complete this field without a duplicate obligation number.';\r\n\r\n/* Special fields */\r\n// Vehicle Registration\r\nconst INVALID_VEHICLE_REGISTRATION_NUMBER = 'Please enter a valid registration number, no lower cases, special characters are allowed.';\r\n\r\n// Email\r\nconst INVALID_EMAIL = 'Please enter a valid email address. Email addresses must include the @ symbol and must have no spaces.';\r\n\r\n// Centrelink check\r\nconst MISSING_CENTRELINK_CHECK = 'You must agree to the statements above.';\r\n\r\n// Declaration\r\nconst MISSING_DECLARATION_AGREEMENT = 'To submit, you will need to agree to the statements above.';\r\n\r\n// Lodging Application\r\nconst MISSING_APPLICATION_LODGING_AGREEMENT = 'To continue, you must agree to the statement above.';\r\n\r\nconst INVALID_ORG_NAME_FORMAT = 'Please enter a valid name. Only the following characters are allowed - letters, numbers, space, @#\\\\()$%*&=-.,\\'?!-:;\"/|';\r\n\r\nconst INVALID_NAME_FORMAT_NO_SPECIAL = 'Please do not use any special characters.';\r\n\r\n// i\r\n\r\nconst INVALID_OFFENCE_FIND_OUT_DATE = 'To be eligible, you must have found out about the fine within the past 14 days.';\r\nconst INVALID_ADDRESS_SEARCH_FORMAT = \"Only the following characters are allowed: letters, numbers, spaces, and the following special characters :.;,'/\\\\()\";\r\nconst INVALID_INPUT_LONGER_THAN_200_CHARS = 'Too Long. The input must be less than 200 characters';\r\nconst INVALID_INPUT_LONGER_THAN_100_CHARS = 'Too Long. The input must be less than 200 characters';\r\nconst INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION = 'Too Long. The input must be less than 100 characters';\r\nconst INVALID_INPUT_LONGER_THAN_80_CHARS = 'Too Long. The input must be less than 80 characters';\r\nconst INVALID_INPUT_LONGER_THAN_75_CHARS = 'Too Long. The input must be less than 75 characters';\r\nconst INVALID_INPUT_LONGER_THAN_50_CHARS = 'Too Long. The input must be less than 50 characters';\r\nconst INVALID_INPUT_LONGER_THAN_40_CHARS = 'Too Long. The input must be less than 40 characters';\r\nconst INVALID_INPUT_LONGER_THAN_25_CHARS = 'Too Long. The input must be less than 25 characters';\r\nconst INVALID_INPUT_LONGER_THAN_15_CHARS = 'Too Long. The input must be less than 15 characters';\r\nconst INVALID_INPUT_LONGER_THAN_10_CHARS = 'Too Long. The input must be less than 10 characters';\r\nconst INVALID_COMPANY_NAME = \"Only the following characters are allowed: letters, numbers, spaces, and the following special characters @#\\\\()$%*&=-.,?!-:\\\"'/\";\r\nconst INVALID_FREE_TEXT_FIELD_FORMAT = \"Only the following characters are allowed: letters, numbers, spaces, and the following special characters $:%.;,\\\"@&?'#=!/\\\\_-()\";\r\nconst INVALID_POSITION_IN_COMPANY_FIELD = \"Only the following characters are allowed: letters, numbers, spaces, and the following special characters '-.,.\";\r\nconst INVALID_VEHICLE_REGISTRATION_NUMBER_LENGTH = 'Please enter a valid registration number, no spaces or special characters are allowed.';\r\nconst INVALID_POST_CODE = 'Only the following characters are allowed: letters, numbers, spaces';\r\nconst INVALID_POST_CODE_NOMINATION = 'Only the following characters are allowed: letters, numbers and spaces';\r\nconst INVALID_ADDRESS_FIELD_ERROR = 'Only the following characters are allowed: letters, numbers, spaces, and the following special characters -:.;,\\'/\\\\()&';\r\n\r\nconst INVALID_ABN = 'Please enter a valid ABN.';\r\nconst INVALID_ACN = 'Please enter a valid ACN.';\r\nconst INVALID_CRN = 'Invalid CRN. A CRN is 9 digits followed by a letter (eg. 123456789e).';\r\nconst INVALID_MIN_PAYMENT_FORTNIGHTLY = 'The minimum payment amount per fortnight is $10.';\r\nconst INVALID_MIN_PAYMENT_LOW = 'The minimum payment amount is $10 per fortnight or $20 per month';\r\n\r\nconst INVALID_MIN_PAYMENT_HIGH = 'The amount you have entered does not require a payment arrangement. You should pay your outstanding amount to avoid added costs';\r\n\r\nfunction INVALID_REPAYMENT_TIME_LENGTH(minFortnightlyPayment: string, minMonthlyPayment: string): string {\r\n return `Repayment must be made within 10 years. Your repayment must be at least $${minFortnightlyPayment} per fortnight or $${minMonthlyPayment} per month`;\r\n }\r\n\r\nfunction INVALID_FIRST_INSTALMENT_DATE(dateAfter28Days: Date): string {\r\n return `The date must be in the future and before ${dateAfter28Days.getDate()}/${dateAfter28Days.getMonth() + 1}/${dateAfter28Days.getFullYear()}`;\r\n}\r\n\r\nfunction INVALID_FILE_SIZE_CUSTOM(maxFileSize: string): string {\r\n return `Sorry, this file is either too large (must be less than ${maxFileSize}MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.`;\r\n}\r\n\r\nconst INVALID_MONETARY_AMOUNT = 'Please enter a valid amount';\r\nconst INVALID_NUMBER_INPUT = 'Please enter a valid number';\r\nconst CONFIRM_AUTHORISED = 'Please confirm that you are authorised.';\r\n\r\nconst CLICK_PLUS_ICON = \"Please click the '+' icon to add the obligation or infringement number to this application\";\r\n\r\nexport {\r\n INVALID_DAY,\r\n INVALID_DAY_LENGTH,\r\n INVALID_DAY_FORMAT,\r\n INVALID_MONTH,\r\n INVALID_MONTH_LENGTH,\r\n INVALID_MONTH_FORMAT,\r\n INVALID_YEAR,\r\n INVALID_YEAR_LENGTH,\r\n INVALID_YEAR_FORMAT,\r\n EMPTY_DATE,\r\n EMPTY_CHECKBOX,\r\n INVALID_DATE_INPUT_FORMAT,\r\n INVALID_FUTURE_DATE,\r\n INVALID_PAST_DATE,\r\n INVALID_NUMERIC_FORMAT,\r\n INVALID_YESNO_FORMAT,\r\n INVALID_NAME_FORMAT,\r\n INVALID_NAME_FORMAT_NEW,\r\n INVALID_ADDRESS_FORMAT,\r\n EMPTY_ADDRESS,\r\n INVALID_PHONE_NUMBER,\r\n INVALID_PHONE_NUMBER_LENGTH,\r\n INVALID_PHONE_NUMBER_LENGTH_15,\r\n INVALID_OBLIGATION_NUMBER,\r\n INVALID_OBLIGATION_TOTAL_NUMBER,\r\n INVALID_OBLIGATION_NUMBER_DUPLICATE,\r\n FIELDS_WITH_SEPCIFI_CHARS_MSG,\r\n INVALID_VEHICLE_REGISTRATION_NUMBER,\r\n INVALID_EMAIL,\r\n MISSING_CENTRELINK_CHECK,\r\n MISSING_DECLARATION_AGREEMENT,\r\n MISSING_APPLICATION_LODGING_AGREEMENT,\r\n INVALID_FILE_SIZE,\r\n INVALID_FILE_TYPE,\r\n FILE_UPLOAD_FAIL,\r\n INVALID_LICENCE_FORMAT,\r\n INVALID_LICENCE_FORMAT_NOMINATION,\r\n INVALID_MOBILE_NUMBER_FORMAT,\r\n INVALID_ORG_NAME_FORMAT,\r\n INVALID_NAME_FORMAT_NO_SPECIAL,\r\n INVALID_OFFENCE_FIND_OUT_DATE,\r\n INVALID_ADDRESS_SEARCH_FORMAT,\r\n INVALID_INPUT_LONGER_THAN_200_CHARS,\r\n INVALID_INPUT_LONGER_THAN_100_CHARS,\r\n INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION,\r\n INVALID_INPUT_LONGER_THAN_80_CHARS,\r\n INVALID_INPUT_LONGER_THAN_75_CHARS,\r\n INVALID_INPUT_LONGER_THAN_50_CHARS,\r\n INVALID_INPUT_LONGER_THAN_25_CHARS,\r\n INVALID_INPUT_LONGER_THAN_15_CHARS,\r\n INVALID_INPUT_LONGER_THAN_10_CHARS,\r\n INVALID_COMPANY_NAME,\r\n INVALID_FREE_TEXT_FIELD_FORMAT,\r\n INVALID_POSITION_IN_COMPANY_FIELD,\r\n INVALID_VEHICLE_REGISTRATION_NUMBER_LENGTH,\r\n INVALID_POST_CODE,\r\n INVALID_POST_CODE_NOMINATION,\r\n INVALID_ADDRESS_FIELD_ERROR,\r\n INVALID_ABN,\r\n INVALID_ACN,\r\n // INVALID_FILE_SIZE_CUSTOM,\r\n INVALID_INPUT_LONGER_THAN_40_CHARS,\r\n INVALID_CRN,\r\n INVALID_MIN_PAYMENT_FORTNIGHTLY,\r\n INVALID_MONETARY_AMOUNT,\r\n INVALID_MIN_PAYMENT_LOW,\r\n INVALID_MIN_PAYMENT_HIGH,\r\n INVALID_NUMBER_INPUT,\r\n INVALID_REPAYMENT_TIME_LENGTH,\r\n INVALID_FIRST_INSTALMENT_DATE,\r\n CONFIRM_AUTHORISED,\r\n INVALID_FILE_SIZE_CUSTOM,\r\n CLICK_PLUS_ICON\r\n};\r\n","import { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\n\r\nimport classnames from 'classnames';\r\nimport styles from './TextInput.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n subtitle: string;\r\n isMandatory: boolean;\r\n placeholder: string;\r\n icon?: any;\r\n iconPosition?: 'start' | 'end';\r\n iconClick?: () => void;\r\n onChange?: (e: any) => void;\r\n type?: string;\r\n disabled: boolean;\r\n autocomplete?: string;\r\n}\r\n\r\nconst TextInput = ({ field, title, subtitle, isMandatory, placeholder, icon, iconPosition, iconClick, type, disabled, onChange, autocomplete }: iProps): ReactElement => {\r\n const { errors, touched }: { errors: any; touched: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const customisedErrorMessage = (errorMessage: string): ReactElement => {\r\n if (errorMessage.includes('<>')) {\r\n const removedChars = errorMessage.replace('<>', '');\r\n return (\r\n \r\n {removedChars}\r\n {' '}\r\n {'<>'}\r\n \r\n );\r\n }\r\n return {errorMessage};\r\n };\r\n const extraInputAttrs: any = {};\r\n if (onchange) {\r\n extraInputAttrs.onChange = onChange;\r\n }\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n {title}\r\n {!isMandatory && ( optional )}\r\n {subtitle && {subtitle}}\r\n \r\n )}\r\n
\r\n \r\n {icon && !iconClick && (\r\n
\r\n \r\n
\r\n )}\r\n {icon && iconClick && (\r\n \r\n \"icon\"\r\n \r\n )}\r\n
\r\n customisedErrorMessage(msg)} />\r\n \r\n );\r\n};\r\n\r\nTextInput.defaultProps = {\r\n title: '',\r\n onChange: null,\r\n icon: null,\r\n type: 'text',\r\n iconPosition: 'start',\r\n iconClick: null,\r\n autocomplete: 'on',\r\n};\r\n\r\nexport default TextInput;\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport { ReactElement, useState, useEffect, useContext } from 'react';\r\nimport { iToolTips, iFormNavActions } from '@interfaces/interfaces';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\nimport { Button, Modal } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport { CLICK_PLUS_ICON } from '@services/ErrorMessages';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport { navigateToNextStep } from '@utils/Navigation';\r\nimport { FormType } from '@constants';\r\nimport styles from './FormNavFooter.module.scss';\r\n\r\ninterface iNavFooter {\r\n totalPages: number;\r\n submitPage: number;\r\n submit: () => Promise;\r\n tooltips: iToolTips;\r\n formNavActions?: iFormNavActions;\r\n displayErrorsCount(errorCount: number, touchedCount: number): void;\r\n pageValidationKeys?: any;\r\n formType?: FormType;\r\n firstPageNo: number;\r\n isDisabled?: boolean;\r\n disableThePage?: number;\r\n}\r\n\r\nfunction FormNavFooter({ totalPages, submitPage, submit, tooltips, formNavActions, displayErrorsCount, pageValidationKeys, formType, firstPageNo, isDisabled, disableThePage }: iNavFooter): ReactElement {\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n let errorMessages: any[] = [];\r\n const formikContext = useFormikContext();\r\n const { apiError, clearApiError } = useContext(VicFinesContext);\r\n const { values, errors, touched, setFieldTouched, setFieldValue }: { values: any; errors: any; touched: any; setFieldTouched: any; setFieldValue: any } = formikContext;\r\n\r\n const [modal, setModal] = useState({\r\n show: false,\r\n title: '',\r\n content: '',\r\n contentClass: '',\r\n });\r\n\r\n const getCurrentPage = (): number => {\r\n const pageNoRegex = /\\/step(\\d*)/;\r\n const pageNo = location.pathname.match(pageNoRegex);\r\n if (!pageNo) {\r\n return -1; // Assume we are on root page\r\n }\r\n return Number(pageNo[1]);\r\n };\r\n const disableSpecificPage = (pageNum: number | undefined) => pageNum && formType === FormType.NOMINATION && values.isThePersonNamed === 'false' && getCurrentPage() === pageNum;\r\n const getNextPageSegment = (direction: 'next' | 'prev') => {\r\n const pageNo = getCurrentPage();\r\n let nextPageNo: number;\r\n if (direction === 'next') {\r\n nextPageNo = pageNo + 1;\r\n } else {\r\n nextPageNo = pageNo - 1;\r\n }\r\n // Extension form\r\n if (direction === 'next' && formType === FormType.EXTENSION && pageNo === 1) {\r\n nextPageNo = 15;\r\n }\r\n if (direction === 'next' && formType === FormType.EXTENSION && pageNo === 15) {\r\n nextPageNo = 2;\r\n }\r\n return `step${nextPageNo}`;\r\n };\r\n\r\n const getNextButtonText = (): string => {\r\n if (getCurrentPage() === submitPage) {\r\n return 'Submit';\r\n }\r\n if (values.SaveYesNo === 'true') return 'Save and continue';\r\n return 'Continue';\r\n };\r\n\r\n const isNextBtnDisabled = ():boolean => {\r\n if ((getCurrentPage() === submitPage && isDisabled) || disableSpecificPage(disableThePage)) {\r\n return true;\r\n }\r\n if (formType === FormType.REVIEW && values.WasSomeoneElseDrivingAtTimeOfOffence === 'true') return true;\r\n return false;\r\n };\r\n // filter errors\r\n errorMessages = Object.keys(errors).filter((key) => pageValidationKeys.includes(key));\r\n\r\n const goNext = async () => {\r\n if (formType === 'Review' && values.SelectedObligationsStep12.length < 1 && values.areThereAnyAdditionalFines === 'listFinesManually' && values.obligationNumberToIncludeStep12) {\r\n formikContext.setErrors({ obligationNumberToIncludeStep12: CLICK_PLUS_ICON });\r\n displayErrorsCount(errorMessages.length, Object.keys(touched).length);\r\n return;\r\n }\r\n\r\n if (pageValidationKeys.length !== 0) {\r\n displayErrorsCount(errorMessages.length, Object.keys(touched).length);\r\n }\r\n\r\n if (getCurrentPage() === submitPage) {\r\n if (errorMessages && errorMessages.length > 0 && pageValidationKeys.length !== 0) {\r\n pageValidationKeys.map((key: any) => setFieldTouched(key));\r\n return;\r\n }\r\n\r\n const submitSuccesfull = await submit();\r\n if (submitSuccesfull === false) {\r\n const url = `${location.pathname.split('/').slice(0, -1).join('/')}/error`;\r\n navigate(url);\r\n return;\r\n }\r\n }\r\n\r\n if ((errorMessages.length > 0 || Object.keys(touched).length === 0) && pageValidationKeys.length !== 0) {\r\n window.scrollTo(0, 0);\r\n pageValidationKeys.map((key: any) => setFieldTouched(key));\r\n return;\r\n }\r\n\r\n // If we have an override for this page then action it before navigation\r\n // handling FVS/ scenario\r\n const locationPath = location.pathname.slice(-1) === '/' ? location.pathname.slice(0, -1) : location.pathname;\r\n const lastSegment = locationPath.substring(location.pathname.lastIndexOf('/') + 1);\r\n if (formNavActions && formNavActions[lastSegment]) {\r\n await formNavActions[lastSegment].next(formikContext);\r\n return;\r\n }\r\n\r\n const pageSegment = getNextPageSegment('next');\r\n let url = `${locationPath.split('/').slice(0, -1).join('/')}/${pageSegment}`;\r\n // Edge case where we are on form root page but don't have a /pagex segment\r\n if (pageSegment === 'step0') {\r\n url = `${locationPath}/step${firstPageNo + 1}`;\r\n }\r\n window.scrollTo(0, 0);\r\n navigate(url);\r\n };\r\n\r\n const clearFieldsWhenBack = () => {\r\n setFieldValue('OBLIGATION_NUMBER', '');\r\n setFieldTouched('OBLIGATION_NUMBER');\r\n setFieldValue('OFFENCE_DATE', '');\r\n setFieldTouched('OFFENCE_DATE');\r\n setFieldValue('HEARING_DATE', '');\r\n setFieldTouched('HEARING_DATE');\r\n setFieldValue('DRIVER_LICENCE', '');\r\n setFieldTouched('DRIVER_LICENCE');\r\n setFieldValue('VEHICLE_REGISTRATION', '');\r\n setFieldTouched('VEHICLE_REGISTRATION');\r\n setFieldValue('DOB', '');\r\n setFieldTouched('DOB');\r\n };\r\n\r\n useEffect(() => {\r\n const enterListener = (event: any) => {\r\n if ((event.code === 'Enter' || event.code === 'NumpadEnter') && (formType !== FormType.INFRINGEMENTEXTENSION && formType !== FormType.INSTALMENT && formType !== FormType.NOMINATION) && formType !== FormType.REVIEW && formType !== FormType.FAMILYVIOLENCESCHEME) {\r\n event.preventDefault();\r\n goNext();\r\n }\r\n };\r\n document.addEventListener('keydown', enterListener);\r\n return () => {\r\n document.removeEventListener('keydown', enterListener);\r\n };\r\n }, [pageValidationKeys]);\r\n\r\n return (\r\n <>\r\n setModal({ ...modal, show: false })} {...modal} />\r\n
\r\n
\r\n {!(getCurrentPage() === 7 && !values.isStep7ContinueApplicationClicked && formType === FormType.INSTALMENT) && (\r\n
\r\n {!(getCurrentPage() === -1 || getCurrentPage() === firstPageNo\r\n || (formType === FormType.FAMILYVIOLENCESCHEME\r\n && getCurrentPage() === 3)\r\n || (formType === FormType.INFRINGEMENTEXTENSION\r\n && getCurrentPage() === 3)\r\n || (formType === FormType.INSTALMENT\r\n && (getCurrentPage() === 4 || (getCurrentPage() === 5 && values.SaveYesNo === 'true')))\r\n || (formType === FormType.NOMINATION\r\n && (getCurrentPage() === 3 || (getCurrentPage() === 4 && values.SaveYesNo === 'true' && values.isDebtorTypeIndividual)\r\n || (getCurrentPage() === 5 && !values.CanSave && !values.isDebtorTypeIndividual)\r\n || (getCurrentPage() === 4 && !values.CanSave && values.isDebtorTypeIndividual)\r\n || (getCurrentPage() === 5 && values.SaveYesNo === 'true' && !values.isDebtorTypeIndividual)\r\n || (values.CheckAndConfirmPageLoaded && (getCurrentPage() !== 12 && getCurrentPage() !== 13))))\r\n || (formType === FormType.REVIEW\r\n && (getCurrentPage() === 3\r\n || ((getCurrentPage() !== 13 && getCurrentPage() !== 14) && values.CheckAndConfirmPageLoaded)\r\n || (getCurrentPage() === 4 && (values.isDebtorTypeCompany || !(values.isNominatable || values.Status === 'PenaltyReminder')) && values.isInternalReviewStage)\r\n || (values.isDebtorTypeCompany && getCurrentPage() === 6 && !values.CanSave)\r\n || (values.SaveYesNo === 'true'\r\n && ((values.isDebtorTypeIndividual && getCurrentPage() === 5)\r\n || (values.isDebtorTypeCompany && getCurrentPage() === 6)))\r\n || (getCurrentPage() === 5 && !values.CanSave && (values.isDebtorTypeCompany || !(values.isNominatable || values.Status === 'PenaltyReminder')) && values.isInternalReviewStage)\r\n || (getCurrentPage() === 6 && !values.CanSave && (values.isDebtorTypeCompany || !(values.isNominatable || values.Status === 'PenaltyReminder')) && values.isInternalReviewStage)\r\n ))\r\n )\r\n && (\r\n {\r\n if (formType === FormType.COURT || formType === FormType.FAMILYVIOLENCESCHEME || formType === FormType.EXTENSION || formType === FormType.INFRINGEMENTEXTENSION || formType === FormType.NOMINATION) {\r\n if (pageValidationKeys.length !== 0) {\r\n displayErrorsCount(0, 1);\r\n }\r\n if (apiError?.Error && clearApiError) clearApiError();\r\n if ((formType === FormType.FAMILYVIOLENCESCHEME || formType === FormType.INFRINGEMENTEXTENSION || formType === FormType.NOMINATION) && (getCurrentPage() === 1 || getCurrentPage() === 2)) {\r\n setFieldValue('OBLIGATION_NUMBER', '');\r\n setFieldTouched('OBLIGATION_NUMBER');\r\n setFieldValue('OFFENCE_DATE', '');\r\n setFieldValue('HEARING_DATE', '');\r\n setFieldValue('DRIVER_LICENCE', '');\r\n setFieldValue('VEHICLE_REGISTRATION', '');\r\n setFieldValue('DOB', '');\r\n }\r\n const locationPath = location.pathname.slice(-1) === '/' ? location.pathname.slice(0, -1) : location.pathname;\r\n if (\r\n formType === FormType.EXTENSION\r\n && (getCurrentPage() === 2 || getCurrentPage() === 15 || getCurrentPage() === 4 || getCurrentPage() === 3)\r\n && getCurrentPage() !== 1\r\n ) {\r\n clearFieldsWhenBack();\r\n if (getCurrentPage() === 4) {\r\n setFieldValue('SaveYesNo', 'false');\r\n }\r\n const url = `${locationPath.split('/').slice(0, -1).join('/')}/step1`;\r\n navigate(url, { replace: true });\r\n window.scrollTo(0, 0);\r\n } else if (formType === FormType.EXTENSION && getCurrentPage() === 1) {\r\n navigate(`${locationPath.split('/').slice(0, -1).join('/')}/step0`, { replace: true });\r\n window.scrollTo(0, 0);\r\n } else {\r\n navigate(-1);\r\n window.scrollTo(0, 0);\r\n }\r\n } else if (formType === FormType.INSTALMENT) {\r\n if ((getCurrentPage() === 1 || getCurrentPage() === 2)) {\r\n setFieldValue('OBLIGATION_NUMBER', '');\r\n setFieldTouched('OBLIGATION_NUMBER');\r\n setFieldValue('OFFENCE_DATE', '');\r\n setFieldValue('HEARING_DATE', '');\r\n setFieldValue('DRIVER_LICENCE', '');\r\n setFieldValue('VEHICLE_REGISTRATION', '');\r\n setFieldValue('DOB', '');\r\n }\r\n if (getCurrentPage() === 3) {\r\n setFieldValue('OFFENCE_DATE', '');\r\n setFieldValue('HEARING_DATE', '');\r\n setFieldValue('DRIVER_LICENCE', '');\r\n setFieldValue('VEHICLE_REGISTRATION', '');\r\n setFieldValue('DOB', '');\r\n }\r\n // if (getCurrentPage() === 1) {\r\n // navigate(-1);\r\n // window.scrollTo(0, 0);\r\n // }\r\n // const locationPath = location.pathname.slice(-1) === '/' ? location.pathname.slice(0, -1) : location.pathname;\r\n // if (getCurrentPage() === 3) {\r\n // if ((values.isDebtorTypeCompany && values.isNominatable)) {\r\n // navigateToNextStep(navigate, location, 'previous');\r\n // } else {\r\n // setFieldValue('OBLIGATION_NUMBER', '');\r\n // setFieldTouched('OBLIGATION_NUMBER');\r\n // navigate(`${locationPath.split('/').slice(0, -1).join('/')}/step1`, { replace: true });\r\n // window.scrollTo(0, 0);\r\n // }\r\n // }\r\n // if (getCurrentPage() === 8) {\r\n // if (values.NoInfoApplies) {\r\n // navigate(`${locationPath.split('/').slice(0, -1).join('/')}/step6`, { replace: true });\r\n // } else {\r\n // navigateToNextStep(navigate, location, 'previous');\r\n // }\r\n // }\r\n // if (getCurrentPage() === 9) {\r\n // if ((values.isDebtorTypeCompany && values.NoInfoApplies)) {\r\n // navigate(`${locationPath.split('/').slice(0, -1).join('/')}/step6`, { replace: true });\r\n // } else if (values.isDebtorTypeCompany && !values.NoInfoApplies) {\r\n // navigate(`${locationPath.split('/').slice(0, -1).join('/')}/step7`, { replace: true });\r\n // } else {\r\n // navigateToNextStep(navigate, location, 'previous');\r\n // }\r\n // }\r\n navigate(-1);\r\n window.scrollTo(0, 0);\r\n } else if (formType === FormType.REVIEW) {\r\n if (pageValidationKeys.length !== 0) {\r\n displayErrorsCount(0, 1);\r\n }\r\n if ((getCurrentPage() === 1 || getCurrentPage() === 2)) {\r\n setFieldValue('OBLIGATION_NUMBER', '');\r\n setFieldTouched('OBLIGATION_NUMBER');\r\n setFieldValue('OFFENCE_DATE', '');\r\n setFieldValue('HEARING_DATE', '');\r\n setFieldValue('DRIVER_LICENCE', '');\r\n setFieldValue('VEHICLE_REGISTRATION', '');\r\n setFieldValue('DOB', '');\r\n }\r\n navigate(-1);\r\n window.scrollTo(0, 0);\r\n } else navigateToNextStep(navigate, location, 'previous');\r\n }}\r\n color=\"white\"\r\n size=\"small\">\r\n {/* Link nested to ensure Google Tag Manager logs an event (Tied to a link with back text) */}\r\n {\r\n e.preventDefault();\r\n }}>\r\n Back\r\n \r\n \r\n )}\r\n {getCurrentPage() !== totalPages && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n {\r\n let content = tooltips.needhelponformglobal;\r\n let title = '';\r\n const regex = /

(.*)<\\/h4>\\n((.|\\n|)*>)/;\r\n const modalContent = tooltips.needhelponformglobal.match(regex);\r\n if (modalContent && modalContent.length >= 3) {\r\n [, title, content] = modalContent;\r\n }\r\n setModal({\r\n show: true,\r\n title,\r\n content,\r\n contentClass: '',\r\n });\r\n }}>\r\n Need help?\r\n \r\n {\r\n let content = tooltips.needassistanceonformglobal;\r\n let title = '';\r\n const regex = /

(.*)<\\/h4>\\n((.|\\n|)*>)/;\r\n const modalContent = tooltips.needassistanceonformglobal.match(regex);\r\n if (modalContent && modalContent.length >= 3) {\r\n [, title, content] = modalContent;\r\n }\r\n setModal({\r\n show: true,\r\n title,\r\n content,\r\n contentClass: styles.modalLegal,\r\n });\r\n }}>\r\n Need legal assistance?\r\n \r\n

\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nFormNavFooter.defaultProps = {\r\n formNavActions: null,\r\n pageValidationKeys: [],\r\n formType: FormType.THIRDPARTY,\r\n isDisabled: false,\r\n disableThePage: -1,\r\n};\r\n\r\nexport default FormNavFooter;\r\n","import { ReactNode, ReactElement } from 'react';\r\n\r\nimport styles from './Button.module.scss';\r\n\r\ninterface iButton {\r\n children?: ReactNode;\r\n onClick: React.MouseEventHandler;\r\n color?: 'blue' | 'white' | 'grey' | 'transparent';\r\n size?: 'small' | 'medium' | 'small_medium';\r\n className?: string;\r\n isDisabled?: boolean;\r\n}\r\n\r\nconst Button = ({ onClick, color, children, size, className, isDisabled }: iButton): ReactElement => (\r\n \r\n);\r\n\r\nButton.defaultProps = {\r\n children: null,\r\n color: 'blue',\r\n size: 'medium',\r\n className: '',\r\n isDisabled: false,\r\n};\r\n\r\nexport default Button;\r\n","import { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport styles from './CheckboxInput.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title: string;\r\n disabled?: boolean;\r\n boxChecked?: (e: boolean) => void;\r\n displayError?: boolean;\r\n hrRequired?: boolean;\r\n}\r\n\r\nconst CheckboxInput = ({ field, form, title, boxChecked, disabled, displayError, hrRequired }: iProps): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any; values: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const defaultValue = getIn(values, field.name);\r\n\r\n return (\r\n <>\r\n
\r\n {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */}\r\n \r\n {hrRequired &&
}\r\n
\r\n {displayError && }\r\n \r\n );\r\n};\r\n\r\nCheckboxInput.defaultProps = {\r\n boxChecked: null,\r\n disabled: false,\r\n displayError: true,\r\n hrRequired: false,\r\n};\r\n\r\nexport default CheckboxInput;\r\n","import React, { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport styles from './CheckboxInputGroup.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title: string;\r\n tileData: tile[];\r\n disabled?: boolean;\r\n displayError?: boolean;\r\n}\r\n\r\nconst CheckboxInputGroup = ({ field, form, tileData, title, disabled, displayError }: iProps): ReactElement => {\r\n const { values, errors }: { values: any; errors: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n\r\n return (\r\n
\r\n {title}\r\n {tileData.map((tileItem) => (\r\n \r\n \r\n
\r\n
\r\n ))}\r\n {displayError && }\r\n
\r\n );\r\n};\r\n\r\nCheckboxInputGroup.defaultProps = {\r\n disabled: false,\r\n displayError: true,\r\n};\r\n\r\nexport default CheckboxInputGroup;\r\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDropdown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"44px\",\n height: \"44px\",\n viewBox: \"0 0 44 44\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"2021/FormIcon - Dropdown\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"2021/FormIcon---Dropdown\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n transform: \"translate(17.000000, 13.000000)\",\n fill: \"#999999\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path-2\",\n points: \"0 10.6672363 5.33984375 17.848877 10.1254883 10.6672363\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path-2\",\n transform: \"translate(5.143066, 3.590820) scale(1, -1) translate(-5.143066, -3.590820) \",\n points: \"0.0803222656 0 5.42016602 7.18164062 10.2058105 0\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDropdown);\nexport default __webpack_public_path__ + \"static/media/dropdown.973283bd.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\n\r\nimport classnames from 'classnames';\r\nimport { ReactComponent as DropdownIcon } from '../../images/dropdown.svg';\r\nimport styles from './DropdownMenu.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title: string;\r\n isMandatory: boolean;\r\n disabled: boolean;\r\n defaultOption: boolean;\r\n displayText: { value: string; display: string }[];\r\n changeOption?: () => void;\r\n isOptional?: boolean;\r\n}\r\n\r\nconst DropdownMenu = ({ field, form, title, isMandatory, isOptional, disabled, defaultOption, displayText, changeOption }: iProps): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any; values: any } = useFormikContext();\r\n const touchedError = getIn(touched, field.name);\r\n const hasError = getIn(errors, field.name);\r\n const defaultValue = getIn(values, field.name);\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n {title}\r\n {(!isMandatory || isOptional) && ( optional )}\r\n \r\n )}\r\n
\r\n {\r\n if (changeOption) changeOption();\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, e.target.value);\r\n }}\r\n value={defaultValue}\r\n aria-label=\"Select\">\r\n {defaultOption && (\r\n \r\n )}\r\n {displayText.map((option) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nDropdownMenu.defaultProps = {\r\n changeOption: null,\r\n isOptional: false,\r\n};\r\n\r\nexport default DropdownMenu;\r\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSearch(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"44px\",\n height: \"44px\",\n viewBox: \"0 0 44 44\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"2021/FormIcon - Search ALt\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"2021/FormIcon---Search-ALt\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon_search\",\n transform: \"translate(12.279726, 12.463361)\",\n fill: \"#999999\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.7547571,0 C8.47310813,-0.0199745372 4.98370344,3.43055099 4.9557916,7.712156 C4.95780654,9.51599777 5.59924669,11.260715 6.76613643,12.6362939 L0.248895049,19.0883629 C0.0896757305,19.2449197 0,19.4588606 0,19.682156 C0,19.9054514 0.0896757305,20.1193923 0.248895049,20.2759491 C0.408578304,20.4346023 0.624832888,20.5231885 0.849929532,20.5221649 C1.07487155,20.5223972 1.29083583,20.4339299 1.45096401,20.2759491 L7.96820539,13.7587077 L8.04061919,13.8238801 C10.3906962,15.5859045 13.5314527,15.8780936 16.1662339,14.5798178 C18.8010151,13.281542 20.482896,10.6130214 20.5175157,7.67594911 C20.4699014,3.42266962 17.0083031,0 12.7547571,0 Z M12.7547571,13.7587788 C9.42805839,13.722806 6.75690448,11.0032243 6.78077465,7.67641751 C6.80464482,4.3496107 9.51454823,1.66863863 12.8414196,1.68043788 C16.168291,1.69231523 18.8590462,4.39250494 18.8592399,7.71939738 C18.8392982,11.0719951 16.1073757,13.7747511 12.7547571,13.7587788 Z\",\n id: \"Shape\",\n transform: \"translate(10.258758, 10.261082) scale(-1, 1) translate(-10.258758, -10.261082) \"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSearch);\nexport default __webpack_public_path__ + \"static/media/search.d8293101.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactElement } from 'react';\r\nimport { Field } from 'formik';\r\nimport { ContactInput, EmailField, TextInput } from '@components';\r\nimport gridFormStyles from '@pages/forms/Grid.module.scss';\r\n\r\nimport styles from './IndividualForm.module.scss';\r\n\r\nconst IndividualForm = (): ReactElement => (\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\nexport default IndividualForm;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport { AddressField, ContactInput, EmailField, TextInput, TileRadio } from '@components';\r\nimport gridFormStyles from '@pages/forms/Grid.module.scss';\r\n\r\nimport styles from './OrganisationForm.module.scss';\r\n\r\nconst OrganisationForm = (): ReactElement => {\r\n const { values } : { values : iThirdPartyFormValues } = useFormikContext();\r\n\r\n const PostalAddress = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NotPostalAddress = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n {values.IsOrganisationAddressDifferentFromPostal === 'true' && }\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default OrganisationForm;\r\n","import { ReactElement } from 'react';\r\nimport styles from './AddressFieldAlertContent.module.scss';\r\n\r\ninterface iProps {\r\n title: string;\r\n}\r\n\r\nconst AddressFieldAlertContent = ({ title }: iProps): ReactElement => (\r\n <>\r\n

\r\n Your\r\n {` ${title.toLowerCase()} `}\r\n could not be automatically matched\r\n

\r\n

\r\n Please manually confirm your\r\n {` ${title.toLowerCase()} `}\r\n details below\r\n

\r\n \r\n);\r\n\r\nexport default AddressFieldAlertContent;\r\n","/* eslint-disable no-nested-ternary */\r\nimport { ReactElement, useState, useContext, useRef, useEffect } from 'react';\r\nimport { Field, useFormikContext, getIn, ErrorMessage } from 'formik';\r\nimport Autosuggest from 'react-autosuggest';\r\nimport { Button, DropdownMenu, TextInput, Alert, Modal } from '@components';\r\nimport { iSuggestion, iCountry } from '@interfaces/interfaces';\r\nimport { AusStateList } from '@constants';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport VicFinesFormContext from '@pages/forms/VicFinesFormContext';\r\nimport gridFormStyles from '@pages/forms/Grid.module.scss';\r\nimport classnames from 'classnames';\r\nimport { autocompleteAddress, captureAddress } from '@api/Address';\r\nimport AddressFieldAlertContent from '../Content/AlertContent/AddressFieldAlertContent';\r\nimport InfoIcon from '../../images/info.svg';\r\nimport { ReactComponent as SearchIcon } from '../../images/search.svg';\r\nimport styles from './AddressField.module.scss';\r\nimport theme from './Autosuggest.theme.module.scss';\r\n\r\ninterface iProps {\r\n name: string;\r\n title: string;\r\n manualAddressText: string;\r\n movedRecentlyText?: string;\r\n isMandatory: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nconst AddressField = ({ name, title, manualAddressText, isMandatory, disabled, movedRecentlyText }: iProps): ReactElement => {\r\n const { values, errors, touched }: { values: iThirdPartyFormValues | iCourtFormValues | iFVSFormValues; errors: any; touched: any } = useFormikContext();\r\n const refAutoSuggest = useRef(null);\r\n const [searchText, setSearchText] = useState('');\r\n const [suggestions, setSuggestions] = useState([]);\r\n const [manualAddress, setManualAddress] = useState(!!getIn(values, `${name}.LineOne`));\r\n const [addressFound, setAddressFound] = useState(false);\r\n const [isAddressFieldVisible, setAddressFieldVisible] = useState(!(getIn(values, `${name}.LineOne`)\r\n && getIn(values, `${name}.Suburb`)\r\n && getIn(values, `${name}.Postcode`)\r\n && getIn(values, `${name}.State`)\r\n && getIn(values, `${name}.Country`)\r\n));\r\n const [isOpenInfo, setOpenInfo] = useState(false);\r\n const formikProps = useFormikContext();\r\n const { countryList } = useContext(VicFinesFormContext);\r\n\r\n const closeNotifications = () => {\r\n setOpenInfo(false);\r\n };\r\n\r\n const addressNotificationTitle = (): ReactElement => (\r\n
\r\n Change of address? Remember to update your details with \r\n \r\n VicRoads\r\n \r\n
\r\n );\r\n\r\n const addressNotification = (): ReactElement => (\r\n <>\r\n
Have you moved recently?
\r\n
\r\n

\r\n By law you must advise VicRoads of your new address within 14 days of moving. Fines sent to the address registered with VicRoads are 'deemed served', even if you no\r\n longer liver there and did not receive them. This means that agencies can take enforcement action against you if you have not dealt with a fine sent to an old address.\r\n You can update both your licence and vehicle registration details online at VicRoads.\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n\r\n const COUNTRY_DROPDOWN = countryList.map((item: iCountry): { value: string; display: string } => ({\r\n value: item.Name,\r\n display: item.Name,\r\n }));\r\n\r\n const setDefaultAddressValues = () => {\r\n formikProps.setFieldValue(name, {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n });\r\n };\r\n\r\n const setAddressFieldsTouched = (areFieldsTouched: boolean) => {\r\n formikProps.setFieldTouched(`${name}.LineOne`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.LineTwo`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.Suburb`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.State`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.Postcode`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.Country`, areFieldsTouched);\r\n };\r\n\r\n const getSuggestions = async (queryString: string) => {\r\n const json = await autocompleteAddress(queryString);\r\n setSuggestions(json.results);\r\n };\r\n\r\n const getAddressFormat = async (url: string) => {\r\n const json = await captureAddress(url);\r\n const format = json.address;\r\n const { country } = format[6];\r\n const formattedCountry = country\r\n .split(' ')\r\n .map((word: string) => word.charAt(0) + word.substring(1).toLowerCase())\r\n .join(' ');\r\n formikProps.setFieldValue(`${name}.LineOne`, format[0].addressLine1);\r\n formikProps.setFieldValue(`${name}.LineTwo`, format[1].addressLine2);\r\n formikProps.setFieldValue(`${name}.Suburb`, format[3].locality);\r\n formikProps.setFieldValue(`${name}.State`, format[4].province);\r\n formikProps.setFieldValue(`${name}.Postcode`, format[5].postalCode);\r\n formikProps.setFieldValue(`${name}.Country`, formattedCountry);\r\n };\r\n\r\n const onSuggestionsFetchRequested = ({ value }: { value: string }) => {\r\n getSuggestions(value);\r\n };\r\n\r\n const onSuggestionsClearRequested = () => {\r\n setSuggestions([]);\r\n };\r\n\r\n const getSuggestionValue = (suggestion: iSuggestion): string => {\r\n const suggestionValue = suggestion.suggestion;\r\n if (suggestionValue) return suggestionValue;\r\n return '';\r\n };\r\n\r\n const renderSuggestion = (suggestion: iSuggestion): ReactElement => {\r\n const suggestionValue = suggestion.suggestion;\r\n if (suggestionValue) {\r\n return
{suggestion.suggestion}
;\r\n }\r\n return <>;\r\n };\r\n\r\n const onSuggestionSelected = (event: any, { suggestion }: { suggestion: iSuggestion }) => {\r\n const suggestionValue = suggestion.suggestion;\r\n if (suggestionValue) {\r\n formikProps.setFieldValue(`${name}.Address`, suggestion.suggestion);\r\n const url = suggestion.format;\r\n getAddressFormat(url);\r\n }\r\n setManualAddress(true);\r\n setAddressFieldVisible(false);\r\n setSearchText('');\r\n setAddressFound(true);\r\n };\r\n\r\n const inputProps = {\r\n value: searchText,\r\n onChange: (event: any, { newValue }: { newValue: string }) => {\r\n setSearchText(newValue);\r\n formikProps.setFieldValue(`${name}.SearchText`, newValue);\r\n },\r\n onBlur: () => {\r\n formikProps.setFieldTouched(`${name}.SearchText`);\r\n },\r\n disabled: disabled || manualAddress,\r\n placeholder: manualAddress && !addressFound\r\n ? 'My address is not listed'\r\n : `Search for ${\r\n title.toLowerCase().includes('residential address') ? 'residential address' : title.toLowerCase().includes('postal address') ? 'postal address' : title.toLowerCase()\r\n }`,\r\n };\r\n\r\n const countryChange = () => {\r\n formikProps.setFieldValue(`${name}.State`, '');\r\n };\r\n const hasTouchedAddressFields = getIn(touched, `${name}.LineOne`)\r\n || getIn(touched, `${name}.LineTwo`)\r\n || getIn(touched, `${name}.Suburb`)\r\n || getIn(touched, `${name}.Postcode`)\r\n || getIn(touched, `${name}.State`)\r\n || getIn(touched, `${name}.Country`);\r\n const hasAdressFieldsErrors = (\r\n getIn(errors, `${name}.LineOne`)\r\n || getIn(errors, `${name}.LineTwo`)\r\n || getIn(errors, `${name}.Suburb`)\r\n || getIn(errors, `${name}.Postcode`)\r\n || getIn(errors, `${name}.State`)\r\n || getIn(errors, `${name}.Country`)\r\n ) && !manualAddress;\r\n\r\n useEffect(() => {\r\n if (disabled) setAddressFieldVisible(true);\r\n if (getIn(values, `${name}.SearchText`) === '') {\r\n setSearchText('');\r\n }\r\n setManualAddress(getIn(values, `${name}.LineOne`) || getIn(values, `${name}.Suburb`) || getIn(values, `${name}.State`) || getIn(values, `${name}.Postcode`));\r\n }, [getIn(values, `${name}.LineOne`), getIn(values, `${name}.Suburb`), getIn(values, `${name}.State`), getIn(values, `${name}.Postcode`), getIn(values, `${name}.SearchText`), disabled]);\r\n\r\n return (\r\n
\r\n {title && (\r\n
\r\n \r\n {title}\r\n \r\n {!isMandatory && ( optional )}\r\n
\r\n )}\r\n {isAddressFieldVisible && (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n {hasAdressFieldsErrors && hasTouchedAddressFields && isAddressFieldVisible &&
This field is required
}\r\n {manualAddress ? (\r\n
\r\n {!addressFound && isAddressFieldVisible && } icon={InfoIcon} theme=\"info2\" />}\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 {getIn(values, `${name}.Country`) === 'Australia' ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {\r\n setManualAddress(false);\r\n setAddressFieldVisible(true);\r\n setDefaultAddressValues();\r\n setAddressFieldsTouched(false);\r\n formikProps.setFieldValue(`${name}.InternationalAddress`, false);\r\n refAutoSuggest.current?.focus();\r\n }}>\r\n I want to search for my address again\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n \r\n {\r\n setSearchText('');\r\n setManualAddress(true);\r\n setAddressFound(false);\r\n }}>\r\n {manualAddressText}\r\n \r\n
\r\n
\r\n )}\r\n {movedRecentlyText !== '' && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n )}\r\n {isOpenInfo && }\r\n
\r\n );\r\n};\r\n\r\nAddressField.defaultProps = {\r\n disabled: false,\r\n movedRecentlyText: '',\r\n};\r\n\r\nexport default AddressField;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext, FieldArray, FormikValues, FieldArrayRenderProps, getIn, useField } from 'formik';\r\nimport { FormType } from '@constants';\r\nimport { TextInput, DateInput } from '@components';\r\nimport TrashIcon from '../../images/trash.svg';\r\nimport styles from './MultiTextInput.module.scss';\r\n\r\ninterface iProps {\r\n name: string;\r\n formName: string;\r\n stepNo: string;\r\n includeRegisteredFines?: boolean;\r\n includeUnregisteredFines?: boolean;\r\n}\r\n\r\nconst MultiTextInput = ({ name, formName, stepNo, includeRegisteredFines, includeUnregisteredFines }: iProps): ReactElement => {\r\n const { values }: { values: FormikValues } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n\r\n // For the thirty party form\r\n const obligationList = useField('obligations')[1];\r\n const isAddFineBtnDisabled = (): boolean => {\r\n if (formName !== FormType.THIRDPARTY) {\r\n return false;\r\n }\r\n if (formName === FormType.THIRDPARTY && obligationList && obligationList?.value?.length === 25) {\r\n return true;\r\n }\r\n if (!obligationList.touched) {\r\n return true;\r\n }\r\n if (obligationList.touched && obligationList.error === undefined) {\r\n // no error\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n const addFine = (arrayHelpers: FieldArrayRenderProps | { value: string }[]): ReactElement => {\r\n if (formName && formName === FormType.FAMILYVIOLENCESCHEME && (values.enteredObligationsArray?.length >= 10 || values.infringementFineArray?.length >= 10)) {\r\n return <>;\r\n }\r\n if (values.RegisteredFinesToInclude === 'true' && includeRegisteredFines) {\r\n return (\r\n \r\n );\r\n }\r\n if (values.InfringementFinesToInclude === 'true' && includeUnregisteredFines) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n {\r\n if (formName === FormType.FAMILYVIOLENCESCHEME && (stepNo === 'step9' || stepNo === 'step18') && includeUnregisteredFines) {\r\n arrayHelpers.push({ value: '' });\r\n formikContext.setFieldValue('AgencyNames', [...getIn(values, 'AgencyNames'), { value: '' }]);\r\n formikContext.setFieldValue('InfringementNums', [...getIn(values, 'InfringementNums'), { value: '' }]);\r\n formikContext.setFieldValue('AOffence', [...getIn(values, 'AOffence'), { value: '' }]);\r\n formikContext.setFieldValue('DAOffence', [...getIn(values, 'DAOffence'), { value: '' }]);\r\n } else arrayHelpers.push({ value: '' });\r\n }}>\r\n + Add another fine\r\n \r\n );\r\n };\r\n const removeFines = (arrayHelpers: any, removedIndex: number) => {\r\n arrayHelpers.remove(removedIndex);\r\n if (formName === FormType.FAMILYVIOLENCESCHEME && (stepNo === 'step9' || stepNo === 'step18') && includeUnregisteredFines) {\r\n getIn(values, 'AgencyNames')?.splice(removedIndex, 1).pop();\r\n getIn(values, 'InfringementNums')?.splice(removedIndex, 1).pop();\r\n getIn(values, 'AOffence')?.splice(removedIndex, 1).pop();\r\n getIn(values, 'DAOffence')?.splice(removedIndex, 1).pop();\r\n formikContext.setFieldValue('AgencyNames', [...getIn(values, 'AgencyNames')]);\r\n formikContext.setFieldValue('InfringementNums', [...getIn(values, 'InfringementNums')]);\r\n formikContext.setFieldValue('AOffence', [...getIn(values, 'AOffence')]);\r\n formikContext.setFieldValue('DAOffence', [...getIn(values, 'DAOffence')]);\r\n }\r\n };\r\n\r\n return (\r\n (\r\n
\r\n {values[name].map((_item: any, index: number) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n
\r\n {formName !== FormType.THIRDPARTY && (\r\n
\r\n {formName === FormType.FAMILYVIOLENCESCHEME && (!includeUnregisteredFines || stepNo === 'step9') ? (\r\n

\r\n {stepNo === 'step9' ? (\r\n <>{`Fine ${index + 1}`}\r\n ) : (\r\n <>\r\n Registered Fine\r\n {` ${index + 1}`}\r\n \r\n )}\r\n {stepNo === 'step9' ? (\r\n <>\r\n
\r\n (please complete as many field as possible)\r\n \r\n ) : (\r\n ''\r\n )}\r\n

\r\n ) : (\r\n <>\r\n )}\r\n {formName === FormType.FAMILYVIOLENCESCHEME && stepNo === 'step18' && includeUnregisteredFines && (\r\n

\r\n Infringement stage fine\r\n {` ${index + 1}`}\r\n

\r\n )}\r\n {values[name].length > 1 && (\r\n \r\n )}\r\n
\r\n )}\r\n {formName === FormType.THIRDPARTY && stepNo === 'step2' && (\r\n
\r\n
\r\n \r\n
\r\n\r\n {values[name].length > 1 && (\r\n \r\n )}\r\n
\r\n )}\r\n {formName === FormType.FAMILYVIOLENCESCHEME && (stepNo === 'step9' || stepNo === 'step18') && includeUnregisteredFines && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {formName === FormType.FAMILYVIOLENCESCHEME && stepNo === 'step18' && includeRegisteredFines && (\r\n \r\n )}\r\n
\r\n ))}\r\n
\r\n {formName === FormType.THIRDPARTY && typeof obligationList.error === 'string' &&

{obligationList.error}

}\r\n {addFine(arrayHelpers)}\r\n
\r\n )}\r\n />\r\n );\r\n};\r\n\r\nMultiTextInput.defaultProps = {\r\n includeRegisteredFines: false,\r\n includeUnregisteredFines: false,\r\n};\r\n\r\nexport default MultiTextInput;\r\n","export default __webpack_public_path__ + \"static/media/calendar.45681113.svg\";","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useState, useEffect } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport DatePicker from 'react-datepicker';\r\nimport MaskedTextInput from 'react-text-mask';\r\nimport 'react-datepicker/dist/react-datepicker.css';\r\nimport classnames from 'classnames';\r\nimport Calendar from '../../images/calendar.svg';\r\nimport styles from './DateInput.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n isMandatory?: boolean;\r\n maxDate?: Date;\r\n minDate?: Date;\r\n autocomplete?: string;\r\n isDisabled?: boolean;\r\n}\r\n\r\nconst DateInput = ({ field, form, title, isMandatory, maxDate, minDate, autocomplete, isDisabled }: iProps): ReactElement => {\r\n const { name, value } = field;\r\n const { setFieldValue, setFieldError, setFieldTouched } = form;\r\n const { errors, touched }: { errors: any; touched: any } = useFormikContext();\r\n const [hasError, setHasError] = useState(false);\r\n const [isFirstTouch, setFirstTouch] = useState(true);\r\n\r\n const [isVisibleCalendar, setVisibleCalendar] = useState(false);\r\n useEffect(() => {\r\n setHasError(getIn(errors, field.name) && getIn(touched, field.name));\r\n }, [errors, touched]);\r\n\r\n const renderTitle = (): ReactElement => (\r\n \r\n {title}\r\n {!isMandatory && ( optional )}\r\n \r\n );\r\n\r\n return (\r\n
\r\n {title && renderTitle()}\r\n
form.setFieldTouched(name, true)}>\r\n {\r\n const dateString = event?.currentTarget.value;\r\n const parseDateStringRegex = new RegExp('^([0-9]+)/([0-9]+)/([0-9]+)$');\r\n if (dateString) {\r\n const dateStringComponents = dateString.match(parseDateStringRegex);\r\n if (dateStringComponents) {\r\n if (dateStringComponents[1].length === 2 && dateStringComponents[2].length === 2 && dateStringComponents[3].length === 4) {\r\n await setFieldValue(name, val);\r\n }\r\n }\r\n } else if (!dateString && val) {\r\n await setFieldValue(name, val);\r\n }\r\n if (!dateString) {\r\n await setFieldValue(name, val);\r\n await setFieldTouched(name);\r\n }\r\n }}\r\n autoComplete={autocomplete}\r\n onChangeRaw={async (val) => {\r\n const dateString = val.currentTarget.value;\r\n const parseDateStringRegex = new RegExp('^([0-9]+)/([0-9]+)/([0-9]+)$');\r\n if (dateString) {\r\n const dateStringComponents = dateString.match(parseDateStringRegex);\r\n if (dateStringComponents) {\r\n if (!(dateStringComponents[1].length === 2 && dateStringComponents[2].length === 2 && dateStringComponents[3].length === 4)) {\r\n await setFieldValue(name, undefined);\r\n } else {\r\n const dateParts = dateString.split('/');\r\n const dateObject = new Date(+dateParts[2], +dateParts[1] - 1, +dateParts[0]);\r\n await setFieldValue(name, dateObject);\r\n }\r\n }\r\n }\r\n }}\r\n customInput={}\r\n dateFormat=\"dd/MM/yyyy\"\r\n onFocus={() => {\r\n setVisibleCalendar(false);\r\n if (isFirstTouch) setFirstTouch(false);\r\n else form.setFieldTouched(name, true);\r\n }}\r\n open={isVisibleCalendar}\r\n className={classnames({ [styles.date]: true, [styles.inputError]: hasError })}\r\n placeholderText=\"DD/MM/YYYY\"\r\n maxDate={maxDate}\r\n minDate={minDate}\r\n showYearDropdown\r\n popperClassName={styles.popper}\r\n popperModifiers={[\r\n {\r\n name: 'arrow',\r\n options: {\r\n padding: 12,\r\n },\r\n },\r\n ]}\r\n onSelect={() => setVisibleCalendar(false)}\r\n onBlur={() => setVisibleCalendar(false)}\r\n onCalendarClose={async () => {\r\n await form.setFieldTouched(name, true, false);\r\n }}\r\n onClickOutside={() => setVisibleCalendar(false)}\r\n scrollableYearDropdown\r\n // dropdownMode=\"select\"\r\n yearDropdownItemNumber={80}\r\n disabled={isDisabled}\r\n />\r\n {\r\n setVisibleCalendar(true);\r\n }}>\r\n \"icon\"\r\n \r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nDateInput.defaultProps = {\r\n title: '',\r\n isMandatory: false,\r\n maxDate: null,\r\n minDate: null,\r\n autocomplete: 'on',\r\n isDisabled: false,\r\n};\r\n\r\nexport default DateInput;\r\n","export default __webpack_public_path__ + \"static/media/phone.0ac2e487.svg\";","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { DropdownMenu, TextInput, CheckboxInput } from '@components';\r\nimport gridFormStyles from '@pages/forms/Grid.module.scss';\r\nimport PhoneIcon from '../../images/phone.svg';\r\n\r\ninterface iProps {\r\n name: string;\r\n numberTypeMandatory?: boolean;\r\n secondaryContact: boolean;\r\n hasPrimaryNumberType?: boolean;\r\n hasSecondaryNumberType?: boolean;\r\n noContactFieldName?: string;\r\n noContactFieldRequired?: boolean;\r\n currentSP?: string;\r\n}\r\n\r\nconst ContactInput = ({ name, numberTypeMandatory, secondaryContact, hasPrimaryNumberType, hasSecondaryNumberType, noContactFieldName, noContactFieldRequired, currentSP }: iProps): ReactElement => {\r\n const [disableContactlInput, setContactInput] = useState(false);\r\n const formikContext = useFormikContext();\r\n const CONTACT_OPTIONS = [\r\n { value: 'Mobile', display: 'Mobile' },\r\n { value: 'Work', display: 'Work' },\r\n { value: 'Home', display: 'Home' },\r\n ];\r\n\r\n useEffect(() => {\r\n if (noContactFieldName) {\r\n setContactInput(getIn(formikContext.values, noContactFieldName));\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n \r\n {hasPrimaryNumberType && (\r\n \r\n )}\r\n {noContactFieldRequired && currentSP && (\r\n <>\r\n
\r\n {\r\n setContactInput(e);\r\n formikContext.setFieldTouched(name, false);\r\n formikContext.setFieldValue(name, '');\r\n }}\r\n />\r\n \r\n )}\r\n
\r\n {secondaryContact && (\r\n
\r\n \r\n {hasSecondaryNumberType && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nContactInput.defaultProps = {\r\n numberTypeMandatory: true,\r\n hasPrimaryNumberType: true,\r\n hasSecondaryNumberType: true,\r\n noContactFieldRequired: true,\r\n currentSP: '',\r\n noContactFieldName: '',\r\n};\r\n\r\nexport default ContactInput;\r\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDone(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"np_approve_1672728_000000\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"2021/FormIcon---Tick\",\n transform: \"translate(-13.000000, -13.000000)\",\n fill: \"#007B4B\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"np_approve_1672728_000000\",\n transform: \"translate(13.000000, 13.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.99446154,11.8578462 C8.856,11.8578462 8.72294677,11.8070058 8.62017231,11.7139763 L5.51032615,8.86139169 C5.28099785,8.65478215 5.26261015,8.30106554 5.46921969,8.07171785 C5.67582923,7.84238954 6.02954585,7.82400185 6.25889354,8.03061138 L8.95889354,10.5229191 L16.7592628,1.95768831 C16.9647923,1.72836277 17.3174289,1.70888954 17.5467766,1.91441908 C17.7771849,2.11994862 17.7955754,2.47258523 17.5900458,2.70301292 L9.41527662,11.6780898 C9.315756,11.7862615 9.17729446,11.8511668 9.03018738,11.8576578 L8.99446154,11.8578462 Z M16.0615385,6.00673846 C17.0188615,8.39412 16.7322185,11.1015692 15.29568,13.2358154 C13.8591415,15.3711415 11.4597415,16.6572 8.88740308,16.6702154 C6.31395692,16.6842778 3.90168,15.4240615 2.44257231,13.3050462 C0.984406154,11.1848677 0.668547692,8.4816 1.59989538,6.08344615 C2.53127077,3.68523692 4.58983385,1.90246154 7.09626462,1.32369231 C9.60264,0.743870769 12.2345723,1.44268338 14.1231877,3.18968308 L14.8684985,2.35891385 C12.6888092,0.360969231 9.65459077,-0.416686154 6.78262154,0.287390769 C3.90954462,0.991606154 1.57951385,3.08486769 0.571236923,5.86489846 C-0.436929231,8.64492923 0.0109107692,11.7439754 1.76330769,14.1260677 C3.51678462,16.5080492 6.34444615,17.8559446 9.29755385,17.7185908 C12.2517692,17.582292 14.9420769,15.9791815 16.4684769,13.4456677 C17.9937138,10.9122646 18.1527231,7.78397538 16.8925015,5.10889846 L16.0615385,6.00673846 Z\",\n id: \"Shape\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDone);\nexport default __webpack_public_path__ + \"static/media/done.f0a2986a.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactElement } from 'react';\r\n\r\nimport styles from './FormLoading.module.scss';\r\n\r\nconst FormLoading = (): ReactElement => (\r\n <>\r\n
\r\n
Loading your form
\r\n

Please wait

\r\n
\r\n
\r\n
\r\n
\r\n \r\n);\r\n\r\nexport default FormLoading;\r\n","/* eslint-disable react/no-array-index-key */\r\nimport { ReactElement, Fragment } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { ProgressStep } from '@constants';\r\nimport { iFormMetaData } from '@interfaces/interfaces';\r\nimport classnames from 'classnames';\r\nimport { ReactComponent as DoneIcon } from '../../images/done.svg';\r\nimport styles from './ProgressBar.module.scss';\r\n\r\ninterface iProgressBar {\r\n formMetaData: iFormMetaData;\r\n}\r\n\r\nconst ProgressBar = ({ formMetaData }: iProgressBar): ReactElement => {\r\n const location = useLocation();\r\n const titles = [ProgressStep.START, ProgressStep.DETAILS, ProgressStep.CHECK_CONFIRM, ProgressStep.DONE];\r\n\r\n let lastSegment = location.pathname.substring(location.pathname.lastIndexOf('/') + 1);\r\n if (!lastSegment.includes('step')) {\r\n lastSegment = 'step1';\r\n }\r\n const currentStep = formMetaData.pagesSegments[lastSegment].progressStep;\r\n\r\n return (\r\n
\r\n
\r\n {titles.map((title, index) => {\r\n const tileSelected = currentStep === title;\r\n return (\r\n \r\n \r\n
\r\n {index === titles.length - 1 && currentStep === ProgressStep.DONE && }\r\n \r\n {title}\r\n \r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ProgressBar;\r\n","/* eslint-disable react/no-danger */\r\nimport { ReactElement } from 'react';\r\nimport Modal from 'react-modal';\r\n\r\nimport styles from './Modal.module.scss';\r\n\r\ninterface iProps {\r\n show: boolean;\r\n title: ReactElement | string;\r\n content: string | ReactElement;\r\n contentClass?: string;\r\n close: () => void;\r\n}\r\n\r\n// Make sure to bind modal to your appElement (https://reactcommunity.org/react-modal/accessibility/)\r\nModal.setAppElement('#root');\r\n\r\nconst VFModal = ({ show, title, content, close, contentClass }: iProps): ReactElement => {\r\n if (!show) {\r\n return <>;\r\n }\r\n\r\n const rendercontent = (): ReactElement => {\r\n if (typeof content === 'string') {\r\n return
;\r\n }\r\n return
{content}
;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
{title}
\r\n
\r\n {\r\n close();\r\n }}>\r\n Close X\r\n \r\n
\r\n
\r\n {rendercontent()}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nVFModal.defaultProps = {\r\n contentClass: '',\r\n};\r\n\r\nexport default VFModal;\r\n","import { ReactElement, useContext, useState, useEffect } from 'react';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { CheckboxInput, DropdownMenu, TextInput } from '@components';\r\nimport { iCountry } from '@interfaces/interfaces';\r\nimport { AusStateList } from '@constants';\r\nimport VicFinesFormContext from '@pages/forms/VicFinesFormContext';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport classnames from 'classnames';\r\nimport styles from './LicenceField.module.scss';\r\n\r\ninterface iProps {\r\n name: string;\r\n title: string;\r\n nameStateOfIssue: string;\r\n nameCountryOfIssue: string;\r\n nameNoDriverLicence: string;\r\n isMandatory?: boolean;\r\n noDriverLicenceOptRequired?: boolean;\r\n noDriverLicenceTitle?: string;\r\n}\r\n\r\nconst LicenceField = ({\r\n title,\r\n name,\r\n nameCountryOfIssue,\r\n nameStateOfIssue,\r\n nameNoDriverLicence,\r\n isMandatory,\r\n noDriverLicenceOptRequired,\r\n noDriverLicenceTitle,\r\n}: iProps): ReactElement => {\r\n const { values, errors, touched }: { values: iThirdPartyFormValues | iCourtFormValues | iNominationFormValues; errors: any; touched: any } = useFormikContext();\r\n const [disableLicenceInput, setLicenceInput] = useState(false);\r\n const formikContext = useFormikContext();\r\n const { countryList } = useContext(VicFinesFormContext);\r\n\r\n const COUNTRY_DROPDOWN = countryList.map((item: iCountry): { value: string; display: string } => ({\r\n value: item.Name,\r\n display: item.Name,\r\n }));\r\n\r\n useEffect(() => {\r\n if (getIn(values, nameNoDriverLicence)) {\r\n setLicenceInput(true);\r\n } else {\r\n setLicenceInput(false);\r\n }\r\n }, [getIn(values, nameNoDriverLicence)]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n {title}\r\n {!isMandatory &&
( optional )
}\r\n \r\n \r\n Place of issue\r\n {!isMandatory && ( optional )}\r\n \r\n \r\n \r\n
\r\n {getIn(values, nameCountryOfIssue) === 'Australia' ? (\r\n \r\n ) : (\r\n
International
\r\n )}\r\n
\r\n
\r\n {noDriverLicenceOptRequired && (\r\n {\r\n setLicenceInput(e);\r\n formikContext.setFieldTouched(name, false);\r\n formikContext.setFieldValue(name, '');\r\n formikContext.setFieldTouched(nameCountryOfIssue, false);\r\n formikContext.setFieldTouched(nameStateOfIssue, false);\r\n }}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nLicenceField.defaultProps = {\r\n isMandatory: false,\r\n noDriverLicenceOptRequired: true,\r\n noDriverLicenceTitle: 'I do not currently hold a driver licence',\r\n};\r\n\r\nexport default LicenceField;\r\n","import { ReactElement } from 'react';\r\nimport styles from './Alert.module.scss';\r\nimport IssueIcon from '../../images/issue.svg';\r\n\r\ninterface iAlert {\r\n title?: string;\r\n icon?: any;\r\n color?: 'red' | 'green' | 'default' | 'black';\r\n message: ReactElement | string;\r\n theme?: 'error' | 'info' | 'info2' | 'success' | 'yellowInfo';\r\n classAlt?: string;\r\n}\r\n\r\nconst Alert = ({ title, icon, color, message, theme, classAlt }: iAlert): ReactElement => (\r\n
\r\n
\r\n
\r\n {`${styles.theme}\r\n
\r\n
\r\n
{title}
\r\n
{message}
\r\n
\r\n
\r\n
\r\n);\r\n\r\nAlert.defaultProps = {\r\n icon: IssueIcon,\r\n color: 'default',\r\n theme: 'error',\r\n title: '',\r\n classAlt: '',\r\n};\r\n\r\nexport default Alert;\r\n","/* eslint-disable */\r\nimport React, { useEffect } from 'react';\r\nimport ReactGA, { FieldsObject } from 'react-ga';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nconst withTracker =

(WrappedComponent: React.ComponentType

, options: FieldsObject = {}) => {\r\n const trackPage = (page: string) => {\r\n ReactGA.pageview(page);\r\n };\r\n\r\n return (props: P) => {\r\n const location = useLocation();\r\n useEffect(() => {\r\n trackPage(location.pathname);\r\n }, [location.pathname]);\r\n\r\n return ;\r\n };\r\n};\r\n\r\nexport default withTracker;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable operator-linebreak */\r\nimport { useState, useEffect, ReactElement } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { useIdleTimer } from 'react-idle-timer';\r\nimport { Modal, Button } from '@components';\r\nimport { navigateToError } from '@utils/Navigation';\r\nimport styles from './IdleTimer.module.scss';\r\n\r\nconst {\r\n REACT_APP_SITECORE_API_ENDPOINT: API_URL,\r\n REACT_APP_PATH_THIRD_PARTY: PATH_THIRD_PARTY,\r\n REACT_APP_PATH_COURT: PATH_COURT,\r\n REACT_APP_PATH_EXTENSION: PATH_EXTENSION,\r\n REACT_APP_PATH_FAMILY_VIOLENCE_SCHEME: PATH_FVS,\r\n REACT_APP_PATH_NOMINATION: PATH_NOMINATION,\r\n REACT_APP_PATH_INSTALMENT: PATH_INSTALMENT,\r\n REACT_APP_PATH_REVIEW: PATH_REVIEW,\r\n} = process.env;\r\n\r\nconst idleTimer = (): ReactElement => {\r\n const TIMEOUT_MINUTES_UNTIL_WARNING = 10;\r\n const TIMEOUT_SECONDS_WARNING = 600;\r\n const location = useLocation();\r\n\r\n const [countdown, setCountdown] = useState(TIMEOUT_SECONDS_WARNING);\r\n const [countdownActive, setCountdownActive] = useState(false);\r\n const [hasTimedOut, setHasTimedOut] = useState(false);\r\n let timeout: ReturnType;\r\n\r\n const continueSession = () => {\r\n clearTimeout(timeout);\r\n setCountdownActive(false);\r\n setCountdown(TIMEOUT_SECONDS_WARNING);\r\n };\r\n\r\n const exitToHome = async () => {\r\n const apiLogout = `${API_URL}sitecore/Login/Logout`;\r\n let response: any;\r\n try {\r\n response = await fetch(apiLogout, {\r\n method: 'POST',\r\n });\r\n const res = await response.json();\r\n if (res.result) {\r\n if (location.pathname.includes(PATH_COURT!)) window.location.href = `${PATH_COURT}`;\r\n else if (location.pathname.includes(PATH_THIRD_PARTY!)) window.location.href = `${PATH_THIRD_PARTY}`;\r\n else if (location.pathname.includes(PATH_EXTENSION!)) window.location.href = `${PATH_EXTENSION}`;\r\n else if (location.pathname.includes(PATH_FVS!)) window.location.href = `${PATH_FVS}`;\r\n else if (location.pathname.includes(PATH_NOMINATION!)) window.location.href = `${PATH_NOMINATION}`;\r\n else if (location.pathname.includes(PATH_INSTALMENT!)) window.location.href = `${PATH_INSTALMENT}`;\r\n else if (location.pathname.includes(PATH_REVIEW!)) window.location.href = `${PATH_REVIEW}`;\r\n else navigateToError();\r\n }\r\n } catch (err) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const handleOnIdle = () => {\r\n setCountdownActive(true);\r\n };\r\n\r\n useIdleTimer({\r\n timeout: 1000 * 60 * TIMEOUT_MINUTES_UNTIL_WARNING,\r\n onIdle: handleOnIdle,\r\n debounce: 500,\r\n });\r\n\r\n const sessionTimeOutModalElement = (): ReactElement => (\r\n <>\r\n

We have not detected any activity from you within the last 10 minutes, as a security measure we will log you out shortly.
\r\n
\r\n
\r\n {countdown > 60\r\n ? `Your session will expire in ${Math.floor(countdown / 60)} minute${Math.floor(countdown / 60) > 1 ? 's' : ''} ${countdown % 60} second${countdown % 60 > 1 ? 's' : ''}`\r\n : `Your session will expire in ${countdown} second${countdown > 1 ? 's' : ''}`}\r\n
\r\n
\r\n
\r\n Press the spacebar or click OK to resume.\r\n
\r\n
\r\n {\r\n continueSession();\r\n }}\r\n color=\"blue\"\r\n size=\"small\">\r\n OK\r\n \r\n
\r\n \r\n );\r\n\r\n const sessionTimedOutElement = (): React.ReactElement => (\r\n <>\r\n
We did not detect any activity from you in the last 10 minutes and have now logged you out of this session as a security measure.
\r\n
\r\n
\r\n Click OK to close this window and login again to resume.\r\n
\r\n
\r\n {\r\n exitToHome();\r\n }}\r\n color=\"blue\"\r\n size=\"small\">\r\n OK\r\n \r\n
\r\n \r\n );\r\n const isFVSTimerExist: boolean =\r\n location.pathname.toLowerCase().localeCompare(`${PATH_FVS}`.toLowerCase()) !== 0 && location.pathname.toLowerCase().localeCompare(`${PATH_FVS}/step1`.toLowerCase()) !== 0;\r\n useEffect(() => {\r\n if (!isFVSTimerExist) {\r\n setCountdown(TIMEOUT_SECONDS_WARNING);\r\n setCountdownActive(false);\r\n setHasTimedOut(false);\r\n return;\r\n }\r\n if (isFVSTimerExist) {\r\n if (countdown > 0 && countdownActive) {\r\n timeout = setTimeout(() => setCountdown(countdown - 1), 1000);\r\n }\r\n if (countdown === 0) {\r\n document.cookie.split(';').forEach((c) => {\r\n document.cookie = c.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date().toUTCString()};path=/`);\r\n });\r\n setHasTimedOut(true);\r\n }\r\n\r\n document.body.onkeyup = function (e) {\r\n if (e.code === 'Space') {\r\n e.preventDefault();\r\n continueSession();\r\n }\r\n };\r\n }\r\n }, [countdownActive, countdown, isFVSTimerExist]);\r\n if (hasTimedOut && isFVSTimerExist) {\r\n return exitToHome()} show title=\"Session is now expired\" content={sessionTimedOutElement()} />;\r\n }\r\n if (countdownActive && isFVSTimerExist) {\r\n return continueSession()} show title=\"Session timeout\" content={sessionTimeOutModalElement()} />;\r\n }\r\n return <>;\r\n};\r\n\r\nexport default idleTimer;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport { INVALID_NUMERIC_FORMAT } from '@services/ErrorMessages';\r\nimport { TitleOptionsList } from '@constants';\r\nimport { AddressField, ContactInput, DateInput, DropdownMenu, EmailField, LicenceField, TextInput, TileRadio } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction CompanyInformation(): ReactElement {\r\n const { values, touched }: { values: iCourtFormValues; touched: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const Abn = (): ReactElement => (\r\n <>\r\n
ABN
\r\n \r\n );\r\n\r\n const Acn = (): ReactElement => (\r\n <>\r\n
ACN
\r\n \r\n );\r\n\r\n const ABNACN_TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'ABN',\r\n },\r\n {\r\n body: ,\r\n value: 'ACN',\r\n },\r\n ];\r\n\r\n const PostalAddress = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NotPostalAddress = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const POSTAL_TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const validateAbnAsync = (value: string) => {\r\n const url = `${API_URL}sitecore/PartialForms/ABNLookUp`;\r\n const payload = {\r\n InputNumber: value,\r\n };\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.text())\r\n .then((responseBody) => {\r\n if (responseBody === 'False') {\r\n return 'Please enter a valid ABN';\r\n }\r\n return '';\r\n })\r\n .catch((error) => error);\r\n };\r\n\r\n const validateAcnAsync = (value: string) => {\r\n const url = `${API_URL}sitecore/PartialForms/ACNLookUp`;\r\n const payload = {\r\n InputNumber: value,\r\n };\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.text())\r\n .then((responseBody) => {\r\n if (responseBody === 'False') {\r\n return 'Please enter a valid ACN';\r\n }\r\n return '';\r\n })\r\n .catch((error) => error);\r\n };\r\n if (values.NoEmail) {\r\n values.EMAIL_TO = 'false';\r\n }\r\n return (\r\n <>\r\n
Your contact information
\r\n \r\n \r\n \r\n \r\n {values.PositionOfThePersonWithinTheCompany === 'OTHER' && }\r\n \r\n \r\n
\r\n Company details\r\n \r\n {\r\n formikContext.setFieldValue('AbnNo', '');\r\n formikContext.setFieldTouched('AbnNo', false);\r\n formikContext.setFieldError('AbnNo', INVALID_NUMERIC_FORMAT);\r\n formikContext.setFieldValue('AcnNo', '');\r\n formikContext.setFieldTouched('AcnNo', false);\r\n formikContext.setFieldError('AcnNo', INVALID_NUMERIC_FORMAT);\r\n }}\r\n />\r\n {values.AbnacnType === 'ABN' && }\r\n {values.AbnacnType === 'ACN' && }\r\n \r\n \r\n {values.HasDifferentCompanyAddress === 'true' && (\r\n \r\n )}\r\n \r\n \r\n {!values.NoEmail && (\r\n \r\n )}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default CompanyInformation;\r\n","export default __webpack_public_path__ + \"static/media/edit.7225f1bb.svg\";","/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable arrow-body-style */\r\nimport { ReactElement } from 'react';\r\nimport { useNavigate, useLocation } from 'react-router-dom';\r\nimport { iSummary } from '@interfaces/interfaces';\r\nimport styles from './Summary.module.scss';\r\nimport EditIcon from '../../images/edit.svg';\r\n\r\ninterface iProps {\r\n summaryFields: iSummary[];\r\n}\r\n\r\nconst Summary = ({ summaryFields }: iProps): ReactElement => {\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n\r\n return (\r\n <>\r\n
Check and confirm
\r\n
Please review all details and your answers to questions below before continuing.
\r\n {summaryFields.map((section, index) => {\r\n if (section.title) {\r\n return (\r\n
\r\n
\r\n
{section.title}
\r\n {\r\n navigate(`${location.pathname.split('/').slice(0, -1).join('/')}${section.editLink}`);\r\n }}>\r\n Edit\r\n \"icon\"\r\n \r\n
\r\n {section.fields.map((row, index2) => {\r\n if (row.length > 0) {\r\n return (\r\n
\r\n {row.map((field, index3) => {\r\n return (\r\n
\r\n
{field.title}
\r\n
{field.value}
\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n }\r\n return
;\r\n })}\r\n
\r\n );\r\n }\r\n return
;\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default Summary;\r\n","export default __webpack_public_path__ + \"static/media/email.dacbc7e1.svg\";","import { ReactElement, useState, useEffect } from 'react';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { CheckboxInput, TextInput } from '@components';\r\nimport gridFormStyles from '@pages/forms/Grid.module.scss';\r\nimport EmailIcon from '../../images/email.svg';\r\n\r\ninterface iProps {\r\n emailField: string;\r\n noEmailField: string;\r\n noEmailFieldRequired?: boolean;\r\n currentSP: string;\r\n}\r\nconst EmailField = ({ emailField, noEmailField, currentSP, noEmailFieldRequired }: iProps): ReactElement => {\r\n const [disableEmailInput, setEmailInput] = useState(false);\r\n const formikContext = useFormikContext();\r\n\r\n useEffect(() => {\r\n setEmailInput(getIn(formikContext.values, noEmailField));\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n {noEmailFieldRequired && (\r\n {\r\n setEmailInput(e);\r\n formikContext.setFieldTouched(emailField, false);\r\n formikContext.setFieldValue(emailField, '');\r\n }}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nEmailField.defaultProps = {\r\n noEmailFieldRequired: true,\r\n};\r\n\r\nexport default EmailField;\r\n","import { ReactElement } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport IssueIcon from '../../images/issue.svg';\r\nimport styles from './ErrorPage.module.scss';\r\n\r\ninterface iProps {\r\n errorMessage: string;\r\n}\r\n\r\nfunction ErrorPage({ errorMessage }: iProps): ReactElement {\r\n const location = useLocation();\r\n const errorM = 'We are having problems processing your request. You may need to start again.';\r\n const url = `${location.pathname.split('/').slice(0, -1).join('/')}`;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n Something went wrong.\r\n
\r\n \"Warning\"\r\n
\r\n

{errorM}

\r\n {errorMessage && (\r\n <>\r\n Error details:\r\n
\r\n {errorMessage}\r\n \r\n )}\r\n

\r\n \r\n Continue\r\n \r\n

\r\n
\r\n
\r\n
\r\n

\r\n If you keep having problems, call us on\r\n {' '}\r\n \r\n (03) 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers).\r\n

\r\n

We are available 8am to 6pm Monday to Friday (except public holidays).

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\nexport default ErrorPage;\r\n","import { ReactElement, useState, useRef, useEffect } from 'react';\r\nimport ReactGA from 'react-ga';\r\nimport DownArrow from '../../images/downArrow.svg';\r\n\r\nimport styles from './Accordion.module.scss';\r\n\r\ninterface iProps {\r\n title: string;\r\n popupContent: string | ReactElement;\r\n alwaysOpen?: boolean;\r\n openByDefault?: boolean;\r\n}\r\n\r\nconst Accordion = ({ title, popupContent, alwaysOpen, openByDefault }: iProps): ReactElement => {\r\n const [accordionOpen, setAccordionOpen] = useState(openByDefault || alwaysOpen);\r\n const spanRef = useRef(null);\r\n const [height, setHeight] = useState();\r\n const rendercontent = (): ReactElement => {\r\n if (typeof popupContent === 'string') {\r\n return
;\r\n }\r\n return <>{popupContent};\r\n };\r\n useEffect(() => {\r\n if (accordionOpen) setHeight(spanRef.current?.getBoundingClientRect().height);\r\n else setHeight(0);\r\n }, [accordionOpen]);\r\n const handleExpending = () => {\r\n setAccordionOpen((prev) => !prev);\r\n if (!accordionOpen) {\r\n ReactGA.event({\r\n category: 'Accordion',\r\n action: 'expand',\r\n label: title,\r\n });\r\n }\r\n };\r\n const iconStyle = !accordionOpen ? styles.iconInitiated : styles.iconClicked;\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n {rendercontent()}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nAccordion.defaultProps = {\r\n alwaysOpen: false,\r\n openByDefault: false,\r\n};\r\n\r\nexport default Accordion;\r\n","export default __webpack_public_path__ + \"static/media/Upload.eb433579.svg\";","import { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport { FileUploader } from 'react-drag-drop-files';\r\nimport classnames from 'classnames';\r\n// import GoodUpload from '../../images/GoodUpload.svg';\r\nimport Upload from '../../images/Upload.svg';\r\nimport styles from './FilesUpload.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title: string;\r\n isMandatory: boolean;\r\n fileTypes: [];\r\n labelContent: string;\r\n fileSizelimit: string;\r\n errorFieldName: string;\r\n handleChange?: () => void;\r\n handFileSizeError?: () => void;\r\n}\r\n\r\nconst FilesUpload = ({ errorFieldName, labelContent, title, isMandatory, fileTypes, fileSizelimit, handleChange, handFileSizeError }: iProps): ReactElement => {\r\n const { errors, touched }: { errors: any; touched: any; } = useFormikContext();\r\n const touchedError = getIn(touched, errorFieldName);\r\n const hasError = getIn(errors, errorFieldName);\r\n const labelContentUpload = labelContent || 'Drag and drop, or choose files';\r\n return (\r\n \r\n {title && (\r\n \r\n {title}\r\n {!isMandatory && ( optional )}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n {labelContentUpload}\r\n \r\n \"Cloud\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nFilesUpload.defaultProps = {\r\n handleChange: null,\r\n handFileSizeError: null\r\n};\r\n\r\nexport default FilesUpload;\r\n","import { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport { FileUploader } from 'react-drag-drop-files';\r\nimport classnames from 'classnames';\r\n// import GoodUpload from '../../images/GoodUpload.svg';\r\nimport Upload from '../../images/Upload.svg';\r\nimport styles from './FilesUpload.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title: string;\r\n isMandatory: boolean;\r\n fileTypes: [];\r\n labelContent: string;\r\n fileSizelimit: string;\r\n errorFieldName: string;\r\n handleChange?: () => void;\r\n handFileSizeError?: () => void;\r\n}\r\n\r\nconst FilesUploadAccessible = ({ errorFieldName, labelContent, title, isMandatory, fileTypes, fileSizelimit, handleChange, handFileSizeError }: iProps): ReactElement => {\r\n const { errors, touched }: { errors: any; touched: any; } = useFormikContext();\r\n const touchedError = getIn(touched, errorFieldName);\r\n const hasError = getIn(errors, errorFieldName);\r\n const labelContentUpload = labelContent || 'Drag and drop, or choose files';\r\n\r\n const handleKeyDown = (event: { key: string; preventDefault: () => void; }) => {\r\n if (event.key === 'Enter' || event.key === ' ') {\r\n event.preventDefault();\r\n // Trigger file input when 'Enter' or 'Space' is pressed\r\n document.getElementsByName('file')[0]!.click();\r\n }\r\n };\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n {title}\r\n {!isMandatory && ( optional )}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n {labelContentUpload}\r\n \r\n \"Cloud\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nFilesUploadAccessible.defaultProps = {\r\n handleChange: null,\r\n handFileSizeError: null\r\n};\r\n\r\nexport default FilesUploadAccessible;\r\n","export default __webpack_public_path__ + \"static/media/GoodUpload.3e8d4a57.svg\";","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext, FieldArray, ErrorMessage, getIn } from 'formik';\r\nimport { iAttachments } from '@interfaces/interfaces';\r\nimport { Button, DropdownMenu, FilesUpload, LimitedTextArea, TextInput } from '@components';\r\nimport { WhoPreparedReport } from '@constants';\r\nimport { uploadFileAWS } from '@api/APIServices';\r\nimport classNames from 'classnames';\r\nimport TrashIcon from '../../images/trash.svg';\r\nimport GoodUpload from '../../images/GoodUpload.svg';\r\nimport styles from './FileUploadGroup.module.scss';\r\n\r\ninterface iProps {\r\n uploadFieldArrayName: string;\r\n whoPrepared: string;\r\n briefDescription: string;\r\n uploadAReport: string;\r\n totalFileLimit: number;\r\n fileSizeErrorField: string;\r\n fileUploadFailErrorField: string;\r\n UploadFileSectionError: string;\r\n fileSizelimit: string;\r\n hasPrepared?: boolean;\r\n hasDescribe?: boolean;\r\n formType: string;\r\n}\r\n\r\nconst FileUploadGroup = ({ uploadFieldArrayName, uploadAReport, whoPrepared, briefDescription, totalFileLimit, fileSizeErrorField, fileUploadFailErrorField, UploadFileSectionError, fileSizelimit, hasPrepared, hasDescribe, formType }: iProps): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any; values: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const hasError = getIn(errors, UploadFileSectionError);\r\n const touchedError = getIn(touched, UploadFileSectionError);\r\n const descriptionHasError = getIn(errors, briefDescription);\r\n const fileSizeHasError = getIn(values, fileSizeErrorField);\r\n const fileUploadHasError = getIn(values, fileUploadFailErrorField);\r\n const fileTypes = ['DOC', 'DOCX', 'XLS', 'XLSX', 'JPG', 'JPEG', 'PNG', 'PDF', 'html', 'txt', 'rtf'];\r\n const files = (values[uploadFieldArrayName] || []);\r\n const [currentFile, setCurrentFile] = useState();\r\n const [uploadButtonDisable, setUploadButtonDisable] = useState(false);\r\n const resetFieldValues = () => {\r\n setCurrentFile(new File([''], ''));\r\n formikContext.setFieldValue(briefDescription, '');\r\n formikContext.setFieldValue(uploadAReport, '');\r\n };\r\n const handleChange = (file: File) => {\r\n if (file) {\r\n formikContext.setFieldValue(fileSizeErrorField, false);\r\n formikContext.setFieldValue(fileUploadFailErrorField, false);\r\n formikContext.setFieldValue(uploadAReport, file.name);\r\n setCurrentFile(file);\r\n }\r\n };\r\n const handFileSizeError = () => {\r\n formikContext.setFieldValue(fileSizeErrorField, true);\r\n formikContext.setFieldTouched(fileSizeErrorField);\r\n setCurrentFile(new File([''], ''));\r\n };\r\n const handleFileUploadFailError = () => {\r\n formikContext.setFieldValue(fileUploadFailErrorField, true);\r\n formikContext.setFieldTouched(fileUploadFailErrorField);\r\n setCurrentFile(new File([''], ''));\r\n };\r\n const uploadFileAWSOnClick = () => {\r\n const ob = values.OBLIGATION_NUMBER;\r\n if (currentFile && currentFile.size > 0) {\r\n setUploadButtonDisable(true);\r\n uploadFileAWS(currentFile, ob, formType).then((res) => {\r\n const resString = JSON.stringify(res);\r\n if (!resString.includes('Error')) {\r\n const uploadedAttachment = {\r\n FileName: currentFile.name,\r\n FileProvider: values[whoPrepared],\r\n FileDescription: values[briefDescription],\r\n RemoteFileName: res.toString(),\r\n };\r\n files.push(uploadedAttachment);\r\n formikContext.setFieldValue(uploadFieldArrayName, files);\r\n } else if (resString.includes('Error') && resString.includes('size')) {\r\n handFileSizeError();\r\n } else if (resString.includes('Unknown Error')) {\r\n handleFileUploadFailError();\r\n }\r\n resetFieldValues();\r\n }).catch((e) => {\r\n handFileSizeError();\r\n resetFieldValues();\r\n console.log('Error in upload');\r\n });\r\n }\r\n };\r\n useEffect(() => {\r\n if (values[uploadFieldArrayName].length >= totalFileLimit || descriptionHasError) {\r\n setUploadButtonDisable(true);\r\n } else {\r\n if (!descriptionHasError) {\r\n formikContext.setFieldTouched(briefDescription);\r\n }\r\n setUploadButtonDisable(false);\r\n }\r\n\r\n if (currentFile) {\r\n formikContext.setFieldTouched(fileSizeErrorField);\r\n formikContext.setFieldTouched(fileUploadFailErrorField);\r\n }\r\n }, [currentFile, values[uploadFieldArrayName].length, descriptionHasError]);\r\n return (\r\n
\r\n (\r\n
\r\n {values[uploadFieldArrayName].map((_item: any, index: number) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n
\r\n
\r\n \"Cloud\r\n
\r\n

\r\n {_item.FileName}\r\n

\r\n
\r\n { hasPrepared && (\r\n \r\n {`Prepared by ${_item.FileProvider}`}\r\n \r\n )}\r\n { hasDescribe && (\r\n \r\n {_item.FileDescription}\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\nFileUploadGroup.defaultProps = {\r\n hasPrepared: true,\r\n hasDescribe: true,\r\n};\r\n\r\nexport default FileUploadGroup;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext, FieldArray, ErrorMessage, getIn } from 'formik';\r\nimport { iAttachments } from '@interfaces/interfaces';\r\nimport { Button, DropdownMenu, FilesUploadAccessible, LimitedTextArea, TextInput } from '@components';\r\nimport { WhoPreparedReport } from '@constants';\r\nimport { uploadFileAWS } from '@api/APIServices';\r\nimport classNames from 'classnames';\r\nimport TrashIcon from '../../images/trash.svg';\r\nimport GoodUpload from '../../images/GoodUpload.svg';\r\nimport styles from './FileUploadGroupAccessible.module.scss';\r\n\r\ninterface iProps {\r\n uploadFieldArrayName: string;\r\n whoPrepared: string;\r\n briefDescription: string;\r\n uploadAReport: string;\r\n totalFileLimit: number;\r\n fileSizeErrorField: string;\r\n fileUploadFailErrorField: string;\r\n UploadFileSectionError: string;\r\n fileSizelimit: string;\r\n hasPrepared?: boolean;\r\n hasDescribe?: boolean;\r\n formType: string;\r\n}\r\n\r\nconst FileUploadGroupAccessible = ({ uploadFieldArrayName, uploadAReport, whoPrepared, briefDescription, totalFileLimit, fileSizeErrorField, fileUploadFailErrorField, UploadFileSectionError, fileSizelimit, hasPrepared, hasDescribe, formType }: iProps): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any; values: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const hasError = getIn(errors, UploadFileSectionError);\r\n const touchedError = getIn(touched, UploadFileSectionError);\r\n const descriptionHasError = getIn(errors, briefDescription);\r\n const fileSizeHasError = getIn(values, fileSizeErrorField);\r\n const fileUploadHasError = getIn(values, fileUploadFailErrorField);\r\n const fileTypes = ['DOC', 'DOCX', 'XLS', 'XLSX', 'csv', 'JPG', 'JPEG', 'PNG', 'PDF', 'txt'];\r\n const files = (values[uploadFieldArrayName] || []);\r\n const [currentFile, setCurrentFile] = useState();\r\n const [uploadButtonDisable, setUploadButtonDisable] = useState(false);\r\n const resetFieldValues = () => {\r\n setCurrentFile(new File([''], ''));\r\n formikContext.setFieldValue(briefDescription, '');\r\n formikContext.setFieldValue(uploadAReport, '');\r\n };\r\n const handleChange = (file: File) => {\r\n if (file) {\r\n formikContext.setFieldValue(fileSizeErrorField, false);\r\n formikContext.setFieldValue(fileUploadFailErrorField, false);\r\n formikContext.setFieldValue(uploadAReport, file.name);\r\n setCurrentFile(file);\r\n }\r\n };\r\n const handFileSizeError = () => {\r\n formikContext.setFieldValue(fileSizeErrorField, true);\r\n formikContext.setFieldTouched(fileSizeErrorField);\r\n setCurrentFile(new File([''], ''));\r\n };\r\n const handleFileUploadFailError = () => {\r\n formikContext.setFieldValue(fileUploadFailErrorField, true);\r\n formikContext.setFieldTouched(fileUploadFailErrorField);\r\n setCurrentFile(new File([''], ''));\r\n };\r\n const uploadFileAWSOnClick = () => {\r\n const ob = values.OBLIGATION_NUMBER;\r\n if (currentFile && currentFile.size > 0) {\r\n setUploadButtonDisable(true);\r\n uploadFileAWS(currentFile, ob, formType).then((res) => {\r\n const resString = JSON.stringify(res);\r\n if (!resString.includes('Error')) {\r\n const uploadedAttachment = {\r\n FileName: currentFile.name,\r\n FileProvider: values[whoPrepared],\r\n FileDescription: values[briefDescription],\r\n RemoteFileName: res.toString(),\r\n };\r\n files.push(uploadedAttachment);\r\n formikContext.setFieldValue(uploadFieldArrayName, files);\r\n } else if (resString.includes('Error') && resString.includes('size')) {\r\n handFileSizeError();\r\n } else if (resString.includes('Unknown Error')) {\r\n handleFileUploadFailError();\r\n }\r\n resetFieldValues();\r\n }).catch((e) => {\r\n handFileSizeError();\r\n resetFieldValues();\r\n console.log('Error in upload');\r\n });\r\n }\r\n };\r\n useEffect(() => {\r\n if (values[uploadFieldArrayName].length >= totalFileLimit || descriptionHasError) {\r\n setUploadButtonDisable(true);\r\n } else {\r\n if (!descriptionHasError) {\r\n formikContext.setFieldTouched(briefDescription);\r\n }\r\n setUploadButtonDisable(false);\r\n }\r\n\r\n if (currentFile) {\r\n formikContext.setFieldTouched(fileSizeErrorField);\r\n formikContext.setFieldTouched(fileUploadFailErrorField);\r\n }\r\n }, [currentFile, values[uploadFieldArrayName].length, descriptionHasError]);\r\n return (\r\n
\r\n (\r\n
\r\n {values[uploadFieldArrayName].map((_item: any, index: number) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n
\r\n
\r\n \"Cloud\r\n
\r\n

\r\n {_item.FileName}\r\n

\r\n
\r\n { hasPrepared && (\r\n \r\n {`Prepared by ${_item.FileProvider}`}\r\n \r\n )}\r\n { hasDescribe && (\r\n \r\n {_item.FileDescription}\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\nFileUploadGroupAccessible.defaultProps = {\r\n hasPrepared: true,\r\n hasDescribe: true,\r\n};\r\n\r\nexport default FileUploadGroupAccessible;\r\n","import { ReactElement, useState, useCallback, useEffect } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport styles from './LimitedTextArea.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n limit: number;\r\n isMandatory: boolean;\r\n disabled?: boolean;\r\n placeholder?: string;\r\n formType?: string;\r\n}\r\n\r\nconst LimitedTextArea = ({ field, form, title, limit, disabled, isMandatory, placeholder, formType }: iProps): ReactElement => {\r\n const { values, errors, touched }: { values: any; errors: any; touched: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const [content, setContent] = useState(values[field.name].slice(0, limit));\r\n const setFormattedContent = useCallback(\r\n (text: string) => {\r\n setContent(text.slice(0, limit));\r\n },\r\n [limit, setContent],\r\n );\r\n useEffect(() => {\r\n if (formType === 'Review') {\r\n const latestContent = getIn(values, field.name);\r\n if (content !== latestContent) {\r\n setContent(latestContent);\r\n }\r\n }\r\n }, [getIn(values, field.name)]);\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n {title}\r\n {!isMandatory && ( optional )}\r\n \r\n )}\r\n
\r\n {\r\n setFormattedContent(event.target.value);\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, event.target.value);\r\n }}\r\n value={getIn(values, field.name)}\r\n disabled={disabled}\r\n required={isMandatory}\r\n placeholder={placeholder}\r\n maxLength={limit}\r\n aria-label=\"Text Area\"\r\n />\r\n

{`${limit - content.length} characters remaining`}

\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nLimitedTextArea.defaultProps = {\r\n title: '',\r\n disabled: false,\r\n placeholder: '',\r\n formType: '',\r\n};\r\n\r\nexport default LimitedTextArea;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable jsx-a11y/label-has-associated-control */\r\nimport React, { useState, useRef, useEffect } from 'react';\r\nimport { prependListener } from 'process';\r\nimport { iObligation, iFVSCheckboxAll } from '../../interfaces/interfaces';\r\nimport styles from './ExpandableRow.module.scss';\r\nimport DownArrow from '../../images/downArrow.svg';\r\n\r\ninterface iProp {\r\n obligation: iObligation;\r\n checkedAllParent: iFVSCheckboxAll[];\r\n setCheckBox: (value: iFVSCheckboxAll[]) => void;\r\n}\r\n\r\nfunction ExpandableRow({ obligation, checkedAllParent, setCheckBox }: iProp): JSX.Element {\r\n const [accordionOpen, setAccordionOpen] = useState(false);\r\n const spanRef = useRef(null);\r\n const [height, setHeight] = useState();\r\n const { Number, OffenceDate, OffenceDesc, AmountDue, OffenceLocation, OffenceTime, Registration } = obligation;\r\n const iconStyle = !accordionOpen ? styles.iconInitiated : styles.iconClicked;\r\n const handleWindowSizeChange = () => {\r\n setAccordionOpen(false);\r\n setHeight(0);\r\n };\r\n const checkCurrentFromParent = checkedAllParent.find((v) => (v.number === obligation.Number));\r\n const handleCurrentCheckbox = (number: string, isChecked: boolean) => {\r\n const checkboxUpdate = new Array();\r\n checkedAllParent.forEach((v) => {\r\n if (v.number !== obligation.Number) {\r\n checkboxUpdate.push({ number: v.number, checked: v.checked });\r\n } else {\r\n checkboxUpdate.push({ number: v.number, checked: isChecked });\r\n }\r\n });\r\n setCheckBox(checkboxUpdate);\r\n };\r\n useEffect(() => {\r\n window.addEventListener('resize', handleWindowSizeChange);\r\n if (accordionOpen) setHeight(spanRef.current?.getBoundingClientRect().height);\r\n else setHeight(0);\r\n return () => {\r\n window.removeEventListener('resize', handleWindowSizeChange);\r\n };\r\n }, [accordionOpen]);\r\n const handleExpending = () => {\r\n setAccordionOpen((prev) => !prev);\r\n };\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {OffenceDate}\r\n {OffenceDesc}\r\n \r\n $\r\n {AmountDue}\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 \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
OFFENCE DATE{OffenceDate}
OFFENCE DESCRIPTION{OffenceDesc}
AMOUNT\r\n $\r\n {AmountDue}\r\n
OFFENCE LOCATION{OffenceLocation}
TIME OF OFFENCE{OffenceTime}
VEHICLE REGISTRATION{Registration}
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ExpandableRow;\r\n","/* eslint-disable jsx-a11y/label-has-associated-control */\r\nimport React, { useEffect, useState } from 'react';\r\nimport { ExpandableRow } from '@components';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport { iFVSCheckboxAll, iObligation } from '../../interfaces/interfaces';\r\nimport styles from './ExpandableTable.module.scss';\r\n\r\ninterface iProp {\r\n obligations: iObligation[];\r\n}\r\nconst ExpandableTable = ({ obligations }: iProp): JSX.Element => {\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const { SelectedObligationsStep9 }: {SelectedObligationsStep9: iFVSCheckboxAll[] } = values;\r\n const [selectedAll, setSelectedAll] = useState(false);\r\n const checkboxAllInit = new Array();\r\n obligations.forEach((v) => {\r\n checkboxAllInit.push({ number: v.Number, checked: false });\r\n });\r\n const checkboxAllTrue = new Array();\r\n checkboxAllInit.forEach((v) => {\r\n checkboxAllTrue.push({ number: v.number, checked: true });\r\n });\r\n const [allCheckedOrNot, setCheckedAll] = useState(SelectedObligationsStep9 || checkboxAllInit);\r\n const handleCheckedAll = (isChecked:boolean) => {\r\n if (isChecked) {\r\n setCheckedAll(checkboxAllTrue);\r\n } else {\r\n setCheckedAll(checkboxAllInit);\r\n }\r\n };\r\n useEffect(() => {\r\n if (allCheckedOrNot?.length !== 0) {\r\n formikContext.setFieldValue('SelectedObligationsStep9', allCheckedOrNot);\r\n const checkedObs = allCheckedOrNot.reduce((accumulate, val) => {\r\n const checkedOb = accumulate + (val.checked ? `${val.number}, ` : '');\r\n return checkedOb;\r\n }, '').slice(0, -2);\r\n if (allCheckedOrNot.length === checkedObs.split(',').length) {\r\n setSelectedAll(true);\r\n } else {\r\n setSelectedAll(false);\r\n }\r\n if (checkedObs) {\r\n formikContext.setFieldValue('SelectedObNums', checkedObs);\r\n }\r\n }\r\n }, [allCheckedOrNot, SelectedObligationsStep9]);\r\n\r\n return (\r\n
\r\n
\r\n OBLIGATION NUMBER\r\n OFFENCE DATE\r\n OFFENCE DESCRIPTION\r\n AMOUNT\r\n {' '}\r\n
\r\n { (obligations.map((v) => ))}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\nexport default ExpandableTable;\r\n","import { ReactElement } from 'react';\r\nimport styles from './PayForm.module.scss';\r\n\r\ninterface iPayForm {\r\n obligationNumber: string;\r\n}\r\n\r\nconst PayForm = ({ obligationNumber }: iPayForm): ReactElement => {\r\n const { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\nexport default PayForm;\r\n","import { ReactElement, useState, useCallback } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport styles from './LimitedTextAreaLarge.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n limit: number;\r\n isMandatory: boolean;\r\n disabled?: boolean;\r\n placeholder?: string;\r\n}\r\n\r\nconst LimitedTextAreaLarge = ({ field, form, title, limit, disabled, isMandatory, placeholder }: iProps): ReactElement => {\r\n const { values, errors, touched }: { values: any; errors: any; touched: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const [content, setContent] = useState(values[field.name].slice(0, limit));\r\n const setFormattedContent = useCallback(\r\n (text: string) => {\r\n setContent(text.slice(0, limit));\r\n },\r\n [limit, setContent],\r\n );\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n {title}\r\n {!isMandatory && ( optional )}\r\n \r\n )}\r\n
\r\n {\r\n setFormattedContent(event.target.value);\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, event.target.value);\r\n }}\r\n value={getIn(values, field.name)}\r\n disabled={disabled}\r\n required={isMandatory}\r\n placeholder={placeholder}\r\n maxLength={limit}\r\n aria-label=\"Text Area\"\r\n />\r\n

{`${limit - content.length} characters remaining`}

\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nLimitedTextAreaLarge.defaultProps = {\r\n title: '',\r\n disabled: false,\r\n placeholder: '',\r\n};\r\n\r\nexport default LimitedTextAreaLarge;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport styles from './TileRadioAccessible.module.scss';\r\n\r\ninterface iTileRadioInfo {\r\n caption: string;\r\n tileValue?: string;\r\n}\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n isMandatory: boolean;\r\n tileData: tile[];\r\n orientationRow: boolean;\r\n mobileCollapseRow?: boolean;\r\n classname?: string;\r\n wrapTiles?: boolean;\r\n info?: iTileRadioInfo;\r\n tileChanged?: () => void;\r\n}\r\n\r\nconst TileRadioAccessible = ({ title, isMandatory, field, form, tileData, orientationRow, mobileCollapseRow, classname, wrapTiles, info, tileChanged }: iProps): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any, values: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const tileLength = tileData.length;\r\n return (\r\n <>\r\n {title && (\r\n \r\n {/* {title?.includes('\\n\\r')\r\n ? (\r\n \r\n {title.split('\\n\\r')[0]}\r\n
\r\n {title.split('\\n\\r')[1]}\r\n
\r\n) */}\r\n {/* : */}\r\n {title}\r\n {/* } */}\r\n {!isMandatory && ( optional )}\r\n \r\n )}\r\n 2,\r\n })}\r\n role=\"radiogroup\"\r\n >\r\n {tileData.map((tileItem) => (\r\n \r\n {\r\n if (e.key === ' ') {\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, tileItem.value);\r\n // handle tileChanged only a tile is already selected and a new tile is now selected\r\n if (getIn(values, field.name) && tileItem.value !== getIn(values, field.name) && tileChanged) tileChanged();\r\n }\r\n }}\r\n onChange={() => {\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, tileItem.value);\r\n // handle tileChanged only a tile is already selected and a new tile is now selected\r\n if (getIn(values, field.name) && tileItem.value !== getIn(values, field.name) && tileChanged) tileChanged();\r\n }}\r\n />\r\n \r\n \r\n ))}\r\n {tileData.map((tileItem) => (\r\n \r\n {info && info.tileValue === tileItem.value && info.tileValue === getIn(values, field.name) && (\r\n \r\n {info && info.tileValue === tileItem.value && info.tileValue === getIn(values, field.name) && (

{info.caption}

)}\r\n \r\n )}\r\n \r\n ))}\r\n {info && info.tileValue === getIn(values, field.name) && (

{info.caption}

)}\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nTileRadioAccessible.defaultProps = {\r\n title: null,\r\n mobileCollapseRow: true,\r\n classname: '',\r\n tileChanged: null,\r\n wrapTiles: false,\r\n info: null,\r\n};\r\n\r\nexport default TileRadioAccessible;\r\n","import { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport styles from './CheckboxInputAccessible.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title: string;\r\n disabled?: boolean;\r\n boxChecked?: (e: boolean) => void;\r\n displayError?: boolean;\r\n hrRequired?: boolean;\r\n}\r\n\r\nconst CheckboxInputAccessible = ({ field, form, title, boxChecked, disabled, displayError, hrRequired }: iProps): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any; values: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const defaultValue = getIn(values, field.name);\r\n const fieldName = field.name;\r\n\r\n return (\r\n <>\r\n
\r\n {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */}\r\n \r\n {hrRequired &&
}\r\n
\r\n {displayError && }\r\n \r\n );\r\n};\r\n\r\nCheckboxInputAccessible.defaultProps = {\r\n boxChecked: null,\r\n disabled: false,\r\n displayError: true,\r\n hrRequired: false,\r\n};\r\n\r\nexport default CheckboxInputAccessible;\r\n","import { ReactElement, useState, useEffect } from 'react';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { CheckboxInputAccessible, TextInput } from '@components';\r\nimport gridFormStyles from '@pages/forms/Grid.module.scss';\r\nimport EmailIcon from '../../images/email.svg';\r\n\r\ninterface iProps {\r\n emailField: string;\r\n noEmailField: string;\r\n noEmailFieldRequired?: boolean;\r\n currentSP: string;\r\n}\r\nconst EmailFieldAccessible = ({ emailField, noEmailField, currentSP, noEmailFieldRequired }: iProps): ReactElement => {\r\n const [disableEmailInput, setEmailInput] = useState(false);\r\n const formikContext = useFormikContext();\r\n\r\n useEffect(() => {\r\n setEmailInput(getIn(formikContext.values, noEmailField));\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n {noEmailFieldRequired && (\r\n {\r\n setEmailInput(e);\r\n formikContext.setFieldTouched(emailField, false);\r\n formikContext.setFieldValue(emailField, '');\r\n }}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nEmailFieldAccessible.defaultProps = {\r\n noEmailFieldRequired: true,\r\n};\r\n\r\nexport default EmailFieldAccessible;\r\n","import { ReactElement, useContext, useState, useEffect } from 'react';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { CheckboxInputAccessible, DropdownMenu, TextInput } from '@components';\r\nimport { iCountry } from '@interfaces/interfaces';\r\nimport { AusStateList } from '@constants';\r\nimport VicFinesFormContext from '@pages/forms/VicFinesFormContext';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport classnames from 'classnames';\r\nimport styles from './LicenceField.module.scss';\r\n\r\ninterface iProps {\r\n name: string;\r\n title: string;\r\n nameStateOfIssue: string;\r\n nameCountryOfIssue: string;\r\n nameNoDriverLicence: string;\r\n isMandatory?: boolean;\r\n noDriverLicenceOptRequired?: boolean;\r\n noDriverLicenceTitle?: string;\r\n}\r\n\r\nconst LicenceFieldAccessible = ({\r\n title,\r\n name,\r\n nameCountryOfIssue,\r\n nameStateOfIssue,\r\n nameNoDriverLicence,\r\n isMandatory,\r\n noDriverLicenceOptRequired,\r\n noDriverLicenceTitle,\r\n}: iProps): ReactElement => {\r\n const { values, errors, touched }: { values: iThirdPartyFormValues | iCourtFormValues; errors: any; touched: any } = useFormikContext();\r\n const [disableLicenceInput, setLicenceInput] = useState(false);\r\n const formikContext = useFormikContext();\r\n const { countryList } = useContext(VicFinesFormContext);\r\n\r\n const COUNTRY_DROPDOWN = countryList.map((item: iCountry): { value: string; display: string } => ({\r\n value: item.Name,\r\n display: item.Name,\r\n }));\r\n\r\n useEffect(() => {\r\n if (getIn(values, nameNoDriverLicence)) {\r\n setLicenceInput(true);\r\n } else {\r\n setLicenceInput(false);\r\n }\r\n }, [getIn(values, nameNoDriverLicence)]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n {title}\r\n {!isMandatory &&
( optional )
}\r\n \r\n \r\n Place of issue\r\n {!isMandatory && ( optional )}\r\n \r\n \r\n \r\n
\r\n {getIn(values, nameCountryOfIssue) === 'Australia' ? (\r\n \r\n ) : (\r\n
International
\r\n )}\r\n
\r\n
\r\n {noDriverLicenceOptRequired && (\r\n {\r\n setLicenceInput(e);\r\n formikContext.setFieldTouched(name, false);\r\n formikContext.setFieldValue(name, '');\r\n formikContext.setFieldTouched(nameCountryOfIssue, false);\r\n formikContext.setFieldTouched(nameStateOfIssue, false);\r\n }}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nLicenceFieldAccessible.defaultProps = {\r\n isMandatory: false,\r\n noDriverLicenceOptRequired: true,\r\n noDriverLicenceTitle: 'I do not currently hold a driver licence',\r\n};\r\n\r\nexport default LicenceFieldAccessible;\r\n","import { ReactElement, useState } from 'react';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { tile, iContactInfoDisplay } from '@interfaces/interfaces';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport { FormType } from '@constants';\r\nimport { TextInput, AddressField, ContactInput, LicenceFieldAccessible, DateInput, Modal, TileRadioAccessible, EmailFieldAccessible } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\n\r\ninterface iContactInformation {\r\n displayObject: iContactInfoDisplay;\r\n currentStep: string;\r\n}\r\n\r\nfunction ContactInformationAccessible({ displayObject, currentStep }: iContactInformation): ReactElement {\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const extensionModal = (): ReactElement => (\r\n <>\r\n
\r\n

Change of address? Remember to update your details with VicRoads

\r\n

Have you moved recently? By law you must advise VicRoads of your new address within 14 days of moving.

\r\n

Fines sent to the address registered with VicRoads are 'deemed served', even if you no longer live there and did not receive them.

\r\n

This means that agencies can take enforcement action against you if you have not dealt with a fine sent to an old address.

\r\n

You can update both your licence and vehicle registration details online at VicRoads.

\r\n
\r\n \r\n Go to VicRoads\r\n \r\n
\r\n
\r\n \r\n );\r\n const [modal, setModal] = useState({\r\n show: false,\r\n title: '',\r\n content: <>,\r\n contentClass: '',\r\n });\r\n\r\n const isInfringementExtension = displayObject.mode === FormType.INFRINGEMENTEXTENSION;\r\n const isNomination = displayObject.mode === FormType.NOMINATION;\r\n const isInstalment = displayObject.mode === FormType.INSTALMENT;\r\n\r\n const { values }: { values: iThirdPartyFormValues | iCourtFormValues } = useFormikContext();\r\n const { givenName, familyName, dateOfBirth, driverLicence, address, isAddressSameAsPostal, postalAddress, contactNumber, noEmailAddress, emailAddress, emailTo, receiveDocs } = displayObject.fields;\r\n if (values.NoEmail || values.NoEmailAddressThree) {\r\n values.EMAIL_TO = 'false';\r\n }\r\n return (\r\n
\r\n
Your details
\r\n setModal({ ...modal, show: false })} {...modal} />\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 {getIn(values, isAddressSameAsPostal.formikName) === 'true' && (\r\n \r\n )}\r\n {(isInfringementExtension || isNomination || isInstalment) && (\r\n
\r\n {\r\n const modalTitle = 'Have you moved recently?';\r\n setModal({\r\n show: true,\r\n title: modalTitle,\r\n content: extensionModal(),\r\n contentClass: '',\r\n });\r\n }}>\r\n Have you moved recently?\r\n \r\n
\r\n )}\r\n \r\n {(isInfringementExtension || isInstalment || isNomination) && }\r\n {(isInfringementExtension || isNomination) && (\r\n\r\n
\r\n \r\n
\r\n )}\r\n {!values[noEmailAddress.formikName] && (!isInstalment) && (\r\n
\r\n \r\n
\r\n )}\r\n {!values[noEmailAddress.formikName] && (!isInfringementExtension) && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default ContactInformationAccessible;\r\n","import React, { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport styles from './CheckboxInputGroupAccessible.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title: string;\r\n tileData: tile[];\r\n disabled?: boolean;\r\n displayError?: boolean;\r\n}\r\n\r\nconst CheckboxInputGroupAccessible = ({ field, form, tileData, title, disabled, displayError }: iProps): ReactElement => {\r\n const { values, errors }: { values: any; errors: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n\r\n return (\r\n
\r\n {title}\r\n {tileData.map((tileItem) => (\r\n \r\n \r\n
\r\n
\r\n ))}\r\n {displayError && }\r\n
\r\n );\r\n};\r\n\r\nCheckboxInputGroupAccessible.defaultProps = {\r\n disabled: false,\r\n displayError: true,\r\n};\r\n\r\nexport default CheckboxInputGroupAccessible;\r\n","export default __webpack_public_path__ + \"static/media/tickIcon.19b2829f.svg\";","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport React, { ReactElement, useState, useRef, useEffect } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { Alert, Button, Modal, TextInput } from '@components';\r\nimport InfoIcon from '../../images/info.svg';\r\nimport TickIcon from '../../images/tickIcon.svg';\r\nimport DownArrow from '../../images/downArrow.svg';\r\nimport styles from './TileRadioAccessibleWithInfo.module.scss';\r\n\r\ninterface iTileRadioInfo {\r\n caption: string;\r\n tileValue?: string;\r\n}\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n isMandatory: boolean;\r\n tileData: tile[];\r\n orientationRow: boolean;\r\n mobileCollapseRow?: boolean;\r\n classname?: string;\r\n wrapTiles?: boolean;\r\n info?: boolean;\r\n tileChanged?: () => void;\r\n alwaysOpen?: boolean;\r\n hasBeenNominatedBefore?: boolean;\r\n validateFieldName?: string;\r\n}\r\ninterface NominationAccordionProps {\r\n itemOption: string;\r\n}\r\nconst TileRadioAccessibleWithInfo = ({ title, isMandatory, field, form, tileData, orientationRow, mobileCollapseRow, classname, wrapTiles, info, tileChanged, alwaysOpen, hasBeenNominatedBefore, validateFieldName }: iProps): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any, values: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const tileLength = tileData.length;\r\n const [accordionOpen, setAccordionOpen] = useState(values.selectTheOption);\r\n const prevAccordionOpenRef = useRef(null);\r\n const [heights, setHeights] = useState>({});\r\n const [prevSelect, setPrevSelect] = useState('');\r\n const prevAccordionOpen = prevAccordionOpenRef.current;\r\n // Create a refs object\r\n const refs: { [key: string]: React.RefObject } = tileData.reduce((acc: { [key: string]: React.RefObject }, tileItem, index) => {\r\n acc[`${field.name}${index}`] = React.createRef();\r\n return acc;\r\n }, {});\r\n const calculateHeight = (tileItemValue: string) => {\r\n const tileItemValueA = tileItemValue === accordionOpen && tileItemValue !== values.closeTheOption ? `${heights[tileItemValue]}px` : '0';\r\n return tileItemValueA;\r\n };\r\n let iconDivContent: React.ReactElement;\r\n const returnIconContent = (currentSelected: string, index: number): React.ReactElement => {\r\n if (prevSelect === currentSelected && values.selectTheOption && values.selectTheOption !== currentSelected) { // fix this\r\n iconDivContent = (\r\n
\r\n \"arrow\"\r\n
\r\n );\r\n } else if (values.selectTheOption && values.selectTheOption === currentSelected) {\r\n iconDivContent = (\r\n
\r\n \"tick\"\r\n
\r\n );\r\n } else {\r\n iconDivContent = (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return iconDivContent;\r\n };\r\n const getBrowser = () => {\r\n const { userAgent } = navigator;\r\n let browser = 'unknown';\r\n if (/chrome/i.test(userAgent)) {\r\n browser = 'chrome';\r\n } else if (/safari/i.test(userAgent)) {\r\n browser = 'safari';\r\n }\r\n return browser;\r\n };\r\n\r\n useEffect(() => {\r\n if (accordionOpen) {\r\n // Now that the accordion content is visible, calculate its height\r\n const height = refs[accordionOpen].current?.getBoundingClientRect().height || 0;\r\n setHeights((prevHeights) => ({\r\n ...prevHeights,\r\n [accordionOpen]: height,\r\n }));\r\n } else {\r\n setHeights({});\r\n }\r\n if (values.selectTheOption !== prevSelect) {\r\n setPrevSelect(values.selectTheOption);\r\n }\r\n prevAccordionOpenRef.current = accordionOpen;\r\n }, [accordionOpen, values.closeTheOption, values.selectTheOption, field.value]);\r\n\r\n return (\r\n <>\r\n {title && (\r\n \r\n {title?.includes('\\n\\r')\r\n ? (\r\n \r\n {title.split('\\n\\r')[0]}\r\n
\r\n {title.split('\\n\\r')[1]}\r\n
\r\n )\r\n : {title}}\r\n {!isMandatory && ( optional )}\r\n \r\n )}\r\n 2,\r\n })}\r\n role=\"radiogroup\"\r\n >\r\n {tileData\r\n .map((tileItem, index) => (\r\n \r\n \r\n {\r\n if (e.key === ' ') {\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, tileItem.value);\r\n // handle tileChanged only a tile is already selected and a new tile is now selected\r\n if (getIn(values, field.name) && tileItem.value !== getIn(values, field.name) && tileChanged) tileChanged();\r\n }\r\n }}\r\n onFocus={() => setAccordionOpen(`${field.name}${index}`)}\r\n onClick={(event) => {\r\n formikContext.setFieldValue('closeTheOption', '');\r\n if (getBrowser() === 'safari') {\r\n setAccordionOpen((previousAccordionOpen) => {\r\n if (previousAccordionOpen === `${field.name}${index}`) {\r\n // If the accordion is already open, close it\r\n return null;\r\n }\r\n // If the accordion is closed, open it\r\n return `${field.name}${index}`;\r\n });\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (accordionOpen === prevAccordionOpen) {\r\n // If the accordion is already open, close it\r\n setAccordionOpen(null);\r\n } else {\r\n // If the accordion is closed, open it\r\n setAccordionOpen(`${field.name}${index}`);\r\n }\r\n }\r\n }}\r\n onChange={() => {\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, tileItem.value);\r\n // handle tileChanged only a tile is already selected and a new tile is now selected\r\n if (getIn(values, field.name) && tileItem.value !== getIn(values, field.name) && tileChanged) tileChanged();\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n
{tileItem.body}
\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\nTileRadioAccessibleWithInfo.defaultProps = {\r\n title: null,\r\n mobileCollapseRow: true,\r\n classname: '',\r\n tileChanged: null,\r\n wrapTiles: false,\r\n info: null,\r\n alwaysOpen: false,\r\n hasBeenNominatedBefore: false,\r\n validateFieldName: '',\r\n};\r\n\r\nexport default React.memo(TileRadioAccessibleWithInfo);\r\n","/* eslint-disable operator-linebreak */\r\nimport { ReactElement, useState, useEffect } from 'react';\r\nimport { tile, iNominationInfoDisplay } from '@interfaces/interfaces';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { TextInput, DateInput, LicenceFieldAccessible, CheckboxInputAccessible, TileRadioAccessible, EmailFieldAccessible, ContactInputAccessible, Alert, AddressFieldAccessible } from '@components';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\n\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport styles from './IndividualFormNominate.module.scss';\r\nimport InfoIcon from '../../../images/info.svg';\r\n\r\ninterface iIndividualFormNominate {\r\n displayObject: iNominationInfoDisplay;\r\n currentStepNo: string;\r\n}\r\n\r\nfunction IndividualFormNominate({ displayObject, currentStepNo }: iIndividualFormNominate): ReactElement {\r\n const formikContext = useFormikContext();\r\n const [isDisabled, setDisabled] = useState(false);\r\n const { values }: { values: iNominationFormValues } = useFormikContext();\r\n // const { pageTitle, pageSubtitle } = displayObject.pages.contactInformation[currentStepNo];\r\n const fieldsOnSteps = displayObject.pages.personalContactInformation[currentStepNo].fields;\r\n const isStep6 = currentStepNo === 'step6';\r\n const isStep11 = currentStepNo === 'step11';\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n const WarningMessage = (): ReactElement => (\r\n <>\r\n

Is this correct? You have already told us who was driving - now we need details for the person named on the fine.

\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const [disableDOB, setDisableDOB] = useState(false);\r\n\r\n const differentToPostal: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const getFieldValueBasedOnStep = (): any[] => {\r\n if (isStep6) {\r\n return [];\r\n }\r\n if (currentStepNo === 'step11') {\r\n return [\r\n getIn(values, fieldsOnSteps.givenName.formikName),\r\n getIn(values, fieldsOnSteps.familyName.formikName),\r\n ];\r\n }\r\n return [];\r\n };\r\n\r\n useEffect(() => {\r\n if (!isStep11) {\r\n if (getIn(values, fieldsOnSteps.dateOfBirthYesNo.formikName)) {\r\n setDisableDOB(true);\r\n } else {\r\n setDisableDOB(false);\r\n }\r\n }\r\n }, [getIn(values, fieldsOnSteps.dateOfBirthYesNo?.formikName)]);\r\n\r\n useEffect(() => {\r\n /* Step6 conditions */\r\n /* Step15 conditions */\r\n if (currentStepNo === 'step15') {\r\n /* General conditions */\r\n if ((getIn(formikContext.values, fieldsOnSteps.noResidentialAddress.formikName) || getIn(formikContext.values, fieldsOnSteps.noFixedAddress.formikName)) && getIn(formikContext.values, fieldsOnSteps.deliveryAddressType.formikName) === 'ResidentialAddress') {\r\n formikContext.setFieldValue(fieldsOnSteps.deliveryAddressType.formikName, '');\r\n formikContext.setFieldTouched(fieldsOnSteps.deliveryAddressType.formikName);\r\n } // This was missing\r\n if (getIn(values, fieldsOnSteps.noFixedAddress.formikName) || getIn(values, fieldsOnSteps.noResidentialAddress.formikName)) {\r\n setDisabled(true);\r\n } else {\r\n setDisabled(false);\r\n }\r\n }\r\n }, [\r\n ...getFieldValueBasedOnStep(),\r\n currentStepNo,\r\n ]);\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {isStep11 && values.GivenNamesYourDetails && values.FamilyNameYourDetails && (values.GivenNamesSomeoneElse || values.GivenNamesSoldDisposed) === values.GivenNamesYourDetails && (values.FamilyNameSomeoneElse || values.FamilyNameSoldDisposed) === values.FamilyNameYourDetails && (\r\n
\r\n }\r\n theme=\"info2\"\r\n classAlt={styles.boxheight}\r\n color=\"default\"\r\n />\r\n
\r\n )}\r\n
\r\n \r\n
\r\n {isStep6 && (\r\n
\r\n

\r\n You should provide\r\n {' '}\r\n either licence number or date of birth\r\n , or your nomination may be unsuccessful.\r\n

\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n {!isStep11 && (\r\n {\r\n setDisableDOB(e);\r\n formikContext.setFieldTouched(fieldsOnSteps.dateOfBirth.formikName, false);\r\n formikContext.setFieldValue(fieldsOnSteps.dateOfBirth.formikName, '');\r\n }}\r\n />\r\n )}\r\n {isStep6 && (\r\n <>\r\n \r\n

If the offence involves a taxi, it is recommended that taxi operator records are also provided, to confirm the nominee was driving.

\r\n \r\n )}\r\n
\r\n {/* Postal address */}\r\n {isStep11 && (\r\n <>\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n )}\r\n {(currentStepNo !== 'step11' || getIn(values, fieldsOnSteps.differentToPostal.formikName) === 'true') &&\r\n (\r\n
\r\n \r\n
\r\n )}\r\n {currentStepNo === 'step15' && (\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\nexport default IndividualFormNominate;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useState } from 'react';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { INVALID_NUMERIC_FORMAT } from '@services/ErrorMessages';\r\nimport { tile, iNominationInfoDisplay } from '@interfaces/interfaces';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport { ABNACNField, AddressFieldAccessible, Alert, ContactInputAccessible, EmailFieldAccessible, TextInput, TileRadioAccessible } from '@components';\r\n// eslint-disable-next-line import/no-duplicates\r\nimport gridFormStyles from '@pages/forms/Grid.module.scss';\r\n// eslint-disable-next-line import/no-duplicates\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport InfoIcon from '../../../images/info.svg';\r\n\r\nimport styles from './CompanyFormNominate.module.scss';\r\n\r\ninterface iCompanyFormNominate {\r\n displayObject: iNominationInfoDisplay;\r\n currentStepNo: string;\r\n}\r\n\r\nconst CompanyFormNominate = ({ displayObject, currentStepNo }: iCompanyFormNominate): ReactElement => {\r\n const { values, touched }: { values: iNominationFormValues; touched: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const companyFields = displayObject.pages.companyContactInformation[currentStepNo].fields;\r\n const isStep11 = currentStepNo === 'step11';\r\n const [isDisabled, setDisabled] = useState(false);\r\n const { IndividualPostalAddress, IndividualResidentialAddress } = values;\r\n const PostalAddress = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NotPostalAddress = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n // const WarningMessage = (): ReactElement => (\r\n // <>\r\n //

You have already given us the name of the person who was driving. Now we need details for the person named on the fine.

\r\n // \r\n // );\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const Abn = (): ReactElement => (\r\n <>\r\n
ABN
\r\n \r\n );\r\n\r\n const Acn = (): ReactElement => (\r\n <>\r\n
ACN
\r\n \r\n );\r\n\r\n const ABNACN_TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'ACN',\r\n },\r\n {\r\n body: ,\r\n value: 'ABN',\r\n },\r\n ];\r\n const DifferentToStreetAddress: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n
\r\n {isStep11\r\n && (\r\n
\r\n \r\n \r\n {/* {isStep11 && values.GivenNamesYourDetailsCompany && values.FamilyNameYourDetailsCompany && (values.GivenNamesSomeoneElse || values.GivenNamesSoldDisposed) === values.GivenNamesYourDetailsCompany && (values.FamilyNameSomeoneElse || values.FamilyNameSoldDisposed) === values.FamilyNameYourDetailsCompany && (\r\n
\r\n }\r\n theme=\"info2\"\r\n classAlt={styles.boxheight}\r\n color=\"green\"\r\n />\r\n
\r\n )} */}\r\n \r\n \r\n \r\n
\r\n )}\r\n {/*

Company Details

*/}\r\n
\r\n
Company Details
\r\n \r\n {\r\n formikContext.setFieldValue(companyFields.abnNo.formikName, '');\r\n formikContext.setFieldTouched(companyFields.abnNo.formikName, false);\r\n formikContext.setFieldError(companyFields.abnNo.formikName, INVALID_NUMERIC_FORMAT);\r\n formikContext.setFieldValue(companyFields.acnNo.formikName, '');\r\n formikContext.setFieldTouched(companyFields.acnNo.formikName, false);\r\n formikContext.setFieldError(companyFields.acnNo.formikName, INVALID_NUMERIC_FORMAT);\r\n }}\r\n />\r\n {getIn(values, companyFields.abnacnType.formikName) === 'ABN'\r\n && (\r\n \r\n )}\r\n {getIn(values, companyFields.abnacnType.formikName) === 'ACN'\r\n && (\r\n \r\n )}\r\n \r\n {!isStep11\r\n && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {isStep11 && (\r\n
\r\n \r\n {getIn(values, companyFields.differentToStreetAddress.formikName) === 'true'\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\nexport default CompanyFormNominate;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { DropdownMenu, TextInput, CheckboxInputAccessible } from '@components';\r\nimport gridFormStyles from '@pages/forms/Grid.module.scss';\r\nimport PhoneIcon from '../../images/phone.svg';\r\n\r\ninterface iProps {\r\n name: string;\r\n numberTypeMandatory?: boolean;\r\n secondaryContact: boolean;\r\n hasPrimaryNumberType?: boolean;\r\n hasSecondaryNumberType?: boolean;\r\n noContactFieldName?: string;\r\n noContactFieldRequired?: boolean;\r\n currentSP?: string;\r\n}\r\n\r\nconst ContactInputAccessible = ({ name, numberTypeMandatory, secondaryContact, hasPrimaryNumberType, hasSecondaryNumberType, noContactFieldName, noContactFieldRequired, currentSP }: iProps): ReactElement => {\r\n const [disableContactlInput, setContactInput] = useState(false);\r\n const formikContext = useFormikContext();\r\n const CONTACT_OPTIONS = [\r\n { value: 'Mobile', display: 'Mobile' },\r\n { value: 'Work', display: 'Work' },\r\n { value: 'Home', display: 'Home' },\r\n ];\r\n\r\n useEffect(() => {\r\n if (noContactFieldName) {\r\n setContactInput(getIn(formikContext.values, noContactFieldName));\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n \r\n {hasPrimaryNumberType && (\r\n \r\n )}\r\n {noContactFieldRequired && currentSP && (\r\n <>\r\n
\r\n {\r\n setContactInput(e);\r\n formikContext.setFieldTouched(name, false);\r\n formikContext.setFieldValue(name, '');\r\n }}\r\n />\r\n \r\n )}\r\n
\r\n {secondaryContact && (\r\n
\r\n \r\n {hasSecondaryNumberType && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nContactInputAccessible.defaultProps = {\r\n numberTypeMandatory: true,\r\n hasPrimaryNumberType: true,\r\n hasSecondaryNumberType: true,\r\n noContactFieldRequired: true,\r\n currentSP: '',\r\n noContactFieldName: '',\r\n};\r\n\r\nexport default ContactInputAccessible;\r\n","import React, { ReactElement } from 'react';\r\nimport { Button } from '@components';\r\nimport { getIn, useFormikContext } from 'formik';\r\nimport styles from './NominationAccordions.module.scss';\r\n\r\ninterface iNominationAccordion1 {\r\n selectOptionName: string;\r\n closeOptionName: string;\r\n bodyContent: ReactElement;\r\n itemOption: string;\r\n}\r\nconst NominationAccordion = ({ selectOptionName, closeOptionName, bodyContent, itemOption }: iNominationAccordion1): ReactElement => {\r\n const formikContext = useFormikContext();\r\n const CountryFields = [\r\n 'StatecountryOfIssueSomeoneElse',\r\n 'ResidentialAddressSomeoneElse.Country',\r\n 'CompanyStreetAddressSomeoneElse.Country',\r\n 'StatecountryOfIssueSoldDisposed',\r\n 'ResidentialAddressSoldDisposed.Country',\r\n 'CompanyStreetAddressSoldDisposed.Country'\r\n ];\r\n const FieldsToBeResetToFalse = [\r\n 'DOBYesNoSomeoneElse',\r\n 'NoDriverLicenseSomeoneElse',\r\n 'isACNValidSomeoneElse',\r\n 'NoOrgContactNumberSomeoneElse',\r\n 'isABNValidSomeoneElse',\r\n 'CompanyEmailYesNoSomeOneElse',\r\n 'EvidenceSoldOrDisposeErrorHandle',\r\n 'EvidenceSoldOrDisposeSizeErrorHandle',\r\n 'EvidenceSoldOrDisposeFileUploadErrorHandle',\r\n 'DOBYesNoSoldDisposed',\r\n 'NoDriverLicenseSoldDisposed',\r\n 'isACNValidSoldDisposed',\r\n 'isABNValidSoldDisposed',\r\n 'NoOrgContactNumberSoldDisposed',\r\n 'VehicleOrIdentificationStolenOrFalseErrorHandle',\r\n 'VehicleOrIdentificationStolenOrFalseSizeErrorHandle',\r\n 'VehicleOrIdentificationStolenOrFalseFileUploadErrorHandle',\r\n 'RejectionSupportingDocsErrorHandle',\r\n 'RejectionSupportingDocsSizeErrorHandle',\r\n 'RejectionSupportingDocsFileUploadErrorHandle',\r\n 'UnableToIdentifyErrorHandle',\r\n 'UnableToIdentifySizeErrorHandle',\r\n 'UnableToIdentifyFileUploadErrorHandle'\r\n ];\r\n const FieldsToBeResetToNull = [\r\n 'DOBSomeoneElse',\r\n 'DateSellOrDispose',\r\n 'DOBSoldDisposed',\r\n ];\r\n const FieldsToBeResetToEmptyArray = [\r\n 'EvidenceSoldOrDispose',\r\n 'VehicleOrIdentificationStolenOrFalse',\r\n 'RejectionSupportingDocs',\r\n 'UnableToIdentify',\r\n ];\r\n\r\n const SelectedGround0Fields = [\r\n 'WhoAreYouNominating',\r\n 'GivenNamesSomeoneElse',\r\n 'FamilyNameSomeoneElse',\r\n 'DOBSomeoneElse',\r\n 'DOBYesNoSomeoneElse',\r\n 'DriverLicenseSomeoneElse',\r\n 'LicenceStateSomeoneElse',\r\n 'StatecountryOfIssueSomeoneElse',\r\n 'NoDriverLicenseSomeoneElse',\r\n 'TaxDriverAccNumber',\r\n 'ResidentialAddressSomeoneElse.SearchText',\r\n 'ResidentialAddressSomeoneElse.Address',\r\n 'ResidentialAddressSomeoneElse.LineOne',\r\n 'ResidentialAddressSomeoneElse.LineTwo',\r\n 'ResidentialAddressSomeoneElse.Suburb',\r\n 'ResidentialAddressSomeoneElse.State',\r\n 'ResidentialAddressSomeoneElse.Postcode',\r\n 'ResidentialAddressSomeoneElse.Country',\r\n 'NoResidentialAddressSomeoneElse',\r\n 'NoEmailSomeoneElse',\r\n 'EmailSomeoneElse',\r\n 'IndividualContactNumberSomeoneElse.ContactNumber',\r\n 'NoContactNumberSomeoneElse',\r\n 'CompanyNameSomeoneElse',\r\n 'AbnacnTypeSomeoneElse',\r\n 'AcnNoSomeoneElse',\r\n 'isACNValidSomeoneElse',\r\n 'NoOrgContactNumberSomeoneElse',\r\n 'AbnNoSomeoneElse',\r\n 'isABNValidSomeoneElse',\r\n 'CompanyStreetAddressSomeoneElse.SearchText',\r\n 'CompanyStreetAddressSomeoneElse.Address',\r\n 'CompanyStreetAddressSomeoneElse.LineOne',\r\n 'CompanyStreetAddressSomeoneElse.LineTwo',\r\n 'CompanyStreetAddressSomeoneElse.Suburb',\r\n 'CompanyStreetAddressSomeoneElse.State',\r\n 'CompanyStreetAddressSomeoneElse.Postcode',\r\n 'CompanyStreetAddressSomeoneElse.Country',\r\n 'OrganisationContactNumberSomeoneElse.ContactNumber',\r\n 'CompanyEmailSomeOneElse',\r\n 'CompanyEmailYesNoSomeOneElse',\r\n ];\r\n const SelectedGround1Fields = [\r\n 'TransferedVicRoads',\r\n 'DateSellOrDispose',\r\n 'EvidenceSoldOrDispose',\r\n 'EvidenceSoldOrDisposeNameField',\r\n 'EvidenceSoldOrDisposeProvider',\r\n 'EvidenceSoldOrDisposeFilesDescription',\r\n 'EvidenceSoldOrDisposeErrorHandle',\r\n 'EvidenceSoldOrDisposeSizeErrorHandle',\r\n 'EvidenceSoldOrDisposeFileUploadErrorHandle',\r\n 'EvidenceSoldOrDisposeFileSectionError',\r\n 'WhoAreYouNominatingSoldDispose',\r\n 'GivenNamesSoldDisposed',\r\n 'FamilyNameSoldDisposed',\r\n 'DOBSoldDisposed',\r\n 'DOBYesNoSoldDisposed',\r\n 'DriverLicenseSoldDisposed',\r\n 'LicenceStateSoldDisposed',\r\n 'StatecountryOfIssueSoldDisposed',\r\n 'NoDriverLicenseSoldDisposed',\r\n 'ResidentialAddressSoldDisposed.SearchText',\r\n 'ResidentialAddressSoldDisposed.Address',\r\n 'ResidentialAddressSoldDisposed.LineOne',\r\n 'ResidentialAddressSoldDisposed.LineTwo',\r\n 'ResidentialAddressSoldDisposed.Suburb',\r\n 'ResidentialAddressSoldDisposed.State',\r\n 'ResidentialAddressSoldDisposed.Postcode',\r\n 'ResidentialAddressSoldDisposed.Country',\r\n 'NoEmailSoldDisposed',\r\n 'EmailSoldDisposed',\r\n 'IndividualContactNumberSoldDisposed.ContactNumber',\r\n 'NoContactNumberSoldDisposed',\r\n 'CompanyNameSoldDisposed',\r\n 'AbnacnTypeSoldDisposed',\r\n 'AcnNoSoldDisposed',\r\n 'isACNValidSoldDisposed',\r\n 'OrganisationContactNumberYesNoSoldDisposed',\r\n 'AbnNoSoldDisposed',\r\n 'isABNValidSoldDisposed',\r\n 'CompanyStreetAddressSoldDisposed.SearchText',\r\n 'CompanyStreetAddressSoldDisposed.Address',\r\n 'CompanyStreetAddressSoldDisposed.LineOne',\r\n 'CompanyStreetAddressSoldDisposed.LineTwo',\r\n 'CompanyStreetAddressSoldDisposed.Suburb',\r\n 'CompanyStreetAddressSoldDisposed.State',\r\n 'CompanyStreetAddressSoldDisposed.Postcode',\r\n 'CompanyStreetAddressSoldDisposed.Country',\r\n 'OrganisationContactNumberSoldDisposed.ContactNumber',\r\n 'NoOrgContactNumberSoldDisposed',\r\n 'CompanyEmailSoldDisposed',\r\n 'CompanyEmailYesNoSoldDisposed',\r\n ];\r\n\r\n const SelectedGround2Fields = [\r\n 'VictoriaPoliceReferenceNumber',\r\n 'VehicleOrIdentificationStolenOrFalse',\r\n 'VehicleOrIdentificationStolenOrFalseNameField',\r\n 'VehicleOrIdentificationStolenOrFalseProvider',\r\n 'VehicleOrIdentificationStolenOrFalseDescription',\r\n 'VehicleOrIdentificationStolenOrFalseErrorHandle',\r\n 'VehicleOrIdentificationStolenOrFalseSizeErrorHandle',\r\n 'VehicleOrIdentificationStolenOrFalseFileUploadErrorHandle',\r\n 'VehicleOrIdentificationStolenOrFalseFileSectionError',\r\n ];\r\n\r\n const SelectedGround3Fields = [\r\n 'IncorrectNominationExplanation',\r\n 'RejectionSupportingDocs',\r\n 'RejectionSupportingDocsNameField',\r\n 'RejectionSupportingDocsProvider',\r\n 'RejectionSupportingDocsDescription',\r\n 'RejectionSupportingDocsErrorHandle',\r\n 'RejectionSupportingDocsSizeErrorHandle',\r\n 'RejectionSupportingDocsFileUploadErrorHandle',\r\n 'RejectionSupportingDocsFileSectionError',\r\n ];\r\n\r\n const SelectedGround4Fields = [\r\n 'UnableToIdentifyExplanation',\r\n 'UnableToIdentify',\r\n 'UnableToIdentifyNameField',\r\n 'UnableToIdentifyProvider',\r\n 'UnableToIdentifyDescription',\r\n 'UnableToIdentifyErrorHandle',\r\n 'UnableToIdentifySizeErrorHandle',\r\n 'UnableToIdentifyFileUploadErrorHandle',\r\n 'UnableToIdentifyFileSectionError',\r\n ];\r\n const SelectedGroundsFields: Map = new Map();\r\n SelectedGroundsFields.set('SelectedGroundInfo0', SelectedGround0Fields);\r\n SelectedGroundsFields.set('SelectedGroundInfo1', SelectedGround1Fields);\r\n SelectedGroundsFields.set('SelectedGroundInfo2', SelectedGround2Fields);\r\n SelectedGroundsFields.set('SelectedGroundInfo3', SelectedGround3Fields);\r\n SelectedGroundsFields.set('SelectedGroundInfo4', SelectedGround4Fields);\r\n\r\n const resetValuesUponSelection = (fields: string[]) => {\r\n fields.forEach((field) => {\r\n if (CountryFields.includes(field)) {\r\n formikContext.setFieldValue(field, 'Australia');\r\n } else if (FieldsToBeResetToFalse.includes(field)) {\r\n formikContext.setFieldValue(field, false);\r\n } else if (FieldsToBeResetToNull.includes(field)) {\r\n formikContext.setFieldValue(field, null);\r\n } else if (FieldsToBeResetToEmptyArray.includes(field)) {\r\n formikContext.setFieldValue(field, []);\r\n } else {\r\n formikContext.setFieldValue(field, '');\r\n }\r\n formikContext.setFieldTouched(field, false);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n {bodyContent}\r\n
\r\n
\r\n
\r\n {\r\n formikContext.setFieldValue(closeOptionName, itemOption);\r\n formikContext.setFieldTouched(closeOptionName);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n if (getIn(formikContext.values, selectOptionName)) {\r\n resetValuesUponSelection(SelectedGroundsFields.get(getIn(formikContext.values, selectOptionName))!);\r\n }\r\n await formikContext.setFieldValue(selectOptionName, itemOption);\r\n await formikContext.setFieldTouched(selectOptionName);\r\n formikContext.validateField(selectOptionName);\r\n }}\r\n >\r\n Select this option\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default NominationAccordion;\r\n","/* eslint-disable jsx-a11y/label-has-associated-control */\r\nimport React, { useState, useRef, useEffect } from 'react';\r\nimport { iObligation, iFVSCheckboxAll } from '../../interfaces/interfaces';\r\nimport styles from './ExpandableRow.module.scss';\r\nimport DownArrow from '../../images/downArrow.svg';\r\n\r\ninterface iProp {\r\n obligation: iObligation;\r\n checkedAllParent: iFVSCheckboxAll[];\r\n setCheckBox: (value: iFVSCheckboxAll[]) => void;\r\n disabledCheckbox: boolean;\r\n selectedRows: boolean;\r\n}\r\n\r\nfunction ExpandableRow({ obligation, checkedAllParent, setCheckBox, disabledCheckbox, selectedRows }: iProp): JSX.Element {\r\n const [accordionOpen, setAccordionOpen] = useState(false);\r\n const spanRef = useRef(null);\r\n const [height, setHeight] = useState();\r\n const { Number, OffenceDate, OffenceDesc, AmountDue, OffenceLocation, OffenceTime, Registration } = obligation;\r\n const iconStyle = !accordionOpen ? styles.iconInitiated : styles.iconClicked;\r\n const handleWindowSizeChange = () => {\r\n setAccordionOpen(false);\r\n setHeight(0);\r\n };\r\n const checkCurrentFromParent = checkedAllParent.find((v) => (v.number === obligation.Number));\r\n const handleCurrentCheckbox = (number: string, isChecked: boolean) => {\r\n const checkboxUpdate = new Array();\r\n checkedAllParent.forEach((v) => {\r\n if (v.number !== obligation.Number) {\r\n checkboxUpdate.push({ number: v.number, checked: v.checked });\r\n } else {\r\n checkboxUpdate.push({ number: v.number, checked: isChecked });\r\n }\r\n });\r\n setCheckBox(checkboxUpdate);\r\n };\r\n useEffect(() => {\r\n window.addEventListener('resize', handleWindowSizeChange);\r\n if (accordionOpen) setHeight(spanRef.current?.getBoundingClientRect().height);\r\n else setHeight(0);\r\n return () => {\r\n window.removeEventListener('resize', handleWindowSizeChange);\r\n };\r\n }, [accordionOpen]);\r\n const handleExpanding = () => {\r\n setAccordionOpen((prev) => !prev);\r\n };\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {!disabledCheckbox\r\n && (\r\n \r\n )}\r\n {(disabledCheckbox && !selectedRows) && (\r\n \r\n )}\r\n {(disabledCheckbox && selectedRows) && (\r\n \r\n )}\r\n
\r\n
\r\n {OffenceDate}\r\n {OffenceDesc}\r\n \r\n $\r\n {AmountDue}\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 \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
Offence Date{OffenceDate}
Offence Description{OffenceDesc}
Amount\r\n $\r\n {AmountDue}\r\n
Offence Location{OffenceLocation}
Time Of Offence{OffenceTime}
Vehicle Registration{Registration}
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ExpandableRow;\r\n","/* eslint-disable jsx-a11y/label-has-associated-control */\r\nimport React, { useEffect, useState } from 'react';\r\nimport { FieldProps, useFormikContext } from 'formik';\r\nimport ExpandableRow from './ExpandableRow';\r\n\r\nimport { iFVSCheckboxAll, iObligation } from '../../interfaces/interfaces';\r\nimport styles from './ExpandableTableAccessible.module.scss';\r\n\r\ninterface iProp extends FieldProps {\r\n obligations: iObligation[];\r\n inactiveRows: boolean;\r\n selectedRows: boolean;\r\n selectAllButtonAtBottom?: boolean;\r\n}\r\nconst ExpandableTableAccessible = ({ field, obligations, inactiveRows, selectedRows, selectAllButtonAtBottom }: iProp): JSX.Element => {\r\n const { name, value } = field;\r\n const formikContext = useFormikContext();\r\n const SelectedObligationsStep5 = value;\r\n const [selectedAll, setSelectedAll] = useState(!!selectedRows);\r\n const checkboxAllInit = new Array();\r\n if (selectedRows) {\r\n obligations.forEach((v) => {\r\n checkboxAllInit.push({ number: v.Number, checked: true });\r\n });\r\n } else {\r\n obligations.forEach((v) => {\r\n checkboxAllInit.push({ number: v.Number, checked: false });\r\n });\r\n }\r\n const checkboxAllTrue = new Array();\r\n const checkboxAllFalse = new Array();\r\n checkboxAllInit.forEach((v) => {\r\n checkboxAllTrue.push({ number: v.number, checked: true });\r\n checkboxAllFalse.push({ number: v.number, checked: false });\r\n });\r\n const [allCheckedOrNot, setCheckedAll] = useState(SelectedObligationsStep5 || checkboxAllFalse);\r\n const [isAllChecked, setAllChecked] = useState(checkboxAllTrue === SelectedObligationsStep5);\r\n const handleCheckedAll = (isChecked: boolean) => {\r\n if (isChecked) {\r\n setCheckedAll(checkboxAllTrue);\r\n } else {\r\n setCheckedAll(checkboxAllFalse);\r\n }\r\n };\r\n useEffect(() => {\r\n if (!inactiveRows) {\r\n if (allCheckedOrNot?.length !== 0) {\r\n formikContext.setFieldValue(name, allCheckedOrNot);\r\n const checkedObs = allCheckedOrNot.reduce((accumulate: string, val: { checked: any; number: any; }) => {\r\n const checkedOb = accumulate + (val.checked ? `${val.number}, ` : '');\r\n return checkedOb;\r\n }, '').slice(0, -2);\r\n if (checkedObs && (allCheckedOrNot.length === checkedObs.split(',').length)) {\r\n setSelectedAll(true);\r\n } else {\r\n setSelectedAll(false);\r\n }\r\n if (checkedObs) {\r\n formikContext.setFieldValue('SelectedObNums', checkedObs);\r\n }\r\n }\r\n }\r\n }, [allCheckedOrNot, SelectedObligationsStep5]);\r\n\r\n return (\r\n
\r\n {!inactiveRows && selectAllButtonAtBottom\r\n && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n Obligation #\r\n Offence Date\r\n Offence Description\r\n Amount\r\n \r\n
\r\n {(!inactiveRows && selectedRows)\r\n && obligations.map((v) => (\r\n ))}\r\n {(!inactiveRows && !selectedRows)\r\n && obligations.map((v) => (\r\n ))}\r\n {(inactiveRows && !selectedRows)\r\n && obligations.map((v) => (\r\n ))}\r\n {(inactiveRows && selectedRows)\r\n && obligations.map((v) => (\r\n ))}\r\n {!inactiveRows && !selectAllButtonAtBottom\r\n && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nExpandableTableAccessible.defaultProps = {\r\n selectAllButtonAtBottom: false,\r\n};\r\n\r\nexport default ExpandableTableAccessible;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { INVALID_NUMERIC_FORMAT } from '@services/ErrorMessages';\r\nimport { AddressField, ContactInput, EmailFieldAccessible, TextInput, TileRadioAccessible } from '@components';\r\nimport { iContactInfoDisplay, tile } from '@interfaces/interfaces';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\nimport { FormType } from '@constants/index';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\ninterface iContactInformation {\r\n displayObject: iContactInfoDisplay;\r\n currentStep: string;\r\n}\r\n\r\nfunction ComapnyInformationAccessible({ displayObject, currentStep }: iContactInformation): ReactElement {\r\n const { values, touched }: { values: iInstalmentFormValues; touched: any } = useFormikContext();\r\n const isInstalment = displayObject.mode === FormType.INSTALMENT;\r\n\r\n const formikContext = useFormikContext();\r\n const Abn = (): ReactElement => (\r\n <>\r\n
ABN
\r\n \r\n );\r\n\r\n const Acn = (): ReactElement => (\r\n <>\r\n
ACN
\r\n \r\n );\r\n\r\n const ABNACN_TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'ACN',\r\n },\r\n {\r\n body: ,\r\n value: 'ABN',\r\n },\r\n ];\r\n\r\n const PostalAddress = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NotPostalAddress = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const POSTAL_TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const validateAbnAsync = (value: string) => {\r\n const url = `${API_URL}sitecore/PartialForms/ABNLookUp`;\r\n const payload = {\r\n InputNumber: value,\r\n };\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.text())\r\n .then((responseBody) => {\r\n if (responseBody === 'False') {\r\n return 'Please enter a valid ABN';\r\n }\r\n return '';\r\n })\r\n .catch((error) => error);\r\n };\r\n\r\n const validateAcnAsync = (value: string) => {\r\n const url = `${API_URL}sitecore/PartialForms/ACNLookUp`;\r\n const payload = {\r\n InputNumber: value,\r\n };\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.text())\r\n .then((responseBody) => {\r\n if (responseBody === 'False') {\r\n return 'Please enter a valid ACN';\r\n }\r\n return '';\r\n })\r\n .catch((error) => error);\r\n };\r\n if (values.NoEmail) {\r\n values.EMAIL_TO = 'false';\r\n }\r\n const { givenName, familyName, companyPosition, contactNumber, noEmailAddress, emailAddress, emailTo, receiveDocs, companyName, ABNACNType, ABNNo, ACNNo, companyAddress, isAddressSameAsPostal, postalAddress } = displayObject.fields;\r\n return (\r\n <>\r\n
Details
\r\n Personal details\r\n \r\n \r\n \r\n \r\n \r\n {!values[noEmailAddress.formikName] && (\r\n \r\n )}\r\n {!values[noEmailAddress.formikName] && !(isInstalment) && (\r\n \r\n )}\r\n
\r\n Company details\r\n \r\n {\r\n formikContext.setFieldValue(ABNNo.formikName, '');\r\n formikContext.setFieldTouched(ABNNo.formikName, false);\r\n formikContext.setFieldError(ABNNo.formikName, INVALID_NUMERIC_FORMAT);\r\n formikContext.setFieldValue(ACNNo.formikName, '');\r\n formikContext.setFieldTouched(ACNNo.formikName, false);\r\n formikContext.setFieldError(ACNNo.formikName, INVALID_NUMERIC_FORMAT);\r\n }}\r\n />\r\n {getIn(values, ABNACNType.formikName) === 'ABN' && }\r\n {getIn(values, ABNACNType.formikName) === 'ACN' && }\r\n \r\n \r\n {getIn(values, isAddressSameAsPostal.formikName) === 'true' && (\r\n \r\n )}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ComapnyInformationAccessible;\r\n","/* eslint-disable react/no-danger */\r\nimport { ReactElement } from 'react';\r\nimport Modal from 'react-modal';\r\n\r\nimport styles from './Modal.module.scss';\r\n\r\ninterface iProps {\r\n show: boolean;\r\n title: ReactElement | string;\r\n content: string | ReactElement;\r\n contentClass?: string;\r\n close: () => void;\r\n}\r\n\r\n// Make sure to bind modal to your appElement (https://reactcommunity.org/react-modal/accessibility/)\r\nModal.setAppElement('#root');\r\n\r\nconst VFModalSimple = ({ show, title, content, close, contentClass }: iProps): ReactElement => {\r\n if (!show) {\r\n return <>;\r\n }\r\n\r\n const rendercontent = (): ReactElement => {\r\n if (typeof content === 'string') {\r\n return
;\r\n }\r\n return
{content}
;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
{title}
\r\n
\r\n {rendercontent()}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nVFModalSimple.defaultProps = {\r\n contentClass: '',\r\n};\r\n\r\nexport default VFModalSimple;\r\n","import { ReactElement } from 'react';\r\nimport styles from './InformationContainer.module.scss';\r\n\r\ninterface iInformationContainer {\r\n message: ReactElement | string;\r\n theme?: 'error' | 'info' | 'info2' | 'success';\r\n classAlt?: string;\r\n}\r\n\r\nconst InformationContainer = ({ message, theme, classAlt }: iInformationContainer): ReactElement => (\r\n
\r\n
\r\n
\r\n
{message}
\r\n
\r\n
\r\n
\r\n);\r\n\r\nInformationContainer.defaultProps = {\r\n theme: 'error',\r\n classAlt: '',\r\n};\r\n\r\nexport default InformationContainer;\r\n","import { ReactElement } from 'react';\r\n\r\nfunction ReviewAddressModal(): ReactElement {\r\n return (\r\n <>\r\n
\r\n

Change of address? Remember to update your details with VicRoads

\r\n

Have you moved recently? By law you must advise VicRoads of your new address within 14 days of moving.

\r\n

Fines sent to the address registered with VicRoads are 'deemed served', even if you no longer live there and did not receive them.

\r\n

This means that agencies can take enforcement action against you if you have not dealt with a fine sent to an old address.

\r\n

You can update both your licence and vehicle registration details online at VicRoads.

\r\n
\r\n \r\n Go to VicRoads\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ReviewAddressModal;\r\n","import React, { ReactElement, useState, useRef, useEffect } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport { tileReview } from '@interfaces/interfaces';\r\nimport TickIcon from '../../images/tickIcon.svg';\r\nimport DownArrow from '../../images/downArrow.svg';\r\nimport styles from './TileRadioAccessibleReview.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n isMandatory: boolean;\r\n tileData: tileReview[];\r\n orientationRow: boolean;\r\n mobileCollapseRow?: boolean;\r\n classname?: string;\r\n wrapTiles?: boolean;\r\n tileChanged?: () => void;\r\n alwaysOpen?: boolean;\r\n isPUIneligible?: boolean;\r\n validateFieldName: string;\r\n isMultiSelectable?: boolean;\r\n}\r\n\r\nconst TileRadioAccessibleReview = ({ title, isMandatory, field, form, tileData, orientationRow, mobileCollapseRow, classname, wrapTiles, tileChanged, alwaysOpen, isPUIneligible, validateFieldName, isMultiSelectable }: iProps): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any, values: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const hasError = getIn(errors, validateFieldName);\r\n const touchedError = getIn(touched, validateFieldName);\r\n const tileLength = tileData.length;\r\n const [accordionOpen, setAccordionOpen] = useState(getIn(values, validateFieldName)[0]);\r\n const prevAccordionOpenRef = useRef(null);\r\n const [heights, setHeights] = useState>({});\r\n const prevAccordionOpen = prevAccordionOpenRef.current;\r\n // Create a refs object\r\n const refs: { [key: string]: React.RefObject } = tileData.reduce((acc: { [key: string]: React.RefObject }, tileItem, index) => {\r\n acc[`${field.name}${index}`] = React.createRef();\r\n return acc;\r\n }, {});\r\n const calculateHeight = (tileItemValue: string) => {\r\n const tileItemValueA = tileItemValue === accordionOpen && tileItemValue !== values.closeTheOption ? `${heights[tileItemValue]}px` : '0';\r\n return tileItemValueA;\r\n };\r\n const handleTickIconClick = (currentSelected: string) => {\r\n if (isMultiSelectable) {\r\n const indexToRemove = getIn(values, validateFieldName).indexOf(currentSelected);\r\n getIn(values, validateFieldName).splice(indexToRemove, 1);\r\n formikContext.setFieldValue('closeTheOption', '');\r\n setAccordionOpen(currentSelected);\r\n }\r\n };\r\n let iconDivContent: React.ReactElement;\r\n const returnIconContent = (currentSelected: string, index: number): React.ReactElement => {\r\n if (alwaysOpen) {\r\n iconDivContent = (\r\n
\r\n \"arrow\"\r\n
\r\n );\r\n } else if (getIn(values, validateFieldName) && getIn(values, validateFieldName).includes(currentSelected)) {\r\n iconDivContent = (\r\n { if (e.key === ' ' || e.key === 'Enter') { handleTickIconClick(currentSelected); } }}\r\n onClick={() => handleTickIconClick(currentSelected)}>\r\n \r\n
\r\n );\r\n } else {\r\n iconDivContent = (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return iconDivContent;\r\n };\r\n const getBrowser = () => {\r\n const { userAgent } = navigator;\r\n let browser = 'unknown';\r\n if (/chrome/i.test(userAgent)) {\r\n browser = 'chrome';\r\n } else if (/safari/i.test(userAgent)) {\r\n browser = 'safari';\r\n }\r\n return browser;\r\n };\r\n\r\n useEffect(() => {\r\n if (accordionOpen) {\r\n // Now that the accordion content is visible, calculate its height\r\n const height = refs[accordionOpen].current?.getBoundingClientRect().height || 0;\r\n setHeights((prevHeights) => ({\r\n ...prevHeights,\r\n [accordionOpen]: height,\r\n }));\r\n } else {\r\n setHeights({});\r\n }\r\n prevAccordionOpenRef.current = accordionOpen;\r\n }, [accordionOpen, values.closeTheOption, getIn(values, validateFieldName), values.errorOrInfoAppearsInAccordion, field.value]);\r\n\r\n return (\r\n <>\r\n {title && (\r\n \r\n {title}\r\n {!isMandatory && ( optional )}\r\n \r\n )}\r\n 2,\r\n })}\r\n role=\"radiogroup\"\r\n >\r\n {tileData\r\n .map((tileItem, index) => (\r\n { if (values.closeTheOption) { formikContext.setFieldValue('closeTheOption', ''); } setAccordionOpen(`${field.name}${index}`); }}\r\n >\r\n \r\n {\r\n if (e.key === ' ') {\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, tileItem.value);\r\n // handle tileChanged only a tile is already selected and a new tile is now selected\r\n if (getIn(values, field.name) && tileItem.value !== getIn(values, field.name) && tileChanged) tileChanged();\r\n }\r\n }}\r\n onClick={() => {\r\n formikContext.setFieldValue('closeTheOption', '');\r\n if (getBrowser() === 'safari') {\r\n setAccordionOpen((previousAccordionOpen) => {\r\n if (previousAccordionOpen === `${field.name}${index}`) {\r\n // If the accordion is already open, close it\r\n return '';\r\n }\r\n // If the accordion is closed, open it\r\n return `${field.name}${index}`;\r\n });\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (accordionOpen === prevAccordionOpen && values.closeTheOption !== accordionOpen && !(accordionOpen === undefined && prevAccordionOpen === undefined)) {\r\n // If the accordion is already open, close it\r\n setAccordionOpen('');\r\n } else {\r\n // If the accordion is closed, open it\r\n setAccordionOpen(`${field.name}${index}`);\r\n }\r\n }\r\n }}\r\n onChange={() => {\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, tileItem.value);\r\n // handle tileChanged only a tile is already selected and a new tile is now selected\r\n if (getIn(values, field.name) && tileItem.value !== getIn(values, field.name) && tileChanged) tileChanged();\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n
{tileItem.body}
\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\nTileRadioAccessibleReview.defaultProps = {\r\n title: null,\r\n mobileCollapseRow: true,\r\n classname: '',\r\n tileChanged: null,\r\n wrapTiles: false,\r\n alwaysOpen: false,\r\n isPUIneligible: false,\r\n isMultiSelectable: false,\r\n};\r\n\r\nexport default React.memo(TileRadioAccessibleReview);\r\n","import React, { ReactElement } from 'react';\r\nimport { Button } from '@components';\r\nimport { getIn, useFormikContext } from 'formik';\r\nimport styles from './ReviewAccordionFooter.module.scss';\r\n\r\ninterface iReviewAccordionFooter {\r\n selectOptionName: string;\r\n closeOptionName: string;\r\n itemOption: string;\r\n validateFieldsNames: string[];\r\n isSelectButtonDisabled: boolean;\r\n isMultiSelect: boolean,\r\n}\r\nconst ReviewAccordionFooter = ({ selectOptionName, closeOptionName, itemOption, validateFieldsNames, isSelectButtonDisabled, isMultiSelect }: iReviewAccordionFooter): ReactElement => {\r\n const formikContext = useFormikContext();\r\n const { values }: { values: any } = useFormikContext();\r\n\r\n const getButtonText = () => {\r\n if (isMultiSelect && getIn(values, selectOptionName).includes(itemOption)) {\r\n return 'Deselect this option';\r\n }\r\n return 'Select this option';\r\n };\r\n return (\r\n
\r\n
\r\n {\r\n formikContext.setFieldValue(closeOptionName, itemOption);\r\n formikContext.setFieldTouched(closeOptionName);\r\n }}\r\n >\r\n Close\r\n \r\n {\r\n for (let index = 0, l = validateFieldsNames.length; index < l; index += 1) {\r\n formikContext.setFieldTouched(validateFieldsNames[index]);\r\n formikContext.validateField(validateFieldsNames[index]);\r\n }\r\n const errorMessages = Object.keys(formikContext.errors).filter((key) => validateFieldsNames.includes(key));\r\n if (errorMessages.length <= 0) {\r\n let selectedList = [];\r\n if (isMultiSelect) {\r\n selectedList = getIn(values, selectOptionName);\r\n }\r\n if (!isMultiSelect || !getIn(values, selectOptionName).includes(itemOption)) {\r\n selectedList.push(itemOption);\r\n } else if (getIn(values, selectOptionName).includes(itemOption)) {\r\n const indexToRemove = getIn(values, selectOptionName).indexOf(itemOption);\r\n getIn(values, selectOptionName).splice(indexToRemove, 1);\r\n }\r\n await formikContext.setFieldValue(selectOptionName, selectedList);\r\n await formikContext.setFieldTouched(selectOptionName);\r\n formikContext.setFieldValue(closeOptionName, itemOption);\r\n }\r\n }}\r\n >\r\n {getButtonText()}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ReviewAccordionFooter;\r\n","import { ReactElement, useEffect, useState } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport { validateAbnAsync, validateAcnAsync } from '@api/index';\r\nimport { ABN_MIN_LENGTH, ACN_MIN_LENGTH } from '@constants/abnacn';\r\n\r\nimport classnames from 'classnames';\r\nimport styles from './ABNACNField.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n subtitle: string;\r\n isMandatory: boolean;\r\n placeholder: string;\r\n type?: string;\r\n disabled: boolean;\r\n autocomplete?: string;\r\n ABNACNType: string;\r\n ABNACNValidFieldName: string\r\n}\r\n\r\nconst ABNACNField = ({ field, title, subtitle, isMandatory, placeholder, type, disabled, autocomplete, ABNACNType, ABNACNValidFieldName }: iProps): ReactElement => {\r\n const { errors, touched }: { errors: any; touched: any } = useFormikContext();\r\n // loading = true when the API call is running\r\n const [loading, setLoading] = useState(false);\r\n // API Call counter\r\n const [ABNCounter, setABNCounter] = useState(0);\r\n // value of the user input\r\n const [inputValue, setInputValue] = useState('');\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const customisedErrorMessage = (errorMessage: string): ReactElement => {\r\n if (errorMessage.includes('<>')) {\r\n const removedChars = errorMessage.replace('<>', '');\r\n return (\r\n \r\n {removedChars}\r\n {' '}\r\n {'<>'}\r\n \r\n );\r\n }\r\n return {errorMessage};\r\n };\r\n const formikContext = useFormikContext();\r\n\r\n useEffect(() => {\r\n let currentCall = ABNCounter;\r\n // API call to validate ABN\r\n const callABNAPI = async () => {\r\n setLoading(true);\r\n await validateAbnAsync(inputValue)\r\n .then((response) => {\r\n if (currentCall === ABNCounter) {\r\n if (response === '') {\r\n formikContext.setFieldTouched(field.name, true);\r\n formikContext.setFieldValue(ABNACNValidFieldName, true);\r\n } else {\r\n formikContext.setFieldValue(ABNACNValidFieldName, false);\r\n }\r\n setLoading(false);\r\n }\r\n });\r\n };\r\n const callACNAPI = async () => {\r\n setLoading(true);\r\n await validateAcnAsync(inputValue)\r\n .then((response) => {\r\n if (currentCall === ABNCounter) {\r\n if (response === '') {\r\n formikContext.setFieldValue(ABNACNValidFieldName, true);\r\n } else {\r\n formikContext.setFieldValue(ABNACNValidFieldName, false);\r\n }\r\n setLoading(false);\r\n }\r\n });\r\n };\r\n\r\n if (inputValue !== '') {\r\n if (ABNACNType === 'ABN' && inputValue.length >= ABN_MIN_LENGTH) callABNAPI();\r\n if (ABNACNType === 'ACN' && inputValue.length >= ACN_MIN_LENGTH) callACNAPI();\r\n if (loading) if (ABNACNType === 'ACN' && inputValue.length < ABN_MIN_LENGTH) setLoading(false);\r\n if (loading) if (ABNACNType === 'ACN' && inputValue.length < ABN_MIN_LENGTH) setLoading(false);\r\n }\r\n return () => {\r\n currentCall = 0;\r\n };\r\n }, [inputValue, ABNCounter]);\r\n\r\n const handleChange = (e: any) => {\r\n formikContext.handleChange(e);\r\n setInputValue(e.target.value);\r\n setABNCounter((prevCounter) => prevCounter + 1);\r\n};\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n {title}\r\n {!isMandatory && ( optional )}\r\n {subtitle && {subtitle}}\r\n \r\n )}\r\n
\r\n \r\n {loading && (\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n customisedErrorMessage(msg)} />\r\n
\r\n );\r\n};\r\n\r\nABNACNField.defaultProps = {\r\n title: '',\r\n type: 'text',\r\n autocomplete: 'on',\r\n};\r\n\r\nexport default ABNACNField;\r\n","/* eslint-disable react/no-danger */\r\nimport { ReactElement } from 'react';\r\nimport Modal from 'react-modal';\r\n\r\nimport styles from './Modal.module.scss';\r\n\r\ninterface iProps {\r\n show: boolean;\r\n content: string | ReactElement;\r\n contentClass?: string;\r\n close?: () => void;\r\n shouldCloseOnOverlayClick?: boolean;\r\n}\r\n\r\n// Make sure to bind modal to your appElement (https://reactcommunity.org/react-modal/accessibility/)\r\nModal.setAppElement('#root');\r\n\r\nconst VFSimpleModalWithoutTitle = ({ show, content, close, contentClass, shouldCloseOnOverlayClick }: iProps): ReactElement => {\r\n if (!show) {\r\n return <>;\r\n }\r\n\r\n const rendercontent = (): ReactElement => {\r\n if (typeof content === 'string') {\r\n return
;\r\n }\r\n return
{content}
;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {rendercontent()}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nVFSimpleModalWithoutTitle.defaultProps = {\r\n contentClass: '',\r\n shouldCloseOnOverlayClick: true,\r\n close: () => '',\r\n};\r\n\r\nexport default VFSimpleModalWithoutTitle;\r\n","import { ReactElement, useState, useRef, useEffect } from 'react';\r\nimport ReactGA from 'react-ga';\r\nimport DownArrow from '../../images/downArrow.svg';\r\n\r\nimport styles from './AccordionWithContent.module.scss';\r\n\r\ninterface iProps {\r\n title: string;\r\n popupContent: string | ReactElement;\r\n alwaysOpen?: boolean;\r\n openByDefault?: boolean;\r\n}\r\n\r\nconst AccordionWithContent = ({ title, popupContent, alwaysOpen, openByDefault }: iProps): ReactElement => {\r\n const [accordionOpen, setAccordionOpen] = useState(openByDefault || alwaysOpen);\r\n const spanRef = useRef(null);\r\n const [height, setHeight] = useState();\r\n const rendercontent = (): ReactElement => {\r\n if (typeof popupContent === 'string') {\r\n return
;\r\n }\r\n return <>{popupContent};\r\n };\r\n useEffect(() => {\r\n if (accordionOpen) setHeight(spanRef.current?.getBoundingClientRect().height);\r\n else setHeight(0);\r\n }, [accordionOpen]);\r\n const handleExpending = () => {\r\n setAccordionOpen((prev) => !prev);\r\n if (!accordionOpen) {\r\n ReactGA.event({\r\n category: 'Accordion',\r\n action: 'expand',\r\n label: title,\r\n });\r\n }\r\n };\r\n const iconStyle = !accordionOpen ? styles.iconInitiated : styles.iconClicked;\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n {rendercontent()}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nAccordionWithContent.defaultProps = {\r\n alwaysOpen: false,\r\n openByDefault: false,\r\n};\r\n\r\nexport default AccordionWithContent;\r\n","import { ReactElement } from 'react';\r\nimport styles from './AddressFieldAlertContent.module.scss';\r\n\r\ninterface iProps {\r\n title: string;\r\n}\r\n\r\nconst AddressFieldAlertContentAccessible = ({ title }: iProps): ReactElement => (\r\n <>\r\n

\r\n Your\r\n {` ${title.toLowerCase()} `}\r\n could not be automatically matched\r\n

\r\n

\r\n Please type in your\r\n {` ${title.toLowerCase()} `}\r\n manually below\r\n

\r\n \r\n);\r\n\r\nexport default AddressFieldAlertContentAccessible;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable no-nested-ternary */\r\nimport { ReactElement, useState, useContext, useRef, useEffect } from 'react';\r\nimport { Field, useFormikContext, getIn, ErrorMessage } from 'formik';\r\nimport Autosuggest from 'react-autosuggest';\r\nimport { Button, DropdownMenu, TextInput, Alert, Modal } from '@components';\r\nimport { iSuggestion, iCountry } from '@interfaces/interfaces';\r\nimport { AusStateList } from '@constants';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport VicFinesFormContext from '@pages/forms/VicFinesFormContext';\r\nimport gridFormStyles from '@pages/forms/Grid.module.scss';\r\nimport classnames from 'classnames';\r\nimport { autocompleteAddress, captureAddress } from '@api/Address';\r\nimport AddressFieldAlertContentAccessible from '@components/Content/AlertContent/AddressFieldAlertContentAccessible';\r\nimport InfoIcon from '../../images/info.svg';\r\nimport { ReactComponent as SearchIcon } from '../../images/search.svg';\r\nimport styles from './AddressField.module.scss';\r\nimport theme from './Autosuggest.theme.module.scss';\r\n\r\ninterface iProps {\r\n name: string;\r\n title: string;\r\n manualAddressText: string;\r\n movedRecentlyText?: string;\r\n isMandatory: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nconst AddressFieldAccessible = ({ name, title, manualAddressText, isMandatory, disabled, movedRecentlyText }: iProps): ReactElement => {\r\n const { values, errors, touched }: { values: iThirdPartyFormValues | iCourtFormValues | iFVSFormValues; errors: any; touched: any } = useFormikContext();\r\n const refAutoSuggest = useRef(null);\r\n const [searchText, setSearchText] = useState('');\r\n const [suggestions, setSuggestions] = useState([]);\r\n const [manualAddress, setManualAddress] = useState(!!getIn(values, `${name}.LineOne`));\r\n const [addressFound, setAddressFound] = useState(false);\r\n const [isAddressFieldVisible, setAddressFieldVisible] = useState(!(getIn(values, `${name}.LineOne`)\r\n && getIn(values, `${name}.Suburb`)\r\n && getIn(values, `${name}.Postcode`)\r\n && getIn(values, `${name}.State`)\r\n && getIn(values, `${name}.Country`)\r\n));\r\n const [isOpenInfo, setOpenInfo] = useState(false);\r\n const formikProps = useFormikContext();\r\n const { countryList } = useContext(VicFinesFormContext);\r\n\r\n const closeNotifications = () => {\r\n setOpenInfo(false);\r\n };\r\n\r\n const addressNotificationTitle = (): ReactElement => (\r\n
\r\n Change of address? Remember to update your details with \r\n \r\n VicRoads\r\n \r\n
\r\n );\r\n\r\n const addressNotification = (): ReactElement => (\r\n <>\r\n
Have you moved recently?
\r\n
\r\n

\r\n By law you must advise VicRoads of your new address within 14 days of moving. Fines sent to the address registered with VicRoads are 'deemed served', even if you no\r\n longer liver there and did not receive them. This means that agencies can take enforcement action against you if you have not dealt with a fine sent to an old address.\r\n You can update both your licence and vehicle registration details online at VicRoads.\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n\r\n const COUNTRY_DROPDOWN = countryList.map((item: iCountry): { value: string; display: string } => ({\r\n value: item.Name,\r\n display: item.Name,\r\n }));\r\n\r\n const setDefaultAddressValues = async () => {\r\n await formikProps.setFieldValue(`${name}.SearchText`, '');\r\n await formikProps.setFieldValue(`${name}.Address`, '');\r\n await formikProps.setFieldValue(`${name}.LineOne`, '');\r\n await formikProps.setFieldValue(`${name}.LineTwo`, '');\r\n await formikProps.setFieldValue(`${name}.Suburb`, '');\r\n await formikProps.setFieldValue(`${name}.State`, '');\r\n await formikProps.setFieldValue(`${name}.Postcode`, '');\r\n await formikProps.setFieldValue(`${name}.Country`, 'Australia');\r\n };\r\n\r\n const setAddressFieldsTouched = (areFieldsTouched: boolean) => {\r\n formikProps.setFieldTouched(`${name}.LineOne`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.LineTwo`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.Suburb`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.State`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.Postcode`, areFieldsTouched);\r\n formikProps.setFieldTouched(`${name}.Country`, areFieldsTouched);\r\n };\r\n\r\n const getSuggestions = async (queryString: string) => {\r\n const json = await autocompleteAddress(queryString);\r\n setSuggestions(json.results);\r\n };\r\n\r\n const onSuggestionsFetchRequested = ({ value }: { value: string }) => {\r\n const encodedValue = encodeURIComponent(value);\r\n getSuggestions(encodedValue);\r\n };\r\n\r\n const onSuggestionsClearRequested = () => {\r\n setSuggestions([]);\r\n };\r\n\r\n const getSuggestionValue = (suggestion: iSuggestion): string => {\r\n const suggestionValue = suggestion.suggestion;\r\n if (suggestionValue) return suggestionValue;\r\n return '';\r\n };\r\n\r\n const renderSuggestion = (suggestion: iSuggestion): ReactElement => {\r\n const suggestionValue = suggestion.suggestion;\r\n if (suggestionValue) {\r\n return
{suggestion.suggestion}
;\r\n }\r\n return <>;\r\n };\r\n\r\n const onSuggestionSelected = async (event: any, { suggestion }: { suggestion: iSuggestion }) => {\r\n const suggestionValue = suggestion.suggestion;\r\n if (suggestionValue) {\r\n formikProps.setFieldValue(`${name}.Address`, suggestion.suggestion);\r\n const url = suggestion.format;\r\n await captureAddress(url).then((json) => {\r\n const format = json.address;\r\n const { country } = format[6];\r\n const formattedCountry = country\r\n .split(' ')\r\n .map((word: string) => word.charAt(0) + word.substring(1).toLowerCase())\r\n .join(' ');\r\n formikProps.setFieldValue(name, {\r\n LineOne: format[0].addressLine1,\r\n LineTwo: format[1].addressLine2,\r\n Suburb: format[3].locality,\r\n State: format[4].province,\r\n Postcode: format[5].postalCode,\r\n Country: formattedCountry,\r\n });\r\n });\r\n }\r\n setManualAddress(true);\r\n setAddressFieldVisible(false);\r\n setSearchText('');\r\n setAddressFound(true);\r\n };\r\n\r\n const inputProps = {\r\n value: searchText,\r\n onChange: (event: any, { newValue }: { newValue: string }) => {\r\n setSearchText(newValue);\r\n formikProps.setFieldValue(`${name}.SearchText`, newValue);\r\n },\r\n onBlur: () => {\r\n formikProps.setFieldTouched(`${name}.SearchText`);\r\n },\r\n disabled: disabled || manualAddress,\r\n placeholder: manualAddress && !addressFound\r\n ? 'My address is not listed'\r\n : `Search for ${\r\n title.toLowerCase().includes('residential address') ? 'residential address' : title.toLowerCase().includes('postal address') ? 'postal address' : title.toLowerCase()\r\n }`,\r\n };\r\n\r\n const countryChange = () => {\r\n formikProps.setFieldValue(`${name}.State`, '');\r\n };\r\n const hasTouchedAddressFields = getIn(touched, `${name}.LineOne`)\r\n || getIn(touched, `${name}.LineTwo`)\r\n || getIn(touched, `${name}.Suburb`)\r\n || getIn(touched, `${name}.Postcode`)\r\n || getIn(touched, `${name}.State`)\r\n || getIn(touched, `${name}.Country`);\r\n const hasAdressFieldsErrors = (\r\n getIn(errors, `${name}.LineOne`)\r\n || getIn(errors, `${name}.LineTwo`)\r\n || getIn(errors, `${name}.Suburb`)\r\n || getIn(errors, `${name}.Postcode`)\r\n || getIn(errors, `${name}.State`)\r\n || getIn(errors, `${name}.Country`)\r\n ) && !manualAddress;\r\n\r\n useEffect(() => {\r\n if (disabled) setAddressFieldVisible(true);\r\n if (getIn(values, `${name}.SearchText`) === '') {\r\n setSearchText('');\r\n }\r\n // setManualAddress(getIn(values, `${name}.LineOne`) || getIn(values, `${name}.Suburb`) || getIn(values, `${name}.State`) || getIn(values, `${name}.Postcode`));\r\n }, [getIn(values, `${name}.LineOne`), getIn(values, `${name}.Suburb`), getIn(values, `${name}.State`), getIn(values, `${name}.Postcode`), getIn(values, `${name}.SearchText`), disabled]);\r\n\r\n return (\r\n
\r\n {title && (\r\n
\r\n \r\n {title}\r\n \r\n {!isMandatory && ( optional )}\r\n
\r\n )}\r\n {isAddressFieldVisible && (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n {hasAdressFieldsErrors && hasTouchedAddressFields && isAddressFieldVisible &&
This field is required
}\r\n {manualAddress ? (\r\n
\r\n {!addressFound && isAddressFieldVisible && } icon={InfoIcon} theme=\"info2\" />}\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 {getIn(values, `${name}.Country`) === 'Australia' ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {\r\n setManualAddress(false);\r\n setAddressFieldVisible(true);\r\n setDefaultAddressValues();\r\n setAddressFieldsTouched(false);\r\n formikProps.setFieldValue(`${name}.InternationalAddress`, false);\r\n refAutoSuggest.current?.focus();\r\n }}>\r\n I want to search for my address again\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n \r\n {\r\n setSearchText('');\r\n setManualAddress(true);\r\n setAddressFound(false);\r\n }}>\r\n {manualAddressText}\r\n \r\n
\r\n
\r\n )}\r\n {movedRecentlyText !== '' && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n )}\r\n {isOpenInfo && }\r\n
\r\n );\r\n};\r\n\r\nAddressFieldAccessible.defaultProps = {\r\n disabled: false,\r\n movedRecentlyText: '',\r\n};\r\n\r\nexport default AddressFieldAccessible;\r\n","import { ReactElement, useState, useCallback } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport styles from './LimitedTextAreaLarge.module.scss';\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n limit: number;\r\n isMandatory: boolean;\r\n disabled?: boolean;\r\n placeholder?: string;\r\n}\r\n\r\nconst LimitedTextAreaLargeUpdated = ({ field, form, title, limit, disabled, isMandatory, placeholder }: iProps): ReactElement => {\r\n const { values, errors, touched }: { values: any; errors: any; touched: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const [content, setContent] = useState(values[field.name].slice(0, limit));\r\n const setFormattedContent = useCallback(\r\n (text: string) => {\r\n setContent(text.slice(0, limit));\r\n },\r\n [limit, setContent],\r\n );\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n {title}\r\n {!isMandatory && ( optional )}\r\n
\r\n )}\r\n
\r\n {\r\n let correctedString = event.target.value.replace(/‘/g, \"'\");\r\n correctedString = correctedString.replace(/’/g, \"'\");\r\n correctedString = correctedString.replace(/“/g, '\"');\r\n correctedString = correctedString.replace(/”/g, '\"');\r\n correctedString = correctedString.replace(/–/g, '-');\r\n correctedString = correctedString.replace(/—/g, '-');\r\n setFormattedContent(correctedString);\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, correctedString);\r\n }}\r\n value={getIn(values, field.name)}\r\n disabled={disabled}\r\n required={isMandatory}\r\n placeholder={placeholder}\r\n maxLength={limit}\r\n aria-label=\"Text Area\"\r\n />\r\n

{`${limit - content.length} characters remaining`}

\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nLimitedTextAreaLargeUpdated.defaultProps = {\r\n title: '',\r\n disabled: false,\r\n placeholder: '',\r\n};\r\n\r\nexport default LimitedTextAreaLargeUpdated;\r\n","/* eslint-disable import/prefer-default-export, no-shadow */\r\nexport enum ProgressStep {\r\n START = 'Start',\r\n DETAILS = 'Details',\r\n CHECK_CONFIRM = 'Check & confirm',\r\n DONE = 'Done',\r\n}\r\n\r\nexport enum ObligationStatus {\r\n INFRINGEMENT = 'Infringement',\r\n PENALTY_REMINDER = 'PenaltyReminder',\r\n NOTICE_OF_FINAL_DEMAND = 'NoticeOfFinalDemand',\r\n ENFORCEMENT_WARRANT = 'EnforcementWarrant',\r\n}\r\n","/* eslint-disable import/prefer-default-export, no-shadow */\r\nexport const AusStateList = [\r\n { value: '', display: 'Select' },\r\n { value: 'VIC', display: 'VIC' },\r\n { value: 'NSW', display: 'NSW' },\r\n { value: 'ACT', display: 'ACT' },\r\n { value: 'QLD', display: 'QLD' },\r\n { value: 'WA', display: 'WA' },\r\n { value: 'NT', display: 'NT' },\r\n { value: 'SA', display: 'SA' },\r\n { value: 'TAS', display: 'TAS' },\r\n];\r\n\r\nexport const TitleOptionsList = [\r\n { value: 'MISS', display: 'Miss' },\r\n { value: 'MR', display: 'Mr' },\r\n { value: 'MRS', display: 'Mrs' },\r\n { value: 'MS', display: 'Ms' },\r\n { value: 'OTHER', display: 'Other' },\r\n];\r\n\r\nexport const WhoPreparedReport = [\r\n { value: 'Case worker (e.g. special FV case worker)', display: 'Case worker (e.g. special FV case worker)' },\r\n { value: 'Social worker (e.g. special FV case worker)', display: 'Social worker (e.g. special FV case worker)' },\r\n { value: 'Financial counsellor', display: 'Financial counsellor' },\r\n { value: 'Health practitioner', display: 'Health practitioner' },\r\n { value: 'School principal', display: 'School principal' },\r\n { value: 'School welfare coordinator', display: 'School welfare coordinator' },\r\n { value: 'Police', display: 'Police' },\r\n { value: 'A court', display: 'A court' },\r\n { value: 'Other', display: 'Other' },\r\n];\r\n\r\nexport const GenderOptionsList = [\r\n { value: 'male', display: 'Male' },\r\n { value: 'female', display: 'Female' },\r\n { value: 'self-described', display: 'Self-described' },\r\n];\r\n\r\nexport const OriginOptionsList = [\r\n { value: 'aboriginal', display: 'Aboriginal' },\r\n { value: 'torres-strait-islander', display: 'Torres Strait Islander' },\r\n { value: 'aboriginal-and-torres-strait-islander', display: 'Aboriginal and Torres Strait Islander' },\r\n { value: 'neither-aboriginal-and-torres-strait-islander', display: 'Neither Aboriginal nor Torres Strait Islander' },\r\n];\r\n\r\nexport const EnglishProficiencyOptionsList = [\r\n { value: 'not-at-all', display: 'Not at all' },\r\n { value: 'poorly', display: 'Poorly' },\r\n { value: 'adequately', display: 'Adequately' },\r\n { value: 'very-well', display: 'Very well' },\r\n];\r\n","/* eslint-disable import/prefer-default-export, no-shadow */\r\nexport const nextDay = new Date((new Date()).getTime() + (60 * 60 * 24 * 1000));\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"Grid_form__2GzTO\",\"gridColFull\":\"Grid_gridColFull__2_3Q_\",\"gridColHalf\":\"Grid_gridColHalf__1kW_u\",\"gridColOneQuarter\":\"Grid_gridColOneQuarter__1EFsA\",\"gridCol58\":\"Grid_gridCol58__3DG1i\",\"gridColQuarter\":\"Grid_gridColQuarter__AyqpJ\"};","export default __webpack_public_path__ + \"static/media/info.c8e0d597.svg\";","export const getCountryListMock = async (): Promise => {\r\n const response = [\r\n { Name: 'Australia', Alpha3Code: 'AUS', Cioc: null },\r\n { Name: 'United States', Alpha3Code: 'US', Cioc: null },\r\n ];\r\n return new Promise((resolve, _reject) => {\r\n resolve(response);\r\n });\r\n};\r\n\r\nexport const getToolTipsMock = async (): Promise => {\r\n const response = [\r\n { Locator: 'needhelponformglobal', Body: '

Title

\\n

Hello

' },\r\n { Locator: 'needassistanceonformglobal', Body: '

Title

\\n

Hello

' },\r\n ];\r\n return new Promise((resolve, _reject) => {\r\n resolve(response);\r\n });\r\n};\r\n","import { iToolTips, iCountry } from '@interfaces/interfaces';\r\nimport { getCountryListMock, getToolTipsMock } from './ReferenceDataMock';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL, NODE_ENV, REACT_APP_SITECORE_API_MOCK } = process.env;\r\n\r\nexport const getCountryList = async (): Promise => {\r\n if (NODE_ENV === 'development' || REACT_APP_SITECORE_API_MOCK === 'true') {\r\n return getCountryListMock();\r\n }\r\n\r\n const urlCountryList = `${API_URL}sitecore/Globalization/GetCountryList`;\r\n const results = await fetch(urlCountryList);\r\n const json: iCountry[] = await results.json();\r\n return json;\r\n};\r\n\r\ninterface iTooltipResults {\r\n Locator: string;\r\n Body: string;\r\n}\r\n\r\nconst mapToolTips = (tooptips: iTooltipResults[]): iToolTips => {\r\n const mappedTooltips = {} as iToolTips;\r\n tooptips.forEach((tooltip: iTooltipResults, _index: any) => {\r\n let keyName = tooltip.Locator;\r\n // accordion content are managed in Sitecord, it contains step0, order is step01, step02 ...\r\n if ((tooltip.Locator.includes('step0')) || (tooltip.Locator.includes('obligationlocationonformstep1modal'))) {\r\n keyName = tooltip.Locator.replace('-', '|');\r\n } else {\r\n keyName = tooltip.Locator.replaceAll('-', '');\r\n }\r\n mappedTooltips[keyName] = tooltip.Body;\r\n });\r\n return mappedTooltips;\r\n};\r\n\r\nexport const getTooltips = async (formNameValue = 'fines.ReviewForm'): Promise => {\r\n if (NODE_ENV === 'development' && REACT_APP_SITECORE_API_MOCK === 'true') {\r\n return getToolTipsMock();\r\n }\r\n const payload = {\r\n formName: formNameValue\r\n };\r\n const header = {\r\n 'Content-Type': 'application/json',\r\n };\r\n const urlTootips = `${API_URL}sitecore/Tooltip/GetTooltips`;\r\n const results = await fetch(urlTootips, {\r\n method: 'POST',\r\n headers: header,\r\n body: JSON.stringify(payload),\r\n });\r\n const json: iTooltipResults[] = await results.json();\r\n return mapToolTips(json);\r\n};\r\n","import { iPartialFormData, iExistingForm } from '@interfaces/interfaces';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nconst PARTIAL_FORMS_API = `${API_URL}sitecore/PartialForms/`;\r\n\r\nexport const savePartialForm = async (partialForm: iPartialFormData): Promise => {\r\n const url = `${PARTIAL_FORMS_API}UpdatePartialForm`;\r\n const response = await fetch(url, {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(partialForm),\r\n });\r\n if (response.status !== 200) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nexport const createPartialForm = async (partialForm: iPartialFormData): Promise => {\r\n const url = `${PARTIAL_FORMS_API}CreatePartialForm`;\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n body: JSON.stringify(partialForm),\r\n });\r\n if (response.status !== 200) {\r\n throw new Error(response.toString());\r\n }\r\n return true;\r\n};\r\n\r\nexport const submitSavedPartialForm = async (pFormId: string): Promise => {\r\n const url = `${PARTIAL_FORMS_API}SubmitSavedPartialForm`;\r\n const response = await fetch(url, {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n partialFormID: pFormId\r\n }),\r\n });\r\n if (response.status !== 200) {\r\n throw new Error(response.toString());\r\n }\r\n return true;\r\n};\r\n\r\nexport const checkExistingForm = async (obligationNumber: string, formType: string): Promise => {\r\n const url = `${PARTIAL_FORMS_API}CheckingExistingForm`;\r\n const payload = {\r\n ObligationNO: obligationNumber,\r\n formType,\r\n };\r\n try {\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n if (response.status !== 200) {\r\n throw new Error(response.toString());\r\n }\r\n const results = await response.json();\r\n return results;\r\n} catch (error) {\r\n return {\r\n CheckingExisting: 'no',\r\n CanSave: false,\r\n ExpiryDate: ''\r\n };\r\n}\r\n};\r\n\r\nexport const getPartialForm = async (partialFormID: number): Promise => {\r\n const url = `${PARTIAL_FORMS_API}GetPartialForm`;\r\n try {\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({ partialFormID }),\r\n });\r\n return response.json();\r\n } catch (ex) {\r\n return {};\r\n }\r\n};\r\n","/* eslint-disable @typescript-eslint/no-empty-function */\r\nimport { createContext } from 'react';\r\nimport { iToolTips, iCountry, iApiError } from '@interfaces/interfaces';\r\n\r\ninterface iVicFinesFormContext {\r\n apiError?: iApiError;\r\n countryList: iCountry[];\r\n tooltips: iToolTips;\r\n setCountryList: (_countryList: iCountry[]) => void;\r\n setTooltips: (_tooltips: iToolTips) => void;\r\n clearApiError?: () => void;\r\n}\r\n\r\nconst context = {\r\n countryList: [] as iCountry[],\r\n tooltips: {} as iToolTips,\r\n setCountryList: (_countryList: iCountry[]): void => {},\r\n setTooltips: (_tooltips: iToolTips): void => {},\r\n};\r\n\r\nexport const INITIAL_TP_CONTEXT: iVicFinesFormContext = {\r\n apiError: {} as iApiError,\r\n clearApiError: (): void => {},\r\n ...context,\r\n};\r\n\r\nconst ThirdPartyContext = createContext(INITIAL_TP_CONTEXT);\r\n\r\nexport default ThirdPartyContext;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subtitle\":\"Step6Grounds_subtitle__2uUhO\",\"boxheight\":\"Step6Grounds_boxheight__2XCtD\",\"alertMessageBox\":\"Step6Grounds_alertMessageBox__2K4W9\",\"fieldContainer\":\"Step6Grounds_fieldContainer__3Rywg\",\"superscript\":\"Step6Grounds_superscript__eg5T8\",\"titleError\":\"Step6Grounds_titleError__3L5V9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"AddressField_container__1XSOW\",\"title\":\"AddressField_title__1cncQ\",\"titleError\":\"AddressField_titleError__10sc3\",\"optional\":\"AddressField_optional__2otjN\",\"autosuggestContainer\":\"AddressField_autosuggestContainer__5p7P8\",\"autosuggest\":\"AddressField_autosuggest__14U5s\",\"clearButton\":\"AddressField_clearButton__1L553\",\"searchIcon\":\"AddressField_searchIcon__2K4Go\",\"manualInputForm\":\"AddressField_manualInputForm__2gA1u\",\"autoAddressAlertInfo\":\"AddressField_autoAddressAlertInfo__2AuMh\",\"infoIconContainer\":\"AddressField_infoIconContainer__3LxTF\",\"infoIcon\":\"AddressField_infoIcon__2UIaG\",\"alertText\":\"AddressField_alertText__3rYCR\",\"titleWarning\":\"AddressField_titleWarning__1zW4X\",\"errorMsg\":\"AddressField_errorMsg__Qr1lA\",\"addressButton\":\"AddressField_addressButton__1-Siq\",\"movedRecentlyButton\":\"AddressField_movedRecentlyButton__2l-aA\",\"postalContainer\":\"AddressField_postalContainer__3qF-D\",\"postalTitle\":\"AddressField_postalTitle__3Tk08\",\"fieldName\":\"AddressField_fieldName__2dik7\",\"modalTitle\":\"AddressField_modalTitle__ecSCa\",\"sectionTitle\":\"AddressField_sectionTitle__3IVpm\",\"sectionDescription\":\"AddressField_sectionDescription__2aU7X\",\"btnFooter\":\"AddressField_btnFooter__3SKYq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"ReviewStep12_offenceDetails__17gun\",\"detailHeadings\":\"ReviewStep12_detailHeadings__2wk8o\",\"detailValues\":\"ReviewStep12_detailValues__3ppb2\",\"obligationNumber\":\"ReviewStep12_obligationNumber__2Zlqh\",\"detailTable\":\"ReviewStep12_detailTable__2VBs5\",\"offenceTable\":\"ReviewStep12_offenceTable__W_5i1\",\"onlyMobileRows\":\"ReviewStep12_onlyMobileRows__3-9sG\",\"tdFirstColBackground\":\"ReviewStep12_tdFirstColBackground__CnKvs\",\"tdSecondColBackground\":\"ReviewStep12_tdSecondColBackground__3m_9-\",\"tdSpanFont\":\"ReviewStep12_tdSpanFont__2e-pu\",\"hideInMobileView\":\"ReviewStep12_hideInMobileView__1wDqK\",\"uppcaseText\":\"ReviewStep12_uppcaseText__2-EPK\",\"capitalisedText\":\"ReviewStep12_capitalisedText__23xX6\",\"middleNoteSection\":\"ReviewStep12_middleNoteSection__VSEPQ\",\"noteSection\":\"ReviewStep12_noteSection__2Ybd_\",\"tile\":\"ReviewStep12_tile__16amR\",\"obligationNumberContainer\":\"ReviewStep12_obligationNumberContainer__1MAxk\",\"obligationNumberField\":\"ReviewStep12_obligationNumberField__3CF1n\",\"iconButton\":\"ReviewStep12_iconButton__TgU8x\",\"descriptionDiv\":\"ReviewStep12_descriptionDiv__t196c\",\"removeDiv\":\"ReviewStep12_removeDiv__1EUR5\"};","export default __webpack_public_path__ + \"static/media/issue.276c9a38.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"FVSStep9_offenceDetails__23BSR\",\"detailHeadings\":\"FVSStep9_detailHeadings__3b0QP\",\"detailValues\":\"FVSStep9_detailValues__2P8Ce\",\"obligationNumber\":\"FVSStep9_obligationNumber__2epX8\",\"detailTable\":\"FVSStep9_detailTable__yvk5J\",\"offenceTable\":\"FVSStep9_offenceTable__2tBhp\",\"onlyMobileRows\":\"FVSStep9_onlyMobileRows__lWspr\",\"tdFirstColBackground\":\"FVSStep9_tdFirstColBackground__1Ku57\",\"tdSecondColBackground\":\"FVSStep9_tdSecondColBackground__2CAVh\",\"tdSpanFont\":\"FVSStep9_tdSpanFont__3WX9Q\",\"hideInMobileView\":\"FVSStep9_hideInMobileView__2hvzg\",\"uppcaseText\":\"FVSStep9_uppcaseText__3rx2o\",\"capitalisedText\":\"FVSStep9_capitalisedText__2lTvZ\",\"middleNoteSection\":\"FVSStep9_middleNoteSection__1_VFK\",\"middleReferenceSection\":\"FVSStep9_middleReferenceSection__1sJnG\",\"noteSection\":\"FVSStep9_noteSection__Dqxw3\",\"tile\":\"FVSStep9_tile__1ms5P\",\"title\":\"FVSStep9_title__1uaQA\",\"text\":\"FVSStep9_text__QsUTr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"TileRadioAccessibleWithInfo_title__2Pk97\",\"titleBold\":\"TileRadioAccessibleWithInfo_titleBold__1BJeo\",\"optional\":\"TileRadioAccessibleWithInfo_optional__TgZfH\",\"titleError\":\"TileRadioAccessibleWithInfo_titleError__2QOiT\",\"tileContainer\":\"TileRadioAccessibleWithInfo_tileContainer__3Z_gX\",\"tileItemExpand\":\"TileRadioAccessibleWithInfo_tileItemExpand__tcYkR\",\"hidden\":\"TileRadioAccessibleWithInfo_hidden__7VJ7-\",\"tileItem\":\"TileRadioAccessibleWithInfo_tileItem__2GIKO\",\"tile\":\"TileRadioAccessibleWithInfo_tile__yiHdW\",\"radio\":\"TileRadioAccessibleWithInfo_radio__2FmC2\",\"inputError\":\"TileRadioAccessibleWithInfo_inputError__lejhZ\",\"rowBreak\":\"TileRadioAccessibleWithInfo_rowBreak__24nbQ\",\"selected\":\"TileRadioAccessibleWithInfo_selected__2aFaT\",\"wrapTiles\":\"TileRadioAccessibleWithInfo_wrapTiles__3W8UP\",\"orientationRow\":\"TileRadioAccessibleWithInfo_orientationRow__65ptr\",\"orientationRowCollapse\":\"TileRadioAccessibleWithInfo_orientationRowCollapse__2T6AT\",\"orientationColumn\":\"TileRadioAccessibleWithInfo_orientationColumn__3ab5L\",\"errorMsg\":\"TileRadioAccessibleWithInfo_errorMsg__z1Nrk\",\"infoCaptionAboveTablet\":\"TileRadioAccessibleWithInfo_infoCaptionAboveTablet__2vGVB\",\"infoCaptionMobile\":\"TileRadioAccessibleWithInfo_infoCaptionMobile__1qtph\",\"noDisplay\":\"TileRadioAccessibleWithInfo_noDisplay__2fd7A\",\"accordionContent\":\"TileRadioAccessibleWithInfo_accordionContent__3S9Vg\",\"accordContent\":\"TileRadioAccessibleWithInfo_accordContent__2mgpd\",\"thick\":\"TileRadioAccessibleWithInfo_thick__1Duf_\",\"divPadding\":\"TileRadioAccessibleWithInfo_divPadding__1LZ8X\",\"tileValue\":\"TileRadioAccessibleWithInfo_tileValue__2P6zT\",\"iconDiv\":\"TileRadioAccessibleWithInfo_iconDiv__1tXqX\",\"tickIcon\":\"TileRadioAccessibleWithInfo_tickIcon__2AHb_\",\"arrowIcon\":\"TileRadioAccessibleWithInfo_arrowIcon__TDhDh\",\"iconChanged\":\"TileRadioAccessibleWithInfo_iconChanged__2HMSr\",\"iconClicked\":\"TileRadioAccessibleWithInfo_iconClicked__1SiJf\",\"iconInitiated\":\"TileRadioAccessibleWithInfo_iconInitiated__20WMb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"TileRadioAccessibleReview_title__1LaQi\",\"titleBold\":\"TileRadioAccessibleReview_titleBold__3HMmm\",\"optional\":\"TileRadioAccessibleReview_optional__3Grab\",\"titleError\":\"TileRadioAccessibleReview_titleError__M65ue\",\"tileContainer\":\"TileRadioAccessibleReview_tileContainer__cPssx\",\"tileItemExpand\":\"TileRadioAccessibleReview_tileItemExpand__3_Obk\",\"hidden\":\"TileRadioAccessibleReview_hidden__w9qRK\",\"tileItem\":\"TileRadioAccessibleReview_tileItem__338DE\",\"tile\":\"TileRadioAccessibleReview_tile__2QMXf\",\"radio\":\"TileRadioAccessibleReview_radio__38_eR\",\"inputError\":\"TileRadioAccessibleReview_inputError__4LbyT\",\"rowBreak\":\"TileRadioAccessibleReview_rowBreak__1Yprw\",\"selected\":\"TileRadioAccessibleReview_selected__2qMdC\",\"selectedText\":\"TileRadioAccessibleReview_selectedText__3oPaJ\",\"wrapTiles\":\"TileRadioAccessibleReview_wrapTiles__1Rjby\",\"orientationRow\":\"TileRadioAccessibleReview_orientationRow__JOb_I\",\"orientationRowCollapse\":\"TileRadioAccessibleReview_orientationRowCollapse__274EN\",\"orientationColumn\":\"TileRadioAccessibleReview_orientationColumn__KfRo4\",\"errorMsg\":\"TileRadioAccessibleReview_errorMsg__1zfBV\",\"infoCaptionAboveTablet\":\"TileRadioAccessibleReview_infoCaptionAboveTablet__1Yf9d\",\"infoCaptionMobile\":\"TileRadioAccessibleReview_infoCaptionMobile__2DNh6\",\"noDisplay\":\"TileRadioAccessibleReview_noDisplay__1d3IT\",\"accordionContent\":\"TileRadioAccessibleReview_accordionContent__2hzOe\",\"accordContent\":\"TileRadioAccessibleReview_accordContent__1GKRD\",\"divPadding\":\"TileRadioAccessibleReview_divPadding__dqDYg\",\"tileValue\":\"TileRadioAccessibleReview_tileValue__3a_qI\",\"subTitle\":\"TileRadioAccessibleReview_subTitle__os2Hv\",\"iconDiv\":\"TileRadioAccessibleReview_iconDiv__22nIN\",\"tickIcon\":\"TileRadioAccessibleReview_tickIcon__1FIRi\",\"tickIconCursor\":\"TileRadioAccessibleReview_tickIconCursor__26G8C\",\"arrowIcon\":\"TileRadioAccessibleReview_arrowIcon__14VA7\",\"iconClicked\":\"TileRadioAccessibleReview_iconClicked__1TMd3\",\"iconInitiated\":\"TileRadioAccessibleReview_iconInitiated__1h4zP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"ExtensionStep4_offenceDetails__13qiy\",\"detailHeadings\":\"ExtensionStep4_detailHeadings__3yDxe\",\"detailValues\":\"ExtensionStep4_detailValues__2-seR\",\"obligationNumber\":\"ExtensionStep4_obligationNumber__39QrO\",\"detailTable\":\"ExtensionStep4_detailTable__1N_HZ\",\"offenceTable\":\"ExtensionStep4_offenceTable__e-ksk\",\"onlyMobileRows\":\"ExtensionStep4_onlyMobileRows__UGFg8\",\"tdFirstColBackground\":\"ExtensionStep4_tdFirstColBackground__1lFDn\",\"tdSecondColBackground\":\"ExtensionStep4_tdSecondColBackground__NDFfT\",\"tdSpanFont\":\"ExtensionStep4_tdSpanFont__3c3gp\",\"hideInMobileView\":\"ExtensionStep4_hideInMobileView__1ENIU\",\"uppcaseText\":\"ExtensionStep4_uppcaseText__1RqQU\",\"capitalisedText\":\"ExtensionStep4_capitalisedText__1Os-P\",\"middleNoteSection\":\"ExtensionStep4_middleNoteSection__1JwzX\",\"noteSection\":\"ExtensionStep4_noteSection__1Ph0I\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"InfringementExtStep5_offenceDetails__2gLme\",\"detailHeadings\":\"InfringementExtStep5_detailHeadings__34opo\",\"detailValues\":\"InfringementExtStep5_detailValues__3zuUx\",\"obligationNumber\":\"InfringementExtStep5_obligationNumber__16C17\",\"detailTable\":\"InfringementExtStep5_detailTable__-oCWc\",\"offenceTable\":\"InfringementExtStep5_offenceTable__3FiHD\",\"onlyMobileRows\":\"InfringementExtStep5_onlyMobileRows__c_kNm\",\"tdFirstColBackground\":\"InfringementExtStep5_tdFirstColBackground__3uYH5\",\"tdSecondColBackground\":\"InfringementExtStep5_tdSecondColBackground__3C1Rf\",\"tdSpanFont\":\"InfringementExtStep5_tdSpanFont__2_Tj4\",\"hideInMobileView\":\"InfringementExtStep5_hideInMobileView__1JOVQ\",\"uppcaseText\":\"InfringementExtStep5_uppcaseText__2d4MU\",\"capitalisedText\":\"InfringementExtStep5_capitalisedText__RMZu7\",\"middleNoteSection\":\"InfringementExtStep5_middleNoteSection__2R0VT\",\"noteSection\":\"InfringementExtStep5_noteSection__12kYd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"InstalmentStep5_offenceDetails__3h19Y\",\"detailHeadings\":\"InstalmentStep5_detailHeadings__2e81e\",\"detailValues\":\"InstalmentStep5_detailValues__1fxSE\",\"obligationNumber\":\"InstalmentStep5_obligationNumber__2bmnP\",\"detailTable\":\"InstalmentStep5_detailTable__INswM\",\"offenceTable\":\"InstalmentStep5_offenceTable__3rSkn\",\"onlyMobileRows\":\"InstalmentStep5_onlyMobileRows__1bxia\",\"tdFirstColBackground\":\"InstalmentStep5_tdFirstColBackground__Ay-n_\",\"tdSecondColBackground\":\"InstalmentStep5_tdSecondColBackground__31i9B\",\"tdSpanFont\":\"InstalmentStep5_tdSpanFont__3gOWM\",\"hideInMobileView\":\"InstalmentStep5_hideInMobileView__2d5p9\",\"uppcaseText\":\"InstalmentStep5_uppcaseText__3i3YY\",\"capitalisedText\":\"InstalmentStep5_capitalisedText__2UtXv\",\"middleNoteSection\":\"InstalmentStep5_middleNoteSection__26W24\",\"noteSection\":\"InstalmentStep5_noteSection__1P8wu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"ReviewStep11_offenceDetails__2qV17\",\"detailHeadings\":\"ReviewStep11_detailHeadings__36raF\",\"detailValues\":\"ReviewStep11_detailValues__UDWav\",\"obligationNumber\":\"ReviewStep11_obligationNumber__1wfhp\",\"detailTable\":\"ReviewStep11_detailTable__G1vMR\",\"offenceTable\":\"ReviewStep11_offenceTable__2F2Ea\",\"onlyMobileRows\":\"ReviewStep11_onlyMobileRows__pKoLM\",\"tdFirstColBackground\":\"ReviewStep11_tdFirstColBackground__2Ig1T\",\"tdSecondColBackground\":\"ReviewStep11_tdSecondColBackground__3sf9J\",\"tdSpanFont\":\"ReviewStep11_tdSpanFont__1pyEx\",\"hideInMobileView\":\"ReviewStep11_hideInMobileView__23e-i\",\"uppcaseText\":\"ReviewStep11_uppcaseText__11k3O\",\"capitalisedText\":\"ReviewStep11_capitalisedText__39p-J\",\"middleNoteSection\":\"ReviewStep11_middleNoteSection__2c95N\",\"noteSection\":\"ReviewStep11_noteSection__1z2V2\"};","/* eslint-disable import/prefer-default-export, no-shadow */\r\nexport enum FormType {\r\n THIRDPARTY = 'thirdparty',\r\n COURT = 'Court',\r\n FAMILYVIOLENCESCHEME = 'FVS',\r\n EXTENSION = 'Extension',\r\n INFRINGEMENTEXTENSION = 'InfringementExtension',\r\n NOMINATION = 'Nomination',\r\n INSTALMENT = 'Instalment',\r\n REVIEW = 'Review',\r\n}\r\n","/* eslint-disable no-useless-escape */\r\nconst OBLIGATION_REGEX_OPTIONS = [\r\n '^([A-Z]{1}[0-9]{4}|[0-9]{5}|[A-Z]{2}[-][0-9]{2}[-][0-9]{0,1})[0-9]{4}$',\r\n '^(Y)[0-9]{6}$',\r\n '^(Z)[0-9]{6}$',\r\n '^(2[8-9]|[3-7][0-9]|8[0-5])[0-9]{8}$',\r\n '^\\\\s*(0[0-9]|1[0-9]|2[0-7]|86)[0-9]{8}\\\\s*$',\r\n '^(A)[0-9]{10}$',\r\n '^(G)[0-9]{9}$',\r\n '^(P)[0-9]{9}$',\r\n '^(T)[0-9A-Za-z]{1,9}([0-9])$',\r\n '^\\\\s*(?=[0135])\\\\d{9}\\\\s*$',\r\n];\r\n\r\nexport const CONTACT_NUMBER_REGEX = new RegExp('^[0-9]+$');\r\n\r\n// This is a negative lookahead regular expression to now allow ^<> in email fields\r\nexport const EMAIL_SPECIAL_CHARS_REGEX = new RegExp(/^(?!.*[\\^<>]).*$/);\r\n\r\nexport const NAME_FIELDS_REGEX = new RegExp('^([a-zA-Z]+)( [a-zA-Z]*)*$');\r\n// For Given name and Family name fields restrict input to a maximum of 80 characters, including:[A-Za-z0-9]-'.space\r\nexport const NAME_FIELDS_NEW_REGEX = new RegExp(/^[\\w\\s.'-]{0,80}$/);\r\n// a maximum of 75 characters, including:[A-Za-z0-9]@#\\()$%*&=-.,?!-:;\"'/|space\r\nexport const ORGANISATION_NAME_REGEX = new RegExp(/^[\\w\\s@#\\\\()$%*&=\\-.,?!:;\"'\\/|]+$/);\r\n\r\nexport const FIELDS_WITH_SEPCIFI_CHARS = new RegExp('^((?!<|>).)*$');\r\n\r\n// eslint-disable-next-line import/prefer-default-export\r\nexport const OBLIGATION_REGEX = new RegExp(OBLIGATION_REGEX_OPTIONS.join('|'));\r\n\r\nexport const TEN_DIGITS_OBLIGATIONS = new RegExp('^\\\\d{10}$');\r\n\r\nexport const VEHICLE_REGISTRATION_REGEX = new RegExp('^[A-Z0-9]+$');\r\n\r\nexport const ADDRESS_SEARCH_REGEX = new RegExp(/^[\\w\\s:.;,' -\\/\\\\()]+$/);\r\nexport const COMPANY_NAME_REGEX = new RegExp(/^[\\w\\s@#\\\\() $%*&=\\\\-\\\\.,?!-:\"'/]+$/);\r\nexport const FREE_TEXT_FIELD_REGEX = new RegExp(/^[\\w\\s$:%.;,\"@&?'#= !_\\/\\\\-\\\\-()]+$/);\r\nexport const POSITION_IN_COMPANY_REGEX = new RegExp(/^[\\w\\s'-.,. ]+$/);\r\nexport const POST_CODE_REGEX = new RegExp(/^[\\w\\s]+$/);\r\nexport const ADDRESS_FIELD_CHARS_REGEX = new RegExp(/^[\\w\\s:.;,'-/\\\\()& -]+$/);\r\nexport const NAMES_FIELDS_REGEX = new RegExp(/^[\\w\\s.'-]+$/);\r\n\r\nexport const ABN_ACN_REGEX = new RegExp('^[0-9]+$');\r\n\r\nexport const CRN_REGEX = new RegExp('^\\\\d{9}[a-zA-Z]$');\r\n\r\nexport const ONLY_NUMBERS_REGEX = new RegExp('^[0-9]+$');\r\nexport const ABN_ACN_REGEX_NOMINATION = new RegExp('^[0-9 ]+$');\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable operator-linebreak */\r\nimport { FormikValues, getIn } from 'formik';\r\nimport { FormType } from '@constants';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst keys = (values: FormikValues, template: string): any => {\r\n const { THIRDPARTY, COURT, FAMILYVIOLENCESCHEME, EXTENSION, INFRINGEMENTEXTENSION, INSTALMENT, REVIEW, NOMINATION } = FormType;\r\n\r\n const listObligationFields = () => {\r\n const temp: string[] = [];\r\n if (template === THIRDPARTY || template === FAMILYVIOLENCESCHEME) {\r\n values.obligations.forEach((obligation: string, index: number) => {\r\n temp.push(`obligations.${index}.value`);\r\n });\r\n }\r\n return temp;\r\n };\r\n\r\n const listAgencyFields = () => {\r\n const temp: string[] = [];\r\n if (template === FAMILYVIOLENCESCHEME) {\r\n values.AgencyNames.forEach((agencyName: string, index: number) => {\r\n temp.push(`AgencyNames.${index}.value`);\r\n });\r\n }\r\n return temp;\r\n };\r\n const listArrayVFields = (arrayFields: string) => {\r\n const temp: string[] = [];\r\n if (template === FAMILYVIOLENCESCHEME) {\r\n getIn(values, arrayFields).forEach((arrayFieldName: string, index: number) => {\r\n temp.push(`${arrayFields}.${index}.value`);\r\n });\r\n }\r\n return temp;\r\n };\r\n const checkIsArrayVFieldsEmpty = (arrayFieldsName: string): boolean => {\r\n let isContainValue = false;\r\n getIn(values, arrayFieldsName).forEach((arrayFieldName: string, index: number) => {\r\n if (!isContainValue) {\r\n isContainValue = !!`${arrayFieldsName}.${index}.value`;\r\n }\r\n });\r\n return isContainValue;\r\n };\r\n\r\n /* Services - Third Party Keys */\r\n const thirdPartyKeys = {\r\n tpIndividualContactNumber: ['IndividualContactNumber', 'IndividualContactNumber.ContactNumber', 'IndividualContactNumber.NumberType'],\r\n tpOrganisationContactNumber: ['OrganisationContactNumber', 'OrganisationContactNumber.ContactNumber', 'OrganisationContactNumber.NumberType'],\r\n tpUserContactNumber: ['UserContactNumber', 'UserContactNumber.ContactNumber', 'UserContactNumber.NumberType'],\r\n tpOrganisationAddress: [\r\n 'OrganisationAddress',\r\n 'OrganisationAddress.LineOne',\r\n 'OrganisationAddress.LineTwo',\r\n 'OrganisationAddress.Suburb',\r\n 'OrganisationAddress.State',\r\n 'OrganisationAddress.Postcode',\r\n 'OrganisationAddress.Country',\r\n ],\r\n tpOrganisationPostalAddress: [\r\n 'OrganisationPostalAddress.LineOne',\r\n 'OrganisationPostalAddress.LineTwo',\r\n 'OrganisationPostalAddress.Suburb',\r\n 'OrganisationPostalAddress.State',\r\n 'OrganisationPostalAddress.Postcode',\r\n 'OrganisationPostalAddress.Country',\r\n ],\r\n tpResidentialAddress: [\r\n 'ResidentialAddress',\r\n 'ResidentialAddress.LineOne',\r\n 'ResidentialAddress.LineTwo',\r\n 'ResidentialAddress.Suburb',\r\n 'ResidentialAddress.State',\r\n 'ResidentialAddress.Postcode',\r\n 'ResidentialAddress.Country',\r\n ],\r\n tpResidentialPostalAddress: [\r\n 'ResidentialPostalAddress',\r\n 'ResidentialPostalAddress.LineOne',\r\n 'ResidentialPostalAddress.LineTwo',\r\n 'ResidentialPostalAddress.Suburb',\r\n 'ResidentialPostalAddress.State',\r\n 'ResidentialPostalAddress.Postcode',\r\n 'ResidentialPostalAddress.Country',\r\n ],\r\n tpStep3Individual: ['WhoAreYouNominating', 'MrMrsMsMissOther', 'GivenNames', 'FamilyName', values.NoEmailAddress === true ? [] : 'EmailAddressOptional'],\r\n tpStep3Organisation: [\r\n 'WhoAreYouNominating',\r\n 'OrganisationName',\r\n 'IsOrganisationAddressDifferentFromPostal',\r\n 'YourReferenceNumberWithinTheOrganisationOptional',\r\n values.NoEmailAddressTwo === true ? [] : 'EmailAddressOptionalTwo',\r\n ],\r\n tpLicenseState: ['DriverLicenceNumberOptional', 'StatecountryOfIssue', values.StatecountryOfIssue === 'Australia' ? 'LicenceState' : []],\r\n tpObligations: ['obligations', ...listObligationFields()],\r\n };\r\n const {\r\n tpIndividualContactNumber,\r\n tpOrganisationContactNumber,\r\n tpUserContactNumber,\r\n tpOrganisationAddress,\r\n tpOrganisationPostalAddress,\r\n tpResidentialAddress,\r\n tpResidentialPostalAddress,\r\n tpStep3Individual,\r\n tpStep3Organisation,\r\n tpLicenseState,\r\n tpObligations,\r\n } = thirdPartyKeys;\r\n const thirdPartyValidationKeys = {\r\n page1: ['WhatDoesThisAuthorisationCover'],\r\n page2: [\r\n 'WhatFinesDoesThisAuthorisationCover',\r\n 'HowLongWillThisAuthorisationLast',\r\n values.HowLongWillThisAuthorisationLast === 'Date' ? 'authlast' : null,\r\n values.WhatFinesDoesThisAuthorisationCover === 'No' ? 'authexclude' : null,\r\n ...(values.WhatFinesDoesThisAuthorisationCover === 'No' ? tpObligations : []),\r\n\r\n ],\r\n page3:\r\n values.WhoAreYouNominating === ''\r\n ? ['WhoAreYouNominating']\r\n : values.WhoAreYouNominating === 'individual'\r\n ? [...tpStep3Individual, ...tpIndividualContactNumber]\r\n : [\r\n ...tpStep3Organisation,\r\n ...tpOrganisationAddress,\r\n ...(values.IsOrganisationAddressDifferentFromPostal === 'true' ? tpOrganisationPostalAddress : []),\r\n ...tpOrganisationContactNumber,\r\n ],\r\n page4: [\r\n 'MrMrsMsMissOtherTwo',\r\n 'FirstOrGivenNames',\r\n 'LastNameOrFamilyName',\r\n 'IsResidentialAddressSameAsPostal',\r\n 'DateOfBirth',\r\n ...tpResidentialAddress,\r\n ...(values.IsResidentialAddressSameAsPostal === 'true' ? tpResidentialPostalAddress : []),\r\n ...tpUserContactNumber,\r\n ...(values.NoDriverLicence ? [] : tpLicenseState),\r\n ...(values.NoEmailAddressThree ? [] : ['EmailAddressOptionalThree', 'EMAIL_TO']),\r\n ],\r\n page5: [],\r\n page6: ['consentToDeclaration'],\r\n page7: [],\r\n };\r\n /* Services - Third Party Keys --end */\r\n\r\n /* Services - Court Keys */\r\n const courtKeys = {\r\n courtUserContactNumber: ['CourtContactNumber', 'CourtContactNumber.ContactNumber'],\r\n courtSummonsAddress: [\r\n 'SummonsAddress',\r\n 'SummonsAddress.LineOne',\r\n 'SummonsAddress.LineTwo',\r\n 'SummonsAddress.Suburb',\r\n 'SummonsAddress.State',\r\n 'SummonsAddress.Postcode',\r\n 'SummonsAddress.Country',\r\n ],\r\n courtResidentialAddress: [\r\n 'ResidentialAddress',\r\n 'ResidentialAddress.LineOne',\r\n 'ResidentialAddress.LineTwo',\r\n 'ResidentialAddress.Suburb',\r\n 'ResidentialAddress.State',\r\n 'ResidentialAddress.Postcode',\r\n 'ResidentialAddress.Country',\r\n ],\r\n courtCompanyAddress: [\r\n 'CompanyAddress',\r\n 'CompanyAddress.LineOne',\r\n 'CompanyAddress.LineTwo',\r\n 'CompanyAddress.Suburb',\r\n 'CompanyAddress.State',\r\n 'CompanyAddress.Postcode',\r\n 'CompanyAddress.Country',\r\n ],\r\n courtCompanyPostalAddress: [\r\n 'CompanyPostalAddress',\r\n 'CompanyPostalAddress.LineOne',\r\n 'CompanyPostalAddress.LineTwo',\r\n 'CompanyPostalAddress.Suburb',\r\n 'CompanyPostalAddress.State',\r\n 'CompanyPostalAddress.Postcode',\r\n 'CompanyPostalAddress.Country',\r\n ],\r\n courtLicenseState: ['DRIVER_LICENCE', 'StatecountryOfIssue', values.StatecountryOfIssue === 'Australia' ? 'LicenceState' : []],\r\n };\r\n const { courtUserContactNumber, courtSummonsAddress, courtResidentialAddress, courtLicenseState, courtCompanyAddress, courtCompanyPostalAddress } = courtKeys;\r\n const courtValidationKeys = {\r\n page0: [],\r\n page1: ['OBLIGATION_NUMBER'],\r\n page2: [\r\n values.OffenceDateRequired ? 'OFFENCE_DATE' : '',\r\n values.HearingDateRequired ? 'HEARING_DATE' : '',\r\n values.LicenceRequired ? 'DRIVER_LICENCE' : '',\r\n values.RegistrationRequired ? 'VEHICLE_REGISTRATION' : '',\r\n values.DOBRequired ? 'DOB' : '',\r\n ],\r\n page3: [\r\n 'SaveYesNo',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'email' || values.SaveOptions === 'both') ? 'saveEmail' : '',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'mobile' || values.SaveOptions === 'both') ? 'saveMobile' : '',\r\n ],\r\n page4: [],\r\n page5: [\r\n 'TitleMrMrsMsMissOther',\r\n 'DOB',\r\n 'GivenNames',\r\n 'FamilyName',\r\n 'EMAIL_TO',\r\n ...(values.NoDriverLicence ? [] : courtLicenseState),\r\n ...(values.NoEmail ? [] : ['Email', 'EMAIL_TO']),\r\n ...courtSummonsAddress,\r\n 'HasDifferentResidentialAddress',\r\n ...(values.HasDifferentResidentialAddress === 'true' ? courtResidentialAddress : []),\r\n ...courtUserContactNumber,\r\n ],\r\n page6: [\r\n 'TitleMrMrsMsMissOther',\r\n 'DOB',\r\n 'GivenNames',\r\n 'FamilyName',\r\n 'PositionOfThePersonWithinTheCompany',\r\n values.PositionOfThePersonWithinTheCompany === 'OTHER' ? 'OtherPosition' : '',\r\n 'CompanyName',\r\n 'AbnacnType',\r\n values.AbnacnType === 'ABN' ? 'AbnNo' : '',\r\n values.AbnacnType === 'ACN' ? 'AcnNo' : '',\r\n ...(values.NoDriverLicence ? [] : courtLicenseState),\r\n ...(values.NoEmail ? [] : ['Email', 'EMAIL_TO']),\r\n ...courtCompanyAddress,\r\n 'HasDifferentCompanyAddress',\r\n ...(values.HasDifferentCompanyAddress === 'true' ? courtCompanyPostalAddress : []),\r\n ...courtUserContactNumber,\r\n ],\r\n page7: [],\r\n page8: [],\r\n page9: [],\r\n page10: [],\r\n page11: ['declaration', values.SeriousObligation ? 'intend' : ''],\r\n };\r\n\r\n /* Services - Court Keys --end */\r\n\r\n /* Services - Extension Keys */\r\n\r\n const extensionKeys = {\r\n extensionUserContactNumber: ['ExtensionContactNumber', 'ExtensionContactNumber.ContactNumber', 'ExtensionContactNumber.NumberType'],\r\n extensionPostalAddress: [\r\n 'ExtensionPostalAddress',\r\n 'ExtensionPostalAddress.LineOne',\r\n 'ExtensionPostalAddress.LineTwo',\r\n 'ExtensionPostalAddress.Suburb',\r\n 'ExtensionPostalAddress.State',\r\n 'ExtensionPostalAddress.Postcode',\r\n 'ExtensionPostalAddress.Country',\r\n ],\r\n extensionResidentialAddress: [\r\n 'ExtensionResidentialAddress',\r\n 'ExtensionResidentialAddress.LineOne',\r\n 'ExtensionResidentialAddress.LineTwo',\r\n 'ExtensionResidentialAddress.Suburb',\r\n 'ExtensionResidentialAddress.State',\r\n 'ExtensionResidentialAddress.Postcode',\r\n 'ExtensionResidentialAddress.Country',\r\n ],\r\n extensionLicenseState: ['DRIVER_LICENCE', 'StatecountryOfIssue', values.StatecountryOfIssue === 'Australia' ? 'LicenceState' : []],\r\n };\r\n const { extensionUserContactNumber, extensionLicenseState, extensionPostalAddress, extensionResidentialAddress } = extensionKeys;\r\n const extensionValidationKeys = {\r\n page0: [],\r\n page1: ['OBLIGATION_NUMBER'],\r\n page2: [\r\n values.OffenceDateRequired ? 'OFFENCE_DATE' : '',\r\n values.HearingDateRequired ? 'HEARING_DATE' : '',\r\n values.LicenceRequired ? 'DRIVER_LICENCE' : '',\r\n values.RegistrationRequired ? 'VEHICLE_REGISTRATION' : '',\r\n values.DOBRequired ? 'DOB' : '',\r\n ],\r\n page3: [\r\n 'SaveYesNo',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'email' || values.SaveOptions === 'both') ? 'saveEmail' : '',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'mobile' || values.SaveOptions === 'both') ? 'saveMobile' : '',\r\n ],\r\n page4: [],\r\n page5: ['DateToPay'],\r\n page6: [\r\n 'TitleMrMrsMsMissOther',\r\n 'DOB',\r\n 'GivenNames',\r\n 'FamilyName',\r\n ...extensionPostalAddress,\r\n 'HasDifferentResidentialAddress',\r\n ...(values.HasDifferentResidentialAddress === 'true' ? extensionResidentialAddress : []),\r\n ...(values.NoDriverLicence ? [] : extensionLicenseState),\r\n ...(values.NoEmail ? [] : ['Email', 'EMAIL_TO']),\r\n ...extensionUserContactNumber,\r\n ],\r\n page7: ['ExceptionalCircumstances', ...(values.DetailsForCircumstances ? ['DetailsForCircumstances'] : [])],\r\n page8: [],\r\n page9: ['declaration'],\r\n page10: [],\r\n };\r\n\r\n /* Services - Extension Keys --end */\r\n\r\n /* Services - FVS Keys */\r\n const fvsKeys = {\r\n fvsVictimResidentialAddress: [\r\n 'FVSResidentialAddress',\r\n 'FVSResidentialAddress.LineOne',\r\n 'FVSResidentialAddress.LineTwo',\r\n 'FVSResidentialAddress.Suburb',\r\n 'FVSResidentialAddress.State',\r\n 'FVSResidentialAddress.Postcode',\r\n 'FVSResidentialAddress.Country',\r\n ],\r\n fvsVictimPostalAddress: [\r\n 'FVSPostalAddress',\r\n 'FVSPostalAddress.LineOne',\r\n 'FVSPostalAddress.LineTwo',\r\n 'FVSPostalAddress.Suburb',\r\n 'FVSPostalAddress.State',\r\n 'FVSPostalAddress.Postcode',\r\n 'FVSPostalAddress.Country',\r\n ],\r\n fvsVictimDriverLicence: ['DRIVER_LICENCE', 'StatecountryOfIssue', values.StatecountryOfIssue === 'Australia' ? 'LicenceState' : []],\r\n fvsVictimContactDetails: [\r\n 'IndividualContactNumber',\r\n 'IndividualContactNumber.ContactNumber',\r\n 'SafestContactTime',\r\n 'PhoneMessagePrompt',\r\n 'InterpreterRequiredPrompt',\r\n ],\r\n fvsRepresentativePostalAddress: [\r\n 'RepresentativePostalAddress',\r\n 'RepresentativePostalAddress.LineOne',\r\n 'RepresentativePostalAddress.LineTwo',\r\n 'RepresentativePostalAddress.Suburb',\r\n 'RepresentativePostalAddress.State',\r\n 'RepresentativePostalAddress.Postcode',\r\n 'RepresentativePostalAddress.Country',\r\n ],\r\n fvsRepresentativeContactDetails: ['FVSContactNumber', 'FVSContactNumber.ContactNumber'],\r\n fvsAgencyNames: ['AgencyNames', ...listAgencyFields()],\r\n fvsInfringementNums: ['InfringementNums', ...listArrayVFields('InfringementNums')],\r\n fvsAOffence: ['AOffence', ...listArrayVFields('AOffence')],\r\n fvsObligations: ['obligations', ...listObligationFields()],\r\n };\r\n const {\r\n fvsVictimResidentialAddress,\r\n fvsVictimPostalAddress,\r\n fvsVictimDriverLicence,\r\n fvsVictimContactDetails,\r\n fvsRepresentativePostalAddress,\r\n fvsRepresentativeContactDetails,\r\n fvsAgencyNames,\r\n fvsObligations,\r\n fvsInfringementNums,\r\n fvsAOffence,\r\n } = fvsKeys;\r\n const isPostalAddressEmpty = () => {\r\n if (template === FormType.FAMILYVIOLENCESCHEME) {\r\n return values.FVSPostalAddress.LineOne === '' && values.FVSPostalAddress.Postcode === '' && values.FVSPostalAddress.State === '' && values.FVSPostalAddress.Suburb === '';\r\n }\r\n return false;\r\n };\r\n const isResidentialAddressEmpty = () => {\r\n if (template === FormType.FAMILYVIOLENCESCHEME) {\r\n return (\r\n values.FVSResidentialAddress.LineOne === '' &&\r\n values.FVSResidentialAddress.Postcode === '' &&\r\n values.FVSResidentialAddress.State === '' &&\r\n values.FVSResidentialAddress.Suburb === ''\r\n );\r\n }\r\n return false;\r\n };\r\n const fvsValidationKeys = {\r\n page0: [],\r\n page1: ['OBLIGATION_NUMBER'],\r\n page2: [\r\n values.OffenceDateRequired ? 'OFFENCE_DATE' : '',\r\n values.HearingDateRequired ? 'HEARING_DATE' : '',\r\n values.LicenceRequired ? 'DRIVER_LICENCE' : '',\r\n values.RegistrationRequired ? 'VEHICLE_REGISTRATION' : '',\r\n values.DOBRequired ? 'DOB' : '',\r\n ],\r\n page3: ['Has7DayNotice', values.NoActionsTaken ? 'NoActionsTaken' : 'ActionsTakenOnFine', 'HasLinkBwFVSAndFines', 'HasEvidenceToSupport'],\r\n page4: [\r\n 'SaveYesNo',\r\n 'SaveOptions',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'email' || values.SaveOptions === 'both') ? 'saveEmail' : '',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'mobile' || values.SaveOptions === 'both') ? 'saveMobile' : '',\r\n ],\r\n page5: ['ApplicationLodger', 'ConsentToThirdParty'],\r\n page6: [\r\n 'GivenNames',\r\n 'FamilyName',\r\n 'DOB',\r\n ...(values.NoDriverLicence ? [] : fvsVictimDriverLicence),\r\n ...(values.NoFixedAddress || values.NoResidentialAddress ? [] : fvsVictimResidentialAddress),\r\n ...(values.NoFixedAddress || values.NoResidentialAddress ? [] : ['DeliveryAddressType']),\r\n ...((!values.NoSafePostalAddress && (values.NoFixedAddress || values.NoResidentialAddress || values.DeliveryAddressType === 'PostalAddress')) ||\r\n (values.NoSafePostalAddress && values.DeliveryAddressType === 'PostalAddress')\r\n ? fvsVictimPostalAddress\r\n : []),\r\n ...((!isResidentialAddressEmpty() || !isPostalAddressEmpty()) &&\r\n (values.NoFixedAddress || values.NoResidentialAddress || values.DeliveryAddressType === 'PostalAddress' || values.DeliveryAddressType === 'ResidentialAddress')\r\n ? ['IsEmailRequired']\r\n : []),\r\n ...((isPostalAddressEmpty() && isResidentialAddressEmpty()) || values.IsEmailRequired === 'true' || values.DeliveryAddressType === 'EmailAddress'\r\n ? ['Email', 'SendEmailCopy']\r\n : []),\r\n 'PhoneApplicant',\r\n ...(values.PhoneApplicant === 'true' ? fvsVictimContactDetails : []),\r\n ...(values.PhoneApplicant === 'true' && values.InterpreterRequiredPrompt === 'true' ? ['AlternativeLanguage'] : []),\r\n ],\r\n page7: ['HasScaredFeelings', 'HasRiskAssessment', 'ContactSpecialist'],\r\n page8: [\r\n ...(values.DisabilityDescription ? ['DisabilityDescription'] : []),\r\n ...(values.GenderSelfDescribed ? ['GenderSelfDescribed'] : []),\r\n ...(values.NativeLanguage ? ['NativeLanguage'] : []),\r\n ],\r\n page9: [\r\n ...(values.relevantObs && values.relevantObs.length !== 0 ? ['WhichOtherFines'] : []),\r\n ...(values.AdditionalFinesToInclude === 'true' ? fvsAgencyNames : []),\r\n ...(values.InfringementFinesToInclude === 'true' && checkIsArrayVFieldsEmpty('InfringementNums') ? fvsInfringementNums : []),\r\n ...(values.InfringementFinesToInclude === 'true' && checkIsArrayVFieldsEmpty('AOffence') ? fvsAOffence : []),\r\n ],\r\n page10: ['WhatWouldYouLikeToHappen', 'DOBOptional', ...(values.WhatWouldYouLikeToHappen === 'AboveCombination' ? ['HowDealtWithFines'] : []), 'GivenNamesOptional', 'FamilyNameOptional', 'DriverLicenceNumberOptional'],\r\n page11: ['RemoveFines', ...(values.RemoveFines === 'true' ? ['ReincludeFines'] : [])],\r\n page12: [...(values.UnableToObtainAdoc ? ['StatutoryUploadFileSectionError'] : ['ReportUploadFileSectionError']), 'SupportingFilesDescription'],\r\n page13: ['ReasonForApplication', 'OtherSupportingFilesDescription'],\r\n page14: [\r\n 'RepresentativeGivenName',\r\n 'RepresentativeFamilyName',\r\n 'RepresentativeRelationshipToVictim',\r\n 'RepresentativeEmailAddress',\r\n 'RepresentativeRequestsEmailCopyBool',\r\n 'RepresentativeAllowsPhoneCommunicationBool',\r\n ...(values.RepresentativeCompanyName ? ['RepresentativeCompanyName'] : []),\r\n ...(values.RepresentativeCompanyPosition ? ['RepresentativeCompanyPosition'] : []),\r\n ...(values.RepresentativeAllowsPhoneCommunicationBool === 'Yes' ? ['RepresentativePreferredContactDayTime'] : []),\r\n ...fvsRepresentativePostalAddress,\r\n ...fvsRepresentativeContactDetails,\r\n ],\r\n page15: [\r\n 'GivenNames',\r\n 'FamilyName',\r\n 'DOB',\r\n ...(values.NoDriverLicence ? [] : fvsVictimDriverLicence),\r\n ...(values.NoFixedAddress || values.NoResidentialAddress ? [] : fvsVictimResidentialAddress),\r\n 'DeliveryAddressType',\r\n ...(values.DeliveryAddressType === 'PostalAddress' ? fvsVictimPostalAddress : []),\r\n 'IsEmailRequired',\r\n ...(values.IsEmailRequired === 'true' ? ['Email'] : []),\r\n 'PhoneApplicant',\r\n ...(values.PhoneApplicant === 'true' ? fvsVictimContactDetails : []),\r\n ...(values.PhoneApplicant === 'true' && values.InterpreterRequiredPrompt === 'true' ? ['AlternativeLanguage'] : []),\r\n ],\r\n page16: ['HasScaredFeelings', 'HasRiskAssessment', 'ContactSpecialist'],\r\n page17: [\r\n ...(values.DisabilityDescription ? ['DisabilityDescription'] : []),\r\n ...(values.GenderSelfDescribed ? ['GenderSelfDescribed'] : []),\r\n ...(values.NativeLanguage ? ['NativeLanguage'] : []),\r\n ],\r\n page18: [\r\n 'RegisteredFinesToInclude',\r\n 'InfringementFinesToInclude',\r\n ...(values.RegisteredFinesToInclude === 'true') ? ['AdditionalFinesType'] : [],\r\n ...(values.RegisteredFinesToInclude === 'true' && values.AdditionalFinesType !== 'All eligible outstanding fines' && values.AdditionalFinesType !== '' ? fvsObligations : []),\r\n ...(values.InfringementFinesToInclude === 'true' ? fvsAgencyNames : []),\r\n ...(values.InfringementFinesToInclude === 'true' && checkIsArrayVFieldsEmpty('InfringementNums') ? fvsInfringementNums : []),\r\n ...(values.InfringementFinesToInclude === 'true' && checkIsArrayVFieldsEmpty('AOffence') ? fvsAOffence : []),\r\n ],\r\n page19: ['WhatWouldYouLikeToHappen', ...(values.WhatWouldYouLikeToHappen === 'AboveCombination' ? ['HowDealtWithFines'] : []), 'DOBOptional', 'GivenNamesOptional', 'FamilyNameOptional', 'DriverLicenceNumberOptional'],\r\n page20: ['HasPaymentArrangement', ...(values.HasPaymentArrangement === 'true' ? ['RemoveFines'] : []), ...(values.RemoveFines === 'true' ? ['ReincludeFines'] : [])],\r\n page21: [...(values.UnableToObtainAdoc ? ['StatutoryUploadFileSectionError'] : ['ReportUploadFileSectionError'])],\r\n page22: ['ReasonForApplication'],\r\n page24: ['declaration'],\r\n };\r\n /* Services - FVS Keys --end */\r\n\r\n /* Services - Instalment Keys --start */\r\n const InstalmentKeys = {\r\n instalmentIndividualContactNumber: ['IndividualContactNumber', 'IndividualContactNumber.ContactNumber', 'IndividualContactNumber.NumberType'],\r\n instalmentIndividualPostalAddress: [\r\n 'IndividualPostalAddress',\r\n 'IndividualPostalAddress.LineOne',\r\n 'IndividualPostalAddress.LineTwo',\r\n 'IndividualPostalAddress.Suburb',\r\n 'IndividualPostalAddress.State',\r\n 'IndividualPostalAddress.Postcode',\r\n 'IndividualPostalAddress.Country',\r\n ],\r\n instalmentLicense: ['DRIVER_LICENCE', 'StatecountryOfIssue', values.StatecountryOfIssue === 'Australia' ? 'LicenceState' : []],\r\n instalmentResidentialAddress: [\r\n 'IndividualResidentialAddress',\r\n 'IndividualResidentialAddress.LineOne',\r\n 'IndividualResidentialAddress.LineTwo',\r\n 'IndividualResidentialAddress.Suburb',\r\n 'IndividualResidentialAddress.State',\r\n 'IndividualResidentialAddress.Postcode',\r\n 'IndividualResidentialAddress.Country',\r\n ],\r\n instalmentCompanyAddress: [\r\n 'CompanyStreetAddress',\r\n 'CompanyStreetAddress.LineOne',\r\n 'CompanyStreetAddress.LineTwo',\r\n 'CompanyStreetAddress.Suburb',\r\n 'CompanyStreetAddress.State',\r\n 'CompanyStreetAddress.Postcode',\r\n 'CompanyStreetAddress.Country',\r\n ],\r\n instalmentCompanyPostalAddress: [\r\n 'CompanyPostalAddress',\r\n 'CompanyPostalAddress.LineOne',\r\n 'CompanyPostalAddress.LineTwo',\r\n 'CompanyPostalAddress.Suburb',\r\n 'CompanyPostalAddress.State',\r\n 'CompanyPostalAddress.Postcode',\r\n 'CompanyPostalAddress.Country',\r\n ],\r\n instalmentCompanyContact: ['CompanyContactNumber', 'CompanyContactNumber.ContactNumber', 'CompanyContactNumber.NumberType'],\r\n };\r\n const {\r\n instalmentIndividualContactNumber,\r\n instalmentResidentialAddress,\r\n instalmentIndividualPostalAddress,\r\n instalmentLicense,\r\n instalmentCompanyAddress,\r\n instalmentCompanyPostalAddress,\r\n instalmentCompanyContact\r\n } = InstalmentKeys;\r\n const instalmentValidationKeys = {\r\n page0: [],\r\n page1: ['OBLIGATION_NUMBER'],\r\n page2: [],\r\n page3: [\r\n values.OffenceDateRequired ? 'OFFENCE_DATE' : '',\r\n values.HearingDateRequired ? 'HEARING_DATE' : '',\r\n values.LicenceRequired ? 'DRIVER_LICENCE' : '',\r\n values.RegistrationRequired ? 'VEHICLE_REGISTRATION' : '',\r\n values.DOBRequired ? 'DOB' : '',\r\n ],\r\n page4: [\r\n 'SaveYesNo',\r\n 'SaveOptions',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'email' || values.SaveOptions === 'both') ? 'saveEmail' : '',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'mobile' || values.SaveOptions === 'both') ? 'saveMobile' : '',\r\n ],\r\n page6: [values.NoInfoApplies ? 'NoInfoApplies' : 'MoreInfoAboutMatters'],\r\n page7: [\r\n 'DetailsForUpfrontPaymentCircumstances',\r\n 'SupportingDocUpfrontPaymentUploadFileSectionError'\r\n ],\r\n page8: [\r\n 'receiveCenterlinkPayments',\r\n values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' ? 'fortnightlyPaymentAmount' : '',\r\n values.receiveCenterlinkPayments === 'true' ? 'instalmentDeducted' : '',\r\n values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' ? 'centrelinkPaymentType' : '',\r\n values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' ? 'centrelinkRefNo' : '',\r\n values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' && values.centrelinkPaymentType === 'Other' ? 'specifyPaymentType' : '',\r\n values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' ? 'centrelinkCheck' : ''\r\n ],\r\n page9: [\r\n 'instalmentFrequency',\r\n 'instalmentAmount',\r\n 'firstInstalmentDate'\r\n ],\r\n page10: [\r\n 'haveExceptionalCircumstances',\r\n values.haveExceptionalCircumstances === 'true' && 'DetailsOfFinancialCircumstances',\r\n 'SupportingFinancialDocUploadFileSectionError',\r\n 'numberOfDependents'\r\n ],\r\n page11: [\r\n ...(values.isDebtorTypeIndividual ? ['fortnightlyIncomeAfterTax', 'fortnightlyExpenses'] : ['quarterlyProfit', 'quarterlyLoss']),\r\n ],\r\n page12: [\r\n ...(values.isDebtorTypeIndividual ?\r\n ['IndividualGivenName',\r\n 'IndividualFamilyName',\r\n 'DOB',\r\n ...instalmentIndividualContactNumber,\r\n ...instalmentIndividualPostalAddress,\r\n 'IndividualHasDifferentResidentialAddress',\r\n ...(values.IndividualHasDifferentResidentialAddress === 'true' ? instalmentResidentialAddress : []),\r\n ...(values.NoDriverLicence ? [] : instalmentLicense),\r\n ...(values.IndividualHasNoEmail ? [] : ['IndividualEmail', 'IndividualEmailTo', 'IndividualReceiveDocs']),\r\n ] : []),\r\n ...(values.isDebtorTypeCompany ?\r\n ['CompanyGivenName',\r\n 'CompanyFamilyName',\r\n 'PositionInCompany',\r\n 'CompanyHasDifferentPostalAddress',\r\n ...instalmentCompanyContact,\r\n 'CompanyName',\r\n 'AbnOrAcnType',\r\n values.AbnOrAcnType === 'ABN' ? 'AbnNo' : [],\r\n values.AbnOrAcnType === 'ACN' ? 'AcnNo' : [],\r\n ...instalmentCompanyAddress,\r\n ...(values.CompanyHasDifferentPostalAddress === 'true' ? instalmentCompanyPostalAddress : []),\r\n ...(values.CompanyHasNoEmail ? [] : ['CompanyEmail', 'CompanyEmailTo', 'CompanyReceiveDocs']),\r\n ] : [])\r\n ],\r\n page13: [],\r\n page14: ['declaration']\r\n };\r\n\r\n /* Services - Infringement Extension Keys --end */\r\n\r\n const InfringementExtensionKeys = {\r\n infringementExtensionIndividualContactNumber: ['IndividualContactNumber', 'IndividualContactNumber.ContactNumber', 'IndividualContactNumber.NumberType'],\r\n infringementExtensionIndividualPostalAddress: [\r\n 'IndividualPostalAddress',\r\n 'IndividualPostalAddress.LineOne',\r\n 'IndividualPostalAddress.LineTwo',\r\n 'IndividualPostalAddress.Suburb',\r\n 'IndividualPostalAddress.State',\r\n 'IndividualPostalAddress.Postcode',\r\n 'IndividualPostalAddress.Country',\r\n ],\r\n infringementExtensionLicense: ['DRIVER_LICENCE', 'StatecountryOfIssue', values.StatecountryOfIssue === 'Australia' ? 'LicenceState' : []],\r\n infringementExtensionResidentialAddress: [\r\n 'IndividualResidentialAddress',\r\n 'IndividualResidentialAddress.LineOne',\r\n 'IndividualResidentialAddress.LineTwo',\r\n 'IndividualResidentialAddress.Suburb',\r\n 'IndividualResidentialAddress.State',\r\n 'IndividualResidentialAddress.Postcode',\r\n 'IndividualResidentialAddress.Country',\r\n ],\r\n infringementExtensionCompanyAddress: [\r\n 'CompanyStreetAddress',\r\n 'CompanyStreetAddress.LineOne',\r\n 'CompanyStreetAddress.LineTwo',\r\n 'CompanyStreetAddress.Suburb',\r\n 'CompanyStreetAddress.State',\r\n 'CompanyStreetAddress.Postcode',\r\n 'CompanyStreetAddress.Country',\r\n ],\r\n infringementExtensionCompanyPostalAddress: [\r\n 'CompanyPostalAddress',\r\n 'CompanyPostalAddress.LineOne',\r\n 'CompanyPostalAddress.LineTwo',\r\n 'CompanyPostalAddress.Suburb',\r\n 'CompanyPostalAddress.State',\r\n 'CompanyPostalAddress.Postcode',\r\n 'CompanyPostalAddress.Country',\r\n ],\r\n infringementExtensionCompanyContact: ['CompanyContactNumber', 'CompanyContactNumber.ContactNumber', 'CompanyContactNumber.NumberType'],\r\n };\r\n const {\r\n infringementExtensionIndividualContactNumber,\r\n infringementExtensionResidentialAddress,\r\n infringementExtensionIndividualPostalAddress,\r\n infringementExtensionLicense,\r\n infringementExtensionCompanyAddress,\r\n infringementExtensionCompanyPostalAddress,\r\n infringementExtensionCompanyContact\r\n } = InfringementExtensionKeys;\r\n const infringementExtensionValidationKeys = {\r\n page0: [],\r\n page1: ['OBLIGATION_NUMBER'],\r\n page2: [\r\n values.OffenceDateRequired ? 'OFFENCE_DATE' : '',\r\n values.HearingDateRequired ? 'HEARING_DATE' : '',\r\n values.LicenceRequired ? 'DRIVER_LICENCE' : '',\r\n values.RegistrationRequired ? 'VEHICLE_REGISTRATION' : '',\r\n values.DOBRequired ? 'DOB' : '',\r\n ],\r\n page3: [\r\n 'OFFENCE_FIND_OUT_DATE',\r\n values.isHandedDownInPersonFieldRequired ? 'WasHandedInPerson' : ''\r\n ],\r\n page4: [\r\n 'SaveYesNo',\r\n 'SaveOptions',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'email' || values.SaveOptions === 'both') ? 'saveEmail' : '',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'mobile' || values.SaveOptions === 'both') ? 'saveMobile' : '',\r\n ],\r\n page5: [],\r\n page6: ['SupportingDocUploadFileSectionError', 'DetailsForCircumstances'],\r\n page7: [\r\n ...(values.isDebtorTypeIndividual ?\r\n ['IndividualGivenName',\r\n 'IndividualFamilyName',\r\n 'HasDifferentPostalAddress',\r\n 'DOB',\r\n ...infringementExtensionIndividualContactNumber,\r\n ...infringementExtensionResidentialAddress,\r\n 'IndividualHasDifferentPostalAddress',\r\n ...(values.IndividualHasDifferentPostalAddress === 'true' ? infringementExtensionIndividualPostalAddress : []),\r\n ...(values.NoDriverLicence ? [] : infringementExtensionLicense),\r\n ...(values.IndividualHasNoEmail ? [] : ['IndividualEmail', 'IndividualEmailTo']),\r\n 'IndividualReceiveDocs'] : []),\r\n ...(values.isDebtorTypeCompany ?\r\n ['CompanyGivenName',\r\n 'CompanyFamilyName',\r\n 'PositionInCompany',\r\n 'HasDifferentPostalAddress',\r\n ...infringementExtensionCompanyContact,\r\n 'CompanyName',\r\n 'AbnOrAcnType',\r\n values.AbnOrAcnType === 'ABN' ? 'AbnNo' : [],\r\n values.AbnOrAcnType === 'ACN' ? 'AcnNo' : [],\r\n ...infringementExtensionCompanyAddress,\r\n 'CompanyHasDifferentPostalAddress',\r\n ...(values.CompanyHasDifferentPostalAddress === 'true' ? infringementExtensionCompanyPostalAddress : []),\r\n ...(values.CompanyHasNoEmail ? [] : ['CompanyEmail', 'CompanyEmailTo']),\r\n 'CompanyReceiveDocs'] : [])\r\n ],\r\n page9: ['declaration'],\r\n };\r\n\r\n /* Services - Infringement Extension Keys --end */\r\n\r\n /* Services - Review Keys --start */\r\n const reviewKeys = {\r\n postalAddressFineholderDetails: [\r\n 'PostalAddressFineholderDetails',\r\n 'PostalAddressFineholderDetails.LineOne',\r\n 'PostalAddressFineholderDetails.LineTwo',\r\n 'PostalAddressFineholderDetails.Suburb',\r\n 'PostalAddressFineholderDetails.State',\r\n 'PostalAddressFineholderDetails.Postcode',\r\n 'PostalAddressFineholderDetails.Country',\r\n ],\r\n residentialAddressFineholderDetails: [\r\n 'ResidentialAddressFineholderDetails',\r\n 'ResidentialAddressFineholderDetails.LineOne',\r\n 'ResidentialAddressFineholderDetails.LineTwo',\r\n 'ResidentialAddressFineholderDetails.Suburb',\r\n 'ResidentialAddressFineholderDetails.State',\r\n 'ResidentialAddressFineholderDetails.Postcode',\r\n 'ResidentialAddressFineholderDetails.Country',\r\n ],\r\n postalAddressYourDetailsIndividual: [\r\n 'PostalAddressYourDetailsIndividual',\r\n 'PostalAddressYourDetailsIndividual.LineOne',\r\n 'PostalAddressYourDetailsIndividual.LineTwo',\r\n 'PostalAddressYourDetailsIndividual.Suburb',\r\n 'PostalAddressYourDetailsIndividual.State',\r\n 'PostalAddressYourDetailsIndividual.Postcode',\r\n 'PostalAddressYourDetailsIndividual.Country',\r\n ],\r\n residentialAddressYourDetailsIndividual: [\r\n 'ResidentialAddressYourDetailsIndividual',\r\n 'ResidentialAddressYourDetailsIndividual.LineOne',\r\n 'ResidentialAddressYourDetailsIndividual.LineTwo',\r\n 'ResidentialAddressYourDetailsIndividual.Suburb',\r\n 'ResidentialAddressYourDetailsIndividual.State',\r\n 'ResidentialAddressYourDetailsIndividual.Postcode',\r\n 'ResidentialAddressYourDetailsIndividual.Country',\r\n ],\r\n postalAddressYourDetailsThirdParty: [\r\n 'PostalAddressYourDetailsThirdParty',\r\n 'PostalAddressYourDetailsThirdParty.LineOne',\r\n 'PostalAddressYourDetailsThirdParty.LineTwo',\r\n 'PostalAddressYourDetailsThirdParty.Suburb',\r\n 'PostalAddressYourDetailsThirdParty.State',\r\n 'PostalAddressYourDetailsThirdParty.Postcode',\r\n 'PostalAddressYourDetailsThirdParty.Country',\r\n ],\r\n postalAddressYourDetailsCompany: [\r\n 'PostalAddressYourDetailsCompany',\r\n 'PostalAddressYourDetailsCompany.LineOne',\r\n 'PostalAddressYourDetailsCompany.LineTwo',\r\n 'PostalAddressYourDetailsCompany.Suburb',\r\n 'PostalAddressYourDetailsCompany.State',\r\n 'PostalAddressYourDetailsCompany.Postcode',\r\n 'PostalAddressYourDetailsCompany.Country',\r\n ],\r\n streetAddressYourDetailsCompany: [\r\n 'StreetAddressYourDetailsCompany',\r\n 'StreetAddressYourDetailsCompany.LineOne',\r\n 'StreetAddressYourDetailsCompany.LineTwo',\r\n 'StreetAddressYourDetailsCompany.Suburb',\r\n 'StreetAddressYourDetailsCompany.State',\r\n 'StreetAddressYourDetailsCompany.Postcode',\r\n 'StreetAddressYourDetailsCompany.Country',\r\n ],\r\n contactNumberFineholderDetails: [\r\n 'ContactNumberFineholderDetails',\r\n 'ContactNumberFineholderDetails.ContactNumber'\r\n ],\r\n contactNumberYourDetailsIndividual: [\r\n 'ContactNumberYourDetailsIndividual',\r\n 'ContactNumberYourDetailsIndividual.ContactNumber'\r\n ],\r\n contactNumberYourDetailsThirdParty: [\r\n 'ContactNumberYourDetailsThirdParty',\r\n 'ContactNumberYourDetailsThirdParty.ContactNumber'\r\n ],\r\n contactNumberYourDetailsCompany: [\r\n 'ContactNumberYourDetailsCompany',\r\n 'ContactNumberYourDetailsCompany.ContactNumber'\r\n ],\r\n driverLicenceFineHolderDetails: ['DRIVER_LICENCE', 'PlaceOfIssueFineholderDetails', values.PlaceOfIssueFineholderDetails === 'Australia' ? 'StateOfIssueFineholderDetails' : []],\r\n driverLicenceYourDetailsIndividual: ['DRIVER_LICENCE', 'PlaceOfIssueYourDetailsIndividual', values.PlaceOfIssueYourDetailsIndividual === 'Australia' ? 'StateOfIssueYourDetailsIndividual' : []]\r\n };\r\n const {\r\n postalAddressFineholderDetails,\r\n residentialAddressFineholderDetails,\r\n postalAddressYourDetailsIndividual,\r\n residentialAddressYourDetailsIndividual,\r\n postalAddressYourDetailsThirdParty,\r\n postalAddressYourDetailsCompany,\r\n streetAddressYourDetailsCompany,\r\n contactNumberFineholderDetails,\r\n contactNumberYourDetailsIndividual,\r\n contactNumberYourDetailsThirdParty,\r\n contactNumberYourDetailsCompany,\r\n driverLicenceFineHolderDetails,\r\n driverLicenceYourDetailsIndividual\r\n } = reviewKeys;\r\n const reviewValidationKeys = {\r\n page0: [],\r\n page1: ['OBLIGATION_NUMBER'],\r\n page2: [\r\n values.OffenceDateRequired ? 'OFFENCE_DATE' : '',\r\n values.HearingDateRequired ? 'HEARING_DATE' : '',\r\n values.LicenceRequired ? 'DRIVER_LICENCE' : '',\r\n values.RegistrationRequired ? 'VEHICLE_REGISTRATION' : '',\r\n values.DOBRequired ? 'DOB' : '',\r\n ],\r\n page3: [\r\n values.isInternalReviewStage && values.isDebtorTypeIndividual && values.isNominatable ? 'WasSomeoneElseDrivingAtTimeOfOffence' : '',\r\n values.isInternalReviewStage && values.isDebtorTypeIndividual && values.Status === 'PenaltyReminder' ? 'ApplyingForPenaltyReminder' : '',\r\n values.isEnforcementReviewStage ? 'HaveYouSubmittedEnforcementReviewBefore' : '',\r\n ],\r\n page4: [\r\n 'SaveYesNo',\r\n 'SaveOptions',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'email' || values.SaveOptions === 'both') ? 'saveEmail' : '',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'mobile' || values.SaveOptions === 'both') ? 'saveMobile' : '',\r\n ],\r\n page5: [\r\n 'isThePersonNamed',\r\n values.isThePersonNamed === 'false' ? 'isThirdPartyAuthorised' : [],\r\n ],\r\n page6: ['selectTheOption'],\r\n page7: ['selectTheSpecialOption'],\r\n page8: [\r\n 'WhyYourFineShouldBeReviewed',\r\n 'HasStatementAndEvidenceSupportingDocs',\r\n (values.isEnforcementReviewStage && (values.selectTheOption?.includes('SelectedGroundInfo1') || values.selectTheOption?.includes('SelectedGroundInfo4'))) ? 'IsMakingTimeRequest' : [],\r\n values.IsMakingTimeRequest === 'true' ? 'TimeExtension' : [],\r\n values.HasStatementAndEvidenceSupportingDocs === 'true' ? 'StatementAndEvidenceFileSectionError' : [],\r\n values.HasStatementAndEvidenceSupportingDocs === 'true' ? 'StatementAndEvidenceDescription' : [],\r\n ],\r\n page9: [\r\n 'GivenNamesFineholderDetails',\r\n 'FamilyNameFineholderDetails',\r\n 'DOBFineholderDetails',\r\n ...(!values.YesNoDriverLicenceFineholderDetails ? driverLicenceFineHolderDetails : []),\r\n ...postalAddressFineholderDetails,\r\n 'DifferentToPostalFineholderDetails',\r\n ...(values.DifferentToPostalFineholderDetails === 'true' ? residentialAddressFineholderDetails : []),\r\n ...contactNumberFineholderDetails,\r\n !values.YesNoEmailFineholderDetails ? 'EmailFineholderDetails' : [],\r\n ],\r\n page10: [\r\n ...(values.isDebtorTypeIndividual && !values.isThirdPartyAuthorised) ? [\r\n 'GivenNamesYourDetailsIndividual',\r\n 'FamilyNameYourDetailsIndividual',\r\n 'DOBYourDetailsIndividual',\r\n ...(!values.YesNoDriverLicenceYourDetailsIndividual ? driverLicenceYourDetailsIndividual : []),\r\n ...postalAddressYourDetailsIndividual,\r\n 'DifferentToPostalYourDetailsIndividual',\r\n ...(values.DifferentToPostalYourDetailsIndividual === 'true' ? residentialAddressYourDetailsIndividual : []),\r\n ...contactNumberYourDetailsIndividual,\r\n !values.YesNoEmailYourDetailsIndividual ? 'EmailYourDetailsIndividual' : [],\r\n (!values.YesNoEmailYourDetailsIndividual && values.selectTheOption?.includes('SelectedGroundInfo4')) ? 'ReceiveApplicationViaEmailYourDetailsIndividual' : [],\r\n (!values.YesNoEmailYourDetailsIndividual && values.isEnforcementReviewStage) ? 'ReceiveCorrespondenceViaEmailYourDetailsIndividual' : [],\r\n ] : [],\r\n ...values.isThirdPartyAuthorised ? [\r\n 'GivenNamesYourDetailsThirdParty',\r\n 'FamilyNameYourDetailsThirdParty',\r\n 'RelationshipWithNamedPersonYourDetailsThirdParty',\r\n 'OrganisationNameYourDetailsThirdParty',\r\n ...postalAddressYourDetailsThirdParty,\r\n ...contactNumberYourDetailsThirdParty,\r\n !values.YesNoEmailYourDetailsThirdParty ? 'EmailYourDetailsThirdParty' : [],\r\n (!values.YesNoEmailYourDetailsThirdParty && values.selectTheOption?.includes('SelectedGroundInfo4')) ? 'ReceiveApplicationViaEmailYourDetailsThirdParty' : [],\r\n (!values.YesNoEmailYourDetailsThirdParty && values.isEnforcementReviewStage) ? 'CorrespondenceRecipientYourDetailsThirdParty' : [],\r\n ] : [],\r\n ...(values.isDebtorTypeCompany && !values.isThirdPartyAuthorised) ? [\r\n 'GivenNamesYourDetailsCompany',\r\n 'FamilyNameYourDetailsCompany',\r\n 'PositionInCompanyYourDetailsCompany',\r\n 'CompanyNameYourDetailsCompany',\r\n 'AbnAcnTypeYourDetailsCompany',\r\n values.AbnAcnTypeYourDetailsCompany === 'ABN' ? 'ABNYourDetailsCompany' : [],\r\n values.AbnAcnTypeYourDetailsCompany === 'ACN' ? 'ACNYourDetailsCompany' : [],\r\n ...postalAddressYourDetailsCompany,\r\n 'DifferentToPostalYourDetailsCompany',\r\n ...(values.DifferentToPostalYourDetailsCompany === 'true' ? streetAddressYourDetailsCompany : []),\r\n ...contactNumberYourDetailsCompany,\r\n !values.YesNoEmailYourDetailsCompany ? 'EmailYourDetailsCompany' : [],\r\n ] : [],\r\n ],\r\n page11: [],\r\n page12: [\r\n 'areThereAnyAdditionalFines',\r\n values.areThereAnyAdditionalFines === 'listFinesManually' && values.SelectedObligationsStep12.length === 0 ? 'obligationNumberToIncludeStep12' : []\r\n ],\r\n page13: [],\r\n page14: ['ReviewConsentToDeclaration'],\r\n page15: [],\r\n };\r\n /* Services - Review Keys --end */\r\n\r\n /* Services - Nomination Keys -- start */\r\n const nominationKeys = {\r\n personContactNumberSomeoneElse: ['IndividualContactNumberSomeoneElse', 'IndividualContactNumberSomeoneElse.ContactNumber'],\r\n companyContactNumberSomeoneElse: ['OrganisationContactNumberSomeoneElse', 'OrganisationContactNumberSomeoneElse.ContactNumber'],\r\n companyContactNumberYourDetails: ['OrganisationContactNumberYourDetailsCompany', 'OrganisationContactNumberYourDetailsCompany.ContactNumber'],\r\n individualContactNumberYourDetails: ['IndividualContactNumberYourDetails', 'IndividualContactNumberYourDetails.ContactNumber'],\r\n companyStreetAddressSomeoneElse: [\r\n 'CompanyStreetAddressSomeoneElse',\r\n 'CompanyStreetAddressSomeoneElse.LineOne',\r\n 'CompanyStreetAddressSomeoneElse.LineTwo',\r\n 'CompanyStreetAddressSomeoneElse.Suburb',\r\n 'CompanyStreetAddressSomeoneElse.State',\r\n 'CompanyStreetAddressSomeoneElse.Postcode',\r\n 'CompanyStreetAddressSomeoneElse.Country',\r\n ],\r\n residentialAddressSomeoneElse: [\r\n 'ResidentialAddressSomeoneElse',\r\n 'ResidentialAddressSomeoneElse.LineOne',\r\n 'ResidentialAddressSomeoneElse.LineTwo',\r\n 'ResidentialAddressSomeoneElse.Suburb',\r\n 'ResidentialAddressSomeoneElse.State',\r\n 'ResidentialAddressSomeoneElse.Postcode',\r\n 'ResidentialAddressSomeoneElse.Country',\r\n ],\r\n residentialAddressSoldDisposed: [\r\n 'ResidentialAddressSoldDisposed',\r\n 'ResidentialAddressSoldDisposed.LineOne',\r\n 'ResidentialAddressSoldDisposed.LineTwo',\r\n 'ResidentialAddressSoldDisposed.Suburb',\r\n 'ResidentialAddressSoldDisposed.State',\r\n 'ResidentialAddressSoldDisposed.Postcode',\r\n 'ResidentialAddressSoldDisposed.Country',\r\n ],\r\n companyStreetAddressSoldDisposed: [\r\n 'CompanyStreetAddressSoldDisposed',\r\n 'CompanyStreetAddressSoldDisposed.LineOne',\r\n 'CompanyStreetAddressSoldDisposed.LineTwo',\r\n 'CompanyStreetAddressSoldDisposed.Suburb',\r\n 'CompanyStreetAddressSoldDisposed.State',\r\n 'CompanyStreetAddressSoldDisposed.Postcode',\r\n 'CompanyStreetAddressSoldDisposed.Country',\r\n ],\r\n nominationCompanyStreetAddressYourDetails: [\r\n 'CompanyStreetAddressYourDetails',\r\n 'CompanyStreetAddressYourDetails.LineOne',\r\n 'CompanyStreetAddressYourDetails.LineTwo',\r\n 'CompanyStreetAddressYourDetails.Suburb',\r\n 'CompanyStreetAddressYourDetails.State',\r\n 'CompanyStreetAddressYourDetails.Postcode',\r\n 'CompanyStreetAddressYourDetails.Country',\r\n ],\r\n nominationCompanyPostalAddressYourDetails: [\r\n 'CompanyPostalAddressYourDetails',\r\n 'CompanyPostalAddressYourDetails.LineOne',\r\n 'CompanyPostalAddressYourDetails.LineTwo',\r\n 'CompanyPostalAddressYourDetails.Suburb',\r\n 'CompanyPostalAddressYourDetails.State',\r\n 'CompanyPostalAddressYourDetails.Postcode',\r\n 'CompanyPostalAddressYourDetails.Country',\r\n ],\r\n nominationIndividualPostalAddressYourDetails: [\r\n 'IndividualPostalAddressYourDetails',\r\n 'IndividualPostalAddressYourDetails.LineOne',\r\n 'IndividualPostalAddressYourDetails.LineTwo',\r\n 'IndividualPostalAddressYourDetails.Suburb',\r\n 'IndividualPostalAddressYourDetails.State',\r\n 'IndividualPostalAddressYourDetails.Postcode',\r\n 'IndividualPostalAddressYourDetails.Country',\r\n ],\r\n nominationIndividualResidentialAddressYourDetails: [\r\n 'ResidentialAddressYourDetails',\r\n 'ResidentialAddressYourDetails.LineOne',\r\n 'ResidentialAddressYourDetails.LineTwo',\r\n 'ResidentialAddressYourDetails.Suburb',\r\n 'ResidentialAddressYourDetails.State',\r\n 'ResidentialAddressYourDetails.Postcode',\r\n 'ResidentialAddressYourDetails.Country',\r\n ],\r\n driveLicenseStateSomeoneElse: ['DriverLicenseSomeoneElse', 'StatecountryOfIssueSomeoneElse', values.StatecountryOfIssueSomeoneElse === 'Australia' ? 'LicenceStateSomeoneElse' : []],\r\n driveLicenseStateSoldDisposed: ['DriverLicenseSoldDisposed', 'StatecountryOfIssueSoldDisposed', values.StatecountryOfIssueSoldDisposed === 'Australia' ? 'LicenceStateSoldDisposed' : []],\r\n personContactNumberSoldDisposed: ['IndividualContactNumberSoldDisposed', 'IndividualContactNumberSoldDisposed.ContactNumber'],\r\n companyContactNumberSoldDisposed: ['OrganisationContactNumberSoldDisposed', 'OrganisationContactNumberSoldDisposed.ContactNumber'],\r\n driveLicenseStateYourDetails: ['DRIVER_LICENCE', 'StatecountryOfIssueYourDetails', values.StatecountryOfIssueYourDetails === 'Australia' ? 'LicenceStateYourDetails' : []],\r\n };\r\n const { personContactNumberSomeoneElse,\r\n companyContactNumberSomeoneElse,\r\n companyStreetAddressSomeoneElse,\r\n residentialAddressSomeoneElse,\r\n driveLicenseStateSomeoneElse,\r\n residentialAddressSoldDisposed,\r\n companyStreetAddressSoldDisposed,\r\n nominationCompanyStreetAddressYourDetails,\r\n nominationCompanyPostalAddressYourDetails,\r\n driveLicenseStateSoldDisposed,\r\n personContactNumberSoldDisposed,\r\n companyContactNumberSoldDisposed,\r\n companyContactNumberYourDetails,\r\n driveLicenseStateYourDetails,\r\n nominationIndividualPostalAddressYourDetails,\r\n nominationIndividualResidentialAddressYourDetails,\r\n individualContactNumberYourDetails,\r\n } = nominationKeys;\r\n const nominationValidationKeys = {\r\n page0: [],\r\n page1: ['OBLIGATION_NUMBER'],\r\n page2: [\r\n values.OffenceDateRequired ? 'OFFENCE_DATE' : '',\r\n values.HearingDateRequired ? 'HEARING_DATE' : '',\r\n values.LicenceRequired ? 'DRIVER_LICENCE' : '',\r\n values.RegistrationRequired ? 'VEHICLE_REGISTRATION' : '',\r\n values.DOBRequired ? 'DOB' : '',\r\n ],\r\n page3: [\r\n 'SaveYesNo',\r\n 'SaveOptions',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'email' || values.SaveOptions === 'both') ? 'saveEmail' : '',\r\n values.SaveYesNo === 'true' && (values.SaveOptions === 'mobile' || values.SaveOptions === 'both') ? 'saveMobile' : '',\r\n ],\r\n page4: ['isThePersonNamed'],\r\n page5: ['selectTheOption'],\r\n page6: [\r\n 'WhoAreYouNominating',\r\n ...(values.WhoAreYouNominating === 'Person' ? ['GivenNamesSomeoneElse', 'FamilyNameSomeoneElse', 'TaxDriverAccNumber', ...residentialAddressSomeoneElse] : []),\r\n ...(values.WhoAreYouNominating === 'Person' && !values.NoDriverLicenseSomeoneElse ? driveLicenseStateSomeoneElse : []),\r\n values.WhoAreYouNominating === 'Person' && !values.DOBYesNoSomeoneElse ? 'DOBSomeoneElse' : [],\r\n ...(values.WhoAreYouNominating === 'Person' && !values.NoContactNumberSomeoneElse ? personContactNumberSomeoneElse : []),\r\n values.WhoAreYouNominating === 'Person' && !values.NoEmailSomeoneElse ? 'EmailSomeoneElse' : [],\r\n ...(values.WhoAreYouNominating === 'Company' ? ['CompanyNameSomeoneElse', 'AbnacnTypeSomeoneElse', ...companyStreetAddressSomeoneElse] : []),\r\n values.AbnacnTypeSomeoneElse === 'ABN' ? 'AbnNoSomeoneElse' : [],\r\n values.AbnacnTypeSomeoneElse === 'ACN' ? 'AcnNoSomeoneElse' : [],\r\n ...(values.WhoAreYouNominating === 'Company' && !values.NoOrgContactNumberSomeoneElse ? companyContactNumberSomeoneElse : []),\r\n values.WhoAreYouNominating === 'Company' && !values.CompanyEmailYesNoSomeOneElse ? 'CompanyEmailSomeOneElse' : [],\r\n ],\r\n page7: [\r\n 'TransferedVicRoads',\r\n 'DateSellOrDispose',\r\n 'EvidenceSoldOrDisposeNameField',\r\n 'WhoAreYouNominatingSoldDispose',\r\n ...(values.WhoAreYouNominatingSoldDispose === 'Person' ? ['GivenNamesSoldDisposed', 'FamilyNameSoldDisposed', ...residentialAddressSoldDisposed] : []),\r\n ...(values.WhoAreYouNominatingSoldDispose === 'Person' && !values.NoDriverLicenseSoldDisposed ? driveLicenseStateSoldDisposed : []),\r\n values.WhoAreYouNominatingSoldDispose === 'Person' && !values.DOBYesNoSoldDisposed ? 'DOBSoldDisposed' : [],\r\n ...(values.WhoAreYouNominatingSoldDispose === 'Person' && !values.NoContactNumberSoldDisposed ? personContactNumberSoldDisposed : []),\r\n values.WhoAreYouNominatingSoldDispose === 'Person' && !values.NoEmailSoldDisposed ? 'EmailSoldDisposed' : [],\r\n ...(values.WhoAreYouNominatingSoldDispose === 'Company' ? ['CompanyNameSoldDisposed', 'AbnacnTypeSoldDisposed', ...companyStreetAddressSoldDisposed] : []),\r\n values.WhoAreYouNominatingSoldDispose === 'Company' && values.AbnacnTypeSoldDisposed === 'ABN' ? 'AbnNoSoldDisposed' : [],\r\n values.WhoAreYouNominatingSoldDispose === 'Company' && values.AbnacnTypeSoldDisposed === 'ACN' ? 'AcnNoSoldDisposed' : [],\r\n ...(values.WhoAreYouNominatingSoldDispose === 'Company' && !values.NoOrgContactNumberSoldDisposed ? companyContactNumberSoldDisposed : []),\r\n values.WhoAreYouNominatingSoldDispose === 'Company' && !values.CompanyEmailYesNoSoldDisposed ? 'CompanyEmailSoldDisposed' : [],\r\n ],\r\n page8: [\r\n 'VictoriaPoliceReferenceNumber',\r\n 'VehicleOrIdentificationStolenOrFalseFileSectionError'\r\n ],\r\n page9: [\r\n 'IncorrectNominationExplanation',\r\n 'RejectionSupportingDocsFileSectionError'\r\n ],\r\n page10: [\r\n 'UnableToIdentifyExplanation',\r\n 'UnableToIdentifyFileSectionError'\r\n ],\r\n page11: [...(!values.isDebtorTypeIndividual ?\r\n ['GivenNamesYourDetailsCompany',\r\n 'FamilyNameYourDetailsCompany',\r\n 'PositionInCompanyYourDetailsCompany',\r\n ...companyContactNumberYourDetails,\r\n ...(values.CompanyEmailYesNoYourDetails === '' ? ['CompanyEmailYourDetails'] : []),\r\n 'CompanyNameYourDetailsCompany',\r\n 'AbnacnTypeYourDetails',\r\n values.AbnacnTypeYourDetails === 'ABN' ? 'AbnNoYourDetails' : [],\r\n values.AbnacnTypeYourDetails === 'ACN' ? 'AcnNoYourDetails' : [],\r\n ...nominationCompanyStreetAddressYourDetails,\r\n 'DifferentToStreetAddressYourDetails',\r\n ...(values.DifferentToStreetAddressYourDetails === 'true' ? nominationCompanyPostalAddressYourDetails : []),\r\n ] : [\r\n 'GivenNamesYourDetails',\r\n 'FamilyNameYourDetails',\r\n 'DOBYourDetails',\r\n ...(!values.NoDriverLicenseYourDetails ? driveLicenseStateYourDetails : []),\r\n ...(nominationIndividualPostalAddressYourDetails),\r\n 'DifferentToPostalYourDetails',\r\n ...(values.DifferentToPostalYourDetails === 'true' ? nominationIndividualResidentialAddressYourDetails : []),\r\n ...(individualContactNumberYourDetails),\r\n !values.NoEmailYourDetails ? 'EmailYourDetails' : [],\r\n ]),\r\n ],\r\n page12: [],\r\n page13: ['nominationConsentToDeclaration'],\r\n page14: [],\r\n };\r\n // Return validation keys based on the form template\r\n switch (template) {\r\n case THIRDPARTY:\r\n return thirdPartyValidationKeys;\r\n\r\n case COURT:\r\n return courtValidationKeys;\r\n\r\n case EXTENSION:\r\n return extensionValidationKeys;\r\n\r\n case FAMILYVIOLENCESCHEME:\r\n return fvsValidationKeys;\r\n\r\n case INFRINGEMENTEXTENSION:\r\n return infringementExtensionValidationKeys;\r\n\r\n case NOMINATION:\r\n return nominationValidationKeys;\r\n\r\n case INSTALMENT:\r\n return instalmentValidationKeys;\r\n\r\n case REVIEW:\r\n return reviewValidationKeys;\r\n\r\n default:\r\n return [];\r\n }\r\n};\r\n\r\nexport default keys;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable arrow-body-style */\r\nimport * as Yup from 'yup';\r\nimport { TEN_DIGITS_OBLIGATIONS, CONTACT_NUMBER_REGEX, NAME_FIELDS_NEW_REGEX, ORGANISATION_NAME_REGEX, FIELDS_WITH_SEPCIFI_CHARS, EMAIL_SPECIAL_CHARS_REGEX } from '@services/ValidationRules';\r\nimport { iSummary, iFormMetaData, iAddress, iContactMin } from '@interfaces/interfaces';\r\nimport { ProgressStep, FormType, nextDay } from '@constants';\r\nimport { FormikValues } from 'formik';\r\nimport pageValidationKeys from './PageValidationKeys';\r\nimport {\r\n EMPTY_DATE,\r\n INVALID_FUTURE_DATE,\r\n INVALID_PAST_DATE,\r\n INVALID_NUMERIC_FORMAT,\r\n INVALID_PHONE_NUMBER,\r\n INVALID_PHONE_NUMBER_LENGTH,\r\n INVALID_OBLIGATION_NUMBER,\r\n INVALID_OBLIGATION_TOTAL_NUMBER,\r\n INVALID_OBLIGATION_NUMBER_DUPLICATE,\r\n INVALID_EMAIL,\r\n MISSING_DECLARATION_AGREEMENT,\r\n FIELDS_WITH_SEPCIFI_CHARS_MSG,\r\n INVALID_ORG_NAME_FORMAT,\r\n INVALID_NAME_FORMAT_NO_SPECIAL,\r\n} from './ErrorMessages';\r\n\r\nconst joinAddressFields = (entry: string[]) => {\r\n if (entry[0] === 'Address' || entry[0] === 'SearchText') return null;\r\n if (entry[0] === 'Country') return entry[1];\r\n return entry[1];\r\n};\r\n\r\ninterface iValue {\r\n value: string;\r\n}\r\n\r\nexport interface iCommonThirdPartyFormValues {\r\n [key: string]: string | number | boolean | iAddress | iValue[] | iContactMin | Date | null;\r\n authlastselection: string;\r\n // Step 1\r\n WhatDoesThisAuthorisationCover: string;\r\n // Step 2\r\n WhatFinesDoesThisAuthorisationCover: string;\r\n WhichFinesToProvideAuthorisationFor: string;\r\n AuthorisationForCurrentAndFutureFines: string;\r\n HowLongWillThisAuthorisationLast: string;\r\n PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeExcludedFromThisAuthority: string; // Fines not to be included\r\n PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeIncludedFromThisAuthority: string; // Fines to be included\r\n // The rest\r\n WhoAreYouNominating: string;\r\n GivenNames: string;\r\n FamilyName: string;\r\n EmailAddressOptional: string;\r\n OrganisationName: string;\r\n EmailAddressOptionalTwo: string;\r\n YourReferenceNumberWithinTheOrganisationOptional: string;\r\n LastNameOrFamilyName: string;\r\n FirstOrGivenNames: string;\r\n DriverLicenceNumberOptional: string;\r\n StatecountryOfIssue: string;\r\n EmailAddressOptionalThree: string;\r\n EMAIL_TO: string;\r\n}\r\n\r\nexport interface iThirdPartyFormValues extends iCommonThirdPartyFormValues {\r\n obligations: iValue[];\r\n authexclude: string;\r\n authlast: Date | null;\r\n consentToDeclaration: boolean;\r\n IndividualContactNumber: iContactMin;\r\n NoEmailAddress: boolean;\r\n OrganisationAddress: iAddress;\r\n OrganisationPostalAddress: iAddress;\r\n IsOrganisationAddressDifferentFromPostal: string;\r\n OrganisationContactNumber: iContactMin;\r\n NoEmailAddressTwo: boolean;\r\n DateOfBirth: Date | null;\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n ResidentialAddress: iAddress;\r\n ResidentialPostalAddress: iAddress;\r\n IsResidentialAddressSameAsPostal: string;\r\n UserContactNumber: iContactMin;\r\n NoEmailAddressThree: boolean;\r\n submissionNo: string;\r\n submissionError: string;\r\n recaptchaResponse: string;\r\n}\r\n\r\nexport interface iSubmitThirdPartyFormValues extends iCommonThirdPartyFormValues {\r\n ContactNumber: string;\r\n LineOne: string;\r\n LineTwo: string;\r\n Suburb: string;\r\n State: string;\r\n Postcode: string;\r\n Country: string;\r\n LineOneTwo: string;\r\n LineTwoTwo: string;\r\n SuburbTwo: string;\r\n StateTwo: string;\r\n PostcodeTwo: string;\r\n CountryTwo: string;\r\n ContactNumberTwo: string;\r\n DD: string;\r\n MM: string;\r\n YYYY: string;\r\n LineOneThree: string;\r\n LineTwoThree: string;\r\n SuburbThree: string;\r\n StateThree: string;\r\n PostcodeThree: string;\r\n CountryThree: string;\r\n LineOneFour: string;\r\n LineTwoFour: string;\r\n SuburbFour: string;\r\n StateFour: string;\r\n PostcodeFour: string;\r\n CountryFour: string;\r\n ContactNumberThree: string;\r\n YourSignature: string;\r\n DdTwo: number;\r\n MmTwo: number;\r\n YyyyTwo: number;\r\n FooterSubmissionNo1: string;\r\n FooterFormType1: string;\r\n FooterObligationNo1: string;\r\n FooterSubmittedTime1: string;\r\n FooterSubmissionNo2: string;\r\n FooterFormType2: string;\r\n FooterObligationNo2: string;\r\n FooterSubmittedTime2: string;\r\n FooterSubmissionNo3: string;\r\n FooterFormType3: string;\r\n FooterObligationNo3: string;\r\n FooterSubmittedTime3: string;\r\n FooterSubmissionNo4: string;\r\n FooterFormType4: string;\r\n FooterObligationNo4: string;\r\n FooterSubmittedTime4: string;\r\n FooterSubmissionNo5: string;\r\n FooterFormType5: string;\r\n FooterObligationNo5: string;\r\n FooterSubmittedTime5: string;\r\n recaptchaResponse: string;\r\n}\r\n\r\nexport const defaultForm = (): iThirdPartyFormValues => {\r\n const defaultValues: iThirdPartyFormValues = {\r\n authlastselection: '',\r\n WhatDoesThisAuthorisationCover: '',\r\n WhatFinesDoesThisAuthorisationCover: '',\r\n HowLongWillThisAuthorisationLast: '',\r\n WhoAreYouNominating: '',\r\n FamilyName: '',\r\n GivenNames: '',\r\n EmailAddressOptional: '',\r\n OrganisationName: '',\r\n EmailAddressOptionalTwo: '',\r\n YourReferenceNumberWithinTheOrganisationOptional: '',\r\n LastNameOrFamilyName: '',\r\n FirstOrGivenNames: '',\r\n DriverLicenceNumberOptional: '',\r\n StatecountryOfIssue: 'Australia',\r\n NoEmailAddressThree: false,\r\n EmailAddressOptionalThree: '',\r\n EMAIL_TO: '',\r\n obligations: [{ value: '' }],\r\n authexclude: '',\r\n authlast: null,\r\n consentToDeclaration: false,\r\n IndividualContactNumber: {\r\n ContactNumber: '',\r\n },\r\n NoEmailAddress: false,\r\n OrganisationAddress: {\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n OrganisationPostalAddress: {\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n IsOrganisationAddressDifferentFromPostal: '',\r\n OrganisationContactNumber: {\r\n ContactNumber: '',\r\n },\r\n NoEmailAddressTwo: false,\r\n DateOfBirth: null,\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n ResidentialAddress: {\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ResidentialPostalAddress: {\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n IsResidentialAddressSameAsPostal: '',\r\n UserContactNumber: {\r\n ContactNumber: '',\r\n },\r\n submissionNo: '',\r\n submissionError: '',\r\n WhichFinesToProvideAuthorisationFor: '',\r\n AuthorisationForCurrentAndFutureFines: '',\r\n PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeExcludedFromThisAuthority: '',\r\n PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeIncludedFromThisAuthority: '',\r\n recaptchaResponse: '',\r\n };\r\n return defaultValues;\r\n};\r\n\r\nexport const getReceiptPayload = (): string => {\r\n return `{\r\n \"ID\": \"\",\r\n \"Receipt\": \"\",\r\n \"Obligations\": [\r\n {\r\n \"ID\": \"\",\r\n \"ObligationNO\": \"0\",\r\n \"IsPrimary\": true,\r\n \"ReceptNumberId\": \"\"\r\n }\r\n ],\r\n \"SubmittedDate\": \"\",\r\n \"FormTypeId\": 6\r\n }`;\r\n};\r\n\r\n// Payload is also used to generate pdf\r\nexport const getSubmissionPayload = (formValues: iThirdPartyFormValues, submissionNumber: string): iSubmitThirdPartyFormValues => {\r\n const submitFormValues = formValues;\r\n const now = new Date();\r\n const MONTH = now.getMonth() + 1;\r\n const MINUTE = (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();\r\n const SUBMITTED_TIME = `${now.getHours()} : ${MINUTE} ${now.getDate()}/${MONTH}/${now.getFullYear()}`;\r\n const FORM_TYPE = 'Thirdparty';\r\n\r\n if (formValues.NoEmailAddress) {\r\n submitFormValues.EmailAddressOptional = '';\r\n }\r\n\r\n if (formValues.NoEmailAddressTwo) {\r\n submitFormValues.EmailAddressOptionalTwo = '';\r\n }\r\n\r\n if (formValues.NoEmailAddressThree) {\r\n submitFormValues.EmailAddressOptionalThree = '';\r\n }\r\n if (formValues.NoDriverLicence) {\r\n submitFormValues.DriverLicenceNumberOptional = '';\r\n submitFormValues.StatecountryOfIssue = '';\r\n submitFormValues.LicenceState = '';\r\n }\r\n if (formValues.StatecountryOfIssue === 'Australia') {\r\n submitFormValues.StatecountryOfIssue = submitFormValues.LicenceState;\r\n }\r\n\r\n if (formValues.EMAIL_TO === 'true') {\r\n submitFormValues.EMAIL_TO = submitFormValues.EmailAddressOptionalThree;\r\n } else {\r\n submitFormValues.EMAIL_TO = '';\r\n }\r\n\r\n // Beginning of submitFormValues for Step 2\r\n submitFormValues.AuthorisationForCurrentAndFutureFines = formValues.WhatFinesDoesThisAuthorisationCover;\r\n if (formValues.WhatFinesDoesThisAuthorisationCover === 'No') {\r\n submitFormValues.WhichFinesToProvideAuthorisationFor = formValues.authexclude;\r\n if (Array.isArray(formValues.obligations)) {\r\n if (formValues.authexclude === 'All the following fines') {\r\n submitFormValues.PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeIncludedFromThisAuthority = formValues.obligations\r\n .map((obligation: any) => obligation.value)\r\n .join('; ');\r\n submitFormValues.PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeExcludedFromThisAuthority = '';\r\n } else {\r\n submitFormValues.PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeExcludedFromThisAuthority = formValues.obligations\r\n .map((obligation: any) => obligation.value)\r\n .join('; ');\r\n submitFormValues.PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeIncludedFromThisAuthority = '';\r\n }\r\n }\r\n } else {\r\n submitFormValues.PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeExcludedFromThisAuthority = '';\r\n submitFormValues.PleaseProvideObligationNumbersOfAnyFinesThatYouWishToBeIncludedFromThisAuthority = '';\r\n submitFormValues.WhichFinesToProvideAuthorisationFor = '';\r\n submitFormValues.WhatFinesDoesThisAuthorisationCover = '';\r\n }\r\n\r\n if (formValues.HowLongWillThisAuthorisationLast === 'Date') {\r\n const day = formValues.authlast!.getDate();\r\n const month = formValues.authlast!.getMonth() + 1;\r\n const year = formValues.authlast!.getFullYear();\r\n submitFormValues.HowLongWillThisAuthorisationLast = `${day < 10 ? `0${day}` : day}/${month < 10 ? `0${month}` : month}/${year}`;\r\n } else {\r\n submitFormValues.HowLongWillThisAuthorisationLast = formValues.HowLongWillThisAuthorisationLast;\r\n }\r\n // End of submitFormValues for Step 2\r\n\r\n const submitObject: iSubmitThirdPartyFormValues = {\r\n ...(submitFormValues as iCommonThirdPartyFormValues),\r\n ContactNumber: formValues.IndividualContactNumber.ContactNumber,\r\n LineOne: formValues.OrganisationAddress.LineOne,\r\n LineTwo: formValues.OrganisationAddress.LineTwo,\r\n Suburb: formValues.OrganisationAddress.Suburb,\r\n State: formValues.OrganisationAddress.State,\r\n Postcode: formValues.OrganisationAddress.Postcode,\r\n Country: formValues.OrganisationAddress.State ? formValues.OrganisationAddress.Country : '',\r\n // Only populate postal address if it's explicitly set\r\n LineOneTwo: formValues.IsOrganisationAddressDifferentFromPostal === 'true' ? formValues.OrganisationPostalAddress.LineOne : '',\r\n LineTwoTwo: formValues.IsOrganisationAddressDifferentFromPostal === 'true' ? formValues.OrganisationPostalAddress.LineTwo : '',\r\n SuburbTwo: formValues.IsOrganisationAddressDifferentFromPostal === 'true' ? formValues.OrganisationPostalAddress.Suburb : '',\r\n StateTwo: formValues.IsOrganisationAddressDifferentFromPostal === 'true' ? formValues.OrganisationPostalAddress.State : '',\r\n PostcodeTwo: formValues.IsOrganisationAddressDifferentFromPostal === 'true' ? formValues.OrganisationPostalAddress.Postcode : '',\r\n CountryTwo: formValues.IsOrganisationAddressDifferentFromPostal === 'true' ? formValues.OrganisationPostalAddress.Country : '',\r\n ContactNumberTwo: formValues.OrganisationContactNumber.ContactNumber,\r\n DD: formValues.DateOfBirth ? formValues.DateOfBirth.getDate().toString() : '',\r\n MM: formValues.DateOfBirth ? (formValues.DateOfBirth.getMonth() + 1).toString() : '',\r\n YYYY: formValues.DateOfBirth ? formValues.DateOfBirth.getFullYear().toString() : '',\r\n LineOneThree: formValues.ResidentialAddress.LineOne,\r\n LineTwoThree: formValues.ResidentialAddress.LineTwo,\r\n SuburbThree: formValues.ResidentialAddress.Suburb,\r\n StateThree: formValues.ResidentialAddress.State,\r\n PostcodeThree: formValues.ResidentialAddress.Postcode,\r\n CountryThree: formValues.ResidentialAddress.State ? formValues.ResidentialAddress.Country : '',\r\n LineOneFour: formValues.IsResidentialAddressSameAsPostal === 'true' ? formValues.ResidentialPostalAddress.LineOne : formValues.ResidentialAddress.LineOne,\r\n LineTwoFour: formValues.IsResidentialAddressSameAsPostal === 'true' ? formValues.ResidentialPostalAddress.LineTwo : formValues.ResidentialAddress.LineTwo,\r\n SuburbFour: formValues.IsResidentialAddressSameAsPostal === 'true' ? formValues.ResidentialPostalAddress.Suburb : formValues.ResidentialAddress.Suburb,\r\n StateFour: formValues.IsResidentialAddressSameAsPostal === 'true' ? formValues.ResidentialPostalAddress.State : formValues.ResidentialAddress.State,\r\n PostcodeFour: formValues.IsResidentialAddressSameAsPostal === 'true' ? formValues.ResidentialPostalAddress.Postcode : formValues.ResidentialAddress.Postcode,\r\n CountryFour: formValues.IsResidentialAddressSameAsPostal === 'true' ? formValues.ResidentialPostalAddress.Country : formValues.ResidentialAddress.Country,\r\n ContactNumberThree: formValues.UserContactNumber.ContactNumber,\r\n YourSignature: formValues.consentToDeclaration ? 'I consent to this Authorisation' : '',\r\n DdTwo: now.getDate(),\r\n MmTwo: MONTH,\r\n YyyyTwo: now.getFullYear(),\r\n FooterSubmissionNo1: submissionNumber,\r\n FooterFormType1: FORM_TYPE,\r\n FooterObligationNo1: '',\r\n FooterSubmittedTime1: SUBMITTED_TIME,\r\n FooterSubmissionNo2: submissionNumber,\r\n FooterFormType2: FORM_TYPE,\r\n FooterObligationNo2: '',\r\n FooterSubmittedTime2: SUBMITTED_TIME,\r\n FooterSubmissionNo3: submissionNumber,\r\n FooterFormType3: FORM_TYPE,\r\n FooterObligationNo3: '',\r\n FooterSubmittedTime3: SUBMITTED_TIME,\r\n FooterSubmissionNo4: submissionNumber,\r\n FooterFormType4: FORM_TYPE,\r\n FooterObligationNo4: '',\r\n FooterSubmittedTime4: SUBMITTED_TIME,\r\n FooterSubmissionNo5: submissionNumber,\r\n FooterFormType5: FORM_TYPE,\r\n FooterObligationNo5: '',\r\n FooterSubmittedTime5: SUBMITTED_TIME,\r\n recaptchaResponse: formValues.recaptchaResponse,\r\n };\r\n\r\n const excludeKeysFromForm = [\r\n 'obligations',\r\n 'authexclude',\r\n 'authlast',\r\n 'consentToDeclaration',\r\n 'IndividualContactNumber',\r\n 'NoEmailAddress',\r\n 'OrganisationAddress',\r\n 'OrganisationPostalAddress',\r\n 'IsOrganisationAddressDifferentFromPostal',\r\n 'OrganisationContactNumber',\r\n 'NoEmailAddressTwo',\r\n 'DateOfBirth',\r\n 'LicenceState',\r\n 'NoDriverLicence',\r\n 'ResidentialAddress',\r\n 'ResidentialPostalAddress',\r\n 'IsResidentialAddressSameAsPostal',\r\n 'UserContactNumber',\r\n 'NoEmailAddressThree',\r\n 'submissionError',\r\n ];\r\n excludeKeysFromForm.forEach((value: string) => {\r\n delete submitObject[value];\r\n });\r\n return submitObject;\r\n};\r\n\r\nexport const ThirdPartySchema = Yup.object().shape({\r\n obligations: Yup.array()\r\n .test('unique', INVALID_OBLIGATION_NUMBER_DUPLICATE, (obligations: any) => {\r\n const uniqueObligation = new Set();\r\n // eslint-disable-next-line no-plusplus\r\n for (let i = 0; i < obligations.length; i++) {\r\n const { value } = obligations[i];\r\n\r\n if (uniqueObligation.has(value)) {\r\n return false;\r\n }\r\n\r\n uniqueObligation.add(value);\r\n }\r\n return true;\r\n })\r\n .when('WhatFinesDoesThisAuthorisationCover', {\r\n is: (value: string) => value === 'No',\r\n then: Yup.array()\r\n .min(1)\r\n .max(25, INVALID_OBLIGATION_TOTAL_NUMBER)\r\n .of(\r\n Yup.object().shape({\r\n value: Yup.string()\r\n .length(10, INVALID_OBLIGATION_NUMBER)\r\n .min(1, INVALID_OBLIGATION_NUMBER)\r\n .trim()\r\n .matches(TEN_DIGITS_OBLIGATIONS, INVALID_OBLIGATION_NUMBER)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n ),\r\n }),\r\n OrganisationAddress: Yup.object().shape({\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n OrganisationPostalAddress: Yup.object().shape({\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n ResidentialAddress: Yup.object().shape({\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n ResidentialPostalAddress: Yup.object().shape({\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n DateOfBirth: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n IndividualContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n OrganisationContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n UserContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n GivenNames: Yup.string().max(80).matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT_NO_SPECIAL).required(INVALID_NUMERIC_FORMAT),\r\n FamilyName: Yup.string().max(80).matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT_NO_SPECIAL).required(INVALID_NUMERIC_FORMAT),\r\n WhatDoesThisAuthorisationCover: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n WhatFinesDoesThisAuthorisationCover: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n HowLongWillThisAuthorisationLast: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n WhoAreYouNominating: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n authexclude: Yup.string().when('WhatFinesDoesThisAuthorisationCover', {\r\n is: (value: string) => value === 'No',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n consentToDeclaration: Yup.boolean().oneOf([true], MISSING_DECLARATION_AGREEMENT),\r\n EmailAddressOptional: Yup.string().matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL).email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n NoEmailAddress: Yup.boolean(),\r\n OrganisationName: Yup.string().max(80).matches(ORGANISATION_NAME_REGEX, INVALID_ORG_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n EmailAddressOptionalTwo: Yup.string().matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL).email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n NoEmailAddressTwo: Yup.boolean(),\r\n YourReferenceNumberWithinTheOrganisationOptional: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n LastNameOrFamilyName: Yup.string().max(80).matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT_NO_SPECIAL).required(INVALID_NUMERIC_FORMAT),\r\n FirstOrGivenNames: Yup.string().max(80).matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT_NO_SPECIAL).required(INVALID_NUMERIC_FORMAT),\r\n DriverLicenceNumberOptional: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n StatecountryOfIssue: Yup.string(),\r\n LicenceState: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n NoDriverLicence: Yup.boolean(),\r\n EmailAddressOptionalThree: Yup.string().matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL).email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n NoEmailAddressThree: Yup.boolean(),\r\n IsOrganisationAddressDifferentFromPostal: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n IsResidentialAddressSameAsPostal: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n authlast: Yup.date().when('HowLongWillThisAuthorisationLast', {\r\n is: (value: string) => value === 'Date',\r\n then: Yup.date().required(EMPTY_DATE).nullable().min(nextDay, INVALID_PAST_DATE),\r\n otherwise: Yup.date(),\r\n }),\r\n EMAIL_TO: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n});\r\n\r\nconst { THIRDPARTY } = FormType;\r\n\r\nexport const thirdPartyMetaData: iFormMetaData = {\r\n pagesSegments: {\r\n 'Third-Party': {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => pageValidationKeys(values, THIRDPARTY).page1,\r\n },\r\n step1: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => pageValidationKeys(values, THIRDPARTY).page1,\r\n },\r\n step2: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => pageValidationKeys(values, THIRDPARTY).page2,\r\n },\r\n step3: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => pageValidationKeys(values, THIRDPARTY).page3,\r\n },\r\n step4: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => pageValidationKeys(values, THIRDPARTY).page4,\r\n },\r\n step5: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n step6: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => pageValidationKeys(values, THIRDPARTY).page6,\r\n },\r\n step7: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n },\r\n};\r\n\r\nexport const getSummaryScreen = (values: iThirdPartyFormValues): iSummary[] => {\r\n const page1 = {\r\n title: 'What type of authorisation would you like',\r\n editLink: '/step1',\r\n fields: [[{ title: 'What type of authorisation would you like?', value: values.WhatDoesThisAuthorisationCover }]],\r\n };\r\n\r\n const page2 = {\r\n title: 'What are you authorising',\r\n editLink: '/step2',\r\n fields: [[{ title: 'Would you like to provide authorisation for all current and future fines?', value: values.WhatFinesDoesThisAuthorisationCover }]],\r\n };\r\n\r\n const authlastUntilDate = values.authlast !== null ? `Until the date: ${values.authlast.getDate()}/${values.authlast.getMonth() + 1}/${values.authlast.getFullYear()}` : 'n/a';\r\n\r\n const addFinesToSummary = (obligations: iValue[]) => {\r\n obligations.forEach((e, index) => {\r\n page2.fields.push([{ title: `Obligation ${index + 1}`, value: e.value }]);\r\n });\r\n };\r\n\r\n if (values.WhatFinesDoesThisAuthorisationCover === 'No') {\r\n const WhatFinesDoesThisAuthorisationCoverTitle = {\r\n title: 'Which fines would you like to provide authorisation for?',\r\n value: values.authexclude,\r\n };\r\n\r\n page2.fields.push([WhatFinesDoesThisAuthorisationCoverTitle]);\r\n addFinesToSummary(values.obligations);\r\n }\r\n\r\n page2.fields.push([\r\n {\r\n title: 'How long would you like this authorisation to last?',\r\n value: values.HowLongWillThisAuthorisationLast === 'Date' ? authlastUntilDate : values.HowLongWillThisAuthorisationLast,\r\n },\r\n ]);\r\n\r\n const page3 = {\r\n title: 'Who are you nominating to enquire or act on your behalf',\r\n editLink: '/step3',\r\n fields:\r\n values.WhoAreYouNominating === 'individual'\r\n ? [\r\n [{ title: 'Given name(s)', value: values.GivenNames }],\r\n [{ title: 'Family name', value: values.FamilyName }],\r\n [{ title: 'Contact phone number', value: values.IndividualContactNumber.ContactNumber }],\r\n [{ title: 'Email', value: values.EmailAddressOptional ? values.EmailAddressOptional : 'n/a' }],\r\n ]\r\n : [\r\n [{ title: 'Organisation name', value: values.OrganisationName }],\r\n [\r\n {\r\n title: \"Organisation's address\",\r\n value: `${Object.entries(values.OrganisationAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.IsOrganisationAddressDifferentFromPostal === 'false'\r\n ? [{ title: \"Is your postal address different to your organisation's address?\", value: 'No' }]\r\n : [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.OrganisationPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact phone number', value: values.OrganisationContactNumber.ContactNumber }],\r\n [{ title: 'Email', value: values.EmailAddressOptionalTwo ? values.EmailAddressOptionalTwo : 'n/a' }],\r\n [\r\n {\r\n title: 'Your reference number within the organisation',\r\n value: values.YourReferenceNumberWithinTheOrganisationOptional ? values.YourReferenceNumberWithinTheOrganisationOptional : 'n/a',\r\n },\r\n ],\r\n ],\r\n };\r\n\r\n const page4 = {\r\n title: 'Your details',\r\n editLink: '/step4',\r\n fields: [\r\n [{ title: 'Given name(s)', value: values.FirstOrGivenNames }],\r\n [{ title: 'Family name', value: values.LastNameOrFamilyName }],\r\n [\r\n {\r\n title: 'Date of birth',\r\n value: `${values.DateOfBirth ? `${values.DateOfBirth.getDate()}/${values.DateOfBirth.getMonth() + 1}/${values.DateOfBirth.getFullYear()}` : ''}`,\r\n },\r\n ],\r\n values.NoDriverLicence ? [{ title: 'Driver licence', value: 'n/a' }] : [{ title: 'Driver licence', value: values.DriverLicenceNumberOptional }],\r\n values.NoDriverLicence\r\n ? [{ title: 'Place of issue', value: 'n/a' }]\r\n : [{ title: 'Place of issue', value: values.StatecountryOfIssue === 'Australia' ? values.LicenceState : values.StatecountryOfIssue }],\r\n [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.ResidentialAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.IsResidentialAddressSameAsPostal === 'false'\r\n ? [{ title: 'Is your postal address different to your residential address?', value: 'No' }]\r\n : [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.ResidentialPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact phone number', value: values.UserContactNumber.ContactNumber }],\r\n [{ title: 'Email', value: values.EmailAddressOptionalThree ? values.EmailAddressOptionalThree : 'n/a' }],\r\n [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.EMAIL_TO === 'true' ? 'Yes' : 'No' }],\r\n ],\r\n };\r\n\r\n const summarySections: iSummary[] = [page1, page2, page3, page4];\r\n return summarySections;\r\n};\r\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\nexport const getStringIndex = (locationPath: string[], findString: string): number => locationPath.findIndex((element: string): boolean => element.includes(findString));\r\nexport const reverseTrueOrFalseSubmission = (trueOrFalse: string): string => (trueOrFalse === 'true' ? 'false' : 'true');\r\n// convert 2022-02-08T13:00:00.000Z to dd/mm/yyyy\r\nexport const convertStringToDate = (dateIn: string): string => {\r\n if (dateIn) {\r\n const convertDate = new Date(dateIn);\r\n return `${convertDate?.getDate()}/${convertDate?.getMonth() + 1}/${convertDate?.getFullYear()}` || '';\r\n }\r\n return '';\r\n};\r\n// adding all date fields of all react forms and make sure partial form can handle date fields correctly\r\nconst dateTypeField = ['DOB', 'DAOffence', 'DOBOptional', 'DateToPay', 'DOBSomeoneElse', 'DateSellOrDispose', 'DOBSoldDisposed', 'DOBYourDetails', 'OFFENCE_FIND_OUT_DATE', 'firstInstalmentDate', 'OFFENCE_DATE', 'DOBFineholderDetails', 'DOBYourDetailsIndividual', 'HEARING_DATE', 'personUnawareFindOutDate'];\r\nconst dontOverrideStep3IfNotEmpty = ['Has7DayNotice', 'ActionsTakenOnFine', 'HasLinkBwFVSAndFines', 'HasEvidenceToSupport'];\r\nexport const setFormDataValues = (partialFormApi: any, formikObject: any, formikValuesRef: any, keyName: string): void => {\r\n Object.keys(partialFormApi).forEach((key) => {\r\n if (key in partialFormApi) {\r\n if (typeof partialFormApi[key] === 'object' && partialFormApi[key] && partialFormApi[key].length > 0 && !(partialFormApi[key] instanceof Date)) {\r\n setFormDataValues(partialFormApi[key], formikObject[key], formikValuesRef, `${keyName}.${key}`);\r\n } else if (dateTypeField.includes(key) && partialFormApi[key]) { // treat date fields differently\r\n formikValuesRef.current.setFieldValue(`${keyName}.${key}`, new Date(partialFormApi[key]));\r\n } else {\r\n if ((dontOverrideStep3IfNotEmpty.includes(keyName) || dontOverrideStep3IfNotEmpty.includes(key)) && formikObject[key]) {\r\n return;\r\n }\r\n formikValuesRef.current.setFieldValue(`${keyName}.${key}`, partialFormApi[key]);\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport const setCurrentFormikValues = (partialFormApi: any, formikObject: any, formikValuesRef: any, keyName?: string): void => {\r\n Object.keys(partialFormApi).forEach((key) => {\r\n if (key in partialFormApi) {\r\n if (typeof partialFormApi[key] === 'object' && partialFormApi[key]) {\r\n setCurrentFormikValues(partialFormApi[key], formikObject[key], formikValuesRef, keyName ? `${keyName}.${key}` : key);\r\n } else if (dateTypeField.includes(key) && partialFormApi[key]) {\r\n formikValuesRef.current.setFieldValue(key, new Date(partialFormApi[key]));\r\n } else if (keyName) {\r\n if (dontOverrideStep3IfNotEmpty.includes(keyName) && (formikObject[key] || formikObject[0] === 'None')) {\r\n return;\r\n }\r\n if (key === 'NoActionsTaken' && formikObject.ActionsTakenOnFine && formikObject.ActionsTakenOnFine.length !== 0) {\r\n return;\r\n }\r\n formikValuesRef.current.setFieldValue(`${keyName}.${key}`, partialFormApi[key]);\r\n } else {\r\n if (dontOverrideStep3IfNotEmpty.includes(key) && (formikObject[key] || formikObject[0] === 'None')) {\r\n return;\r\n }\r\n if (key === 'NoActionsTaken' && formikObject.ActionsTakenOnFine && formikObject.ActionsTakenOnFine.length !== 0) {\r\n return;\r\n }\r\n formikValuesRef.current.setFieldValue(key, partialFormApi[key]);\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport const getFutureDateAfterNMonth = (futureMonth: number): Date => {\r\n const today = new Date();\r\n return new Date(today.setMonth(today.getMonth() + futureMonth));\r\n};\r\n\r\nexport const getDateForValidateDebtor = (receivedDates: string): string => {\r\n const dateObj = receivedDates.split('/');\r\n const specificedDateString = `${dateObj[2]}-${dateObj[1]}-${dateObj[0]}`;\r\n return specificedDateString;\r\n};\r\n\r\nexport const bytesToMBSize = (bytes: number): string => {\r\n if (bytes === 0) return 'n/a';\r\n const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)).toString(), 10);\r\n if (i === 0) return `${bytes}`;\r\n return `${(bytes / (1024 ** i)).toFixed(0)}`;\r\n};\r\n","import { ReactElement } from 'react';\r\n\r\nconst ErrorContent = (): ReactElement =>

To continue further with this application, please fix the problem(s) highlighted below

;\r\n\r\nexport default ErrorContent;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement } from 'react';\r\nimport { ErrorPage } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\n\r\nfunction TPErrorPage(): ReactElement {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { values }: { values: iThirdPartyFormValues } = useFormikContext();\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default TPErrorPage;\r\n","import { ReactElement } from 'react';\r\nimport { Field } from 'formik';\r\nimport { TileRadio } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport styles from './TPStep1.module.scss';\r\n\r\nfunction TPStep1(): ReactElement {\r\n const LimitedAuthBody = (): ReactElement => (\r\n
\r\n
Authority to Communicate
\r\n
Authorise a person to make enquiries and discuss your fines
\r\n
\r\n );\r\n\r\n const FullAuthBody = (): ReactElement => (\r\n
\r\n
Authority to Act
\r\n
\r\n
\r\n

Authorise a person to discuss, act and make decisions on your behalf, such as:

\r\n
    \r\n
  • request a review of your fine
  • \r\n
  • apply for an extension of time or a payment arrangement
  • \r\n
  • update your contact details
  • \r\n
\r\n

\r\n For more information about what an authorised person can do see\r\n \r\n \r\n Third party authorisation\r\n \r\n .\r\n

\r\n
\r\n
\r\n
\r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'Authority to Act',\r\n },\r\n {\r\n body: ,\r\n value: 'Authority to Communicate',\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n
What type of authorisation would you like?
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default TPStep1;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { FormType } from '@constants/forms';\r\nimport { TileRadio, MultiTextInput, DateInput } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport { nextDay } from '@constants';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport styles from './TPStep2.module.scss';\r\n\r\nfunction TPStep2(): ReactElement {\r\n const FinesAuthorisationBody = (): ReactElement => (\r\n
\r\n

\r\n All\r\n {' '}\r\n the following fines\r\n

\r\n

please list below

\r\n
\r\n );\r\n\r\n const FinesExceptAuthorisationBody = (): ReactElement => (\r\n
\r\n

\r\n All fines,\r\n {' '}\r\n except\r\n {' '}\r\n the following\r\n

\r\n

please list below

\r\n
\r\n );\r\n\r\n const TILE_DATA_PROVIDE_AUTHORISATION: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'Yes',\r\n },\r\n {\r\n body: 'No',\r\n value: 'No',\r\n },\r\n ];\r\n\r\n const TILE_DATA_FINES_PROVIDE_AUTHORISATION: tile[] = [\r\n {\r\n body: ,\r\n value: 'All the following fines',\r\n },\r\n {\r\n body: ,\r\n value: 'All fines, expect the following',\r\n },\r\n ];\r\n\r\n const TILE_DATA_AUTH_LAST: tile[] = [\r\n {\r\n body: 'Ongoing',\r\n value: 'Ongoing',\r\n },\r\n {\r\n body: 'Until a specific date',\r\n value: 'Date',\r\n },\r\n ];\r\n const { values }: { values: iThirdPartyFormValues } = useFormikContext();\r\n\r\n const renderYesNo = (): boolean | null => {\r\n if (!values.WhatFinesDoesThisAuthorisationCover) {\r\n return null;\r\n }\r\n if (values.WhatFinesDoesThisAuthorisationCover === 'Yes') {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const allFinesIncluded = (): boolean | null => {\r\n // No options selected\r\n if (!values.authexclude) {\r\n return null;\r\n }\r\n // Fines included\r\n if (values.authexclude === 'All the following fines') {\r\n return false;\r\n }\r\n // Fines excluded\r\n return true;\r\n };\r\n\r\n return (\r\n
\r\n
What are you authorising?
\r\n
\r\n Would you like to provide authorisation for\r\n {' '}\r\n all\r\n {' '}\r\n current and future fines?\r\n
\r\n \r\n {renderYesNo() === false && (\r\n <>\r\n

\r\n Your authorised person can only act on the fines you include here. If the authorisation does not cover all your fines it may affect what the person can do on your\r\n behalf. For more information see\r\n {' '}\r\n \r\n Third party authorisation\r\n \r\n .\r\n

\r\n
Which fines would you like to provide authorisation for?
\r\n \r\n {values.authexclude && (\r\n <>\r\n {' '}\r\n
\r\n {allFinesIncluded() ? (\r\n

\r\n Fines\r\n {' '}\r\n not to be included\r\n

\r\n ) : (\r\n

\r\n Fines to\r\n {' '}\r\n be included\r\n

\r\n )}\r\n
\r\n \r\n \r\n )}\r\n \r\n )}\r\n {(renderYesNo() || values.authexclude) && (\r\n <>\r\n
How long would you like this authorisation to last?
\r\n \r\n

\r\n Please note: \r\n You, or the person you give authority to, can cancel an authority at any time by contacting Fines Victoria\r\n

\r\n {values.HowLongWillThisAuthorisationLast === 'Date' && }\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default TPStep2;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadio, IndividualForm, OrganisationForm } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\n\r\nimport styles from './TPStep3.module.scss';\r\n\r\nfunction TPStep3(): ReactElement {\r\n const { values }: { values: iThirdPartyFormValues } = useFormikContext();\r\n\r\n const IndividualOption = (): ReactElement => (\r\n <>\r\n
An individual
\r\n \r\n );\r\n\r\n const OrganisationOption = (): ReactElement => (\r\n <>\r\n
An organisation
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'individual',\r\n },\r\n {\r\n body: ,\r\n value: 'organisation',\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n
\r\n
Who are you nominating to enquire or act on your behalf?
\r\n \r\n {values.WhoAreYouNominating && (\r\n
\r\n Required fields\r\n
\r\n \r\n All fields within this form are required unless marked as optional\r\n (optional)\r\n \r\n
\r\n
\r\n )}\r\n {values.WhoAreYouNominating === 'individual' && }\r\n {values.WhoAreYouNominating === 'organisation' && }\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default TPStep3;\r\n","import { iContactInfoDisplay, iFVSInfoDisplay, iReviewInfoDisplay, iNominationInfoDisplay } from '@interfaces/interfaces';\r\nimport { FormType } from '@constants';\r\n\r\nconst { THIRDPARTY, COURT, FAMILYVIOLENCESCHEME, EXTENSION, INFRINGEMENTEXTENSION, INSTALMENT, REVIEW, NOMINATION } = FormType;\r\n\r\nexport const tpContactInfoDisplayObject: iContactInfoDisplay = {\r\n mode: THIRDPARTY,\r\n fields: {\r\n title: {\r\n formikName: 'MrMrsMsMissOtherTwo',\r\n },\r\n givenName: {\r\n formikName: 'FirstOrGivenNames',\r\n },\r\n familyName: {\r\n formikName: 'LastNameOrFamilyName',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DateOfBirth',\r\n },\r\n driverLicence: {\r\n formikName: 'DriverLicenceNumberOptional',\r\n title: 'Driver licence',\r\n },\r\n address: {\r\n formikName: 'ResidentialAddress',\r\n title: 'Residential address',\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'IsResidentialAddressSameAsPostal',\r\n title: 'Is your postal address different to your residential address?',\r\n },\r\n postalAddress: {\r\n formikName: 'ResidentialPostalAddress',\r\n title: 'Postal address',\r\n },\r\n contactNumber: {\r\n formikName: 'UserContactNumber',\r\n },\r\n noEmailAddress: {\r\n formikName: 'NoEmailAddressThree',\r\n },\r\n emailAddress: {\r\n formikName: 'EmailAddressOptionalThree',\r\n },\r\n emailTo: {\r\n formikName: 'EMAIL_TO',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n },\r\n};\r\n\r\nexport const courtContactInfoDisplayObject: iContactInfoDisplay = {\r\n mode: COURT,\r\n fields: {\r\n title: {\r\n formikName: 'TitleMrMrsMsMissOther',\r\n },\r\n givenName: {\r\n formikName: 'GivenNames',\r\n },\r\n familyName: {\r\n formikName: 'FamilyName',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOB',\r\n },\r\n driverLicence: {\r\n formikName: 'DRIVER_LICENCE',\r\n title: 'Driver licence',\r\n },\r\n address: {\r\n formikName: 'SummonsAddress',\r\n title: 'Address for service of summons',\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'HasDifferentResidentialAddress',\r\n title: 'Is your residential address different to your postal address?',\r\n },\r\n postalAddress: {\r\n formikName: 'ResidentialAddress',\r\n title: 'Residential address',\r\n },\r\n contactNumber: {\r\n formikName: 'CourtContactNumber',\r\n },\r\n noEmailAddress: {\r\n formikName: 'NoEmail',\r\n },\r\n emailAddress: {\r\n formikName: 'Email',\r\n },\r\n emailTo: {\r\n formikName: 'EMAIL_TO',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n },\r\n};\r\nexport const extensionContactInfoDisplayObject: iContactInfoDisplay = {\r\n mode: EXTENSION,\r\n fields: {\r\n title: {\r\n formikName: 'TitleMrMrsMsMissOther',\r\n },\r\n givenName: {\r\n formikName: 'GivenNames',\r\n },\r\n familyName: {\r\n formikName: 'FamilyName',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOB',\r\n },\r\n driverLicence: {\r\n formikName: 'DRIVER_LICENCE',\r\n title: 'Driver licence',\r\n },\r\n address: {\r\n formikName: 'ExtensionPostalAddress',\r\n title: 'Postal address',\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'HasDifferentResidentialAddress',\r\n title: 'Is your residential address different to your postal address?',\r\n },\r\n postalAddress: {\r\n formikName: 'ExtensionResidentialAddress',\r\n title: 'Residential address',\r\n },\r\n contactNumber: {\r\n formikName: 'ExtensionContactNumber',\r\n },\r\n noEmailAddress: {\r\n formikName: 'NoEmail',\r\n },\r\n emailAddress: {\r\n formikName: 'Email',\r\n },\r\n emailTo: {\r\n formikName: 'EMAIL_TO',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n receiveDocs: {\r\n formikName: 'receiveDocs',\r\n title: 'I consent to receive documentation electronically',\r\n }\r\n },\r\n};\r\n\r\nexport const fvsInfoDisplayObject: iFVSInfoDisplay = {\r\n mode: FAMILYVIOLENCESCHEME,\r\n pages: {\r\n /* Page Type: Risk and support details - Step 7 and Step 16 */\r\n riskAndSupportDetails: {\r\n step7: {\r\n pageTitle: 'Your risk and support details',\r\n fields: {\r\n hasScaredFeelings: {\r\n formikName: 'HasScaredFeelings',\r\n title: 'Are you or your children currently feeling afraid of a family member or experiencing family violence?',\r\n },\r\n hasRiskAssessment: {\r\n formikName: 'HasRiskAssessment',\r\n title: 'Has a support agency completed a risk assessment and safety plan with you?',\r\n },\r\n contactSpecialist: {\r\n formikName: 'ContactSpecialist',\r\n title:\r\n 'Would you like Fines Victoria to contact you to provide information about specialist family violence support services such as Safe Steps, 1800 Respect and Orange Door?',\r\n },\r\n additionalText: {\r\n formikName: 'additionalText',\r\n title:\r\n 'Please ensure you have given us permission to phone you, and information about the safest times to call you.',\r\n },\r\n },\r\n },\r\n step16: {\r\n pageTitle: \"Fineholder's risk and support details\",\r\n fields: {\r\n hasScaredFeelings: {\r\n formikName: 'HasScaredFeelings',\r\n title: 'Is the fineholder (or their children) currently feeling afraid of a family member or experiencing family violence?',\r\n },\r\n hasRiskAssessment: {\r\n formikName: 'HasRiskAssessment',\r\n title: 'Has a support agency done a risk assessment and safety plan with the fineholder?',\r\n },\r\n contactSpecialist: {\r\n formikName: 'ContactSpecialist',\r\n title:\r\n 'Would you like Fines Victoria to contact you to provide information about specialist family violence support services such as Safe Steps, 1800 Respect and Orange Door?',\r\n },\r\n additionalText: {\r\n formikName: 'additionalText',\r\n title:\r\n 'Please ensure you have given us permission to phone you, and information about the best times to call you.',\r\n },\r\n },\r\n },\r\n },\r\n /* Page Type: Background and identity details - Step 8 and Step 17 */\r\n backgroundAndIdentityDetails: {\r\n step8: {\r\n pageTitle: 'Your background and identity (optional)',\r\n pageSubtitle: 'Responses will assist with our risk assessment process, but will not impact the success of your application.',\r\n pageInfo: 'The answers may also assist with de-identified statistical reporting.',\r\n fields: {\r\n gender: {\r\n formikName: 'Gender',\r\n title: 'What is your gender?',\r\n },\r\n genderDescription: {\r\n formikName: 'GenderSelfDescribed',\r\n title: 'Please specify',\r\n },\r\n lgtiqIdentified: {\r\n formikName: 'LGBTIQIdentified',\r\n title: 'Do you identify as LGBTIQ?',\r\n },\r\n origin: {\r\n formikName: 'Origin',\r\n title: 'Do you identify as Aboriginal and/or Torres Strait Islander?',\r\n },\r\n englishProficiency: {\r\n formikName: 'EnglishProficiency',\r\n title: 'How well can you communicate in English?',\r\n },\r\n nativeLanguage: {\r\n formikName: 'NativeLanguage',\r\n title: 'What is the main language spoken at home?',\r\n },\r\n isDisabled: {\r\n formikName: 'HasDisability',\r\n title: 'Do you have a disability or an impairment?',\r\n },\r\n disabilityDescription: {\r\n formikName: 'DisabilityDescription',\r\n title: 'Please specify',\r\n },\r\n },\r\n },\r\n step17: {\r\n pageTitle: \"Fineholder's background and identity (optional)\",\r\n pageSubtitle: \"Your responses help with our risk assessment process, and will not impact the success of the fineholder's application.\",\r\n pageInfo: 'The answers will assist with de-identified statistical reporting and potential risk identification.',\r\n fields: {\r\n gender: {\r\n formikName: 'Gender',\r\n title: 'What is their gender?',\r\n },\r\n genderDescription: {\r\n formikName: 'GenderSelfDescribed',\r\n title: 'Please specify',\r\n },\r\n lgtiqIdentified: {\r\n formikName: 'LGBTIQIdentified',\r\n title: 'Do they identify as LGBTIQ?',\r\n },\r\n origin: {\r\n formikName: 'Origin',\r\n title: 'Do they identify as Aboriginal and/or Torres Strait Islander?',\r\n },\r\n englishProficiency: {\r\n formikName: 'EnglishProficiency',\r\n title: 'How well can they communicate in English?',\r\n },\r\n nativeLanguage: {\r\n formikName: 'NativeLanguage',\r\n title: 'What is the main language spoken at home?',\r\n },\r\n isDisabled: {\r\n formikName: 'HasDisability',\r\n title: 'Do they have a disability or an impairment?',\r\n },\r\n disabilityDescription: {\r\n formikName: 'DisabilityDescription',\r\n title: 'Please provide details',\r\n },\r\n },\r\n },\r\n },\r\n /* Page Type: Likely possibilities - Step 10 and Step 19 */\r\n likelyPossibilities: {\r\n step10: {\r\n pageTitle: 'What would you like to happen?',\r\n fields: {\r\n likelyPossibility: {\r\n formikName: 'WhatWouldYouLikeToHappen',\r\n title: '',\r\n },\r\n givenNameOptional: {\r\n formikName: 'GivenNamesOptional',\r\n title: 'Given name(s)',\r\n },\r\n familyNameOptional: {\r\n formikName: 'FamilyNameOptional',\r\n title: 'Family name',\r\n },\r\n dateOfBirthOptional: {\r\n formikName: 'DOBOptional',\r\n title: 'Date of birth',\r\n },\r\n driverLicenceOptional: {\r\n formikName: 'DriverLicenceNumberOptional',\r\n title: 'Driver licence number',\r\n },\r\n licenceStateOptional: {\r\n formikName: 'LicenceStateOptional',\r\n title: '',\r\n },\r\n stateCountryOfIssueOptional: {\r\n formikName: 'StatecountryOfIssueOptional',\r\n title: '',\r\n },\r\n noDriverLicenceOptional: {\r\n formikName: 'NoDriverLicenceOptional',\r\n title: '',\r\n },\r\n howDealtWithFines: {\r\n formikName: 'HowDealtWithFines',\r\n title: 'Please provide further details of how you would like each fine to be dealt with',\r\n },\r\n },\r\n },\r\n step19: {\r\n pageTitle: 'What would you like to happen?',\r\n fields: {\r\n likelyPossibility: {\r\n formikName: 'WhatWouldYouLikeToHappen',\r\n title: '',\r\n },\r\n givenNameOptional: {\r\n formikName: 'GivenNamesOptional',\r\n title: 'Given name(s)',\r\n },\r\n familyNameOptional: {\r\n formikName: 'FamilyNameOptional',\r\n title: 'Family name',\r\n },\r\n dateOfBirthOptional: {\r\n formikName: 'DOBOptional',\r\n title: 'Date of birth',\r\n },\r\n driverLicenceOptional: {\r\n formikName: 'DriverLicenceNumberOptional',\r\n title: 'Driver licence number',\r\n },\r\n licenceStateOptional: {\r\n formikName: 'LicenceStateOptional',\r\n title: '',\r\n },\r\n stateCountryOfIssueOptional: {\r\n formikName: 'StatecountryOfIssueOptional',\r\n title: '',\r\n },\r\n noDriverLicenceOptional: {\r\n formikName: 'NoDriverLicenceOptional',\r\n title: '',\r\n },\r\n howDealtWithFines: {\r\n formikName: 'HowDealtWithFines',\r\n title: 'Please provide further details of how you would like each fine to be dealt with',\r\n },\r\n },\r\n },\r\n },\r\n /* Page Type: Payment arrangements - Step 11 and Step 20 */\r\n paymentArrangements: {\r\n step11: {\r\n pageTitle: 'Payment arrangements',\r\n pageSubtitle: 'Please note that if you pay the fines in full, they will no longer be eligible for the scheme.',\r\n fields: {\r\n removeFines: {\r\n formikName: 'RemoveFines',\r\n title: 'Would you like us to remove the relevant fines from your payment arrangement while we consider your application?',\r\n },\r\n reincludeFines: {\r\n formikName: 'ReincludeFines',\r\n title: 'If your application is not successful, would you like us to propose a new payment arrangement to include these fines again?',\r\n },\r\n },\r\n },\r\n step20: {\r\n pageTitle: 'Payment arrangements',\r\n pageSubtitle: 'Please note that if the fineholder pays the fines in full they will no longer be eligible for the scheme.',\r\n fields: {\r\n hasPaymentArrangement: {\r\n formikName: 'HasPaymentArrangement',\r\n title: 'Does the fineholder have a payment arrangement with Fines Victoria for any of the fines in this application?',\r\n },\r\n removeFines: {\r\n formikName: 'RemoveFines',\r\n title: 'Would the fineholder like us to remove the relevant fines from the payment arrangement while we consider the application?',\r\n },\r\n reincludeFines: {\r\n formikName: 'ReincludeFines',\r\n title: 'If the application is not successful, would the fineholder like us to propose a new payment arrangement to include these fines again?',\r\n },\r\n },\r\n },\r\n },\r\n /* Page Type: Victim Information - Step 6 and Step 15 */\r\n contactInformation: {\r\n step15: {\r\n pageTitle: \"Fineholder's details\",\r\n pageSubtitle: 'We will not share any information with the perpetrator of the family violence.',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNames',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyName',\r\n title: 'Family name(s)',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOB',\r\n title: 'Date of birth',\r\n },\r\n driverLicence: {\r\n formikName: 'DRIVER_LICENCE',\r\n title: 'Driver licence number',\r\n },\r\n residentialAddress: {\r\n formikName: 'FVSResidentialAddress',\r\n title: \"Fineholder's residential address\",\r\n },\r\n noFixedAddress: {\r\n formikName: 'NoFixedAddress',\r\n title: \"Select if they don't have a fixed address\",\r\n },\r\n noResidentialAddress: {\r\n formikName: 'NoResidentialAddress',\r\n title: 'Select if you / they would prefer not to provide their residential address',\r\n },\r\n deliveryAddressType: {\r\n formikName: 'DeliveryAddressType',\r\n title: 'We need to send some information by post regarding the application. Please indicate the safest and preferred address for receiving correspondence.',\r\n },\r\n postalAddress: {\r\n formikName: 'FVSPostalAddress',\r\n title: 'Postal address',\r\n },\r\n noPostalAddress: {\r\n formikName: 'NoSafePostalAddress',\r\n title: \"Select if you don't have a safe postal address\",\r\n },\r\n isEmailRequired: {\r\n formikName: 'IsEmailRequired',\r\n title: 'Is it safe to email them about their application?',\r\n },\r\n noEmail: {\r\n formikName: 'NoEmail',\r\n title: 'Select if they do not have an email address',\r\n },\r\n email: {\r\n formikName: 'Email',\r\n title: 'Email',\r\n },\r\n sendEmailCopy: {\r\n formikName: 'SendEmailCopy',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n phoneApplicant: {\r\n formikName: 'PhoneApplicant',\r\n title: 'Is it safe to phone them to discuss their application? \\n\\r It might help determine their application quickly if we can speak with them over the phone about it.',\r\n },\r\n individualContactNumber: {\r\n formikName: 'IndividualContactNumber',\r\n title: 'Contact number',\r\n },\r\n safestContactTime: {\r\n formikName: 'SafestContactTime',\r\n title: 'What are the safest days and times to phone?',\r\n },\r\n phoneMessagePrompt: {\r\n formikName: 'PhoneMessagePrompt',\r\n title: 'Can we leave a phone message on this number?',\r\n },\r\n interpreterRequiredPrompt: {\r\n formikName: 'InterpreterRequiredPrompt',\r\n title: 'Do they need an interpreter to assist you if we phone them?',\r\n },\r\n alternativeLanguage: {\r\n formikName: 'AlternativeLanguage',\r\n title: 'Which language?',\r\n },\r\n },\r\n },\r\n step6: {\r\n pageTitle: 'Your details',\r\n pageSubtitle: 'We will not share any information with the perpetrator of the family violence.',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNames',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyName',\r\n title: 'Family name',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOB',\r\n title: 'Date of birth',\r\n },\r\n driverLicence: {\r\n formikName: 'DRIVER_LICENCE',\r\n title: 'Driver licence number',\r\n },\r\n residentialAddress: {\r\n formikName: 'FVSResidentialAddress',\r\n title: 'Residential address',\r\n },\r\n noFixedAddress: {\r\n formikName: 'NoFixedAddress',\r\n title: \"Select if you don't have a fixed address\",\r\n },\r\n noResidentialAddress: {\r\n formikName: 'NoResidentialAddress',\r\n title: 'Select if you would prefer not to provide your residential address',\r\n },\r\n deliveryAddressType: {\r\n formikName: 'DeliveryAddressType',\r\n title: 'We need to send some information by post regarding the application. Please indicate the safest and preferred address for receiving correspondence.',\r\n },\r\n postalAddress: {\r\n formikName: 'FVSPostalAddress',\r\n title: 'Postal address - Safest address for receiving correspondence.\\nThis could be a PO Box or address of a friend, relative.',\r\n },\r\n noPostalAddress: {\r\n formikName: 'NoSafePostalAddress',\r\n title: \"Select if you don't have a safe postal address\",\r\n },\r\n isEmailRequired: {\r\n formikName: 'IsEmailRequired',\r\n title: 'Is it safe to email you about your application?',\r\n },\r\n noEmail: {\r\n formikName: 'NoEmail',\r\n title: 'Select if you do not have an email address',\r\n },\r\n email: {\r\n formikName: 'Email',\r\n title: 'Email',\r\n },\r\n sendEmailCopy: {\r\n formikName: 'SendEmailCopy',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n phoneApplicant: {\r\n formikName: 'PhoneApplicant',\r\n title: 'Is it safe to phone you to discuss your application? \\n\\r It might help determine your application quickly if we can speak with you over the phone about it.',\r\n },\r\n individualContactNumber: {\r\n formikName: 'IndividualContactNumber',\r\n title: 'Contact number',\r\n },\r\n safestContactTime: {\r\n formikName: 'SafestContactTime',\r\n title: 'What are the safest days and times to phone?',\r\n },\r\n phoneMessagePrompt: {\r\n formikName: 'PhoneMessagePrompt',\r\n title: 'Can we leave a phone message on this number?',\r\n },\r\n interpreterRequiredPrompt: {\r\n formikName: 'InterpreterRequiredPrompt',\r\n title: 'Do you need an interpreter to assist you if we phone you?',\r\n },\r\n alternativeLanguage: {\r\n formikName: 'AlternativeLanguage',\r\n title: 'Which language?',\r\n },\r\n },\r\n },\r\n },\r\n /* Page type: Reason for application - Step 12 and 21 */\r\n supportingDocuments: {\r\n step12: {\r\n pageTitle: 'Supporting documents',\r\n fields: {\r\n isUnableToObtainADoc: {\r\n formikName: 'UnableToObtainAdoc',\r\n title: 'I do not have a document prepared by a relevant authority or professional',\r\n },\r\n },\r\n },\r\n step21: {\r\n pageTitle: 'Supporting documents',\r\n fields: {\r\n isUnableToObtainADoc: {\r\n formikName: 'UnableToObtainAdoc',\r\n title: 'I do not have a document prepared by a relevant authority or professional',\r\n },\r\n },\r\n },\r\n },\r\n /* Page type: Reason for application - Step 13 and 22 */\r\n applicationReasons: {\r\n step13: {\r\n pageTitle: 'Reasons for application',\r\n // pageSubtitle: 'Use this section to describe why you think you’re eligible for the family violence scheme.',\r\n fields: {\r\n reason: {\r\n formikName: 'ReasonForApplication',\r\n title: 'Please describe your reason',\r\n },\r\n },\r\n },\r\n step22: {\r\n pageTitle: 'Reasons for application',\r\n // pageSubtitle: 'Use this section to describe why you think you’re eligible for the family violence scheme.',\r\n fields: {\r\n reason: {\r\n formikName: 'ReasonForApplication',\r\n title: 'Please describe your reason',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n};\r\n\r\nexport const infringementExtensionContactInfoDisplayObject: iContactInfoDisplay = {\r\n mode: INFRINGEMENTEXTENSION,\r\n fields: {\r\n givenName: {\r\n formikName: 'IndividualGivenName',\r\n title: 'Given name(s)'\r\n },\r\n familyName: {\r\n formikName: 'IndividualFamilyName',\r\n title: 'Family name (Surname)'\r\n },\r\n isFirstNations: {\r\n formikName: 'isFirstNations',\r\n title: 'Do you identify as Aboriginal and/or Torres Strait Islander?'\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOB',\r\n title: 'Date of birth'\r\n },\r\n driverLicence: {\r\n formikName: 'DRIVER_LICENCE',\r\n title: 'Driver licence number',\r\n },\r\n address: {\r\n formikName: 'IndividualResidentialAddress',\r\n title: 'Residential address',\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'IndividualHasDifferentPostalAddress',\r\n title: 'Is your postal address different to your residential address?',\r\n },\r\n postalAddress: {\r\n formikName: 'IndividualPostalAddress',\r\n title: 'Postal address',\r\n },\r\n contactNumber: {\r\n formikName: 'IndividualContactNumber',\r\n },\r\n noEmailAddress: {\r\n formikName: 'IndividualHasNoEmail',\r\n },\r\n emailAddress: {\r\n formikName: 'IndividualEmail',\r\n },\r\n emailTo: {\r\n formikName: 'IndividualEmailTo',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n receiveDocs: {\r\n formikName: 'IndividualReceiveDocs',\r\n title: 'Do you consent to receiving correspondence about this application electronically?',\r\n }\r\n },\r\n};\r\n\r\n// Infringement Extension -- Company Details Fields\r\nexport const infringementExtensionCompanyInfoDisplayObject: iContactInfoDisplay = {\r\n mode: INFRINGEMENTEXTENSION,\r\n fields: {\r\n givenName: {\r\n formikName: 'CompanyGivenName',\r\n title: 'Given name(s)'\r\n },\r\n familyName: {\r\n formikName: 'CompanyFamilyName',\r\n title: 'Family name (Surname)'\r\n },\r\n companyPosition: {\r\n formikName: 'PositionInCompany',\r\n title: 'Position in company'\r\n },\r\n contactNumber: {\r\n formikName: 'CompanyContactNumber',\r\n },\r\n noEmailAddress: {\r\n formikName: 'CompanyHasNoEmail',\r\n },\r\n emailAddress: {\r\n formikName: 'CompanyEmail',\r\n },\r\n emailTo: {\r\n formikName: 'CompanyEmailTo',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n receiveDocs: {\r\n formikName: 'CompanyReceiveDocs',\r\n title: 'Do you consent to receiving correspondence about this application electronically?',\r\n },\r\n companyName: {\r\n formikName: 'CompanyName',\r\n title: 'Company name',\r\n },\r\n ABNACNType: {\r\n formikName: 'AbnOrAcnType',\r\n title: 'Please enter your ABN or ACN below',\r\n },\r\n ABNNo: {\r\n formikName: 'AbnNo',\r\n title: 'ABN',\r\n },\r\n ACNNo: {\r\n formikName: 'AcnNo',\r\n title: 'ACN',\r\n },\r\n companyAddress: {\r\n formikName: 'CompanyStreetAddress',\r\n title: \"Company's street address\",\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'CompanyHasDifferentPostalAddress',\r\n title: \"Is the postal address different to your company's street address?\",\r\n },\r\n postalAddress: {\r\n formikName: 'CompanyPostalAddress',\r\n title: 'Postal address',\r\n },\r\n },\r\n};\r\n\r\nexport const NominationInfoDisplayObject: iNominationInfoDisplay = {\r\n mode: NOMINATION,\r\n pages: {\r\n /* Page Type: Victim Information - Step 6 and Step 15 */\r\n personalContactInformation: {\r\n step6: {\r\n pageTitle: '',\r\n pageSubtitle: '',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNamesSomeoneElse',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyNameSomeoneElse',\r\n title: 'Family name',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOBSomeoneElse',\r\n title: 'Date of birth',\r\n },\r\n dateOfBirthYesNo: {\r\n formikName: 'DOBYesNoSomeoneElse',\r\n title: 'Select if you do not know their date of birth',\r\n },\r\n driverLicence: {\r\n formikName: 'DriverLicenseSomeoneElse',\r\n title: 'Licence number',\r\n },\r\n licenceState: {\r\n formikName: 'LicenceStateSomeoneElse',\r\n title: '',\r\n },\r\n statecountryOfIssue: {\r\n formikName: 'StatecountryOfIssueSomeoneElse',\r\n title: '',\r\n },\r\n noDriverLicence: {\r\n formikName: 'NoDriverLicenseSomeoneElse',\r\n title: \"Select if you don't know their licence details\",\r\n },\r\n taxiDriverAccNumber: {\r\n formikName: 'TaxDriverAccNumber',\r\n title: 'Taxi driver accreditation number - required where vehicle is a taxi',\r\n },\r\n residentialAddress: {\r\n formikName: 'ResidentialAddressSomeoneElse',\r\n title: 'Residential address',\r\n },\r\n noResidentialAddress: {\r\n formikName: 'NoResidentialAddressSomeoneElse',\r\n title: 'Select if you / they would prefer not to provide their residential address',\r\n },\r\n noEmail: {\r\n formikName: 'NoEmailSomeoneElse',\r\n title: 'Select if you do not know their email address',\r\n },\r\n email: {\r\n formikName: 'EmailSomeoneElse',\r\n title: 'Email address',\r\n },\r\n individualContactNumber: {\r\n formikName: 'IndividualContactNumberSomeoneElse',\r\n title: 'Contact number',\r\n },\r\n noContactNumber: {\r\n formikName: 'NoContactNumberSomeoneElse',\r\n title: 'Select if you do not know their phone number',\r\n },\r\n },\r\n },\r\n step7: {\r\n pageTitle: '',\r\n pageSubtitle: '',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNamesSoldDisposed',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyNameSoldDisposed',\r\n title: 'Family name',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOBSoldDisposed',\r\n title: 'Date of birth',\r\n },\r\n dateOfBirthYesNo: {\r\n formikName: 'DOBYesNoSoldDisposed',\r\n title: 'Select if you do not know their date of birth',\r\n },\r\n driverLicence: {\r\n formikName: 'DriverLicenseSoldDisposed',\r\n title: 'Licence number',\r\n },\r\n licenceState: {\r\n formikName: 'LicenceStateSoldDisposed',\r\n title: '',\r\n },\r\n statecountryOfIssue: {\r\n formikName: 'StatecountryOfIssueSoldDisposed',\r\n title: '',\r\n },\r\n noDriverLicence: {\r\n formikName: 'NoDriverLicenseSoldDisposed',\r\n title: 'Select if you do not know their licence details',\r\n },\r\n residentialAddress: {\r\n formikName: 'ResidentialAddressSoldDisposed',\r\n title: 'Residential address',\r\n },\r\n noResidentialAddress: {\r\n formikName: 'NoResidentialAddressSoldDisposed',\r\n title: 'Select if you / they would prefer not to provide their residential address',\r\n },\r\n noEmail: {\r\n formikName: 'NoEmailSoldDisposed',\r\n title: 'Select if you do not know their email address',\r\n },\r\n email: {\r\n formikName: 'EmailSoldDisposed',\r\n title: 'Email address',\r\n },\r\n individualContactNumber: {\r\n formikName: 'IndividualContactNumberSoldDisposed',\r\n title: 'Contact number',\r\n },\r\n noContactNumber: {\r\n formikName: 'NoContactNumberSoldDisposed',\r\n title: 'Select if you do not know their contact phone number',\r\n },\r\n },\r\n },\r\n step11: {\r\n pageTitle: '',\r\n pageSubtitle: '',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNamesYourDetails',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyNameYourDetails',\r\n title: 'Family name',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOBYourDetails',\r\n title: 'Date of birth',\r\n },\r\n driverLicence: {\r\n formikName: 'DRIVER_LICENCE',\r\n title: 'Licence number',\r\n },\r\n licenceState: {\r\n formikName: 'LicenceStateYourDetails',\r\n title: '',\r\n },\r\n statecountryOfIssue: {\r\n formikName: 'StatecountryOfIssueYourDetails',\r\n title: '',\r\n },\r\n noDriverLicence: {\r\n formikName: 'NoDriverLicenseYourDetails',\r\n title: 'Select if you do not hold a current driver licence',\r\n },\r\n postalAddress: {\r\n formikName: 'IndividualPostalAddressYourDetails',\r\n title: 'Postal address',\r\n },\r\n differentToPostal: {\r\n formikName: 'DifferentToPostalYourDetails',\r\n title: 'Is your residential address different to your postal address?',\r\n },\r\n residentialAddress: {\r\n formikName: 'ResidentialAddressYourDetails',\r\n title: 'Residential address',\r\n },\r\n noEmail: {\r\n formikName: 'NoEmailYourDetails',\r\n title: 'Select if you do not have an email address',\r\n },\r\n email: {\r\n formikName: 'EmailYourDetails',\r\n title: 'Email address',\r\n },\r\n individualContactNumber: {\r\n formikName: 'IndividualContactNumberYourDetails',\r\n title: 'Contact number',\r\n },\r\n noContactNumber: {\r\n formikName: 'NoContactNumberYourDetails',\r\n title: 'Select if you do not have a contact phone number',\r\n },\r\n },\r\n },\r\n },\r\n companyContactInformation: {\r\n step6: {\r\n pageTitle: '',\r\n pageSubtitle: '',\r\n fields: {\r\n companyName: {\r\n formikName: 'CompanyNameSomeoneElse',\r\n title: 'Company name',\r\n },\r\n abnacnType: {\r\n formikName: 'AbnacnTypeSomeoneElse',\r\n title: 'ACN or ABN (an ACN is preferred)',\r\n },\r\n acnNo: {\r\n formikName: 'AcnNoSomeoneElse',\r\n title: 'Enter the ACN number',\r\n },\r\n isACNValid: {\r\n formikName: 'isACNValidSomeoneElse',\r\n title: '',\r\n },\r\n abnNo: {\r\n formikName: 'AbnNoSomeoneElse',\r\n title: 'Enter the ABN number',\r\n },\r\n isABNValid: {\r\n formikName: 'isABNValidSomeoneElse',\r\n title: '',\r\n },\r\n companyStreetAddress: {\r\n formikName: 'CompanyStreetAddressSomeoneElse',\r\n title: 'Street address',\r\n },\r\n organisationContactNumber: {\r\n formikName: 'OrganisationContactNumberSomeoneElse',\r\n title: 'Contact phone number',\r\n },\r\n noContactNumber: {\r\n formikName: 'NoOrgContactNumberSomeoneElse',\r\n title: 'Select if you do not know the phone number',\r\n },\r\n emailAddress: {\r\n formikName: 'CompanyEmailSomeOneElse',\r\n title: 'Email address',\r\n },\r\n emailAddressYesNo: {\r\n formikName: 'CompanyEmailYesNoSomeOneElse',\r\n title: 'Select if you do not know the email address',\r\n },\r\n },\r\n },\r\n step7: {\r\n pageTitle: '',\r\n pageSubtitle: '',\r\n fields: {\r\n companyName: {\r\n formikName: 'CompanyNameSoldDisposed',\r\n title: 'Company name',\r\n },\r\n abnacnType: {\r\n formikName: 'AbnacnTypeSoldDisposed',\r\n title: 'ACN or ABN (an ACN is preferred)',\r\n },\r\n acnNo: {\r\n formikName: 'AcnNoSoldDisposed',\r\n title: 'Enter the ACN number',\r\n },\r\n isACNValid: {\r\n formikName: 'isACNValidSoldDisposed',\r\n title: '',\r\n },\r\n organisationContactNumberYesNo: {\r\n formikName: 'OrganisationContactNumberYesNoSoldDisposed',\r\n title: 'Select if you do not know the phone number',\r\n },\r\n abnNo: {\r\n formikName: 'AbnNoSoldDisposed',\r\n title: 'Enter the ABN number',\r\n },\r\n isABNValid: {\r\n formikName: 'isABNValidSoldDisposed',\r\n title: '',\r\n },\r\n companyStreetAddress: {\r\n formikName: 'CompanyStreetAddressSoldDisposed',\r\n title: 'Street address',\r\n },\r\n organisationContactNumber: {\r\n formikName: 'OrganisationContactNumberSoldDisposed',\r\n title: 'Contact phone number',\r\n },\r\n noContactNumber: {\r\n formikName: 'NoOrgContactNumberSoldDisposed',\r\n title: 'Select if you do not know the phone number',\r\n },\r\n emailAddress: {\r\n formikName: 'CompanyEmailSoldDisposed',\r\n title: 'Email address',\r\n },\r\n emailAddressYesNo: {\r\n formikName: 'CompanyEmailYesNoSoldDisposed',\r\n title: 'Select if you do not know the email address',\r\n },\r\n },\r\n },\r\n step11: {\r\n pageTitle: '',\r\n pageSubtitle: '',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNamesYourDetailsCompany',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyNameYourDetailsCompany',\r\n title: 'Family name',\r\n },\r\n positionInCompany: {\r\n formikName: 'PositionInCompanyYourDetailsCompany',\r\n title: 'Position in company',\r\n },\r\n organisationContactNumber: {\r\n formikName: 'OrganisationContactNumberYourDetailsCompany',\r\n title: 'Contact phone number',\r\n },\r\n noContactNumber: {\r\n formikName: 'NoOrgContactNumberYourDetails',\r\n title: 'Select if you do not know the phone number',\r\n },\r\n emailAddress: {\r\n formikName: 'CompanyEmailYourDetails',\r\n title: 'Email address',\r\n },\r\n emailAddressYesNo: {\r\n formikName: 'CompanyEmailYesNoYourDetails',\r\n title: 'Select if you do not have an email address',\r\n },\r\n companyName: {\r\n formikName: 'CompanyNameYourDetailsCompany',\r\n title: 'Company name',\r\n },\r\n abnacnType: {\r\n formikName: 'AbnacnTypeYourDetails',\r\n title: 'ACN or ABN (an ACN is preferred)',\r\n },\r\n acnNo: {\r\n formikName: 'AcnNoYourDetails',\r\n title: 'Enter the ACN number',\r\n },\r\n isACNValid: {\r\n formikName: 'isACNValidYourDetails',\r\n title: '',\r\n },\r\n organisationContactNumberYesNo: {\r\n formikName: 'OrganisationContactNumberYesNoYourDetails',\r\n title: 'Select if you do not know the phone number',\r\n },\r\n abnNo: {\r\n formikName: 'AbnNoYourDetails',\r\n title: 'Enter the ABN number',\r\n },\r\n isABNValid: {\r\n formikName: 'isABNValidYourDetails',\r\n title: '',\r\n },\r\n companyStreetAddress: {\r\n formikName: 'CompanyStreetAddressYourDetails',\r\n title: \"Company's street address\",\r\n },\r\n differentToStreetAddress: {\r\n formikName: 'DifferentToStreetAddressYourDetails',\r\n title: 'Is the postal address different to the street address?',\r\n },\r\n companyPostalAddress: {\r\n formikName: 'CompanyPostalAddressYourDetails',\r\n title: \"Company's postal address\",\r\n },\r\n },\r\n },\r\n }\r\n },\r\n};\r\n\r\nexport const instalmentContactInfoDisplayObject: iContactInfoDisplay = {\r\n mode: INSTALMENT,\r\n fields: {\r\n givenName: {\r\n formikName: 'IndividualGivenName',\r\n title: 'Given name(s)'\r\n },\r\n familyName: {\r\n formikName: 'IndividualFamilyName',\r\n title: 'Family name'\r\n },\r\n isFirstNations: {\r\n formikName: 'isFirstNations',\r\n title: 'Do you identify as Aboriginal and/or Torres Strait Islander?'\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOB',\r\n title: 'Date of birth'\r\n },\r\n driverLicence: {\r\n formikName: 'DRIVER_LICENCE',\r\n title: 'Driver licence number',\r\n },\r\n address: {\r\n formikName: 'IndividualPostalAddress',\r\n title: 'Postal address',\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'IndividualHasDifferentResidentialAddress',\r\n title: 'Is your residential address different to your postal address?',\r\n },\r\n postalAddress: {\r\n formikName: 'IndividualResidentialAddress',\r\n title: 'Residential address',\r\n },\r\n contactNumber: {\r\n formikName: 'IndividualContactNumber',\r\n },\r\n noEmailAddress: {\r\n formikName: 'IndividualHasNoEmail',\r\n },\r\n emailAddress: {\r\n formikName: 'IndividualEmail',\r\n },\r\n emailTo: {\r\n formikName: 'IndividualEmailTo',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n receiveDocs: {\r\n formikName: 'IndividualReceiveDocs',\r\n title: 'Do you consent to receiving correspondence about this application via email?',\r\n }\r\n },\r\n};\r\n\r\n// Instalment -- Company Details Fields\r\nexport const instalmentCompanyInfoDisplayObject: iContactInfoDisplay = {\r\n mode: INSTALMENT,\r\n fields: {\r\n givenName: {\r\n formikName: 'CompanyGivenName',\r\n title: 'Given name(s)'\r\n },\r\n familyName: {\r\n formikName: 'CompanyFamilyName',\r\n title: 'Family name'\r\n },\r\n companyPosition: {\r\n formikName: 'PositionInCompany',\r\n title: 'Position in company'\r\n },\r\n contactNumber: {\r\n formikName: 'CompanyContactNumber',\r\n },\r\n noEmailAddress: {\r\n formikName: 'CompanyHasNoEmail',\r\n },\r\n emailAddress: {\r\n formikName: 'CompanyEmail',\r\n },\r\n emailTo: {\r\n formikName: 'CompanyEmailTo',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n receiveDocs: {\r\n formikName: 'CompanyReceiveDocs',\r\n title: 'Do you consent to receiving correspondence about this application via email?',\r\n },\r\n companyName: {\r\n formikName: 'CompanyName',\r\n title: 'Company name',\r\n },\r\n ABNACNType: {\r\n formikName: 'AbnOrAcnType',\r\n title: 'Please enter your ACN or ABN below',\r\n },\r\n ABNNo: {\r\n formikName: 'AbnNo',\r\n title: 'ABN',\r\n },\r\n ACNNo: {\r\n formikName: 'AcnNo',\r\n title: 'ACN',\r\n },\r\n companyAddress: {\r\n formikName: 'CompanyStreetAddress',\r\n title: \"Company's street address\",\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'CompanyHasDifferentPostalAddress',\r\n title: \"Is the postal address different to your company's street address?\",\r\n },\r\n postalAddress: {\r\n formikName: 'CompanyPostalAddress',\r\n title: 'Postal address',\r\n },\r\n },\r\n};\r\n\r\nexport const reviewInfoDisplayObject: iReviewInfoDisplay = { // TODO - remove this if not required\r\n mode: REVIEW,\r\n pages: {\r\n IndividualContactInformation: {\r\n pageTitle: 'Your details',\r\n pageSubtitle: 'All fields are required unless specified otherwise',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNamesYourDetailsIndividual',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyNameYourDetailsIndividual',\r\n title: 'Family name',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOBYourDetailsIndividual',\r\n title: 'Date of birth',\r\n },\r\n driverLicence: {\r\n formikName: 'DRIVER_LICENCE',\r\n title: 'Driver licence number',\r\n },\r\n licenceState: {\r\n formikName: 'StateOfIssueYourDetailsIndividual',\r\n title: '',\r\n },\r\n countryOfIssue: {\r\n formikName: 'PlaceOfIssueYourDetailsIndividual',\r\n title: '',\r\n },\r\n noDriverLicence: {\r\n formikName: 'YesNoDriverLicenceYourDetailsIndividual',\r\n title: 'Select if you do not have a current driver licence',\r\n },\r\n postalAddress: {\r\n formikName: 'PostalAddressYourDetailsIndividual',\r\n title: 'Postal address',\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'DifferentToPostalYourDetailsIndividual',\r\n title: 'Is your residential address different to your postal address?',\r\n },\r\n residentialAddress: {\r\n formikName: 'ResidentialAddressYourDetailsIndividual',\r\n title: 'Residential address',\r\n },\r\n contactNumber: {\r\n formikName: 'ContactNumberYourDetailsIndividual',\r\n title: '',\r\n },\r\n emailAddress: {\r\n formikName: 'EmailYourDetailsIndividual',\r\n title: '',\r\n },\r\n noEmail: {\r\n formikName: 'YesNoEmailYourDetailsIndividual',\r\n title: 'Select if you do not have an email address',\r\n },\r\n receiveApplication: {\r\n formikName: 'ReceiveApplicationViaEmailYourDetailsIndividual',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n receiveCorrespondence: {\r\n formikName: 'ReceiveCorrespondenceViaEmailYourDetailsIndividual',\r\n title: 'Do you consent to receiving correspondence about this application via email?',\r\n },\r\n }\r\n },\r\n CompanyContactInformation: {\r\n pageTitle: 'Your details (company representative)',\r\n pageSubtitle: '',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNamesYourDetailsCompany',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyNameYourDetailsCompany',\r\n title: 'Family name',\r\n },\r\n positionInCompany: {\r\n formikName: 'PositionInCompanyYourDetailsCompany',\r\n title: 'Position in company',\r\n },\r\n companyName: {\r\n formikName: 'CompanyNameYourDetailsCompany',\r\n title: 'Company name',\r\n },\r\n acnAbnType: {\r\n formikName: 'AbnAcnTypeYourDetailsCompany',\r\n title: 'ACN or ABN (an ACN is preferred)',\r\n },\r\n abnNumber: {\r\n formikName: 'ABNYourDetailsCompany',\r\n title: 'Enter the ACN/ABN number',\r\n },\r\n isABNValid: {\r\n formikName: 'isABNValidYourDetails',\r\n title: '',\r\n },\r\n acnNumber: {\r\n formikName: 'ACNYourDetailsCompany',\r\n title: 'Enter the ACN/ABN number',\r\n },\r\n isACNValid: {\r\n formikName: 'isACNValidYourDetails',\r\n title: '',\r\n },\r\n postalAddress: {\r\n formikName: 'PostalAddressYourDetailsCompany',\r\n title: 'Postal address',\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'DifferentToPostalYourDetailsCompany',\r\n title: 'Is the street address different to the postal address?',\r\n },\r\n streetAddress: {\r\n formikName: 'StreetAddressYourDetailsCompany',\r\n title: 'Street address',\r\n },\r\n contactNumber: {\r\n formikName: 'ContactNumberYourDetailsCompany',\r\n title: '',\r\n },\r\n emailAddress: {\r\n formikName: 'EmailYourDetailsCompany',\r\n title: '',\r\n },\r\n noEmail: {\r\n formikName: 'YesNoEmailYourDetailsCompany',\r\n title: 'Select if you do not have an email address',\r\n },\r\n }\r\n },\r\n FineholderContactInformation: {\r\n pageTitle: 'Fineholder details',\r\n pageSubtitle: '',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNamesFineholderDetails',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyNameFineholderDetails',\r\n title: 'Family name',\r\n },\r\n dateOfBirth: {\r\n formikName: 'DOBFineholderDetails',\r\n title: 'Date of birth',\r\n },\r\n driverLicence: {\r\n formikName: 'DRIVER_LICENCE',\r\n title: 'Driver licence number',\r\n },\r\n licenceState: {\r\n formikName: 'StateOfIssueFineholderDetails',\r\n title: '',\r\n },\r\n countryOfIssue: {\r\n formikName: 'PlaceOfIssueFineholderDetails',\r\n title: '',\r\n },\r\n noDriverLicence: {\r\n formikName: 'YesNoDriverLicenceFineholderDetails',\r\n title: 'Select if you do not have a current driver licence',\r\n },\r\n postalAddress: {\r\n formikName: 'PostalAddressFineholderDetails',\r\n title: 'Postal address',\r\n },\r\n isAddressSameAsPostal: {\r\n formikName: 'DifferentToPostalFineholderDetails',\r\n title: \"Is the fineholder's residential address different to their postal address?\",\r\n },\r\n residentialAddress: {\r\n formikName: 'ResidentialAddressFineholderDetails',\r\n title: 'Residential address',\r\n },\r\n contactNumber: {\r\n formikName: 'ContactNumberFineholderDetails',\r\n title: '',\r\n },\r\n emailAddress: {\r\n formikName: 'EmailFineholderDetails',\r\n title: '',\r\n },\r\n noEmail: {\r\n formikName: 'YesNoEmailFineholderDetails',\r\n title: 'Select if you do not have an email address',\r\n },\r\n }\r\n },\r\n ThirdPartyRepContactInformation: {\r\n pageTitle: 'Your details (authorised representative)',\r\n pageSubtitle: '',\r\n fields: {\r\n givenName: {\r\n formikName: 'GivenNamesYourDetailsThirdParty',\r\n title: 'Given name(s)',\r\n },\r\n familyName: {\r\n formikName: 'FamilyNameYourDetailsThirdParty',\r\n title: 'Family name',\r\n },\r\n relationshipToFineholder: {\r\n formikName: 'RelationshipWithNamedPersonYourDetailsThirdParty',\r\n title: 'Your relationship to the person who received the fine (for example, family member, legal representative, support worker)',\r\n },\r\n organisationName: {\r\n formikName: 'OrganisationNameYourDetailsThirdParty',\r\n title: 'Organisation name (if applicable)',\r\n },\r\n postalAddress: {\r\n formikName: 'PostalAddressYourDetailsThirdParty',\r\n title: 'Postal address',\r\n },\r\n contactNumber: {\r\n formikName: 'ContactNumberYourDetailsThirdParty',\r\n title: '',\r\n },\r\n emailAddress: {\r\n formikName: 'EmailYourDetailsThirdParty',\r\n title: '',\r\n },\r\n noEmail: {\r\n formikName: 'YesNoEmailYourDetailsThirdParty',\r\n title: 'Select if you do not have an email address',\r\n },\r\n receiveApplication: {\r\n formikName: 'ReceiveApplicationViaEmailYourDetailsThirdParty',\r\n title: 'Would you like to receive a copy of the completed application at the email address provided?',\r\n },\r\n receiveCorrespondence: {\r\n formikName: 'CorrespondenceRecipientYourDetailsThirdParty',\r\n title: 'Where would you like us to send correspondence about this application?',\r\n },\r\n }\r\n },\r\n }\r\n};\r\n","import { ReactElement } from 'react';\r\nimport ContactInformation from '@components/ContactInformation/ContactInformation';\r\nimport { tpContactInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction TPStep4(): ReactElement {\r\n const currentSp = 'I do not have an email address';\r\n return ;\r\n}\r\n\r\nexport default TPStep4;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { getSummaryScreen, iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport { Summary } from '@components';\r\n\r\nfunction TPStep5(): ReactElement {\r\n const { values }: { values: iThirdPartyFormValues } = useFormikContext();\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default TPStep5;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement } from 'react';\r\nimport { Field } from 'formik';\r\nimport { CheckboxInput } from '@components';\r\nimport styles from './TPStep6.module.scss';\r\n\r\nfunction TPStep6(): ReactElement {\r\n return (\r\n
\r\n
Declaration
\r\n

I declare that the information I have supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that it is my responsibility to ensure that the person I nominate is aware of what I am allowing them to do and any limitations I place on this authority.

\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default TPStep6;\r\n","import { ReactElement, useState } from 'react';\r\nimport { Button } from '@components';\r\nimport { FormType } from '@constants';\r\nimport styles from './FormSubmissionSuccessAlertContent.module.scss';\r\n\r\ninterface formSubmissionSuccessAlertContent {\r\n submissionNumberAlertInfo: string;\r\n email: string;\r\n hasEmailCopy: string;\r\n formType?: string;\r\n}\r\n\r\nconst FormSubmissionSuccessAlertContent = ({ submissionNumberAlertInfo, email, hasEmailCopy, formType }: formSubmissionSuccessAlertContent): ReactElement => {\r\n const [isCopied, setIsCopied] = useState('Copy');\r\n // utility function to copy text\r\n const copyToClipboard = (text: string) => {\r\n const textarea = document.createElement('textarea');\r\n textarea.innerText = text;\r\n document.body.appendChild(textarea);\r\n textarea.select();\r\n document.execCommand('copy');\r\n textarea.remove();\r\n setIsCopied('Copied');\r\n };\r\n\r\n return (\r\n
\r\n
\r\n { formType === FormType.FAMILYVIOLENCESCHEME\r\n ? (The main obligation number you used to submit this application is:)\r\n : (Your submission number is:)}\r\n
\r\n
\r\n
\r\n {` ${submissionNumberAlertInfo} `}\r\n \r\n
\r\n
\r\n { formType === FormType.FAMILYVIOLENCESCHEME\r\n ? (\r\n <>\r\n

If you need to contact us, you can mention this number. We will send you confirmation that we’ve received your application by post or email.

\r\n
\r\n

If you included other obligation numbers in your application, we will consider these also.

\r\n \r\n )\r\n : (

Please make a note for your records.

)}\r\n
\r\n {hasEmailCopy === 'true' && (\r\n <>\r\n

\r\n A copy of your completed application has been emailed to\r\n {` ${email}.`}\r\n

\r\n
\r\n

If you don't receive it, please check your junk mail/spam folder.

\r\n \r\n )}\r\n
\r\n );\r\n};\r\nFormSubmissionSuccessAlertContent.defaultProps = {\r\n formType: '',\r\n};\r\n\r\nexport default FormSubmissionSuccessAlertContent;\r\n","export default __webpack_public_path__ + \"static/media/done.f0a2986a.svg\";","/* eslint-disable import/no-extraneous-dependencies */\r\nimport { ReactElement, useEffect } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Alert } from '@components';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport FormSubmissionSuccessAlertContent from '@components/Content/AlertContent/FormSubmissionSuccessAlertContent';\r\nimport DoneIcon from '../../../images/done.svg';\r\nimport styles from './TPStep7.module.scss';\r\n\r\nfunction TPStep7(): ReactElement {\r\n const { values }: { values: iThirdPartyFormValues } = useFormikContext();\r\n const { resetForm }: { resetForm: any } = useFormikContext();\r\n const emailAddress = values.EmailAddressOptionalThree;\r\n const submissionNumber = values.submissionNo;\r\n const sendEmailCopy = values.EMAIL_TO;\r\n\r\n useEffect(() => {\r\n const handlePopstate = () => {\r\n // Check if the back button is clicked\r\n resetForm();\r\n };\r\n window.addEventListener('popstate', handlePopstate);\r\n return () => {\r\n window.removeEventListener('popstate', handlePopstate);\r\n };\r\n }, []);\r\n\r\n return (\r\n
\r\n
Your application has been submitted
\r\n }\r\n icon={DoneIcon}\r\n theme=\"success\"\r\n color=\"green\"\r\n />\r\n
\r\n

Once your application is processed, your nominee will be able to act or enquire on your behalf. This may take up to 14 days.

\r\n

\r\n You may revoke this authority at any time by contacting Fines Victoria on \r\n (03) 9200 8111\r\n .\r\n

\r\n Close\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default TPStep7;\r\n","import { ReactElement, useState, useEffect, useRef } from 'react';\r\nimport { Routes, Route, useLocation, useNavigate } from 'react-router-dom';\r\nimport { Formik, Form, FormikProps } from 'formik';\r\nimport { defaultForm, getSubmissionPayload, iThirdPartyFormValues, ThirdPartySchema, thirdPartyMetaData } from '@services/ThirdPartyService';\r\nimport { FormContainer } from '@pages';\r\nimport { FormNavFooter, FormLoading, ProgressBar, Alert } from '@components';\r\nimport { getCountryList, getTooltips } from '@api';\r\nimport { navigateToError, navToError } from '@utils';\r\nimport { iToolTips, iCountry } from '@interfaces/interfaces';\r\nimport ReactGA from 'react-ga';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\nimport ErrorContent from '@components/Content/AlertContent/ErrorContent';\r\nimport { TPStep1, TPStep2, TPStep3, TPStep4, TPStep5, TPStep6, TPStep7, TPErrorPage } from '.';\r\nimport ThirdPartyContext from '../VicFinesFormContext';\r\nimport IssueIcon from '../../../images/issue.svg';\r\nimport styles from './ThirdParty.module.scss';\r\n\r\nfunction ThirdParty(): ReactElement {\r\n const { REACT_APP_SITECORE_API_ENDPOINT: API_URL, REACT_APP_PATH_THIRD_PARTY: PATH_THIRD_PARTY, REACT_APP_RECAPTCHA_SITE_KEY } = process.env;\r\n const [loading, setLoading] = useState(true);\r\n const [countryList, setCountryList] = useState([]);\r\n const [tooltips, setTooltips] = useState({} as iToolTips);\r\n const [activeError, setActiveError] = useState(false);\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const [isCaptchaSuccessful, setIsCaptchaSuccess] = useState(false);\r\n const formikValuesRef = useRef({} as FormikProps);\r\n const handleRecaptchaChange = (response: string | null) => {\r\n // Set the reCAPTCHA response in the state\r\n setIsCaptchaSuccess(true);\r\n formikValuesRef.current.setFieldValue('recaptchaResponse', response || '');\r\n };\r\n\r\n useEffect(() => {\r\n setIsCaptchaSuccess(false);\r\n const fetchData = async (): Promise => {\r\n try {\r\n const [countryResults, tooltipResults] = await Promise.all([getCountryList(), getTooltips()]);\r\n setCountryList(countryResults);\r\n setTooltips(tooltipResults);\r\n setLoading(false);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n fetchData();\r\n }, []);\r\n const formMandatoryFields = [\r\n 'WhatDoesThisAuthorisationCover',\r\n 'WhatFinesDoesThisAuthorisationCover',\r\n 'HowLongWillThisAuthorisationLast',\r\n 'WhoAreYouNominating',\r\n 'IndividualContactNumber',\r\n ];\r\n const formSubmissionValidation = (values: iThirdPartyFormValues): boolean => formMandatoryFields.every((fieldName) => values[fieldName]);\r\n const currentStep = location.pathname === `${PATH_THIRD_PARTY}` ? 'step1' : `${location.pathname.split('/').slice(-1)}`;\r\n const displayErrorsCount = (errorCount: number, touchedFields: number): void => {\r\n if (touchedFields === 0) {\r\n setActiveError(true);\r\n } else if (errorCount > 0) {\r\n setActiveError(true);\r\n } else {\r\n setActiveError(false);\r\n }\r\n };\r\n const submitForm = async (values: iThirdPartyFormValues): Promise => {\r\n setLoading(true);\r\n const submitValidation = formSubmissionValidation(values);\r\n if (!submitValidation) {\r\n setLoading(false);\r\n return false;\r\n }\r\n const submissionNumber = 'SubmissionNumber';\r\n const formSubmission = getSubmissionPayload(values, submissionNumber);\r\n const submitPayload = {\r\n data: JSON.stringify(formSubmission),\r\n obligationNo: values.OBLIGATION_NUMBER\r\n };\r\n\r\n const urlSubmission = `${API_URL}sitecore/ThirdParty/SubmitAuthorisation`;\r\n let submitResponse = false;\r\n submitResponse = await fetch(urlSubmission, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(submitPayload),\r\n })\r\n .then((formSubResponse) => {\r\n if (formSubResponse.status === 200) {\r\n formikValuesRef.current.setFieldValue('submitted', true);\r\n ReactGA.event({\r\n category: 'Third-party Form',\r\n action: 'Submit',\r\n label: 'Submit Third-party Form',\r\n });\r\n return formSubResponse.json();\r\n }\r\n formikValuesRef.current.setFieldValue('submissionError', formSubResponse.statusText);\r\n navToError(navigate, location);\r\n return false;\r\n }).then((response) => {\r\n if (response) {\r\n formikValuesRef.current.setFieldValue('submissionNo', response.receiptNo); // get submission number from API response\r\n return true;\r\n }\r\n return false;\r\n }).catch((error) => {\r\n formikValuesRef.current.setFieldValue('submissionError', error);\r\n navToError(navigate, location);\r\n return false;\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n if (!submitResponse) return false;\r\n return true;\r\n };\r\n return (\r\n {\r\n submitForm(values);\r\n }}>\r\n {({ values }) => (\r\n \r\n \r\n {loading && }\r\n {!loading && (\r\n
\r\n {!location.pathname.includes('error') && }\r\n {activeError && !location.pathname.includes('error') && (\r\n } theme=\"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\n (location.pathname === `${PATH_THIRD_PARTY}/step6`)\r\n && (\r\n setIsCaptchaSuccess(false)}\r\n onErrored={() => setIsCaptchaSuccess(false)}\r\n />\r\n)\r\n }\r\n {!(location.pathname === `${PATH_THIRD_PARTY}/step7` || location.pathname === `${PATH_THIRD_PARTY}/error`) && (\r\n submitForm(values)}\r\n tooltips={tooltips}\r\n displayErrorsCount={displayErrorsCount}\r\n pageValidationKeys={thirdPartyMetaData.pagesSegments[currentStep].validationKeys(values)}\r\n firstPageNo={1}\r\n isDisabled={!isCaptchaSuccessful}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ThirdParty;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable no-nested-ternary */\r\nimport * as Yup from 'yup';\r\nimport { OBLIGATION_REGEX, CONTACT_NUMBER_REGEX, NAME_FIELDS_NEW_REGEX, ORGANISATION_NAME_REGEX, VEHICLE_REGISTRATION_REGEX, FIELDS_WITH_SEPCIFI_CHARS } from '@services/ValidationRules';\r\nimport { iAddress, iContact, iFormMetaData, iSummary, iSummaryField } from '@interfaces/interfaces';\r\nimport { ProgressStep, FormType } from '@constants';\r\nimport { FormikValues } from 'formik';\r\nimport { INVALID_OBLIGATION_NUMBER, INVALID_NUMERIC_FORMAT, INVALID_NAME_FORMAT, EMPTY_DATE, INVALID_FUTURE_DATE, INVALID_PHONE_NUMBER_LENGTH, INVALID_ORG_NAME_FORMAT, INVALID_PHONE_NUMBER, INVALID_VEHICLE_REGISTRATION_NUMBER, INVALID_EMAIL, MISSING_DECLARATION_AGREEMENT, FIELDS_WITH_SEPCIFI_CHARS_MSG } from './ErrorMessages';\r\nimport keys from './PageValidationKeys';\r\n\r\nconst joinAddressFields = (entry: string[]) => {\r\n if (entry[0] === 'Address' || entry[0] === 'SearchText') return null;\r\n if (entry[0] === 'Country') return entry[1];\r\n return entry[1];\r\n};\r\n\r\nexport interface iFormData {\r\n a: string;\r\n user: {\r\n UserType: string;\r\n title: string;\r\n other: string;\r\n givenName: string;\r\n familyName: string;\r\n dateOfBirth: {\r\n day: string;\r\n month: string;\r\n year: string;\r\n };\r\n licence: {\r\n number: string;\r\n state: string;\r\n isInternational: boolean;\r\n country: string;\r\n };\r\n vehicleRegos: [\r\n {\r\n number: string;\r\n },\r\n ];\r\n postalAddress: {\r\n line1: string;\r\n line2: string;\r\n suburb: string;\r\n state: string;\r\n postcode: string;\r\n country: string;\r\n };\r\n email: string;\r\n noEmail: boolean;\r\n residentialAddress: {\r\n hasDifferentResidentialAddress: boolean;\r\n line1: string;\r\n line2: string;\r\n suburb: string;\r\n state: string;\r\n postcode: string;\r\n country: string;\r\n };\r\n primaryContact: {\r\n type: string;\r\n number: string;\r\n minlength: string;\r\n maxlength: string;\r\n };\r\n secondaryContact: {\r\n type: string;\r\n number: string;\r\n };\r\n sendCopyTo: string;\r\n };\r\n company: {\r\n companyPosition: {\r\n position: string;\r\n other: string;\r\n };\r\n companyName: string;\r\n abn: string;\r\n acn: string;\r\n postalAddress: {\r\n line1: string;\r\n line2: string;\r\n suburb: string;\r\n state: string;\r\n postcode: string;\r\n country: string;\r\n };\r\n residentialAddress: {\r\n hasDifferentResidentialAddress: boolean;\r\n line1: string;\r\n line2: string;\r\n suburb: string;\r\n state: string;\r\n postcode: string;\r\n country: string;\r\n };\r\n option: string;\r\n };\r\n sendcopy: boolean;\r\n}\r\n\r\ninterface iObligation {\r\n ID: string;\r\n ObligationNO: string;\r\n IsPrimary: boolean;\r\n}\r\n\r\nexport interface iCommonCourtFormValues {\r\n [key: string]: string | number | boolean | iFormData | iObligation[] | string[] | Date | null | iAddress | iContact;\r\n // Court Step1 Field\r\n OBLIGATION_NUMBER: string;\r\n // Court Step4 response\r\n InfringementNoticeNumber: string;\r\n // ContactInformation Step 5 fields\r\n TitleMrMrsMsMissOther: string;\r\n FamilyName: string;\r\n GivenNames: string;\r\n Email: string;\r\n EMAIL_TO: string;\r\n // step 6 company court variation\r\n PositionOfThePersonWithinTheCompany: string;\r\n CompanyName: string;\r\n AbnacnType: string;\r\n AbnNo: string;\r\n AcnNo: string;\r\n StatecountryOfIssue: string;\r\n}\r\n\r\nexport interface iCourtFormValues extends iCommonCourtFormValues {\r\n // Court Step1 Field\r\n OBLIGATION_NUMBER: string;\r\n // Court Step2 Fields\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n DRIVER_LICENCE: string;\r\n VEHICLE_REGISTRATION: string;\r\n // SetupDebtor response\r\n OffenceDateRequired: boolean;\r\n HearingDateRequired: boolean;\r\n LicenceRequired: boolean;\r\n RegistrationRequired: boolean;\r\n DOBRequired: boolean;\r\n // Court step 3 fields\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n // CheckingExistingForm response\r\n PartialFormID: number;\r\n CheckingExisting: string;\r\n PartialFormExpiryDate: string;\r\n // GetPartialForm response\r\n ID: number;\r\n FormData: iFormData;\r\n Obligations: iObligation[];\r\n // Court Step4 response\r\n InfringementNoticeNumber: string;\r\n Attachments: string[];\r\n DebtorID: number;\r\n FormTypeID: number;\r\n IsSubscribedEM: boolean;\r\n IsSubscribedSMS: boolean;\r\n EMRemeinderSent: boolean;\r\n SMSRemeinderSent: boolean;\r\n CreateDate: string;\r\n ExpiryDate: string;\r\n // Court Step6 Fields\r\n CompanyAddress: iAddress;\r\n HasDifferentCompanyAddress: string;\r\n CompanyPostalAddress: iAddress;\r\n OtherPosition: string;\r\n // GetObligationOptions response\r\n DebtorType: string;\r\n // GetBasicInfo response\r\n SeriousObligation: boolean;\r\n DDD: boolean;\r\n ESI: boolean;\r\n MarineOffence: boolean;\r\n // CreateReceiptNumber response\r\n submissionNo: string;\r\n // ContactInformation Step 5 fields\r\n DOB: Date | null;\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n ResidentialAddress: iAddress;\r\n SummonsAddress: iAddress;\r\n HasDifferentResidentialAddress: string;\r\n CourtContactNumber: iContact;\r\n Email: string;\r\n NoEmail: boolean;\r\n // Court Step 10\r\n declaration: boolean;\r\n intend: string;\r\n submissionError: string;\r\n}\r\n\r\nexport interface iSubmitCourtFormValues extends iCommonCourtFormValues {\r\n YourObligationNumber: string;\r\n IdentifyingReference: string;\r\n TitleMrMrsMsMissOther: string;\r\n GivenNames: string;\r\n FamilyName: string;\r\n DD: string;\r\n MM: string;\r\n YYYY: string;\r\n DriverLicenceNumber: string;\r\n StatecountryOfIssue: string;\r\n CompanyName: string;\r\n AbnacnType: string;\r\n AbnacnNo: string;\r\n PositionOfThePersonWithinTheCompany: string;\r\n Email: string;\r\n ContactNumber: string;\r\n NumberType: string;\r\n SecondaryContactNumber: string;\r\n NumberTypeTwo: string;\r\n LineOne: string;\r\n LineTwo: string;\r\n Suburb: string;\r\n State: string;\r\n Postcode: string;\r\n Country: string;\r\n LineOneTwo: string;\r\n LineTwoTwo: string;\r\n SuburbTwo: string;\r\n StateTwo: string;\r\n PostcodeTwo: string;\r\n CountryTwo: string;\r\n LineOneThree: string;\r\n LineTwoThree: string;\r\n SuburbThree: string;\r\n StateThree: string;\r\n PostcodeThree: string;\r\n CountryThree: string;\r\n LineOneFour: string;\r\n LineTwoFour: string;\r\n SuburbFour: string;\r\n StateFour: string;\r\n PostcodeFour: string;\r\n CountryFour: string;\r\n GroupOneZero: string;\r\n DdTwo: number;\r\n MmTwo: number;\r\n YyyyTwo: number;\r\n YourSignature: string;\r\n EMAIL_TO: string;\r\n Intent: string;\r\n FooterSubmissionNo1: string;\r\n FooterFormType1: string;\r\n FooterObligationNo1: string;\r\n FooterSubmittedTime1: string;\r\n FooterSubmissionNo2: string;\r\n FooterFormType2: string;\r\n FooterObligationNo2: string;\r\n FooterSubmittedTime2: string;\r\n FooterSubmissionNo3: string;\r\n FooterFormType3: string;\r\n FooterObligationNo3: string;\r\n FooterSubmittedTime3: string;\r\n FooterSubmissionNo4: string;\r\n FooterFormType4: string;\r\n FooterObligationNo4: string;\r\n FooterSubmittedTime4: string;\r\n FooterSubmissionNo5: string;\r\n FooterFormType5: string;\r\n FooterObligationNo5: string;\r\n FooterSubmittedTime5: string;\r\n EmailAddressOptional: string;\r\n}\r\n\r\nexport const defaultForm = (): iCourtFormValues => {\r\n const defaultValues: iCourtFormValues = {\r\n // iCommonValues\r\n OBLIGATION_NUMBER: '',\r\n InfringementNoticeNumber: '',\r\n // Court step 3 fields\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n // iCourtFormValues\r\n // Court Step2 Fields\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n DRIVER_LICENCE: '',\r\n VEHICLE_REGISTRATION: '',\r\n // SetupDebtor response\r\n OffenceDateRequired: false,\r\n HearingDateRequired: false,\r\n LicenceRequired: false,\r\n RegistrationRequired: false,\r\n DOBRequired: false,\r\n // GetObligationOptions response\r\n DebtorType: '',\r\n // GetBasicInfo response\r\n SeriousObligation: false,\r\n DDD: false,\r\n ESI: false,\r\n MarineOffence: false,\r\n // CheckingExistingForm response\r\n PartialFormID: 0,\r\n CheckingExisting: '',\r\n PartialFormExpiryDate: '',\r\n // GetPartialForm response\r\n ID: 0,\r\n FormData: {\r\n a: '',\r\n user: {\r\n UserType: 'Individual',\r\n title: '',\r\n other: '',\r\n givenName: '',\r\n familyName: '',\r\n dateOfBirth: {\r\n day: '',\r\n month: '',\r\n year: '',\r\n },\r\n licence: {\r\n number: '',\r\n state: '',\r\n isInternational: false,\r\n country: '',\r\n },\r\n vehicleRegos: [\r\n {\r\n number: '',\r\n },\r\n ],\r\n postalAddress: {\r\n line1: '',\r\n line2: '',\r\n suburb: '',\r\n state: '',\r\n postcode: '',\r\n country: 'Australia',\r\n },\r\n email: '',\r\n noEmail: false,\r\n residentialAddress: {\r\n hasDifferentResidentialAddress: false,\r\n line1: '',\r\n line2: '',\r\n suburb: '',\r\n state: '',\r\n postcode: '',\r\n country: 'Australia',\r\n },\r\n primaryContact: {\r\n type: 'Mobile',\r\n number: '',\r\n minlength: '',\r\n maxlength: '',\r\n },\r\n secondaryContact: {\r\n type: 'Mobile',\r\n number: '',\r\n },\r\n sendCopyTo: '',\r\n },\r\n company: {\r\n companyPosition: {\r\n position: '',\r\n other: '',\r\n },\r\n companyName: '',\r\n acn: '',\r\n abn: '',\r\n postalAddress: {\r\n line1: '',\r\n line2: '',\r\n suburb: '',\r\n state: '',\r\n postcode: '',\r\n country: '',\r\n },\r\n residentialAddress: {\r\n hasDifferentResidentialAddress: false,\r\n line1: '',\r\n line2: '',\r\n suburb: '',\r\n state: '',\r\n postcode: '',\r\n country: '',\r\n },\r\n option: '',\r\n },\r\n sendcopy: false,\r\n },\r\n Obligations: [\r\n {\r\n ID: '',\r\n ObligationNO: '',\r\n IsPrimary: false,\r\n },\r\n ],\r\n Attachments: [],\r\n DebtorID: 0,\r\n FormTypeID: 0,\r\n TitleMrMrsMsMissOther: '',\r\n FamilyName: '',\r\n GivenNames: '',\r\n StatecountryOfIssue: 'Australia',\r\n Email: '',\r\n EMAIL_TO: '',\r\n NoEmail: false,\r\n DOB: null,\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n HasDifferentResidentialAddress: '',\r\n ResidentialAddress: {\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n SummonsAddress: {\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n CourtContactNumber: {\r\n ContactNumber: '',\r\n NumberType: '',\r\n SecondaryContactNumber: '',\r\n SecondaryNumberType: '',\r\n },\r\n // step 6 company court variation\r\n PositionOfThePersonWithinTheCompany: '',\r\n OtherPosition: '',\r\n CompanyName: '',\r\n AbnacnType: '',\r\n AbnNo: '',\r\n AcnNo: '',\r\n CompanyAddress: {\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n HasDifferentCompanyAddress: '',\r\n CompanyPostalAddress: {\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n // CreateReceiptNumber response\r\n submissionNo: '',\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n EMRemeinderSent: false,\r\n SMSRemeinderSent: false,\r\n CreateDate: '',\r\n ExpiryDate: '',\r\n // Court Step 10\r\n declaration: false,\r\n intend: '',\r\n submissionError: ''\r\n };\r\n return defaultValues;\r\n};\r\n\r\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\nexport const getReceiptPayload = (formValues: any): string => `{\r\n \"ID\": \"\",\r\n \"Receipt\": \"\",\r\n \"Obligations\": [\r\n {\r\n \"ID\": \"\",\r\n \"ObligationNO\": \"${formValues.OBLIGATION_NUMBER}\",\r\n \"IsPrimary\": \"true\",\r\n \"ReceptNumberId\": \"\"\r\n }\r\n ],\r\n \"SubmittedDate\": \"\",\r\n \"FormTypeId\": 5\r\n }`;\r\n\r\nexport const getSubmissionPayload = (formValues: iCourtFormValues, submissionNumber: string): iSubmitCourtFormValues => {\r\n const submitFormValues = formValues;\r\n const now = new Date();\r\n const MONTH = now.getMonth() + 1;\r\n const DATE = now.getDate();\r\n const YEAR = now.getFullYear();\r\n const MINUTE = (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();\r\n const SUBMITTED_TIME = `${now.getHours()}:${MINUTE} ${DATE}/${MONTH}/${YEAR}`;\r\n const FORM_TYPE = 'Court';\r\n\r\n const submitObject: iSubmitCourtFormValues = {\r\n ...(submitFormValues as iCommonCourtFormValues),\r\n YourObligationNumber: formValues.OBLIGATION_NUMBER,\r\n IdentifyingReference: formValues.OBLIGATION_NUMBER,\r\n TitleMrMrsMsMissOther: formValues.TitleMrMrsMsMissOther,\r\n GivenNames: formValues.GivenNames,\r\n FamilyName: formValues.FamilyName,\r\n AbnacnNo: formValues.AbnNo ? formValues.AbnNo : formValues.AcnNo,\r\n DD: formValues.DOB ? formValues.DOB.getDate().toString() : '',\r\n MM: formValues.DOB ? (formValues.DOB.getMonth() + 1).toString() : '',\r\n YYYY: formValues.DOB ? formValues.DOB.getFullYear().toString() : '',\r\n ContactNumber: formValues.CourtContactNumber.ContactNumber,\r\n NumberType: formValues.CourtContactNumber.NumberType,\r\n SecondaryContactNumber: formValues.CourtContactNumber.SecondaryContactNumber,\r\n NumberTypeTwo: formValues.CourtContactNumber.SecondaryContactNumber ? formValues.CourtContactNumber.SecondaryNumberType : '',\r\n LineOne: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ResidentialAddress.LineOne : formValues.SummonsAddress.LineOne,\r\n LineTwo: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ResidentialAddress.LineTwo : formValues.SummonsAddress.LineTwo,\r\n Suburb: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ResidentialAddress.Suburb : formValues.SummonsAddress.Suburb,\r\n State: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ResidentialAddress.State : formValues.SummonsAddress.State,\r\n Postcode: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ResidentialAddress.Postcode : formValues.SummonsAddress.Postcode,\r\n Country: formValues.SummonsAddress.LineOne ? (formValues.HasDifferentResidentialAddress === 'true' ? formValues.ResidentialAddress.Country : formValues.SummonsAddress.Country) : '',\r\n LineOneTwo: formValues.SummonsAddress.LineOne,\r\n LineTwoTwo: formValues.SummonsAddress.LineTwo,\r\n SuburbTwo: formValues.SummonsAddress.Suburb,\r\n StateTwo: formValues.SummonsAddress.State,\r\n PostcodeTwo: formValues.SummonsAddress.Postcode,\r\n CountryTwo: formValues.SummonsAddress.LineOne ? formValues.SummonsAddress.Country : '',\r\n LineOneThree: formValues.CompanyAddress.LineOne,\r\n LineTwoThree: formValues.CompanyAddress.LineTwo,\r\n SuburbThree: formValues.CompanyAddress.Suburb,\r\n StateThree: formValues.CompanyName ? formValues.CompanyAddress.State : '',\r\n PostcodeThree: formValues.CompanyAddress.Postcode,\r\n CountryThree: formValues.CompanyName ? formValues.CompanyAddress.Country : '',\r\n LineOneFour: formValues.HasDifferentCompanyAddress === 'true' ? formValues.CompanyPostalAddress.LineOne : formValues.CompanyAddress.LineOne,\r\n LineTwoFour: formValues.HasDifferentCompanyAddress === 'true' ? formValues.CompanyPostalAddress.LineTwo : formValues.CompanyAddress.LineTwo,\r\n SuburbFour: formValues.HasDifferentCompanyAddress === 'true' ? formValues.CompanyPostalAddress.Suburb : formValues.CompanyAddress.Suburb,\r\n // not sure how to combine with conditional for CompanyName (look at court.dist.js)\r\n StateFour: formValues.HasDifferentCompanyAddress === 'true' ? formValues.CompanyPostalAddress.State : formValues.CompanyAddress.State,\r\n PostcodeFour: formValues.HasDifferentCompanyAddress === 'true' ? formValues.CompanyPostalAddress.Postcode : formValues.CompanyAddress.Postcode,\r\n CountryFour: formValues.CompanyName ? (formValues.HasDifferentCompanyAddress === 'true' ? formValues.CompanyPostalAddress.Country : formValues.CompanyAddress.Country) : '',\r\n GroupOneZero: 'false',\r\n DdTwo: DATE,\r\n MmTwo: MONTH,\r\n YyyyTwo: YEAR,\r\n Email: formValues.NoEmail ? '' : formValues.Email,\r\n DriverLicenceNumber: formValues.NoDriverLicence ? '' : formValues.DRIVER_LICENCE,\r\n StatecountryOfIssue: formValues.NoDriverLicence ? '' : (formValues.StatecountryOfIssue === 'Australia' ? formValues.LicenceState : formValues.StatecountryOfIssue),\r\n EMAIL_TO: formValues.EMAIL_TO === 'true' ? formValues.Email : '',\r\n YourSignature: formValues.declaration ? 'I agree to the statements' : '',\r\n Intent: formValues.intend || 'I do not',\r\n FooterSubmissionNo1: submissionNumber,\r\n FooterFormType1: FORM_TYPE,\r\n FooterObligationNo1: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime1: SUBMITTED_TIME,\r\n FooterSubmissionNo2: submissionNumber,\r\n FooterFormType2: FORM_TYPE,\r\n FooterObligationNo2: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime2: SUBMITTED_TIME,\r\n FooterSubmissionNo3: submissionNumber,\r\n FooterFormType3: FORM_TYPE,\r\n FooterObligationNo3: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime3: SUBMITTED_TIME,\r\n FooterSubmissionNo4: submissionNumber,\r\n FooterFormType4: FORM_TYPE,\r\n FooterObligationNo4: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime4: SUBMITTED_TIME,\r\n FooterSubmissionNo5: submissionNumber,\r\n FooterFormType5: FORM_TYPE,\r\n FooterObligationNo5: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime5: SUBMITTED_TIME,\r\n EmailAddressOptional: formValues.NoEmailAddress ? '' : formValues.Email,\r\n };\r\n\r\n const excludeKeysFromForm: string[] = [\r\n // fields from iCourtFormValues\r\n 'OffenceDateRequired',\r\n 'HearingDateRequired',\r\n 'LicenceRequired',\r\n 'RegistrationRequired',\r\n 'DOBRequired',\r\n 'OFFENCE_DATE',\r\n 'HEARING_DATE',\r\n 'DRIVER_LICENCE',\r\n 'PartialFormID',\r\n 'ID',\r\n 'FormData',\r\n 'Obligations',\r\n 'Attachments',\r\n 'DebtorID',\r\n 'FormTypeID',\r\n 'IsSubscribedEM',\r\n 'IsSubscribedSMS',\r\n 'EMRemeinderSent',\r\n 'SMSRemeinderSent',\r\n 'CreateDate',\r\n 'ExpiryDate',\r\n 'SeriousObligation',\r\n 'DDD',\r\n 'ESI',\r\n 'MarineOffence',\r\n 'submissionNo',\r\n 'DOB',\r\n 'LicenceState',\r\n 'ResidentialAddress',\r\n 'HasDifferentResidentialAddress',\r\n 'SummonsAddress',\r\n 'CourtContactNumber',\r\n 'Email',\r\n 'NoEmail',\r\n 'declaration',\r\n 'intend',\r\n 'SaveYesNo',\r\n 'SaveOptions',\r\n 'saveEmail',\r\n 'saveMobile',\r\n 'a',\r\n 'VEHICLE_REGISTRATION',\r\n 'UserType',\r\n 'NoDriverLicence',\r\n 'CompanyAddress',\r\n 'CompanyPostalAddress',\r\n 'HasDifferentCompanyAddress',\r\n 'DebtorType',\r\n 'AbnNo',\r\n 'AcnNo',\r\n 'CheckingExisting',\r\n 'PartialFormExpiryDate',\r\n 'submissionError'\r\n ];\r\n excludeKeysFromForm.forEach((value: string) => {\r\n delete submitObject[value];\r\n });\r\n return submitObject;\r\n};\r\n\r\nexport const CourtSchema = Yup.object().shape({\r\n saveEmail: Yup.string().email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n saveMobile: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n ResidentialAddress: Yup.object().shape({\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n SummonsAddress: Yup.object().shape({\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n CompanyAddress: Yup.object().shape({\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n CompanyPostalAddress: Yup.object().shape({\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n OBLIGATION_NUMBER: Yup.string().matches(OBLIGATION_REGEX, INVALID_OBLIGATION_NUMBER).required(INVALID_NUMERIC_FORMAT),\r\n OFFENCE_DATE: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n HEARING_DATE: Yup.date().required(EMPTY_DATE).nullable(),\r\n DRIVER_LICENCE: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n VEHICLE_REGISTRATION: Yup.string().matches(VEHICLE_REGISTRATION_REGEX, INVALID_VEHICLE_REGISTRATION_NUMBER).required(INVALID_VEHICLE_REGISTRATION_NUMBER),\r\n TitleMrMrsMsMissOther: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n DOB: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n FamilyName: Yup.string().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n GivenNames: Yup.string().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n StatecountryOfIssue: Yup.string(),\r\n LicenceState: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n NoDriverLicence: Yup.boolean(),\r\n PositionOfThePersonWithinTheCompany: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n OtherPosition: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n CompanyName: Yup.string().max(80).matches(ORGANISATION_NAME_REGEX, INVALID_ORG_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n AbnacnType: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n AbnNo: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n AcnNo: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Email: Yup.string().nullable().email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n NoEmail: Yup.boolean(),\r\n EMAIL_TO: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n CourtContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n NumberType: Yup.string(),\r\n SecondaryContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER),\r\n SecondaryNumberType: Yup.string(),\r\n }),\r\n HasDifferentResidentialAddress: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n HasDifferentCompanyAddress: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n intend: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n declaration: Yup.boolean().oneOf([true], MISSING_DECLARATION_AGREEMENT),\r\n SaveYesNo: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n});\r\n\r\nconst { COURT } = FormType;\r\n\r\nexport const courtMetaData: iFormMetaData = {\r\n pagesSegments: {\r\n step0: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n step1: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, COURT).page1,\r\n },\r\n step2: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, COURT).page2,\r\n },\r\n step3: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, COURT).page3,\r\n },\r\n step4: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n step5: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, COURT).page5,\r\n },\r\n step6: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, COURT).page6,\r\n },\r\n step8: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n step9: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n step10: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n step11: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, COURT).page11,\r\n },\r\n step12: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n },\r\n};\r\n\r\nexport const getSummaryScreen = (values: iCourtFormValues): iSummary[] => {\r\n const page4 = {\r\n title: 'Your fines',\r\n editLink: '/step4',\r\n fields: [\r\n [\r\n {\r\n title: 'Fines to include in application',\r\n value: values.OBLIGATION_NUMBER,\r\n },\r\n ]\r\n ],\r\n };\r\n const page5 = {\r\n title: 'Your details',\r\n editLink: '/step5',\r\n fields: [\r\n [{ title: 'Title', value: values.TitleMrMrsMsMissOther }],\r\n [{ title: 'Given name(s)', value: values.GivenNames }],\r\n [{ title: 'Family name', value: values.FamilyName }],\r\n [{ title: 'Date of birth', value: values.DOB ? `${values.DOB.getDate()}/${values.DOB.getMonth() + 1}/${values.DOB.getFullYear()}` : '' }],\r\n values.NoDriverLicence ? [{ title: \"Driver's licence\", value: 'n/a' }] : [{ title: \"Driver's licence\", value: values.DRIVER_LICENCE }],\r\n values.NoDriverLicence\r\n ? [{ title: 'Place of issue', value: 'n/a' }]\r\n : [{ title: 'Place of issue', value: values.StatecountryOfIssue === 'Australia' ? values.LicenceState : values.StatecountryOfIssue }],\r\n [\r\n {\r\n title: 'Address for service of summons',\r\n value: `${Object.entries(values.SummonsAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.HasDifferentResidentialAddress === 'false'\r\n ? [{ title: 'Is your residential address different to your address for service of summons?', value: 'No' }]\r\n : [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.ResidentialAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact phone number', value: values.CourtContactNumber.ContactNumber }],\r\n [{ title: 'Number type', value: values.CourtContactNumber.NumberType }],\r\n [\r\n {\r\n title: 'Secondary contact number',\r\n value: values.CourtContactNumber.SecondaryContactNumber ? values.CourtContactNumber.SecondaryContactNumber : 'n/a',\r\n },\r\n ],\r\n [{ title: 'Secondary number type', value: values.CourtContactNumber.SecondaryContactNumber ? values.CourtContactNumber.SecondaryNumberType : 'n/a' }],\r\n [{ title: 'Email', value: values.Email ? values.Email : 'n/a' }],\r\n [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.EMAIL_TO === 'true' ? 'Yes' : 'No' }],\r\n ],\r\n };\r\n\r\n const page6 = {\r\n title: 'Your contact information',\r\n editLink: '/step6',\r\n fields: [\r\n [{ title: 'Title', value: values.TitleMrMrsMsMissOther }],\r\n [{ title: 'Given name(s)', value: values.GivenNames }],\r\n [{ title: 'Family name', value: values.FamilyName }],\r\n [{ title: 'Position in the company', value: values.PositionOfThePersonWithinTheCompany }],\r\n [{ title: 'Date of birth', value: values.DOB ? `${values.DOB.getDate()}/${values.DOB.getMonth() + 1}/${values.DOB.getFullYear()}` : '' }],\r\n values.NoDriverLicence ? [{ title: \"Driver's licence\", value: 'n/a' }] : [{ title: \"Driver's licence\", value: values.DRIVER_LICENCE }],\r\n values.NoDriverLicence\r\n ? [{ title: 'Place of issue', value: 'n/a' }]\r\n : [{ title: 'Place of issue', value: values.StatecountryOfIssue === 'Australia' ? values.LicenceState : values.StatecountryOfIssue }],\r\n [{ title: 'Company Name', value: values.CompanyName }],\r\n values.AbnacnType === 'ABN'\r\n ? [{ title: 'ABN', value: values.AbnNo }]\r\n : [] as iSummaryField[],\r\n values.AbnacnType === 'ACN'\r\n ? [{ title: 'ACN', value: values.AcnNo }]\r\n : [] as iSummaryField[],\r\n [\r\n {\r\n title: 'Company\\'s street address (Court summons will be sent here)',\r\n value: `${Object.entries(values.CompanyAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.HasDifferentCompanyAddress === 'false'\r\n ? [{ title: 'Is your postal address different to your company\\'s address?', value: 'No' }]\r\n : [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.CompanyPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact phone number', value: values.CourtContactNumber.ContactNumber }],\r\n [{ title: 'Number type', value: values.CourtContactNumber.NumberType }],\r\n [\r\n {\r\n title: 'Secondary contact number',\r\n value: values.CourtContactNumber.SecondaryContactNumber ? values.CourtContactNumber.SecondaryContactNumber : 'n/a',\r\n },\r\n ],\r\n [{ title: 'Secondary number type', value: values.CourtContactNumber.SecondaryContactNumber ? values.CourtContactNumber.SecondaryNumberType : 'n/a' }],\r\n [{ title: 'Email', value: values.Email ? values.Email : 'n/a' }],\r\n [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.EMAIL_TO === 'true' ? 'Yes' : 'No' }],\r\n ],\r\n };\r\n\r\n const summarySections: iSummary[] = [\r\n page4,\r\n values.DebtorType === 'Individual' ? page5 : {} as iSummary, values.DebtorType === 'Company' ? page6 : {} as iSummary];\r\n return summarySections;\r\n};\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport React, { ReactElement } from 'react';\r\nimport { ErrorPage } from '@components';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport { useFormikContext } from 'formik';\r\n\r\nfunction CourtErrorPage(): ReactElement {\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CourtErrorPage;\r\n","export default __webpack_public_path__ + \"static/media/clock.2ac6eb16.svg\";","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport React, { ReactElement, useEffect, useState, useContext } from 'react';\r\nimport { useNavigate, useLocation } from 'react-router-dom';\r\nimport { getStringIndex } from '@utils';\r\nimport { getInitiate, checkExistingForm } from '@api';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Accordion, FormLoading } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport { FormType } from '@constants';\r\nimport ClockIcon from '../../../../images/clock.svg';\r\nimport styles from './CourtStep0.module.scss';\r\n\r\nfunction CourtStep0(): ReactElement {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n const pathElementArray = location.pathname.split('/');\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const { tooltips } = useContext(VicFinesContext);\r\n const validTitles = Object.keys(tooltips).filter((v) => v.includes('step0'));\r\n\r\n const formikcontext = useFormikContext();\r\n function getStringForSort(stringVal: string): string {\r\n return stringVal.substring(stringVal.indexOf('p') + 1, stringVal.indexOf('|'));\r\n }\r\n validTitles.sort((stringA, stringB) => Number(getStringForSort(stringA)) - Number(getStringForSort(stringB)));\r\n useEffect(() => {\r\n // if resume with #, re - calculate it.\r\n let pathNameLessLastSegmentOnLoad = '';\r\n let obNumFromPath = '';\r\n if (window.location.hash) {\r\n window.history.pushState({}, '', window.location.pathname + window.location.hash.replaceAll('#', ''));\r\n }\r\n const currentUrl = window.location.pathname;\r\n const pathUrlArray = currentUrl.split('/');\r\n const stepCurrentIndex = getStringIndex(pathUrlArray, 'step');\r\n const stepIndexDiffOnLoad = stepCurrentIndex - pathUrlArray.length;\r\n pathNameLessLastSegmentOnLoad = stepCurrentIndex ? pathUrlArray.slice(0, stepIndexDiffOnLoad).join('/') : currentUrl;\r\n obNumFromPath = pathUrlArray.includes('step0') && pathUrlArray[stepCurrentIndex + 1] ? pathUrlArray[stepCurrentIndex + 1] : '';\r\n if (obNumFromPath) {\r\n setLoading(true);\r\n checkExistingForm(obNumFromPath, FormType.COURT)\r\n .then((valueOfExistingform) => {\r\n let currentStep = '';\r\n let partialFormID = 0;\r\n const partialFormOption = valueOfExistingform.CheckingExisting;\r\n const canSave = valueOfExistingform.CanSave;\r\n let savingoption = '';\r\n let debtorID = 0;\r\n if (partialFormOption === 'no' && valueOfExistingform.DebtorID && valueOfExistingform.PartialFormID) {\r\n return;\r\n }\r\n if (valueOfExistingform.CheckingExisting === 'yes') {\r\n formikcontext.setFieldValue('SaveYesNo', 'true');\r\n partialFormID = valueOfExistingform.PartialFormID!;\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNumFromPath);\r\n formikcontext.setFieldValue('PartialFormID', partialFormID);\r\n savingoption = valueOfExistingform.CanSave ? 'yes' : 'no';\r\n } else {\r\n debtorID = valueOfExistingform.DebtorID!;\r\n savingoption = 'no';\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNumFromPath);\r\n formikcontext.setFieldValue('DebtorID', debtorID);\r\n }\r\n formikcontext.setFieldValue('SaveOptions', savingoption);\r\n getInitiate(obNumFromPath, FormType.COURT).then((value) => {\r\n if (value.Number) {\r\n if (value.Step !== '/step8' && value.Step !== '/step9') {\r\n // legacy logic\r\n if (partialFormOption === 'no' && canSave === true) {\r\n // go to Which statement best describes you? page - first or third\r\n currentStep = '/step3';\r\n } else {\r\n currentStep = value.Step;\r\n }\r\n }\r\n } else {\r\n currentStep = '/step0';\r\n }\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}${currentStep}`);\r\n setLoading(false);\r\n });\r\n })\r\n .catch(() => {\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}/step0`);\r\n console.log('Caught p2');\r\n });\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, []);\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n\r\n
\r\n
Before you start
\r\n {validTitles.map((v) => {\r\n const getTitles = v.substring(v.indexOf('|'), v.length).replaceAll('|', ' ');\r\n return ;\r\n })}\r\n
\r\n \"alarm\r\n Please allow up to 12 minutes to complete this form.\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default CourtStep0;\r\n","export default __webpack_public_path__ + \"static/media/question.fd1bd0eb.svg\";","export default __webpack_public_path__ + \"static/media/refNo_mail.ad0f9f65.jpg\";","export default __webpack_public_path__ + \"static/media/refNo-handwritten.0b9c4e0b.jpg\";","export default __webpack_public_path__ + \"static/media/refNo-plan.b6840305.jpg\";","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useContext, useState, useEffect } from 'react';\r\nimport { Field } from 'formik';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Alert, Accordion, Button, Modal, TextInput } from '@components';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\nimport mailRef from '../../../../images/refNo_mail.jpg';\r\nimport handwrittenRef from '../../../../images/refNo-handwritten.jpg';\r\nimport planRef from '../../../../images/refNo-plan.jpg';\r\nimport styles from './CourtStep1.module.scss';\r\n\r\nfunction CourtStep1(): ReactElement {\r\n const { apiError } = useContext(VicFinesContext);\r\n const CourtStep1AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const [smallScreen, setMatches] = useState(window.matchMedia('(max-width: 1150px)').matches);\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const accordionContent = (caption: string, image: string, imageAlt: string): ReactElement => (\r\n
\r\n

{caption}

\r\n {imageAlt}\r\n
\r\n );\r\n\r\n const notificationInformation = (): ReactElement => (\r\n <>\r\n {smallScreen\r\n ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n
\r\n Did you receive your fine by mail?\r\n Did a police officer give you the fine in person, or issue you with a handwritten fine?\r\n Are you on a payment plan or payment order?\r\n
\r\n \"mail\r\n
\r\n
\r\n \"handwritten\r\n
\r\n
\r\n \"plan\r\n
\r\n
\r\n Enter your obligation number\r\n
\r\n
\r\n Enter your enforcement agency identifying reference\r\n
\r\n
\r\n Enter your payment arrangement number\r\n
\r\n
\r\n

\r\n Don't have your fine on you?\r\n

\r\n
\r\n Call Fines Victoria, Monday to Friday, 8am to 6pm (except public holidays).\r\n

For infringement enquiries, call 03 9200 8111 or 1300 369 819 for regional callers.

\r\n For Notice of Final Demand enquiries, call 03 9200 8222 or 1800 150 410 for regional callers.\r\n
\r\n
\r\n \r\n Continue\r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n\r\n useEffect(() => {\r\n window.matchMedia('(max-width: 768px)').addEventListener('change', (e) => setMatches(e.matches));\r\n }, []);\r\n\r\n return (\r\n
\r\n
Your fine details
\r\n
At this stage of the application, you only need to provide the details of one of your fines - even if you’re dealing with multiple matters.
\r\n {apiError?.Error && } theme=\"error\" classAlt={styles.boxheight} />}\r\n setOpenHelp(true)}\r\n isMandatory />\r\n {isOpenHelp && ()}\r\n
If you've already paid this fine, you can't request to go to court.
\r\n
\r\n );\r\n}\r\n\r\nexport default CourtStep1;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useContext, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, Button, DateInput, Modal, TextInput } from '@components';\r\nimport { navigateToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n\r\nimport styles from './CourtStep2.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction CourtStep2(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const { apiError } = useContext(VicFinesContext);\r\n const [hasOffenceDate, setOffenceDate] = useState(false);\r\n const [hasHearingDate, setHearingDate] = useState(false);\r\n const [hasLicenceNumber, setLicenceNumber] = useState(false);\r\n const [hasVehicleRego, setVehicleRego] = useState(false);\r\n const [hasDOB, setDOB] = useState(false);\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const CourtStep2AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n If you don't know these details or think we may have the wrong information, contact Fines Victoria, Monday to Friday, 8am to 6pm (except public holidays).\r\n

For infringement enquiries, call 03 9200 8111 or 1300 369 819 for regional callers.

\r\n

For Notice of Final Demand enquiries, call 03 9200 8222 or 1800 150 410 for regional callers.

\r\n
\r\n

\r\n Do you have a Victorian driver licence?\r\n

\r\n
\r\n If asked for your driver licence number, make sure you include any zeros at the start of your Victorian driver licence number.\r\n
\r\n
\r\n \r\n Continue\r\n \r\n
\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n const setupDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n };\r\n const url = `${API_URL}sitecore/Court/SetupDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n if (responseBody.OffenceDate) {\r\n setOffenceDate(true);\r\n context.setFieldValue('OffenceDateRequired', true);\r\n }\r\n if (responseBody.HearingDate) {\r\n setHearingDate(true);\r\n context.setFieldValue('HearingDateRequired', true);\r\n }\r\n if (responseBody.LicenceRequired) {\r\n setLicenceNumber(true);\r\n context.setFieldValue('LicenceRequired', true);\r\n }\r\n if (responseBody.RegistrationRequired) {\r\n setVehicleRego(true);\r\n context.setFieldValue('RegistrationRequired', true);\r\n }\r\n if (responseBody.DateOfBirthRequired) {\r\n setDOB(true);\r\n context.setFieldValue('DOBRequired', true);\r\n }\r\n } else navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n setupDebtor(context);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n
\r\n Verify your details\r\n {apiError?.Error && } theme=\"error\" />}\r\n {hasOffenceDate && ()}\r\n {hasHearingDate && ()}\r\n {hasLicenceNumber && ()}\r\n {hasVehicleRego && ()}\r\n {hasDOB && ()}\r\n
\r\n setOpenHelp(true)}\r\n className={styles.iconButton}>\r\n \"help\r\n I don't know these details\r\n \r\n
\r\n {isOpenHelp && ()}\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default CourtStep2;\r\n","export default __webpack_public_path__ + \"static/media/emailviewv2.6e03318a.png\";","export default __webpack_public_path__ + \"static/media/mobileview.1ed8614a.png\";","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement } from 'react';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Accordion, TileRadio, TextInput } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport classnames from 'classnames';\r\nimport emailNotif from '../../../../images/emailviewv2.png';\r\nimport mobileNotif from '../../../../images/mobileview.png';\r\n\r\nimport styles from './CourtStep3.module.scss';\r\n\r\nfunction CourtStep3(): ReactElement {\r\n const { values, errors, touched }: { values: iCourtFormValues, errors: any, touched: any } = useFormikContext();\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const TILE_DATA_NOTIFICATION_TYPE: tile[] = [\r\n {\r\n body: 'No thanks',\r\n value: 'none',\r\n },\r\n {\r\n body: 'To my mobile',\r\n value: 'mobile',\r\n },\r\n {\r\n body: 'To my email',\r\n value: 'email',\r\n },\r\n {\r\n body: 'To both',\r\n value: 'both',\r\n },\r\n ];\r\n\r\n const notificationInformation = (): ReactElement => (\r\n <>\r\n
\r\n Email notification\r\n Mobile notification\r\n
\r\n \"email\r\n
\r\n
\r\n \"mobile\r\n
\r\n
\r\n \r\n );\r\n\r\n return (\r\n
\r\n Form options\r\n Save your form as you go?\r\n
\r\n In case you are unable to complete this application all at once, please select YES so you can return to the form later.\r\n
\r\n \r\n
Your form content is saved behind a secure portal.
\r\n {values.SaveYesNo === 'true' && (\r\n <>\r\n Send notifications of uncompleted forms?\r\n
We can send you a notification to remind you to come back and submit the application.
\r\n \r\n {(values.SaveOptions === 'email' || values.SaveOptions === 'both') && }\r\n {(values.SaveOptions === 'mobile' || values.SaveOptions === 'both') && }\r\n {(values.SaveOptions === 'mobile' || values.SaveOptions === 'email' || values.SaveOptions === 'both') && (\r\n

\r\n I understand that by providing contact details, Fines Victoria may update its records using these details and that I may be contacted regarding my outstanding fines.\r\n

\r\n )}\r\n
\r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default CourtStep3;\r\n","import { ReactElement } from 'react';\r\n\r\nimport styles from './CourtStep4AlertContent.module.scss';\r\n\r\ninterface iProps {\r\n formExpirationDate: string;\r\n}\r\n\r\nconst CourtStep4AlertContent = ({ formExpirationDate }: iProps): ReactElement => (\r\n

\r\n Welcome back, we have filled out the application for you with saved information, please check the details before submitting.\r\n
\r\n
\r\n {formExpirationDate && (\r\n <>\r\n The information in this form will be saved until\r\n \r\n {` ${formExpirationDate}. `}\r\n \r\n \r\n )}\r\n {'Visit '}\r\n Your fines\r\n {' any time to delete a saved form or to manage notifications.'}\r\n

\r\n);\r\n\r\nexport default CourtStep4AlertContent;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useEffect, useState, Fragment } from 'react';\r\nimport { useFormikContext, getIn } from 'formik';\r\nimport { navigateToError } from '@utils';\r\nimport { Alert } from '@components';\r\nimport CourtStep4AlertContent from '@components/Content/AlertContent/CourtStep4AlertContent';\r\nimport { iFineDescriptions, iPartialFormData } from '@interfaces/interfaces';\r\nimport { ObligationStatus } from '@constants';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport classnames from 'classnames';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport styles from './CourtStep4.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction CourtStep4(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const [seriousObligation, setSeriousObligation] = useState(false);\r\n const context = useFormikContext();\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n const expiryDate = `${values.PartialFormExpiryDate.substring(0, values.PartialFormExpiryDate.indexOf('day') + 3)}, ${values.PartialFormExpiryDate.substring(\r\n values.PartialFormExpiryDate.indexOf('day') + 4,\r\n )}`;\r\n const titles = [\r\n { value: ObligationStatus.INFRINGEMENT, display: 'Infringement Notice' },\r\n { value: ObligationStatus.PENALTY_REMINDER, display: 'Penalty Reminder Notice' },\r\n { value: ObligationStatus.NOTICE_OF_FINAL_DEMAND, display: 'Notice of Final Demand' },\r\n { value: ObligationStatus.ENFORCEMENT_WARRANT, display: 'Enforcement Warrant' },\r\n ];\r\n\r\n const [obligation, setObligationDetails] = useState({ Obligation: { Number: '' } } as iFineDescriptions);\r\n const { Obligation } = obligation;\r\n function setValues(partialFormApi: any, formikObject: any, keyName: string) {\r\n Object.keys(formikObject).forEach((key) => {\r\n if (key in partialFormApi) {\r\n if (typeof formikObject[key] === 'object') {\r\n setValues(partialFormApi[key], formikObject[key], `${keyName}.${key}`);\r\n } else {\r\n context.setFieldValue(`${keyName}.${key}`, getIn(partialFormApi, key));\r\n }\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n const obligationPayload = {\r\n obligationNumber: values.OBLIGATION_NUMBER,\r\n };\r\n const formPayload = {\r\n partialFormID: values.PartialFormID,\r\n };\r\n\r\n const getExistingForm = async (): Promise => {\r\n setLoading(true);\r\n const url = `${API_URL}sitecore/PartialForms/GetPartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(formPayload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n if (typeof responseBody === 'string') {\r\n if (responseBody === 'Unauthorised') {\r\n setLoading(false);\r\n navigateToError();\r\n } else {\r\n return;\r\n }\r\n } else {\r\n responseBody.FormData = JSON.parse(responseBody.FormData);\r\n const keys = Object.keys(responseBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n const formDataKeys = Object.keys(responseBody.FormData);\r\n setValues(responseBody.FormData, values.FormData, 'FormData');\r\n if (formDataKeys.includes('user')) {\r\n context.setFieldValue('SummonsAddress.LineOne', responseBody.FormData.user.postalAddress.line1 ? responseBody.FormData.user.postalAddress.line1 : '');\r\n context.setFieldValue('SummonsAddress.LineTwo', responseBody.FormData.user.postalAddress.line2 ? responseBody.FormData.user.postalAddress.line2 : '');\r\n context.setFieldValue('SummonsAddress.Suburb', responseBody.FormData.user.postalAddress.suburb ? responseBody.FormData.user.postalAddress.suburb : '');\r\n context.setFieldValue('SummonsAddress.State', responseBody.FormData.user.postalAddress.state ? responseBody.FormData.user.postalAddress.state : '');\r\n context.setFieldValue('SummonsAddress.Postcode', responseBody.FormData.user.postalAddress.postcode ? responseBody.FormData.user.postalAddress.postcode : '');\r\n if (responseBody.FormData.user.postalAddress.country === '') context.setFieldValue('SummonsAddress.Country', 'Australia');\r\n else context.setFieldValue('SummonsAddress.Country', responseBody.FormData.user.postalAddress.country);\r\n }\r\n if (formDataKeys.includes('company')) {\r\n context.setFieldValue('CompanyAddress.LineOne', responseBody.FormData.company.postalAddress.line1 ? responseBody.FormData.company.postalAddress.line1 : '');\r\n context.setFieldValue('CompanyAddress.LineTwo', responseBody.FormData.company.postalAddress.line2 ? responseBody.FormData.company.postalAddress.line2 : '');\r\n context.setFieldValue('CompanyAddress.Suburb', responseBody.FormData.company.postalAddress.suburb ? responseBody.FormData.company.postalAddress.suburb : '');\r\n context.setFieldValue('CompanyAddress.State', responseBody.FormData.company.postalAddress.state ? responseBody.FormData.company.postalAddress.state : '');\r\n context.setFieldValue('CompanyAddress.Postcode', responseBody.FormData.company.postalAddress.postcode ? responseBody.FormData.company.postalAddress.postcode : '');\r\n if (responseBody.FormData.company.postalAddress.country === '') context.setFieldValue('CompanyAddress.Country', 'Australia');\r\n else context.setFieldValue('CompanyAddress.Country', responseBody.FormData.company.postalAddress.country);\r\n }\r\n } else {\r\n context.setFieldValue(`${key}`, responseBody[key]);\r\n }\r\n });\r\n setLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const getObligationOptions = async (): Promise => {\r\n setLoading(true);\r\n const url = `${API_URL}sitecore/Court/GetObligationOptions`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(obligationPayload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n const keys = Object.keys(responseBody);\r\n keys.forEach((key) => {\r\n if (key === 'Obligation') {\r\n const obligationKeys = Object.keys(responseBody.Obligation);\r\n obligationKeys.forEach((obligationKey) => {\r\n setObligationDetails({\r\n ...obligation,\r\n Obligation: {\r\n ...obligation.Obligation,\r\n [obligationKey]: responseBody.Obligation[obligationKey],\r\n },\r\n });\r\n if (obligationKey === 'InfringementNumber') {\r\n context.setFieldValue('InfringementNoticeNumber', responseBody.Obligation[obligationKey]);\r\n }\r\n obligation.Obligation[obligationKey] = responseBody.Obligation[obligationKey];\r\n if (obligationKey === 'DebtorType') {\r\n context.setFieldValue(obligationKey, responseBody.Obligation[obligationKey]);\r\n }\r\n });\r\n } else {\r\n setObligationDetails({\r\n ...obligation,\r\n [key]: responseBody[key],\r\n });\r\n obligation[key] = responseBody[key];\r\n }\r\n });\r\n } else navigateToError();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const getBasicInfo = async (): Promise => {\r\n setLoading(true);\r\n const url = `${API_URL}sitecore/Court/GetBasicInfo`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(obligationPayload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n setSeriousObligation(responseBody.SeriousObligation);\r\n context.setFieldValue('SeriousObligation', responseBody.SeriousObligation);\r\n context.setFieldValue('DDD', responseBody.DDD);\r\n context.setFieldValue('ESI', responseBody.ESI);\r\n context.setFieldValue('MarineOffence', responseBody.MarineOffence);\r\n } else navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n if (values.PartialFormID) getExistingForm();\r\n getObligationOptions();\r\n getBasicInfo();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n {values.CheckingExisting === 'yes' && } theme=\"success\" />}\r\n
Your fines
\r\n {seriousObligation ? (\r\n

You're applying to go to court as a Notice of Objection for the following fine:

\r\n ) : (\r\n

You're applying to go to court for the following fine:

\r\n )}\r\n
\r\n
\r\n OBLIGATION NUMBER\r\n OFFENCE DATE\r\n AMOUNT\r\n
\r\n
\r\n {obligation.Obligation.Number}\r\n {obligation.Obligation.OffenceDate}\r\n {obligation.Obligation.AmountDue}\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Offence date{Obligation.OffenceDate}
Amount{Obligation.AmountDue}
Offence description{Obligation.OffenceDesc}
Offence location{Obligation.OffenceLocation}
Time of offence{Obligation.OffenceTime}
Vehicle registration{Obligation.Registration}
\r\n
\r\n
\r\n
\r\n {titles.map((title) => {\r\n const tileSelected = title.value === Obligation.Status;\r\n return (\r\n \r\n \r\n
\r\n {title.display}\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\nexport default CourtStep4;\r\n","import { ReactElement, useEffect } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport ContactInformation from '@components/ContactInformation/ContactInformation';\r\nimport { courtContactInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\n\r\nfunction CourtStep5(): ReactElement {\r\n const context = useFormikContext();\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n const { TitleMrMrsMsMissOther, PartialFormID } = values;\r\n\r\n useEffect(() => {\r\n if (PartialFormID) {\r\n if (!TitleMrMrsMsMissOther) {\r\n context.setFieldValue('TitleMrMrsMsMissOther', values.FormData.user.title.toUpperCase());\r\n context.setFieldTouched('TitleMrMrsMsMissOther');\r\n }\r\n context.setFieldValue('GivenNames', values.FormData.user.givenName);\r\n context.setFieldValue('FamilyName', values.FormData.user.familyName);\r\n if (values.FormData.user.licence.number) context.setFieldValue('DRIVER_LICENCE', values.FormData.user.licence.number);\r\n else context.setFieldValue('DRIVER_LICENCE', values.DRIVER_LICENCE);\r\n if (values.FormData.user.licence.country === '') context.setFieldValue('StatecountryOfIssue', 'Australia');\r\n else context.setFieldValue('StatecountryOfIssue', values.FormData.user.licence.country);\r\n context.setFieldValue('LicenceState', values.FormData.user.licence.state);\r\n if (values.FormData.user.dateOfBirth.day === '' || values.FormData.user.dateOfBirth.month === '' || values.FormData.user.dateOfBirth.year === '') {\r\n context.setFieldValue('DOB', null);\r\n } else context.setFieldValue('DOB', new Date(`${values.FormData.user.dateOfBirth.month}/${values.FormData.user.dateOfBirth.day}/${values.FormData.user.dateOfBirth.year}`));\r\n context.setFieldValue('HasDifferentResidentialAddress', values.FormData.user.residentialAddress.hasDifferentResidentialAddress.toString());\r\n context.setFieldValue('ResidentialAddress.LineOne', values.FormData.user.residentialAddress.line1);\r\n context.setFieldValue('ResidentialAddress.LineTwo', values.FormData.user.residentialAddress.line2);\r\n context.setFieldValue('ResidentialAddress.Suburb', values.FormData.user.residentialAddress.suburb);\r\n context.setFieldValue('ResidentialAddress.State', values.FormData.user.residentialAddress.state);\r\n context.setFieldValue('ResidentialAddress.Postcode', values.FormData.user.residentialAddress.postcode);\r\n if (values.FormData.user.residentialAddress.country === '') context.setFieldValue('ResidentialAddress.Country', 'Australia');\r\n else context.setFieldValue('ResidentialAddress.Country', values.FormData.user.postalAddress.country);\r\n context.setFieldValue('CourtContactNumber.ContactNumber', values.FormData.user.primaryContact.number);\r\n context.setFieldValue('CourtContactNumber.NumberType', values.FormData.user.primaryContact.type);\r\n context.setFieldValue('CourtContactNumber.SecondaryContactNumber', values.FormData.user.secondaryContact.number);\r\n context.setFieldValue('CourtContactNumber.SecondaryNumberType', values.FormData.user.secondaryContact.type);\r\n if (values.FormData.user.email === null) context.setFieldValue('Email', '');\r\n else context.setFieldValue('Email', values.FormData.user.email);\r\n context.setFieldValue('EMAIL_TO', values.FormData.sendcopy !== undefined ? `${values.FormData.sendcopy}` : '');\r\n }\r\n }, [TitleMrMrsMsMissOther]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\nexport default CourtStep5;\r\n","import { ReactElement, useEffect } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { CompanyInformation } from '@components';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\n\r\nfunction CourtStep6(): ReactElement {\r\n const context = useFormikContext();\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n const { TitleMrMrsMsMissOther, PartialFormID } = values;\r\n useEffect(() => {\r\n if (PartialFormID) {\r\n if (!TitleMrMrsMsMissOther) {\r\n context.setFieldValue('TitleMrMrsMsMissOther', values.FormData.user.title.toUpperCase());\r\n context.setFieldTouched('TitleMrMrsMsMissOther');\r\n }\r\n context.setFieldValue('TitleMrMrsMsMissOther', values.FormData.user.title.toUpperCase());\r\n context.setFieldValue('GivenNames', values.FormData.user.givenName);\r\n context.setFieldValue('FamilyName', values.FormData.user.familyName);\r\n if (values.FormData.user.licence.number) context.setFieldValue('DRIVER_LICENCE', values.FormData.user.licence.number);\r\n else context.setFieldValue('DRIVER_LICENCE', values.DRIVER_LICENCE);\r\n if (values.FormData.user.licence.country === '') context.setFieldValue('StatecountryOfIssue', 'Australia');\r\n else context.setFieldValue('StatecountryOfIssue', values.FormData.user.licence.country);\r\n context.setFieldValue('LicenceState', values.FormData.user.licence.state);\r\n if (values.FormData.user.dateOfBirth.day === '' || values.FormData.user.dateOfBirth.month === '' || values.FormData.user.dateOfBirth.year === '') {\r\n context.setFieldValue('DOB', null);\r\n } else context.setFieldValue('DOB', new Date(`${values.FormData.user.dateOfBirth.month}/${values.FormData.user.dateOfBirth.day}/${values.FormData.user.dateOfBirth.year}`));\r\n context.setFieldValue('PositionOfThePersonWithinTheCompany', values.FormData.company.companyPosition.position);\r\n context.setFieldValue('OtherPosition', values.FormData.company.companyPosition.other);\r\n context.setFieldValue('HasDifferentCompanyAddress', values.FormData.company.residentialAddress.hasDifferentResidentialAddress.toString());\r\n context.setFieldValue('CompanyPostalAddress.LineOne', values.FormData.company.residentialAddress.line1);\r\n context.setFieldValue('CompanyPostalAddress.LineTwo', values.FormData.company.residentialAddress.line2);\r\n context.setFieldValue('CompanyPostalAddress.Suburb', values.FormData.company.residentialAddress.suburb);\r\n context.setFieldValue('CompanyPostalAddress.State', values.FormData.company.residentialAddress.state);\r\n context.setFieldValue('CompanyPostalAddress.Postcode', values.FormData.company.residentialAddress.postcode);\r\n if (values.FormData.company.residentialAddress.country === '') context.setFieldValue('CompanyPostalAddress.Country', 'Australia');\r\n else context.setFieldValue('CompanyPostalAddress.Country', values.FormData.company.postalAddress.country);\r\n context.setFieldValue('CourtContactNumber.ContactNumber', values.FormData.user.primaryContact.number);\r\n context.setFieldValue('CourtContactNumber.NumberType', values.FormData.user.primaryContact.type);\r\n context.setFieldValue('CourtContactNumber.SecondaryContactNumber', values.FormData.user.secondaryContact.number);\r\n context.setFieldValue('CourtContactNumber.SecondaryNumberType', values.FormData.user.secondaryContact.type);\r\n context.setFieldValue('CompanyName', values.FormData.company.companyName);\r\n context.setFieldValue('AbnacnType', values.FormData.company.option);\r\n if (values.FormData.user.email === null) context.setFieldValue('Email', '');\r\n else context.setFieldValue('Email', values.FormData.user.email);\r\n context.setFieldValue('EMAIL_TO', values.FormData.sendcopy !== undefined ? `${values.FormData.sendcopy}` : '');\r\n }\r\n }, [TitleMrMrsMsMissOther]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CourtStep6;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Alert } from '@components';\r\nimport FormSubmissionSuccessAlertContent from '@components/Content/AlertContent/FormSubmissionSuccessAlertContent';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport DoneIcon from '../../../../images/done.svg';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nfunction CourtStep7(): ReactElement {\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n const emailAddress = values.Email;\r\n const submissionNumber = values.submissionNo;\r\n const sendEmailCopy = values.EMAIL_TO;\r\n\r\n return (\r\n
\r\n Your application has been successfully submitted\r\n }\r\n icon={DoneIcon}\r\n theme=\"success\"\r\n color=\"green\"\r\n />\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default CourtStep7;\r\n","import { ReactElement, useState } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Button, PayForm } from '@components';\r\nimport { navigateToError } from '@utils';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport styles from './CourtStep8.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction CourtStep8(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n
\r\n
You're not eligible to go to court
\r\n

\r\n Your fines has reached the enforcement stage of the fines lifecycle. At this stage, you're not eligible to have your matter heard in court. If you would like to dispute\r\n this fine, you'll need to request a review.\r\n

\r\n

\r\n

\r\n {'To speak to someone, contact Fines Victoria on '}\r\n 03 9200 8222\r\n {' or '}\r\n 1800 150 410\r\n {' (for regional callers).'}\r\n

\r\n

\r\n

We are available Monday to Friday, 8am to 6pm (except public holidays).

\r\n
\r\n {/* Pay your fines */}\r\n \r\n {/* View your fines */}\r\n => {\r\n setLoading(true);\r\n const payload = {\r\n page: 'fines.YourFinesListID',\r\n };\r\n const url = `${API_URL}sitecore/Navigation/GetUrl`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseUrl = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n window.location.href = responseUrl;\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n }}\r\n size=\"medium\"\r\n color=\"transparent\"\r\n className={styles.button}>\r\n View your fines\r\n \r\n\r\n {/* Request to have your fines reviewed */}\r\n => {\r\n setLoading(true);\r\n const payload = {\r\n page: 'fines.ReviewFormFineStage',\r\n };\r\n const url = `${API_URL}sitecore/Navigation/GetUrl`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseUrl = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n window.location.href = responseUrl;\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n }}\r\n size=\"small\"\r\n color=\"transparent\"\r\n className={styles.button}>\r\n Request to have your fines reviewed\r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default CourtStep8;\r\n","import { ReactElement, useState } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Button } from '@components';\r\nimport { navigateToError } from '@utils';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\n\r\nimport styles from './CourtStep9.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction CourtStep9(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
You're not eligible to go to court
\r\n

\r\n Your fine is for\r\n {values.DDD && ( a drunk or drug-driving)}\r\n {values.ESI && ( an excessive speed)}\r\n {values.MarineOffence && ( a drink or drug-boating)}\r\n {' offence and you are outside 28 days of your Infringement Notice issue date. You\\'re not able to elect to go to court.'}\r\n

\r\n

\r\n {'To speak to someone, contact Fines Victoria on '}\r\n 03 9200 8111\r\n {' or '}\r\n 1300 369 819\r\n {' (for regional callers).'}\r\n

\r\n

We're available Monday to Friday, 8am to 6pm (except public holidays).

\r\n

Pay now to avoid additional costs.

\r\n
\r\n {/* Pay your fines */}\r\n => {\r\n const url = `${API_URL}sitecore/Payment/Pay`;\r\n const data = new FormData();\r\n data.append('identifier', values.OBLIGATION_NUMBER);\r\n data.append('payFine', 'Pay your fines');\r\n\r\n try {\r\n const res = await fetch(url, {\r\n method: 'POST',\r\n body: data,\r\n });\r\n window.location.href = res.url;\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n }}\r\n size=\"medium\"\r\n color=\"blue\"\r\n className={styles.button}>\r\n Pay your fines\r\n \r\n\r\n {/* View your fines */}\r\n => {\r\n setLoading(true);\r\n const payload = {\r\n page: 'fines.YourFinesListID',\r\n };\r\n const url = `${API_URL}sitecore/Navigation/GetUrl`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseUrl = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n window.location.href = responseUrl;\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n }}\r\n size=\"medium\"\r\n color=\"transparent\"\r\n className={styles.button}>\r\n View your fines\r\n \r\n
\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default CourtStep9;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Summary } from '@components';\r\nimport { iCourtFormValues, getSummaryScreen } from '@services/CourtService';\r\n\r\nfunction CourtStep10(): ReactElement {\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default CourtStep10;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { CheckboxInput, TileRadio } from '@components';\r\n\r\nfunction CourtStep11(): ReactElement {\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'I do',\r\n },\r\n {\r\n body: ,\r\n value: 'I do not',\r\n },\r\n ];\r\n const SOIntend = {\r\n formikName: 'intend',\r\n title: 'Are you intending to defend the charge outlined in your Infringement Notice?',\r\n };\r\n return (\r\n <>\r\n
Declaration
\r\n {values.SeriousObligation && }\r\n {values.SeriousObligation ? (\r\n
\r\n

I object to this Infringement Notice.

\r\n

I refuse to pay the penalty and request that the matter be dealt with by a court.

\r\n

I understand that I may receive a summons that requires me to attend court.

\r\n
\r\n ) : (\r\n
\r\n

\r\n I elect to have the matter heard and determined by a court.\r\n

\r\n

I understand that I may receive a summons that requires me to attend court.

\r\n
\r\n )}\r\n

I declare that the information that I have supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CourtStep11;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Alert } from '@components';\r\nimport FormSubmissionSuccessAlertContent from '@components/Content/AlertContent/FormSubmissionSuccessAlertContent';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport DoneIcon from '../../../../images/done.svg';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nfunction CourtStep12(): ReactElement {\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n const emailAddress = values.Email;\r\n const submissionNumber = values.submissionNo;\r\n const sendEmailCopy = values.EMAIL_TO;\r\n\r\n return (\r\n
\r\n Your application has been successfully submitted\r\n }\r\n icon={DoneIcon}\r\n theme=\"success\"\r\n color=\"green\"\r\n />\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default CourtStep12;\r\n","/* eslint-disable operator-linebreak */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable no-param-reassign */\r\n\r\nimport { ReactElement, useState, useEffect, useRef } from 'react';\r\nimport { Routes, Route, useNavigate, useParams, useLocation } from 'react-router-dom';\r\nimport { Formik, Form, FormikProps, validateYupSchema, getIn } from 'formik';\r\nimport { defaultForm, getReceiptPayload, getSubmissionPayload, iCourtFormValues, CourtSchema, courtMetaData } from '@services/CourtService';\r\nimport { FormContainer } from '@pages';\r\nimport ReactGA from 'react-ga';\r\nimport { FormNavFooter, FormLoading, Alert, ErrorPage, ProgressBar } from '@components';\r\nimport { FormType } from '@constants';\r\nimport { iToolTips, iCountry, iFormNavActions, iApiError, iPartialFormData } from '@interfaces/interfaces';\r\nimport { getCountryList, getTooltips, savePartialForm, submitSavedPartialForm } from '@api';\r\nimport { navigateToError, navigateToNextStep, getStringIndex, getDateForValidateDebtor, navToError } from '@utils';\r\nimport ErrorContent from '@components/Content/AlertContent/ErrorContent';\r\nimport { CourtStep0, CourtStep1, CourtStep2, CourtStep3, CourtStep4, CourtStep5, CourtStep6, CourtStep7, CourtStep8, CourtStep9, CourtStep10, CourtStep11, CourtStep12, CourtErrorPage } from '.';\r\nimport VicFinesContext from '../VicFinesFormContext';\r\nimport IssueIcon from '../../../images/issue.svg';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL, REACT_APP_PATH_COURT: PATH_COURT } = process.env;\r\n\r\nfunction Court(): ReactElement {\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const pathElementArray = location.pathname.split('/');\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n // example returned [step0,3224242] or [step0]\r\n const stepArray = pathElementArray.slice(stepIndexDiff);\r\n // example returned 0\r\n const stepIndexInPath = getStringIndex(stepArray, 'step');\r\n // always get the element contain step like step0\r\n const getStepInPath = stepArray[stepIndexInPath];\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const currentStep = location.pathname === `${PATH_COURT}` || location.pathname === `${PATH_COURT}/` ? 'step0' : `${getStepInPath}`;\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [countryList, setCountryList] = useState([]);\r\n const [tooltips, setTooltips] = useState({} as iToolTips);\r\n const [apiError, setApiError] = useState({} as iApiError);\r\n const formikValuesRef = useRef({} as FormikProps);\r\n const [activeError, setActiveError] = useState(false);\r\n type obligationNum = {\r\n ob: string;\r\n };\r\n const { ob } = useParams();\r\n useEffect(() => {\r\n const fetchData = async (): Promise => {\r\n try {\r\n const [countryResults, tooltipResults] = await Promise.all([getCountryList(), getTooltips('fines.CourtForm')]);\r\n setCountryList(countryResults);\r\n setTooltips(tooltipResults);\r\n setLoading(false);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n fetchData();\r\n }, []);\r\n\r\n const displayErrorsCount = (errorCount: number, touchedFields: number): void => {\r\n if (touchedFields === 0) {\r\n setActiveError(true);\r\n } else if (errorCount > 0) {\r\n setActiveError(true);\r\n } else {\r\n setActiveError(false);\r\n }\r\n };\r\n\r\n const clearApiError = () => {\r\n setApiError({\r\n Error: '',\r\n });\r\n };\r\n\r\n const postObligation = async (formikContext: any): Promise => {\r\n window.scrollTo(0, 0);\r\n setLoading(true);\r\n // remove whitespaces before and after obligation number\r\n const trimmedObligationNumber = formikContext.values.OBLIGATION_NUMBER.trim();\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', trimmedObligationNumber);\r\n const payload = {\r\n obligationNumber: trimmedObligationNumber,\r\n };\r\n const url = `${API_URL}sitecore/Court/ValidateObligation`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 422 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n const nextPageUrl = `${pathNameLessLastSegment}${responseBody}`;\r\n clearApiError();\r\n navigate(nextPageUrl);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const checkExistingForm = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n formType: 'Court',\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CheckingExistingForm`;\r\n\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n if (responseBody.PartialFormID) {\r\n formikValuesRef.current.setFieldValue('SaveYesNo', 'true');\r\n formikValuesRef.current.setFieldValue('PartialFormID', responseBody.PartialFormID);\r\n }\r\n if (responseBody.DebtorID) formikValuesRef.current.setFieldValue('DebtorID', responseBody.DebtorID);\r\n if (responseBody.CheckingExisting) formikValuesRef.current.setFieldValue('CheckingExisting', responseBody.CheckingExisting);\r\n if (responseBody.ExpiryDate) formikValuesRef.current.setFieldValue('PartialFormExpiryDate', responseBody.ExpiryDate);\r\n if (responseBody.CheckingExisting === 'no' && responseBody.CanSave) {\r\n navigate(`${pathNameLessLastSegment}/step3`);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n navigate(`${pathNameLessLastSegment}/step4`);\r\n window.scrollTo(0, 0);\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const validateDebtor = async (formikContext: any): Promise => {\r\n window.scrollTo(0, 0);\r\n setLoading(true);\r\n // Backend api is checking date time for some reasons, time need to be 14:00:00\r\n const getOffenceDate = formikContext.values.OFFENCE_DATE && getDateForValidateDebtor(formikContext.values.OFFENCE_DATE.toLocaleDateString('en-AU'));\r\n const getHearingDate = formikContext.values.HEARING_DATE && getDateForValidateDebtor(formikContext.values.HEARING_DATE.toLocaleDateString('en-AU'));\r\n const getDOBDate = formikContext.values.DOB && getDateForValidateDebtor(formikContext.values.DOB.toLocaleDateString('en-AU'));\r\n const payload = {\r\n dateOfBirth: getDOBDate,\r\n hearingDate: getHearingDate,\r\n licenceNumber: formikContext.values.DRIVER_LICENCE,\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n offenceDate: getOffenceDate,\r\n registrationNumber: formikContext.values.VEHICLE_REGISTRATION,\r\n };\r\n const url = `${API_URL}sitecore/Court/ValidateDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n setApiError({\r\n Error: '',\r\n });\r\n if (responseBody === '/step4') {\r\n checkExistingForm(formikContext);\r\n }\r\n if (responseBody === '/step8' || responseBody === '/step9') {\r\n navigate(`${location.pathname.split('/').slice(0, -1).join('/')}${responseBody}`);\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const step4NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.DebtorType === 'Individual') {\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n window.scrollTo(0, 0);\r\n } else if (formikContext.values.DebtorType === 'Company') {\r\n navigate(`${pathNameLessLastSegment}/step6`);\r\n window.scrollTo(0, 0);\r\n } else {\r\n navigate(`${pathNameLessLastSegment}/step7`);\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const createPartialForm = async (formikContext: any): Promise => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'false' || getIn(formikContext.values, 'PartialFormID')) {\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n setLoading(true);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formikContext.values.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: formikContext.values.saveEmail,\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ a: '1' }),\r\n FormTypeID: 5,\r\n ID: 0,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n Mobile: formikContext.values.saveMobile,\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n if (responseBody.ID) formikValuesRef.current.setFieldValue('PartialFormID', responseBody.ID);\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n const updateFormDataObj = (formikContext: any): iPartialFormData => {\r\n formikContext.FormData.user.givenName = formikContext.GivenNames;\r\n formikContext.FormData.user.familyName = formikContext.FamilyName;\r\n formikContext.FormData.user.email = formikContext.NoEmail ? null : formikContext.Email;\r\n formikContext.FormData.user.noEmail = formikContext.NoEmail;\r\n formikContext.FormData.sendcopy = formikContext.EMAIL_TO === 'true';\r\n formikContext.FormData.user.title = formikContext.TitleMrMrsMsMissOther.toUpperCase();\r\n formikContext.FormData.user.dateOfBirth.day = formikContext.DOB.getDate().toString();\r\n formikContext.FormData.user.dateOfBirth.month = (formikContext.DOB.getMonth() + 1).toString();\r\n formikContext.FormData.user.dateOfBirth.year = formikContext.DOB.getFullYear().toString();\r\n formikContext.FormData.user.licence.number = formikContext.DRIVER_LICENCE;\r\n formikContext.FormData.user.licence.country = formikContext.StatecountryOfIssue;\r\n formikContext.FormData.user.licence.state = formikContext.LicenceState;\r\n formikContext.FormData.user.vehicleRegos[0].number = formikContext.VEHICLE_REGISTRATION;\r\n if (formikContext.DebtorType === 'Individual' || formikContext.DebtorType === '') {\r\n formikContext.FormData.user.postalAddress.line1 = formikContext.SummonsAddress.LineOne;\r\n formikContext.FormData.user.postalAddress.line2 = formikContext.SummonsAddress.LineTwo;\r\n formikContext.FormData.user.postalAddress.suburb = formikContext.SummonsAddress.Suburb;\r\n formikContext.FormData.user.postalAddress.state = formikContext.SummonsAddress.State;\r\n formikContext.FormData.user.postalAddress.country = formikContext.SummonsAddress.Country;\r\n formikContext.FormData.user.postalAddress.postcode = formikContext.SummonsAddress.Postcode;\r\n formikContext.FormData.user.residentialAddress.hasDifferentResidentialAddress = formikContext.HasDifferentResidentialAddress;\r\n formikContext.FormData.user.residentialAddress.line1 = formikContext.ResidentialAddress.LineOne;\r\n formikContext.FormData.user.residentialAddress.line2 = formikContext.ResidentialAddress.LineTwo;\r\n formikContext.FormData.user.residentialAddress.suburb = formikContext.ResidentialAddress.Suburb;\r\n formikContext.FormData.user.residentialAddress.state = formikContext.ResidentialAddress.State;\r\n formikContext.FormData.user.residentialAddress.country = formikContext.ResidentialAddress.Country;\r\n formikContext.FormData.user.residentialAddress.postcode = formikContext.ResidentialAddress.Postcode;\r\n }\r\n if (formikContext.DebtorType === 'Company' || formikContext.DebtorType === '') {\r\n formikContext.FormData.company.postalAddress.line1 = formikContext.CompanyAddress.LineOne;\r\n formikContext.FormData.company.postalAddress.line2 = formikContext.CompanyAddress.LineTwo;\r\n formikContext.FormData.company.postalAddress.suburb = formikContext.CompanyAddress.Suburb;\r\n formikContext.FormData.company.postalAddress.state = formikContext.CompanyAddress.State;\r\n formikContext.FormData.company.postalAddress.country = formikContext.CompanyAddress.Country;\r\n formikContext.FormData.company.postalAddress.postcode = formikContext.CompanyAddress.Postcode;\r\n formikContext.FormData.company.residentialAddress.hasDifferentResidentialAddress = formikContext.HasDifferentCompanyAddress;\r\n formikContext.FormData.company.residentialAddress.line1 = formikContext.CompanyPostalAddress.LineOne;\r\n formikContext.FormData.company.residentialAddress.line2 = formikContext.CompanyPostalAddress.LineTwo;\r\n formikContext.FormData.company.residentialAddress.suburb = formikContext.CompanyPostalAddress.Suburb;\r\n formikContext.FormData.company.residentialAddress.state = formikContext.CompanyPostalAddress.State;\r\n formikContext.FormData.company.residentialAddress.country = formikContext.CompanyPostalAddress.Country;\r\n formikContext.FormData.company.residentialAddress.postcode = formikContext.CompanyPostalAddress.Postcode;\r\n formikContext.FormData.company.companyPosition.position = formikContext.PositionOfThePersonWithinTheCompany;\r\n formikContext.FormData.company.companyPosition.other = formikContext.OtherPosition;\r\n formikContext.FormData.company.companyName = formikContext.CompanyName;\r\n formikContext.FormData.company.option = formikContext.AbnacnType;\r\n formikContext.FormData.company.abn = formikContext.AbnNo;\r\n formikContext.FormData.company.acn = formikContext.AcnNo;\r\n }\r\n formikContext.FormData.user.primaryContact.number = formikContext.CourtContactNumber.ContactNumber;\r\n formikContext.FormData.user.primaryContact.type = formikContext.CourtContactNumber.NumberType;\r\n formikContext.FormData.user.secondaryContact.number = formikContext.CourtContactNumber.SecondaryContactNumber;\r\n formikContext.FormData.user.secondaryContact.type = formikContext.CourtContactNumber.SecondaryNumberType;\r\n const partialformPayload: iPartialFormData = {\r\n ID: formikContext.ID,\r\n Obligations: formikContext.Obligations,\r\n Attachments: formikContext.Attachments,\r\n FormData: JSON.stringify(formikContext.FormData),\r\n DebtorID: formikContext.DebtorID,\r\n FormTypeID: formikContext.FormTypeID,\r\n Email: formikContext.saveEmail,\r\n Mobile: formikContext.saveMobile,\r\n IsSubscribedEM: formikContext.IsSubscribedEM,\r\n IsSubscribedSMS: formikContext.IsSubscribedSMS,\r\n EMRemeinderSent: formikContext.EMRemeinderSent,\r\n SMSRemeinderSent: formikContext.SMSRemeinderSent,\r\n CreateDate: formikContext.CreateDate,\r\n ExpiryDate: formikContext.ExpiryDate,\r\n };\r\n return partialformPayload;\r\n };\r\n\r\n const createPartialFormForSumbit = async (formikContext: any): Promise => {\r\n const partialFormObj = updateFormDataObj(formikContext);\r\n const payload = partialFormObj;\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n }).then((partialRes) => {\r\n if (partialRes.status !== 200) {\r\n formikValuesRef.current.setFieldValue('submissionError', partialRes.statusText);\r\n navToError(navigate, location);\r\n }\r\n }).catch((error) => {\r\n formikValuesRef.current.setFieldValue('submissionError', error);\r\n navToError(navigate, location);\r\n });\r\n };\r\n const updatePartialForm = async (formikContext: any): Promise => {\r\n window.scrollTo(0, 0);\r\n formikValuesRef.current.setFieldTouched('FamilyName');\r\n if (formikContext.values.PartialFormID) {\r\n setLoading(true);\r\n formikContext.values.FormData.user.givenName = formikContext.values.GivenNames;\r\n formikContext.values.FormData.user.familyName = formikContext.values.FamilyName;\r\n formikContext.values.FormData.user.email = formikContext.values.NoEmail ? null : formikContext.values.Email;\r\n formikContext.values.FormData.user.noEmail = formikContext.values.NoEmail;\r\n formikContext.values.FormData.sendcopy = formikContext.values.EMAIL_TO === 'true';\r\n formikContext.values.FormData.user.title = formikContext.values.TitleMrMrsMsMissOther.toUpperCase();\r\n formikContext.values.FormData.user.dateOfBirth.day = formikContext.values.DOB.getDate().toString();\r\n formikContext.values.FormData.user.dateOfBirth.month = (formikContext.values.DOB.getMonth() + 1).toString();\r\n formikContext.values.FormData.user.dateOfBirth.year = formikContext.values.DOB.getFullYear().toString();\r\n formikContext.values.FormData.user.licence.number = formikContext.values.DRIVER_LICENCE;\r\n formikContext.values.FormData.user.licence.country = formikContext.values.StatecountryOfIssue;\r\n formikContext.values.FormData.user.licence.state = formikContext.values.LicenceState;\r\n formikContext.values.FormData.user.vehicleRegos[0].number = formikContext.values.VEHICLE_REGISTRATION;\r\n if (formikContext.values.DebtorType === 'Individual' || formikContext.values.DebtorType === '') {\r\n formikContext.values.FormData.user.postalAddress.line1 = formikContext.values.SummonsAddress.LineOne;\r\n formikContext.values.FormData.user.postalAddress.line2 = formikContext.values.SummonsAddress.LineTwo;\r\n formikContext.values.FormData.user.postalAddress.suburb = formikContext.values.SummonsAddress.Suburb;\r\n formikContext.values.FormData.user.postalAddress.state = formikContext.values.SummonsAddress.State;\r\n formikContext.values.FormData.user.postalAddress.country = formikContext.values.SummonsAddress.Country;\r\n formikContext.values.FormData.user.postalAddress.postcode = formikContext.values.SummonsAddress.Postcode;\r\n formikContext.values.FormData.user.residentialAddress.hasDifferentResidentialAddress = formikContext.values.HasDifferentResidentialAddress;\r\n formikContext.values.FormData.user.residentialAddress.line1 = formikContext.values.ResidentialAddress.LineOne;\r\n formikContext.values.FormData.user.residentialAddress.line2 = formikContext.values.ResidentialAddress.LineTwo;\r\n formikContext.values.FormData.user.residentialAddress.suburb = formikContext.values.ResidentialAddress.Suburb;\r\n formikContext.values.FormData.user.residentialAddress.state = formikContext.values.ResidentialAddress.State;\r\n formikContext.values.FormData.user.residentialAddress.country = formikContext.values.ResidentialAddress.Country;\r\n formikContext.values.FormData.user.residentialAddress.postcode = formikContext.values.ResidentialAddress.Postcode;\r\n }\r\n if (formikContext.values.DebtorType === 'Company' || formikContext.values.DebtorType === '') {\r\n formikContext.values.FormData.company.postalAddress.line1 = formikContext.values.CompanyAddress.LineOne;\r\n formikContext.values.FormData.company.postalAddress.line2 = formikContext.values.CompanyAddress.LineTwo;\r\n formikContext.values.FormData.company.postalAddress.suburb = formikContext.values.CompanyAddress.Suburb;\r\n formikContext.values.FormData.company.postalAddress.state = formikContext.values.CompanyAddress.State;\r\n formikContext.values.FormData.company.postalAddress.country = formikContext.values.CompanyAddress.Country;\r\n formikContext.values.FormData.company.postalAddress.postcode = formikContext.values.CompanyAddress.Postcode;\r\n formikContext.values.FormData.company.residentialAddress.hasDifferentResidentialAddress = formikContext.values.HasDifferentCompanyAddress;\r\n formikContext.values.FormData.company.residentialAddress.line1 = formikContext.values.CompanyPostalAddress.LineOne;\r\n formikContext.values.FormData.company.residentialAddress.line2 = formikContext.values.CompanyPostalAddress.LineTwo;\r\n formikContext.values.FormData.company.residentialAddress.suburb = formikContext.values.CompanyPostalAddress.Suburb;\r\n formikContext.values.FormData.company.residentialAddress.state = formikContext.values.CompanyPostalAddress.State;\r\n formikContext.values.FormData.company.residentialAddress.country = formikContext.values.CompanyPostalAddress.Country;\r\n formikContext.values.FormData.company.residentialAddress.postcode = formikContext.values.CompanyPostalAddress.Postcode;\r\n formikContext.values.FormData.company.companyPosition.position = formikContext.values.PositionOfThePersonWithinTheCompany;\r\n formikContext.values.FormData.company.companyPosition.other = formikContext.values.OtherPosition;\r\n formikContext.values.FormData.company.companyName = formikContext.values.CompanyName;\r\n formikContext.values.FormData.company.option = formikContext.values.AbnacnType;\r\n formikContext.values.FormData.company.abn = formikContext.values.AbnNo;\r\n formikContext.values.FormData.company.acn = formikContext.values.AcnNo;\r\n }\r\n formikContext.values.FormData.user.primaryContact.number = formikContext.values.CourtContactNumber.ContactNumber;\r\n formikContext.values.FormData.user.primaryContact.type = formikContext.values.CourtContactNumber.NumberType;\r\n formikContext.values.FormData.user.secondaryContact.number = formikContext.values.CourtContactNumber.SecondaryContactNumber;\r\n formikContext.values.FormData.user.secondaryContact.type = formikContext.values.CourtContactNumber.SecondaryNumberType;\r\n const partialformPayload: iPartialFormData = {\r\n ID: formikContext.values.ID,\r\n Obligations: formikContext.values.Obligations,\r\n Attachments: formikContext.values.Attachments,\r\n FormData: JSON.stringify(formikContext.values.FormData),\r\n DebtorID: formikContext.values.DebtorID,\r\n FormTypeID: formikContext.values.FormTypeID,\r\n Email: formikContext.values.saveEmail,\r\n Mobile: formikContext.values.saveMobile,\r\n IsSubscribedEM: formikContext.values.IsSubscribedEM,\r\n IsSubscribedSMS: formikContext.values.IsSubscribedSMS,\r\n EMRemeinderSent: formikContext.values.EMRemeinderSent,\r\n SMSRemeinderSent: formikContext.values.SMSRemeinderSent,\r\n CreateDate: formikContext.values.CreateDate,\r\n ExpiryDate: formikContext.values.ExpiryDate,\r\n };\r\n try {\r\n const response = await savePartialForm(partialformPayload);\r\n setLoading(false);\r\n if (response) {\r\n navigate(`${pathNameLessLastSegment}/step10`);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n } else {\r\n navigate(`${pathNameLessLastSegment}/step10`);\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const submitForm = async (formValues: iCourtFormValues): Promise => {\r\n setLoading(true);\r\n const submissionNumber = 'SubmissionNumber';\r\n const formSubmissionValues = getSubmissionPayload(formValues, submissionNumber);\r\n const submitPayload = {\r\n data: JSON.stringify(formSubmissionValues),\r\n obligationNo: formValues.OBLIGATION_NUMBER\r\n };\r\n\r\n const urlSubmission = formValues.SeriousObligation ? `${API_URL}sitecore/Court/SubmitNoticeOfObjection` : `${API_URL}sitecore/Court/SubmitCourtHearing`;\r\n let submitResponse = false;\r\n submitResponse = await fetch(urlSubmission, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(submitPayload),\r\n })\r\n .then((formSubResponse) => {\r\n if (formSubResponse.status === 200) {\r\n if (formValues.SaveYesNo === 'true') {\r\n // having partial form, close it\r\n submitSavedPartialForm(formValues.PartialFormID.toString());\r\n }\r\n formikValuesRef.current.setFieldValue('submitted', true);\r\n ReactGA.event({\r\n category: 'Court Form',\r\n action: 'Submit',\r\n label: 'Submit Court Form',\r\n });\r\n return formSubResponse.json();\r\n }\r\n formikValuesRef.current.setFieldValue('submissionError', formSubResponse.statusText);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }).then((response) => {\r\n if (response) {\r\n formikValuesRef.current.setFieldValue('submissionNo', response.receiptNo); // get submission number from API response\r\n return true;\r\n }\r\n return false;\r\n }).catch((error) => {\r\n formikValuesRef.current.setFieldValue('submissionError', error);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n if (!submitResponse) return false;\r\n return true;\r\n };\r\n\r\n const formNavActions: iFormNavActions = {\r\n step1: {\r\n next: postObligation,\r\n },\r\n step2: {\r\n next: validateDebtor,\r\n },\r\n step3: {\r\n next: createPartialForm,\r\n },\r\n step4: {\r\n next: step4NextPage,\r\n },\r\n step5: {\r\n next: updatePartialForm,\r\n },\r\n step6: {\r\n next: updatePartialForm,\r\n },\r\n };\r\n\r\n return (\r\n {\r\n submitForm(values);\r\n }}>\r\n {({ values }) => (\r\n \r\n \r\n {loading && }\r\n {!loading && (\r\n
\r\n {!location.pathname.includes('error') && }\r\n {activeError && } theme=\"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\n } />\r\n } />\r\n } />\r\n \r\n {!(\r\n location.pathname === `${PATH_COURT}/step8` ||\r\n location.pathname === `${PATH_COURT}/step9` ||\r\n location.pathname === `${PATH_COURT}/step12` ||\r\n location.pathname === `${PATH_COURT}/error`\r\n ) && (\r\n submitForm(values)}\r\n tooltips={tooltips}\r\n displayErrorsCount={displayErrorsCount}\r\n pageValidationKeys={courtMetaData.pagesSegments[currentStep].validationKeys(values)}\r\n formType={FormType.COURT}\r\n firstPageNo={0}\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\nexport default Court;\r\n","/* eslint-disable no-param-reassign */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable operator-linebreak */\r\n/* eslint-disable implicit-arrow-linebreak */\r\n/* eslint-disable no-nested-ternary */\r\nimport * as Yup from 'yup';\r\nimport { OBLIGATION_REGEX, CONTACT_NUMBER_REGEX, NAME_FIELDS_NEW_REGEX, FIELDS_WITH_SEPCIFI_CHARS, VEHICLE_REGISTRATION_REGEX } from '@services/ValidationRules';\r\nimport { iAddress, iContact, iFormMetaData, iAttachments, iFVSCheckboxAll, iObligation, iValue, iSummary, iSummaryField } from '@interfaces/interfaces';\r\nimport { ProgressStep, FormType } from '@constants';\r\nimport { reverseTrueOrFalseSubmission } from '@utils';\r\nimport { FormikValues, getIn } from 'formik';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nimport {\r\n INVALID_OBLIGATION_NUMBER,\r\n INVALID_NUMERIC_FORMAT,\r\n INVALID_YESNO_FORMAT,\r\n INVALID_NAME_FORMAT,\r\n EMPTY_DATE,\r\n EMPTY_CHECKBOX,\r\n INVALID_FUTURE_DATE,\r\n INVALID_PHONE_NUMBER_LENGTH,\r\n INVALID_PHONE_NUMBER,\r\n INVALID_VEHICLE_REGISTRATION_NUMBER,\r\n INVALID_EMAIL,\r\n MISSING_DECLARATION_AGREEMENT,\r\n INVALID_FILE_SIZE,\r\n FILE_UPLOAD_FAIL,\r\n INVALID_LICENCE_FORMAT,\r\n MISSING_APPLICATION_LODGING_AGREEMENT,\r\n INVALID_MOBILE_NUMBER_FORMAT,\r\n FIELDS_WITH_SEPCIFI_CHARS_MSG,\r\n} from './ErrorMessages';\r\nimport keys from './PageValidationKeys';\r\n\r\nconst joinAddressFields = (entry: string[]) => {\r\n if (entry[0] === 'Address' || entry[0] === 'SearchText') return null;\r\n if (entry[0] === 'Country') return entry[1];\r\n return entry[1];\r\n};\r\nconst today = new Date();\r\nconst displayFileDetails = (attachment: iAttachments) => {\r\n if (attachment.FileName !== '' && attachment.FileDescription !== '') {\r\n return `${attachment.FileName} : ${attachment.FileDescription}`;\r\n }\r\n if (attachment.FileName !== '' && attachment.FileDescription === '') {\r\n return `${attachment.FileName}`;\r\n }\r\n return '';\r\n};\r\nconst { riskAndSupportDetails, backgroundAndIdentityDetails, likelyPossibilities, paymentArrangements } = fvsInfoDisplayObject.pages;\r\nconst listUnregisteredFines = (values: iExtensionFormValues, unregisteredFinesArray: iValue[]) =>\r\n unregisteredFinesArray.map(\r\n (fine, index) =>\r\n `Enforcement agency: ${getIn(values, `AgencyNames.${index}.value`) ? getIn(values, `AgencyNames.${index}.value`) : 'n/a'}, Infringement notice number: ${\r\n getIn(values, `InfringementNums.${index}.value`) ? getIn(values, `InfringementNums.${index}.value`) : 'n/a'\r\n }, Alleged offence: ${getIn(values, `AOffence.${index}.value`) ? getIn(values, `AOffence.${index}.value`) : 'n/a'}, Date of alleged offence: ${\r\n getIn(values, `DAOffence.${index}.value`) ? new Date(getIn(values, `DAOffence.${index}.value`)).toLocaleDateString('en-AU', { timeZone: 'Australia/Melbourne' }) : 'n/a'\r\n }`,\r\n );\r\nexport interface iPartialFormData {\r\n a: string;\r\n // submitted\r\n submitted: boolean;\r\n // Extension Step1 Field\r\n OBLIGATION_NUMBER: string;\r\n // Extension Step2 Fields\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n isEOIW: boolean;\r\n isInitialOrReminderStatus: boolean;\r\n IsCompany: boolean;\r\n DDD: boolean;\r\n ESI: boolean;\r\n MarineOffence: boolean;\r\n IsESIorDDD: boolean;\r\n\r\n // Extension step 4 fields\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n\r\n // Step 5\r\n DateToPay: Date | null;\r\n // Extension step 6 fields\r\n TitleMrMrsMsMissOther: string;\r\n GivenNames: string;\r\n FamilyName: string;\r\n DOB: Date | null;\r\n StatecountryOfIssue: string;\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n HasDifferentResidentialAddress: string;\r\n ExtensionResidentialAddress: iAddress;\r\n ExtensionPostalAddress: iAddress;\r\n Email: string;\r\n EMAIL_TO: string;\r\n NoEmail: boolean;\r\n receiveDocs: string | null;\r\n ExtensionContactNumber: iContact;\r\n // Extension Step 7\r\n ExceptionalCircumstances: string;\r\n OtherSupportingAttachments: iAttachments[];\r\n DetailsForCircumstances: string;\r\n // Extension Step 9\r\n InfringementNoticeNumber: string;\r\n SelectedObligationsStep9: iFVSCheckboxAll[];\r\n ObligationStatus: string;\r\n TicketType: string;\r\n Status: string;\r\n OffenceCode: string;\r\n AdditionalFinesToInclude: string;\r\n // Extension Step 12\r\n SupportingAttachments: iAttachments[];\r\n}\r\n\r\ninterface iPartialFormObligations {\r\n ID: number;\r\n ObligationNO: string;\r\n IsPrimary: boolean;\r\n}\r\nexport interface iCommonExtensionFormValues {\r\n [key: string]:\r\n | string\r\n | number\r\n | boolean\r\n | iPartialFormObligations[]\r\n | iObligation\r\n | iPartialFormData\r\n | iObligation[]\r\n | iAttachments[]\r\n | iValue[]\r\n | iFVSCheckboxAll[]\r\n | string[]\r\n | Date\r\n | null\r\n | iAddress\r\n | iContact;\r\n // submitted\r\n submitted: boolean;\r\n // Extension Step1 Field\r\n OBLIGATION_NUMBER: string;\r\n // Extension Step2 Fields\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n isEOIW: boolean;\r\n isInitialOrReminderStatus: boolean;\r\n IsCompany: boolean;\r\n DDD: boolean;\r\n ESI: boolean;\r\n MarineOffence: boolean;\r\n IsESIorDDD: boolean;\r\n // Step 2 and 6\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n // Extension step 4 fields\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n // Extension partial form ID\r\n ID: string;\r\n PartialFormID: string;\r\n FormData: iPartialFormData;\r\n Obligations: iPartialFormObligations[];\r\n}\r\n\r\nexport interface iExtensionFormValues extends iCommonExtensionFormValues {\r\n // Extension Step4 response\r\n InfringementNoticeNumber: string;\r\n Attachments: string[];\r\n DebtorID: number;\r\n FormTypeID: number;\r\n IsSubscribedEM: boolean;\r\n IsSubscribedSMS: boolean;\r\n EMRemeinderSent: boolean;\r\n SMSRemeinderSent: boolean;\r\n CreateDate: string;\r\n ExpiryDate: string;\r\n // GetObligationOptions response\r\n DebtorType: string;\r\n // CreateReceiptNumber response\r\n submissionNo: string;\r\n // Declaration\r\n declaration: boolean;\r\n // Extension Step5 Fields\r\n DateToPay: Date | null;\r\n // Extension step 6 fields\r\n TitleMrMrsMsMissOther: string;\r\n GivenNames: string;\r\n FamilyName: string;\r\n DOB: Date | null;\r\n StatecountryOfIssue: string;\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n HasDifferentResidentialAddress: string;\r\n ExtensionResidentialAddress: iAddress;\r\n ExtensionPostalAddress: iAddress;\r\n Email: string;\r\n EMAIL_TO: string; // email copy\r\n receiveDocs: string | null;\r\n NoEmail: boolean;\r\n ExtensionContactNumber: iContact;\r\n // Extension Step 7\r\n ExceptionalCircumstances: string;\r\n OtherSupportingAttachments: iAttachments[];\r\n DetailsForCircumstances: string;\r\n // Extension Step 9 and 18 fields\r\n SelectedObligationsStep9: iFVSCheckboxAll[];\r\n SelectedObligations: string[];\r\n SelectedObNums: string;\r\n AuthorisedObligation: iObligation;\r\n EligibleObligations: iObligation[];\r\n ObligationStatus: string;\r\n AdditionalFinesToInclude: string;\r\n TicketType: string;\r\n Status: string;\r\n OffenceCode: string;\r\n // Extension Step 12 and 21 fields\r\n SupportingAttachments: iAttachments[];\r\n SupportingFilesProvider: string;\r\n SupportingFilesDescription: string;\r\n ReportNameField: string;\r\n ReportNameFieldErrorHandle: boolean;\r\n ReportUploadFileSectionError: string;\r\n // Extension Step 13 and 22 fields\r\n OtherSupportingDocNameField: string;\r\n OtherSupportingFilesProvider: string;\r\n OtherSupportingFilesDescription: string;\r\n OtherReportNameFieldErrorHandle: boolean;\r\n // File upload failed\r\n OtherReportNameFileUploadErrorHandle: boolean;\r\n submissionError: string;\r\n}\r\n\r\nexport interface iSubmitExtensionFormValues extends iCommonExtensionFormValues {\r\n YourObligationNumber: string;\r\n OBLIGATION_NUMBER: string;\r\n IdentifyingReference: string;\r\n InfringementNoticeNumber: string;\r\n\r\n // Extension Step5 Fields\r\n // Date to pay\r\n DDThree: string;\r\n MMThree: string;\r\n YYYYThree: string;\r\n // step 6\r\n TitleMrMrsMsOther: string;\r\n FirstOrGivenNames: string;\r\n LastNameOrFamilyName: string;\r\n DD: string;\r\n MM: string;\r\n YYYY: string;\r\n DriverLicenceNumber: string;\r\n StateOrCountryOfIssue: string;\r\n VehicleRegistrationIfProvided: string;\r\n // Residential Address\r\n LineOne: string;\r\n LineTwo: string;\r\n Suburb: string;\r\n State: string;\r\n Postcode: string;\r\n Country: string;\r\n // Postal address\r\n LineOneTwo: string;\r\n LineTwoTwo: string;\r\n SuburbTwo: string;\r\n StateTwo: string;\r\n PostcodeTwo: string;\r\n CountryTwo: string;\r\n ContactNumber: string;\r\n NumberType: string;\r\n SecondaryContactNumber: string;\r\n NumberTypeTwo: string;\r\n YourEmailAddressOptional: string;\r\n DocumentElectronically: string;\r\n // otherObligationsAuth.length > 0 && otherObligationsAuth.length <= 3 ? session.obligation.Number +\" ;\"+ otherObligationsAuth.join(\" ;\") : otherObligationsAuth.length > 3 ? \"Refer to attachment\" : session.obligation.Number\r\n ObligationNumberCaseNumberOrWarrantNumber: string;\r\n // circumstances.exceptional\r\n YesOrNoTwo: string;\r\n // circumstances.details\r\n ProvideDetailsForAnyCircumstancesYouWouldLikeToBeConsideredForInThisApplication: string;\r\n NumberOfAttachments: string;\r\n ApplicantsSignature: string;\r\n // now time submit time\r\n DdTwo: string;\r\n MmTwo: string;\r\n YyyyTwo: string;\r\n EMAIL_TO: string;\r\n // otherObligationsAuth.length > 3 ? session.obligation.Number +\"; \"+otherObligationsAuth.join(\"; \") : \"\",\r\n // additonal ob pdf page\r\n OBLIGATIONS_TO_INCLUDE: string;\r\n // totalAttachments.join(\"|\"),\r\n ATTACHMENTS: string;\r\n //\r\n FooterSubmissionNo1: string;\r\n FooterFormType1: string;\r\n FooterObligationNo1: string;\r\n FooterSubmittedTime1: string;\r\n\r\n FooterSubmissionNo2: string;\r\n FooterFormType2: string;\r\n FooterObligationNo2: string;\r\n FooterSubmittedTime2: string;\r\n\r\n FooterSubmissionNo3: string;\r\n FooterFormType3: string;\r\n FooterObligationNo3: string;\r\n FooterSubmittedTime3: string;\r\n\r\n FooterSubmissionNo4: string;\r\n FooterFormType4: string;\r\n FooterObligationNo4: string;\r\n FooterSubmittedTime4: string;\r\n\r\n FooterSubmissionNo5: string;\r\n FooterFormType5: string;\r\n FooterObligationNo5: string;\r\n FooterSubmittedTime5: string;\r\n\r\n FooterSubmissionNo6: string;\r\n FooterFormType6: string;\r\n FooterObligationNo6: string;\r\n FooterSubmittedTime6: string;\r\n\r\n FooterSubmissionNo7: string;\r\n FooterFormType7: string;\r\n FooterObligationNo7: string;\r\n FooterSubmittedTime7: string;\r\n}\r\n\r\nexport const defaultForm = (): iExtensionFormValues => {\r\n const defaultValues: iExtensionFormValues = {\r\n // iCommonValues\r\n // submitted\r\n submitted: false,\r\n PartialFormID: '',\r\n OBLIGATION_NUMBER: '',\r\n InfringementNoticeNumber: '',\r\n // Extension Step2 Fields\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n DRIVER_LICENCE: '',\r\n VEHICLE_REGISTRATION: '',\r\n isEOIW: false,\r\n isInitialOrReminderStatus: false,\r\n IsCompany: false,\r\n DDD: false,\r\n ESI: false,\r\n MarineOffence: false,\r\n IsESIorDDD: false,\r\n // Extension step 4 fields\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n // Extension Step 5 Field\r\n DateToPay: null,\r\n // Extension Step 6 fields\r\n TitleMrMrsMsMissOther: '',\r\n FamilyName: '',\r\n GivenNames: '',\r\n DOB: null,\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n StatecountryOfIssue: 'Australia',\r\n HasDifferentResidentialAddress: '',\r\n ExtensionResidentialAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ExtensionPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n Email: '',\r\n EMAIL_TO: '',\r\n NoEmail: false,\r\n receiveDocs: '',\r\n ExtensionContactNumber: {\r\n ContactNumber: '',\r\n NumberType: '',\r\n SecondaryContactNumber: '',\r\n SecondaryNumberType: '',\r\n },\r\n // Extension Step 7 fields\r\n ExceptionalCircumstances: '',\r\n OtherSupportingDocNameField: '',\r\n OtherSupportingAttachments: [],\r\n OtherSupportingFilesProvider: '',\r\n OtherSupportingFilesDescription: '',\r\n OtherReportNameFieldErrorHandle: false,\r\n DetailsForCircumstances: '',\r\n SupportingAttachments: [],\r\n SupportingFilesProvider: '',\r\n SupportingFilesDescription: '',\r\n ReportNameField: '',\r\n ReportNameFieldErrorHandle: false,\r\n ReportUploadFileSectionError: '',\r\n // GetObligationOptions response\r\n DebtorType: '',\r\n Attachments: [],\r\n DebtorID: 0,\r\n FormTypeID: 2,\r\n // CreateReceiptNumber response\r\n submissionNo: '',\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n EMRemeinderSent: false,\r\n SMSRemeinderSent: false,\r\n CreateDate: '',\r\n ExpiryDate: '',\r\n // Extension Step 9\r\n SelectedObligationsStep9: [],\r\n ObligationStatus: '',\r\n TicketType: '',\r\n Status: '',\r\n OffenceCode: '',\r\n AdditionalFinesToInclude: '',\r\n AdditionalFinesType: '',\r\n SelectedObligations: [],\r\n\r\n // addtional ob pdf page\r\n OBLIGATIONS_TO_INCLUDE: '',\r\n // Extension Step 9\r\n declaration: false,\r\n SelectedObNums: '',\r\n AuthorisedObligation: {} as iObligation,\r\n EligibleObligations: [],\r\n\r\n // File upload failed\r\n OtherReportNameFileUploadErrorHandle: false,\r\n\r\n submissionError: '',\r\n // Extension Partial Form data\r\n ID: '',\r\n Obligations: [],\r\n FormData: {\r\n a: '',\r\n submitted: false,\r\n OBLIGATION_NUMBER: '',\r\n // Extension Step2 Fields\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n VEHICLE_REGISTRATION: '',\r\n DRIVER_LICENCE: '',\r\n isEOIW: false,\r\n isInitialOrReminderStatus: false,\r\n IsCompany: false,\r\n DDD: false,\r\n ESI: false,\r\n MarineOffence: false,\r\n IsESIorDDD: false,\r\n\r\n // Extension step 4 fields\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n // Extension Step 5 Field\r\n DateToPay: null,\r\n // Extension Step 6 fields\r\n TitleMrMrsMsMissOther: '',\r\n FamilyName: '',\r\n GivenNames: '',\r\n DOB: null,\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n StatecountryOfIssue: 'Australia',\r\n AdditionalFinesToInclude: '',\r\n HasDifferentResidentialAddress: '',\r\n ExtensionResidentialAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ExtensionPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n Email: '',\r\n EMAIL_TO: '',\r\n NoEmail: false,\r\n receiveDocs: '',\r\n ExtensionContactNumber: {\r\n ContactNumber: '',\r\n NumberType: '',\r\n SecondaryContactNumber: '',\r\n SecondaryNumberType: '',\r\n },\r\n // Extension Step 7 fields\r\n ExceptionalCircumstances: '',\r\n OtherSupportingAttachments: [],\r\n DetailsForCircumstances: '',\r\n // Extension Step 9\r\n InfringementNoticeNumber: '',\r\n SelectedObligationsStep9: [],\r\n ObligationStatus: '',\r\n TicketType: '',\r\n Status: '',\r\n OffenceCode: '',\r\n // Extension Step 12\r\n SupportingAttachments: [],\r\n },\r\n };\r\n return defaultValues;\r\n};\r\n\r\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\nexport const getReceiptPayload = (formValues: any): string => `{\r\n \"ID\": \"\",\r\n \"Receipt\": \"\",\r\n \"Obligations\": [\r\n {\r\n \"ID\": \"\",\r\n \"ObligationNO\": \"${formValues.OBLIGATION_NUMBER}\",\r\n \"IsPrimary\": \"true\",\r\n \"ReceptNumberId\": \"\"\r\n }\r\n ],\r\n \"SubmittedDate\": \"\",\r\n \"FormTypeId\": 2\r\n }`;\r\n\r\nexport const getSubmissionPayload = (formValues: iExtensionFormValues, submissionNumber: string): iSubmitExtensionFormValues => {\r\n const submitFormValues = formValues;\r\n const now = new Date();\r\n const MONTH = (`0${now.getMonth() + 1}`).slice(-2);\r\n const DATE = (`0${now.getDate()}`).slice(-2);\r\n const YEAR = now.getFullYear();\r\n const MINUTE = (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();\r\n const SUBMITTED_TIME = `${now.getHours()}:${MINUTE} ${DATE}/${MONTH}/${YEAR}`;\r\n const FORM_TYPE = 'Extension';\r\n // step 10\r\n const selectedObsArray = formValues.SelectedObNums.split(', ');\r\n const joinedBySemiccolon = selectedObsArray.join(' ;');\r\n const selectedObligationsSelfInclude =\r\n selectedObsArray.length >= 3\r\n ? 'Refer to attachment'\r\n : formValues.SelectedObNums.length !== 0\r\n ? `${joinedBySemiccolon} ;${formValues.AuthorisedObligation?.Number}`\r\n : formValues.AuthorisedObligation?.Number;\r\n\r\n const additonalPdfWithObligations = selectedObsArray.length >= 3 ? `${joinedBySemiccolon} ;${formValues.AuthorisedObligation?.Number}` : '';\r\n // step 12, 13 number of attachments\r\n const totalNumberOfAttachments = formValues.SupportingAttachments?.length + formValues.OtherSupportingAttachments?.length;\r\n const descriptionOfAttachmentsArray = [\r\n ...(formValues.OtherSupportingAttachments || []),\r\n ];\r\n let descriptionOfAttachments = '';\r\n let remoteAttachmentNames = '';\r\n if (descriptionOfAttachmentsArray) {\r\n descriptionOfAttachmentsArray.forEach((v) => {\r\n if (v.FileDescription || v.FileProvider) {\r\n descriptionOfAttachments += `${v.FileProvider ? v.FileProvider : ''}${v.FileProvider && v.FileDescription ? ' - ' : ''}${v.FileDescription ? v.FileDescription : ''}; `;\r\n }\r\n if (v.RemoteFileName) {\r\n remoteAttachmentNames += `${formValues.OBLIGATION_NUMBER}/${v.RemoteFileName}/${v.RemoteFileName}|`;\r\n }\r\n });\r\n }\r\n const submitObject: iSubmitExtensionFormValues = {\r\n ...(submitFormValues as iCommonExtensionFormValues),\r\n\r\n YourObligationNumber: formValues.OBLIGATION_NUMBER,\r\n InfringementNoticeNumber: formValues.InfringementNoticeNumber,\r\n OBLIGATION_NUMBER: formValues.OBLIGATION_NUMBER,\r\n IdentifyingReference: formValues.OBLIGATION_NUMBER,\r\n // step 5\r\n DD: formValues.DOB ? (`0${formValues.DOB.getDate()}`).slice(-2) : '',\r\n MM: formValues.DOB ? (`0${formValues.DOB.getMonth() + 1}`).slice(-2) : '',\r\n YYYY: formValues.DOB ? formValues.DOB.getFullYear().toString() : '',\r\n // step 6\r\n TitleMrMrsMsOther: formValues.TitleMrMrsMsMissOther,\r\n LastNameOrFamilyName: formValues.FamilyName,\r\n FirstOrGivenNames: formValues.GivenNames,\r\n DateOfBirth: formValues.DOB ? `${(`0${formValues.DOB.getDate()}`).slice(-2)}/${(`0${formValues.DOB.getMonth() + 1}`).slice(-2)}/${formValues.DOB?.getFullYear()}` : '',\r\n DriverLicenceNumber: formValues.NoDriverLicence ? '' : formValues.DRIVER_LICENCE,\r\n StateOrCountryOfIssue: formValues.NoDriverLicence ? '' : formValues.StatecountryOfIssue === 'Australia' ? formValues.LicenceState : formValues.StatecountryOfIssue,\r\n CurrentDriversLicense: formValues.NoDriverLicence ? 'true' : false, // pending\r\n VehicleRegistrationIfProvided: formValues.VEHICLE_REGISTRATION,\r\n // residential address\r\n State: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ExtensionResidentialAddress.State : formValues.ExtensionPostalAddress.State,\r\n Suburb: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ExtensionResidentialAddress.Suburb : formValues.ExtensionPostalAddress.Suburb,\r\n LineOne: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ExtensionResidentialAddress.LineOne : formValues.ExtensionPostalAddress.LineOne,\r\n LineTwo: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ExtensionResidentialAddress.LineTwo : formValues.ExtensionPostalAddress.LineTwo,\r\n Postcode: formValues.HasDifferentResidentialAddress === 'true' ? formValues.ExtensionResidentialAddress.Postcode : formValues.ExtensionPostalAddress.Postcode,\r\n Country: formValues.HasDifferentResidentialAddress === 'true' ? (formValues.ExtensionResidentialAddress.State ? formValues.ExtensionResidentialAddress.Country : '') : (formValues.ExtensionPostalAddress.State ? formValues.ExtensionPostalAddress.Country : ''),\r\n // postal address\r\n LineOneTwo: formValues.ExtensionPostalAddress.LineOne,\r\n LineTwoTwo: formValues.ExtensionPostalAddress.LineTwo,\r\n PostalAddress: formValues.ExtensionPostalAddress.Address,\r\n PostcodeTwo: formValues.ExtensionPostalAddress.Postcode,\r\n SuburbTwo: formValues.ExtensionPostalAddress.Suburb,\r\n StateTwo: formValues.ExtensionPostalAddress.State,\r\n CountryTwo: formValues.ExtensionPostalAddress.State ? formValues.ExtensionPostalAddress.Country : '',\r\n\r\n ContactNumber: formValues.ExtensionContactNumber.ContactNumber,\r\n NumberType: formValues.ExtensionContactNumber.NumberType,\r\n SecondaryContactNumber: formValues.ExtensionContactNumber.SecondaryContactNumber,\r\n NumberTypeTwo: formValues.ExtensionContactNumber.SecondaryContactNumber ? formValues.ExtensionContactNumber.SecondaryNumberType : '',\r\n YourEmailAddressOptional: formValues.Email, // pending\r\n DocumentElectronically: formValues.receiveDocs === 'true' ? 'Yes' : 'No',\r\n // send copy to\r\n EMAIL_TO: formValues.EMAIL_TO === 'true' ? formValues.Email : '',\r\n\r\n DDThree: formValues.DateToPay ? (`0${formValues.DateToPay.getDate()}`).slice(-2) : '',\r\n MMThree: formValues.DateToPay ? ((`0${formValues.DateToPay.getMonth() + 1}`).slice(-2)) : '',\r\n YYYYThree: formValues.DateToPay ? formValues.DateToPay.getFullYear().toString() : '',\r\n\r\n ObligationNumberCaseNumberOrWarrantNumber: selectedObligationsSelfInclude,\r\n YesOrNoTwo: formValues.ExceptionalCircumstances === 'true' ? 'Yes' : 'No', // circumstances exceptional\r\n\r\n ProvideDetailsForAnyCircumstancesYouWouldLikeToBeConsideredForInThisApplication: formValues.DetailsForCircumstances,\r\n // Step 7\r\n NumberOfAttachments: totalNumberOfAttachments.toString(),\r\n\r\n ApplicantsSignature: formValues.declaration ? 'I agree to the statements' : '',\r\n DocumentDescriptions: descriptionOfAttachments,\r\n DdTwo: DATE.toString(),\r\n MmTwo: MONTH.toString(),\r\n YyyyTwo: YEAR.toString(),\r\n\r\n // additional OB pdf page\r\n OBLIGATIONS_TO_INCLUDE: additonalPdfWithObligations,\r\n // attachments\r\n ATTACHMENTS: remoteAttachmentNames,\r\n // Footer information\r\n\r\n FooterSubmissionNo1: submissionNumber,\r\n FooterFormType1: FORM_TYPE,\r\n FooterObligationNo1: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime1: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo2: submissionNumber,\r\n FooterFormType2: FORM_TYPE,\r\n FooterObligationNo2: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime2: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo3: submissionNumber,\r\n FooterFormType3: FORM_TYPE,\r\n FooterObligationNo3: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime3: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo4: submissionNumber,\r\n FooterFormType4: FORM_TYPE,\r\n FooterObligationNo4: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime4: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo5: submissionNumber,\r\n FooterFormType5: FORM_TYPE,\r\n FooterObligationNo5: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime5: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo6: submissionNumber,\r\n FooterFormType6: FORM_TYPE,\r\n FooterObligationNo6: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime6: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo7: submissionNumber,\r\n FooterFormType7: FORM_TYPE,\r\n FooterObligationNo7: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime7: SUBMITTED_TIME,\r\n };\r\n\r\n const excludeKeysFromForm: string[] = [\r\n // fields from iExtensionFormValues\r\n 'submitted',\r\n 'OffenceDateRequired',\r\n 'HearingDateRequired',\r\n 'LicenceRequired',\r\n 'RegistrationRequired',\r\n 'DOBRequired',\r\n 'OFFENCE_DATE',\r\n 'HEARING_DATE',\r\n 'DRIVER_LICENCE',\r\n 'PartialFormID',\r\n 'ID',\r\n 'FormData',\r\n 'Obligations',\r\n 'Attachments',\r\n 'DebtorID',\r\n 'FormTypeID',\r\n 'IsSubscribedEM',\r\n 'IsSubscribedSMS',\r\n 'EMRemeinderSent',\r\n 'SMSRemeinderSent',\r\n 'CreateDate',\r\n 'ExpiryDate',\r\n 'SeriousObligation',\r\n 'DDD',\r\n 'ESI',\r\n 'MarineOffence',\r\n 'submissionNo',\r\n 'DOB',\r\n 'LicenceState',\r\n 'ExtensionResidentialAddress',\r\n 'HasDifferentResidentialAddress',\r\n 'SummonsAddress',\r\n 'Email',\r\n 'NoEmail',\r\n 'declaration',\r\n 'SaveYesNo',\r\n 'SaveOptions',\r\n 'saveEmail',\r\n 'saveMobile',\r\n 'a',\r\n 'VEHICLE_REGISTRATION',\r\n 'UserType',\r\n 'NoDriverLicence',\r\n 'CompanyAddress',\r\n 'CompanyPostalAddress',\r\n 'HasDifferentCompanyAddress',\r\n 'DebtorType',\r\n 'RepresentativeGivenName',\r\n 'RepresentativeFamilyName',\r\n 'RepresentativeRelationshipToVictim',\r\n 'RepresentativeCompanyName',\r\n 'RepresentativeCompanyPosition',\r\n 'RepresentativePostalAddress',\r\n 'RepresentativeEmailAddress',\r\n 'RepresentativeRequestsEmailCopyBool',\r\n 'ExtensionContactNumber',\r\n 'RepresentativeAllowsPhoneCommunicationBool',\r\n 'RepresentativePreferredContactDayTime',\r\n // Extension excluding UI fields\r\n 'OtherReportNameFieldErrorHandle',\r\n 'OtherSupportingFilesDescription',\r\n 'OtherSupportingFilesProvider',\r\n 'OtherSupportingAttachments',\r\n 'OtherSupportingDocNameField',\r\n 'ReportUploadFileSectionError',\r\n 'ReportNameFieldErrorHandle',\r\n 'ReportNameField',\r\n 'SupportingFilesDescription',\r\n 'SupportingFilesProvider',\r\n 'SupportingAttachments',\r\n 'SelectedObligations',\r\n 'AdditionalFinesToInclude',\r\n 'RegisteredFinesToInclude',\r\n 'AdditionalFinesType',\r\n 'OffenceCode',\r\n 'Status',\r\n 'TicketType',\r\n 'ObligationStatus',\r\n 'infringementFineArray',\r\n 'SelectedObligationsStep9',\r\n 'ExceptionalCircumstances',\r\n 'receiveDocs',\r\n 'ExtensionPostalAddress',\r\n 'NoResidentialAddress',\r\n 'AuthorisedObligation',\r\n 'EligibleObligations',\r\n 'SelectedObNums',\r\n 'submissionError',\r\n ];\r\n excludeKeysFromForm.forEach((value: string) => {\r\n delete submitObject[value];\r\n });\r\n return submitObject;\r\n};\r\n\r\nexport const ExtensionSchema = Yup.object().shape({\r\n saveEmail: Yup.string().email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n saveMobile: Yup.string()\r\n .min(10, INVALID_MOBILE_NUMBER_FORMAT)\r\n .max(10, INVALID_PHONE_NUMBER_LENGTH)\r\n .matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER)\r\n .required(INVALID_PHONE_NUMBER),\r\n SaveYesNo: Yup.string().required(INVALID_YESNO_FORMAT),\r\n SaveOptions: Yup.string().when('SaveYesNo', {\r\n is: 'true',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n OBLIGATION_NUMBER: Yup.string().matches(OBLIGATION_REGEX, INVALID_OBLIGATION_NUMBER).required(INVALID_NUMERIC_FORMAT),\r\n OFFENCE_DATE: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n HEARING_DATE: Yup.date().required(EMPTY_DATE).nullable(),\r\n DRIVER_LICENCE: Yup.string()\r\n .required(INVALID_NUMERIC_FORMAT)\r\n .matches(/^[a-zA-Z0-9 ]*$/, INVALID_LICENCE_FORMAT),\r\n // Step 5\r\n DateToPay: Yup.date().required(EMPTY_DATE).nullable().min(new Date(), 'Please enter a valid date.')\r\n .max(new Date(today.setMonth(today.getMonth() + 3)), 'Please enter a valid date.'),\r\n VEHICLE_REGISTRATION: Yup.string().matches(VEHICLE_REGISTRATION_REGEX, INVALID_VEHICLE_REGISTRATION_NUMBER).required(INVALID_VEHICLE_REGISTRATION_NUMBER),\r\n TitleMrMrsMsMissOther: Yup.string().required(INVALID_YESNO_FORMAT),\r\n DOB: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n FamilyName: Yup.string().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n GivenNames: Yup.string().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n StatecountryOfIssue: Yup.string(),\r\n LicenceState: Yup.string().required(INVALID_YESNO_FORMAT),\r\n NoDriverLicence: Yup.boolean(),\r\n ExtensionResidentialAddress: Yup.object().shape({\r\n SearchText: Yup.string(),\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n ExtensionPostalAddress: Yup.object().shape({\r\n SearchText: Yup.string(),\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n Email: Yup.string().email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n NoEmail: Yup.boolean(),\r\n EMAIL_TO: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n receiveDocs: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n HasDifferentResidentialAddress: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n // step 7\r\n DetailsForCircumstances: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n ExceptionalCircumstances: Yup.string().required(INVALID_YESNO_FORMAT),\r\n AdditionalFinesType: Yup.string().required(INVALID_YESNO_FORMAT),\r\n RegisteredFinesToInclude: Yup.string().required(INVALID_YESNO_FORMAT),\r\n InfringementFinesToInclude: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // step 12 13\r\n OtherSupportingFilesDescription: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n OtherReportNameFieldErrorHandle: Yup.boolean().oneOf([false], INVALID_FILE_SIZE),\r\n OtherReportNameFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n declaration: Yup.boolean().oneOf([true], MISSING_DECLARATION_AGREEMENT),\r\n ExtensionContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n NumberType: Yup.string().required(INVALID_YESNO_FORMAT),\r\n SecondaryContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER),\r\n SecondaryNumberType: Yup.string(),\r\n }),\r\n});\r\n\r\nconst { EXTENSION } = FormType;\r\n\r\nexport const extensionMetaData: iFormMetaData = {\r\n pagesSegments: {\r\n step0: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n step1: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page1,\r\n },\r\n step2: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page2,\r\n },\r\n step3: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page3,\r\n },\r\n step4: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page4,\r\n },\r\n step5: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page5,\r\n },\r\n step6: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page6,\r\n },\r\n step7: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page7,\r\n },\r\n step8: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page8,\r\n },\r\n step9: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page9,\r\n },\r\n step10: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n step11: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page11,\r\n },\r\n step12: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page12,\r\n },\r\n step13: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page13,\r\n },\r\n step14: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page14,\r\n },\r\n step15: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, EXTENSION).page15,\r\n },\r\n step16: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n },\r\n};\r\n\r\nexport const getSummaryScreen = (values: iExtensionFormValues): iSummary[] => {\r\n const checkFines = values.SelectedObligationsStep9.map((fine) => {\r\n if (fine.checked) return fine.number.toString();\r\n return '';\r\n })\r\n .filter(Boolean)\r\n .join('; ');\r\n\r\n const checkOptSupportingDoc = values.OtherSupportingAttachments.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n');\r\n\r\n const page4 = {\r\n title: 'Your fines',\r\n editLink: '/step4',\r\n fields: [\r\n [\r\n {\r\n title: 'Fines to include in application',\r\n value: checkFines !== '' ? `${checkFines}; ${values.AuthorisedObligation.Number}` : values.AuthorisedObligation.Number,\r\n },\r\n ],\r\n ],\r\n };\r\n const page5 = {\r\n title: 'Extension date',\r\n editLink: '/step5',\r\n fields: [\r\n [\r\n {\r\n title: 'When will you be able to pay the total outstanding amount?',\r\n value: values.DateToPay ? `${values.DateToPay?.getDate()}/${values.DateToPay?.getMonth() + 1}/${values.DateToPay?.getFullYear()}` : 'n/a',\r\n },\r\n ],\r\n ],\r\n };\r\n const page6 = {\r\n title: 'Your details',\r\n editLink: '/step6',\r\n fields: [\r\n [{ title: 'Title', value: values.TitleMrMrsMsMissOther }],\r\n [{ title: 'Given name(s)', value: values.GivenNames }],\r\n [{ title: 'Family name', value: values.FamilyName }],\r\n [{ title: 'Date of birth', value: values.DOB ? `${values.DOB.getDate()}/${values.DOB.getMonth() + 1}/${values.DOB.getFullYear()}` : 'n/a' }],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Driver licence number', value: 'n/a' }\r\n : { title: 'Driver licence number', value: values.DRIVER_LICENCE ? values.DRIVER_LICENCE : 'n/a' },\r\n ],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Place of issue', value: 'n/a' }\r\n : {\r\n title: 'Place of issue',\r\n value:\r\n values.StatecountryOfIssue === 'Australia' ? (values.LicenceState ? values.LicenceState : 'n/a') : values.StatecountryOfIssue ? values.StatecountryOfIssue : 'n/a',\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.ExtensionPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.HasDifferentResidentialAddress === 'false'\r\n ? [{ title: 'Is your residential address different to your postal address?', value: 'No' }]\r\n : [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.ExtensionResidentialAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact phone number', value: values.ExtensionContactNumber.ContactNumber }],\r\n [{ title: 'Number type', value: values.ExtensionContactNumber.NumberType }],\r\n [\r\n {\r\n title: 'Secondary contact number',\r\n value: values.ExtensionContactNumber.SecondaryContactNumber ? values.ExtensionContactNumber.SecondaryContactNumber : 'n/a',\r\n },\r\n ],\r\n [{ title: 'Secondary number type', value: values.ExtensionContactNumber.SecondaryContactNumber ? values.ExtensionContactNumber.SecondaryNumberType : 'n/a' }],\r\n [{ title: 'Email', value: values.Email ? values.Email : 'n/a' }],\r\n [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.EMAIL_TO === 'true' ? 'Yes' : 'No' }],\r\n [{ title: 'I consent to receive documentation electronically', value: values.receiveDocs === 'true' ? 'Yes' : 'No' }],\r\n ],\r\n };\r\n const page7 = {\r\n title: 'Your financial details',\r\n editLink: '/step7',\r\n fields: [\r\n [\r\n {\r\n title: 'Do you have any exceptional financial circumstances you would like to let us know about?',\r\n value: values.ExceptionalCircumstances === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n values.DetailsForCircumstances ? [\r\n {\r\n title: 'Provide details for any circumstances you would like to be considered for in this application.',\r\n value: values.DetailsForCircumstances ? values.DetailsForCircumstances.toString() : '',\r\n },\r\n ] : [],\r\n checkOptSupportingDoc ? [\r\n {\r\n title: 'Supporting documents',\r\n value: checkOptSupportingDoc !== '' ? checkOptSupportingDoc : 'n/a',\r\n },\r\n ] : [],\r\n ],\r\n };\r\n\r\n const pagesExtensionSummary: iSummary[] = [\r\n page4,\r\n page5,\r\n page6,\r\n page7,\r\n ];\r\n const summarySections: iSummary[] = pagesExtensionSummary;\r\n return summarySections;\r\n};\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement } from 'react';\r\nimport { ErrorPage } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport { iExtensionFormValues } from '@services/ExtensionService';\r\n\r\nfunction ExtensionErrorPage(): ReactElement {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { values }: { values: iExtensionFormValues } = useFormikContext();\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ExtensionErrorPage;\r\n","import React, { ReactElement, useEffect, useState, useContext } from 'react';\r\nimport { useNavigate, useParams, useLocation } from 'react-router-dom';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { getStringIndex, setFormDataValues, setCurrentFormikValues, navigateToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport { getInitiate, checkExistingForm, getPartialForm } from '@api';\r\nimport { FormType } from '@constants';\r\nimport { Accordion, FormLoading } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport ClockIcon from '../../../../images/clock.svg';\r\nimport styles from './ExtensionStep0.module.scss';\r\n\r\ninterface iProps {\r\n formikRef: any;\r\n}\r\n\r\n// const { REACT_APP_SITECORE_API_ENDPOINT: API_URL, REACT_APP_PATH_FAMILY_VIOLENCE_SCHEME: PATH_FVS } = process.env;\r\nfunction ExtensionStep0({ formikRef }: iProps): ReactElement {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n const pathElementArray = location.pathname.split('/');\r\n const { tooltips } = useContext(VicFinesContext);\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const validTitles = Object.keys(tooltips).filter((v) => v.includes('step0'));\r\n const formikcontext = useFormikContext();\r\n function getStringForSort(stringVal: string): string {\r\n return stringVal.substring(stringVal.indexOf('p') + 1, stringVal.indexOf('|'));\r\n }\r\n validTitles.sort((stringA, stringB) => Number(getStringForSort(stringA)) - Number(getStringForSort(stringB)));\r\n\r\n const { ob } = useParams<{ ob?: string }>();\r\n useEffect(() => {\r\n // if resume with #, re - calculate it.\r\n let pathNameLessLastSegmentOnLoad = '';\r\n let obNumFromPath = '';\r\n if (window.location.hash) {\r\n window.history.pushState({}, '', window.location.pathname + window.location.hash.replaceAll('#', ''));\r\n const currentUrl = window.location.pathname;\r\n const pathUrlArray = currentUrl.split('/');\r\n const stepCurrentIndex = getStringIndex(pathUrlArray, 'step');\r\n const stepIndexDiffOnLoad = stepCurrentIndex - pathUrlArray.length;\r\n pathNameLessLastSegmentOnLoad = stepCurrentIndex ? pathUrlArray.slice(0, stepIndexDiffOnLoad).join('/') : currentUrl;\r\n obNumFromPath = pathUrlArray.includes('step0') && pathUrlArray[stepCurrentIndex + 1] ? pathUrlArray[stepCurrentIndex + 1] : '';\r\n }\r\n const obNum = obNumFromPath || ob;\r\n if (obNum) {\r\n setLoading(true);\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNum);\r\n checkExistingForm(obNum, 'PaymentExtension')\r\n .then((valueOfExistingform) => {\r\n // if (!valueOfExistingform?.PartialFormID) {\r\n // setLoading(false);\r\n // navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}/step0`);\r\n // return;\r\n // }\r\n let currentStep = '';\r\n let partialFormID = 0;\r\n const partialFormOption = valueOfExistingform.CheckingExisting;\r\n const canSave = valueOfExistingform.CanSave;\r\n let savingoption = '';\r\n let debtorID = 0;\r\n if (partialFormOption === 'no' && valueOfExistingform.DebtorID && valueOfExistingform.PartialFormID) {\r\n return;\r\n }\r\n if (valueOfExistingform.CheckingExisting === 'yes') {\r\n partialFormID = valueOfExistingform.PartialFormID!;\r\n formikcontext.setFieldValue('PartialFormID', partialFormID);\r\n savingoption = valueOfExistingform.CanSave ? 'yes' : 'no';\r\n if (valueOfExistingform.PartialFormID) {\r\n getPartialForm(valueOfExistingform.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikRef?.current?.values.FormData, formikRef, 'FormData');\r\n setCurrentFormikValues(formData, formikRef?.current?.values, formikRef);\r\n } else if (resBody[key]) {\r\n formikcontext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => console.log(e));\r\n }\r\n } else {\r\n debtorID = valueOfExistingform.DebtorID!;\r\n savingoption = 'no';\r\n formikcontext.setFieldValue('DebtorID', debtorID);\r\n }\r\n formikcontext.setFieldValue('SaveOptions', savingoption);\r\n getInitiate(obNum, FormType.EXTENSION).then((value) => {\r\n if (value.Number) {\r\n if (value.Step !== '/step8' && value.Step !== '/step9') {\r\n // legacy logic\r\n if (partialFormOption === 'no' && canSave === true) {\r\n // go to Which statement best describes you? page - first or third\r\n currentStep = '/step3';\r\n } else {\r\n currentStep = '/step4';\r\n }\r\n // formikRef.current.setFieldTouched('ApplicationLodger'); // temp solution, better to get field name from form config.\r\n } else {\r\n currentStep = '/step4';\r\n }\r\n } else {\r\n currentStep = '/step0';\r\n }\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}${currentStep}`);\r\n setLoading(false);\r\n });\r\n })\r\n .catch(() => {\r\n console.log('Caught p2');\r\n });\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, []);\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n
\r\n
Before you start
\r\n {validTitles.map((v) => {\r\n const getTitles = v.substring(v.indexOf('|'), v.length).replaceAll('|', ' ');\r\n return ;\r\n })}\r\n
\r\n \"alarm\r\n Please allow up to 12 minutes to complete this form.\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ExtensionStep0;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useContext, useState, useEffect } from 'react';\r\nimport { Field } from 'formik';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Alert, Accordion, Button, Modal, TextInput } from '@components';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\nimport mailRef from '../../../../images/refNo_mail.jpg';\r\nimport handwrittenRef from '../../../../images/refNo-handwritten.jpg';\r\nimport planRef from '../../../../images/refNo-plan.jpg';\r\nimport styles from './ExtensionStep1.module.scss';\r\n\r\nfunction ExtensionStep1(): ReactElement {\r\n const { apiError } = useContext(VicFinesContext);\r\n const ExtensionStep1AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const [smallScreen, setMatches] = useState(window.matchMedia('(max-width: 1150px)').matches);\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n const accordionContent = (caption: string, image: string, imageAlt: string): ReactElement => (\r\n
\r\n

{caption}

\r\n {imageAlt}\r\n
\r\n );\r\n\r\n const notificationInformation = (): ReactElement => (\r\n <>\r\n {smallScreen\r\n ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n
\r\n Did you receive your fine by mail?\r\n Did a police officer give you the fine in person, or issue you with a handwritten fine?\r\n Are you on a payment plan or payment order?\r\n
\r\n \"mail\r\n
\r\n
\r\n \"handwritten\r\n
\r\n
\r\n \"plan\r\n
\r\n
\r\n Enter your obligation number\r\n
\r\n
\r\n Enter your enforcement agency identifying reference\r\n
\r\n
\r\n Enter your payment arrangement number\r\n
\r\n
\r\n

\r\n Don't have your fine on you?\r\n

\r\n
\r\n Call Fines Victoria, Monday to Friday, 8am to 6pm (except public holidays).\r\n

For infringement enquiries, call 03 9200 8111 or 1300 369 819 for regional callers.

\r\n For Notice of Final Demand enquiries, call 03 9200 8222 or 1800 150 410 for regional callers.\r\n
\r\n
\r\n \r\n Continue\r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n\r\n useEffect(() => {\r\n window.matchMedia('(max-width: 768px)').addEventListener('change', (e) => setMatches(e.matches));\r\n }, []);\r\n\r\n return (\r\n
\r\n
Your fine details
\r\n
At this stage of the application, you only need to provide the details of one of your fines - even if you’re dealing with multiple matters.
\r\n {apiError?.Error && } theme=\"error\" classAlt={styles.boxheight} />}\r\n setOpenHelp(true)}\r\n isMandatory\r\n autocomplete=\"off\" />\r\n {isOpenHelp && ()}\r\n
If you've already paid this fine, you can't request an extension.
\r\n
\r\n );\r\n}\r\n\r\nexport default ExtensionStep1;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useContext, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, Button, DateInput, Modal, TextInput } from '@components';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n\r\nimport styles from './ExtensionStep2.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction ExtensionStep2(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const { apiError } = useContext(VicFinesContext);\r\n const [hasOffenceDate, setOffenceDate] = useState(false);\r\n const [hasHearingDate, setHearingDate] = useState(false);\r\n const [hasLicenceNumber, setLicenceNumber] = useState(false);\r\n const [hasVehicleRego, setVehicleRego] = useState(false);\r\n const [hasDOB, setDOB] = useState(false);\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const ExtensionStep2AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n If you don't know these details or think we may have the wrong information, contact Fines Victoria, Monday to Friday, 8am to 6pm (except public holidays).\r\n

For infringement enquiries, call 03 9200 8111 or 1300 369 819 for regional callers.

\r\n

For Notice of Final Demand enquiries, call 03 9200 8222 or 1800 150 410 for regional callers.

\r\n
\r\n

\r\n Do you have a Victorian driver licence?\r\n

\r\n
\r\n If asked for your driver licence number, make sure you include any zeros at the start of your Victorian driver licence number.\r\n
\r\n
\r\n \r\n Continue\r\n \r\n
\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n const setupDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n };\r\n const url = `${API_URL}sitecore/Extension/SetupDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n context.setFieldValue('OffenceDateRequired', false);\r\n context.setFieldValue('HearingDateRequired', false);\r\n context.setFieldValue('LicenceRequired', false);\r\n context.setFieldValue('RegistrationRequired', false);\r\n context.setFieldValue('DOBRequired', false);\r\n if (responseBody.OffenceDate) {\r\n setOffenceDate(true);\r\n context.setFieldValue('OffenceDateRequired', true);\r\n context.setFieldTouched('OFFENCE_DATE', false);\r\n }\r\n if (responseBody.HearingDate) {\r\n setHearingDate(true);\r\n context.setFieldValue('HearingDateRequired', true);\r\n context.setFieldTouched('HEARING_DATE', false);\r\n }\r\n if (responseBody.LicenceRequired) {\r\n setLicenceNumber(true);\r\n context.setFieldValue('LicenceRequired', true);\r\n context.setFieldTouched('DRIVER_LICENCE', false);\r\n }\r\n if (responseBody.RegistrationRequired) {\r\n setVehicleRego(true);\r\n context.setFieldValue('RegistrationRequired', true);\r\n context.setFieldTouched('VEHICLE_REGISTRATION', false);\r\n }\r\n if (responseBody.DateOfBirthRequired) {\r\n setDOB(true);\r\n context.setFieldValue('DOBRequired', true);\r\n context.setFieldTouched('DOB', false);\r\n }\r\n } else console.log('errors in calling setup api');\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n setupDebtor(context);\r\n return () => setLoading(false);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n
\r\n Verify your details\r\n {apiError?.Error && } theme=\"error\" />}\r\n {hasOffenceDate && ()}\r\n {hasHearingDate && ()}\r\n {hasLicenceNumber && ()}\r\n {hasVehicleRego && ()}\r\n {hasDOB && ()}\r\n
\r\n setOpenHelp(true)}\r\n className={styles.iconButton}>\r\n \"help\r\n I don't know these details\r\n \r\n
\r\n {isOpenHelp && ()}\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ExtensionStep2;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement } from 'react';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Accordion, TileRadio, TextInput } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iExtensionFormValues } from '@services/ExtensionService';\r\nimport classnames from 'classnames';\r\nimport emailNotif from '../../../../images/emailviewv2.png';\r\nimport mobileNotif from '../../../../images/mobileview.png';\r\n\r\nimport styles from './ExtensionStep3.module.scss';\r\n\r\nfunction ExtensionStep3(): ReactElement {\r\n const { values, errors, touched }: { values: iExtensionFormValues, errors: any, touched: any } = useFormikContext();\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const TILE_DATA_NOTIFICATION_TYPE: tile[] = [\r\n {\r\n body: 'No thanks',\r\n value: 'none',\r\n },\r\n {\r\n body: 'To my mobile',\r\n value: 'mobile',\r\n },\r\n {\r\n body: 'To my email',\r\n value: 'email',\r\n },\r\n {\r\n body: 'To both',\r\n value: 'both',\r\n },\r\n ];\r\n\r\n const notificationInformation = (): ReactElement => (\r\n <>\r\n
\r\n
\r\n

Email notification

\r\n \"email\r\n
\r\n
\r\n

Mobile notification

\r\n \"mobile\r\n
\r\n
\r\n \r\n );\r\n\r\n return (\r\n
\r\n Form options\r\n Save your form as you go?\r\n
\r\n In case you are unable to complete this application all at once, please select YES so you can return to the form later.\r\n
\r\n \r\n
Your form content is saved behind a secure portal.
\r\n {values.SaveYesNo === 'true' && (\r\n <>\r\n Send notifications of uncompleted forms?\r\n
We can send you a notification to remind you to come back and submit the application.
\r\n \r\n {(values.SaveOptions === 'email' || values.SaveOptions === 'both') && }\r\n {(values.SaveOptions === 'mobile' || values.SaveOptions === 'both') && }\r\n {(values.SaveOptions === 'mobile' || values.SaveOptions === 'email' || values.SaveOptions === 'both') && (\r\n

\r\n I understand that by providing contact details, Fines Victoria may update its records using these details and that I may be contacted regarding my outstanding fines.\r\n

\r\n )}\r\n
\r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default ExtensionStep3;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { navigateToError } from '@utils';\r\nimport { FormType } from '@constants/forms';\r\nimport { ExpandableTable } from '@components';\r\nimport { iObligation } from '@interfaces/interfaces';\r\nimport { iExtensionFormValues } from '@services/ExtensionService';\r\nimport { getObligationOptions } from '@api';\r\nimport styles from './ExtensionStep4.module.scss';\r\n\r\nfunction ExtensionStep4(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const context = useFormikContext();\r\n const { values }: { values: iExtensionFormValues } = useFormikContext();\r\n\r\n const [authorisedOb, setObligationDetails] = useState({} as iObligation);\r\n const [relevantObs, setRelevantObligations] = useState([] as iObligation[]);\r\n useEffect(() => {\r\n try {\r\n const obNumFormIk = values.OBLIGATION_NUMBER;\r\n getObligationOptions(obNumFormIk, FormType.EXTENSION)\r\n .then((responseBody) => {\r\n if (responseBody && responseBody?.Authorised) {\r\n setObligationDetails(responseBody?.Authorised);\r\n context.setFieldValue('AuthorisedObligation', responseBody?.Authorised);\r\n context.setFieldValue('InfringementNoticeNumber', responseBody?.Authorised.InfringementNumber);\r\n }\r\n if (responseBody && responseBody?.Obligations) {\r\n setRelevantObligations(responseBody?.Obligations);\r\n context.setFieldValue('EligibleObligations', responseBody?.Obligations);\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n setLoading(false);\r\n } catch (ex) {\r\n navigateToError();\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, [values.OBLIGATION_NUMBER]);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
Your fines
\r\n

You’re applying for an extension of time for the following fine:

\r\n
\r\n
\r\n OBLIGATION NUMBER\r\n OFFENCE DATE\r\n OFFENCE DESCRIPTION\r\n AMOUNT\r\n
\r\n
\r\n {authorisedOb.Number}\r\n {authorisedOb.OffenceDate}\r\n {authorisedOb.OffenceDesc}\r\n ${authorisedOb.AmountDue}\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 \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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
OBLIGATION NUMBER{authorisedOb.Number}
OFFENCE DATE{authorisedOb.OffenceDate}
OFFENCE DESCRIPTION{authorisedOb.OffenceDesc}
AMOUNT${authorisedOb.AmountDue}
OFFENCE LOCATION{authorisedOb.OffenceLocation}
TIME OF OFFENCE{authorisedOb.OffenceTime}
VEHICLE REGISTRATION{authorisedOb.Registration}
OFFENCE LOCATION
{authorisedOb.OffenceLocation}
TIME OF OFFENCE
{authorisedOb.OffenceTime}
VEHICLE REGISTRATION
{authorisedOb.Registration}
\r\n
\r\n {relevantObs.length !== 0 && (\r\n <>\r\n

\r\n Which other fines do you want to include in the application?\r\n

\r\n \r\n \r\n )}\r\n

\r\n This summary may not be a complete listing of your fines. Infringement information may vary as a result of a difference in:\r\n

\r\n
\r\n
    \r\n
  • the spelling of your name
  • \r\n
  • your address
  • \r\n
  • your driver licence number
  • \r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ExtensionStep4;\r\n","import { ReactElement, useEffect } from 'react';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { DateInput } from '@components';\r\nimport { iExtensionFormValues } from '@services/ExtensionService';\r\nimport { getFutureDateAfterNMonth } from '@utils';\r\n\r\n// import styles from './ExtensionStep5.module.scss';\r\n\r\nfunction ExtensionStep5(): ReactElement {\r\n const context = useFormikContext();\r\n const { values }: { values: iExtensionFormValues } = useFormikContext();\r\n useEffect(() => {\r\n if (getIn(values, 'DateToPay')) { context.setFieldTouched('DateToPay'); }\r\n }, [values.DateToPay]);\r\n return (\r\n <>\r\n
\r\n Extension date\r\n \r\n

The date must be within 3 months from today.

\r\n
\r\n
\r\n \r\n );\r\n}\r\nexport default ExtensionStep5;\r\n","import { ReactElement } from 'react';\r\nimport ContactInformation from '@components/ContactInformation/ContactInformation';\r\nimport { extensionContactInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction ExtensionStep6(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\nexport default ExtensionStep6;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext, Field, getIn } from 'formik';\r\nimport { FormType } from '@constants';\r\nimport { LimitedTextArea, FileUploadGroup, TileRadio } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iExtensionFormValues } from '@services/ExtensionService';\r\n\r\nfunction ExtensionStep7(): ReactElement {\r\n const { values }: { values: iExtensionFormValues } = useFormikContext();\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n return (\r\n <>\r\n
Your financial details
\r\n

To help us assess your application, you'll need to provide us with information about your income, expenses and assets.

\r\n \r\n {getIn(values, 'ExceptionalCircumstances') === 'true' && (\r\n <>\r\n \r\n

You may also provide any supporting documents (optional)

\r\n

Attach any supporting documents (maximum of 5 files - each file should be less than 4MB)

\r\n \r\n \r\n )}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ExtensionStep7;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Summary } from '@components';\r\nimport { iExtensionFormValues, getSummaryScreen } from '@services/ExtensionService';\r\n\r\nfunction ExtensionStep8(): ReactElement {\r\n const { values }: { values: iExtensionFormValues } = useFormikContext();\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\nexport default ExtensionStep8;\r\n","import { ReactElement } from 'react';\r\nimport { Field } from 'formik';\r\nimport { CheckboxInput } from '@components';\r\n\r\nfunction ExtensionStep9(): ReactElement {\r\n return (\r\n <>\r\n
Declaration
\r\n
\r\n

I declare that the information that I have supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that it is an offence under the Fines Reform Act 2014 to intentionally provide false or misleading information in a written statement required by or under that Act. I understand that the offence carries a fine in excess of $1500.

\r\n

I understand that if Fines Victoria offers me a payment arrangement, failure to make the payment by the due date may result in the arrangement being cancelled. This may result in further costs being added and/or enforcement action being taken against me.

\r\n
\r\n

I understand that it is my responsibility to ensure that payment is made on or before the due date.

\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ExtensionStep9;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Alert } from '@components';\r\nimport FormSubmissionSuccessAlertContent from '@components/Content/AlertContent/FormSubmissionSuccessAlertContent';\r\nimport { iExtensionFormValues } from '@services/ExtensionService';\r\nimport DoneIcon from '../../../../images/done.svg';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nfunction ExtensionStep10(): ReactElement {\r\n const { values }: { values: iExtensionFormValues } = useFormikContext();\r\n const emailAddress = values.Email;\r\n const submissionNumber = values.submissionNo;\r\n const sendEmailCopy = values.Email ? 'true' : 'false';\r\n\r\n return (\r\n
\r\n Your application has been successfully submitted\r\n }\r\n icon={DoneIcon}\r\n theme=\"success\"\r\n color=\"green\"\r\n />\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default ExtensionStep10;\r\n","import { ReactElement, useState } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Button } from '@components';\r\nimport { navigateToError } from '@utils';\r\nimport { iExtensionFormValues } from '@services/ExtensionService';\r\n\r\nimport styles from './ExtensionStep11.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction ExtensionStep11(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const { values }: { values: iExtensionFormValues } = useFormikContext();\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
You're not eligible to go to court
\r\n

\r\n Your fine is for\r\n {values.DDD && ( a drunk or drug-driving)}\r\n {values.ESI && ( an excessive speed)}\r\n {values.MarineOffence && ( a drink or drug-boating)}\r\n {' offence and you are outside 28 days of your Infringement Notice issue date. You\\'re not able to elect to go to court.'}\r\n

\r\n

\r\n {'To speak to someone, contact Fines Victoria on '}\r\n 03 9200 8111\r\n {' or '}\r\n 1300 369 819\r\n {' (for regional callers).'}\r\n

\r\n

We're available Monday to Friday, 8am to 6pm (except public holidays).

\r\n

Pay now to avoid additional costs.

\r\n
\r\n {/* Pay your fines */}\r\n => {\r\n const url = `${API_URL}sitecore/Payment/Pay`;\r\n const data = new FormData();\r\n data.append('identifier', values.OBLIGATION_NUMBER);\r\n data.append('payFine', 'Pay your fines');\r\n\r\n try {\r\n const res = await fetch(url, {\r\n method: 'POST',\r\n body: data,\r\n });\r\n window.location.href = res.url;\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n }}\r\n size=\"medium\"\r\n color=\"blue\"\r\n className={styles.button}>\r\n Pay your fines\r\n \r\n\r\n {/* View your fines */}\r\n => {\r\n setLoading(true);\r\n const payload = {\r\n page: 'fines.YourFinesListID',\r\n };\r\n const url = `${API_URL}sitecore/Navigation/GetUrl`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseUrl = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n window.location.href = responseUrl;\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n }}\r\n size=\"medium\"\r\n color=\"transparent\"\r\n className={styles.button}>\r\n View your fines\r\n \r\n
\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ExtensionStep11;\r\n","import { ReactElement, useState } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Button } from '@components';\r\nimport { navigateToError } from '@utils';\r\nimport { iExtensionFormValues } from '@services/ExtensionService';\r\n\r\nimport styles from './ExtensionStep12.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction ExtensionStep12(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const { values }: { values: iExtensionFormValues } = useFormikContext();\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
You're not eligible to go to court
\r\n

\r\n Your fine is for\r\n {values.DDD && ( a drunk or drug-driving)}\r\n {values.ESI && ( an excessive speed)}\r\n {values.MarineOffence && ( a drink or drug-boating)}\r\n {' offence and you are outside 28 days of your Infringement Notice issue date. You\\'re not able to elect to go to court.'}\r\n

\r\n

\r\n {'To speak to someone, contact Fines Victoria on '}\r\n 03 9200 8111\r\n {' or '}\r\n 1300 369 819\r\n {' (for regional callers).'}\r\n

\r\n

We're available Monday to Friday, 8am to 6pm (except public holidays).

\r\n

Pay now to avoid additional costs.

\r\n
\r\n {/* Pay your fines */}\r\n => {\r\n const url = `${API_URL}sitecore/Payment/Pay`;\r\n const data = new FormData();\r\n data.append('identifier', values.OBLIGATION_NUMBER);\r\n data.append('payFine', 'Pay your fines');\r\n\r\n try {\r\n const res = await fetch(url, {\r\n method: 'POST',\r\n body: data,\r\n });\r\n window.location.href = res.url;\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n }}\r\n size=\"medium\"\r\n color=\"blue\"\r\n className={styles.button}>\r\n Pay your fines\r\n \r\n\r\n {/* View your fines */}\r\n => {\r\n setLoading(true);\r\n const payload = {\r\n page: 'fines.YourFinesListID',\r\n };\r\n const url = `${API_URL}sitecore/Navigation/GetUrl`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseUrl = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n window.location.href = responseUrl;\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n }}\r\n size=\"medium\"\r\n color=\"transparent\"\r\n className={styles.button}>\r\n View your fines\r\n \r\n
\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ExtensionStep12;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\n// import { FormLoading } from '@components';\r\nimport { iExtensionFormValues } from '@services/ExtensionService';\r\n\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport styles from './ExtensionStep15.module.scss';\r\n\r\nfunction ExtensionStep15(): ReactElement {\r\n const { values }: { values: iExtensionFormValues } = useFormikContext();\r\n return (\r\n <>\r\n
\r\n
You can also apply by phone
\r\n
If this is your first extension, your application can also be completed through our phone system, without needing to speak to someone.
\r\n {values.IsESIorDDD && (\r\n

\r\n Because you have a fine that was issued for\r\n {values.DDD && ( a drunk or drug driving offence)}\r\n {values.ESI && ( an excessive speed)}\r\n {values.MarineOffence && ( a drink or drug-boating)}, it's important you know that this will not extend your licence cancellation date. This application only relates to your payment due date.\r\n

\r\n )}\r\n\r\n {values.isInitialOrReminderStatus && (\r\n

\r\n Call Fines Victoria: (03) 9200 8111 or 1300 369 819 (for regional callers)\r\n

\r\n )}\r\n {values.isEOIW && (\r\n

\r\n Call Fines Victoria: (03) 9200 8222 or 1800 150 410 (for regional callers)\r\n

\r\n )}\r\n\r\n

Select option 4, and follow the prompts. You will need to enter your obligation number {values.OBLIGATION_NUMBER} when you call.

\r\n\r\n
\r\n

Click continue to apply online.

\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ExtensionStep15;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement } from 'react';\r\n\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport styles from './ExtensionStep16.module.scss';\r\n\r\nfunction ExtensionStep16(): ReactElement {\r\n return (\r\n <>\r\n
\r\n
You need to call us
\r\n
We process applications for payment extensions by companies over the phone.
\r\n

\r\n Call Fines Victoria: (03) 9200 8111 or 1300 369 819 (for regional callers)\r\n

\r\n

We're available Monday to Friday, 8am to 6pm (except public holidays).

\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ExtensionStep16;\r\n","/* eslint-disable operator-linebreak */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable no-param-reassign */\r\n\r\nimport { ReactElement, useState, useEffect, useRef } from 'react';\r\nimport { Routes, Route, useNavigate, useParams, useLocation } from 'react-router-dom';\r\nimport { Formik, Form, FormikProps, validateYupSchema, getIn } from 'formik';\r\nimport { defaultForm, getReceiptPayload, getSubmissionPayload, iExtensionFormValues, ExtensionSchema, extensionMetaData } from '@services/ExtensionService';\r\nimport { FormContainer } from '@pages';\r\nimport ReactGA from 'react-ga';\r\nimport { FormNavFooter, FormLoading, Alert, ProgressBar } from '@components';\r\nimport { FormType } from '@constants';\r\nimport { iToolTips, iCountry, iFormNavActions, iApiError, iPartialFormData } from '@interfaces/interfaces';\r\nimport { getBasicInfo, getCountryList, getTooltips, savePartialForm, getPartialForm, submitSavedPartialForm } from '@api';\r\nimport { navigateToError, navigateToNextStep, getStringIndex, setFormDataValues, setCurrentFormikValues, getDateForValidateDebtor, navToError } from '@utils';\r\nimport ErrorContent from '@components/Content/AlertContent/ErrorContent';\r\nimport { ExtensionStep0, ExtensionStep1, ExtensionStep2, ExtensionStep3, ExtensionStep4, ExtensionStep5, ExtensionStep6, ExtensionStep7, ExtensionStep8, ExtensionStep9, ExtensionStep10, ExtensionStep11, ExtensionStep12, ExtensionStep15, ExtensionStep16, ExtensionErrorPage } from '.';\r\nimport VicFinesContext from '../VicFinesFormContext';\r\nimport IssueIcon from '../../../images/issue.svg';\r\n\r\ninterface ObligationParams {\r\n ob: string;\r\n}\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL, REACT_APP_PATH_EXTENSION: PATH_EXTENSION } = process.env;\r\n\r\nfunction Extension(): ReactElement {\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const pathElementArray = location.pathname.split('/');\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n // example returned [step0,3224242] or [step0]\r\n const stepArray = pathElementArray.slice(stepIndexDiff);\r\n // example returned 0\r\n const stepIndexInPath = getStringIndex(stepArray, 'step');\r\n // always get the element contain step like step0\r\n const getStepInPath = stepArray[stepIndexInPath];\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const currentStep = location.pathname === `${PATH_EXTENSION}` || location.pathname === `${PATH_EXTENSION}/` ? 'step0' : `${getStepInPath}`;\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [countryList, setCountryList] = useState([]);\r\n const [tooltips, setTooltips] = useState({} as iToolTips);\r\n const [apiError, setApiError] = useState({} as iApiError);\r\n const formikValuesRef = useRef({} as FormikProps);\r\n const [activeError, setActiveError] = useState(false);\r\n type obligationNum = {\r\n ob: string;\r\n };\r\n const { ob } = useParams();\r\n useEffect(() => {\r\n const fetchData = async (): Promise => {\r\n try {\r\n const [countryResults, tooltipResults] = await Promise.all([getCountryList(), getTooltips('fines.ExtensionForm')]);\r\n setCountryList(countryResults);\r\n setTooltips(tooltipResults);\r\n setLoading(false);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n fetchData();\r\n const handlePopstate = () => {\r\n const nextLocation = window.location.pathname;\r\n const isSubmitted = formikValuesRef.current && formikValuesRef.current.values ? formikValuesRef.current.values?.submitted : false;\r\n if (nextLocation === `${PATH_EXTENSION}/step9` || isSubmitted) {\r\n navigate({\r\n pathname: `${PATH_EXTENSION}/step10`,\r\n search: window.location.search,\r\n });\r\n }\r\n // back button logic on broswer\r\n if (nextLocation === `${PATH_EXTENSION}/step15` || nextLocation === `${PATH_EXTENSION}/step3` || nextLocation === `${PATH_EXTENSION}/step2`) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', '');\r\n formikValuesRef.current.setFieldTouched('OBLIGATION_NUMBER');\r\n formikValuesRef.current.setFieldValue('OFFENCE_DATE', '');\r\n formikValuesRef.current.setFieldTouched('OFFENCE_DATE');\r\n formikValuesRef.current.setFieldValue('HEARING_DATE', '');\r\n formikValuesRef.current.setFieldTouched('HEARING_DATE');\r\n formikValuesRef.current.setFieldValue('DRIVER_LICENCE', '');\r\n formikValuesRef.current.setFieldTouched('DRIVER_LICENCE');\r\n formikValuesRef.current.setFieldValue('VEHICLE_REGISTRATION', '');\r\n formikValuesRef.current.setFieldTouched('VEHICLE_REGISTRATION');\r\n formikValuesRef.current.setFieldValue('DOB', '');\r\n formikValuesRef.current.setFieldTouched('DOB');\r\n if (nextLocation === `${PATH_EXTENSION}/step3`) {\r\n formikValuesRef.current.setFieldValue('SaveYesNo', 'false');\r\n }\r\n navigate({\r\n pathname: `${PATH_EXTENSION}/step1`,\r\n search: window.location.search,\r\n }, { replace: true });\r\n }\r\n if (nextLocation === `${PATH_EXTENSION}/step1`) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', '');\r\n formikValuesRef.current.setFieldTouched('OBLIGATION_NUMBER');\r\n }\r\n };\r\n window.addEventListener('popstate', handlePopstate);\r\n return () => {\r\n window.removeEventListener('popstate', handlePopstate);\r\n };\r\n }, []);\r\n const displayErrorsCount = (errorCount: number, touchedFields: number): void => {\r\n if (touchedFields === 0) {\r\n setActiveError(true);\r\n } else if (errorCount > 0) {\r\n setActiveError(true);\r\n } else {\r\n setActiveError(false);\r\n }\r\n };\r\n\r\n const clearApiError = () => {\r\n setApiError({\r\n Error: '',\r\n });\r\n };\r\n\r\n const postObligation = async (formikContext: any): Promise => {\r\n window.scrollTo(0, 0);\r\n setLoading(true);\r\n // remove whitespaces before and after obligation number\r\n const trimmedObligationNumber = formikContext.values.OBLIGATION_NUMBER.trim();\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', trimmedObligationNumber);\r\n const payload = {\r\n obligationNumber: trimmedObligationNumber,\r\n };\r\n const url = `${API_URL}sitecore/Extension/ValidateObligation`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 422 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n getBasicInfo(formikContext.values.OBLIGATION_NUMBER, FormType.EXTENSION)\r\n .then((resBody) => {\r\n if (resBody) {\r\n const isInitialOrReminderStatus = resBody.Status ? (resBody.Status === 'Infringement' || resBody.Status === 'PenaltyReminder') : false;\r\n const isEOIW = (resBody.Status === 'NoticeOfFinalDemand' || resBody.Status === 'EnforcementWarrant');\r\n formikContext.setFieldValue('isEOIW', isEOIW);\r\n formikContext.setFieldValue('isInitialOrReminderStatus', isInitialOrReminderStatus);\r\n formikContext.setFieldValue('Status', resBody.Status);\r\n formikContext.setFieldValue('IsCompany', resBody.IsCompany);\r\n formikContext.setFieldValue('DDD', resBody.DDD);\r\n formikContext.setFieldValue('ESI', resBody.ESI);\r\n formikContext.setFieldValue('MarineOffence', resBody.MarineOffence);\r\n formikContext.setFieldValue('IsESIorDDD', resBody.IsESIorDDD);\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n const nextPageUrl = `${pathNameLessLastSegment}${responseBody}`;\r\n clearApiError();\r\n navigate(nextPageUrl);\r\n window.scrollTo(0, 0);\r\n setLoading(false);\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n const resetPFormDataValues = (partialFormApi: any, formikObject: any) => {\r\n if (partialFormApi && formikObject) {\r\n // clone data format like objectkey: [{},{}]\r\n if (\r\n Array.isArray(partialFormApi) &&\r\n partialFormApi[0] &&\r\n typeof partialFormApi[0] === 'object' &&\r\n Array.isArray(formikObject) &&\r\n (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n type dynamicObj = {\r\n [key: string]: string;\r\n };\r\n const temp = {} as dynamicObj;\r\n Object.keys(val).forEach((key) => {\r\n temp[key] = val[key];\r\n });\r\n formikObject.push(temp);\r\n });\r\n }\r\n // handle scenario if formikObject is empty array , it's for ObjectKey:[] or string[]\r\n if (\r\n Array.isArray(partialFormApi) &&\r\n partialFormApi[0] &&\r\n typeof partialFormApi[0] === 'string' &&\r\n Array.isArray(formikObject) &&\r\n (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n formikObject.push(val);\r\n });\r\n }\r\n if (partialFormApi && formikObject) {\r\n Object.keys(partialFormApi).forEach((key) => {\r\n if (key in formikObject) {\r\n if (typeof partialFormApi[key] === 'object' && !(partialFormApi[key] instanceof Date)) {\r\n resetPFormDataValues(partialFormApi[key], formikObject[key]);\r\n } else {\r\n formikObject[key] = partialFormApi[key];\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n const checkExistingForm = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n formType: 'PaymentExtension',\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CheckingExistingForm`;\r\n\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n if (responseBody.PartialFormID) formikValuesRef.current.setFieldValue('PartialFormID', responseBody.PartialFormID);\r\n if (responseBody.DebtorID) formikValuesRef.current.setFieldValue('DebtorID', responseBody.DebtorID, formikContext);\r\n if (responseBody.CheckingExisting === 'no' && responseBody.CanSave) {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step3`);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n if (responseBody.PartialFormID) {\r\n getPartialForm(responseBody.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikValuesRef.current.values.FormData, formikValuesRef, 'FormData');\r\n setCurrentFormikValues(formData, formikValuesRef.current.values, formikValuesRef);\r\n } else if (resBody[key]) {\r\n formikContext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => console.log(e));\r\n } else {\r\n setLoading(false);\r\n }\r\n navigate(`${pathNameLessLastSegment}/step4`);\r\n window.scrollTo(0, 0);\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const validateDebtor = async (formikContext: any): Promise => {\r\n window.scrollTo(0, 0);\r\n setLoading(true);\r\n // Backend api is checking date time for some reasons, time need to be 14:00:00\r\n const getOffenceDate = formikContext.values.OFFENCE_DATE && getDateForValidateDebtor(formikContext.values.OFFENCE_DATE.toLocaleDateString('en-AU'));\r\n const getHearingDate = formikContext.values.HEARING_DATE && getDateForValidateDebtor(formikContext.values.HEARING_DATE.toLocaleDateString('en-AU'));\r\n const getDOBDate = formikContext.values.DOB && getDateForValidateDebtor(formikContext.values.DOB.toLocaleDateString('en-AU'));\r\n const payload = {\r\n dateOfBirth: getDOBDate,\r\n hearingDate: getHearingDate,\r\n licenceNumber: formikContext.values.DRIVER_LICENCE,\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n offenceDate: getOffenceDate,\r\n registrationNumber: formikContext.values.VEHICLE_REGISTRATION,\r\n };\r\n const url = `${API_URL}sitecore/Extension/ValidateDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n setApiError({\r\n Error: '',\r\n });\r\n if (responseBody === '/step3') {\r\n checkExistingForm(formikContext);\r\n }\r\n if (responseBody === '/step8' || responseBody === '/step9') {\r\n navigate(`${location.pathname.split('/').slice(0, -1).join('/')}${responseBody}`);\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n const createPartialForm = async (formikContext: any): Promise => {\r\n if (formikContext.values.SaveYesNo === 'false' || getIn(formikContext.values, 'PartialFormID')) {\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n setLoading(true);\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formikContext.values.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: formikContext.values.saveEmail,\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ a: '1', ...formikContext.values.FormData }),\r\n FormTypeID: 2,\r\n ID: 0,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n Mobile: formikContext.values.saveMobile,\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n if (responseBody.ID) {\r\n formikValuesRef.current.setFieldValue('PartialFormID', responseBody.ID);\r\n formikValuesRef.current.setFieldValue('Obligations', responseBody.Obligations);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const updatePartialFormData = async (formikContext: any): Promise => {\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const partialformPayload: iPartialFormData = {\r\n ID: formikContext.values.PartialFormID,\r\n Obligations: formikContext.values.Obligations,\r\n Attachments: [],\r\n FormData: JSON.stringify(formikContext.values.FormData), // {a: '1'},formikContext.values.FormData\r\n DebtorID: formikContext.values.DebtorID,\r\n FormTypeID: 2,\r\n Email: formikContext.values.saveEmail,\r\n Mobile: formikContext.values.saveMobile,\r\n IsSubscribedEM: formikContext.values.IsSubscribedEM,\r\n IsSubscribedSMS: formikContext.values.IsSubscribedSMS,\r\n EMRemeinderSent: formikContext.values.EMRemeinderSent,\r\n SMSRemeinderSent: formikContext.values.SMSRemeinderSent,\r\n CreateDate: formikContext.values.CreateDate,\r\n ExpiryDate: formikContext.values.ExpiryDate,\r\n };\r\n try {\r\n const response = await savePartialForm(partialformPayload);\r\n return response;\r\n } catch (error) {\r\n console.log(error);\r\n return false;\r\n }\r\n };\r\n const createPartialFormForSumbit = async (formValues: iExtensionFormValues): Promise => {\r\n formikValuesRef.current.setFieldValue('SaveYesNo', 'true');\r\n resetPFormDataValues(formikValuesRef.current.values, formValues.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formValues.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: '',\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ ...getIn(formValues, 'FormData') }),\r\n FormTypeID: 2,\r\n ID: 0,\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n Mobile: '',\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formValues.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (responseBody.status === 200) {\r\n return 'true';\r\n }\r\n return responseBody;\r\n } catch (error) {\r\n return `${error}`;\r\n }\r\n };\r\n const submitForm = async (formValues: iExtensionFormValues): Promise => {\r\n setLoading(true);\r\n submitSavedPartialForm(formValues.PartialFormID.toString());\r\n /* const receiptPayload = getReceiptPayload(formValues);\r\n const urlReceipt = `${API_URL}sitecore/Receipt/CreateReceiptNumber`;\r\n let receiptResponse: any;\r\n try {\r\n receiptResponse = await fetch(urlReceipt, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: receiptPayload,\r\n });\r\n } catch (error) {\r\n return false;\r\n }\r\n\r\n if (receiptResponse.status !== 200) {\r\n return false;\r\n }\r\n\r\n const submissionNumber = await receiptResponse.text();\r\n */\r\n const submissionNumber = 'SubmissionNumber';\r\n formikValuesRef.current.setFieldValue('submissionNo', submissionNumber);\r\n const formSubmissionValues = getSubmissionPayload(formValues, submissionNumber);\r\n const submitPayload = {\r\n data: JSON.stringify(formSubmissionValues),\r\n obligationNo: formValues.OBLIGATION_NUMBER\r\n };\r\n\r\n const urlSubmission = `${API_URL}sitecore/Extension/SubmitExtensionOfTime`;\r\n let submitResponse = false;\r\n submitResponse = await fetch(urlSubmission, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(submitPayload),\r\n })\r\n .then((formSubResponse) => {\r\n if (formSubResponse.status === 200) {\r\n if (formValues.SaveYesNo === 'true') {\r\n // having partial form, close it\r\n submitSavedPartialForm(formValues.PartialFormID.toString());\r\n }\r\n formikValuesRef.current.setFieldValue('submitted', true);\r\n ReactGA.event({\r\n category: 'Extension Form',\r\n action: 'Submit',\r\n label: 'Submit Extension Form',\r\n });\r\n return formSubResponse.json();\r\n }\r\n formikValuesRef.current.setFieldValue('submissionError', formSubResponse.statusText);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }).then((response) => {\r\n if (response) {\r\n formikValuesRef.current.setFieldValue('submissionNo', response.receiptNo); // get submission number from API response\r\n return true;\r\n }\r\n return false;\r\n })\r\n .catch((error) => {\r\n formikValuesRef.current.setFieldValue('submissionError', error);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n })\r\n.finally(() => {\r\n setLoading(false);\r\n });\r\n if (!submitResponse) return false;\r\n return true;\r\n };\r\n const step4NextPage = (formikContext: any) => {\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n window.scrollTo(0, 0);\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const step5NextPage = (formikContext: any) => {\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n window.scrollTo(0, 0);\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const step6NextPage = (formikContext: any) => {\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n window.scrollTo(0, 0);\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const step7NextPage = (formikContext: any) => {\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n window.scrollTo(0, 0);\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const formNavActions: iFormNavActions = {\r\n step1: {\r\n next: postObligation,\r\n },\r\n step2: {\r\n next: validateDebtor,\r\n },\r\n step3: {\r\n next: createPartialForm,\r\n },\r\n step4: {\r\n next: step4NextPage,\r\n },\r\n step5: {\r\n next: step5NextPage,\r\n },\r\n step6: {\r\n next: step6NextPage,\r\n },\r\n step7: {\r\n next: step7NextPage,\r\n },\r\n };\r\n\r\n return (\r\n {\r\n submitForm(values);\r\n }}>\r\n {({ values, touched, errors }) => (\r\n \r\n \r\n {loading && }\r\n {!loading && (\r\n
\r\n {!location.pathname.includes('error') && }\r\n {activeError && } theme=\"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\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n \r\n {!(\r\n location.pathname === `${PATH_EXTENSION}/step10` ||\r\n location.pathname === `${PATH_EXTENSION}/step16` ||\r\n location.pathname === `${PATH_EXTENSION}/step17` ||\r\n location.pathname === `${PATH_EXTENSION}/error`\r\n ) && (\r\n submitForm(values)}\r\n tooltips={tooltips}\r\n displayErrorsCount={displayErrorsCount}\r\n pageValidationKeys={extensionMetaData.pagesSegments[currentStep].validationKeys(values)}\r\n formType={FormType.EXTENSION}\r\n firstPageNo={0}\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\nexport default Extension;\r\n","/* eslint-disable no-param-reassign */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable operator-linebreak */\r\n/* eslint-disable implicit-arrow-linebreak */\r\n/* eslint-disable no-nested-ternary */\r\nimport * as Yup from 'yup';\r\nimport { OBLIGATION_REGEX, CONTACT_NUMBER_REGEX, NAME_FIELDS_NEW_REGEX, NAME_FIELDS_REGEX, ORGANISATION_NAME_REGEX, FIELDS_WITH_SEPCIFI_CHARS, VEHICLE_REGISTRATION_REGEX, FREE_TEXT_FIELD_REGEX } from '@services/ValidationRules';\r\nimport { iFVSAddress, iContact, iFormMetaData, iAttachments, iFVSCheckboxAll, iObligation, iValue, iSummary, iSummaryField } from '@interfaces/interfaces';\r\nimport { ProgressStep, FormType } from '@constants';\r\nimport { reverseTrueOrFalseSubmission } from '@utils';\r\nimport { FormikValues, getIn } from 'formik';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nimport {\r\n INVALID_OBLIGATION_NUMBER,\r\n INVALID_NUMERIC_FORMAT,\r\n INVALID_YESNO_FORMAT,\r\n INVALID_NAME_FORMAT,\r\n EMPTY_DATE,\r\n EMPTY_CHECKBOX,\r\n INVALID_FUTURE_DATE,\r\n INVALID_PHONE_NUMBER_LENGTH,\r\n INVALID_PHONE_NUMBER,\r\n INVALID_VEHICLE_REGISTRATION_NUMBER,\r\n INVALID_EMAIL,\r\n MISSING_DECLARATION_AGREEMENT,\r\n INVALID_FILE_SIZE,\r\n INVALID_FILE_TYPE,\r\n FILE_UPLOAD_FAIL,\r\n INVALID_LICENCE_FORMAT,\r\n MISSING_APPLICATION_LODGING_AGREEMENT,\r\n INVALID_MOBILE_NUMBER_FORMAT,\r\n FIELDS_WITH_SEPCIFI_CHARS_MSG,\r\n INVALID_ORG_NAME_FORMAT,\r\n INVALID_FREE_TEXT_FIELD_FORMAT\r\n} from './ErrorMessages';\r\nimport keys from './PageValidationKeys';\r\n\r\nconst joinAddressFields = (entry: string[]) => {\r\n if (entry[0] === 'Address' || entry[0] === 'SearchText') return null;\r\n if (entry[0] === 'Country') return entry[1];\r\n return entry[1];\r\n};\r\n\r\nconst displayFileDetails = (attachment: iAttachments) => {\r\n if (attachment.FileName !== '' && attachment.FileDescription !== '') {\r\n return `${attachment.FileName} : ${attachment.FileDescription}`;\r\n }\r\n if (attachment.FileName !== '' && attachment.FileDescription === '') {\r\n return `${attachment.FileName}`;\r\n }\r\n return '';\r\n};\r\nconst { riskAndSupportDetails, backgroundAndIdentityDetails, likelyPossibilities, paymentArrangements } = fvsInfoDisplayObject.pages;\r\nconst listUnregisteredFines = (values: iFVSFormValues, unregisteredFinesArray: iValue[]) =>\r\n unregisteredFinesArray.map(\r\n (fine, index) =>\r\n `Enforcement agency: ${getIn(values, `AgencyNames.${index}.value`) ? getIn(values, `AgencyNames.${index}.value`) : 'n/a'}, Infringement notice number: ${\r\n getIn(values, `InfringementNums.${index}.value`) ? getIn(values, `InfringementNums.${index}.value`) : 'n/a'\r\n }, Alleged offence: ${getIn(values, `AOffence.${index}.value`) ? getIn(values, `AOffence.${index}.value`) : 'n/a'}, Date of alleged offence: ${\r\n getIn(values, `DAOffence.${index}.value`) ? new Date(getIn(values, `DAOffence.${index}.value`)).toLocaleDateString('en-AU', { timeZone: 'Australia/Melbourne' }) : 'n/a'\r\n }`,\r\n );\r\nexport interface iPartialFormData {\r\n a: string;\r\n // is submitted\r\n submitted: boolean;\r\n // FVS Step1 Field\r\n OBLIGATION_NUMBER: string;\r\n // FVS Step2 Fields\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n\r\n // FVS step 4 fields\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n // step 5\r\n ApplicationLodger: string;\r\n ConsentToThirdParty: boolean;\r\n\r\n // FVS step 3 fields\r\n // Has7DayNotice: string | null;\r\n ActionsTakenOnFine: string[];\r\n NoActionsTaken: boolean;\r\n HasLinkBwFVSAndFines: string | null;\r\n HasEvidenceToSupport: string | null;\r\n isUrgent: boolean;\r\n // FVS step 6 fields\r\n GivenNames: string;\r\n FamilyName: string;\r\n DOB: Date | null;\r\n StatecountryOfIssue: string;\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n FVSResidentialAddress: iFVSAddress;\r\n NoResidentialAddress: boolean;\r\n DeliveryAddressType: string;\r\n FVSPostalAddress: iFVSAddress;\r\n NoSafePostalAddress: boolean;\r\n IsEmailRequired: string | null;\r\n Email: string;\r\n NoEmail: boolean;\r\n SendEmailCopy: string | null;\r\n PhoneApplicant: string | null;\r\n IndividualContactNumber: iContact;\r\n SafestContactTime: string;\r\n PhoneMessagePrompt: string | null;\r\n InterpreterRequiredPrompt: string | null;\r\n AlternativeLanguage: string;\r\n NoFixedAddress: string;\r\n // FVS Step 7 and 16 fields\r\n HasScaredFeelings: string | null;\r\n HasRiskAssessment: string | null;\r\n ContactSpecialist: string | null;\r\n // FVS Step 8 and 17 fields\r\n Gender: string;\r\n GenderSelfDescribed: string;\r\n LGBTIQIdentified: string | null;\r\n Origin: string;\r\n EnglishProficiency: string;\r\n NativeLanguage: string;\r\n HasDisability: string | null;\r\n DisabilityDescription: string;\r\n // FVS Step 9\r\n InfringementNoticeNumber: string;\r\n SelectedObligationsStep9: iFVSCheckboxAll[];\r\n ObligationStatus: string;\r\n TicketType: string;\r\n Status: string;\r\n OffenceCode: string;\r\n relevantObs: iObligation[];\r\n WhichOtherFines: string | null;\r\n enteredObligationsArray: iValue[];\r\n AdditionalFinesToInclude: string;\r\n InfringementNums: iValue[];\r\n AgencyNames: iValue[];\r\n AOffence: iValue[];\r\n DAOffence: iValue[];\r\n // FVS Step 10 and 20 fields\r\n WhatWouldYouLikeToHappen: string | null;\r\n FamilyNameOptional: string;\r\n GivenNamesOptional: string;\r\n DOBOptional: Date | null;\r\n DriverLicenceNumberOptional: string;\r\n StatecountryOfIssueOptional: string;\r\n LicenceStateOptional: string;\r\n NoDriverLicenceOptional: boolean;\r\n HowDealtWithFines: string;\r\n // FVS Step 11 and 21 fields\r\n HasPaymentArrangement: string | null;\r\n RemoveFines: string | null;\r\n ReincludeFines: string | null;\r\n // FVS Step 12\r\n SupportingAttachments: iAttachments[];\r\n UnableToObtainAdoc: boolean;\r\n SignedDeclarationAttachment: iAttachments[];\r\n // FVS Step 13\r\n OtherSupportingAttachments: iAttachments[];\r\n ReasonForApplication: string;\r\n // FVS Step 14\r\n RepresentativeGivenName: string;\r\n RepresentativeFamilyName: string;\r\n RepresentativeRelationshipToVictim: string;\r\n RepresentativeCompanyName: string;\r\n RepresentativeCompanyPosition: string;\r\n RepresentativePostalAddress: iFVSAddress;\r\n RepresentativeEmailAddress: string;\r\n RepresentativeRequestsEmailCopyBool: string;\r\n FVSContactNumber: iContact;\r\n RepresentativeAllowsPhoneCommunicationBool: string;\r\n RepresentativePreferredContactDayTime: string;\r\n\r\n // FVS Step 18\r\n obligations: iValue[];\r\n RegisteredFinesToInclude: string;\r\n InfringementFinesToInclude: string;\r\n AdditionalFinesType: string;\r\n}\r\n\r\ninterface iPartialFormObligations {\r\n ID: number;\r\n ObligationNO: string;\r\n IsPrimary: boolean;\r\n}\r\nexport interface iCommonFVSFormValues {\r\n [key: string]:\r\n | string\r\n | number\r\n | boolean\r\n | iPartialFormObligations[]\r\n | iObligation\r\n | iPartialFormData\r\n | iObligation[]\r\n | iAttachments[]\r\n | iValue[]\r\n | iFVSCheckboxAll[]\r\n | string[]\r\n | Date\r\n | null\r\n | iFVSAddress\r\n | iContact;\r\n // is submitted\r\n submitted: boolean;\r\n // FVS Step1 Field\r\n OBLIGATION_NUMBER: string;\r\n // FVS Step2 Fields\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n // Step 2 and 6\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n // FVS step 3 fields\r\n // Has7DayNotice: string | null;\r\n ActionsTakenOnFine: string[];\r\n NoActionsTaken: boolean;\r\n HasLinkBwFVSAndFines: string | null;\r\n HasEvidenceToSupport: string | null;\r\n isUrgent: boolean;\r\n // FVS step 4 fields\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n // FVS partial form ID\r\n ID: string;\r\n PartialFormID: string;\r\n FormData: iPartialFormData;\r\n Obligations: iPartialFormObligations[];\r\n}\r\n\r\nexport interface iFVSFormValues extends iCommonFVSFormValues {\r\n // FVS Step4 response\r\n InfringementNoticeNumber: string;\r\n Attachments: string[];\r\n DebtorID: number;\r\n FormTypeID: number;\r\n IsSubscribedEM: boolean;\r\n IsSubscribedSMS: boolean;\r\n EMRemeinderSent: boolean;\r\n SMSRemeinderSent: boolean;\r\n CreateDate: string;\r\n ExpiryDate: string;\r\n // GetObligationOptions response\r\n DebtorType: string;\r\n // CreateReceiptNumber response\r\n submissionNo: string;\r\n // Declaration\r\n declaration: boolean;\r\n // FVS Step5 Fields\r\n ApplicationLodger: string;\r\n ConsentToThirdParty: boolean;\r\n // FVS step 6 fields\r\n GivenNames: string;\r\n FamilyName: string;\r\n StatecountryOfIssue: string;\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n FVSResidentialAddress: iFVSAddress;\r\n NoResidentialAddress: boolean;\r\n DeliveryAddressType: string;\r\n FVSPostalAddress: iFVSAddress;\r\n NoSafePostalAddress: boolean;\r\n IsEmailRequired: string | null;\r\n Email: string;\r\n NoEmail: boolean;\r\n SendEmailCopy: string | null;\r\n PhoneApplicant: string | null;\r\n IndividualContactNumber: iContact;\r\n SafestContactTime: string;\r\n PhoneMessagePrompt: string | null;\r\n InterpreterRequiredPrompt: string | null;\r\n AlternativeLanguage: string;\r\n // FVS Step 7 and 16 fields\r\n HasScaredFeelings: string | null;\r\n HasRiskAssessment: string | null;\r\n ContactSpecialist: string | null;\r\n // FVS Step 8 and 17 fields\r\n Gender: string;\r\n GenderSelfDescribed: string;\r\n LGBTIQIdentified: string | null;\r\n Origin: string;\r\n EnglishProficiency: string;\r\n NativeLanguage: string;\r\n HasDisability: string | null;\r\n DisabilityDescription: string;\r\n // FVS Step 9 and 18 fields\r\n SelectedObligationsStep9: iFVSCheckboxAll[];\r\n SelectedObNums: string;\r\n AuthorisedObligation: iObligation;\r\n EligibleObligations: iObligation[];\r\n ObligationStatus: string;\r\n AdditionalFinesToInclude: string;\r\n relevantObs: iObligation[];\r\n WhichOtherFines: string | null;\r\n TicketType: string;\r\n Status: string;\r\n OffenceCode: string;\r\n enteredObligationsArray: iValue[];\r\n obligations: iValue[];\r\n infringementFineArray: iValue[];\r\n InfringementNums: iValue[];\r\n AgencyNames: iValue[];\r\n AOffence: iValue[];\r\n DAOffence: iValue[];\r\n SelectedObligations: string[];\r\n InfringementFinesToInclude: string;\r\n RegisteredFinesToInclude: string;\r\n AdditionalFinesType: string;\r\n AnyEligibleNomiation: boolean;\r\n // FVS Step 10 and 19 fields\r\n WhatWouldYouLikeToHappen: string | null;\r\n FamilyNameOptional: string;\r\n GivenNamesOptional: string;\r\n DOBOptional: Date | null;\r\n DriverLicenceNumberOptional: string;\r\n StatecountryOfIssueOptional: string;\r\n LicenceStateOptional: string;\r\n NoDriverLicenceOptional: boolean;\r\n HowDealtWithFines: string;\r\n AnyPaymentArrangement: boolean;\r\n // FVS Step 11 and 20 fields\r\n HasPaymentArrangement: string | null;\r\n RemoveFines: string | null;\r\n ReincludeFines: string | null;\r\n // FVS Step 12 and 21 fields\r\n SupportingAttachments: iAttachments[];\r\n SupportingFilesProvider: string;\r\n SupportingFilesDescription: string;\r\n ReportNameField: string;\r\n ReportNameFieldErrorHandle: boolean;\r\n ReportUploadFileSectionError: string;\r\n UnableToObtainAdoc: boolean;\r\n StatutoryUploadFileSectionError: string;\r\n SignedDeclarationAttachment: iAttachments[];\r\n SignedStatutoryProvider: string;\r\n SignedStatutoryDescription: string;\r\n SignedDeclarationNameField: string;\r\n SignedStatutoryFieldErrorHandle: boolean;\r\n // FVS Step 13 and 22 fields\r\n OtherSupportingDocNameField: string;\r\n OtherSupportingAttachments: iAttachments[];\r\n OtherSupportingFilesProvider: string;\r\n OtherSupportingFilesDescription: string;\r\n OtherReportNameFieldErrorHandle: boolean;\r\n ReasonForApplication: string;\r\n // FVS Step 14\r\n RepresentativeGivenName: string;\r\n RepresentativeFamilyName: string;\r\n RepresentativeRelationshipToVictim: string;\r\n RepresentativeCompanyName: string;\r\n RepresentativeCompanyPosition: string;\r\n RepresentativePostalAddress: iFVSAddress;\r\n RepresentativeEmailAddress: string;\r\n RepresentativeRequestsEmailCopyBool: string;\r\n FVSContactNumber: iContact;\r\n RepresentativeAllowsPhoneCommunicationBool: string;\r\n RepresentativePreferredContactDayTime: string;\r\n\r\n // File upload failed\r\n ReportNameFileUplodErrorHandle: boolean;\r\n SignedStatutoryFileUploadErrorHandle: boolean;\r\n OtherReportNameFileUploadErrorHandle: boolean;\r\n // submission error message\r\n submissionError: string;\r\n}\r\n\r\nexport interface iSubmitFVSFormValues extends iCommonFVSFormValues {\r\n YourObligationNumber: string;\r\n OBLIGATION_NUMBER: string;\r\n IdentifyingReference: string;\r\n\r\n // step 3\r\n LinkYes: string;\r\n LinkNo: string;\r\n EvidenceYes: string;\r\n EvidenceNo: string;\r\n Sheriff7DayNoticeYes: string;\r\n Sheriff7DayNoticeNo: string;\r\n SheriffRemoveNumberplates: string;\r\n SheriffSeize: string;\r\n SheriffWheelClamp: string;\r\n LostLicence: string;\r\n AttachmentEarnings: string;\r\n LandCharge: string;\r\n NoneApply: string;\r\n // step 5\r\n PersonAffected: string;\r\n AuthorisedRep: string;\r\n // step 6\r\n FamilyName: string;\r\n GivenNames: string;\r\n DateOfBirth: string;\r\n DriverLicenceNumber: string;\r\n ResidentialState: string;\r\n ResidentialSuburb: string;\r\n ResidentialPostcode: string;\r\n ResidentialCountry: string;\r\n NoFixedAddress: string;\r\n PreferNotToProvide: string;\r\n ResidentialAddress: string;\r\n PostalAddress: string;\r\n AnotherPostal: string;\r\n PostalPostcode: string;\r\n PostalSuburb: string;\r\n PostalState: string;\r\n PostalCountry: string;\r\n SameAsResidential: string;\r\n NoSafePostal: string;\r\n SafeToEmailYes: string;\r\n SafeToEmailNo: string;\r\n EmailAddress: string;\r\n SafeToCallYes: string;\r\n SafeToCallNo: string;\r\n ContactPhone: string;\r\n SafestDaysTimes: string;\r\n LeavePhoneMessageYes: string;\r\n LeavePhoneMessageNo: string;\r\n InterpreterYes: string;\r\n InterpreterNo: string;\r\n Language: string;\r\n\r\n // Step 16\r\n RepGivenNames: string;\r\n RepFamilyName: string;\r\n RelationshipPersonAffected: string;\r\n OrganisationCompanyName: string;\r\n PostitionOrganisationCompany: string;\r\n RepPostalAddress: string;\r\n RepPostalState: string;\r\n RepPostalSuburb: string;\r\n RepPostalPostcode: string;\r\n RepPostalCountry: string;\r\n RepPhoneNumber: string;\r\n RepCanWeCallYes: string;\r\n RepCanWeCallNo: string;\r\n RepBestDaysTime: string; // RepBestDaysTime RiskAfraidNo\r\n RepEmailAddress: string;\r\n\r\n // step 7\r\n RiskAfraidYes: string;\r\n RiskAfraidNo: string;\r\n SupportAgencyAssessmentNo: string;\r\n SupportAgencyAssessmentYes: string;\r\n SupportAgencyAssessmentUnsure: string;\r\n SupportServicesContactNo: string;\r\n SupportServicesContactYes: string;\r\n\r\n // step 8\r\n GenderMale: string;\r\n GenderFemale: string;\r\n GenderSelfDescribedSpecify: string;\r\n LGBTIQYes: string;\r\n LGBTIQNo: string;\r\n DisabilityImpairmentYes: string;\r\n DisabilityImpairmentNo: string;\r\n DisabilityImpairmentSpecify: string;\r\n ATSIYes: string;\r\n ATSINo: string;\r\n EnglishNo: string;\r\n EnglishPoorly: string;\r\n EnglishAdequately: string;\r\n EnglishWell: string;\r\n HomeLanguage: string;\r\n\r\n // Step 9 third party\r\n ObligationsAllOutstanding: string;\r\n ObligationsListed: string;\r\n ObligationsListedExclude: string;\r\n\r\n ObligationNumbersIncludeExclude: string;\r\n // self EnforcementAgency #1 to #10 dynamically added those fields\r\n // Step 10\r\n HaveFinesWithdrawn: string;\r\n NominateDriver: string;\r\n DriverGivenNames: string;\r\n DriverFamilyName: string;\r\n DriverDriverStateCountryIssue: string;\r\n DriverDriverLicence: string;\r\n DriverDOB: string;\r\n StatecountryOfIssue: string;\r\n CombinationAbove: string;\r\n CombinationDescribe: string;\r\n // Step 11\r\n PAYes: string;\r\n PANo: string;\r\n PARemoveYes: string;\r\n PARemoveNo: string;\r\n PAProposeYes: string;\r\n PAProposeNo: string;\r\n // Step 12 Need calculated\r\n NumberAttachments: string;\r\n DocumentDescriptions: string;\r\n // Step 13\r\n ReasonsApplication: string;\r\n // Step 24 self\r\n ApplicantDeclaration: string;\r\n ApplicantDeclarationDate: string;\r\n // Step 24 third party\r\n RepDeclaration: string;\r\n RepDeclarationDate: string;\r\n\r\n // additonal ob pdf page\r\n\r\n OBLIGATIONS_TO_INCLUDE: string;\r\n\r\n // Extra information, not sure whether it's used\r\n ThirdParty: string; // not sure\r\n //\r\n FooterSubmissionNo1: string;\r\n FooterFormType1: string;\r\n FooterObligationNo1: string;\r\n FooterSubmittedTime1: string;\r\n\r\n FooterSubmissionNo2: string;\r\n FooterFormType2: string;\r\n FooterObligationNo2: string;\r\n FooterSubmittedTime2: string;\r\n\r\n FooterSubmissionNo3: string;\r\n FooterFormType3: string;\r\n FooterObligationNo3: string;\r\n FooterSubmittedTime3: string;\r\n\r\n FooterSubmissionNo4: string;\r\n FooterFormType4: string;\r\n FooterObligationNo4: string;\r\n FooterSubmittedTime4: string;\r\n\r\n FooterSubmissionNo5: string;\r\n FooterFormType5: string;\r\n FooterObligationNo5: string;\r\n FooterSubmittedTime5: string;\r\n\r\n FooterSubmissionNo6: string;\r\n FooterFormType6: string;\r\n FooterObligationNo6: string;\r\n FooterSubmittedTime6: string;\r\n\r\n FooterSubmissionNo7: string;\r\n FooterFormType7: string;\r\n FooterObligationNo7: string;\r\n FooterSubmittedTime7: string;\r\n}\r\n\r\nexport const defaultForm = (): iFVSFormValues => {\r\n const defaultValues: iFVSFormValues = {\r\n // is submitted\r\n submitted: false,\r\n // iCommonValues\r\n PartialFormID: '',\r\n OBLIGATION_NUMBER: '',\r\n InfringementNoticeNumber: '',\r\n // FVS Step2 Fields\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n DRIVER_LICENCE: '',\r\n VEHICLE_REGISTRATION: '',\r\n // FVS step 3 Fields\r\n // Has7DayNotice: null,\r\n ActionsTakenOnFine: [],\r\n NoActionsTaken: false,\r\n HasLinkBwFVSAndFines: null,\r\n HasEvidenceToSupport: null,\r\n isUrgent: false,\r\n // FVS step 4 fields\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n // FVS Step 5 Field\r\n ApplicationLodger: '',\r\n ConsentToThirdParty: false,\r\n // FVS Step 6 fields\r\n FamilyName: '',\r\n GivenNames: '',\r\n DOB: null,\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n StatecountryOfIssue: 'Australia',\r\n NoFixedAddress: '',\r\n NoResidentialAddress: false,\r\n FVSResidentialAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineTwo: '',\r\n LineOne: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DeliveryAddressType: '',\r\n FVSPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineTwo: '',\r\n LineOne: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n NoSafePostalAddress: false,\r\n Email: '',\r\n NoEmail: false,\r\n IsEmailRequired: null,\r\n SendEmailCopy: '',\r\n PhoneApplicant: '',\r\n IndividualContactNumber: {\r\n ContactNumber: '',\r\n NumberType: 'Mobile',\r\n SecondaryContactNumber: '',\r\n SecondaryNumberType: 'Mobile',\r\n },\r\n SafestContactTime: '',\r\n PhoneMessagePrompt: '',\r\n InterpreterRequiredPrompt: '',\r\n AlternativeLanguage: '',\r\n // FVS Step 7 fields\r\n HasScaredFeelings: null,\r\n HasRiskAssessment: null,\r\n ContactSpecialist: null,\r\n // FVS Step 8 fields\r\n Gender: '',\r\n GenderSelfDescribed: '',\r\n LGBTIQIdentified: null,\r\n Origin: '',\r\n EnglishProficiency: '',\r\n NativeLanguage: '',\r\n HasDisability: null,\r\n DisabilityDescription: '',\r\n // FVS Step 10 fields\r\n WhatWouldYouLikeToHappen: null,\r\n FamilyNameOptional: '',\r\n GivenNamesOptional: '',\r\n DOBOptional: null,\r\n DriverLicenceNumberOptional: '',\r\n LicenceStateOptional: '',\r\n NoDriverLicenceOptional: false,\r\n StatecountryOfIssueOptional: 'Australia',\r\n HowDealtWithFines: '',\r\n AnyPaymentArrangement: false,\r\n // FVS Step 11 fields\r\n HasPaymentArrangement: null,\r\n RemoveFines: null,\r\n ReincludeFines: null,\r\n // GetObligationOptions response\r\n DebtorType: '',\r\n Attachments: [],\r\n DebtorID: 0,\r\n FormTypeID: 0,\r\n EMAIL_TO: '',\r\n // CreateReceiptNumber response\r\n submissionNo: '',\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n EMRemeinderSent: false,\r\n SMSRemeinderSent: false,\r\n CreateDate: '',\r\n ExpiryDate: '',\r\n // FVS Step 9\r\n SelectedObligationsStep9: [],\r\n enteredObligationsArray: [{ value: '' }],\r\n obligations: [{ value: '' }],\r\n infringementFineArray: [{ value: '' }],\r\n ObligationStatus: '',\r\n TicketType: '',\r\n Status: '',\r\n OffenceCode: '',\r\n relevantObs: [],\r\n WhichOtherFines: null,\r\n AdditionalFinesToInclude: '',\r\n RegisteredFinesToInclude: '',\r\n AdditionalFinesType: '',\r\n InfringementFinesToInclude: '',\r\n InfringementNums: [{ value: '' }],\r\n AgencyNames: [{ value: '' }],\r\n AOffence: [{ value: '' }],\r\n DAOffence: [{ value: '' }],\r\n SelectedObligations: [],\r\n AnyEligibleNomiation: false,\r\n // FVS Step 12\r\n SupportingAttachments: [],\r\n SupportingFilesProvider: '',\r\n SupportingFilesDescription: '',\r\n ReportNameField: '',\r\n UnableToObtainAdoc: false,\r\n ReportNameFieldErrorHandle: false,\r\n ReportUploadFileSectionError: '',\r\n StatutoryUploadFileSectionError: '',\r\n SignedDeclarationAttachment: [],\r\n SignedStatutoryProvider: '',\r\n SignedStatutoryDescription: '',\r\n SignedDeclarationNameField: '',\r\n SignedStatutoryFieldErrorHandle: false,\r\n // FVS Step 13\r\n OtherSupportingDocNameField: '',\r\n OtherSupportingAttachments: [],\r\n OtherSupportingFilesProvider: '',\r\n OtherSupportingFilesDescription: '',\r\n OtherReportNameFieldErrorHandle: false,\r\n ReasonForApplication: '',\r\n\r\n // addtional ob pdf page\r\n OBLIGATIONS_TO_INCLUDE: '',\r\n // FVS step 14\r\n RepresentativeGivenName: '',\r\n RepresentativeFamilyName: '',\r\n RepresentativeRelationshipToVictim: '',\r\n RepresentativeCompanyName: '',\r\n RepresentativeCompanyPosition: '',\r\n RepresentativePostalAddress: {\r\n Address: '',\r\n LineTwo: '',\r\n LineOne: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n RepresentativeEmailAddress: '',\r\n RepresentativeRequestsEmailCopyBool: '',\r\n FVSContactNumber: {\r\n ContactNumber: '',\r\n NumberType: 'Mobile',\r\n SecondaryContactNumber: '',\r\n SecondaryNumberType: 'Mobile',\r\n },\r\n RepresentativeAllowsPhoneCommunicationBool: '',\r\n RepresentativePreferredContactDayTime: '',\r\n // FVS Step 24\r\n declaration: false,\r\n SelectedObNums: '',\r\n AuthorisedObligation: {} as iObligation,\r\n EligibleObligations: [],\r\n\r\n // FVS Partial Form data\r\n ID: '',\r\n Obligations: [],\r\n FormData: {\r\n a: '',\r\n // is submitted\r\n submitted: false,\r\n OBLIGATION_NUMBER: '',\r\n // FVS Step2 Fields\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n VEHICLE_REGISTRATION: '',\r\n DRIVER_LICENCE: '',\r\n\r\n // FVS step 4 fields\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n // FVS step 3 Fields\r\n // Has7DayNotice: null,\r\n ActionsTakenOnFine: [],\r\n NoActionsTaken: false,\r\n HasLinkBwFVSAndFines: null,\r\n HasEvidenceToSupport: null,\r\n isUrgent: false,\r\n // FVS Step 5 Field\r\n ApplicationLodger: '',\r\n ConsentToThirdParty: false,\r\n // FVS Step 6 fields\r\n FamilyName: '',\r\n GivenNames: '',\r\n DOB: null,\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n StatecountryOfIssue: 'Australia',\r\n NoFixedAddress: '',\r\n AdditionalFinesToInclude: '',\r\n NoResidentialAddress: false,\r\n FVSResidentialAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineTwo: '',\r\n LineOne: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DeliveryAddressType: '',\r\n FVSPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineTwo: '',\r\n LineOne: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n NoSafePostalAddress: false,\r\n Email: '',\r\n NoEmail: false,\r\n IsEmailRequired: null,\r\n SendEmailCopy: '',\r\n PhoneApplicant: '',\r\n IndividualContactNumber: {\r\n ContactNumber: '',\r\n NumberType: 'Mobile',\r\n SecondaryContactNumber: '',\r\n SecondaryNumberType: 'Mobile',\r\n },\r\n SafestContactTime: '',\r\n PhoneMessagePrompt: '',\r\n InterpreterRequiredPrompt: '',\r\n AlternativeLanguage: '',\r\n // FVS Step 7 fields\r\n HasScaredFeelings: null,\r\n HasRiskAssessment: null,\r\n ContactSpecialist: null,\r\n // FVS Step 8 fields\r\n Gender: '',\r\n GenderSelfDescribed: '',\r\n LGBTIQIdentified: null,\r\n Origin: '',\r\n EnglishProficiency: '',\r\n NativeLanguage: '',\r\n HasDisability: null,\r\n DisabilityDescription: '',\r\n // FVS Step 10 fields\r\n WhatWouldYouLikeToHappen: null,\r\n FamilyNameOptional: '',\r\n GivenNamesOptional: '',\r\n DOBOptional: null,\r\n DriverLicenceNumberOptional: '',\r\n LicenceStateOptional: '',\r\n NoDriverLicenceOptional: false,\r\n StatecountryOfIssueOptional: 'Australia',\r\n HowDealtWithFines: '',\r\n // FVS Step 11 fields\r\n HasPaymentArrangement: null,\r\n RemoveFines: null,\r\n ReincludeFines: null,\r\n // FVS Step 9\r\n InfringementNoticeNumber: '',\r\n SelectedObligationsStep9: [],\r\n enteredObligationsArray: [{ value: '' }],\r\n ObligationStatus: '',\r\n TicketType: '',\r\n Status: '',\r\n OffenceCode: '',\r\n relevantObs: [],\r\n WhichOtherFines: null,\r\n InfringementNums: [{ value: '' }],\r\n AgencyNames: [{ value: '' }],\r\n AOffence: [{ value: '' }],\r\n DAOffence: [{ value: '' }],\r\n // FVS Step 12\r\n SupportingAttachments: [],\r\n UnableToObtainAdoc: false,\r\n SignedDeclarationAttachment: [],\r\n // FVS Step 13\r\n OtherSupportingAttachments: [],\r\n ReasonForApplication: '',\r\n // FVS Step 14\r\n RepresentativeGivenName: '',\r\n RepresentativeFamilyName: '',\r\n RepresentativeRelationshipToVictim: '',\r\n RepresentativeCompanyName: '',\r\n RepresentativeCompanyPosition: '',\r\n RepresentativePostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineTwo: '',\r\n LineOne: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n RepresentativeEmailAddress: '',\r\n RepresentativeRequestsEmailCopyBool: '',\r\n FVSContactNumber: {\r\n ContactNumber: '',\r\n NumberType: 'Mobile',\r\n SecondaryContactNumber: '',\r\n SecondaryNumberType: 'Mobile',\r\n },\r\n RepresentativeAllowsPhoneCommunicationBool: '',\r\n RepresentativePreferredContactDayTime: '',\r\n\r\n // step 18 entered registed fines\r\n obligations: [],\r\n RegisteredFinesToInclude: '',\r\n InfringementFinesToInclude: '',\r\n AdditionalFinesType: ''\r\n },\r\n // File upload failed\r\n ReportNameFileUplodErrorHandle: false,\r\n SignedStatutoryFileUploadErrorHandle: false,\r\n OtherReportNameFileUploadErrorHandle: false,\r\n // submission error message\r\n submissionError: '',\r\n };\r\n return defaultValues;\r\n};\r\n\r\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\nexport const getReceiptPayload = (formValues: any): string => `{\r\n \"ID\": \"\",\r\n \"Receipt\": \"\",\r\n \"Obligations\": [\r\n {\r\n \"ID\": \"\",\r\n \"ObligationNO\": \"${formValues.OBLIGATION_NUMBER}\",\r\n \"IsPrimary\": \"true\",\r\n \"ReceptNumberId\": \"\"\r\n }\r\n ],\r\n \"SubmittedDate\": \"\",\r\n \"FormTypeId\": 7\r\n }`;\r\n\r\nexport const getSubmissionPayload = (formValues: iFVSFormValues, submissionNumber: string): iSubmitFVSFormValues => {\r\n const submitFormValues = formValues;\r\n const now = new Date();\r\n const MONTH = now.getMonth() + 1;\r\n const DATE = now.getDate();\r\n const YEAR = now.getFullYear();\r\n const MINUTE = (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();\r\n const SUBMITTED_TIME = `${now.getHours()}:${MINUTE} ${DATE}/${MONTH}/${YEAR}`;\r\n const FORM_TYPE = 'FVS';\r\n const isAllOutstandingFines = formValues.AdditionalFinesType === 'All eligible outstanding fines';\r\n const isFollowingFines = formValues.AdditionalFinesType === 'The following eligible outstanding fines (please list below)';\r\n // const isFinesExceptBelow = formValues.AdditionalFinesType === 'All eligible outstanding fines EXCEPT these fines (please list below)';\r\n // step 5\r\n const firstParty = formValues.ApplicationLodger === 'LodgedByVictim';\r\n // step 10\r\n const selectedObsArray = formValues.SelectedObNums.split(',');\r\n const selectedObligationsSelfIncludeFirstParty =\r\n formValues.WhichOtherFines === 'AllFines' ? '' :\r\n selectedObsArray.length >= 3\r\n ? 'Refer to attachment'\r\n : formValues.SelectedObNums.length !== 0\r\n ? `${formValues.SelectedObNums}, ${formValues.AuthorisedObligation?.Number}`\r\n : formValues.AuthorisedObligation?.Number;\r\n // step 18 third party\r\n const obligationsEntered = formValues.obligations?.map((element) => element.value);\r\n const selectedObligationsSelfIncludeThirdParty =\r\n isAllOutstandingFines ? formValues.OBLIGATION_NUMBER\r\n : obligationsEntered.length >= 3 ? 'Refer to attachment'\r\n : obligationsEntered.length !== 0 && obligationsEntered[0] ? isFollowingFines ? `${obligationsEntered.join(', ')}, ${formValues.OBLIGATION_NUMBER}`\r\n : obligationsEntered.join(', ')\r\n : formValues.OBLIGATION_NUMBER;\r\n\r\n const additonalPdfWithObligationsFirstParty = selectedObsArray.length >= 3 ? `${formValues.SelectedObNums}, ${formValues.AuthorisedObligation?.Number}` : '';\r\n const additonalPdfWithObligationsThirdParty = obligationsEntered.length >= 3 ? isFollowingFines ? `${obligationsEntered.join(', ')}, ${formValues.OBLIGATION_NUMBER}` : obligationsEntered.join(', ') : '';\r\n if (formValues.AgencyNames.length > 0) {\r\n for (let count = 1; count <= formValues.AgencyNames.length; count += 1) {\r\n formValues[`EnforcementAgency${count}`] = formValues.AgencyNames[count - 1]?.value || '';\r\n formValues[`Infringement${count}`] = formValues.InfringementNums[count - 1]?.value || '';\r\n formValues[`AllegedOffence${count}`] = formValues.AOffence[count - 1]?.value || '';\r\n const doOffenceDate = formValues.DAOffence[count - 1]?.value ? new Date(formValues.DAOffence[count - 1]?.value) : '';\r\n formValues[`AllegedOffenceDate${count}`] = doOffenceDate ? `${doOffenceDate.getDate()}/${doOffenceDate.getMonth() + 1}/${doOffenceDate.getFullYear()}` : '';\r\n }\r\n }\r\n // step 12, 13 number of attachments\r\n const totalNumberOfAttachments = formValues.SupportingAttachments?.length + formValues.SignedDeclarationAttachment?.length + formValues.OtherSupportingAttachments?.length;\r\n const descriptionOfAttachmentsArray = [\r\n ...(formValues.SupportingAttachments || []),\r\n ...(formValues.SignedDeclarationAttachment || []),\r\n ...(formValues.OtherSupportingAttachments || []),\r\n ];\r\n let descriptionOfAttachments = '';\r\n let remoteAttachmentNames = '';\r\n if (descriptionOfAttachmentsArray) {\r\n descriptionOfAttachmentsArray.forEach((v) => {\r\n if (v.FileDescription || v.FileProvider) {\r\n descriptionOfAttachments += `${v.FileProvider ? v.FileProvider : ''}${v.FileProvider && v.FileDescription ? ' - ' : ''}${v.FileDescription ? v.FileDescription : ''}; `;\r\n }\r\n if (v.RemoteFileName) {\r\n remoteAttachmentNames += `${formValues.OBLIGATION_NUMBER}/${v.RemoteFileName}/${v.RemoteFileName}|`;\r\n }\r\n });\r\n }\r\n const finalResidentialAddress = !formValues.NoFixedAddress && !formValues.NoResidentialAddress ?\r\n `${Object.entries(formValues.FVSResidentialAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}` : '';\r\n const finalPostalAddress = formValues.DeliveryAddressType === 'PostalAddress' || formValues.NoFixedAddress || formValues.NoResidentialAddress ?\r\n `${Object.entries(formValues.FVSPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}` : '';\r\n const finalRepPostalAddress = !firstParty ?\r\n `${Object.entries(formValues.RepresentativePostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}` : '';\r\n const residentialAddressOnly = !formValues.NoFixedAddress && !formValues.NoResidentialAddress ?\r\n formValues.FVSResidentialAddress.LineTwo ? `${formValues.FVSResidentialAddress.LineTwo} ${formValues.FVSResidentialAddress.LineOne}` : formValues.FVSResidentialAddress.LineOne : '';\r\n const postalAddressOnly = formValues.DeliveryAddressType === 'PostalAddress' || formValues.NoFixedAddress || formValues.NoResidentialAddress ?\r\n formValues.FVSPostalAddress.LineTwo ? `${formValues.FVSPostalAddress.LineTwo} ${formValues.FVSPostalAddress.LineOne}` : formValues.FVSPostalAddress.LineOne : '';\r\n const repPostalAddressOnly = !firstParty ? formValues.RepresentativePostalAddress.LineTwo ? `${formValues.RepresentativePostalAddress.LineTwo} ${formValues.RepresentativePostalAddress.LineOne}` : formValues.RepresentativePostalAddress.LineOne : '';\r\n const submitObject: iSubmitFVSFormValues = {\r\n ...(submitFormValues as iCommonFVSFormValues),\r\n\r\n YourObligationNumber: formValues.OBLIGATION_NUMBER,\r\n InfringementNoticeNumber: formValues.InfringementNoticeNumber,\r\n OBLIGATION_NUMBER: formValues.OBLIGATION_NUMBER,\r\n IdentifyingReference: formValues.OBLIGATION_NUMBER,\r\n // Urgent or not Urgent\r\n Urgent: formValues.isUrgent.toString(),\r\n // step 3\r\n LinkYes: formValues.HasLinkBwFVSAndFines || 'false',\r\n LinkNo: reverseTrueOrFalseSubmission(formValues.HasLinkBwFVSAndFines || 'false'),\r\n EvidenceYes: formValues.HasEvidenceToSupport || 'false',\r\n EvidenceNo: reverseTrueOrFalseSubmission(formValues.HasEvidenceToSupport || 'false'),\r\n // Sheriff7DayNoticeYes: formValues.Has7DayNotice || 'false',\r\n // Sheriff7DayNoticeNo: reverseTrueOrFalseSubmission(formValues.Has7DayNotice || 'false'),\r\n Sheriff7DayNoticeYes: formValues.ActionsTakenOnFine.includes('Has7DayNotice').toString() || 'false',\r\n Sheriff7DayNoticeNo: reverseTrueOrFalseSubmission(formValues.ActionsTakenOnFine.includes('Has7DayNotice').toString() || 'false'),\r\n SheriffRemoveNumberplates: formValues.ActionsTakenOnFine.includes('NumberPlatesRemoved').toString() || 'false',\r\n SheriffSeize: formValues.ActionsTakenOnFine.includes('VehicleSeized').toString() || 'false',\r\n SheriffWheelClamp: formValues.ActionsTakenOnFine.includes('WheelClamped').toString() || 'false',\r\n LostLicence: formValues.ActionsTakenOnFine.includes('LicenceLost').toString() || 'false',\r\n AttachmentEarnings: formValues.ActionsTakenOnFine.includes('MadeAttachment').toString() || 'false',\r\n LandCharge: formValues.ActionsTakenOnFine.includes('RecordedCharge').toString() || 'false',\r\n NoneApply: formValues.NoActionsTaken.toString(),\r\n // step 5\r\n PersonAffected: formValues.ApplicationLodger === 'LodgedByVictim' ? 'true' : 'false',\r\n ThirdParty: formValues.ApplicationLodger === 'LodgedByRepresentative' ? 'true' : 'false',\r\n // step 6\r\n FamilyName: formValues.FamilyName,\r\n GivenNames: formValues.GivenNames,\r\n DateOfBirth: `${formValues.DOB?.getDate()}/${(formValues.DOB?.getMonth() || 0) + 1}/${formValues.DOB?.getFullYear()}` || '',\r\n DriverLicenceNumber: formValues.NoDriverLicence ? '' : formValues.DRIVER_LICENCE,\r\n StatecountryOfIssue: formValues.NoDriverLicence ? '' : formValues.StatecountryOfIssue === 'Australia' ? formValues.LicenceState : formValues.StatecountryOfIssue,\r\n ResidentialState: formValues.FVSResidentialAddress.State,\r\n ResidentialSuburb: formValues.FVSResidentialAddress.Suburb,\r\n ResidentialAddress: residentialAddressOnly,\r\n ResidentialPostcode: formValues.FVSResidentialAddress.Postcode,\r\n ResidentialCountry: formValues.FVSResidentialAddress.State ? formValues.FVSResidentialAddress.Country : '',\r\n NoFixedAddress: formValues.NoFixedAddress?.toString() || 'false',\r\n PreferNotToProvide: formValues.NoResidentialAddress.toString(),\r\n PostalAddress: postalAddressOnly,\r\n PostalPostcode: formValues.FVSPostalAddress.Postcode,\r\n PostalSuburb: formValues.FVSPostalAddress.Suburb,\r\n PostalState: formValues.FVSPostalAddress.State,\r\n PostalCountry: formValues.FVSPostalAddress.State ? formValues.FVSPostalAddress.Country : '',\r\n AnotherPostal: formValues.DeliveryAddressType === 'PostalAddress' ? 'true' : 'false',\r\n SafeToEmailYes: formValues.IsEmailRequired ? (formValues.IsEmailRequired === 'true' ? 'true' : 'false') : '',\r\n SafeToEmailNo: formValues.IsEmailRequired ? (formValues.IsEmailRequired !== 'true' ? 'true' : 'false') : '',\r\n EmailAddress: formValues.Email,\r\n SafeToCallYes: formValues.PhoneApplicant || 'false',\r\n SafeToCallNo: reverseTrueOrFalseSubmission(formValues.PhoneApplicant || 'false'),\r\n ContactPhone: formValues.IndividualContactNumber.ContactNumber,\r\n SafestDaysTimes: formValues.SafestContactTime,\r\n LeavePhoneMessageYes: formValues.PhoneMessagePrompt ? formValues.PhoneMessagePrompt?.toString() || 'false' : '',\r\n LeavePhoneMessageNo: formValues.PhoneMessagePrompt ? reverseTrueOrFalseSubmission(formValues.PhoneMessagePrompt || 'false') : '',\r\n InterpreterYes: formValues.InterpreterRequiredPrompt ? formValues.InterpreterRequiredPrompt || 'false' : '',\r\n InterpreterNo: formValues.InterpreterRequiredPrompt ? reverseTrueOrFalseSubmission(formValues.InterpreterRequiredPrompt || 'false') : '',\r\n Language: formValues.AlternativeLanguage,\r\n // shared between self and third party\r\n SameAsResidential: formValues.DeliveryAddressType === 'ResidentialAddress' ? 'true' : 'false', // Fineholder's residential address or Residential address\r\n // AnotherPostal: formValues.OBLIGATION_NUMBER,\r\n // step 17 (third party - Your details)\r\n AuthorisedRep: formValues.DeliveryAddressType === 'RepresentativeAddress' ? 'true' : 'false', // Authorised representative’s postal address\r\n NoSafePostal: formValues.DeliveryAddressType === 'EmailAddress' || formValues.NoSafePostalAddress ? 'true' : 'false',\r\n // Step 16\r\n RepGivenNames: !firstParty ? formValues.RepresentativeGivenName : '',\r\n RepFamilyName: !firstParty ? formValues.RepresentativeFamilyName : '',\r\n RelationshipPersonAffected: !firstParty ? formValues.RepresentativeRelationshipToVictim : '',\r\n OrganisationCompanyName: !firstParty ? formValues.RepresentativeCompanyName : '',\r\n PostitionOrganisationCompany: !firstParty ? formValues.RepresentativeCompanyPosition : '',\r\n RepPostalAddress: !firstParty ? repPostalAddressOnly : '',\r\n RepPostalState: !firstParty ? formValues.RepresentativePostalAddress.State : '',\r\n RepPostalSuburb: !firstParty ? formValues.RepresentativePostalAddress.Suburb : '',\r\n RepPostalPostcode: !firstParty ? formValues.RepresentativePostalAddress.Postcode : '',\r\n RepPostalCountry: !firstParty && formValues.RepresentativePostalAddress.State ? formValues.RepresentativePostalAddress.Country : '',\r\n RepPhoneNumber: !firstParty ? formValues.FVSContactNumber.ContactNumber : '',\r\n RepCanWeCallYes: !firstParty ? (formValues.RepresentativeAllowsPhoneCommunicationBool === 'Yes' ? 'true' : 'false') : '',\r\n RepCanWeCallNo: !firstParty ? (formValues.RepresentativeAllowsPhoneCommunicationBool === 'Yes' ? 'false' : 'true') : '',\r\n RepBestDaysTime: !firstParty ? formValues.RepresentativePreferredContactDayTime : '',\r\n RepEmailAddress: !firstParty ? formValues.RepresentativeEmailAddress : '',\r\n // send copy to\r\n EMAIL_TO: firstParty\r\n ? formValues.SendEmailCopy === 'true'\r\n ? formValues.Email\r\n : ''\r\n : formValues.RepresentativeRequestsEmailCopyBool === 'Yes'\r\n ? formValues.RepresentativeEmailAddress\r\n : '',\r\n // step 7\r\n RiskAfraidYes: formValues.HasScaredFeelings || 'false',\r\n RiskAfraidNo: reverseTrueOrFalseSubmission(formValues.HasScaredFeelings || 'false'),\r\n SupportAgencyAssessmentNo: formValues.HasRiskAssessment === 'false' ? 'true' : 'false',\r\n SupportAgencyAssessmentYes: formValues.HasRiskAssessment === 'true' ? 'true' : 'false',\r\n SupportAgencyAssessmentUnsure: formValues.HasRiskAssessment === 'notKnown' ? 'true' : 'false',\r\n SupportServicesContactNo: reverseTrueOrFalseSubmission(formValues.ContactSpecialist || 'false'),\r\n SupportServicesContactYes: formValues.ContactSpecialist || 'false',\r\n\r\n // step 8\r\n GenderMale: formValues.Gender === 'male' ? 'true' : 'false',\r\n GenderFemale: formValues.Gender === 'female' ? 'true' : 'false',\r\n GenderSelfDescribed: formValues.Gender === 'self-described' ? 'true' : 'false',\r\n GenderSelfDescribedSpecify: formValues.GenderSelfDescribed,\r\n LGBTIQYes: formValues.LGBTIQIdentified ? formValues.LGBTIQIdentified || 'false' : '',\r\n LGBTIQNo: formValues.LGBTIQIdentified ? reverseTrueOrFalseSubmission(formValues.LGBTIQIdentified || 'false') : '',\r\n DisabilityImpairmentYes: formValues.HasDisability ? formValues.HasDisability || 'false' : '',\r\n DisabilityImpairmentNo: formValues.HasDisability ? reverseTrueOrFalseSubmission(formValues.HasDisability || 'false') : '',\r\n DisabilityImpairmentSpecify: formValues.DisabilityDescription,\r\n ATSIYes: formValues.Origin ? (formValues.Origin !== 'neither-aboriginal-and-torres-strait-islander' ? 'true' : 'false') : '',\r\n ATSINo: formValues.Origin ? (formValues.Origin === 'neither-aboriginal-and-torres-strait-islander' ? 'true' : 'false') : '',\r\n EnglishNo: formValues.EnglishProficiency === 'not-at-all' ? 'true' : 'false',\r\n EnglishPoorly: formValues.EnglishProficiency === 'poorly' ? 'true' : 'false',\r\n EnglishAdequately: formValues.EnglishProficiency === 'adequately' ? 'true' : 'false',\r\n EnglishWell: formValues.EnglishProficiency === 'very-well' ? 'true' : 'false',\r\n HomeLanguage: formValues.NativeLanguage,\r\n\r\n // Step 9 third party\r\n ObligationsAllOutstanding: !firstParty ? formValues.AdditionalFinesType === 'All eligible outstanding fines' ? 'true' : 'false' : formValues.WhichOtherFines === 'AllFines' ? 'true' : 'false',\r\n ObligationsListed: !firstParty && formValues.AdditionalFinesType === 'The following eligible outstanding fines (please list below)' ? 'true' : 'false',\r\n ObligationsListedExclude: !firstParty && formValues.AdditionalFinesType === 'All eligible outstanding fines EXCEPT these fines (please list below)' ? 'true' : 'false',\r\n\r\n ObligationNumbersIncludeExclude: firstParty ? selectedObligationsSelfIncludeFirstParty : selectedObligationsSelfIncludeThirdParty,\r\n // self EnforcementAgency #1 to #10 dynamically added those fields\r\n // Step 10\r\n HaveFinesWithdrawn: formValues.WhatWouldYouLikeToHappen === 'FinesWithdrawn' ? 'true' : 'false',\r\n NominateDriver: formValues.WhatWouldYouLikeToHappen === 'DriverNominated' ? 'true' : 'false',\r\n DriverGivenNames: formValues.WhatWouldYouLikeToHappen === 'DriverNominated' ? formValues.GivenNamesOptional : '',\r\n DriverFamilyName: formValues.WhatWouldYouLikeToHappen === 'DriverNominated' ? formValues.FamilyNameOptional : '',\r\n DriverDriverStateCountryIssue:\r\n formValues.WhatWouldYouLikeToHappen === 'DriverNominated'\r\n ? !formValues.DriverLicenceNumberOptional\r\n ? ''\r\n : formValues.StatecountryOfIssueOptional === 'Australia'\r\n ? formValues.LicenceStateOptional\r\n : formValues.StatecountryOfIssueOptional\r\n : '',\r\n DriverDriverLicence: formValues.WhatWouldYouLikeToHappen === 'DriverNominated' ? formValues.DriverLicenceNumberOptional : '',\r\n DriverDOB:\r\n formValues.WhatWouldYouLikeToHappen === 'DriverNominated'\r\n ? formValues.DOBOptional\r\n ? `${formValues.DOBOptional?.getDate()}/${formValues.DOBOptional?.getMonth() + 1}/${formValues.DOBOptional?.getFullYear()}`\r\n : ''\r\n : '',\r\n CombinationAbove: formValues.WhatWouldYouLikeToHappen === 'AboveCombination' ? 'true' : 'false',\r\n CombinationDescribe: formValues.WhatWouldYouLikeToHappen === 'AboveCombination' ? formValues.HowDealtWithFines : '',\r\n // Step 11\r\n PAYes: formValues.HasPaymentArrangement ? formValues.HasPaymentArrangement || 'false' : '',\r\n PANo: formValues.HasPaymentArrangement ? reverseTrueOrFalseSubmission(formValues.HasPaymentArrangement || 'false') : '',\r\n PARemoveYes: formValues.RemoveFines ? formValues.RemoveFines || 'false' : '',\r\n PARemoveNo: formValues.RemoveFines ? reverseTrueOrFalseSubmission(formValues.RemoveFines || 'false') : '',\r\n PAProposeYes: formValues.ReincludeFines ? formValues.ReincludeFines || 'false' : '',\r\n PAProposeNo: formValues.ReincludeFines ? reverseTrueOrFalseSubmission(formValues.ReincludeFines || 'false') : '',\r\n // Step 12 Need calculated\r\n NumberAttachments: totalNumberOfAttachments.toString(),\r\n DocumentDescriptions: descriptionOfAttachments,\r\n // Step 13\r\n ReasonsApplication: formValues.ReasonForApplication,\r\n // Step 24 self\r\n ApplicantDeclaration: formValues.declaration && firstParty ? 'I agree to the statements' : '',\r\n ApplicantDeclarationDate: firstParty ? `${DATE}/${MONTH}/${YEAR}` : '',\r\n // Step 24 third party\r\n RepDeclaration: formValues.declaration && !firstParty ? 'I consent to this Authorisation' : '',\r\n RepDeclarationDate: !firstParty ? `${DATE}/${MONTH}/${YEAR}` : '',\r\n\r\n // additional OB pdf page\r\n OBLIGATIONS_TO_INCLUDE: firstParty ? additonalPdfWithObligationsFirstParty : additonalPdfWithObligationsThirdParty,\r\n // attachments\r\n ATTACHMENTS: remoteAttachmentNames,\r\n // Footer information\r\n\r\n FooterSubmissionNo1: submissionNumber,\r\n FooterFormType1: FORM_TYPE,\r\n FooterObligationNo1: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime1: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo2: submissionNumber,\r\n FooterFormType2: FORM_TYPE,\r\n FooterObligationNo2: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime2: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo3: submissionNumber,\r\n FooterFormType3: FORM_TYPE,\r\n FooterObligationNo3: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime3: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo4: submissionNumber,\r\n FooterFormType4: FORM_TYPE,\r\n FooterObligationNo4: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime4: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo5: submissionNumber,\r\n FooterFormType5: FORM_TYPE,\r\n FooterObligationNo5: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime5: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo6: submissionNumber,\r\n FooterFormType6: FORM_TYPE,\r\n FooterObligationNo6: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime6: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo7: submissionNumber,\r\n FooterFormType7: FORM_TYPE,\r\n FooterObligationNo7: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime7: SUBMITTED_TIME,\r\n };\r\n\r\n const excludeKeysFromForm: string[] = [\r\n // fields from iFVSFormValues\r\n // is submitted\r\n 'submitted',\r\n 'OffenceDateRequired',\r\n 'HearingDateRequired',\r\n 'LicenceRequired',\r\n 'RegistrationRequired',\r\n 'DOBRequired',\r\n 'OFFENCE_DATE',\r\n 'HEARING_DATE',\r\n 'DRIVER_LICENCE',\r\n 'PartialFormID',\r\n 'ID',\r\n 'FormData',\r\n 'Obligations',\r\n 'Attachments',\r\n 'DebtorID',\r\n 'FormTypeID',\r\n 'IsSubscribedEM',\r\n 'IsSubscribedSMS',\r\n 'EMRemeinderSent',\r\n 'SMSRemeinderSent',\r\n 'CreateDate',\r\n 'ExpiryDate',\r\n 'SeriousObligation',\r\n 'DDD',\r\n 'ESI',\r\n 'MarineOffence',\r\n 'submissionNo',\r\n 'DOB',\r\n 'LicenceState',\r\n 'FVSResidentialAddress',\r\n 'HasDifferentResidentialAddress',\r\n 'SummonsAddress',\r\n 'IndividualContactNumber',\r\n 'Email',\r\n 'NoEmail',\r\n 'declaration',\r\n 'SaveYesNo',\r\n 'SaveOptions',\r\n 'saveEmail',\r\n 'saveMobile',\r\n 'a',\r\n 'VEHICLE_REGISTRATION',\r\n 'UserType',\r\n 'NoDriverLicence',\r\n 'CompanyAddress',\r\n 'CompanyPostalAddress',\r\n 'HasDifferentCompanyAddress',\r\n 'DebtorType',\r\n 'RepresentativeGivenName',\r\n 'RepresentativeFamilyName',\r\n 'RepresentativeRelationshipToVictim',\r\n 'RepresentativeCompanyName',\r\n 'RepresentativeCompanyPosition',\r\n 'RepresentativePostalAddress',\r\n 'RepresentativeEmailAddress',\r\n 'RepresentativeRequestsEmailCopyBool',\r\n 'FVSContactNumber',\r\n 'RepresentativeAllowsPhoneCommunicationBool',\r\n 'RepresentativePreferredContactDayTime',\r\n // FVS excluding UI fields\r\n 'OtherReportNameFieldErrorHandle',\r\n 'OtherSupportingFilesDescription',\r\n 'OtherSupportingFilesProvider',\r\n 'OtherSupportingAttachments',\r\n 'OtherSupportingDocNameField',\r\n 'SignedStatutoryFieldErrorHandle',\r\n 'SignedDeclarationNameField',\r\n 'SignedDeclarationAttachment',\r\n 'StatutoryUploadFileSectionError',\r\n 'ReportUploadFileSectionError',\r\n 'ReportNameFieldErrorHandle',\r\n 'UnableToObtainAdoc',\r\n 'ReportNameField',\r\n 'SupportingFilesDescription',\r\n 'SupportingFilesProvider',\r\n 'SupportingAttachments',\r\n 'DAOffence',\r\n 'AOffence',\r\n 'AgencyNames',\r\n 'InfringementNums',\r\n 'SelectedObligations',\r\n 'AnyEligibleNomiation',\r\n 'AnyPaymentArrangement',\r\n 'AdditionalFinesToInclude',\r\n 'RegisteredFinesToInclude',\r\n 'AdditionalFinesType',\r\n 'InfringementFinesToInclude',\r\n 'OffenceCode',\r\n 'Status',\r\n 'TicketType',\r\n 'ObligationStatus',\r\n 'enteredObligationsArray',\r\n 'obligations',\r\n 'infringementFineArray',\r\n 'SelectedObligationsStep9',\r\n 'ReincludeFines',\r\n 'RemoveFines',\r\n 'HowDealtWithFines',\r\n 'StatecountryOfIssueOptional',\r\n 'NoDriverLicenceOptional',\r\n 'LicenceStateOptional',\r\n 'DriverLicenceNumberOptional',\r\n 'DOBOptional',\r\n 'GivenNamesOptional',\r\n 'FamilyNameOptional',\r\n 'WhatWouldYouLikeToHappen',\r\n 'WhichOtherFines',\r\n 'DisabilityDescription',\r\n 'HasDisability',\r\n 'NativeLanguage',\r\n 'EnglishProficiency',\r\n 'Origin',\r\n 'LGBTIQIdentified',\r\n 'Gender',\r\n 'ContactSpecialist',\r\n 'HasRiskAssessment',\r\n 'HasScaredFeelings',\r\n 'AlternativeLanguage',\r\n 'InterpreterRequiredPrompt',\r\n 'PhoneMessagePrompt',\r\n 'SafestContactTime',\r\n 'PhoneApplicant',\r\n 'SendEmailCopy',\r\n 'IsEmailRequired',\r\n 'NoSafePostalAddress',\r\n 'FVSPostalAddress',\r\n 'DeliveryAddressType',\r\n 'NoResidentialAddress',\r\n 'ConsentToThirdParty',\r\n 'ApplicationLodger',\r\n 'HasPaymentArrangement',\r\n 'HasEvidenceToSupport',\r\n 'HasLinkBwFVSAndFines',\r\n 'NoActionsTaken',\r\n 'ActionsTakenOnFine',\r\n 'AuthorisedObligation',\r\n 'EligibleObligations',\r\n 'SelectedObNums',\r\n 'isUrgent',\r\n 'YourObligationNumber',\r\n 'ReportNameFileUplodErrorHandle',\r\n 'SignedStatutoryFileUploadErrorHandle',\r\n 'OtherReportNameFileUploadErrorHandle',\r\n 'submissionError',\r\n 'relevantObs'\r\n ];\r\n excludeKeysFromForm.forEach((value: string) => {\r\n delete submitObject[value];\r\n });\r\n return submitObject;\r\n};\r\n\r\nexport const FVSSchema = Yup.object().shape({\r\n saveEmail: Yup.string().email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n saveMobile: Yup.string()\r\n .min(10, INVALID_MOBILE_NUMBER_FORMAT)\r\n .max(10, INVALID_PHONE_NUMBER_LENGTH)\r\n .matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER)\r\n .required(INVALID_PHONE_NUMBER),\r\n SaveYesNo: Yup.string().required(INVALID_YESNO_FORMAT),\r\n SaveOptions: Yup.string().when('SaveYesNo', {\r\n is: 'true',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n OBLIGATION_NUMBER: Yup.string().matches(OBLIGATION_REGEX, INVALID_OBLIGATION_NUMBER).required(INVALID_NUMERIC_FORMAT),\r\n OFFENCE_DATE: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n HEARING_DATE: Yup.date().required(EMPTY_DATE).nullable(),\r\n DRIVER_LICENCE: Yup.string()\r\n .required(INVALID_NUMERIC_FORMAT)\r\n .matches(/^[a-zA-Z0-9 ]*$/, INVALID_LICENCE_FORMAT),\r\n VEHICLE_REGISTRATION: Yup.string().matches(VEHICLE_REGISTRATION_REGEX, INVALID_VEHICLE_REGISTRATION_NUMBER).required(INVALID_VEHICLE_REGISTRATION_NUMBER),\r\n // Has7DayNotice: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n ActionsTakenOnFine: Yup.array().min(1, EMPTY_CHECKBOX),\r\n NoActionsTaken: Yup.boolean().oneOf([true], EMPTY_CHECKBOX),\r\n HasLinkBwFVSAndFines: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n HasEvidenceToSupport: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n HasScaredFeelings: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n HasRiskAssessment: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n ContactSpecialist: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n HasPaymentArrangement: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n RemoveFines: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n ReincludeFines: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n Gender: Yup.string(),\r\n GenderSelfDescribed: Yup.string().nullable().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n LGBTIQIdentified: Yup.string().nullable(),\r\n Origin: Yup.string(),\r\n EnglishProficiency: Yup.string(),\r\n NativeLanguage: Yup.string().nullable().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n HasDisability: Yup.string().nullable(),\r\n DisabilityDescription: Yup.string().nullable().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n ApplicationLodger: Yup.string().required(INVALID_YESNO_FORMAT),\r\n ConsentToThirdParty: Yup.boolean().when('ApplicationLodger', {\r\n is: 'LodgedByRepresentative',\r\n then: Yup.boolean().oneOf([true], MISSING_APPLICATION_LODGING_AGREEMENT),\r\n }),\r\n DOB: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n FamilyName: Yup.string().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n GivenNames: Yup.string().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n StatecountryOfIssue: Yup.string(),\r\n LicenceState: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n NoDriverLicence: Yup.boolean(),\r\n WhatWouldYouLikeToHappen: Yup.string().required(INVALID_NUMERIC_FORMAT).nullable(),\r\n WhichOtherFines: Yup.string().required(INVALID_NUMERIC_FORMAT).nullable(),\r\n HowDealtWithFines: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n ReasonForApplication: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n NoResidentialAddress: Yup.boolean(),\r\n FVSResidentialAddress: Yup.object().shape({\r\n SearchText: Yup.string(),\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n FVSPostalAddress: Yup.object().shape({\r\n SearchText: Yup.string(),\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n NoSafePostalAddress: Yup.boolean(),\r\n DeliveryAddressType: Yup.string().required(INVALID_YESNO_FORMAT),\r\n IsEmailRequired: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n Email: Yup.string().email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n NoEmail: Yup.boolean(),\r\n SendEmailCopy: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n PhoneApplicant: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n IndividualContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n NumberType: Yup.string(),\r\n }),\r\n SafestContactTime: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n PhoneMessagePrompt: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n InterpreterRequiredPrompt: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n AlternativeLanguage: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n // step 9 and 18\r\n AgencyNames: Yup.array()\r\n .min(1)\r\n .of(\r\n Yup.object().shape({\r\n value: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n ),\r\n InfringementNums: Yup.array()\r\n .min(1)\r\n .of(\r\n Yup.object().shape({\r\n value: Yup.string().nullable().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n }),\r\n ),\r\n AOffence: Yup.array()\r\n .min(1)\r\n .of(\r\n Yup.object().shape({\r\n value: Yup.string().nullable().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n }),\r\n ),\r\n obligations: Yup.array()\r\n .min(1)\r\n .of(\r\n Yup.object().shape({\r\n value: Yup.string().matches(OBLIGATION_REGEX, INVALID_OBLIGATION_NUMBER).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n ),\r\n DOBOptional: Yup.date().nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n AdditionalFinesType: Yup.string().required(INVALID_YESNO_FORMAT),\r\n RegisteredFinesToInclude: Yup.string().required(INVALID_YESNO_FORMAT),\r\n InfringementFinesToInclude: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // step 12 13\r\n OtherSupportingFilesDescription: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n SupportingFilesDescription: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n ReportNameFieldErrorHandle: Yup.boolean().oneOf([false], INVALID_FILE_SIZE),\r\n ReportNameFileUplodErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n SignedStatutoryFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n OtherReportNameFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n SignedDeclarationAttachment: Yup.array().min(1, EMPTY_CHECKBOX),\r\n UnableToObtainAdoc: Yup.boolean(),\r\n ReportUploadFileSectionError: Yup.boolean().when(['UnableToObtainAdoc', 'SupportingAttachments'], {\r\n is: (UnableToObtainAdoc: boolean, SupportingAttachments: []) => !UnableToObtainAdoc && SupportingAttachments.length < 1,\r\n then: Yup.boolean().required('Please attach a document'),\r\n }),\r\n StatutoryUploadFileSectionError: Yup.boolean().when('SignedDeclarationAttachment', {\r\n is: (SignedDeclarationAttachment: []) => SignedDeclarationAttachment.length < 1,\r\n then: Yup.boolean().required('Please attach a document'),\r\n }),\r\n SignedStatutoryFieldErrorHandle: Yup.boolean().oneOf([false], INVALID_FILE_SIZE),\r\n OtherReportNameFieldErrorHandle: Yup.boolean().oneOf([false], INVALID_FILE_SIZE),\r\n declaration: Yup.boolean().oneOf([true], MISSING_DECLARATION_AGREEMENT),\r\n // Step 14\r\n RepresentativeGivenName: Yup.string().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n RepresentativeFamilyName: Yup.string().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n RepresentativeRelationshipToVictim: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n RepresentativeCompanyName: Yup.string().nullable().max(80).matches(ORGANISATION_NAME_REGEX, INVALID_ORG_NAME_FORMAT),\r\n RepresentativeCompanyPosition: Yup.string().nullable().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n RepresentativePostalAddress: Yup.object().shape({\r\n SearchText: Yup.string(),\r\n LineOne: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG),\r\n Suburb: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n RepresentativeEmailAddress: Yup.string().email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n RepresentativeRequestsEmailCopyBool: Yup.string().required(INVALID_YESNO_FORMAT),\r\n FVSContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n NumberType: Yup.string(),\r\n SecondaryContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER),\r\n SecondaryNumberType: Yup.string(),\r\n }),\r\n RepresentativeAllowsPhoneCommunicationBool: Yup.string().required(INVALID_YESNO_FORMAT),\r\n RepresentativePreferredContactDayTime: Yup.string().when('RepresentativeAllowsPhoneCommunicationBool', {\r\n is: 'Yes',\r\n then: Yup.string().matches(FIELDS_WITH_SEPCIFI_CHARS, FIELDS_WITH_SEPCIFI_CHARS_MSG).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n // step 19\r\n GivenNamesOptional: Yup.string().nullable().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT),\r\n FamilyNameOptional: Yup.string().nullable().matches(NAME_FIELDS_NEW_REGEX, INVALID_NAME_FORMAT),\r\n DriverLicenceNumberOptional: Yup.string().nullable().matches(NAME_FIELDS_REGEX, INVALID_NAME_FORMAT),\r\n\r\n});\r\n\r\nconst { FAMILYVIOLENCESCHEME } = FormType;\r\n\r\nexport const FVSMetaData: iFormMetaData = {\r\n pagesSegments: {\r\n step0: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n step1: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page1,\r\n },\r\n step2: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page2,\r\n },\r\n step3: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page3,\r\n },\r\n step4: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page4,\r\n },\r\n step5: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page5,\r\n },\r\n step6: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page6,\r\n },\r\n step7: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page7,\r\n },\r\n step8: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page8,\r\n },\r\n step9: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page9,\r\n },\r\n step10: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page10,\r\n },\r\n step11: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page11,\r\n },\r\n step12: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page12,\r\n },\r\n step13: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page13,\r\n },\r\n step14: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page14,\r\n },\r\n step15: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page15,\r\n },\r\n step16: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page16,\r\n },\r\n step17: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page17,\r\n },\r\n step18: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page18,\r\n },\r\n step19: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page19,\r\n },\r\n step20: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page20,\r\n },\r\n step21: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page21,\r\n },\r\n step22: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page22,\r\n },\r\n step23: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page23,\r\n },\r\n step24: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, FAMILYVIOLENCESCHEME).page24,\r\n },\r\n step25: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => [],\r\n },\r\n },\r\n};\r\n\r\nexport const getSummaryScreen = (values: iFVSFormValues): iSummary[] => {\r\n const page3 = {\r\n title: 'Before you continue',\r\n editLink: '/step3',\r\n fields: [\r\n // [{ title: \"Has a sheriff's officer served you with a 7 Day Notice?\", value: values.Has7DayNotice === 'true' ? 'Yes' : 'No' }],\r\n // s[{ title: \"Has a sheriff's officer served you with a 7 Day Notice?\", value: values.ActionsTakenOnFine.includes('Has7DayNotice').toString() != null ? 'Yes' : 'No' }],\r\n [\r\n {\r\n title: 'Has any action been taken for this fine?',\r\n value:\r\n values.ActionsTakenOnFine.length !== 0 && !values.ActionsTakenOnFine.includes('None')\r\n ? `${values.ActionsTakenOnFine.map((entry) => {\r\n if (entry === 'Has7DayNotice') return \"A sheriff's officer served you with a 7 Day Notice\";\r\n if (entry === 'NumberPlatesRemoved') return \"A sheriff's officer has removed your numberplates\";\r\n if (entry === 'WheelClamped') return \"A sheriff's officer has wheel clamped your vehicle\";\r\n if (entry === 'LicenceLost') return \"You've lost your licence (either due to licence sanction or as a result of demerit points)\";\r\n if (entry === 'MadeAttachment') return 'The Director, Fines Victoria has made an attachment of earnings or debt direction';\r\n if (entry === 'RecordedCharge') return 'The Director, Fines Victoria has recorded a charge over land that you own';\r\n if (entry === 'VehicleSeized') return \"A sheriff's officer has seized your vehicle\";\r\n return '';\r\n }).join('; ')}`\r\n : 'None of these apply',\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Is there a link between the experience of family violence and the offending conduct or being unable to nominate the responsible driver?',\r\n value: values.HasLinkBwFVSAndFines === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Do you have evidence to support the application?',\r\n value: values.HasEvidenceToSupport === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n ],\r\n };\r\n\r\n const page5 = {\r\n title: 'Who is lodging the application?',\r\n editLink: '/step5',\r\n fields: [\r\n [\r\n {\r\n title: '',\r\n value:\r\n values.ApplicationLodger === 'LodgedByVictim'\r\n ? 'I am the person affected by family violence'\r\n : \"I am the affected person's authorised representative, lawyer or advocate\",\r\n },\r\n ],\r\n ],\r\n };\r\n\r\n const isPostalAddressEmpty =\r\n values.FVSPostalAddress.LineOne === '' && values.FVSPostalAddress.Postcode === '' && values.FVSPostalAddress.State === '' && values.FVSPostalAddress.Suburb === '';\r\n const isResidentialAddressEmpty =\r\n values.FVSResidentialAddress.LineOne === '' &&\r\n values.FVSResidentialAddress.Postcode === '' &&\r\n values.FVSResidentialAddress.State === '' &&\r\n values.FVSResidentialAddress.Suburb === '';\r\n const page6 = {\r\n title: 'Your details',\r\n editLink: '/step6',\r\n fields: [\r\n [{ title: 'Given name(s)', value: values.GivenNames }],\r\n [{ title: 'Family name', value: values.FamilyName }],\r\n [{ title: 'Date of birth', value: values.DOB ? `${values.DOB.getDate()}/${values.DOB.getMonth() + 1}/${values.DOB.getFullYear()}` : 'n/a' }],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Driver licence number', value: 'n/a' }\r\n : { title: 'Driver licence number', value: values.DRIVER_LICENCE ? values.DRIVER_LICENCE : 'n/a' },\r\n ],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Place of issue', value: 'n/a' }\r\n : {\r\n title: 'Place of issue',\r\n value:\r\n values.StatecountryOfIssue === 'Australia' ? (values.LicenceState ? values.LicenceState : 'n/a') : values.StatecountryOfIssue ? values.StatecountryOfIssue : 'n/a',\r\n },\r\n ],\r\n !values.NoFixedAddress && !values.NoResidentialAddress\r\n ? [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.FVSResidentialAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ]\r\n : [],\r\n !values.NoFixedAddress ? [{ title: \"Don't have a fixed address\", value: 'No' }] : [],\r\n values.NoFixedAddress ? [{ title: \"Don't have a fixed address\", value: 'Yes' }] : [],\r\n values.NoResidentialAddress\r\n ? [{ title: 'Prefer not to provide your residential address ', value: 'Yes' }]\r\n : [{ title: 'Prefer not to provide your residential address', value: 'No' }],\r\n values.DeliveryAddressType === 'ResidentialAddress'\r\n ? [{ title: 'Preferred address for receiving correspondence', value: 'Residential address' }]\r\n : values.DeliveryAddressType === 'PostalAddress'\r\n ? [{ title: 'Preferred address for receiving correspondence', value: 'Another postal address' }]\r\n : values.DeliveryAddressType === 'EmailAddress'\r\n ? [{ title: 'Preferred address for receiving correspondence', value: 'Email address' }]\r\n : [],\r\n values.DeliveryAddressType === 'PostalAddress' || values.NoFixedAddress || values.NoResidentialAddress\r\n ? [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.FVSPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ]\r\n : [],\r\n values.NoFixedAddress || values.NoResidentialAddress ? [{ title: \"Don't have a safe postal address\", value: values.NoSafePostalAddress ? 'Yes' : 'No' }] : [],\r\n (!isResidentialAddressEmpty || !isPostalAddressEmpty) &&\r\n (values.DeliveryAddressType === 'ResidentialAddress' || values.DeliveryAddressType === 'PostalAddress' || values.NoResidentialAddress || values.NoFixedAddress)\r\n ? [{ title: 'Is it safe to email you about your application?', value: values.IsEmailRequired === 'true' ? 'Yes' : 'No' }]\r\n : [],\r\n (isResidentialAddressEmpty && isPostalAddressEmpty) || values.DeliveryAddressType === 'EmailAddress' || values.IsEmailRequired === 'true'\r\n ? [{ title: 'Email', value: values.Email }]\r\n : [],\r\n values.Email !== ''\r\n ? [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.SendEmailCopy === 'true' ? 'Yes' : 'No' }]\r\n : [],\r\n [{ title: 'Is it safe to phone you to discuss your application?', value: values.PhoneApplicant === 'true' ? 'Yes' : 'No' }],\r\n values.PhoneApplicant === 'true' ? [{ title: 'Contact phone number', value: values.IndividualContactNumber.ContactNumber }] : [],\r\n values.PhoneApplicant === 'true' ? [{ title: 'What are the safest days and time to phone?', value: values.SafestContactTime }] : [],\r\n values.PhoneApplicant === 'true' ? [{ title: 'Can we leave a phone message on this number?', value: values.PhoneMessagePrompt === 'true' ? 'Yes' : 'No' }] : [],\r\n values.PhoneApplicant === 'true' ? [{ title: 'Do you need an interpreter to assist?', value: values.InterpreterRequiredPrompt === 'true' ? 'Yes' : 'No' }] : [],\r\n values.InterpreterRequiredPrompt === 'true' ? [{ title: 'Language', value: values.AlternativeLanguage }] : [],\r\n ],\r\n };\r\n\r\n const page7 = {\r\n title: 'Your risk and support details',\r\n editLink: '/step7',\r\n fields: [\r\n [\r\n {\r\n title: riskAndSupportDetails.step7.fields.hasScaredFeelings.title,\r\n value: values.HasScaredFeelings === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n [\r\n {\r\n title: riskAndSupportDetails.step7.fields.hasRiskAssessment.title,\r\n value: values.HasRiskAssessment === 'notKnown' ? \"I don't know\" : values.HasRiskAssessment === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n [\r\n {\r\n title: riskAndSupportDetails.step7.fields.contactSpecialist.title,\r\n value: values.ContactSpecialist === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n ],\r\n };\r\n const page8 = {\r\n title: 'Your background and identity',\r\n editLink: '/step8',\r\n fields: [\r\n [\r\n {\r\n title: backgroundAndIdentityDetails.step8.fields.gender.title,\r\n value: values.Gender !== '' ? values.Gender.charAt(0).toUpperCase() + values.Gender.split('-').join(' ').slice(1) : 'n/a',\r\n },\r\n ],\r\n values.Gender === 'self-described'\r\n ? [\r\n {\r\n title: backgroundAndIdentityDetails.step8.fields.genderDescription.title,\r\n value: values.GenderSelfDescribed !== '' ? values.GenderSelfDescribed : 'n/a',\r\n },\r\n ]\r\n : [],\r\n [\r\n {\r\n title: backgroundAndIdentityDetails.step8.fields.lgtiqIdentified.title,\r\n value: values.LGBTIQIdentified === null ? 'n/a' : values.LGBTIQIdentified === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n [\r\n {\r\n title: backgroundAndIdentityDetails.step8.fields.origin.title,\r\n value: values.Origin !== '' ? values.Origin.charAt(0).toUpperCase() + values.Origin.split('-').join(' ').slice(1) : 'n/a',\r\n },\r\n ],\r\n [\r\n {\r\n title: backgroundAndIdentityDetails.step8.fields.englishProficiency.title,\r\n value: values.EnglishProficiency !== '' ? values.EnglishProficiency.charAt(0).toUpperCase() + values.EnglishProficiency.split('-').join(' ').slice(1) : 'n/a',\r\n },\r\n ],\r\n values.EnglishProficiency === 'not-at-all' || values.EnglishProficiency === 'poorly'\r\n ? [\r\n {\r\n title: backgroundAndIdentityDetails.step8.fields.nativeLanguage.title,\r\n value: values.NativeLanguage !== '' ? values.NativeLanguage : 'n/a',\r\n },\r\n ]\r\n : [],\r\n [\r\n {\r\n title: backgroundAndIdentityDetails.step8.fields.isDisabled.title,\r\n value: values.HasDisability === null ? 'n/a' : values.HasDisability === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n values.HasDisability === 'true'\r\n ? [\r\n {\r\n title: backgroundAndIdentityDetails.step8.fields.disabilityDescription.title,\r\n value: values.DisabilityDescription !== '' ? values.DisabilityDescription : 'n/a',\r\n },\r\n ]\r\n : [],\r\n ],\r\n };\r\n\r\n const checkFines = values.SelectedObligationsStep9.map((fine) => {\r\n if (fine.checked) return fine.number.toString();\r\n return '';\r\n })\r\n .filter(Boolean)\r\n .join('; ');\r\n const page9 = {\r\n title: 'Your fines',\r\n editLink: '/step9',\r\n fields: [\r\n values.relevantObs.length !== 0\r\n ? [\r\n {\r\n title: 'Which other fines do you want to include in this application?',\r\n value: values.WhichOtherFines === 'AllFines' ? 'All eligible outstanding fines' : values.WhichOtherFines === 'SomeFines' ? 'Some eligible outstanding fines' : values.WhichOtherFines === 'NoFines' ? 'No additional fines' : ''\r\n }\r\n ]\r\n : [],\r\n [\r\n {\r\n title: 'Fines to include in application',\r\n value: checkFines !== '' ? `${checkFines}; ${values.AuthorisedObligation.Number}` : values.AuthorisedObligation.Number,\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Do you have any additional fines that are not listed above you would us to include in the application?',\r\n value: values.AdditionalFinesToInclude !== '' ? (values.AdditionalFinesToInclude === 'true' ? 'Yes' : 'No') : 'n/a',\r\n },\r\n ],\r\n values.AdditionalFinesToInclude === 'true'\r\n ? [\r\n {\r\n title: 'Any addtional fines',\r\n value: listUnregisteredFines(values, values.AgencyNames).join('\\n'),\r\n },\r\n ]\r\n : [],\r\n ],\r\n };\r\n const page10 = {\r\n title: 'What would you like to happen?',\r\n editLink: '/step10',\r\n fields: [] as iSummaryField[][],\r\n };\r\n if (values.WhatWouldYouLikeToHappen === 'FinesWithdrawn') page10.fields.push([{ title: 'If application is successful, I wish to:', value: 'Have the fine(s) withdrawn' }]);\r\n if (values.WhatWouldYouLikeToHappen === 'DriverNominated') {\r\n page10.fields.push(\r\n [{ title: 'If application is successful, I wish to:', value: 'Nominate the driver that was in control of the vehicle at the time of the offence(s)' }],\r\n [{ title: likelyPossibilities.step10.fields.givenNameOptional.title, value: values.GivenNamesOptional !== '' ? values.GivenNamesOptional : 'n/a' }],\r\n [{ title: likelyPossibilities.step10.fields.familyNameOptional.title, value: values.FamilyNameOptional !== '' ? values.FamilyNameOptional : 'n/a' }],\r\n [\r\n {\r\n title: likelyPossibilities.step10.fields.dateOfBirthOptional.title,\r\n value: values.DOBOptional ? `${values.DOBOptional.getDate()}/${values.DOBOptional.getMonth() + 1}/${values.DOBOptional.getFullYear()}` : 'n/a',\r\n },\r\n ],\r\n [{ title: likelyPossibilities.step10.fields.driverLicenceOptional.title, value: values.DriverLicenceNumberOptional !== '' ? values.DriverLicenceNumberOptional : 'n/a' }],\r\n [\r\n {\r\n title: 'Place of issue',\r\n value:\r\n values.StatecountryOfIssueOptional === 'Australia'\r\n ? values.LicenceStateOptional\r\n ? values.LicenceStateOptional\r\n : 'n/a'\r\n : values.StatecountryOfIssueOptional\r\n ? values.StatecountryOfIssueOptional\r\n : 'n/a',\r\n },\r\n ],\r\n );\r\n }\r\n if (values.WhatWouldYouLikeToHappen === 'AboveCombination') {\r\n page10.fields.push(\r\n [{ title: 'If application is successful, I wish to:', value: 'A combination of the above' }],\r\n [{ title: likelyPossibilities.step10.fields.howDealtWithFines.title, value: values.HowDealtWithFines }],\r\n );\r\n }\r\n const page11 = {\r\n title: 'Payment arrangements',\r\n editLink: '/step11',\r\n fields: [\r\n [\r\n {\r\n title: paymentArrangements.step11.fields.removeFines.title,\r\n value: values.RemoveFines === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n values.RemoveFines === 'true'\r\n ? [\r\n {\r\n title: paymentArrangements.step11.fields.reincludeFines.title,\r\n value: values.ReincludeFines === 'true' ? 'Yes' : 'No',\r\n },\r\n ]\r\n : [],\r\n ],\r\n };\r\n const page12 = {\r\n title: 'Supporting documents',\r\n editLink: '/step12',\r\n fields: [\r\n [\r\n {\r\n title: '',\r\n value: values.SupportingAttachments.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n'),\r\n },\r\n ],\r\n [\r\n {\r\n title: '',\r\n value: values.SignedDeclarationAttachment.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n'),\r\n },\r\n ],\r\n ],\r\n };\r\n\r\n const checkOptSupportingDoc = values.OtherSupportingAttachments.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n');\r\n const page13 = {\r\n title: 'Reasons for application',\r\n editLink: '/step13',\r\n fields: [\r\n [\r\n {\r\n title: 'Your reason',\r\n value: values.ReasonForApplication,\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Other supporting documents',\r\n value: checkOptSupportingDoc !== '' ? checkOptSupportingDoc : 'n/a',\r\n },\r\n ],\r\n ],\r\n };\r\n const page14 = {\r\n title: 'Your details (authorised representative)',\r\n editLink: '/step14',\r\n fields: [\r\n [{ title: 'Given name(s)', value: values.RepresentativeGivenName }],\r\n [{ title: 'Family name', value: values.RepresentativeFamilyName }],\r\n [{ title: 'Relationship to person affected by the family violence', value: values.RepresentativeRelationshipToVictim }],\r\n [\r\n values.RepresentativeCompanyName !== ''\r\n ? { title: 'Organisation / company name', value: values.RepresentativeCompanyName }\r\n : { title: 'Organisation / company name', value: 'n/a' },\r\n ],\r\n [\r\n values.RepresentativeCompanyPosition !== ''\r\n ? { title: 'Position in organisation / company', value: values.RepresentativeCompanyPosition }\r\n : { title: 'Position in organisation / company', value: 'n/a' },\r\n ],\r\n [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.RepresentativePostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Email address', value: values.RepresentativeEmailAddress }],\r\n [{ title: 'Would you like to receive a copy of the completed application at your email address?', value: values.RepresentativeRequestsEmailCopyBool }],\r\n [{ title: 'Contact phone number', value: values.FVSContactNumber.ContactNumber }],\r\n [{ title: 'Can we phone you regarding this application?', value: values.RepresentativeAllowsPhoneCommunicationBool }],\r\n values.RepresentativeAllowsPhoneCommunicationBool === 'Yes'\r\n ? [{ title: 'What are the best days and times to phone?', value: values.RepresentativePreferredContactDayTime }]\r\n : [],\r\n ],\r\n };\r\n const page15 = {\r\n title: \"Fineholder's details\",\r\n editLink: '/step15',\r\n fields: [\r\n [{ title: 'Given name(s)', value: values.GivenNames }],\r\n [{ title: 'Family name', value: values.FamilyName }],\r\n [{ title: 'Date of birth', value: values.DOB ? `${values.DOB.getDate()}/${values.DOB.getMonth() + 1}/${values.DOB.getFullYear()}` : 'n/a' }],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Driver licence number', value: 'n/a' }\r\n : { title: 'Driver licence number', value: values.DRIVER_LICENCE ? values.DRIVER_LICENCE : 'n/a' },\r\n ],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Place of issue', value: 'n/a' }\r\n : {\r\n title: 'Place of issue',\r\n value:\r\n values.StatecountryOfIssue === 'Australia' ? (values.LicenceState ? values.LicenceState : 'n/a') : values.StatecountryOfIssue ? values.StatecountryOfIssue : 'n/a',\r\n },\r\n ],\r\n !values.NoFixedAddress && !values.NoResidentialAddress\r\n ? [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.FVSResidentialAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ]\r\n : [],\r\n values.NoFixedAddress ? [{ title: \"Don't have a fixed address\", value: 'Yes' }] : [{ title: \"Don't have a fixed address\", value: 'No' }],\r\n values.NoResidentialAddress\r\n ? [{ title: 'Prefer not to provide your residential address ', value: 'Yes' }]\r\n : [{ title: 'Prefer not to provide your residential address ', value: 'No' }],\r\n values.DeliveryAddressType === 'ResidentialAddress'\r\n ? [{ title: 'Preferred address for receiving correspondence', value: \"Fineholder's Residential address\" }]\r\n : values.DeliveryAddressType === 'PostalAddress'\r\n ? [{ title: 'Preferred address for receiving correspondence', value: 'Another postal address' }]\r\n : [{ title: 'Preferred address for receiving correspondence', value: \"Authorised representative's postal address\" }],\r\n values.DeliveryAddressType === 'PostalAddress' || values.NoFixedAddress || values.NoResidentialAddress\r\n ? [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.FVSPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ]\r\n : [],\r\n [{ title: 'Is it safe to email you about your application?', value: values.IsEmailRequired === 'true' ? 'Yes' : 'No' }],\r\n values.IsEmailRequired === 'true' ? [{ title: 'Email', value: values.Email }] : [],\r\n [{ title: 'Is it safe to phone you to discuss your application?', value: values.PhoneApplicant === 'true' ? 'Yes' : 'No' }],\r\n values.PhoneApplicant === 'true' ? [{ title: 'Contact phone number', value: values.IndividualContactNumber.ContactNumber }] : [],\r\n values.PhoneApplicant === 'true' ? [{ title: 'What are the safest days and time to phone?', value: values.SafestContactTime }] : [],\r\n values.PhoneApplicant === 'true' ? [{ title: 'Can we leave a phone message on this number?', value: values.PhoneMessagePrompt === 'true' ? 'Yes' : 'No' }] : [],\r\n values.PhoneApplicant === 'true' ? [{ title: 'Do you need an interpreter to assist?', value: values.InterpreterRequiredPrompt === 'true' ? 'Yes' : 'No' }] : [],\r\n values.InterpreterRequiredPrompt === 'true' ? [{ title: 'Language', value: values.AlternativeLanguage }] : [],\r\n ],\r\n };\r\n const page16 = {\r\n title: 'Fineholder’s risk and support details',\r\n editLink: '/step16',\r\n fields: [\r\n [\r\n {\r\n title: riskAndSupportDetails.step16.fields.hasScaredFeelings.title,\r\n value: values.HasScaredFeelings === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n [\r\n {\r\n title: riskAndSupportDetails.step16.fields.hasRiskAssessment.title,\r\n value: values.HasRiskAssessment === 'notKnown' ? \"I don't know\" : values.HasRiskAssessment === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n [\r\n {\r\n title: riskAndSupportDetails.step16.fields.contactSpecialist.title,\r\n value: values.ContactSpecialist === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n ],\r\n };\r\n const page17 = {\r\n title: 'Fineholder’s background and identity (optional)',\r\n editLink: '/step17',\r\n fields: [\r\n [\r\n {\r\n title: backgroundAndIdentityDetails.step17.fields.gender.title,\r\n value: values.Gender !== '' ? values.Gender.charAt(0).toUpperCase() + values.Gender.split('-').join(' ').slice(1) : 'n/a',\r\n },\r\n ],\r\n values.Gender === 'self-described'\r\n ? [\r\n {\r\n title: backgroundAndIdentityDetails.step17.fields.genderDescription.title,\r\n value: values.GenderSelfDescribed !== '' ? values.GenderSelfDescribed : 'n/a',\r\n },\r\n ]\r\n : [],\r\n [\r\n {\r\n title: backgroundAndIdentityDetails.step17.fields.lgtiqIdentified.title,\r\n value: values.LGBTIQIdentified === null ? 'n/a' : values.LGBTIQIdentified === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n [\r\n {\r\n title: backgroundAndIdentityDetails.step17.fields.origin.title,\r\n value: values.Origin !== '' ? values.Origin.charAt(0).toUpperCase() + values.Origin.split('-').join(' ').slice(1) : 'n/a',\r\n },\r\n ],\r\n [\r\n {\r\n title: backgroundAndIdentityDetails.step17.fields.englishProficiency.title,\r\n value: values.EnglishProficiency !== '' ? values.EnglishProficiency.charAt(0).toUpperCase() + values.EnglishProficiency.split('-').join(' ').slice(1) : 'n/a',\r\n },\r\n ],\r\n values.EnglishProficiency === 'not-at-all' || values.EnglishProficiency === 'poorly'\r\n ? [\r\n {\r\n title: backgroundAndIdentityDetails.step17.fields.nativeLanguage.title,\r\n value: values.NativeLanguage ? values.NativeLanguage : 'n/a',\r\n },\r\n ]\r\n : [],\r\n values.HasDisability === 'true'\r\n ? [\r\n {\r\n title: backgroundAndIdentityDetails.step17.fields.isDisabled.title,\r\n value: values.DisabilityDescription !== '' ? `Yes, ${values.DisabilityDescription}` : 'Yes',\r\n },\r\n ]\r\n : [\r\n {\r\n title: backgroundAndIdentityDetails.step17.fields.isDisabled.title,\r\n value: values.HasDisability === null ? 'n/a' : 'No',\r\n },\r\n ],\r\n values.HasDisability !== 'true'\r\n ? [\r\n {\r\n title: backgroundAndIdentityDetails.step17.fields.isDisabled.title,\r\n value: values.HasDisability !== 'false' ? 'No' : 'n/a',\r\n },\r\n ]\r\n : [],\r\n ],\r\n };\r\n\r\n const page18 = {\r\n title: 'Fines to be included in this application',\r\n editLink: '/step18',\r\n fields: [\r\n [\r\n {\r\n title: 'Would you like to add other registered fines to this application?',\r\n value: values.RegisteredFinesToInclude !== '' ? (values.RegisteredFinesToInclude === 'true' ? 'Yes' : 'No') : 'n/a',\r\n },\r\n ],\r\n values.RegisteredFinesToInclude === 'true'\r\n ? [\r\n {\r\n title: 'Which registered fines would you like to add',\r\n value: values.AdditionalFinesType,\r\n },\r\n ]\r\n : [],\r\n values.AdditionalFinesType !== 'All eligible outstanding fines' && values.AdditionalFinesType !== ''\r\n ? [\r\n {\r\n title: 'Other registered fines',\r\n value: values.obligations.map((fine, index) => values.obligations[index].value).join('\\n'),\r\n },\r\n ]\r\n : [],\r\n [\r\n {\r\n title: 'Does the fineholder you have any infringement stage fines that you would like us to consider?',\r\n value: values.InfringementFinesToInclude !== '' ? (values.InfringementFinesToInclude === 'true' ? 'Yes' : 'No') : 'n/a',\r\n },\r\n ],\r\n values.InfringementFinesToInclude === 'true'\r\n ? [\r\n {\r\n title: 'Other infringement stage fines',\r\n value: listUnregisteredFines(values, values.AgencyNames).join('\\n'),\r\n },\r\n ]\r\n : [],\r\n ],\r\n };\r\n\r\n const page19 = {\r\n title: 'What would you like to happen?',\r\n editLink: '/step19',\r\n fields: [] as iSummaryField[][],\r\n };\r\n if (values.WhatWouldYouLikeToHappen === 'FinesWithdrawn') page19.fields.push([{ title: 'If application is successful, I wish to:', value: 'Have the fine(s) withdrawn' }]);\r\n if (values.WhatWouldYouLikeToHappen === 'DriverNominated') {\r\n page19.fields.push(\r\n [{ title: 'If application is successful, I wish to:', value: 'Nominate the driver that was in control of the vehicle at the time of the offence(s)' }],\r\n [{ title: likelyPossibilities.step19.fields.givenNameOptional.title, value: values.GivenNamesOptional !== '' ? values.GivenNamesOptional : 'n/a' }],\r\n [{ title: likelyPossibilities.step19.fields.familyNameOptional.title, value: values.FamilyNameOptional !== '' ? values.FamilyNameOptional : 'n/a' }],\r\n [\r\n {\r\n title: likelyPossibilities.step19.fields.dateOfBirthOptional.title,\r\n value: values.DOBOptional ? `${values.DOBOptional.getDate()}/${values.DOBOptional.getMonth() + 1}/${values.DOBOptional.getFullYear()}` : 'n/a',\r\n },\r\n ],\r\n [\r\n values.NoDriverLicenceOptional\r\n ? { title: likelyPossibilities.step19.fields.driverLicenceOptional.title, value: 'n/a' }\r\n : { title: likelyPossibilities.step19.fields.driverLicenceOptional.title, value: values.DriverLicenceNumberOptional !== '' ? values.DriverLicenceNumberOptional : 'n/a' },\r\n ],\r\n [\r\n values.NoDriverLicenceOptional\r\n ? { title: 'Place of issue', value: 'n/a' }\r\n : {\r\n title: 'Place of issue',\r\n value:\r\n values.StatecountryOfIssueOptional === 'Australia'\r\n ? values.LicenceStateOptional\r\n ? values.LicenceStateOptional\r\n : 'n/a'\r\n : values.StatecountryOfIssueOptional\r\n ? values.StatecountryOfIssueOptional\r\n : 'n/a',\r\n },\r\n ],\r\n );\r\n }\r\n if (values.WhatWouldYouLikeToHappen === 'AboveCombination') {\r\n page19.fields.push(\r\n [{ title: 'If application is successful, I wish to:', value: 'A combination of the above' }],\r\n [{ title: likelyPossibilities.step19.fields.howDealtWithFines.title, value: values.HowDealtWithFines }],\r\n );\r\n }\r\n const page20 = {\r\n title: 'Payment arrangements',\r\n editLink: '/step20',\r\n fields: [\r\n [\r\n {\r\n title: 'Does the fineholder have a payment arrangement with Fines Victoria for any of the fines in this application?',\r\n value: values.HasPaymentArrangement === 'true' ? 'Yes' : 'No',\r\n },\r\n ],\r\n values.HasPaymentArrangement === 'true'\r\n ? [\r\n {\r\n title: paymentArrangements.step20.fields.removeFines.title,\r\n value: values.RemoveFines === 'true' ? 'Yes' : 'No',\r\n },\r\n ]\r\n : [],\r\n values.RemoveFines === 'true'\r\n ? [\r\n {\r\n title: paymentArrangements.step20.fields.reincludeFines.title,\r\n value: values.ReincludeFines === 'true' ? 'Yes' : 'No',\r\n },\r\n ]\r\n : [],\r\n ],\r\n };\r\n const page21 = {\r\n title: 'Supporting documents',\r\n editLink: '/step21',\r\n fields: [\r\n [\r\n {\r\n title: '',\r\n value: values.SupportingAttachments.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n'),\r\n },\r\n ],\r\n [\r\n {\r\n title: '',\r\n value: values.SignedDeclarationAttachment.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n'),\r\n },\r\n ],\r\n ],\r\n };\r\n const page22 = {\r\n title: 'Reasons for application',\r\n editLink: '/step22',\r\n fields: [\r\n [\r\n {\r\n title: 'Your reason',\r\n value: values.ReasonForApplication,\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Other supporting documents',\r\n value: checkOptSupportingDoc !== '' ? checkOptSupportingDoc : 'n/a',\r\n },\r\n ],\r\n ],\r\n };\r\n\r\n const pagesLodgedByVictim: iSummary[] = [\r\n page6,\r\n page7,\r\n page8,\r\n page9,\r\n values.AnyEligibleNomiation || (values.AgencyNames.length >= 1 && values.AgencyNames[0].value !== '') ? page10 : ({} as iSummary),\r\n values.AnyPaymentArrangement ? page11 : ({} as iSummary),\r\n page12,\r\n page13,\r\n ];\r\n const pagesLodgedByRepresentative: iSummary[] = [\r\n page14,\r\n page15,\r\n page16,\r\n page17,\r\n page18,\r\n values.AnyEligibleNomiation ||\r\n (values.obligations.length !== 0 && values.obligations.length >= 1 && values.obligations[0].value !== '') ||\r\n (values.AgencyNames.length >= 1 && values.AgencyNames[0].value !== '')\r\n ? page19\r\n : ({} as iSummary),\r\n page20,\r\n page21,\r\n page22,\r\n ];\r\n const summarySections: iSummary[] = [page3, page5, ...(values.ApplicationLodger === 'LodgedByVictim' ? pagesLodgedByVictim : pagesLodgedByRepresentative)];\r\n return summarySections;\r\n};\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport React, { ReactElement, useContext } from 'react';\r\nimport { ErrorPage } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\n\r\n// const { REACT_APP_SITECORE_API_ENDPOINT: API_URL, REACT_APP_PATH_FAMILY_VIOLENCE_SCHEME: PATH_FVS } = process.env;\r\nfunction FVSErrorPage(): ReactElement {\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSErrorPage;\r\n","import React, { ReactElement, useEffect, useState, useContext } from 'react';\r\nimport { useNavigate, useParams, useLocation } from 'react-router-dom';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { getStringIndex, setFormDataValues, setCurrentFormikValues, navigateToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport { getInitiate, checkExistingForm, getPartialForm } from '@api';\r\nimport { FormType } from '@constants';\r\nimport { Accordion, FormLoading } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport ClockIcon from '../../../../images/clock.svg';\r\nimport styles from './FVSStep0.module.scss';\r\n\r\ninterface iProps {\r\n formikRef: any;\r\n}\r\n\r\n// const { REACT_APP_SITECORE_API_ENDPOINT: API_URL, REACT_APP_PATH_FAMILY_VIOLENCE_SCHEME: PATH_FVS } = process.env;\r\nfunction FVSStep0({ formikRef }: iProps): ReactElement {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n const pathElementArray = location.pathname.split('/');\r\n const { tooltips } = useContext(VicFinesContext);\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const validTitles = Object.keys(tooltips).filter((v) => v.includes('step0'));\r\n const formikcontext = useFormikContext();\r\n function getStringForSort(stringVal: string): string {\r\n return stringVal.substring(stringVal.indexOf('p') + 1, stringVal.indexOf('|'));\r\n }\r\n validTitles.sort((stringA, stringB) => Number(getStringForSort(stringA)) - Number(getStringForSort(stringB)));\r\n const { ob } = useParams<{ ob?: string }>();\r\n useEffect(() => {\r\n // if resume with #, re - calculate it.\r\n let pathNameLessLastSegmentOnLoad = '';\r\n let obNumFromPath = '';\r\n if (window.location.hash) {\r\n window.history.pushState({}, '', window.location.pathname + window.location.hash.replaceAll('#', ''));\r\n const currentUrl = window.location.pathname;\r\n const pathUrlArray = currentUrl.split('/');\r\n const stepCurrentIndex = getStringIndex(pathUrlArray, 'step');\r\n const stepIndexDiffOnLoad = stepCurrentIndex - pathUrlArray.length;\r\n pathNameLessLastSegmentOnLoad = stepCurrentIndex ? pathUrlArray.slice(0, stepIndexDiffOnLoad).join('/') : currentUrl;\r\n obNumFromPath = pathUrlArray.includes('step0') && pathUrlArray[stepCurrentIndex + 1] ? pathUrlArray[stepCurrentIndex + 1] : '';\r\n }\r\n const obNum = obNumFromPath || ob;\r\n if (obNum) {\r\n setLoading(true);\r\n checkExistingForm(obNum, FormType.FAMILYVIOLENCESCHEME)\r\n .then((valueOfExistingform) => {\r\n if (!valueOfExistingform?.PartialFormID) {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}/step0`);\r\n return;\r\n }\r\n let currentStep = '';\r\n let partialFormID = 0;\r\n const partialFormOption = valueOfExistingform.CheckingExisting;\r\n const canSave = valueOfExistingform.CanSave;\r\n let savingoption = '';\r\n let debtorID = 0;\r\n if (partialFormOption === 'no' && valueOfExistingform.DebtorID && valueOfExistingform.PartialFormID) {\r\n return;\r\n }\r\n if (valueOfExistingform.CheckingExisting === 'yes') {\r\n formikcontext.setFieldValue('SaveYesNo', 'true');\r\n partialFormID = valueOfExistingform.PartialFormID!;\r\n formikcontext.setFieldValue('PartialFormID', partialFormID);\r\n savingoption = valueOfExistingform.CanSave ? 'yes' : 'no';\r\n if (valueOfExistingform.PartialFormID) {\r\n getPartialForm(valueOfExistingform.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikRef?.current?.values.FormData, formikRef, 'FormData');\r\n setCurrentFormikValues(formData, formikRef?.current?.values, formikRef);\r\n } else if (resBody[key]) {\r\n formikcontext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => console.log(e));\r\n }\r\n } else {\r\n debtorID = valueOfExistingform.DebtorID!;\r\n savingoption = 'no';\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNum);\r\n formikcontext.setFieldValue('DebtorID', debtorID);\r\n }\r\n formikcontext.setFieldValue('SaveOptions', savingoption);\r\n getInitiate(obNum, FormType.FAMILYVIOLENCESCHEME).then((value) => {\r\n if (value.Number) {\r\n if (value.Step !== '/step8' && value.Step !== '/step9' && value.Step !== '/step4') {\r\n // legacy logic\r\n if (partialFormOption === 'no' && canSave === true) {\r\n // go to Which statement best describes you? page - first or third\r\n currentStep = '/step3';\r\n }\r\n currentStep = '/step5';\r\n formikRef.current.setFieldTouched('ApplicationLodger'); // temp solution, better to get field name from form config.\r\n } else {\r\n currentStep = value.Step;\r\n }\r\n } else {\r\n currentStep = '/step0';\r\n }\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}${currentStep}`);\r\n setLoading(false);\r\n });\r\n })\r\n .catch(() => {\r\n console.log('Caught p2');\r\n });\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, []);\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n
\r\n
Before you start
\r\n {validTitles.map((v) => {\r\n const getTitles = v.substring(v.indexOf('|'), v.length).replaceAll('|', ' ');\r\n return ;\r\n })}\r\n
\r\n \"alarm\r\n Please allow up to 20 minutes to complete this form.\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default FVSStep0;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useContext, useState, useEffect } from 'react';\r\nimport { Field } from 'formik';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Alert, Button, Modal, TextInput, Accordion } from '@components';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\nimport mailRef from '../../../../images/refNo_mail.jpg';\r\nimport handwrittenRef from '../../../../images/refNo-handwritten.jpg';\r\nimport planRef from '../../../../images/refNo-plan.jpg';\r\nimport styles from './FVSStep1.module.scss';\r\n\r\nfunction FVSStep1(): ReactElement {\r\n const { apiError } = useContext(VicFinesContext);\r\n const FVSStep1AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const [smallScreen, setMatches] = useState(window.matchMedia('(max-width: 1150px)').matches);\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const FVSStep1NoteContent = (): ReactElement => (\r\n <>\r\n

You will need to enter the fine's obligation number or infringement notice number, the offence date and some other details about yourself or your vehicle.

\r\n \r\n If you don't have these details please contact us on{' '}\r\n \r\n 03 9200 8111\r\n {' '}\r\n (\r\n \r\n 1300 369 819\r\n {' '}\r\n regional callers).\r\n \r\n \r\n );\r\n\r\n const accordionContent = (caption: string, image: string, imageAlt: string): ReactElement => (\r\n
\r\n

{caption}

\r\n {imageAlt}\r\n
\r\n );\r\n\r\n const notificationInformation = (): ReactElement => (\r\n <>\r\n {smallScreen ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n
\r\n Did you receive your fine by mail?\r\n Did a police officer give you the fine in person, or issue you with a handwritten fine?\r\n Are you on a payment plan or payment order?\r\n
\r\n \"mail\r\n
\r\n
\r\n \"handwritten\r\n
\r\n
\r\n \"plan\r\n
\r\n
\r\n Enter your obligation number\r\n
\r\n
\r\n Enter your enforcement agency identifying reference\r\n
\r\n
\r\n Enter your payment arrangement number\r\n
\r\n
\r\n

Don't have your fine on you?

\r\n
\r\n Call Fines Victoria, Monday to Friday, 8am to 6pm (except public holidays).\r\n

\r\n For infringement enquiries, call{' '}\r\n \r\n 03 9200 8111\r\n {' '}\r\n or{' '}\r\n \r\n 1300 369 819\r\n {' '}\r\n for regional callers.\r\n

\r\n \r\n For Notice of Final Demand enquiries, call{' '}\r\n \r\n 03 9200 8222\r\n {' '}\r\n or{' '}\r\n \r\n 1800 150 410\r\n {' '}\r\n for regional callers.\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n\r\n useEffect(() => {\r\n window.matchMedia('(max-width: 768px)').addEventListener('change', (e) => setMatches(e.matches));\r\n }, []);\r\n\r\n return (\r\n <>\r\n
\r\n
Your fine
\r\n \r\n At this stage of the application, you only need to provide the details of one of your fines - even if you’re dealing with multiple fines.\r\n \r\n {apiError?.Error && } theme=\"error\" classAlt={styles.boxheight} />}\r\n setOpenHelp(true)}\r\n isMandatory\r\n autocomplete=\"off\"\r\n />\r\n {isOpenHelp && }\r\n
\r\n } theme=\"info\" icon={InfoIcon} />\r\n \r\n );\r\n}\r\n\r\nexport default FVSStep1;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useContext, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, Button, DateInput, Modal, TextInput } from '@components';\r\nimport { navigateToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n\r\nimport styles from './FVSStep2.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction FVSStep2(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const { apiError } = useContext(VicFinesContext);\r\n const [hasOffenceDate, setOffenceDate] = useState(false);\r\n const [hasHearingDate, setHearingDate] = useState(false);\r\n const [hasLicenceNumber, setLicenceNumber] = useState(false);\r\n const [hasVehicleRego, setVehicleRego] = useState(false);\r\n const [hasDOB, setDOB] = useState(false);\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const FVSStep2AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n If you don't know these details or think we may have the wrong information, contact Fines Victoria, Monday to Friday, 8am to 6pm (except public holidays).\r\n

\r\n For infringement enquiries, call{' '}\r\n \r\n 03 9200 8111\r\n {' '}\r\n or{' '}\r\n \r\n 1300 369 819\r\n {' '}\r\n for regional callers.\r\n

\r\n

\r\n For Notice of Final Demand enquiries, call call{' '}\r\n \r\n 03 9200 8222\r\n {' '}\r\n or{' '}\r\n \r\n 1800 150 410\r\n {' '}\r\n for regional callers.\r\n

\r\n
\r\n

Do you have a Victorian driver licence?

\r\n
\r\n If asked for your driver licence number, make sure you include any zeros at the start of your Victorian driver licence number.\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n const setupDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n };\r\n const url = `${API_URL}sitecore/FVS/SetupDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n context.setFieldValue('OffenceDateRequired', false);\r\n context.setFieldValue('HearingDateRequired', false);\r\n context.setFieldValue('LicenceRequired', false);\r\n context.setFieldValue('RegistrationRequired', false);\r\n context.setFieldValue('DOBRequired', false);\r\n if (responseBody.OffenceDate) {\r\n setOffenceDate(true);\r\n context.setFieldValue('OffenceDateRequired', true);\r\n context.setFieldTouched('OFFENCE_DATE', false);\r\n }\r\n if (responseBody.HearingDate) {\r\n setHearingDate(true);\r\n context.setFieldValue('HearingDateRequired', true);\r\n context.setFieldTouched('HEARING_DATE', false);\r\n }\r\n if (responseBody.LicenceRequired) {\r\n setLicenceNumber(true);\r\n context.setFieldValue('LicenceRequired', true);\r\n context.setFieldTouched('DRIVER_LICENCE', false);\r\n }\r\n if (responseBody.RegistrationRequired) {\r\n setVehicleRego(true);\r\n context.setFieldValue('RegistrationRequired', true);\r\n context.setFieldTouched('VEHICLE_REGISTRATION', false);\r\n }\r\n if (responseBody.DateOfBirthRequired) {\r\n setDOB(true);\r\n context.setFieldValue('DOBRequired', true);\r\n context.setFieldTouched('DOB', false);\r\n }\r\n } else navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n setupDebtor(context);\r\n return () => {\r\n setOffenceDate(false); // clean up state to avoid warnings\r\n setHearingDate(false);\r\n setLicenceNumber(false);\r\n setVehicleRego(false);\r\n setDOB(false);\r\n };\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n
\r\n More information needed\r\n We need you to enter some more details about this fine before you can continue.\r\n {apiError?.Error && } theme=\"error\" />}\r\n {hasOffenceDate && (\r\n \r\n )}\r\n {hasHearingDate && }\r\n {hasLicenceNumber && }\r\n {hasVehicleRego && }\r\n {hasDOB && }\r\n
\r\n \r\n
\r\n {isOpenHelp && }\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default FVSStep2;\r\n","import { ReactElement } from 'react';\r\n\r\nconst FVSStep3AlertContent3 = (): ReactElement => (\r\n
\r\n
\r\n

The scheme allows your infringement fine(s) to be withdrawn only if:

\r\n
    \r\n
  • you are a victim of family violence, and
  • \r\n
  • \r\n the family violence was one of the main reasons why you were unable to:\r\n
      \r\n
    • control the conduct for which you received the fine, or
    • \r\n
    • name the driver that committed the offence.
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n);\r\n\r\nexport default FVSStep3AlertContent3;\r\n","import { ReactElement } from 'react';\r\n\r\nconst FVSStep3AlertContent4 = (): ReactElement => (\r\n
\r\n
\r\n

You should attach at least one supporting document to your application. This can be either:

\r\n
    \r\n
  • a document prepared by a relevant authority or professional, or
  • \r\n
  • a statutory declaration by you (if you cannot get a document from an authority or professional)
  • \r\n
\r\n

\r\n If you are unable to provide the types of evidence suggested above, please contact the Fines Victoria FVS team to discuss your options via email (\r\n fvs@justice.vic.gov.au\r\n ) or phone (\r\n \r\n 1300 019 983\r\n \r\n )\r\n

\r\n
\r\n

\r\n You can read more about the evidence requirements in the \r\n \r\n Guide to FVS\r\n \r\n (opens in new window)\r\n

\r\n
\r\n);\r\n\r\nexport default FVSStep3AlertContent4;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useState, useEffect, useContext } from 'react';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { TileRadio, Alert, CheckboxInput, CheckboxInputGroup } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport classnames from 'classnames';\r\n// import FVSStep3AlertContent1 from '@components/Content/AlertContent/FVSStep3AlertContent1';\r\n// import FVSStep3AlertContent2 from '@components/Content/AlertContent/FVSStep3AlertContent2';\r\nimport FVSStep3AlertContent3 from '@components/Content/AlertContent/FVSStep3AlertContent3';\r\nimport FVSStep3AlertContent4 from '@components/Content/AlertContent/FVSStep3AlertContent4';\r\n// import FVSStep3AlertContent5 from '@components/Content/AlertContent/FVSStep3AlertContent5';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport styles from './FVSStep3.module.scss';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nfunction FVSStep3(): ReactElement {\r\n const { tooltips } = useContext(VicFinesContext);\r\n const additionalText1Title = Object.keys(tooltips).filter((v) => v.includes('step3additionaltext1'));\r\n const step3Additionaltext1content = tooltips[additionalText1Title[0]];\r\n const titleText1 = additionalText1Title[0].substring(additionalText1Title[0].indexOf('|'), additionalText1Title[0].length).replaceAll('|', ' ');\r\n const additionalText2Title = Object.keys(tooltips).filter((v) => v.includes('step3additionaltext2'));\r\n const step3Additionaltext2content = tooltips[additionalText2Title[0]];\r\n const titleText2 = additionalText2Title[0].substring(additionalText2Title[0].indexOf('|'), additionalText2Title[0].length).replaceAll('|', ' ');\r\n const additionalText3Title = Object.keys(tooltips).filter((v) => v.includes('step3additionaltext3'));\r\n const step3Additionaltext3content = tooltips[additionalText3Title[0]];\r\n const titleText3 = additionalText3Title[0].substring(additionalText3Title[0].indexOf('|'), additionalText3Title[0].length).replaceAll('|', ' ');\r\n\r\n const step3AdditionalText1 = (): ReactElement => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n );\r\n const step3AdditionalText2 = (): ReactElement => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n );\r\n const step3AdditionalText3 = (): ReactElement => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n );\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const SevenDayNoticeContent = (): ReactElement => (\r\n <>\r\n

A sheriff's officer served you with a {' '}\r\n \r\n 7 Day Notice\r\n (link opens in a new window)\r\n

\r\n \r\n );\r\n\r\n const TILE_DATA_FINES_ACTIONS: tile[] = [\r\n {\r\n body: ,\r\n value: 'Has7DayNotice',\r\n },\r\n {\r\n body: \"A sheriff's officer has removed your numberplates\",\r\n value: 'NumberPlatesRemoved',\r\n },\r\n {\r\n body: \"A sheriff's officer has wheel clamped your vehicle\",\r\n value: 'WheelClamped',\r\n },\r\n {\r\n body: 'You have lost your licence (either due to licence sanctions or as a result of demerit points)',\r\n value: 'LicenceLost',\r\n },\r\n {\r\n body: 'The Director, Fines Victoria has made an attachment of earnings or debt direction',\r\n value: 'MadeAttachment',\r\n },\r\n {\r\n body: 'The Director, Fines Victoria has recorded a charge over land that you own',\r\n value: 'RecordedCharge',\r\n },\r\n {\r\n body: \"A sheriff's officer has seized your vehicle\",\r\n value: 'VehicleSeized',\r\n },\r\n ];\r\n const { values, touched }: { values: iFVSFormValues; touched: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const { ActionsTakenOnFine, NoActionsTaken, HasLinkBwFVSAndFines, HasEvidenceToSupport } = values;\r\n const hasTouchedActionsTaken = getIn(touched, 'ActionsTakenOnFine');\r\n const hasTouchedNoActionTaken = getIn(touched, 'NoActionsTaken');\r\n const [isActionGpDisabled, setActionGpDisabled] = useState(false);\r\n const [isNoneOptDisabled, setNoneOptDisabled] = useState(false);\r\n const urgentOptions = ['WheelClamped', 'NumberPlatesRemoved', 'LicenceLost', 'Has7DayNotice'];\r\n useEffect(() => {\r\n if (NoActionsTaken) {\r\n setActionGpDisabled(true);\r\n if (!ActionsTakenOnFine.includes('None') && ActionsTakenOnFine.length === 0) {\r\n getIn(values, 'ActionsTakenOnFine').push('None');\r\n }\r\n const urgent = values.ActionsTakenOnFine.some((ele) => urgentOptions.includes(ele));\r\n formikContext.setFieldValue('isUrgent', urgent);\r\n } else if (ActionsTakenOnFine.length !== 0 && !ActionsTakenOnFine.includes('None')) {\r\n const urgent = values.ActionsTakenOnFine.some((ele) => urgentOptions.includes(ele));\r\n formikContext.setFieldValue('isUrgent', urgent);\r\n setNoneOptDisabled(true);\r\n } else if (ActionsTakenOnFine.length !== 0 && ActionsTakenOnFine.includes('None')) {\r\n formikContext.setFieldValue(\r\n 'ActionsTakenOnFine',\r\n getIn(values, 'ActionsTakenOnFine').filter((action: string) => action !== 'None'),\r\n );\r\n } else {\r\n setActionGpDisabled(false);\r\n setNoneOptDisabled(false);\r\n }\r\n }, [ActionsTakenOnFine, NoActionsTaken]);\r\n\r\n return (\r\n
\r\n Before you continue\r\n If you have any questions or concerns while completing this form, please call us on 1300 019 983 and our staff will be able to help and support you.\r\n
\r\n
\r\n Answering these questions will help us determine the eligibility and urgency of your application.\r\n
\r\n \r\n
\r\n \r\n Has any action been taken for this fine? (select any statements that apply)\r\n
\r\n \r\n
OR
\r\n \r\n {(hasTouchedActionsTaken || hasTouchedNoActionTaken) && !NoActionsTaken && ActionsTakenOnFine.length === 0 && (\r\n
Please select an option
\r\n )}\r\n {((!ActionsTakenOnFine.includes('MadeAttachment') && !ActionsTakenOnFine.includes('RecordedCharge') && !ActionsTakenOnFine.includes('VehicleSeized')) && ActionsTakenOnFine.includes('Has7DayNotice')) && (\r\n \r\n )}\r\n {((ActionsTakenOnFine.includes('MadeAttachment') || ActionsTakenOnFine.includes('RecordedCharge') || ActionsTakenOnFine.includes('VehicleSeized')) && !ActionsTakenOnFine.includes('Has7DayNotice')) && (\r\n \r\n )}\r\n {((ActionsTakenOnFine.includes('MadeAttachment') || ActionsTakenOnFine.includes('RecordedCharge') || ActionsTakenOnFine.includes('VehicleSeized')) && ActionsTakenOnFine.includes('Has7DayNotice')) && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {HasLinkBwFVSAndFines === 'false' && (\r\n }\r\n theme=\"info\"\r\n title=\"To be eligible for the Family Violence Scheme, you must show a link between the family violence and the fines\"\r\n icon={InfoIcon}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {HasEvidenceToSupport === 'false' && (\r\n } theme=\"info\" title=\"Without supporting documents, your application may not be successful\" icon={InfoIcon} />\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default FVSStep3;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useState, useContext } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadio, TextInput, Modal, Button } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport emailNotif from '../../../../images/emailviewv2.png';\r\nimport mobileNotif from '../../../../images/mobileview.png';\r\nimport styles from './FVSStep4.module.scss';\r\n\r\nfunction FVSStep4(): ReactElement {\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n const currentDate = new Date();\r\n const expiryDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate() + 7).toLocaleDateString('en-AU', { timeZone: 'Australia/Melbourne' });\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const [isNotifyHelp, setNotifyHelp] = useState(false);\r\n const closeNotifications = (modalName: string) => {\r\n if (modalName === 'savedForm') {\r\n setOpenHelp(false);\r\n } else {\r\n setNotifyHelp(false);\r\n }\r\n };\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const TILE_DATA_NOTIFICATION_TYPE: tile[] = [\r\n {\r\n body: 'No thanks',\r\n value: 'none',\r\n },\r\n {\r\n body: 'To my mobile',\r\n value: 'mobile',\r\n },\r\n {\r\n body: 'To my email',\r\n value: 'email',\r\n },\r\n {\r\n body: 'To both',\r\n value: 'both',\r\n },\r\n ];\r\n const howDoaccessSavedForm = (): ReactElement => (\r\n <>\r\n
\r\n
Visit fines.vic.gov.au, and click the ‘Your Fines’ link in the top right.\r\n
\r\n
\r\n
Enter your fine’s Obligation or Infringement number (these details are printed on your fine). You may also be asked to enter some other details about yourself, your licence or your vehicle.
\r\n
\r\n
Once you’ve logged in, under ‘Started applications’ you will see your incomplete form listed. Click the ‘Resume’ button to access your form.
\r\n
\r\n
Remember to click right through to the end and submit the form. Once you’ve submitted, you will see the green tick confirming your submission.
\r\n
\r\n
We suggest you complete and submit your form as soon as you can, or your fine may move to the next stage and further fees may be payable.
\r\n
\r\n
\r\n \r\n );\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n Email notification\r\n Mobile notification\r\n
\r\n \"email\r\n
\r\n
\r\n \"mobile\r\n
\r\n
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n Save the form as you go?\r\n
\r\n
We can send you a reminder to complete and submit this application.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Please note

\r\n

\r\n If you have concerns about someone accessing your phone or email account, please reconsider the need to save this form or receive notifications.\r\n

\r\n

\r\n If you're completing this from a shared device, please clear your browser history. You can visit{' '}\r\n \r\n https://www.esafety.gov.au/women/domestic-family-violence\r\n {' '}\r\n (opens in new tab) for more information about staying safe online and on your devices.\r\n

\r\n

\r\n Your form content will be saved securely until {expiryDate} or until submitted. To access saved forms visit this site, click ‘Your\r\n Fines’ and log in using the fine’s obligation/infringement number.\r\n

\r\n

Remember, the fine will continue to progress until you submit your application and receive a submission number

\r\n \r\n {isOpenHelp && closeNotifications('savedForm')} show title=\"How do I access my saved form later?\" content={howDoaccessSavedForm()} />}\r\n {values.SaveYesNo === 'true' && (\r\n <>\r\n Send notifications of incomplete forms?\r\n
We can send you a notification to remind you to come back and submit the application.
\r\n \r\n {(values.SaveOptions === 'email' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n {(values.SaveOptions === 'mobile' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n \r\n {isNotifyHelp && closeNotifications('myNotify')} show title=\"What will my notifications look like?\" content={notificationInformation()} />}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default FVSStep4;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { CheckboxInput, TileRadio } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport classnames from 'classnames';\r\nimport styles from './FVSStep5.module.scss';\r\n\r\nfunction FVSStep5(): ReactElement {\r\n const { values, touched }: { values: iFVSFormValues; touched: any } = useFormikContext();\r\n const hasTouchedApplicationLodger = getIn(touched, 'ApplicationLodger');\r\n const LodgedByVictim = (): ReactElement => (\r\n <>\r\n
I am the person affected by family violence
\r\n \r\n );\r\n const LodgedByRepresentative = (): ReactElement => (\r\n <>\r\n
I am the affected person's authorised representative, lawyer or advocate
\r\n \r\n );\r\n const applicationLodger: tile[] = [\r\n {\r\n body: ,\r\n value: 'LodgedByVictim',\r\n },\r\n {\r\n body: ,\r\n value: 'LodgedByRepresentative',\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n
Who is lodging the application
\r\n
\r\n \r\n Select the statement that best describes you?\r\n
\r\n \r\n
\r\n {values.ApplicationLodger === 'LodgedByRepresentative' && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\nexport default FVSStep5;\r\n","import { ReactElement } from 'react';\r\nimport VictimInformation from '@components/FVSPage/VictimInformation';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep6(): ReactElement {\r\n return (\r\n <>\r\n \r\n
\r\n

I understand that by providing contact details, Fines Victoria may update its records using these details and that I may be contacted regarding my outstanding fines.

\r\n \r\n );\r\n}\r\nexport default FVSStep6;\r\n","/* Step 7 and Step 16 */\r\nimport { ReactElement, useContext } from 'react';\r\nimport { tile, iFVSInfoDisplay } from '@interfaces/interfaces';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport { TileRadio, Alert } from '@components';\r\nimport styles from './RiskAndSupportDetails.module.scss';\r\n// import FVSStep7AlertContent from '@components/Content/AlertContent/FVSStep7AlertContent';\r\nimport InfoIcon from '../../images/info.svg';\r\n\r\ninterface iFVSRiskAndSupportDetails {\r\n displayObject: iFVSInfoDisplay;\r\n currentStepNo: string;\r\n}\r\n\r\nfunction RiskAndSupportDetails({ displayObject, currentStepNo }: iFVSRiskAndSupportDetails): ReactElement {\r\n const { tooltips } = useContext(VicFinesContext);\r\n const validTitle = Object.keys(tooltips).filter((v) => v.includes('yourriskandsupportstep7modal'));\r\n console.log(validTitle);\r\n const modalContentText = tooltips[validTitle[0]];\r\n // const titleText = validTitle[0].substring(validTitle[0].indexOf('|'), validTitle[0].length).replaceAll('|', ' ');\r\n const modalContent = (): ReactElement => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n );\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const IDoNotKnowValue = (): ReactElement => (\r\n <>\r\n
I don't know
\r\n \r\n );\r\n\r\n const TILE_DATA_1: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const TILE_DATA_2: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n {\r\n body: ,\r\n value: 'notKnown',\r\n },\r\n ];\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const { pageTitle } = displayObject.pages.riskAndSupportDetails[currentStepNo];\r\n const { hasScaredFeelings, hasRiskAssessment, contactSpecialist, additionalText } = displayObject.pages.riskAndSupportDetails[currentStepNo].fields;\r\n return (\r\n
\r\n {pageTitle}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {values.ContactSpecialist === 'true' && (\r\n <>\r\n
\r\n
{additionalText.title}
\r\n \r\n )}\r\n {values.ContactSpecialist === 'true' && }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default RiskAndSupportDetails;\r\n","import { ReactElement } from 'react';\r\nimport RiskAndSupportDetails from '@components/FVSPage/RiskAndSupportDetails';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep7(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep7;\r\n","/* FVS Step 8 and Step 17 */\r\nimport { ReactElement } from 'react';\r\nimport { tile, iFVSInfoDisplay } from '@interfaces/interfaces';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport { GenderOptionsList, OriginOptionsList, EnglishProficiencyOptionsList } from '@constants';\r\nimport { TextInput, DropdownMenu, TileRadio } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport classnames from 'classnames';\r\nimport styles from './BackgroundAndIdentityDetails.module.scss';\r\n\r\ninterface iBackgroundAndIdentityDetails {\r\n displayObject: iFVSInfoDisplay;\r\n currentStepNo: string;\r\n}\r\n\r\nfunction BackgroundAndIdentityDetails({ displayObject, currentStepNo }: iBackgroundAndIdentityDetails): ReactElement {\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const { Gender, HasDisability, EnglishProficiency } = values;\r\n const { pageTitle, pageSubtitle, pageInfo } = displayObject.pages.backgroundAndIdentityDetails[currentStepNo];\r\n const { gender, genderDescription, lgtiqIdentified, origin, englishProficiency, nativeLanguage, isDisabled, disabilityDescription } = displayObject.pages.backgroundAndIdentityDetails[currentStepNo].fields;\r\n\r\n return (\r\n
\r\n
{pageTitle}
\r\n

\r\n \r\n Answering these questions is optional.  \r\n \r\n {pageSubtitle}\r\n

\r\n \r\n {pageInfo}\r\n

\r\n
\r\n \r\n
\r\n {Gender === 'self-described' && (\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 {(EnglishProficiency === 'not-at-all' || EnglishProficiency === 'poorly') && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n {HasDisability === 'true' && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default BackgroundAndIdentityDetails;\r\n","import { ReactElement } from 'react';\r\nimport BackgroundAndIdentityDetails from '@components/FVSPage/BackgroundAndIdentityDetails';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep8(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep8;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useEffect, useState, Fragment } from 'react';\r\nimport { useFormikContext, Field, getIn } from 'formik';\r\nimport { navigateToError } from '@utils';\r\nimport { FormType } from '@constants/forms';\r\nimport { Alert, MultiTextInput, TileRadio, ExpandableTableAccessible } from '@components';\r\nimport { iObligation, tile } from '@interfaces/interfaces';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport { getObligationOptions } from '@api';\r\nimport classnames from 'classnames';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport styles from './FVSStep9.module.scss';\r\n\r\nfunction FVSStep9(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const context = useFormikContext();\r\n const { values, touched }: { values: iFVSFormValues; touched: any } = useFormikContext();\r\n const [authorisedOb, setObligationDetails] = useState({} as iObligation);\r\n const [relevantObs, setRelevantObligations] = useState([] as iObligation[]);\r\n const hasTouchedWhichOtherFines = getIn(touched, 'WhichOtherFines ');\r\n const FVSStep9AlertContent = (): ReactElement => (\r\n

\r\n If any of your fines are on a payment plan with an enforcement agency (eg. Victoria Police, Public Transport Victoria) you should contact them directly to cancel the plan –\r\n if you pay the fine in full we cannot consider it in your application.\r\n

\r\n );\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const TILE_DATA_OTHER_FINES: tile[] = [\r\n {\r\n body: 'All eligible outstanding fines',\r\n value: 'AllFines',\r\n },\r\n {\r\n body: 'Some eligible outstanding fines (select from list below)',\r\n value: 'SomeFines',\r\n },\r\n {\r\n body: 'No additional fines',\r\n value: 'NoFines',\r\n },\r\n ];\r\n useEffect(() => {\r\n if (values.AdditionalFinesToInclude === 'false') {\r\n context.setFieldValue('AgencyNames', [{ value: '' }]);\r\n context.setFieldValue('InfringementNums', [{ value: '' }]);\r\n context.setFieldValue('AOffence', [{ value: '' }]);\r\n context.setFieldValue('DAOffence', [{ value: '' }]);\r\n context.setFieldTouched('AgencyNames');\r\n context.setFieldTouched('InfringementNums');\r\n context.setFieldTouched('AOffence');\r\n context.setFieldTouched('DAOffence');\r\n }\r\n try {\r\n const obNumFormIk = values.OBLIGATION_NUMBER;\r\n getObligationOptions(obNumFormIk, FormType.FAMILYVIOLENCESCHEME)\r\n .then((responseBody) => {\r\n if (responseBody && responseBody?.Authorised) {\r\n setObligationDetails(responseBody?.Authorised);\r\n context.setFieldValue('AuthorisedObligation', responseBody?.Authorised);\r\n context.setFieldValue('InfringementNoticeNumber', responseBody?.Authorised.InfringementNumber);\r\n }\r\n if (responseBody && responseBody?.Obligations) {\r\n setRelevantObligations(responseBody?.Obligations);\r\n context.setFieldValue('relevantObs', responseBody?.Obligations);\r\n context.setFieldValue('EligibleObligations', responseBody?.Obligations);\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n setLoading(false);\r\n } catch (ex) {\r\n navigateToError();\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, [values.OBLIGATION_NUMBER, values.AdditionalFinesToInclude]);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
Your fines
\r\n

You are applying to the Family Violence Scheme for the following fine:

\r\n
\r\n
\r\n OBLIGATION NUMBER\r\n OFFENCE DATE\r\n OFFENCE DESCRIPTION\r\n AMOUNT\r\n
\r\n
\r\n {authorisedOb.Number}\r\n {authorisedOb.OffenceDate}\r\n {authorisedOb.OffenceDesc}\r\n ${authorisedOb.AmountDue}\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 \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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
OBLIGATION NUMBER{authorisedOb.Number}
OFFENCE DATE{authorisedOb.OffenceDate}
OFFENCE DESCRIPTION{authorisedOb.OffenceDesc}
AMOUNT${authorisedOb.AmountDue}
OFFENCE LOCATION{authorisedOb.OffenceLocation}
TIME OF OFFENCE{authorisedOb.OffenceTime}
VEHICLE REGISTRATION{authorisedOb.Registration}
OFFENCE LOCATION
{authorisedOb.OffenceLocation}
TIME OF OFFENCE
{authorisedOb.OffenceTime}
VEHICLE REGISTRATION
{authorisedOb.Registration}
\r\n
\r\n {relevantObs.length !== 0 && (\r\n <>\r\n \r\n Which other fines do you want to include in the application?\r\n
\r\n \r\n \r\n Eligible outstanding fines\r\n
\r\n {values.WhichOtherFines === 'AllFines' && (\r\n \r\n )}\r\n {values.WhichOtherFines === 'SomeFines' && (\r\n \r\n )}\r\n {values.WhichOtherFines !== 'AllFines' && values.WhichOtherFines !== 'SomeFines' && (\r\n \r\n )}\r\n

\r\n This list does not include fines issued by a court, excessive speeding, drug-driving or drink-driving fines. These fines are not eligible for the Family Violence Scheme.\r\n

\r\n \r\n )}\r\n
\r\n
\r\n
Infringement stage fines
\r\n

\r\n FVS may be able to consider other fines that are not listed above (for example, parking fines issued by a council or a fine you received for not voting). However we\r\n require information from you to identify these fines.\r\n

\r\n
\r\n \r\n
\r\n {values.AdditionalFinesToInclude === 'true' && (\r\n \r\n )}\r\n {values.AdditionalFinesToInclude === 'true' && } theme=\"info\" title=\"Please note:\" icon={InfoIcon} />}\r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default FVSStep9;\r\n","import { ReactElement } from 'react';\r\n\r\nconst FVSStep10AlertContent1 = (): ReactElement => (\r\n
\r\n If the application is successful the fines will be withdrawn by the enforcement agency. Any demerit points associated with the fine will also be withdrawn. You will not have to\r\n take any further action for that fine.\r\n
\r\n);\r\n\r\nexport default FVSStep10AlertContent1;\r\n","import { ReactElement } from 'react';\r\n\r\nconst FVSStep10AlertContent2 = (): ReactElement => (\r\n <>\r\n
\r\n If you have incurred traffic fines in your name but someone else was driving and you are found to be eligible, you can nominate a driver within six months of receiving the outcome of your application – if you feel safe to do so.\r\n
\r\n
\r\n
\r\n You can provide their details below now if you wish but we will always contact you before processing a nomination as we understand your situation may change. Your decision to nominate them or not will not affect the outcome of your application.\r\n
\r\n \r\n);\r\n\r\nexport default FVSStep10AlertContent2;\r\n","import { ReactElement } from 'react';\r\n\r\nconst FVSStep19AlertContent2 = (): ReactElement => (\r\n <>\r\n
\r\n If the person you are applying for has incurred traffic fines in their name but someone else was driving and they are found to be eligible, they are able to nominate a driver within six months of receiving the outcome of the application – if they feel safe to do so.\r\n
\r\n
\r\n
\r\n You can provide the driver’s details below now if you wish but we will always contact you before processing a nomination as we understand the person’s situation may change. Their decision to nominate them or not will not affect the outcome of the application.\r\n
\r\n \r\n);\r\n\r\nexport default FVSStep19AlertContent2;\r\n","/* FVS Step 10 and Step 19 */\r\n/* eslint-disable operator-linebreak */\r\nimport { ReactElement, useEffect } from 'react';\r\nimport { tile, iFVSInfoDisplay } from '@interfaces/interfaces';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport { TileRadio, Alert, TextInput, DateInput, LicenceField, LimitedTextArea } from '@components';\r\nimport FVSStep10AlertContent1 from '@components/Content/AlertContent/FVSStep10AlertContent1';\r\nimport FVSStep10AlertContent2 from '@components/Content/AlertContent/FVSStep10AlertContent2';\r\nimport FVSStep19AlertContent2 from '@components/Content/AlertContent/FVSStep19AlertContent2';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport classnames from 'classnames';\r\nimport styles from './LikelyPossibilities.module.scss';\r\nimport InfoIcon from '../../images/info.svg';\r\n\r\ninterface iLikelyPossibilities {\r\n displayObject: iFVSInfoDisplay;\r\n currentStepNo: string;\r\n}\r\n\r\nfunction LikelyPossibilities({ displayObject, currentStepNo }: iLikelyPossibilities): ReactElement {\r\n const FinesWithdrawn = (): ReactElement => (\r\n <>\r\n
Have the fine(s) withdrawn
\r\n \r\n );\r\n\r\n const NominatedDriver = (): ReactElement => (\r\n <>\r\n
Nominate the driver who was in control of the vehicle at the time of the offence(s) - if safe to do so
\r\n \r\n );\r\n\r\n const Combination = (): ReactElement => (\r\n <>\r\n
A combination of the above
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'FinesWithdrawn',\r\n },\r\n {\r\n body: ,\r\n value: 'DriverNominated',\r\n },\r\n {\r\n body: ,\r\n value: 'AboveCombination',\r\n },\r\n ];\r\n\r\n const { values, errors, touched }: { values: iFVSFormValues; errors: any; touched: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const { WhatWouldYouLikeToHappen } = values;\r\n const { pageTitle } = displayObject.pages.likelyPossibilities[currentStepNo];\r\n const {\r\n likelyPossibility,\r\n givenNameOptional,\r\n familyNameOptional,\r\n dateOfBirthOptional,\r\n driverLicenceOptional,\r\n licenceStateOptional,\r\n stateCountryOfIssueOptional,\r\n noDriverLicenceOptional,\r\n howDealtWithFines,\r\n } = displayObject.pages.likelyPossibilities[currentStepNo].fields;\r\n const hasError = getIn(errors, likelyPossibility.formikName);\r\n const touchedError = getIn(touched, likelyPossibility.formikName);\r\n useEffect(() => {\r\n if (WhatWouldYouLikeToHappen === 'AboveCombination' || WhatWouldYouLikeToHappen === 'FinesWithdrawn') {\r\n formikContext.setFieldValue('DOBOptional', '');\r\n formikContext.setFieldTouched('DOBOptional');\r\n }\r\n }, [values.DOBOptional, WhatWouldYouLikeToHappen]);\r\n\r\n return (\r\n
\r\n
{pageTitle}
\r\n \r\n Tell us what you would like to happen, if your application is successful. Note: what you tell us here will not impact the success of the application.\r\n
\r\n
\r\n \r\n {WhatWouldYouLikeToHappen === 'FinesWithdrawn' && } theme=\"info\" icon={InfoIcon} />}\r\n {WhatWouldYouLikeToHappen === 'DriverNominated' &&\r\n (currentStepNo === 'step10' ? (\r\n } theme=\"info\" icon={InfoIcon} />\r\n ) : (\r\n } theme=\"info\" icon={InfoIcon} />\r\n ))}\r\n {WhatWouldYouLikeToHappen === 'DriverNominated' && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {WhatWouldYouLikeToHappen === 'AboveCombination' && (\r\n \r\n )}\r\n {WhatWouldYouLikeToHappen === 'AboveCombination' && }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default LikelyPossibilities;\r\n","import { ReactElement } from 'react';\r\nimport LikelyPossibilities from '@components/FVSPage/LikelyPossibilities';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep10(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep10;\r\n","import { ReactElement } from 'react';\r\nimport styles from './FVSStep11AlertContent.module.scss';\r\n\r\nconst FVSStep11AlertContent = (): ReactElement => (\r\n
\r\n Please note:\r\n {` If any of the fines are on a payment plan with an enforcement agency (eg. Victoria Police, Public Transport Victoria), you\r\n should contact them directly to cancel the plan – if the fineholder pays the fine in full we cannot consider it in the application.`}\r\n
\r\n);\r\n\r\nexport default FVSStep11AlertContent;\r\n","/* FVS Step 11 and Step 20 */\r\n/* eslint-disable operator-linebreak */\r\nimport { ReactElement } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport { tile, iFVSInfoDisplay } from '@interfaces/interfaces';\r\nimport { TileRadio, Alert } from '@components';\r\nimport FVSStep11AlertContent from '@components/Content/AlertContent/FVSStep11AlertContent';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport InfoIcon from '../../images/info.svg';\r\n\r\ninterface iPaymentArrangements {\r\n displayObject: iFVSInfoDisplay;\r\n currentStepNo: string;\r\n}\r\n\r\nfunction PaymentArrangements({ displayObject, currentStepNo }: iPaymentArrangements): ReactElement {\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const { pageTitle, pageSubtitle } = displayObject.pages.paymentArrangements[currentStepNo];\r\n const { removeFines, reincludeFines } = displayObject.pages.paymentArrangements[currentStepNo].fields;\r\n\r\n return (\r\n
\r\n {pageTitle}\r\n {currentStepNo === 'step11' && It appears that one or more of the fines in your application are in a payment arrangement.}\r\n {pageSubtitle}\r\n {currentStepNo === 'step20' && (\r\n
\r\n \r\n {values.HasPaymentArrangement === 'true' && (\r\n \r\n )}\r\n
\r\n )}\r\n {(currentStepNo === 'step11' || values.HasPaymentArrangement === 'true') && (\r\n
\r\n \r\n
\r\n )}\r\n {values.RemoveFines === 'true' && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n } theme=\"info\" icon={InfoIcon} />\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PaymentArrangements;\r\n","import { ReactElement } from 'react';\r\nimport PaymentArrangements from '@components/FVSPage/PaymentArrangements';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep11(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep11;\r\n","/* FVS Step 12 and Step 21 */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport { FormType } from '@constants';\r\nimport { CheckboxInput, FileUploadGroup, Modal, Button } from '@components';\r\nimport { iFVSInfoDisplay } from '@interfaces/interfaces';\r\nimport styles from './SupportingDocuments.module.scss';\r\n\r\ninterface iSupportingDocuments {\r\n displayObject: iFVSInfoDisplay;\r\n currentStepNo: string;\r\n}\r\n\r\nfunction SupportingDocuments({ displayObject, currentStepNo } : iSupportingDocuments): ReactElement {\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const [isCheckedUnable, setCheckedUnable] = useState(values.UnableToObtainAdoc || false);\r\n const [modal, setModal] = useState({\r\n show: false,\r\n title: '',\r\n content: <>,\r\n contentClass: '',\r\n });\r\n const closeNotifications = () => {\r\n setModal({\r\n show: false,\r\n title: '',\r\n content: <>,\r\n contentClass: '',\r\n });\r\n };\r\n const handleCheckBox = () => {\r\n setCheckedUnable((pre: boolean) => !pre);\r\n };\r\n const { pageTitle } = displayObject.pages.supportingDocuments[currentStepNo];\r\n const { isUnableToObtainADoc } = displayObject.pages.supportingDocuments[currentStepNo].fields;\r\n const notificationInformation = (): ReactElement => (\r\n <>\r\n
\r\n

A report by a relevant professional

\r\n

This can be a report, letter, or statement by:

\r\n
    \r\n
  • a lawyer
  • \r\n
  • a financial counsellor
  • \r\n
  • a case worker or social worker
  • \r\n
  • a family consultant or counsellor
  • \r\n
  • a psychologist
  • \r\n
  • a medical practitioner, a nurse, or other health practitioner
  • \r\n
  • a family violence practitioner from a family violence service (such as a women’s refuge, or an outreach, crisis or counselling service)
  • \r\n
  • an officer of a child welfare authority or child protection authority
  • \r\n
  • a school principal or school welfare coordinator
  • \r\n
  • a police officer, or a witness statement by someone other than you to a police officer, in the course of a police investigation
  • \r\n
  • \r\n any other person that the Director, Fines Victoria considers to be appropriate (please contact Fines Victoria FVS team to discuss via email:{' '}\r\n \r\n fvs@justice.vic.gov.au\r\n {' '}\r\n or phone{' '}\r\n \r\n 1300 019 983\r\n \r\n ). If a professional is writing a report to support your FVS application, you should ask them to include:\r\n
      \r\n
    • their full name, title, qualifications, and their employer
    • \r\n
    \r\n
  • \r\n
  • an outline and period of their service’s working relationship with you
  • \r\n
  • whether a family violence risk assessment and management plan (MARAM) has been completed with you
  • \r\n
  • \r\n their understanding and opinion of: – the period when you have experienced family violence – relevant ongoing impacts of the family violence, such as mental health or\r\n substance abuse issues – how the family violence substantially contributed to your inability to control the offending conduct, to nominate the actual driver, or to\r\n reject a nomination.\r\n
  • \r\n
\r\n Generally, the report should be completed within the 12 months of you getting the fines or applying to the FVS.\r\n \r\n If your application is based on mental health and substance abuse issues linked to family violence, you will generally be required to provide a report by a psychologist,\r\n psychiatrist, a general practitioner, or from a drug and alcohol counsellor.\r\n \r\n

\r\n Please see{' '}\r\n \r\n Guide to FVS\r\n {' '}\r\n for more information about relevant professionals.\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n return (\r\n <>\r\n
{pageTitle}
\r\n

\r\n setModal({ ...modal, show: false })} {...modal} />\r\n Please attach a document prepared by a relevant authority or professional to support this application.\r\n

\r\n

A document prepared by a relevant authority or professional includes:

\r\n
    \r\n
  • a family violence intervention order
  • \r\n
  • a family violence safety notice
  • \r\n
  • \r\n a report, letter or statement from a{' '}\r\n
    \r\n {\r\n const content = notificationInformation();\r\n const title = 'Relevant professionals';\r\n setModal({\r\n show: true,\r\n title,\r\n content,\r\n contentClass: '',\r\n });\r\n }}>\r\n relevant professional\r\n \r\n
    {' '}\r\n (for example, a lawyer, financial counsellor, social worker or psychologist)\r\n
  • \r\n
\r\n

Please attach document(s) (up to 4 documents, each document should be less than 4MB). A clear photo of the document from a mobile phone is okay.

\r\n \r\n
\r\n \r\n {isCheckedUnable && (\r\n <>\r\n

Please attach a signed statutory declaration

\r\n

If you do not have a document prepared by a relevant authority or professional, we require a signed statutory declaration.

\r\n

It should explain how you meet the eligibility criteria – especially the link between your experience of family violence and your fines.

\r\n

Your statutory declaration needs to be signed and witnessed by an authorised person.

\r\n

\r\n Visit{' '}\r\n \r\n justice.vic.gov.au/statdecs\r\n {' '}\r\n for a statutory declaration template and a list of people who can witness it for you.\r\n

\r\n

Please attach document (1 document, less than 4MB)

\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default SupportingDocuments;\r\n","import { ReactElement } from 'react';\r\nimport SupportingDocuments from '@components/FVSPage/SupportingDocuments';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep12(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep12;\r\n","/* Step 13 and Step 22 */\r\nimport { ReactElement } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { FormType } from '@constants';\r\nimport { LimitedTextAreaLargeUpdated, FileUploadGroup } from '@components';\r\nimport { iFVSInfoDisplay } from '@interfaces/interfaces';\r\n\r\ninterface iApplicationReasons {\r\n displayObject: iFVSInfoDisplay;\r\n currentStepNo: string;\r\n}\r\n\r\nfunction ApplicationReasons({ displayObject, currentStepNo }: iApplicationReasons): ReactElement {\r\n const { values }: { values: any } = useFormikContext();\r\n const { pageTitle, pageSubtitle } = displayObject.pages.applicationReasons[currentStepNo];\r\n const { reason } = displayObject.pages.applicationReasons[currentStepNo].fields;\r\n const firstParty = values.ApplicationLodger === 'LodgedByVictim';\r\n\r\n return (\r\n <>\r\n
{pageTitle}
\r\n

{pageSubtitle}

\r\n { firstParty ? (\r\n

\r\n Please tell us how the family violence:\r\n

\r\n ) : (\r\n

\r\n Please tell us how the family violence:\r\n

\r\n )}\r\n { firstParty ? (\r\n
    \r\n
  • is linked to the behaviour that resulted in the fines – if you were responsible for the fines, or
  • \r\n
  • meant that you could not nominate the person who was responsible for the fines, or
  • \r\n
  • meant that you could not reject a nomination from someone else – if you were not responsible for the fines
  • \r\n
\r\n ) : (\r\n
    \r\n
  • is linked to the behaviour that resulted in the fines – if you were responsible for the fines, or
  • \r\n
  • meant that you could not nominate the person who was responsible for the fines, or
  • \r\n
  • meant that you could not reject a nomination from someone else – if you were not responsible for the fines
  • \r\n
\r\n )}\r\n

\r\n If you received the fines due to a mental health condition linked to the family violence, then we may need a report from a relevant health practitioner, such as a general practitioner or psychologist. The report should tell us how your mental health condition contributed to the behaviour that resulted in the fines.\r\n

\r\n

\r\n If you need more space, you can attach it as a separate document below.\r\n

\r\n

\r\n If the application and supporting evidence does not include enough information, we will ask you for more information.\r\n

\r\n \r\n

You may also provide other supporting documents (optional)

\r\n

Attach other supporting documents (maximum of 5 files - each file should be less than 4MB)

\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ApplicationReasons;\r\n","import { ReactElement } from 'react';\r\nimport ApplicationReasons from '@components/FVSPage/ApplicationReasons';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep13(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep13;\r\n","import { ReactElement, useEffect } from 'react';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { TextInput, TileRadio, EmailField, ContactInput, AddressField, LimitedTextArea } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\n\r\nfunction FVSStep14(): ReactElement {\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const RepresentativeRequestsEmailCopy = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n const RepresentativeDeclinesEmailCopy = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n const RepresentativeEmailCopyBool: tile[] = [\r\n {\r\n body: ,\r\n value: 'Yes',\r\n },\r\n {\r\n body: ,\r\n value: 'No',\r\n },\r\n ];\r\n const RepresentativeAllowsPhoneCommunication = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n const RepresentativeDeclinesPhoneCommunication = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n const RepresentativePhoneCommunicationBool: tile[] = [\r\n {\r\n body: ,\r\n value: 'Yes',\r\n },\r\n {\r\n body: ,\r\n value: 'No',\r\n },\r\n ];\r\n useEffect(() => {\r\n if (getIn(values, 'saveEmail') !== '') {\r\n values.RepresentativeEmailAddress = getIn(values, 'saveEmail');\r\n }\r\n }, [getIn(values, 'saveEmail')]);\r\n return (\r\n <>\r\n
Your details (authorised representative)
\r\n

We need your details here. We'll ask you for the details of the person affected by family violence later.

\r\n

\r\n All fields within this form are required unless marked as\r\n optional.\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 {values.RepresentativeAllowsPhoneCommunicationBool === 'Yes' && (\r\n \r\n )}\r\n \r\n );\r\n}\r\nexport default FVSStep14;\r\n","import { ReactElement } from 'react';\r\nimport VictimInformation from '@components/FVSPage/VictimInformation';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep15(): ReactElement {\r\n return (\r\n <>\r\n \r\n
\r\n

I understand that by providing contact details, Fines Victoria may update its records using these details and that the fineholder may be contacted regarding their outstanding fines.

\r\n \r\n );\r\n}\r\nexport default FVSStep15;\r\n","import { ReactElement } from 'react';\r\nimport RiskAndSupportDetails from '@components/FVSPage/RiskAndSupportDetails';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep16(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep16;\r\n","import { ReactElement } from 'react';\r\nimport BackgroundAndIdentityDetails from '@components/FVSPage/BackgroundAndIdentityDetails';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep17(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep17;\r\n","import { ReactElement, useEffect } from 'react';\r\nimport { useFormikContext, Field, getIn } from 'formik';\r\nimport { FormType } from '@constants/forms';\r\nimport { Alert, MultiTextInput, TileRadio } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport styles from './FVSStep18.module.scss';\r\n\r\nfunction FVSStep18(): ReactElement {\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n\r\n const FVSStep18AlertContent = (): ReactElement => (\r\n

\r\n If any of the fines are on a payment plan with an enforcement agency (eg. Victoria Police, Public Transport Victoria) you should contact them directly to cancel the plan – if\r\n the fineholder pays the fine in full we cannot consider it in the application.\r\n

\r\n );\r\n\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const EligibleFinesValue = (): ReactElement => (\r\n <>\r\n
All eligible outstanding fines
\r\n \r\n );\r\n\r\n const FollowingEligibleFines = (): ReactElement => (\r\n <>\r\n
The following eligible outstanding fines (please list below)
\r\n \r\n );\r\n\r\n const ExcludingEligibleFines = (): ReactElement => (\r\n <>\r\n
\r\n All eligible outstanding fines\r\n EXCEPT \r\n these fines (please list below)\r\n
\r\n \r\n );\r\n\r\n const REGISTERED_FINE_TYPE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'All eligible outstanding fines',\r\n },\r\n {\r\n body: ,\r\n value: 'The following eligible outstanding fines (please list below)',\r\n },\r\n {\r\n body: ,\r\n value: 'All eligible outstanding fines EXCEPT these fines (please list below)',\r\n },\r\n ];\r\n\r\n const ADDITIONAL_FINES_CONFIRMATION_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n /* Condition 1 */\r\n if (getIn(values, 'AdditionalFinesType') === 'All eligible outstanding fines' || getIn(values, 'RegisteredFinesToInclude') === 'false') {\r\n formikContext.setFieldValue('obligations', [{ value: '' }]);\r\n formikContext.setFieldTouched('obligations');\r\n }\r\n\r\n /* Condition 2 */\r\n if (getIn(values, 'InfringementFinesToInclude') !== 'true') {\r\n formikContext.setFieldValue('AgencyNames', [{ value: '' }]);\r\n formikContext.setFieldValue('InfringementNums', [{ value: '' }]);\r\n formikContext.setFieldValue('AOffence', [{ value: '' }]);\r\n formikContext.setFieldValue('DAOffence', [{ value: '' }]);\r\n formikContext.setFieldTouched('AgencyNames');\r\n formikContext.setFieldTouched('InfringementNums');\r\n formikContext.setFieldTouched('AOffence');\r\n formikContext.setFieldTouched('DAOffence');\r\n }\r\n }, [getIn(values, 'RegisteredFinesToInclude'), getIn(values, 'InfringementFinesToInclude')]);\r\n\r\n return (\r\n <>\r\n
Fines to be included in this application
\r\n If the fineholder has been issued with other eligible fines, we may be able to consider them as a part of this application\r\n

You may not add:

\r\n
    \r\n
  • fines issued by a court
  • \r\n
  • fully-paid fines
  • \r\n
  • fines for drink/drug driving or excessive speed
  • \r\n
  • fines for which you have received a 7 Day Notice that has expired
  • \r\n
\r\n
\r\n
Registered fines
\r\n

Registered fines are fines for which you have received a Notice of Final Demand from Fines Victoria.

\r\n
\r\n \r\n
\r\n {values.RegisteredFinesToInclude === 'true' && (\r\n
\r\n \r\n
\r\n )}\r\n {values.RegisteredFinesToInclude === 'true' && values.AdditionalFinesType !== 'All eligible outstanding fines' && values.AdditionalFinesType !== '' && (\r\n \r\n )}\r\n
\r\n
Infringement stage fines
\r\n

\r\n FVS can also consider any fines for which you have not yet received a notice of final demand and therefore are still at infringement stage, however we require more\r\n information from you to identify these fines.\r\n

\r\n
\r\n \r\n
\r\n
\r\n {values.InfringementFinesToInclude === 'true' && (\r\n <>\r\n Please enter as much detail as possible to help speed up the application.\r\n \r\n \r\n )}\r\n {values.InfringementFinesToInclude === 'true' && } theme=\"info\" title=\"Please note:\" icon={InfoIcon} />}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default FVSStep18;\r\n","import { ReactElement } from 'react';\r\nimport LikelyPossibilities from '@components/FVSPage/LikelyPossibilities';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep19(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep19;\r\n","import { ReactElement } from 'react';\r\nimport PaymentArrangements from '@components/FVSPage/PaymentArrangements';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep20(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep20;\r\n","import { ReactElement } from 'react';\r\nimport SupportingDocuments from '@components/FVSPage/SupportingDocuments';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep21(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep21;\r\n","import { ReactElement } from 'react';\r\nimport ApplicationReasons from '@components/FVSPage/ApplicationReasons';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\n\r\nfunction FVSStep22(): ReactElement {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep22;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Summary } from '@components';\r\nimport { iFVSFormValues, getSummaryScreen } from '@services/FVSService';\r\n\r\nfunction FVSStep23(): ReactElement {\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default FVSStep23;\r\n","import { ReactElement } from 'react';\r\nimport { CheckboxInput } from '@components';\r\nimport { useFormikContext, Field } from 'formik';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\n\r\nfunction FVSStep24(): ReactElement {\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const firstParty = values.ApplicationLodger === 'LodgedByVictim';\r\n return (\r\n <>\r\n
Declaration
\r\n { firstParty ? (\r\n
\r\n

I authorise Fines Victoria to disclose my personal information to the enforcement agencies that issued the fine(s), the Magistrates’ Court of Victoria and any person whose evidence I rely on in support of this application, and

\r\n

The information supplied in this form is true and correct to the best of my knowledge, and

\r\n

I understand that by making a false or misleading statement in support of this application, I may be prosecuted.

\r\n
\r\n ) : (\r\n
\r\n

I have informed the applicant that their personal information may be disclosed to the enforcement agencies that issued the fine(s), the Magistrates’ Court of Victoria and any person whose evidence the applicant relies on in support of this application, and

\r\n

The information supplied on this form is true and correct to the best of my knowledge, and

\r\n

I understand that by making a false or misleading statement in support of this application, I may be prosecuted.

\r\n
\r\n )}\r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FVSStep24;\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Alert } from '@components';\r\nimport { FormType } from '@constants';\r\nimport FormSubmissionSuccessAlertContent from '@components/Content/AlertContent/FormSubmissionSuccessAlertContent';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport DoneIcon from '../../../../images/done.svg';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nfunction FVSStep25(): ReactElement {\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const emailAddress = values.Email;\r\n const sendEmailCopy = values.SendEmailCopy;\r\n const submissionNumber = values.OBLIGATION_NUMBER;\r\n const WhatWillHappen = (): ReactElement => (\r\n
\r\n

If we need more information, a member of our team will contact you via your preferred method of contact.

\r\n
\r\n

Once a decision has been made regarding your application, you’ll receive notification of the outcome.

\r\n
\r\n

In the meantime, if you have any questions or concerns, you can phone us on 1300 019 983 during business hours, and our team members will be able to help and support you.

\r\n
\r\n );\r\n return (\r\n
\r\n Your application has been successfully submitted\r\n }\r\n icon={DoneIcon}\r\n theme=\"success\"\r\n color=\"green\"\r\n />\r\n }\r\n icon={InfoIcon}\r\n theme=\"info2\"\r\n />\r\n
\r\n );\r\n}\r\n\r\nexport default FVSStep25;\r\n","/* eslint-disable operator-linebreak */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable implicit-arrow-linebreak */\r\nimport { ReactElement, useState, useEffect, useRef } from 'react';\r\nimport { Routes, Route, useNavigate, useParams, useLocation, useRoutes, Outlet } from 'react-router-dom';\r\nimport { Formik, Form, FormikProps, getIn } from 'formik';\r\nimport { defaultForm, getReceiptPayload, getSubmissionPayload, iFVSFormValues, FVSSchema, FVSMetaData } from '@services/FVSService';\r\nimport { FormContainer } from '@pages';\r\nimport ReactGA from 'react-ga';\r\nimport { FormNavFooter, FormLoading, Alert, ProgressBar } from '@components';\r\nimport { FormType } from '@constants';\r\nimport { iToolTips, iCountry, iFormNavActions, iApiError, iPartialFormData, iFVSCheckboxAll } from '@interfaces/interfaces';\r\nimport {\r\n getCountryList,\r\n getBasicInfo,\r\n getTooltips,\r\n savePartialForm,\r\n getPartialForm,\r\n getPaymentArrangement,\r\n getObligationOptions,\r\n getEligibleNominationList,\r\n submitSavedPartialForm,\r\n} from '@api';\r\nimport { fvsInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport { navigateToError, navigateToNextStep, getStringIndex, setFormDataValues, setCurrentFormikValues, getDateForValidateDebtor, navToError } from '@utils';\r\nimport ErrorContent from '@components/Content/AlertContent/ErrorContent';\r\nimport {\r\n FVSStep0,\r\n FVSStep1,\r\n FVSStep2,\r\n FVSStep3,\r\n FVSStep4,\r\n FVSStep5,\r\n FVSStep6,\r\n FVSStep7,\r\n FVSStep8,\r\n FVSStep9,\r\n FVSStep10,\r\n FVSStep11,\r\n FVSStep12,\r\n FVSStep13,\r\n FVSStep14,\r\n FVSStep15,\r\n FVSStep16,\r\n FVSStep17,\r\n FVSStep18,\r\n FVSStep19,\r\n FVSStep20,\r\n FVSStep21,\r\n FVSStep22,\r\n FVSStep23,\r\n FVSStep24,\r\n FVSStep25,\r\n FVSErrorPage\r\n} from '.';\r\nimport VicFinesContext from '../VicFinesFormContext';\r\nimport IssueIcon from '../../../images/issue.svg';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL, REACT_APP_PATH_FAMILY_VIOLENCE_SCHEME: PATH_FVS } = process.env;\r\n\r\nfunction FamilyViolenceScheme(): ReactElement {\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const pathElementArray = location.pathname.split('/');\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n // example returned [step0,3224242] or [step0]\r\n const stepArray = pathElementArray.slice(stepIndexDiff);\r\n // example returned 0\r\n const stepIndexInPath = getStringIndex(stepArray, 'step');\r\n // always get the element contain step like step0\r\n const getStepInPath = stepArray[stepIndexInPath];\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const pathNameUpperCase = location.pathname.toLowerCase();\r\n const currentStep = pathNameUpperCase === `${PATH_FVS}` || pathNameUpperCase === `${PATH_FVS}/` ? 'step0' : `${getStepInPath}`;\r\n const [loading, setLoading] = useState(true);\r\n const [countryList, setCountryList] = useState([]);\r\n const [tooltips, setTooltips] = useState({} as iToolTips);\r\n const [apiError, setApiError] = useState({} as iApiError);\r\n const formikValuesRef = useRef({} as FormikProps);\r\n const [activeError, setActiveError] = useState(false);\r\n const partialFormAttachmentFields = ['SelectedObligationsStep9', 'SupportingAttachments', 'SignedDeclarationAttachment', 'OtherSupportingAttachments'];\r\n const arrayFieldsToBeCleared = [\r\n 'ActionsTakenOnFine',\r\n 'obligations',\r\n 'infringementFineArray',\r\n 'enteredObligationsArray',\r\n 'InfringementNums',\r\n 'AgencyNames',\r\n 'AOffence',\r\n 'DAOffence',\r\n ];\r\n type obligationNum = {\r\n ob: string;\r\n };\r\n const redirectUrl = (event: any) => {\r\n if (event.code === 'Escape') {\r\n setTimeout(() => {\r\n window.location.replace('https://www.google.com/');\r\n });\r\n }\r\n };\r\n\r\n const fetchRegObligationNums = (selectedObligations: iFVSCheckboxAll[], authorisedObligation: string) => [\r\n authorisedObligation,\r\n ...selectedObligations.filter((e: iFVSCheckboxAll) => e.checked).map(({ number }: { number: string }) => number),\r\n ];\r\n const { ob } = useParams();\r\n useEffect(() => {\r\n const fetchData = async (): Promise => {\r\n try {\r\n const [countryResults, tooltipResults] = await Promise.all([getCountryList(), getTooltips('fines.FvsForm')]);\r\n setCountryList(countryResults);\r\n setTooltips(tooltipResults);\r\n setLoading(false);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n fetchData();\r\n const handlePopstate = () => {\r\n // Check if the back button is clicked\r\n const isSubmitted = formikValuesRef.current && formikValuesRef.current.values ? formikValuesRef.current.values?.submitted : false;\r\n\r\n if (window.location.pathname === '/fvs-form/step24' || isSubmitted) {\r\n navigate({\r\n pathname: '/fvs-form/step25',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/fvs-form/step2') && !isSubmitted) {\r\n navigate({\r\n pathname: '/fvs-form/step3',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/fvs-form/error') && !isSubmitted) {\r\n navigate({\r\n pathname: '/fvs-form/error',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/fvs-form/step1') && !isSubmitted && formikValuesRef && formikValuesRef.current) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', '');\r\n formikValuesRef.current.setFieldTouched('OBLIGATION_NUMBER');\r\n formikValuesRef.current.setFieldValue('OFFENCE_DATE', '');\r\n formikValuesRef.current.setFieldValue('HEARING_DATE', '');\r\n formikValuesRef.current.setFieldValue('DRIVER_LICENCE', '');\r\n formikValuesRef.current.setFieldValue('VEHICLE_REGISTRATION', '');\r\n formikValuesRef.current.setFieldValue('DOB', '');\r\n }\r\n };\r\n window.addEventListener('popstate', handlePopstate);\r\n document.addEventListener('keyup', redirectUrl);\r\n return () => {\r\n window.removeEventListener('popstate', handlePopstate);\r\n document.removeEventListener('keydown', redirectUrl);\r\n };\r\n }, []);\r\n\r\n const displayErrorsCount = (errorCount: number, touchedFields: number): void => {\r\n if (touchedFields === 0) {\r\n setActiveError(true);\r\n } else if (errorCount > 0) {\r\n setActiveError(true);\r\n } else {\r\n setActiveError(false);\r\n }\r\n };\r\n\r\n const clearApiError = () => {\r\n setApiError({\r\n Error: '',\r\n });\r\n };\r\n\r\n const postObligation = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n // remove whitespaces before and after obligation number\r\n const trimmedObligationNumber = formikContext.values.OBLIGATION_NUMBER.trim();\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', trimmedObligationNumber);\r\n const payload = {\r\n obligationNumber: trimmedObligationNumber,\r\n };\r\n const url = `${API_URL}sitecore/FVS/ValidateObligation`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 422 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n const nextPageUrl = `${pathNameLessLastSegment}${responseBody.NextStep}`;\r\n if (responseBody.obligationNumber) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', responseBody.obligationNumber);\r\n }\r\n setApiError({\r\n Error: '',\r\n });\r\n navigate(nextPageUrl);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n const resetPFormDataValues = (partialFormApi: any, formikObject: any) => {\r\n if (partialFormApi && formikObject) {\r\n // clone data format like objectkey: [{},{}]\r\n if (\r\n Array.isArray(partialFormApi) &&\r\n partialFormApi[0] &&\r\n typeof partialFormApi[0] === 'object' &&\r\n Array.isArray(formikObject) &&\r\n (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n type dynamicObj = {\r\n [key: string]: string;\r\n };\r\n const temp = {} as dynamicObj;\r\n Object.keys(val).forEach((key) => {\r\n temp[key] = val[key];\r\n });\r\n formikObject.push(temp);\r\n });\r\n }\r\n // handle scenario if formikObject is empty array , it's for ObjectKey:[] or string[]\r\n if (\r\n Array.isArray(partialFormApi) &&\r\n partialFormApi[0] &&\r\n typeof partialFormApi[0] === 'string' &&\r\n Array.isArray(formikObject) &&\r\n (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n formikObject.push(val);\r\n });\r\n }\r\n if (partialFormApi && formikObject) {\r\n Object.keys(partialFormApi).forEach((key) => {\r\n if (key in formikObject) {\r\n if (typeof partialFormApi[key] === 'object' && !(partialFormApi[key] instanceof Date)) {\r\n if (partialFormAttachmentFields.includes(key) || arrayFieldsToBeCleared.includes(key)) {\r\n formikObject[key] = [];\r\n }\r\n resetPFormDataValues(partialFormApi[key], formikObject[key]);\r\n } else {\r\n formikObject[key] = partialFormApi[key];\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n const checkIfAnyChanges = (partialFormApi: any, formikObject: any): boolean => {\r\n if (!(formikObject && partialFormApi)) {\r\n return false;\r\n }\r\n let isChanged = false;\r\n Object.keys(formikObject).forEach((key) => {\r\n if (key in partialFormApi) {\r\n if (typeof partialFormApi[key] === 'object' && partialFormApi[key] && !(partialFormApi[key] instanceof Date)) {\r\n if (Array.isArray(partialFormApi[key])) {\r\n if (partialFormApi[key].length !== formikObject[key].length) {\r\n isChanged = true;\r\n }\r\n }\r\n checkIfAnyChanges(partialFormApi[key], formikObject[key]);\r\n } else if (key === 'DOB' && partialFormApi[key] && partialFormApi[key]?.getTime() !== formikObject[key]?.getTime?.()) {\r\n isChanged = true;\r\n } else if (partialFormApi[key] && partialFormApi[key] !== formikObject[key]) {\r\n isChanged = true;\r\n }\r\n }\r\n });\r\n return isChanged;\r\n };\r\n const checkExistingForm = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n formType: FormType.FAMILYVIOLENCESCHEME,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CheckingExistingForm`;\r\n\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n if (responseBody.PartialFormID) formikValuesRef.current.setFieldValue('PartialFormID', responseBody.PartialFormID);\r\n if (responseBody.DebtorID) formikValuesRef.current.setFieldValue('DebtorID', responseBody.DebtorID, formikContext);\r\n if (responseBody.CheckingExisting === 'no' && responseBody.CanSave) {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step4`);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n if (responseBody.PartialFormID) {\r\n getPartialForm(responseBody.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikValuesRef.current.values.FormData, formikValuesRef, 'FormData');\r\n setCurrentFormikValues(formData, formikValuesRef.current.values, formikValuesRef);\r\n } else if (resBody[key]) {\r\n formikContext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => console.log(e));\r\n } else {\r\n setLoading(false);\r\n }\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n window.scrollTo(0, 0);\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const step2NextPage = () => {\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const validateDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n // Backend api is checking date time for some reasons, time need to be 14:00:00\r\n const getOffenceDate = formikContext.values.OFFENCE_DATE && getDateForValidateDebtor(formikContext.values.OFFENCE_DATE.toLocaleDateString('en-AU'));\r\n const getHearingDate = formikContext.values.HEARING_DATE && getDateForValidateDebtor(formikContext.values.HEARING_DATE.toLocaleDateString('en-AU'));\r\n const getDOBDate = formikContext.values.DOB && getDateForValidateDebtor(formikContext.values.DOB.toLocaleDateString('en-AU'));\r\n // const dateObj = getTheDate.split('/');\r\n // const specificedDateString = `${dateObj[2]}-${dateObj[1]}-${dateObj[0]}`;\r\n const payload = {\r\n dateOfBirth: getDOBDate,\r\n hearingDate: getHearingDate,\r\n licenceNumber: formikContext.values.DRIVER_LICENCE,\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n offenceDate: getOffenceDate,\r\n registrationNumber: formikContext.values.VEHICLE_REGISTRATION,\r\n };\r\n const url = `${API_URL}sitecore/FVS/ValidateDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n setApiError({\r\n Error: '',\r\n });\r\n if (responseBody === '/step4') {\r\n step2NextPage();\r\n }\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n const step3NextPage = (formikContext: any) => {\r\n getBasicInfo(formikContext.values.OBLIGATION_NUMBER, FormType.FAMILYVIOLENCESCHEME)\r\n .then((responseBody) => {\r\n if (responseBody) {\r\n formikContext.setFieldValue('ObligationStatus', responseBody.ObligationStatus);\r\n formikContext.setFieldValue('TicketType', responseBody.TicketType);\r\n formikContext.setFieldValue('Status', responseBody.Status);\r\n formikContext.setFieldValue('DebtorType', responseBody.DebtorType);\r\n formikContext.setFieldValue('OffenceCode', responseBody.OffenceCode);\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n checkExistingForm(formikContext);\r\n };\r\n const updatePartialFormData = async (formikContext: any): Promise => {\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const partialformPayload: iPartialFormData = {\r\n ID: formikContext.values.PartialFormID,\r\n Obligations: formikContext.values.Obligations,\r\n Attachments: [],\r\n FormData: JSON.stringify(formikContext.values.FormData), // {a: '1'},formikContext.values.FormData\r\n DebtorID: formikContext.values.DebtorID,\r\n FormTypeID: 7,\r\n Email: formikContext.values.saveEmail,\r\n Mobile: formikContext.values.saveMobile,\r\n IsSubscribedEM: formikContext.values.IsSubscribedEM,\r\n IsSubscribedSMS: formikContext.values.IsSubscribedSMS,\r\n EMRemeinderSent: formikContext.values.EMRemeinderSent,\r\n SMSRemeinderSent: formikContext.values.SMSRemeinderSent,\r\n CreateDate: formikContext.values.CreateDate,\r\n ExpiryDate: formikContext.values.ExpiryDate,\r\n };\r\n try {\r\n const response = await savePartialForm(partialformPayload);\r\n return response;\r\n } catch (error) {\r\n console.log(error);\r\n return false;\r\n }\r\n };\r\n const step5NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n if (formikContext.values.ApplicationLodger === 'LodgedByVictim') {\r\n navigate(`${pathNameLessLastSegment}/step6`);\r\n window.scrollTo(0, 0);\r\n } else {\r\n navigate(`${pathNameLessLastSegment}/step14`);\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n const step6NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n const {\r\n noFixedAddress,\r\n noResidentialAddress,\r\n deliveryAddressType,\r\n postalAddress,\r\n noPostalAddress,\r\n isEmailRequired,\r\n email,\r\n sendEmailCopy,\r\n phoneApplicant,\r\n individualContactNumber,\r\n safestContactTime,\r\n phoneMessagePrompt,\r\n interpreterRequiredPrompt,\r\n alternativeLanguage,\r\n } = fvsInfoDisplayObject.pages.contactInformation.step6.fields;\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n /* Condition 1 */\r\n if (getIn(formikContext.values, noFixedAddress.formikName) || getIn(formikContext.values, noResidentialAddress.formikName)) {\r\n formikContext.setFieldValue(deliveryAddressType.formikName, '');\r\n formikContext.setFieldTouched(deliveryAddressType.formikName);\r\n }\r\n /* Condition 2 */\r\n if (\r\n !getIn(formikContext.values, noFixedAddress.formikName) &&\r\n !getIn(formikContext.values, noResidentialAddress.formikName) &&\r\n getIn(formikContext.values, deliveryAddressType.formikName) !== 'PostalAddress'\r\n ) {\r\n formikContext.setFieldValue(postalAddress.formikName, {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n });\r\n formikContext.setFieldTouched(postalAddress.formikName);\r\n }\r\n /* Condition 3 */\r\n if (!getIn(formikContext.values, noFixedAddress.formikName) && !getIn(formikContext.values, noResidentialAddress.formikName)) {\r\n formikContext.setFieldValue(noPostalAddress.formikName, false);\r\n formikContext.setFieldTouched(noPostalAddress.formikName);\r\n }\r\n /* Condition 4 */\r\n if (\r\n !getIn(formikContext.values, noFixedAddress.formikName) &&\r\n !getIn(formikContext.values, noResidentialAddress.formikName) &&\r\n getIn(formikContext.values, deliveryAddressType.formikName) === 'EmailAddress'\r\n ) {\r\n formikContext.setFieldValue(isEmailRequired.formikName, null);\r\n formikContext.setFieldTouched(isEmailRequired.formikName);\r\n }\r\n /* Condition 5 */\r\n if (getIn(formikContext.values, isEmailRequired.formikName) === 'false') {\r\n formikContext.setFieldValue(email.formikName, '');\r\n formikContext.setFieldValue(sendEmailCopy.formikName, null);\r\n formikContext.setFieldTouched(email.formikName);\r\n formikContext.setFieldTouched(sendEmailCopy.formikName);\r\n }\r\n /* Condition 6 */\r\n if (getIn(formikContext.values, phoneApplicant.formikName) === 'false') {\r\n formikContext.setFieldValue(individualContactNumber.formikName, {\r\n ContactNumber: '',\r\n NumberType: 'Mobile',\r\n SecondaryContactNumber: '',\r\n SecondaryNumberType: 'Mobile',\r\n });\r\n formikContext.setFieldValue(safestContactTime.formikName, '');\r\n formikContext.setFieldValue(phoneMessagePrompt.formikName, null);\r\n formikContext.setFieldValue(interpreterRequiredPrompt.formikName, null);\r\n formikContext.setFieldTouched(individualContactNumber.formikName);\r\n formikContext.setFieldTouched(safestContactTime.formikName);\r\n formikContext.setFieldTouched(phoneMessagePrompt.formikName);\r\n formikContext.setFieldTouched(interpreterRequiredPrompt.formikName);\r\n formikContext.setFieldValue(alternativeLanguage.formikName, '');\r\n formikContext.setFieldTouched(alternativeLanguage.formikName);\r\n }\r\n /* Condition 7 */\r\n if (getIn(formikContext.values, interpreterRequiredPrompt.formikName) === 'false') {\r\n formikContext.setFieldValue(alternativeLanguage.formikName, '');\r\n formikContext.setFieldTouched(alternativeLanguage.formikName);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step7NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step8NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step9NextPage = async (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n setLoading(true);\r\n const payload = fetchRegObligationNums(formikContext.values.SelectedObligationsStep9, formikContext.values.AuthorisedObligation.Number);\r\n await formikContext.setFieldValue('SelectedObligations', payload);\r\n try {\r\n if (payload !== []) {\r\n const response = await getEligibleNominationList(payload, 'FVS');\r\n setLoading(false);\r\n if (response) {\r\n await formikContext.setFieldValue('AnyEligibleNomiation', response.anyEligibleNomiation);\r\n if (response.anyEligibleNomiation || (formikContext.values.AgencyNames.length >= 1 && formikContext.values.AgencyNames[0].value !== '')) {\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n }\r\n }\r\n formikContext.setFieldValue('WhatWouldYouLikeToHappen', null);\r\n formikContext.setFieldValue('GivenNamesOptional', '');\r\n formikContext.setFieldValue('FamilyNameOptional', '');\r\n formikContext.setFieldValue('DOBOptional', null);\r\n formikContext.setFieldValue('LicenceStateOptional', '');\r\n formikContext.setFieldValue('StatecountryOfIssueOptional', 'Australia');\r\n formikContext.setFieldValue('HowDealtWithFines', '');\r\n formikContext.setFieldValue('RemoveFines', null);\r\n formikContext.setFieldValue('ReincludeFines', null);\r\n navigate(`${pathNameLessLastSegment}/step12`);\r\n window.scrollTo(0, 0);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const step10NextPage = async (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n const payload =\r\n fetchRegObligationNums(formikContext.values.SelectedObligationsStep9, formikContext.values.AuthorisedObligation.Number).length !== 0\r\n ? fetchRegObligationNums(formikContext.values.SelectedObligationsStep9, formikContext.values.AuthorisedObligation.Number)\r\n : [];\r\n setLoading(true);\r\n try {\r\n if (payload !== []) {\r\n const response = await getPaymentArrangement(payload, 'FVS');\r\n setLoading(false);\r\n if (response) {\r\n formikContext.setFieldValue('AnyPaymentArrangement', response.anyPaymentArrangement);\r\n if (response.anyPaymentArrangement) {\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n }\r\n }\r\n navigate(`${pathNameLessLastSegment}/step12`);\r\n window.scrollTo(0, 0);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const step11NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step12NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step13NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigate(`${pathNameLessLastSegment}/step23`);\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const step14NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step15NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n const {\r\n email,\r\n isEmailRequired,\r\n deliveryAddressType,\r\n postalAddress,\r\n phoneApplicant,\r\n individualContactNumber,\r\n safestContactTime,\r\n phoneMessagePrompt,\r\n interpreterRequiredPrompt,\r\n alternativeLanguage,\r\n } = fvsInfoDisplayObject.pages.contactInformation.step15.fields;\r\n // Change to Review Step later\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n /* Condition 1 */\r\n if (getIn(formikContext.values, deliveryAddressType.formikName) !== 'PostalAddress') {\r\n formikContext.setFieldValue(postalAddress.formikName, {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n });\r\n formikContext.setFieldTouched(postalAddress.formikName);\r\n }\r\n /* Condition 2 */\r\n if (getIn(formikContext.values, isEmailRequired.formikName) === 'false') {\r\n formikContext.setFieldValue(email.formikName, '');\r\n formikContext.setFieldTouched(email.formikName);\r\n }\r\n /* Condition 3 */\r\n if (getIn(formikContext.values, phoneApplicant.formikName) === 'false') {\r\n formikContext.setFieldValue(individualContactNumber.formikName, {\r\n ContactNumber: '',\r\n NumberType: 'Mobile',\r\n SecondaryContactNumber: '',\r\n SecondaryNumberType: 'Mobile',\r\n });\r\n formikContext.setFieldValue(safestContactTime.formikName, '');\r\n formikContext.setFieldValue(phoneMessagePrompt.formikName, null);\r\n formikContext.setFieldValue(interpreterRequiredPrompt.formikName, null);\r\n formikContext.setFieldTouched(individualContactNumber.formikName);\r\n formikContext.setFieldTouched(safestContactTime.formikName);\r\n formikContext.setFieldTouched(phoneMessagePrompt.formikName);\r\n formikContext.setFieldTouched(interpreterRequiredPrompt.formikName);\r\n formikContext.setFieldValue(alternativeLanguage.formikName, '');\r\n formikContext.setFieldTouched(alternativeLanguage.formikName);\r\n }\r\n /* Condition 4 */\r\n if (getIn(formikContext.values, interpreterRequiredPrompt.formikName) === 'false') {\r\n formikContext.setFieldValue(alternativeLanguage.formikName, '');\r\n formikContext.setFieldTouched(alternativeLanguage.formikName);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step16NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step17NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step18NextPage = async (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n if (getIn(formikContext.values, 'RegisteredFinesToInclude') !== 'true') {\r\n formikContext.setFieldValue('AdditionalFinesType', '');\r\n formikContext.setFieldTouched('AdditionalFinesType');\r\n }\r\n const payload = [formikContext.values.OBLIGATION_NUMBER];\r\n setLoading(true);\r\n try {\r\n getObligationOptions(formikContext.values.OBLIGATION_NUMBER, FormType.FAMILYVIOLENCESCHEME)\r\n .then((responseBody) => {\r\n if (responseBody && responseBody?.Authorised) {\r\n formikContext.setFieldValue('InfringementNoticeNumber', responseBody?.Authorised.InfringementNumber);\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n if (Array.isArray(payload) && payload.length !== 0) {\r\n const response = await getEligibleNominationList(payload, 'FVS');\r\n setLoading(false);\r\n if (response) {\r\n await formikContext.setFieldValue('AnyEligibleNomiation', response.anyEligibleNomiation);\r\n if (\r\n response.anyEligibleNomiation ||\r\n (formikContext.values.obligations.length >= 1 && formikContext.values.obligations[0].value !== '') ||\r\n (formikContext.values.AgencyNames.length >= 1 && formikContext.values.AgencyNames[0].value !== '')\r\n ) {\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n }\r\n }\r\n /* Condition for Steps 19 */\r\n formikContext.setFieldValue('WhatWouldYouLikeToHappen', null);\r\n formikContext.setFieldValue('GivenNamesOptional', '');\r\n formikContext.setFieldValue('FamilyNameOptional', '');\r\n formikContext.setFieldValue('DOBOptional', null);\r\n formikContext.setFieldValue('LicenceStateOptional', '');\r\n formikContext.setFieldValue('StatecountryOfIssueOptional', 'Australia');\r\n formikContext.setFieldValue('HowDealtWithFines', '');\r\n navigate(`${pathNameLessLastSegment}/step20`);\r\n window.scrollTo(0, 0);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const step19NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step20NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (checkIfAnyChanges(formikContext.values, formikContext.values.FormData) && formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step21NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step22NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const createPartialForm = async (formikContext: any): Promise => {\r\n if (formikContext.values.SaveYesNo === 'false' || getIn(formikContext.values, 'PartialFormID')) {\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n setLoading(true);\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formikContext.values.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: formikContext.values.saveEmail,\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ a: '1', ...formikContext.values.FormData }),\r\n FormTypeID: 7,\r\n ID: 0,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n Mobile: formikContext.values.saveMobile,\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n if (responseBody.ID) {\r\n formikValuesRef.current.setFieldValue('PartialFormID', responseBody.ID);\r\n formikValuesRef.current.setFieldValue('Obligations', responseBody.Obligations);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const createPartialFormForSumbit = async (formValues: iFVSFormValues): Promise => {\r\n formikValuesRef.current.setFieldValue('SaveYesNo', 'true');\r\n resetPFormDataValues(formikValuesRef.current.values, formValues.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formValues.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: '',\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ ...getIn(formValues, 'FormData') }),\r\n FormTypeID: 7,\r\n ID: 0,\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n Mobile: '',\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formValues.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (responseBody.status === 200) {\r\n return 'true';\r\n }\r\n return responseBody;\r\n } catch (error) {\r\n return `${error}`;\r\n }\r\n };\r\n const submitForm = async (formValues: iFVSFormValues): Promise => {\r\n /*\r\n const receiptPayload = getReceiptPayload(formValues);\r\n const urlReceipt = `${API_URL}sitecore/Receipt/CreateReceiptNumber`;\r\n let receiptResponse: any;\r\n try {\r\n receiptResponse = await fetch(urlReceipt, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: receiptPayload,\r\n });\r\n } catch (error) {\r\n return false;\r\n }\r\n\r\n if (receiptResponse.status !== 200) {\r\n return false;\r\n }\r\n\r\n const submissionNumber = await receiptResponse.text();\r\n */\r\n const submissionNumber = '';\r\n const formSubmissionValues = getSubmissionPayload(formValues, submissionNumber);\r\n console.log(formSubmissionValues);\r\n const submitPayload = {\r\n data: JSON.stringify(formSubmissionValues),\r\n obligationNo: formValues.OBLIGATION_NUMBER\r\n };\r\n\r\n const urlSubmission = `${API_URL}sitecore/FVS/SubmitFvsForm`;\r\n let submitResponse = false;\r\n setLoading(true);\r\n submitResponse = await fetch(urlSubmission, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(submitPayload),\r\n })\r\n .then((formSubResponse) => {\r\n if (formSubResponse.status === 200) {\r\n if (formValues.SaveYesNo === 'true') {\r\n // having partial form, close it\r\n submitSavedPartialForm(formValues.PartialFormID);\r\n }\r\n formikValuesRef.current.setFieldValue('submitted', true);\r\n ReactGA.event({\r\n category: 'Family Violence Scheme Form',\r\n action: 'Submit',\r\n label: 'Submit Family Violence Scheme Form',\r\n });\r\n // navigate to submission success\r\n return formSubResponse.json();\r\n }\r\n formikValuesRef.current.setFieldValue('submissionError', formSubResponse.statusText);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }).then((response) => {\r\n if (response) {\r\n formikValuesRef.current.setFieldValue('submissionNo', response.receiptNo); // get submission number from API response\r\n return true;\r\n }\r\n return false;\r\n }).catch((error) => {\r\n formikValuesRef.current.setFieldValue('submissionError', error);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n if (!submitResponse) return false;\r\n return true;\r\n };\r\n\r\n const formNavActions: iFormNavActions = {\r\n step1: {\r\n next: postObligation,\r\n },\r\n step2: {\r\n next: validateDebtor,\r\n },\r\n step3: {\r\n next: step3NextPage,\r\n },\r\n step4: {\r\n next: createPartialForm,\r\n },\r\n step5: {\r\n next: step5NextPage,\r\n },\r\n step6: {\r\n next: step6NextPage,\r\n },\r\n step7: {\r\n next: step7NextPage,\r\n },\r\n step8: {\r\n next: step8NextPage,\r\n },\r\n step9: {\r\n next: step9NextPage,\r\n },\r\n step10: {\r\n next: step10NextPage,\r\n },\r\n step11: {\r\n next: step11NextPage,\r\n },\r\n step12: {\r\n next: step12NextPage,\r\n },\r\n step13: {\r\n next: step13NextPage,\r\n },\r\n step14: {\r\n next: step14NextPage,\r\n },\r\n step15: {\r\n next: step15NextPage,\r\n },\r\n step16: {\r\n next: step16NextPage,\r\n },\r\n step17: {\r\n next: step17NextPage,\r\n },\r\n step18: {\r\n next: step18NextPage,\r\n },\r\n step19: {\r\n next: step19NextPage,\r\n },\r\n step20: {\r\n next: step20NextPage,\r\n },\r\n step21: {\r\n next: step21NextPage,\r\n },\r\n step22: {\r\n next: step22NextPage,\r\n },\r\n };\r\n\r\n return (\r\n {\r\n submitForm(values);\r\n }}>\r\n {({ values, errors, touched }) => (\r\n \r\n \r\n {loading && }\r\n {!loading && (\r\n
\r\n {!location.pathname.includes('error') && }\r\n {activeError && } theme=\"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\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 \r\n {!(location.pathname === `${PATH_FVS}/step25` || location.pathname === `${PATH_FVS}/error`) && (\r\n submitForm(values)}\r\n tooltips={tooltips}\r\n displayErrorsCount={displayErrorsCount}\r\n pageValidationKeys={FVSMetaData.pagesSegments[currentStep].validationKeys(values)}\r\n formType={FormType.FAMILYVIOLENCESCHEME}\r\n firstPageNo={0}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default FamilyViolenceScheme;\r\n","var _style, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFinesviclogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 814.1 260.4\",\n style: {\n enableBackground: \"new 0 0 814.1 260.4\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:#FFFFFF;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M185.7,65.7v13.8h30.9v14.1h-30.9v23.5h-16.2V51.4h51v14.2H185.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M244.6,117.2h-16.2V51.4h16.2V117.2z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M319,51.4v65.7h-13.4l-33.4-38.1v38.1H256V51.4h13.5l33.4,39.2V51.4H319z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M381.9,103.2v13.9h-51.4V51.4h51.1v13.9h-34.9v12.4h32v13.1h-32v12.4H381.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M390.9,102.5l16.2-5.8c2,5.9,6.5,8.4,12.6,8.4c6.1,0,9.7-2.7,9.7-6.8c0-2.9-1.4-4.8-6.1-5.8l-13.2-2.9 c-9.5-2.1-17.7-7.1-17.7-19c0-12.8,10.7-20.7,26.2-20.7c12.4,0,21.9,5.2,25.8,14.4l-15.4,5C427,65,422.7,63,418.5,63 c-5.4,0-8.9,2.9-8.9,6.7c0,2.6,1.1,4.6,5.2,5.5l13.1,3c11.4,2.6,18.1,8.7,18.1,19.1c0,14-12.5,21.3-27.2,21.3 C405.6,118.6,394.3,112.9,390.9,102.5z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M611.2,169.4h0.9l5.3,14.3h-11.6L611.2,169.4z M607.8,139.6L577,206h19.7l3.4-7.6h23.1l3.4,7.6h19.7 l-30.9-66.4H607.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M440.2,138.1c-19.8,0-37,15-37,34.7c0,19.7,17.1,34.7,37,34.7c19.8,0,37-15,37-34.7 C477.2,153,460.1,138.1,440.2,138.1 M440.2,190.3c-9.7,0-17.6-7.9-17.6-17.5c0-9.6,7.9-17.5,17.6-17.5c9.7,0,17.6,7.9,17.6,17.5 C457.8,182.4,449.9,190.3,440.2,190.3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M541.1,163.7c0-13.9-11.1-24.2-25.1-24.2h-30.3V206h18.1v-18.1h8.5l8.3,18.1h20.3l-11.3-22.3 C536,179.2,541.1,172.7,541.1,163.7 M515.3,171.6h-11.6v-15.8h11.6c4.1,0,6.8,4.6,6.8,7.9C522.1,167,519.4,171.6,515.3,171.6\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M550,206h18.1v-66.4H550V206z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M248.8,206h18.1v-66.4h-18.1V206z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"169.5,139.6 189.6,139.6 206.5,175.8 223.4,139.6 243.6,139.6 213.2,206 201,206 \"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"st0\",\n points: \"345.7,140.4 345.7,156.2 363.8,156.2 363.9,206.3 382,206.3 382,156.2 400.3,156.2 400.3,139.9 345.7,139.9 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M341.9,189.1c-5.2,11.7-16.7,18.4-30.9,18.4c-19.7,0-35.3-15.2-35.3-34.7c0-19.4,15.6-34.7,35.3-34.7 c12.5,0,23.7,5.8,29.5,15.6l-14.7,7.2c-3.3-5.3-8.5-7.8-14.9-7.8c-10.5,0-18.9,8.4-18.9,19.7s8.4,19.8,18.9,19.8 c6.8,0,12.5-3.1,15.6-9.5L341.9,189.1z\"\n }))), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"23.7,256.3 6.2,256.3 126.9,0.9 144.5,0.9 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"688.9,256.3 671.4,256.3 792.1,0.9 809.6,0.9 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"12.1,202.8 0.9,202.8 78,39.5 89.3,39.5 \"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFinesviclogo);\nexport default __webpack_public_path__ + \"static/media/finesviclogo.c90beec6.svg\";\nexport { ForwardRef as ReactComponent };","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement } from 'react';\r\n\r\nimport styles from './FormContainer.module.scss';\r\nimport vicLogo from '../images/fines-logo.jpg';\r\nimport { ReactComponent as Logo } from '../images/finesviclogo.svg';\r\nimport { ReactComponent as CloseIcon } from '../images/close.svg';\r\n\r\ninterface iLink {\r\n text: string;\r\n url: string;\r\n}\r\ninterface iFooterLinks {\r\n title: string;\r\n links: iLink[];\r\n}\r\n\r\ninterface iProps {\r\n title: string;\r\n children: any;\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction FormContainer({ title, children }: iProps): ReactElement {\r\n const paths = window.location.pathname.split('/');\r\n const isErrorPage = paths[paths.length - 1].includes('error');\r\n const footerLinks: iFooterLinks[] = [\r\n {\r\n title: 'About Us',\r\n links: [\r\n { text: 'About Fines Victoria', url: 'www.google.com' },\r\n { text: 'Roles and responsibilities', url: 'www.google.com' },\r\n { text: 'News', url: 'www.google.com' },\r\n ],\r\n },\r\n {\r\n title: 'About our site',\r\n links: [\r\n { text: 'Terms of use', url: 'www.google.com' },\r\n { text: 'Privacy', url: 'www.google.com' },\r\n { text: 'Copyright', url: 'www.google.com' },\r\n { text: 'Accessibility', url: 'www.google.com' },\r\n { text: 'Web browser support', url: 'www.google.com' },\r\n { text: 'Sitemap', url: 'www.google.com' },\r\n ],\r\n },\r\n {\r\n title: 'Resources',\r\n links: [\r\n { text: 'Legal and financal assistance', url: 'www.google.com' },\r\n { text: 'Languages', url: 'www.google.com' },\r\n ],\r\n },\r\n {\r\n title: 'Connect with us',\r\n links: [\r\n { text: 'Contact us', url: 'www.google.com' },\r\n { text: 'Feedback and complaints', url: 'www.google.com' },\r\n ],\r\n },\r\n ];\r\n\r\n if (process.env.NODE_ENV !== 'development') {\r\n return
{children}
;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
{title}
\r\n {/* Ensure to either surround with button or add aria labels for non standard button */}\r\n
\r\n
\r\n
Quick exit
\r\n
Quick exit
\r\n \r\n Quick exit\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 To leave this site quickly and be taken to Google, click this button or the Escape button on your keyboard. You should also clear your browser history.\r\n\r\n \r\n
\r\n
\r\n
\r\n
{children}
\r\n
\r\n
\r\n {footerLinks.map((linkgroup: iFooterLinks) => (\r\n
\r\n
\r\n {linkgroup.title}\r\n
\r\n {linkgroup.links.map((link: iLink) => (\r\n \r\n {link.text}\r\n \r\n ))}\r\n
\r\n ))}\r\n
\r\n \"Victoria\r\n
\r\n
\r\n
\r\n
© State Government of Victoria
\r\n
Last Updated: 8/2/2016
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default FormContainer;\r\n","import { ReactElement } from 'react';\r\nimport { Field } from 'formik';\r\nimport { TextInput, DropdownMenu, TileRadio, AddressField, DateInput, ContactInput } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\n\r\nfunction DemoPage(): ReactElement {\r\n const COUNTRY_DROPDOWN = [\r\n {\r\n value: 'Australia',\r\n display: 'Australia',\r\n },\r\n {\r\n value: 'New Zealand',\r\n display: 'New Zealand',\r\n },\r\n ];\r\n\r\n const OptionOne = (): ReactElement => (\r\n <>\r\n
Option 1
\r\n \r\n );\r\n\r\n const OptionTwo = (): ReactElement => (\r\n <>\r\n
Option 2
\r\n \r\n );\r\n\r\n const OptionThree = (): ReactElement => (\r\n <>\r\n
Option A
\r\n \r\n );\r\n\r\n const OptionFour = (): ReactElement => (\r\n <>\r\n
Option B
\r\n \r\n );\r\n\r\n const TILE_DATA_A: tile[] = [\r\n {\r\n body: ,\r\n value: 'option1',\r\n },\r\n {\r\n body: ,\r\n value: 'option2',\r\n },\r\n ];\r\n\r\n const TILE_DATA_B: tile[] = [\r\n {\r\n body: ,\r\n value: 'option3',\r\n },\r\n {\r\n body: ,\r\n value: 'option4',\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n {/* By default take up full width */}\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 \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\nexport default DemoPage;\r\n","import * as Yup from 'yup';\r\nimport { ReactElement, useState } from 'react';\r\nimport { Routes, Route } from 'react-router-dom';\r\nimport { Formik, Form } from 'formik';\r\nimport { defaultForm } from '@services/ThirdPartyService';\r\nimport { FormContainer } from '@pages';\r\nimport { FormNavFooter, FormLoading } from '@components';\r\nimport { iToolTips } from '@interfaces/interfaces';\r\nimport { INVALID_DAY, INVALID_MONTH, INVALID_YEAR, INVALID_NUMERIC_FORMAT } from '@services/ErrorMessages';\r\nimport { DemoPage } from '.';\r\n\r\nfunction DemoForm(): ReactElement {\r\n // const { path } = useRouteMatch();\r\n // const history = useNavigate();\r\n const [loading] = useState(false);\r\n // const [countryList, setCountryList] = useState([]);\r\n const [tooltips] = useState({} as iToolTips);\r\n\r\n // useEffect(() => {\r\n // const fetchData = async (): Promise => {\r\n // try {\r\n // const [countryResults, tooltipResults] = await Promise.all([getCountryList(), getTooltips()]);\r\n // setCountryList(countryResults);\r\n // setTooltips(tooltipResults);\r\n // setLoading(false);\r\n // } catch (error) {\r\n // history.push('/error');\r\n // }\r\n // };\r\n // fetchData();\r\n // }, []);\r\n\r\n const displayErrorsCount = (c: number): void => {\r\n console.log(c);\r\n };\r\n\r\n const submitForm = async (_values: any): Promise => true;\r\n\r\n const DemoSchema = Yup.object().shape({\r\n validation: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n testAddress: Yup.object().shape({\r\n LineOne: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string(),\r\n Suburb: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n testDate: Yup.object().shape({\r\n day: Yup.string()\r\n .min(1)\r\n .max(2)\r\n .matches(/^[1-9]$|^[1-3][0-9]$/)\r\n .required(INVALID_DAY),\r\n month: Yup.string()\r\n .min(1)\r\n .max(2)\r\n .matches(/^[1-9]$|^1[0-2]$/)\r\n .required(INVALID_MONTH),\r\n year: Yup.string().length(4, INVALID_YEAR).required(INVALID_YEAR),\r\n }),\r\n });\r\n\r\n return (\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n {}}>\r\n {({ values }) => (\r\n \r\n {loading && }\r\n {!loading && (\r\n
\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n submitForm(values)} tooltips={tooltips} displayErrorsCount={displayErrorsCount} firstPageNo={1} />\r\n \r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default DemoForm;\r\n","/* eslint-disable no-nested-ternary */\r\nimport * as Yup from 'yup';\r\nimport { iFormMetaData, iAttachments, iFVSCheckboxAll, iAddress, iContactMin, iSummary, iObligation } from '@interfaces/interfaces';\r\nimport { ProgressStep, FormType } from '@constants';\r\nimport { ADDRESS_FIELD_CHARS_REGEX, COMPANY_NAME_REGEX, CONTACT_NUMBER_REGEX, EMAIL_SPECIAL_CHARS_REGEX, FREE_TEXT_FIELD_REGEX, NAMES_FIELDS_REGEX, OBLIGATION_REGEX, POSITION_IN_COMPANY_REGEX, POST_CODE_REGEX, VEHICLE_REGISTRATION_REGEX } from '@services/ValidationRules';\r\n\r\nimport { FormikValues } from 'formik';\r\nimport { EMPTY_DATE, FILE_UPLOAD_FAIL, INVALID_ADDRESS_FIELD_ERROR, INVALID_ADDRESS_SEARCH_FORMAT, INVALID_COMPANY_NAME, INVALID_EMAIL, INVALID_FILE_SIZE_CUSTOM, INVALID_FREE_TEXT_FIELD_FORMAT, INVALID_FUTURE_DATE, INVALID_INPUT_LONGER_THAN_100_CHARS, INVALID_INPUT_LONGER_THAN_10_CHARS, INVALID_INPUT_LONGER_THAN_200_CHARS, INVALID_INPUT_LONGER_THAN_25_CHARS, INVALID_INPUT_LONGER_THAN_50_CHARS, INVALID_INPUT_LONGER_THAN_75_CHARS, INVALID_INPUT_LONGER_THAN_80_CHARS, INVALID_LICENCE_FORMAT, INVALID_MOBILE_NUMBER_FORMAT, INVALID_NAME_FORMAT_NEW, INVALID_NUMERIC_FORMAT, INVALID_OBLIGATION_NUMBER, INVALID_OFFENCE_FIND_OUT_DATE, INVALID_PHONE_NUMBER, INVALID_PHONE_NUMBER_LENGTH, INVALID_POSITION_IN_COMPANY_FIELD, INVALID_POST_CODE, INVALID_VEHICLE_REGISTRATION_NUMBER, INVALID_VEHICLE_REGISTRATION_NUMBER_LENGTH, INVALID_YESNO_FORMAT, MISSING_DECLARATION_AGREEMENT } from './ErrorMessages';\r\nimport keys from './PageValidationKeys';\r\n\r\nconst { INFRINGEMENTEXTENSION } = FormType;\r\n\r\nconst today = new Date();\r\n\r\nexport interface iPartialFormData {\r\n a: string;\r\n submitted: boolean;\r\n // Step1 Field\r\n OBLIGATION_NUMBER: string;\r\n // Step2 Fields\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n // Step 3\r\n WasHandedInPerson: string | null;\r\n OFFENCE_FIND_OUT_DATE: Date | null;\r\n isDebtorTypeIndividual: boolean | null;\r\n isDebtorTypeCompany: boolean | null;\r\n // Step 4 fields\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n // Step 5\r\n SelectedObligationsStep5: iFVSCheckboxAll[],\r\n InfringementNoticeNumber: string;\r\n SelectedObNums: string;\r\n AuthorisedObligation: iObligation;\r\n IneligibleObligations: iObligation[];\r\n EligibleObligations: iObligation[];\r\n // Step 6\r\n SupportingDocuments: iAttachments[];\r\n DetailsForCircumstances: string;\r\n SupportingDocNameField: string;\r\n SupportingDocFilesDescription: string;\r\n SupportingDocFileUploadErrorHandle: boolean;\r\n SupportingDocUploadFileSectionError: string;\r\n SupportingDocFilesProvider: string;\r\n SupportingDocFieldErrorHandle: boolean;\r\n\r\n // Step 7 Individual\r\n IndividualFamilyName: string;\r\n IndividualGivenName: string;\r\n // Step 7 Individual License\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n StatecountryOfIssue: string;\r\n // Step 7 Residential Address\r\n IndividualResidentialAddress:iAddress;\r\n IndividualHasDifferentPostalAddress:string;\r\n IndividualPostalAddress:iAddress;\r\n // Step 7 Individual Contact\r\n IndividualContactNumber:iContactMin;\r\n IndividualHasNoEmail:string;\r\n IndividualEmail:string;\r\n // Step 7 Consent Questions\r\n IndividualEmailTo:string;\r\n IndividualReceiveDocs:string;\r\n\r\n // Step 7 Company\r\n CompanyGivenName: string;\r\n CompanyFamilyName: string;\r\n PositionInCompany: string;\r\n CompanyContactNumber: iContactMin;\r\n CompanyHasNoEmail: string;\r\n CompanyEmail: string;\r\n CompanyReceiveDocs: string;\r\n CompanyEmailTo: string;\r\n CompanyName: string;\r\n AbnOrAcnType: string;\r\n AbnNo: string;\r\n AcnNo: string;\r\n CompanyStreetAddress: iAddress;\r\n CompanyHasDifferentPostalAddress: string;\r\n CompanyPostalAddress: iAddress;\r\n\r\n // Step 9\r\n declaration: boolean;\r\n}\r\ninterface iPartialFormObligations {\r\n ID: number;\r\n ObligationNO: string;\r\n IsPrimary: boolean;\r\n}\r\nexport interface iCommonInfringementExtensionValues {\r\n [key: string]: string | Date | boolean | null | iFVSCheckboxAll[] | iAttachments[] | iPartialFormData | iPartialFormObligations[] | number | iAddress | iContactMin | iObligation | iObligation[];\r\n OBLIGATION_NUMBER: string;\r\n isOfficerIssued: boolean | null;\r\n // Step 2\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n // Step 3\r\n WasHandedInPerson: string;\r\n OFFENCE_FIND_OUT_DATE: Date | null;\r\n isDebtorTypeIndividual: boolean | null;\r\n isDebtorTypeCompany: boolean | null;\r\n // Step 4 fields\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n IsSubscribedEM: boolean;\r\n IsSubscribedSMS: boolean;\r\n EMRemeinderSent: boolean;\r\n SMSRemeinderSent: boolean;\r\n // Partial Forms\r\n ID: string;\r\n PartialFormID: string;\r\n FormData: iPartialFormData;\r\n Obligations: iPartialFormObligations[];\r\n}\r\n\r\nexport interface iInfringementExtensionFormValues extends iCommonInfringementExtensionValues {\r\n InfringementNumber: string;\r\n InfringementNoticeNumber: string;\r\n DebtorId: number;\r\n\r\n // Step 5\r\n SelectedObligationsStep5: iFVSCheckboxAll[],\r\n SelectedObNums: string;\r\n AuthorisedObligation: iObligation;\r\n IneligibleObligations: iObligation[];\r\n EligibleObligations: iObligation[];\r\n // Step 6\r\n SupportingDocuments: iAttachments[];\r\n DetailsForCircumstances: string;\r\n SupportingDocNameField: string;\r\n SupportingDocFilesDescription: string;\r\n SupportingDocFileUploadErrorHandle: boolean;\r\n SupportingDocUploadFileSectionError: string;\r\n SupportingDocFilesProvider: string;\r\n SupportingDocFieldErrorHandle: boolean;\r\n\r\n // Step 7 Individual\r\n IndividualFamilyName: string;\r\n IndividualGivenName: string;\r\n // Step 7 Individual License\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n StatecountryOfIssue: string;\r\n // Step 7 Residential Address\r\n IndividualResidentialAddress:iAddress;\r\n IndividualHasDifferentPostalAddress:string;\r\n IndividualPostalAddress:iAddress;\r\n // Step 7 Individual Contact\r\n IndividualContactNumber:iContactMin;\r\n IndividualHasNoEmail:string;\r\n IndividualEmail:string;\r\n // Step 7 Consent Questions\r\n IndividualEmailTo:string;\r\n IndividualReceiveDocs:string;\r\n\r\n // Step 7 Company\r\n CompanyGivenName: string;\r\n CompanyFamilyName: string;\r\n PositionInCompany: string;\r\n CompanyContactNumber: iContactMin;\r\n CompanyHasNoEmail: string;\r\n CompanyEmail: string;\r\n CompanyReceiveDocs: string;\r\n CompanyEmailTo: string;\r\n CompanyName: string;\r\n AbnOrAcnType: string;\r\n AbnNo: string;\r\n AcnNo: string;\r\n CompanyStreetAddress: iAddress;\r\n CompanyHasDifferentPostalAddress: string;\r\n CompanyPostalAddress: iAddress;\r\n\r\n // Step 9\r\n declaration: boolean;\r\n\r\n // Step 10\r\n submissionNo: string;\r\n FormExperience: string;\r\n // Submission Error\r\n // submission error message\r\n submissionError: string;\r\n}\r\n\r\nexport const defaultForm = (): iInfringementExtensionFormValues => {\r\n const defaultValues: iInfringementExtensionFormValues = {\r\n OBLIGATION_NUMBER: '',\r\n isOfficerIssued: null,\r\n InfringementNumber: '',\r\n // Step 2\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n DRIVER_LICENCE: '',\r\n VEHICLE_REGISTRATION: '',\r\n DOB: null,\r\n // Step 3\r\n WasHandedInPerson: '',\r\n OFFENCE_FIND_OUT_DATE: null,\r\n DebtorId: 0,\r\n isDebtorTypeIndividual: null,\r\n isDebtorTypeCompany: null,\r\n // Step 4\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n EMRemeinderSent: false,\r\n SMSRemeinderSent: false,\r\n // Step 5\r\n AuthorisedObligation: {} as iObligation,\r\n InfringementNoticeNumber: '',\r\n SelectedObligationsStep5: [],\r\n SelectedObNums: '',\r\n EligibleObligations: [],\r\n IneligibleObligations: [],\r\n // Step 6\r\n SupportingDocuments: [],\r\n DetailsForCircumstances: '',\r\n SupportingDocNameField: '',\r\n SupportingFilesDescription: '',\r\n SupportingDocFileUploadErrorHandle: false,\r\n SupportingDocUploadFileSectionError: '',\r\n SupportingDocFilesProvider: '',\r\n SupportingDocFilesDescription: '',\r\n SupportingDocFieldErrorHandle: false,\r\n\r\n // Step 7 Individual\r\n IndividualFamilyName: '',\r\n IndividualGivenName: '',\r\n IndividualResidentialAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n IndividualHasDifferentPostalAddress: '',\r\n IndividualPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n IndividualContactNumber: {\r\n ContactNumber: '',\r\n },\r\n\r\n IndividualHasNoEmail: '',\r\n IndividualEmail: '',\r\n IndividualEmailTo: '',\r\n IndividualReceiveDocs: '',\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n StatecountryOfIssue: 'Australia',\r\n NoFixedAddress: '',\r\n\r\n // Step 7 Company\r\n CompanyGivenName: '',\r\n CompanyFamilyName: '',\r\n PositionInCompany: '',\r\n CompanyContactNumber: {\r\n ContactNumber: '',\r\n },\r\n CompanyHasNoEmail: '',\r\n CompanyEmail: '',\r\n CompanyReceiveDocs: '',\r\n CompanyEmailTo: '',\r\n CompanyName: '',\r\n AbnOrAcnType: '',\r\n AbnNo: '',\r\n AcnNo: '',\r\n CompanyStreetAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n CompanyHasDifferentPostalAddress: '',\r\n CompanyPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n\r\n // Step 9\r\n declaration: false,\r\n\r\n // Step 10\r\n submissionNo: '',\r\n FormExperience: '',\r\n // Submission Error\r\n submissionError: '',\r\n\r\n // Partial Forms\r\n ID: '',\r\n PartialFormID: '',\r\n Obligations: [],\r\n FormData: {\r\n a: '',\r\n // is submitted\r\n submitted: false,\r\n OBLIGATION_NUMBER: '',\r\n // Step 2\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n VEHICLE_REGISTRATION: '',\r\n DRIVER_LICENCE: '',\r\n DOB: null,\r\n\r\n // Step 3\r\n OFFENCE_FIND_OUT_DATE: null,\r\n WasHandedInPerson: '',\r\n isDebtorTypeIndividual: null,\r\n isDebtorTypeCompany: null,\r\n\r\n // Step 4\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n\r\n // Step 5\r\n AuthorisedObligation: {} as iObligation,\r\n InfringementNoticeNumber: '',\r\n SelectedObligationsStep5: [],\r\n SelectedObNums: '',\r\n EligibleObligations: [],\r\n IneligibleObligations: [],\r\n // Step 6\r\n SupportingDocuments: [],\r\n DetailsForCircumstances: '',\r\n SupportingDocNameField: '',\r\n SupportingDocFileUploadErrorHandle: false,\r\n SupportingDocUploadFileSectionError: '',\r\n SupportingDocFilesProvider: '',\r\n SupportingDocFilesDescription: '',\r\n SupportingDocFieldErrorHandle: false,\r\n\r\n // Step 7 Individual\r\n IndividualFamilyName: '',\r\n IndividualGivenName: '',\r\n IndividualResidentialAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n IndividualHasDifferentPostalAddress: '',\r\n IndividualPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n IndividualContactNumber: {\r\n ContactNumber: '',\r\n },\r\n\r\n IndividualHasNoEmail: '',\r\n IndividualEmail: '',\r\n IndividualEmailTo: '',\r\n IndividualReceiveDocs: '',\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n StatecountryOfIssue: 'Australia',\r\n\r\n // Step 7 Company\r\n CompanyGivenName: '',\r\n CompanyFamilyName: '',\r\n PositionInCompany: '',\r\n CompanyContactNumber: {\r\n ContactNumber: '',\r\n },\r\n CompanyHasNoEmail: '',\r\n CompanyEmail: '',\r\n CompanyReceiveDocs: '',\r\n CompanyEmailTo: '',\r\n CompanyName: '',\r\n AbnOrAcnType: '',\r\n AbnNo: '',\r\n AcnNo: '',\r\n CompanyStreetAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n CompanyHasDifferentPostalAddress: '',\r\n CompanyPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n\r\n // Step 9\r\n declaration: false,\r\n }\r\n };\r\n return defaultValues;\r\n};\r\n\r\nexport const InfringementExtensionSchema = Yup.object().shape({\r\n saveEmail: Yup.string().matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL).email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n saveMobile: Yup.string()\r\n .min(10, INVALID_MOBILE_NUMBER_FORMAT)\r\n .max(10, INVALID_PHONE_NUMBER_LENGTH)\r\n .matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER)\r\n .required(INVALID_PHONE_NUMBER),\r\n SaveYesNo: Yup.string().required(INVALID_YESNO_FORMAT),\r\n SaveOptions: Yup.string().when('SaveYesNo', {\r\n is: 'true',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n OBLIGATION_NUMBER: Yup.string().matches(OBLIGATION_REGEX, INVALID_OBLIGATION_NUMBER).required(INVALID_NUMERIC_FORMAT),\r\n OFFENCE_DATE: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n HEARING_DATE: Yup.date().required(EMPTY_DATE).nullable(),\r\n DRIVER_LICENCE: Yup.string()\r\n .required(INVALID_NUMERIC_FORMAT)\r\n .matches(/^[a-zA-Z0-9 ]*$/, INVALID_LICENCE_FORMAT)\r\n .max(25, INVALID_INPUT_LONGER_THAN_25_CHARS),\r\n VEHICLE_REGISTRATION: Yup.string().matches(VEHICLE_REGISTRATION_REGEX, INVALID_VEHICLE_REGISTRATION_NUMBER).max(12, INVALID_VEHICLE_REGISTRATION_NUMBER_LENGTH).required(INVALID_VEHICLE_REGISTRATION_NUMBER),\r\n DOB: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n OFFENCE_FIND_OUT_DATE: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE)\r\n .min(new Date(today.setDate(today.getDate() - 15)), INVALID_OFFENCE_FIND_OUT_DATE),\r\n WasHandedInPerson: Yup.string().required(INVALID_YESNO_FORMAT),\r\n\r\n DetailsForCircumstances: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n FileSizeLimitSupportingDoc: Yup.string(),\r\n SupportingDocFieldErrorHandle: Yup.boolean().test('fileSizeTooLarge',\r\n function (value) {\r\n const { FileSizeLimitSupportingDoc } = this.parent;\r\n if (value === true) {\r\n return this.createError({\r\n message: INVALID_FILE_SIZE_CUSTOM(FileSizeLimitSupportingDoc)\r\n });\r\n }\r\n return true;\r\n }),\r\n SupportingDocFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n SupportingDocUploadFileSectionError: Yup.boolean().when('SupportingDocuments', {\r\n is: (SupportingDocuments: []) => SupportingDocuments.length < 1,\r\n then: Yup.boolean().required('Please attach a document'),\r\n }),\r\n\r\n IndividualFamilyName: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n IndividualGivenName: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n StatecountryOfIssue: Yup.string(),\r\n LicenceState: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n NoDriverLicence: Yup.boolean(),\r\n IndividualResidentialAddress: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_SEARCH_FORMAT).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n IndividualHasDifferentPostalAddress: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n IndividualPostalAddress: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_SEARCH_FORMAT).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_POST_CODE).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n DeliveryAddressType: Yup.string().required(INVALID_YESNO_FORMAT),\r\n IndividualEmail: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL).max(100, INVALID_EMAIL)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n IndividualHasNoEmail: Yup.boolean(),\r\n IndividualContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n IndividualEmailTo: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n IndividualReceiveDocs: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n\r\n CompanyGivenName: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n CompanyFamilyName: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n PositionInCompany: Yup.string().matches(POSITION_IN_COMPANY_REGEX, INVALID_POSITION_IN_COMPANY_FIELD).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n CompanyContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n CompanyHasNoEmail: Yup.boolean(),\r\n CompanyEmail: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_EMAIL)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n CompanyReceiveDocs: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n CompanyEmailTo: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n CompanyName: Yup.string().matches(COMPANY_NAME_REGEX, INVALID_COMPANY_NAME).max(75, INVALID_INPUT_LONGER_THAN_75_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n AbnOrAcnType: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n AbnNo: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n AcnNo: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n CompanyStreetAddress: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_SEARCH_FORMAT).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_POST_CODE).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n CompanyHasDifferentPostalAddress: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n CompanyPostalAddress: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_SEARCH_FORMAT).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_POST_CODE).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n declaration: Yup.boolean().oneOf([true], MISSING_DECLARATION_AGREEMENT),\r\n});\r\n\r\nexport const InfringementExtensionMetaData: iFormMetaData = {\r\n pagesSegments: {\r\n step0: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: () => [],\r\n },\r\n step1: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page1,\r\n },\r\n step2: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page2,\r\n },\r\n step3: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page3,\r\n },\r\n step4: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page4,\r\n },\r\n step5: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page5,\r\n },\r\n step6: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page6,\r\n },\r\n step7: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page7,\r\n },\r\n step8: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page8,\r\n },\r\n step9: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page9,\r\n },\r\n step10: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => keys(values, INFRINGEMENTEXTENSION).page9,\r\n },\r\n },\r\n};\r\nconst displayFileDetails = (attachment: iAttachments) => {\r\n if (attachment.FileName !== '' && attachment.FileDescription !== '') {\r\n return `${attachment.FileName} : ${attachment.FileDescription}`;\r\n }\r\n if (attachment.FileName !== '' && attachment.FileDescription === '') {\r\n return `${attachment.FileName}`;\r\n }\r\n return '';\r\n};\r\nconst joinAddressFields = (entry: string[]) => {\r\n if (entry[0] === 'Address' || entry[0] === 'SearchText') return null;\r\n if (entry[0] === 'Country') return entry[1];\r\n return entry[1];\r\n};\r\nexport const getSummaryScreen = (values: iInfringementExtensionFormValues): iSummary[] => {\r\n // const checkOptSupportingDoc = values.SupportingDocuments.map((attachment) => displayFileDetails(attachment))\r\n // .filter(Boolean)\r\n // .join('\\n');\r\n\r\n const page3 = {\r\n title: 'Before you continue',\r\n editLink: '/step3',\r\n fields: [\r\n [\r\n {\r\n title: 'What date did you find out about the fine?',\r\n value: values.OFFENCE_FIND_OUT_DATE ? `${values.OFFENCE_FIND_OUT_DATE.getDate()}/${values.OFFENCE_FIND_OUT_DATE.getMonth() + 1}/${values.OFFENCE_FIND_OUT_DATE.getFullYear()}` : 'N/A'\r\n }\r\n ],\r\n values.isOfficerIssued\r\n ? [{\r\n title: 'Were you handed an infringement notice by an officer at the time of the offence?',\r\n value: values.WasHandedInPerson === 'true' ? 'Yes' : 'No'\r\n }] : []\r\n ],\r\n };\r\n const checkFines = values.SelectedObligationsStep5.map((fine) => {\r\n if (fine.checked) return fine.number.toString();\r\n return '';\r\n })\r\n .filter(Boolean)\r\n .join('; ');\r\n const page5 = {\r\n title: 'Your fines',\r\n editLink: '/step5',\r\n fields: [\r\n [{\r\n title: 'Fines to be included in this application',\r\n value: checkFines !== '' ? `${checkFines}; ${values.AuthorisedObligation.Number}` : values.AuthorisedObligation.Number,\r\n }],\r\n values.IneligibleObligations.length > 0 ? [\r\n {\r\n title: '',\r\n value: `You also have ${values.IneligibleObligations.length} fine(s) that is/are not eligible for an infringment extension. Please contact Fines Victoria or review our website to understand any options you may have.`\r\n }\r\n ] : []\r\n ]\r\n };\r\n const page6 = {\r\n title: 'Supporting documentation',\r\n editLink: '/step6',\r\n fields: [[\r\n {\r\n title: 'Attachments to be included in this application',\r\n value: values.SupportingDocuments.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n'),\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Please outline any information on why you were not aware of the fine(s) for Fines Victoria to consider when assessing your application.',\r\n value: values.DetailsForCircumstances\r\n }\r\n ]\r\n ]\r\n };\r\n const page7 = {\r\n title: values.isDebtorTypeCompany ? 'Details' : 'Your details',\r\n editLink: '/step7',\r\n fields: values.isDebtorTypeCompany ? [\r\n [{ title: 'Given name(s)', value: values.CompanyGivenName }],\r\n [{ title: 'Family name', value: values.CompanyFamilyName }],\r\n [{ title: 'Position in company', value: values.PositionInCompany }],\r\n [{ title: 'Contact number', value: values.CompanyContactNumber.ContactNumber }],\r\n [{ title: 'Email address', value: values.CompanyHasNoEmail ? 'N/A' : values.CompanyEmail }],\r\n [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.CompanyEmailTo === 'true' ? 'Yes' : 'No' }],\r\n [{ title: 'I consent to receive documentation electronically', value: values.CompanyReceiveDocs === 'true' ? 'Yes' : 'No' }],\r\n [{ title: 'Company name', value: values.CompanyName }],\r\n [{ title: 'ABN/ACN', value: values.AbnOrAcnType }],\r\n [{ title: 'ABN', value: values.AbnOrAcnType === 'ABN' ? values.AbnNo : 'N/A' }],\r\n [{ title: 'ACN', value: values.AbnOrAcnType === 'ACN' ? values.AcnNo : 'N/A' }],\r\n [\r\n {\r\n title: \"Company's street address\",\r\n value: `${Object.entries(values.CompanyStreetAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.CompanyHasDifferentPostalAddress === 'false'\r\n ? [{ title: 'Is the postal address different to the street address?', value: 'No' }]\r\n : [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.CompanyPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n ] : [\r\n [{ title: 'Given name(s)', value: values.IndividualGivenName }],\r\n [{ title: 'Family name', value: values.IndividualFamilyName }],\r\n [{ title: 'Date of birth', value: values.DOB ? `${values.DOB.getDate()}/${values.DOB.getMonth() + 1}/${values.DOB.getFullYear()}` : 'n/a' }],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Driver licence number', value: 'n/a' }\r\n : { title: 'Driver licence number', value: values.DRIVER_LICENCE ? values.DRIVER_LICENCE : 'n/a' },\r\n ],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Place of issue', value: 'n/a' }\r\n : {\r\n title: 'Place of issue',\r\n value:\r\n // eslint-disable-next-line no-nested-ternary\r\n values.StatecountryOfIssue === 'Australia' ? (values.LicenceState ? values.LicenceState : 'n/a') : values.StatecountryOfIssue ? values.StatecountryOfIssue : 'n/a',\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.IndividualResidentialAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.IndividualHasDifferentPostalAddress === 'false'\r\n ? [{ title: 'Is your residential address different to your postal address?', value: 'No' }]\r\n : [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.IndividualPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact number', value: values.IndividualContactNumber.ContactNumber }],\r\n [{ title: 'Email address', value: values.IndividualHasNoEmail ? 'N/A' : values.IndividualEmail }],\r\n [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.IndividualEmailTo === 'true' ? 'Yes' : 'No' }],\r\n [{ title: 'I consent to receive documentation electronically', value: values.IndividualReceiveDocs === 'true' ? 'Yes' : 'No' }],\r\n ]\r\n };\r\n const pagesExtensionSummary: iSummary[] = [\r\n page3,\r\n page5,\r\n page6,\r\n page7\r\n ];\r\n const summarySections: iSummary[] = pagesExtensionSummary;\r\n return summarySections;\r\n};\r\n\r\nexport interface iSubmitInfringementExtensionFormValues extends iCommonInfringementExtensionValues {\r\n YourObligationNumber: string;\r\n // OBLIGATION_NUMBER: string;\r\n // IdentifyingReference: string;\r\n InfringementNoticeNumber: string;\r\n // Infingement Extension Step 3 Fields\r\n // Offence Find Out Date\r\n DateBecameAwareOfFine: string,\r\n HandedIWNoticeAtOffence: string,\r\n isIndividual: boolean,\r\n // Step 5\r\n ObligationNumbers: string,\r\n // Step 6\r\n NumberOfAttachments: string,\r\n ExplainWhyTheEnforcementOrderShouldBeReviewedProvideDetailedReasons: string,\r\n // Step 7\r\n GivenNames: string;\r\n FamilyNameSurname: string;\r\n // DD: string;\r\n // MM: string;\r\n // YYYY: string;\r\n DriverLicenceNumber: string;\r\n StateCountryOfIssue: string;\r\n YesEmailCorrespondence: string;\r\n DateOfBirth: string;\r\n\r\n // Residential Address\r\n ResidentialAddressLineOne: string;\r\n ResidentialAddressLineTwo: string;\r\n ResidentialAddressSuburb: string;\r\n ResidentialAddressState: string;\r\n ResidentialAddressPostcode: string;\r\n ResidentialAddressCountry: string;\r\n // Postal address\r\n PostalAddressLineOne: string;\r\n PostalAddressLineTwo: string;\r\n PostalAddressSuburb: string;\r\n PostalAddressState: string;\r\n PostalAddressPostcode: string;\r\n PostalAddressCountry: string;\r\n\r\n ContactNumber: string;\r\n // DocumentElectronically: string;\r\n EmailAddressOptional: string;\r\n\r\n // now time submit time\r\n // DdTwo: string;\r\n // MmTwo: string;\r\n // YyyyTwo: string;\r\n\r\n DeclarationDate: string;\r\n\r\n EMAIL_TO: string;\r\n OBLIGATIONS_TO_INCLUDE: string;\r\n // ATTACHMENTS: string;\r\n\r\n SignatureOfApplicant: string;\r\n\r\n FooterSubmissionNo1: string;\r\n FooterFormType1: string;\r\n FooterObligationNo1: string;\r\n FooterSubmittedTime1: string;\r\n\r\n FooterSubmissionNo2: string;\r\n FooterFormType2: string;\r\n FooterObligationNo2: string;\r\n FooterSubmittedTime2: string;\r\n\r\n // FooterSubmissionNo3: string;\r\n // FooterFormType3: string;\r\n // FooterObligationNo3: string;\r\n // FooterSubmittedTime3: string;\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nexport const getReceiptPayload = (formValues: any): string => `{\r\n \"ID\": \"\",\r\n \"Receipt\": \"\",\r\n \"Obligations\": [\r\n {\r\n \"ID\": \"\",\r\n \"ObligationNO\": \"${formValues.OBLIGATION_NUMBER}\",\r\n \"IsPrimary\": \"true\",\r\n \"ReceptNumberId\": \"\"\r\n }\r\n ],\r\n \"SubmittedDate\": \"\",\r\n \"FormTypeId\": 2\r\n}`;\r\n\r\nexport const getSubmissionPayload = (formValues: iInfringementExtensionFormValues): iSubmitInfringementExtensionFormValues => {\r\nconst submitFormValues = formValues;\r\nconst now = new Date();\r\nconst MONTH = (`0${now.getMonth() + 1}`).slice(-2);\r\nconst DATE = (`0${now.getDate()}`).slice(-2);\r\nconst YEAR = now.getFullYear();\r\nconst MINUTE = (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();\r\nconst SUBMITTED_TIME = `${now.getHours()}:${MINUTE} ${DATE}/${MONTH}/${YEAR}`;\r\nconst FORM_TYPE = 'Infringement Extension';\r\nconst selectObNumbersStr = formValues.SelectedObNums?.replace(/,/g, ';');\r\nconst totalNumberOfAttachments = formValues.SupportingDocuments?.length;\r\nconst descriptionOfAttachmentsArray = [\r\n ...(formValues.SupportingDocuments || []),\r\n ];\r\n let remoteAttachmentNames = '';\r\nif (descriptionOfAttachmentsArray) {\r\n descriptionOfAttachmentsArray.forEach((v) => {\r\n if (v.RemoteFileName) {\r\n remoteAttachmentNames += `${formValues.OBLIGATION_NUMBER}/${v.RemoteFileName}/${v.RemoteFileName}|`;\r\n }\r\n });\r\n}\r\nconst selectedObsArray = selectObNumbersStr.split(';');\r\nconst selectedObligations = selectedObsArray.length >= 3\r\n ? 'Refer to attachment'\r\n : formValues.SelectedObNums.length !== 0\r\n ? `${formValues.SelectedObNums}; ${formValues.AuthorisedObligation?.Number}`\r\n : formValues.AuthorisedObligation?.Number;\r\nconst additonalPdfWithObligations = selectedObsArray.length >= 3 ? `${selectObNumbersStr}; ${formValues.AuthorisedObligation?.Number}` : '';\r\nconst submitObject: iSubmitInfringementExtensionFormValues = {\r\n ...(submitFormValues as iCommonInfringementExtensionValues),\r\n\r\n YourObligationNumber: formValues.OBLIGATION_NUMBER,\r\n InfringementNoticeNumber: formValues?.InfringementNoticeNumber,\r\n\r\n // Step 3\r\n DateBecameAwareOfFine: formValues.OFFENCE_FIND_OUT_DATE ? `${(`0${formValues.OFFENCE_FIND_OUT_DATE.getDate()}`).slice(-2)}/${(`0${formValues.OFFENCE_FIND_OUT_DATE.getMonth() + 1}`).slice(-2)}/${formValues.OFFENCE_FIND_OUT_DATE?.getFullYear()}` : '',\r\n HandedIWNoticeAtOffence: formValues.isOfficerIssued ? (formValues.WasHandedInPerson === 'true' ? 'Yes' : 'No') : '',\r\n isIndividual: !!formValues.isDebtorTypeIndividual,\r\n // Step 5\r\n ObligationNumbers: selectedObligations,\r\n NumberOfAttachments: totalNumberOfAttachments.toString(),\r\n OBLIGATIONS_TO_INCLUDE: additonalPdfWithObligations,\r\n ATTACHMENTS: remoteAttachmentNames,\r\n // Step 6\r\n ExplainWhyTheEnforcementOrderShouldBeReviewedProvideDetailedReasons: formValues.DetailsForCircumstances,\r\n // Step 7 - Individual and Company\r\n GivenNames: formValues.isDebtorTypeIndividual ? formValues.IndividualGivenName : formValues.CompanyGivenName,\r\n FamilyNameSurname: formValues.isDebtorTypeIndividual ? formValues.IndividualFamilyName : formValues.CompanyFamilyName,\r\n ContactNumber: formValues.isDebtorTypeIndividual ? formValues.IndividualContactNumber.ContactNumber : formValues.CompanyContactNumber.ContactNumber,\r\n EmailAddressOptional: formValues.isDebtorTypeIndividual ? (!formValues.IndividualHasNoEmail ? formValues.IndividualEmail : '') : (!formValues.CompanyHasNoEmail ? formValues.CompanyEmail : ''),\r\n // DocumentElectronically: formValues.isDebtorTypeIndividual ? (formValues.IndividualReceiveDocs === 'true' ? 'Yes' : 'No') : (formValues.CompanyReceiveDocs === 'true' ? 'Yes' : 'No'),\r\n EMAIL_TO: formValues.isDebtorTypeIndividual ? (formValues.IndividualEmailTo === 'true' && !formValues.IndividualHasNoEmail ? formValues.IndividualEmail : '') : (formValues.CompanyEmailTo === 'true' && !formValues.CompanyHasNoEmail ? formValues.CompanyEmail : ''),\r\n YesEmailCorrespondence: formValues.isDebtorTypeIndividual ? (formValues.IndividualReceiveDocs === 'true' ? 'Yes' : 'No') : (formValues.CompanyReceiveDocs === 'true' ? 'Yes' : 'No'),\r\n // Step 7 - Individual Fields\r\n DateOfBirth: formValues.DOB ? `${(`0${formValues.DOB.getDate()}`).slice(-2)}/${(`0${formValues.DOB.getMonth() + 1}`).slice(-2)}/${formValues.DOB?.getFullYear()}` : '',\r\n DriverLicenceNumber: formValues.NoDriverLicence ? '' : formValues.DRIVER_LICENCE,\r\n StateCountryOfIssue: formValues.NoDriverLicence ? '' : formValues.StatecountryOfIssue === 'Australia' ? formValues.LicenceState : formValues.StatecountryOfIssue,\r\n\r\n // Step 8 - Company Fields0\r\n CompanyName: formValues.isDebtorTypeIndividual ? '' : formValues.CompanyName,\r\n PositionInCompany: formValues.isDebtorTypeIndividual ? '' : formValues.PositionInCompany,\r\n // eslint-disable-next-line no-nested-ternary\r\n ABNACN: formValues.isDebtorTypeIndividual ? '' : (formValues.AbnOrAcnType === 'ABN' ? formValues.AbnNo : formValues.AcnNo),\r\n\r\n // Individual Residential Address or Company Street Address\r\n ResidentialAddressLineOne: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.LineOne : formValues.CompanyStreetAddress.LineOne,\r\n ResidentialAddressLineTwo: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.LineTwo : formValues.CompanyStreetAddress.LineTwo,\r\n ResidentialAddressPostcode: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.Postcode : formValues.CompanyStreetAddress.Postcode,\r\n ResidentialAddressState: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.State : formValues.CompanyStreetAddress.State,\r\n ResidentialAddressSuburb: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.Suburb : formValues.CompanyStreetAddress.Suburb,\r\n ResidentialAddressCountry: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.Country : formValues.CompanyStreetAddress.Country,\r\n\r\n StreetAddressLineOne: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.LineOne : formValues.CompanyStreetAddress.LineOne,\r\n StreetAddressLineTwo: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.LineTwo : formValues.CompanyStreetAddress.LineTwo,\r\n StreetAddressPostcode: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.Postcode : formValues.CompanyStreetAddress.Postcode,\r\n StreetAddressState: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.State : formValues.CompanyStreetAddress.State,\r\n StreetAddressSuburb: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.Suburb : formValues.CompanyStreetAddress.Suburb,\r\n StreetAddressCountry: formValues.isDebtorTypeIndividual ? formValues.IndividualResidentialAddress.Country : formValues.CompanyStreetAddress.Country,\r\n // Indivual or Company Postal Address\r\n PostalAddressLineOne: formValues.isDebtorTypeIndividual\r\n ? (formValues.IndividualHasDifferentPostalAddress === 'true' ? formValues.IndividualPostalAddress.LineOne : formValues.IndividualResidentialAddress.LineOne)\r\n : (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.LineOne : formValues.CompanyStreetAddress.LineOne),\r\n PostalAddressLineTwo: formValues.isDebtorTypeIndividual\r\n ? (formValues.IndividualHasDifferentPostalAddress === 'true' ? formValues.IndividualPostalAddress.LineTwo : formValues.IndividualResidentialAddress.LineTwo)\r\n : (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.LineTwo : formValues.CompanyStreetAddress.LineTwo),\r\n PostalAddressPostcode: formValues.isDebtorTypeIndividual\r\n ? (formValues.IndividualHasDifferentPostalAddress === 'true' ? formValues.IndividualPostalAddress.Postcode : formValues.IndividualResidentialAddress.Postcode)\r\n : (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.Postcode : formValues.CompanyStreetAddress.Postcode),\r\n PostalAddressState: formValues.isDebtorTypeIndividual\r\n ? (formValues.IndividualHasDifferentPostalAddress === 'true' ? formValues.IndividualPostalAddress.State : formValues.IndividualResidentialAddress.State)\r\n : (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.State : formValues.CompanyStreetAddress.State),\r\n PostalAddressSuburb: formValues.isDebtorTypeIndividual\r\n ? (formValues.IndividualHasDifferentPostalAddress === 'true' ? formValues.IndividualPostalAddress.Suburb : formValues.IndividualResidentialAddress.Suburb)\r\n : (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.Suburb : formValues.CompanyStreetAddress.Suburb),\r\n PostalAddressCountry: formValues.isDebtorTypeIndividual\r\n ? (formValues.IndividualHasDifferentPostalAddress === 'true' ? formValues.IndividualPostalAddress.Country : formValues.IndividualResidentialAddress.Country)\r\n : (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.Country : formValues.CompanyStreetAddress.Country),\r\n\r\n SignatureOfApplicant: formValues.declaration ? 'I agree to the statements' : '',\r\n\r\n DeclarationDate: `${DATE}/${MONTH}/${YEAR}`,\r\n\r\n // Footer information\r\n FooterSubmissionNo: '2342',\r\n FooterFormType: FORM_TYPE,\r\n FooterObligationNo: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo1: '2342',\r\n FooterFormType1: FORM_TYPE,\r\n FooterObligationNo1: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime1: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo2: '234',\r\n FooterFormType2: FORM_TYPE,\r\n FooterObligationNo2: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime2: SUBMITTED_TIME,\r\n\r\n};\r\n\r\nconst excludeKeysFromForm: string[] = [\r\n 'ABNACNNo',\r\n 'AbnNo',\r\n 'AbnOrAcnType',\r\n 'AcnNo',\r\n 'Attachments',\r\n 'AuthorisedObligation',\r\n 'CompanyContactNumber',\r\n 'CompanyGivenName',\r\n 'CompanyEmail',\r\n 'CompanyEmailTo',\r\n 'CompanyEmailTo',\r\n 'CompanyFamilyName',\r\n 'CompanyGivenName',\r\n 'CompanyHasDifferentPostalAddress',\r\n 'CompanyHasNoEmail',\r\n 'CompanyPostalAddress',\r\n 'CompanyReceiveDocs',\r\n 'CompanyStreetAddress',\r\n 'CountryTwo',\r\n 'DOB',\r\n 'DOBRequired',\r\n 'DRIVER_LICENCE',\r\n 'DebtorID',\r\n 'DebtorId',\r\n 'DebtorType',\r\n 'EligibleObligations',\r\n 'ExpiryDate',\r\n 'FormData',\r\n 'SelectedObNums',\r\n 'FormExperience',\r\n 'FormTypeID',\r\n 'HEARING_DATE',\r\n 'HearingDateRequired',\r\n 'ID',\r\n 'IdentifyingReference',\r\n 'IndividualContactNumber',\r\n 'IndividualEmail',\r\n 'IndividualEmailTo',\r\n 'IndividualFamilyName',\r\n 'IndividualGivenName',\r\n 'IndividualHasDifferentPostalAddress',\r\n 'IndividualHasNoEmail',\r\n 'IndividualPostalAddress',\r\n 'IndividualResidentialAddress',\r\n 'IneligibleObligations',\r\n 'LicenceRequired',\r\n 'LicenceState',\r\n 'NoDriverLicence',\r\n 'NoFixedAddress',\r\n 'NumberAttachments',\r\n 'OFFENCE_DATE',\r\n 'OFFENCE_FIND_OUT_DATE',\r\n 'ObligationStatus',\r\n 'Obligations',\r\n 'OffenceCode',\r\n 'OffenceDateRequired',\r\n 'PartialFormID',\r\n 'RegistrationRequired',\r\n 'SaveOptions',\r\n 'SaveYesNo',\r\n 'SelectedObligations',\r\n 'SelectedObligationsStep5',\r\n 'StatecountryOfIssue',\r\n 'Status',\r\n 'SupportingDocFieldErrorHandle',\r\n 'SupportingDocFileUploadErrorHandle',\r\n 'SupportingDocFilesDescription',\r\n 'SupportingDocFilesProvider',\r\n 'SupportingDocNameField',\r\n 'SupportingDocUploadFileSectionError',\r\n 'SupportingDocuments',\r\n 'SupportingFilesDescription',\r\n 'TicketType',\r\n 'declaration',\r\n 'isDebtorTypeCompany',\r\n 'isDebtorTypeIndividual',\r\n 'isOfficerIssued',\r\n 'saveEmail',\r\n 'saveMobile',\r\n 'submissionError',\r\n 'submissionNo',\r\n 'submitted',\r\n 'CreateDate',\r\n 'IsSubscribedEM',\r\n 'IsSubscribedSMS',\r\n 'EMRemeinderSent',\r\n 'SMSRemeinderSent',\r\n 'DetailsForCircumstances',\r\n];\r\nexcludeKeysFromForm.forEach((value: string) => {\r\n delete submitObject[value];\r\n});\r\nreturn submitObject;\r\n};\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport React, { ReactElement, useContext } from 'react';\r\nimport { ErrorPage } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport { iInfringementExtensionFormValues } from '@services/InfringementExtensionService';\r\n\r\n// const { REACT_APP_SITECORE_API_ENDPOINT: API_URL, REACT_APP_PATH_FAMILY_VIOLENCE_SCHEME: PATH_FVS } = process.env;\r\nfunction InfringementExtErrorPage(): ReactElement {\r\n const { values }: { values: iInfringementExtensionFormValues } = useFormikContext();\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtErrorPage;\r\n","import React, { ReactElement, useEffect, useState, useContext } from 'react';\r\nimport { useNavigate, useParams, useLocation } from 'react-router-dom';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { getStringIndex, setFormDataValues, setCurrentFormikValues, navigateToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport { getInitiate, checkExistingForm, getPartialForm } from '@api';\r\nimport { FormType } from '@constants';\r\nimport { Accordion, FormLoading } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport ClockIcon from '../../../../images/clock.svg';\r\nimport styles from './InfringementExtStep0.module.scss';\r\n\r\ninterface iProps {\r\n formikRef: any;\r\n}\r\n\r\nfunction InfringementExtStep0({ formikRef }: iProps): ReactElement {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n const pathElementArray = location.pathname.split('/');\r\n const { tooltips } = useContext(VicFinesContext);\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const validTitles = Object.keys(tooltips).filter((v) => v.includes('step0'));\r\n const formikcontext = useFormikContext();\r\n function getStringForSort(stringVal: string): string {\r\n return stringVal.substring(stringVal.indexOf('p') + 1, stringVal.indexOf('|'));\r\n }\r\n validTitles.sort((stringA, stringB) => Number(getStringForSort(stringA)) - Number(getStringForSort(stringB)));\r\n const { ob } = useParams<{ ob?: string }>();\r\n useEffect(() => {\r\n let pathNameLessLastSegmentOnLoad = '';\r\n let obNumFromPath = '';\r\n if (window.location.hash) {\r\n window.history.pushState({}, '', window.location.pathname + window.location.hash.replaceAll('#', ''));\r\n const currentUrl = window.location.pathname;\r\n const pathUrlArray = currentUrl.split('/');\r\n const stepCurrentIndex = getStringIndex(pathUrlArray, 'step');\r\n const stepIndexDiffOnLoad = stepCurrentIndex - pathUrlArray.length;\r\n pathNameLessLastSegmentOnLoad = stepCurrentIndex ? pathUrlArray.slice(0, stepIndexDiffOnLoad).join('/') : currentUrl;\r\n obNumFromPath = pathUrlArray.includes('step0') && pathUrlArray[stepCurrentIndex + 1] ? pathUrlArray[stepCurrentIndex + 1] : '';\r\n }\r\n const obNum = obNumFromPath || ob;\r\n if (obNum) {\r\n setLoading(true);\r\n checkExistingForm(obNum, FormType.INFRINGEMENTEXTENSION)\r\n .then((valueOfExistingform) => {\r\n if (!valueOfExistingform?.PartialFormID) {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}/step0`);\r\n return;\r\n }\r\n let currentStep = '';\r\n let partialFormID = 0;\r\n const partialFormOption = valueOfExistingform.CheckingExisting;\r\n const canSave = valueOfExistingform.CanSave;\r\n let savingoption = '';\r\n let debtorID = 0;\r\n if (partialFormOption === 'no' && valueOfExistingform.DebtorID && valueOfExistingform.PartialFormID) {\r\n return;\r\n }\r\n if (valueOfExistingform.CheckingExisting === 'yes') {\r\n formikcontext.setFieldValue('SaveYesNo', 'true');\r\n partialFormID = valueOfExistingform.PartialFormID!;\r\n formikcontext.setFieldValue('PartialFormID', partialFormID);\r\n savingoption = valueOfExistingform.CanSave ? 'yes' : 'no';\r\n if (valueOfExistingform.PartialFormID) {\r\n getPartialForm(valueOfExistingform.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikRef?.current?.values.FormData, formikRef, 'FormData');\r\n setCurrentFormikValues(formData, formikRef?.current?.values, formikRef);\r\n } else if (resBody[key]) {\r\n formikcontext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => console.log(e));\r\n }\r\n } else {\r\n debtorID = valueOfExistingform.DebtorID!;\r\n savingoption = 'no';\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNum);\r\n formikcontext.setFieldValue('DebtorID', debtorID);\r\n }\r\n formikcontext.setFieldValue('SaveOptions', savingoption);\r\n getInitiate(obNum, FormType.INFRINGEMENTEXTENSION).then((value) => {\r\n if (value.Number) {\r\n if (value.Step !== '/step8' && value.Step !== '/step9') {\r\n // legacy logic\r\n if (partialFormOption === 'no' && canSave === true) {\r\n currentStep = '/step4';\r\n }\r\n currentStep = '/step5';\r\n } else {\r\n currentStep = '/step4';\r\n }\r\n } else {\r\n currentStep = '/step0';\r\n }\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}${currentStep}`);\r\n setLoading(false);\r\n });\r\n })\r\n .catch(() => {\r\n console.log('Caught p2');\r\n });\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, []);\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n
\r\n
Before you start
\r\n {validTitles.map((v) => {\r\n const getTitles = v.substring(v.indexOf('|'), v.length).replaceAll('|', ' ');\r\n return ;\r\n })}\r\n
\r\n \"alarm\r\n Please allow up to 20 minutes to complete this form.\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtStep0;\r\n","import { ReactElement, useContext, useState } from 'react';\r\n\r\nimport { Field } from 'formik';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Alert, Button, Modal, TextInput } from '@components';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n// import mailRef from '../../../../images/refNo_mail.jpg';\r\nimport styles from './InfringementExtStep1.module.scss';\r\n\r\nconst isInfringementIneligibleCode = 'isInfringementIneligible'; // Error Message 1\r\nconst isPersonUnaware = 'isPersonUnaware'; // Error Message 2\r\nconst isIneligibleCode = 'isIneligible'; // Error Message 3\r\nconst isNominatedCode = 'isNominated'; // Error Message 4\r\nconst isFullyPaidCode = 'isFullyPaid'; // Error Message 5\r\n\r\nfunction InfringementExtStep1(): ReactElement {\r\n const { apiError, tooltips } = useContext(VicFinesContext);\r\n const validTitle = Object.keys(tooltips).filter((v) => v.includes('obligationlocationonformstep1modal'));\r\n const modalContent = tooltips[validTitle[0]];\r\n const titleText = validTitle[0].substring(validTitle[0].indexOf('|'), validTitle[0].length).replaceAll('|', ' ');\r\n\r\n const navigateToPayFines = () => {\r\n window.location.href = 'https://online.fines.vic.gov.au/Your-options/Pay-your-fine';\r\n };\r\n const navigateToViewFines = () => {\r\n window.location.href = 'https://online.fines.vic.gov.au/Your-options/View-your-fine';\r\n };\r\n // Error Code 1\r\n const MagistratesCourtIneligibleAlertContentError1 = (): ReactElement => (\r\n <>\r\n You are not eligible to apply for an infringement extension through Fines Victoria.\r\n

\r\n You may be eligible to apply for an infringement extension instead through the\r\n {' '}\r\n \r\n Magistrates' Court.\r\n \r\n

\r\n
\r\n

\r\n If you would like to speak to someone, call Fines Victoria on\r\n {' '}\r\n \r\n (03) 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers).\r\n

\r\n

We are available Monday to Friday, 8am to 6pm (except public holidays).

\r\n
\r\n

If you do not deal with your outstanding fines, enforcement action may continue.

\r\n\r\n
\r\n \r\n
\r\n \r\n );\r\n\r\n // Error Code 2\r\n const PersonUnawareIneligibleAlertContentError2 = (): ReactElement => (\r\n <>\r\n You are not eligible to apply for an infringement extension.\r\n

\r\n You may be eligible to\r\n {' '}\r\n \r\n request a review\r\n \r\n {' '}\r\n on the grounds of person unaware.\r\n

\r\n
\r\n

\r\n If you would like to speak to someone, call Fines Victoria on\r\n {' '}\r\n \r\n (03) 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers).\r\n

\r\n

We are available Monday to Friday, 8am to 6pm (except public holidays).

\r\n
\r\n

If you do not deal with your outstanding fines, enforcement action may continue.

\r\n\r\n
\r\n \r\n
\r\n \r\n );\r\n\r\n // Error Code 3\r\n const IneligibleObligationAlertContentError3 = (): ReactElement => (\r\n <>\r\n You are not eligible to apply for an infringement extension.\r\n

\r\n If you would like to speak to someone, call Fines Victoria on\r\n {' '}\r\n \r\n (03) 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers).\r\n

\r\n

We are available Monday to Friday, 8am to 6pm (except public holidays).

\r\n
\r\n

Pay now to avoid additional costs.

\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n // Error Code 4\r\n const NominatedIneligibleAlertContentError4 = (): ReactElement => (\r\n

The obligation you have entered may be closed or may have been nominated to a third party. Check that it is correct and try again.

\r\n );\r\n\r\n // Error Code 5\r\n const PaidIneligibleAlertContentError5 = (): ReactElement => (\r\n <>\r\n

The obligation you have entered may be closed or may have been nominated to a third party. Check that it is correct and try again.

\r\n
\r\n

\r\n If you have just become aware of your fine, call Fines Victoria on\r\n {' '}\r\n \r\n (03) 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (for regional callers).\r\n

\r\n \r\n );\r\n\r\n // For Any other error\r\n const InfringementExtStep1AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n // const [smallScreen, setMatches] = useState(window.matchMedia('(max-width: 1150px)').matches);\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const InfringementExtStep1NoteContent = (): ReactElement => (\r\n // TODO - Connect to Sitecore to make this content manageable.\r\n <>\r\n

You will need to enter the fine's obligation number, the offence date and some other details about yourself or your vehicle.

\r\n
\r\n \r\n If you don't have these details please contact us on\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers).\r\n \r\n \r\n );\r\n\r\n const notificationInformation = (): ReactElement => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n );\r\n\r\n return (\r\n <>\r\n
\r\n
Your fine
\r\n \r\n At this stage of the application, you only need to provide the details of one of your fines - even if you are dealing with more than one fine.\r\n \r\n {apiError?.Error === isInfringementIneligibleCode && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isPersonUnaware && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isIneligibleCode && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isNominatedCode && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isFullyPaidCode && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error\r\n && apiError?.Error !== isIneligibleCode\r\n && apiError?.Error !== isNominatedCode\r\n && apiError?.Error !== isInfringementIneligibleCode\r\n && apiError?.Error !== isFullyPaidCode\r\n && apiError?.Error !== isPersonUnaware\r\n && } theme=\"error\" classAlt={styles.boxheight} />}\r\n setOpenHelp(true)}\r\n isMandatory\r\n autocomplete=\"off\"\r\n />\r\n {isOpenHelp && }\r\n
\r\n } theme=\"info\" icon={InfoIcon} />\r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtStep1;\r\n","import { ReactElement, useContext, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, Button, DateInput, Modal, TextInput } from '@components';\r\nimport { navigateToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n\r\nimport styles from './InfringementExtStep2.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction InfringementExtStep2(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const { apiError } = useContext(VicFinesContext);\r\n const [hasOffenceDate, setOffenceDate] = useState(false);\r\n const [hasHearingDate, setHearingDate] = useState(false);\r\n const [hasLicenceNumber, setLicenceNumber] = useState(false);\r\n const [hasVehicleRego, setVehicleRego] = useState(false);\r\n const [hasDOB, setDOB] = useState(false);\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const InfringementExtStep2AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n If you do not know the details of the fine or think we may have the wrong information, contact Fines Victoria, Monday to Friday, 8am to 6pm (except public holidays).\r\n

\r\n For infringement enquiries, call\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n for regional callers.\r\n

\r\n
\r\n

Do you have a Victorian driver licence?

\r\n
\r\n If asked for your driver licence number, make sure you include any zeros at the start of your Victorian driver licence number.\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n const setupDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n };\r\n // TO DO - UPADTE THIS ENDPOINT\r\n const url = `${API_URL}sitecore/InfringementExtension/SetupDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n context.setFieldValue('OffenceDateRequired', false);\r\n context.setFieldValue('HearingDateRequired', false);\r\n context.setFieldValue('LicenceRequired', false);\r\n context.setFieldValue('RegistrationRequired', false);\r\n context.setFieldValue('DOBRequired', false);\r\n if (responseBody.OffenceDate) {\r\n setOffenceDate(true);\r\n context.setFieldValue('OffenceDateRequired', true);\r\n context.setFieldTouched('OFFENCE_DATE', false);\r\n }\r\n if (responseBody.HearingDate) {\r\n setHearingDate(true);\r\n context.setFieldValue('HearingDateRequired', true);\r\n context.setFieldTouched('HEARING_DATE', false);\r\n }\r\n if (responseBody.LicenceRequired) {\r\n setLicenceNumber(true);\r\n context.setFieldValue('LicenceRequired', true);\r\n context.setFieldTouched('DRIVER_LICENCE', false);\r\n }\r\n if (responseBody.RegistrationRequired) {\r\n setVehicleRego(true);\r\n context.setFieldValue('RegistrationRequired', true);\r\n context.setFieldTouched('VEHICLE_REGISTRATION', false);\r\n }\r\n if (responseBody.DateOfBirthRequired) {\r\n setDOB(true);\r\n context.setFieldValue('DOBRequired', true);\r\n context.setFieldTouched('DOB', false);\r\n }\r\n } else navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n setupDebtor(context);\r\n return () => {\r\n setOffenceDate(false); // clean up state to avoid warnings\r\n setHearingDate(false);\r\n setLicenceNumber(false);\r\n setVehicleRego(false);\r\n setDOB(false);\r\n };\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n
\r\n More information needed\r\n We need you to enter some more details about this fine before you can continue.\r\n {apiError?.Error && } theme=\"error\" />}\r\n {hasOffenceDate && (\r\n \r\n )}\r\n {hasHearingDate && }\r\n {hasLicenceNumber && }\r\n {hasVehicleRego && }\r\n {hasDOB && }\r\n
\r\n \r\n
\r\n {isOpenHelp && }\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtStep2;\r\n","import { ReactElement } from 'react';\r\n\r\nconst InfringementExtensionStep3AlertContent1 = (): ReactElement => (\r\n
\r\n
\r\n

\r\n For information on the options available to you, visit\r\n {' '}\r\n \r\n your options\r\n \r\n . If you would like to speak to someone, call Fines Victoria on\r\n {' '}\r\n \r\n (03) 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers), Monday to Friday, 8am to 6pm (except public holidays).\r\n

\r\n
\r\n

\r\n If you do not deal with your outstanding fines, enforcement action may continue.\r\n

\r\n
\r\n);\r\n\r\nexport default InfringementExtensionStep3AlertContent1;\r\n","import { ReactElement } from 'react';\r\n\r\nconst InfringementExtensionStep3AlertContent2 = (): ReactElement => (\r\n
\r\n
\r\n

\r\n An application can only be made where an infringement notice was not given to you in person at the time of the offence.\r\n

\r\n
\r\n

\r\n For information on the options available to you, visit\r\n {' '}\r\n \r\n your options\r\n \r\n . If you would like to speak to someone, call Fines Victoria on\r\n {' '}\r\n \r\n (03) 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers), Monday to Friday, 8am to 6pm (except public holidays).\r\n

\r\n
\r\n

\r\n If you do not deal with your outstanding fines, enforcement action may continue.\r\n

\r\n
\r\n);\r\n\r\nexport default InfringementExtensionStep3AlertContent2;\r\n","import { ReactElement, useState, useEffect } from 'react';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, Alert, DateInput } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { iInfringementExtensionFormValues } from '@services/InfringementExtensionService';\r\nimport InfringementExtensionStep3AlertContent1 from '@components/Content/AlertContent/InfringementExtensionStep3AlertContent1';\r\nimport InfringementExtensionStep3AlertContent2 from '@components/Content/AlertContent/InfringementExtensionStep3AlertContent2';\r\nimport { getBasicInfo } from '@api/APIServices';\r\n\r\nimport { FormType } from '@constants/forms';\r\nimport styles from './InfringementExtStep3.module.scss';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nfunction InfringementExtStep3(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const { values, touched }: { values: iInfringementExtensionFormValues; touched: any } = useFormikContext();\r\n const { WasHandedInPerson } = values;\r\n const [isTimeOfOffenceEnabled, setTimeOfOffenceEnabled] = useState(false);\r\n\r\n useEffect(() => {\r\n const getTicketInfo = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n getBasicInfo(formikContext.values.OBLIGATION_NUMBER, FormType.INFRINGEMENTEXTENSION).then((responseBody) => {\r\n if (responseBody) {\r\n context.setFieldValue('ObligationStatus', responseBody.ObligationStatus);\r\n context.setFieldValue('TicketType', responseBody.TicketType);\r\n context.setFieldValue('Status', responseBody.Status);\r\n context.setFieldValue('DebtorType', responseBody.DebtorType);\r\n if (responseBody.DebtorType === 'Individual') {\r\n context.setFieldValue('isDebtorTypeIndividual', true);\r\n }\r\n if (responseBody.DebtorType === 'Company') {\r\n context.setFieldValue('isDebtorTypeCompany', true);\r\n }\r\n context.setFieldValue('OffenceCode', responseBody.OffenceCode);\r\n if (responseBody.TicketType) {\r\n if ((responseBody.TicketType.split('_')[1] === '1B' || responseBody.TicketType.split('_')[1] === '2A') && values.isOfficerIssued) {\r\n context.setFieldValue('isHandedDownInPersonFieldRequired', true);\r\n setTimeOfOffenceEnabled(true);\r\n }\r\n }\r\n }\r\n });\r\n setLoading(false);\r\n };\r\n getTicketInfo(context);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (getIn(touched, 'OFFENCE_FIND_OUT_DATE')) {\r\n context.setFieldTouched('OFFENCE_FIND_OUT_DATE');\r\n }\r\n }, [values.OFFENCE_FIND_OUT_DATE]);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n
\r\n Before you continue?\r\n
\r\n
\r\n \r\n {values.OFFENCE_FIND_OUT_DATE !== null\r\n && (values.OFFENCE_FIND_OUT_DATE < new Date(new Date().setDate(new Date().getDate() - 15)) || values.OFFENCE_FIND_OUT_DATE > new Date()) && (\r\n }\r\n theme=\"info\"\r\n title=\"Based on the information you have provided, you are not eligible to apply for an infringement extension.\"\r\n icon={InfoIcon}\r\n />\r\n )}\r\n
\r\n
\r\n {isTimeOfOffenceEnabled && (\r\n
\r\n
\r\n \r\n {WasHandedInPerson === 'true' && (\r\n }\r\n theme=\"info\"\r\n title=\"Based on the information you have provided, you are not eligible to apply for an infringement extension.\"\r\n icon={InfoIcon}\r\n />\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtStep3;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useState, useContext } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, TextInput, Modal, Button } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport emailNotif from '../../../../images/emailviewv2.png';\r\nimport mobileNotif from '../../../../images/mobileview.png';\r\nimport styles from './InfringementExtStep4.module.scss';\r\n\r\nfunction InfringementExtStep4(): ReactElement {\r\n const { values }: { values: iCourtFormValues } = useFormikContext();\r\n const currentDate = new Date();\r\n const expiryDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate() + 7).toLocaleDateString('en-AU', { timeZone: 'Australia/Melbourne' });\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const [isNotifyHelp, setNotifyHelp] = useState(false);\r\n const closeNotifications = (modalName: string) => {\r\n if (modalName === 'savedForm') {\r\n setOpenHelp(false);\r\n } else {\r\n setNotifyHelp(false);\r\n }\r\n };\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const TILE_DATA_NOTIFICATION_TYPE: tile[] = [\r\n {\r\n body: 'No thanks',\r\n value: 'none',\r\n },\r\n {\r\n body: 'To my mobile',\r\n value: 'mobile',\r\n },\r\n {\r\n body: 'To my email',\r\n value: 'email',\r\n },\r\n {\r\n body: 'To both',\r\n value: 'both',\r\n },\r\n ];\r\n const howDoaccessSavedForm = (): ReactElement => (\r\n <>\r\n
\r\n
Visit fines.vic.gov.au, and click the ‘Your Fines’ link in the top right.\r\n
\r\n
\r\n
Enter your fine’s Obligation or Infringement number (these details are printed on your fine). You may also be asked to enter some other details about yourself, your licence or your vehicle.
\r\n
\r\n
Once you’ve logged in, under ‘Started applications’ you will see your incomplete form listed. Click the ‘Resume’ button to access your form.
\r\n
\r\n
\r\n \r\n );\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n Email notification\r\n Mobile notification\r\n
\r\n \"email\r\n
\r\n
\r\n \"mobile\r\n
\r\n
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n Save the form as you go?\r\n
\r\n
If you select Yes, we will save the form as you fill it in, so you can close it and come back later.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Your details on the form will be saved securely until submitted. To access a saved form go to the ‘Your Fines’ section on this website and log in using the fine’s obligation/infringement number.\r\n

\r\n

\r\n Remember, you must apply within 14 days of becoming aware of the fine. Your fine will continue to progress until you submit your application and receive a submission number.\r\n

\r\n \r\n {isOpenHelp && closeNotifications('savedForm')} show title=\"How do I access my saved form later?\" content={howDoaccessSavedForm()} />}\r\n {values.SaveYesNo === 'true' && (\r\n <>\r\n Send reminders of incomplete forms?\r\n
We can send you a notification to remind you to come back and submit the application.
\r\n \r\n {(values.SaveOptions === 'email' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n {(values.SaveOptions === 'mobile' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n \r\n {isNotifyHelp && closeNotifications('myNotify')} show title=\"What will my notifications look like?\" content={notificationInformation()} />}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default InfringementExtStep4;\r\n","/* eslint-disable jsx-a11y/label-has-associated-control */\r\nimport React, { useState, useRef, useEffect } from 'react';\r\nimport { iObligation, iFVSCheckboxAll } from '../../../interfaces/interfaces';\r\nimport styles from './ExpandableRow.module.scss';\r\nimport DownArrow from '../../../images/downArrow.svg';\r\n\r\ninterface iProp {\r\n obligation: iObligation;\r\n checkedAllParent: iFVSCheckboxAll[];\r\n setCheckBox: (value: iFVSCheckboxAll[]) => void;\r\n disabledCheckbox: boolean;\r\n}\r\n\r\nfunction ExpandableRow({ obligation, checkedAllParent, setCheckBox, disabledCheckbox }: iProp): JSX.Element {\r\n const [accordionOpen, setAccordionOpen] = useState(false);\r\n const spanRef = useRef(null);\r\n const [height, setHeight] = useState();\r\n const { Number, OffenceDate, OffenceDesc, AmountDue, OffenceLocation, OffenceTime, Registration } = obligation;\r\n const iconStyle = !accordionOpen ? styles.iconInitiated : styles.iconClicked;\r\n const handleWindowSizeChange = () => {\r\n setAccordionOpen(false);\r\n setHeight(0);\r\n };\r\n const checkCurrentFromParent = checkedAllParent.find((v) => (v.number === obligation.Number));\r\n const handleCurrentCheckbox = (number: string, isChecked: boolean) => {\r\n const checkboxUpdate = new Array();\r\n checkedAllParent.forEach((v) => {\r\n if (v.number !== obligation.Number) {\r\n checkboxUpdate.push({ number: v.number, checked: v.checked });\r\n } else {\r\n checkboxUpdate.push({ number: v.number, checked: isChecked });\r\n }\r\n });\r\n setCheckBox(checkboxUpdate);\r\n };\r\n useEffect(() => {\r\n window.addEventListener('resize', handleWindowSizeChange);\r\n if (accordionOpen) setHeight(spanRef.current?.getBoundingClientRect().height);\r\n else setHeight(0);\r\n return () => {\r\n window.removeEventListener('resize', handleWindowSizeChange);\r\n };\r\n }, [accordionOpen]);\r\n const handleExpanding = () => {\r\n setAccordionOpen((prev) => !prev);\r\n };\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {!disabledCheckbox\r\n && (\r\n \r\n )}\r\n {disabledCheckbox\r\n && (\r\n \r\n )}\r\n
\r\n
\r\n {OffenceDate}\r\n {OffenceDesc}\r\n \r\n $\r\n {AmountDue}\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 \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
Offence Date{OffenceDate}
Offence Description{OffenceDesc}
Amount\r\n $\r\n {AmountDue}\r\n
Offence Location{OffenceLocation}
Time Of Offence{OffenceTime}
Vehicle Registration{Registration}
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ExpandableRow;\r\n","/* eslint-disable jsx-a11y/label-has-associated-control */\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { iInfringementExtensionFormValues } from '@services/InfringementExtensionService';\r\nimport ExpandableRow from '../ExpandableRow/ExpandableRow';\r\nimport { iFVSCheckboxAll, iObligation } from '../../../interfaces/interfaces';\r\nimport styles from './ExpandableTable.module.scss';\r\n\r\ninterface iProp {\r\n obligations: iObligation[];\r\n inactiveRows: boolean;\r\n}\r\nconst ExpandableTable = ({ obligations, inactiveRows }: iProp): JSX.Element => {\r\n const { values }: { values: iInfringementExtensionFormValues } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const { SelectedObligationsStep5 }: { SelectedObligationsStep5: iFVSCheckboxAll[] } = values;\r\n const [selectedAll, setSelectedAll] = useState(false);\r\n const checkboxAllInit = new Array();\r\n obligations.forEach((v) => {\r\n checkboxAllInit.push({ number: v.Number, checked: false });\r\n });\r\n const checkboxAllTrue = new Array();\r\n checkboxAllInit.forEach((v) => {\r\n checkboxAllTrue.push({ number: v.number, checked: true });\r\n });\r\n const [allCheckedOrNot, setCheckedAll] = useState(SelectedObligationsStep5 || checkboxAllInit);\r\n const [isAllChecked, setAllChecked] = useState(checkboxAllTrue === SelectedObligationsStep5);\r\n const handleCheckedAll = (isChecked: boolean) => {\r\n if (isChecked) {\r\n setCheckedAll(checkboxAllTrue);\r\n } else {\r\n setCheckedAll(checkboxAllInit);\r\n }\r\n };\r\n useEffect(() => {\r\n if (!inactiveRows) {\r\n if (allCheckedOrNot?.length !== 0) {\r\n formikContext.setFieldValue('SelectedObligationsStep5', allCheckedOrNot);\r\n const checkedObs = allCheckedOrNot.reduce((accumulate, val) => {\r\n const checkedOb = accumulate + (val.checked ? `${val.number}, ` : '');\r\n return checkedOb;\r\n }, '').slice(0, -2);\r\n if (allCheckedOrNot.length === checkedObs.split(',').length) {\r\n setSelectedAll(true);\r\n } else {\r\n setSelectedAll(false);\r\n }\r\n if (checkedObs) {\r\n formikContext.setFieldValue('SelectedObNums', checkedObs);\r\n }\r\n }\r\n }\r\n }, [allCheckedOrNot, SelectedObligationsStep5]);\r\n\r\n return (\r\n
\r\n
\r\n Obligation #\r\n Offence Date\r\n Offence Description\r\n Amount\r\n \r\n
\r\n {!inactiveRows\r\n && obligations.map((v) => (\r\n ))}\r\n {inactiveRows\r\n && obligations.map((v) => (\r\n ))}\r\n {!inactiveRows\r\n && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\nexport default ExpandableTable;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { navigateToError } from '@utils';\r\nimport { FormType } from '@constants/forms';\r\nimport ExpandableTable from '@components/InfringementExtension/ExpandableTable/ExpandableTable';\r\nimport { iObligation } from '@interfaces/interfaces';\r\nimport { iInfringementExtensionFormValues } from '@services/InfringementExtensionService';\r\nimport { getObligationOptions } from '@api';\r\nimport styles from './InfringementExtStep5.module.scss';\r\n\r\nfunction InfringementExtStep5(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const context = useFormikContext();\r\n const { values }: { values: iInfringementExtensionFormValues } = useFormikContext();\r\n\r\n const [authorisedOb, setObligationDetails] = useState({} as iObligation);\r\n const [eligibleObs, setEligibleObligations] = useState([] as iObligation[]);\r\n const [ineligibleObs, setIneligibleObligations] = useState([] as iObligation[]);\r\n useEffect(() => {\r\n try {\r\n const obNumFormIk = values.OBLIGATION_NUMBER;\r\n if (values.OBLIGATION_NUMBER) {\r\n getObligationOptions(obNumFormIk, FormType.INFRINGEMENTEXTENSION)\r\n .then((responseBody) => {\r\n if (responseBody && responseBody?.Authorised) {\r\n setObligationDetails(responseBody?.Authorised);\r\n context.setFieldValue('AuthorisedObligation', responseBody?.Authorised);\r\n context.setFieldValue('InfringementNoticeNumber', responseBody?.Authorised.InfringementNumber);\r\n }\r\n if (responseBody && responseBody?.Obligations && responseBody?.IneligibleObligations) {\r\n setEligibleObligations(responseBody?.Obligations);\r\n setIneligibleObligations(responseBody?.IneligibleObligations);\r\n context.setFieldValue('EligibleObligations', responseBody?.Obligations);\r\n context.setFieldValue('IneligibleObligations', responseBody?.IneligibleObligations);\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n setLoading(false);\r\n }\r\n } catch (ex) {\r\n navigateToError();\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, [values.OBLIGATION_NUMBER]);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
Your fines
\r\n

You are applying for an infringement extension for the following fine(s):

\r\n
\r\n
\r\n {authorisedOb.Number && Obligation #}\r\n {authorisedOb.OffenceDate && Offence Date}\r\n {authorisedOb.OffenceDesc && Offence Description}\r\n {authorisedOb.AmountDue && Amount}\r\n
\r\n
\r\n {authorisedOb.Number && {authorisedOb.Number}}\r\n {authorisedOb.OffenceDate && {authorisedOb.OffenceDate}}\r\n {authorisedOb.OffenceDesc && {authorisedOb.OffenceDesc}}\r\n {authorisedOb.AmountDue && ${authorisedOb.AmountDue}}\r\n
\r\n
\r\n \r\n \r\n {\r\n authorisedOb.Number && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceDate && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceDesc && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.AmountDue && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceLocation && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceTime && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.Registration && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceLocation && (\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceTime && (\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.Registration && (\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n
Obligation #{authorisedOb.Number}
Offence Date{authorisedOb.OffenceDate}
Offence Description{authorisedOb.OffenceDesc}
Amount${authorisedOb.AmountDue}
Offence Location{authorisedOb.OffenceLocation}
Time of Offence{authorisedOb.OffenceTime}
Vehicle Registration{authorisedOb.Registration}
\r\n Offence Location
{authorisedOb.OffenceLocation}\r\n
\r\n Time of Offence
{authorisedOb.OffenceTime}\r\n
\r\n Vehicle Registration
{authorisedOb.Registration}\r\n
\r\n
\r\n {eligibleObs.length !== 0 && (\r\n <>\r\n

\r\n \r\n Are there any other fines you were not aware of? If so, please select from the list below. Please note, if you do not deal with your outstanding fines,\r\n enforcement action may continue.\r\n \r\n

\r\n \r\n \r\n )}\r\n
\r\n {ineligibleObs.length !== 0 && (\r\n <>\r\n

\r\n \r\n You also have the following matters, which are not eligible for an infringement extension (for information on eligibility, visit\r\n {' '}\r\n \r\n infringement extension\r\n \r\n ). If you\r\n do not deal with your outstanding fines, enforcement action may continue. For information on the options available to you, visit your options or call Fines\r\n Victoria{' '}03 9200 8111{' '}(1300 369 819{' '}for regional callers).{' '}\r\n \r\n

\r\n \r\n \r\n )}\r\n

This summary may not be a complete list of your fines, as this can vary as a result of a difference in:

\r\n
\r\n
    \r\n
  • the spelling of your name
  • \r\n
  • your address
  • \r\n
  • your driver licence number
  • \r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtStep5;\r\n","import { ReactElement, useEffect, useState } from 'react';\r\nimport { useFormikContext, Field } from 'formik';\r\nimport { FormType } from '@constants';\r\nimport { FileUploadGroup, LimitedTextAreaLarge } from '@components';\r\nimport { getValidFilesConfig } from '@api';\r\nimport { iInfringementExtensionFormValues } from '@services/InfringementExtensionService';\r\n\r\nimport styles from './InfringementExtStep6.module.scss';\r\n\r\nfunction InfringementExtStep6(): ReactElement {\r\n const { values }: { values: iInfringementExtensionFormValues } = useFormikContext();\r\n const context = useFormikContext();\r\n\r\n const [fileDescrption, setFilesDescription] = useState('You may upload a maximum of 5 files; each file should be less than 4MB.');\r\n const [fileSizeLimit, setFileSizeLimit] = useState('4');\r\n const [fileNumberLimit, setFileNumberLimit] = useState(5);\r\n\r\n useEffect(() => {\r\n const getFileInfo = async (): Promise => {\r\n getValidFilesConfig().then((responseBody) => {\r\n if (responseBody) {\r\n const infringementData = responseBody.find((response) => response.FormType === FormType.INFRINGEMENTEXTENSION);\r\n if (infringementData?.Description) {\r\n setFilesDescription(infringementData?.Description);\r\n }\r\n if (infringementData?.FileSize) {\r\n setFileSizeLimit(Math.floor(infringementData?.FileSize / 1000000).toString());\r\n context.setFieldValue('FileSizeLimitSupportingDoc', Math.floor(infringementData?.FileSize / 1000000).toString());\r\n }\r\n if (infringementData?.MaxAttachments) {\r\n setFileNumberLimit(parseInt(infringementData.MaxAttachments, 10));\r\n }\r\n }\r\n });\r\n };\r\n getFileInfo();\r\n }, []);\r\n return (\r\n <>\r\n
Supporting documentation
\r\n

\r\n You are required to download, sign and attach a statutory declaration.\r\n

\r\n {' '}\r\n

\r\n Visit\r\n {' '}\r\n \r\n Find a form\r\n \r\n {' '}\r\n to download the statutory declaration template. The statutory declaration must be signed in the presence of an authorised witness.\r\n

\r\n

\r\n At\r\n {' '}\r\n \r\n Find a form\r\n \r\n {' '}\r\n you can also download and complete any other relevant applications, such as a nomination statement or court request, and upload these at the same time, along with any supporting evidence.\r\n

\r\n

\r\n {fileDescrption}\r\n

\r\n\r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtStep6;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { INVALID_NUMERIC_FORMAT } from '@services/ErrorMessages';\r\nimport { AddressField, ContactInput, EmailFieldAccessible, TextInput, TileRadioAccessible } from '@components';\r\nimport { iContactInfoDisplay, tile } from '@interfaces/interfaces';\r\nimport { iInfringementExtensionFormValues } from '@services/InfringementExtensionService';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\ninterface iContactInformation {\r\n displayObject: iContactInfoDisplay;\r\n currentStep: string;\r\n}\r\n\r\nfunction CompanyInformationInfringementExtension({ displayObject, currentStep }: iContactInformation): ReactElement {\r\n const { values, touched }: { values: iInfringementExtensionFormValues; touched: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const Abn = (): ReactElement => (\r\n <>\r\n
ABN
\r\n \r\n );\r\n\r\n const Acn = (): ReactElement => (\r\n <>\r\n
ACN
\r\n \r\n );\r\n\r\n const ABNACN_TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'ABN',\r\n },\r\n {\r\n body: ,\r\n value: 'ACN',\r\n },\r\n ];\r\n\r\n const PostalAddress = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NotPostalAddress = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const POSTAL_TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const validateAbnAsync = (value: string) => {\r\n const url = `${API_URL}sitecore/PartialForms/ABNLookUp`;\r\n const payload = {\r\n InputNumber: value,\r\n };\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.text())\r\n .then((responseBody) => {\r\n if (responseBody === 'False') {\r\n return 'Please enter a valid ABN';\r\n }\r\n return '';\r\n })\r\n .catch((error) => error);\r\n };\r\n\r\n const validateAcnAsync = (value: string) => {\r\n const url = `${API_URL}sitecore/PartialForms/ACNLookUp`;\r\n const payload = {\r\n InputNumber: value,\r\n };\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.text())\r\n .then((responseBody) => {\r\n if (responseBody === 'False') {\r\n return 'Please enter a valid ACN';\r\n }\r\n return '';\r\n })\r\n .catch((error) => error);\r\n };\r\n if (values.NoEmail) {\r\n values.EMAIL_TO = 'false';\r\n }\r\n const { givenName, familyName, companyPosition, contactNumber, noEmailAddress, emailAddress, emailTo, receiveDocs, companyName, ABNACNType, ABNNo, ACNNo, companyAddress, isAddressSameAsPostal, postalAddress } = displayObject.fields;\r\n return (\r\n <>\r\n
Details
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!values[noEmailAddress.formikName] && (\r\n \r\n )}\r\n
\r\n Company details\r\n \r\n {\r\n formikContext.setFieldValue(ABNNo.formikName, '');\r\n formikContext.setFieldTouched(ABNNo.formikName, false);\r\n formikContext.setFieldError(ABNNo.formikName, INVALID_NUMERIC_FORMAT);\r\n formikContext.setFieldValue(ACNNo.formikName, '');\r\n formikContext.setFieldTouched(ACNNo.formikName, false);\r\n formikContext.setFieldError(ACNNo.formikName, INVALID_NUMERIC_FORMAT);\r\n }}\r\n />\r\n {getIn(values, ABNACNType.formikName) === 'ABN' && }\r\n {getIn(values, ABNACNType.formikName) === 'ACN' && }\r\n \r\n \r\n {getIn(values, isAddressSameAsPostal.formikName) === 'true' && (\r\n \r\n )}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default CompanyInformationInfringementExtension;\r\n","import { ReactElement } from 'react';\r\nimport { infringementExtensionContactInfoDisplayObject, infringementExtensionCompanyInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport CompanyInformationInfringementExtension from '@components/CompanyInformation/CompanyInformationInfringementExtension';\r\nimport { iInfringementExtensionFormValues } from '@services/InfringementExtensionService';\r\nimport { useFormikContext } from 'formik';\r\nimport { ContactInformationAccessible } from '@components/index';\r\n\r\nfunction InfringementExtStep7(): ReactElement {\r\n const currentSp = 'Select if you do not have an email address';\r\n const { values }: { values: iInfringementExtensionFormValues; touched: any } = useFormikContext();\r\n return (\r\n <>\r\n {values.isDebtorTypeIndividual\r\n && }\r\n {values.isDebtorTypeCompany\r\n && }\r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtStep7;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Summary } from '@components';\r\nimport { iInfringementExtensionFormValues, getSummaryScreen } from '@services/InfringementExtensionService';\r\n\r\nfunction InfringementExtStep8(): ReactElement {\r\n const { values }: { values: iInfringementExtensionFormValues } = useFormikContext();\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default InfringementExtStep8;\r\n","import { ReactElement } from 'react';\r\nimport { CheckboxInputAccessible } from '@components';\r\nimport { useFormikContext, Field } from 'formik';\r\nimport { iInfringementExtensionFormValues } from '@services/InfringementExtensionService';\r\n\r\nfunction InfringementExtStep9(): ReactElement {\r\n const { values }: { values: iInfringementExtensionFormValues } = useFormikContext();\r\n return (\r\n <>\r\n
Declaration
\r\n { values.isDebtorTypeIndividual && (\r\n
\r\n

I authorise Fines Victoria to disclose my personal information to the enforcement agencies that issued the fine(s), the Magistrates’ Court and any person whose evidence I rely on in support of this application.

\r\n

I understand that Fines Victoria may update its records with my contact details provided on this form, and that I may be contacted regarding my outstanding fines.

\r\n

I declare that the information supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that if I make a false or misleading statement in support of this application, I may be prosecuted.

\r\n
\r\n )}\r\n { values.isDebtorTypeCompany && (\r\n
\r\n

I authorise Fines Victoria to disclose my personal information to the enforcement agencies that issued the fine(s), the Magistrates’ Court of Victoria and any person whose evidence the company relies on in support of this application.

\r\n

I understand that Fines Victoria may update its records with my contact details provided on this form, and that I may be contacted regarding the company’s outstanding fines.

\r\n

I declare that the information supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that if I make a false or misleading statement in support of this application, I or the company may be prosecuted.

\r\n
\r\n )}\r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtStep9;\r\n","import { ReactElement, useState, useEffect } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, TileRadioAccessible } from '@components';\r\nimport FormSubmissionSuccessAlertContent from '@components/Content/AlertContent/FormSubmissionSuccessAlertContent';\r\nimport { iInfringementExtensionFormValues } from '@services/InfringementExtensionService';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { navToError } from '@utils/Navigation';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\n\r\nimport DoneIcon from '../../../../images/done.svg';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction InfringementExtStep10(): ReactElement {\r\n const { values }: { values: iInfringementExtensionFormValues } = useFormikContext();\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const currentDomain = window.location.origin;\r\n const currentFormName = 'Infringement Ext'; // due to DB limitation only 20 chars allowed\r\n const [referenceID, setreferenceID] = useState('00000000-0000-0000-0000-000000000000');\r\n const [surveyUrl, setSurveyUrl] = useState(`${currentDomain}/survey?Source=${currentFormName}&Id=${referenceID}`);\r\n const [feedbackOptions, setFeedbackOptions] = useState({});\r\n let emailAddress;\r\n let pageLoad = 0;\r\n // eslint-disable-next-line no-unused-expressions\r\n values.isDebtorTypeIndividual\r\n ? emailAddress = values.IndividualEmail! : emailAddress = values.CompanyEmail!;\r\n // eslint-disable-next-line no-unused-expressions, no-nested-ternary\r\n const sendEmailCopy = values.isDebtorTypeIndividual\r\n ? ((!values.IndividualHasNoEmail && values.IndividualEmailTo === 'true') ? 'true' : 'false') : ((!values.CompanyHasNoEmail && values.CompanyEmailTo === 'true') ? 'true' : 'false');\r\n const submissionNumber = values.submissionNo!;\r\n const DifficultMessage = (): ReactElement => (\r\n // TODO - Connect to Sitecore to make this content manageable.\r\n <>\r\n \r\n How can we improve? Would you like to\r\n {' '}\r\n \r\n take a survey\r\n \r\n {' '}\r\n ?\r\n \r\n \r\n );\r\n const getKeyByValue = (object: {[key: string]: string}, value: string) => Object.entries(object).find(([, v]) => v === value)?.[0];\r\n const TILE_DATA: tile[] = feedbackOptions\r\n ? Object.values(feedbackOptions).map((option) => ({\r\n body: <>
{option as string}
,\r\n value: (option as string),\r\n }))\r\n : [];\r\n\r\n useEffect(() => {\r\n if (!submissionNumber) navToError(navigate, location);\r\n }, []);\r\n\r\n useEffect(() => {\r\n async function fetchData() {\r\n const feedbackOptionID = feedbackOptions ? getKeyByValue(feedbackOptions, values.FormExperience) : '{00000000-0000-0000-0000-0000000000}';\r\n try {\r\n const currentDT = new Date().toISOString();\r\n const response = await fetch(`${API_URL}sitecore/Feedback/UpdateFeedbackForm`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({\r\n ReferenceId: referenceID,\r\n Source: currentFormName,\r\n Date: currentDT,\r\n SitecoreItemId: feedbackOptionID,\r\n Value: values.FormExperience,\r\n IsSurveyCompleted: false\r\n })\r\n });\r\n const data = await response.json();\r\n const referenceIdRes = data;\r\n // Update the message state with the API response\r\n setreferenceID(referenceIdRes);\r\n setSurveyUrl(`${currentDomain}/survey?Source=${currentFormName}&Id=${referenceIdRes}`);\r\n } catch (error) {\r\n console.log('Error fetching data:', error);\r\n }\r\n }\r\n async function fetchOptions() {\r\n try {\r\n const response = await fetch(`${API_URL}sitecore/Feedback/getFeedbackOptions`, {\r\n method: 'GET',\r\n });\r\n const data = await response.json();\r\n const parsedData = JSON.parse(data);\r\n setFeedbackOptions(parsedData);\r\n console.log(parsedData);\r\n } catch (error) {\r\n console.log('Error fetching data:', error);\r\n }\r\n }\r\n if (Object.keys(feedbackOptions).length === 0 && feedbackOptions.constructor === Object && pageLoad === 0) {\r\n fetchOptions();\r\n pageLoad += 1;\r\n }\r\n if (values.FormExperience !== undefined && values.FormExperience !== '') {\r\n fetchData();\r\n }\r\n }, [values.FormExperience]);\r\n return (\r\n
\r\n Your application has been successfully submitted\r\n }\r\n icon={DoneIcon}\r\n theme=\"success\"\r\n color=\"green\"\r\n />\r\n \r\n \r\n {values.FormExperience === 'Difficult'\r\n && (\r\n <>\r\n }\r\n icon={InfoIcon}\r\n theme=\"info2\"\r\n />\r\n \r\n )}\r\n {(values.FormExperience && values.FormExperience !== 'Difficult')\r\n && (\r\n <>\r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default InfringementExtStep10;\r\n","import { ReactElement, useEffect, useRef, useState } from 'react';\r\nimport { Form, Formik, FormikProps, getIn } from 'formik';\r\nimport FormContainer from '@pages/FormContainer';\r\nimport { defaultForm, InfringementExtensionMetaData, InfringementExtensionSchema, iInfringementExtensionFormValues, getSubmissionPayload } from '@services/InfringementExtensionService';\r\nimport { FormNavFooter, FormLoading, Alert, ProgressBar } from '@components/index';\r\nimport { Route, Routes, useLocation, useNavigate } from 'react-router-dom';\r\nimport ReactGA from 'react-ga';\r\nimport { FormType } from '@constants';\r\nimport { iToolTips, iCountry, iApiError, iFormNavActions, iFVSCheckboxAll, iPartialFormData } from '@interfaces/interfaces';\r\nimport { getCountryList, getPartialForm, getTooltips, savePartialForm, submitSavedPartialForm } from '@api';\r\n\r\nimport { navigateToError, getStringIndex, navigateToNextStep, getDateForValidateDebtor, setFormDataValues, setCurrentFormikValues, navToError } from '@utils';\r\n\r\nimport ErrorContent from '@components/Content/AlertContent/ErrorContent';\r\n\r\nimport VicFinesContext from '../VicFinesFormContext';\r\nimport { InfringementExtErrorPage, InfringementExtStep0, InfringementExtStep1, InfringementExtStep10, InfringementExtStep2, InfringementExtStep3, InfringementExtStep4, InfringementExtStep5, InfringementExtStep6, InfringementExtStep7, InfringementExtStep8, InfringementExtStep9 } from '.';\r\n\r\nimport IssueIcon from '../../../images/issue.svg';\r\n\r\nconst {\r\n REACT_APP_SITECORE_API_ENDPOINT: API_URL,\r\n REACT_APP_PATH_INFRINGEMENT_EXTENSION: PATH_IE,\r\n} = process.env;\r\n\r\nfunction InfringementExtension(): ReactElement {\r\n const formikValuesRef = useRef({} as FormikProps);\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const pathElementArray = location.pathname.split('/');\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n // example returned [step0,3224242] or [step0]\r\n const stepArray = pathElementArray.slice(stepIndexDiff);\r\n // example returned 0\r\n const stepIndexInPath = getStringIndex(stepArray, 'step');\r\n // always get the element contain step like step0\r\n const getStepInPath = stepArray[stepIndexInPath];\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const pathNameUpperCase = location.pathname.toLowerCase();\r\n const currentStep = pathNameUpperCase === `${PATH_IE}` || pathNameUpperCase === `${PATH_IE}/` ? 'step0' : `${getStepInPath}`;\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [countryList, setCountryList] = useState([]);\r\n const [tooltips, setTooltips] = useState({} as iToolTips);\r\n const [apiError, setApiError] = useState({} as iApiError);\r\n const [activeError, setActiveError] = useState(false);\r\n const partialFormAttachmentFields = ['SelectedObligationsStep9', 'SupportingAttachments', 'SignedDeclarationAttachment', 'OtherSupportingAttachments'];\r\n const arrayFieldsToBeCleared = [\r\n 'ActionsTakenOnFine',\r\n 'obligations',\r\n 'infringementFineArray',\r\n 'enteredObligationsArray',\r\n 'InfringementNums',\r\n 'AgencyNames',\r\n 'AOffence',\r\n 'DAOffence',\r\n ];\r\n\r\n // const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n const fetchData = async (): Promise => {\r\n try {\r\n const [countryResults, tooltipResults] = await Promise.all([getCountryList(), getTooltips('fines.InfringementExtensionForm')]);\r\n setCountryList(countryResults);\r\n setTooltips(tooltipResults);\r\n setLoading(false);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n fetchData();\r\n const handlePopstate = () => {\r\n const isSubmitted = formikValuesRef.current && formikValuesRef.current.values ? formikValuesRef.current.values?.submitted : false;\r\n\r\n if (window.location.pathname === '/infringement-extension/step9' || isSubmitted) {\r\n navigate({\r\n pathname: '/infringement-extension/step10',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/infringement-extension/step2') && !isSubmitted) {\r\n navigate({\r\n pathname: '/infringement-extension/step3',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/infringement-extension/error') && !isSubmitted) {\r\n navigate({\r\n pathname: '/infringement-extension/error',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/infringement-extension/step1') && !isSubmitted && formikValuesRef && formikValuesRef.current) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', '');\r\n formikValuesRef.current.setFieldTouched('OBLIGATION_NUMBER');\r\n formikValuesRef.current.setFieldValue('OFFENCE_DATE', '');\r\n formikValuesRef.current.setFieldValue('DRIVER_LICENCE', '');\r\n }\r\n };\r\n window.addEventListener('popstate', handlePopstate);\r\n // document.addEventListener('keyup', redirectUrl);\r\n return () => {\r\n window.removeEventListener('popstate', handlePopstate);\r\n // document.removeEventListener('keydown', redirectUrl);\r\n };\r\n }, []);\r\n\r\n const postObligation = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n // remove whitespaces before and after obligation number\r\n const trimmedObligationNumber = formikContext.values.OBLIGATION_NUMBER.trim();\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', trimmedObligationNumber);\r\n const payload = {\r\n obligationNumber: trimmedObligationNumber,\r\n };\r\n const url = `${API_URL}sitecore/InfringementExtension/ValidateObligation`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 422 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n const nextPageUrl = `${pathNameLessLastSegment}${'/step2'}`;\r\n if (responseBody.obligationNumber) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', responseBody.obligationNumber);\r\n }\r\n if (responseBody.Message === 'showBoth') {\r\n formikValuesRef.current.setFieldValue('isOfficerIssued', true);\r\n } else if (responseBody.Message === 'showFourteenDays') {\r\n formikValuesRef.current.setFieldValue('isOfficerIssued', false);\r\n }\r\n setApiError({\r\n Error: '',\r\n });\r\n navigate(nextPageUrl);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n const checkExistingForm = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n formType: FormType.INFRINGEMENTEXTENSION,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CheckingExistingForm`;\r\n\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n if (responseBody.PartialFormID) formikValuesRef.current.setFieldValue('PartialFormID', responseBody.PartialFormID);\r\n if (responseBody.DebtorID) formikValuesRef.current.setFieldValue('DebtorID', responseBody.DebtorID, formikContext);\r\n if (responseBody.CheckingExisting === 'no' && responseBody.CanSave) {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step3`);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n if (responseBody.PartialFormID) {\r\n getPartialForm(responseBody.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikValuesRef.current.values.FormData, formikValuesRef, 'FormData');\r\n setCurrentFormikValues(formData, formikValuesRef.current.values, formikValuesRef);\r\n } else if (resBody[key]) {\r\n formikContext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => console.log(e));\r\n } else {\r\n setLoading(false);\r\n }\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n window.scrollTo(0, 0);\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const resetPFormDataValues = (partialFormApi: any, formikObject: any) => {\r\n if (partialFormApi && formikObject) {\r\n // clone data format like objectkey: [{},{}]\r\n if (\r\n Array.isArray(partialFormApi)\r\n && partialFormApi[0]\r\n && typeof partialFormApi[0] === 'object'\r\n && Array.isArray(formikObject)\r\n && (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n type dynamicObj = {\r\n [key: string]: string;\r\n };\r\n const temp = {} as dynamicObj;\r\n Object.keys(val).forEach((key) => {\r\n temp[key] = val[key];\r\n });\r\n formikObject.push(temp);\r\n });\r\n }\r\n // handle scenario if formikObject is empty array , it's for ObjectKey:[] or string[]\r\n if (\r\n Array.isArray(partialFormApi)\r\n && partialFormApi[0]\r\n && typeof partialFormApi[0] === 'string'\r\n && Array.isArray(formikObject)\r\n && (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n formikObject.push(val);\r\n });\r\n }\r\n if (partialFormApi && formikObject) {\r\n Object.keys(partialFormApi).forEach((key) => {\r\n if (key in formikObject) {\r\n if (typeof partialFormApi[key] === 'object' && !(partialFormApi[key] instanceof Date)) {\r\n if (partialFormAttachmentFields.includes(key) || arrayFieldsToBeCleared.includes(key)) {\r\n // eslint-disable-next-line no-param-reassign\r\n formikObject[key] = [];\r\n }\r\n resetPFormDataValues(partialFormApi[key], formikObject[key]);\r\n } else {\r\n // eslint-disable-next-line no-param-reassign\r\n formikObject[key] = partialFormApi[key];\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n const step2NextPage = () => {\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const validateDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n // Backend api is checking date time for some reasons, time need to be 14:00:00\r\n const getOffenceDate = formikContext.values.OFFENCE_DATE && getDateForValidateDebtor(formikContext.values.OFFENCE_DATE.toLocaleDateString('en-AU'));\r\n const getHearingDate = formikContext.values.HEARING_DATE && getDateForValidateDebtor(formikContext.values.HEARING_DATE.toLocaleDateString('en-AU'));\r\n const getDOBDate = formikContext.values.DOB && getDateForValidateDebtor(formikContext.values.DOB.toLocaleDateString('en-AU'));\r\n // const dateObj = getTheDate.split('/');\r\n // const specificedDateString = `${dateObj[2]}-${dateObj[1]}-${dateObj[0]}`;\r\n const payload = {\r\n dateOfBirth: getDOBDate,\r\n hearingDate: getHearingDate,\r\n licenceNumber: formikContext.values.DRIVER_LICENCE,\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n offenceDate: getOffenceDate,\r\n registrationNumber: formikContext.values.VEHICLE_REGISTRATION,\r\n };\r\n const url = `${API_URL}sitecore/InfringementExtension/ValidateDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n setApiError({\r\n Error: '',\r\n });\r\n if (responseBody === '/step4') {\r\n step2NextPage();\r\n }\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n checkExistingForm(formikContext);\r\n };\r\n\r\n const createPartialForm = async (formikContext: any): Promise => {\r\n if (formikContext.values.SaveYesNo === 'false' || getIn(formikContext.values, 'PartialFormID')) {\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n setLoading(true);\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formikContext.values.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: formikContext.values.saveEmail,\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ a: '1', ...formikContext.values.FormData }),\r\n FormTypeID: 8,\r\n ID: 0,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n Mobile: formikContext.values.saveMobile,\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n if (responseBody.ID) {\r\n formikValuesRef.current.setFieldValue('PartialFormID', responseBody.ID);\r\n formikValuesRef.current.setFieldValue('Obligations', responseBody.Obligations);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const updatePartialFormData = async (formikContext: any): Promise => {\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const partialformPayload: iPartialFormData = {\r\n ID: formikContext.values.PartialFormID,\r\n Obligations: formikContext.values.Obligations,\r\n Attachments: [],\r\n FormData: JSON.stringify(formikContext.values.FormData), // {a: '1'},formikContext.values.FormData\r\n DebtorID: formikContext.values.DebtorID,\r\n FormTypeID: 8,\r\n Email: formikContext.values.saveEmail,\r\n Mobile: formikContext.values.saveMobile,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n EMRemeinderSent: formikContext.values.EMRemeinderSent,\r\n SMSRemeinderSent: formikContext.values.SMSRemeinderSent,\r\n CreateDate: formikContext.values.CreateDate,\r\n ExpiryDate: formikContext.values.ExpiryDate,\r\n };\r\n try {\r\n const response = await savePartialForm(partialformPayload);\r\n return response;\r\n } catch (error) {\r\n console.log(error);\r\n return false;\r\n }\r\n };\r\n const step3NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const fetchRegObligationNums = (selectedObligations: iFVSCheckboxAll[], authorisedObligation: string) => [\r\n authorisedObligation,\r\n ...selectedObligations.filter((e: iFVSCheckboxAll) => e.checked).map(({ number }: { number: string }) => number),\r\n ];\r\n const step5NextPage = async (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n setLoading(true);\r\n const payload = fetchRegObligationNums(formikContext.values.SelectedObligationsStep5, formikContext.values.AuthorisedObligation.Number);\r\n await formikContext.setFieldValue('SelectedObligations', payload);\r\n navigateToNextStep(navigate, location, 'next');\r\n setLoading(false);\r\n };\r\n const step6NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const step7NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const step8NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const step9NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const formNavActions: iFormNavActions = {\r\n step1: {\r\n next: postObligation,\r\n },\r\n step2: {\r\n next: validateDebtor,\r\n },\r\n step3: {\r\n next: step3NextPage,\r\n },\r\n step4: {\r\n next: createPartialForm,\r\n },\r\n step5: {\r\n next: step5NextPage,\r\n },\r\n step6: {\r\n next: step6NextPage,\r\n },\r\n step7: {\r\n next: step7NextPage,\r\n },\r\n step8: {\r\n next: step8NextPage,\r\n },\r\n step: {\r\n next: step9NextPage,\r\n }\r\n };\r\n\r\n const clearApiError = () => {\r\n setApiError({\r\n Error: '',\r\n });\r\n };\r\n\r\n const displayErrorsCount = (errorCount: number, touchedFields: number): void => {\r\n if (touchedFields === 0) {\r\n setActiveError(true);\r\n } else if (errorCount > 0) {\r\n setActiveError(true);\r\n } else {\r\n setActiveError(false);\r\n }\r\n };\r\n\r\n const createPartialFormForSumbit = async (formValues: iInfringementExtensionFormValues): Promise => {\r\n formikValuesRef.current.setFieldValue('SaveYesNo', 'true');\r\n resetPFormDataValues(formikValuesRef.current.values, formValues.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formValues.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: '',\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ ...formValues.FormData, SaveYesNo: 'true' }),\r\n FormTypeID: 8,\r\n ID: 0,\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n Mobile: '',\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formValues.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (responseBody.status === 200) {\r\n return 'true';\r\n }\r\n return responseBody;\r\n } catch (error) {\r\n return `${error}`;\r\n }\r\n };\r\n\r\n const submitForm = async (formValues: iInfringementExtensionFormValues): Promise => {\r\n // const submissionNumber = '234';\r\n const formSubmissionValues = getSubmissionPayload(formValues);\r\n const submitPayload = {\r\n data: JSON.stringify(formSubmissionValues),\r\n obligationNo: formValues.OBLIGATION_NUMBER\r\n };\r\n\r\n const urlSubmission = `${API_URL}sitecore/InfringementExtension/SubmitInfringementExtensionForm`;\r\n let submitResponse = false;\r\n setLoading(true);\r\n submitResponse = await fetch(urlSubmission, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(submitPayload),\r\n })\r\n .then((formSubResponse) => {\r\n if (formSubResponse.status === 200) {\r\n if (formValues.SaveYesNo === 'true') {\r\n // having partial form, close it\r\n submitSavedPartialForm(formValues.PartialFormID);\r\n }\r\n formikValuesRef.current.setFieldValue('submitted', true);\r\n ReactGA.event({\r\n category: 'Infringement Extension Form',\r\n action: 'Submit',\r\n label: 'Infringement Extension Form',\r\n });\r\n // navigate to submission success\r\n return formSubResponse.json();\r\n }\r\n formikValuesRef.current.setFieldValue('submissionError', formSubResponse.statusText);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }).then((response) => {\r\n if (response) {\r\n if (response.receiptNo) {\r\n formikValuesRef.current.setFieldValue('submissionNo', response.receiptNo); // get submission number from API response\r\n return true;\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }\r\n return false;\r\n }).catch((error) => {\r\n formikValuesRef.current.setFieldValue('submissionError', error);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n console.log(error);\r\n navToError(navigate, location);\r\n return false;\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n if (!submitResponse) return false;\r\n return true;\r\n };\r\n return (\r\n {\r\n submitForm(values);\r\n }}>\r\n {({ values }) => (\r\n \r\n \r\n {loading && }\r\n {!loading && (\r\n
\r\n \r\n {activeError && } theme=\"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\n } />\r\n \r\n\r\n {!(location.pathname === `${PATH_IE}/step10` || location.pathname === `${PATH_IE}/error`) && (\r\n submitForm(values)}\r\n tooltips={tooltips}\r\n displayErrorsCount={displayErrorsCount}\r\n pageValidationKeys={InfringementExtensionMetaData.pagesSegments[currentStep].validationKeys(values)}\r\n formType={FormType.INFRINGEMENTEXTENSION}\r\n firstPageNo={0}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default InfringementExtension;\r\n","/* eslint-disable func-names */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable no-nested-ternary */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport * as Yup from 'yup';\r\nimport { iFormMetaData, iAttachments, iAddress, iContactMin, iSummary, iObligation } from '@interfaces/interfaces';\r\nimport { ProgressStep, FormType, ABN_MIN_LENGTH, ACN_MIN_LENGTH } from '@constants';\r\nimport { ADDRESS_FIELD_CHARS_REGEX, COMPANY_NAME_REGEX, CONTACT_NUMBER_REGEX, EMAIL_SPECIAL_CHARS_REGEX, FREE_TEXT_FIELD_REGEX, NAMES_FIELDS_REGEX, OBLIGATION_REGEX, POSITION_IN_COMPANY_REGEX, POST_CODE_REGEX, VEHICLE_REGISTRATION_REGEX } from '@services/ValidationRules';\r\n\r\nimport { FormikValues } from 'formik';\r\n// import { INVALID_FILE_SIZE_ERROR_MESSAGE } from '@pages/forms/nomination/Step6/NominationStep6';\r\nimport { EMPTY_DATE, FILE_UPLOAD_FAIL, INVALID_ADDRESS_FIELD_ERROR, INVALID_COMPANY_NAME, INVALID_EMAIL, INVALID_FREE_TEXT_FIELD_FORMAT, INVALID_FUTURE_DATE, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION, INVALID_INPUT_LONGER_THAN_10_CHARS, INVALID_INPUT_LONGER_THAN_200_CHARS, INVALID_INPUT_LONGER_THAN_50_CHARS, INVALID_INPUT_LONGER_THAN_75_CHARS, INVALID_INPUT_LONGER_THAN_80_CHARS, INVALID_LICENCE_FORMAT_NOMINATION, INVALID_MOBILE_NUMBER_FORMAT, INVALID_NAME_FORMAT_NEW, INVALID_NUMERIC_FORMAT, INVALID_OBLIGATION_NUMBER, INVALID_OFFENCE_FIND_OUT_DATE, INVALID_PHONE_NUMBER, INVALID_PHONE_NUMBER_LENGTH, INVALID_POSITION_IN_COMPANY_FIELD, INVALID_POST_CODE_NOMINATION, INVALID_VEHICLE_REGISTRATION_NUMBER, INVALID_VEHICLE_REGISTRATION_NUMBER_LENGTH, INVALID_YESNO_FORMAT, MISSING_DECLARATION_AGREEMENT, INVALID_PHONE_NUMBER_LENGTH_15, INVALID_INPUT_LONGER_THAN_15_CHARS, INVALID_ACN, INVALID_ABN, INVALID_INPUT_LONGER_THAN_25_CHARS } from './ErrorMessages';\r\nimport keys from './PageValidationKeys';\r\n\r\nconst { NOMINATION } = FormType;\r\n\r\nconst today = new Date();\r\n\r\nexport interface iPartialFormData {\r\n a: string;\r\n submitted: boolean;\r\n InfringementNoticeNumber: string;\r\n // Step1 Field\r\n OBLIGATION_NUMBER: string;\r\n // Step2 Fields\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n // Step 3 fields\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n\r\n // Step 4\r\n isThePersonNamed: string;\r\n Status: string;\r\n DebtorType: string;\r\n isDebtorTypeIndividual: boolean;\r\n // Step 5\r\n SelectedGroundInfo: string,\r\n FineStage: string,\r\n HasBeenNominatedBefore: boolean,\r\n OffenceType: string,\r\n IsMarineOffence: boolean,\r\n IsTsvOffence: boolean,\r\n IsSeriousOffence: boolean,\r\n selectTheOption: string;\r\n closeTheOption: string;\r\n // Step 6 someone else\r\n WhoAreYouNominating: string;\r\n // person details\r\n GivenNamesSomeoneElse: string;\r\n FamilyNameSomeoneElse: string;\r\n DOBSomeoneElse: Date | null;\r\n DOBYesNoSomeoneElse: boolean;\r\n DriverLicenseSomeoneElse: string;\r\n LicenceStateSomeoneElse: string;\r\n StatecountryOfIssueSomeoneElse: string;\r\n NoDriverLicenseSomeoneElse: boolean;\r\n TaxDriverAccNumber: string;\r\n ResidentialAddressSomeoneElse: iAddress;\r\n NoResidentialAddressSomeoneElse: string;\r\n NoEmailSomeoneElse: string;\r\n EmailSomeoneElse: string;\r\n IndividualContactNumberSomeoneElse: iContactMin;\r\n NoContactNumberSomeoneElse: string;\r\n // company details\r\n CompanyNameSomeoneElse: string;\r\n AbnacnTypeSomeoneElse: string;\r\n AcnNoSomeoneElse: string;\r\n isACNValidSomeoneElse: boolean;\r\n NoOrgContactNumberSomeoneElse: boolean;\r\n AbnNoSomeoneElse: string;\r\n isABNValidSomeoneElse: boolean;\r\n CompanyStreetAddressSomeoneElse: iAddress;\r\n OrganisationContactNumberSomeoneElse: iContactMin;\r\n CompanyEmailSomeOneElse: string;\r\n CompanyEmailYesNoSomeOneElse: boolean;\r\n\r\n // Step 7\r\n TransferedVicRoads: string;\r\n DateSellOrDispose: Date | null;\r\n EvidenceSoldOrDispose: iAttachments[];\r\n EvidenceSoldOrDisposeNameField: string;\r\n EvidenceSoldOrDisposeProvider: string;\r\n EvidenceSoldOrDisposeFilesDescription: string;\r\n EvidenceSoldOrDisposeErrorHandle: boolean;\r\n EvidenceSoldOrDisposeSizeErrorHandle: boolean;\r\n EvidenceSoldOrDisposeFileUploadErrorHandle: boolean;\r\n EvidenceSoldOrDisposeFileSectionError: string;\r\n WhoAreYouNominatingSoldDispose: string;\r\n // step 7 person\r\n GivenNamesSoldDisposed: string;\r\n FamilyNameSoldDisposed: string;\r\n DOBSoldDisposed: Date | null;\r\n DOBYesNoSoldDisposed: boolean;\r\n DriverLicenseSoldDisposed: string;\r\n LicenceStateSoldDisposed: string;\r\n StatecountryOfIssueSoldDisposed: string;\r\n NoDriverLicenseSoldDisposed: boolean;\r\n ResidentialAddressSoldDisposed: iAddress;\r\n NoEmailSoldDisposed: string;\r\n EmailSoldDisposed: string;\r\n IndividualContactNumberSoldDisposed: iContactMin;\r\n NoContactNumberSoldDisposed: string;\r\n // step 7 Company\r\n CompanyNameSoldDisposed: string;\r\n AbnacnTypeSoldDisposed: string;\r\n AcnNoSoldDisposed: string;\r\n isACNValidSoldDisposed: boolean;\r\n OrganisationContactNumberYesNoSoldDisposed: string;\r\n AbnNoSoldDisposed: string;\r\n isABNValidSoldDisposed: boolean;\r\n CompanyStreetAddressSoldDisposed: iAddress;\r\n OrganisationContactNumberSoldDisposed: iContactMin;\r\n NoOrgContactNumberSoldDisposed: boolean;\r\n CompanyEmailSoldDisposed: string;\r\n CompanyEmailYesNoSoldDisposed: string;\r\n // Step 8\r\n VictoriaPoliceReferenceNumber: string;\r\n\r\n VehicleOrIdentificationStolenOrFalse: iAttachments[];\r\n VehicleOrIdentificationStolenOrFalseNameField: string;\r\n VehicleOrIdentificationStolenOrFalseProvider: string;\r\n VehicleOrIdentificationStolenOrFalseDescription: string;\r\n VehicleOrIdentificationStolenOrFalseErrorHandle: boolean;\r\n VehicleOrIdentificationStolenOrFalseSizeErrorHandle: boolean;\r\n VehicleOrIdentificationStolenOrFalseFileUploadErrorHandle: boolean;\r\n VehicleOrIdentificationStolenOrFalseFileSectionError: string;\r\n\r\n // Step 9\r\n IncorrectNominationExplanation: string;\r\n\r\n RejectionSupportingDocs: iAttachments[];\r\n RejectionSupportingDocsNameField: string;\r\n RejectionSupportingDocsProvider: string;\r\n RejectionSupportingDocsDescription: string;\r\n RejectionSupportingDocsErrorHandle: boolean;\r\n RejectionSupportingDocsSizeErrorHandle: boolean;\r\n RejectionSupportingDocsFileUploadErrorHandle: boolean;\r\n RejectionSupportingDocsFileSectionError: string;\r\n\r\n // Step 10\r\n UnableToIdentifyExplanation: string;\r\n\r\n UnableToIdentify: iAttachments[];\r\n UnableToIdentifyNameField: string;\r\n UnableToIdentifyProvider: string;\r\n UnableToIdentifyDescription: string;\r\n UnableToIdentifyErrorHandle: boolean;\r\n UnableToIdentifySizeErrorHandle: boolean;\r\n UnableToIdentifyFileUploadErrorHandle: boolean;\r\n UnableToIdentifyFileSectionError: string;\r\n // Step 11\r\n // person\r\n GivenNamesYourDetails: string;\r\n FamilyNameYourDetails: string;\r\n DOBYourDetails: Date | null;\r\n DriverLicenseYourDetails: string;\r\n LicenceStateYourDetails: string;\r\n StatecountryOfIssueYourDetails: string;\r\n NoDriverLicenseYourDetails: string;\r\n IndividualPostalAddressYourDetails: iAddress;\r\n DifferentToPostalYourDetails: string;\r\n ResidentialAddressYourDetails: iAddress;\r\n NoEmailYourDetails: string;\r\n EmailYourDetails: string;\r\n IndividualContactNumberYourDetails: iContactMin;\r\n NoContactNumberYourDetails: string;\r\n // company\r\n GivenNamesYourDetailsCompany: string;\r\n FamilyNameYourDetailsCompany: string;\r\n PositionInCompanyYourDetailsCompany: string;\r\n OrganisationContactNumberYourDetailsCompany: iContactMin;\r\n NoOrgContactNumberYourDetails: string;\r\n CompanyEmailYourDetails: string;\r\n CompanyEmailYesNoYourDetails: string;\r\n CompanyNameYourDetailsCompany: string;\r\n AbnacnTypeYourDetails: string;\r\n AcnNoYourDetails: string;\r\n isACNValidYourDetails: boolean;\r\n OrganisationContactNumberYesNoYourDetails: string;\r\n AbnNoYourDetails: string;\r\n isABNValidYourDetails: boolean;\r\n CompanyStreetAddressYourDetails: iAddress;\r\n DifferentToStreetAddressYourDetails: string;\r\n CompanyPostalAddressYourDetails: iAddress;\r\n // Step 12\r\n CheckAndConfirmPageLoaded: boolean;\r\n // Step 14\r\n nominationConsentToDeclaration: boolean;\r\n}\r\ninterface iPartialFormObligations {\r\n ID: number;\r\n ObligationNO: string;\r\n IsPrimary: boolean;\r\n}\r\nexport interface iCommonNominationValues {\r\n [key: string]: string | Date | boolean | null | iAttachments[] | iPartialFormData | iPartialFormObligations[] | number | iAddress | iContactMin | iObligation | iObligation[];\r\n OBLIGATION_NUMBER: string;\r\n isOfficerIssued: boolean | null;\r\n // Step 2\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n // Step 3 fields\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n IsSubscribedEM: boolean;\r\n IsSubscribedSMS: boolean;\r\n EMRemeinderSent: boolean;\r\n SMSRemeinderSent: boolean;\r\n // Step 4\r\n isThePersonNamed: string;\r\n Status: string;\r\n DebtorType: string;\r\n isDebtorTypeIndividual: boolean;\r\n // Partial Forms\r\n ID: string;\r\n PartialFormID: string;\r\n FormData: iPartialFormData;\r\n Obligations: iPartialFormObligations[];\r\n}\r\n\r\nexport interface iNominationFormValues extends iCommonNominationValues {\r\n InfringementNumber: string;\r\n InfringementNoticeNumber: string;\r\n DebtorId: number;\r\n isDebtorTypeIndividual: boolean;\r\n alreadySavedForm: boolean;\r\n // Step 5\r\n SelectedGroundInfo: string,\r\n FineStage: string,\r\n HasBeenNominatedBefore: boolean,\r\n OffenceType: string,\r\n IsMarineOffence: boolean,\r\n IsTsvOffence: boolean,\r\n IsSeriousOffence: boolean,\r\n selectTheOption: string;\r\n closeTheOption: string;\r\n // Step 6 someone else\r\n WhoAreYouNominating: string;\r\n // person details\r\n GivenNamesSomeoneElse: string;\r\n FamilyNameSomeoneElse: string;\r\n DOBSomeoneElse: Date | null;\r\n DOBYesNoSomeoneElse: boolean;\r\n DriverLicenseSomeoneElse: string;\r\n LicenceStateSomeoneElse: string;\r\n StatecountryOfIssueSomeoneElse: string;\r\n NoDriverLicenseSomeoneElse: boolean;\r\n TaxDriverAccNumber: string;\r\n ResidentialAddressSomeoneElse: iAddress;\r\n NoResidentialAddressSomeoneElse: string;\r\n NoEmailSomeoneElse: string;\r\n EmailSomeoneElse: string;\r\n IndividualContactNumberSomeoneElse: iContactMin;\r\n NoContactNumberSomeoneElse: string;\r\n // company details\r\n CompanyNameSomeoneElse: string;\r\n AbnacnTypeSomeoneElse: string;\r\n AcnNoSomeoneElse: string;\r\n isACNValidSomeoneElse: boolean;\r\n NoOrgContactNumberSomeoneElse: boolean;\r\n AbnNoSomeoneElse: string;\r\n isABNValidSomeoneElse: boolean;\r\n CompanyStreetAddressSomeoneElse: iAddress;\r\n OrganisationContactNumberSomeoneElse: iContactMin;\r\n CompanyEmailSomeOneElse: string;\r\n CompanyEmailYesNoSomeOneElse: boolean;\r\n\r\n // Step 7\r\n TransferedVicRoads: string;\r\n DateSellOrDispose: Date | null;\r\n FileUploadSizeConfig: number;\r\n FileUploadDescriptionConfig: string;\r\n FileUploadMaxAttachmentsConfig: number;\r\n EvidenceSoldOrDispose: iAttachments[];\r\n EvidenceSoldOrDisposeNameField: string;\r\n EvidenceSoldOrDisposeProvider: string;\r\n EvidenceSoldOrDisposeFilesDescription: string;\r\n EvidenceSoldOrDisposeErrorHandle: boolean;\r\n EvidenceSoldOrDisposeSizeErrorHandle: boolean;\r\n EvidenceSoldOrDisposeFileUploadErrorHandle: boolean;\r\n EvidenceSoldOrDisposeFileSectionError: string;\r\n // step 7 person\r\n WhoAreYouNominatingSoldDispose: string;\r\n GivenNamesSoldDisposed: string;\r\n FamilyNameSoldDisposed: string;\r\n DOBSoldDisposed: Date | null;\r\n DOBYesNoSoldDisposed: boolean;\r\n DriverLicenseSoldDisposed: string;\r\n LicenceStateSoldDisposed: string;\r\n StatecountryOfIssueSoldDisposed: string;\r\n NoDriverLicenseSoldDisposed: boolean;\r\n ResidentialAddressSoldDisposed: iAddress;\r\n NoEmailSoldDisposed: string;\r\n EmailSoldDisposed: string;\r\n IndividualContactNumberSoldDisposed: iContactMin;\r\n NoContactNumberSoldDisposed: string;\r\n // step 7 Company\r\n CompanyNameSoldDisposed: string;\r\n AbnacnTypeSoldDisposed: string;\r\n AcnNoSoldDisposed: string;\r\n isACNValidSoldDisposed: boolean;\r\n OrganisationContactNumberYesNoSoldDisposed: string;\r\n AbnNoSoldDisposed: string;\r\n isABNValidSoldDisposed: boolean;\r\n CompanyStreetAddressSoldDisposed: iAddress;\r\n OrganisationContactNumberSoldDisposed: iContactMin;\r\n NoOrgContactNumberSoldDisposed: boolean;\r\n CompanyEmailSoldDisposed: string;\r\n CompanyEmailYesNoSoldDisposed: string;\r\n\r\n // Step 8\r\n VictoriaPoliceReferenceNumber: string;\r\n VehicleOrIdentificationStolenOrFalse: iAttachments[];\r\n VehicleOrIdentificationStolenOrFalseNameField: string;\r\n VehicleOrIdentificationStolenOrFalseProvider: string;\r\n VehicleOrIdentificationStolenOrFalseDescription: string;\r\n VehicleOrIdentificationStolenOrFalseErrorHandle: boolean;\r\n VehicleOrIdentificationStolenOrFalseSizeErrorHandle: boolean;\r\n VehicleOrIdentificationStolenOrFalseFileUploadErrorHandle: boolean;\r\n VehicleOrIdentificationStolenOrFalseFileSectionError: string;\r\n\r\n // Step 9\r\n IncorrectNominationExplanation: string;\r\n\r\n RejectionSupportingDocs: iAttachments[];\r\n RejectionSupportingDocsNameField: string;\r\n RejectionSupportingDocsProvider: string;\r\n RejectionSupportingDocsDescription: string;\r\n RejectionSupportingDocsErrorHandle: boolean;\r\n RejectionSupportingDocsSizeErrorHandle: boolean;\r\n RejectionSupportingDocsFileUploadErrorHandle: boolean;\r\n RejectionSupportingDocsFileSectionError: string;\r\n\r\n // Step 10\r\n UnableToIdentifyExplanation: string;\r\n\r\n UnableToIdentify: iAttachments[];\r\n UnableToIdentifyNameField: string;\r\n UnableToIdentifyProvider: string;\r\n UnableToIdentifyDescription: string;\r\n UnableToIdentifyErrorHandle: boolean;\r\n UnableToIdentifySizeErrorHandle: boolean;\r\n UnableToIdentifyFileUploadErrorHandle: boolean;\r\n UnableToIdentifyFileSectionError: string;\r\n // Step 11\r\n // person\r\n GivenNamesYourDetails: string;\r\n FamilyNameYourDetails: string;\r\n DOBYourDetails: Date | null;\r\n DriverLicenseYourDetails: string;\r\n LicenceStateYourDetails: string;\r\n StatecountryOfIssueYourDetails: string;\r\n NoDriverLicenseYourDetails: string;\r\n IndividualPostalAddressYourDetails: iAddress;\r\n DifferentToPostalYourDetails: string;\r\n ResidentialAddressYourDetails: iAddress;\r\n NoEmailYourDetails: string;\r\n EmailYourDetails: string;\r\n IndividualContactNumberYourDetails: iContactMin;\r\n NoContactNumberYourDetails: string;\r\n // company\r\n GivenNamesYourDetailsCompany: string;\r\n FamilyNameYourDetailsCompany: string;\r\n PositionInCompanyYourDetailsCompany: string;\r\n OrganisationContactNumberYourDetailsCompany: iContactMin;\r\n NoOrgContactNumberYourDetails: string;\r\n CompanyEmailYourDetails: string;\r\n CompanyEmailYesNoYourDetails: string;\r\n CompanyNameYourDetailsCompany: string;\r\n AbnacnTypeYourDetails: string;\r\n AcnNoYourDetails: string;\r\n isACNValidYourDetails: boolean;\r\n OrganisationContactNumberYesNoYourDetails: string;\r\n AbnNoYourDetails: string;\r\n isABNValidYourDetails: boolean;\r\n CompanyStreetAddressYourDetails: iAddress;\r\n DifferentToStreetAddressYourDetails: string;\r\n CompanyPostalAddressYourDetails: iAddress;\r\n // Step 12\r\n CheckAndConfirmPageLoaded: boolean;\r\n // Step 14\r\n nominationConsentToDeclaration: boolean;\r\n\r\n // Submission\r\n submissionNo: string;\r\n FormExperience: string;\r\n // Submission Error\r\n // submission error message\r\n submissionError: string;\r\n}\r\n\r\nexport const defaultForm = (): iNominationFormValues => {\r\n const defaultValues: iNominationFormValues = {\r\n OBLIGATION_NUMBER: '',\r\n isOfficerIssued: null,\r\n InfringementNumber: '',\r\n InfringementNoticeNumber: '',\r\n alreadySavedForm: false,\r\n // Step 2\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n DRIVER_LICENCE: '',\r\n VEHICLE_REGISTRATION: '',\r\n DOB: null,\r\n // Step 3\r\n WasHandedInPerson: '',\r\n OFFENCE_FIND_OUT_DATE: null,\r\n DebtorId: 0,\r\n // Step 3 save\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n EMRemeinderSent: false,\r\n SMSRemeinderSent: false,\r\n // Step 4\r\n isThePersonNamed: '',\r\n Status: '',\r\n DebtorType: '',\r\n isDebtorTypeIndividual: false,\r\n // Step 5\r\n SelectedGroundInfo: '',\r\n FineStage: '',\r\n HasBeenNominatedBefore: false,\r\n OffenceType: '',\r\n IsMarineOffence: false,\r\n IsTsvOffence: false,\r\n IsSeriousOffence: false,\r\n selectTheOption: '',\r\n closeTheOption: '',\r\n // Step 6 someone else\r\n WhoAreYouNominating: '',\r\n // person details\r\n GivenNamesSomeoneElse: '',\r\n FamilyNameSomeoneElse: '',\r\n DOBSomeoneElse: null,\r\n DOBYesNoSomeoneElse: false,\r\n DriverLicenseSomeoneElse: '',\r\n LicenceStateSomeoneElse: '',\r\n StatecountryOfIssueSomeoneElse: 'Australia',\r\n NoDriverLicenseSomeoneElse: false,\r\n TaxDriverAccNumber: '',\r\n ResidentialAddressSomeoneElse: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n NoResidentialAddressSomeoneElse: '',\r\n NoEmailSomeoneElse: '',\r\n EmailSomeoneElse: '',\r\n IndividualContactNumberSomeoneElse: {\r\n ContactNumber: '',\r\n },\r\n NoContactNumberSomeoneElse: '',\r\n // company details\r\n CompanyNameSomeoneElse: '',\r\n AbnacnTypeSomeoneElse: '',\r\n AcnNoSomeoneElse: '',\r\n isACNValidSomeoneElse: false,\r\n NoOrgContactNumberSomeoneElse: false,\r\n AbnNoSomeoneElse: '',\r\n isABNValidSomeoneElse: false,\r\n CompanyStreetAddressSomeoneElse: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n OrganisationContactNumberSomeoneElse: {\r\n ContactNumber: '',\r\n },\r\n CompanyEmailSomeOneElse: '',\r\n CompanyEmailYesNoSomeOneElse: false,\r\n // step 7\r\n TransferedVicRoads: '',\r\n DateSellOrDispose: null,\r\n FileUploadSizeConfig: 0,\r\n FileUploadDescriptionConfig: '',\r\n FileUploadMaxAttachmentsConfig: 0,\r\n EvidenceSoldOrDispose: [],\r\n EvidenceSoldOrDisposeNameField: '',\r\n EvidenceSoldOrDisposeProvider: '',\r\n EvidenceSoldOrDisposeFilesDescription: '',\r\n EvidenceSoldOrDisposeErrorHandle: false,\r\n EvidenceSoldOrDisposeSizeErrorHandle: false,\r\n EvidenceSoldOrDisposeFileUploadErrorHandle: false,\r\n EvidenceSoldOrDisposeFileSectionError: '',\r\n WhoAreYouNominatingSoldDispose: '',\r\n // step 7 person\r\n GivenNamesSoldDisposed: '',\r\n FamilyNameSoldDisposed: '',\r\n DOBSoldDisposed: null,\r\n DOBYesNoSoldDisposed: false,\r\n DriverLicenseSoldDisposed: '',\r\n LicenceStateSoldDisposed: '',\r\n StatecountryOfIssueSoldDisposed: 'Australia',\r\n NoDriverLicenseSoldDisposed: false,\r\n ResidentialAddressSoldDisposed: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n NoEmailSoldDisposed: '',\r\n EmailSoldDisposed: '',\r\n IndividualContactNumberSoldDisposed: {\r\n ContactNumber: '',\r\n },\r\n NoContactNumberSoldDisposed: '',\r\n // step 7 Company\r\n CompanyNameSoldDisposed: '',\r\n AbnacnTypeSoldDisposed: '',\r\n AcnNoSoldDisposed: '',\r\n isACNValidSoldDisposed: false,\r\n OrganisationContactNumberYesNoSoldDisposed: '',\r\n AbnNoSoldDisposed: '',\r\n isABNValidSoldDisposed: false,\r\n CompanyStreetAddressSoldDisposed: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n OrganisationContactNumberSoldDisposed: {\r\n ContactNumber: '',\r\n },\r\n NoOrgContactNumberSoldDisposed: false,\r\n CompanyEmailSoldDisposed: '',\r\n CompanyEmailYesNoSoldDisposed: '',\r\n // Step 8\r\n VictoriaPoliceReferenceNumber: '',\r\n\r\n VehicleOrIdentificationStolenOrFalse: [],\r\n VehicleOrIdentificationStolenOrFalseNameField: '',\r\n VehicleOrIdentificationStolenOrFalseProvider: '',\r\n VehicleOrIdentificationStolenOrFalseDescription: '',\r\n VehicleOrIdentificationStolenOrFalseErrorHandle: false,\r\n VehicleOrIdentificationStolenOrFalseSizeErrorHandle: false,\r\n VehicleOrIdentificationStolenOrFalseFileUploadErrorHandle: false,\r\n VehicleOrIdentificationStolenOrFalseFileSectionError: '',\r\n\r\n // Step 9\r\n IncorrectNominationExplanation: '',\r\n\r\n RejectionSupportingDocs: [],\r\n RejectionSupportingDocsNameField: '',\r\n RejectionSupportingDocsProvider: '',\r\n RejectionSupportingDocsDescription: '',\r\n RejectionSupportingDocsErrorHandle: false,\r\n RejectionSupportingDocsSizeErrorHandle: false,\r\n RejectionSupportingDocsFileUploadErrorHandle: false,\r\n RejectionSupportingDocsFileSectionError: '',\r\n\r\n // Step 10\r\n UnableToIdentifyExplanation: '',\r\n\r\n UnableToIdentify: [],\r\n UnableToIdentifyNameField: '',\r\n UnableToIdentifyProvider: '',\r\n UnableToIdentifyDescription: '',\r\n UnableToIdentifyErrorHandle: false,\r\n UnableToIdentifySizeErrorHandle: false,\r\n UnableToIdentifyFileUploadErrorHandle: false,\r\n UnableToIdentifyFileSectionError: '',\r\n\r\n // Step 11\r\n // person\r\n GivenNamesYourDetails: '',\r\n FamilyNameYourDetails: '',\r\n DOBYourDetails: null,\r\n DriverLicenseYourDetails: '',\r\n LicenceStateYourDetails: '',\r\n StatecountryOfIssueYourDetails: 'Australia',\r\n NoDriverLicenseYourDetails: '',\r\n IndividualPostalAddressYourDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToPostalYourDetails: '',\r\n ResidentialAddressYourDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n NoEmailYourDetails: '',\r\n EmailYourDetails: '',\r\n IndividualContactNumberYourDetails: {\r\n ContactNumber: '',\r\n },\r\n NoContactNumberYourDetails: '',\r\n // company\r\n GivenNamesYourDetailsCompany: '',\r\n FamilyNameYourDetailsCompany: '',\r\n PositionInCompanyYourDetailsCompany: '',\r\n OrganisationContactNumberYourDetailsCompany: {\r\n ContactNumber: '',\r\n },\r\n NoOrgContactNumberYourDetails: '',\r\n CompanyEmailYourDetails: '',\r\n CompanyEmailYesNoYourDetails: '',\r\n CompanyNameYourDetailsCompany: '',\r\n AbnacnTypeYourDetails: '',\r\n AcnNoYourDetails: '',\r\n isACNValidYourDetails: false,\r\n OrganisationContactNumberYesNoYourDetails: '',\r\n AbnNoYourDetails: '',\r\n isABNValidYourDetails: false,\r\n CompanyStreetAddressYourDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToStreetAddressYourDetails: '',\r\n CompanyPostalAddressYourDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n\r\n // Step 12\r\n CheckAndConfirmPageLoaded: false,\r\n // Step 14\r\n nominationConsentToDeclaration: false,\r\n\r\n // Submission\r\n submissionNo: '',\r\n FormExperience: '',\r\n // Submission Error\r\n submissionError: '',\r\n\r\n // Partial Forms\r\n ID: '',\r\n PartialFormID: '',\r\n Obligations: [],\r\n FormData: {\r\n a: '',\r\n // is submitted\r\n submitted: false,\r\n OBLIGATION_NUMBER: '',\r\n InfringementNoticeNumber: '',\r\n // Step 2\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n VEHICLE_REGISTRATION: '',\r\n DRIVER_LICENCE: '',\r\n DOB: null,\r\n\r\n // Step 4\r\n isThePersonNamed: '',\r\n Status: '',\r\n DebtorType: '',\r\n isDebtorTypeIndividual: false,\r\n // Step 3\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n\r\n // Step 5\r\n SelectedGroundInfo: '',\r\n FineStage: '',\r\n HasBeenNominatedBefore: false,\r\n OffenceType: '',\r\n IsMarineOffence: false,\r\n IsTsvOffence: false,\r\n IsSeriousOffence: false,\r\n selectTheOption: '',\r\n closeTheOption: '',\r\n // Step 6 someone else\r\n WhoAreYouNominating: '',\r\n // person details\r\n GivenNamesSomeoneElse: '',\r\n FamilyNameSomeoneElse: '',\r\n DOBSomeoneElse: null,\r\n DOBYesNoSomeoneElse: false,\r\n DriverLicenseSomeoneElse: '',\r\n LicenceStateSomeoneElse: '',\r\n StatecountryOfIssueSomeoneElse: '',\r\n NoDriverLicenseSomeoneElse: false,\r\n TaxDriverAccNumber: '',\r\n ResidentialAddressSomeoneElse: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n NoResidentialAddressSomeoneElse: '',\r\n NoEmailSomeoneElse: '',\r\n EmailSomeoneElse: '',\r\n IndividualContactNumberSomeoneElse: {\r\n ContactNumber: '',\r\n },\r\n NoContactNumberSomeoneElse: '',\r\n // company details\r\n CompanyNameSomeoneElse: '',\r\n AbnacnTypeSomeoneElse: '',\r\n AcnNoSomeoneElse: '',\r\n isACNValidSomeoneElse: false,\r\n NoOrgContactNumberSomeoneElse: false,\r\n AbnNoSomeoneElse: '',\r\n isABNValidSomeoneElse: false,\r\n CompanyStreetAddressSomeoneElse: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n OrganisationContactNumberSomeoneElse: {\r\n ContactNumber: '',\r\n },\r\n CompanyEmailSomeOneElse: '',\r\n CompanyEmailYesNoSomeOneElse: false,\r\n // step 7\r\n TransferedVicRoads: '',\r\n DateSellOrDispose: null,\r\n WhoAreYouNominatingSoldDispose: '',\r\n EvidenceSoldOrDispose: [],\r\n EvidenceSoldOrDisposeNameField: '',\r\n EvidenceSoldOrDisposeProvider: '',\r\n EvidenceSoldOrDisposeFilesDescription: '',\r\n EvidenceSoldOrDisposeErrorHandle: false,\r\n EvidenceSoldOrDisposeSizeErrorHandle: false,\r\n EvidenceSoldOrDisposeFileUploadErrorHandle: false,\r\n EvidenceSoldOrDisposeFileSectionError: '',\r\n // step 7 person\r\n GivenNamesSoldDisposed: '',\r\n FamilyNameSoldDisposed: '',\r\n DOBSoldDisposed: null,\r\n DOBYesNoSoldDisposed: false,\r\n DriverLicenseSoldDisposed: '',\r\n LicenceStateSoldDisposed: '',\r\n StatecountryOfIssueSoldDisposed: '',\r\n NoDriverLicenseSoldDisposed: false,\r\n ResidentialAddressSoldDisposed: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n NoEmailSoldDisposed: '',\r\n EmailSoldDisposed: '',\r\n IndividualContactNumberSoldDisposed: {\r\n ContactNumber: '',\r\n },\r\n NoContactNumberSoldDisposed: '',\r\n // step 7 Company\r\n CompanyNameSoldDisposed: '',\r\n AbnacnTypeSoldDisposed: '',\r\n AcnNoSoldDisposed: '',\r\n isACNValidSoldDisposed: false,\r\n OrganisationContactNumberYesNoSoldDisposed: '',\r\n AbnNoSoldDisposed: '',\r\n isABNValidSoldDisposed: false,\r\n CompanyStreetAddressSoldDisposed: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n OrganisationContactNumberSoldDisposed: {\r\n ContactNumber: '',\r\n },\r\n NoOrgContactNumberSoldDisposed: false,\r\n CompanyEmailSoldDisposed: '',\r\n CompanyEmailYesNoSoldDisposed: '',\r\n\r\n // Step 8\r\n VictoriaPoliceReferenceNumber: '',\r\n\r\n VehicleOrIdentificationStolenOrFalse: [],\r\n VehicleOrIdentificationStolenOrFalseNameField: '',\r\n VehicleOrIdentificationStolenOrFalseProvider: '',\r\n VehicleOrIdentificationStolenOrFalseDescription: '',\r\n VehicleOrIdentificationStolenOrFalseErrorHandle: false,\r\n VehicleOrIdentificationStolenOrFalseSizeErrorHandle: false,\r\n VehicleOrIdentificationStolenOrFalseFileUploadErrorHandle: false,\r\n VehicleOrIdentificationStolenOrFalseFileSectionError: '',\r\n\r\n // Step 9\r\n IncorrectNominationExplanation: '',\r\n RejectionSupportingDocs: [],\r\n RejectionSupportingDocsNameField: '',\r\n RejectionSupportingDocsProvider: '',\r\n RejectionSupportingDocsDescription: '',\r\n RejectionSupportingDocsErrorHandle: false,\r\n RejectionSupportingDocsSizeErrorHandle: false,\r\n RejectionSupportingDocsFileUploadErrorHandle: false,\r\n RejectionSupportingDocsFileSectionError: '',\r\n\r\n // Step 10\r\n UnableToIdentifyExplanation: '',\r\n\r\n UnableToIdentify: [],\r\n UnableToIdentifyNameField: '',\r\n UnableToIdentifyProvider: '',\r\n UnableToIdentifyDescription: '',\r\n UnableToIdentifyErrorHandle: false,\r\n UnableToIdentifySizeErrorHandle: false,\r\n UnableToIdentifyFileUploadErrorHandle: false,\r\n UnableToIdentifyFileSectionError: '',\r\n // Step 11\r\n // person\r\n GivenNamesYourDetails: '',\r\n FamilyNameYourDetails: '',\r\n DOBYourDetails: null,\r\n DriverLicenseYourDetails: '',\r\n LicenceStateYourDetails: '',\r\n StatecountryOfIssueYourDetails: 'Australia',\r\n NoDriverLicenseYourDetails: '',\r\n IndividualPostalAddressYourDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToPostalYourDetails: '',\r\n ResidentialAddressYourDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n NoEmailYourDetails: '',\r\n EmailYourDetails: '',\r\n IndividualContactNumberYourDetails: {\r\n ContactNumber: '',\r\n },\r\n NoContactNumberYourDetails: '',\r\n // company\r\n GivenNamesYourDetailsCompany: '',\r\n FamilyNameYourDetailsCompany: '',\r\n PositionInCompanyYourDetailsCompany: '',\r\n OrganisationContactNumberYourDetailsCompany: {\r\n ContactNumber: '',\r\n },\r\n NoOrgContactNumberYourDetails: '',\r\n CompanyEmailYourDetails: '',\r\n CompanyEmailYesNoYourDetails: '',\r\n CompanyNameYourDetailsCompany: '',\r\n AbnacnTypeYourDetails: '',\r\n AcnNoYourDetails: '',\r\n isACNValidYourDetails: false,\r\n OrganisationContactNumberYesNoYourDetails: '',\r\n AbnNoYourDetails: '',\r\n isABNValidYourDetails: false,\r\n CompanyStreetAddressYourDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToStreetAddressYourDetails: '',\r\n CompanyPostalAddressYourDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n // Step 12\r\n CheckAndConfirmPageLoaded: false,\r\n // Step 14\r\n nominationConsentToDeclaration: false,\r\n }\r\n };\r\n return defaultValues;\r\n};\r\n\r\nexport const NominationSchema = Yup.object().shape({\r\n saveEmail: Yup.string().matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL).email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n saveMobile: Yup.string()\r\n .min(10, INVALID_MOBILE_NUMBER_FORMAT)\r\n .max(10, INVALID_PHONE_NUMBER_LENGTH)\r\n .matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER)\r\n .required(INVALID_PHONE_NUMBER),\r\n SaveYesNo: Yup.string().required(INVALID_YESNO_FORMAT),\r\n SaveOptions: Yup.string().when('SaveYesNo', {\r\n is: 'true',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n OBLIGATION_NUMBER: Yup.string().matches(OBLIGATION_REGEX, INVALID_OBLIGATION_NUMBER).required(INVALID_NUMERIC_FORMAT),\r\n OFFENCE_DATE: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n HEARING_DATE: Yup.date().required(EMPTY_DATE).nullable(),\r\n DRIVER_LICENCE: Yup.string()\r\n .required(INVALID_NUMERIC_FORMAT)\r\n .matches(/^[a-zA-Z0-9 ]*$/, INVALID_LICENCE_FORMAT_NOMINATION)\r\n .max(25, INVALID_INPUT_LONGER_THAN_25_CHARS),\r\n VEHICLE_REGISTRATION: Yup.string().matches(VEHICLE_REGISTRATION_REGEX, INVALID_VEHICLE_REGISTRATION_NUMBER).max(12, INVALID_VEHICLE_REGISTRATION_NUMBER_LENGTH).required(INVALID_VEHICLE_REGISTRATION_NUMBER),\r\n DOB: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n OFFENCE_FIND_OUT_DATE: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE)\r\n .min(new Date(today.setDate(today.getDate() - 15)), INVALID_OFFENCE_FIND_OUT_DATE),\r\n WasHandedInPerson: Yup.string().required(INVALID_YESNO_FORMAT),\r\n\r\n DetailsForCircumstances: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n // step 4 validation\r\n isThePersonNamed: Yup.string().required(INVALID_NUMERIC_FORMAT).test('isThePersonNamed', '', (value) => value !== 'false'),\r\n // step 5 validation\r\n selectTheOption: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n // step 6 validations\r\n WhoAreYouNominating: Yup.string().required(INVALID_YESNO_FORMAT),\r\n GivenNamesSomeoneElse: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n FamilyNameSomeoneElse: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n TaxDriverAccNumber: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS),\r\n DriverLicenseSomeoneElse: Yup.string()\r\n .required(INVALID_NUMERIC_FORMAT)\r\n .matches(/^[a-zA-Z0-9 ]*$/, INVALID_LICENCE_FORMAT_NOMINATION)\r\n .max(25, INVALID_INPUT_LONGER_THAN_25_CHARS),\r\n StatecountryOfIssueSomeoneElse: Yup.string(),\r\n LicenceStateSomeoneElse: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n NoDriverLicenseSomeoneElse: Yup.boolean(),\r\n DOBSomeoneElse: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n ResidentialAddressSomeoneElse: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE_NOMINATION).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n otherwise: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n IndividualContactNumberSomeoneElse: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n EmailSomeoneElse: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n // step 6 company details\r\n CompanyNameSomeoneElse: Yup.string().matches(COMPANY_NAME_REGEX, INVALID_COMPANY_NAME).max(75, INVALID_INPUT_LONGER_THAN_75_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n AbnacnTypeSomeoneElse: Yup.string().required(INVALID_YESNO_FORMAT),\r\n AcnNoSomeoneElse: Yup.string().required(INVALID_NUMERIC_FORMAT)\r\n .min(ACN_MIN_LENGTH, INVALID_ACN)\r\n .test('is-valid', INVALID_ACN, function (value) {\r\n const { isACNValidSomeoneElse } = this.parent;\r\n return isACNValidSomeoneElse;\r\n }),\r\n AbnNoSomeoneElse: Yup.string().required(INVALID_NUMERIC_FORMAT)\r\n .min(ABN_MIN_LENGTH, INVALID_ABN)\r\n .test('is-valid', INVALID_ABN, function (value) {\r\n const { isABNValidSomeoneElse } = this.parent;\r\n return isABNValidSomeoneElse;\r\n }),\r\n\r\n CompanyStreetAddressSomeoneElse: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE_NOMINATION).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n otherwise: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n OrganisationContactNumberSomeoneElse: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n CompanyEmailSomeOneElse: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n // END step 6\r\n // step 7\r\n TransferedVicRoads: Yup.string().required(INVALID_YESNO_FORMAT),\r\n DateSellOrDispose: Yup.date()\r\n .required(EMPTY_DATE)\r\n .nullable()\r\n .when('OFFENCE_DATE', (OFFENCE_DATE, schema) => schema.when('IsMarineOffence', (IsMarineOffence: boolean, schemaInner: any) => schemaInner.test({\r\n test: (DateSellOrDispose: Date) => !DateSellOrDispose || DateSellOrDispose <= new Date(OFFENCE_DATE),\r\n message: `The date indicates you were still in possession of the ${IsMarineOffence ? 'vessel' : 'vehicle'} at the time of the offence.`,\r\n }))),\r\n WhoAreYouNominatingSoldDispose: Yup.string().required(INVALID_YESNO_FORMAT),\r\n EvidenceSoldOrDisposeSizeErrorHandle: Yup.boolean()\r\n .oneOf([false])\r\n .when('FileUploadSizeConfig', (FileUploadSizeConfig, schema) => (\r\n FileUploadSizeConfig\r\n ? schema.oneOf([false], `Sorry, this file is either too large (must be less than ${FileUploadSizeConfig}MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.'`)\r\n : schema\r\n )),\r\n EvidenceSoldOrDisposeFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n EvidenceSoldOrDisposeFileSectionError: Yup.boolean().when('EvidenceSoldOrDispose', {\r\n is: (EvidenceSoldOrDispose: []) => EvidenceSoldOrDispose.length < 1,\r\n then: Yup.boolean().required('Please attach a document'),\r\n }),\r\n // step 7 person\r\n GivenNamesSoldDisposed: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n FamilyNameSoldDisposed: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n DriverLicenseSoldDisposed: Yup.string()\r\n .required(INVALID_NUMERIC_FORMAT)\r\n .matches(/^[a-zA-Z0-9 ]*$/, INVALID_LICENCE_FORMAT_NOMINATION)\r\n .max(25, INVALID_INPUT_LONGER_THAN_25_CHARS),\r\n StatecountryOfIssueSoldDisposed: Yup.string(),\r\n LicenceStateSoldDisposed: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n NoDriverLicenseSoldDisposed: Yup.boolean(),\r\n DOBSoldDisposed: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n ResidentialAddressSoldDisposed: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE_NOMINATION).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n otherwise: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n IndividualContactNumberSoldDisposed: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n EmailSoldDisposed: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_EMAIL)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n // step 7 company\r\n CompanyNameSoldDisposed: Yup.string().matches(COMPANY_NAME_REGEX, INVALID_COMPANY_NAME).max(75, INVALID_INPUT_LONGER_THAN_75_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n AbnacnTypeSoldDisposed: Yup.string().required(INVALID_YESNO_FORMAT),\r\n AcnNoSoldDisposed: Yup.string().required(INVALID_NUMERIC_FORMAT)\r\n .min(ACN_MIN_LENGTH, INVALID_ACN)\r\n .test('is-valid', INVALID_ACN, function (value) {\r\n const { isACNValidSoldDisposed } = this.parent;\r\n return isACNValidSoldDisposed;\r\n }),\r\n AbnNoSoldDisposed: Yup.string().required(INVALID_NUMERIC_FORMAT)\r\n .min(ABN_MIN_LENGTH, INVALID_ABN)\r\n .test('is-valid', INVALID_ABN, function (value) {\r\n const { isABNValidSoldDisposed } = this.parent;\r\n return isABNValidSoldDisposed;\r\n }),\r\n OrganisationContactNumberSoldDisposed: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n CompanyStreetAddressSoldDisposed: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE_NOMINATION).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n otherwise: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n CompanyEmailSoldDisposed: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_EMAIL)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n // Step 8\r\n VictoriaPoliceReferenceNumber: Yup.string().ensure().max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).when('VehicleOrIdentificationStolenOrFalse', {\r\n is: (VehicleOrIdentificationStolenOrFalse: []) => VehicleOrIdentificationStolenOrFalse.length < 1,\r\n then: Yup.string().required('Please complete one or more fields to continue')\r\n }),\r\n VehicleOrIdentificationStolenOrFalseSizeErrorHandle: Yup.boolean()\r\n .oneOf([false])\r\n .when('FileUploadSizeConfig', (FileUploadSizeConfig, schema) => (\r\n FileUploadSizeConfig\r\n ? schema.oneOf([false], `Sorry, this file is either too large (must be less than ${FileUploadSizeConfig}MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.'`)\r\n : schema\r\n )),\r\n VehicleOrIdentificationStolenOrFalseFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n VehicleOrIdentificationStolenOrFalseFileSectionError: Yup.boolean().when('VehicleOrIdentificationStolenOrFalse', {\r\n is: (VehicleOrIdentificationStolenOrFalse: []) => VehicleOrIdentificationStolenOrFalse.length < 1,\r\n then: Yup.boolean().when('VictoriaPoliceReferenceNumber', {\r\n is: '',\r\n then: Yup.boolean().required('Please complete one or more fields on this page to continue')\r\n }),\r\n }),\r\n // Step 9\r\n IncorrectNominationExplanation: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n RejectionSupportingDocsSizeErrorHandle: Yup.boolean()\r\n .oneOf([false])\r\n .when('FileUploadSizeConfig', (FileUploadSizeConfig, schema) => (\r\n FileUploadSizeConfig\r\n ? schema.oneOf([false], `Sorry, this file is either too large (must be less than ${FileUploadSizeConfig}MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.'`)\r\n : schema\r\n )),\r\n RejectionSupportingDocsFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n // Step 10\r\n UnableToIdentifyExplanation: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n UnableToIdentifySizeErrorHandle: Yup.boolean()\r\n .oneOf([false])\r\n .when('FileUploadSizeConfig', (FileUploadSizeConfig, schema) => (\r\n FileUploadSizeConfig\r\n ? schema.oneOf([false], `Sorry, this file is either too large (must be less than ${FileUploadSizeConfig}MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.'`)\r\n : schema\r\n )),\r\n UnableToIdentifyFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n // Step 11\r\n // step 7 person\r\n GivenNamesYourDetails: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n FamilyNameYourDetails: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n DOBYourDetails: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n DriverLicenseYourDetails: Yup.string()\r\n .required(INVALID_NUMERIC_FORMAT)\r\n .matches(/^[a-zA-Z0-9 ]*$/, INVALID_LICENCE_FORMAT_NOMINATION)\r\n .max(25, INVALID_INPUT_LONGER_THAN_25_CHARS),\r\n StatecountryOfIssueYourDetails: Yup.string(),\r\n LicenceStateYourDetails: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n NoDriverLicenseYourDetails: Yup.boolean(),\r\n IndividualPostalAddressYourDetails: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE_NOMINATION).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n otherwise: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n DifferentToPostalYourDetails: Yup.string().required(INVALID_YESNO_FORMAT),\r\n ResidentialAddressYourDetails: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE_NOMINATION).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n otherwise: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n IndividualContactNumberYourDetails: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n EmailYourDetails: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_EMAIL)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n // step 7 company\r\n GivenNamesYourDetailsCompany: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n FamilyNameYourDetailsCompany: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n PositionInCompanyYourDetailsCompany: Yup.string().matches(POSITION_IN_COMPANY_REGEX, INVALID_POSITION_IN_COMPANY_FIELD).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n CompanyEmailYourDetails: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_EMAIL)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n CompanyNameYourDetailsCompany: Yup.string().matches(COMPANY_NAME_REGEX, INVALID_COMPANY_NAME).max(75, INVALID_INPUT_LONGER_THAN_75_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n AbnacnTypeYourDetails: Yup.string().required(INVALID_YESNO_FORMAT),\r\n AcnNoYourDetails: Yup.string().required(INVALID_NUMERIC_FORMAT)\r\n .min(ACN_MIN_LENGTH, INVALID_ACN)\r\n .test('is-valid', INVALID_ACN, function (value) {\r\n const { isACNValidYourDetails } = this.parent;\r\n return isACNValidYourDetails;\r\n }),\r\n AbnNoYourDetails: Yup.string().required(INVALID_NUMERIC_FORMAT)\r\n .min(ABN_MIN_LENGTH, INVALID_ABN)\r\n .test('is-valid', INVALID_ABN, function (value) {\r\n const { isABNValidYourDetails } = this.parent;\r\n return isABNValidYourDetails;\r\n }),\r\n OrganisationContactNumberYourDetailsCompany: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n CompanyStreetAddressYourDetails: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE_NOMINATION).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n otherwise: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n DifferentToStreetAddressYourDetails: Yup.string().required(INVALID_YESNO_FORMAT),\r\n CompanyPostalAddressYourDetails: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE_NOMINATION).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n otherwise: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n // Step 14\r\n nominationConsentToDeclaration: Yup.boolean().oneOf([true], MISSING_DECLARATION_AGREEMENT)\r\n});\r\n\r\nexport const NominationMetaData: iFormMetaData = {\r\n pagesSegments: {\r\n step0: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: () => [],\r\n },\r\n step1: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page1,\r\n },\r\n step2: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page2,\r\n },\r\n step3: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page3,\r\n },\r\n step4: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page4,\r\n },\r\n step5: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page5,\r\n },\r\n step6: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page6,\r\n },\r\n step7: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page7,\r\n },\r\n step8: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page8,\r\n },\r\n step9: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page9,\r\n },\r\n step10: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page10,\r\n },\r\n step11: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page11\r\n },\r\n step12: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page12,\r\n },\r\n step13: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page13,\r\n },\r\n step14: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => keys(values, NOMINATION).page14,\r\n }\r\n },\r\n};\r\nconst displayFileDetails = (attachment: iAttachments) => {\r\n if (attachment.FileName !== '' && attachment.FileDescription !== '') {\r\n return `${attachment.FileName} : ${attachment.FileDescription}`;\r\n }\r\n if (attachment.FileName !== '' && attachment.FileDescription === '') {\r\n return `${attachment.FileName}`;\r\n }\r\n return '';\r\n};\r\nconst joinAddressFields = (entry: string[]) => {\r\n if (entry[0] === 'Address' || entry[0] === 'SearchText') return null;\r\n if (entry[0] === 'Country') return entry[1];\r\n return entry[1];\r\n};\r\nexport const getSummaryScreen = (values: iNominationFormValues): iSummary[] => {\r\n // const checkOptSupportingDoc = values.SupportingDocuments.map((attachment) => displayFileDetails(attachment))\r\n // .filter(Boolean)\r\n // .join('\\n');\r\n const tSVBoatingMaringOffenceStr = values.IsMarineOffence || values.IsTsvOffence ? 'vessel' : 'vehicle';\r\n let displayThePage = '0';\r\n const selectedOption = values.selectTheOption;\r\n switch (true) {\r\n case selectedOption === 'SelectedGroundInfo0':\r\n displayThePage = '6';\r\n break;\r\n case selectedOption === 'SelectedGroundInfo1':\r\n displayThePage = '7';\r\n break;\r\n case selectedOption === 'SelectedGroundInfo2':\r\n displayThePage = '8';\r\n break;\r\n case selectedOption === 'SelectedGroundInfo3':\r\n displayThePage = '9';\r\n break;\r\n case selectedOption === 'SelectedGroundInfo4':\r\n displayThePage = '10';\r\n break;\r\n default:\r\n displayThePage = '0';\r\n break;\r\n }\r\n const page4 = {\r\n title: 'Are you the person named on the fine?',\r\n editLink: '/step4',\r\n fields: [\r\n [{\r\n title: 'Are you the person named on the fine?',\r\n value: values.isThePersonNamed === 'true' ? 'Yes' : 'No',\r\n }],\r\n ]\r\n };\r\n const page5 = {\r\n title: 'Which nomination statement applies?',\r\n editLink: '/step5',\r\n fields: [[\r\n {\r\n title: 'Which nomination statement applies?',\r\n value: values.SelectedGroundInfo,\r\n },\r\n ],\r\n ]\r\n };\r\n const page6 = {\r\n title: `Someone else was the person in possession of the ${tSVBoatingMaringOffenceStr} at the time of the offence`,\r\n editLink: '/step6',\r\n fields: values.WhoAreYouNominating === 'Company' ? [\r\n [{ title: 'Are you nominating a person or a company?', value: values.WhoAreYouNominating === 'Company' ? 'Company' : 'Person' }],\r\n [{ title: 'Company name', value: values.CompanyNameSomeoneElse }],\r\n [{ title: 'ACN or ABN (an ACN is preferred)', value: values.AbnacnTypeSomeoneElse }],\r\n [{ title: 'Enter the ACN/ABN number', value: values.AbnacnTypeSomeoneElse === 'ACN' ? values.AcnNoSomeoneElse : values.AbnNoSomeoneElse }],\r\n [\r\n {\r\n title: 'Street address',\r\n value: `${Object.entries(values.CompanyStreetAddressSomeoneElse)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact phone number', value: values.NoOrgContactNumberSomeoneElse === false ? values.OrganisationContactNumberSomeoneElse.ContactNumber : 'n/a' }],\r\n [{ title: 'Email address', value: values.CompanyEmailYesNoSomeOneElse === false ? values.CompanyEmailSomeOneElse : 'n/a' }],\r\n ] : [\r\n [{ title: 'Are you nominating a person or a company?', value: values.WhoAreYouNominating === 'true' ? 'Company' : 'Person' }],\r\n [{ title: 'Given name(s)', value: values.GivenNamesSomeoneElse }],\r\n [{ title: 'Family name', value: values.FamilyNameSomeoneElse }],\r\n [{ title: 'Date of birth', value: values.DOBSomeoneElse ? `${(`0${values.DOBSomeoneElse.getDate()}`).slice(-2)}/${(`0${values.DOBSomeoneElse.getMonth() + 1}`).slice(-2)}/${values.DOBSomeoneElse.getFullYear()}` : 'n/a' }],\r\n [{ title: 'Taxi driver accreditation number', value: values.TaxDriverAccNumber ? values.TaxDriverAccNumber : 'n/a' }],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Licence number', value: 'n/a' }\r\n : { title: 'Licence number', value: values.DriverLicenseSomeoneElse ? values.DriverLicenseSomeoneElse : 'n/a' },\r\n ],\r\n [\r\n values.NoDriverLicenseSomeoneElse\r\n ? { title: 'Place of issue', value: 'n/a' }\r\n : {\r\n title: 'Place of issue',\r\n value:\r\n // eslint-disable-next-line no-nested-ternary\r\n values.StatecountryOfIssueSomeoneElse === 'Australia' ? (values.LicenceStateSomeoneElse ? values.LicenceStateSomeoneElse : 'n/a') : values.StatecountryOfIssueSomeoneElse ? values.StatecountryOfIssueSomeoneElse : 'n/a',\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.ResidentialAddressSomeoneElse)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact number', value: values.NoContactNumberSomeoneElse.toString() !== 'true' ? values.IndividualContactNumberSomeoneElse.ContactNumber : 'n/a' }],\r\n [{ title: 'Email address', value: values.NoEmailSomeoneElse ? 'n/a' : values.EmailSomeoneElse }],\r\n ]\r\n };\r\n const page7 = {\r\n title: `The ${tSVBoatingMaringOffenceStr} was sold or permanently disposed of before the offence`,\r\n editLink: '/step7',\r\n fields: [\r\n [{ title: `Has the ${tSVBoatingMaringOffenceStr} been transferred with VicRoads?`, value: values.TransferedVicRoads === 'true' ? 'Yes' : 'No' }],\r\n [{ title: `What date did you sell or dispose of the ${tSVBoatingMaringOffenceStr}?`, value: values.DateSellOrDispose instanceof Date ? `${(`0${values.DateSellOrDispose.getDate()}`).slice(-2)}/${(`0${values.DateSellOrDispose.getMonth() + 1}`).slice(-2)}/${values.DateSellOrDispose?.getFullYear()}` : 'n/a' }],\r\n [\r\n {\r\n title: 'Supporting documents',\r\n value: values.EvidenceSoldOrDispose && values.EvidenceSoldOrDispose.length > 0 ? values.EvidenceSoldOrDispose.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n')\r\n : 'n/a',\r\n },\r\n ],\r\n ...(values.WhoAreYouNominatingSoldDispose === 'Company' ? [\r\n [{ title: 'Who are you nominating?', value: values.WhoAreYouNominatingSoldDispose === 'Company' ? 'Company' : 'Person' }],\r\n [{ title: 'Company name', value: values.CompanyNameSoldDisposed }],\r\n [{ title: 'ACN or ABN (an ACN is preferred)', value: values.AbnacnTypeSoldDisposed }],\r\n [{ title: 'Enter the ACN/ABN number', value: values.AbnacnTypeSoldDisposed === 'ACN' ? values.AcnNoSoldDisposed : values.AbnNoSoldDisposed }],\r\n [\r\n {\r\n title: 'Street address',\r\n value: `${Object.entries(values.CompanyStreetAddressSoldDisposed)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact phone number', value: values.NoOrgContactNumberSoldDisposed === false ? values.OrganisationContactNumberSoldDisposed.ContactNumber : 'n/a' }],\r\n [{ title: 'Email address', value: values.CompanyEmailSoldDisposed ? values.CompanyEmailSoldDisposed : 'n/a' }],\r\n ] : [\r\n [{ title: 'Given name(s)', value: values.GivenNamesSoldDisposed }],\r\n [{ title: 'Family name', value: values.FamilyNameSoldDisposed }],\r\n [{ title: 'Date of birth', value: values.DOBSoldDisposed instanceof Date ? `${(`0${values.DOBSoldDisposed.getDate()}`).slice(-2)}/${(`0${values.DOBSoldDisposed.getMonth() + 1}`).slice(-2)}/${values.DOBSoldDisposed.getFullYear()}` : 'n/a' }],\r\n [\r\n values.NoDriverLicenseSoldDisposed\r\n ? { title: 'Licence number', value: 'n/a' }\r\n : { title: 'Licence number', value: values.DriverLicenseSoldDisposed ? values.DriverLicenseSoldDisposed : 'n/a' },\r\n ],\r\n [\r\n values.NoDriverLicenseSoldDisposed\r\n ? { title: 'Place of issue', value: 'n/a' }\r\n : {\r\n title: 'Place of issue',\r\n value:\r\n // eslint-disable-next-line no-nested-ternary\r\n values.StatecountryOfIssueSoldDisposed === 'Australia' ? (values.LicenceStateSoldDisposed ? values.LicenceStateSoldDisposed : 'n/a') : values.StatecountryOfIssueSoldDisposed ? values.StatecountryOfIssueSoldDisposed : 'n/a',\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.ResidentialAddressSoldDisposed)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact number', value: values.NoContactNumberSoldDisposed.toString() !== 'true' ? values.IndividualContactNumberSoldDisposed.ContactNumber : 'n/a' }],\r\n [{ title: 'Email address', value: values.EmailSoldDisposed ? values.EmailSoldDisposed : 'n/a' }],\r\n ])\r\n ]\r\n };\r\n const page8 = {\r\n title: `The ${tSVBoatingMaringOffenceStr} or number plates were stolen or copied/cloned`,\r\n editLink: '/step8',\r\n fields: [[\r\n {\r\n title: 'Victoria Police reference number',\r\n value: values.VictoriaPoliceReferenceNumber && values.VictoriaPoliceReferenceNumber.length > 0 ? values.VictoriaPoliceReferenceNumber : 'n/a',\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Supporting documents',\r\n value: values.VehicleOrIdentificationStolenOrFalse && values.VehicleOrIdentificationStolenOrFalse.length > 0 ? values.VehicleOrIdentificationStolenOrFalse.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n')\r\n : 'n/a',\r\n },\r\n ],\r\n ]\r\n };\r\n const page9 = {\r\n title: 'Why are you rejecting the nomination?',\r\n editLink: '/step9',\r\n fields: [[\r\n {\r\n title: 'Explain why you believe your nomination is incorrect',\r\n value: values.IncorrectNominationExplanation,\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Supporting documents',\r\n value: values.RejectionSupportingDocs && values.RejectionSupportingDocs.length > 0 ? values.RejectionSupportingDocs.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n')\r\n : 'n/a',\r\n },\r\n ],\r\n ]\r\n };\r\n const page10 = {\r\n title: `You cannot identify who was in possession of the ${tSVBoatingMaringOffenceStr} at the time of the offence`,\r\n editLink: '/step10',\r\n fields: [[\r\n {\r\n title: 'Please tell us how you have tried to identify the person responsible for the offence',\r\n value: values.UnableToIdentifyExplanation,\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Supporting documents',\r\n value: values.UnableToIdentify && values.UnableToIdentify.length > 0 ? values.UnableToIdentify.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n')\r\n : 'n/a',\r\n },\r\n ],\r\n ]\r\n };\r\n const page11 = {\r\n title: 'Your details',\r\n editLink: '/step11',\r\n fields: !values.isDebtorTypeIndividual ? [\r\n [{ title: 'Given name(s)', value: values.GivenNamesYourDetailsCompany }],\r\n [{ title: 'Family name', value: values.FamilyNameYourDetailsCompany }],\r\n [{ title: 'Position in company', value: values.PositionInCompanyYourDetailsCompany }],\r\n [{ title: 'Contact phone number', value: values.NoOrgContactNumberYourDetails !== 'true' ? values.OrganisationContactNumberYourDetailsCompany.ContactNumber : 'n/a' }],\r\n values.CompanyEmailYesNoYourDetails !== 'true' ? [{ title: 'Email address', value: values.CompanyEmailYourDetails ? values.CompanyEmailYourDetails : 'n/a' }] : [],\r\n [{ title: 'Company name', value: values.CompanyNameYourDetailsCompany }],\r\n [{ title: 'ACN or ABN (an ACN is preferred)', value: values.AbnacnTypeYourDetails }],\r\n [{ title: 'Enter the ACN/ABN number', value: values.AbnacnTypeYourDetails === 'ACN' ? values.AcnNoYourDetails : values.AbnNoYourDetails }],\r\n [\r\n {\r\n title: \"Company's street address\",\r\n value: `${Object.entries(values.CompanyStreetAddressYourDetails)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.DifferentToStreetAddressYourDetails === 'true' ? [\r\n {\r\n title: \"Company's postal address\",\r\n value: `${Object.entries(values.CompanyPostalAddressYourDetails)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ] : [],\r\n ] : [\r\n [{ title: 'Given name(s)', value: values.GivenNamesYourDetails }],\r\n [{ title: 'Family name', value: values.FamilyNameYourDetails }],\r\n [{ title: 'Date of birth', value: values.DOBYourDetails ? `${(`0${values.DOBYourDetails.getDate()}`).slice(-2)}/${(`0${values.DOBYourDetails.getMonth() + 1}`).slice(-2)}/${values.DOBYourDetails.getFullYear()}` : 'n/a' }],\r\n [\r\n values.NoDriverLicenseYourDetails\r\n ? { title: 'Licence number', value: 'n/a' }\r\n : { title: 'Licence number', value: values.DRIVER_LICENCE ? values.DRIVER_LICENCE : 'n/a' },\r\n ],\r\n [\r\n values.NoDriverLicenseYourDetails\r\n ? { title: 'Place of issue', value: 'n/a' }\r\n : {\r\n title: 'Place of issue',\r\n value:\r\n // eslint-disable-next-line no-nested-ternary\r\n values.StatecountryOfIssueYourDetails === 'Australia' ? (values.LicenceStateYourDetails ? values.LicenceStateYourDetails : 'n/a') : values.StatecountryOfIssueYourDetails ? values.StatecountryOfIssueYourDetails : 'n/a',\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.IndividualPostalAddressYourDetails)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.DifferentToPostalYourDetails === 'true' ? [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.ResidentialAddressYourDetails)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ] : [],\r\n [{ title: 'Contact number', value: values.NoContactNumberYourDetails !== 'true' ? values.IndividualContactNumberYourDetails.ContactNumber : 'n/a' }],\r\n values.NoEmailYourDetails !== 'true' ? [{ title: 'Email address', value: values.EmailYourDetails ? values.EmailYourDetails : 'n/a' }] : [],\r\n ]\r\n };\r\n const pagesExtensionSummary: iSummary[] = [\r\n values.isDebtorTypeIndividual ? page4 : ({} as iSummary),\r\n page5,\r\n displayThePage === '6' ? page6 : ({} as iSummary),\r\n displayThePage === '7' ? page7 : ({} as iSummary),\r\n displayThePage === '8' ? page8 : ({} as iSummary),\r\n displayThePage === '9' ? page9 : ({} as iSummary),\r\n displayThePage === '10' ? page10 : ({} as iSummary),\r\n page11,\r\n ];\r\n const summarySections: iSummary[] = pagesExtensionSummary;\r\n return summarySections;\r\n};\r\n\r\nexport interface iSubmitNominationFormValues extends iCommonNominationValues {\r\n // OBLIGATION FIELDS\r\n YourObligationNumber: string;\r\n InfringementNoticeNumber: string;\r\n OffenceDate: string;\r\n WhichStatementBestDescribesYou: string;\r\n // Footer Pg 1\r\n FooterSubmissionNo1: string;\r\n FooterFormType1: string;\r\n FooterObligationNo1: string;\r\n FooterSubmittedTime1: string;\r\n // Footer Pg 2\r\n FooterSubmissionNo2: string;\r\n FooterFormType2: string;\r\n FooterObligationNo2: string;\r\n FooterSubmittedTime2: string;\r\n // Footer Pg 3\r\n FooterSubmissionNo3: string;\r\n FooterFormType3: string;\r\n FooterObligationNo3: string;\r\n FooterSubmittedTime3: string;\r\n\r\n // YOUR DETAILS\r\n YourGivenNames: string;\r\n YourFamilyName: string;\r\n // Contact Details\r\n YourContactNumber: string;\r\n YourEmailAddress: string;\r\n\r\n // Individual\r\n YourDateOfBirth: string;\r\n YourDriverLicenceNumber: string;\r\n YourPlaceOfIssue: string;\r\n YourStateOfIssue: string;\r\n // Postal address\r\n YourPostalLineOne: string;\r\n YourPostalLineTwo: string;\r\n YourPostalSuburb: string;\r\n YourPostalState: string;\r\n YourPostalPostcode: string;\r\n YourPostalCountry: string;\r\n // Residential Address\r\n YourResidentialLineOne: string;\r\n YourResidentialLineTwo: string;\r\n YourResidentialSuburb: string;\r\n YourResidentialState: string;\r\n YourResidentialPostcode: string;\r\n YourResidentialCountry: string;\r\n\r\n // Company\r\n YourPositionInCompany: string;\r\n\r\n // COMPANY DETAILS\r\n CompanyName: string;\r\n CompanyACNABN: string;\r\n CompanyACNABNNumber: string;\r\n // Street address\r\n CompanyStreetLineOne: string;\r\n CompanyStreetLineTwo: string;\r\n CompanyStreetSuburb: string;\r\n CompanyStreetState: string;\r\n CompanyStreetPostcode: string;\r\n CompanyStreetCountry: string;\r\n // Postal address\r\n CompanyPostalLineOne: string;\r\n CompanyPostalLineTwo: string;\r\n CompanyPostalSuburb: string;\r\n CompanyPostalState: string;\r\n CompanyPostalPostcode: string;\r\n CompanyPostalCountry: string;\r\n\r\n // GROUNDS FOR NOMINATION\r\n GroundsForNomination: string;\r\n VehicleTransferVicRoads: string;\r\n DateVehicleSoldDisposedOf: string;\r\n\r\n // PERSON OR COMPANY YOU ARE NOMINATING, WHO WAS IN POSSESSION OR CONTROL OF THE VEHICLE AT THE TIME OF THE OFFENCE\r\n NominatedGivenNames: string;\r\n NominatedFamilyName: string;\r\n NominatedDateOfBirth: string;\r\n NominatedTaxiDriverAccreditationNumber: string;\r\n NominatedDriverLicenceNumber: string;\r\n NominatedPlaceOfIssue: string;\r\n NominatedStateOfIssue: string;\r\n // Residential Address\r\n NominatedResidentialLineOne: string;\r\n NominatedResidentialLineTwo: string;\r\n NominatedResidentialSuburb: string;\r\n NominatedResidentialState: string;\r\n NominatedResidentialPostcode: string;\r\n NominatedResidentialCountry: string;\r\n // Contact Details\r\n NominatedContactNumber: string;\r\n NominatedEmailAddress: string;\r\n // Company Details\r\n NominatedCompanyName: string;\r\n NominatedACNABN: string;\r\n NominatedACNABNNumber: string;\r\n NominatedPositionInCompany: string;\r\n // Company Street Address\r\n NominatedCompanyStreetLineOne: string;\r\n NominatedCompanyStreetLineTwo: string;\r\n NominatedCompanySuburb: string;\r\n NominatedCompanyState: string;\r\n NominatedCompanyPostcode: string;\r\n NominatedCompanyCountry: string;\r\n // Contact Details\r\n NominatedCompanyContactNumber: string;\r\n NominatedCompanyEmailAddress: string;\r\n\r\n // WHY ARE YOU REJECTING THE NOMINATION/WHAT STEPS DID YOU TAKE TO IDENTIFY THE DRIVER?\r\n WhatStepsDidYouTake: string;\r\n\r\n // SUPPORTING MATERIAL\r\n NumberOfAttachments: number;\r\n PoliceReportReferenceNumber: string;\r\n\r\n // DECLARATION\r\n YourSignature: string;\r\n DeclarationDate: string;\r\n\r\n // Other - Backend Required\r\n ATTACHMENTS: string;\r\n OBLIGATION_NUMBER: string;\r\n EMAIL_TO: string;\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nexport const getReceiptPayload = (formValues: any): string => `{\r\n \"ID\": \"\",\r\n \"Receipt\": \"\",\r\n \"Obligations\": [\r\n {\r\n \"ID\": \"\",\r\n \"ObligationNO\": \"${formValues.OBLIGATION_NUMBER}\",\r\n \"IsPrimary\": \"true\",\r\n \"ReceptNumberId\": \"\"\r\n }\r\n ],\r\n \"SubmittedDate\": \"\",\r\n \"FormTypeId\": 3\r\n}`;\r\n\r\nexport const getSubmissionPayload = (formValues: iNominationFormValues, submissionNumber: string, nominationEndpoint: string): iSubmitNominationFormValues => {\r\n const submitFormValues = formValues;\r\n const now = new Date();\r\n const MONTH = (`0${now.getMonth() + 1}`).slice(-2);\r\n const DATE = (`0${now.getDate()}`).slice(-2);\r\n const YEAR = now.getFullYear();\r\n const MINUTE = (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();\r\n const SUBMITTED_TIME = `${now.getHours()}:${MINUTE} ${DATE}/${MONTH}/${YEAR}`;\r\n const FORM_TYPE = 'Nomination';\r\n const totalNumberOfAttachments = formValues.EvidenceSoldOrDispose?.length + formValues.VehicleOrIdentificationStolenOrFalse?.length + formValues.RejectionSupportingDocs?.length + formValues.UnableToIdentify?.length;\r\n let remoteAttachmentNames = '';\r\n const descriptionOfAttachmentsArray = [\r\n ...(formValues.EvidenceSoldOrDispose || []),\r\n ...(formValues.VehicleOrIdentificationStolenOrFalse || []),\r\n ...(formValues.RejectionSupportingDocs || []),\r\n ...(formValues.UnableToIdentify || []),\r\n ];\r\n if (descriptionOfAttachmentsArray) {\r\n descriptionOfAttachmentsArray.forEach((v) => {\r\n if (v.RemoteFileName) {\r\n remoteAttachmentNames += `${formValues.OBLIGATION_NUMBER}/${v.RemoteFileName}/${v.RemoteFileName}|`;\r\n }\r\n });\r\n }\r\n let groundsInfo = '';\r\n if (formValues.SelectedGroundInfo.includes('Someone else')) {\r\n groundsInfo = 'someoneElse';\r\n } else if (formValues.SelectedGroundInfo.includes('sold or permanently disposed')) {\r\n groundsInfo = 'sold/disposed';\r\n } else if (formValues.SelectedGroundInfo.includes('stolen or cloned/copied')) {\r\n groundsInfo = 'stolen/copied';\r\n } else if (formValues.SelectedGroundInfo.includes('wrongly nominated')) {\r\n groundsInfo = 'wrong';\r\n } else if (formValues.SelectedGroundInfo.includes('cannot identify ')) {\r\n groundsInfo = 'cantIdentify';\r\n }\r\n const submitObject: iSubmitNominationFormValues = {\r\n ...(submitFormValues as iCommonNominationValues),\r\n // OBLIGATION FIELDS\r\n YourObligationNumber: formValues.OBLIGATION_NUMBER ? formValues.OBLIGATION_NUMBER : '',\r\n InfringementNoticeNumber: formValues.InfringementNoticeNumber ? formValues.InfringementNoticeNumber : '',\r\n OffenceDate: formValues.OFFENCE_DATE ? `${(`0${formValues.OFFENCE_DATE.getDate()}`).slice(-2)}/${(`0${formValues.OFFENCE_DATE.getMonth() + 1}`).slice(-2)}/${formValues.OFFENCE_DATE.getFullYear()}` : '',\r\n WhichStatementBestDescribesYou: formValues.isDebtorTypeIndividual ? 'I am the person named on the fine' : 'I am an authorised company representative',\r\n // Footer Pg 1\r\n FooterSubmissionNo1: submissionNumber,\r\n FooterFormType1: FORM_TYPE,\r\n FooterObligationNo1: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime1: SUBMITTED_TIME,\r\n // Footer Pg 2\r\n FooterSubmissionNo2: submissionNumber,\r\n FooterFormType2: FORM_TYPE,\r\n FooterObligationNo2: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime2: SUBMITTED_TIME,\r\n // Footer Pg 3\r\n FooterSubmissionNo3: submissionNumber,\r\n FooterFormType3: FORM_TYPE,\r\n FooterObligationNo3: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime3: SUBMITTED_TIME,\r\n\r\n // YOUR DETAILS\r\n YourGivenNames: formValues.isDebtorTypeIndividual ? formValues.GivenNamesYourDetails : formValues.GivenNamesYourDetailsCompany,\r\n YourFamilyName: formValues.isDebtorTypeIndividual ? formValues.FamilyNameYourDetails : formValues.FamilyNameYourDetailsCompany,\r\n // Contact Details\r\n YourContactNumber: formValues.isDebtorTypeIndividual ? formValues.IndividualContactNumberYourDetails.ContactNumber : formValues.OrganisationContactNumberYourDetailsCompany.ContactNumber,\r\n YourEmailAddress: formValues.isDebtorTypeIndividual ? ((formValues.NoEmailYourDetails !== 'true') ? formValues.EmailYourDetails : '') : (formValues.CompanyEmailYesNoYourDetails !== 'true' ? formValues.CompanyEmailYourDetails : ''),\r\n // Individual\r\n YourDateOfBirth: formValues.DOBYourDetails ? `${(`0${formValues.DOBYourDetails.getDate()}`).slice(-2)}/${(`0${formValues.DOBYourDetails.getMonth() + 1}`).slice(-2)}/${formValues.DOBYourDetails.getFullYear()}` : '',\r\n YourDriverLicenceNumber: !formValues.NoDriverLicenseYourDetails ? formValues.DRIVER_LICENCE : '',\r\n YourPlaceOfIssue: !formValues.NoDriverLicenseYourDetails ? formValues.StatecountryOfIssueYourDetails : '',\r\n YourStateOfIssue: !formValues.NoDriverLicenseYourDetails ? (formValues.StatecountryOfIssueYourDetails === 'Australia') ? formValues.LicenceStateYourDetails : 'International' : '',\r\n // Postal address\r\n YourPostalLineOne: formValues.IndividualPostalAddressYourDetails.LineOne ? formValues.IndividualPostalAddressYourDetails.LineOne : '',\r\n YourPostalLineTwo: formValues.IndividualPostalAddressYourDetails.LineTwo ? formValues.IndividualPostalAddressYourDetails.LineTwo : '',\r\n YourPostalSuburb: formValues.IndividualPostalAddressYourDetails.Suburb ? formValues.IndividualPostalAddressYourDetails.Suburb : '',\r\n YourPostalState: formValues.IndividualPostalAddressYourDetails.State ? formValues.IndividualPostalAddressYourDetails.State : '',\r\n YourPostalPostcode: formValues.IndividualPostalAddressYourDetails.Postcode ? formValues.IndividualPostalAddressYourDetails.Postcode : '',\r\n YourPostalCountry: formValues.IndividualPostalAddressYourDetails.Country ? formValues.IndividualPostalAddressYourDetails.Country : '',\r\n // Residential Address Individual\r\n YourResidentialLineOne: (formValues.DifferentToPostalYourDetails === 'true') ? formValues.ResidentialAddressYourDetails.LineOne : formValues.IndividualPostalAddressYourDetails.LineOne,\r\n YourResidentialLineTwo: (formValues.DifferentToPostalYourDetails === 'true') ? formValues.ResidentialAddressYourDetails.LineTwo : formValues.IndividualPostalAddressYourDetails.LineTwo,\r\n YourResidentialSuburb: (formValues.DifferentToPostalYourDetails === 'true') ? formValues.ResidentialAddressYourDetails.Suburb : formValues.IndividualPostalAddressYourDetails.Suburb,\r\n YourResidentialState: (formValues.DifferentToPostalYourDetails === 'true') ? formValues.ResidentialAddressYourDetails.State : formValues.IndividualPostalAddressYourDetails.State,\r\n YourResidentialPostcode: (formValues.DifferentToPostalYourDetails === 'true') ? formValues.ResidentialAddressYourDetails.Postcode : formValues.IndividualPostalAddressYourDetails.Postcode,\r\n YourResidentialCountry: (formValues.DifferentToPostalYourDetails === 'true') ? formValues.ResidentialAddressYourDetails.Country : formValues.IndividualPostalAddressYourDetails.Country,\r\n\r\n // Company\r\n YourPositionInCompany: formValues.PositionInCompanyYourDetailsCompany ? formValues.PositionInCompanyYourDetailsCompany : '',\r\n\r\n // COMPANY DETAILS\r\n CompanyName: formValues.CompanyNameYourDetailsCompany ? formValues.CompanyNameYourDetailsCompany : '',\r\n CompanyACNABN: formValues.AbnacnTypeYourDetails ? formValues.AbnacnTypeYourDetails : '',\r\n CompanyACNABNNumber: (formValues.AbnacnTypeYourDetails === 'ACN') ? (formValues.AcnNoYourDetails ? formValues.AcnNoYourDetails : '') : (formValues.AbnNoYourDetails ? formValues.AbnNoYourDetails : ''),\r\n // Street address\r\n CompanyStreetLineOne: formValues.CompanyStreetAddressYourDetails.LineOne ? formValues.CompanyStreetAddressYourDetails.LineOne : '',\r\n CompanyStreetLineTwo: formValues.CompanyStreetAddressYourDetails.LineTwo ? formValues.CompanyStreetAddressYourDetails.LineTwo : '',\r\n CompanyStreetSuburb: formValues.CompanyStreetAddressYourDetails.Suburb ? formValues.CompanyStreetAddressYourDetails.Suburb : '',\r\n CompanyStreetState: formValues.CompanyStreetAddressYourDetails.State ? formValues.CompanyStreetAddressYourDetails.State : '',\r\n CompanyStreetPostcode: formValues.CompanyStreetAddressYourDetails.Postcode ? formValues.CompanyStreetAddressYourDetails.Postcode : '',\r\n CompanyStreetCountry: formValues.CompanyStreetAddressYourDetails.Country ? formValues.CompanyStreetAddressYourDetails.Country : '',\r\n // Postal address\r\n CompanyPostalLineOne: (formValues.DifferentToStreetAddressYourDetails === 'true') ? formValues.CompanyPostalAddressYourDetails.LineOne : formValues.CompanyStreetAddressYourDetails.LineOne,\r\n CompanyPostalLineTwo: (formValues.DifferentToStreetAddressYourDetails === 'true') ? formValues.CompanyPostalAddressYourDetails.LineTwo : formValues.CompanyStreetAddressYourDetails.LineTwo,\r\n CompanyPostalSuburb: (formValues.DifferentToStreetAddressYourDetails === 'true') ? formValues.CompanyPostalAddressYourDetails.Suburb : formValues.CompanyStreetAddressYourDetails.Suburb,\r\n CompanyPostalState: (formValues.DifferentToStreetAddressYourDetails === 'true') ? formValues.CompanyPostalAddressYourDetails.State : formValues.CompanyStreetAddressYourDetails.State,\r\n CompanyPostalPostcode: (formValues.DifferentToStreetAddressYourDetails === 'true') ? formValues.CompanyPostalAddressYourDetails.Postcode : formValues.CompanyStreetAddressYourDetails.Postcode,\r\n CompanyPostalCountry: (formValues.DifferentToStreetAddressYourDetails === 'true') ? formValues.CompanyPostalAddressYourDetails.Country : formValues.CompanyStreetAddressYourDetails.Country,\r\n\r\n // GROUNDS FOR NOMINATION\r\n GroundsForNomination: formValues.SelectedGroundInfo ? formValues.SelectedGroundInfo : '',\r\n VehicleTransferVicRoads: (formValues.TransferedVicRoads !== '') ? ((formValues.TransferedVicRoads === 'true') ? 'Yes' : 'No') : '',\r\n DateVehicleSoldDisposedOf: formValues.DateSellOrDispose ? `${(`0${formValues.DateSellOrDispose.getDate()}`).slice(-2)}/${(`0${formValues.DateSellOrDispose.getMonth() + 1}`).slice(-2)}/${formValues.DateSellOrDispose.getFullYear()}` : '',\r\n\r\n // PERSON OR COMPANY YOU ARE NOMINATING, WHO WAS IN POSSESSION OR CONTROL OF THE VEHICLE AT THE TIME OF THE OFFENCE\r\n NominatedGivenNames: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.GivenNamesSomeoneElse : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.GivenNamesSoldDisposed : ''),\r\n NominatedFamilyName: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.FamilyNameSomeoneElse : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.FamilyNameSoldDisposed : ''),\r\n NominatedDateOfBirth: (groundsInfo === 'someoneElse') ? (!formValues.DOBYesNoSomeoneElse ? ((formValues.WhoAreYouNominating === 'Person' && formValues.DOBSomeoneElse) ? `${(`0${formValues.DOBSomeoneElse.getDate()}`).slice(-2)}/${(`0${formValues.DOBSomeoneElse.getMonth() + 1}`).slice(-2)}/${formValues.DOBSomeoneElse.getFullYear()}` : '') : '') : (!formValues.DOBYesNoSoldDisposed ? ((formValues.WhoAreYouNominatingSoldDispose === 'Person' && formValues.DOBSoldDisposed) ? `${(`0${formValues.DOBSoldDisposed.getDate()}`).slice(-2)}/${(`0${formValues.DOBSoldDisposed.getMonth() + 1}`).slice(-2)}/${formValues.DOBSoldDisposed.getFullYear()}` : '') : ''),\r\n NominatedTaxiDriverAccreditationNumber: (formValues.WhoAreYouNominating === 'Person') ? formValues.TaxDriverAccNumber : '',\r\n NominatedDriverLicenceNumber: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.DriverLicenseSomeoneElse : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.DriverLicenseSoldDisposed : ''),\r\n NominatedPlaceOfIssue: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.StatecountryOfIssueSomeoneElse : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.StatecountryOfIssueSoldDisposed : ''),\r\n NominatedStateOfIssue: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? (formValues.StatecountryOfIssueSomeoneElse === 'Australia' ? formValues.LicenceStateSomeoneElse : 'International') : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? (formValues.StatecountryOfIssueSoldDisposed === 'Australia' ? formValues.LicenceStateSoldDisposed : 'International') : ''),\r\n // Residential Address\r\n NominatedResidentialLineOne: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.ResidentialAddressSomeoneElse.LineOne : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.ResidentialAddressSoldDisposed.LineOne : ''),\r\n NominatedResidentialLineTwo: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.ResidentialAddressSomeoneElse.LineTwo : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.ResidentialAddressSoldDisposed.LineTwo : ''),\r\n NominatedResidentialSuburb: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.ResidentialAddressSomeoneElse.Suburb : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.ResidentialAddressSoldDisposed.Suburb : ''),\r\n NominatedResidentialState: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.ResidentialAddressSomeoneElse.State : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.ResidentialAddressSoldDisposed.State : ''),\r\n NominatedResidentialPostcode: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.ResidentialAddressSomeoneElse.Postcode : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.ResidentialAddressSoldDisposed.Postcode : ''),\r\n NominatedResidentialCountry: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.ResidentialAddressSomeoneElse.Country : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.ResidentialAddressSoldDisposed.Country : ''),\r\n // Contact Details\r\n NominatedContactNumber: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.IndividualContactNumberSomeoneElse.ContactNumber : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.IndividualContactNumberSoldDisposed.ContactNumber : formValues.OrganisationContactNumberSoldDisposed.ContactNumber),\r\n NominatedEmailAddress: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Person') ? formValues.EmailSomeoneElse : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Person') ? formValues.EmailSoldDisposed : formValues.CompanyEmailSoldDisposed),\r\n // Company Details\r\n NominatedCompanyName: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.CompanyNameSomeoneElse : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.CompanyNameSoldDisposed : ''),\r\n NominatedACNABN: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.AbnacnTypeSomeoneElse : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.AbnacnTypeSoldDisposed : ''),\r\n NominatedACNABNNumber: (groundsInfo === 'someoneElse') ? ((formValues.AbnacnTypeSomeoneElse === 'ACN') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.AcnNoSomeoneElse : '') : ((formValues.WhoAreYouNominating === 'Company') ? formValues.AbnNoSomeoneElse : '')) : ((formValues.AbnacnTypeSoldDisposed === 'ACN') ? ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.AcnNoSoldDisposed : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.AbnNoSoldDisposed : '')),\r\n NominatedPositionInCompany: '',\r\n // Company Street Address\r\n NominatedCompanyStreetLineOne: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.CompanyStreetAddressSomeoneElse.LineOne : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.CompanyStreetAddressSoldDisposed.LineOne : ''),\r\n NominatedCompanyStreetLineTwo: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.CompanyStreetAddressSomeoneElse.LineTwo : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.CompanyStreetAddressSoldDisposed.LineTwo : ''),\r\n NominatedCompanySuburb: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.CompanyStreetAddressSomeoneElse.Suburb : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.CompanyStreetAddressSoldDisposed.Suburb : ''),\r\n NominatedCompanyState: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.CompanyStreetAddressSomeoneElse.State : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.CompanyStreetAddressSoldDisposed.State : ''),\r\n NominatedCompanyPostcode: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.CompanyStreetAddressSomeoneElse.Postcode : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.CompanyStreetAddressSoldDisposed.Postcode : ''),\r\n NominatedCompanyCountry: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.CompanyStreetAddressSomeoneElse.Country : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.CompanyStreetAddressSoldDisposed.Country : ''),\r\n // Contact Details\r\n NominatedCompanyContactNumber: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.OrganisationContactNumberSomeoneElse.ContactNumber : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.OrganisationContactNumberSoldDisposed.ContactNumber : ''),\r\n NominatedCompanyEmailAddress: (groundsInfo === 'someoneElse') ? ((formValues.WhoAreYouNominating === 'Company') ? formValues.CompanyEmailSomeOneElse : '') : ((formValues.WhoAreYouNominatingSoldDispose === 'Company') ? formValues.CompanyEmailSoldDisposed : ''),\r\n\r\n // WHY ARE YOU REJECTING THE NOMINATION/WHAT STEPS DID YOU TAKE TO IDENTIFY THE DRIVER?\r\n WhatStepsDidYouTake: (groundsInfo === 'cantIdentify') ? formValues.UnableToIdentifyExplanation : formValues.IncorrectNominationExplanation,\r\n\r\n // SUPPORTING MATERIAL\r\n NumberOfAttachments: totalNumberOfAttachments,\r\n PoliceReportReferenceNumber: formValues.VictoriaPoliceReferenceNumber,\r\n\r\n // DECLARATION\r\n YourSignature: formValues.nominationConsentToDeclaration ? 'I agree with the statements' : '',\r\n DeclarationDate: `${DATE}/${MONTH}/${YEAR}`,\r\n\r\n // Other - Backend Required\r\n ATTACHMENTS: remoteAttachmentNames,\r\n OBLIGATION_NUMBER: formValues.OBLIGATION_NUMBER ? formValues.OBLIGATION_NUMBER : '',\r\n EMAIL_TO: (formValues.isDebtorTypeIndividual) ? (formValues.EmailYourDetails ? formValues.EmailYourDetails : '') : (formValues.CompanyEmailYourDetails ? formValues.CompanyEmailYourDetails : ''),\r\n };\r\n\r\n const excludeKeysFromForm: string[] = [\r\n 'a',\r\n 'AbnNoSoldDisposed',\r\n 'AbnNoSomeoneElse',\r\n 'AbnNoYourDetails',\r\n 'AbnacnTypeSoldDisposed',\r\n 'AbnacnTypeSomeoneElse',\r\n 'AbnacnTypeYourDetails',\r\n 'AcnNoSoldDisposed',\r\n 'AcnNoSomeoneElse',\r\n 'AbnacnTypeSomeoneElse',\r\n 'AcnNoYourDetails',\r\n 'Attachments',\r\n 'CheckAndConfirmPageLoaded',\r\n 'CompanyEmailSoldDisposed',\r\n 'CompanyEmailSomeOneElse',\r\n 'CompanyEmailYesNoSoldDisposed',\r\n 'CompanyEmailYesNoSomeOneElse',\r\n 'CompanyEmailYesNoYourDetails',\r\n 'CompanyEmailYourDetails',\r\n 'CompanyNameSoldDisposed',\r\n 'CompanyNameSomeoneElse',\r\n 'CompanyNameYourDetailsCompany',\r\n 'CompanyPostalAddressYourDetails',\r\n 'CompanyStreetAddressSoldDisposed',\r\n 'CompanyStreetAddressSomeoneElse',\r\n 'CompanyStreetAddressYourDetails',\r\n 'CreateDate',\r\n 'DOB',\r\n 'DOBRequired',\r\n 'DOBSoldDisposed',\r\n 'DOBSomeoneElse',\r\n 'DOBYesNoSoldDisposed',\r\n 'DOBYesNoSomeoneElse',\r\n 'DOBYourDetails',\r\n 'DRIVER_LICENCE',\r\n 'DateSellOrDispose',\r\n 'DebtorId',\r\n 'DebtorID',\r\n 'DebtorType',\r\n 'DifferentToPostalYourDetails',\r\n 'DifferentToStreetAddressYourDetails',\r\n 'differentToStreetAddressYourDetails',\r\n 'DriverLicenseSoldDisposed',\r\n 'DriverLicenseSomeoneElse',\r\n 'DriverLicenseYourDetails',\r\n 'EMRemeinderSent',\r\n 'Email',\r\n 'EmailSoldDisposed',\r\n 'EmailSomeoneElse',\r\n 'EmailYourDetails',\r\n 'EvidenceSoldOrDispose',\r\n 'EvidenceSoldOrDisposeErrorHandle',\r\n 'EvidenceSoldOrDisposeFileSectionError',\r\n 'EvidenceSoldOrDisposeFileUploadErrorHandle',\r\n 'EvidenceSoldOrDisposeFilesDescription',\r\n 'EvidenceSoldOrDisposeNameField',\r\n 'EvidenceSoldOrDisposeProvider',\r\n 'EvidenceSoldOrDisposeSizeErrorHandle',\r\n 'ExpiryDate',\r\n 'FamilyNameSoldDisposed',\r\n 'FamilyNameSomeoneElse',\r\n 'FamilyNameYourDetails',\r\n 'FamilyNameYourDetailsCompany',\r\n 'FileUploadDescriptionConfig',\r\n 'FileUploadMaxAttachmentsConfig',\r\n 'FileUploadSizeConfig',\r\n 'FineStage',\r\n 'FormData',\r\n 'FormExperience',\r\n 'FormTypeID',\r\n 'GivenNamesSoldDisposed',\r\n 'GivenNamesSomeoneElse',\r\n 'GivenNamesYourDetails',\r\n 'GivenNamesYourDetailsCompany',\r\n 'HEARING_DATE',\r\n 'HearingDateRequired',\r\n 'HasBeenNominatedBefore',\r\n 'isDebtorTypeIndividual',\r\n 'isOfficerIssued',\r\n 'isThePersonNamed',\r\n 'ID',\r\n 'IncorrectNominationExplanation',\r\n 'IndividualContactNumberSoldDisposed',\r\n 'IndividualContactNumberSomeoneElse',\r\n 'IndividualContactNumberYourDetails',\r\n 'IndividualPostalAddressYourDetails',\r\n 'InfringementNumber',\r\n 'IsMarineOffence',\r\n 'IsSeriousOffence',\r\n 'IsSubscribedEM',\r\n 'IsSubscribedSMS',\r\n 'IsTsvOffence',\r\n 'LicenceRequired',\r\n 'LicenceStateSoldDisposed',\r\n 'LicenceStateSomeoneElse',\r\n 'LicenceStateYourDetails',\r\n 'Mobile',\r\n 'nominationConsentToDeclaration',\r\n 'NoContactNumberSoldDisposed',\r\n 'NoContactNumberSomeoneElse',\r\n 'NoContactNumberYourDetails',\r\n 'NoDriverLicenseSoldDisposed',\r\n 'NoDriverLicenseSomeoneElse',\r\n 'NoDriverLicenseYourDetails',\r\n 'NoEmailSoldDisposed',\r\n 'NoEmailSomeoneElse',\r\n 'NoEmailYourDetails',\r\n 'NoOrgContactNumberSoldDisposed',\r\n 'NoOrgContactNumberYourDetails',\r\n 'NoResidentialAddressSomeoneElse',\r\n 'Obligations',\r\n 'OFFENCE_DATE',\r\n 'OffenceDateRequired',\r\n 'OFFENCE_FIND_OUT_DATE',\r\n 'OffenceType',\r\n 'OrganisationContactNumberYesNoSoldDisposed',\r\n 'OrganisationContactNumberSoldDisposed',\r\n 'OrganisationContactNumberSomeoneElse',\r\n 'OrganisationContactNumberYourDetails',\r\n 'OrganisationContactNumberYesNoYourDetails',\r\n 'OrganisationContactNumberYourDetailsCompany',\r\n 'PartialFormID',\r\n 'PositionInCompanyYourDetailsCompany',\r\n 'RegistrationRequired',\r\n 'RejectionSupportingDocs',\r\n 'RejectionSupportingDocsDescription',\r\n 'RejectionSupportingDocsErrorHandle',\r\n 'RejectionSupportingDocsFileSectionError',\r\n 'RejectionSupportingDocsFileUploadErrorHandle',\r\n 'RejectionSupportingDocsNameField',\r\n 'RejectionSupportingDocsProvider',\r\n 'RejectionSupportingDocsSizeErrorHandle',\r\n 'ResidentialAddressSoldDisposed',\r\n 'ResidentialAddressSomeoneElse',\r\n 'ResidentialAddressYourDetails',\r\n 'saveEmail',\r\n 'saveMobile',\r\n 'submissionError',\r\n 'submissionNo',\r\n 'SMSRemeinderSent',\r\n 'SaveOptions',\r\n 'SaveYesNo',\r\n 'SelectedGroundInfo',\r\n 'StatecountryOfIssueSoldDisposed',\r\n 'StatecountryOfIssueSomeoneElse',\r\n 'StatecountryOfIssueYourDetails',\r\n 'Status',\r\n 'submitted',\r\n 'TaxDriverAccNumber',\r\n 'Tolling',\r\n 'TransferedVicRoads',\r\n 'UnableToIdentify',\r\n 'UnableToIdentifyDescription',\r\n 'UnableToIdentifyErrorHandle',\r\n 'UnableToIdentifyExplanation',\r\n 'UnableToIdentifyFileSectionError',\r\n 'UnableToIdentifyFileUploadErrorHandle',\r\n 'UnableToIdentifyNameField',\r\n 'UnableToIdentifyProvider',\r\n 'UnableToIdentifySizeErrorHandle',\r\n 'VEHICLE_REGISTRATION',\r\n 'VehicleOrIdentificationStolenOrFalse',\r\n 'VehicleOrIdentificationStolenOrFalseDescription',\r\n 'VehicleOrIdentificationStolenOrFalseErrorHandle',\r\n 'VehicleOrIdentificationStolenOrFalseFileSectionError',\r\n 'VehicleOrIdentificationStolenOrFalseFileUploadErrorHandle',\r\n 'VehicleOrIdentificationStolenOrFalseNameField',\r\n 'VehicleOrIdentificationStolenOrFalseProvider',\r\n 'VehicleOrIdentificationStolenOrFalseSizeErrorHandle',\r\n 'VictoriaPoliceReferenceNumber',\r\n 'WasHandedInPerson',\r\n 'WhoAreYouNominating',\r\n 'WhoAreYouNominatingSoldDispose',\r\n 'isABNValidSomeoneElse',\r\n 'isACNValidSomeoneElse',\r\n 'isABNValidSoldDisposed',\r\n 'isACNValidSoldDisposed',\r\n 'isABNValidYourDetails',\r\n 'isACNValidYourDetails',\r\n 'CanSave',\r\n ];\r\n excludeKeysFromForm.forEach((value: string) => {\r\n delete submitObject[value];\r\n });\r\n return submitObject;\r\n};\r\n","import { ReactElement } from 'react';\r\n\r\nconst AlreadyHaveASavedFormContent = (): ReactElement => (\r\n <>\r\n

You had started nominating another fine but you did not finish.

\r\n

You must finish this earlier nomination, or delete it, before you can nominate a new fine.

\r\n

\r\n Go to\r\n {' '}\r\n \r\n Your fines\r\n \r\n {' '}\r\n to access the unfinished nomination.\r\n

\r\n \r\n);\r\n\r\nexport default AlreadyHaveASavedFormContent;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport React, { ReactElement, useContext } from 'react';\r\nimport { ErrorPage } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\n\r\n// const { REACT_APP_SITECORE_API_ENDPOINT: API_URL, REACT_APP_PATH_FAMILY_VIOLENCE_SCHEME: PATH_FVS } = process.env;\r\nfunction NominationErrorPage(): ReactElement {\r\n const { values }: { values: iNominationFormValues } = useFormikContext();\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default NominationErrorPage;\r\n","import React, { ReactElement, useEffect, useState, useContext } from 'react';\r\nimport { useNavigate, useParams, useLocation } from 'react-router-dom';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { getStringIndex, setFormDataValues, setCurrentFormikValues, navigateToError, bytesToMBSize } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport { getInitiate, checkExistingForm, getPartialForm, getValidFilesConfig, getGroundsInfo, getBasicInfo } from '@api';\r\nimport { FormType } from '@constants';\r\nimport { Accordion, FormLoading } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport ClockIcon from '../../../../images/clock.svg';\r\nimport styles from './NominationStep0.module.scss';\r\n\r\ninterface iProps {\r\n formikRef: any;\r\n}\r\n\r\nfunction NominationStep0({ formikRef }: iProps): ReactElement {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n const pathElementArray = location.pathname.split('/');\r\n const { tooltips } = useContext(VicFinesContext);\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const validTitles = Object.keys(tooltips).filter((v) => v.includes('step0'));\r\n const formikcontext = useFormikContext();\r\n function getStringForSort(stringVal: string): string {\r\n return stringVal.substring(stringVal.indexOf('p') + 1, stringVal.indexOf('|'));\r\n }\r\n validTitles.sort((stringA, stringB) => Number(getStringForSort(stringA)) - Number(getStringForSort(stringB)));\r\n const { ob } = useParams<{ ob?: string }>();\r\n useEffect(() => {\r\n let pathNameLessLastSegmentOnLoad = '';\r\n let obNumFromPath = '';\r\n if (window.location.hash) {\r\n window.history.pushState({}, '', window.location.pathname + window.location.hash.replaceAll('#', ''));\r\n const currentUrl = window.location.pathname;\r\n const pathUrlArray = currentUrl.split('/');\r\n const stepCurrentIndex = getStringIndex(pathUrlArray, 'step');\r\n const stepIndexDiffOnLoad = stepCurrentIndex - pathUrlArray.length;\r\n pathNameLessLastSegmentOnLoad = stepCurrentIndex ? pathUrlArray.slice(0, stepIndexDiffOnLoad).join('/') : currentUrl;\r\n obNumFromPath = pathUrlArray.includes('step0') && pathUrlArray[stepCurrentIndex + 1] ? pathUrlArray[stepCurrentIndex + 1] : '';\r\n }\r\n const obNum = obNumFromPath || ob;\r\n if (obNum) {\r\n setLoading(true);\r\n checkExistingForm(obNum, FormType.NOMINATION)\r\n .then((valueOfExistingform) => {\r\n // if (!valueOfExistingform?.PartialFormID) {\r\n // setLoading(false);\r\n // navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}/step0`);\r\n // return;\r\n // }\r\n let currentStep = '';\r\n let partialFormID = 0;\r\n const partialFormOption = valueOfExistingform.CheckingExisting;\r\n const canSave = valueOfExistingform.CanSave;\r\n let savingoption = '';\r\n let debtorID = 0;\r\n if (partialFormOption === 'no' && valueOfExistingform.DebtorID && valueOfExistingform.PartialFormID) {\r\n return;\r\n }\r\n if (valueOfExistingform.CheckingExisting === 'yes') {\r\n formikcontext.setFieldValue('SaveYesNo', 'true');\r\n partialFormID = valueOfExistingform.PartialFormID!;\r\n formikcontext.setFieldValue('PartialFormID', partialFormID);\r\n savingoption = valueOfExistingform.CanSave ? 'yes' : 'no';\r\n if (valueOfExistingform.PartialFormID) {\r\n getPartialForm(valueOfExistingform.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n if (resBody.Obligations) {\r\n if (resBody.Obligations[0].ObligationNO !== obNum) {\r\n formikcontext.setFieldValue('alreadySavedForm', true);\r\n }\r\n }\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikRef?.current?.values.FormData, formikRef, 'FormData');\r\n setCurrentFormikValues(formData, formikRef?.current?.values, formikRef);\r\n } else if (resBody[key]) {\r\n formikcontext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n }\r\n } else {\r\n debtorID = valueOfExistingform.DebtorID!;\r\n savingoption = 'no';\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNum);\r\n formikcontext.setFieldValue('DebtorID', debtorID);\r\n }\r\n formikcontext.setFieldValue('SaveOptions', savingoption);\r\n getInitiate(obNum, FormType.NOMINATION).then(async (value) => {\r\n if (value.Number) {\r\n if (value?.Authorised && value?.Authorised.OffenceDate && value?.Authorised.InfringementNumber) {\r\n const [day, month, year] = value.Authorised.OffenceDate.split('/').map(Number);\r\n formikcontext.setFieldValue('OFFENCE_DATE', new Date(year, month - 1, day));\r\n formikcontext.setFieldValue('InfringementNoticeNumber', value?.Authorised.InfringementNumber);\r\n } else {\r\n currentStep = '/';\r\n }\r\n try {\r\n Promise.all([\r\n getGroundsInfo(obNum, FormType.NOMINATION),\r\n getValidFilesConfig(),\r\n getBasicInfo(obNum, FormType.NOMINATION)\r\n ])\r\n .then(([groundsInfo, validFilesConfig, basicInfo]) => {\r\n if (groundsInfo && groundsInfo?.FineStage) {\r\n formikcontext.setFieldValue('FineStage', groundsInfo?.FineStage);\r\n formikcontext.setFieldValue('HasBeenNominatedBefore', groundsInfo?.HasBeenNominatedBefore);\r\n formikcontext.setFieldValue('OffenceType', groundsInfo?.OffenceType);\r\n formikcontext.setFieldValue('IsMarineOffence', groundsInfo?.IsMarineOffence);\r\n formikcontext.setFieldValue('IsTsvOffence', groundsInfo?.IsTsvOffence);\r\n formikcontext.setFieldValue('IsSeriousOffence', groundsInfo?.IsSeriousOffence);\r\n }\r\n if (validFilesConfig) {\r\n const validFileInfo = validFilesConfig.find((item) => item.FormType === FormType.NOMINATION);\r\n formikcontext.setFieldValue('FileUploadSizeConfig', bytesToMBSize(validFileInfo?.FileSize || 0));\r\n formikcontext.setFieldValue('FileUploadDescriptionConfig', validFileInfo?.Description);\r\n formikcontext.setFieldValue('FileUploadMaxAttachmentsConfig', validFileInfo?.MaxAttachments);\r\n }\r\n if (basicInfo) {\r\n formikcontext.setFieldValue('Status', basicInfo.Status);\r\n formikcontext.setFieldValue('DebtorType', basicInfo.DebtorType);\r\n if (basicInfo.DebtorType === 'Individual') {\r\n formikcontext.setFieldValue('isDebtorTypeIndividual', true);\r\n }\r\n } else {\r\n currentStep = '/';\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}${currentStep}`);\r\n }\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n navigateToError();\r\n }\r\n if (partialFormOption === 'no' && canSave === true) {\r\n currentStep = '/step3';\r\n } else {\r\n currentStep = value.Step;\r\n }\r\n } else {\r\n currentStep = '/';\r\n }\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}${currentStep}`);\r\n });\r\n })\r\n .catch(() => {\r\n console.log('Caught p2');\r\n });\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, []);\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n
\r\n
Before you start
\r\n {validTitles.map((v) => {\r\n const getTitles = v.substring(v.indexOf('|'), v.length).replaceAll('|', ' ');\r\n return ;\r\n })}\r\n
\r\n \"alarm\r\n Please allow up to 15 minutes to complete this form.\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default NominationStep0;\r\n","import { ReactElement, useContext, useState } from 'react';\r\n\r\nimport { Field } from 'formik';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Alert, Modal, TextInput } from '@components';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n// import mailRef from '../../../../images/refNo_mail.jpg';\r\nimport styles from './NominationStep1.module.scss';\r\n\r\nconst isIneligible = 'Ineligible'; // Error Message 1\r\nconst isNotInSystem = 'NotInSystem'; // Error Message 2\r\n\r\nfunction NominationStep1(): ReactElement {\r\n const { apiError, tooltips } = useContext(VicFinesContext);\r\n const validTitle = Object.keys(tooltips).filter((v) => v.includes('obligationlocationonformstep1modal'));\r\n const modalContent = tooltips[validTitle[0]];\r\n const titleText = validTitle[0].substring(validTitle[0].indexOf('|'), validTitle[0].length).replaceAll('|', ' ');\r\n\r\n // Error Code 1\r\n const IneligibleForNomination = (): ReactElement => (\r\n <>\r\n You are not eligible to nominate for this offence. Once your fine has progressed to enforcement stage, it is too late to nominate.\r\n

\r\n

Pay your fine

\r\n
\r\n

\r\n If you have only just found out about the fine, you may be eligible for an\r\n {' '}\r\n \r\n infringement extension\r\n \r\n . This will give you more time to deal with the fine.\r\n

\r\n
\r\n

\r\n If you need assistance, call Fines Victoria on\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers). Monday to Friday from 8am to 6pm (except public holidays).\r\n

\r\n \r\n );\r\n\r\n const NotInSystemNomination = (): ReactElement => (\r\n <>\r\n The number you entered is not correct.\r\n
\r\n
\r\n

Please enter the obligation number or infringement notice number. This is usually located at the top of your infringement notice.

\r\n \r\n );\r\n\r\n // For Any other error\r\n const NominationStep1AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const NominationStep1NoteContent = (): ReactElement => (\r\n // TODO - Connect to Sitecore to make this content manageable.\r\n <>\r\n

You will need to enter the fine's obligation number or infringement number, the offence date and some other details about yourself or your vehicle.

\r\n
\r\n \r\n If you don't have these details please contact us.\r\n \r\n \r\n );\r\n\r\n const notificationInformation = (): ReactElement => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n );\r\n\r\n return (\r\n <>\r\n
\r\n
Fine details
\r\n \r\n

Use this form to nominate the person who was driving.

\r\n

You can also let us know if your car was sold or stolen, or if you believe your number plates were stolen (police report recommended).

\r\n

If your fine is at Infringement stage, you can also use this form to advise us if you believe your number plates have been copied/cloned (police report recommended).

\r\n

You should nominate the driver as quickly as possible. You can only apply to nominate a driver when the fine is at Infringement Notice or Penalty Reminder Notice stage.

\r\n

For some fines, you need to nominate within 28 days to avoid your licence being suspended.

\r\n

If you did not know about the fine and it is now too late to nominate, you may be able to apply for an infringement extension.

\r\n
\r\n setOpenHelp(true)}\r\n isMandatory\r\n autocomplete=\"off\"\r\n />\r\n {apiError?.Error && (\r\n
\r\n {(apiError.Error === isIneligible) && (\r\n }\r\n theme=\"error\"\r\n classAlt={styles.boxheight}\r\n />\r\n )}\r\n {(apiError.Error === isNotInSystem) && (\r\n }\r\n theme=\"error\"\r\n classAlt={styles.boxheight}\r\n />\r\n )}\r\n {(apiError.Error !== isIneligible && apiError.Error !== isNotInSystem) && (\r\n }\r\n theme=\"error\"\r\n classAlt={styles.boxheight}\r\n />\r\n )}\r\n
\r\n )}\r\n {isOpenHelp && }\r\n
\r\n } theme=\"info\" icon={InfoIcon} />\r\n \r\n );\r\n}\r\n\r\nexport default NominationStep1;\r\n","import { ReactElement, useContext, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, DateInput, Modal, TextInput } from '@components';\r\nimport { navigateToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n\r\nimport styles from './NominationStep2.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction NominationStep2(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const { apiError } = useContext(VicFinesContext);\r\n const [hasOffenceDate, setOffenceDate] = useState(false);\r\n const [hasHearingDate, setHearingDate] = useState(false);\r\n const [hasLicenceNumber, setLicenceNumber] = useState(false);\r\n const [hasVehicleRego, setVehicleRego] = useState(false);\r\n const [hasDOB, setDOB] = useState(false);\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const NominationStep2AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n If you don't know these details or think we may have the wrong information, contact Fines Victoria, Monday to Friday, 8am to 6pm (except public holidays).\r\n

\r\n For infringement enquiries, contact us.\r\n

\r\n

Do you have a Victorian driver licence?

\r\n

If asked for your driver licence number, make sure you include any zeros at the start of your Victorian driver licence number.

\r\n
\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n const setupDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n };\r\n // TO DO - UPADTE THIS ENDPOINT\r\n const url = `${API_URL}sitecore/Nomination/SetupDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n context.setFieldValue('OffenceDateRequired', false);\r\n context.setFieldValue('HearingDateRequired', false);\r\n context.setFieldValue('LicenceRequired', false);\r\n context.setFieldValue('RegistrationRequired', false);\r\n context.setFieldValue('DOBRequired', false);\r\n if (responseBody.OffenceDate) {\r\n setOffenceDate(true);\r\n context.setFieldValue('OffenceDateRequired', true);\r\n context.setFieldTouched('OFFENCE_DATE', false);\r\n }\r\n if (responseBody.HearingDate) {\r\n setHearingDate(true);\r\n context.setFieldValue('HearingDateRequired', true);\r\n context.setFieldTouched('HEARING_DATE', false);\r\n }\r\n if (responseBody.LicenceRequired) {\r\n setLicenceNumber(true);\r\n context.setFieldValue('LicenceRequired', true);\r\n context.setFieldTouched('DRIVER_LICENCE', false);\r\n }\r\n if (responseBody.RegistrationRequired) {\r\n setVehicleRego(true);\r\n context.setFieldValue('RegistrationRequired', true);\r\n context.setFieldTouched('VEHICLE_REGISTRATION', false);\r\n }\r\n if (responseBody.DateOfBirthRequired) {\r\n setDOB(true);\r\n context.setFieldValue('DOBRequired', true);\r\n context.setFieldTouched('DOB', false);\r\n }\r\n } else navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n setupDebtor(context);\r\n return () => {\r\n setOffenceDate(false); // clean up state to avoid warnings\r\n setHearingDate(false);\r\n setLicenceNumber(false);\r\n setVehicleRego(false);\r\n setDOB(false);\r\n };\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n
\r\n More information needed\r\n We need you to enter some more details about this fine before you can continue.\r\n {apiError?.Error && } theme=\"error\" />}\r\n {hasOffenceDate && (\r\n \r\n )}\r\n {hasHearingDate && }\r\n {hasLicenceNumber && }\r\n {hasVehicleRego && }\r\n {hasDOB && }\r\n
\r\n \r\n
\r\n {isOpenHelp && }\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default NominationStep2;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useState, useEffect } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, TextInput, Modal, Button } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { getBasicInfo } from '@api/APIServices';\r\nimport { FormType } from '@constants/forms';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport emailNotif from '../../../../images/emailviewv2.png';\r\nimport mobileNotif from '../../../../images/mobileview.png';\r\nimport styles from './NominationStep3.module.scss';\r\n\r\nfunction NominationStep3(): ReactElement {\r\n const currentDate = new Date();\r\n const expiryDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate() + 7).toLocaleDateString('en-AU', { timeZone: 'Australia/Melbourne' });\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const [isNotifyHelp, setNotifyHelp] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const { values, setFieldValue }: { values: iNominationFormValues; setFieldValue: (field: string, value: any, shouldValidate?: boolean) => void } = useFormikContext();\r\n const closeNotifications = (modalName: string) => {\r\n if (modalName === 'savedForm') {\r\n setOpenHelp(false);\r\n } else {\r\n setNotifyHelp(false);\r\n }\r\n };\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const TILE_DATA_NOTIFICATION_TYPE: tile[] = [\r\n {\r\n body: 'No thanks',\r\n value: 'none',\r\n },\r\n {\r\n body: 'To my mobile',\r\n value: 'mobile',\r\n },\r\n {\r\n body: 'To my email',\r\n value: 'email',\r\n },\r\n {\r\n body: 'To both',\r\n value: 'both',\r\n },\r\n ];\r\n const howDoaccessSavedForm = (): ReactElement => (\r\n <>\r\n
\r\n
Visit fines.vic.gov.au, and click the ‘Your Fines’ link in the top right.\r\n
\r\n
\r\n
Enter your fine’s Obligation or Infringement number (these details are printed on your fine). You may also be asked to enter some other details about yourself, your licence or your vehicle.
\r\n
\r\n
Once you’ve logged in, under ‘Started applications’ you will see your incomplete form listed. Click the ‘Resume’ button to access your form.
\r\n
\r\n
\r\n \r\n );\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n Email notification\r\n Mobile notification\r\n
\r\n \"email\r\n
\r\n
\r\n \"mobile\r\n
\r\n
\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n const getTicketInfo = async (obligationNum: string): Promise => {\r\n setLoading(true);\r\n getBasicInfo(obligationNum, FormType.NOMINATION).then((responseBody) => {\r\n if (responseBody) {\r\n setFieldValue('Status', responseBody.Status);\r\n setFieldValue('DebtorType', responseBody.DebtorType);\r\n if (responseBody.DebtorType === 'Individual') {\r\n setFieldValue('isDebtorTypeIndividual', true);\r\n }\r\n }\r\n });\r\n setLoading(false);\r\n };\r\n getTicketInfo(values.OBLIGATION_NUMBER);\r\n }, []);\r\n return (\r\n
\r\n Save this form?\r\n
\r\n
If you select Yes, we will save the form as you fill it in, so you can close it and come back later.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Your form content will be saved securely until submitted. To access saved forms later, visit our website, click ‘Your Fines’ and log in using the fine’s obligation or infringement number.\r\n

\r\n

\r\n Remember, the fine will continue to progress until you submit your application and receive a submission number.\r\n

\r\n {isOpenHelp && closeNotifications('savedForm')} show title=\"How do I access my saved form later?\" content={howDoaccessSavedForm()} />}\r\n {values.SaveYesNo === 'true' && (\r\n <>\r\n Send reminders about incomplete forms?\r\n
We can send you a reminder to come back and submit your form.
\r\n \r\n {(values.SaveOptions === 'email' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n {(values.SaveOptions === 'mobile' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n \r\n {isNotifyHelp && closeNotifications('myNotify')} show title=\"What will my notifications look like?\" content={notificationInformation()} />}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default NominationStep3;\r\n","import { ReactElement } from 'react';\r\n\r\nconst NominationStep3AlertContent1 = (): ReactElement => (\r\n
\r\n
\r\n
\r\n The person who received the fine can authorise you to manage their fines if you are:\r\n

\r\n {' '}\r\n * Executor of a deceased estate
\r\n * State trustee for a beneficiary
\r\n * Attorney appointed under a Power of Attorney
\r\n * Attorney appointed by a VCAT order
\r\n * Guardian appointed by a VCAT order
\r\n {' '}\r\n
\r\n \r\n If you fall into one of the above categories, and therefore have legal authorisation to submit a nomination statement, please visit Find a form to download a PDF nomination statement for completion.\r\n \r\n
\r\n {' '}\r\n
\r\n
\r\n

\r\n If you do not have consent, the person who received the fine should complete this nomination.\r\n

\r\n
\r\n);\r\n\r\nexport default NominationStep3AlertContent1;\r\n","import { ReactElement } from 'react';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, Alert } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport NominationStep4AlertContent1 from '@components/Content/AlertContent/NominationStep4AlertContent1';\r\nimport styles from './NominationStep4.module.scss';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nfunction NominationStep4(): ReactElement {\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const { values }: { values: iNominationFormValues; } = useFormikContext();\r\n return (\r\n <>\r\n
\r\n Are you the person named on the fine?\r\n
\r\n
\r\n \r\n {values.isThePersonNamed === 'false' && (\r\n }\r\n theme=\"error\"\r\n title=\"Only the person named on the fine can nominate the driver\"\r\n icon={InfoIcon}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default NominationStep4;\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport { useFormikContext, Field } from 'formik';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport { TileRadioAccessibleWithInfo, TextInput, Modal, Button, NominationAccordion } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport styles from './NominationStep5.module.scss';\r\n\r\nfunction NominationStep5(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const context = useFormikContext();\r\n const { values }: { values: iNominationFormValues } = useFormikContext();\r\n const vehicleContent0 = (\r\n
\r\n

Please provide the driver’s name, current address and date of birth or licence number. If you’re nominating a company, we will need the ACN/ABN number.

\r\n

If the offence involves a taxi, you cannot nominate another person if you're recorded as the driver in the operator's records.

\r\n
\r\n );\r\n const vehicleContent1 = (\r\n

Please provide proof of the sale/disposal of the vehicle/trailer, along with the buyer’s details.

If you have not yet notified VicRoads (link opens in new window) of the vehicle’s sale/disposal, you should do this quickly. If you do not transfer ownership of the vehicle/trailer, infringements may still be issued to you as the registered owner.

\r\n );\r\n const vehicleContent2 = (\r\n

A police report is recommended. If the theft of the vehicle/trailer or theft/copying of the number plates was reported to police, please provide the Victoria Police reference number or upload the police report.

\r\n );\r\n const vehicleContent3 = (\r\n

If you believe you have been nominated in error, please tell us why you are not responsible for the offence or supply a statement retracting the nomination from the person or company who nominated you.

\r\n );\r\n const vehicleContent4 = (\r\n

Under the Road Safety Act 1986, failure to keep records is not an adequate reason, unless under exceptional circumstances.

If the infringement involves a commercial passenger vehicle, evidence confirming the vehicle was not being used commercially at the time of offence is recommended.

\r\n );\r\n const marineContent0 = (\r\n

Please provide the operator's name, current address and date of birth or licence number. If you’re nominating a company, we will need the ACN/ABN number.

\r\n );\r\n const marineContent1 = (\r\n

Please provide proof of the sale/disposal of the vessel, along with the buyer’s details.

If you have not yet notified VicRoads (link opens in new window) of the vessel's sale/disposal, you should do this quickly. If you do not transfer ownership of the vessel, infringements may still be issued to you as the registered owner.

\r\n );\r\n const marineContent2 = (\r\n

If the theft of the vessel was reported to police, please provide the Victoria Police reference number.

\r\n );\r\n const marineContent3 = (\r\n

If you believe you have been nominated in error, please tell us why you are not responsible for the offence or supply a statement retracting the nomination from the person or company who nomiated you.

\r\n );\r\n const marineContent4 = (\r\n

Under the Marine Safety Act 2010, failure to keep records is not an adequate reason, unless under exceptional circumstances.

\r\n );\r\n const notMarineOffence: tile[] = [\r\n {\r\n body: ,\r\n value: 'Someone else was in possession of the vehicle at the time of offence',\r\n },\r\n {\r\n body: ,\r\n value: 'The vehicle was sold or permanently disposed of before the offence',\r\n },\r\n {\r\n body: ,\r\n value: 'The vehicle or number plates were stolen or cloned/copied',\r\n },\r\n {\r\n body: ,\r\n value: 'You were wrongly nominated as the person responsible for the offence',\r\n },\r\n {\r\n body: ,\r\n value: 'You cannot identify who was in possession of the vehicle at the time of the offence',\r\n }\r\n ];\r\n const marineOffence: tile[] = [\r\n {\r\n body: ,\r\n value: 'Someone else was the person in possession of the vessel at the time of offence',\r\n },\r\n {\r\n body: ,\r\n value: 'The vessel was sold or permanently disposed of before the offence',\r\n },\r\n {\r\n body: ,\r\n value: 'The vessel was stolen or the identification mark displayed on the vessel was false',\r\n },\r\n {\r\n body: ,\r\n value: 'You were wrongly nominated as the person responsible for the offence',\r\n },\r\n {\r\n body: ,\r\n value: 'You cannot identify who was in possession of the vessel at the time of the offence',\r\n }\r\n ];\r\n const filteredTileData = values.IsMarineOffence ? marineOffence : notMarineOffence;\r\n\r\n useEffect(() => {\r\n if (values.selectTheOption) {\r\n context.setFieldTouched('selectTheOption', true);\r\n }\r\n }, []);\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
Please select the option that applies
\r\n

You may only apply under one of the nomination statements below.

\r\n
\r\n
\r\n
\r\n \r\n

\r\n

If you are applying for reasons of family violence, it may be more appropriate to lodge a Family Violence Scheme application. The Family Violence Scheme helps victim-survivors if there is a link between your experience of family violence and the fines.

\r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default NominationStep5;\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, IndividualFormNominate, CompanyFormNominate } from '@components';\r\nimport { NominationInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport { tile } from '@interfaces/interfaces';\r\n\r\nimport styles from './NominationStep6.module.scss';\r\n\r\nconst INVALID_FILE_SIZE_ERROR_MESSAGE = 'Sorry, this file is either too large (must be less than 4MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.';\r\n\r\nfunction NominationStep6(): ReactElement {\r\n const { values }: { values: iNominationFormValues } = useFormikContext();\r\n const tSVBoatingMaringOffenceStr = values.IsMarineOffence || values.IsTsvOffence ? 'vessel' : 'vehicle';\r\n const IndividualOption = (): ReactElement => (\r\n <>\r\n
Person
\r\n \r\n );\r\n\r\n const OrganisationOption = (): ReactElement => (\r\n <>\r\n
Company
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'Person',\r\n },\r\n {\r\n body: ,\r\n value: 'Company',\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n
\r\n
Someone else was the person in possession of the {tSVBoatingMaringOffenceStr} at the time of the offence
\r\n \r\n {values.WhoAreYouNominating && (\r\n
\r\n {values.WhoAreYouNominating === 'Person' && (\r\n <>\r\n

Driver Details

\r\n

\r\n Please provide the details of the person you are nominating, who was in possession of the {tSVBoatingMaringOffenceStr} at the time of the offence.\r\n

\r\n \r\n )}\r\n {values.WhoAreYouNominating === 'Company' && (\r\n <>\r\n

Details of the company you are nominating

\r\n \r\n )}\r\n
\r\n )}\r\n {values.WhoAreYouNominating === 'Person' && }\r\n {values.WhoAreYouNominating === 'Company' && }\r\n {values.WhoAreYouNominating === 'Person' &&

If your Nomination Statement is accepted, the fine will be withdrawn and re-issued to the nominated driver for them to pay.

The driver can reject your nomination. If this happens, the fine will be re-issued back to you.

}\r\n {values.WhoAreYouNominating === 'Company' &&

If your Nomination Statement is accepted, the fine will be withdrawn and reissued to the responsible company.

The company nominated can reject the nomination. If this happens, the fine will be reissued to you.

}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport { NominationStep6, INVALID_FILE_SIZE_ERROR_MESSAGE };\r\n","import { ReactElement } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, IndividualFormNominate, CompanyFormNominate, DateInput, FileUploadGroupAccessible } from '@components';\r\nimport { NominationInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { FormType } from '@constants/forms';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport styles from './NominationStep7.module.scss';\r\n\r\nfunction NominationStep7(): ReactElement {\r\n const { values }: { values: iNominationFormValues; } = useFormikContext();\r\n const tSVBoatingMaringOffenceStr = values.IsMarineOffence || values.IsTsvOffence ? 'vessel' : 'vehicle';\r\n const IndividualOption = (): ReactElement => (\r\n <>\r\n
Person
\r\n \r\n );\r\n\r\n const OrganisationOption = (): ReactElement => (\r\n <>\r\n
Company
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'Person',\r\n },\r\n {\r\n body: ,\r\n value: 'Company',\r\n },\r\n ];\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const IsTransfered: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n
The {tSVBoatingMaringOffenceStr} was sold or permanently disposed of before the offence
\r\n

\r\n We need proof of the sale/disposal of the {tSVBoatingMaringOffenceStr}, along with the buyer's details.\r\n

\r\n
\r\n
\r\n \r\n
\r\n

You should provide evidence showing that the {tSVBoatingMaringOffenceStr} was sold or disposed of prior to the offence.

\r\n

Visit VicRoads for information about transferring {tSVBoatingMaringOffenceStr} ownership.

\r\n
\r\n
\r\n \r\n
\r\n <>\r\n Please attach evidence of the sale or disposal (optional)\r\n maximum of {values.FileUploadMaxAttachmentsConfig} files; each file should be less than {values.FileUploadSizeConfig}MB\r\n \r\n \r\n \r\n {values.WhoAreYouNominatingSoldDispose && (\r\n
\r\n {values.WhoAreYouNominatingSoldDispose === 'Person' && (\r\n

Details of the person you are nominating

\r\n )}\r\n {values.WhoAreYouNominatingSoldDispose === 'Company' && (\r\n <>\r\n

Details of the company you are nominating

\r\n \r\n )}\r\n
\r\n )}\r\n {values.WhoAreYouNominatingSoldDispose === 'Person' && }\r\n {values.WhoAreYouNominatingSoldDispose === 'Company' && }\r\n {values.WhoAreYouNominatingSoldDispose === 'Person' &&


If this Nomination Statement is accepted, the fine will be withdrawn and re issued to the nominated driver for them to pay.

The driver can reject your nomination. If this happens, the fine will be re issued back to you

}\r\n {values.WhoAreYouNominatingSoldDispose === 'Company' &&

If your Nomination Statement is accepted, the fine will be withdrawn and reissued to the responsible company.

The company nominated can reject the nomination. If this happens, the fine will be reissued to you.

}\r\n
\r\n );\r\n}\r\n\r\nexport default NominationStep7;\r\n","import { ReactElement, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport { FileUploadGroupAccessible, TextInput } from '@components';\r\nimport { FormType } from '@constants/forms';\r\n\r\nfunction NominationStep8(): ReactElement {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { values, setFieldValue }: { values: iNominationFormValues; setFieldValue: (field: string, value: any, shouldValidate?: boolean) => void } = useFormikContext();\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const [loading, setLoading] = useState(false);\r\n const notMarineOffence = 'The vehicle or number plates were stolen or copied/cloned';\r\n const marineOffence = 'The vessel was stolen or the identification mark displayed on the vessel was false';\r\n const filteredData = values.IsMarineOffence ? marineOffence : notMarineOffence;\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
{filteredData}
\r\n

To apply on this ground, you'll need to provide a Victoria Police reference number relating to the incident OR attach a police report.

\r\n <>\r\n \r\n
\r\n Attach any supporting documents (maximum of {values.FileUploadMaxAttachmentsConfig} files; each file should be less than {values.FileUploadSizeConfig}MB)\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default NominationStep8;\r\n","import { ReactElement, useState } from 'react';\r\nimport { FileUploadGroupAccessible, LimitedTextAreaLarge } from '@components';\r\nimport { useFormikContext, Field } from 'formik';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport { FormType } from '@constants';\r\n\r\nfunction NominationStep9(): ReactElement {\r\n const { values }: { values: iNominationFormValues } = useFormikContext();\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const [loading, setLoading] = useState(false);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
Why are you rejecting the nomination?
\r\n

Please tell us why you are not responsible for the offence or supply a retraction statement from the person or company who nominated you.

\r\n

Explain why you believe your nomination is incorrect

\r\n
\r\n \r\n
\r\n Attach any supporting documents (maximum of {values.FileUploadMaxAttachmentsConfig} files; each file should be less than {values.FileUploadSizeConfig}MB)\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default NominationStep9;\r\n","import { ReactElement, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { FileUploadGroupAccessible, LimitedTextAreaLarge } from '@components';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport { FormType } from '@constants';\r\n\r\nfunction NominationStep10(): ReactElement {\r\n const { values }: { values: iNominationFormValues } = useFormikContext();\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const [loading, setLoading] = useState(false);\r\n const notMarine = ['vehicle', 'driving the vehicle'];\r\n const marine = ['vessel', 'in control of the vessel'];\r\n const filteredData = values.IsMarineOffence ? marine : notMarine;\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
You cannot identify who was in possession of the {filteredData[0]} at the time of the offence
\r\n

Please tell us how you have tried to identify the person responsible for the offence. Your application may be rejected if you do not provide sufficient evidence.

Not knowing who was {filteredData[1]} at the time of the offence is not an adequate reason, unless you can prove you were not responsible and cannot identify the person responsible, despite taking reasonable steps to do so.

It is an offence with serious maximum penalties to knowingly provide false or misleading information.

\r\n
\r\n \r\n
\r\n Attach any supporting documents (maximum of {values.FileUploadMaxAttachmentsConfig} files; each file should be less than {values.FileUploadSizeConfig}MB\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default NominationStep10;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { IndividualFormNominate, CompanyFormNominate } from '@components';\r\nimport { NominationInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\n\r\nfunction NominationStep11(): ReactElement {\r\n const { values }: { values: iNominationFormValues } = useFormikContext();\r\n const isIndividual = values.isDebtorTypeIndividual;// || false;\r\n // eslint-disable-next-line no-unused-expressions, no-nested-ternary\r\n return (\r\n
\r\n Your details\r\n {!isIndividual\r\n && (\r\n

Now we need your details, as the company's representative

\r\n )}\r\n {isIndividual\r\n && (\r\n

Now we need your details, as the person named on the fine.

\r\n )}\r\n

All fields are required unless specified

\r\n {isIndividual && }\r\n {!isIndividual && }\r\n
\r\n );\r\n}\r\n\r\nexport default NominationStep11;\r\n","import { ReactElement, useEffect } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Summary } from '@components';\r\nimport { iNominationFormValues, getSummaryScreen } from '@services/NominationService';\r\n\r\nfunction NominationStep12(): ReactElement {\r\n const { values }: { values: iNominationFormValues } = useFormikContext();\r\n useEffect(() => {\r\n values.CheckAndConfirmPageLoaded = true;\r\n }, []);\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default NominationStep12;\r\n","import { ReactElement, useState, useEffect } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { CheckboxInputAccessible } from '@components';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\n\r\nfunction NominationStep13(): ReactElement {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { values, setFieldValue }: { values: iNominationFormValues; setFieldValue: (field: string, value: any, shouldValidate?: boolean) => void } = useFormikContext();\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const [loading, setLoading] = useState(false);\r\n const [declarationMsg, setDeclarationMsg] = useState(
Unpopulated
);\r\n\r\n const individualRoadOffence: ReactElement = (\r\n
\r\n

I understand that it is an offence under the Road Safety Act 1986 (which may carry a fine in excess of $11,000 and potential licence loss for an individual, or a fine in excess of $22,000 for a body corporate) to knowingly provide false or misleading information in a nomination statement.

\r\n

I understand that I may be served with a summons to appear and give evidence in court in relation to this nomination.

\r\n

I declare that the information that I have supplied in the form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n
\r\n );\r\n const companyRoadOffence: ReactElement = (\r\n
\r\n

I understand that it is an offence under the Road Safety Act 1986 (which may carry a fine in excess of $11,000 and potential licence loss for an individual, or a fine in excess of $22,000 for a body corporate) to knowingly provide false or misleading information in a nomination statement.

\r\n

I understand that I may be served with a summons to appear and give evidence in court in relation to this nomination.

\r\n

I declare that I am giving this information and signing this statement as a person authorised by the company to do so.

\r\n

I declare that the information that I have supplied in the form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n
\r\n );\r\n const individualMarineOffence: ReactElement = (\r\n
\r\n

I understand that it is an offence under the Marine Safety Act 2010 (which may carry a fine in excess of $11,000) to knowingly provide false or misleading information in a nomination statement.

\r\n

I understand that I may be served with a summons to give evidence in court in relation to this nomination.

\r\n

I declare that the information that I have supplied in the form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n
\r\n );\r\n const companyMarineOffence: ReactElement = (\r\n
\r\n

I understand that it is an offence under the Marine Safety Act 2010 (which may carry a fine in excess of $11,000) to knowingly provide false or misleading information in a nomination statement.

\r\n

I understand that I may be served with a summons to give evidence in court in relation to this nomination.

\r\n

I declare that I am giving this information and signing this statement as a person authorised by the company to do so.

\r\n

I declare that the information that I have supplied in the form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n let message: React.ReactElement | null = null;\r\n\r\n if (values.isDebtorTypeIndividual) {\r\n message = values.IsMarineOffence ? individualMarineOffence : individualRoadOffence;\r\n } else {\r\n message = values.IsMarineOffence ? companyMarineOffence : companyRoadOffence;\r\n }\r\n\r\n setDeclarationMsg(message);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n <>\r\n
Declaration
\r\n
{declarationMsg}
\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default NominationStep13;\r\n","import { ReactElement, useState, useEffect } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, TileRadioAccessible } from '@components';\r\nimport FormSubmissionSuccessAlertContent from '@components/Content/AlertContent/FormSubmissionSuccessAlertContent';\r\nimport { iNominationFormValues } from '@services/NominationService';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { navToError } from '@utils/Navigation';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\n\r\nimport DoneIcon from '../../../../images/done.svg';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction NominationStep14(): ReactElement {\r\n const { values }: { values: iNominationFormValues } = useFormikContext();\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const currentDomain = window.location.origin;\r\n const currentFormName = 'Nomination'; // due to DB limitation only 20 chars allowed\r\n const [referenceID, setreferenceID] = useState('00000000-0000-0000-0000-000000000000');\r\n const [surveyUrl, setSurveyUrl] = useState(`${currentDomain}/survey?Source=${currentFormName}&Id=${referenceID}`);\r\n const [feedbackOptions, setFeedbackOptions] = useState({});\r\n let emailAddress;\r\n let pageLoad = 0;\r\n // eslint-disable-next-line no-unused-expressions\r\n values.isDebtorTypeIndividual\r\n ? emailAddress = values.EmailYourDetails! : emailAddress = values.CompanyEmailYourDetails!;\r\n // eslint-disable-next-line no-unused-expressions, no-nested-ternary\r\n const sendEmailCopy = values.isDebtorTypeIndividual\r\n ? (values.EmailYourDetails ? 'true' : 'false') : (values.CompanyEmailYourDetails ? 'true' : 'false');\r\n const submissionNumber = values.submissionNo!;\r\n const DifficultMessage = (): ReactElement => (\r\n // TODO - Connect to Sitecore to make this content manageable.\r\n <>\r\n \r\n How can we improve? Would you like to\r\n {' '}\r\n \r\n take a survey\r\n \r\n {' '}\r\n ?\r\n \r\n \r\n );\r\n const WhatHappenToNextMessage = (): ReactElement => (\r\n // TODO - Connect to Sitecore to make this content manageable.\r\n <>\r\n

Your fine will be put on hold while we assess your nomination.

\r\n
\r\n

You will be notified by post of the outcome, or be contacted by the enforcement agency if additional information is required.

\r\n
\r\n

If your nomination is not accepted, you will remain responsible for the fine.

\r\n
\r\n

Quote your obligation number {values.OBLIGATION_NUMBER} for all future correspondence.

\r\n \r\n );\r\n const getKeyByValue = (object: {[key: string]: string}, value: string) => Object.entries(object).find(([, v]) => v === value)?.[0];\r\n const TILE_DATA: tile[] = feedbackOptions\r\n ? Object.values(feedbackOptions).map((option) => ({\r\n body: <>
{option as string}
,\r\n value: (option as string),\r\n }))\r\n : [];\r\n\r\n useEffect(() => {\r\n if (!submissionNumber) navToError(navigate, location);\r\n }, []);\r\n\r\n useEffect(() => {\r\n async function fetchData() {\r\n const feedbackOptionID = feedbackOptions ? getKeyByValue(feedbackOptions, values.FormExperience) : '{00000000-0000-0000-0000-0000000000}';\r\n try {\r\n const currentDT = new Date().toISOString();\r\n const response = await fetch(`${API_URL}sitecore/Feedback/UpdateFeedbackForm`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({\r\n ReferenceId: referenceID,\r\n Source: currentFormName,\r\n Date: currentDT,\r\n SitecoreItemId: feedbackOptionID,\r\n Value: values.FormExperience,\r\n IsSurveyCompleted: false\r\n })\r\n });\r\n const data = await response.json();\r\n const referenceIdRes = data;\r\n // Update the message state with the API response\r\n setreferenceID(referenceIdRes);\r\n setSurveyUrl(`${currentDomain}/survey?Source=${currentFormName}&Id=${referenceIdRes}`);\r\n } catch (error) {\r\n console.log('Error fetching data:', error);\r\n }\r\n }\r\n async function fetchOptions() {\r\n try {\r\n const response = await fetch(`${API_URL}sitecore/Feedback/getFeedbackOptions`, {\r\n method: 'GET',\r\n });\r\n const data = await response.json();\r\n const parsedData = JSON.parse(data);\r\n setFeedbackOptions(parsedData);\r\n } catch (error) {\r\n console.log('Error fetching data:', error);\r\n }\r\n }\r\n if (Object.keys(feedbackOptions).length === 0 && feedbackOptions.constructor === Object && pageLoad === 0) {\r\n fetchOptions();\r\n pageLoad += 1;\r\n }\r\n if (values.FormExperience !== undefined && values.FormExperience !== '') {\r\n fetchData();\r\n }\r\n }, [values.FormExperience]);\r\n return (\r\n
\r\n Your form has been submitted\r\n }\r\n icon={DoneIcon}\r\n theme=\"success\"\r\n color=\"green\"\r\n />\r\n }\r\n icon={InfoIcon}\r\n theme=\"info2\"\r\n />\r\n \r\n {values.FormExperience === 'Difficult'\r\n && (\r\n <>\r\n }\r\n icon={InfoIcon}\r\n theme=\"info2\"\r\n />\r\n \r\n )}\r\n {(values.FormExperience && values.FormExperience !== 'Difficult')\r\n && (\r\n <>\r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default NominationStep14;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useEffect, useRef, useState } from 'react';\r\nimport { Form, Formik, FormikProps, getIn } from 'formik';\r\nimport FormContainer from '@pages/FormContainer';\r\nimport { defaultForm, NominationMetaData, NominationSchema, iNominationFormValues, getSubmissionPayload } from '@services/NominationService';\r\nimport { FormNavFooter, FormLoading, Alert, ProgressBar, VFModalSimple, VFSimpleModalWithoutTitle } from '@components/index';\r\nimport { Route, Routes, useLocation, useNavigate } from 'react-router-dom';\r\nimport ReactGA from 'react-ga';\r\nimport { FormType } from '@constants';\r\nimport { iToolTips, iCountry, iApiError, iFormNavActions, iPartialFormData } from '@interfaces/interfaces';\r\nimport { getCountryList, getPartialForm, getTooltips, savePartialForm, submitSavedPartialForm, getBasicInfo, getValidFilesConfig, getGroundsInfo, getObligationOptions } from '@api';\r\n\r\nimport { navigateToError, getStringIndex, navigateToNextStep, getDateForValidateDebtor, setFormDataValues, setCurrentFormikValues, navToError, navigateToSpecificSteps, bytesToMBSize } from '@utils';\r\n\r\nimport ErrorContent from '@components/Content/AlertContent/ErrorContent';\r\nimport AlreadyHaveASavedFormContent from '@components/Content/AlertContent/AlreadySavedContent';\r\n\r\nimport VicFinesContext from '../VicFinesFormContext';\r\nimport { NominationErrorPage, NominationStep0, NominationStep1, NominationStep10, NominationStep2, NominationStep3, NominationStep4, NominationStep5, NominationStep6, NominationStep7, NominationStep8, NominationStep9, NominationStep11, NominationStep12, NominationStep13, NominationStep14 } from '.';\r\n\r\nimport IssueIcon from '../../../images/issue.svg';\r\n\r\nconst {\r\n REACT_APP_SITECORE_API_ENDPOINT: API_URL,\r\n REACT_APP_PATH_NOMINATION: PATH_NOMINATION,\r\n} = process.env;\r\n\r\nfunction Nomination(): ReactElement {\r\n const formikValuesRef = useRef({} as FormikProps);\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const pathElementArray = location.pathname.split('/');\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n // example returned [step0,3224242] or [step0]\r\n const stepArray = pathElementArray.slice(stepIndexDiff);\r\n // example returned 0\r\n const stepIndexInPath = getStringIndex(stepArray, 'step');\r\n // always get the element contain step like step0\r\n const getStepInPath = stepArray[stepIndexInPath];\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const pathNameUpperCase = location.pathname.toLowerCase();\r\n const currentStep = pathNameUpperCase === PATH_NOMINATION?.toLowerCase() || pathNameUpperCase === `${PATH_NOMINATION?.toLowerCase()}/` ? 'step0' : `${getStepInPath}`;\r\n const prevLocation = useRef('');\r\n const [loading, setLoading] = useState(true);\r\n const [countryList, setCountryList] = useState([]);\r\n const [tooltips, setTooltips] = useState({} as iToolTips);\r\n const [apiError, setApiError] = useState({} as iApiError);\r\n const [activeError, setActiveError] = useState(false);\r\n const [isIndividual, setIsIndividual] = useState(false);\r\n const partialFormAttachmentFields = ['SelectedObligationsStep9', 'SupportingAttachments', 'SignedDeclarationAttachment', 'OtherSupportingAttachments'];\r\n const arrayFieldsToBeCleared = [\r\n 'ActionsTakenOnFine',\r\n 'obligations',\r\n 'infringementFineArray',\r\n 'enteredObligationsArray',\r\n 'InfringementNums',\r\n 'AgencyNames',\r\n 'AOffence',\r\n 'DAOffence',\r\n ];\r\n const dateTypeField = ['DOB', 'DOBSomeoneElse', 'DateSellOrDispose', 'DOBSoldDisposed', 'DOBYourDetails', 'OFFENCE_DATE'];\r\n useEffect(() => {\r\n const fetchData = async (): Promise => {\r\n try {\r\n const [countryResults, tooltipResults] = await Promise.all([getCountryList(), getTooltips('fines.NominateForm')]);\r\n setCountryList(countryResults);\r\n setTooltips(tooltipResults);\r\n setLoading(false);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n fetchData();\r\n const isSubmitted = formikValuesRef.current && formikValuesRef.current.values ? formikValuesRef.current.values?.submitted : false;\r\n const handlePopstate = () => {\r\n if (window.location.pathname === '/Nominate/Nominate-a-driver/step2') {\r\n navigate({\r\n pathname: '/Nominate/Nominate-a-driver/step3',\r\n search: location.search,\r\n });\r\n }\r\n // Partial Form saved individual user\r\n if (window.location.pathname === '/Nominate/Nominate-a-driver/step3' && formikValuesRef.current.values.isDebtorTypeIndividual && formikValuesRef.current.values.SaveYesNo === 'true') {\r\n navigate({\r\n pathname: '/Nominate/Nominate-a-driver/step4',\r\n search: location.search,\r\n });\r\n }\r\n // Partial Form saved company user\r\n if (window.location.pathname === '/Nominate/Nominate-a-driver/step4' && !formikValuesRef.current.values.isDebtorTypeIndividual && formikValuesRef.current.values.SaveYesNo === 'true') {\r\n navigate({\r\n pathname: '/Nominate/Nominate-a-driver/step5',\r\n search: location.search,\r\n });\r\n }\r\n // user should not be able to go back to previous steps after submission\r\n if (window.location.pathname === '/Nominate/Nominate-a-driver/step13' || isSubmitted) {\r\n navigate({\r\n pathname: '/Nominate/Nominate-a-driver/step14',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/Nominate/Nominate-a-driver/error') && !isSubmitted) {\r\n navigate({\r\n pathname: '/Nominate/Nominate-a-driver/error',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/Nominate/Nominate-a-driver/step1') && !isSubmitted && formikValuesRef && formikValuesRef.current) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', '');\r\n formikValuesRef.current.setFieldTouched('OBLIGATION_NUMBER');\r\n formikValuesRef.current.setFieldValue('OFFENCE_DATE', '');\r\n formikValuesRef.current.setFieldValue('HEARING_DATE', '');\r\n formikValuesRef.current.setFieldValue('DRIVER_LICENCE', '');\r\n formikValuesRef.current.setFieldValue('VEHICLE_REGISTRATION', '');\r\n formikValuesRef.current.setFieldValue('DOB', '');\r\n }\r\n };\r\n window.addEventListener('popstate', handlePopstate);\r\n return () => {\r\n window.removeEventListener('popstate', handlePopstate);\r\n };\r\n }, []);\r\n\r\n const postObligation = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n // remove whitespaces before and after obligation number\r\n const trimmedObligationNumber = formikContext.values.OBLIGATION_NUMBER.trim();\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', trimmedObligationNumber);\r\n const payload = {\r\n obligationNumber: trimmedObligationNumber,\r\n };\r\n const url = `${API_URL}sitecore/Nomination/ValidateObligation`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 422 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n const nextPageUrl = `${pathNameLessLastSegment}${'/step2'}`;\r\n if (responseBody.obligationNumber) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', responseBody.obligationNumber);\r\n }\r\n if (responseBody === 'NotInSystem' || responseBody === 'Ineligible') {\r\n setApiError({\r\n Error: responseBody,\r\n });\r\n return;\r\n }\r\n setApiError({\r\n Error: '',\r\n });\r\n navigate(nextPageUrl);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n const getTicketInfo = async (obligationNum: string): Promise => {\r\n try {\r\n const responseBody = await getBasicInfo(obligationNum, FormType.NOMINATION);\r\n if (responseBody) {\r\n formikValuesRef.current.setFieldValue('Status', responseBody.Status);\r\n formikValuesRef.current.setFieldValue('DebtorType', responseBody.DebtorType);\r\n if (responseBody.DebtorType === 'Individual') {\r\n formikValuesRef.current.setFieldValue('isDebtorTypeIndividual', true);\r\n setIsIndividual(true);\r\n }\r\n if (responseBody.DebtorType === 'Individual') {\r\n navigate(`${pathNameLessLastSegment}/step4`);\r\n } else {\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n }\r\n window.scrollTo(0, 0);\r\n }\r\n } catch (error) {\r\n console.error('Failed to get basic info:', error);\r\n }\r\n };\r\n const checkExistingForm = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n formType: FormType.NOMINATION,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CheckingExistingForm`;\r\n\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n if (responseBody.PartialFormID) formikValuesRef.current.setFieldValue('PartialFormID', responseBody.PartialFormID);\r\n if (responseBody.DebtorID) formikValuesRef.current.setFieldValue('DebtorID', responseBody.DebtorID, formikContext);\r\n formikValuesRef.current.setFieldValue('CanSave', responseBody.CanSave);\r\n if (responseBody.CheckingExisting === 'no' && responseBody.CanSave) {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step3`);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n if (responseBody.PartialFormID) {\r\n getPartialForm(responseBody.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n if (resBody.Obligations) {\r\n if (resBody.Obligations[0].ObligationNO !== formikValuesRef.current.values.OBLIGATION_NUMBER) {\r\n formikContext.setFieldValue('alreadySavedForm', true);\r\n }\r\n }\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikValuesRef.current.values.FormData, formikValuesRef, 'FormData');\r\n setCurrentFormikValues(formData, formikValuesRef.current.values, formikValuesRef);\r\n } else if (resBody[key]) {\r\n formikContext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n } else {\r\n setLoading(false);\r\n }\r\n await getTicketInfo(formikContext.values.OBLIGATION_NUMBER);\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n const getGroundsInfoFileConfig = async (formikContext: any): Promise => {\r\n if (formikContext.values.OBLIGATION_NUMBER) {\r\n setLoading(true);\r\n Promise.all([\r\n getGroundsInfo(formikContext.values.OBLIGATION_NUMBER, FormType.NOMINATION),\r\n getValidFilesConfig()\r\n ])\r\n .then(([groundsInfo, validFilesConfig]) => {\r\n if (groundsInfo && groundsInfo?.FineStage) {\r\n formikValuesRef.current.setFieldValue('FineStage', groundsInfo?.FineStage);\r\n formikValuesRef.current.setFieldValue('HasBeenNominatedBefore', groundsInfo?.HasBeenNominatedBefore);\r\n formikValuesRef.current.setFieldValue('OffenceType', groundsInfo?.OffenceType);\r\n formikValuesRef.current.setFieldValue('IsMarineOffence', groundsInfo?.IsMarineOffence);\r\n formikValuesRef.current.setFieldValue('IsTsvOffence', groundsInfo?.IsTsvOffence);\r\n formikValuesRef.current.setFieldValue('IsSeriousOffence', groundsInfo?.IsSeriousOffence);\r\n }\r\n if (validFilesConfig) {\r\n const validFileInfo = validFilesConfig.find((item) => item.FormType === FormType.NOMINATION);\r\n formikValuesRef.current.setFieldValue('FileUploadSizeConfig', bytesToMBSize(validFileInfo?.FileSize || 0));\r\n formikValuesRef.current.setFieldValue('FileUploadDescriptionConfig', validFileInfo?.Description);\r\n formikValuesRef.current.setFieldValue('FileUploadMaxAttachmentsConfig', validFileInfo?.MaxAttachments);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n navigateToError();\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n }\r\n };\r\n const resetPFormDataValues = (partialFormApi: any, formikObject: any) => {\r\n if (partialFormApi && formikObject) {\r\n // clone data format like objectkey: [{},{}]\r\n if (\r\n Array.isArray(partialFormApi)\r\n && partialFormApi[0]\r\n && typeof partialFormApi[0] === 'object'\r\n && Array.isArray(formikObject)\r\n && (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n type dynamicObj = {\r\n [key: string]: string;\r\n };\r\n const temp = {} as dynamicObj;\r\n Object.keys(val).forEach((key) => {\r\n temp[key] = val[key];\r\n });\r\n formikObject.push(temp);\r\n });\r\n }\r\n // handle scenario if formikObject is empty array , it's for ObjectKey:[] or string[]\r\n if (\r\n Array.isArray(partialFormApi)\r\n && partialFormApi[0]\r\n && typeof partialFormApi[0] === 'string'\r\n && Array.isArray(formikObject)\r\n && (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n formikObject.push(val);\r\n });\r\n }\r\n if (partialFormApi && formikObject) {\r\n Object.keys(partialFormApi).forEach((key) => {\r\n if (key in formikObject) {\r\n if (typeof partialFormApi[key] === 'object' && !(partialFormApi[key] instanceof Date)) {\r\n if (partialFormAttachmentFields.includes(key) || arrayFieldsToBeCleared.includes(key)) {\r\n // eslint-disable-next-line no-param-reassign\r\n formikObject[key] = [];\r\n }\r\n resetPFormDataValues(partialFormApi[key], formikObject[key]);\r\n } else {\r\n // eslint-disable-next-line no-param-reassign\r\n formikObject[key] = partialFormApi[key];\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n /* const checkIfAnyChanges = (partialFormApi: any, formikObject: any): boolean => {\r\n if (!(formikObject && partialFormApi)) {\r\n return false;\r\n }\r\n let isChanged = false;\r\n Object.keys(formikObject).forEach((key) => {\r\n if (key in partialFormApi) {\r\n if (typeof partialFormApi[key] === 'object' && partialFormApi[key] && !(partialFormApi[key] instanceof Date)) {\r\n if (Array.isArray(partialFormApi[key])) {\r\n if (partialFormApi[key].length !== formikObject[key].length) {\r\n isChanged = true;\r\n }\r\n }\r\n checkIfAnyChanges(partialFormApi[key], formikObject[key]);\r\n } else if (dateTypeField.includes(key) && partialFormApi[key] && partialFormApi[key]?.getTime() !== formikObject[key]?.getTime?.()) {\r\n isChanged = true;\r\n } else if (partialFormApi[key] && partialFormApi[key] !== formikObject[key]) {\r\n isChanged = true;\r\n }\r\n }\r\n });\r\n console.log(isChanged);\r\n return isChanged;\r\n }; */\r\n const step2NextPage = () => {\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const getObOptions = async (formikContext: any) => {\r\n getObligationOptions(formikContext.values.OBLIGATION_NUMBER, FormType.NOMINATION)\r\n .then((responseBody) => {\r\n if (responseBody && responseBody?.Authorised) {\r\n formikContext.setFieldValue('OBLIGATION_NUMBER', responseBody?.Authorised.Number);\r\n formikContext.setFieldValue('InfringementNoticeNumber', responseBody?.Authorised.InfringementNumber);\r\n }\r\n }).catch((e) => console.log(e));\r\n };\r\n\r\n const validateDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n // Backend api is checking date time for some reasons, time need to be 14:00:00\r\n const getOffenceDate = formikContext.values.OFFENCE_DATE && getDateForValidateDebtor(formikContext.values.OFFENCE_DATE.toLocaleDateString('en-AU'));\r\n const getHearingDate = formikContext.values.HEARING_DATE && getDateForValidateDebtor(formikContext.values.HEARING_DATE.toLocaleDateString('en-AU'));\r\n const getDOBDate = formikContext.values.DOB && getDateForValidateDebtor(formikContext.values.DOB.toLocaleDateString('en-AU'));\r\n // const dateObj = getTheDate.split('/');\r\n // const specificedDateString = `${dateObj[2]}-${dateObj[1]}-${dateObj[0]}`;\r\n const payload = {\r\n dateOfBirth: getDOBDate,\r\n hearingDate: getHearingDate,\r\n licenceNumber: formikContext.values.DRIVER_LICENCE,\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n offenceDate: getOffenceDate,\r\n registrationNumber: formikContext.values.VEHICLE_REGISTRATION,\r\n };\r\n const url = `${API_URL}sitecore/Nomination/ValidateDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n setApiError({\r\n Error: '',\r\n });\r\n if (responseBody === '/step4' || responseBody === '/step5') {\r\n formikValuesRef.current.setFieldValue('DOBYourDetails', getIn(formikContext.values, 'DOB'));\r\n\r\n getObOptions(formikContext);\r\n getGroundsInfoFileConfig(formikContext);\r\n checkExistingForm(formikContext);\r\n }\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const createPartialForm = async (formikContext: any): Promise => {\r\n if (formikContext.values.SaveYesNo === 'false' || getIn(formikContext.values, 'PartialFormID')) {\r\n if (formikContext.values.isDebtorTypeIndividual) {\r\n navigateToNextStep(navigate, location, 'next');\r\n } else {\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n }\r\n return;\r\n }\r\n setLoading(true);\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formikContext.values.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: formikContext.values.saveEmail,\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ a: '1', ...formikContext.values.FormData }),\r\n FormTypeID: 3,\r\n ID: 0,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n Mobile: formikContext.values.saveMobile,\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n if (responseBody.ID) {\r\n formikValuesRef.current.setFieldValue('PartialFormID', responseBody.ID);\r\n formikValuesRef.current.setFieldValue('Obligations', responseBody.Obligations);\r\n }\r\n if (formikContext.values.isDebtorTypeIndividual) {\r\n navigateToNextStep(navigate, location, 'next');\r\n } else {\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n }\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const updatePartialFormData = async (formikContext: any): Promise => {\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const partialformPayload: iPartialFormData = {\r\n ID: formikContext.values.PartialFormID,\r\n Obligations: formikContext.values.Obligations,\r\n Attachments: [],\r\n FormData: JSON.stringify(formikContext.values.FormData), // {a: '1'},formikContext.values.FormData\r\n DebtorID: formikContext.values.DebtorID,\r\n FormTypeID: 3,\r\n Email: formikContext.values.saveEmail,\r\n Mobile: formikContext.values.saveMobile,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n EMRemeinderSent: formikContext.values.EMRemeinderSent,\r\n SMSRemeinderSent: formikContext.values.SMSRemeinderSent,\r\n CreateDate: formikContext.values.CreateDate,\r\n ExpiryDate: formikContext.values.ExpiryDate,\r\n };\r\n try {\r\n const response = await savePartialForm(partialformPayload);\r\n return response;\r\n } catch (error) {\r\n console.log(error);\r\n return false;\r\n }\r\n };\r\n const step4NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n /* const fetchRegObligationNums = (selectedObligations: iFVSCheckboxAll[], authorisedObligation: string) => [\r\n authorisedObligation,\r\n ...selectedObligations.filter((e: iFVSCheckboxAll) => e.checked).map(({ number }: { number: string }) => number),\r\n ]; */\r\n const step5NextPage = async (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n setLoading(true);\r\n // const payload = fetchRegObligationNums(formikContext.values.SelectedObligationsStep5, formikContext.values.AuthorisedObligation.Number);\r\n // await formikContext.setFieldValue('SelectedObligations', payload);\r\n const selectedGround = formikContext.values.SelectedGroundInfo;\r\n const selectedOption = formikContext.values.selectTheOption;\r\n switch (true) {\r\n case selectedOption === 'SelectedGroundInfo0':\r\n navigateToSpecificSteps(navigate, location, '6');\r\n break;\r\n case selectedOption === 'SelectedGroundInfo1':\r\n navigateToSpecificSteps(navigate, location, '7');\r\n break;\r\n case selectedOption === 'SelectedGroundInfo2':\r\n navigateToSpecificSteps(navigate, location, '8');\r\n break;\r\n case selectedOption === 'SelectedGroundInfo3':\r\n navigateToSpecificSteps(navigate, location, '9');\r\n break;\r\n case selectedOption === 'SelectedGroundInfo4':\r\n navigateToSpecificSteps(navigate, location, '10');\r\n break;\r\n default:\r\n navigateToNextStep(navigate, location, 'next');\r\n break;\r\n }\r\n setLoading(false);\r\n };\r\n const step6NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToSpecificSteps(navigate, location, '11');\r\n };\r\n const step7NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToSpecificSteps(navigate, location, '11');\r\n };\r\n const step8NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToSpecificSteps(navigate, location, '11');\r\n };\r\n const step9NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToSpecificSteps(navigate, location, '11');\r\n };\r\n const step10NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n const step11NextPage = (\r\n\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n sessionStorage.setItem('isFromConfirm', '');\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const formNavActions: iFormNavActions = {\r\n step1: {\r\n next: postObligation,\r\n },\r\n step2: {\r\n next: validateDebtor,\r\n },\r\n step3: {\r\n next: createPartialForm,\r\n },\r\n step4: {\r\n next: step4NextPage,\r\n },\r\n step5: {\r\n next: step5NextPage,\r\n },\r\n step6: {\r\n next: step6NextPage,\r\n },\r\n step7: {\r\n next: step7NextPage,\r\n },\r\n step8: {\r\n next: step8NextPage,\r\n },\r\n step9: {\r\n next: step9NextPage,\r\n },\r\n step10: {\r\n next: step10NextPage,\r\n },\r\n step11: {\r\n next: step11NextPage,\r\n }\r\n };\r\n\r\n const clearApiError = () => {\r\n setApiError({\r\n Error: '',\r\n });\r\n };\r\n\r\n const displayErrorsCount = (errorCount: number, touchedFields: number): void => {\r\n if (touchedFields === 0) {\r\n setActiveError(true);\r\n } else if (errorCount > 0) {\r\n setActiveError(true);\r\n } else {\r\n setActiveError(false);\r\n }\r\n };\r\n\r\n const createPartialFormForSumbit = async (formValues: iNominationFormValues): Promise => {\r\n formikValuesRef.current.setFieldValue('SaveYesNo', 'true');\r\n resetPFormDataValues(formikValuesRef.current.values, formValues.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formValues.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: '',\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ ...formValues.FormData, SaveYesNo: 'true' }),\r\n FormTypeID: 3,\r\n ID: 0,\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n Mobile: '',\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formValues.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (responseBody.status === 200) {\r\n return 'true';\r\n }\r\n return responseBody;\r\n } catch (error) {\r\n return `${error}`;\r\n }\r\n };\r\n\r\n const getNominationEndpoint = (formValues: iNominationFormValues): string => {\r\n if (formValues.IsMarineOffence && formValues.IsSeriousOffence) {\r\n if (formValues.isDebtorTypeIndividual) {\r\n return 'SubmitBACTSVIndividual';\r\n }\r\n return 'SubmitBACTSVCompany';\r\n }\r\n if (formValues.IsMarineOffence && !formValues.IsSeriousOffence) {\r\n if (formValues.isDebtorTypeIndividual) {\r\n return 'SubmitTSVIndividual';\r\n }\r\n return 'SubmitTSVCompany';\r\n }\r\n if (!formValues.IsMarineOffence && formValues.IsSeriousOffence) {\r\n if (formValues.isDebtorTypeIndividual) {\r\n return 'SubmitESIIndividual';\r\n }\r\n return 'SubmitESICompany';\r\n }\r\n\r\n if (!formValues.IsMarineOffence && !formValues.IsSeriousOffence) {\r\n if (formValues.isDebtorTypeIndividual) {\r\n return 'SubmitStatementIndividual';\r\n }\r\n return 'SubmitStatementCompany';\r\n }\r\n return '';\r\n };\r\n\r\n const submitForm = async (formValues: iNominationFormValues): Promise => {\r\n const submissionNumber = 'SubmissionNumber';\r\n const formSubmissionValues = getSubmissionPayload(formValues, submissionNumber, getNominationEndpoint(formValues));\r\n const submitPayload = {\r\n data: JSON.stringify(formSubmissionValues),\r\n obligationNo: formValues.OBLIGATION_NUMBER\r\n };\r\n\r\n const urlSubmission = `${API_URL}sitecore/Nomination/${getNominationEndpoint(formValues)}`;\r\n let submitResponse = false;\r\n setLoading(true);\r\n submitResponse = await fetch(urlSubmission, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(submitPayload),\r\n })\r\n .then((formSubResponse) => {\r\n if (formSubResponse.status === 200) {\r\n if (formValues.SaveYesNo === 'true') {\r\n // having partial form, close it\r\n submitSavedPartialForm(formValues.PartialFormID);\r\n }\r\n formikValuesRef.current.setFieldValue('submitted', true);\r\n ReactGA.event({\r\n category: 'Nomination Form',\r\n action: 'Submit',\r\n label: 'Submit Nomination Form',\r\n });\r\n // navigate to submission success\r\n return formSubResponse.json();\r\n }\r\n formikValuesRef.current.setFieldValue('submissionError', formSubResponse.statusText);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }).then((response) => {\r\n if (response) {\r\n if (response.receiptNo) {\r\n formikValuesRef.current.setFieldValue('submissionNo', response.receiptNo); // get submission number from API response\r\n return true;\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }\r\n return false;\r\n }).catch((error) => {\r\n formikValuesRef.current.setFieldValue('submissionError', error);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n console.log(error);\r\n navToError(navigate, location);\r\n return false;\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n if (!submitResponse) return false;\r\n return true;\r\n };\r\n return (\r\n {\r\n submitForm(values);\r\n }}>\r\n {({ values }) => (\r\n \r\n \r\n {loading && }\r\n {!loading && (\r\n
\r\n {!location.pathname.includes('error') && }\r\n {activeError && } theme=\"error\" />}\r\n {values.alreadySavedForm && } />}\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 } />\r\n \r\n\r\n {!(location.pathname === `${PATH_NOMINATION}/step14` || location.pathname === `${PATH_NOMINATION}/error`) && (\r\n submitForm(values)}\r\n tooltips={tooltips}\r\n displayErrorsCount={displayErrorsCount}\r\n pageValidationKeys={NominationMetaData.pagesSegments[currentStep].validationKeys(values)}\r\n formType={FormType.NOMINATION}\r\n firstPageNo={0}\r\n disableThePage={4}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default Nomination;\r\n","import * as Yup from 'yup';\r\nimport { iAddress, iAttachments, iContactMin, iFVSCheckboxAll, iFormMetaData, iObligation, iSummary } from '@interfaces/interfaces';\r\nimport { FormType, ProgressStep } from '@constants';\r\nimport { ADDRESS_FIELD_CHARS_REGEX, COMPANY_NAME_REGEX, CONTACT_NUMBER_REGEX, CRN_REGEX, EMAIL_SPECIAL_CHARS_REGEX, FREE_TEXT_FIELD_REGEX, NAMES_FIELDS_REGEX, OBLIGATION_REGEX, ONLY_NUMBERS_REGEX, POSITION_IN_COMPANY_REGEX, POST_CODE_REGEX, VEHICLE_REGISTRATION_REGEX } from '@services/ValidationRules';\r\n\r\nimport { FormikValues } from 'formik';\r\nimport { EMPTY_CHECKBOX, EMPTY_DATE, FILE_UPLOAD_FAIL, INVALID_ADDRESS_FIELD_ERROR, INVALID_ADDRESS_SEARCH_FORMAT, INVALID_COMPANY_NAME, INVALID_CRN, INVALID_EMAIL, INVALID_FILE_SIZE_CUSTOM, INVALID_FIRST_INSTALMENT_DATE, INVALID_FREE_TEXT_FIELD_FORMAT, INVALID_FUTURE_DATE, INVALID_INPUT_LONGER_THAN_100_CHARS, INVALID_INPUT_LONGER_THAN_10_CHARS, INVALID_INPUT_LONGER_THAN_200_CHARS, INVALID_INPUT_LONGER_THAN_40_CHARS, INVALID_INPUT_LONGER_THAN_50_CHARS, INVALID_INPUT_LONGER_THAN_75_CHARS, INVALID_INPUT_LONGER_THAN_80_CHARS, INVALID_LICENCE_FORMAT, INVALID_MIN_PAYMENT_FORTNIGHTLY, INVALID_MIN_PAYMENT_HIGH, INVALID_MIN_PAYMENT_LOW, INVALID_MOBILE_NUMBER_FORMAT, INVALID_MONETARY_AMOUNT, INVALID_NAME_FORMAT_NEW, INVALID_NUMBER_INPUT, INVALID_NUMERIC_FORMAT, INVALID_OBLIGATION_NUMBER, INVALID_PHONE_NUMBER, INVALID_PHONE_NUMBER_LENGTH, INVALID_POSITION_IN_COMPANY_FIELD, INVALID_POST_CODE, INVALID_REPAYMENT_TIME_LENGTH, INVALID_VEHICLE_REGISTRATION_NUMBER, INVALID_YESNO_FORMAT, MISSING_DECLARATION_AGREEMENT, MISSING_CENTRELINK_CHECK } from './ErrorMessages';\r\nimport keys from './PageValidationKeys';\r\n\r\nconst { INSTALMENT } = FormType;\r\n\r\nconst today = new Date();\r\nconst dateAfter21Days = new Date();\r\ndateAfter21Days.setDate(new Date().getDate() + 21);\r\n\r\nexport interface iPartialFormData {\r\n a: string;\r\n submitted: boolean;\r\n // Step 1\r\n OBLIGATION_NUMBER: string;\r\n isDebtorTypeIndividual: boolean | null;\r\n isDebtorTypeCompany: boolean | null;\r\n // Step 3\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n\r\n // Step 4\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n\r\n // Step 5\r\n SelectedObligationsStep5: iFVSCheckboxAll[];\r\n TotalPaymentArrangementAmount: string;\r\n TotalPaymentArrangementAmountDisplay: string;\r\n AuthorisedObligation: iObligation;\r\n InfringementNoticeNumber: string;\r\n IneligibleObligations: iObligation[];\r\n EligibleObligations: iObligation[];\r\n ArrangedObligations: { [PANumber: string]: iObligation[] };\r\n AdditionalObligationsNum: number;\r\n\r\n // Step 6\r\n MoreInfoAboutMatters: string[];\r\n NoInfoApplies: boolean;\r\n\r\n // Step 7\r\n SupportingDocumentsUpfrontPayment: iAttachments[];\r\n DetailsForUpfrontPaymentCircumstances: string;\r\n SupportingDocUpfrontPaymentNameField: string;\r\n SupportingDocUpfrontPaymentFilesDescription: string;\r\n SupportingDocUpfrontPaymentFileUploadErrorHandle: boolean;\r\n SupportingDocUpfrontPaymentUploadFileSectionError: string;\r\n SupportingDocUpfrontPaymentFilesProvider: string;\r\n SupportingDocUpfrontPaymentFieldErrorHandle: boolean;\r\n isStep7ContinueApplicationClicked: boolean;\r\n\r\n // Step 8\r\n receiveCenterlinkPayments: string;\r\n centrelinkPaymentType: string;\r\n instalmentDeducted: string;\r\n specifyPaymentType: string;\r\n centrelinkRefNo: string;\r\n fortnightlyPaymentAmount:string;\r\n centrelinkCheck: boolean;\r\n\r\n // Step 9\r\n instalmentFrequency: string;\r\n instalmentAmount: string;\r\n instalmentNumberOfPayments: string;\r\n firstInstalmentDate: Date | null;\r\n\r\n // Step 10\r\n haveExceptionalCircumstances:string;\r\n SupportingFinancialDocuments: iAttachments[];\r\n DetailsOfFinancialCircumstances: string;\r\n SupportingFinancialDocNameField: string;\r\n SupportingFinancialDocFilesDescription: string;\r\n SupportingFinancialDocFileUploadErrorHandle: boolean;\r\n SupportingFinancialDocUploadFileSectionError: string;\r\n SupportingFinancialDocFilesProvider: string;\r\n SupportingFinancialDocFieldErrorHandle: boolean;\r\n numberOfDependents: string;\r\n\r\n // Step 11\r\n fortnightlyIncomeAfterTax: string;\r\n fortnightlyExpenses: string;\r\n quarterlyProfit: string;\r\n quarterlyLoss: string;\r\n\r\n // Step 12\r\n IndividualFamilyName: string;\r\n IndividualGivenName: string;\r\n // Step 12 Individual License\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n StatecountryOfIssue: string;\r\n // Step 12 Residential Address\r\n IndividualPostalAddress:iAddress;\r\n IndividualHasDifferentResidentialAddress:string;\r\n IndividualResidentialAddress:iAddress;\r\n // Step 12 Individual Contact\r\n IndividualContactNumber:iContactMin;\r\n IndividualHasNoEmail:string;\r\n IndividualEmail:string;\r\n // Step 12 Consent Questions\r\n // IndividualEmailTo:string;\r\n IndividualReceiveDocs:string;\r\n\r\n // Step 12 Company\r\n CompanyGivenName: string;\r\n CompanyFamilyName: string;\r\n PositionInCompany: string;\r\n CompanyContactNumber: iContactMin;\r\n CompanyHasNoEmail: string;\r\n CompanyEmail: string;\r\n CompanyReceiveDocs: string;\r\n // CompanyEmailTo: string;\r\n CompanyName: string;\r\n AbnOrAcnType: string;\r\n AbnNo: string;\r\n AcnNo: string;\r\n CompanyStreetAddress: iAddress;\r\n CompanyHasDifferentPostalAddress: string;\r\n CompanyPostalAddress: iAddress;\r\n\r\n // Step 14\r\n declaration: boolean;\r\n}\r\n\r\ninterface iPartialFormObligations {\r\n ID: number;\r\n ObligationNO: string;\r\n IsPrimary: string;\r\n}\r\nexport interface iCommonInstalmentValues {\r\n [key: string]: string | Date | boolean | null | iFVSCheckboxAll[] | string[] | iPartialFormData | iPartialFormObligations[] | iAttachments[] | iAddress | iContactMin | iObligation | iObligation[] | { [PANumber: string]: iObligation[] } | number;\r\n OBLIGATION_NUMBER: string;\r\n isDebtorTypeIndividual: boolean | null;\r\n isDebtorTypeCompany: boolean | null;\r\n isNominatable: boolean | null;\r\n // Step 3\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n\r\n // Step 4\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n IsSubscribedEM: boolean;\r\n IsSubscribedSMS: boolean;\r\n EMRemeinderSent: boolean;\r\n SMSRemeinderSent: boolean;\r\n\r\n // Partial Forms\r\n ID: string;\r\n PartialFormID: string;\r\n FormData: iPartialFormData;\r\n Obligations: iPartialFormObligations[];\r\n}\r\n\r\nexport interface iInstalmentFormValues extends iCommonInstalmentValues {\r\n InfringementNumber: string;\r\n // Step 5\r\n SelectedObligationsStep5: iFVSCheckboxAll[];\r\n TotalPaymentArrangementAmount: string;\r\n TotalPaymentArrangementAmountDisplay: string;\r\n\r\n AuthorisedObligation: iObligation;\r\n InfringementNoticeNumber: string;\r\n IneligibleObligations: iObligation[];\r\n EligibleObligations: iObligation[];\r\n ArrangedObligations: { [PANumber: string]: iObligation[] };\r\n AdditionalObligationsNum: number;\r\n\r\n // Step 6\r\n MoreInfoAboutMatters: string[];\r\n NoInfoApplies: boolean;\r\n\r\n // Step 7\r\n SupportingDocumentsUpfrontPayment: iAttachments[];\r\n DetailsForUpfrontPaymentCircumstances: string;\r\n SupportingDocUpfrontPaymentNameField: string;\r\n SupportingDocUpfrontPaymentFilesDescription: string;\r\n SupportingDocUpfrontPaymentFileUploadErrorHandle: boolean;\r\n SupportingDocUpfrontPaymentUploadFileSectionError: string;\r\n SupportingDocUpfrontPaymentFilesProvider: string;\r\n SupportingDocUpfrontPaymentFieldErrorHandle: boolean;\r\n isStep7ContinueApplicationClicked: boolean;\r\n\r\n // Step 8\r\n receiveCenterlinkPayments: string;\r\n centrelinkPaymentType: string;\r\n instalmentDeducted: string;\r\n specifyPaymentType: string;\r\n centrelinkRefNo: string;\r\n fortnightlyPaymentAmount:string;\r\n centrelinkCheck: boolean;\r\n\r\n // Step 9\r\n instalmentFrequency: string;\r\n instalmentAmount: string;\r\n instalmentNumberOfPayments: string;\r\n firstInstalmentDate: Date | null;\r\n\r\n // Step 10\r\n haveExceptionalCircumstances:string;\r\n SupportingFinancialDocuments: iAttachments[];\r\n DetailsOfFinancialCircumstances: string;\r\n SupportingFinancialDocNameField: string;\r\n SupportingFinancialDocFilesDescription: string;\r\n SupportingFinancialDocFileUploadErrorHandle: boolean;\r\n SupportingFinancialDocUploadFileSectionError: string;\r\n SupportingFinancialDocFilesProvider: string;\r\n SupportingFinancialDocFieldErrorHandle: boolean;\r\n numberOfDependents: string;\r\n\r\n // Step 11\r\n fortnightlyIncomeAfterTax: string;\r\n fortnightlyExpenses: string;\r\n quarterlyProfit: string;\r\n quarterlyLoss: string;\r\n\r\n // Step 12\r\n IndividualFamilyName: string;\r\n IndividualGivenName: string;\r\n // Step 12 Individual License\r\n LicenceState: string;\r\n NoDriverLicence: boolean;\r\n StatecountryOfIssue: string;\r\n // Step 12 Residential Address\r\n IndividualPostalAddress:iAddress;\r\n IndividualHasDifferentResidentialAddress:string;\r\n IndividualResidentialAddress:iAddress;\r\n // Step 12 Individual Contact\r\n IndividualContactNumber:iContactMin;\r\n IndividualHasNoEmail:string;\r\n IndividualEmail:string;\r\n // Step 12 Consent Questions\r\n // IndividualEmailTo:string;\r\n IndividualReceiveDocs:string;\r\n\r\n // Step 12 Company\r\n CompanyGivenName: string;\r\n CompanyFamilyName: string;\r\n PositionInCompany: string;\r\n CompanyContactNumber: iContactMin;\r\n CompanyHasNoEmail: string;\r\n CompanyEmail: string;\r\n CompanyReceiveDocs: string;\r\n // CompanyEmailTo: string;\r\n CompanyName: string;\r\n AbnOrAcnType: string;\r\n AbnNo: string;\r\n AcnNo: string;\r\n CompanyStreetAddress: iAddress;\r\n CompanyHasDifferentPostalAddress: string;\r\n CompanyPostalAddress: iAddress;\r\n\r\n // Step 14\r\n declaration: boolean;\r\n\r\n // Step 15\r\n submissionNo: string;\r\n FormExperience: string;\r\n // Submission Error\r\n // submission error message\r\n submissionError: string;\r\n}\r\n\r\nexport const defaultForm = (): iInstalmentFormValues => {\r\n const defaultValues: iInstalmentFormValues = {\r\n OBLIGATION_NUMBER: '',\r\n InfringementNumber: '',\r\n isDebtorTypeCompany: null,\r\n isDebtorTypeIndividual: null,\r\n isNominatable: null,\r\n // Step 3\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n DRIVER_LICENCE: '',\r\n VEHICLE_REGISTRATION: '',\r\n DOB: null,\r\n\r\n // Step 4\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n EMRemeinderSent: false,\r\n SMSRemeinderSent: false,\r\n // Step 5\r\n SelectedObligationsStep5: [],\r\n TotalPaymentArrangementAmount: '',\r\n TotalPaymentArrangementAmountDisplay: '',\r\n\r\n AuthorisedObligation: {} as iObligation,\r\n InfringementNoticeNumber: '',\r\n IneligibleObligations: [],\r\n EligibleObligations: [],\r\n ArrangedObligations: {} as { [PANumber: string]: iObligation[] },\r\n AdditionalObligationsNum: 0,\r\n // Step 6\r\n MoreInfoAboutMatters: [],\r\n NoInfoApplies: false,\r\n // WheelClamped: false,\r\n // ReceivedDirectorNotice: false,\r\n // VehicleSeized: false,\r\n // PlatesRemoved: false,\r\n // LicenseSactioned: false,\r\n\r\n // Step 7\r\n SupportingDocumentsUpfrontPayment: [],\r\n DetailsForUpfrontPaymentCircumstances: '',\r\n SupportingDocUpfrontPaymentNameField: '',\r\n SupportingDocUpfrontPaymentFileUploadErrorHandle: false,\r\n SupportingDocUpfrontPaymentUploadFileSectionError: '',\r\n SupportingDocUpfrontPaymentFilesProvider: '',\r\n SupportingDocUpfrontPaymentFilesDescription: '',\r\n SupportingDocUpfrontPaymentFieldErrorHandle: false,\r\n isStep7ContinueApplicationClicked: false,\r\n\r\n // Step 8\r\n receiveCenterlinkPayments: '',\r\n centrelinkPaymentType: '',\r\n instalmentDeducted: '',\r\n specifyPaymentType: '',\r\n centrelinkRefNo: '',\r\n fortnightlyPaymentAmount: '',\r\n centrelinkCheck: false,\r\n\r\n // Step 9\r\n instalmentFrequency: '',\r\n instalmentAmount: '',\r\n instalmentNumberOfPayments: '',\r\n firstInstalmentDate: dateAfter21Days,\r\n\r\n // Step 10\r\n haveExceptionalCircumstances: '',\r\n SupportingFinancialDocuments: [],\r\n DetailsOfFinancialCircumstances: '',\r\n SupportingFinancialDocNameField: '',\r\n SupportingFinancialDocFileUploadErrorHandle: false,\r\n SupportingFinancialDocUploadFileSectionError: '',\r\n SupportingFinancialDocFilesProvider: '',\r\n SupportingFinancialDocFilesDescription: '',\r\n SupportingFinancialDocFieldErrorHandle: false,\r\n numberOfDependents: '',\r\n\r\n // Step 11\r\n fortnightlyIncomeAfterTax: '',\r\n fortnightlyExpenses: '',\r\n quarterlyProfit: '',\r\n quarterlyLoss: '',\r\n\r\n // Step 12\r\n IndividualFamilyName: '',\r\n IndividualGivenName: '',\r\n // Step 12 Individual License\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n StatecountryOfIssue: 'Australia',\r\n // Step 12 Residential Address\r\n IndividualPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n IndividualHasDifferentResidentialAddress: '',\r\n IndividualResidentialAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n // Step 12 Individual Contact\r\n IndividualContactNumber: {\r\n ContactNumber: '',\r\n },\r\n IndividualHasNoEmail: '',\r\n IndividualEmail: '',\r\n // Step 12 Consent Questions\r\n // IndividualEmailTo:'';\r\n IndividualReceiveDocs: '',\r\n\r\n // Step 12 Company\r\n CompanyGivenName: '',\r\n CompanyFamilyName: '',\r\n PositionInCompany: '',\r\n CompanyContactNumber: {\r\n ContactNumber: '',\r\n },\r\n CompanyHasNoEmail: '',\r\n CompanyEmail: '',\r\n CompanyReceiveDocs: '',\r\n // CompanyEmailTo: '';\r\n CompanyName: '',\r\n AbnOrAcnType: '',\r\n AbnNo: '',\r\n AcnNo: '',\r\n CompanyStreetAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n CompanyHasDifferentPostalAddress: '',\r\n CompanyPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n declaration: false,\r\n // Step 10\r\n submissionNo: '',\r\n FormExperience: '',\r\n // Submission Error\r\n submissionError: '',\r\n\r\n // Partial Forms\r\n ID: '',\r\n PartialFormID: '',\r\n Obligations: [],\r\n FormData: {\r\n a: '',\r\n submitted: false,\r\n OBLIGATION_NUMBER: '',\r\n isDebtorTypeCompany: null,\r\n isDebtorTypeIndividual: null,\r\n // Step 3\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n DRIVER_LICENCE: '',\r\n VEHICLE_REGISTRATION: '',\r\n DOB: null,\r\n // Step 4\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n // Step 5\r\n SelectedObligationsStep5: [],\r\n TotalPaymentArrangementAmount: '',\r\n TotalPaymentArrangementAmountDisplay: '',\r\n AuthorisedObligation: {} as iObligation,\r\n InfringementNoticeNumber: '',\r\n IneligibleObligations: [],\r\n EligibleObligations: [],\r\n ArrangedObligations: {} as { [PANumber: string]: iObligation[] },\r\n AdditionalObligationsNum: 0,\r\n // Step 6\r\n MoreInfoAboutMatters: [],\r\n NoInfoApplies: false,\r\n // Step 7\r\n SupportingDocumentsUpfrontPayment: [],\r\n DetailsForUpfrontPaymentCircumstances: '',\r\n SupportingDocUpfrontPaymentNameField: '',\r\n SupportingDocUpfrontPaymentFileUploadErrorHandle: false,\r\n SupportingDocUpfrontPaymentUploadFileSectionError: '',\r\n SupportingDocUpfrontPaymentFilesProvider: '',\r\n SupportingDocUpfrontPaymentFilesDescription: '',\r\n SupportingDocUpfrontPaymentFieldErrorHandle: false,\r\n isStep7ContinueApplicationClicked: false,\r\n\r\n // Step 8\r\n receiveCenterlinkPayments: '',\r\n centrelinkPaymentType: '',\r\n instalmentDeducted: '',\r\n specifyPaymentType: '',\r\n centrelinkRefNo: '',\r\n fortnightlyPaymentAmount: '',\r\n centrelinkCheck: false,\r\n\r\n // Step 9\r\n instalmentFrequency: '',\r\n instalmentAmount: '',\r\n instalmentNumberOfPayments: '',\r\n firstInstalmentDate: dateAfter21Days,\r\n\r\n // Step 10\r\n haveExceptionalCircumstances: '',\r\n SupportingFinancialDocuments: [],\r\n DetailsOfFinancialCircumstances: '',\r\n SupportingFinancialDocNameField: '',\r\n SupportingFinancialDocFileUploadErrorHandle: false,\r\n SupportingFinancialDocUploadFileSectionError: '',\r\n SupportingFinancialDocFilesProvider: '',\r\n SupportingFinancialDocFilesDescription: '',\r\n SupportingFinancialDocFieldErrorHandle: false,\r\n numberOfDependents: '',\r\n\r\n // Step 11\r\n fortnightlyIncomeAfterTax: '',\r\n fortnightlyExpenses: '',\r\n quarterlyProfit: '',\r\n quarterlyLoss: '',\r\n\r\n // Step 12\r\n IndividualFamilyName: '',\r\n IndividualGivenName: '',\r\n // Step 12 Individual License\r\n LicenceState: '',\r\n NoDriverLicence: false,\r\n StatecountryOfIssue: 'Australia',\r\n // Step 12 Residential Address\r\n IndividualPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n IndividualHasDifferentResidentialAddress: '',\r\n IndividualResidentialAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n // Step 12 Individual Contact\r\n IndividualContactNumber: {\r\n ContactNumber: '',\r\n },\r\n IndividualHasNoEmail: '',\r\n IndividualEmail: '',\r\n // Step 12 Consent Questions\r\n // IndividualEmailTo:'';\r\n IndividualReceiveDocs: '',\r\n\r\n // Step 12 Company\r\n CompanyGivenName: '',\r\n CompanyFamilyName: '',\r\n PositionInCompany: '',\r\n CompanyContactNumber: {\r\n ContactNumber: '',\r\n },\r\n CompanyHasNoEmail: '',\r\n CompanyEmail: '',\r\n CompanyReceiveDocs: '',\r\n // CompanyEmailTo: '';\r\n CompanyName: '',\r\n AbnOrAcnType: '',\r\n AbnNo: '',\r\n AcnNo: '',\r\n CompanyStreetAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n CompanyHasDifferentPostalAddress: '',\r\n CompanyPostalAddress: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n declaration: false,\r\n }\r\n };\r\n return defaultValues;\r\n};\r\n\r\nconst dateAfter84Days = new Date();\r\ndateAfter84Days.setDate(new Date().getDate() + 84);\r\n\r\nexport const InstalmentSchema = Yup.object().shape({\r\n saveEmail: Yup.string().matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL).email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n saveMobile: Yup.string()\r\n .min(10, INVALID_MOBILE_NUMBER_FORMAT)\r\n .max(10, INVALID_PHONE_NUMBER_LENGTH)\r\n .matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER)\r\n .required(INVALID_PHONE_NUMBER),\r\n SaveYesNo: Yup.string().required(INVALID_YESNO_FORMAT),\r\n SaveOptions: Yup.string().when('SaveYesNo', {\r\n is: 'true',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n OBLIGATION_NUMBER: Yup.string().matches(OBLIGATION_REGEX, INVALID_OBLIGATION_NUMBER).required(INVALID_NUMERIC_FORMAT),\r\n OFFENCE_DATE: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n HEARING_DATE: Yup.date().required(EMPTY_DATE).nullable(),\r\n DRIVER_LICENCE: Yup.string()\r\n .required(INVALID_NUMERIC_FORMAT)\r\n .matches(/^[a-zA-Z0-9 ]*$/, INVALID_LICENCE_FORMAT),\r\n VEHICLE_REGISTRATION: Yup.string().matches(VEHICLE_REGISTRATION_REGEX, INVALID_VEHICLE_REGISTRATION_NUMBER).required(INVALID_VEHICLE_REGISTRATION_NUMBER),\r\n DOB: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n TotalPaymentArrangementAmount: Yup.string(),\r\n MoreInfoAboutMatters: Yup.array().min(1, EMPTY_CHECKBOX),\r\n NoInfoApplies: Yup.boolean().oneOf([true], EMPTY_CHECKBOX).required(EMPTY_CHECKBOX),\r\n // Step 7\r\n DetailsForUpfrontPaymentCircumstances: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT),\r\n FileSizeLimitUpfrontPayment: Yup.string(),\r\n SupportingDocUpfrontPaymentFieldErrorHandle: Yup.boolean().test('fileSizeTooLarge',\r\n function (value) {\r\n const { FileSizeLimitUpfrontPayment } = this.parent;\r\n if (value === true) {\r\n return this.createError({\r\n message: INVALID_FILE_SIZE_CUSTOM(FileSizeLimitUpfrontPayment)\r\n });\r\n }\r\n return true;\r\n }),\r\n SupportingDocUpfrontPaymentFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n SupportingDocUpfrontPaymentUploadFileSectionError: Yup.boolean().when('SupportingFinancialDocuments', {\r\n is: (SupportingDocuments: []) => SupportingDocuments.length < 1,\r\n then: Yup.boolean(),\r\n }),\r\n // Step 8\r\n receiveCenterlinkPayments: Yup.string().required(INVALID_YESNO_FORMAT),\r\n centrelinkPaymentType: Yup.string().required(INVALID_YESNO_FORMAT),\r\n instalmentDeducted: Yup.string().required(INVALID_YESNO_FORMAT),\r\n specifyPaymentType: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT).max(40, INVALID_INPUT_LONGER_THAN_40_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n centrelinkRefNo: Yup.string().matches(CRN_REGEX, INVALID_CRN).required(INVALID_NUMERIC_FORMAT),\r\n fortnightlyPaymentAmount: Yup.string().matches(ONLY_NUMBERS_REGEX, INVALID_MONETARY_AMOUNT)\r\n .test('isNum', INVALID_MONETARY_AMOUNT, (value) => !Number.isNaN(Number(value)))\r\n .test('lessThan10', INVALID_MIN_PAYMENT_FORTNIGHTLY, (value) => Number(value) >= 10)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n centrelinkCheck: Yup.boolean().oneOf([true], MISSING_CENTRELINK_CHECK),\r\n\r\n // Step 9\r\n instalmentFrequency: Yup.string().required(INVALID_YESNO_FORMAT),\r\n instalmentAmount: Yup.string()\r\n .when('instalmentFrequency', {\r\n is: 'fortnightly',\r\n then:\r\n Yup.string()\r\n .test('isNum', INVALID_MONETARY_AMOUNT, (value) => !Number.isNaN(Number(value)))\r\n .test('lessThan10', INVALID_MIN_PAYMENT_LOW, (value) => Number(value) >= 10)\r\n .test('isTooHigh', INVALID_MIN_PAYMENT_HIGH, function (value) {\r\n const { TotalPaymentArrangementAmount } = this.parent;\r\n return value !== undefined ? parseFloat(value) <= parseFloat(TotalPaymentArrangementAmount) : false;\r\n })\r\n .test('repaymentsTakeTooLong',\r\n function (value) {\r\n const { TotalPaymentArrangementAmount } = this.parent;\r\n if (value !== undefined && (Math.ceil((parseFloat(TotalPaymentArrangementAmount) / (parseFloat(value)))) > 260)) {\r\n // Find Minimum payments\r\n const minimumFortnightlyPayments = Math.ceil(parseFloat(TotalPaymentArrangementAmount) / (10 * 24));\r\n const minimumMonthlyPayments = Math.ceil(parseFloat(TotalPaymentArrangementAmount) / (10 * 12));\r\n return this.createError({\r\n message: INVALID_REPAYMENT_TIME_LENGTH(minimumFortnightlyPayments.toString(), minimumMonthlyPayments.toString())\r\n });\r\n }\r\n return true;\r\n })\r\n })\r\n .when('instalmentFrequency', {\r\n is: 'monthly',\r\n then: Yup.string().test('isNum', INVALID_MONETARY_AMOUNT, (value) => !Number.isNaN(Number(value)))\r\n .test('lessThan20', INVALID_MIN_PAYMENT_LOW, (value) => Number(value) >= 20)\r\n .test('isTooHigh', INVALID_MIN_PAYMENT_HIGH, function (value) {\r\n const { TotalPaymentArrangementAmount } = this.parent;\r\n return value !== undefined ? parseFloat(value) <= parseFloat(TotalPaymentArrangementAmount) : false;\r\n })\r\n .test('repaymentsTakeTooLong',\r\n function (value) {\r\n const { TotalPaymentArrangementAmount } = this.parent;\r\n if (value !== undefined && (Math.ceil((parseFloat(TotalPaymentArrangementAmount) / (parseFloat(value)))) > 120)) {\r\n // Find Minimum payments\r\n const minimumFortnightlyPayments = Math.ceil(parseFloat(TotalPaymentArrangementAmount) / (10 * 24));\r\n const minimumMonthlyPayments = Math.ceil(parseFloat(TotalPaymentArrangementAmount) / (10 * 12));\r\n return this.createError({\r\n message: INVALID_REPAYMENT_TIME_LENGTH(minimumFortnightlyPayments.toString(), minimumMonthlyPayments.toString())\r\n });\r\n }\r\n return true;\r\n })\r\n })\r\n .required(INVALID_NUMERIC_FORMAT),\r\n firstInstalmentDate: Yup.date()\r\n .min(today, INVALID_FIRST_INSTALMENT_DATE(dateAfter84Days))\r\n .max(dateAfter84Days, INVALID_FIRST_INSTALMENT_DATE(dateAfter84Days))\r\n .nullable()\r\n .required(EMPTY_DATE),\r\n\r\n // Step 10\r\n haveExceptionalCircumstances: Yup.string().required(INVALID_YESNO_FORMAT),\r\n DetailsOfFinancialCircumstances: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n FileSizeLimitFinancialDocs: Yup.string(),\r\n SupportingFinancialDocFieldErrorHandle: Yup.boolean().test('repaymentsTakeTooLong',\r\n function (value) {\r\n const { FileSizeLimitFinancialDocs } = this.parent;\r\n if (value === true) {\r\n return this.createError({\r\n message: INVALID_FILE_SIZE_CUSTOM(FileSizeLimitFinancialDocs)\r\n });\r\n }\r\n return true;\r\n }),\r\n SupportingFinancialDocFileUploadErrorHandle: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n SupportingFinancialDocUploadFileSectionError: Yup.boolean().when('SupportingFinancialDocuments', {\r\n is: (SupportingDocuments: []) => SupportingDocuments.length < 1,\r\n then: Yup.boolean(),\r\n }),\r\n numberOfDependents: Yup.string().matches(ONLY_NUMBERS_REGEX, INVALID_NUMBER_INPUT).max(2, INVALID_NUMBER_INPUT),\r\n\r\n // Step 11\r\n fortnightlyIncomeAfterTax: Yup.string().matches(ONLY_NUMBERS_REGEX, INVALID_MONETARY_AMOUNT).max(10, INVALID_MONETARY_AMOUNT),\r\n fortnightlyExpenses: Yup.string().matches(ONLY_NUMBERS_REGEX, INVALID_MONETARY_AMOUNT).max(10, INVALID_MONETARY_AMOUNT),\r\n quarterlyProfit: Yup.string().matches(ONLY_NUMBERS_REGEX, INVALID_MONETARY_AMOUNT),\r\n quarterlyLoss: Yup.string().matches(ONLY_NUMBERS_REGEX, INVALID_MONETARY_AMOUNT),\r\n\r\n // Step 12\r\n IndividualFamilyName: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n IndividualGivenName: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n StatecountryOfIssue: Yup.string(),\r\n LicenceState: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n NoDriverLicence: Yup.boolean(),\r\n IndividualPostalAddress: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_SEARCH_FORMAT).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n IndividualHasDifferentResidentialAddress: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n IndividualResidentialAddress: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_SEARCH_FORMAT).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_POST_CODE).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n DeliveryAddressType: Yup.string().required(INVALID_YESNO_FORMAT),\r\n IndividualEmail: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_EMAIL)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n IndividualHasNoEmail: Yup.boolean(),\r\n IndividualContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n // IndividualEmailTo: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n IndividualReceiveDocs: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n\r\n CompanyGivenName: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n CompanyFamilyName: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n PositionInCompany: Yup.string().matches(POSITION_IN_COMPANY_REGEX, INVALID_POSITION_IN_COMPANY_FIELD).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n CompanyContactNumber: Yup.object().shape({\r\n ContactNumber: Yup.string().max(10, INVALID_PHONE_NUMBER_LENGTH).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n CompanyHasNoEmail: Yup.boolean(),\r\n CompanyEmail: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_EMAIL)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n CompanyReceiveDocs: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n // CompanyEmailTo: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n CompanyName: Yup.string().matches(COMPANY_NAME_REGEX, INVALID_COMPANY_NAME).max(75, INVALID_INPUT_LONGER_THAN_75_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n AbnOrAcnType: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n AbnNo: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n AcnNo: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n CompanyStreetAddress: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_SEARCH_FORMAT).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_POST_CODE).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n CompanyHasDifferentPostalAddress: Yup.string().required(INVALID_YESNO_FORMAT).nullable(),\r\n CompanyPostalAddress: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_SEARCH_FORMAT).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_POST_CODE).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().when('Country', {\r\n is: 'Australia',\r\n then: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n }),\r\n declaration: Yup.boolean().oneOf([true], MISSING_DECLARATION_AGREEMENT),\r\n});\r\n\r\nexport const InstalmentMetaData: iFormMetaData = {\r\n pagesSegments: {\r\n step0: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: () => [],\r\n },\r\n step1: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page1,\r\n },\r\n step2: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page2,\r\n },\r\n step3: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page3,\r\n },\r\n step4: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page4,\r\n },\r\n step5: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page5,\r\n },\r\n step6: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page6,\r\n },\r\n step7: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page7,\r\n },\r\n step8: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page8,\r\n },\r\n step9: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page9,\r\n },\r\n step10: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page10,\r\n },\r\n step11: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page11,\r\n },\r\n step12: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page12,\r\n },\r\n step13: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page13,\r\n },\r\n step14: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page14,\r\n },\r\n step15: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values: FormikValues) => keys(values, INSTALMENT).page14,\r\n },\r\n },\r\n};\r\n\r\nconst displayFileDetails = (attachment: iAttachments) => {\r\n if (attachment.FileName !== '' && attachment.FileDescription !== '') {\r\n return `${attachment.FileName} : ${attachment.FileDescription}`;\r\n }\r\n if (attachment.FileName !== '' && attachment.FileDescription === '') {\r\n return `${attachment.FileName}`;\r\n }\r\n return '';\r\n};\r\nconst joinAddressFields = (entry: string[]) => {\r\n if (entry[0] === 'Address' || entry[0] === 'SearchText') return null;\r\n if (entry[0] === 'Country') return entry[1];\r\n return entry[1];\r\n};\r\n\r\nexport const getSummaryScreen = (values: iInstalmentFormValues): iSummary[] => {\r\n const checkFines = values.SelectedObligationsStep5.map((fine) => {\r\n if (!fine.checked) return fine.number.toString();\r\n return '';\r\n })\r\n .filter(Boolean)\r\n .join('; ');\r\n const page5 = {\r\n title: 'Your fines',\r\n editLink: '/step5',\r\n fields: [\r\n [{\r\n title: 'All of your fines have been included in this application.',\r\n value: '',\r\n }],\r\n checkFines !== '' ? [{\r\n title: 'Any fines that are NOT included are listed below:',\r\n value: checkFines !== '' ? `${checkFines}` : '',\r\n }] : [],\r\n values.IneligibleObligations.length > 0 ? [\r\n {\r\n title: '',\r\n value: `You also have ${values.IneligibleObligations.length} fines that are not eligible to be included on a payment arrangement. Please contact Fines Victoria to pay or to discuss any options you may have.`\r\n }\r\n ] : []\r\n ]\r\n };\r\n const page6 = {\r\n title: 'More information about your fines',\r\n editLink: '/step6',\r\n fields: [\r\n [{ title: 'Select the statement(s) that apply to you:', value: values.MoreInfoAboutMatters.join('\\r\\n') }]\r\n ]\r\n };\r\n const page7 = {\r\n title: 'Upfront payment required',\r\n editLink: '/step7',\r\n fields: [\r\n values.DetailsForUpfrontPaymentCircumstances !== ''\r\n ? [{ title: 'If you continue with this online application, we will contact you to make an upfront payment. If you cannot afford the upfront payment, please provide the reasons and attach any supporting evidence.', value: values.DetailsForUpfrontPaymentCircumstances }]\r\n : [],\r\n values.SupportingDocumentsUpfrontPayment.length > 0\r\n ? [{\r\n title: 'Attachments to be included in this application',\r\n value: values.SupportingDocumentsUpfrontPayment.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n'),\r\n }] : [],\r\n ]\r\n };\r\n\r\n const page8 = {\r\n title: 'Centrelink',\r\n editLink: '/step8',\r\n fields: [\r\n [{ title: 'Do you receive any Centrelink payments?', value: values.receiveCenterlinkPayments === 'true' ? 'Yes' : 'No' }],\r\n values.receiveCenterlinkPayments === 'true' ? [{ title: 'Would you like your instalments deducted from your Centrelink payments via Centrepay?', value: values.instalmentDeducted === 'true' ? 'Yes' : 'No' }] : [],\r\n values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' ? [{ title: 'What type of Centrelink payment do you receive?', value: values.centrelinkPaymentType }] : [],\r\n values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' && values.centrelinkPaymentType === 'Other' ? [{ title: 'Please specify', value: values.specifyPaymentType }] : [],\r\n values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' ? [{ title: 'Centrelink Reference Number (CRN)', value: values.centrelinkRefNo }] : [],\r\n values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' ? [{ title: 'How much can you pay fortnightly?', value: `$ ${values.fortnightlyPaymentAmount}` }] : [],\r\n ]\r\n };\r\n const page9 = {\r\n title: 'Maximum amount you can pay',\r\n editLink: '/step9',\r\n fields: [\r\n [{ title: 'How often would you like to pay each instalment?', value: values.instalmentFrequency.charAt(0).toUpperCase() + values.instalmentFrequency.slice(1) }],\r\n [{ title: 'How much can you pay each instalment?', value: `$ ${values.instalmentAmount}` }],\r\n [{ title: 'When will your first instalment payment occur?', value: values.firstInstalmentDate ? `${`${`0${values.firstInstalmentDate.getDate()}`.slice(-2)}/${`0${values.firstInstalmentDate.getMonth() + 1}`.slice(-2)}`}/${values.firstInstalmentDate.getFullYear()}` : 'n/a' }],\r\n ]\r\n };\r\n const page10 = {\r\n title: 'Your financial details',\r\n editLink: '/step10',\r\n fields: [\r\n [{ title: 'Do you have any exceptional financial circumstances you would like to let us know about?', value: values.haveExceptionalCircumstances === 'true' ? 'Yes' : 'No' }],\r\n (values.haveExceptionalCircumstances === 'true' && values.DetailsOfFinancialCircumstances !== '')\r\n ? [{ title: 'Provide details for any circumstances you would like to be considered in this application.', value: values.DetailsOfFinancialCircumstances }]\r\n : [],\r\n (values.haveExceptionalCircumstances === 'true' && values.SupportingFinancialDocuments.length > 0)\r\n ? [{\r\n title: 'Attachments to be included in this application',\r\n value: values.SupportingFinancialDocuments.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n'),\r\n }] : [],\r\n values.numberOfDependents !== ''\r\n ? [{\r\n title: 'How many dependants do you have?',\r\n value: values.numberOfDependents\r\n }] : [],\r\n ]\r\n };\r\n const page11 = {\r\n title: values.isDebtorTypeCompany ? 'Profit/Loss' : 'Income/expenses',\r\n editLink: '/step11',\r\n fields: [\r\n values.isDebtorTypeCompany ? [{ title: 'Profit', value: `$ ${values.quarterlyProfit}` }] : [{ title: 'Your fortnightly income (after tax)', value: `$ ${values.fortnightlyIncomeAfterTax}` }],\r\n values.isDebtorTypeCompany ? [{ title: 'Loss', value: `$ ${values.quarterlyLoss}` }] : [{ title: 'Your fortnightly expenses', value: `$ ${values.fortnightlyExpenses}` }]\r\n ]\r\n };\r\n const page12 = {\r\n title: values.isDebtorTypeCompany ? 'Details' : 'Your details',\r\n editLink: '/step12',\r\n fields: values.isDebtorTypeCompany ? [\r\n [{ title: 'Given name(s)', value: values.CompanyGivenName }],\r\n [{ title: 'Family name', value: values.CompanyFamilyName }],\r\n [{ title: 'Position in company', value: values.PositionInCompany }],\r\n [{ title: 'Contact number', value: values.CompanyContactNumber.ContactNumber }],\r\n [{ title: 'Email address', value: values.CompanyHasNoEmail ? 'N/A' : values.CompanyEmail }],\r\n // [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.CompanyEmailTo === 'true' ? 'Yes' : 'No' }],\r\n [{ title: 'Do you consent to receiving correspondence about this application via email?', value: values.CompanyReceiveDocs === 'true' ? 'Yes' : 'No' }],\r\n [{ title: 'Company name', value: values.CompanyName }],\r\n [{ title: 'ABN/ACN', value: values.AbnOrAcnType }],\r\n [{ title: 'ABN', value: values.AbnOrAcnType === 'ABN' ? values.AbnNo : 'N/A' }],\r\n [{ title: 'ACN', value: values.AbnOrAcnType === 'ACN' ? values.AcnNo : 'N/A' }],\r\n [\r\n {\r\n title: \"Company's street address\",\r\n value: `${Object.entries(values.CompanyStreetAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.CompanyHasDifferentPostalAddress === 'false'\r\n ? [{ title: 'Is the postal address different to the street address?', value: 'No' }]\r\n : [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.CompanyPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n ] : [\r\n [{ title: 'Given name(s)', value: values.IndividualGivenName }],\r\n [{ title: 'Family name', value: values.IndividualFamilyName }],\r\n [{ title: 'Date of birth', value: values.DOB ? `${`${`0${values.DOB.getDate()}`.slice(-2)}/${`0${values.DOB.getMonth() + 1}`.slice(-2)}`}/${values.DOB.getFullYear()}` : 'n/a' }],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Driver licence number', value: 'n/a' }\r\n : { title: 'Driver licence number', value: values.DRIVER_LICENCE ? values.DRIVER_LICENCE : 'n/a' },\r\n ],\r\n [\r\n values.NoDriverLicence\r\n ? { title: 'Place of issue', value: 'n/a' }\r\n : {\r\n title: 'Place of issue',\r\n value:\r\n // eslint-disable-next-line no-nested-ternary\r\n values.StatecountryOfIssue === 'Australia' ? (values.LicenceState ? values.LicenceState : 'n/a') : values.StatecountryOfIssue ? values.StatecountryOfIssue : 'n/a',\r\n },\r\n ],\r\n [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.IndividualPostalAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.IndividualHasDifferentResidentialAddress === 'false'\r\n ? [{ title: 'Is your residential address different to your postal address?', value: 'No' }]\r\n : [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.IndividualResidentialAddress)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact number', value: values.IndividualContactNumber.ContactNumber }],\r\n [{ title: 'Email address', value: values.IndividualHasNoEmail ? 'N/A' : values.IndividualEmail }],\r\n // [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.IndividualEmailTo === 'true' ? 'Yes' : 'No' }],\r\n [{ title: 'Do you consent to receiving correspondence about this application via email?', value: values.IndividualReceiveDocs === 'true' ? 'Yes' : 'No' }],\r\n ]\r\n };\r\n\r\n const pagesExtensionSummary: iSummary[] = [\r\n page5,\r\n page6,\r\n (!values.NoInfoApplies && (values.DetailsForUpfrontPaymentCircumstances !== '' && values.SupportingDocumentsUpfrontPayment.length > 0)) ? page7 : {} as iSummary, // show it to sanctions only\r\n values.isDebtorTypeIndividual ? page8 : {} as iSummary, // show it to individuals only\r\n (values.isDebtorTypeIndividual && values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true') ? {} as iSummary : page9,\r\n page10,\r\n (values.isDebtorTypeCompany && values.quarterlyLoss !== '' && values.quarterlyProfit !== '') || (values.isDebtorTypeIndividual && values.fortnightlyIncomeAfterTax !== '' && values.fortnightlyExpenses !== '') ? page11 : {} as iSummary,\r\n page12,\r\n ];\r\n const summarySections: iSummary[] = pagesExtensionSummary;\r\n return summarySections;\r\n};\r\n\r\nexport interface iSubmitInstalmentFormValues extends iCommonInstalmentValues {\r\n YourObligationNumber: string;\r\n InfringementNoticeNumber: string;\r\n isIndividual: boolean;\r\n Sanction: string;\r\n\r\n // Details or Your Details\r\n FamilyName: string;\r\n GivenNames: string;\r\n\r\n // Company\r\n AbnacnType: string;\r\n AbnacnNo: string;\r\n PositionInCompany: string;\r\n CompanyName: string;\r\n\r\n // Comapny - Street Address\r\n LineOne: string;\r\n LineTwo: string;\r\n Suburb: string;\r\n State: string;\r\n Postcode: string;\r\n Country: string;\r\n\r\n // Comapny - Postal Address\r\n LineOneTwo: string;\r\n LineTwoTwo: string;\r\n SuburbTwo: string;\r\n StateTwo: string;\r\n PostcodeTwo: string;\r\n CountryTwo: string;\r\n\r\n // Residential Address\r\n ResidentialAddressLineOne: string;\r\n ResidentialAddressLineTwo: string;\r\n ResidentialAddressSuburb: string;\r\n ResidentialAddressState: string;\r\n ResidentialAddressPostcode: string;\r\n ResidentialAddressCountry: string;\r\n\r\n // Postal address\r\n PostalAddressLineOne: string;\r\n PostalAddressLineTwo: string;\r\n PostalAddressSuburb: string;\r\n PostalAddressState: string;\r\n PostalAddressCountry: string;\r\n\r\n YourEmailAddressOptional: string;\r\n DocumentElectronically: string;\r\n ContactNumber: string;\r\n DriverLicenceNumber: string;\r\n StateOrCountryOfIssue: string;\r\n CurrentLicence: boolean;\r\n\r\n // Date of Birth - Individual\r\n DOBDD: string;\r\n DOBMM: string;\r\n DOBYYYY: string;\r\n\r\n // Centrelink - Individual Specific\r\n DoYouReceiveAnyCentrelinkPayments: string;\r\n CentrelinkReferenceNumber: string;\r\n WhatTypeOfPaymentDoYouReceive: string;\r\n IfOther: string;\r\n CentrelinkYesOrNo: string;\r\n HowMuchCanYouPayFortnightly: string;\r\n\r\n FortnightlyCheckbox: boolean;\r\n CheckBoxSeven: boolean;\r\n MonthlyCheckbox: boolean;\r\n FortnightlyAmount: string;\r\n MonthlyAmount: string;\r\n // Individual first instalment date\r\n InstalmentDD: string;\r\n InstalmentMM: string;\r\n InstalmentYYYY: string;\r\n // Comapny first instalment date\r\n DdTwo: string;\r\n MmTwo: string;\r\n YyyyTwo: string;\r\n\r\n // Individual Income and Expenses\r\n YourFortnightlyIncome: string;\r\n NumberOfDependants: string;\r\n YourFortnightlyExpenses: string;\r\n\r\n // Company Profit and Loss\r\n ProfitOrLoss: string;\r\n\r\n DoYouHaveAnyExceptionalFinancialCircumstances: string;\r\n ProvideDetailsForAnyCircumstancesYouWouldLikeToBeConsideredForInThisApplication: string;\r\n ExpensesOfAttachments: string;\r\n\r\n StatementThatAppliesToYou: string;\r\n IfYouCannotAffordTheUpfrontPayment: string;\r\n MoreInformationOfAttachments: string;\r\n\r\n YouHaveChosenToNotIncludeTheFollowingFinesInThisApplication: string;\r\n\r\n ApplicantsSignature: string;\r\n // Individual\r\n DeclarationDD: string;\r\n DeclarationMM: string;\r\n DeclarationYYYY: string;\r\n // Company\r\n DDThree: string;\r\n MMThree: string;\r\n YYYYThree: string;\r\n\r\n FooterSubmissionNo1: string;\r\n FooterFormType1: string;\r\n FooterObligationNo1: string;\r\n FooterSubmittedTime1: string;\r\n}\r\n\r\nexport const getSubmissionPayload = (formValues: iInstalmentFormValues): iSubmitInstalmentFormValues => {\r\n const submitFormValues = formValues;\r\n const now = new Date();\r\n const MONTH = (`0${now.getMonth() + 1}`).slice(-2);\r\n const DATE = (`0${now.getDate()}`).slice(-2);\r\n const YEAR = now.getFullYear();\r\n const MINUTE = (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();\r\n const SUBMITTED_TIME = `${now.getHours()}:${MINUTE} ${DATE}/${MONTH}/${YEAR}`;\r\n const FORM_TYPE = 'Instalment';\r\n\r\n const totalNumberOfAttachmentsFinancial = formValues.SupportingFinancialDocuments?.length;\r\n const totalNumberOfAttachmentsUpfrontPayment = formValues.SupportingDocumentsUpfrontPayment?.length;\r\n const descriptionOfAttachmentsArrayFinancial = [\r\n ...(formValues.SupportingFinancialDocuments || []),\r\n ];\r\n let remoteAttachmentNames = '';\r\n if (descriptionOfAttachmentsArrayFinancial) {\r\n descriptionOfAttachmentsArrayFinancial.forEach((v) => {\r\n if (v.RemoteFileName) {\r\n remoteAttachmentNames += `${formValues.OBLIGATION_NUMBER}/${v.RemoteFileName}/${v.RemoteFileName}|`;\r\n }\r\n });\r\n }\r\n const descriptionOfAttachmentsArrayUpfrontPayment = [\r\n ...(formValues.SupportingDocumentsUpfrontPayment || []),\r\n ];\r\n let remoteAttachmentNames1 = '';\r\n if (descriptionOfAttachmentsArrayUpfrontPayment) {\r\n descriptionOfAttachmentsArrayUpfrontPayment.forEach((v) => {\r\n if (v.RemoteFileName) {\r\n remoteAttachmentNames1 += `${formValues.OBLIGATION_NUMBER}/${v.RemoteFileName}/${v.RemoteFileName}|`;\r\n }\r\n });\r\n }\r\n const allAttachmentNames = remoteAttachmentNames + remoteAttachmentNames1;\r\n const checkFines = formValues.SelectedObligationsStep5.map((fine) => {\r\n if (!fine.checked) return fine.number.toString();\r\n return '';\r\n})\r\n .filter(Boolean)\r\n .join('; ');\r\n const submitObject: iSubmitInstalmentFormValues = {\r\n ...(submitFormValues as iCommonInstalmentValues),\r\n YourObligationNumber: formValues.OBLIGATION_NUMBER,\r\n InfringementNoticeNumber: formValues?.InfringementNoticeNumber,\r\n isIndividual: !!formValues.isDebtorTypeIndividual,\r\n Sanction: formValues.NoInfoApplies ? 'false' : 'true',\r\n\r\n // Details or Your Details\r\n FamilyName: formValues.isDebtorTypeIndividual ? formValues.IndividualFamilyName : formValues.CompanyFamilyName,\r\n GivenNames: formValues.isDebtorTypeIndividual ? formValues.IndividualGivenName : formValues.CompanyGivenName,\r\n\r\n // Company\r\n AbnacnType: formValues.AbnOrAcnType,\r\n AbnacnNo: formValues.AbnOrAcnType === 'ABN' ? formValues.AbnNo : formValues.AcnNo,\r\n PositionInCompany: formValues.PositionInCompany,\r\n CompanyName: formValues.CompanyName,\r\n\r\n // Comapny - Street Address\r\n LineOne: formValues.CompanyStreetAddress.LineOne,\r\n LineTwo: formValues.CompanyStreetAddress.LineTwo,\r\n Suburb: formValues.CompanyStreetAddress.Suburb,\r\n State: formValues.CompanyStreetAddress.State,\r\n Postcode: formValues.CompanyStreetAddress.Postcode,\r\n Country: formValues.CompanyStreetAddress.Country,\r\n\r\n // Comapny - Postal Address\r\n LineOneTwo: (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.LineOne : formValues.CompanyStreetAddress.LineOne),\r\n LineTwoTwo: (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.LineTwo : formValues.CompanyStreetAddress.LineTwo),\r\n SuburbTwo: (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.Suburb : formValues.CompanyStreetAddress.Suburb),\r\n StateTwo: (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.State : formValues.CompanyStreetAddress.State),\r\n CountryTwo: (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.Country : formValues.CompanyStreetAddress.Country),\r\n\r\n // Postal Address\r\n PostalAddressLineOne: formValues.IndividualPostalAddress.LineOne,\r\n PostalAddressLineTwo: formValues.IndividualPostalAddress.LineTwo,\r\n PostalAddressSuburb: formValues.IndividualPostalAddress.Suburb,\r\n PostalAddressState: formValues.IndividualPostalAddress.State,\r\n PostalAddressCountry: formValues.IndividualPostalAddress.Country,\r\n\r\n // eslint-disable-next-line no-nested-ternary\r\n PostcodeTwo: formValues.isDebtorTypeIndividual\r\n ? (formValues.IndividualPostalAddress.Postcode)\r\n : (formValues.CompanyHasDifferentPostalAddress === 'true' ? formValues.CompanyPostalAddress.Postcode : formValues.CompanyStreetAddress.Postcode),\r\n\r\n // Residential address\r\n ResidentialAddressLineOne: (formValues.IndividualHasDifferentResidentialAddress === 'true' ? formValues.IndividualResidentialAddress.LineOne : formValues.IndividualPostalAddress.LineOne),\r\n ResidentialAddressLineTwo: (formValues.IndividualHasDifferentResidentialAddress === 'true' ? formValues.IndividualResidentialAddress.LineTwo : formValues.IndividualPostalAddress.LineTwo),\r\n ResidentialAddressSuburb: (formValues.IndividualHasDifferentResidentialAddress === 'true' ? formValues.IndividualResidentialAddress.Suburb : formValues.IndividualPostalAddress.Suburb),\r\n ResidentialAddressState: (formValues.IndividualHasDifferentResidentialAddress === 'true' ? formValues.IndividualResidentialAddress.State : formValues.IndividualPostalAddress.State),\r\n ResidentialAddressPostcode: (formValues.IndividualHasDifferentResidentialAddress === 'true' ? formValues.IndividualResidentialAddress.Postcode : formValues.IndividualPostalAddress.Postcode),\r\n ResidentialAddressCountry: (formValues.IndividualHasDifferentResidentialAddress === 'true' ? formValues.IndividualResidentialAddress.Country : formValues.IndividualPostalAddress.Country),\r\n\r\n ATTACHMENTS: allAttachmentNames,\r\n // eslint-disable-next-line no-nested-ternary\r\n YourEmailAddressOptional: formValues.isDebtorTypeIndividual ? (!formValues.IndividualHasNoEmail ? formValues.IndividualEmail : '') : (!formValues.CompanyHasNoEmail ? formValues.CompanyEmail : ''),\r\n // eslint-disable-next-line no-nested-ternary\r\n EMAIL_TO: formValues.isDebtorTypeIndividual ? (!formValues.IndividualHasNoEmail ? formValues.IndividualEmail : '') : (!formValues.CompanyHasNoEmail ? formValues.CompanyEmail : ''),\r\n // eslint-disable-next-line no-nested-ternary\r\n DocumentElectronically: formValues.isDebtorTypeIndividual ? (formValues.IndividualReceiveDocs === 'true' ? 'Yes' : 'No') : (formValues.CompanyReceiveDocs === 'true' ? 'Yes' : 'No'),\r\n ContactNumber: formValues.isDebtorTypeIndividual ? formValues.IndividualContactNumber.ContactNumber : formValues.CompanyContactNumber.ContactNumber,\r\n DriverLicenceNumber: formValues.NoDriverLicence ? '' : formValues.DRIVER_LICENCE,\r\n // eslint-disable-next-line no-nested-ternary\r\n StateOrCountryOfIssue: formValues.NoDriverLicence ? '' : formValues.StatecountryOfIssue === 'Australia' ? formValues.LicenceState : formValues.StatecountryOfIssue,\r\n CurrentLicence: formValues.NoDriverLicence,\r\n\r\n // Date of Birth - Individual\r\n DOBDD: formValues.DOB ? (`0${formValues.DOB.getDate()}`).slice(-2) : '',\r\n DOBMM: formValues.DOB ? (`0${formValues.DOB.getMonth() + 1}`).slice(-2) : '',\r\n DOBYYYY: formValues.DOB ? formValues.DOB?.getFullYear().toString() : '',\r\n\r\n // Centrelink - Individual Specific\r\n // eslint-disable-next-line no-nested-ternary\r\n DoYouReceiveAnyCentrelinkPayments: formValues.isDebtorTypeIndividual ? formValues.receiveCenterlinkPayments === 'true' ? 'Yes' : 'No' : '',\r\n CentrelinkReferenceNumber: (formValues.isDebtorTypeIndividual && formValues.receiveCenterlinkPayments === 'true' && formValues.instalmentDeducted === 'true') ? formValues.centrelinkRefNo : '',\r\n WhatTypeOfPaymentDoYouReceive: (formValues.isDebtorTypeIndividual && formValues.receiveCenterlinkPayments === 'true' && formValues.instalmentDeducted === 'true') ? formValues.centrelinkPaymentType : '',\r\n IfOther: (formValues.isDebtorTypeIndividual && formValues.receiveCenterlinkPayments === 'true' && formValues.instalmentDeducted === 'true' && formValues.centrelinkPaymentType === 'Other') ? formValues.specifyPaymentType : '',\r\n // eslint-disable-next-line no-nested-ternary\r\n CentrelinkYesOrNo: formValues.isDebtorTypeIndividual ? formValues.receiveCenterlinkPayments === 'true' ? formValues.instalmentDeducted === 'true' ? 'Yes' : 'No' : '' : '',\r\n HowMuchCanYouPayFortnightly: (formValues.isDebtorTypeIndividual && formValues.receiveCenterlinkPayments === 'true' && formValues.instalmentDeducted === 'true') ? formValues.fortnightlyPaymentAmount : '',\r\n\r\n FortnightlyCheckbox: formValues.instalmentFrequency === 'fortnightly',\r\n CheckBoxSeven: formValues.instalmentFrequency === 'fortnightly',\r\n MonthlyCheckbox: formValues.instalmentFrequency === 'monthly',\r\n FortnightlyAmount: formValues.instalmentFrequency === 'fortnightly' ? formValues.instalmentAmount : '',\r\n MonthlyAmount: formValues.instalmentFrequency === 'monthly' ? formValues.instalmentAmount : '',\r\n // Individual first instalment date\r\n InstalmentDD: (formValues.receiveCenterlinkPayments !== 'true' || (formValues.receiveCenterlinkPayments === 'true' && formValues.instalmentDeducted !== 'true')) && formValues.firstInstalmentDate ? (`0${formValues.firstInstalmentDate.getDate()}`).slice(-2) : '',\r\n InstalmentMM: (formValues.receiveCenterlinkPayments !== 'true' || (formValues.receiveCenterlinkPayments === 'true' && formValues.instalmentDeducted !== 'true')) && formValues.firstInstalmentDate ? (`0${formValues.firstInstalmentDate.getMonth() + 1}`).slice(-2) : '',\r\n InstalmentYYYY: (formValues.receiveCenterlinkPayments !== 'true' || (formValues.receiveCenterlinkPayments === 'true' && formValues.instalmentDeducted !== 'true')) && formValues.firstInstalmentDate ? formValues.firstInstalmentDate.getFullYear().toString() : '',\r\n\r\n // Comapny first instalment date\r\n DdTwo: formValues.firstInstalmentDate ? (`0${formValues.firstInstalmentDate.getDate()}`).slice(-2) : '',\r\n MmTwo: formValues.firstInstalmentDate ? (`0${formValues.firstInstalmentDate.getMonth() + 1}`).slice(-2) : '',\r\n YyyyTwo: formValues.firstInstalmentDate ? formValues.firstInstalmentDate.getFullYear().toString() : '',\r\n\r\n // Individual Income and Expenses\r\n YourFortnightlyIncome: formValues.fortnightlyIncomeAfterTax,\r\n NumberOfDependants: formValues.numberOfDependents,\r\n YourFortnightlyExpenses: formValues.fortnightlyExpenses,\r\n\r\n // Company Profit and Loss\r\n ProfitOrLoss: `${formValues.quarterlyProfit} (${formValues.quarterlyLoss})`,\r\n\r\n DoYouHaveAnyExceptionalFinancialCircumstances: formValues.haveExceptionalCircumstances === 'true' ? 'Yes' : 'No',\r\n ProvideDetailsForAnyCircumstancesYouWouldLikeToBeConsideredForInThisApplication: formValues.haveExceptionalCircumstances === 'true' ? formValues.DetailsOfFinancialCircumstances : '',\r\n ExpensesOfAttachments: formValues.haveExceptionalCircumstances === 'true' ? totalNumberOfAttachmentsFinancial.toString() : '',\r\n FinancialAttachments: remoteAttachmentNames,\r\n\r\n StatementThatAppliesToYou: formValues.MoreInfoAboutMatters.join(';'),\r\n IfYouCannotAffordTheUpfrontPayment: formValues.DetailsForUpfrontPaymentCircumstances,\r\n MoreInformationOfAttachments: !formValues.NoInfoApplies ? totalNumberOfAttachmentsUpfrontPayment.toString() : '',\r\n UpfrontPaymentAttachments: remoteAttachmentNames1,\r\n\r\n YouHaveChosenToNotIncludeTheFollowingFinesInThisApplication: checkFines !== '' ? `${checkFines}` : 'No obligations to be excluded.',\r\n\r\n ApplicantsSignature: formValues.declaration ? 'I agree to the statements' : '',\r\n // Individual\r\n DeclarationDD: DATE,\r\n DeclarationMM: MONTH,\r\n DeclarationYYYY: YEAR.toString(),\r\n // Company\r\n DDThree: DATE,\r\n MMThree: MONTH,\r\n YYYYThree: YEAR.toString(),\r\n\r\n FooterSubmissionNo1: '1234',\r\n FooterFormType1: FORM_TYPE,\r\n FooterObligationNo1: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime1: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo2: '1234',\r\n FooterFormType2: FORM_TYPE,\r\n FooterObligationNo2: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime2: SUBMITTED_TIME,\r\n\r\n FooterSubmissionNo3: '1234',\r\n FooterFormType3: FORM_TYPE,\r\n FooterObligationNo3: formValues.OBLIGATION_NUMBER,\r\n FooterSubmittedTime3: SUBMITTED_TIME,\r\n };\r\n const excludeKeysFromForm: string[] = [\r\n 'Attachments',\r\n 'InfringementNumber',\r\n 'isDebtorTypeCompany',\r\n 'isDebtorTypeIndividual',\r\n 'isNominatable',\r\n 'HEARING_DATE',\r\n 'DRIVER_LICENCE',\r\n 'VEHICLE_REGISTRATION',\r\n 'SaveYesNo',\r\n 'SaveOptions',\r\n 'saveEmail',\r\n 'saveMobile',\r\n 'IsSubscribedEM',\r\n 'IsSubscribedSMS',\r\n 'EMRemeinderSent',\r\n 'SMSRemeinderSent',\r\n 'SelectedObligationsStep5',\r\n 'FileSizeLimitFinancialDocs',\r\n 'isStep7Continue',\r\n 'FileSizeLimitUpfrontPayment',\r\n 'SelectedObNums',\r\n 'DebtorID',\r\n 'OFFENCE_DATE',\r\n 'DOBRequired',\r\n 'RegistrationRequired',\r\n 'LicenceRequired',\r\n 'HearingDateRequired',\r\n 'OffenceDateRequired',\r\n 'declaration',\r\n 'CompanyPostalAddress',\r\n 'CompanyHasDifferentPostalAddress',\r\n 'CompanyStreetAddress',\r\n 'AcnNo',\r\n 'AbnNo',\r\n 'AbnOrAcnType',\r\n 'CompanyReceiveDocs',\r\n 'CompanyEmail',\r\n 'CompanyHasNoEmail',\r\n 'CompanyContactNumber',\r\n 'CompanyFamilyName',\r\n 'CompanyGivenName',\r\n 'IndividualReceiveDocs',\r\n 'IndividualEmail',\r\n 'IndividualHasNoEmail',\r\n 'IndividualContactNumber',\r\n 'IndividualResidentialAddress',\r\n 'IndividualHasDifferentResidentialAddress',\r\n 'IndividualPostalAddress',\r\n 'StatecountryOfIssue',\r\n 'NoDriverLicence',\r\n 'LicenceState',\r\n 'IndividualGivenName',\r\n 'IndividualFamilyName',\r\n 'quarterlyLoss',\r\n 'quarterlyProfit',\r\n 'fortnightlyExpenses',\r\n 'fortnightlyIncomeAfterTax',\r\n 'numberOfDependents',\r\n 'SelectedObligationsStep5',\r\n 'TotalPaymentArrangementAmount',\r\n 'TotalPaymentArrangementAmountDisplay',\r\n 'AuthorisedObligation',\r\n 'IneligibleObligations',\r\n 'EligibleObligations',\r\n 'ArrangedObligations',\r\n 'AdditionalObligationsNum',\r\n 'MoreInfoAboutMatters',\r\n 'NoInfoApplies',\r\n 'SupportingDocumentsUpfrontPayment',\r\n 'DetailsForUpfrontPaymentCircumstances',\r\n 'SupportingDocUpfrontPaymentNameField',\r\n 'SupportingDocUpfrontPaymentFilesDescription',\r\n 'SupportingDocUpfrontPaymentFileUploadErrorHandle',\r\n 'SupportingDocUpfrontPaymentUploadFileSectionError',\r\n 'SupportingDocUpfrontPaymentFilesProvider',\r\n 'SupportingDocUpfrontPaymentFieldErrorHandle',\r\n 'isStep7ContinueApplicationClicked',\r\n 'receiveCenterlinkPayments',\r\n 'centrelinkPaymentType',\r\n 'instalmentDeducted',\r\n 'specifyPaymentType',\r\n 'centrelinkRefNo',\r\n 'fortnightlyPaymentAmount',\r\n 'centrelinkCheck',\r\n 'instalmentFrequency',\r\n 'instalmentAmount',\r\n 'instalmentNumberOfPayments',\r\n 'firstInstalmentDate',\r\n 'haveExceptionalCircumstances',\r\n 'SupportingFinancialDocuments',\r\n 'DetailsOfFinancialCircumstances',\r\n 'SupportingFinancialDocNameField',\r\n 'SupportingFinancialDocFilesDescription',\r\n 'SupportingFinancialDocFileUploadErrorHandle',\r\n 'SupportingFinancialDocUploadFileSectionError',\r\n 'SupportingFinancialDocFilesProvider',\r\n 'SupportingFinancialDocFieldErrorHandle',\r\n 'DOB',\r\n 'submissionNo',\r\n 'FormExperience',\r\n 'submissionError',\r\n 'ID',\r\n 'PartialFormID',\r\n 'Obligations',\r\n 'FormData',\r\n 'instalmentDeducted',\r\n 'specifyPaymentType',\r\n 'centrelinkRefNo',\r\n 'fortnightlyPaymentAmount',\r\n 'instalmentFrequency',\r\n 'instalmentAmount',\r\n 'instalmentNumberOfPayments',\r\n 'firstInstalmentDate',\r\n 'haveExceptionalCircumstances',\r\n 'fortnightlyExpenses',\r\n 'quarterlyProfit',\r\n 'quarterlyLoss',\r\n 'IndividualFamilyName',\r\n 'IndividualGivenName',\r\n 'LicenceState',\r\n 'NoDriverLicence',\r\n 'StatecountryOfIssue',\r\n 'IndividualPostalAddress',\r\n ];\r\n excludeKeysFromForm.forEach((value: string) => {\r\n delete submitObject[value];\r\n });\r\n return submitObject;\r\n};\r\n","import React, { ReactElement, useEffect, useState, useContext } from 'react';\r\nimport { useNavigate, useParams, useLocation } from 'react-router-dom';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { getStringIndex, setFormDataValues, setCurrentFormikValues, navigateToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport { getInitiate, checkExistingForm, getPartialForm } from '@api';\r\nimport { FormType } from '@constants';\r\nimport { Accordion, FormLoading } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport ClockIcon from '../../../../images/clock.svg';\r\nimport styles from './InstalmentStep0.module.scss';\r\n\r\ninterface iProps {\r\n formikRef: any;\r\n}\r\n\r\nfunction InstalmentStep0({ formikRef }: iProps): ReactElement {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n const pathElementArray = location.pathname.split('/');\r\n const { tooltips } = useContext(VicFinesContext);\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const validTitles = Object.keys(tooltips).filter((v) => v.includes('step0'));\r\n const formikcontext = useFormikContext();\r\n function getStringForSort(stringVal: string): string {\r\n return stringVal.substring(stringVal.indexOf('p') + 1, stringVal.indexOf('|'));\r\n }\r\n validTitles.sort((stringA, stringB) => Number(getStringForSort(stringA)) - Number(getStringForSort(stringB)));\r\n const { ob } = useParams<{ ob?: string }>();\r\n useEffect(() => {\r\n let pathNameLessLastSegmentOnLoad = '';\r\n let obNumFromPath = '';\r\n if (window.location.hash) {\r\n window.history.pushState({}, '', window.location.pathname + window.location.hash.replaceAll('#', ''));\r\n const currentUrl = window.location.pathname;\r\n const pathUrlArray = currentUrl.split('/');\r\n const stepCurrentIndex = getStringIndex(pathUrlArray, 'step');\r\n const stepIndexDiffOnLoad = stepCurrentIndex - pathUrlArray.length;\r\n pathNameLessLastSegmentOnLoad = stepCurrentIndex ? pathUrlArray.slice(0, stepIndexDiffOnLoad).join('/') : currentUrl;\r\n obNumFromPath = pathUrlArray.includes('step0') && pathUrlArray[stepCurrentIndex + 1] ? pathUrlArray[stepCurrentIndex + 1] : '';\r\n }\r\n const obNum = obNumFromPath || ob;\r\n if (obNum) {\r\n setLoading(true);\r\n checkExistingForm(obNum, 'PaymentArrangement')\r\n .then((valueOfExistingform) => {\r\n // if (!valueOfExistingform?.PartialFormID) {\r\n // setLoading(false);\r\n // navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}/step0`);\r\n // return;\r\n // }\r\n let currentStep = '';\r\n let partialFormID = 0;\r\n const partialFormOption = valueOfExistingform.CheckingExisting;\r\n const canSave = valueOfExistingform.CanSave;\r\n let savingoption = '';\r\n let debtorID = 0;\r\n if (partialFormOption === 'no' && valueOfExistingform.DebtorID && valueOfExistingform.PartialFormID) {\r\n return;\r\n }\r\n if (valueOfExistingform.CheckingExisting === 'yes') {\r\n formikcontext.setFieldValue('SaveYesNo', 'true');\r\n partialFormID = valueOfExistingform.PartialFormID!;\r\n formikcontext.setFieldValue('PartialFormID', partialFormID);\r\n savingoption = valueOfExistingform.CanSave ? 'yes' : 'no';\r\n if (valueOfExistingform.PartialFormID) {\r\n getPartialForm(valueOfExistingform.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikRef?.current?.values.FormData, formikRef, 'FormData');\r\n setCurrentFormikValues(formData, formikRef?.current?.values, formikRef);\r\n } else if (resBody[key]) {\r\n formikcontext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => console.log(e));\r\n }\r\n } else {\r\n debtorID = valueOfExistingform.DebtorID!;\r\n savingoption = 'no';\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNum);\r\n formikcontext.setFieldValue('DebtorID', debtorID);\r\n }\r\n formikcontext.setFieldValue('SaveOptions', savingoption);\r\n getInitiate(obNum, FormType.INSTALMENT).then((value) => {\r\n if (value.Number) {\r\n if (partialFormOption === 'no' && canSave === true) {\r\n currentStep = '/step4';\r\n } else {\r\n currentStep = '/step5';\r\n }\r\n } else {\r\n currentStep = '/';\r\n }\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}${currentStep}`);\r\n setLoading(false);\r\n });\r\n })\r\n .catch(() => {\r\n console.log('Caught p2');\r\n });\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, []);\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n
\r\n
Before you start
\r\n {validTitles.map((v) => {\r\n const getTitles = v.substring(v.indexOf('|'), v.length).replaceAll('|', ' ');\r\n return ;\r\n })}\r\n
\r\n \"alarm\r\n Please allow up to 12 minutes to complete this form.\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default InstalmentStep0;\r\n","import { ReactElement, useContext, useState } from 'react';\r\n\r\nimport { Field } from 'formik';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Alert, Button, Modal, TextInput } from '@components';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n// import mailRef from '../../../../images/refNo_mail.jpg';\r\nimport styles from './InstalmentStep1.module.scss';\r\n\r\nconst isIneligibleCode = 'isIneligible'; // Error Message 3\r\nconst isNominatedCode = 'isNominated'; // Error Message 4\r\n\r\nfunction InstalmentStep1(): ReactElement {\r\n const { apiError, tooltips } = useContext(VicFinesContext);\r\n const validTitle = Object.keys(tooltips).filter((v) => v.includes('obligationlocationonformstep1modal'));\r\n const modalContent = tooltips[validTitle[0]];\r\n const titleText = validTitle[0].substring(validTitle[0].indexOf('|'), validTitle[0].length).replaceAll('|', ' ');\r\n\r\n const navigateToPayFines = () => {\r\n window.open('/Your-options/Pay-your-fine', '_blank');\r\n };\r\n const navigateToViewFines = () => {\r\n window.open('/Your-options/View-your-fine', '_blank');\r\n };\r\n\r\n // Error Code 2\r\n const IneligibleObligationAlertContentError3 = (): ReactElement => (\r\n <>\r\n You're not eligible to apply for a payment arrangement.\r\n

\r\n If you would like to speak to someone, call Fines Victoria on\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers).\r\n

\r\n
\r\n

We are available Monday to Friday, 8am to 6pm (except public holidays).

\r\n
\r\n

Pay now to avoid additional costs.

\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n // Error Code 1\r\n const NominatedIneligibleAlertContentError = (): ReactElement => (\r\n <>\r\n

The obligation you have entered may be closed or may have been nominated to a third party. Check you've entered it correctly and try again.

\r\n
\r\n

\r\n If you have just become aware of your fine, call Fines Victoria on\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers).\r\n

\r\n \r\n );\r\n\r\n // For Any other error\r\n const InstalmentStep1AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n // const [smallScreen, setMatches] = useState(window.matchMedia('(max-width: 1150px)').matches);\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const InstalmentStep1NoteContent = (): ReactElement => (\r\n <>\r\n

You will need to enter the fine's obligation number, infringement number or court case number, the offence date and some other details about yourself or your vehicle.

\r\n
\r\n \r\n If you do not have these details please contact us on\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers).\r\n \r\n \r\n );\r\n\r\n const notificationInformation = (): ReactElement => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n );\r\n\r\n return (\r\n <>\r\n
\r\n
Your fine
\r\n \r\n At this stage of the application, you only need to provide the details of one of your fines - even if you are dealing with multiple matters.\r\n \r\n {apiError?.Error === isIneligibleCode && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isNominatedCode && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error\r\n && apiError?.Error !== isIneligibleCode\r\n && apiError?.Error !== isNominatedCode\r\n && } theme=\"error\" classAlt={styles.boxheight} />}\r\n setOpenHelp(true)}\r\n isMandatory\r\n autocomplete=\"off\"\r\n />\r\n
If you have already paid this fine, you cannot request a payment arrangement.
\r\n {isOpenHelp && }\r\n
\r\n } theme=\"info\" icon={InfoIcon} />\r\n \r\n );\r\n}\r\n\r\nexport default InstalmentStep1;\r\n","// import { Button } from '@components/index';\r\nimport { ReactElement } from 'react';\r\n// import { useNavigate } from 'react-router-dom';\r\n\r\n// import styles from './InstalmentStep2.module.scss';\r\n\r\nfunction InstalmentStep2(): ReactElement {\r\n // const location = useLocation();\r\n // const navigate = useNavigate();\r\n\r\n // const navigateToNominationForm = () => {\r\n // window.location.href = '/Nominate-a-driver/Nominate-a-driver/';\r\n // };\r\n // const handleContinueClick = () => {\r\n // const url = '/Pay-by-instalments/Instalment-Form/step3';\r\n // navigate(url);\r\n // };\r\nreturn (\r\n <>\r\n
\r\n Have you nominated the person who was driving?\r\n
\r\n \r\n You should\r\n {' '}\r\n \r\n nominate the person who was driving\r\n \r\n {' '}\r\n before applying for a payment arrangement.\r\n \r\n {/* You should nominate the person who was driving before applying for a payment arrangement. */}\r\n
\r\n {/*
*/}\r\n {/*
\r\n \r\n \r\n
*/}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default InstalmentStep2;\r\n","import { ReactElement, useContext, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, DateInput, Modal, TextInput } from '@components';\r\nimport { navigateToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n\r\nimport styles from './InstalmentStep3.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction InstalmentStep3(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const { apiError } = useContext(VicFinesContext);\r\n const [hasOffenceDate, setOffenceDate] = useState(false);\r\n const [hasHearingDate, setHearingDate] = useState(false);\r\n const [hasLicenceNumber, setLicenceNumber] = useState(false);\r\n const [hasVehicleRego, setVehicleRego] = useState(false);\r\n const [hasDOB, setDOB] = useState(false);\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const InstalmentStep3AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n If you don't know these details or think we may have the wrong information, contact Fines Victoria.\r\n

\r\n You can call us Monday to Friday, 8am to 6pm (except public holidays) on\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers).\r\n

\r\n
\r\n

Do you have a Victorian driver licence?

\r\n
\r\n If asked for your driver licence number, make sure you include any zeros at the start.\r\n
\r\n
\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n const setupDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n };\r\n // TO DO - UPADTE THIS ENDPOINT\r\n const url = `${API_URL}sitecore/Instalment/SetupDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n context.setFieldValue('OffenceDateRequired', false);\r\n context.setFieldValue('HearingDateRequired', false);\r\n context.setFieldValue('LicenceRequired', false);\r\n context.setFieldValue('RegistrationRequired', false);\r\n context.setFieldValue('DOBRequired', false);\r\n if (responseBody.OffenceDate) {\r\n setOffenceDate(true);\r\n context.setFieldValue('OffenceDateRequired', true);\r\n context.setFieldTouched('OFFENCE_DATE', false);\r\n }\r\n if (responseBody.HearingDate) {\r\n setHearingDate(true);\r\n context.setFieldValue('HearingDateRequired', true);\r\n context.setFieldTouched('HEARING_DATE', false);\r\n }\r\n if (responseBody.LicenceRequired) {\r\n setLicenceNumber(true);\r\n context.setFieldValue('LicenceRequired', true);\r\n context.setFieldTouched('DRIVER_LICENCE', false);\r\n }\r\n if (responseBody.RegistrationRequired) {\r\n setVehicleRego(true);\r\n context.setFieldValue('RegistrationRequired', true);\r\n context.setFieldTouched('VEHICLE_REGISTRATION', false);\r\n }\r\n if (responseBody.DateOfBirthRequired) {\r\n setDOB(true);\r\n context.setFieldValue('DOBRequired', true);\r\n context.setFieldTouched('DOB', false);\r\n }\r\n } else navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n setupDebtor(context);\r\n return () => {\r\n setOffenceDate(false); // clean up state to avoid warnings\r\n setHearingDate(false);\r\n setLicenceNumber(false);\r\n setVehicleRego(false);\r\n setDOB(false);\r\n };\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n
\r\n More information needed\r\n We need you to enter some details about this fine before you continue.\r\n {apiError?.Error && } theme=\"error\" />}\r\n {hasOffenceDate && (\r\n \r\n )}\r\n {hasHearingDate && }\r\n {hasLicenceNumber && }\r\n {hasVehicleRego && }\r\n {hasDOB && }\r\n
\r\n \r\n
\r\n {isOpenHelp && }\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default InstalmentStep3;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useState, useContext } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, TextInput, Modal, Button } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\nimport emailNotif from '../../../../images/emailviewv2.png';\r\nimport mobileNotif from '../../../../images/mobileview.png';\r\nimport styles from './InstalmentStep4.module.scss';\r\n\r\nfunction InstalmentStep4(): ReactElement {\r\n const { values }: { values: iInstalmentFormValues } = useFormikContext();\r\n const currentDate = new Date();\r\n const expiryDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate() + 7).toLocaleDateString('en-AU', { timeZone: 'Australia/Melbourne' });\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const [isNotifyHelp, setNotifyHelp] = useState(false);\r\n const closeNotifications = (modalName: string) => {\r\n if (modalName === 'savedForm') {\r\n setOpenHelp(false);\r\n } else {\r\n setNotifyHelp(false);\r\n }\r\n };\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const TILE_DATA_NOTIFICATION_TYPE: tile[] = [\r\n {\r\n body: 'No thanks',\r\n value: 'none',\r\n },\r\n {\r\n body: 'To my mobile',\r\n value: 'mobile',\r\n },\r\n {\r\n body: 'To my email',\r\n value: 'email',\r\n },\r\n {\r\n body: 'To both',\r\n value: 'both',\r\n },\r\n ];\r\n const howDoaccessSavedForm = (): ReactElement => (\r\n <>\r\n
\r\n
Visit fines.vic.gov.au, and click the ‘Your Fines’ link in the top right.\r\n
\r\n
\r\n
Enter your fine’s Obligation or Infringement number (these details are printed on your fine). You may also be asked to enter some other details about yourself, your licence or your vehicle.
\r\n
\r\n
Once you have logged in, under ‘Started applications’ you will see your incomplete form listed. Click the ‘Resume’ button to access your form.
\r\n
\r\n
Remember to click right through to the end and submit the form. Once you have submitted, you will see the green tick confirming your submission.
\r\n
\r\n
We suggest you complete and submit your form as soon as you can, or your fine may move to the next stage and further fees may be payable.
\r\n
\r\n \r\n );\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n Email notification\r\n Mobile notification\r\n
\r\n \"email\r\n
\r\n
\r\n \"mobile\r\n
\r\n
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n Save the form as you go?\r\n
\r\n
If you select Yes, we will save the form as you fill it in, so you can close it and come back later.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Your form content will be saved securely until submitted. To access saved forms visit this site, click ‘Your Fines’ and log in using the fine’s obligation/infringement number.\r\n

\r\n

\r\n Remember, the fine will continue to progress until you submit your application and receive a submission number.\r\n

\r\n \r\n {isOpenHelp && closeNotifications('savedForm')} show title=\"How do I access my saved form later?\" content={howDoaccessSavedForm()} />}\r\n {values.SaveYesNo === 'true' && (\r\n <>\r\n Send reminders of incomplete forms?\r\n
We can send you a notification to remind you to come back and submit the application.
\r\n \r\n {(values.SaveOptions === 'email' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n {(values.SaveOptions === 'mobile' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n \r\n {isNotifyHelp && closeNotifications('myNotify')} show title=\"What will my notifications look like?\" content={notificationInformation()} />}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default InstalmentStep4;\r\n","import { ReactElement, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { navigateToError } from '@utils';\r\nimport { FormType } from '@constants/forms';\r\nimport { ExpandableTableAccessible, FormLoading } from '@components/index';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\n\r\nimport { iObligation } from '@interfaces/interfaces';\r\nimport { getObligationOptions } from '@api';\r\nimport styles from './InstalmentStep5.module.scss';\r\n\r\nfunction InstalmentStep5(): ReactElement {\r\n const [loading, setLoading] = useState(false);\r\n const context = useFormikContext();\r\n const { values }: { values: iInstalmentFormValues } = useFormikContext();\r\n\r\n // Authorised Obligation\r\n const [authorisedOb, setObligationDetails] = useState({} as iObligation);\r\n // Already Payment Arranged Obligations\r\n const [arrangedObs, setArrangedObligations] = useState({} as { [PANumber: string]: iObligation[] });\r\n // Eligible Obligations\r\n const [eligibleObs, setEligibleObligations] = useState([] as iObligation[]);\r\n // Ineligible Obligations\r\n const [ineligibleObs, setIneligibleObligations] = useState([] as iObligation[]);\r\n // Total Payment Arrangement Amount\r\n const [defaultPAAmount, setDeafultPAAmount] = useState(0);\r\n // Other Ineligible Obligations Number\r\n const [additionalObligations, setAdditionalObligations] = useState(0);\r\n\r\n useEffect(() => {\r\n try {\r\n const obNumFormIk = values.OBLIGATION_NUMBER;\r\n if (values.OBLIGATION_NUMBER) {\r\n setLoading(true);\r\n getObligationOptions(obNumFormIk, FormType.INSTALMENT)\r\n .then((responseBody) => {\r\n if (responseBody && responseBody?.Authorised) {\r\n setObligationDetails(responseBody?.Authorised);\r\n context.setFieldValue('OBLIGATION_NUMBER', responseBody?.Authorised.Number);\r\n context.setFieldValue('AuthorisedObligation', responseBody?.Authorised);\r\n context.setFieldValue('InfringementNoticeNumber', responseBody?.Authorised.InfringementNumber);\r\n if (responseBody?.Authorised.DebtorType === 'Individual' && !values.isDebtorTypeIndividual) {\r\n context.setFieldValue('isDebtorTypeIndividual', true);\r\n }\r\n if (responseBody?.Authorised.DebtorType === 'Company' && !values.isDebtorTypeCompany) {\r\n context.setFieldValue('isDebtorTypeCompany', true);\r\n }\r\n }\r\n if (responseBody && responseBody?.Obligations) {\r\n setEligibleObligations(responseBody.Obligations.filter((ob) => !ob.IsOnPlan));\r\n const arrangedObs1 = responseBody.Obligations.filter((ob) => ob.IsOnPlan);\r\n let totalPAAmount = parseFloat(responseBody.Authorised.AmountDue);\r\n const PANumberMap = arrangedObs1.reduce((map, ob) => {\r\n totalPAAmount += parseFloat(ob.AmountDue);\r\n if (!map[ob.PANumber]) {\r\n // eslint-disable-next-line no-param-reassign\r\n map[ob.PANumber] = [];\r\n }\r\n map[ob.PANumber].push(ob);\r\n return map;\r\n }, {} as { [PANumber: string]: iObligation[] });\r\n setDeafultPAAmount(totalPAAmount);\r\n if (values.SelectedObligationsStep5.length > 0) {\r\n const eligibleObsMap = responseBody.Obligations.filter((ob) => !ob.IsOnPlan).filter((ob) => !ob.IsOnPlan).reduce((map, item) => {\r\n // eslint-disable-next-line no-param-reassign\r\n map[item.Number] = (parseFloat(item.AmountDue));\r\n return map;\r\n }, {} as {[obligationNo: string]: number});\r\n totalPAAmount += values.SelectedObligationsStep5.filter((item) => item.checked).reduce((sum, item) => (sum + eligibleObsMap[item.number]), 0);\r\n } else {\r\n responseBody.Obligations.filter((ob) => !ob.IsOnPlan).forEach((val) => { totalPAAmount += parseFloat(val.AmountDue); });\r\n }\r\n context.setFieldValue('TotalPaymentArrangementAmount', ((totalPAAmount.toString())));\r\n context.setFieldValue('TotalPaymentArrangementAmountDisplay', ((totalPAAmount.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }))));\r\n setArrangedObligations(PANumberMap);\r\n setIneligibleObligations(responseBody.ObligationsInvalidTypes);\r\n setAdditionalObligations(responseBody.TotalAmount - responseBody.Obligations.length - responseBody.ObligationsInvalidTypes.length - 1);\r\n\r\n context.setFieldValue('AuthorisedObligation', responseBody?.Authorised);\r\n context.setFieldValue('EligibleObligations', responseBody?.Obligations);\r\n context.setFieldValue('IneligibleObligations', responseBody.ObligationsInvalidTypes);\r\n context.setFieldValue('ArrangedObligations', PANumberMap);\r\n context.setFieldValue('AdditionalObligationsNum', responseBody.TotalAmount - responseBody.Obligations.length - responseBody.ObligationsInvalidTypes.length - 1);\r\n setLoading(false);\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n }\r\n } catch (ex) {\r\n navigateToError();\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, [values.OBLIGATION_NUMBER]);\r\n\r\n useEffect(() => {\r\n const eligibleObsMap = eligibleObs.filter((ob) => !ob.IsOnPlan).reduce((map, item) => {\r\n // eslint-disable-next-line no-param-reassign\r\n map[item.Number] = (parseFloat(item.AmountDue));\r\n return map;\r\n }, {} as {[obligationNo: string]: number});\r\n let total = values.SelectedObligationsStep5.filter((item) => item.checked).reduce((sum, item) => (sum + eligibleObsMap[item.number]), 0);\r\n total += defaultPAAmount;\r\n context.setFieldValue('TotalPaymentArrangementAmount', total.toString());\r\n context.setFieldValue('TotalPaymentArrangementAmountDisplay', ((total).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })));\r\n }, [values.SelectedObligationsStep5]);\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n <>\r\n
Your fines
\r\n

You are applying for a payment arrangement for the following fine:

\r\n
\r\n
\r\n {authorisedOb.Number && Obligation #}\r\n {authorisedOb.OffenceDate && Offence Date}\r\n {authorisedOb.OffenceDesc && Offence Description}\r\n {authorisedOb.AmountDue && Amount}\r\n
\r\n
\r\n {authorisedOb.Number && {authorisedOb.Number}}\r\n {authorisedOb.OffenceDate && {authorisedOb.OffenceDate}}\r\n {authorisedOb.OffenceDesc && {authorisedOb.OffenceDesc}}\r\n {authorisedOb.AmountDue\r\n && (\r\n \r\n $\r\n {authorisedOb.AmountDue}\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n {\r\n authorisedOb.Number && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceDate && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceDesc && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.AmountDue && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceLocation && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceTime && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.Registration && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceLocation && (\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceTime && (\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.Registration && (\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n
Obligation #{authorisedOb.Number}
Offence Date{authorisedOb.OffenceDate}
Offence Description{authorisedOb.OffenceDesc}
Amount\r\n $\r\n {authorisedOb.AmountDue}\r\n
Offence Location{authorisedOb.OffenceLocation}
Time of Offence{authorisedOb.OffenceTime}
Vehicle Registration{authorisedOb.Registration}
\r\n Offence Location\r\n
\r\n {authorisedOb.OffenceLocation}\r\n
\r\n Time of Offence\r\n
\r\n {authorisedOb.OffenceTime}\r\n
\r\n Vehicle Registration\r\n
\r\n {authorisedOb.Registration}\r\n
\r\n
\r\n
\r\n {eligibleObs.length !== 0 && (\r\n <>\r\n

\r\n We noticed you have other eligible fines and they have been included in this application. Please de-select any fine(s) you\r\n {' '}\r\n do not\r\n {' '}\r\n want to include. Please note, if you do not deal with your outstanding fines, enforcement action may be taken against you.\r\n

\r\n \r\n
\r\n \r\n )}\r\n {Object.entries(arrangedObs).map(([PANumber, obligations]) => (\r\n <>\r\n

\r\n You also have the following fines, which are currently on\r\n {' '}\r\n \r\n payment arrangement #\r\n {PANumber}\r\n \r\n . These will be included in your new payment arrangement.\r\n

\r\n \r\n
\r\n \r\n ))}\r\n {ineligibleObs.length !== 0 && values.isDebtorTypeIndividual && (\r\n <>\r\n

\r\n You also have the following matters, which\r\n {' '}\r\n cannot\r\n {' '}\r\n be included in a payment arrangement. Please contact Fines Victoria to pay or discuss your options.\r\n For information on eligiblity, visit\r\n {' '}\r\n Payment Arrangements.\r\n

\r\n \r\n
\r\n \r\n )}\r\n {ineligibleObs.length !== 0 && values.isDebtorTypeCompany && (\r\n <>\r\n

\r\n You also have the following matters, which\r\n {' '}\r\n cannot\r\n {' '}\r\n be included in a payment arrangement. Please contact Fines Victoria to pay or discuss any options.\r\n For information on eligiblity, visit\r\n {' '}\r\n Payment Arrangements.\r\n

\r\n \r\n
\r\n \r\n )}\r\n\r\n

This summary may not be a complete listing of your fines. Infringement information may vary as a result of a difference in:

\r\n
\r\n
    \r\n
  • the spelling of your name
  • \r\n
  • your address
  • \r\n
  • your driver licence number
  • \r\n {values.isDebtorTypeCompany &&
  • your registration number
  • }\r\n
    \r\n
\r\n
\r\n { additionalObligations > 0\r\n && (\r\n

\r\n If you have fines issued by a court, and they are in a separate payment arrangement with terms set by that court, then you will not be able to include them in this payment arrangement.\r\n

\r\n )}\r\n

\r\n The total value of your repayments will be\r\n {' '}\r\n \r\n $\r\n {values.TotalPaymentArrangementAmountDisplay}\r\n \r\n {' '}\r\n

\r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default InstalmentStep5;\r\n","import { ReactElement, useState, useEffect } from 'react';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { CheckboxInputAccessible, CheckboxInputGroupAccessible } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\nimport classnames from 'classnames';\r\nimport styles from './InstalmentStep6.module.scss';\r\n\r\nfunction InstalmentStep6(): ReactElement {\r\n const TILE_DATA_FINES_ACTIONS: tile[] = [\r\n {\r\n body: 'My vehicle is wheel clamped.',\r\n value: 'My vehicle is wheel clamped.',\r\n },\r\n {\r\n body: 'I have received a letter from the Director Fines Victoria about deductions from my pay or bank account, a proposed land charge, a request to provide a Statement of Financial Circumstances or been served with a Declared Director notice.',\r\n value: 'I have received a letter from the Director Fines Victoria about deductions from my pay or bank account, a proposed land charge, a request to provide a Statement of Financial Circumstances or been served with a Declared Director notice.',\r\n },\r\n {\r\n body: 'My vehicle or other property has been seized or removed by the Sheriff.',\r\n value: 'My vehicle or other property has been seized or removed by the Sheriff.',\r\n },\r\n {\r\n body: 'My vehicle number plates have been removed by the Sheriff.',\r\n value: 'My vehicle number plates have been removed by the Sheriff.',\r\n },\r\n {\r\n body: 'I have been notified that a sanction has been or will be applied to my driver licence and/or vehicle registration.',\r\n value: 'I have been notified that a sanction has been or will be applied to my driver licence and/or vehicle registration.',\r\n },\r\n ];\r\n const { values, touched }: { values: iInstalmentFormValues; touched: any } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const { MoreInfoAboutMatters, NoInfoApplies } = values;\r\n const hasTouchedMoreInfoAboutMatters = getIn(touched, 'MoreInfoAboutMatters');\r\n const hasTouchedNoInfoApplies = getIn(touched, 'NoInfoApplies');\r\n const [isActionGpDisabled, setActionGpDisabled] = useState(false);\r\n const [isNoneOptDisabled, setNoneOptDisabled] = useState(false);\r\n useEffect(() => {\r\n if (NoInfoApplies) {\r\n setActionGpDisabled(true);\r\n if (!MoreInfoAboutMatters.includes('None') && MoreInfoAboutMatters.length === 0) {\r\n getIn(values, 'MoreInfoAboutMatters').push('None');\r\n }\r\n } else if (MoreInfoAboutMatters.length !== 0 && !MoreInfoAboutMatters.includes('None')) {\r\n setNoneOptDisabled(true);\r\n } else if (MoreInfoAboutMatters.length !== 0 && MoreInfoAboutMatters.includes('None')) {\r\n formikContext.setFieldValue(\r\n 'MoreInfoAboutMatters',\r\n getIn(values, 'MoreInfoAboutMatters').filter((action: string) => action !== 'None'),\r\n );\r\n } else {\r\n setActionGpDisabled(false);\r\n setNoneOptDisabled(false);\r\n }\r\n }, [MoreInfoAboutMatters, NoInfoApplies]);\r\n\r\n return (\r\n
\r\n More information about your matters\r\n \r\n
\r\n \r\n Select the statement(s) that apply to you:\r\n
\r\n \r\n
OR
\r\n \r\n {(hasTouchedMoreInfoAboutMatters || hasTouchedNoInfoApplies) && !NoInfoApplies && MoreInfoAboutMatters.length === 0 && (\r\n
Please select an option
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default InstalmentStep6;\r\n","import { ReactElement, useEffect, useState } from 'react';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\nimport { getValidFilesConfig } from '@api/index';\r\n\r\nimport { FormType } from '@constants';\r\nimport { Button, FileUploadGroup, LimitedTextAreaLarge, VFModalSimple } from '@components';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport styles from './InstalmentStep7.module.scss';\r\n\r\nfunction InstalmentStep7(): ReactElement {\r\n const { values }: { values: iInstalmentFormValues; touched: any } = useFormikContext();\r\n const context = useFormikContext();\r\n\r\n const [isCloseApplication, setIsCloseApplication] = useState(false);\r\n const [fileDescrption, setFilesDescription] = useState('You may upload a maximum of 5 files; each file should be less than 4MB.');\r\n const [fileSizeLimit, setFileSizeLimit] = useState('4');\r\n const [fileNumberLimit, setFileNumberLimit] = useState(5);\r\n\r\n useEffect(() => {\r\n const getFileInfo = async (): Promise => {\r\n getValidFilesConfig().then((responseBody) => {\r\n if (responseBody) {\r\n const instalmentData = responseBody.find((response) => response.FormType === FormType.INSTALMENT);\r\n if (instalmentData?.Description) {\r\n setFilesDescription(instalmentData?.Description);\r\n }\r\n if (instalmentData?.FileSize) {\r\n setFileSizeLimit(Math.floor(instalmentData?.FileSize / 1000000).toString());\r\n context.setFieldValue('FileSizeLimitUpfrontPayment', Math.floor(instalmentData?.FileSize / 1000000).toString());\r\n // INVALID_FILE_SIZE_ERROR_MESSAGE = `Sorry, this file is either too large (must be less than ${fileSizeLimit} MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.`;\r\n }\r\n if (instalmentData?.MaxAttachments) {\r\n setFileNumberLimit(parseInt(instalmentData.MaxAttachments, 10));\r\n }\r\n }\r\n });\r\n };\r\n getFileInfo();\r\n }, []);\r\n\r\n const closeModal = () => {\r\n setIsCloseApplication(false);\r\n };\r\n const clickContinueApplication = () => {\r\n // window.scrollTo(0, 1200);\r\n context.setFieldValue('isStep7ContinueApplicationClicked', true);\r\n };\r\n const navigateToHomePage = () => {\r\n window.location.href = '/';\r\n};\r\n const closeModalInformation = (): ReactElement => (\r\n
\r\n

Are you sure you want to close this form?

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n const titleText = 'Close this application';\r\n\r\n return (\r\n
\r\n Upfront payment required\r\n

\r\n An upfront payment of\r\n {' '}\r\n \r\n $\r\n {(0.20 * parseFloat(values.TotalPaymentArrangementAmount)).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}\r\n \r\n {' '}\r\n will be required before setting up this payment arrangement.\r\n

\r\n \r\n Please call us on\r\n {' '}\r\n \r\n 03 9200 8222\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers). We are available Monday to Friday, from 8am to 6pm (except public holidays).\r\n \r\n

\r\n Quote your obligation number\r\n {' '}\r\n {values.OBLIGATION_NUMBER}\r\n {' '}\r\n when you call.\r\n

\r\n

\r\n If you have dealt with your application over the phone, you can\r\n {' '}\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions, jsx-a11y/anchor-is-valid */}\r\n setIsCloseApplication(true)}>\r\n close this application\r\n \r\n .\r\n

\r\n {isCloseApplication && }\r\n {!values.isStep7ContinueApplicationClicked && (\r\n
\r\n \r\n
\r\n )}\r\n {values.isStep7ContinueApplicationClicked\r\n && (\r\n
\r\n \r\n

\r\n Attach any supporting documents (\r\n {fileDescrption}\r\n ). If supporting documents are not provided, your application may not be successful.\r\n ( optional )\r\n

\r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default InstalmentStep7;\r\n","export default __webpack_public_path__ + \"static/media/question_small.efd33fc3.svg\";","import { ReactElement, useState } from 'react';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { DropdownMenu, Modal, TextInput, TileRadioAccessible, CheckboxInputAccessible, InformationContainer } from '@components';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport QuestionIcon from '../../../../images/question_small.svg';\r\nimport styles from './InstalmentStep8.module.scss';\r\n\r\nfunction InstalmentStep8(): ReactElement {\r\n const { values }: { values: iInstalmentFormValues } = useFormikContext();\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n const COUNTRY_DROPDOWN = [\r\n {\r\n value: 'Abstudy',\r\n display: 'Abstudy',\r\n },\r\n {\r\n value: 'Carer Allowance',\r\n display: 'Carer Allowance',\r\n },\r\n {\r\n value: 'Disaster Recovery Payment',\r\n display: 'Disaster Recovery Payment',\r\n },\r\n {\r\n value: 'Family Tax Benefit',\r\n display: 'Family Tax Benefit',\r\n },\r\n {\r\n value: 'Other',\r\n display: 'Other',\r\n }\r\n ];\r\n const clickOpenModal = () => {\r\n setIsModalOpen(true);\r\n };\r\n\r\n const closeModal = () => {\r\n setIsModalOpen(false);\r\n };\r\n\r\n const instalmentDeductedTitle = (\r\n \r\n Would you like your instalments deducted from your Centrelink payments via Centrepay?\r\n {' '}\r\n \r\n \r\n );\r\n\r\n const centrepayModalInfo = (\r\n
\r\n

Centrepay is a free and voluntary bill paying service which allows you to pay bills directly from your Centrelink payments.

\r\n
\r\n

If you choose to pay via Centrepay, your instalments will be taken out of your Centrelink payment each fortnight.

\r\n
\r\n );\r\n\r\n const centrepayCheck = (\r\n
\r\n

I authorise Services Australia to make the agreed deduction each fortnight from my current Centrelink payment to Fines Victoria the purpose of this payment arrangement.

\r\n
\r\n

I agree that these deductions will continue until the total amount of this proposed payment arrangement is paid in full.

\r\n
\r\n

I give permission for Fines Victoria to disclose my information to Services Australia for the purposes of checking my account number, billing number and amount I want to pay, and reconciling my payment deduction details. Australian Privacy legislation protects your personal information.

\r\n
\r\n

\r\n I understand that I can change or cancel my deduction at any time, and further information about Centrepay can be found online at\r\n {' '}\r\n \r\n servicesaustralia.gov.au/centrepay\r\n \r\n {' '}\r\n (link opens in a new window).\r\n

\r\n
\r\n

I confirm that the electronic signature in this consent represents my signature.

\r\n
\r\n

I consent to signing the form electronically and I confirm that my signature is legally binding.

\r\n \r\n
\r\n );\r\n\r\n return (\r\n
\r\n Centrelink\r\n \r\n {values.receiveCenterlinkPayments === 'true' && }\r\n {isModalOpen && }\r\n {values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' && }\r\n {values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' && values.centrelinkPaymentType === 'Other' && }\r\n {values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' && }\r\n {values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' && }\r\n {values.receiveCenterlinkPayments === 'true' && values.instalmentDeducted === 'true' && }\r\n
\r\n );\r\n}\r\n\r\nexport default InstalmentStep8;\r\n","import { ReactElement, useEffect } from 'react';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\nimport { tile } from '@interfaces/interfaces';\r\n\r\nimport { DateInput, TextInput, TileRadioAccessible } from '@components';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\n\r\nimport styles from './InstalmentStep9.module.scss';\r\n\r\nfunction InstalmentStep9(): ReactElement {\r\n const { values, touched }: { values: iInstalmentFormValues; touched: any } = useFormikContext();\r\n const context = useFormikContext();\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Fortnightly',\r\n value: 'fortnightly',\r\n },\r\n {\r\n body: 'Monthly',\r\n value: 'monthly',\r\n },\r\n ];\r\n\r\n const firstInstalmentDateTitle = (\r\n <>\r\n When will your first instalment payment occur?\r\n

We recommend that your first payment is made within 21 days.

\r\n \r\n );\r\n\r\n useEffect(() => {\r\n if (values.instalmentFrequency !== '' && parseInt(values.instalmentAmount, 10) > 0) {\r\n context.setFieldValue('instalmentNumberOfPayments', Math.ceil((parseFloat(values.TotalPaymentArrangementAmount) / (parseFloat(values.instalmentAmount)))).toString());\r\n }\r\n }, [values.instalmentFrequency, values.instalmentAmount]);\r\n\r\n useEffect(() => {\r\n if (getIn(touched, 'firstInstalmentDate')) {\r\n context.setFieldTouched('firstInstalmentDate');\r\n }\r\n }, [values.firstInstalmentDate]);\r\n\r\n return (\r\n
\r\n What's the maximum amount you can pay?\r\n \r\n \r\n {values.instalmentFrequency !== '' && parseInt(values.instalmentAmount, 10) > 0 && (\r\n

\r\n You will need to make\r\n {' '}\r\n {values.instalmentNumberOfPayments}\r\n {' '}\r\n {values.instalmentFrequency}\r\n {' '}\r\n payments to complete your payment arrangement.\r\n

\r\n )}\r\n \r\n
\r\n

\r\n Note: \r\n If your application is granted and you don't make each instalment payment by the due date, enforcement of your fines will continue and additional fees may be added.\r\n

\r\n
\r\n );\r\n}\r\n\r\nexport default InstalmentStep9;\r\n","import { ReactElement, useEffect, useState } from 'react';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { FormType } from '@constants';\r\nimport { getValidFilesConfig } from '@api/index';\r\n\r\nimport { FileUploadGroup, LimitedTextAreaLarge, TextInput, TileRadioAccessible } from '@components';\r\nimport { Field, useFormikContext } from 'formik';\r\n\r\nimport styles from './InstalmentStep10.module.scss';\r\n\r\nfunction InstalmentStep10(): ReactElement {\r\n const { values }: { values: iInstalmentFormValues } = useFormikContext();\r\n const context = useFormikContext();\r\n const [fileDescrption, setFilesDescription] = useState('You may upload a maximum of 5 files; each file should be less than 4MB.');\r\n const [fileSizeLimit, setFileSizeLimit] = useState('4');\r\n const [fileNumberLimit, setFileNumberLimit] = useState(5);\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n const getFileInfo = async (): Promise => {\r\n getValidFilesConfig().then((responseBody) => {\r\n if (responseBody) {\r\n const instalmentData = responseBody.find((response) => response.FormType === FormType.INSTALMENT);\r\n if (instalmentData?.Description) {\r\n setFilesDescription(instalmentData?.Description);\r\n }\r\n if (instalmentData?.FileSize) {\r\n setFileSizeLimit(Math.floor(instalmentData?.FileSize / 1000000).toString());\r\n context.setFieldValue('FileSizeLimitFinancialDocs', Math.floor(instalmentData?.FileSize / 1000000).toString());\r\n // INVALID_FILE_SIZE_ERROR_MESSAGE = `Sorry, this file is either too large (must be less than ${fileSizeLimit} MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.`;\r\n }\r\n if (instalmentData?.MaxAttachments) {\r\n setFileNumberLimit(parseInt(instalmentData.MaxAttachments, 10));\r\n }\r\n }\r\n });\r\n };\r\n getFileInfo();\r\n }, []);\r\n\r\n return (\r\n
\r\n Your financial details\r\n \r\n {(values.haveExceptionalCircumstances === 'true')\r\n && (\r\n
\r\n \r\n

\r\n Attach any supporting documents (\r\n {fileDescrption}\r\n ). If supporting documents are not provided, your application may not be successful.\r\n (optional)\r\n

\r\n \r\n
\r\n )}\r\n {values.isDebtorTypeIndividual && }\r\n
\r\n );\r\n}\r\n\r\nexport default InstalmentStep10;\r\n","import { ReactElement } from 'react';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\n\r\nimport { TextInput } from '@components';\r\nimport { Field, useFormikContext } from 'formik';\r\n\r\nfunction InstalmentStep11(): ReactElement {\r\n const { values }: { values: iInstalmentFormValues } = useFormikContext();\r\n\r\n return (\r\n
\r\n {values.isDebtorTypeIndividual && (\r\n
\r\n Income/expenses (optional)\r\n

To help us assess your application, you can provide us with information about your income and expenses.

\r\n \r\n \r\n
\r\n )}\r\n {values.isDebtorTypeCompany && (\r\n
\r\n Profit/loss (optional)\r\n

To help us assess your application, you can provide us with information about the company's profit or loss.

\r\n

Please provide the company's quarterly profit or loss

\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default InstalmentStep11;\r\n","import { ReactElement } from 'react';\r\nimport { instalmentContactInfoDisplayObject, instalmentCompanyInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport { useFormikContext } from 'formik';\r\nimport { ComapnyInformationAccessible, ContactInformationAccessible } from '@components/index';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\n\r\nfunction InstalmentStep12(): ReactElement {\r\n const currentSp = 'Select if you do not have an email address';\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { values }: { values: iInstalmentFormValues; touched: any } = useFormikContext();\r\n return (\r\n <>\r\n {values.isDebtorTypeIndividual\r\n && }\r\n {values.isDebtorTypeCompany\r\n && }\r\n \r\n );\r\n}\r\n\r\nexport default InstalmentStep12;\r\n","import { ReactElement } from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { Summary } from '@components';\r\nimport { iInstalmentFormValues, getSummaryScreen } from '@services/InstalmentService';\r\n\r\nfunction InstalmentStep13(): ReactElement {\r\n const { values }: { values: iInstalmentFormValues } = useFormikContext();\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default InstalmentStep13;\r\n","import { ReactElement } from 'react';\r\nimport { CheckboxInputAccessible } from '@components';\r\nimport { useFormikContext, Field } from 'formik';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\n\r\nfunction InstalmentStep14(): ReactElement {\r\n const { values }: { values: iInstalmentFormValues } = useFormikContext();\r\n return (\r\n <>\r\n
Declaration
\r\n { values.isDebtorTypeIndividual && (\r\n
\r\n

I declare that the information that I have supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that it is an offence under the Fines Reform Act 2014 to intentionally provide false or misleading information in a written statement required by or under the Act. I understand that the offence carries a fine in excess of $1900.

\r\n

I understand that if Fines Victoria offers me a payment arrangement, failure to make the first payment by the due date will result in the arrangement being cancelled. This may result in further costs being added to my fine(s) and/or enforcement action being taken against me.

\r\n

I confirm that based on my current financial circumstances, I am able to pay the instalments under the proposed payment arrangement.

\r\n

I understand that it is my responsibility to ensure that each payment is made on or before the due date.

\r\n
\r\n )}\r\n { values.isDebtorTypeCompany && (\r\n
\r\n

I declare that I am authorised to act on behalf of the company to complete this application.

\r\n

I declare that the information that I have supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that it is an offence under the Fines Reform Act 2014 to intentionally provide false or misleading information in a written statement required by or under the Act. I understand that the offence carries a fine in excess of $1900.

\r\n

I understand that if Fines Victoria offers the company a payment arrangement, failure to make the first payment by the due date may result in the arrangement being cancelled. This may result in further costs being added to my fine(s) and/or enforcement action being taken against the company.

\r\n

I understand that it is my responsibility to ensure that each payment is made on or before the due date.

\r\n
\r\n )}\r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default InstalmentStep14;\r\n","import { ReactElement, useState, useEffect } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, TileRadioAccessible } from '@components';\r\nimport FormSubmissionSuccessAlertContent from '@components/Content/AlertContent/FormSubmissionSuccessAlertContent';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { navToError } from '@utils/Navigation';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\n\r\nimport DoneIcon from '../../../../images/done.svg';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction InstalmentStep15(): ReactElement {\r\n const { values }: { values: iInstalmentFormValues } = useFormikContext();\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const currentDomain = window.location.origin;\r\n const currentFormName = 'Instalment'; // due to DB limitation only 20 chars allowed\r\n const [referenceID, setreferenceID] = useState('00000000-0000-0000-0000-000000000000');\r\n const [surveyUrl, setSurveyUrl] = useState(`${currentDomain}/survey?Source=${currentFormName}&Id=${referenceID}`);\r\n const [feedbackOptions, setFeedbackOptions] = useState({});\r\n let emailAddress;\r\n let pageLoad = 0;\r\n // eslint-disable-next-line no-unused-expressions\r\n values.isDebtorTypeIndividual\r\n ? emailAddress = values.IndividualEmail! : emailAddress = values.CompanyEmail!;\r\n // eslint-disable-next-line no-unused-expressions, no-nested-ternary\r\n const sendEmailCopy = values.isDebtorTypeIndividual\r\n ? (!values.IndividualHasNoEmail ? 'true' : 'false') : (!values.CompanyHasNoEmail ? 'true' : 'false');\r\n const submissionNumber = values.submissionNo!;\r\n const DifficultMessage = (): ReactElement => (\r\n // TODO - Connect to Sitecore to make this content manageable.\r\n <>\r\n \r\n How can we improve? Would you like to\r\n {' '}\r\n \r\n take a survey\r\n \r\n {' '}\r\n ?\r\n \r\n \r\n );\r\n const getKeyByValue = (object: {[key: string]: string}, value: string) => Object.entries(object).find(([, v]) => v === value)?.[0];\r\n const TILE_DATA: tile[] = feedbackOptions\r\n ? Object.values(feedbackOptions).map((option) => ({\r\n body: <>
{option as string}
,\r\n value: (option as string),\r\n }))\r\n : [];\r\n\r\n useEffect(() => {\r\n if (!submissionNumber) navToError(navigate, location);\r\n }, []);\r\n\r\n useEffect(() => {\r\n async function fetchData() {\r\n const feedbackOptionID = feedbackOptions ? getKeyByValue(feedbackOptions, values.FormExperience) : '{00000000-0000-0000-0000-0000000000}';\r\n try {\r\n const currentDT = new Date().toISOString();\r\n const response = await fetch(`${API_URL}sitecore/Feedback/UpdateFeedbackForm`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({\r\n ReferenceId: referenceID,\r\n Source: currentFormName,\r\n Date: currentDT,\r\n SitecoreItemId: feedbackOptionID,\r\n Value: values.FormExperience,\r\n IsSurveyCompleted: false\r\n })\r\n });\r\n const data = await response.json();\r\n const referenceIdRes = data;\r\n // Update the message state with the API response\r\n setreferenceID(referenceIdRes);\r\n setSurveyUrl(`${currentDomain}/survey?Source=${currentFormName}&Id=${referenceIdRes}`);\r\n } catch (error) {\r\n console.log('Error fetching data:', error);\r\n }\r\n }\r\n async function fetchOptions() {\r\n try {\r\n const response = await fetch(`${API_URL}sitecore/Feedback/getFeedbackOptions`, {\r\n method: 'GET',\r\n });\r\n const data = await response.json();\r\n const parsedData = JSON.parse(data);\r\n setFeedbackOptions(parsedData);\r\n console.log(parsedData);\r\n } catch (error) {\r\n console.log('Error fetching data:', error);\r\n }\r\n }\r\n if (Object.keys(feedbackOptions).length === 0 && feedbackOptions.constructor === Object && pageLoad === 0) {\r\n fetchOptions();\r\n pageLoad += 1;\r\n }\r\n if (values.FormExperience !== undefined && values.FormExperience !== '') {\r\n fetchData();\r\n }\r\n }, [values.FormExperience]);\r\n const infoContent = (\r\n <>\r\n

Once a decision has been made regarding your submission, you will receive a notification of the outcome.

\r\n
\r\n

\r\n If you have not received an outcome prior to the due date of the matters, please call\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n (regional callers) and press option 4 for an extension of time.\r\n

\r\n
\r\n

Quote your obligation number {values.OBLIGATION_NUMBER} for all future correspondence.

\r\n \r\n );\r\n\r\n return (\r\n
\r\n Your application has been successfully submitted\r\n }\r\n icon={DoneIcon}\r\n theme=\"success\"\r\n color=\"green\"\r\n />\r\n \r\n \r\n {values.FormExperience === 'Difficult'\r\n && (\r\n <>\r\n }\r\n icon={InfoIcon}\r\n theme=\"info2\"\r\n />\r\n \r\n )}\r\n {(values.FormExperience && values.FormExperience !== 'Difficult')\r\n && (\r\n <>\r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default InstalmentStep15;\r\n","import React, { ReactElement } from 'react';\r\nimport { ErrorPage } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport { iInstalmentFormValues } from '@services/InstalmentService';\r\n\r\nfunction InstalmentErrorPage(): ReactElement {\r\n const { values }: { values: iInstalmentFormValues } = useFormikContext();\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default InstalmentErrorPage;\r\n","import { ReactElement, useEffect, useRef, useState } from 'react';\r\nimport { Form, Formik, FormikProps, getIn } from 'formik';\r\nimport FormContainer from '@pages/FormContainer';\r\nimport ReactGA from 'react-ga';\r\nimport { defaultForm, InstalmentMetaData, InstalmentSchema, iInstalmentFormValues, getSubmissionPayload } from '@services/InstalmentService';\r\nimport { FormNavFooter, FormLoading, Alert, ProgressBar } from '@components/index';\r\nimport { Route, Routes, useLocation, useNavigate } from 'react-router-dom';\r\nimport { FormType } from '@constants';\r\nimport { iToolTips, iCountry, iApiError, iFormNavActions, iPartialFormData } from '@interfaces/interfaces';\r\n\r\nimport { getDateForValidateDebtor, getStringIndex, navToError, navigateToError, navigateToNextStep, setCurrentFormikValues, setFormDataValues } from '@utils';\r\n\r\nimport ErrorContent from '@components/Content/AlertContent/ErrorContent';\r\n\r\nimport { getCountryList, getPartialForm, getTooltips, savePartialForm, submitSavedPartialForm } from '@api';\r\n\r\nimport VicFinesContext from '../VicFinesFormContext';\r\nimport { InstalmentErrorPage, InstalmentStep0, InstalmentStep1, InstalmentStep10, InstalmentStep11, InstalmentStep12, InstalmentStep13, InstalmentStep14, InstalmentStep15, InstalmentStep2, InstalmentStep3, InstalmentStep4, InstalmentStep5, InstalmentStep6, InstalmentStep7, InstalmentStep8, InstalmentStep9 } from '.';\r\n\r\nimport IssueIcon from '../../../images/issue.svg';\r\n\r\nconst {\r\n REACT_APP_SITECORE_API_ENDPOINT: API_URL,\r\n REACT_APP_PATH_INSTALMENT: PATH_INSTALMENT,\r\n} = process.env;\r\n\r\nfunction Instalment(): ReactElement {\r\n const formikValuesRef = useRef({} as FormikProps);\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const pathElementArray = location.pathname.split('/');\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n // example returned [step0,3224242] or [step0]\r\n const stepArray = pathElementArray.slice(stepIndexDiff);\r\n // example returned 0\r\n const stepIndexInPath = getStringIndex(stepArray, 'step');\r\n // always get the element contain step like step0\r\n const getStepInPath = stepArray[stepIndexInPath];\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n\r\n const currentStep = location.pathname === `${PATH_INSTALMENT}` || location.pathname === `${PATH_INSTALMENT}/` ? 'step0' : `${getStepInPath}`;\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [countryList, setCountryList] = useState([]);\r\n const [tooltips, setTooltips] = useState({} as iToolTips);\r\n const [apiError, setApiError] = useState({} as iApiError);\r\n const [activeError, setActiveError] = useState(false);\r\n\r\n const partialFormAttachmentFields = ['SupportingDocumentsUpfrontPayment', 'SupportingFinancialDocuments'];\r\n const arrayFieldsToBeCleared = [\r\n 'ActionsTakenOnFine',\r\n 'obligations',\r\n 'infringementFineArray',\r\n 'enteredObligationsArray',\r\n 'InfringementNums',\r\n 'AgencyNames',\r\n 'AOffence',\r\n 'DAOffence',\r\n 'MoreInfoAboutMatters'\r\n ];\r\n\r\n useEffect(() => {\r\n const fetchData = async (): Promise => {\r\n try {\r\n const [countryResults, tooltipResults] = await Promise.all([getCountryList(), getTooltips('fines.InstalmentForm')]);\r\n setCountryList(countryResults);\r\n setTooltips(tooltipResults);\r\n setLoading(false);\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n fetchData();\r\n const handlePopstate = () => {\r\n const isSubmitted = formikValuesRef.current && formikValuesRef.current.values ? formikValuesRef.current.values?.submitted : false;\r\n\r\n if (window.location.pathname === '/Pay-by-instalments/Instalment-Form/step14' || isSubmitted) {\r\n navigate({\r\n pathname: '/Pay-by-instalments/Instalment-Form/step15',\r\n search: location.search,\r\n });\r\n }\r\n // if ((window.location.pathname === '/Pay-by-instalments/Instalment-Form/step2') && !isSubmitted) {\r\n // navigate({\r\n // pathname: '/Pay-by-instalments/Instalment-Form/step3',\r\n // search: location.search,\r\n // });\r\n // }\r\n if ((window.location.pathname === '/Pay-by-instalments/Instalment-Form/step3') && !isSubmitted) {\r\n navigate({\r\n pathname: '/Pay-by-instalments/Instalment-Form/step4',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/Pay-by-instalments/Instalment-Form/step4') && !isSubmitted && formikValuesRef.current.values.SaveYesNo === 'true') {\r\n navigate({\r\n pathname: '/Pay-by-instalments/Instalment-Form/step5',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/Pay-by-instalments/Instalment-Form/error') && !isSubmitted) {\r\n navigate({\r\n pathname: '/Pay-by-instalments/Instalment-Form/error',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/Pay-by-instalments/Instalment-Form/step1') && !isSubmitted && formikValuesRef && formikValuesRef.current) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', '');\r\n formikValuesRef.current.setFieldTouched('OBLIGATION_NUMBER');\r\n formikValuesRef.current.setFieldValue('OFFENCE_DATE', '');\r\n formikValuesRef.current.setFieldValue('DRIVER_LICENCE', '');\r\n }\r\n };\r\n window.addEventListener('popstate', handlePopstate);\r\n // document.addEventListener('keyup', redirectUrl);\r\n return () => {\r\n window.removeEventListener('popstate', handlePopstate);\r\n // document.removeEventListener('keydown', redirectUrl);\r\n };\r\n }, []);\r\n\r\n const postObligation = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n // remove whitespaces before and after obligation number\r\n const trimmedObligationNumber = formikContext.values.OBLIGATION_NUMBER.trim();\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', trimmedObligationNumber);\r\n const payload = {\r\n obligationNumber: trimmedObligationNumber,\r\n };\r\n const url = `${API_URL}sitecore/Instalment/ValidateObligation`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 422 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n let nextPageUrl = `${pathNameLessLastSegment}${'/step3'}`;\r\n if (responseBody.obligationNumber) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', responseBody.obligationNumber);\r\n }\r\n if (responseBody.IsIndividual === true) {\r\n formikValuesRef.current.setFieldValue('isDebtorTypeIndividual', responseBody.IsIndividual);\r\n } else if (responseBody.IsIndividual === false) {\r\n formikValuesRef.current.setFieldValue('isDebtorTypeCompany', true);\r\n }\r\n if (responseBody.IsNominatable === true) {\r\n formikValuesRef.current.setFieldValue('isNominatable', responseBody.IsNominatable);\r\n } else {\r\n formikValuesRef.current.setFieldValue('isNominatable', responseBody.IsNominatable);\r\n }\r\n if (!responseBody.IsIndividual && responseBody.IsNominatable) {\r\n nextPageUrl = `${pathNameLessLastSegment}${'/step2'}`;\r\n }\r\n setApiError({\r\n Error: '',\r\n });\r\n navigate(nextPageUrl);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const checkExistingForm = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n formType: 'PaymentArrangement',\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CheckingExistingForm`;\r\n\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n if (responseBody.PartialFormID) formikValuesRef.current.setFieldValue('PartialFormID', responseBody.PartialFormID);\r\n if (responseBody.DebtorID) formikValuesRef.current.setFieldValue('DebtorID', responseBody.DebtorID, formikContext);\r\n if (responseBody.CheckingExisting === 'no' && responseBody.CanSave) {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step4`);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n if (responseBody.PartialFormID) {\r\n getPartialForm(responseBody.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navigateToError();\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikValuesRef.current.values.FormData, formikValuesRef, 'FormData');\r\n setCurrentFormikValues(formData, formikValuesRef.current.values, formikValuesRef);\r\n } else if (resBody[key]) {\r\n formikContext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => console.log(e));\r\n } else {\r\n setLoading(false);\r\n }\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n window.scrollTo(0, 0);\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n const validateDebtor = async (formikContext: any): Promise => {\r\n window.scrollTo(0, 0);\r\n setLoading(true);\r\n // Backend api is checking date time for some reasons, time need to be 14:00:00\r\n const getOffenceDate = formikContext.values.OFFENCE_DATE && getDateForValidateDebtor(formikContext.values.OFFENCE_DATE.toLocaleDateString('en-AU'));\r\n const getHearingDate = formikContext.values.HEARING_DATE && getDateForValidateDebtor(formikContext.values.HEARING_DATE.toLocaleDateString('en-AU'));\r\n const getDOBDate = formikContext.values.DOB && getDateForValidateDebtor(formikContext.values.DOB.toLocaleDateString('en-AU'));\r\n const payload = {\r\n dateOfBirth: getDOBDate,\r\n hearingDate: getHearingDate,\r\n licenceNumber: formikContext.values.DRIVER_LICENCE,\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n offenceDate: getOffenceDate,\r\n registrationNumber: formikContext.values.VEHICLE_REGISTRATION,\r\n };\r\n const url = `${API_URL}sitecore/Instalment/ValidateDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n setApiError({\r\n Error: '',\r\n });\r\n if (responseBody === '/step3') {\r\n checkExistingForm(formikContext);\r\n navigate(`${location.pathname.split('/').slice(0, -1).join('/')}/step4`);\r\n }\r\n if (responseBody === '/step8' || responseBody === '/step9') {\r\n navigate(`${location.pathname.split('/').slice(0, -1).join('/')}step5`);\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n } catch (error) {\r\n navigateToError();\r\n }\r\n };\r\n\r\n const resetPFormDataValues = (partialFormApi: any, formikObject: any) => {\r\n if (partialFormApi && formikObject) {\r\n // clone data format like objectkey: [{},{}]\r\n if (\r\n Array.isArray(partialFormApi)\r\n && partialFormApi[0]\r\n && typeof partialFormApi[0] === 'object'\r\n && Array.isArray(formikObject)\r\n && (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n type dynamicObj = {\r\n [key: string]: string;\r\n };\r\n const temp = {} as dynamicObj;\r\n Object.keys(val).forEach((key) => {\r\n temp[key] = val[key];\r\n });\r\n formikObject.push(temp);\r\n });\r\n }\r\n // handle scenario if formikObject is empty array , it's for ObjectKey:[] or string[]\r\n if (\r\n Array.isArray(partialFormApi)\r\n && partialFormApi[0]\r\n && typeof partialFormApi[0] === 'string'\r\n && Array.isArray(formikObject)\r\n && (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n formikObject.push(val);\r\n });\r\n }\r\n if (partialFormApi && formikObject) {\r\n Object.keys(partialFormApi).forEach((key) => {\r\n if (key in formikObject) {\r\n if (typeof partialFormApi[key] === 'object' && !(partialFormApi[key] instanceof Date)) {\r\n if (partialFormAttachmentFields.includes(key) || arrayFieldsToBeCleared.includes(key)) {\r\n // eslint-disable-next-line no-param-reassign\r\n formikObject[key] = [];\r\n }\r\n resetPFormDataValues(partialFormApi[key], formikObject[key]);\r\n } else {\r\n // eslint-disable-next-line no-param-reassign\r\n formikObject[key] = partialFormApi[key];\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n const createPartialForm = async (formikContext: any): Promise => {\r\n if (formikContext.values.SaveYesNo === 'false' || getIn(formikContext.values, 'PartialFormID')) {\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n setLoading(true);\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formikContext.values.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: formikContext.values.saveEmail,\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ a: '1', ...formikContext.values.FormData }),\r\n FormTypeID: 1,\r\n ID: 0,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n Mobile: formikContext.values.saveMobile,\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n if (responseBody.ID) {\r\n formikValuesRef.current.setFieldValue('PartialFormID', responseBody.ID);\r\n formikValuesRef.current.setFieldValue('Obligations', responseBody.Obligations);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n return;\r\n }\r\n navigateToError();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const updatePartialFormData = async (formikContext: any): Promise => {\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const partialformPayload: iPartialFormData = {\r\n ID: formikContext.values.PartialFormID,\r\n Obligations: formikContext.values.Obligations,\r\n Attachments: [],\r\n FormData: JSON.stringify(formikContext.values.FormData), // {a: '1'},formikContext.values.FormData\r\n DebtorID: formikContext.values.DebtorID,\r\n FormTypeID: 1,\r\n Email: formikContext.values.saveEmail,\r\n Mobile: formikContext.values.saveMobile,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n EMRemeinderSent: formikContext.values.EMRemeinderSent,\r\n SMSRemeinderSent: formikContext.values.SMSRemeinderSent,\r\n CreateDate: formikContext.values.CreateDate,\r\n ExpiryDate: formikContext.values.ExpiryDate,\r\n };\r\n try {\r\n const response = await savePartialForm(partialformPayload);\r\n return response;\r\n } catch (error) {\r\n console.log(error);\r\n return false;\r\n }\r\n };\r\n const step6NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n if (formikContext.values.NoInfoApplies) {\r\n if (formikContext.values.isDebtorTypeIndividual) {\r\n navigate(`${location.pathname.split('/').slice(0, -1).join('/')}/step8`);\r\n } else {\r\n navigate(`${location.pathname.split('/').slice(0, -1).join('/')}/step9`);\r\n }\r\n } else {\r\n navigateToNextStep(navigate, location, 'next');\r\n }\r\n };\r\n const step7NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n if (formikContext.values.isDebtorTypeIndividual) {\r\n navigateToNextStep(navigate, location, 'next');\r\n } else {\r\n navigate(`${location.pathname.split('/').slice(0, -1).join('/')}/step9`);\r\n }\r\n };\r\n const step8NextPage = (formikContext: any) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n if (formikContext.values.isDebtorTypeIndividual) {\r\n if (formikContext.values.receiveCenterlinkPayments === 'true' && formikContext.values.instalmentDeducted === 'true') {\r\n navigate(`${location.pathname.split('/').slice(0, -1).join('/')}/step10`);\r\n } else {\r\n navigateToNextStep(navigate, location, 'next');\r\n }\r\n } else {\r\n navigateToNextStep(navigate, location, 'next');\r\n }\r\n };\r\n const saveAndContinue = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const formNavActions: iFormNavActions = {\r\n step1: {\r\n next: postObligation,\r\n },\r\n step3: {\r\n next: validateDebtor,\r\n },\r\n step4: {\r\n next: createPartialForm,\r\n },\r\n step5: {\r\n next: saveAndContinue,\r\n },\r\n step6: {\r\n next: step6NextPage,\r\n },\r\n step7: {\r\n next: step7NextPage,\r\n },\r\n step8: {\r\n next: step8NextPage,\r\n },\r\n step9: {\r\n next: saveAndContinue,\r\n },\r\n step10: {\r\n next: saveAndContinue,\r\n },\r\n step11: {\r\n next: saveAndContinue,\r\n },\r\n step12: {\r\n next: saveAndContinue,\r\n },\r\n step13: {\r\n next: saveAndContinue,\r\n },\r\n // step14: {\r\n // next: saveAndContinue,\r\n // },\r\n };\r\n\r\n const clearApiError = () => {\r\n setApiError({\r\n Error: '',\r\n });\r\n };\r\n\r\n const displayErrorsCount = (errorCount: number, touchedFields: number): void => {\r\n if (touchedFields === 0) {\r\n setActiveError(true);\r\n } else if (errorCount > 0) {\r\n setActiveError(true);\r\n } else {\r\n setActiveError(false);\r\n }\r\n };\r\n\r\n const createPartialFormForSumbit = async (formValues: iInstalmentFormValues): Promise => {\r\n formikValuesRef.current.setFieldValue('SaveYesNo', 'true');\r\n resetPFormDataValues(formikValuesRef.current.values, formValues.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formValues.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: '',\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ ...formValues.FormData, SaveYesNo: 'true' }),\r\n FormTypeID: 1,\r\n ID: 0,\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n Mobile: '',\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formValues.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (responseBody.status === 200) {\r\n return 'true';\r\n }\r\n return responseBody;\r\n } catch (error) {\r\n return `${error}`;\r\n }\r\n };\r\n\r\n const submitForm = async (formValues: iInstalmentFormValues): Promise => {\r\n // const submissionNumber = '234';\r\n const formSubmissionValues = getSubmissionPayload(formValues);\r\n const submitPayload = {\r\n data: JSON.stringify(formSubmissionValues),\r\n obligationNo: formValues.OBLIGATION_NUMBER\r\n };\r\n\r\n const urlSubmission = formValues.isDebtorTypeCompany ? `${API_URL}sitecore/Instalment/SubmitPaymentArrangementCompany` : `${API_URL}sitecore/Instalment/SubmitPaymentArrangementIndividual`;\r\n let submitResponse = false;\r\n setLoading(true);\r\n submitResponse = await fetch(urlSubmission, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(submitPayload),\r\n })\r\n .then((formSubResponse) => {\r\n if (formSubResponse.status === 200) {\r\n if (formValues.SaveYesNo === 'true') {\r\n // having partial form, close it\r\n submitSavedPartialForm(formValues.PartialFormID);\r\n }\r\n formikValuesRef.current.setFieldValue('submitted', true);\r\n ReactGA.event({\r\n category: 'Instalment Form',\r\n action: 'Submit',\r\n label: 'Instalment Form',\r\n });\r\n // navigate to submission success\r\n return formSubResponse.json();\r\n }\r\n formikValuesRef.current.setFieldValue('submissionError', formSubResponse.statusText);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }).then((response) => {\r\n if (response) {\r\n if (response.receiptNo) {\r\n formikValuesRef.current.setFieldValue('submissionNo', response.receiptNo); // get submission number from API response\r\n return true;\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }\r\n return false;\r\n }).catch((error) => {\r\n formikValuesRef.current.setFieldValue('submissionError', error);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n console.log(error);\r\n navToError(navigate, location);\r\n return false;\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n if (!submitResponse) return false;\r\n return true;\r\n };\r\n\r\n return (\r\n {\r\n submitForm(values);\r\n }}>\r\n {({ values }) => (\r\n \r\n \r\n {loading && }\r\n {!loading && (\r\n
\r\n \r\n {activeError && } theme=\"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\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n \r\n\r\n {!(location.pathname === `${PATH_INSTALMENT}/step15` || location.pathname === `${PATH_INSTALMENT}/error`) && (\r\n submitForm(values)}\r\n tooltips={tooltips}\r\n displayErrorsCount={displayErrorsCount}\r\n pageValidationKeys={InstalmentMetaData.pagesSegments[currentStep].validationKeys(values)}\r\n formType={FormType.INSTALMENT}\r\n firstPageNo={0}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default Instalment;\r\n","/* eslint-disable no-nested-ternary */\r\nimport * as Yup from 'yup';\r\nimport { iAddress, iAttachments, iContactMin, iFVSCheckboxAll, iFormMetaData, iObligation, iSummary, iSummaryField, tileReview } from '@interfaces/interfaces';\r\nimport { ProgressStep, FormType, ABN_MIN_LENGTH, ACN_MIN_LENGTH } from '@constants';\r\nimport { ADDRESS_FIELD_CHARS_REGEX, COMPANY_NAME_REGEX, CONTACT_NUMBER_REGEX, EMAIL_SPECIAL_CHARS_REGEX, FREE_TEXT_FIELD_REGEX, NAMES_FIELDS_REGEX, OBLIGATION_REGEX, POSITION_IN_COMPANY_REGEX, POST_CODE_REGEX, VEHICLE_REGISTRATION_REGEX } from '@services/ValidationRules';\r\n\r\nimport { FormikValues } from 'formik';\r\nimport { CONFIRM_AUTHORISED, EMPTY_DATE, FILE_UPLOAD_FAIL, INVALID_ABN, INVALID_ACN, INVALID_ADDRESS_FIELD_ERROR, INVALID_COMPANY_NAME, INVALID_EMAIL, INVALID_FREE_TEXT_FIELD_FORMAT, INVALID_FUTURE_DATE, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION, INVALID_INPUT_LONGER_THAN_10_CHARS, INVALID_INPUT_LONGER_THAN_15_CHARS, INVALID_INPUT_LONGER_THAN_200_CHARS, INVALID_INPUT_LONGER_THAN_25_CHARS, INVALID_INPUT_LONGER_THAN_50_CHARS, INVALID_INPUT_LONGER_THAN_75_CHARS, INVALID_INPUT_LONGER_THAN_80_CHARS, INVALID_LICENCE_FORMAT_NOMINATION, INVALID_MOBILE_NUMBER_FORMAT, INVALID_NAME_FORMAT_NEW, INVALID_NUMERIC_FORMAT, INVALID_OBLIGATION_NUMBER, INVALID_PHONE_NUMBER, INVALID_PHONE_NUMBER_LENGTH, INVALID_PHONE_NUMBER_LENGTH_15, INVALID_POSITION_IN_COMPANY_FIELD, INVALID_POST_CODE, INVALID_VEHICLE_REGISTRATION_NUMBER, INVALID_YESNO_FORMAT, MISSING_DECLARATION_AGREEMENT } from './ErrorMessages';\r\nimport keys from './PageValidationKeys';\r\nimport { reviewInfoDisplayObject } from './FormFieldConfig';\r\n\r\nconst { REVIEW } = FormType;\r\n\r\n// const today = new Date();\r\nexport interface iPartialFormData {\r\n a: string;\r\n submitted: boolean;\r\n CheckAndConfirmPageLoaded: boolean;\r\n // Step1 Field\r\n // Step2 Fields\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n ObligationStatus: string;\r\n isNominatable: boolean | null;\r\n CanSave: boolean | null;\r\n isDebtorTypeIndividual: boolean | null;\r\n isDebtorTypeCompany: boolean | null;\r\n isInternalReviewStage: boolean | null;\r\n isEnforcementReviewStage: boolean | null;\r\n Status: string;\r\n DebtorType: string;\r\n isPUEligible: boolean | null;\r\n // Step 3\r\n WasSomeoneElseDrivingAtTimeOfOffence: string;\r\n ApplyingForPenaltyReminder: string;\r\n HaveYouSubmittedEnforcementReviewBefore: string;\r\n // Step 4\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n // Step 5\r\n isThePersonNamed: string;\r\n isThirdPartyAuthorised: boolean;\r\n // Step 6 - General\r\n selectTheOption: string[];\r\n reviewGroundsList: tileReview[];\r\n // Step 6 - Contrary to Law\r\n contraryToLawWasLegalMistakeMade: string;\r\n contraryToLawCanUploadSupportingDocs: string;\r\n // Step 6 - Exceptional Circumstances\r\n wereThereExceptionalCircumstances: string;\r\n exceptionalsCanUploadSupportingDocs: string;\r\n // Step 6 - Mistake of Identity\r\n wasThereAnIdentificationMistake: string;\r\n mistakeOfIdentityCanUploadSupportingDocs: string;\r\n mistakeOfIndentityWasSomeoneElseDriving: string;\r\n // Step 6 - Person Unaware\r\n personUnawareFindOutDate: Date | null;\r\n personUnawareCanUploadSupportingDocs: string;\r\n personUnawareEnforcementHappened: string;\r\n personUnawareWasSomeoneElseDriving: string;\r\n // Step 6 - Special Circumstances\r\n wereThereSpecialCircumstances: string;\r\n specialsCanUploadSupportingDocs: string;\r\n // Step 7\r\n WhyYourFineShouldBeReviewed: string;\r\n HasStatementAndEvidenceSupportingDocs: string;\r\n\r\n StatementAndEvidenceNameField: string;\r\n StatementAndEvidence: iAttachments[];\r\n StatementAndEvidenceProvider: string;\r\n StatementAndEvidenceDescription: string;\r\n StatementAndEvidenceSizeErrorHandle: string;\r\n StatementAndEvidenceFileUploadErrorHandle: string;\r\n StatementAndEvidenceFileSectionError: string;\r\n FileUploadSizeConfig: number;\r\n FileUploadMaxAttachmentsConfig: number;\r\n\r\n IsMakingTimeRequest: string;\r\n TimeExtension: string;\r\n // Step 8 - General\r\n selectTheSpecialOption: string[];\r\n // Step 9\r\n GivenNamesFineholderDetails: string;\r\n FamilyNameFineholderDetails: string;\r\n DOBFineholderDetails: Date | null;\r\n PlaceOfIssueFineholderDetails: string;\r\n StateOfIssueFineholderDetails: string;\r\n YesNoDriverLicenceFineholderDetails: boolean;\r\n PostalAddressFineholderDetails: iAddress;\r\n DifferentToPostalFineholderDetails: string;\r\n ResidentialAddressFineholderDetails: iAddress;\r\n ContactNumberFineholderDetails: iContactMin;\r\n EmailFineholderDetails: string;\r\n YesNoEmailFineholderDetails: boolean;\r\n // Step 10 Individual\r\n GivenNamesYourDetailsIndividual: string;\r\n FamilyNameYourDetailsIndividual: string;\r\n DOBYourDetailsIndividual: Date | null;\r\n PlaceOfIssueYourDetailsIndividual: string;\r\n StateOfIssueYourDetailsIndividual: string;\r\n YesNoDriverLicenceYourDetailsIndividual: boolean;\r\n PostalAddressYourDetailsIndividual: iAddress;\r\n DifferentToPostalYourDetailsIndividual: string;\r\n ResidentialAddressYourDetailsIndividual: iAddress;\r\n ContactNumberYourDetailsIndividual: iContactMin;\r\n EmailYourDetailsIndividual: string;\r\n YesNoEmailYourDetailsIndividual: boolean;\r\n ReceiveApplicationViaEmailYourDetailsIndividual: string;\r\n ReceiveCorrespondenceViaEmailYourDetailsIndividual: string;\r\n // Step 10 Third Party\r\n GivenNamesYourDetailsThirdParty: string;\r\n FamilyNameYourDetailsThirdParty: string;\r\n RelationshipWithNamedPersonYourDetailsThirdParty: string;\r\n OrganisationNameYourDetailsThirdParty: string;\r\n PostalAddressYourDetailsThirdParty: iAddress;\r\n ContactNumberYourDetailsThirdParty: iContactMin;\r\n EmailYourDetailsThirdParty: string;\r\n YesNoEmailYourDetailsThirdParty: boolean;\r\n ReceiveApplicationViaEmailYourDetailsThirdParty: string;\r\n CorrespondenceRecipientYourDetailsThirdParty: string;\r\n // Step 10 Company\r\n GivenNamesYourDetailsCompany: string;\r\n FamilyNameYourDetailsCompany: string;\r\n PositionInCompanyYourDetailsCompany: string;\r\n CompanyNameYourDetailsCompany: string;\r\n AbnAcnTypeYourDetailsCompany: string;\r\n ABNYourDetailsCompany: string;\r\n isABNValidYourDetails: boolean;\r\n isACNValidYourDetails: boolean;\r\n ACNYourDetailsCompany: string;\r\n PostalAddressYourDetailsCompany: iAddress;\r\n DifferentToPostalYourDetailsCompany: string;\r\n StreetAddressYourDetailsCompany: iAddress;\r\n ContactNumberYourDetailsCompany: iContactMin;\r\n EmailYourDetailsCompany: string;\r\n YesNoEmailYourDetailsCompany: boolean;\r\n // Step 11 and 12\r\n AuthorisedObligation: iObligation;\r\n EligibleObligations: iObligation[];\r\n // Step 11\r\n SelectedObligationsStep11: iFVSCheckboxAll[];\r\n // Step 12\r\n areThereAnyAdditionalFines: string;\r\n obligationNumberToIncludeStep12: string;\r\n SelectedObligationsStep12: string[];\r\n // Step 14\r\n ReviewConsentToDeclaration: boolean;\r\n}\r\ninterface iPartialFormObligations {\r\n ID: number;\r\n ObligationNO: string;\r\n IsPrimary: boolean;\r\n}\r\nexport interface iCommonReviewValues {\r\n [key: string]: string | Date | boolean | number | iAttachments[] | iAddress | iContactMin | iPartialFormObligations[] | iPartialFormData | null | iFVSCheckboxAll[] | string[] | iObligation | iObligation[] | tileReview[];\r\n OBLIGATION_NUMBER: string;\r\n // Step 2\r\n OFFENCE_DATE: Date | null;\r\n HEARING_DATE: Date | null;\r\n VEHICLE_REGISTRATION: string;\r\n DRIVER_LICENCE: string;\r\n DOB: Date | null;\r\n // Partial Forms\r\n ID: string;\r\n PartialFormID: string;\r\n FormData: iPartialFormData;\r\n Obligations: iPartialFormObligations[];\r\n}\r\n\r\nexport interface iReviewFormValues extends iCommonReviewValues {\r\n InfringementNumber: string;\r\n CheckAndConfirmPageLoaded: boolean;\r\n\r\n ObligationStatus: string;\r\n isNominatable: boolean | null;\r\n CanSave: boolean | null;\r\n isDebtorTypeIndividual: boolean | null;\r\n isDebtorTypeCompany: boolean | null;\r\n isInternalReviewStage: boolean | null;\r\n isEnforcementReviewStage: boolean | null;\r\n Status: string;\r\n DebtorType: string;\r\n isPUEligible: boolean | null;\r\n // Step 3\r\n WasSomeoneElseDrivingAtTimeOfOffence: string;\r\n ApplyingForPenaltyReminder: string;\r\n HaveYouSubmittedEnforcementReviewBefore: string;\r\n // Step 4\r\n SaveYesNo: string;\r\n SaveOptions: string;\r\n saveEmail: string;\r\n saveMobile: string;\r\n IsSubscribedEM: boolean;\r\n IsSubscribedSMS: boolean;\r\n EMRemeinderSent: boolean;\r\n SMSRemeinderSent: boolean;\r\n // Step 6 - General\r\n selectTheOption: string[];\r\n reviewGroundsList: tileReview[];\r\n // Step 6 - Contrary to Law\r\n contraryToLawWasLegalMistakeMade: string;\r\n contraryToLawCanUploadSupportingDocs: string;\r\n // Step 6 - Exceptional Circumstances\r\n wereThereExceptionalCircumstances: string;\r\n exceptionalsCanUploadSupportingDocs: string;\r\n // Step 6 - Mistake of Identity\r\n wasThereAnIdentificationMistake: string;\r\n mistakeOfIdentityCanUploadSupportingDocs: string;\r\n mistakeOfIndentityWasSomeoneElseDriving: string;\r\n // Step 6 - Person Unaware\r\n personUnawareFindOutDate: Date | null;\r\n personUnawareCanUploadSupportingDocs: string;\r\n personUnawareEnforcementHappened: string;\r\n personUnawareWasSomeoneElseDriving: string;\r\n // Step 6 - Special Circumstances\r\n wereThereSpecialCircumstances: string;\r\n specialsCanUploadSupportingDocs: string;\r\n // Step 5\r\n isThePersonNamed: string;\r\n isThirdPartyAuthorised: boolean;\r\n // Step 7\r\n WhyYourFineShouldBeReviewed: string;\r\n HasStatementAndEvidenceSupportingDocs: string;\r\n\r\n StatementAndEvidenceNameField: string;\r\n StatementAndEvidence: iAttachments[];\r\n StatementAndEvidenceProvider: string;\r\n StatementAndEvidenceDescription: string;\r\n StatementAndEvidenceSizeErrorHandle: string;\r\n StatementAndEvidenceFileUploadErrorHandle: string;\r\n StatementAndEvidenceFileSectionError: string;\r\n FileUploadSizeConfig: number;\r\n FileUploadMaxAttachmentsConfig: number;\r\n\r\n IsMakingTimeRequest: string;\r\n TimeExtension: string;\r\n // Step 8 - General\r\n selectTheSpecialOption: string[];\r\n // Step 9\r\n GivenNamesFineholderDetails: string;\r\n FamilyNameFineholderDetails: string;\r\n DOBFineholderDetails: Date | null;\r\n PlaceOfIssueFineholderDetails: string;\r\n StateOfIssueFineholderDetails: string;\r\n YesNoDriverLicenceFineholderDetails: boolean;\r\n PostalAddressFineholderDetails: iAddress;\r\n DifferentToPostalFineholderDetails: string;\r\n ResidentialAddressFineholderDetails: iAddress;\r\n ContactNumberFineholderDetails: iContactMin;\r\n EmailFineholderDetails: string;\r\n YesNoEmailFineholderDetails: boolean;\r\n // Step 10 Individual\r\n GivenNamesYourDetailsIndividual: string;\r\n FamilyNameYourDetailsIndividual: string;\r\n DOBYourDetailsIndividual: Date | null;\r\n PlaceOfIssueYourDetailsIndividual: string;\r\n StateOfIssueYourDetailsIndividual: string;\r\n YesNoDriverLicenceYourDetailsIndividual: boolean;\r\n PostalAddressYourDetailsIndividual: iAddress;\r\n DifferentToPostalYourDetailsIndividual: string;\r\n ResidentialAddressYourDetailsIndividual: iAddress;\r\n ContactNumberYourDetailsIndividual: iContactMin;\r\n EmailYourDetailsIndividual: string;\r\n YesNoEmailYourDetailsIndividual: boolean;\r\n ReceiveApplicationViaEmailYourDetailsIndividual: string;\r\n ReceiveCorrespondenceViaEmailYourDetailsIndividual: string;\r\n // Step 10 Third Party\r\n GivenNamesYourDetailsThirdParty: string;\r\n FamilyNameYourDetailsThirdParty: string;\r\n RelationshipWithNamedPersonYourDetailsThirdParty: string;\r\n OrganisationNameYourDetailsThirdParty: string;\r\n PostalAddressYourDetailsThirdParty: iAddress;\r\n ContactNumberYourDetailsThirdParty: iContactMin;\r\n EmailYourDetailsThirdParty: string;\r\n YesNoEmailYourDetailsThirdParty: boolean;\r\n ReceiveApplicationViaEmailYourDetailsThirdParty: string;\r\n CorrespondenceRecipientYourDetailsThirdParty: string;\r\n // Step 10 Company\r\n GivenNamesYourDetailsCompany: string;\r\n FamilyNameYourDetailsCompany: string;\r\n PositionInCompanyYourDetailsCompany: string;\r\n CompanyNameYourDetailsCompany: string;\r\n AbnAcnTypeYourDetailsCompany: string;\r\n ABNYourDetailsCompany: string;\r\n ACNYourDetailsCompany: string;\r\n isABNValidYourDetails: boolean;\r\n isACNValidYourDetails: boolean;\r\n PostalAddressYourDetailsCompany: iAddress;\r\n DifferentToPostalYourDetailsCompany: string;\r\n StreetAddressYourDetailsCompany: iAddress;\r\n ContactNumberYourDetailsCompany: iContactMin;\r\n EmailYourDetailsCompany: string;\r\n YesNoEmailYourDetailsCompany: boolean;\r\n // Step 11 and 12\r\n AuthorisedObligation: iObligation;\r\n EligibleObligations: iObligation[];\r\n // Step 11\r\n SelectedObligationsStep11: iFVSCheckboxAll[];\r\n PersonUnawareIneligibleList: iObligation[];\r\n NumberOfValidEnforcementReview: number;\r\n NumberOfValidInternalReview: number;\r\n NumberOfInvalidSevenDayNotice: number;\r\n // Step 12\r\n areThereAnyAdditionalFines: string;\r\n obligationNumberToIncludeStep12: string;\r\n SelectedObligationsStep12: string[];\r\n // Step 14\r\n ReviewConsentToDeclaration: boolean;\r\n // Step 15\r\n FormExperience: string;\r\n // Submission Error\r\n // submission error message\r\n submissionError: string;\r\n}\r\n\r\nexport const defaultForm = (): iReviewFormValues => {\r\n const defaultValues: iReviewFormValues = {\r\n OBLIGATION_NUMBER: '',\r\n InfringementNumber: '',\r\n CheckAndConfirmPageLoaded: false,\r\n\r\n ObligationStatus: '',\r\n isNominatable: null,\r\n CanSave: null,\r\n isDebtorTypeIndividual: null,\r\n isDebtorTypeCompany: null,\r\n isInternalReviewStage: null,\r\n isEnforcementReviewStage: null,\r\n Status: '',\r\n DebtorType: '',\r\n isPUEligible: null,\r\n // Step 2\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n DRIVER_LICENCE: '',\r\n VEHICLE_REGISTRATION: '',\r\n DOB: null,\r\n // Step 3\r\n WasSomeoneElseDrivingAtTimeOfOffence: '',\r\n ApplyingForPenaltyReminder: '',\r\n HaveYouSubmittedEnforcementReviewBefore: '',\r\n // Step 4\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n EMRemeinderSent: false,\r\n SMSRemeinderSent: false,\r\n // Step 5\r\n isThePersonNamed: '',\r\n isThirdPartyAuthorised: false,\r\n // Step 6 - General\r\n selectTheOption: [],\r\n reviewGroundsList: [],\r\n // Step 6 - Contrary to Law\r\n contraryToLawWasLegalMistakeMade: '',\r\n contraryToLawCanUploadSupportingDocs: '',\r\n // Step 6 - Exceptional Circumstances\r\n wereThereExceptionalCircumstances: '',\r\n exceptionalsCanUploadSupportingDocs: '',\r\n // Step 6 - Mistake of Identity\r\n wasThereAnIdentificationMistake: '',\r\n mistakeOfIdentityCanUploadSupportingDocs: '',\r\n mistakeOfIndentityWasSomeoneElseDriving: '',\r\n // Step 6 - Person Unaware\r\n personUnawareFindOutDate: null,\r\n personUnawareCanUploadSupportingDocs: '',\r\n personUnawareEnforcementHappened: '',\r\n personUnawareWasSomeoneElseDriving: '',\r\n // Step 6 - Special Circumstances\r\n wereThereSpecialCircumstances: '',\r\n specialsCanUploadSupportingDocs: '',\r\n // Step 7\r\n WhyYourFineShouldBeReviewed: '',\r\n HasStatementAndEvidenceSupportingDocs: '',\r\n\r\n StatementAndEvidenceNameField: '',\r\n StatementAndEvidence: [],\r\n StatementAndEvidenceProvider: '',\r\n StatementAndEvidenceDescription: '',\r\n StatementAndEvidenceSizeErrorHandle: '',\r\n StatementAndEvidenceFileUploadErrorHandle: '',\r\n StatementAndEvidenceFileSectionError: '',\r\n FileUploadSizeConfig: 0,\r\n FileUploadMaxAttachmentsConfig: 0,\r\n\r\n IsMakingTimeRequest: '',\r\n TimeExtension: '',\r\n // Step 8\r\n selectTheSpecialOption: [],\r\n // Step 9\r\n GivenNamesFineholderDetails: '',\r\n FamilyNameFineholderDetails: '',\r\n DOBFineholderDetails: null,\r\n PlaceOfIssueFineholderDetails: 'Australia',\r\n StateOfIssueFineholderDetails: '',\r\n YesNoDriverLicenceFineholderDetails: false,\r\n PostalAddressFineholderDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToPostalFineholderDetails: '',\r\n ResidentialAddressFineholderDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ContactNumberFineholderDetails: {\r\n ContactNumber: '',\r\n },\r\n EmailFineholderDetails: '',\r\n YesNoEmailFineholderDetails: false,\r\n // Step 10 Individual\r\n GivenNamesYourDetailsIndividual: '',\r\n FamilyNameYourDetailsIndividual: '',\r\n DOBYourDetailsIndividual: null,\r\n PlaceOfIssueYourDetailsIndividual: 'Australia',\r\n StateOfIssueYourDetailsIndividual: '',\r\n YesNoDriverLicenceYourDetailsIndividual: false,\r\n PostalAddressYourDetailsIndividual: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToPostalYourDetailsIndividual: '',\r\n ResidentialAddressYourDetailsIndividual: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ContactNumberYourDetailsIndividual: {\r\n ContactNumber: '',\r\n },\r\n EmailYourDetailsIndividual: '',\r\n YesNoEmailYourDetailsIndividual: false,\r\n ReceiveApplicationViaEmailYourDetailsIndividual: '',\r\n ReceiveCorrespondenceViaEmailYourDetailsIndividual: '',\r\n // Step 10 Third Party\r\n GivenNamesYourDetailsThirdParty: '',\r\n FamilyNameYourDetailsThirdParty: '',\r\n RelationshipWithNamedPersonYourDetailsThirdParty: '',\r\n OrganisationNameYourDetailsThirdParty: '',\r\n PostalAddressYourDetailsThirdParty: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ContactNumberYourDetailsThirdParty: {\r\n ContactNumber: '',\r\n },\r\n EmailYourDetailsThirdParty: '',\r\n YesNoEmailYourDetailsThirdParty: false,\r\n ReceiveApplicationViaEmailYourDetailsThirdParty: '',\r\n CorrespondenceRecipientYourDetailsThirdParty: '',\r\n // Step 10 Company\r\n GivenNamesYourDetailsCompany: '',\r\n FamilyNameYourDetailsCompany: '',\r\n PositionInCompanyYourDetailsCompany: '',\r\n CompanyNameYourDetailsCompany: '',\r\n AbnAcnTypeYourDetailsCompany: '',\r\n ABNYourDetailsCompany: '',\r\n ACNYourDetailsCompany: '',\r\n isABNValidYourDetails: false,\r\n isACNValidYourDetails: false,\r\n PostalAddressYourDetailsCompany: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToPostalYourDetailsCompany: '',\r\n StreetAddressYourDetailsCompany: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ContactNumberYourDetailsCompany: {\r\n ContactNumber: '',\r\n },\r\n EmailYourDetailsCompany: '',\r\n YesNoEmailYourDetailsCompany: false,\r\n // Step 11 and 12\r\n AuthorisedObligation: {} as iObligation,\r\n EligibleObligations: [],\r\n // Step 11\r\n SelectedObligationsStep11: [],\r\n PersonUnawareIneligibleList: [],\r\n NumberOfValidEnforcementReview: 0,\r\n NumberOfValidInternalReview: 0,\r\n NumberOfInvalidSevenDayNotice: 0,\r\n // Step 12\r\n areThereAnyAdditionalFines: '',\r\n obligationNumberToIncludeStep12: '',\r\n SelectedObligationsStep12: [],\r\n // Step 14\r\n ReviewConsentToDeclaration: false,\r\n\r\n // Step 15\r\n FormExperience: '',\r\n // Submission Error\r\n submissionError: '',\r\n\r\n // Partial Forms\r\n ID: '',\r\n PartialFormID: '',\r\n Obligations: [],\r\n FormData: {\r\n a: '',\r\n // is submitted\r\n CheckAndConfirmPageLoaded: false,\r\n submitted: false,\r\n ObligationStatus: '',\r\n isNominatable: null,\r\n CanSave: null,\r\n isDebtorTypeIndividual: null,\r\n isDebtorTypeCompany: null,\r\n isInternalReviewStage: null,\r\n isEnforcementReviewStage: null,\r\n Status: '',\r\n DebtorType: '',\r\n isPUEligible: null,\r\n // Step 2\r\n OFFENCE_DATE: null,\r\n HEARING_DATE: null,\r\n DRIVER_LICENCE: '',\r\n VEHICLE_REGISTRATION: '',\r\n DOB: null,\r\n // Step 3\r\n WasSomeoneElseDrivingAtTimeOfOffence: '',\r\n ApplyingForPenaltyReminder: '',\r\n HaveYouSubmittedEnforcementReviewBefore: '',\r\n // Step 4\r\n SaveYesNo: '',\r\n SaveOptions: '',\r\n saveEmail: '',\r\n saveMobile: '',\r\n // Step 5\r\n isThePersonNamed: '',\r\n isThirdPartyAuthorised: false,\r\n // Step 6 - General\r\n selectTheOption: [],\r\n reviewGroundsList: [],\r\n // Step 6 - Contrary to Law\r\n contraryToLawWasLegalMistakeMade: '',\r\n contraryToLawCanUploadSupportingDocs: '',\r\n // Step 6 - Exceptional Circumstances\r\n wereThereExceptionalCircumstances: '',\r\n exceptionalsCanUploadSupportingDocs: '',\r\n // Step 6 - Mistake of Identity\r\n wasThereAnIdentificationMistake: '',\r\n mistakeOfIdentityCanUploadSupportingDocs: '',\r\n mistakeOfIndentityWasSomeoneElseDriving: '',\r\n // Step 6 - Person Unaware\r\n personUnawareFindOutDate: null,\r\n personUnawareCanUploadSupportingDocs: '',\r\n personUnawareEnforcementHappened: '',\r\n personUnawareWasSomeoneElseDriving: '',\r\n // Step 6 - Special Circumstances\r\n wereThereSpecialCircumstances: '',\r\n specialsCanUploadSupportingDocs: '',\r\n // Step 7\r\n WhyYourFineShouldBeReviewed: '',\r\n HasStatementAndEvidenceSupportingDocs: '',\r\n\r\n StatementAndEvidenceNameField: '',\r\n StatementAndEvidence: [],\r\n StatementAndEvidenceProvider: '',\r\n StatementAndEvidenceDescription: '',\r\n StatementAndEvidenceSizeErrorHandle: '',\r\n StatementAndEvidenceFileUploadErrorHandle: '',\r\n StatementAndEvidenceFileSectionError: '',\r\n FileUploadSizeConfig: 0,\r\n FileUploadMaxAttachmentsConfig: 0,\r\n\r\n IsMakingTimeRequest: '',\r\n TimeExtension: '',\r\n // Step 8 - General\r\n selectTheSpecialOption: [],\r\n // Step 9\r\n GivenNamesFineholderDetails: '',\r\n FamilyNameFineholderDetails: '',\r\n DOBFineholderDetails: null,\r\n PlaceOfIssueFineholderDetails: 'Australia',\r\n StateOfIssueFineholderDetails: '',\r\n YesNoDriverLicenceFineholderDetails: false,\r\n PostalAddressFineholderDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToPostalFineholderDetails: '',\r\n ResidentialAddressFineholderDetails: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ContactNumberFineholderDetails: {\r\n ContactNumber: '',\r\n },\r\n EmailFineholderDetails: '',\r\n YesNoEmailFineholderDetails: false,\r\n // Step 10 Individual\r\n GivenNamesYourDetailsIndividual: '',\r\n FamilyNameYourDetailsIndividual: '',\r\n DOBYourDetailsIndividual: null,\r\n PlaceOfIssueYourDetailsIndividual: 'Australia',\r\n StateOfIssueYourDetailsIndividual: '',\r\n YesNoDriverLicenceYourDetailsIndividual: false,\r\n PostalAddressYourDetailsIndividual: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToPostalYourDetailsIndividual: '',\r\n ResidentialAddressYourDetailsIndividual: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ContactNumberYourDetailsIndividual: {\r\n ContactNumber: '',\r\n },\r\n EmailYourDetailsIndividual: '',\r\n YesNoEmailYourDetailsIndividual: false,\r\n ReceiveApplicationViaEmailYourDetailsIndividual: '',\r\n ReceiveCorrespondenceViaEmailYourDetailsIndividual: '',\r\n // Step 10 Third Party\r\n GivenNamesYourDetailsThirdParty: '',\r\n FamilyNameYourDetailsThirdParty: '',\r\n RelationshipWithNamedPersonYourDetailsThirdParty: '',\r\n OrganisationNameYourDetailsThirdParty: '',\r\n PostalAddressYourDetailsThirdParty: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ContactNumberYourDetailsThirdParty: {\r\n ContactNumber: '',\r\n },\r\n EmailYourDetailsThirdParty: '',\r\n YesNoEmailYourDetailsThirdParty: false,\r\n ReceiveApplicationViaEmailYourDetailsThirdParty: '',\r\n CorrespondenceRecipientYourDetailsThirdParty: '',\r\n // Step 10 Company\r\n GivenNamesYourDetailsCompany: '',\r\n FamilyNameYourDetailsCompany: '',\r\n PositionInCompanyYourDetailsCompany: '',\r\n CompanyNameYourDetailsCompany: '',\r\n AbnAcnTypeYourDetailsCompany: '',\r\n ABNYourDetailsCompany: '',\r\n ACNYourDetailsCompany: '',\r\n isABNValidYourDetails: false,\r\n isACNValidYourDetails: false,\r\n PostalAddressYourDetailsCompany: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n DifferentToPostalYourDetailsCompany: '',\r\n StreetAddressYourDetailsCompany: {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n },\r\n ContactNumberYourDetailsCompany: {\r\n ContactNumber: '',\r\n },\r\n EmailYourDetailsCompany: '',\r\n YesNoEmailYourDetailsCompany: false,\r\n // Step 11 and 12\r\n AuthorisedObligation: {} as iObligation,\r\n EligibleObligations: [],\r\n // Step 11\r\n SelectedObligationsStep11: [],\r\n // Step 12\r\n areThereAnyAdditionalFines: '',\r\n obligationNumberToIncludeStep12: '',\r\n SelectedObligationsStep12: [],\r\n // Step 14\r\n ReviewConsentToDeclaration: false,\r\n }\r\n };\r\nreturn defaultValues;\r\n};\r\n\r\nexport const ReviewSchema = Yup.object().shape({\r\n // Step 4 - Partial Form\r\n saveEmail: Yup.string().matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL).email(INVALID_EMAIL).required(INVALID_NUMERIC_FORMAT),\r\n saveMobile: Yup.string()\r\n .min(10, INVALID_MOBILE_NUMBER_FORMAT)\r\n .max(10, INVALID_PHONE_NUMBER_LENGTH)\r\n .matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER)\r\n .required(INVALID_PHONE_NUMBER),\r\n SaveYesNo: Yup.string().required(INVALID_YESNO_FORMAT),\r\n SaveOptions: Yup.string().when('SaveYesNo', {\r\n is: 'true',\r\n then: Yup.string().required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n // Step 1\r\n OBLIGATION_NUMBER: Yup.string().matches(OBLIGATION_REGEX, INVALID_OBLIGATION_NUMBER).required(INVALID_NUMERIC_FORMAT),\r\n // Step 2\r\n OFFENCE_DATE: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n HEARING_DATE: Yup.date().required(EMPTY_DATE).nullable(),\r\n DRIVER_LICENCE: Yup.string()\r\n .required(INVALID_NUMERIC_FORMAT)\r\n .matches(/^[a-zA-Z0-9 ]*$/, INVALID_LICENCE_FORMAT_NOMINATION)\r\n .max(25, INVALID_INPUT_LONGER_THAN_25_CHARS),\r\n VEHICLE_REGISTRATION: Yup.string().matches(VEHICLE_REGISTRATION_REGEX, INVALID_VEHICLE_REGISTRATION_NUMBER).max(15, INVALID_INPUT_LONGER_THAN_15_CHARS).required(INVALID_VEHICLE_REGISTRATION_NUMBER),\r\n DOB: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n // Step 3\r\n WasSomeoneElseDrivingAtTimeOfOffence: Yup.string().required(INVALID_YESNO_FORMAT),\r\n ApplyingForPenaltyReminder: Yup.string().required(INVALID_YESNO_FORMAT),\r\n HaveYouSubmittedEnforcementReviewBefore: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // Step 5\r\n isThePersonNamed: Yup.string().required(INVALID_YESNO_FORMAT),\r\n isThirdPartyAuthorised: Yup.boolean().oneOf([true], CONFIRM_AUTHORISED).required(),\r\n // Step 6 - General\r\n selectTheOption: Yup.array().min(1, INVALID_YESNO_FORMAT).required(),\r\n // Step 6 - Contrary to Law\r\n contraryToLawWasLegalMistakeMade: Yup.string().required(INVALID_YESNO_FORMAT),\r\n contraryToLawCanUploadSupportingDocs: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // Step 6 - Exceptional Circumstances\r\n wereThereExceptionalCircumstances: Yup.string().required(INVALID_YESNO_FORMAT),\r\n exceptionalsCanUploadSupportingDocs: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // Step 6 - Mistake of Identity\r\n wasThereAnIdentificationMistake: Yup.string().required(INVALID_YESNO_FORMAT),\r\n mistakeOfIdentityCanUploadSupportingDocs: Yup.string().required(INVALID_YESNO_FORMAT),\r\n mistakeOfIndentityWasSomeoneElseDriving: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // Step 6 - Person Unaware\r\n personUnawareFindOutDate: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n personUnawareCanUploadSupportingDocs: Yup.string().required(INVALID_YESNO_FORMAT),\r\n personUnawareEnforcementHappened: Yup.string().required(INVALID_YESNO_FORMAT),\r\n personUnawareWasSomeoneElseDriving: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // Step 6 - Special Circumstances\r\n wereThereSpecialCircumstances: Yup.string().required(INVALID_YESNO_FORMAT),\r\n specialsCanUploadSupportingDocs: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // Step 8\r\n WhyYourFineShouldBeReviewed: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT).required(INVALID_NUMERIC_FORMAT),\r\n HasStatementAndEvidenceSupportingDocs: Yup.string().required(INVALID_YESNO_FORMAT),\r\n\r\n StatementAndEvidenceDescription: Yup.string().when('HasStatementAndEvidenceSupportingDocs', {\r\n is: 'true',\r\n then: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT),\r\n }),\r\n StatementAndEvidenceSizeErrorHandle: Yup.boolean().when('HasStatementAndEvidenceSupportingDocs', {\r\n is: 'true',\r\n then: Yup.boolean()\r\n .oneOf([false])\r\n .when('FileUploadSizeConfig', (FileUploadSizeConfig, schema) => (\r\n FileUploadSizeConfig\r\n ? schema.oneOf([false], `Sorry, this file is either too large (must be less than ${FileUploadSizeConfig}MB) or it’s a file type we don’t accept. Accepted file types include: doc, docx, xls, xlsx, csv, jpeg, png, pdf, txt.'`)\r\n : schema\r\n )),\r\n }),\r\n StatementAndEvidenceFileUploadErrorHandle: Yup.boolean().when('HasStatementAndEvidenceSupportingDocs', {\r\n is: 'true',\r\n then: Yup.boolean().oneOf([false], FILE_UPLOAD_FAIL),\r\n }),\r\n StatementAndEvidenceFileSectionError: Yup.boolean().when('StatementAndEvidence', {\r\n is: (StatementAndEvidence: []) => StatementAndEvidence.length < 1,\r\n then: Yup.boolean().when('HasStatementAndEvidenceSupportingDocs', {\r\n is: 'true',\r\n then: Yup.boolean().required(INVALID_NUMERIC_FORMAT)\r\n }),\r\n }),\r\n\r\n IsMakingTimeRequest: Yup.string().required(INVALID_YESNO_FORMAT),\r\n TimeExtension: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // Step 8\r\n selectTheSpecialOption: Yup.array().min(1, INVALID_YESNO_FORMAT).required(),\r\n // Step 9\r\n GivenNamesFineholderDetails: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n FamilyNameFineholderDetails: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n DOBFineholderDetails: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n PlaceOfIssueFineholderDetails: Yup.string(),\r\n StateOfIssueFineholderDetails: Yup.string().required(INVALID_YESNO_FORMAT),\r\n YesNoDriverLicenceFineholderDetails: Yup.boolean(),\r\n PostalAddressFineholderDetails: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n DifferentToPostalFineholderDetails: Yup.string().required(INVALID_YESNO_FORMAT),\r\n ResidentialAddressFineholderDetails: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n ContactNumberFineholderDetails: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n EmailFineholderDetails: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n YesNoEmailFineholderDetails: Yup.boolean(),\r\n // Step 10 Individual\r\n GivenNamesYourDetailsIndividual: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n FamilyNameYourDetailsIndividual: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n DOBYourDetailsIndividual: Yup.date().required(EMPTY_DATE).nullable().max(new Date(), INVALID_FUTURE_DATE),\r\n PlaceOfIssueYourDetailsIndividual: Yup.string(),\r\n StateOfIssueYourDetailsIndividual: Yup.string().required(INVALID_YESNO_FORMAT),\r\n YesNoDriverLicenceYourDetailsIndividual: Yup.boolean(),\r\n PostalAddressYourDetailsIndividual: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n DifferentToPostalYourDetailsIndividual: Yup.string().required(INVALID_YESNO_FORMAT),\r\n ResidentialAddressYourDetailsIndividual: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n ContactNumberYourDetailsIndividual: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n EmailYourDetailsIndividual: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n YesNoEmailYourDetailsIndividual: Yup.boolean(),\r\n ReceiveApplicationViaEmailYourDetailsIndividual: Yup.string().required(INVALID_YESNO_FORMAT),\r\n ReceiveCorrespondenceViaEmailYourDetailsIndividual: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // Step 10 Third Party\r\n GivenNamesYourDetailsThirdParty: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n FamilyNameYourDetailsThirdParty: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n RelationshipWithNamedPersonYourDetailsThirdParty: Yup.string().matches(FREE_TEXT_FIELD_REGEX, INVALID_FREE_TEXT_FIELD_FORMAT).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n OrganisationNameYourDetailsThirdParty: Yup.string().matches(COMPANY_NAME_REGEX, INVALID_COMPANY_NAME),\r\n PostalAddressYourDetailsThirdParty: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n ContactNumberYourDetailsThirdParty: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n EmailYourDetailsThirdParty: Yup.string()\r\n .matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL)\r\n .email(INVALID_EMAIL)\r\n .max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n YesNoEmailYourDetailsThirdParty: Yup.boolean(),\r\n ReceiveApplicationViaEmailYourDetailsThirdParty: Yup.string().required(INVALID_YESNO_FORMAT),\r\n CorrespondenceRecipientYourDetailsThirdParty: Yup.string().required(INVALID_YESNO_FORMAT),\r\n // Step 10 Company\r\n GivenNamesYourDetailsCompany: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n FamilyNameYourDetailsCompany: Yup.string().matches(NAMES_FIELDS_REGEX, INVALID_NAME_FORMAT_NEW).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n CompanyNameYourDetailsCompany: Yup.string().matches(COMPANY_NAME_REGEX, INVALID_COMPANY_NAME).max(75, INVALID_INPUT_LONGER_THAN_75_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n PositionInCompanyYourDetailsCompany: Yup.string().matches(POSITION_IN_COMPANY_REGEX, INVALID_POSITION_IN_COMPANY_FIELD).max(80, INVALID_INPUT_LONGER_THAN_80_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n AbnAcnTypeYourDetailsCompany: Yup.string().required(INVALID_YESNO_FORMAT),\r\n ABNYourDetailsCompany: Yup.string().required(INVALID_NUMERIC_FORMAT)\r\n .min(ABN_MIN_LENGTH, INVALID_ABN)\r\n .test('is-valid', INVALID_ABN, function () {\r\n const { isABNValidYourDetails } = this.parent;\r\n return isABNValidYourDetails;\r\n }),\r\n ACNYourDetailsCompany: Yup.string().required(INVALID_NUMERIC_FORMAT)\r\n .min(ACN_MIN_LENGTH, INVALID_ACN)\r\n .test('is-valid', INVALID_ACN, function () {\r\n const { isACNValidYourDetails } = this.parent;\r\n return isACNValidYourDetails;\r\n }),\r\n PostalAddressYourDetailsCompany: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n DifferentToPostalYourDetailsCompany: Yup.string().required(INVALID_YESNO_FORMAT),\r\n StreetAddressYourDetailsCompany: Yup.object().shape({\r\n SearchText: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n LineOne: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n LineTwo: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(200, INVALID_INPUT_LONGER_THAN_200_CHARS),\r\n Suburb: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Postcode: Yup.string().matches(POST_CODE_REGEX, INVALID_POST_CODE).max(10, INVALID_INPUT_LONGER_THAN_10_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n Country: Yup.string().max(50, INVALID_INPUT_LONGER_THAN_50_CHARS).required(INVALID_NUMERIC_FORMAT),\r\n State: Yup.string().matches(ADDRESS_FIELD_CHARS_REGEX, INVALID_ADDRESS_FIELD_ERROR).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION).required(INVALID_NUMERIC_FORMAT),\r\n }),\r\n ContactNumberYourDetailsCompany: Yup.object().shape({\r\n ContactNumber: Yup.string().max(15, INVALID_PHONE_NUMBER_LENGTH_15).matches(CONTACT_NUMBER_REGEX, INVALID_PHONE_NUMBER).required(INVALID_PHONE_NUMBER),\r\n }),\r\n EmailYourDetailsCompany: Yup.string().matches(EMAIL_SPECIAL_CHARS_REGEX, INVALID_EMAIL).email(INVALID_EMAIL).max(100, INVALID_INPUT_LONGER_THAN_100_CHARS_NOMINATION)\r\n .required(INVALID_NUMERIC_FORMAT),\r\n YesNoEmailYourDetailsCompany: Yup.boolean(),\r\n // Step 12\r\n areThereAnyAdditionalFines: Yup.string().required(INVALID_YESNO_FORMAT),\r\n obligationNumberToIncludeStep12: Yup.string().min(1, INVALID_OBLIGATION_NUMBER).matches(OBLIGATION_REGEX, INVALID_OBLIGATION_NUMBER).test('is-in-array',\r\n function (value) {\r\n const { SelectedObligationsStep12 } = this.parent;\r\n if (SelectedObligationsStep12.includes(value)) {\r\n return this.createError({\r\n message: 'The obligation number has been added already.'\r\n });\r\n }\r\n return true;\r\n })\r\n .test('does-array-have-atleaset-one-obligation',\r\n function (value) {\r\n const { SelectedObligationsStep12 } = this.parent;\r\n if ((SelectedObligationsStep12.length < 1 && !value)) {\r\n return this.createError({\r\n message: INVALID_NUMERIC_FORMAT\r\n });\r\n }\r\n return true;\r\n }),\r\n // Step 14\r\n ReviewConsentToDeclaration: Yup.boolean().oneOf([true], MISSING_DECLARATION_AGREEMENT),\r\n});\r\n\r\nexport const ReviewMetaData: iFormMetaData = {\r\n pagesSegments: {\r\n step0: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page0,\r\n },\r\n step1: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page1,\r\n },\r\n step2: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page2,\r\n },\r\n step3: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page3,\r\n },\r\n step4: {\r\n progressStep: ProgressStep.START,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page4,\r\n },\r\n step5: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page5,\r\n },\r\n step6: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page6,\r\n },\r\n step7: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page7,\r\n },\r\n step8: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page8,\r\n },\r\n step9: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page9,\r\n },\r\n step10: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page10,\r\n },\r\n step11: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page11,\r\n },\r\n step12: {\r\n progressStep: ProgressStep.DETAILS,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page12,\r\n },\r\n step13: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page13,\r\n },\r\n step14: {\r\n progressStep: ProgressStep.CHECK_CONFIRM,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page14,\r\n },\r\n step15: {\r\n progressStep: ProgressStep.DONE,\r\n validationKeys: (values:FormikValues) => keys(values, REVIEW).page15,\r\n },\r\n },\r\n};\r\n\r\nconst displayFileDetails = (attachment: iAttachments) => {\r\n if (attachment.FileName !== '' && attachment.FileDescription !== '') {\r\n return `${attachment.FileName} : ${attachment.FileDescription}`;\r\n }\r\n if (attachment.FileName !== '' && attachment.FileDescription === '') {\r\n return `${attachment.FileName}`;\r\n }\r\n return '';\r\n};\r\n\r\nconst joinAddressFields = (entry: string[]) => {\r\n if (entry[0] === 'Address' || entry[0] === 'SearchText') return null;\r\n if (entry[0] === 'Country') return entry[1];\r\n return entry[1];\r\n};\r\n\r\nexport const getSummaryScreen = (values: iReviewFormValues): iSummary[] => {\r\n const isSpecialCircumstance = values.selectTheOption.includes('SelectedGroundInfo4');\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const isExceptionalCircumstance = values.selectTheOption.includes('SelectedGroundInfo1');\r\n const selectedGroundsMessage: Map = new Map();\r\n selectedGroundsMessage.set('SelectedGroundInfo0', 'Contrary to law - The fine was invalid or not properly issued to you');\r\n selectedGroundsMessage.set('SelectedGroundInfo1', 'Exceptional circumstances - The offence occurred due to an extraordinary or unavoidable situation');\r\n selectedGroundsMessage.set('SelectedGroundInfo2', 'Mistake of identity - The fine was issued to the wrong person');\r\n selectedGroundsMessage.set('SelectedGroundInfo3', 'Person Unaware - You did not know about the fine');\r\n selectedGroundsMessage.set('SelectedGroundInfo4', 'Special circumstances - You have serious personal issues, disorders or difficulties');\r\n\r\n const selectedSpecialsGroundsMessage: Map = new Map();\r\n selectedSpecialsGroundsMessage.set('SelectedSpecialsGroundInfo0', 'Mental or intellectual disability, disorder, disease or illness');\r\n selectedSpecialsGroundsMessage.set('SelectedSpecialsGroundInfo1', 'Alcohol, drug or volatile substance addiction');\r\n selectedSpecialsGroundsMessage.set('SelectedSpecialsGroundInfo2', 'Homelessness');\r\n selectedSpecialsGroundsMessage.set('SelectedSpecialsGroundInfo3', 'Disabling long-term circumstances making it impracticable to deal with the fine');\r\n selectedSpecialsGroundsMessage.set('SelectedSpecialsGroundInfo4', 'Family violence');\r\n const getSelectedSpecialCircumstances = values.selectTheSpecialOption.map((selectedSpecialCirc) => {\r\n if (selectedSpecialsGroundsMessage.has(selectedSpecialCirc)) return selectedSpecialsGroundsMessage.get(selectedSpecialCirc);\r\n return '';\r\n }).filter(Boolean)\r\n .join('\\n ');\r\n\r\n const BeforeYouContinuePage = {\r\n title: 'Before you continue',\r\n editLink: '/step3',\r\n fields: [\r\n values.isInternalReviewStage && values.isDebtorTypeIndividual && values.isNominatable ? [{ title: 'Are you the person named on the infringement notice, but someone else was driving at the time of the offence?', value: values.WasSomeoneElseDrivingAtTimeOfOffence === 'true' ? 'Yes' : 'No' }] : [],\r\n values.isInternalReviewStage && values.isDebtorTypeIndividual && values.Status === 'PenaltyReminder' ? [{ title: 'Are you applying to have the Penalty Reminder fee waived?', value: values.ApplyingForPenaltyReminder === 'true' ? 'Yes' : 'No' }] : [],\r\n values.isEnforcementReviewStage ? [{ title: 'Have you submitted an enforcement review application for this fine before?', value: values.HaveYouSubmittedEnforcementReviewBefore === 'true' ? 'Yes' : 'No' }] : [],\r\n ],\r\n };\r\n\r\n const whichStatementPage = {\r\n title: 'Which statement best describes you?',\r\n editLink: '/step5',\r\n fields: [\r\n [{ title: 'Which statement best describes you?', value: values.isThePersonNamed === 'true' ? 'I am the person named on the fine' : 'I am authorised to act on behalf of the person named on the fine' }],\r\n ],\r\n };\r\n\r\n const whyAreYouRequestingAReviewPage = {\r\n title: 'Why are you requesting a review?',\r\n editLink: '/step6',\r\n fields: [\r\n [{ title: 'Please review the different grounds below carefully and select the one that best applies to your circumstances.', value: selectedGroundsMessage.has(values.selectTheOption[0]) ? selectedGroundsMessage.get(values.selectTheOption[0])! : 'n/a' }],\r\n values.selectTheOption.includes('SelectedGroundInfo0') ? [{ title: 'Do you believe a legal mistake was made when this fine was issued?', value: values.contraryToLawWasLegalMistakeMade === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo0') ? [{ title: 'Can you upload documents to support this?', value: values.contraryToLawCanUploadSupportingDocs === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo1') ? [{ title: 'Was the fine due to circumstances that were out of the ordinary, unavoidable or exceptional?', value: values.wereThereExceptionalCircumstances === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo1') ? [{ title: 'Can you upload documents to support this?', value: values.exceptionalsCanUploadSupportingDocs === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo2') ? [{ title: 'Do you believe an identification mistake was made when the fine was issued?', value: values.wasThereAnIdentificationMistake === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo2') ? [{ title: 'Can you upload documents to support this?', value: values.mistakeOfIdentityCanUploadSupportingDocs === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo2') ? [{ title: 'Are you the vehicle owner but someone else was driving at the time of the offence?', value: values.mistakeOfIndentityWasSomeoneElseDriving === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo3') ? [{ title: 'When did you first find out about the fine?', value: values.personUnawareFindOutDate ? `${(`0${values.personUnawareFindOutDate.getDate()}`).slice(-2)}/${(`0${values.personUnawareFindOutDate.getMonth() + 1}`).slice(-2)}/${values.personUnawareFindOutDate.getFullYear()}` : 'n/a' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo3') ? [{ title: 'Can you upload documents to support this?', value: values.personUnawareCanUploadSupportingDocs === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo3') && values.isEnforcementReviewStage ? [{ title: 'Has any enforcement action already happened for the fine(s)?', value: values.personUnawareEnforcementHappened === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo3') && values.isEnforcementReviewStage ? [{ title: 'Was someone else driving?', value: values.personUnawareWasSomeoneElseDriving === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo4') ? [{ title: 'Do one or more of these special circumstances apply to you?', value: values.wereThereSpecialCircumstances === 'true' ? 'Yes' : 'No' }] : [],\r\n values.selectTheOption.includes('SelectedGroundInfo4') ? [{ title: 'Can you upload documents to support this?', value: values.specialsCanUploadSupportingDocs === 'true' ? 'Yes' : 'No' }] : [],\r\n ],\r\n };\r\n\r\n const applyingWithSpecialCircumstancesPage = {\r\n title: 'Applying with special circumstances',\r\n editLink: '/step7',\r\n fields: [\r\n [{ title: 'Which statement(s) best describes your situation?', value: values.selectTheSpecialOption.length > 0 ? getSelectedSpecialCircumstances : 'n/a' }],\r\n ],\r\n };\r\n\r\n const yourStatementPage = {\r\n title: 'Your statement and evidence',\r\n editLink: '/step8',\r\n fields: [\r\n [{ title: 'Tell us why you believe your fine(s) should be reviewed. Make sure you provide plenty of information to support your claim.', value: values.WhyYourFineShouldBeReviewed ? values.WhyYourFineShouldBeReviewed : 'n/a' }],\r\n values.HasStatementAndEvidenceSupportingDocs ? [\r\n {\r\n title: 'Supporting documents',\r\n value: values.StatementAndEvidence && values.StatementAndEvidence.length > 0 ? values.StatementAndEvidence.map((attachment) => displayFileDetails(attachment))\r\n .filter(Boolean)\r\n .join('\\n')\r\n : 'Not provided',\r\n },\r\n ] : [],\r\n values.isEnforcementReviewStage && (isExceptionalCircumstance || isSpecialCircumstance) ? [\r\n {\r\n title: 'Would you like to ask for more time to get evidence to support this application?',\r\n value: values.IsMakingTimeRequest === 'true' ? 'Yes' : 'No',\r\n },\r\n ] : [],\r\n values.isEnforcementReviewStage && (isExceptionalCircumstance || isSpecialCircumstance) && values.IsMakingTimeRequest === 'true' ? [\r\n {\r\n title: 'How much time do you need to get evidence?',\r\n value: values.TimeExtension,\r\n },\r\n ] : [],\r\n ],\r\n };\r\n\r\n const fineHolderDetailsPage = {\r\n title: 'Fineholder details',\r\n editLink: '/step9',\r\n fields: [\r\n [{ title: 'Given name(s)', value: values.GivenNamesFineholderDetails ? values.GivenNamesFineholderDetails : 'n/a' }],\r\n [{ title: 'Family name', value: values.FamilyNameFineholderDetails ? values.FamilyNameFineholderDetails : 'n/a' }],\r\n [{ title: 'Date of birth', value: values.DOBFineholderDetails ? `${(`0${values.DOBFineholderDetails.getDate()}`).slice(-2)}/${(`0${values.DOBFineholderDetails.getMonth() + 1}`).slice(-2)}/${values.DOBFineholderDetails.getFullYear()}` : 'n/a' }],\r\n [\r\n !values.YesNoDriverLicenceFineholderDetails\r\n ? { title: 'Driver licence number', value: values.DRIVER_LICENCE }\r\n : { title: 'Driver licence number', value: 'n/a' },\r\n ],\r\n [\r\n !values.YesNoDriverLicenceFineholderDetails\r\n ? { title: 'Place of issue', value: values.PlaceOfIssueFineholderDetails === 'Australia' ? values.StateOfIssueFineholderDetails : values.PlaceOfIssueFineholderDetails }\r\n : { title: 'Place of issue', value: 'n/a' },\r\n ],\r\n [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.PostalAddressFineholderDetails)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.DifferentToPostalFineholderDetails === 'true' ? [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.ResidentialAddressFineholderDetails)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ] : [\r\n {\r\n title: \"Is the fineholder's residential address different to their postal address?\",\r\n value: values.DifferentToPostalFineholderDetails === 'true' ? 'Yes' : 'No',\r\n }\r\n ],\r\n [{ title: 'Contact phone number', value: values.ContactNumberFineholderDetails.ContactNumber ? values.ContactNumberFineholderDetails.ContactNumber : 'n/a' }],\r\n values.YesNoEmailFineholderDetails === false ? [{ title: 'Email address', value: values.EmailFineholderDetails ? values.EmailFineholderDetails : 'n/a' }] : [{ title: 'Email address', value: 'n/a' }],\r\n ],\r\n };\r\n\r\n const IndividualDetails = [\r\n [{ title: 'Given name(s)', value: values.GivenNamesYourDetailsIndividual ? values.GivenNamesYourDetailsIndividual : 'n/a' }],\r\n [{ title: 'Family name', value: values.FamilyNameYourDetailsIndividual ? values.FamilyNameYourDetailsIndividual : 'n/a' }],\r\n [{ title: 'Date of birth', value: values.DOBYourDetailsIndividual ? `${(`0${values.DOBYourDetailsIndividual.getDate()}`).slice(-2)}/${(`0${values.DOBYourDetailsIndividual.getMonth() + 1}`).slice(-2)}/${values.DOBYourDetailsIndividual.getFullYear()}` : 'n/a' }],\r\n [\r\n !values.YesNoDriverLicenceYourDetailsIndividual\r\n ? { title: 'Driver licence number', value: values.DRIVER_LICENCE }\r\n : { title: 'Driver licence number', value: 'n/a' },\r\n ],\r\n [\r\n !values.YesNoDriverLicenceYourDetailsIndividual\r\n ? { title: 'Place of issue', value: values.PlaceOfIssueYourDetailsIndividual === 'Australia' ? values.StateOfIssueYourDetailsIndividual : values.PlaceOfIssueYourDetailsIndividual }\r\n : { title: 'Place of issue', value: 'n/a' },\r\n ],\r\n [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.PostalAddressYourDetailsIndividual)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.DifferentToPostalYourDetailsIndividual === 'true' ? [\r\n {\r\n title: 'Residential address',\r\n value: `${Object.entries(values.ResidentialAddressYourDetailsIndividual)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ] : [\r\n {\r\n title: 'Is your residential address different to your postal address?',\r\n value: values.DifferentToPostalYourDetailsIndividual === 'true' ? 'Yes' : 'No',\r\n }\r\n ],\r\n [{ title: 'Contact phone number', value: values.ContactNumberYourDetailsIndividual.ContactNumber ? values.ContactNumberYourDetailsIndividual.ContactNumber : 'n/a' }],\r\n values.YesNoEmailYourDetailsIndividual === false ? [{ title: 'Email address', value: values.EmailYourDetailsIndividual ? values.EmailYourDetailsIndividual : 'n/a' }] : [{ title: 'Email address', value: 'n/a' }],\r\n isSpecialCircumstance && values.YesNoEmailYourDetailsIndividual === false ? [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.ReceiveApplicationViaEmailYourDetailsIndividual ? values.ReceiveApplicationViaEmailYourDetailsIndividual === 'true' ? 'Yes' : 'No' : 'n/a' }] : [],\r\n values.isEnforcementReviewStage && values.YesNoEmailYourDetailsIndividual === false ? [{ title: 'Do you consent to receiving correspondence about this application via email?', value: values.ReceiveCorrespondenceViaEmailYourDetailsIndividual ? values.ReceiveCorrespondenceViaEmailYourDetailsIndividual === 'true' ? 'Yes' : 'No' : 'n/a' }] : [],\r\n ];\r\n const CompanyDetails = [\r\n [{ title: 'Given name(s)', value: values.GivenNamesYourDetailsCompany ? values.GivenNamesYourDetailsCompany : 'n/a' }],\r\n [{ title: 'Family name', value: values.FamilyNameYourDetailsCompany ? values.FamilyNameYourDetailsCompany : 'n/a' }],\r\n [{ title: 'Position in company', value: values.PositionInCompanyYourDetailsCompany ? values.PositionInCompanyYourDetailsCompany : 'n/a' }],\r\n [{ title: 'Company name', value: values.CompanyNameYourDetailsCompany ? values.CompanyNameYourDetailsCompany : 'n/a' }],\r\n [{ title: 'ACN or ABN (an ACN is preferred)', value: values.AbnAcnTypeYourDetailsCompany }],\r\n [{ title: 'Enter the ACN/ABN number', value: values.AbnAcnTypeYourDetailsCompany === 'ACN' ? values.ACNYourDetailsCompany : values.ABNYourDetailsCompany }],\r\n [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.PostalAddressYourDetailsCompany)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n values.DifferentToPostalYourDetailsCompany === 'true' ? [\r\n {\r\n title: 'Street address',\r\n value: `${Object.entries(values.StreetAddressYourDetailsCompany)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ] : [\r\n {\r\n title: 'Is the street address different to the postal address?',\r\n value: values.DifferentToPostalYourDetailsCompany === 'true' ? 'Yes' : 'No',\r\n }\r\n ],\r\n [{ title: 'Contact phone number', value: values.ContactNumberYourDetailsCompany.ContactNumber ? values.ContactNumberYourDetailsCompany.ContactNumber : 'n/a' }],\r\n values.YesNoEmailYourDetailsCompany === false ? [{ title: 'Email address', value: values.EmailYourDetailsCompany ? values.EmailYourDetailsCompany : 'n/a' }] : [{ title: 'Email address', value: 'n/a' }],\r\n ];\r\n const ThirdPartyDetails = [\r\n [{ title: 'Given name(s)', value: values.GivenNamesYourDetailsThirdParty ? values.GivenNamesYourDetailsThirdParty : 'n/a' }],\r\n [{ title: 'Family name', value: values.FamilyNameYourDetailsThirdParty ? values.FamilyNameYourDetailsThirdParty : 'n/a' }],\r\n [{ title: 'Your relationship to the person who received the fine (for example, family member, legal representative, support worker)', value: values.RelationshipWithNamedPersonYourDetailsThirdParty ? values.RelationshipWithNamedPersonYourDetailsThirdParty : 'n/a' }],\r\n [{ title: 'Organisation name (if applicable)', value: values.OrganisationNameYourDetailsThirdParty ? values.OrganisationNameYourDetailsThirdParty : 'n/a' }],\r\n [\r\n {\r\n title: 'Postal address',\r\n value: `${Object.entries(values.PostalAddressYourDetailsThirdParty)\r\n .map((entry) => joinAddressFields(entry))\r\n .filter(Boolean)\r\n .join(', ')}`,\r\n },\r\n ],\r\n [{ title: 'Contact phone number', value: values.ContactNumberYourDetailsThirdParty.ContactNumber ? values.ContactNumberYourDetailsThirdParty.ContactNumber : 'n/a' }],\r\n values.YesNoEmailYourDetailsThirdParty === false ? [{ title: 'Email address', value: values.EmailYourDetailsThirdParty ? values.EmailYourDetailsThirdParty : 'n/a' }] : [{ title: 'Email address', value: 'n/a' }],\r\n isSpecialCircumstance && values.YesNoEmailYourDetailsThirdParty === false ? [{ title: 'Would you like to receive a copy of the completed application at the email address provided?', value: values.ReceiveApplicationViaEmailYourDetailsThirdParty === 'true' ? 'Yes' : 'No' }] : [],\r\n (isSpecialCircumstance && (values.ReceiveApplicationViaEmailYourDetailsThirdParty === 'true')) || !isSpecialCircumstance ? [{ title: 'Where would you like us to send correspondence about this application?', value: values.CorrespondenceRecipientYourDetailsThirdParty }] : [],\r\n ];\r\n let yourDetailsContent = null;\r\n let yourDetailsTitle = null;\r\n if (values.isDebtorTypeIndividual) {\r\n yourDetailsContent = IndividualDetails;\r\n yourDetailsTitle = reviewInfoDisplayObject.pages.IndividualContactInformation.pageTitle;\r\n }\r\n if (values.isDebtorTypeCompany) {\r\n yourDetailsContent = CompanyDetails;\r\n yourDetailsTitle = reviewInfoDisplayObject.pages.CompanyContactInformation.pageTitle;\r\n }\r\n if (values.isThirdPartyAuthorised) {\r\n yourDetailsContent = ThirdPartyDetails;\r\n yourDetailsTitle = reviewInfoDisplayObject.pages.ThirdPartyRepContactInformation.pageTitle;\r\n }\r\n const yourDetailsPage = {\r\n title: yourDetailsTitle !== null ? yourDetailsTitle : 'Your details',\r\n editLink: '/step10',\r\n fields: yourDetailsContent !== null ? yourDetailsContent : [] as iSummaryField[][],\r\n };\r\n const checkFinesStep11 = values.SelectedObligationsStep11.map((fine) => {\r\n if (fine.checked) return fine.number.toString();\r\n return '';\r\n }).filter(Boolean)\r\n .join('; ');\r\n const checkFinesStep12Entered = values.SelectedObligationsStep12.map((fine) => {\r\n if (fine) return fine;\r\n return '';\r\n }).filter(Boolean)\r\n .join('\\n ');\r\n const yourFinesPageIndividual = {\r\n title: 'Your fines',\r\n editLink: '/step11',\r\n fields: [\r\n [{\r\n title: 'Fines to be included in this application',\r\n value: checkFinesStep11 ? `${checkFinesStep11}; ${values.AuthorisedObligation.Number}` : values.AuthorisedObligation.Number,\r\n }],\r\n ],\r\n };\r\n const yourFinesPageCompanyOrThirdParty = {\r\n title: 'Your fines',\r\n editLink: '/step12',\r\n fields: [\r\n [{\r\n title: 'Would you like to add any other fines to this application?',\r\n value: values.areThereAnyAdditionalFines !== ''\r\n ? values.areThereAnyAdditionalFines === 'listFinesManually'\r\n ? 'Include these fines in this application'\r\n : values.areThereAnyAdditionalFines === 'includeAllFines'\r\n ? 'All eligible outstanding fines'\r\n : values.areThereAnyAdditionalFines === 'noOtherFines'\r\n ? 'No other fines'\r\n : 'n/a'\r\n : 'n/a',\r\n }],\r\n values.areThereAnyAdditionalFines === 'listFinesManually'\r\n ? [{\r\n title: 'Entered obligation number or infringement number',\r\n value: values.SelectedObligationsStep12.length > 0 ? `${values.AuthorisedObligation.Number}\\n ${checkFinesStep12Entered}` : values.AuthorisedObligation.Number\r\n }] : []\r\n ],\r\n };\r\n const pagesExtensionSummary: iSummary[] = [\r\n (values.isDebtorTypeIndividual && values.isInternalReviewStage) || values.isEnforcementReviewStage ? BeforeYouContinuePage : ({} as iSummary),\r\n values.isDebtorTypeIndividual ? whichStatementPage : ({} as iSummary),\r\n whyAreYouRequestingAReviewPage,\r\n isSpecialCircumstance ? applyingWithSpecialCircumstancesPage : ({} as iSummary),\r\n yourStatementPage,\r\n values.isThirdPartyAuthorised ? fineHolderDetailsPage : ({} as iSummary),\r\n yourDetailsPage,\r\n values.isDebtorTypeIndividual && !values.isThirdPartyAuthorised ? yourFinesPageIndividual : ({} as iSummary),\r\n values.isThirdPartyAuthorised || values.isDebtorTypeCompany ? yourFinesPageCompanyOrThirdParty : ({} as iSummary)\r\n ];\r\n const summarySections: iSummary[] = pagesExtensionSummary;\r\n return summarySections;\r\n};\r\n\r\nexport interface iSubmitReviewFormValues extends iCommonReviewValues {\r\n // OBLIGATION FIELDS\r\n YourObligationNumber: string;\r\n InfringementNoticeNumber: string;\r\n OffenceDate: string;\r\n // Footer Pg 1\r\n FooterSubmissionNo1: string;\r\n FooterFormType1: string;\r\n FooterObligationNo1: string;\r\n FooterSubmissionTime1: string;\r\n // Footer Pg 2\r\n FooterSubmissionNo2: string;\r\n FooterFormType2: string;\r\n FooterObligationNo2: string;\r\n FooterSubmissionTime2: string;\r\n // Footer Pg 3\r\n FooterSubmissionNo3: string;\r\n FooterFormType3: string;\r\n FooterObligationNo3: string;\r\n FooterSubmissionTime3: string;\r\n // Footer Pg 4\r\n FooterSubmissionNo4: string;\r\n FooterFormType4: string;\r\n FooterObligationNo4: string;\r\n FooterSubmissionTime4: string;\r\n\r\n // ##IR PDF Fields##\r\n // Before You Continue\r\n WhichStatementBestDescribesYou: string; // IR Only\r\n PRNFeeWaive: string; // IR Only\r\n // Details of the Person or Company Named on the Infringement\r\n // Individual Details\r\n GivenNames: string;\r\n FamilyNameSurname: string;\r\n DateOfBirth: string;\r\n DriverLicenceNumber: string;\r\n NoLicenceNumber: string;\r\n CountryOfIssue: string;\r\n StateOfIssue: string;\r\n\r\n // Contact Details\r\n ContactNumber: string;\r\n EmailAddressOptional: string;\r\n ContactByEmail: string;\r\n\r\n // Company Details\r\n CompanyName: string;\r\n AbnacnType: string;\r\n AbnacnNo: string;\r\n\r\n // Details of authorised/company representative completing this application\r\n RepresentativeGivenNames: string;\r\n RepresentativeFamilyNameSurname: string;\r\n PositionInCompany: string;\r\n\r\n // Contact details\r\n AuthRepContactNumber: string;\r\n AuthRepSendCorroTo: string;\r\n AuthRepOrgName: string;\r\n AuthRepEmail: string;\r\n AuthRepContactByEmail: string;\r\n PositionrelationshipToApplicant: string;\r\n\r\n // Reason for requesting an internal review\r\n ReviewGround: string;\r\n\r\n // Special Circumstances ground(s) (if applicable)\r\n SpecialCircumstancesGround: string;\r\n WhenDidYouFindOutAboutTheFine: string;\r\n\r\n // Why do you believe the fine(s) should be reviewed?\r\n WhyShouldFineBeReviewed: string;\r\n\r\n // Supporting Material\r\n DocumentDescription: string;\r\n NumberOfAttachments: string;\r\n EMAIL_TO: string;\r\n OBLIGATION_NUMBER: string;\r\n\r\n // Fines to include in this application\r\n FinesToInclude: string;\r\n\r\n // Declaration\r\n SignatureOfApplicant: string;\r\n DeclarationDate: string;\r\n\r\n // ##ER Individual PDF fields##\r\n TimeNeededToGetEvidence: string;\r\n\r\n // All Address fields across pdfs\r\n // ADDRESS 1 - IR and ER -> (IR) Company Street - (ER Third Party) Residential - (ER Individual) Residential - (ER Company) Company Street\r\n LineOne: string;\r\n LineTwo: string;\r\n Suburb: string;\r\n State: string;\r\n Postcode: string;\r\n Country: string;\r\n // ADDRESS 2 - IR and ER -> (IR) Company Postal - (ER Third Party) Postal - (ER Individual) Postal - (ER Company) Company Postal\r\n LineOneTwo: string;\r\n LineTwoTwo: string;\r\n SuburbTwo: string;\r\n StateTwo: string;\r\n PostcodeTwo: string;\r\n CountryTwo: string;\r\n // ADDRESS 3 - IR\r\n LineOneThree: string;\r\n LineTwoThree: string;\r\n SuburbThree: string;\r\n StateThree: string;\r\n PostcodeThree: string;\r\n CountryThree: string;\r\n // ADDRESS 4 - IR\r\n LineOneFour: string;\r\n LineTwoFour: string;\r\n SuburbFour: string;\r\n StateFour: string;\r\n PostcodeFour: string;\r\n CountryFour: string;\r\n // ADDRESS 5 - IR\r\n LineOneFive: string;\r\n LineTwoFive: string;\r\n SuburbFive: string;\r\n StateFive: string;\r\n PostcodeFive: string;\r\n CountryFive: string;\r\n}\r\nexport const getSubmissionPayload = (formValues: iReviewFormValues, submissionNumber: string): iSubmitReviewFormValues => {\r\n const submitFormValues = formValues;\r\n const now = new Date();\r\n const MONTH = (`0${now.getMonth() + 1}`).slice(-2);\r\n const DATE = (`0${now.getDate()}`).slice(-2);\r\n const YEAR = now.getFullYear();\r\n const MINUTE = (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();\r\n const SUBMITTED_TIME = `${now.getHours()}:${MINUTE} ${DATE}/${MONTH}/${YEAR}`;\r\n const FORM_TYPE = 'Review';\r\n const isSpecialCircumstance = formValues.selectTheOption.includes('SelectedGroundInfo4');\r\n\r\n let statementDescribesYou = '';\r\n if (formValues.isThePersonNamed === 'true') {\r\n statementDescribesYou = 'I am the person named on the fine';\r\n }\r\n if (formValues.isThirdPartyAuthorised) {\r\n statementDescribesYou = 'I am authorised to act on behalf of the person named on the fine';\r\n }\r\n const selectedSpecialsGroundsMessageOptions: Map = new Map();\r\n selectedSpecialsGroundsMessageOptions.set('SelectedSpecialsGroundInfo0', 'Mental or intellectual disability, disorder, disease or illness');\r\n selectedSpecialsGroundsMessageOptions.set('SelectedSpecialsGroundInfo1', 'Alcohol, drug or volatile substance addiction');\r\n selectedSpecialsGroundsMessageOptions.set('SelectedSpecialsGroundInfo2', 'Homelessness');\r\n selectedSpecialsGroundsMessageOptions.set('SelectedSpecialsGroundInfo3', 'Disabling long-term circumstances making it impracticable to deal with the fine');\r\n selectedSpecialsGroundsMessageOptions.set('SelectedSpecialsGroundInfo4', 'Family violence');\r\n\r\n const selectedGroundsMessageOptions: Map = new Map();\r\n selectedGroundsMessageOptions.set('SelectedGroundInfo0', 'Contrary to law - The fine was invalid or not properly issued to you');\r\n selectedGroundsMessageOptions.set('SelectedGroundInfo1', 'Exceptional circumstances - The offence occurred due to an extraordinary or unavoidable situation');\r\n selectedGroundsMessageOptions.set('SelectedGroundInfo2', 'Mistake of identity - The fine was issued to the wrong person');\r\n selectedGroundsMessageOptions.set('SelectedGroundInfo3', 'Person Unaware - You did not know about the fine');\r\n selectedGroundsMessageOptions.set('SelectedGroundInfo4', 'Special circumstances - You have serious personal issues, disorders or difficulties');\r\n\r\n const getSelectedSpecialCircumstances = formValues.selectTheSpecialOption.map((selectedSpecialCirc) => {\r\n if (selectedSpecialsGroundsMessageOptions.has(selectedSpecialCirc)) return selectedSpecialsGroundsMessageOptions.get(selectedSpecialCirc);\r\n return '';\r\n }).filter(Boolean)\r\n .join('; ');\r\n const checkFinesStep11 = formValues.SelectedObligationsStep11.map((fine) => {\r\n if (fine.checked) return fine.number.toString();\r\n return '';\r\n }).filter(Boolean)\r\n .join('; ');\r\n const checkFinesStep12AllEligible = formValues.EligibleObligations.map((fine) => {\r\n if (fine) return fine.Number.toString();\r\n return '';\r\n }).filter(Boolean)\r\n .join('; ');\r\n const checkFinesStep12ManuallyEntered = formValues.SelectedObligationsStep12.map((fine) => {\r\n if (fine) return fine;\r\n return '';\r\n }).filter(Boolean)\r\n .join('; ');\r\n const getSelectedObsStep11 = (checkFinesStep11\r\n ? `${checkFinesStep11}; ${formValues.AuthorisedObligation.Number}`\r\n : formValues.AuthorisedObligation.Number\r\n );\r\n const getSelectedObsStep12 = (formValues.areThereAnyAdditionalFines === 'includeAllFines'\r\n ? (checkFinesStep12AllEligible\r\n ? `${checkFinesStep12AllEligible}; ${formValues.AuthorisedObligation.Number}`\r\n : formValues.AuthorisedObligation.Number\r\n )\r\n : (formValues.SelectedObligationsStep12.length > 0\r\n ? `${checkFinesStep12ManuallyEntered}; ${formValues.AuthorisedObligation.Number}`\r\n : formValues.AuthorisedObligation.Number\r\n )\r\n );\r\n\r\n const totalNumberOfAttachments = formValues.StatementAndEvidence?.length;\r\n let remoteAttachmentNames = '';\r\n let uploadedFileDescriptions = '';\r\n const descriptionOfAttachmentsArray = [\r\n ...(formValues.StatementAndEvidence || [])\r\n ];\r\n if (descriptionOfAttachmentsArray) {\r\n descriptionOfAttachmentsArray.forEach((v) => {\r\n if (v.RemoteFileName) {\r\n remoteAttachmentNames += `${formValues.OBLIGATION_NUMBER}/${v.RemoteFileName}/${v.RemoteFileName}|`;\r\n }\r\n if (v.FileDescription) {\r\n uploadedFileDescriptions += `${v.FileDescription}; `;\r\n }\r\n });\r\n }\r\n\r\n const submitObject: iSubmitReviewFormValues = {\r\n ...(submitFormValues as iCommonReviewValues),\r\n // OBLIGATION FIELDS\r\n YourObligationNumber: formValues.OBLIGATION_NUMBER,\r\n InfringementNoticeNumber: formValues.InfringementNumber,\r\n OffenceDate: `${`${`0${formValues.OFFENCE_DATE?.getDate()}`.slice(-2)}/${`0${formValues.OFFENCE_DATE!.getMonth() + 1}`.slice(-2)}`}/${formValues.OFFENCE_DATE?.getFullYear()}`,\r\n\r\n // ##IR Fields##\r\n // Before You Continue\r\n WhichStatementBestDescribesYou: statementDescribesYou,\r\n PRNFeeWaive: formValues.ApplyingForPenaltyReminder !== '' ? (formValues.ApplyingForPenaltyReminder === 'true' ? 'Yes' : 'No') : '',\r\n // Details of the Person or Company Named on the Infringement\r\n // Individual Details\r\n GivenNames: formValues.isThirdPartyAuthorised ? formValues.GivenNamesFineholderDetails : (formValues.isDebtorTypeIndividual ? formValues.GivenNamesYourDetailsIndividual : ''),\r\n FamilyNameSurname: formValues.isThirdPartyAuthorised ? formValues.FamilyNameFineholderDetails : (formValues.isDebtorTypeIndividual ? formValues.FamilyNameYourDetailsIndividual : ''),\r\n DateOfBirth: formValues.isThirdPartyAuthorised ? (formValues.DOBFineholderDetails ? `${(`0${formValues.DOBFineholderDetails.getDate()}`).slice(-2)}/${(`0${formValues.DOBFineholderDetails.getMonth() + 1}`).slice(-2)}/${formValues.DOBFineholderDetails.getFullYear()}` : '') : (formValues.isDebtorTypeIndividual ? (formValues.DOBYourDetailsIndividual ? `${(`0${formValues.DOBYourDetailsIndividual.getDate()}`).slice(-2)}/${(`0${formValues.DOBYourDetailsIndividual.getMonth() + 1}`).slice(-2)}/${formValues.DOBYourDetailsIndividual.getFullYear()}` : '') : ''),\r\n DriverLicenceNumber: ((formValues.isThirdPartyAuthorised && !formValues.YesNoDriverLicenceFineholderDetails) || (formValues.isDebtorTypeIndividual && !formValues.YesNoDriverLicenceYourDetailsIndividual)) ? formValues.DRIVER_LICENCE : '',\r\n NoLicenceNumber: formValues.isThirdPartyAuthorised ? (formValues.YesNoDriverLicenceFineholderDetails ? 'Yes' : '') : (formValues.isDebtorTypeIndividual ? (formValues.YesNoDriverLicenceYourDetailsIndividual ? 'Yes' : '') : ''),\r\n CountryOfIssue: (formValues.isThirdPartyAuthorised && !formValues.YesNoDriverLicenceFineholderDetails) ? formValues.PlaceOfIssueFineholderDetails : (formValues.isDebtorTypeIndividual && !formValues.YesNoDriverLicenceYourDetailsIndividual ? formValues.PlaceOfIssueYourDetailsIndividual : ''),\r\n StateOfIssue: (formValues.isThirdPartyAuthorised && !formValues.YesNoDriverLicenceFineholderDetails) ? (formValues.PlaceOfIssueFineholderDetails === 'Australia' ? formValues.StateOfIssueFineholderDetails : 'International') : (formValues.isDebtorTypeIndividual && !formValues.YesNoDriverLicenceYourDetailsIndividual ? (formValues.PlaceOfIssueYourDetailsIndividual === 'Australia' ? formValues.StateOfIssueYourDetailsIndividual : 'International') : ''),\r\n\r\n // Contact Details\r\n ContactNumber: formValues.isThirdPartyAuthorised ? formValues.ContactNumberFineholderDetails.ContactNumber : (formValues.isDebtorTypeIndividual ? formValues.ContactNumberYourDetailsIndividual.ContactNumber : formValues.isDebtorTypeCompany ? (formValues.isEnforcementReviewStage ? formValues.ContactNumberYourDetailsCompany.ContactNumber : '') : ''),\r\n EmailAddressOptional: formValues.isThirdPartyAuthorised ? formValues.EmailFineholderDetails : (formValues.isDebtorTypeIndividual ? formValues.EmailYourDetailsIndividual : (formValues.isEnforcementReviewStage ? formValues.isDebtorTypeCompany : '') ? formValues.EmailYourDetailsCompany : ''),\r\n ContactByEmail: formValues.isDebtorTypeIndividual && formValues.isEnforcementReviewStage && !formValues.YesNoEmailYourDetailsIndividual && !formValues.isThirdPartyAuthorised ? (formValues.ReceiveCorrespondenceViaEmailYourDetailsIndividual === 'true' ? 'Yes' : 'No') : '',\r\n\r\n // Company Details\r\n CompanyName: formValues.isDebtorTypeCompany ? formValues.CompanyNameYourDetailsCompany : '',\r\n AbnacnType: formValues.isDebtorTypeCompany ? formValues.AbnAcnTypeYourDetailsCompany : '',\r\n AbnacnNo: formValues.isDebtorTypeCompany ? (formValues.AbnAcnTypeYourDetailsCompany === 'ACN' ? formValues.ACNYourDetailsCompany : formValues.ABNYourDetailsCompany) : '',\r\n\r\n // Details of authorised/company representative completing this application\r\n RepresentativeGivenNames: formValues.isThirdPartyAuthorised ? formValues.GivenNamesYourDetailsThirdParty : (formValues.isDebtorTypeCompany ? formValues.GivenNamesYourDetailsCompany : ''),\r\n RepresentativeFamilyNameSurname: formValues.isThirdPartyAuthorised ? formValues.FamilyNameYourDetailsThirdParty : (formValues.isDebtorTypeCompany ? formValues.FamilyNameYourDetailsCompany : ''),\r\n PositionInCompany: formValues.isDebtorTypeCompany ? formValues.PositionInCompanyYourDetailsCompany : '',\r\n\r\n // Contact details\r\n AuthRepContactNumber: formValues.isThirdPartyAuthorised ? formValues.ContactNumberYourDetailsThirdParty.ContactNumber : (formValues.isDebtorTypeCompany ? formValues.ContactNumberYourDetailsCompany.ContactNumber : ''),\r\n AuthRepSendCorroTo: (formValues.isThirdPartyAuthorised && ((isSpecialCircumstance && (formValues.ReceiveApplicationViaEmailYourDetailsThirdParty === 'true')) || !isSpecialCircumstance) ? formValues.CorrespondenceRecipientYourDetailsThirdParty : ''),\r\n AuthRepOrgName: formValues.isThirdPartyAuthorised ? formValues.OrganisationNameYourDetailsThirdParty : '',\r\n AuthRepEmail: formValues.isThirdPartyAuthorised ? formValues.EmailYourDetailsThirdParty : (formValues.isDebtorTypeCompany ? formValues.EmailYourDetailsCompany : ''),\r\n AuthRepContactByEmail: (formValues.isThirdPartyAuthorised && !formValues.YesNoEmailYourDetailsThirdParty && formValues.ReceiveApplicationViaEmailYourDetailsThirdParty === 'true') ? 'Yes' : (formValues.isThirdPartyAuthorised && !formValues.YesNoEmailYourDetailsThirdParty && formValues.ReceiveApplicationViaEmailYourDetailsThirdParty === 'false' ? 'No' : ''),\r\n PositionrelationshipToApplicant: formValues.isThirdPartyAuthorised ? formValues.RelationshipWithNamedPersonYourDetailsThirdParty : '',\r\n\r\n // Reason for requesting a review\r\n ReviewGround: selectedGroundsMessageOptions.has(formValues.selectTheOption[0]) ? selectedGroundsMessageOptions.get(formValues.selectTheOption[0])! : '',\r\n\r\n // Special Circumstances ground(s) (if applicable)\r\n SpecialCircumstancesGround: formValues.selectTheSpecialOption.length > 0 && isSpecialCircumstance ? getSelectedSpecialCircumstances : '',\r\n WhenDidYouFindOutAboutTheFine: formValues.selectTheOption.includes('SelectedGroundInfo3') ? formValues.personUnawareFindOutDate ? `${(`0${formValues.personUnawareFindOutDate.getDate()}`).slice(-2)}/${(`0${formValues.personUnawareFindOutDate.getMonth() + 1}`).slice(-2)}/${formValues.personUnawareFindOutDate.getFullYear()}` : '' : '',\r\n\r\n // Why do you believe the fine(s) should be reviewed?\r\n WhyShouldFineBeReviewed: formValues.WhyYourFineShouldBeReviewed ? formValues.WhyYourFineShouldBeReviewed : '',\r\n\r\n // Supporting Material\r\n DocumentDescription: uploadedFileDescriptions,\r\n NumberOfAttachments: totalNumberOfAttachments.toString(),\r\n ATTACHMENTS: remoteAttachmentNames,\r\n // TODO - update TP to send to fineholder if client specfies\r\n EMAIL_TO: (formValues.isThirdPartyAuthorised && !formValues.YesNoEmailYourDetailsThirdParty && ((isSpecialCircumstance && formValues.ReceiveApplicationViaEmailYourDetailsThirdParty === 'true') || !isSpecialCircumstance)) ? formValues.EmailYourDetailsThirdParty : ((formValues.isDebtorTypeIndividual && !formValues.YesNoEmailYourDetailsIndividual && ((isSpecialCircumstance && formValues.ReceiveApplicationViaEmailYourDetailsIndividual === 'true') || !isSpecialCircumstance)) ? formValues.EmailYourDetailsIndividual : ((formValues.isDebtorTypeCompany && !formValues.YesNoEmailYourDetailsCompany) ? formValues.EmailYourDetailsCompany : '')),\r\n OBLIGATION_NUMBER: formValues.OBLIGATION_NUMBER,\r\n\r\n // Fines to include in this application\r\n FinesToInclude:\r\n formValues.isDebtorTypeIndividual && !formValues.isThirdPartyAuthorised\r\n ? getSelectedObsStep11\r\n : getSelectedObsStep12,\r\n\r\n // Declaration\r\n SignatureOfApplicant: formValues.ReviewConsentToDeclaration ? 'I agree with the statements' : '',\r\n DeclarationDate: `${DATE}/${MONTH}/${YEAR}`,\r\n\r\n // ##ER Individual PDF fields##\r\n TimeNeededToGetEvidence: formValues.isEnforcementReviewStage\r\n && (formValues.selectTheOption.includes('SelectedGroundInfo1') || isSpecialCircumstance)\r\n && formValues.IsMakingTimeRequest === 'true'\r\n ? formValues.TimeExtension\r\n : (formValues.isEnforcementReviewStage\r\n && (formValues.selectTheOption.includes('SelectedGroundInfo1') || isSpecialCircumstance)\r\n && formValues.IsMakingTimeRequest === 'false' ? 'No' : ''),\r\n\r\n // All Address fields across pdfs\r\n // ADDRESS 1 - IR and ER\r\n LineOne:\r\n (formValues.isDebtorTypeCompany)\r\n ? formValues.DifferentToPostalYourDetailsCompany === 'true'\r\n ? formValues.StreetAddressYourDetailsCompany.LineOne\r\n : formValues.PostalAddressYourDetailsCompany.LineOne\r\n : (formValues.isEnforcementReviewStage\r\n ? formValues.isThirdPartyAuthorised\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.LineOne\r\n : formValues.PostalAddressFineholderDetails.LineOne\r\n : formValues.isDebtorTypeIndividual\r\n ? formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.LineOne\r\n : formValues.PostalAddressYourDetailsIndividual.LineOne\r\n : ''\r\n : ''),\r\n // (formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true'\r\n // ? formValues.ResidentialAddressFineholderDetails.LineOne\r\n // : (formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n // ? formValues.ResidentialAddressYourDetailsIndividual.LineOne\r\n // : 'Indivodual Postal'))\r\n // : formValues.PostalAddressYourDetailsCompany.LineOne\r\n // ),\r\n LineTwo:\r\n (formValues.isDebtorTypeCompany)\r\n ? formValues.DifferentToPostalYourDetailsCompany === 'true'\r\n ? formValues.StreetAddressYourDetailsCompany.LineTwo\r\n : formValues.PostalAddressYourDetailsCompany.LineTwo\r\n : (formValues.isEnforcementReviewStage\r\n ? formValues.isThirdPartyAuthorised\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.LineTwo\r\n : formValues.PostalAddressFineholderDetails.LineTwo\r\n : formValues.isDebtorTypeIndividual\r\n ? formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.LineTwo\r\n : formValues.PostalAddressYourDetailsIndividual.LineTwo\r\n : ''\r\n : ''),\r\n Suburb:\r\n (formValues.isDebtorTypeCompany)\r\n ? formValues.DifferentToPostalYourDetailsCompany === 'true'\r\n ? formValues.StreetAddressYourDetailsCompany.Suburb\r\n : formValues.PostalAddressYourDetailsCompany.Suburb\r\n : (formValues.isEnforcementReviewStage\r\n ? formValues.isThirdPartyAuthorised\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.Suburb\r\n : formValues.PostalAddressFineholderDetails.Suburb\r\n : formValues.isDebtorTypeIndividual\r\n ? formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.Suburb\r\n : formValues.PostalAddressYourDetailsIndividual.Suburb\r\n : ''\r\n : ''),\r\n State:\r\n (formValues.isDebtorTypeCompany)\r\n ? formValues.DifferentToPostalYourDetailsCompany === 'true'\r\n ? formValues.StreetAddressYourDetailsCompany.State\r\n : formValues.PostalAddressYourDetailsCompany.State\r\n : (formValues.isEnforcementReviewStage\r\n ? formValues.isThirdPartyAuthorised\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.State\r\n : formValues.PostalAddressFineholderDetails.State\r\n : formValues.isDebtorTypeIndividual\r\n ? formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.State\r\n : formValues.PostalAddressYourDetailsIndividual.State\r\n : ''\r\n : ''),\r\n Postcode:\r\n (formValues.isDebtorTypeCompany)\r\n ? formValues.DifferentToPostalYourDetailsCompany === 'true'\r\n ? formValues.StreetAddressYourDetailsCompany.Postcode\r\n : formValues.PostalAddressYourDetailsCompany.Postcode\r\n : (formValues.isEnforcementReviewStage\r\n ? formValues.isThirdPartyAuthorised\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.Postcode\r\n : formValues.PostalAddressFineholderDetails.Postcode\r\n : formValues.isDebtorTypeIndividual\r\n ? formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.Postcode\r\n : formValues.PostalAddressYourDetailsIndividual.Postcode\r\n : ''\r\n : ''),\r\n Country:\r\n (formValues.isDebtorTypeCompany)\r\n ? formValues.DifferentToPostalYourDetailsCompany === 'true'\r\n ? formValues.StreetAddressYourDetailsCompany.Country\r\n : formValues.PostalAddressYourDetailsCompany.Country\r\n : (formValues.isEnforcementReviewStage\r\n ? formValues.isThirdPartyAuthorised\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.Country\r\n : formValues.PostalAddressFineholderDetails.Country\r\n : formValues.isDebtorTypeIndividual\r\n ? formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.Country\r\n : formValues.PostalAddressYourDetailsIndividual.Country\r\n : ''\r\n : ''),\r\n // LineTwo: (formValues.DifferentToPostalYourDetailsCompany === 'true' && formValues.isDebtorTypeCompany) ? formValues.StreetAddressYourDetailsCompany.LineTwo : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true' ? formValues.ResidentialAddressFineholderDetails.LineTwo : (formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.LineTwo : '')) : ''),\r\n // Suburb: (formValues.DifferentToPostalYourDetailsCompany === 'true' && formValues.isDebtorTypeCompany) ? formValues.StreetAddressYourDetailsCompany.Suburb : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true' ? formValues.ResidentialAddressFineholderDetails.Suburb : (formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.Suburb : '')) : ''),\r\n // State: (formValues.DifferentToPostalYourDetailsCompany === 'true' && formValues.isDebtorTypeCompany) ? formValues.StreetAddressYourDetailsCompany.State : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true' ? formValues.ResidentialAddressFineholderDetails.State : (formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.State : '')) : ''),\r\n // Postcode: (formValues.DifferentToPostalYourDetailsCompany === 'true' && formValues.isDebtorTypeCompany) ? formValues.StreetAddressYourDetailsCompany.Postcode : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true' ? formValues.ResidentialAddressFineholderDetails.Postcode : (formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.Postcode : '')) : ''),\r\n // Country: (formValues.DifferentToPostalYourDetailsCompany === 'true' && formValues.isDebtorTypeCompany) ? formValues.StreetAddressYourDetailsCompany.Country : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true' ? formValues.ResidentialAddressFineholderDetails.Country : (formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.Country : '')) : ''),\r\n // ADDRESS 2 - IR and ER -> (IR) Company Postal - (ER Third Party) Postal - (ER Individual) Postal - (ER Company) Company Postal\r\n LineOneTwo: formValues.isDebtorTypeCompany ? formValues.PostalAddressYourDetailsCompany.LineOne : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.LineOne : formValues.PostalAddressYourDetailsIndividual.LineOne) : ''),\r\n LineTwoTwo: formValues.isDebtorTypeCompany ? formValues.PostalAddressYourDetailsCompany.LineTwo : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.LineTwo : formValues.PostalAddressYourDetailsIndividual.LineTwo) : ''),\r\n SuburbTwo: formValues.isDebtorTypeCompany ? formValues.PostalAddressYourDetailsCompany.Suburb : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.Suburb : formValues.PostalAddressYourDetailsIndividual.Suburb) : ''),\r\n StateTwo: formValues.isDebtorTypeCompany ? formValues.PostalAddressYourDetailsCompany.State : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.State : formValues.PostalAddressYourDetailsIndividual.State) : ''),\r\n PostcodeTwo: formValues.isDebtorTypeCompany ? formValues.PostalAddressYourDetailsCompany.Postcode : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.Postcode : formValues.PostalAddressYourDetailsIndividual.Postcode) : ''),\r\n CountryTwo: formValues.isDebtorTypeCompany ? formValues.PostalAddressYourDetailsCompany.Country : (formValues.isEnforcementReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.Country : formValues.PostalAddressYourDetailsIndividual.Country) : ''),\r\n // ADDRESS 3 - IR\r\n LineOneThree: formValues.isInternalReviewStage\r\n ? ((formValues.isThirdPartyAuthorised)\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.LineOne\r\n : formValues.PostalAddressFineholderDetails.LineOne\r\n : (formValues.isDebtorTypeIndividual\r\n ? !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.LineOne\r\n : formValues.PostalAddressYourDetailsIndividual.LineOne\r\n : ''))\r\n : '',\r\n LineTwoThree: formValues.isInternalReviewStage\r\n ? ((formValues.isThirdPartyAuthorised)\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.LineTwo\r\n : formValues.PostalAddressFineholderDetails.LineTwo\r\n : (formValues.isDebtorTypeIndividual\r\n ? !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.LineTwo\r\n : formValues.PostalAddressYourDetailsIndividual.LineTwo\r\n : ''))\r\n : '',\r\n SuburbThree: formValues.isInternalReviewStage\r\n ? ((formValues.isThirdPartyAuthorised)\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.Suburb\r\n : formValues.PostalAddressFineholderDetails.Suburb\r\n : (formValues.isDebtorTypeIndividual\r\n ? !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.Suburb\r\n : formValues.PostalAddressYourDetailsIndividual.Suburb\r\n : ''))\r\n : '',\r\n PostcodeThree: formValues.isInternalReviewStage\r\n ? ((formValues.isThirdPartyAuthorised)\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.Postcode\r\n : formValues.PostalAddressFineholderDetails.Postcode\r\n : (formValues.isDebtorTypeIndividual\r\n ? !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.Postcode\r\n : formValues.PostalAddressYourDetailsIndividual.Postcode\r\n : ''))\r\n : '',\r\n StateThree: formValues.isInternalReviewStage\r\n ? ((formValues.isThirdPartyAuthorised)\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.State\r\n : formValues.PostalAddressFineholderDetails.State\r\n : (formValues.isDebtorTypeIndividual\r\n ? !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.State\r\n : formValues.PostalAddressYourDetailsIndividual.State\r\n : ''))\r\n : '',\r\n CountryThree: formValues.isInternalReviewStage\r\n ? ((formValues.isThirdPartyAuthorised)\r\n ? formValues.DifferentToPostalFineholderDetails === 'true'\r\n ? formValues.ResidentialAddressFineholderDetails.Country\r\n : formValues.PostalAddressFineholderDetails.Country\r\n : (formValues.isDebtorTypeIndividual\r\n ? !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true'\r\n ? formValues.ResidentialAddressYourDetailsIndividual.Country\r\n : formValues.PostalAddressYourDetailsIndividual.Country\r\n : ''))\r\n : '',\r\n // LineTwoThree: formValues.isInternalReviewStage ? ((formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true') ? formValues.ResidentialAddressFineholderDetails.LineTwo : (formValues.isDebtorTypeIndividual && !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.LineTwo : formValues.PostalAddressYourDetailsIndividual.LineTwo)) : '',\r\n // SuburbThree: formValues.isInternalReviewStage ? ((formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true') ? formValues.ResidentialAddressFineholderDetails.Suburb : (formValues.isDebtorTypeIndividual && !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.Suburb : formValues.PostalAddressYourDetailsIndividual.Suburb)) : '',\r\n // StateThree: formValues.isInternalReviewStage ? ((formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true') ? formValues.ResidentialAddressFineholderDetails.State : (formValues.isDebtorTypeIndividual && !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.State : formValues.PostalAddressYourDetailsIndividual.State)) : '',\r\n // PostcodeThree: formValues.isInternalReviewStage ? ((formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true') ? formValues.ResidentialAddressFineholderDetails.Postcode : (formValues.isDebtorTypeIndividual && !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.Postcode : formValues.PostalAddressYourDetailsIndividual.Postcode)) : '',\r\n // CountryThree: formValues.isInternalReviewStage ? ((formValues.isThirdPartyAuthorised && formValues.DifferentToPostalFineholderDetails === 'true') ? formValues.ResidentialAddressFineholderDetails.Country : (formValues.isDebtorTypeIndividual && !formValues.isThirdPartyAuthorised && formValues.DifferentToPostalYourDetailsIndividual === 'true' ? formValues.ResidentialAddressYourDetailsIndividual.Country : formValues.PostalAddressYourDetailsIndividual.Country)) : '',\r\n // ADDRESS 4 - IR\r\n LineOneFour: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.LineOne : (formValues.isDebtorTypeIndividual ? formValues.PostalAddressYourDetailsIndividual.LineOne : '')) : formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.LineOne : '',\r\n LineTwoFour: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.LineTwo : (formValues.isDebtorTypeIndividual ? formValues.PostalAddressYourDetailsIndividual.LineTwo : '')) : formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.LineTwo : '',\r\n SuburbFour: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.Suburb : (formValues.isDebtorTypeIndividual ? formValues.PostalAddressYourDetailsIndividual.Suburb : '')) : formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.Suburb : '',\r\n StateFour: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.State : (formValues.isDebtorTypeIndividual ? formValues.PostalAddressYourDetailsIndividual.State : '')) : formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.State : '',\r\n PostcodeFour: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.Postcode : (formValues.isDebtorTypeIndividual ? formValues.PostalAddressYourDetailsIndividual.Postcode : '')) : formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.Postcode : '',\r\n CountryFour: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressFineholderDetails.Country : (formValues.isDebtorTypeIndividual ? formValues.PostalAddressYourDetailsIndividual.Country : '')) : formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.Country : '',\r\n // ADDRESS 5 - IR\r\n LineOneFive: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.LineOne : '') : '',\r\n LineTwoFive: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.LineTwo : '') : '',\r\n SuburbFive: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.Suburb : '') : '',\r\n StateFive: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.State : '') : '',\r\n PostcodeFive: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.Postcode : '') : '',\r\n CountryFive: formValues.isInternalReviewStage ? (formValues.isThirdPartyAuthorised ? formValues.PostalAddressYourDetailsThirdParty.Country : '') : '',\r\n\r\n // Footer Pg 1\r\n FooterSubmissionNo1: submissionNumber,\r\n FooterFormType1: FORM_TYPE,\r\n FooterObligationNo1: formValues.OBLIGATION_NUMBER,\r\n FooterSubmissionTime1: SUBMITTED_TIME,\r\n // Footer Pg 2\r\n FooterSubmissionNo2: submissionNumber,\r\n FooterFormType2: FORM_TYPE,\r\n FooterObligationNo2: formValues.OBLIGATION_NUMBER,\r\n FooterSubmissionTime2: SUBMITTED_TIME,\r\n // Footer Pg 3\r\n FooterSubmissionNo3: submissionNumber,\r\n FooterFormType3: FORM_TYPE,\r\n FooterObligationNo3: formValues.OBLIGATION_NUMBER,\r\n FooterSubmissionTime3: SUBMITTED_TIME,\r\n // Footer Pg 4\r\n FooterSubmissionNo4: submissionNumber,\r\n FooterFormType4: FORM_TYPE,\r\n FooterObligationNo4: formValues.OBLIGATION_NUMBER,\r\n FooterSubmissionTime4: SUBMITTED_TIME,\r\n };\r\n const excludeKeysFromForm: string[] = [\r\n 'a',\r\n 'ABNYourDetailsCompany',\r\n 'ACNYourDetailsCompany',\r\n 'AbnAcnTypeYourDetailsCompany',\r\n 'ApplyingForPenaltyReminder',\r\n 'areThereAnyAdditionalFines',\r\n 'Attachments',\r\n 'AuthorisedObligation',\r\n 'CanSave',\r\n 'closeTheOption',\r\n 'CheckAndConfirmPageLoaded',\r\n 'CompanyNameYourDetailsCompany',\r\n 'ContactNumberFineholderDetails',\r\n 'ContactNumberYourDetailsCompany',\r\n 'ContactNumberYourDetailsIndividual',\r\n 'ContactNumberYourDetailsThirdParty',\r\n 'contraryToLawCanUploadSupportingDocs',\r\n 'contraryToLawWasLegalMistakeMade',\r\n 'CorrespondenceRecipientYourDetailsThirdParty',\r\n 'CreateDate',\r\n 'DebtorID',\r\n 'DebtorType',\r\n 'DOB',\r\n 'DOBFineholderDetails',\r\n 'DOBYourDetailsIndividual',\r\n 'DOBRequired',\r\n 'DRIVER_LICENCE',\r\n 'DifferentToPostalFineholderDetails',\r\n 'DifferentToPostalYourDetailsIndividual',\r\n 'DifferentToPostalYourDetailsCompany',\r\n 'EligibleObligations',\r\n 'EMRemeinderSent',\r\n 'EmailFineholderDetails',\r\n 'EmailYourDetailsCompany',\r\n 'EmailYourDetailsIndividual',\r\n 'EmailYourDetailsThirdParty',\r\n 'errorOrInfoAppearsInAccordion',\r\n 'exceptionalsCanUploadSupportingDocs',\r\n 'ExpiryDate',\r\n 'FamilyNameFineholderDetails',\r\n 'FamilyNameYourDetailsCompany',\r\n 'FamilyNameYourDetailsIndividual',\r\n 'FamilyNameYourDetailsThirdParty',\r\n 'FormExperience',\r\n 'FormTypeID',\r\n 'FileUploadDescriptionConfig',\r\n 'FileUploadMaxAttachmentsConfig',\r\n 'FileUploadSizeConfig',\r\n 'FormData',\r\n 'GivenNamesFineholderDetails',\r\n 'GivenNamesYourDetailsCompany',\r\n 'GivenNamesYourDetailsIndividual',\r\n 'GivenNamesYourDetailsThirdParty',\r\n 'HEARING_DATE',\r\n 'HasStatementAndEvidenceSupportingDocs',\r\n 'HaveYouSubmittedEnforcementReviewBefore',\r\n 'HearingDateRequired',\r\n 'ID',\r\n 'InfringementNumber',\r\n 'IsMakingTimeRequest',\r\n 'isPUEligible',\r\n 'IsSubscribedEM',\r\n 'IsSubscribedSMS',\r\n 'isDebtorTypeCompany',\r\n 'isDebtorTypeIndividual',\r\n 'isEnforcementReviewStage',\r\n 'isInternalReviewStage',\r\n 'isNominatable',\r\n 'isThePersonNamed',\r\n 'isThirdPartyAuthorised',\r\n 'LicenceRequired',\r\n 'mistakeOfIdentityCanUploadSupportingDocs',\r\n 'mistakeOfIndentityWasSomeoneElseDriving',\r\n 'NumberOfInvalidPersonUnaware',\r\n 'NumberOfValidEnforcementReview',\r\n 'NumberOfValidInternalReview',\r\n 'NumberOfInvalidSevenDayNotice',\r\n 'NumberOfInvalidSevenDayNotice',\r\n 'OffenceCode',\r\n 'OffenceDateRequired',\r\n 'OFFENCE_DATE',\r\n 'ObligationStatus',\r\n 'Obligations',\r\n 'obligationNumberToIncludeStep12',\r\n 'OrganisationNameYourDetailsThirdParty',\r\n 'PartialFormID',\r\n 'PlaceOfIssueFineholderDetails',\r\n 'PlaceOfIssueYourDetailsIndividual',\r\n 'PositionInCompanyYourDetailsCompany',\r\n 'PostalAddressFineholderDetails',\r\n 'PostalAddressYourDetailsCompany',\r\n 'PostalAddressYourDetailsIndividual',\r\n 'PostalAddressYourDetailsThirdParty',\r\n 'personUnawareCanUploadSupportingDocs',\r\n 'personUnawareEnforcementHappened',\r\n 'personUnawareFindOutDate',\r\n 'personUnawareWasSomeoneElseDriving',\r\n 'PersonUnawareIneligibleList',\r\n 'ReceiveApplicationViaEmailYourDetailsIndividual',\r\n 'ReceiveApplicationViaEmailYourDetailsThirdParty',\r\n 'ReceiveCorrespondenceViaEmailYourDetailsIndividual',\r\n 'RegistrationRequired',\r\n 'RelationshipWithNamedPersonYourDetailsThirdParty',\r\n 'ResidentialAddressFineholderDetails',\r\n 'ResidentialAddressYourDetailsIndividual',\r\n 'ReviewConsentToDeclaration',\r\n 'reviewGroundsList',\r\n 'SMSRemeinderSent',\r\n 'SaveOptions',\r\n 'SaveYesNo',\r\n 'SelectedGroundInfo',\r\n 'SelectedObligationsStep11',\r\n 'SelectedObligationsStep12',\r\n 'SelectedSpecialsGroundInfo',\r\n 'StateOfIssueFineholderDetails',\r\n 'StateOfIssueYourDetailsIndividual',\r\n 'StatementAndEvidence',\r\n 'StatementAndEvidenceDescription',\r\n 'StatementAndEvidenceFileSectionError',\r\n 'StatementAndEvidenceFileUploadErrorHandle',\r\n 'StatementAndEvidenceNameField',\r\n 'StatementAndEvidenceProvider',\r\n 'StatementAndEvidenceSizeErrorHandle',\r\n 'Status',\r\n 'StreetAddressYourDetailsCompany',\r\n 'saveEmail',\r\n 'saveMobile',\r\n 'selectTheOption',\r\n 'selectTheSpecialOption',\r\n 'specialsCanUploadSupportingDocs',\r\n 'submitted',\r\n 'submissionError',\r\n 'TicketType',\r\n 'TimeExtension',\r\n 'VEHICLE_REGISTRATION',\r\n 'WasSomeoneElseDrivingAtTimeOfOffence',\r\n 'WhyYourFineShouldBeReviewed',\r\n 'wasThereAnIdentificationMistake',\r\n 'wereThereExceptionalCircumstances',\r\n 'wereThereSpecialCircumstances',\r\n 'YesNoDriverLicenceFineholderDetails',\r\n 'YesNoDriverLicenceYourDetailsIndividual',\r\n 'YesNoEmailFineholderDetails',\r\n 'YesNoEmailYourDetailsCompany',\r\n 'YesNoEmailYourDetailsIndividual',\r\n 'YesNoEmailYourDetailsThirdParty',\r\n 'isABNValidYourDetails',\r\n 'isACNValidYourDetails'\r\n ];\r\n excludeKeysFromForm.forEach((value: string) => {\r\n delete submitObject[value];\r\n });\r\n return submitObject;\r\n};\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport React, { ReactElement, useEffect, useState, useContext } from 'react';\r\nimport { useNavigate, useParams, useLocation } from 'react-router-dom';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { getStringIndex, setFormDataValues, setCurrentFormikValues, navToError } from '@utils';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport { checkExistingForm, getPartialForm, getBasicInfo, getInitiate } from '@api';\r\nimport { FormType } from '@constants';\r\nimport { Accordion, FormLoading } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport ClockIcon from '../../../../images/clock.svg';\r\nimport styles from './ReviewStep0.module.scss';\r\n\r\ninterface iProps {\r\n formikRef: any;\r\n}\r\n\r\nfunction ReviewStep0({ formikRef }: iProps): ReactElement {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const [loading, setLoading] = useState(false);\r\n const pathElementArray = location.pathname.split('/');\r\n const { tooltips } = useContext(VicFinesContext);\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n const validTitles = Object.keys(tooltips).filter((v) => v.includes('step0'));\r\n const formikcontext = useFormikContext();\r\n function getStringForSort(stringVal: string): string {\r\n return stringVal.substring(stringVal.indexOf('p') + 1, stringVal.indexOf('|'));\r\n }\r\n validTitles.sort((stringA, stringB) => Number(getStringForSort(stringA)) - Number(getStringForSort(stringB)));\r\n const { ob } = useParams<{ ob?: string }>();\r\n useEffect(() => {\r\n let pathNameLessLastSegmentOnLoad = '';\r\n let obNumFromPath = '';\r\n if (window.location.hash) {\r\n window.history.pushState({}, '', window.location.pathname + window.location.hash.replaceAll('#', ''));\r\n const currentUrl = window.location.pathname;\r\n const pathUrlArray = currentUrl.split('/');\r\n const stepCurrentIndex = getStringIndex(pathUrlArray, 'step');\r\n const stepIndexDiffOnLoad = stepCurrentIndex - pathUrlArray.length;\r\n pathNameLessLastSegmentOnLoad = stepCurrentIndex ? pathUrlArray.slice(0, stepIndexDiffOnLoad).join('/') : currentUrl;\r\n obNumFromPath = pathUrlArray.includes('step0') && pathUrlArray[stepCurrentIndex + 1] ? pathUrlArray[stepCurrentIndex + 1] : '';\r\n }\r\n window.scrollTo(0, 0);\r\n const obNum = obNumFromPath || ob;\r\n if (obNum) {\r\n setLoading(true);\r\n checkExistingForm(obNum, 'Reviews')\r\n .then((valueOfExistingform) => {\r\n // if (!valueOfExistingform?.PartialFormID) {\r\n // setLoading(false);\r\n // navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}/step0`);\r\n // return;\r\n // }\r\n let currentStep = '';\r\n let partialFormID = 0;\r\n const partialFormOption = valueOfExistingform.CheckingExisting;\r\n const canSave = valueOfExistingform.CanSave;\r\n let savingoption = '';\r\n let debtorID = 0;\r\n if (partialFormOption === 'no' && valueOfExistingform.DebtorID && valueOfExistingform.PartialFormID) {\r\n return;\r\n }\r\n if (valueOfExistingform.CheckingExisting === 'yes') {\r\n formikcontext.setFieldValue('SaveYesNo', 'true');\r\n partialFormID = valueOfExistingform.PartialFormID!;\r\n formikcontext.setFieldValue('PartialFormID', partialFormID);\r\n savingoption = valueOfExistingform.CanSave ? 'yes' : 'no';\r\n if (valueOfExistingform.PartialFormID) {\r\n getPartialForm(valueOfExistingform.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navToError(navigate, location);\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikRef?.current?.values.FormData, formikRef, 'FormData');\r\n setCurrentFormikValues(formData, formikRef?.current?.values, formikRef);\r\n } else if (resBody[key]) {\r\n formikcontext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n })\r\n .catch((e) => console.log(e));\r\n }\r\n } else {\r\n debtorID = valueOfExistingform.DebtorID!;\r\n savingoption = 'no';\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNum);\r\n formikcontext.setFieldValue('DebtorID', debtorID);\r\n }\r\n formikcontext.setFieldValue('SaveOptions', savingoption);\r\n getInitiate(obNum, FormType.REVIEW).then(async (value) => {\r\n if (value.Number) {\r\n if (value.Step !== '/step14') {\r\n await getBasicInfo(obNum, FormType.REVIEW).then((responseBody) => {\r\n if (responseBody) {\r\n formikcontext.setFieldValue('ObligationStatus', responseBody.ObligationStatus);\r\n formikcontext.setFieldValue('TicketType', responseBody.TicketType);\r\n formikcontext.setFieldValue('Status', responseBody.Status);\r\n formikcontext.setFieldValue('DebtorType', responseBody.DebtorType);\r\n formikcontext.setFieldValue('isPUEligible', responseBody.ValidForPersonUnaware);\r\n if (responseBody.DebtorType === 'Individual') {\r\n formikcontext.setFieldValue('isDebtorTypeIndividual', true);\r\n }\r\n if (responseBody.DebtorType === 'Company') {\r\n formikcontext.setFieldValue('isDebtorTypeCompany', true);\r\n }\r\n formikcontext.setFieldValue('OffenceCode', responseBody.OffenceCode);\r\n formikcontext.setFieldValue('isNominatable', responseBody.IsNominated);\r\n if (responseBody.FineStage === 'InternalReview') {\r\n formikcontext.setFieldValue('isInternalReviewStage', true);\r\n formikcontext.setFieldValue('isEnforcementReviewStage', false);\r\n } else if (responseBody.FineStage === 'EnforcementReview') {\r\n formikcontext.setFieldValue('isEnforcementReviewStage', true);\r\n formikcontext.setFieldValue('isInternalReviewStage', false);\r\n }\r\n if (canSave === true) {\r\n formikcontext.setFieldValue('CanSave', true);\r\n }\r\n if (partialFormOption === 'no') {\r\n if (responseBody.FineStage === 'EnforcementReview' || (responseBody.FineStage === 'InternalReview' && responseBody.DebtorType === 'Individual' && (responseBody.IsNominated || responseBody.Status === 'PenaltyReminder'))) {\r\n currentStep = '/step3';\r\n } else if (canSave === true) {\r\n currentStep = '/step4';\r\n } else if (responseBody.DebtorType === 'Individual') {\r\n currentStep = '/step5';\r\n } else {\r\n currentStep = '/step6';\r\n }\r\n } else if (partialFormOption === 'yes' && responseBody.DebtorType === 'Company') {\r\n currentStep = '/step6';\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNum);\r\n if (formikRef.current.values.selectTheOption.length > 0) formikcontext.setFieldTouched('selectTheOption', true);\r\n } else if (partialFormOption === 'yes' && responseBody.DebtorType === 'Individual') {\r\n currentStep = '/step5';\r\n formikcontext.setFieldValue('OBLIGATION_NUMBER', obNum);\r\n if (formikRef.current.values.isThePersonNamed) formikcontext.setFieldTouched('isThePersonNamed', true);\r\n if (formikRef.current.values.isThePersonNamed === 'false') formikcontext.setFieldTouched('isThirdPartyAuthorised', true);\r\n } else {\r\n currentStep = '/';\r\n }\r\n } else {\r\n currentStep = '/';\r\n }\r\n }).catch(() => {\r\n currentStep = '/';\r\n });\r\n } else {\r\n currentStep = '/';\r\n }\r\n } else {\r\n currentStep = '/';\r\n }\r\n navigate(`${pathNameLessLastSegment || pathNameLessLastSegmentOnLoad}${currentStep}`);\r\n setLoading(false);\r\n });\r\n })\r\n .catch(() => {\r\n console.log('Caught p2');\r\n });\r\n }\r\n }, []);\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n
\r\n
Before you start
\r\n {validTitles.map((v) => {\r\n const getTitles = v.substring(v.indexOf('|'), v.length).replaceAll('|', ' ');\r\n return ;\r\n })}\r\n
\r\n \"alarm\r\n Please allow up to 20 minutes to complete this form.\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep0;\r\n","import { ReactElement, useContext, useState } from 'react';\r\n\r\nimport { Field } from 'formik';\r\nimport gridStyle from '@pages/forms/Grid.module.scss';\r\nimport { Alert, Modal, TextInput } from '@components';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\nimport styles from './ReviewStep1.module.scss';\r\n\r\nconst isSanctioned = 'isSanctioned'; // Error Message 1\r\nconst isSeriousESIOffence = 'isSeriousESIOffence'; // Error Message 2\r\nconst isIneligibleCode = 'isIneligible'; // Error Message 3\r\nconst isNominatedCode = 'IsNominated'; // Error Message 4\r\nconst isFullyPaidCode = 'isFullyPaid'; // Error Message 5\r\nconst isSevenDayServed = 'isSevenDayServed'; // Error Message 6\r\nconst isWarrant = 'isWarrant'; // Error Message 7\r\nconst NotInSystem = 'NotInSystem'; // Error Message 7\r\n\r\nfunction ReviewStep1(): ReactElement {\r\n const { apiError, tooltips } = useContext(VicFinesContext);\r\n const validTitle = Object.keys(tooltips).filter((v) => v.includes('obligationlocationonformstep1modal'));\r\n const modalContent = tooltips[validTitle[0]];\r\n const titleText = validTitle[0] ? validTitle[0].substring(validTitle[0].indexOf('|'), validTitle[0].length).replaceAll('|', ' ') : 'Not sure what to enter?';\r\n\r\n // Error Code 1\r\n const SanctionedIneligibleAlertContentError1 = (): ReactElement => (\r\n <>\r\n
\r\n

\r\n Our records show that a sanction has been applied to this fine.\r\n

\r\n
\r\n

\r\n \r\n Pay your fine\r\n \r\n

\r\n \r\n );\r\n\r\n// Error Code 2\r\n const SeriousESIOffenceAlertContentError2 = (): ReactElement => (\r\n
\r\n
\r\n

This fine was issued for an excessive speed, drug or alcohol offence.

\r\n
\r\n

\r\n \r\n Pay your fine\r\n \r\n

\r\n
\r\n

\r\n You may also call Fines Victoria on\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n (or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n for regional callers) to discuss your options.\r\n

\r\n
\r\n );\r\n // Error Code 3\r\n const IneligibleAlertContentError3 = (): ReactElement => (\r\n
\r\n
\r\n

\r\n \r\n Pay your fine\r\n \r\n

\r\n
\r\n

\r\n You may also call Fines Victoria on\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n (or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n for regional callers) to discuss your options.\r\n

\r\n
\r\n );\r\n // Error Code 4 and 5\r\n const NominatedorFullyPaidIneligibleAlertContentError4 = (): ReactElement => (\r\n

\r\n The obligation you have entered may be closed or may have been reissued to a nominated third party.\r\n
\r\n
\r\n Check that you have entered the obligation number correctly and try again.\r\n

\r\n );\r\n\r\n // Error code 6\r\n const SevenDayIneligibleAlertContentError6 = (): ReactElement => (\r\n <>\r\n
\r\n

Our records show that a 7 Day Notice has been served on this fine and it has now expired.

\r\n
\r\n

\r\n Once a 7 Day Notice expires, any fines included in this notice are no longer eligible for an Enforcement Review.\r\n {' '}\r\n \r\n More information on 7 Day Notices\r\n \r\n .\r\n

\r\n \r\n );\r\n\r\n // Error code 7\r\n const WarrantAlertContentError7 = (): ReactElement => (\r\n <>\r\n
\r\n

Our records show that a warrant has been served on this fine.

\r\n
\r\n

\r\n To avoid Sheriff enforcement action,\r\n {' '}\r\n \r\n pay your fine\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n contact us\r\n \r\n .\r\n

\r\n \r\n );\r\n\r\n // Error code 8\r\n const NotInSystemAlertContentError8 = (): ReactElement => (\r\n <>\r\n
\r\n

Please enter the obligation number or infringement notice number. This is usually located at the top of your infringement notice.

\r\n \r\n );\r\n\r\n // For Any other error\r\n const ReviewStep1AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n // const [smallScreen, setMatches] = useState(window.matchMedia('(max-width: 1150px)').matches);\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const ReviewStep1NoteContent = (): ReactElement => (\r\n <>\r\n

\r\n You will need to enter the fine’s obligation number or infringement number, the offence date and some other details about yourself or your vehicle.\r\n

\r\n

You can find this information on the infringement notice.

\r\n
\r\n

\r\n If you cannot locate these details, please contact us on\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n for regional callers.\r\n

\r\n \r\n );\r\n\r\n const notificationInformation = (): ReactElement => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n );\r\n\r\n return (\r\n <>\r\n
\r\n
Your fine
\r\n \r\n At this stage of the application, you only only need to provide details of one of your fines - even if you are dealing with multiple matters.\r\n \r\n setOpenHelp(true)}\r\n isMandatory\r\n autocomplete=\"off\"\r\n />\r\n {apiError?.Error === isSanctioned && } title=\"You cannot request a review for this fine\" theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isSeriousESIOffence && } title=\"You cannot request a review for this fine\" theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isIneligibleCode && } title=\"This fine is not eligible for review\" theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isNominatedCode && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isFullyPaidCode && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isSevenDayServed && } title=\"You cannot request a review for this fine\" theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === isWarrant && } title=\"You cannot request a review for this fine\" theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error === NotInSystem && } title=\"The number you entered is not correct.\" theme=\"error\" classAlt={styles.boxheight} />}\r\n {apiError?.Error\r\n && apiError?.Error !== isIneligibleCode\r\n && apiError?.Error !== isNominatedCode\r\n && apiError?.Error !== isSanctioned\r\n && apiError?.Error !== isFullyPaidCode\r\n && apiError?.Error !== isSeriousESIOffence\r\n && apiError?.Error !== isSevenDayServed\r\n && apiError?.Error !== isWarrant\r\n && apiError?.Error !== NotInSystem\r\n && } theme=\"error\" classAlt={styles.boxheight} />}\r\n {isOpenHelp && }\r\n
Any fines that have been paid in full cannot be included in a review application.
\r\n
\r\n } theme=\"info\" icon={InfoIcon} />\r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep1;\r\n","import { ReactElement, useContext, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, DateInput, Modal, TextInput } from '@components';\r\nimport { navToError } from '@utils';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport QuestionIcon from '../../../../images/question.svg';\r\n\r\nimport styles from './ReviewStep2.module.scss';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction ReviewStep2(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const { apiError } = useContext(VicFinesContext);\r\n const [hasOffenceDate, setOffenceDate] = useState(false);\r\n const [hasHearingDate, setHearingDate] = useState(false);\r\n const [hasLicenceNumber, setLicenceNumber] = useState(false);\r\n const [hasVehicleRego, setVehicleRego] = useState(false);\r\n const [hasDOB, setDOB] = useState(false);\r\n const [isOpenHelp, setOpenHelp] = useState(false);\r\n const ReviewStep2AlertContent = (): ReactElement =>

{`${apiError?.Error}`}

;\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n\r\n const closeNotifications = () => {\r\n setOpenHelp(false);\r\n };\r\n\r\n const notificationInformation = (): ReactElement => (\r\n
\r\n
\r\n If you don't know these details or think we may have the wrong information, contact Fines Victoria, Monday to Friday, 8am to 6pm (except public holidays).\r\n

\r\n For infringement enquiries, call\r\n {' '}\r\n \r\n 03 9200 8111\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1300 369 819\r\n \r\n {' '}\r\n for regional callers.\r\n

\r\n
\r\n

Do you have a Victorian driver licence?

\r\n
\r\n If asked for your driver licence number, make sure you include any zeros at the start of your Victorian driver licence number.\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n const setupDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n };\r\n // TO DO - UPADTE THIS ENDPOINT\r\n const url = `${API_URL}sitecore/Review/SetupDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n context.setFieldValue('OffenceDateRequired', false);\r\n context.setFieldValue('HearingDateRequired', false);\r\n context.setFieldValue('LicenceRequired', false);\r\n context.setFieldValue('RegistrationRequired', false);\r\n context.setFieldValue('DOBRequired', false);\r\n if (responseBody.OffenceDate) {\r\n setOffenceDate(true);\r\n context.setFieldValue('OffenceDateRequired', true);\r\n context.setFieldTouched('OFFENCE_DATE', false);\r\n }\r\n if (responseBody.HearingDate) {\r\n setHearingDate(true);\r\n context.setFieldValue('HearingDateRequired', true);\r\n context.setFieldTouched('HEARING_DATE', false);\r\n }\r\n if (responseBody.LicenceRequired) {\r\n setLicenceNumber(true);\r\n context.setFieldValue('LicenceRequired', true);\r\n context.setFieldTouched('DRIVER_LICENCE', false);\r\n }\r\n if (responseBody.RegistrationRequired) {\r\n setVehicleRego(true);\r\n context.setFieldValue('RegistrationRequired', true);\r\n context.setFieldTouched('VEHICLE_REGISTRATION', false);\r\n }\r\n if (responseBody.DateOfBirthRequired) {\r\n setDOB(true);\r\n context.setFieldValue('DOBRequired', true);\r\n context.setFieldTouched('DOB', false);\r\n }\r\n } else navToError(navigate, location);\r\n setLoading(false);\r\n } catch (error) {\r\n navToError(navigate, location);\r\n }\r\n };\r\n setupDebtor(context);\r\n return () => {\r\n setOffenceDate(false); // clean up state to avoid warnings\r\n setHearingDate(false);\r\n setLicenceNumber(false);\r\n setVehicleRego(false);\r\n setDOB(false);\r\n };\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!loading && (\r\n
\r\n More information needed\r\n We need you to enter some more details about this fine before you can continue.\r\n {apiError?.Error && } theme=\"error\" />}\r\n {hasOffenceDate && (\r\n \r\n )}\r\n {hasHearingDate && }\r\n {hasLicenceNumber && }\r\n {hasVehicleRego && }\r\n {hasDOB && }\r\n
\r\n \r\n
\r\n {isOpenHelp && }\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep2;\r\n","import { ReactElement } from 'react';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, Alert } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\n\r\n// import { FormType } from '@constants/forms';\r\nimport IssueIcon from '../../../../images/issue.svg';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nfunction ReviewStep3(): ReactElement {\r\n// const context = useFormikContext();\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const { values }: { values: iReviewFormValues } = useFormikContext();\r\n const WasSomeoneElseDrivingAtTimeOfOffenceAlert = (): ReactElement => (\r\n <>\r\n
\r\n

\r\n You should\r\n { ' '}\r\n \r\n nominate the driver\r\n \r\n {' '}\r\n if:\r\n

    \r\n
  • someone else was the driver responsible for the vehicle at the time of the offence
  • \r\n
  • you sold the vehicle to someone else, or disposed of the vehicle before the offence date
  • \r\n
  • you believe the vehicle, or numberplates displayed on the vehicle, were stolen or cloned/copied
  • \r\n
  • you were incorrectly nominated as the responsible person.
  • \r\n
\r\n

\r\n

\r\n Once the fine becomes a Notice of Final Demand, it is too late to nominate.\r\n

\r\n \r\n );\r\n const ApplyingForPenaltyReminderAlert = (): ReactElement => (\r\n <>\r\n

\r\n If your request is granted, only the Penalty Reminder fee will be removed.\r\n

\r\n
\r\n

\r\n The original fine amount will still need to be paid, and any demerit points or other sanctions will still apply.\r\n

\r\n \r\n );\r\n\r\n const HaveYouSubmittedEnforcementReviewBeforeAlert = (): ReactElement => (\r\n <>\r\n
\r\n

\r\n In most cases, you can only make\r\n {' '}\r\n one\r\n {' '}\r\n application for an enforcement review.\r\n

\r\n
\r\n

\r\n \r\n More information\r\n \r\n

\r\n \r\n );\r\n\r\n return (\r\n <>\r\n
\r\n Before you continue\r\n {values.isDebtorTypeIndividual && values.isInternalReviewStage && (\r\n <>\r\n {values.isNominatable && (\r\n
\r\n \r\n {values.WasSomeoneElseDrivingAtTimeOfOffence === 'true' && (\r\n }\r\n theme=\"error\"\r\n title=\"You may be eligible to nominate the driver in possession of the vehicle/trailer at the time of the offence.\"\r\n icon={IssueIcon}\r\n />\r\n )}\r\n
\r\n )}\r\n {values.Status === 'PenaltyReminder' && (\r\n
\r\n \r\n {values.ApplyingForPenaltyReminder === 'true' && (\r\n }\r\n theme=\"info\"\r\n title=\"\"\r\n icon={InfoIcon}\r\n />\r\n )}\r\n
\r\n )}\r\n \r\n )}\r\n {values.isEnforcementReviewStage && (\r\n
\r\n \r\n {values.HaveYouSubmittedEnforcementReviewBefore === 'true' && (\r\n }\r\n theme=\"info\"\r\n title=\"There is a limit to the number of times that you can apply\"\r\n icon={InfoIcon}\r\n />\r\n )}\r\n
\r\n )}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep3;\r\n","import { ReactElement, useState, useContext } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, TextInput, Modal, Button } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport VicFinesContext from '@pages/forms/VicFinesFormContext';\r\n\r\n// import emailNotif from '../../../../images/emailviewv2.png';\r\n// import mobileNotif from '../../../../images/mobileview.png';\r\nimport styles from './ReviewStep4.module.scss';\r\n\r\nfunction ReviewStep4(): ReactElement {\r\n // what-will-my-notifcations-look-like-modal\r\n const { values }: { values: iReviewFormValues } = useFormikContext();\r\n const { tooltips } = useContext(VicFinesContext);\r\n const validTitle = Object.keys(tooltips).filter((v) => v.includes('whatwillmynotifcationslooklikemodal'));\r\n const modalContent = tooltips[validTitle[0]];\r\n const titleText = validTitle[0] ? validTitle[0].substring(validTitle[0].indexOf('|'), validTitle[0].length).replaceAll('|', ' ') : 'What will my notifications look like?';\r\n const [isNotifyHelp, setNotifyHelp] = useState(false);\r\n const closeNotifications = () => {\r\n setNotifyHelp(false);\r\n };\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const TILE_DATA_NOTIFICATION_TYPE: tile[] = [\r\n {\r\n body: 'No thanks',\r\n value: 'none',\r\n },\r\n {\r\n body: 'To my mobile',\r\n value: 'mobile',\r\n },\r\n {\r\n body: 'To my email',\r\n value: 'email',\r\n },\r\n {\r\n body: 'To both',\r\n value: 'both',\r\n },\r\n ];\r\n // const notificationInformation = (): ReactElement => (\r\n //
\r\n //
\r\n // Email notification\r\n // Mobile notification\r\n //
\r\n // \"email\r\n //
\r\n //
\r\n // \"mobile\r\n //
\r\n //
\r\n //
\r\n // );\r\n const notificationInformation = (): ReactElement => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n );\r\n\r\n return (\r\n
\r\n Save this form?\r\n
\r\n
If you select Yes, we will save the form as you fill it in, so you can close it and come back later.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {values.SaveYesNo === 'true' && (\r\n <>\r\n

Your form content will be saved securely for up to 7 days or until submitted.

\r\n How do I access my saved form later?\r\n

\r\n To access saved forms visit this site, click ‘Your Fines’ and log in using the fine’s obligation/infringement number.\r\n
\r\n
\r\n Remember, the fine will continue to progress until you submit your form and receive a submission number.\r\n

\r\n Send reminders of incomplete forms?\r\n
We can send you a reminder for you to come back and submit your form.
\r\n \r\n {(values.SaveOptions === 'email' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n {(values.SaveOptions === 'mobile' || values.SaveOptions === 'both') && (\r\n \r\n )}\r\n \r\n {isNotifyHelp && closeNotifications()} show title={titleText} content={notificationInformation()} />}\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default ReviewStep4;\r\n","import { ReactElement, useEffect } from 'react';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { TileRadioAccessible, CheckboxInputAccessible, Alert } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport styles from './ReviewStep5.module.scss';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nfunction ReviewStep5(): ReactElement {\r\n const { values }: { values: iReviewFormValues; } = useFormikContext();\r\n const formikContext = useFormikContext();\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
I am the person named on the fine
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
I am authorised to act on behalf of the person named on the fine
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n const ReviewStep5InfoContainerContent = (\r\n
\r\n
\r\n Some examples of people that may act on behalf of the person who received the fine are:\r\n
\r\n
    \r\n
  • their lawyer or attorney
  • \r\n
  • their company representative
  • \r\n
  • their power of attorney
  • \r\n
  • \r\n the person they have given an ‘Authority to Act’ in their\r\n {' '}\r\n \r\n Third Party Authorisation\r\n \r\n {' '}\r\n with Fines Victoria\r\n
  • \r\n
  • their guardian
  • \r\n
  • their VCAT appointed administrator
  • \r\n
\r\n \r\n When completing this application, you will need to provide your own details, as well as the details for the person who received the fine.\r\n \r\n
\r\n {' '}\r\n
\r\n
\r\n );\r\n useEffect(() => {\r\n if (values.isThePersonNamed === 'true') {\r\n formikContext.setFieldValue('isThirdPartyAuthorised', false);\r\n formikContext.setFieldTouched('isThirdPartyAuthorised', false);\r\n }\r\n }, [values.isThePersonNamed]);\r\n return (\r\n <>\r\n
\r\n Which statement best describes you?\r\n
\r\n
\r\n \r\n {values.isThePersonNamed === 'false' && (\r\n <>\r\n {\r\n // values.isThirdPartyAuthorised = e;\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\nexport default ReviewStep5;\r\n","import React, { ReactElement, useEffect, useState } from 'react';\r\nimport { DateInput, Alert, TileRadioAccessible, ReviewAccordionFooter } from '@components';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\n\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport InfoIcon from '../../../../../images/info.svg';\r\nimport ErrorIcon from '../../../../../images/issue.svg';\r\nimport styles from './Step6Grounds.module.scss';\r\n\r\nconst PERSON_UNAWARE_FIELD_NAME = 'SelectedGroundInfo3';\r\nconst FIELD_NAME = 'selectTheOption';\r\n\r\nconst PersonUnawareContent = (): ReactElement => {\r\n const { errors, touched, values }: { errors:any, touched: any, values: iReviewFormValues } = useFormikContext();\r\n const [personUnawareErrorCount, setpersonUnawareErrorCount] = useState(0);\r\n const [errorsBlockingSelection, setErrorsBlockingSelection] = useState(false);\r\n const formikContext = useFormikContext();\r\n const olderThan15Days = new Date(new Date().setDate(new Date().getDate() - 15));\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n useEffect(() => {\r\n formikContext.setFieldValue('errorOrInfoAppearsInAccordion', personUnawareErrorCount);\r\n if (values.personUnawareWasSomeoneElseDriving === 'true'\r\n || (values.personUnawareFindOutDate !== null\r\n && (values.personUnawareFindOutDate < olderThan15Days || values.personUnawareFindOutDate > new Date()))) {\r\n if (getIn(values, FIELD_NAME).includes(PERSON_UNAWARE_FIELD_NAME)) formikContext.setFieldValue(FIELD_NAME, []);\r\n setErrorsBlockingSelection(true);\r\n }\r\n if (values.personUnawareWasSomeoneElseDriving === 'false'\r\n && values.personUnawareFindOutDate !== null\r\n && values.personUnawareFindOutDate > olderThan15Days\r\n && values.personUnawareFindOutDate <= new Date()\r\n ) setErrorsBlockingSelection(false);\r\n setpersonUnawareErrorCount(personUnawareErrorCount + 1);\r\n },\r\n [\r\n values.personUnawareFindOutDate,\r\n values.personUnawareCanUploadSupportingDocs,\r\n values.personUnawareEnforcementHappened,\r\n values.personUnawareWasSomeoneElseDriving,\r\n ]);\r\n\r\n const personUnawareDateTitle = (\r\n
\r\n

When did you first find out about the fine?

\r\n

You must submit your application within 14 days of becoming aware of the fine.

\r\n
\r\n );\r\n\r\n const personUnawareCanUploadSupportingDocsTitle = (\r\n
\r\n

Can you upload documents to support this?

\r\n

\r\n Some examples of supporting documents are:\r\n

    \r\n
  • a copy of your passport or boarding pass showing you were overseas
  • \r\n
  • an invoice from a removalist showing that you moved house
  • \r\n
  • a VicRoads address change confirmation
  • \r\n
  • a report about mail theft at your address
  • \r\n
\r\n

\r\n
\r\n );\r\n\r\n const personUnawareEnforcementHappenedTitle = (\r\n
\r\n

Has any enforcement action already happened for the fine(s)?

\r\n

such as a suspension of driver licence or vehicle registration, wheel clamping or property seizure?

\r\n
\r\n );\r\n const personUnawareWasSomeoneElseDrivingTitle = (\r\n
\r\n

Was someone else driving?

\r\n

Are you the person named on the infringement notice, but someone else was driving at the time of the offence?

\r\n
\r\n );\r\n\r\n const SubmitApplication14DaysMsg = (\r\n <>\r\n

Based on the information you have provided, you are not eligible to request a review under this ground.

\r\n \r\n );\r\n const personUnawareCanUploadSupportingDocsMessage = (\r\n <>\r\n

Your application may not be successful unless you provide evidence showing you did not know about the fine.

\r\n \r\n );\r\n const personUnawareEnforcementHappenedMessage = (\r\n <>\r\n

Some enforcement action(s) impacts your eligibility for an enforcement review.

\r\n

If enforcement action such as arrest and seizure of assets has happened, you are not eligible for a review.

\r\n \r\n );\r\n const personUnawareWasSomeoneElseDrivingMessage = (\r\n <>\r\n

If you have only just found out about the fine, you can apply for an infringement extension to get more time to deal with the fine.

\r\n
\r\n

If an infringement Extension is granted, you will then be able to nominate the person who was driving.

\r\n
\r\n

If the nomination is succesful, the fine will be withdrawn and may be re-issued.

\r\n \r\n );\r\n\r\n return (\r\n
\r\n
\r\n {personUnawareDateTitle}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {values.personUnawareFindOutDate !== null\r\n && (values.personUnawareFindOutDate < olderThan15Days || values.personUnawareFindOutDate > new Date()) && (\r\n \r\n )}\r\n
\r\n {personUnawareCanUploadSupportingDocsTitle}\r\n \r\n
\r\n {values.personUnawareCanUploadSupportingDocs === 'false' && (\r\n \r\n )}\r\n
\r\n {values.isEnforcementReviewStage && (\r\n <>\r\n {personUnawareEnforcementHappenedTitle}\r\n \r\n
\r\n {values.personUnawareEnforcementHappened === 'true' && (\r\n \r\n )}\r\n
\r\n {personUnawareWasSomeoneElseDrivingTitle}\r\n \r\n
\r\n {values.personUnawareWasSomeoneElseDriving === 'true' && (\r\n \r\n )}\r\n
\r\n \r\n )}\r\n
\r\n Things to note:\r\n
    \r\n
  • \r\n If you moved house but you did not\r\n {' '}\r\n \r\n change your authorised address with VicRoads\r\n \r\n {' '}\r\n within 14 days of moving (as you are required to do under the law), your application may not be successful.\r\n
  • \r\n
    \r\n {values.isInternalReviewStage &&
  • If your application is successful you will be granted a further 21 days to deal with your fine.
  • }\r\n {values.isEnforcementReviewStage &&
  • If your application is successful, the fine will be referred back to the enforcement agency who issued it, and the fees will be waived. The enforcement agency can decide to withdraw the fine, issue an official warning or refer the matter to court.
  • }\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PersonUnawareContent;\r\n","import React, { ReactElement, useEffect, useState } from 'react';\r\nimport { Alert, TileRadioAccessible, ReviewAccordionFooter } from '@components';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\n\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport InfoIcon from '../../../../../images/info.svg';\r\nimport ErrorIcon from '../../../../../images/issue.svg';\r\nimport styles from './Step6Grounds.module.scss';\r\n\r\nconst CONTRARY_TO_LAW_FIELD_NAME = 'SelectedGroundInfo0';\r\nconst FIELD_NAME = 'selectTheOption';\r\n\r\nconst ContraryToLaw = (): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any, values: iReviewFormValues } = useFormikContext();\r\n const [contraryToLawErrorCount, setContraryToLawErrorCount] = useState(0);\r\n const [errorsBlockingSelection, setErrorsBlockingSelection] = useState(false);\r\n const formikContext = useFormikContext();\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n useEffect(() => {\r\n formikContext.setFieldValue('errorOrInfoAppearsInAccordion', contraryToLawErrorCount);\r\n if (values.contraryToLawWasLegalMistakeMade === 'false') {\r\n if (getIn(values, FIELD_NAME).includes(CONTRARY_TO_LAW_FIELD_NAME)) formikContext.setFieldValue(FIELD_NAME, []);\r\n setErrorsBlockingSelection(true);\r\n }\r\n if (values.contraryToLawWasLegalMistakeMade === 'true') setErrorsBlockingSelection(false);\r\n setContraryToLawErrorCount(contraryToLawErrorCount + 1);\r\n },\r\n [\r\n values.contraryToLawWasLegalMistakeMade,\r\n values.contraryToLawCanUploadSupportingDocs,\r\n touched\r\n ]);\r\n\r\n const contraryToLawWasLegalMistakeMadeTitle = (\r\n
\r\n

Do you believe a legal mistake was made when this fine was issued?

\r\n

\r\n Some examples of a fine being issued contrary to law:\r\n

    \r\n
  • the officer who issued the fine acted unlawfully, improperly or outside their authority
  • \r\n
  • information that the fine does not comply with the legal requirements of an infringement notice
  • \r\n
  • a lawful defence or exemption applies
  • \r\n
\r\n

\r\n
\r\n );\r\n\r\n const contraryToLawCanUploadSupportingDocsTitle = (\r\n
\r\n

Can you upload documents to support this?

\r\n

\r\n Some examples of supporting documents are:\r\n

    \r\n
  • evidence that the fine does not comply with legal requirements
  • \r\n
  • a statement about the unlawful or improper action of the issuing officer
  • \r\n
  • other documentation showing that the fine was issued contrary to law.
  • \r\n
\r\n

\r\n
\r\n );\r\n\r\n const contraryToLawWasLegalMistakeMadeMessage = (\r\n

Based on the information provided, you are not eligible to request a review under this ground.

\r\n );\r\n const contraryToLawCanUploadSupportingDocsMessage = (\r\n

Your application may not be successful unless you provide evidence.

\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {contraryToLawWasLegalMistakeMadeTitle}\r\n \r\n
\r\n {values.contraryToLawWasLegalMistakeMade === 'false' && (\r\n \r\n )}\r\n
\r\n {contraryToLawCanUploadSupportingDocsTitle}\r\n \r\n
\r\n {values.contraryToLawCanUploadSupportingDocs === 'false' && (\r\n \r\n )}\r\n
\r\n\r\n
\r\n Things to note:\r\n
    \r\n
  • This review ground should be used only when you can show that a legal mistake was made when the fine was issued.
  • \r\n
    \r\n
  • You should provide evidence to support your application.
  • \r\n
\r\n\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ContraryToLaw;\r\n","import React, { ReactElement, useEffect, useState } from 'react';\r\nimport { Alert, TileRadioAccessible, ReviewAccordionFooter } from '@components';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\n\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport InfoIcon from '../../../../../images/info.svg';\r\nimport ErrorIcon from '../../../../../images/issue.svg';\r\nimport styles from './Step6Grounds.module.scss';\r\n\r\nconst EXCEPTIONAL_CIRCS_FIELD_NAME = 'SelectedGroundInfo1';\r\nconst FIELD_NAME = 'selectTheOption';\r\n\r\nconst ExceptionalCircumstances = (): ReactElement => {\r\n const { errors, touched, values }: { errors:any, touched: any, values: iReviewFormValues } = useFormikContext();\r\n const [exceptionalCicumstancesErrorCount, setExceptionalCicumstancesErrorCount] = useState(0);\r\n const [errorsBlockingSelection, setErrorsBlockingSelection] = useState(false);\r\n const formikContext = useFormikContext();\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n useEffect(() => {\r\n formikContext.setFieldValue('errorOrInfoAppearsInAccordion', exceptionalCicumstancesErrorCount);\r\n if (values.wereThereExceptionalCircumstances === 'false') {\r\n if (getIn(values, FIELD_NAME).includes(EXCEPTIONAL_CIRCS_FIELD_NAME)) formikContext.setFieldValue(FIELD_NAME, []);\r\n setErrorsBlockingSelection(true);\r\n }\r\n if (values.wereThereExceptionalCircumstances === 'true') setErrorsBlockingSelection(false);\r\n setExceptionalCicumstancesErrorCount(exceptionalCicumstancesErrorCount + 1);\r\n },\r\n [\r\n values.wereThereExceptionalCircumstances,\r\n values.exceptionalsCanUploadSupportingDocs,\r\n ]);\r\n\r\n const wereThereExceptionalCircumstancesTitle = (\r\n
\r\n

Was the fine due to circumstances that were out of the ordinary, unavoidable or exceptional?

\r\n

\r\n Some examples are:\r\n

    \r\n
  • you parked longer than indicated because your vehicle broke down
  • \r\n
  • you received a parking ticket because of a medical emergency
  • \r\n
\r\n

\r\n
\r\n );\r\n\r\n const exceptionalsCanUploadSupportingDocsTitle = (\r\n
\r\n

Can you upload documents to support this?

\r\n

\r\n Some examples of supporting documents are:\r\n

    \r\n
  • medical or hospital records
  • \r\n
  • mechanical or towing documents
  • \r\n
  • other documentation showing that exceptional circumstances apply
  • \r\n
\r\n

\r\n
\r\n );\r\n\r\n const wereThereExceptionalCircumstancesMessage = (\r\n

Based on the information provided, you are not eligible to request a review under this ground.

\r\n );\r\n const exceptionalsCanUploadSupportingDocsMessage = (\r\n

Your application may not be successful unless you provide evidence.

\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {wereThereExceptionalCircumstancesTitle}\r\n \r\n
\r\n {values.wereThereExceptionalCircumstances === 'false' && (\r\n \r\n )}\r\n
\r\n {exceptionalsCanUploadSupportingDocsTitle}\r\n \r\n
\r\n {values.exceptionalsCanUploadSupportingDocs === 'false' && (\r\n \r\n )}\r\n
\r\n\r\n
\r\n Things to note:\r\n
    \r\n
  • This review ground should be used only when you can show that exceptional, out of the ordinary or unavoidable circumstances apply.
  • \r\n
    \r\n
  • You should provide evidence to support your application.
  • \r\n
\r\n\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ExceptionalCircumstances;\r\n","import React, { ReactElement, useEffect, useState } from 'react';\r\nimport { Alert, TileRadioAccessible, ReviewAccordionFooter } from '@components';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\n\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport InfoIcon from '../../../../../images/info.svg';\r\nimport ErrorIcon from '../../../../../images/issue.svg';\r\nimport styles from './Step6Grounds.module.scss';\r\n\r\nconst SPECIAL_CIRCS_FIELD_NAME = 'SelectedGroundInfo4';\r\nconst FIELD_NAME = 'selectTheOption';\r\n\r\nconst SpecialCircumstances = (): ReactElement => {\r\n const { errors, touched, values }: { errors:any, touched: any, values: iReviewFormValues } = useFormikContext();\r\n const [exceptionalCicumstancesErrorCount, setExceptionalCicumstancesErrorCount] = useState(0);\r\n const [errorsBlockingSelection, setErrorsBlockingSelection] = useState(false);\r\n const formikContext = useFormikContext();\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n useEffect(() => {\r\n formikContext.setFieldValue('errorOrInfoAppearsInAccordion', exceptionalCicumstancesErrorCount);\r\n if (values.wereThereSpecialCircumstances === 'false') {\r\n if (getIn(values, FIELD_NAME).includes(SPECIAL_CIRCS_FIELD_NAME)) formikContext.setFieldValue(FIELD_NAME, []);\r\n setErrorsBlockingSelection(true);\r\n }\r\n if (values.wereThereSpecialCircumstances === 'true') setErrorsBlockingSelection(false);\r\n setExceptionalCicumstancesErrorCount(exceptionalCicumstancesErrorCount + 1);\r\n },\r\n [\r\n values.wereThereSpecialCircumstances,\r\n values.specialsCanUploadSupportingDocs,\r\n ]);\r\n\r\n const wereThereSpecialCircumstancesTitle = (\r\n
\r\n

Do one or more of these special circumstances apply to you?

\r\n

\r\n At the time of your offence:\r\n

    \r\n
  • you had a mental or intellectual disability, disorder, disease or illness
  • \r\n
  • you had a serious addiction to drugs, alcohol, or a volatile substance
  • \r\n
  • you were homeless
  • \r\n
  • \r\n you were a victim of family violence\r\n *\r\n
  • \r\n
\r\n

\r\n
\r\n );\r\n\r\n const specialsCanUploadSupportingDocsTitle = (\r\n
\r\n

Can you upload documents to support this?

\r\n

\r\n Some examples of supporting documents are:\r\n

    \r\n
  • report from a qualified medical practitioner
  • \r\n
  • report from a social worker or support agency
  • \r\n
  • a police report
  • \r\n
\r\n

\r\n
\r\n );\r\n\r\n const wereThereSpecialCircumstancesMessage = (\r\n

Based on the information provided, you are not eligible to request a review under this ground.

\r\n );\r\n const specialsCanUploadSupportingDocsMessage = (\r\n

Your application may not be successful unless you provide evidence.

\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {wereThereSpecialCircumstancesTitle}\r\n \r\n
\r\n {values.wereThereSpecialCircumstances === 'false' && (\r\n \r\n )}\r\n
\r\n {specialsCanUploadSupportingDocsTitle}\r\n \r\n
\r\n {values.specialsCanUploadSupportingDocs === 'false' && (\r\n \r\n )}\r\n
\r\n

\r\n For more information on what evidence is required, the application process and what the legislation says, see\r\n {' '}\r\n \r\n Special Circumstances\r\n \r\n .\r\n

\r\n\r\n
\r\n Things to note:\r\n
    \r\n
  • \r\n If your application for enforcement review on the ground of special circumstances is successful,\r\n {' '}\r\n any demerit points will remain on your licence.\r\n
  • \r\n
    \r\n
  • \r\n If your fines resulted from family violence, you may be able to apply under the\r\n {' '}\r\n \r\n Family Violence Scheme\r\n \r\n .\r\n
  • \r\n
    \r\n
  • \r\n If you have other reasons for requesting a review, you may be able to apply under\r\n {' '}\r\n \r\n Exceptional Circumstances\r\n \r\n .\r\n
  • \r\n
\r\n\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SpecialCircumstances;\r\n","import React, { ReactElement, useEffect, useState } from 'react';\r\nimport { Alert, TileRadioAccessible, ReviewAccordionFooter } from '@components';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\n\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport InfoIcon from '../../../../../images/info.svg';\r\nimport ErrorIcon from '../../../../../images/issue.svg';\r\nimport styles from './Step6Grounds.module.scss';\r\n\r\nconst MISTAKE_OF_IDENTITY_FIELD_NAME = 'SelectedGroundInfo2';\r\nconst FIELD_NAME = 'selectTheOption';\r\n\r\nconst MistakeOfIdentity = (): ReactElement => {\r\n const { errors, touched, values }: { errors:any, touched: any, values: iReviewFormValues } = useFormikContext();\r\n const [exceptionalCicumstancesErrorCount, setExceptionalCicumstancesErrorCount] = useState(0);\r\n const [errorsBlockingSelection, setErrorsBlockingSelection] = useState(false);\r\n const formikContext = useFormikContext();\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: 'Yes',\r\n value: 'true',\r\n },\r\n {\r\n body: 'No',\r\n value: 'false',\r\n },\r\n ];\r\n useEffect(() => {\r\n formikContext.setFieldValue('errorOrInfoAppearsInAccordion', exceptionalCicumstancesErrorCount);\r\n if (values.mistakeOfIndentityWasSomeoneElseDriving === 'true' || values.wasThereAnIdentificationMistake === 'false') {\r\n if (getIn(values, FIELD_NAME).includes(MISTAKE_OF_IDENTITY_FIELD_NAME)) formikContext.setFieldValue(FIELD_NAME, []);\r\n setErrorsBlockingSelection(true);\r\n }\r\n if (values.mistakeOfIndentityWasSomeoneElseDriving === 'false' && values.wasThereAnIdentificationMistake === 'true') setErrorsBlockingSelection(false);\r\n setExceptionalCicumstancesErrorCount(exceptionalCicumstancesErrorCount + 1);\r\n },\r\n [\r\n values.wasThereAnIdentificationMistake,\r\n values.mistakeOfIdentityCanUploadSupportingDocs,\r\n values.mistakeOfIndentityWasSomeoneElseDriving,\r\n ]);\r\n\r\n const wasThereAnIdentificationMistakeTitle = (\r\n
\r\n

Do you believe an identification mistake was made when the fine was issued?

\r\n

\r\n Some examples of mistake of identity:\r\n

    \r\n
  • someone pretended to be you and falsely used your details
  • \r\n {values.isEnforcementReviewStage &&
  • someone has given your details to police, and there has been a mistake
  • }\r\n {values.isInternalReviewStage &&
  • someone gave your details to police, and there has been a mistake
  • }\r\n
  • you have been a victim of identity theft.
  • \r\n
\r\n

\r\n
\r\n );\r\n const mistakeOfIdentityCanUploadSupportingDocsTitle = (\r\n
\r\n

Can you upload documents to support this?

\r\n

\r\n Some examples of supporting documents:\r\n

    \r\n
  • documents showing that you were not present when the officer issued the offence
  • \r\n
  • other documentation showing that a mistake has been made.
  • \r\n
\r\n

\r\n
\r\n );\r\n const mistakeOfIndentityWasSomeoneElseDrivingTitle = (\r\n
\r\n

Are you the vehicle owner but someone else was driving at the time of the offence?

\r\n

\r\n For example:\r\n

    \r\n
  • the vehicle is registered in your name, but a family member or friend was driving
  • \r\n
  • the vehicle is registered to a business, and an employee or associate was driving
  • \r\n
\r\n

\r\n
\r\n );\r\n\r\n const wasThereAnIdentificationMistakeMessage = (\r\n

Based on the information provided, you are not eligible to request a review under this ground.

\r\n );\r\n const mistakeOfIdentityCanUploadSupportingDocsMessage = (\r\n

Your application may not be successful unless you provide evidence.

\r\n );\r\n const mistakeOfIndentityWasSomeoneElseDrivingIRMessage = (\r\n <>\r\n

You should not submit a review. Instead, you should nominate the driver so that we can re-issue the fine to them.

\r\n
\r\n

You should do this quickly, before the fine becomes a Notice of Final Demand - after that, it is too late to nominate. For some fines, you need to nominate the driver within 28 days, to avoid cancellation of licence.

\r\n
\r\n

If your nomination is accepted, the fine will be withdrawn and may be reissued.

\r\n \r\n );\r\n const mistakeOfIndentityWasSomeoneElseDrivingERMessage = (\r\n <>\r\n

As this fine has now progressed to a Notice of Final Demand, it is too late to nominate the person who was driving.

\r\n
\r\n

\r\n See\r\n {' '}\r\n \r\n If you didn't know about your fine\r\n \r\n {' '}\r\n to find out the options available to you.\r\n

\r\n \r\n );\r\n\r\n return (\r\n
\r\n
\r\n {wasThereAnIdentificationMistakeTitle}\r\n \r\n
\r\n {values.wasThereAnIdentificationMistake === 'false' && (\r\n \r\n )}\r\n
\r\n {mistakeOfIdentityCanUploadSupportingDocsTitle}\r\n \r\n
\r\n {values.mistakeOfIdentityCanUploadSupportingDocs === 'false' && (\r\n \r\n )}\r\n
\r\n {mistakeOfIndentityWasSomeoneElseDrivingTitle}\r\n \r\n
\r\n {values.mistakeOfIndentityWasSomeoneElseDriving === 'true' && values.isInternalReviewStage && (\r\n \r\n )}\r\n {values.mistakeOfIndentityWasSomeoneElseDriving === 'true' && values.isEnforcementReviewStage && (\r\n \r\n )}\r\n
\r\n
\r\n Things to note:\r\n {values.isInternalReviewStage && (\r\n
    \r\n
  • If you believe a mistake of identity was made, you will need to provide evidence.
  • \r\n
    \r\n
  • \r\n If someone else was driving your vehicle at the time of the offence, you should not select this option. Instead, you should\r\n {' '}\r\n \r\n nominate the driver\r\n \r\n {' '}\r\n so that we can re-issue the fine to them.\r\n
  • \r\n
\r\n )}\r\n {values.isEnforcementReviewStage && (\r\n
    \r\n
  • If you believe a mistake of identity was made, you will need to provide evidence, or your application may not be successful.
  • \r\n
    \r\n
  • \r\n If someone else was driving your vehicle at the time of the offence, you may be able to\r\n {' '}\r\n \r\n apply for an infringement extension\r\n \r\n {' '}\r\n to give you more time to deal with the fine. This will allow you to nominate the driver who was responsible for the fine.\r\n
  • \r\n
\r\n )}\r\n\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default MistakeOfIdentity;\r\n","import { ReactElement, useEffect } from 'react';\r\nimport { useFormikContext, Field } from 'formik';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { TileRadioAccessibleReview } from '@components';\r\nimport { tileReview } from '@interfaces/interfaces';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport styles from './ReviewStep6.module.scss';\r\nimport PersonUnawareContent from './Grounds/PersonUnawareContent';\r\nimport ContraryToLaw from './Grounds/ContraryToLawContent';\r\nimport ExceptionalCircumstances from './Grounds/ExceptionalCircumstances';\r\nimport SpecialCircumstances from './Grounds/SpecialCircumstances';\r\nimport MistakeOfIdentity from './Grounds/MistakeOfIdentity';\r\n\r\nfunction ReviewStep6(): ReactElement {\r\n const { values }: { values: iReviewFormValues } = useFormikContext();\r\n const context = useFormikContext();\r\n\r\n const reviewGrounds: tileReview[] = [\r\n {\r\n body: ,\r\n subTitle: 'The fine was invalid or not properly issued to you',\r\n value: 'Contrary to law',\r\n },\r\n {\r\n body: ,\r\n subTitle: 'The offence occurred due to an extraordinary or unavoidable situation',\r\n value: 'Exceptional circumstances',\r\n },\r\n {\r\n body: ,\r\n subTitle: 'The fine was issued to the wrong person',\r\n value: 'Mistake of identity',\r\n },\r\n {\r\n body: ,\r\n subTitle: 'You did not know about the fine',\r\n value: 'Person unaware',\r\n },\r\n {\r\n body: ,\r\n subTitle: 'You have serious personal issues, disorders or difficulties',\r\n value: 'Special circumstances',\r\n }\r\n ];\r\n const filteredGrounds = values.isDebtorTypeCompany ? reviewGrounds.filter((ground) => ground.value !== 'Special circumstances') : reviewGrounds;\r\n\r\n const selectGroundsTitle =

Please review the different grounds below carefully and select the one that best applies to your circumstances.

;\r\n\r\n useEffect(() => {\r\n if (!values.isPUEligible) {\r\n if (values.selectTheOption.includes('SelectedGroundInfo3')) {\r\n context.setFieldValue('selectTheOption', []);\r\n context.setFieldValue('SelectedObligationsStep11', []);\r\n }\r\n }\r\n }, [values.isPUEligible]);\r\n\r\n useEffect(() => {\r\n if (values.selectTheOption.length > 0) {\r\n context.setFieldTouched('selectTheOption', true);\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n
Why are you requesting a review?
\r\n

Under the law, review applications for this fine are only allowed under the grounds below.

\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\nexport default ReviewStep6;\r\n","export default __webpack_public_path__ + \"static/media/internalLink.1d491a8b.svg\";","import React, { ReactElement } from 'react';\r\nimport { Button, ReviewAccordionFooter } from '@components';\r\n\r\nimport styles from './SpecialStatementsStep7.module.scss';\r\n\r\nimport LinkIcon from '../../../../../images/internalLink.svg';\r\n\r\nconst MentalOrIntellectualDisability = (): ReactElement => (\r\n
\r\n

You must provide supporting evidence from a relevant practitioner or agency (general practitioner (GP), psychiatrist, psychologist, psychiatric nurse, occupational therapist, or accredited mental health social worker or case worker) that explains:

\r\n \r\n
    \r\n
  • your diagnosis or condition, including the duration, nature, severity, and impact on your life
  • \r\n
  • how your condition reduced your capacity to control or understand your offending behaviour
  • \r\n
  • the practitioner’s qualifications and how long they have known you.
  • \r\n
\r\n
\r\n
\r\n

The supporting evidence should have been completed within the last 12 months.

\r\n

You may also include other evidence to support your claim.

\r\n\r\n \r\n
\r\n);\r\n\r\nconst SubstanceAddiction = (): ReactElement => (\r\n
\r\n

You must provide supporting evidence from a relevant practitioner or agency (general practitioner (GP), psychiatrist, psychologist, psychiatric nurse, occupational therapist, or accredited mental health social worker or case worker) that explains:

\r\n \r\n
    \r\n
  • your diagnosis or condition, including the duration, nature, severity, and impact on your life
  • \r\n
  • how your condition reduced your capacity to control or understand your offending behaviour
  • \r\n
  • the practitioner’s qualifications and how long they have known you.
  • \r\n
\r\n
\r\n
\r\n

The supporting evidence should have been completed within the last 12 months.

\r\n

You may also include other evidence to support your claim.

\r\n\r\n \r\n
\r\n);\r\nconst Homelessness = (): ReactElement => (\r\n
\r\n

You must provide supporting evidence from a relevant practitioner or agency (health practitioner, financial counsellor, case worker, social worker, or recognised health or welfare service provider) that explains:

\r\n \r\n
    \r\n
  • your circumstances, including the duration, nature, severity, and impact on your life
  • \r\n
  • how your condition reduced your capacity to control your offending behaviour
  • \r\n
  • the practitioner’s qualifications and how long they have known you.
  • \r\n
\r\n
\r\n
\r\n

The supporting evidence should have been completed within the last 12 months.

\r\n

You may also include other evidence to support your claim.

\r\n\r\n \r\n
\r\n);\r\nconst LongTermDisability = (): ReactElement => (\r\n
\r\n

This category of special circumstances is for people unable to deal with their fines in any way because of severe, disabling, or incapacitating circumstances. Examples include long-term involuntary mental health care, and severe physical or intellectual disability.

\r\n

You must provide supporting evidence from a relevant professional (GP, medical specialist, or other practitioner that knows about your circumstances). The evidence should show that your circumstances:

\r\n \r\n
    \r\n
  • are long-term
  • \r\n
  • are particularly disabling or incapacitating
  • \r\n
  • relate mostly to issues other than financial hardship, and
  • \r\n
  • make it impracticable for you to deal with your fine in any way, including by paying in full or instalments, or through a work and development permit.
  • \r\n
\r\n
\r\n
\r\n

The evidence should have been completed within the last 12 months.

\r\n\r\n \r\n
\r\n);\r\nconst FamilyViolence = (): ReactElement => (\r\n
\r\n

The Family Violence Scheme allows people to apply to have their infringement fines withdrawn if their experience of family violence contributed to the offence or it is not safe for them to nominate the responsible person.

\r\n

\r\n You may be eligible to have your fines reviewed under the\r\n {' '}\r\n \r\n Family Violence Scheme\r\n \r\n . If your application is successful, you can request that the fines are withdrawn or you can nominate the responsible driver. For more information, see\r\n {' '}\r\n \r\n Family Violence Scheme\r\n \r\n .\r\n

\r\n

\r\n You will need to provide supporting evidence. The\r\n {' '}\r\n \r\n Guide to the Family Violence Scheme\r\n \r\n {' '}\r\n provides guidance on what evidence to include.\r\n

\r\n

\r\n If you need help or have questions about the process, please call\r\n {' '}\r\n \r\n 1300 019 983\r\n \r\n {' '}\r\n between 9 am and 5 pm weekdays, except public holidays.\r\n

\r\n
\r\n {\r\n window.open('/Support/Family-Violence-Scheme', '_blank');\r\n }}\r\n >\r\n <>\r\n \r\n Apply under the Family Violence Scheme\r\n \r\n {' '}\r\n \"test\"\r\n \r\n \r\n
\r\n

If you prefer to make a family violence application under Special Circumstances, you will need to show that the family violence contributed to you having a significantly reduced capacity to control your behaviour.

\r\n

If you are successful, the enforcement agency may withdraw the fine, withdraw the fine and issue a warning or withdraw the fine and take you to court.

\r\n

\r\n You will need to provide supporting evidence. See\r\n {' '}\r\n \r\n Special Circumstances\r\n \r\n {' '}\r\n for guidance on what evidence to include.\r\n

\r\n \r\n
\r\n);\r\n\r\nexport { MentalOrIntellectualDisability, SubstanceAddiction, Homelessness, LongTermDisability, FamilyViolence };\r\n","import { ReactElement } from 'react';\r\nimport { Field } from 'formik';\r\nimport { TileRadioAccessibleReview } from '@components';\r\nimport { tileReview } from '@interfaces/interfaces';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { FamilyViolence, Homelessness, LongTermDisability, MentalOrIntellectualDisability, SubstanceAddiction } from './Statements/SpecialStatementsStep7';\r\n\r\nfunction ReviewStep7(): ReactElement {\r\n const reviewGrounds: tileReview[] = [\r\n {\r\n body: ,\r\n subTitle: '',\r\n value: 'Mental or intellectual disability, disorder, disease or illness',\r\n },\r\n {\r\n body: ,\r\n subTitle: '',\r\n value: 'Alcohol, drug or volatile substance addiction',\r\n },\r\n {\r\n body: ,\r\n subTitle: '',\r\n value: 'Homelessness',\r\n },\r\n {\r\n body: ,\r\n subTitle: '',\r\n value: 'Disabling long-term circumstances making it impracticable to deal with the fine',\r\n },\r\n {\r\n body: ,\r\n subTitle: '',\r\n value: 'Family violence',\r\n }\r\n ];\r\n const filteredTileData = reviewGrounds;\r\n return (\r\n <>\r\n
Which statement(s) best describes your situation?
\r\n

You may select multiple options.

\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\nexport default ReviewStep7;\r\n","import { ReactElement, useEffect, useState } from 'react';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { Alert, DropdownMenu, FileUploadGroupAccessible, FormLoading, LimitedTextAreaLargeUpdated, TileRadioAccessible } from '@components';\r\nimport { FormType } from '@constants';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { bytesToMBSize, navToError } from '@utils/index';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\n\r\nimport { getValidFilesConfig } from '@api/index';\r\n\r\nimport InfoIcon from '../../../../images/info.svg';\r\nimport styles from '../Step1/ReviewStep1.module.scss';\r\n\r\nfunction ReviewStep8(): ReactElement {\r\n const { values }: { values: iReviewFormValues; } = useFormikContext();\r\n const [circumstances, setCircumstances] = useState('');\r\n const [TimeExtensionOptionsList, setTimeExtensionOptionsList] = useState([{}]);\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const ExceptionalOptionsList = [\r\n { value: '30 days', display: '30 days' },\r\n { value: '60 days', display: '60 days' },\r\n ];\r\n const SpecialOptionsList = [\r\n { value: '30 days', display: '30 days' },\r\n { value: '60 days', display: '60 days' },\r\n { value: '90 days', display: '90 days' },\r\n ];\r\n\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n if (values.OBLIGATION_NUMBER) {\r\n setLoading(true);\r\n Promise.all([\r\n getValidFilesConfig()\r\n ])\r\n .then(([validFilesConfig]) => {\r\n if (validFilesConfig) {\r\n const validFileInfo = validFilesConfig.find((item) => item.FormType === FormType.REVIEW);\r\n context.setFieldValue('FileUploadSizeConfig', bytesToMBSize(validFileInfo?.FileSize || 0));\r\n context.setFieldValue('FileUploadDescriptionConfig', validFileInfo?.Description);\r\n context.setFieldValue('FileUploadMaxAttachmentsConfig', validFileInfo?.MaxAttachments);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n navToError(navigate, location);\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (values.HasStatementAndEvidenceSupportingDocs === 'false') {\r\n context.setFieldValue('StatementAndEvidenceNameField', '');\r\n context.setFieldValue('StatementAndEvidence', []);\r\n context.setFieldValue('StatementAndEvidenceProvider', '');\r\n context.setFieldValue('StatementAndEvidenceDescription', '');\r\n context.setFieldValue('StatementAndEvidenceSizeErrorHandle', '');\r\n context.setFieldValue('StatementAndEvidenceFileUploadErrorHandle', '');\r\n context.setFieldValue('StatementAndEvidenceFileSectionError', '');\r\n }\r\n }, [values.HasStatementAndEvidenceSupportingDocs]);\r\n\r\n const UploadSupportingDocsAlert = (\r\n
\r\n Without supporting documents, your application may not be successful.\r\n

You should provide all relevant information with your application to help the enforcement agency make a decision.

\r\n
\r\n );\r\n useEffect(() => {\r\n if (getIn(values, 'selectTheOption').includes('SelectedGroundInfo1')) {\r\n setCircumstances('exceptional');\r\n setTimeExtensionOptionsList(ExceptionalOptionsList);\r\n }\r\n if (getIn(values, 'selectTheOption').includes('SelectedGroundInfo4')) {\r\n setCircumstances('special');\r\n setTimeExtensionOptionsList(SpecialOptionsList);\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n
\r\n Your statement and evidence\r\n

\r\n Tell us why you believe your fine(s) should be reviewed.\r\n
\r\n Make sure you provide plenty of information to support your claim.\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n {values.HasStatementAndEvidenceSupportingDocs === 'false' && (\r\n \r\n )}\r\n
\r\n {values.HasStatementAndEvidenceSupportingDocs === 'true' && (\r\n <>\r\n
\r\n \r\n Attach any supporting documents (maximum of\r\n {' '}\r\n {values.FileUploadMaxAttachmentsConfig}\r\n {' '}\r\n files; each file should be less than\r\n {' '}\r\n {values.FileUploadSizeConfig}\r\n MB)\r\n \r\n \r\n \r\n )}\r\n {getIn(values, 'isEnforcementReviewStage') && (circumstances === 'exceptional' || circumstances === 'special') && (\r\n <>\r\n \r\n {values.IsMakingTimeRequest === 'true' && (\r\n <>\r\n \r\n

You will need to provide the additional information by that date. If you do not, the application may be assessed without it.

\r\n \r\n )}\r\n \r\n )}\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep8;\r\n","import { iReviewFormValues } from '@services/ReviewService';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { ReactElement, useState } from 'react';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { AddressFieldAccessible, ContactInputAccessible, DateInput, EmailFieldAccessible, LicenceFieldAccessible, Modal, ReviewAddressModal, TextInput, TileRadioAccessible } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { reviewInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport styles from './ReviewStep9.module.scss';\r\n\r\nfunction ReviewStep9(): ReactElement {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { values }: { values: iReviewFormValues; } = useFormikContext();\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const [isDisabled, setDisabled] = useState(false);\r\n const pageFields = reviewInfoDisplayObject.pages.FineholderContactInformation.fields;\r\n const pageTitles = reviewInfoDisplayObject.pages.FineholderContactInformation;\r\n const [modal, setModal] = useState({\r\n show: false,\r\n title: '',\r\n content: <>,\r\n contentClass: '',\r\n });\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const differentToPostal: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n return (\r\n <>\r\n
\r\n {pageTitles.pageTitle}\r\n

Please enter the details of the person who received the fine

\r\n

All fields are required unless specified otherwise

\r\n \r\n \r\n \r\n \r\n \r\n \r\n {(getIn(values, 'DifferentToPostalFineholderDetails') === 'true')\r\n && (\r\n
\r\n \r\n
\r\n )}\r\n setModal({ ...modal, show: false })} {...modal} />\r\n
\r\n {\r\n const modalTitle = 'Have you moved recently?';\r\n setModal({\r\n show: true,\r\n title: modalTitle,\r\n content: ReviewAddressModal(),\r\n contentClass: '',\r\n });\r\n }}>\r\n Have you moved recently?\r\n \r\n
\r\n \r\n \r\n

I understand that by providing contact details, Fines Victoria may update its records using these details and that the fineholder may be contacted regarding their outstanding fines.

\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep9;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { DateInput, LicenceFieldAccessible, TextInput, TileRadioAccessible, ContactInputAccessible, EmailFieldAccessible, Modal, ReviewAddressModal, AddressFieldAccessible } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { reviewInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport styles from './IndividualFormReview.module.scss';\r\n\r\nfunction IndividualFormReview(): ReactElement {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { values }: { values: iReviewFormValues; } = useFormikContext();\r\n const [isDisabled, setDisabled] = useState(false);\r\n const [circumstances, setCircumstances] = useState('');\r\n const pageFields = reviewInfoDisplayObject.pages.IndividualContactInformation.fields;\r\n const pageTitles = reviewInfoDisplayObject.pages.IndividualContactInformation;\r\n const [modal, setModal] = useState({\r\n show: false,\r\n title: '',\r\n content: <>,\r\n contentClass: '',\r\n });\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const differentToPostal: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const ReceiveApplicationViaEmail: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n if (getIn(values, 'DifferentToPostalYourDetailsIndividual')) {\r\n setDisabled(false);\r\n } else {\r\n setDisabled(true);\r\n }\r\n }, [getIn(values, 'DifferentToPostalYourDetailsIndividual')]);\r\n\r\n useEffect(() => {\r\n if (getIn(values, 'selectTheOption')[0] === 'SelectedGroundInfo1') {\r\n setCircumstances('exceptional');\r\n }\r\n if (getIn(values, 'selectTheOption')[0] === 'SelectedGroundInfo4') {\r\n setCircumstances('special');\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n {pageTitles.pageTitle}\r\n

{pageTitles.pageSubtitle}

\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 \r\n
\r\n
\r\n {(getIn(values, 'DifferentToPostalYourDetailsIndividual') === 'true')\r\n && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n setModal({ ...modal, show: false })} {...modal} />\r\n
\r\n {\r\n const modalTitle = 'Have you moved recently?';\r\n setModal({\r\n show: true,\r\n title: modalTitle,\r\n content: ReviewAddressModal(),\r\n contentClass: '',\r\n });\r\n }}>\r\n Have you moved recently?\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {circumstances === 'special' && (getIn(values, 'YesNoEmailYourDetailsIndividual') === false)\r\n && (\r\n \r\n )}\r\n
\r\n
\r\n {getIn(values, 'isEnforcementReviewStage') && (getIn(values, 'YesNoEmailYourDetailsIndividual') === false)\r\n && (\r\n \r\n )}\r\n
\r\n
\r\n {getIn(values, 'isEnforcementReviewStage') && (

I understand that by providing contact details, Fines Victoria may update its records using these details and that I may be contacted regarding my outstanding fines.

)}\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default IndividualFormReview;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { ReactElement, useState } from 'react';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { ABNACNField, AddressFieldAccessible, ContactInputAccessible, EmailFieldAccessible, Modal, ReviewAddressModal, TextInput, TileRadioAccessible } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { INVALID_NUMERIC_FORMAT } from '@services/ErrorMessages';\r\nimport { reviewInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport styles from './CompanyFormReview.module.scss';\r\n\r\nfunction CompanyFormReview(): ReactElement {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n const { values, touched }: { values: iReviewFormValues; touched: any } = useFormikContext();\r\n const [isDisabled, setDisabled] = useState(false);\r\n const formikContext = useFormikContext();\r\n const pageFields = reviewInfoDisplayObject.pages.CompanyContactInformation.fields;\r\n const pageTitles = reviewInfoDisplayObject.pages.CompanyContactInformation;\r\n const [modal, setModal] = useState({\r\n show: false,\r\n title: '',\r\n content: <>,\r\n contentClass: '',\r\n });\r\n const Abn = (): ReactElement => (\r\n <>\r\n
ABN
\r\n \r\n );\r\n const Acn = (): ReactElement => (\r\n <>\r\n
ACN
\r\n \r\n );\r\n const ABNACN_TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'ACN',\r\n },\r\n {\r\n body: ,\r\n value: 'ABN',\r\n },\r\n ];\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n const differentToPostal: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n return (\r\n <>\r\n {pageTitles.pageTitle}\r\n

We need your details here, as the company's representative.

\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 formikContext.setFieldValue('ABNYourDetailsCompany', '');\r\n formikContext.setFieldTouched('ABNYourDetailsCompany', false);\r\n formikContext.setFieldError('ABNYourDetailsCompany', INVALID_NUMERIC_FORMAT);\r\n formikContext.setFieldValue('ACNYourDetailsCompany', '');\r\n formikContext.setFieldTouched('ACNYourDetailsCompany', false);\r\n formikContext.setFieldError('ACNYourDetailsCompany', INVALID_NUMERIC_FORMAT);\r\n }}\r\n />\r\n
\r\n {getIn(values, 'AbnAcnTypeYourDetailsCompany') === 'ABN'\r\n && (\r\n \r\n )}\r\n {getIn(values, 'AbnAcnTypeYourDetailsCompany') === 'ACN'\r\n && (\r\n \r\n )}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {(getIn(values, 'DifferentToPostalYourDetailsCompany') === 'true')\r\n && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n setModal({ ...modal, show: false })} {...modal} />\r\n
\r\n {\r\n const modalTitle = 'Have you moved recently?';\r\n setModal({\r\n show: true,\r\n title: modalTitle,\r\n content: ReviewAddressModal(),\r\n contentClass: '',\r\n });\r\n }}>\r\n Have you moved recently?\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\nexport default CompanyFormReview;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { Field, getIn, useFormikContext } from 'formik';\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { AddressFieldAccessible, Alert, ContactInputAccessible, EmailFieldAccessible, Modal, ReviewAddressModal, TextInput, TileRadioAccessible } from '@components';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { reviewInfoDisplayObject } from '@services/FormFieldConfig';\r\nimport styles from './ThirdPartyFormReview.module.scss';\r\n\r\nfunction ThirdPartyFormReview(): ReactElement {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { values }: { values: iReviewFormValues; } = useFormikContext();\r\n const [circumstances, setCircumstances] = useState('');\r\n const pageFields = reviewInfoDisplayObject.pages.ThirdPartyRepContactInformation.fields;\r\n const pageTitles = reviewInfoDisplayObject.pages.ThirdPartyRepContactInformation;\r\n const [modal, setModal] = useState({\r\n show: false,\r\n title: '',\r\n content: <>,\r\n contentClass: '',\r\n });\r\n\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n const ThirdPartyValue = (): ReactElement => (\r\n <>\r\n
Authorised representative
\r\n \r\n );\r\n const PersonOnFineValue = (): ReactElement => (\r\n <>\r\n
Person who received the fine
\r\n \r\n );\r\n // const BothValue = (): ReactElement => (\r\n // <>\r\n //
Both
\r\n // \r\n // );\r\n const ReceiveApplicationViaEmail: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const CorrespondenceRecipient: tile[] = [\r\n {\r\n body: ,\r\n value: 'Authorised representative',\r\n },\r\n {\r\n body: ,\r\n value: 'Fineholder',\r\n },\r\n // {\r\n // body: ,\r\n // value: 'Both'\r\n // }\r\n ];\r\n\r\n useEffect(() => {\r\n if (getIn(values, 'selectTheOption')[0] === 'SelectedGroundInfo1') {\r\n setCircumstances('exceptional');\r\n }\r\n if (getIn(values, 'selectTheOption')[0] === 'SelectedGroundInfo4') {\r\n setCircumstances('special');\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n {pageTitles.pageTitle}\r\n

We need your details here, as the authorised representative.

\r\n

All fields are required unless specified otherwise

\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 setModal({ ...modal, show: false })} {...modal} />\r\n
\r\n {\r\n const modalTitle = 'Have you moved recently?';\r\n setModal({\r\n show: true,\r\n title: modalTitle,\r\n content: ReviewAddressModal(),\r\n contentClass: '',\r\n });\r\n }}>\r\n Have you moved recently?\r\n \r\n
\r\n {/* TODO to Accessible version of component when branch is merged to uptodate */}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {circumstances === 'special'\r\n && (\r\n \r\n )}\r\n
\r\n
\r\n {((circumstances === 'special' && (getIn(values, 'ReceiveApplicationViaEmailYourDetailsThirdParty') === 'true')) || circumstances !== 'special')\r\n && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ThirdPartyFormReview;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { useFormikContext } from 'formik';\r\nimport { ReactElement, useEffect } from 'react';\r\nimport IndividualFormReview from '@components/Review/Individual/IndividualFormReview';\r\nimport CompanyFormReview from '@components/Review/Company/CompanyFormReview';\r\nimport ThirdPartyFormReview from '@components/Review/ThirdParty/ThirdPartyFormReview';\r\n\r\nfunction ReviewStep10(): ReactElement {\r\n const { values }: { values: iReviewFormValues; } = useFormikContext();\r\n return (\r\n <>\r\n {values.isThirdPartyAuthorised && }\r\n {(values.isDebtorTypeIndividual && !values.isThirdPartyAuthorised) && }\r\n {(values.isDebtorTypeCompany && !values.isThirdPartyAuthorised) && }\r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep10;\r\n","import { ReactElement, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { navToError } from '@utils';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\nimport { FormType } from '@constants/forms';\r\nimport { iObligation } from '@interfaces/interfaces';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { getObligationOptions } from '@api';\r\nimport { ExpandableTableAccessible, FormLoading } from '@components/index';\r\n\r\nimport styles from './ReviewStep11.module.scss';\r\n\r\nfunction ReviewStep11(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n const context = useFormikContext();\r\n const { values }: { values: iReviewFormValues } = useFormikContext();\r\n\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n\r\n const [authorisedOb, setObligationDetails] = useState({} as iObligation);\r\n const [eligibleObs, setEligibleObligations] = useState([] as iObligation[]);\r\n\r\n useEffect(() => {\r\n try {\r\n setLoading(true);\r\n const obNumFormIk = values.OBLIGATION_NUMBER;\r\n if (values.OBLIGATION_NUMBER) {\r\n getObligationOptions(obNumFormIk, FormType.REVIEW)\r\n .then((responseBody) => {\r\n if (responseBody && responseBody?.Authorised) {\r\n setObligationDetails(responseBody?.Authorised);\r\n context.setFieldValue('OBLIGATION_NUMBER', responseBody?.Authorised.Number);\r\n const [day, month, year] = responseBody.Authorised.OffenceDate.split('/').map(Number);\r\n context.setFieldValue('OFFENCE_DATE', new Date(year, month - 1, day));\r\n context.setFieldValue('AuthorisedObligation', responseBody?.Authorised);\r\n context.setFieldValue('InfringementNumber', responseBody?.Authorised.InfringementNumber);\r\n }\r\n if (responseBody && responseBody?.Obligations) {\r\n setEligibleObligations(responseBody?.Obligations);\r\n context.setFieldValue('EligibleObligations', responseBody?.Obligations);\r\n context.setFieldValue('PersonUnawareIneligibleList', responseBody?.PersonUnawareIneligibleList);\r\n context.setFieldValue('NumberOfValidEnforcementReview', responseBody?.NumberOfValidEnforcementReview);\r\n context.setFieldValue('NumberOfValidInternalReview', responseBody?.NumberOfValidInternalReview);\r\n context.setFieldValue('NumberOfInvalidSevenDayNotice', responseBody?.NumberOfInvalidSevenDayNotice);\r\n }\r\n if (responseBody?.PersonUnawareIneligibleList.length > 0 && values.isEnforcementReviewStage && values.selectTheOption.includes('SelectedGroundInfo3')) {\r\n const PUIneligbleNums = responseBody?.PersonUnawareIneligibleList.map((ob) => ob.Number);\r\n const filteredEligibleObligations = responseBody?.Obligations.filter((ob) => !PUIneligbleNums.includes(ob.Number));\r\n if (values.SelectedObligationsStep11.length > 0) {\r\n const filteredInvalidObs = values.SelectedObligationsStep11.filter((ob) => PUIneligbleNums.includes(ob.number));\r\n if (filteredInvalidObs.length > 0) context.setFieldValue('SelectedObligationsStep11', []);\r\n }\r\n setEligibleObligations(filteredEligibleObligations);\r\n context.setFieldValue('EligibleObligations', filteredEligibleObligations);\r\n }\r\n // Handling scenario where a saved form is started using a different obligation number\r\n if (values.SelectedObligationsStep11.length > 0) {\r\n const eligibleNum = responseBody?.Obligations.some((ob) => ob.Number === values.SelectedObligationsStep11[0].number);\r\n if (!eligibleNum) {\r\n context.setFieldValue('SelectedObligationsStep11', []);\r\n }\r\n }\r\n setLoading(false);\r\n })\r\n .catch(() => navToError(navigate, location));\r\n } else {\r\n navToError(navigate, location);\r\n }\r\n } catch (ex) {\r\n navToError(navigate, location);\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, [values.OBLIGATION_NUMBER]);\r\n\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n <>\r\n
Your fines
\r\n

You are requesting a review of the following fine:

\r\n
\r\n
\r\n {authorisedOb.Number && Obligation #}\r\n {authorisedOb.OffenceDate && Offence Date}\r\n {authorisedOb.OffenceDesc && Offence Description}\r\n {authorisedOb.AmountDue && Amount}\r\n
\r\n
\r\n {authorisedOb.Number && {authorisedOb.Number}}\r\n {authorisedOb.OffenceDate && {authorisedOb.OffenceDate}}\r\n {authorisedOb.OffenceDesc && {authorisedOb.OffenceDesc}}\r\n {authorisedOb.AmountDue && ${authorisedOb.AmountDue}}\r\n
\r\n
\r\n \r\n \r\n {\r\n authorisedOb.Number && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceDate && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceDesc && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.AmountDue && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceLocation && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceTime && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.Registration && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceLocation && (\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceTime && (\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.Registration && (\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n
Obligation #{authorisedOb.Number}
Offence Date{authorisedOb.OffenceDate}
Offence Description{authorisedOb.OffenceDesc}
Amount${authorisedOb.AmountDue}
Offence Location{authorisedOb.OffenceLocation}
Time of Offence{authorisedOb.OffenceTime}
Vehicle Registration{authorisedOb.Registration}
\r\n Offence Location
{authorisedOb.OffenceLocation}\r\n
\r\n Time of Offence
{authorisedOb.OffenceTime}\r\n
\r\n Vehicle Registration
{authorisedOb.Registration}\r\n
\r\n
\r\n
\r\n {values.isInternalReviewStage && (\r\n <>\r\n {eligibleObs.length !== 0 && (\r\n <>\r\n

\r\n \r\n Which other eligible fines do you want to include in the application?\r\n \r\n

\r\n \r\n {/* */}\r\n \r\n )}\r\n
\r\n {values.NumberOfValidEnforcementReview > 0 && (\r\n <>\r\n

\r\n You have\r\n {' '}\r\n {values.NumberOfValidEnforcementReview}\r\n {' '}\r\n fine(s) not included in the list above. They are at Notice of Final Demand and/or Enforcement Warrant stage, so they are at a different stage to the fine you are dealing with now.\r\n

\r\n

If you want to request a review for these fines, you will need to log in again using one of the fines and complete a separate review application for them.

\r\n \r\n )}\r\n \r\n )}\r\n {values.isEnforcementReviewStage && (\r\n <>\r\n

\r\n Because a Notice of Final Demand has been issued in relation to your fine, Fines Victoria will process your application as an enforcement review.\r\n

\r\n

\r\n If Fines Victoria cancels enforcement as a result of your application, the issuing agency must withdraw the infringement notice and either take no further action, issue an official warning or refer the matter to court. If applying under Person Unaware, the issuing agency may also cancel and reissue the fine. You will be notified in writing if this occurs.\r\n

\r\n

\r\n By law, you can only make one application for an enforcement review. If you apply under the ground of Special Circumstances, you can apply twice, even if you have applied before under a different review ground.\r\n

\r\n {eligibleObs.length !== 0 && (\r\n <>\r\n

\r\n \r\n Which other eligible fines do you want to include in the application?\r\n \r\n

\r\n \r\n {/* */}\r\n {/* Fines at Review Stage */}\r\n \r\n )}\r\n {values.NumberOfValidInternalReview > 0 && (\r\n <>\r\n
\r\n

\r\n You have\r\n {' '}\r\n {values.NumberOfValidInternalReview}\r\n {' '}\r\n fine(s) not included in the list above. They are at Infringement stage, so they are at a different stage to the fine you are dealing with now.\r\n

\r\n

If you want to request a review for these fines, you will need to log in again using one of the fines and complete a separate review application for them.

\r\n \r\n )}\r\n {/* If Person Unaware was selected and some of the fines belong to PU offence code */}\r\n {values.selectTheOption.includes('SelectedGroundInfo3') && values.PersonUnawareIneligibleList.length > 0 && (\r\n <>\r\n
\r\n

\r\n You have\r\n {' '}\r\n {values.PersonUnawareIneligibleList.length}\r\n {' '}\r\n fine(s) that are not eligible for Enforcement Review under the grounds of Person Unaware.\r\n

\r\n

\r\n If you only became aware of these fines in the last 14 days, you may be able to apply for an\r\n {' '}\r\n \r\n Infringement Extension\r\n \r\n {' '}\r\n to get more time to deal with them.\r\n

\r\n \r\n )}\r\n {/* If Seven Day Notice has been served */}\r\n {values.NumberOfInvalidSevenDayNotice > 0 && (\r\n <>\r\n
\r\n

\r\n You have\r\n {' '}\r\n {values.NumberOfInvalidSevenDayNotice}\r\n {' '}\r\n fine(s) that are not eligible for Enforcement Review because a 7 Day Notice has been served and expired. Please contact Fines Victoria on\r\n {' '}\r\n \r\n 03 9200 8222\r\n \r\n {' '}\r\n or\r\n {' '}\r\n \r\n 1800 150 410\r\n \r\n {' '}\r\n (regional callers).\r\n

\r\n \r\n )}\r\n \r\n )}\r\n
\r\n

This summary may not be a complete listing of your fines. Infringement information may vary as a result of a difference in:

\r\n
\r\n
    \r\n
  • the spelling of your name
  • \r\n
  • your address
  • \r\n
  • your driver licence number
  • \r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep11;\r\n","export default __webpack_public_path__ + \"static/media/add.85dd6482.svg\";","/* eslint-disable react/jsx-one-expression-per-line */\r\nimport { ReactElement, useEffect, useState } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { navToError } from '@utils';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\nimport { FormType } from '@constants/forms';\r\nimport { iObligation, tile } from '@interfaces/interfaces';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { CLICK_PLUS_ICON } from '@services/ErrorMessages';\r\nimport { getObligationOptions } from '@api';\r\nimport { FormLoading, TextInput, TileRadioAccessible } from '@components/index';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\n\r\nimport AddIcon from '../../../../images/add.svg';\r\nimport TrashIcon from '../../../../images/trash.svg';\r\n\r\nimport styles from './ReviewStep12.module.scss';\r\n\r\nfunction ReviewStep12(): ReactElement {\r\n const [loading, setLoading] = useState(true);\r\n // const [addedObs, setAddedObs] = useState([]);\r\n const context = useFormikContext();\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n\r\n const { values }: { values: iReviewFormValues } = useFormikContext();\r\n\r\n const [authorisedOb, setObligationDetails] = useState({} as iObligation);\r\n\r\n const NoOtherFinesValue = (): ReactElement => (\r\n <>\r\n
No other fines
\r\n \r\n );\r\n\r\n const IncludeAllFinesValue = (): ReactElement => (\r\n <>\r\n
Include all eligible outstanding fines
\r\n \r\n );\r\n\r\n const ListFinesValue = (): ReactElement => (\r\n <>\r\n
List the fines to include in this application
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'noOtherFines'\r\n },\r\n {\r\n body: ,\r\n value: 'includeAllFines',\r\n },\r\n {\r\n body: ,\r\n value: 'listFinesManually',\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n try {\r\n setLoading(true);\r\n const obNumFormIk = values.OBLIGATION_NUMBER;\r\n if (values.OBLIGATION_NUMBER) {\r\n getObligationOptions(obNumFormIk, FormType.REVIEW)\r\n .then((responseBody) => {\r\n if (responseBody && responseBody?.Authorised) {\r\n setObligationDetails(responseBody?.Authorised);\r\n context.setFieldValue('OBLIGATION_NUMBER', responseBody?.Authorised.Number);\r\n context.setFieldValue('AuthorisedObligation', responseBody?.Authorised);\r\n const [day, month, year] = responseBody.Authorised.OffenceDate.split('/').map(Number);\r\n context.setFieldValue('OFFENCE_DATE', new Date(year, month - 1, day));\r\n context.setFieldValue('InfringementNumber', responseBody?.Authorised.InfringementNumber);\r\n } else {\r\n navToError(navigate, location);\r\n }\r\n if (responseBody && responseBody?.Obligations) {\r\n context.setFieldValue('EligibleObligations', responseBody?.Obligations);\r\n }\r\n setLoading(false);\r\n })\r\n .catch(() => navToError(navigate, location));\r\n } else {\r\n navToError(navigate, location);\r\n }\r\n } catch (ex) {\r\n navToError(navigate, location);\r\n }\r\n return () => {\r\n setLoading(false);\r\n };\r\n }, [values.OBLIGATION_NUMBER]);\r\n\r\n useEffect(() => {\r\n if (values.areThereAnyAdditionalFines !== 'listFinesManually') context.setFieldValue('SelectedObligationsStep12', []);\r\n }, [values.areThereAnyAdditionalFines]);\r\n\r\n const addObligation = () => {\r\n context.validateField('obligationNumberToIncludeStep12');\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const errorList = Object.fromEntries(Object.entries(context.errors).filter(([key, value]) => value !== CLICK_PLUS_ICON));\r\n const errorMessages = Object.keys(errorList).filter((key) => key === 'obligationNumberToIncludeStep12');\r\n if (errorMessages.length === 0) {\r\n values.SelectedObligationsStep12.push(values.obligationNumberToIncludeStep12);\r\n context.setFieldValue('obligationNumberToIncludeStep12', '');\r\n context.setFieldTouched('obligationNumberToIncludeStep12', false);\r\n }\r\n };\r\n const removeObligation = (obligationNumber: string) => {\r\n values.SelectedObligationsStep12 = values.SelectedObligationsStep12.filter((ob) => ob !== obligationNumber);\r\n context.setFieldValue('obligationNumberToIncludeStep12', values.obligationNumberToIncludeStep12);\r\n };\r\n\r\n return (\r\n <>\r\n {loading && }\r\n {!loading && (\r\n
\r\n
Your fines
\r\n

You are requesting a review of the following fine:

\r\n
\r\n
\r\n {authorisedOb.Number && Obligation #}\r\n {authorisedOb.OffenceDate && Offence Date}\r\n {authorisedOb.OffenceDesc && Offence Description}\r\n {authorisedOb.AmountDue && Amount}\r\n
\r\n
\r\n {authorisedOb.Number && {authorisedOb.Number}}\r\n {authorisedOb.OffenceDate && {authorisedOb.OffenceDate}}\r\n {authorisedOb.OffenceDesc && {authorisedOb.OffenceDesc}}\r\n {authorisedOb.AmountDue && ${authorisedOb.AmountDue}}\r\n
\r\n
\r\n \r\n \r\n {\r\n authorisedOb.Number && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceDate && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceDesc && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.AmountDue && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceLocation && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceTime && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.Registration && (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceLocation && (\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.OffenceTime && (\r\n \r\n \r\n \r\n )\r\n }\r\n {\r\n authorisedOb.Registration && (\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n
Obligation #{authorisedOb.Number}
Offence Date{authorisedOb.OffenceDate}
Offence Description{authorisedOb.OffenceDesc}
Amount${authorisedOb.AmountDue}
Offence Location{authorisedOb.OffenceLocation}
Time of Offence{authorisedOb.OffenceTime}
Vehicle Registration{authorisedOb.Registration}
\r\n Offence Location
{authorisedOb.OffenceLocation}\r\n
\r\n Time of Offence
{authorisedOb.OffenceTime}\r\n
\r\n Vehicle Registration
{authorisedOb.Registration}\r\n
\r\n
\r\n
\r\n
\r\n Would you like to add any other fines to this application?\r\n \r\n {values.areThereAnyAdditionalFines === 'listFinesManually' && (\r\n
\r\n You can only include fines at the same stage as the fine above - check the most recent notice if you are not sure what stage a fine is at.\r\n

You will need to complete a separate application for fines at other stages of the infringement lifecycle.

\r\n {values.SelectedObligationsStep12.length > 0 && Entered obligation number(s) or infringement number(s):}\r\n {values.SelectedObligationsStep12.map((obligation) => (\r\n
\r\n

\r\n {obligation}\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

If you want to apply for a review for other fine(s) under a different review ground, you will need to complete a separate application.

\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep12;\r\n","import { Summary } from '@components';\r\nimport { iReviewFormValues, getSummaryScreen } from '@services/ReviewService';\r\nimport { useFormikContext } from 'formik';\r\nimport { ReactElement, useEffect } from 'react';\r\n\r\nfunction ReviewStep13(): ReactElement {\r\n const { values }: { values: iReviewFormValues } = useFormikContext();\r\n useEffect(() => {\r\n values.CheckAndConfirmPageLoaded = true;\r\n }, []);\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep13;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { CheckboxInputAccessible } from '@components';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { ReactElement, useEffect, useState } from 'react';\r\n\r\nfunction ReviewStep14(): ReactElement {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { values, setFieldValue }: { values: iReviewFormValues; setFieldValue: (field: string, value: any, shouldValidate?: boolean) => void } = useFormikContext();\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const [loading, setLoading] = useState(false);\r\n const [declarationMsg, setDeclarationMsg] = useState(
Unpopulated
);\r\n const IndividualIR: ReactElement = (\r\n
\r\n

I understand that this is the only internal review for this infringement that I am able to submit under section 22(2) of the Infringements Act 2006.

\r\n

I declare that the information that I have supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that by making a false or misleading statement in support of this claim, I may be prosecuted.

\r\n
\r\n );\r\n const IndividualER: ReactElement = (\r\n
\r\n

I authorise Fines Victoria to disclose my personal information to the enforcement agencies that issued the fine(s), the Magistrates’ Court of Victoria and any person whose evidence I rely on in support of this application, and

\r\n

I understand that Fines Victoria may update its records with my contact details provided on this form, and that I may be contacted regarding my outstanding fines, and

\r\n

I declare that the information supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge, and

\r\n

I understand that it is an offence under the Fines Reform Act 2014 to intentionally provide false or misleading information in a written statement required by or under that Act. I understand that the offence carries a fine in excess of $1900.

\r\n
\r\n );\r\n const CompanyIR: ReactElement = (\r\n
\r\n

I am authorised to act on behalf of the company to submit this application.

\r\n

I understand that this is the only internal review for this infringement that the company may submit under section 22(2) of the Infringements Act 2006.

\r\n

I declare that the information that I have supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that by making a false or misleading statement in support of this claim, I may be prosecuted.

\r\n
\r\n );\r\n const CompanyER: ReactElement = (\r\n
\r\n

I declare that I am authorised to act on behalf of the company named on the notice of final demand.

\r\n

I authorise Fines Victoria to release the company information and my personal information contained in this application to the enforcement agencies that issued the fine(s), the Magistrates’ Court of Victoria, and any person whose evidence is relied on in support of this application.

\r\n

I understand that Fines Victoria may update its records with the contact details provided on this form, and that the company may be contacted regarding its outstanding fines.

\r\n

I declare that the information that I have supplied on this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that it is an offence under the Fines Reform Act 2014 to intentionally provide false or misleading information in a written statement required by or under that Act. I understand that the offence carries a fine in excess of $1900.

\r\n
\r\n );\r\n const ThirdPartyIR: ReactElement = (\r\n
\r\n

I am authorised to act on behalf of the fine holder and they are aware that I am making this application on their behalf.

\r\n

I understand that this is the only internal review for this infringement that I am able to submit under section 22(2) of the Infringements Act 2006.

\r\n

I declare that the information that I have supplied in this form, and any attachments to this form, are true and correct to the best of my knowledge.

\r\n

I understand that by making a false or misleading statement in support of this claim, I may be prosecuted.

\r\n
\r\n );\r\n const ThirdPartyER: ReactElement = (\r\n
\r\n

I declare that the fineholder is aware that I am making this application on their behalf, and I am authorised to act on their behalf.

\r\n

I have informed the applicant that:

\r\n
    \r\n
  • \r\n

    their personal information may be disclosed to the enforcement agencies that issued the fine(s) and the Magistrates’ Court and any person whose evidence is relied on in support of this application, and

    \r\n
  • \r\n
  • \r\n

    Fines Victoria may update its records with their contact details provided on this form, and that they may be contacted regarding any outstanding fines.

    \r\n
  • \r\n
\r\n

I declare that the information that I have supplied on this form, and any attachments to this form, is true and correct to the best of my knowledge, and

\r\n

I understand that it is an offence under the Fines Reform Act 2014 to intentionally provide false or misleading information in a written statement required by or under that Act. I understand that the offence carries a fine in excess of $1900.

\r\n
\r\n );\r\n\r\n useEffect(() => {\r\n if (values.isDebtorTypeIndividual) {\r\n if (values.isInternalReviewStage) {\r\n setDeclarationMsg(IndividualIR);\r\n }\r\n if (values.isEnforcementReviewStage) {\r\n setDeclarationMsg(IndividualER);\r\n }\r\n }\r\n if (values.isDebtorTypeCompany) {\r\n if (values.isInternalReviewStage) {\r\n setDeclarationMsg(CompanyIR);\r\n }\r\n if (values.isEnforcementReviewStage) {\r\n setDeclarationMsg(CompanyER);\r\n }\r\n }\r\n if (values.isThirdPartyAuthorised) {\r\n if (values.isInternalReviewStage) {\r\n setDeclarationMsg(ThirdPartyIR);\r\n }\r\n if (values.isEnforcementReviewStage) {\r\n setDeclarationMsg(ThirdPartyER);\r\n }\r\n }\r\n }, []);\r\n return (\r\n <>\r\n
Declaration
\r\n
{declarationMsg}
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ReviewStep14;\r\n","import { ReactElement, useState, useEffect } from 'react';\r\nimport { Field, useFormikContext } from 'formik';\r\nimport { Alert, TileRadioAccessible } from '@components';\r\nimport FormSubmissionSuccessAlertContent from '@components/Content/AlertContent/FormSubmissionSuccessAlertContent';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport { navToError } from '@utils/Navigation';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\n\r\nimport DoneIcon from '../../../../images/done.svg';\r\nimport InfoIcon from '../../../../images/info.svg';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nfunction ReviewStep15(): ReactElement {\r\n const { values }: { values: iReviewFormValues } = useFormikContext();\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const currentDomain = window.location.origin;\r\n const currentFormName = 'Review'; // due to DB limitation only 20 chars allowed\r\n const [referenceID, setreferenceID] = useState('00000000-0000-0000-0000-000000000000');\r\n const [surveyUrl, setSurveyUrl] = useState(`${currentDomain}/survey?Source=${currentFormName}&Id=${referenceID}`);\r\n const [feedbackOptions, setFeedbackOptions] = useState({});\r\n const isSpecialCircumstance = values.selectTheOption.includes('SelectedGroundInfo4');\r\n // eslint-disable-next-line no-nested-ternary\r\n const emailAddress = (values.isThirdPartyAuthorised && !values.YesNoEmailYourDetailsThirdParty && ((isSpecialCircumstance && values.ReceiveApplicationViaEmailYourDetailsThirdParty === 'true') || !isSpecialCircumstance)) ? values.EmailYourDetailsThirdParty : ((values.isDebtorTypeIndividual && !values.YesNoEmailYourDetailsIndividual && ((isSpecialCircumstance && values.ReceiveApplicationViaEmailYourDetailsIndividual === 'true') || !isSpecialCircumstance)) ? values.EmailYourDetailsIndividual : ((values.isDebtorTypeCompany && !values.YesNoEmailYourDetailsCompany) ? values.EmailYourDetailsCompany : ''));\r\n let pageLoad = 0;\r\n const sendEmailCopy = emailAddress !== '' ? 'true' : 'false';\r\n const submissionNumber = values.submissionNo!;\r\n const DifficultMessage = (): ReactElement => (\r\n // TODO - Connect to Sitecore to make this content manageable.\r\n <>\r\n \r\n How can we improve? Would you like to\r\n {' '}\r\n \r\n take a survey\r\n \r\n {' '}\r\n ?\r\n \r\n \r\n );\r\n const getKeyByValue = (object: {[key: string]: string}, value: string) => Object.entries(object).find(([, v]) => v === value)?.[0];\r\n const TILE_DATA: tile[] = feedbackOptions\r\n ? Object.values(feedbackOptions).map((option) => ({\r\n body: <>
{option as string}
,\r\n value: (option as string),\r\n }))\r\n : [];\r\n\r\n const WhatWillHappenNextMessage = (\r\n <>\r\n

Your review may take some time to process. While this happens, your fine(s) will be put on hold.

\r\n
\r\n

Once a decision has been made, you will receive a notification in the post with the outcome.

\r\n
\r\n

\r\n Quote your obligation number\r\n {' '}\r\n {values.OBLIGATION_NUMBER}\r\n {' '}\r\n if you need to get in touch with us.\r\n

\r\n \r\n );\r\n useEffect(() => {\r\n if (!submissionNumber) navToError(navigate, location);\r\n }, []);\r\n\r\n useEffect(() => {\r\n async function fetchData() {\r\n const feedbackOptionID = feedbackOptions ? getKeyByValue(feedbackOptions, values.FormExperience) : '{00000000-0000-0000-0000-0000000000}';\r\n try {\r\n const currentDT = new Date().toISOString();\r\n const response = await fetch(`${API_URL}sitecore/Feedback/UpdateFeedbackForm`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({\r\n ReferenceId: referenceID,\r\n Source: currentFormName,\r\n Date: currentDT,\r\n SitecoreItemId: feedbackOptionID,\r\n Value: values.FormExperience,\r\n IsSurveyCompleted: false\r\n })\r\n });\r\n const data = await response.json();\r\n const referenceIdRes = data;\r\n // Update the message state with the API response\r\n setreferenceID(referenceIdRes);\r\n setSurveyUrl(`${currentDomain}/survey?Source=${currentFormName}&Id=${referenceIdRes}`);\r\n } catch (error) {\r\n console.log('Error fetching data:', error);\r\n }\r\n }\r\n async function fetchOptions() {\r\n try {\r\n const response = await fetch(`${API_URL}sitecore/Feedback/getFeedbackOptions`, {\r\n method: 'GET',\r\n });\r\n const data = await response.json();\r\n const parsedData = JSON.parse(data);\r\n setFeedbackOptions(parsedData);\r\n } catch (error) {\r\n console.log('Error fetching data:', error);\r\n }\r\n }\r\n if (Object.keys(feedbackOptions).length === 0 && feedbackOptions.constructor === Object && pageLoad === 0) {\r\n fetchOptions();\r\n pageLoad += 1;\r\n }\r\n if (values.FormExperience !== undefined && values.FormExperience !== '') {\r\n fetchData();\r\n }\r\n }, [values.FormExperience]);\r\n return (\r\n
\r\n Your application has been successfully submitted\r\n }\r\n icon={DoneIcon}\r\n theme=\"success\"\r\n color=\"green\"\r\n />\r\n \r\n \r\n {values.FormExperience === 'Difficult'\r\n && (\r\n <>\r\n }\r\n icon={InfoIcon}\r\n theme=\"info2\"\r\n />\r\n \r\n )}\r\n {(values.FormExperience && values.FormExperience !== 'Difficult')\r\n && (\r\n <>\r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default ReviewStep15;\r\n","import React, { ReactElement } from 'react';\r\nimport { ErrorPage } from '@components';\r\nimport { useFormikContext } from 'formik';\r\nimport { iReviewFormValues } from '@services/ReviewService';\r\n\r\nfunction ReviewErrorPage(): ReactElement {\r\n const { values }: { values: iReviewFormValues } = useFormikContext();\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ReviewErrorPage;\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { ReactElement, useEffect, useRef, useState } from 'react';\r\nimport { Form, Formik, FormikContext, FormikProps, getIn } from 'formik';\r\nimport FormContainer from '@pages/FormContainer';\r\nimport ReactGA from 'react-ga';\r\nimport { defaultForm, ReviewMetaData, ReviewSchema, iReviewFormValues, getSubmissionPayload } from '@services/ReviewService';\r\nimport { FormNavFooter, FormLoading, Alert, ProgressBar } from '@components/index';\r\nimport { Route, Routes, useLocation, useNavigate } from 'react-router-dom';\r\nimport { FormType } from '@constants';\r\nimport { iToolTips, iCountry, iApiError, iFormNavActions, iPartialFormData } from '@interfaces/interfaces';\r\n\r\nimport { getDateForValidateDebtor, getStringIndex, navigateToNextStep, setCurrentFormikValues, setFormDataValues, bytesToMBSize, navToError } from '@utils';\r\n\r\nimport ErrorContent from '@components/Content/AlertContent/ErrorContent';\r\nimport { getBasicInfo, getCountryList, getPartialForm, getTooltips, getValidFilesConfig, submitSavedPartialForm, savePartialForm, getObligationOptions } from '@api/index';\r\n\r\nimport VicFinesContext from '../VicFinesFormContext';\r\nimport { ReviewStep0, ReviewStep1, ReviewStep2, ReviewStep3, ReviewStep4, ReviewStep5, ReviewStep6, ReviewStep7, ReviewStep9, ReviewStep10, ReviewStep13, ReviewStep14, ReviewStep8, ReviewStep11, ReviewStep12, ReviewStep15, ReviewErrorPage } from '.';\r\nimport IssueIcon from '../../../images/issue.svg';\r\n\r\nconst {\r\n REACT_APP_SITECORE_API_ENDPOINT: API_URL,\r\n REACT_APP_PATH_REVIEW: PATH_REVIEW,\r\n} = process.env;\r\n\r\nfunction Review(): ReactElement {\r\n const formikValuesRef = useRef({} as FormikProps);\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const pathElementArray = location.pathname.split('/');\r\n const stepIndex = getStringIndex(pathElementArray, 'step');\r\n const stepIndexDiff = stepIndex - pathElementArray.length;\r\n // example returned [step0,3224242] or [step0]\r\n const stepArray = pathElementArray.slice(stepIndexDiff);\r\n // example returned 0\r\n const stepIndexInPath = getStringIndex(stepArray, 'step');\r\n // always get the element contain step like step0\r\n const getStepInPath = stepArray[stepIndexInPath];\r\n const pathNameLessLastSegment = stepIndex ? location.pathname.split('/').slice(0, stepIndexDiff).join('/') : location.pathname;\r\n\r\n const currentStep = location.pathname === `${PATH_REVIEW}` || location.pathname === `${PATH_REVIEW}/` ? 'step0' : `${getStepInPath}`;\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [countryList, setCountryList] = useState([]);\r\n const [tooltips, setTooltips] = useState({} as iToolTips);\r\n const [apiError, setApiError] = useState({} as iApiError);\r\n const [activeError, setActiveError] = useState(false);\r\n\r\n const partialFormAttachmentFields = [\r\n 'StatementAndEvidence',\r\n 'Obligations',\r\n 'selectTheOption',\r\n 'reviewGroundsList',\r\n 'selectTheSpecialOption',\r\n 'EligibleObligations',\r\n 'SelectedObligationsStep11',\r\n 'SelectedObligationsStep12'\r\n ];\r\n const arrayFieldsToBeCleared = [\r\n 'ActionsTakenOnFine',\r\n 'obligations',\r\n 'infringementFineArray',\r\n 'enteredObligationsArray',\r\n 'InfringementNums',\r\n 'AgencyNames',\r\n 'AOffence',\r\n 'DAOffence',\r\n ];\r\n\r\n useEffect(() => {\r\n const fetchData = async (): Promise => {\r\n try {\r\n const [countryResults, tooltipResults] = await Promise.all([getCountryList(), getTooltips('fines.ReviewForm')]);\r\n setCountryList(countryResults);\r\n setTooltips(tooltipResults);\r\n setLoading(false);\r\n } catch (error) {\r\n navToError(navigate, location);\r\n }\r\n };\r\n fetchData();\r\n const handlePopstate = () => {\r\n const isSubmitted = formikValuesRef.current && formikValuesRef.current.values ? formikValuesRef.current.values?.submitted : false;\r\n\r\n if (window.location.pathname === '/Request-a-review/Review-Form/step14' || isSubmitted) {\r\n navigate({\r\n pathname: '/Request-a-review/Review-Form/step15',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/Request-a-review/Review-Form/step2') && !isSubmitted) {\r\n navigate({\r\n pathname: '/Request-a-review/Review-Form/step3',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/Request-a-review/Review-Form/step4') && !isSubmitted && formikValuesRef.current.values.SaveYesNo === 'true') {\r\n navigate({\r\n pathname: '/Request-a-review/Review-Form/step5',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/Request-a-review/Review-Form/error') && !isSubmitted) {\r\n navigate({\r\n pathname: '/Request-a-review/Review-Form/error',\r\n search: location.search,\r\n });\r\n }\r\n if ((window.location.pathname === '/Request-a-review/Review-Form/step1') && !isSubmitted && formikValuesRef && formikValuesRef.current) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', '');\r\n formikValuesRef.current.setFieldTouched('OBLIGATION_NUMBER');\r\n formikValuesRef.current.setFieldValue('OFFENCE_DATE', '');\r\n formikValuesRef.current.setFieldValue('DRIVER_LICENCE', '');\r\n }\r\n };\r\n window.addEventListener('popstate', handlePopstate);\r\n // document.addEventListener('keyup', redirectUrl);\r\n return () => {\r\n window.removeEventListener('popstate', handlePopstate);\r\n // document.removeEventListener('keydown', redirectUrl);\r\n };\r\n }, []);\r\n const postObligation = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n // remove whitespaces before and after obligation number\r\n const trimmedObligationNumber = formikContext.values.OBLIGATION_NUMBER.trim();\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', trimmedObligationNumber);\r\n const payload = {\r\n obligationNumber: trimmedObligationNumber,\r\n };\r\n const url = `${API_URL}sitecore/Review/ValidateObligation`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 422 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n const nextPageUrl = `${pathNameLessLastSegment}${'/step2'}`;\r\n if (responseBody.obligationNumber) {\r\n formikValuesRef.current.setFieldValue('OBLIGATION_NUMBER', responseBody.obligationNumber);\r\n }\r\n setApiError({\r\n Error: '',\r\n });\r\n navigate(nextPageUrl);\r\n window.scrollTo(0, 0);\r\n return;\r\n }\r\n navToError(navigate, location);\r\n } catch (error) {\r\n navToError(navigate, location);\r\n }\r\n };\r\n\r\n const resetPFormDataValues = (partialFormApi: any, formikObject: any) => {\r\n if (partialFormApi && formikObject) {\r\n // clone data format like objectkey: [{},{}]\r\n if (\r\n Array.isArray(partialFormApi)\r\n && partialFormApi[0]\r\n && typeof partialFormApi[0] === 'object'\r\n && Array.isArray(formikObject)\r\n && (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n type dynamicObj = {\r\n [key: string]: string;\r\n };\r\n const temp = {} as dynamicObj;\r\n Object.keys(val).forEach((key) => {\r\n temp[key] = val[key];\r\n });\r\n formikObject.push(temp);\r\n });\r\n }\r\n // handle scenario if formikObject is empty array , it's for ObjectKey:[] or string[]\r\n if (\r\n Array.isArray(partialFormApi)\r\n && partialFormApi[0]\r\n && typeof partialFormApi[0] === 'string'\r\n && Array.isArray(formikObject)\r\n && (formikObject.length !== partialFormApi.length || partialFormApi.length === 0)\r\n ) {\r\n partialFormApi.forEach((val) => {\r\n formikObject.push(val);\r\n });\r\n }\r\n if (partialFormApi && formikObject) {\r\n Object.keys(partialFormApi).forEach((key) => {\r\n if (key in formikObject) {\r\n if (typeof partialFormApi[key] === 'object' && !(partialFormApi[key] instanceof Date)) {\r\n if (partialFormAttachmentFields.includes(key) || arrayFieldsToBeCleared.includes(key)) {\r\n // eslint-disable-next-line no-param-reassign\r\n formikObject[key] = [];\r\n }\r\n resetPFormDataValues(partialFormApi[key], formikObject[key]);\r\n } else {\r\n // eslint-disable-next-line no-param-reassign\r\n formikObject[key] = partialFormApi[key];\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n const createPartialForm = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formikContext.values.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: formikContext.values.saveEmail,\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ a: '1', ...formikContext.values.FormData }),\r\n FormTypeID: 4,\r\n ID: 0,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n Mobile: formikContext.values.saveMobile,\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 200) {\r\n if (responseBody.ID) {\r\n formikValuesRef.current.setFieldValue('PartialFormID', responseBody.ID);\r\n formikValuesRef.current.setFieldValue('Obligations', responseBody.Obligations);\r\n }\r\n if (formikContext.values.isDebtorTypeCompany) {\r\n // go to step 6\r\n navigate(`${pathNameLessLastSegment}/step6`);\r\n } else {\r\n navigateToNextStep(navigate, location, 'next');\r\n }\r\n return;\r\n }\r\n navToError(navigate, location);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const updatePartialFormData = async (formikContext: any): Promise => {\r\n const { values } = formikContext;\r\n resetPFormDataValues(values, formikContext.values.FormData);\r\n const partialformPayload: iPartialFormData = {\r\n ID: formikContext.values.PartialFormID,\r\n Obligations: formikContext.values.Obligations,\r\n Attachments: [],\r\n FormData: JSON.stringify(formikContext.values.FormData), // {a: '1'},formikContext.values.FormData\r\n DebtorID: formikContext.values.DebtorID,\r\n FormTypeID: 4,\r\n Email: formikContext.values.saveEmail,\r\n Mobile: formikContext.values.saveMobile,\r\n IsSubscribedEM: !!formikContext.values.saveEmail,\r\n IsSubscribedSMS: !!formikContext.values.saveMobile,\r\n EMRemeinderSent: formikContext.values.EMRemeinderSent,\r\n SMSRemeinderSent: formikContext.values.SMSRemeinderSent,\r\n CreateDate: formikContext.values.CreateDate,\r\n ExpiryDate: formikContext.values.ExpiryDate,\r\n };\r\n try {\r\n const response = await savePartialForm(partialformPayload);\r\n if (!response) {\r\n navToError(navigate, location);\r\n return false;\r\n }\r\n return response;\r\n } catch (error) {\r\n console.log(error);\r\n navToError(navigate, location);\r\n return false;\r\n }\r\n };\r\n\r\n const step2NextPage = () => {\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step3NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.CanSave && formikContext.values.SaveYesNo !== 'true' && !formikContext.values.CheckAndConfirmPageLoaded) {\r\n navigateToNextStep(navigate, location, 'next');\r\n window.scrollTo(0, 0);\r\n } else if (formikContext.values.isDebtorTypeIndividual) {\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n window.scrollTo(0, 0);\r\n } else {\r\n navigate(`${pathNameLessLastSegment}/step6`);\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const step4NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'false' || getIn(formikContext.values, 'PartialFormID')) {\r\n if (formikContext.values.isDebtorTypeCompany) {\r\n // go to step 6\r\n navigate(`${pathNameLessLastSegment}/step6`);\r\n } else {\r\n navigateToNextStep(navigate, location, 'next');\r\n }\r\n return;\r\n }\r\n createPartialForm(formikContext);\r\n };\r\n\r\n const saveAndContinue = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigateToNextStep(navigate, location, 'next');\r\n };\r\n\r\n const step6NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n if (formikContext.values.selectTheOption.includes('SelectedGroundInfo4')) navigateToNextStep(navigate, location, 'next');\r\n else navigate(`${pathNameLessLastSegment}/step8`);\r\n };\r\n\r\n const step8NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n if (formikContext.values.isThirdPartyAuthorised) navigateToNextStep(navigate, location, 'next');\r\n else navigate(`${pathNameLessLastSegment}/step10`);\r\n };\r\n\r\n const step10NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n if (formikContext.values.isThirdPartyAuthorised || formikContext.values.isDebtorTypeCompany) navigate(`${pathNameLessLastSegment}/step12`);\r\n else navigateToNextStep(navigate, location, 'next');\r\n };\r\n const step11NextPage = (\r\n formikContext: any\r\n ) => {\r\n window.scrollTo(0, 0);\r\n if (formikContext.values.SaveYesNo === 'true') {\r\n updatePartialFormData(formikContext);\r\n }\r\n navigate(`${pathNameLessLastSegment}/step13`);\r\n };\r\n\r\n const getBasicInformation = async (formikContext: any): Promise => {\r\n getBasicInfo(formikContext.values.OBLIGATION_NUMBER, FormType.REVIEW).then((responseBody) => {\r\n if (responseBody) {\r\n formikContext.setFieldValue('ObligationStatus', responseBody.ObligationStatus);\r\n formikContext.setFieldValue('TicketType', responseBody.TicketType);\r\n formikContext.setFieldValue('Status', responseBody.Status);\r\n formikContext.setFieldValue('DebtorType', responseBody.DebtorType);\r\n formikContext.setFieldValue('isPUEligible', responseBody.ValidForPersonUnaware);\r\n if (responseBody.DebtorType === 'Individual') {\r\n formikContext.setFieldValue('isDebtorTypeIndividual', true);\r\n }\r\n if (responseBody.DebtorType === 'Company') {\r\n formikContext.setFieldValue('isDebtorTypeCompany', true);\r\n }\r\n formikContext.setFieldValue('OffenceCode', responseBody.OffenceCode);\r\n formikContext.setFieldValue('isNominatable', responseBody.IsNominated);\r\n\r\n if (responseBody.FineStage === 'InternalReview') {\r\n formikContext.setFieldValue('isInternalReviewStage', true);\r\n formikContext.setFieldValue('isEnforcementReviewStage', false);\r\n } else if (responseBody.FineStage === 'EnforcementReview') {\r\n formikContext.setFieldValue('isEnforcementReviewStage', true);\r\n formikContext.setFieldValue('isInternalReviewStage', false);\r\n }\r\n // Navigation from step 2\r\n if (formikValuesRef.current.values.SaveYesNo === 'true') {\r\n if (responseBody.DebtorType === 'Individual') {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n } else {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step6`);\r\n }\r\n } else if (responseBody.FineStage === 'EnforcementReview' || (responseBody.FineStage === 'InternalReview' && responseBody.DebtorType === 'Individual' && (responseBody.IsNominated || responseBody.Status === 'PenaltyReminder'))) {\r\n setLoading(false);\r\n step2NextPage();\r\n } else if (formikValuesRef.current.values.CanSave) {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step4`);\r\n } else if (responseBody.DebtorType === 'Individual') {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step5`);\r\n } else {\r\n setLoading(false);\r\n navigate(`${pathNameLessLastSegment}/step6`);\r\n }\r\n }\r\n });\r\n };\r\n\r\n const checkExistingForm = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n const payload = {\r\n ObligationNO: formikContext.values.OBLIGATION_NUMBER,\r\n formType: 'Reviews',\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CheckingExistingForm`;\r\n\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n if (responseBody.PartialFormID) formikValuesRef.current.setFieldValue('PartialFormID', responseBody.PartialFormID);\r\n if (responseBody.DebtorID) formikValuesRef.current.setFieldValue('DebtorID', responseBody.DebtorID, formikContext);\r\n if (responseBody.CanSave) formikValuesRef.current.setFieldValue('CanSave', responseBody.CanSave, formikContext);\r\n if (responseBody.CheckingExisting) {\r\n if (responseBody.CheckingExisting === 'yes') {\r\n formikValuesRef.current.setFieldValue('SaveYesNo', 'true', formikContext);\r\n }\r\n }\r\n if (responseBody.PartialFormID) {\r\n getPartialForm(responseBody.PartialFormID)\r\n .then((resBody) => {\r\n if (typeof resBody === 'string') {\r\n if (resBody === 'Unauthorised') {\r\n navToError(navigate, location);\r\n }\r\n } else {\r\n const formData = JSON.parse(resBody.FormData);\r\n const keys = Object.keys(resBody);\r\n keys.forEach((key) => {\r\n if (key === 'FormData') {\r\n setFormDataValues(formData, formikValuesRef.current.values.FormData, formikValuesRef, 'FormData');\r\n setCurrentFormikValues(formData, formikValuesRef.current.values, formikValuesRef);\r\n } else if (resBody[key]) {\r\n formikContext.setFieldValue(`${key}`, resBody[key]);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => console.log(e));\r\n }\r\n window.scrollTo(0, 0);\r\n }\r\n } catch (error) {\r\n navToError(navigate, location);\r\n }\r\n };\r\n const getObOptions = async (formikContext: any) => {\r\n getObligationOptions(formikContext.values.OBLIGATION_NUMBER, FormType.REVIEW)\r\n .then((responseBody) => {\r\n if (responseBody && responseBody?.Authorised) {\r\n formikContext.setFieldValue('OBLIGATION_NUMBER', responseBody?.Authorised.Number);\r\n formikContext.setFieldValue('InfringementNoticeNumber', responseBody?.Authorised.InfringementNumber);\r\n }\r\n }).catch((e) => navToError(navigate, location));\r\n };\r\n\r\n const validateDebtor = async (formikContext: any): Promise => {\r\n setLoading(true);\r\n // Backend api is checking date time for some reasons, time need to be 14:00:00\r\n const getOffenceDate = formikContext.values.OFFENCE_DATE && getDateForValidateDebtor(formikContext.values.OFFENCE_DATE.toLocaleDateString('en-AU'));\r\n const getHearingDate = formikContext.values.HEARING_DATE && getDateForValidateDebtor(formikContext.values.HEARING_DATE.toLocaleDateString('en-AU'));\r\n const getDOBDate = formikContext.values.DOB && getDateForValidateDebtor(formikContext.values.DOB.toLocaleDateString('en-AU'));\r\n // const dateObj = getTheDate.split('/');\r\n // const specificedDateString = `${dateObj[2]}-${dateObj[1]}-${dateObj[0]}`;\r\n const payload = {\r\n dateOfBirth: getDOBDate,\r\n hearingDate: getHearingDate,\r\n licenceNumber: formikContext.values.DRIVER_LICENCE,\r\n obligationNumber: formikContext.values.OBLIGATION_NUMBER,\r\n offenceDate: getOffenceDate,\r\n registrationNumber: formikContext.values.VEHICLE_REGISTRATION,\r\n };\r\n const url = `${API_URL}sitecore/Review/ValidateDebtor`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n setLoading(false);\r\n if (response.status === 400 && responseBody.Error) {\r\n setApiError(responseBody);\r\n return;\r\n }\r\n if (response.status === 200) {\r\n setApiError({\r\n Error: '',\r\n });\r\n // if (responseBody === '/step4') {\r\n // step2NextPage();\r\n // }\r\n }\r\n } catch (error) {\r\n navToError(navigate, location);\r\n }\r\n getObOptions(formikContext);\r\n await checkExistingForm(formikContext);\r\n getBasicInformation(formikContext);\r\n };\r\n\r\n const formNavActions: iFormNavActions = {\r\n step1: {\r\n next: postObligation,\r\n },\r\n step2: {\r\n next: validateDebtor,\r\n },\r\n step3: {\r\n next: step3NextPage,\r\n },\r\n step4: {\r\n next: step4NextPage,\r\n },\r\n step5: {\r\n next: saveAndContinue,\r\n },\r\n step6: {\r\n next: step6NextPage,\r\n },\r\n step7: {\r\n next: saveAndContinue,\r\n },\r\n step8: {\r\n next: step8NextPage,\r\n },\r\n step9: {\r\n next: saveAndContinue,\r\n },\r\n step10: {\r\n next: step10NextPage,\r\n },\r\n step11: {\r\n next: step11NextPage,\r\n },\r\n step12: {\r\n next: saveAndContinue,\r\n },\r\n step13: {\r\n next: saveAndContinue,\r\n }\r\n };\r\n\r\n const clearApiError = () => {\r\n setApiError({\r\n Error: '',\r\n });\r\n };\r\n\r\n const displayErrorsCount = (errorCount: number, touchedFields: number): void => {\r\n if (touchedFields === 0) {\r\n setActiveError(true);\r\n } else if (errorCount > 0) {\r\n setActiveError(true);\r\n } else {\r\n setActiveError(false);\r\n }\r\n };\r\n const createPartialFormForSumbit = async (formValues: iReviewFormValues): Promise => {\r\n formikValuesRef.current.setFieldValue('SaveYesNo', 'true');\r\n resetPFormDataValues(formikValuesRef.current.values, formValues.FormData);\r\n const payload = {\r\n Attachments: '',\r\n CreateDate: '',\r\n DebtorID: `${formValues.DebtorID}`,\r\n EMRemeinderSent: false,\r\n Email: '',\r\n ExpiryDate: '',\r\n FormData: JSON.stringify({ ...formValues.FormData, SaveYesNo: 'true' }),\r\n FormTypeID: 4,\r\n ID: 0,\r\n IsSubscribedEM: false,\r\n IsSubscribedSMS: false,\r\n Mobile: '',\r\n Obligations: [\r\n {\r\n ID: 0,\r\n ObligationNO: formValues.OBLIGATION_NUMBER,\r\n IsPrimary: true,\r\n },\r\n ],\r\n SMSRemeinderSent: false,\r\n };\r\n const url = `${API_URL}sitecore/PartialForms/CreatePartialForm`;\r\n let response: any;\r\n try {\r\n response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (responseBody.status === 200) {\r\n return 'true';\r\n }\r\n return responseBody;\r\n } catch (error) {\r\n return `${error}`;\r\n }\r\n };\r\n const getReviewSubmissionEndpoint = (formValues: iReviewFormValues): string => {\r\n if (formValues.isInternalReviewStage) {\r\n return 'SubmitInternalReviewInfringement';\r\n }\r\n if (formValues.isEnforcementReviewStage && formValues.isDebtorTypeIndividual && !formValues.isThirdPartyAuthorised) {\r\n return 'SubmitEnforcementIndividual';\r\n }\r\n if (formValues.isEnforcementReviewStage && formValues.isDebtorTypeCompany) {\r\n return 'SubmitEnforcementCompany';\r\n }\r\n if (formValues.isEnforcementReviewStage && formValues.isThirdPartyAuthorised) {\r\n return 'SubmitEnforcementThirdParty';\r\n }\r\n return '';\r\n };\r\n\r\n const submitForm = async (formValues: iReviewFormValues): Promise => {\r\n const submissionNumber = '007';\r\n const formSubmissionValues = getSubmissionPayload(formValues, submissionNumber);\r\n const submitPayload = {\r\n data: JSON.stringify(formSubmissionValues),\r\n obligationNo: formValues.OBLIGATION_NUMBER\r\n };\r\n\r\n const urlSubmission = `${API_URL}sitecore/Review/${getReviewSubmissionEndpoint(formValues)}`;\r\n let submitResponse = false;\r\n setLoading(true);\r\n submitResponse = await fetch(urlSubmission, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(submitPayload),\r\n })\r\n .then((formSubResponse) => {\r\n if (formSubResponse.status === 200) {\r\n if (formValues.SaveYesNo === 'true') {\r\n // having partial form, close it\r\n submitSavedPartialForm(formValues.PartialFormID);\r\n }\r\n formikValuesRef.current.setFieldValue('submitted', true);\r\n ReactGA.event({\r\n category: 'Review Form',\r\n action: 'Submit',\r\n label: 'Review Form',\r\n });\r\n // navigate to submission success\r\n return formSubResponse.json();\r\n }\r\n formikValuesRef.current.setFieldValue('submissionError', formSubResponse.statusText);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }).then((response) => {\r\n if (response) {\r\n if (response.receiptNo) {\r\n formikValuesRef.current.setFieldValue('submissionNo', response.receiptNo); // get submission number from API response\r\n return true;\r\n }\r\n navToError(navigate, location);\r\n return false;\r\n }\r\n return false;\r\n }).catch((error) => {\r\n formikValuesRef.current.setFieldValue('submissionError', error);\r\n if (formValues.SaveYesNo === 'false') {\r\n createPartialFormForSumbit(formValues);\r\n }\r\n console.log(error);\r\n navToError(navigate, location);\r\n return false;\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n if (!submitResponse) return false;\r\n return true;\r\n };\r\n return (\r\n {\r\n submitForm(values);\r\n }}>\r\n {({ values }) => (\r\n \r\n \r\n {loading && }\r\n {!loading && (\r\n
\r\n \r\n {activeError && } theme=\"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\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n \r\n\r\n {!(location.pathname === `${PATH_REVIEW}/step15` || location.pathname === `${PATH_REVIEW}/error`) && (\r\n submitForm(values)}\r\n tooltips={tooltips}\r\n displayErrorsCount={displayErrorsCount}\r\n pageValidationKeys={ReviewMetaData.pagesSegments[currentStep].validationKeys(values)}\r\n formType={FormType.REVIEW}\r\n firstPageNo={0}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default Review;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"ExpandableRow_offenceDetails__2cVp9\",\"iconButton\":\"ExpandableRow_iconButton__3oaxu\",\"iconClicked\":\"ExpandableRow_iconClicked__2EYIC\",\"iconInitiated\":\"ExpandableRow_iconInitiated__3x4yi\",\"detailValues\":\"ExpandableRow_detailValues__3unUq\",\"secondCol\":\"ExpandableRow_secondCol__1QvC6\",\"thirdCol\":\"ExpandableRow_thirdCol__2dHcj\",\"fourthCol\":\"ExpandableRow_fourthCol__1uSnd\",\"fifthCol\":\"ExpandableRow_fifthCol__Ol09R\",\"checkBoxContainer\":\"ExpandableRow_checkBoxContainer__3aIrQ\",\"inputContainer\":\"ExpandableRow_inputContainer__FOY9s\",\"inputBody\":\"ExpandableRow_inputBody___pYWe\",\"tickContainer\":\"ExpandableRow_tickContainer__4UxF4\",\"inputError\":\"ExpandableRow_inputError__vmQdp\",\"tickContainerChecked\":\"ExpandableRow_tickContainerChecked__3Dowk\",\"inputContainerDisabled\":\"ExpandableRow_inputContainerDisabled__1GkRB\",\"obligationNumber\":\"ExpandableRow_obligationNumber__2OveR\",\"detailTable\":\"ExpandableRow_detailTable__uK0Xd\",\"divPadding\":\"ExpandableRow_divPadding__2RswP\",\"offenceTable\":\"ExpandableRow_offenceTable__2_Nl5\",\"onlyMobileRows\":\"ExpandableRow_onlyMobileRows__2vB0K\",\"uppcaseText\":\"ExpandableRow_uppcaseText__1X-1M\",\"capitalisedText\":\"ExpandableRow_capitalisedText__15l4x\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"boxheight\":\"CourtStep1_boxheight__20aBZ\",\"contactLink\":\"CourtStep1_contactLink__3txAr\",\"bold\":\"CourtStep1_bold__rUWWc\",\"btnFooter\":\"CourtStep1_btnFooter__dbRX4\",\"bitmapSection\":\"CourtStep1_bitmapSection__3oUSq\",\"bitmapTitle\":\"CourtStep1_bitmapTitle__1Jk6k\",\"bitmapImage\":\"CourtStep1_bitmapImage__DLDmq\",\"image\":\"CourtStep1_image__3QD-t\",\"sectionTitle\":\"CourtStep1_sectionTitle__LGglm\",\"sectionDescription\":\"CourtStep1_sectionDescription__12K-Z\",\"accordionContent\":\"CourtStep1_accordionContent__3qKc2\",\"caption\":\"CourtStep1_caption__ucWYu\",\"accordionImage\":\"CourtStep1_accordionImage__39dqa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"boxheight\":\"ExtensionStep1_boxheight__VQjzA\",\"contactLink\":\"ExtensionStep1_contactLink__3BC89\",\"bold\":\"ExtensionStep1_bold__1jaMh\",\"btnFooter\":\"ExtensionStep1_btnFooter__1L4r_\",\"bitmapSection\":\"ExtensionStep1_bitmapSection__33q1-\",\"bitmapTitle\":\"ExtensionStep1_bitmapTitle__3JyqO\",\"bitmapImage\":\"ExtensionStep1_bitmapImage__2XyvP\",\"image\":\"ExtensionStep1_image__3-Qt6\",\"sectionTitle\":\"ExtensionStep1_sectionTitle__2_rX4\",\"sectionDescription\":\"ExtensionStep1_sectionDescription__3LyFV\",\"accordionContent\":\"ExtensionStep1_accordionContent__Ed4OD\",\"caption\":\"ExtensionStep1_caption___0YVt\",\"accordionImage\":\"ExtensionStep1_accordionImage__1833s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"boxheight\":\"FVSStep1_boxheight__1qOtE\",\"contactLink\":\"FVSStep1_contactLink__38_Ou\",\"bold\":\"FVSStep1_bold__2gGF2\",\"btnFooter\":\"FVSStep1_btnFooter__3f_LH\",\"bitmapSection\":\"FVSStep1_bitmapSection__1Ao9d\",\"bitmapTitle\":\"FVSStep1_bitmapTitle__18Nil\",\"bitmapImage\":\"FVSStep1_bitmapImage__3Y9FI\",\"image\":\"FVSStep1_image__1dnQT\",\"sectionTitle\":\"FVSStep1_sectionTitle__1Bkjd\",\"sectionDescription\":\"FVSStep1_sectionDescription__2H1pB\",\"accordionContent\":\"FVSStep1_accordionContent__2mRd9\",\"caption\":\"FVSStep1_caption__25-sW\",\"accordionImage\":\"FVSStep1_accordionImage__1sj08\",\"vfH4\":\"FVSStep1_vfH4__3NQp-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay\":\"Modal_overlay__2OSjC\",\"myModal\":\"Modal_myModal__29iNt\",\"heading\":\"Modal_heading__2GvQ0\",\"title\":\"Modal_title__1NQS_\",\"close\":\"Modal_close__2rO07\",\"closeButton\":\"Modal_closeButton__FScHO\",\"content\":\"Modal_content__3KaPq\",\"modalWithoutTitle\":\"Modal_modalWithoutTitle__2fG3m\",\"contentSimpleWithoutTitle\":\"Modal_contentSimpleWithoutTitle__U90hM\",\"body\":\"Modal_body__BsQSO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"LimitedTextAreaLarge_container__3DmU1\",\"titlePresent\":\"LimitedTextAreaLarge_titlePresent__NCobh\",\"title\":\"LimitedTextAreaLarge_title__3wWJn\",\"titleBold\":\"LimitedTextAreaLarge_titleBold__joZL6\",\"optional\":\"LimitedTextAreaLarge_optional__P8iaW\",\"titleError\":\"LimitedTextAreaLarge_titleError__31cXn\",\"inputContainer\":\"LimitedTextAreaLarge_inputContainer__3Zemj\",\"formInput\":\"LimitedTextAreaLarge_formInput__2qlgs\",\"inputError\":\"LimitedTextAreaLarge_inputError__20ZER\",\"disabled\":\"LimitedTextAreaLarge_disabled__YnvOi\",\"errorMsg\":\"LimitedTextAreaLarge_errorMsg__3z5MZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"ExpandableRow_offenceDetails__1yHlY\",\"iconButton\":\"ExpandableRow_iconButton__26Tyl\",\"iconClicked\":\"ExpandableRow_iconClicked__1vwpR\",\"iconInitiated\":\"ExpandableRow_iconInitiated__3xx1B\",\"detailValues\":\"ExpandableRow_detailValues__3dUAK\",\"secondCol\":\"ExpandableRow_secondCol__qsctW\",\"thirdCol\":\"ExpandableRow_thirdCol__1p9E-\",\"fourthCol\":\"ExpandableRow_fourthCol__2HET0\",\"fifthCol\":\"ExpandableRow_fifthCol__2wwSh\",\"checkBoxContainer\":\"ExpandableRow_checkBoxContainer__1DzVC\",\"inputContainer\":\"ExpandableRow_inputContainer__31KXS\",\"inputBody\":\"ExpandableRow_inputBody__1Etxl\",\"tickContainer\":\"ExpandableRow_tickContainer__1t9VE\",\"inputError\":\"ExpandableRow_inputError__2Ynx9\",\"inputContainerDisabled\":\"ExpandableRow_inputContainerDisabled__1hbg_\",\"obligationNumber\":\"ExpandableRow_obligationNumber__23JoN\",\"detailTable\":\"ExpandableRow_detailTable__2uzkE\",\"divPadding\":\"ExpandableRow_divPadding__2dHk7\",\"offenceTable\":\"ExpandableRow_offenceTable__2S0xm\",\"onlyMobileRows\":\"ExpandableRow_onlyMobileRows__2C9ka\",\"uppcaseText\":\"ExpandableRow_uppcaseText__3-M-D\",\"capitalisedText\":\"ExpandableRow_capitalisedText__12oOz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"FilesUpload_container__2lF10\",\"titlePresent\":\"FilesUpload_titlePresent__2GI9F\",\"fileUploadContainer\":\"FilesUpload_fileUploadContainer__2y_cl\",\"uploadIcon\":\"FilesUpload_uploadIcon__6RU3x\",\"dropTitle\":\"FilesUpload_dropTitle__1ciw9\",\"title\":\"FilesUpload_title__3EaXl\",\"titleBold\":\"FilesUpload_titleBold__S5_KX\",\"optional\":\"FilesUpload_optional__3gUMt\",\"titleError\":\"FilesUpload_titleError__10yg7\",\"selectContainer\":\"FilesUpload_selectContainer__2ssus\",\"inputError\":\"FilesUpload_inputError__2nbUJ\",\"arrowIcon\":\"FilesUpload_arrowIcon__17P8C\",\"errorMsg\":\"FilesUpload_errorMsg__1gnrx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"TileRadio_title__UNlyw\",\"titleBold\":\"TileRadio_titleBold__2ZmTx\",\"optional\":\"TileRadio_optional__1u1Cn\",\"titleError\":\"TileRadio_titleError__3HfXV\",\"tileContainer\":\"TileRadio_tileContainer__2pe12\",\"tileItemExpand\":\"TileRadio_tileItemExpand__YfotE\",\"tileItem\":\"TileRadio_tileItem__13C-g\",\"tile\":\"TileRadio_tile__1Jboa\",\"radio\":\"TileRadio_radio__Kz4JC\",\"inputError\":\"TileRadio_inputError__1r7nF\",\"rowBreak\":\"TileRadio_rowBreak__fl0s2\",\"selected\":\"TileRadio_selected__39Gcj\",\"wrapTiles\":\"TileRadio_wrapTiles__2UTwp\",\"orientationRow\":\"TileRadio_orientationRow__1YTgP\",\"orientationRowCollapse\":\"TileRadio_orientationRowCollapse__ZqQvE\",\"orientationColumn\":\"TileRadio_orientationColumn__NZyzy\",\"errorMsg\":\"TileRadio_errorMsg__xLclG\",\"infoCaptionAboveTablet\":\"TileRadio_infoCaptionAboveTablet__18LyP\",\"infoCaptionMobile\":\"TileRadio_infoCaptionMobile__1uvRU\",\"noDisplay\":\"TileRadio_noDisplay__3661B\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"ExpandableRow_offenceDetails__2zZwQ\",\"iconButton\":\"ExpandableRow_iconButton__3equ4\",\"iconClicked\":\"ExpandableRow_iconClicked__1npn1\",\"iconInitiated\":\"ExpandableRow_iconInitiated__3ImNO\",\"detailValues\":\"ExpandableRow_detailValues__u6OpG\",\"secondCol\":\"ExpandableRow_secondCol__2yc0_\",\"thirdCol\":\"ExpandableRow_thirdCol__27oKc\",\"fourthCol\":\"ExpandableRow_fourthCol__2tQ2G\",\"fifthCol\":\"ExpandableRow_fifthCol__e21C8\",\"checkBoxContainer\":\"ExpandableRow_checkBoxContainer__3_oUI\",\"inputContainer\":\"ExpandableRow_inputContainer__3Dimy\",\"inputBody\":\"ExpandableRow_inputBody__3u23N\",\"tickContainer\":\"ExpandableRow_tickContainer__10BNM\",\"inputError\":\"ExpandableRow_inputError__2hF1o\",\"obligationNumber\":\"ExpandableRow_obligationNumber__3LKG2\",\"detailTable\":\"ExpandableRow_detailTable__1wIIT\",\"divPadding\":\"ExpandableRow_divPadding__25b2L\",\"offenceTable\":\"ExpandableRow_offenceTable__2dTzn\",\"onlyMobileRows\":\"ExpandableRow_onlyMobileRows__1ioyN\",\"uppcaseText\":\"ExpandableRow_uppcaseText__1dOx8\",\"capitalisedText\":\"ExpandableRow_capitalisedText__pVLN3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"componentContainer\":\"FormContainer_componentContainer__7OEgb\",\"headerBg\":\"FormContainer_headerBg__2H9WH\",\"header\":\"FormContainer_header__1Uigf\",\"logoContainer\":\"FormContainer_logoContainer__2H9up\",\"title\":\"FormContainer_title__2_isN\",\"vfbuttonContainer\":\"FormContainer_vfbuttonContainer__Jc_lN\",\"vfbutton\":\"FormContainer_vfbutton__oj3V-\",\"tabletAbove\":\"FormContainer_tabletAbove__2x3re\",\"mobile\":\"FormContainer_mobile__VyGmd\",\"hoverTextTop\":\"FormContainer_hoverTextTop__1LEuI\",\"closeIcon\":\"FormContainer_closeIcon__3VQ7n\",\"formContainer\":\"FormContainer_formContainer__2-2ij\",\"formContainerError\":\"FormContainer_formContainerError__bGwFI\",\"formFooter\":\"FormContainer_formFooter__1b_02\",\"linkGroupTitle\":\"FormContainer_linkGroupTitle__1XT-n\",\"footerImage\":\"FormContainer_footerImage__1Dc_B\",\"metainfoContainer\":\"FormContainer_metainfoContainer__2TsHG\",\"linksContainer\":\"FormContainer_linksContainer__YonnY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"LicenceField_container__2-3is\",\"licenceInput\":\"LicenceField_licenceInput__3IaJP\",\"titleBold\":\"LicenceField_titleBold__1O4nt\",\"optional\":\"LicenceField_optional__2Ul86\",\"licenceOptional\":\"LicenceField_licenceOptional__2yaCH\",\"error\":\"LicenceField_error__5pjw2\",\"textBox\":\"LicenceField_textBox__2t70E\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"TextInput_container__eqBOL\",\"titlePresent\":\"TextInput_titlePresent__16l_S\",\"title\":\"TextInput_title__3ObZX\",\"titleBold\":\"TextInput_titleBold__1EsP-\",\"optional\":\"TextInput_optional__1h-si\",\"subtitle\":\"TextInput_subtitle__rR2vN\",\"titleError\":\"TextInput_titleError__2je1m\",\"inputContainer\":\"TextInput_inputContainer__2CqG0\",\"formInput\":\"TextInput_formInput__1VAin\",\"inputLeftPadding\":\"TextInput_inputLeftPadding___56gv\",\"inputError\":\"TextInput_inputError__3UyWv\",\"disabled\":\"TextInput_disabled__3Hz8x\",\"iconContainerStart\":\"TextInput_iconContainerStart__3adX8\",\"iconContainerEnd\":\"TextInput_iconContainerEnd__5rEKm\",\"iconButton\":\"TextInput_iconButton__1GSeG\",\"errorMsg\":\"TextInput_errorMsg__1eynY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fileUploadContainer\":\"FileUploadGroupAccessible_fileUploadContainer__o6ZaF\",\"fileUploadSection\":\"FileUploadGroupAccessible_fileUploadSection__1eCRe\",\"uploadButton\":\"FileUploadGroupAccessible_uploadButton__3XWRS\",\"uploadButtonDis\":\"FileUploadGroupAccessible_uploadButtonDis__azrgg\",\"uploadButtonDiscriptionError\":\"FileUploadGroupAccessible_uploadButtonDiscriptionError__c8mjZ\",\"uploadButtonFileSizeError\":\"FileUploadGroupAccessible_uploadButtonFileSizeError__1hOfu\",\"uploadButtonError\":\"FileUploadGroupAccessible_uploadButtonError__3Zkas\",\"fileUploadSectionError\":\"FileUploadGroupAccessible_fileUploadSectionError__30oMG\",\"uploadFileText\":\"FileUploadGroupAccessible_uploadFileText__oOCIE\",\"dropdownLayout\":\"FileUploadGroupAccessible_dropdownLayout__39myo\",\"dropTitle\":\"FileUploadGroupAccessible_dropTitle__3jIl7\",\"descriptionDiv\":\"FileUploadGroupAccessible_descriptionDiv__2xdZB\",\"middleCol\":\"FileUploadGroupAccessible_middleCol__1uCiG\",\"removeDiv\":\"FileUploadGroupAccessible_removeDiv__2S4mu\",\"remove\":\"FileUploadGroupAccessible_remove__23G7l\",\"FileUploadform\":\"FileUploadGroupAccessible_FileUploadform__KFuj3\",\"gridColFull\":\"FileUploadGroupAccessible_gridColFull__WMWIX\",\"gridColHalf\":\"FileUploadGroupAccessible_gridColHalf__3Qodb\",\"gridColOneQuarter\":\"FileUploadGroupAccessible_gridColOneQuarter__1031J\",\"gridColHalfWithoutFields\":\"FileUploadGroupAccessible_gridColHalfWithoutFields__UCI3o\",\"gridColTwoWithoutFields\":\"FileUploadGroupAccessible_gridColTwoWithoutFields__3atNZ\",\"errorMsg\":\"FileUploadGroupAccessible_errorMsg__2DZaX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"TileRadioAccessible_title__jJAfq\",\"titleBold\":\"TileRadioAccessible_titleBold__t8FiV\",\"optional\":\"TileRadioAccessible_optional__TrfC6\",\"titleError\":\"TileRadioAccessible_titleError__2zPH0\",\"tileContainer\":\"TileRadioAccessible_tileContainer__rdB18\",\"tileItemExpand\":\"TileRadioAccessible_tileItemExpand__3KNaP\",\"tileItem\":\"TileRadioAccessible_tileItem__1uQGV\",\"tile\":\"TileRadioAccessible_tile__2ye_b\",\"radio\":\"TileRadioAccessible_radio__19n9s\",\"inputError\":\"TileRadioAccessible_inputError__1XBRs\",\"rowBreak\":\"TileRadioAccessible_rowBreak__2kXoC\",\"selected\":\"TileRadioAccessible_selected__4AlFg\",\"wrapTiles\":\"TileRadioAccessible_wrapTiles__2BpV7\",\"orientationRow\":\"TileRadioAccessible_orientationRow__2tUZ6\",\"orientationRowCollapse\":\"TileRadioAccessible_orientationRowCollapse__2cQHl\",\"orientationColumn\":\"TileRadioAccessible_orientationColumn__Nif96\",\"errorMsg\":\"TileRadioAccessible_errorMsg__3Pkh2\",\"infoCaptionAboveTablet\":\"TileRadioAccessible_infoCaptionAboveTablet__1rsU_\",\"infoCaptionMobile\":\"TileRadioAccessible_infoCaptionMobile__1g20W\",\"noDisplay\":\"TileRadioAccessible_noDisplay__3cXj4\"};","import { iInitiateData, iAuthorisedFineDescriptions, iBasicInfoResponse, iPaymentArrangementResponse, iEligibleNominationResponse, iValidFileInfo, iNominationGroundsInfo } from '@interfaces/interfaces';\r\n\r\nconst { REACT_APP_SITECORE_API_ENDPOINT: API_URL } = process.env;\r\n\r\nconst mPOST = 'POST';\r\nconst header = {\r\n 'Content-Type': 'application/json',\r\n};\r\n\r\nconst getInitiate = async (obligationNum: string, formType: string): Promise => {\r\n const url = `${API_URL}sitecore/${formType}/Initiate`;\r\n const payload = {\r\n obligationNumber: obligationNum\r\n };\r\n try {\r\n const response = await fetch(url, {\r\n method: mPOST,\r\n headers: header,\r\n body: JSON.stringify(payload),\r\n });\r\n if (response.status !== 200) {\r\n throw new Error(response.toString());\r\n }\r\n const results = await response.json();\r\n return results;\r\n } catch (ex) {\r\n throw new Error('Error in response');\r\n }\r\n};\r\n\r\nconst getObligationOptions = async (obligationNum: string, formType: string): Promise => {\r\n const url = `${API_URL}sitecore/${formType}/GetObligationOptions`;\r\n const payload = {\r\n obligationNumber: obligationNum\r\n };\r\n let response: Response;\r\n try {\r\n response = await fetch(url, {\r\n method: mPOST,\r\n headers: header,\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n return responseBody;\r\n }\r\n return {};\r\n } catch (ex) {\r\n throw new Error('Something wrong in response of Obligation Options!');\r\n }\r\n};\r\n\r\nconst getBasicInfo = async (obligationNum: string, formType: string): Promise => {\r\n const url = `${API_URL}sitecore/${formType}/GetBasicInfo`;\r\n const payload = {\r\n obligationNumber: obligationNum\r\n };\r\n let response: Response;\r\n try {\r\n response = await fetch(url, {\r\n method: mPOST,\r\n headers: header,\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n return responseBody;\r\n }\r\n return {};\r\n } catch (ex) {\r\n throw new Error('Error in Response');\r\n }\r\n};\r\n\r\nconst getPaymentArrangement = async (obligationNum: string[], formType: string): Promise => {\r\n const url = `${API_URL}sitecore/${formType}/GetPaymentArrangement`;\r\n const payload = {\r\n finesList: obligationNum\r\n };\r\n let response: Response;\r\n try {\r\n response = await fetch(url, {\r\n method: mPOST,\r\n headers: header,\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n return responseBody;\r\n }\r\n return {};\r\n } catch (ex) {\r\n throw new Error('Error in GetPaymentArrangement Response');\r\n }\r\n};\r\n\r\nconst getEligibleNominationList = async (obligationNum: string[], formType: string): Promise => {\r\n const url = `${API_URL}sitecore/${formType}/GetEligibleNominationList`;\r\n const payload = {\r\n finesList: obligationNum\r\n };\r\n let response: Response;\r\n try {\r\n response = await fetch(url, {\r\n method: mPOST,\r\n headers: header,\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n return responseBody;\r\n }\r\n return {};\r\n } catch (ex) {\r\n throw new Error('Error in GetEligibleNomination Response');\r\n }\r\n};\r\n\r\nconst uploadFileAWS = async (file: File, obligationNum: string, formType: string): Promise => {\r\n const url = `${API_URL}sitecore/File/Upload`;\r\n if (file) {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n formData.append('obligationNumber', obligationNum);\r\n formData.append('formType', formType);\r\n const response = await fetch(url, {\r\n method: mPOST,\r\n body: formData,\r\n });\r\n const results = await response.json();\r\n return results;\r\n }\r\n return '';\r\n};\r\n\r\nconst getValidFilesConfig = async (): Promise => {\r\n const url = `${API_URL}sitecore/File/GetValidFilesConfig`;\r\n let response: Response;\r\n try {\r\n response = await fetch(url, {\r\n method: 'GET',\r\n headers: header,\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n return responseBody;\r\n }\r\n return {};\r\n } catch (ex) {\r\n throw new Error('Error in Response');\r\n }\r\n};\r\n\r\nconst getGroundsInfo = async (obligationNum: string, formType: string): Promise => {\r\n const url = `${API_URL}sitecore/${formType}/GetGroundsInfo`;\r\n const payload = {\r\n obligationNumber: obligationNum\r\n };\r\n let response: Response;\r\n try {\r\n response = await fetch(url, {\r\n method: mPOST,\r\n headers: header,\r\n body: JSON.stringify(payload),\r\n });\r\n const responseBody = await response.json();\r\n if (response.status === 200) {\r\n return responseBody;\r\n }\r\n return {};\r\n } catch (ex) {\r\n throw new Error('Something wrong in response of Grounds Information!');\r\n }\r\n};\r\nconst validateAbnAsync = async (value: string): Promise => {\r\n const url = `${API_URL}sitecore/PartialForms/ABNLookUp`;\r\n const payload = {\r\n InputNumber: value,\r\n };\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.text())\r\n .then((responseBody) => {\r\n if (responseBody === 'False') {\r\n return 'Please enter a valid ABN';\r\n }\r\n return '';\r\n })\r\n .catch((error) => error);\r\n};\r\n\r\nconst validateAcnAsync = async (value: string): Promise => {\r\n const url = `${API_URL}sitecore/PartialForms/ACNLookUp`;\r\n const payload = {\r\n InputNumber: value,\r\n };\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n })\r\n .then((response) => response.text())\r\n .then((responseBody) => {\r\n if (responseBody === 'False') {\r\n return 'Please enter a valid ACN';\r\n }\r\n return '';\r\n })\r\n .catch((error) => error);\r\n};\r\n\r\nexport { getInitiate, getObligationOptions, getBasicInfo, uploadFileAWS, getPaymentArrangement, getEligibleNominationList, getValidFilesConfig, getGroundsInfo, validateAbnAsync, validateAcnAsync };\r\n","// eslint-disable-next-line import/prefer-default-export\r\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\nexport const getFormPagePath = (path: string, segment: string): string => {\r\n if (path === '/') {\r\n return `/${segment}`;\r\n }\r\n return `${path}/${segment}`;\r\n};\r\n\r\nexport const navigateToError = (): void => {\r\n const paths = window.location.pathname.split('/');\r\n if (paths[paths.length - 1].includes('step')) {\r\n paths[paths.length - 1] = 'error';\r\n }\r\n const navUrl = paths.join('/');\r\n window.location.href = navUrl;\r\n window.scrollTo(0, 0);\r\n};\r\n\r\nexport const navigateToNextStep = (navigate: any, location: any, destination: 'next' | 'previous'): void => {\r\n const pathname = location.pathname.split('/');\r\n if (pathname[pathname.length - 1].includes('step')) {\r\n const lastSegment = pathname[pathname.length - 1];\r\n const currentPageNoRegex = new RegExp('[^(step)]*$');\r\n let nextPage: number;\r\n if (destination === 'next') nextPage = parseInt(lastSegment.match(currentPageNoRegex), 10) + 1;\r\n else nextPage = parseInt(lastSegment.match(currentPageNoRegex), 10) - 1;\r\n pathname[pathname.length - 1] = `step${nextPage}`;\r\n }\r\n const navUrl = pathname.join('/');\r\n if (destination === 'next') {\r\n navigate(navUrl);\r\n window.scrollTo(0, 0);\r\n } else {\r\n navigate(navUrl, { replace: true });\r\n window.scrollTo(0, 0);\r\n }\r\n};\r\nexport const navToError = (navigate: any, location: any): void => {\r\n const paths = location.pathname.split('/');\r\n if (paths[paths.length - 1].includes('step')) {\r\n paths[paths.length - 1] = 'error';\r\n }\r\n const navUrl = paths.join('/');\r\n navigate(navUrl, { replace: true });\r\n window.scrollTo(0, 0);\r\n};\r\n\r\nexport const navigateToSpecificSteps = (navigate: any, location: any, destination: any): void => {\r\n const pathname = location.pathname.split('/');\r\n if (pathname[pathname.length - 1].includes('step')) {\r\n pathname[pathname.length - 1] = `step${destination}`;\r\n }\r\n const navUrl = pathname.join('/');\r\n if (destination) {\r\n navigate(navUrl);\r\n window.scrollTo(0, 0);\r\n }\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fileUploadContainer\":\"FileUploadGroup_fileUploadContainer__BROxa\",\"fileUploadSection\":\"FileUploadGroup_fileUploadSection__mUSPp\",\"uploadButton\":\"FileUploadGroup_uploadButton__WmzvW\",\"uploadButtonDis\":\"FileUploadGroup_uploadButtonDis__3YSqm\",\"uploadButtonDiscriptionError\":\"FileUploadGroup_uploadButtonDiscriptionError__2-BIN\",\"uploadButtonFileSizeError\":\"FileUploadGroup_uploadButtonFileSizeError__27rgG\",\"uploadButtonError\":\"FileUploadGroup_uploadButtonError__3Yxxz\",\"fileUploadSectionError\":\"FileUploadGroup_fileUploadSectionError__QH3XM\",\"uploadFileText\":\"FileUploadGroup_uploadFileText__1C4bx\",\"dropdownLayout\":\"FileUploadGroup_dropdownLayout__3UyZN\",\"dropTitle\":\"FileUploadGroup_dropTitle__3sCrS\",\"descriptionDiv\":\"FileUploadGroup_descriptionDiv__3lSYM\",\"middleCol\":\"FileUploadGroup_middleCol__2PwsT\",\"removeDiv\":\"FileUploadGroup_removeDiv__Ub0Gz\",\"remove\":\"FileUploadGroup_remove__3O3ql\",\"FileUploadform\":\"FileUploadGroup_FileUploadform__3M4tr\",\"gridColFull\":\"FileUploadGroup_gridColFull__24nw2\",\"gridColHalf\":\"FileUploadGroup_gridColHalf__6noY4\",\"gridColOneQuarter\":\"FileUploadGroup_gridColOneQuarter__3Al0w\",\"gridColHalfWithoutFields\":\"FileUploadGroup_gridColHalfWithoutFields__gYRLR\",\"gridColTwoWithoutFields\":\"FileUploadGroup_gridColTwoWithoutFields__q0S6V\",\"errorMsg\":\"FileUploadGroup_errorMsg__2XID0\"};","/* eslint-disable */ \r\nimport { ReportHandler } from 'web-vitals';\r\n\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","export default __webpack_public_path__ + \"static/media/downArrow.a4637713.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"CourtStep4_offenceDetails__2sKoD\",\"detailHeadings\":\"CourtStep4_detailHeadings__20Fj2\",\"detailValues\":\"CourtStep4_detailValues__2hty7\",\"obligationNumber\":\"CourtStep4_obligationNumber__3FhZm\",\"detailTable\":\"CourtStep4_detailTable__bAaLG\",\"offenceTable\":\"CourtStep4_offenceTable__1Cbiz\",\"onlyMobileRows\":\"CourtStep4_onlyMobileRows__2qMI6\",\"uppcaseText\":\"CourtStep4_uppcaseText__2W2lf\",\"capitalisedText\":\"CourtStep4_capitalisedText__2V2GB\",\"progressBar\":\"CourtStep4_progressBar__3erZ9\",\"bar\":\"CourtStep4_bar__OoxDY\",\"content\":\"CourtStep4_content__1qB3Y\",\"step\":\"CourtStep4_step__2gL28\",\"selected\":\"CourtStep4_selected__1cW5X\",\"text\":\"CourtStep4_text__27PIN\",\"done\":\"CourtStep4_done__2zWe-\",\"donePrev\":\"CourtStep4_donePrev__1FG3Y\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ABNACNField_container__17eYS\",\"titlePresent\":\"ABNACNField_titlePresent__2XYQo\",\"title\":\"ABNACNField_title__2qVgZ\",\"titleBold\":\"ABNACNField_titleBold__Yo_J8\",\"optional\":\"ABNACNField_optional__2Pt3H\",\"subtitle\":\"ABNACNField_subtitle__3zDFm\",\"titleError\":\"ABNACNField_titleError__nO-BM\",\"inputContainer\":\"ABNACNField_inputContainer__2_irv\",\"formInput\":\"ABNACNField_formInput__rC_KB\",\"inputLeftPadding\":\"ABNACNField_inputLeftPadding__3WDnD\",\"inputError\":\"ABNACNField_inputError__3sbQO\",\"disabled\":\"ABNACNField_disabled__208eF\",\"iconContainerStart\":\"ABNACNField_iconContainerStart__24jSz\",\"iconContainerEnd\":\"ABNACNField_iconContainerEnd__3NS2a\",\"iconButton\":\"ABNACNField_iconButton__2RcwM\",\"errorMsg\":\"ABNACNField_errorMsg__2D3gS\",\"cssloadcontainer\":\"ABNACNField_cssloadcontainer__3ueo7\",\"inline\":\"ABNACNField_inline__1RCUt\",\"cssloadwhirlpool\":\"ABNACNField_cssloadwhirlpool__3F_zG\",\"cssload-rotate\":\"ABNACNField_cssload-rotate__35Sq2\",\"load-effect\":\"ABNACNField_load-effect__3q02g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"boxheight\":\"ReviewStep1_boxheight__3m-pW\",\"contactLink\":\"ReviewStep1_contactLink__3mi_D\",\"bold\":\"ReviewStep1_bold__2T9Ax\",\"btnFooter\":\"ReviewStep1_btnFooter__1KW-3\",\"bitmapSection\":\"ReviewStep1_bitmapSection__12Odr\",\"bitmapImage\":\"ReviewStep1_bitmapImage__1kSpr\",\"image\":\"ReviewStep1_image__2yC_Y\",\"sectionTitle\":\"ReviewStep1_sectionTitle__JUlGP\",\"sectionDescription\":\"ReviewStep1_sectionDescription__2GmkH\",\"accordionContent\":\"ReviewStep1_accordionContent__Sxn66\",\"caption\":\"ReviewStep1_caption__2oc29\",\"accordionImage\":\"ReviewStep1_accordionImage__2bRyv\",\"vfH4\":\"ReviewStep1_vfH4__3x0Rf\",\"errorMessageButtons\":\"ReviewStep1_errorMessageButtons__1abD_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"MultiTextInput_section__3-1vD\",\"flexRowsDiv\":\"MultiTextInput_flexRowsDiv__33l9L\",\"error\":\"MultiTextInput_error__1ET2D\",\"descriptionDiv\":\"MultiTextInput_descriptionDiv__2jhfN\",\"inline\":\"MultiTextInput_inline__3YsVx\",\"colHalf\":\"MultiTextInput_colHalf__1Rju8\",\"removeDiv\":\"MultiTextInput_removeDiv__37iFd\",\"subTitle\":\"MultiTextInput_subTitle__3F-Fh\",\"remove\":\"MultiTextInput_remove__30Lyq\",\"addNewSection\":\"MultiTextInput_addNewSection__2N4It\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"DateInput_container__31Mzv\",\"label\":\"DateInput_label__2BYn-\",\"titleBold\":\"DateInput_titleBold__3MNK8\",\"optional\":\"DateInput_optional__1sze9\",\"titleError\":\"DateInput_titleError__3P6nO\",\"dateInputContainer\":\"DateInput_dateInputContainer__1eefd\",\"date\":\"DateInput_date__JVPt5\",\"inputError\":\"DateInput_inputError__3aegY\",\"calendarPopupBtn\":\"DateInput_calendarPopupBtn__3WThe\",\"iconContainer\":\"DateInput_iconContainer__1H0z9\",\"errorMsg\":\"DateInput_errorMsg__3TKJp\",\"popper\":\"DateInput_popper__368H6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"Summary_section__2ZDVu\",\"heading\":\"Summary_heading__H-F0y\",\"title\":\"Summary_title__JcsYc\",\"edit\":\"Summary_edit__3Qcjz\",\"btnLabel\":\"Summary_btnLabel__1p82A\",\"row\":\"Summary_row__1YqFF\",\"field\":\"Summary_field__wZs7Y\",\"fieldTitle\":\"Summary_fieldTitle__8-sAP\",\"fieldValue\":\"Summary_fieldValue__2TGsx\",\"hide\":\"Summary_hide__3UZdb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"ExpandableTableAccessible_offenceDetails__3Cj3v\",\"detailHeadings\":\"ExpandableTableAccessible_detailHeadings__2byhK\",\"iconButton\":\"ExpandableTableAccessible_iconButton__3CKiU\",\"iconClicked\":\"ExpandableTableAccessible_iconClicked__2KGeB\",\"iconInitiated\":\"ExpandableTableAccessible_iconInitiated__zGhY3\",\"detailValues\":\"ExpandableTableAccessible_detailValues__Ob7DF\",\"checkBoxContainer\":\"ExpandableTableAccessible_checkBoxContainer__2eKjG\",\"inputContainer\":\"ExpandableTableAccessible_inputContainer__1WKra\",\"inputBody\":\"ExpandableTableAccessible_inputBody__Wcgde\",\"tickContainer\":\"ExpandableTableAccessible_tickContainer__2BEfh\",\"inputError\":\"ExpandableTableAccessible_inputError__1NsN-\",\"obligationNumber\":\"ExpandableTableAccessible_obligationNumber__3DH_l\",\"detailTable\":\"ExpandableTableAccessible_detailTable__3lLnN\",\"divPadding\":\"ExpandableTableAccessible_divPadding__2oEwg\",\"offenceTable\":\"ExpandableTableAccessible_offenceTable__XZXQp\",\"onlyMobileRows\":\"ExpandableTableAccessible_onlyMobileRows__2KFkH\",\"uppcaseText\":\"ExpandableTableAccessible_uppcaseText__1NluR\",\"capitalisedText\":\"ExpandableTableAccessible_capitalisedText__nucic\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"FVSStep3_bold__2USqf\",\"separator\":\"FVSStep3_separator__2Llx1\",\"col\":\"FVSStep3_col__1hOwm\",\"title\":\"FVSStep3_title__1VlsP\",\"titleError\":\"FVSStep3_titleError__2drAs\",\"inputError\":\"FVSStep3_inputError__dWRyW\",\"subHeading\":\"FVSStep3_subHeading__1N4hK\",\"inputGroupSpacing\":\"FVSStep3_inputGroupSpacing__2ygdC\",\"checkBoxTitleSpacing\":\"FVSStep3_checkBoxTitleSpacing__27GaX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"FVSStep4_bold__3Rojo\",\"col\":\"FVSStep4_col__6AJ2t\",\"title\":\"FVSStep4_title__1AMmp\",\"contactLink\":\"FVSStep4_contactLink__Tqhsa\",\"modalLink\":\"FVSStep4_modalLink__29eSe\",\"modal-open\":\"FVSStep4_modal-open__38s8t\",\"bitmapSection\":\"FVSStep4_bitmapSection__zKov7\",\"bitmapTitle\":\"FVSStep4_bitmapTitle__80gcT\",\"bitmapImage\":\"FVSStep4_bitmapImage__17QFW\",\"image\":\"FVSStep4_image__jGq3j\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"manualInputForm\":\"Alert_manualInputForm__eQ2WU\",\"autoAlertInfo\":\"Alert_autoAlertInfo__1_Qps\",\"iconContainer\":\"Alert_iconContainer__SBKZa\",\"icon\":\"Alert_icon__1NiUa\",\"alertText\":\"Alert_alertText__2KCpj\",\"red\":\"Alert_red__2UIyY\",\"green\":\"Alert_green__O4uHl\",\"default\":\"Alert_default__2w6Wr\",\"titleWarning\":\"Alert_titleWarning__db8XJ\",\"alertInfoRemoveMarin\":\"Alert_alertInfoRemoveMarin__1i0_N\",\"error\":\"Alert_error__SYnXk\",\"success\":\"Alert_success__1xoRH\",\"info\":\"Alert_info__1p6gU\",\"info2\":\"Alert_info2__1XGdv\",\"yellowAlertInfo\":\"Alert_yellowAlertInfo__lsaBG\",\"yellowInfo\":\"Alert_yellowInfo__3sBxx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnFooter\":\"Accordion_btnFooter__sVEd1\",\"accordionHeader\":\"Accordion_accordionHeader__CtrTf\",\"accordionTitle\":\"Accordion_accordionTitle__Q6q4d\",\"iconDiv\":\"Accordion_iconDiv__Lj9cx\",\"arrowIcon\":\"Accordion_arrowIcon__3NlBg\",\"iconClicked\":\"Accordion_iconClicked__1LotQ\",\"iconInitiated\":\"Accordion_iconInitiated__27Yxl\",\"accordionContent\":\"Accordion_accordionContent__cGXLu\",\"divPadding\":\"Accordion_divPadding__3nUHe\",\"accordContent\":\"Accordion_accordContent__sg_CJ\",\"thick\":\"Accordion_thick__1dugP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"LimitedTextArea_container__2hOj5\",\"titlePresent\":\"LimitedTextArea_titlePresent__EFHh8\",\"title\":\"LimitedTextArea_title__2pM4n\",\"titleBold\":\"LimitedTextArea_titleBold__VCKF8\",\"optional\":\"LimitedTextArea_optional__8C9ge\",\"titleError\":\"LimitedTextArea_titleError___NplC\",\"inputContainer\":\"LimitedTextArea_inputContainer__35sbk\",\"formInput\":\"LimitedTextArea_formInput__bYrcX\",\"inputError\":\"LimitedTextArea_inputError__n7Id_\",\"disabled\":\"LimitedTextArea_disabled__3iRtu\",\"errorMsg\":\"LimitedTextArea_errorMsg__eFOaz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnFooter\":\"AccordionWithContent_btnFooter__3gAyl\",\"accordionHeader\":\"AccordionWithContent_accordionHeader__jbVtt\",\"accordionTitle\":\"AccordionWithContent_accordionTitle__1oqab\",\"iconDiv\":\"AccordionWithContent_iconDiv__BYggy\",\"arrowIcon\":\"AccordionWithContent_arrowIcon__2yUm9\",\"iconClicked\":\"AccordionWithContent_iconClicked__g_Ri5\",\"iconInitiated\":\"AccordionWithContent_iconInitiated__1aJNQ\",\"accordionContent\":\"AccordionWithContent_accordionContent__3tjsI\",\"divPadding\":\"AccordionWithContent_divPadding__3K4M4\",\"accordContent\":\"AccordionWithContent_accordContent__1nL7E\",\"thick\":\"AccordionWithContent_thick__36J5a\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"noMargin\":\"TPStep2_noMargin__1J8eb\",\"vfH3\":\"TPStep2_vfH3__1vK1b\",\"normalFontWeight\":\"TPStep2_normalFontWeight__3tJir\",\"normalFontWeightBelow\":\"TPStep2_normalFontWeightBelow__9B12a\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"intro\":\"CourtStep9_intro__3OMXv\",\"subtext\":\"CourtStep9_subtext__182Lt\",\"button\":\"CourtStep9_button__YWKPT\",\"contactLink\":\"CourtStep9_contactLink__3TsUW\",\"note\":\"CourtStep9_note__2CKrS\",\"finesLink\":\"CourtStep9_finesLink__2VOcw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"intro\":\"ExtensionStep11_intro__prN6c\",\"subtext\":\"ExtensionStep11_subtext__1EW7G\",\"button\":\"ExtensionStep11_button__oz9-6\",\"contactLink\":\"ExtensionStep11_contactLink__1G3FY\",\"note\":\"ExtensionStep11_note__3v4Re\",\"finesLink\":\"ExtensionStep11_finesLink__2ZMjI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"intro\":\"ExtensionStep12_intro__2uQcb\",\"subtext\":\"ExtensionStep12_subtext__1A-CI\",\"button\":\"ExtensionStep12_button__Lmda5\",\"contactLink\":\"ExtensionStep12_contactLink__2fUxD\",\"note\":\"ExtensionStep12_note__3Un-l\",\"finesLink\":\"ExtensionStep12_finesLink__31cU_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"DropdownMenu_container__1AY0G\",\"titlePresent\":\"DropdownMenu_titlePresent__2DV-T\",\"title\":\"DropdownMenu_title__tFS2G\",\"titleBold\":\"DropdownMenu_titleBold__3zm-d\",\"optional\":\"DropdownMenu_optional__2ad5d\",\"titleError\":\"DropdownMenu_titleError__1ZHYy\",\"selectContainer\":\"DropdownMenu_selectContainer__vUTUi\",\"inputError\":\"DropdownMenu_inputError__2La_9\",\"arrowIcon\":\"DropdownMenu_arrowIcon__uFHG8\",\"errorMsg\":\"DropdownMenu_errorMsg__3Ym3t\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bar\":\"ProgressBar_bar__NUu7B\",\"content\":\"ProgressBar_content__2yzr3\",\"text\":\"ProgressBar_text__qgaA2\",\"textGrey\":\"ProgressBar_textGrey__1BxS5\",\"icon\":\"ProgressBar_icon__1HPvu\",\"step\":\"ProgressBar_step__3E-9W\",\"done\":\"ProgressBar_done__2-x-h\",\"selected\":\"ProgressBar_selected__BdIBX\",\"removeFirstArrow\":\"ProgressBar_removeFirstArrow__1CaIo\",\"donePrev\":\"ProgressBar_donePrev__2H-dD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"submissionAlertInfoMsgContainer\":\"FormSubmissionSuccessAlertContent_submissionAlertInfoMsgContainer__o9ZKh\",\"submissionInfo\":\"FormSubmissionSuccessAlertContent_submissionInfo__X0AZk\",\"button\":\"FormSubmissionSuccessAlertContent_button__1f98b\",\"bold\":\"FormSubmissionSuccessAlertContent_bold__26tfb\",\"submissionHeading\":\"FormSubmissionSuccessAlertContent_submissionHeading__3uyDA\",\"lineBreak\":\"FormSubmissionSuccessAlertContent_lineBreak__1Mci0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"divWhitespace\":\"CourtStep3_divWhitespace__2cQWF\",\"titleError\":\"CourtStep3_titleError__2BdqI\",\"bitmapSection\":\"CourtStep3_bitmapSection__1A5Z7\",\"bitmapTitle\":\"CourtStep3_bitmapTitle__23aMA\",\"bitmapImage\":\"CourtStep3_bitmapImage__HWULj\",\"image\":\"CourtStep3_image__1rRVM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"divWhitespace\":\"ExtensionStep3_divWhitespace__3JXxs\",\"titleError\":\"ExtensionStep3_titleError__1u_01\",\"bitmapSection\":\"ExtensionStep3_bitmapSection__16P2v\",\"half\":\"ExtensionStep3_half__1YE4X\",\"fontFormat\":\"ExtensionStep3_fontFormat__wNGFS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"boxheight\":\"InfringementExtStep1_boxheight__2TxJs\",\"contactLink\":\"InfringementExtStep1_contactLink__1j_59\",\"bold\":\"InfringementExtStep1_bold__dKvc1\",\"btnFooter\":\"InfringementExtStep1_btnFooter__2ifwc\",\"bitmapSection\":\"InfringementExtStep1_bitmapSection__1bB69\",\"bitmapImage\":\"InfringementExtStep1_bitmapImage__1aXSw\",\"image\":\"InfringementExtStep1_image__34D6e\",\"sectionTitle\":\"InfringementExtStep1_sectionTitle__m-hSf\",\"sectionDescription\":\"InfringementExtStep1_sectionDescription__okoay\",\"accordionContent\":\"InfringementExtStep1_accordionContent__LPX4i\",\"caption\":\"InfringementExtStep1_caption__1nTKP\",\"accordionImage\":\"InfringementExtStep1_accordionImage__3NA9K\",\"vfH4\":\"InfringementExtStep1_vfH4__3WqD5\",\"errorMessageButtons\":\"InfringementExtStep1_errorMessageButtons__3VHih\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"InfringementExtStep4_bold__hcDHQ\",\"col\":\"InfringementExtStep4_col__3B7EI\",\"title\":\"InfringementExtStep4_title__1hZFj\",\"contactLink\":\"InfringementExtStep4_contactLink__1n-Kt\",\"modalLink\":\"InfringementExtStep4_modalLink__2zD1j\",\"modal-open\":\"InfringementExtStep4_modal-open__E5WXT\",\"bitmapSection\":\"InfringementExtStep4_bitmapSection__26Oqm\",\"bitmapTitle\":\"InfringementExtStep4_bitmapTitle__1HXRa\",\"bitmapImage\":\"InfringementExtStep4_bitmapImage__2sk8m\",\"image\":\"InfringementExtStep4_image__27aPY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"InstalmentStep4_bold__2OrJq\",\"col\":\"InstalmentStep4_col__1DCWG\",\"title\":\"InstalmentStep4_title__2ntSv\",\"contactLink\":\"InstalmentStep4_contactLink__xpPgd\",\"modalLink\":\"InstalmentStep4_modalLink__5QVvv\",\"modal-open\":\"InstalmentStep4_modal-open__1uiHE\",\"bitmapSection\":\"InstalmentStep4_bitmapSection__3Yxqz\",\"bitmapTitle\":\"InstalmentStep4_bitmapTitle__3K0al\",\"bitmapImage\":\"InstalmentStep4_bitmapImage__2XWky\",\"image\":\"InstalmentStep4_image__1_7RP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconContainer\":\"ErrorPage_iconContainer__2W-ru\",\"icon\":\"ErrorPage_icon__3PGun\",\"alertText\":\"ErrorPage_alertText__182sQ\",\"formBody\":\"ErrorPage_formBody__2LhSQ\",\"cusH3\":\"ErrorPage_cusH3__gTt1Y\",\"loader\":\"ErrorPage_loader__1iM2Y\",\"bold\":\"ErrorPage_bold__2JpeS\",\"intro\":\"ErrorPage_intro__2xC6_\",\"error\":\"ErrorPage_error__fEqBh\",\"loadContainer\":\"ErrorPage_loadContainer__2bh_C\",\"errorMessage\":\"ErrorPage_errorMessage__3ggT7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"NominationStep3_bold__ctcux\",\"col\":\"NominationStep3_col__ExxRJ\",\"title\":\"NominationStep3_title__2_Wnx\",\"contactLink\":\"NominationStep3_contactLink__13heH\",\"modalLink\":\"NominationStep3_modalLink__1k-EM\",\"modal-open\":\"NominationStep3_modal-open__38niS\",\"bitmapSection\":\"NominationStep3_bitmapSection__1RMfD\",\"bitmapTitle\":\"NominationStep3_bitmapTitle__3pto5\",\"bitmapImage\":\"NominationStep3_bitmapImage__HGTT3\",\"image\":\"NominationStep3_image__GnMxM\"};","// eslint-disable-next-line import/prefer-default-export\r\nexport const autocompleteAddressMock = async (): Promise => {\r\n const response = {\r\n count: 7,\r\n results: [\r\n {\r\n suggestion: '200 George Street, BATHURST NSW 2795',\r\n matched: [],\r\n format: 'https://api.edq.com/capture/address/v2/format?country=AUS&id=aWQ9MjAwIEdlb3JnZSBTdHJlZXQsIEJBVEhVUlNUICBOU1cgMjc5NSwgQXVzdHJhbGlhfmFsdF9rZXk9ODYyMDIzMjF-ZGF0YXNldD1BVVNfUEFGfmZvcm1hdGlkPTc2MkFVUy1hT0FVU0hBYmxCd0FBQUFBSUFnRUFBQUFBRFdSa3dBQUFBQUFBQURJd01BQUEuLjlrQUFBQUFQLi4uLjhBQUFBQUFBQUFBQUFBQUFBQUFBQXlNREFnWjJWdmNnQUFBQUFBfnFsPTh-Z2VvPTA'\r\n },\r\n {\r\n suggestion: '200 George Street, CONCORD WEST NSW 2138',\r\n matched: [],\r\n format: 'https://api.edq.com/capture/address/v2/format?country=AUS&id=aWQ9MjAwIEdlb3JnZSBTdHJlZXQsIENPTkNPUkQgV0VTVCAgTlNXIDIxMzgsIEF1c3RyYWxpYX5hbHRfa2V5PTg3NjA5MTM5fmRhdGFzZXQ9QVVTX1BBRn5mb3JtYXRpZD03NjJBVVMtMU9BVVNIQWJsQndBQUFBQUlBZ0VBQUFBQUlKTVVRQUFBQUFBQUFESXdNQUFBLi45a0FBQUFBUC4uLi44QUFBQUFBQUFBQUFBQUFBQUFBQUF5TURBZ1oyVnZjZ0FBQUFBQX5xbD04fmdlbz0w'\r\n },\r\n {\r\n suggestion: '200 George Street, EAST MAITLAND NSW 2323',\r\n matched: [],\r\n format: 'https://api.edq.com/capture/address/v2/format?country=AUS&id=aWQ9MjAwIEdlb3JnZSBTdHJlZXQsIEVBU1QgTUFJVExBTkQgIE5TVyAyMzIzLCBBdXN0cmFsaWF-YWx0X2tleT05NTY4MTk4N35kYXRhc2V0PUFVU19QQUZ-Zm9ybWF0aWQ9NzYyQVVTLWlPQVVTSEFibEJ3QUFBQUFJQWdFQUFBQUFLWFFsZ0FBQUFBQUFBREl3TUFBQS4uOWtBQUFBQVAuLi4uOEFBQUFBQUFBQUFBQUFBQUFBQUFBeU1EQWdaMlZ2Y2dBQUFBQUF-cWw9OH5nZW89MA'\r\n },\r\n {\r\n suggestion: '200 George Street, PARRAMATTA NSW 2150',\r\n matched: [],\r\n format: 'https://api.edq.com/capture/address/v2/format?country=AUS&id=aWQ9MjAwIEdlb3JnZSBTdHJlZXQsIFBBUlJBTUFUVEEgIE5TVyAyMTUwLCBBdXN0cmFsaWF-YWx0X2tleT03MDYxNTkzOX5kYXRhc2V0PUFVU19QQUZ-Zm9ybWF0aWQ9NzYyQVVTLWdPQVVTSEFibEJ3QUFBQUFJQWdFQUFBQUFXY2JPRUFBZ0FBQUFBQUFBQUFELi4yUUFBQUFBLi4uLi53QUFBQUFBQUFBQUFBQUFBQUFBQURJd01DQm5aVzl5QUFBQUFBQS1-cWw9OH5nZW89MA'\r\n },\r\n {\r\n suggestion: '200 George Street, SYDNEY NSW 2000',\r\n matched: [],\r\n format: 'https://api.edq.com/capture/address/v2/format?country=AUS&id=aWQ9MjAwIEdlb3JnZSBTdHJlZXQsIFNZRE5FWSAgTlNXIDIwMDAsIEF1c3RyYWxpYX5hbHRfa2V5PTQxOTE4NTY4fmRhdGFzZXQ9QVVTX1BBRn5mb3JtYXRpZD03NjJBVVMtYk9BVVNIQWJsQndBQUFBQUlBZ0VBQUFBQWEudFdrQUFnQUFBQUFBQUFBQUQuLjJRQUFBQUEuLi4uLndBQUFBQUFBQUFBQUFBQUFBQUFBREl3TUNCblpXOXlBQUFBQUFBLX5xbD04fmdlbz0w'\r\n },\r\n {\r\n suggestion: 'Ground Floor 200 George Street, SYDNEY NSW 2000',\r\n matched: [],\r\n format: 'https://api.edq.com/capture/address/v2/format?country=AUS&id=aWQ9R3JvdW5kIEZsb29yICAyMDAgR2VvcmdlIFN0cmVldCwgU1lETkVZICBOU1cgMjAwMCwgQXVzdHJhbGlhfmFsdF9rZXk9NjQyMTc4OTN-ZGF0YXNldD1BVVNfUEFGfmZvcm1hdGlkPTc2MkFVUy1WT0FVU0hBYmxCd0FBQUFBSUFnRUFBQUFBYS50WlVCQWhBSUlBQUFBQUFBQUFBQUQuLjJRQUFBQUEuLi4uLndBQUFBQUFBQUFBQUFBQUFBQUFBREl3TUNCblpXOXlBQUFBQUFBLX5xbD04fmdlbz0w'\r\n },\r\n {\r\n suggestion: 'Level 1 200 George Street, SYDNEY NSW 2000',\r\n matched: [],\r\n format: 'https://api.edq.com/capture/address/v2/format?country=AUS&id=aWQ9TGV2ZWwgMSAgMjAwIEdlb3JnZSBTdHJlZXQsIFNZRE5FWSAgTlNXIDIwMDAsIEF1c3RyYWxpYX5hbHRfa2V5PTM0MDg5NjcwfmRhdGFzZXQ9QVVTX1BBRn5mb3JtYXRpZD03NjJBVVMtT09BVVNIQWJsQndBQUFBQUlBZ0VBQUFBQWEudGJVQWdnQUFBQUFBQUFNUUFBLi45a0FBQUFBUC4uLi44QUFBQUFBQUFBQUFBQUFBQUFBQUF5TURBZ1oyVnZjZ0FBQUFBQX5xbD04fmdlbz0w'\r\n }\r\n ]\r\n };\r\n return new Promise((resolve, _reject) => {\r\n resolve(response);\r\n });\r\n};\r\n\r\nexport const captureAddressMock = async (): Promise => {\r\n const response = {\r\n address: [\r\n { addressLine1: '2000 George Downes Dr' },\r\n { addressLine2: '' },\r\n { addressLine3: '' },\r\n { locality: 'KULNURA' },\r\n { province: 'NSW' },\r\n { postalCode: '2250' },\r\n { country: 'AUSTRALIA' }\r\n ],\r\n components: [\r\n { deliveryPointId1: '85166298' },\r\n { streetNumber1: '2000' },\r\n { street1: 'George Downes Dr' },\r\n { locality1: 'KULNURA' },\r\n { province1: 'New South Wales' },\r\n { provinceCode1: 'NSW' },\r\n { postalCode1: '2250' },\r\n { country1: 'AUSTRALIA' },\r\n { countryISO1: 'AUS' }\r\n ],\r\n metadata: { addressIds: { dpid: '85166298' } }\r\n };\r\n return new Promise((resolve, _reject) => {\r\n resolve(response);\r\n });\r\n};\r\n","// eslint-disable-next-line import/prefer-default-export\r\nimport { autocompleteAddressMock, captureAddressMock } from './AddressMock';\r\n\r\nconst { REACT_APP_ADDRESS_AUTO_COMPLETE_API_ENDPOINT: ADDRESS_API, REACT_APP_ADDRESS_AUTO_COMPLETE_API_TOKEN, REACT_APP_ADDRESS_AUTO_COMPLETE_MOCK } = process.env;\r\n\r\nexport const autocompleteAddress = async (searchText: string): Promise => {\r\n if (process.env.NODE_ENV === 'development' || REACT_APP_ADDRESS_AUTO_COMPLETE_MOCK === 'true') {\r\n return autocompleteAddressMock();\r\n }\r\n\r\n const myHeaders = new Headers();\r\n myHeaders.append('Auth-Token', REACT_APP_ADDRESS_AUTO_COMPLETE_API_TOKEN!);\r\n const results = await fetch(`${ADDRESS_API}search?country=AUS&query=${searchText}`, {\r\n method: 'GET',\r\n headers: myHeaders,\r\n });\r\n const json = await results.json();\r\n return json;\r\n};\r\n\r\nexport const captureAddress = async (url: string): Promise => {\r\n if (process.env.NODE_ENV === 'development' || REACT_APP_ADDRESS_AUTO_COMPLETE_MOCK === 'true') {\r\n return captureAddressMock();\r\n }\r\n const myHeaders = new Headers();\r\n myHeaders.append('Auth-Token', REACT_APP_ADDRESS_AUTO_COMPLETE_API_TOKEN!);\r\n const results = await fetch(url, {\r\n method: 'GET',\r\n headers: myHeaders,\r\n });\r\n const json = await results.json();\r\n return json;\r\n};\r\n","export default __webpack_public_path__ + \"static/media/trash.2cf6fdfa.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"navigationContainer\":\"FormNavFooter_navigationContainer__hFSnX\",\"navigationRow\":\"FormNavFooter_navigationRow__2d16P\",\"buttons\":\"FormNavFooter_buttons__yatU_\",\"continueBtn\":\"FormNavFooter_continueBtn__3i902\",\"backBtn\":\"FormNavFooter_backBtn__3Ufox\",\"goBack\":\"FormNavFooter_goBack__1wAiu\",\"helpLinks\":\"FormNavFooter_helpLinks__27hWy\",\"modalLegal\":\"FormNavFooter_modalLegal__3k6F-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CheckboxInputAccessible_container___qXWo\",\"inputContainer\":\"CheckboxInputAccessible_inputContainer__1CHys\",\"tickContainer\":\"CheckboxInputAccessible_tickContainer___gYwF\",\"body\":\"CheckboxInputAccessible_body__1ulUu\",\"inputError\":\"CheckboxInputAccessible_inputError__30GmN\",\"tickContainerSelected\":\"CheckboxInputAccessible_tickContainerSelected__SAzMn\",\"errorMsg\":\"CheckboxInputAccessible_errorMsg__aXf4H\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconButton\":\"CourtStep2_iconButton__2mYA7\",\"contactLink\":\"CourtStep2_contactLink__1DVjG\",\"btnFooter\":\"CourtStep2_btnFooter__1xgsw\",\"sectionTitle\":\"CourtStep2_sectionTitle__3ylOO\",\"notificationDiv\":\"CourtStep2_notificationDiv__K9S1u\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"step8\":\"CourtStep8_step8__1qcEE\",\"intro\":\"CourtStep8_intro__3Zb3W\",\"button\":\"CourtStep8_button__1GacJ\",\"subtext\":\"CourtStep8_subtext__3gLpl\",\"row\":\"CourtStep8_row__3rMoc\",\"note\":\"CourtStep8_note__3eTuV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconButton\":\"ExtensionStep2_iconButton__28Md2\",\"contactLink\":\"ExtensionStep2_contactLink__1Dr8a\",\"btnFooter\":\"ExtensionStep2_btnFooter__1qnyF\",\"sectionTitle\":\"ExtensionStep2_sectionTitle__3F_N8\",\"notificationDiv\":\"ExtensionStep2_notificationDiv__1SMT-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconButton\":\"FVSStep2_iconButton__38X1Y\",\"contactLink\":\"FVSStep2_contactLink__2ny-f\",\"btnFooter\":\"FVSStep2_btnFooter__2td1I\",\"sectionTitle\":\"FVSStep2_sectionTitle__1Fqxi\",\"notificationDiv\":\"FVSStep2_notificationDiv__2Ljq5\",\"vfH4\":\"FVSStep2_vfH4__37XtL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fileUploadContainer\":\"SupportingDocuments_fileUploadContainer__1Qzoy\",\"helpLinks\":\"SupportingDocuments_helpLinks__10hM1\",\"fileUploadSection\":\"SupportingDocuments_fileUploadSection__4-nW0\",\"uploadIcon\":\"SupportingDocuments_uploadIcon__1q5Vw\",\"dropdownLayout\":\"SupportingDocuments_dropdownLayout__15QcH\",\"dropTitle\":\"SupportingDocuments_dropTitle__an26i\",\"button\":\"SupportingDocuments_button__nbQC6\",\"boxheight\":\"SupportingDocuments_boxheight__2QHPj\",\"contactLink\":\"SupportingDocuments_contactLink__2vV5y\",\"bold\":\"SupportingDocuments_bold__3cpns\",\"btnFooter\":\"SupportingDocuments_btnFooter__25V1Q\",\"sectionTitle\":\"SupportingDocuments_sectionTitle__3_7LY\",\"sectionDescription\":\"SupportingDocuments_sectionDescription__1GU0y\"};","import { ReactElement, useState } from 'react';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport { tile, iContactInfoDisplay } from '@interfaces/interfaces';\r\nimport { iThirdPartyFormValues } from '@services/ThirdPartyService';\r\nimport { iCourtFormValues } from '@services/CourtService';\r\nimport TileRadio from '@components/TileRadio/TileRadio';\r\nimport { TitleOptionsList, FormType } from '@constants';\r\nimport { TextInput, DropdownMenu, EmailField, AddressField, ContactInput, LicenceField, DateInput, Modal } from '@components';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\n\r\ninterface iContactInformation {\r\n displayObject: iContactInfoDisplay;\r\n currentStep: string;\r\n}\r\n\r\nfunction ContactInformation({ displayObject, currentStep }: iContactInformation): ReactElement {\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const extensionModal = (): ReactElement => (\r\n <>\r\n
\r\n

Change of address? Remember to update your details with VicRoads

\r\n

Have you moved recently? By law you must advise VicRoads of your new address within 14 days of moving.

\r\n

Fines sent to the address registered with VicRoads are 'deemed served', even if you no longer live there and did not receive them.

\r\n

This means that agencies can take enforcement action against you if you have not dealt with a fine sent to an old address.

\r\n

You can update both your licence and vehicle registration details online at VicRoads.

\r\n
\r\n \r\n Go to VicRoads\r\n \r\n
\r\n
\r\n \r\n );\r\n const [modal, setModal] = useState({\r\n show: false,\r\n title: '',\r\n content: <>,\r\n contentClass: '',\r\n });\r\n\r\n const isThirdParty = displayObject.mode === FormType.THIRDPARTY;\r\n\r\n const { values }: { values: iThirdPartyFormValues | iCourtFormValues } = useFormikContext();\r\n const { title, givenName, familyName, dateOfBirth, driverLicence, address, isAddressSameAsPostal, postalAddress, contactNumber, noEmailAddress, emailAddress, emailTo, receiveDocs } = displayObject.fields;\r\n if (values.NoEmail || values.NoEmailAddressThree) {\r\n values.EMAIL_TO = 'false';\r\n }\r\n return (\r\n
\r\n
Your details
\r\n setModal({ ...modal, show: false })} {...modal} />\r\n {!isThirdParty && (\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 {displayObject.mode === FormType.EXTENSION && (\r\n
\r\n {\r\n const modalTitle = 'Change of address? Remember to update your details with VicRoads';\r\n setModal({\r\n show: true,\r\n title: modalTitle,\r\n content: extensionModal(),\r\n contentClass: '',\r\n });\r\n }}>\r\n Have you moved recently?\r\n \r\n
\r\n )}\r\n \r\n {getIn(values, isAddressSameAsPostal.formikName) === 'true' && (\r\n \r\n )}\r\n \r\n \r\n {!values[noEmailAddress.formikName] && (\r\n
\r\n \r\n
\r\n )}\r\n {displayObject.mode === FormType.EXTENSION && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default ContactInformation;\r\n","/* eslint-disable import/prefer-default-export, no-shadow */\r\nexport const ABN_MIN_LENGTH = 11;\r\nexport const ACN_MIN_LENGTH = 9;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CheckboxInput_container__XN7XG\",\"inputContainer\":\"CheckboxInput_inputContainer__3o5fn\",\"tickContainer\":\"CheckboxInput_tickContainer__QRY26\",\"body\":\"CheckboxInput_body__8AGeb\",\"inputError\":\"CheckboxInput_inputError__-Vhf-\",\"errorMsg\":\"CheckboxInput_errorMsg__NROxr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"ExpandableTable_offenceDetails__2E4lz\",\"detailHeadings\":\"ExpandableTable_detailHeadings__kVnjV\",\"iconButton\":\"ExpandableTable_iconButton__3c0CQ\",\"iconClicked\":\"ExpandableTable_iconClicked__3nJe4\",\"iconInitiated\":\"ExpandableTable_iconInitiated__Y6nKs\",\"detailValues\":\"ExpandableTable_detailValues__3yJR1\",\"checkBoxContainer\":\"ExpandableTable_checkBoxContainer__3RQQH\",\"inputContainer\":\"ExpandableTable_inputContainer__2mQ4S\",\"inputBody\":\"ExpandableTable_inputBody__2nyEC\",\"tickContainer\":\"ExpandableTable_tickContainer__3dbBw\",\"inputError\":\"ExpandableTable_inputError__A8wTw\",\"obligationNumber\":\"ExpandableTable_obligationNumber__1fEqd\",\"detailTable\":\"ExpandableTable_detailTable__fpBJa\",\"divPadding\":\"ExpandableTable_divPadding__IG3VY\",\"offenceTable\":\"ExpandableTable_offenceTable__eil7U\",\"onlyMobileRows\":\"ExpandableTable_onlyMobileRows__3-v9_\",\"uppcaseText\":\"ExpandableTable_uppcaseText__p74Nd\",\"capitalisedText\":\"ExpandableTable_capitalisedText__jtsof\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"ExpandableTable_offenceDetails__3DFwu\",\"detailHeadings\":\"ExpandableTable_detailHeadings__H5niD\",\"iconButton\":\"ExpandableTable_iconButton__3044r\",\"iconClicked\":\"ExpandableTable_iconClicked__2h-0A\",\"iconInitiated\":\"ExpandableTable_iconInitiated__3C5Bo\",\"detailValues\":\"ExpandableTable_detailValues__3LoX7\",\"checkBoxContainer\":\"ExpandableTable_checkBoxContainer__1hm3P\",\"inputContainer\":\"ExpandableTable_inputContainer__1aN65\",\"inputBody\":\"ExpandableTable_inputBody__3sf7u\",\"tickContainer\":\"ExpandableTable_tickContainer__9It6-\",\"inputError\":\"ExpandableTable_inputError__3_Vxo\",\"obligationNumber\":\"ExpandableTable_obligationNumber__3lwFA\",\"detailTable\":\"ExpandableTable_detailTable__3ioXx\",\"divPadding\":\"ExpandableTable_divPadding__1L7G5\",\"offenceTable\":\"ExpandableTable_offenceTable__3j294\",\"onlyMobileRows\":\"ExpandableTable_onlyMobileRows__ld_mj\",\"uppcaseText\":\"ExpandableTable_uppcaseText__O7Oat\",\"capitalisedText\":\"ExpandableTable_capitalisedText__2lqiP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"idleTimer\":\"IdleTimer_idleTimer__3SC4u\",\"btnFooter\":\"IdleTimer_btnFooter__1RKnW\",\"timeOutInfo\":\"IdleTimer_timeOutInfo__SbYKZ\",\"timeOutInstructions\":\"IdleTimer_timeOutInstructions__2TWfG\",\"btnProceed\":\"IdleTimer_btnProceed__3Lw7s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CheckboxInputGroupAccessible_container__2y2lV\",\"tickContainer\":\"CheckboxInputGroupAccessible_tickContainer__1F3lc\",\"body\":\"CheckboxInputGroupAccessible_body__h8AHl\",\"inputError\":\"CheckboxInputGroupAccessible_inputError__2uCWw\",\"tickContainerSelected\":\"CheckboxInputGroupAccessible_tickContainerSelected__1NM5E\",\"errorMsg\":\"CheckboxInputGroupAccessible_errorMsg__21Bte\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconButton\":\"InfringementExtStep2_iconButton__17dai\",\"contactLink\":\"InfringementExtStep2_contactLink__3XdLr\",\"btnFooter\":\"InfringementExtStep2_btnFooter__1Fjse\",\"sectionTitle\":\"InfringementExtStep2_sectionTitle__cFgX2\",\"notificationDiv\":\"InfringementExtStep2_notificationDiv__Zb7Vb\",\"vfH4\":\"InfringementExtStep2_vfH4__1FGp0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"InstalmentStep6_bold__DOY9b\",\"separator\":\"InstalmentStep6_separator__ARBiM\",\"col\":\"InstalmentStep6_col__1Yf4X\",\"title\":\"InstalmentStep6_title__1ccAd\",\"titleError\":\"InstalmentStep6_titleError__UoQgs\",\"inputError\":\"InstalmentStep6_inputError__2F8nu\",\"subHeading\":\"InstalmentStep6_subHeading__2yxjD\",\"checkBoxTitleSpacing\":\"InstalmentStep6_checkBoxTitleSpacing__1sbll\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalLink\":\"InstalmentStep7_modalLink__21-bH\",\"button_container\":\"InstalmentStep7_button_container__2Nn6J\",\"errorMessageButtons\":\"InstalmentStep7_errorMessageButtons__1LEmZ\",\"errorMessageQuestion\":\"InstalmentStep7_errorMessageQuestion__3-mWN\",\"optional\":\"InstalmentStep7_optional__2GNcN\"};","/* eslint-disable operator-linebreak */\r\nimport { ReactElement, useState, useEffect } from 'react';\r\nimport { tile, iFVSInfoDisplay } from '@interfaces/interfaces';\r\nimport { Field, useFormikContext, getIn } from 'formik';\r\nimport gridStyles from '@pages/forms/Grid.module.scss';\r\nimport { TextInput, DateInput, LicenceField, AddressField, CheckboxInput, TileRadio, EmailField, ContactInput, LimitedTextArea } from '@components';\r\nimport { iFVSFormValues } from '@services/FVSService';\r\nimport styles from './VictimInformation.module.scss';\r\n\r\ninterface iVictimInformation {\r\n displayObject: iFVSInfoDisplay;\r\n currentStepNo: string;\r\n}\r\n\r\nfunction VictimInformation({ displayObject, currentStepNo }: iVictimInformation): ReactElement {\r\n const formikContext = useFormikContext();\r\n const [isDisabled, setDisabled] = useState(false);\r\n const [isPostalDisabled, setPostalDisabled] = useState(false);\r\n const { values }: { values: iFVSFormValues } = useFormikContext();\r\n const { pageTitle, pageSubtitle } = displayObject.pages.contactInformation[currentStepNo];\r\n const {\r\n givenName,\r\n familyName,\r\n dateOfBirth,\r\n driverLicence,\r\n residentialAddress,\r\n noFixedAddress,\r\n noResidentialAddress,\r\n deliveryAddressType,\r\n postalAddress,\r\n noPostalAddress,\r\n isEmailRequired,\r\n noEmail,\r\n email,\r\n sendEmailCopy,\r\n phoneApplicant,\r\n individualContactNumber,\r\n safestContactTime,\r\n phoneMessagePrompt,\r\n interpreterRequiredPrompt,\r\n alternativeLanguage,\r\n } = displayObject.pages.contactInformation[currentStepNo].fields;\r\n const { FVSPostalAddress, FVSResidentialAddress } = values;\r\n const isPostalAddressEmpty = FVSPostalAddress.LineOne === '' && FVSPostalAddress.Postcode === '' && FVSPostalAddress.State === '' && FVSPostalAddress.Suburb === '';\r\n const isResidentialAddressEmpty =\r\n FVSResidentialAddress.LineOne === '' && FVSResidentialAddress.Postcode === '' && FVSResidentialAddress.State === '' && FVSResidentialAddress.Suburb === '';\r\n const YesValue = (): ReactElement => (\r\n <>\r\n
Yes
\r\n \r\n );\r\n\r\n const NoValue = (): ReactElement => (\r\n <>\r\n
No
\r\n \r\n );\r\n\r\n const TILE_DATA: tile[] = [\r\n {\r\n body: ,\r\n value: 'true',\r\n },\r\n {\r\n body: ,\r\n value: 'false',\r\n },\r\n ];\r\n const RepresentativeAddressPreferred = (): ReactElement => (\r\n <>\r\n
Authorised representative's postal address
\r\n \r\n );\r\n const ResidentialAddressPreferred = (): ReactElement => {\r\n if (currentStepNo === 'step6') {\r\n return (\r\n <>\r\n
Residential address
\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n
Fineholder's residential address
\r\n \r\n );\r\n };\r\n const OtherPostalAddressPreferred = (): ReactElement => (\r\n <>\r\n
\r\n Another postal address\r\n
\r\n This could be a PO box or address of a friend, relative\r\n
\r\n \r\n );\r\n const EmailPreferred = (): ReactElement => (\r\n <>\r\n
I do not have a safe postal address, please email me
\r\n \r\n );\r\n\r\n const PreferredDeliveryAddressType: tile[] = [\r\n currentStepNo === 'step6'\r\n ? {\r\n body: ,\r\n value: 'ResidentialAddress',\r\n }\r\n : {\r\n body: ,\r\n value: 'RepresentativeAddress',\r\n },\r\n currentStepNo === 'step6'\r\n ? {\r\n body: ,\r\n value: 'PostalAddress',\r\n }\r\n : {\r\n body: ,\r\n value: 'ResidentialAddress',\r\n },\r\n currentStepNo === 'step6'\r\n ? {\r\n body: ,\r\n value: 'EmailAddress',\r\n }\r\n : {\r\n body: ,\r\n value: 'PostalAddress',\r\n },\r\n ];\r\n useEffect(() => {\r\n /* General conditions */\r\n if (getIn(values, noFixedAddress.formikName) || getIn(values, noResidentialAddress.formikName)) {\r\n setDisabled(true);\r\n } else {\r\n setDisabled(false);\r\n }\r\n if (getIn(values, noPostalAddress.formikName) || getIn(values, noPostalAddress.formikName)) {\r\n setPostalDisabled(true);\r\n } else {\r\n setPostalDisabled(false);\r\n }\r\n /* Step6 conditions */\r\n if (currentStepNo === 'step6' && (getIn(values, noFixedAddress.formikName) || getIn(values, noResidentialAddress.formikName)) && getIn(values, noPostalAddress.formikName)) {\r\n formikContext.setFieldTouched(postalAddress.formikName);\r\n }\r\n if (currentStepNo === 'step6' && getIn(values, deliveryAddressType.formikName) === 'PostalAddress') {\r\n formikContext.setFieldValue(noPostalAddress.formikName, false);\r\n formikContext.setFieldTouched(noPostalAddress.formikName);\r\n }\r\n if (currentStepNo === 'step6' && getIn(values, noPostalAddress.formikName) && getIn(formikContext.values, deliveryAddressType.formikName) === 'PostalAddress') {\r\n formikContext.setFieldValue(deliveryAddressType.formikName, '');\r\n formikContext.setFieldTouched(deliveryAddressType.formikName);\r\n }\r\n /* Step15 conditions */\r\n if (\r\n currentStepNo === 'step15' &&\r\n (getIn(formikContext.values, noResidentialAddress.formikName) || getIn(formikContext.values, noFixedAddress.formikName)) &&\r\n getIn(formikContext.values, deliveryAddressType.formikName) === 'ResidentialAddress'\r\n ) {\r\n formikContext.setFieldValue(deliveryAddressType.formikName, '');\r\n formikContext.setFieldTouched(deliveryAddressType.formikName);\r\n }\r\n }, [\r\n getIn(values, noFixedAddress.formikName),\r\n getIn(values, noResidentialAddress.formikName),\r\n getIn(values, noPostalAddress.formikName),\r\n getIn(values, deliveryAddressType.formikName),\r\n currentStepNo,\r\n ]);\r\n return (\r\n <>\r\n
{pageTitle}
\r\n
{pageSubtitle}
\r\n
All fields are required unless specified otherwise.
\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 formikContext.setFieldValue(residentialAddress.formikName, {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n });\r\n formikContext.setFieldTouched(residentialAddress.formikName);\r\n }}\r\n />\r\n {\r\n formikContext.setFieldValue(residentialAddress.formikName, {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n });\r\n formikContext.setFieldTouched(residentialAddress.formikName);\r\n }}\r\n />\r\n
\r\n {/* Delivery Address Type */}\r\n {currentStepNo === 'step6' && !getIn(values, noFixedAddress.formikName) && !getIn(values, noResidentialAddress.formikName) && (\r\n
\r\n \r\n
\r\n )}\r\n {currentStepNo === 'step15' && (\r\n
\r\n type.value !== 'ResidentialAddress')\r\n }\r\n tileContainer\r\n isMandatory\r\n classname={styles.tile}\r\n />\r\n
\r\n )}\r\n {/* Postal Address */}\r\n {currentStepNo === 'step6' &&\r\n (getIn(values, noFixedAddress.formikName) || getIn(values, noResidentialAddress.formikName) || getIn(values, deliveryAddressType.formikName) === 'PostalAddress') && (\r\n
\r\n \r\n {(getIn(values, noFixedAddress.formikName) || getIn(values, noResidentialAddress.formikName)) && (\r\n {\r\n formikContext.setFieldValue(postalAddress.formikName, {\r\n SearchText: '',\r\n Address: '',\r\n LineOne: '',\r\n LineTwo: '',\r\n Suburb: '',\r\n State: '',\r\n Postcode: '',\r\n Country: 'Australia',\r\n });\r\n formikContext.setFieldTouched(postalAddress.formikName);\r\n }} />\r\n )}\r\n
\r\n )}\r\n {currentStepNo === 'step15' && getIn(values, deliveryAddressType.formikName) === 'PostalAddress' && (\r\n
\r\n \r\n
\r\n )}\r\n {/* Safe to email */}\r\n {currentStepNo === 'step6' &&\r\n (getIn(values, deliveryAddressType.formikName) === 'ResidentialAddress' ||\r\n getIn(values, deliveryAddressType.formikName) === 'PostalAddress' ||\r\n getIn(values, noFixedAddress.formikName) ||\r\n getIn(values, noResidentialAddress.formikName)) &&\r\n (!isResidentialAddressEmpty || !isPostalAddressEmpty) && (\r\n
\r\n \r\n
\r\n )}\r\n {currentStepNo === 'step15' && (\r\n
\r\n \r\n
\r\n )}\r\n {/* Email communication */}\r\n {currentStepNo === 'step6' &&\r\n ((isResidentialAddressEmpty && isPostalAddressEmpty) ||\r\n getIn(values, deliveryAddressType.formikName) === 'EmailAddress' ||\r\n getIn(values, isEmailRequired.formikName) === 'true') && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n {currentStepNo === 'step15' && getIn(values, isEmailRequired.formikName) === 'true' && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n {/* Phone communication */}\r\n {getIn(values, phoneApplicant.formikName) === 'true' && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {getIn(values, phoneApplicant.formikName) === 'true' && getIn(values, interpreterRequiredPrompt.formikName) === 'true' && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n );\r\n}\r\nexport default VictimInformation;\r\n","import { ReactElement } from 'react';\r\nimport { FieldProps, ErrorMessage, useFormikContext, getIn } from 'formik';\r\nimport classnames from 'classnames';\r\nimport { tile } from '@interfaces/interfaces';\r\nimport styles from './TileRadio.module.scss';\r\n\r\ninterface iTileRadioInfo {\r\n caption: string;\r\n tileValue?: string;\r\n}\r\n\r\ninterface iProps extends FieldProps {\r\n title?: string;\r\n isMandatory: boolean;\r\n tileData: tile[];\r\n orientationRow: boolean;\r\n mobileCollapseRow?: boolean;\r\n classname?: string;\r\n wrapTiles?: boolean;\r\n info?: iTileRadioInfo;\r\n tileChanged?: () => void;\r\n}\r\n\r\nconst TileRadio = ({ title, isMandatory, field, form, tileData, orientationRow, mobileCollapseRow, classname, wrapTiles, info, tileChanged }: iProps): ReactElement => {\r\n const { errors, touched, values }: { errors: any; touched: any, values: any } = useFormikContext();\r\n const hasError = getIn(errors, field.name);\r\n const touchedError = getIn(touched, field.name);\r\n const tileLength = tileData.length;\r\n return (\r\n <>\r\n {title && (\r\n \r\n {title?.includes('\\n\\r')\r\n ? (\r\n \r\n {title.split('\\n\\r')[0]}\r\n
\r\n {title.split('\\n\\r')[1]}\r\n
\r\n)\r\n : {title}}\r\n {!isMandatory && ( optional )}\r\n
\r\n )}\r\n 2,\r\n })}>\r\n {tileData.map((tileItem) => (\r\n \r\n {\r\n form.setFieldTouched(field.name);\r\n form.setFieldValue(field.name, tileItem.value);\r\n // handle tileChanged only a tile is already selected and a new tile is now selected\r\n if (getIn(values, field.name) && tileItem.value !== getIn(values, field.name) && tileChanged) tileChanged();\r\n }}\r\n />\r\n
\r\n \r\n
\r\n ))}\r\n {tileData.map((tileItem) => (\r\n \r\n {info && info.tileValue === tileItem.value && info.tileValue === getIn(values, field.name) && (\r\n \r\n {info && info.tileValue === tileItem.value && info.tileValue === getIn(values, field.name) && (

{info.caption}

)}\r\n
\r\n )}\r\n \r\n ))}\r\n {info && info.tileValue === getIn(values, field.name) && (

{info.caption}

)}\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nTileRadio.defaultProps = {\r\n title: null,\r\n mobileCollapseRow: true,\r\n classname: '',\r\n tileChanged: null,\r\n wrapTiles: false,\r\n info: null,\r\n};\r\n\r\nexport default TileRadio;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CheckboxInputGroup_container__3673O\",\"tickContainer\":\"CheckboxInputGroup_tickContainer__1g2rb\",\"body\":\"CheckboxInputGroup_body__2-i5m\",\"inputError\":\"CheckboxInputGroup_inputError__2M8Q2\",\"errorMsg\":\"CheckboxInputGroup_errorMsg__3rkU1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"RadioGroup_container__37uHH\",\"tickContainer\":\"RadioGroup_tickContainer__2ZM-8\",\"body\":\"RadioGroup_body__ut7iE\",\"inputError\":\"RadioGroup_inputError__1_owx\",\"errorMsg\":\"RadioGroup_errorMsg__2V07C\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"body\":\"TPStep1_body__1B74J\",\"desc\":\"TPStep1_desc__1lqEq\",\"tile\":\"TPStep1_tile__4nIJW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"requiredDetails\":\"TPStep3_requiredDetails__qQXGt\",\"bold\":\"TPStep3_bold__8Zweh\",\"details\":\"TPStep3_details__3TxkN\",\"optional\":\"TPStep3_optional__3xl5n\",\"lineBreak\":\"TPStep3_lineBreak__2VoAv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"offenceDetails\":\"FVSStep18_offenceDetails__1TBGn\",\"middleNoteSection\":\"FVSStep18_middleNoteSection__3YnQl\",\"bold\":\"FVSStep18_bold__33u6P\",\"tile\":\"FVSStep18_tile__3lP6k\",\"vfH4\":\"FVSStep18_vfH4__2nA1T\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"boxheight\":\"NominationStep1_boxheight__2lxwm\",\"contactLink\":\"NominationStep1_contactLink__tecVH\",\"bold\":\"NominationStep1_bold__3gU7r\",\"btnFooter\":\"NominationStep1_btnFooter__3O8GD\",\"bitmapSection\":\"NominationStep1_bitmapSection__rnVe-\",\"bitmapImage\":\"NominationStep1_bitmapImage__11a4e\",\"image\":\"NominationStep1_image__1NdPk\",\"sectionTitle\":\"NominationStep1_sectionTitle__2dfEI\",\"sectionDescription\":\"NominationStep1_sectionDescription__12WUM\",\"accordionContent\":\"NominationStep1_accordionContent__2yNe0\",\"caption\":\"NominationStep1_caption__3HE6Z\",\"accordionImage\":\"NominationStep1_accordionImage__2PylQ\",\"vfH4\":\"NominationStep1_vfH4__1r1GO\",\"errorMessageButtons\":\"NominationStep1_errorMessageButtons__1oK68\",\"reduceGap\":\"NominationStep1_reduceGap__2tvu8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"requiredDetails\":\"NominationStep7_requiredDetails__vLyiU\",\"bold\":\"NominationStep7_bold__DUVpw\",\"details\":\"NominationStep7_details__1GaHf\",\"optional\":\"NominationStep7_optional__1YkAE\",\"lineBreak\":\"NominationStep7_lineBreak__3Coak\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"boxheight\":\"InstalmentStep1_boxheight__1tP81\",\"contactLink\":\"InstalmentStep1_contactLink__1Ddq1\",\"bold\":\"InstalmentStep1_bold__2P_D4\",\"btnFooter\":\"InstalmentStep1_btnFooter__kIVmz\",\"bitmapSection\":\"InstalmentStep1_bitmapSection__2S26S\",\"bitmapImage\":\"InstalmentStep1_bitmapImage__wvalr\",\"image\":\"InstalmentStep1_image__1v27b\",\"sectionTitle\":\"InstalmentStep1_sectionTitle__20lhh\",\"sectionDescription\":\"InstalmentStep1_sectionDescription__2m2oN\",\"accordionContent\":\"InstalmentStep1_accordionContent__3uYzN\",\"caption\":\"InstalmentStep1_caption__eTkpb\",\"accordionImage\":\"InstalmentStep1_accordionImage__1ABB2\",\"vfH4\":\"InstalmentStep1_vfH4__1DPr2\",\"errorMessageButtons\":\"InstalmentStep1_errorMessageButtons__WCflB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconButton\":\"InstalmentStep3_iconButton__3kNfV\",\"contactLink\":\"InstalmentStep3_contactLink__3b_u0\",\"btnFooter\":\"InstalmentStep3_btnFooter__CD4hn\",\"sectionTitle\":\"InstalmentStep3_sectionTitle__Apm3M\",\"notificationDiv\":\"InstalmentStep3_notificationDiv__1X7TL\",\"vfH4\":\"InstalmentStep3_vfH4__pSveI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconButton\":\"ReviewStep2_iconButton__2iXF4\",\"contactLink\":\"ReviewStep2_contactLink__3FZ9B\",\"btnFooter\":\"ReviewStep2_btnFooter__2LYKw\",\"sectionTitle\":\"ReviewStep2_sectionTitle__1Xdp2\",\"notificationDiv\":\"ReviewStep2_notificationDiv__1zHGk\",\"vfH4\":\"ReviewStep2_vfH4__3ezcs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loading\":\"FormLoading_loading__1D-p7\",\"cssloadcontainer\":\"FormLoading_cssloadcontainer__18pRy\",\"inline\":\"FormLoading_inline__2jkoc\",\"cssloadwhirlpool\":\"FormLoading_cssloadwhirlpool__1Z363\",\"cssload-rotate\":\"FormLoading_cssload-rotate__1moEV\",\"load-effect\":\"FormLoading_load-effect__2KP2O\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonContainer\":\"NominationAccordions_buttonContainer__1WUHo\",\"continueBtn\":\"NominationAccordions_continueBtn__SZut4\",\"navigationRow\":\"NominationAccordions_navigationRow__1CWWN\",\"buttons\":\"NominationAccordions_buttons__2q4yb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"manualInputForm\":\"InformationContainer_manualInputForm__2i5D1\",\"autoInfoContainerInfo\":\"InformationContainer_autoInfoContainerInfo__36uRQ\",\"infoContainerText\":\"InformationContainer_infoContainerText__2wALE\",\"red\":\"InformationContainer_red__2Uqyp\",\"green\":\"InformationContainer_green__2LcAC\",\"default\":\"InformationContainer_default__3KJG7\",\"titleWarning\":\"InformationContainer_titleWarning__2hn-U\",\"infoContainerInfoRemoveMarin\":\"InformationContainer_infoContainerInfoRemoveMarin__1El83\",\"error\":\"InformationContainer_error__lPlSs\",\"success\":\"InformationContainer_success__XFN5-\",\"info\":\"InformationContainer_info__3vnpD\",\"info2\":\"InformationContainer_info2__31NaA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonContainer\":\"ReviewAccordionFooter_buttonContainer__2YfZD\",\"continueBtn\":\"ReviewAccordionFooter_continueBtn__AecmS\",\"navigationRow\":\"ReviewAccordionFooter_navigationRow__2-iJ1\",\"buttons\":\"ReviewAccordionFooter_buttons__2ujTc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"requiredDetails\":\"NominationStep6_requiredDetails__22v31\",\"bold\":\"NominationStep6_bold__35-pz\",\"details\":\"NominationStep6_details__rY4Jj\",\"optional\":\"NominationStep6_optional__2AQIS\",\"lineBreak\":\"NominationStep6_lineBreak__1Pg-K\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"msgWarning\":\"AddressFieldAlertContent_msgWarning__vLmCk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Autosuggest_theme_container__HWT4J\",\"input\":\"Autosuggest_theme_input__3b1Tr\",\"suggestionsContainerOpen\":\"Autosuggest_theme_suggestionsContainerOpen__2zyx4\",\"suggestionsList\":\"Autosuggest_theme_suggestionsList__1B6s-\",\"suggestion\":\"Autosuggest_theme_suggestion__1Kz9Q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"Button_button__xAsiB\",\"blue\":\"Button_blue__qvaUD\",\"white\":\"Button_white__18eda\",\"grey\":\"Button_grey__3IoiY\",\"transparent\":\"Button_transparent__nt5A8\",\"small\":\"Button_small__3It0h\",\"small_medium\":\"Button_small_medium__3Emj5\",\"medium\":\"Button_medium__34D0b\",\"disabled\":\"Button_disabled__2gL_t\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tile\":\"VictimInformation_tile__3Anyd\",\"CheckboxInput\":\"VictimInformation_CheckboxInput__3HNc_\",\"subHeadingInfo\":\"VictimInformation_subHeadingInfo__2MsGI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"PayForm_button__2kcm6\",\"blue\":\"PayForm_blue__2vfU7\",\"medium\":\"PayForm_medium__1LHSI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"CourtStep4AlertContent_bold__EqX4i\",\"link\":\"CourtStep4AlertContent_link__3Rw3s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"BackgroundAndIdentityDetails_bold__24O5m\",\"subHeadingH3\":\"BackgroundAndIdentityDetails_subHeadingH3__EyOsZ\",\"subInfo\":\"BackgroundAndIdentityDetails_subInfo__3blIL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconButton\":\"NominationStep2_iconButton__2VCfD\",\"contactLink\":\"NominationStep2_contactLink__1YGwg\",\"btnFooter\":\"NominationStep2_btnFooter__2wgd8\",\"sectionTitle\":\"NominationStep2_sectionTitle__3TN8S\",\"notificationDiv\":\"NominationStep2_notificationDiv__3OuJm\",\"vfH4\":\"NominationStep2_vfH4__2UzAg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"ReviewStep4_bold__srwUM\",\"col\":\"ReviewStep4_col__1SX8H\",\"title\":\"ReviewStep4_title__1PzvS\",\"contactLink\":\"ReviewStep4_contactLink__1RGXI\",\"modalLink\":\"ReviewStep4_modalLink__2h5D7\",\"modal-open\":\"ReviewStep4_modal-open__2mZSR\",\"bitmapSection\":\"ReviewStep4_bitmapSection__1k7Mu\",\"bitmapTitle\":\"ReviewStep4_bitmapTitle__1auwj\",\"bitmapImage\":\"ReviewStep4_bitmapImage__zUq44\",\"image\":\"ReviewStep4_image__1heBL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"col\":\"ReviewStep5_col__28xCJ\",\"title\":\"ReviewStep5_title__3BmnQ\",\"titleError\":\"ReviewStep5_titleError__526z6\",\"inputError\":\"ReviewStep5_inputError__2eyCl\",\"tile\":\"ReviewStep5_tile__3lcdo\",\"listwithoutPadding\":\"ReviewStep5_listwithoutPadding__jlWtr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonContainer\":\"SpecialStatementsStep7_buttonContainer__2uGQb\",\"ButtonStyle\":\"SpecialStatementsStep7_ButtonStyle__16uln\",\"navigationRow\":\"SpecialStatementsStep7_navigationRow__1wzE2\",\"buttons\":\"SpecialStatementsStep7_buttons__2zPKn\",\"linkIcon\":\"SpecialStatementsStep7_linkIcon__2Qevu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"IndividualFormReview_container__3hVas\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"IndividualFormNominate_container__1NlZ_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CompanyFormNominate_container__3HeSK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"step7\":\"TPStep7_step7__1JG5m\",\"submissionBody\":\"TPStep7_submissionBody__bOItn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popupContent\":\"CourtStep0_popupContent__2FqBn\",\"infoDiv\":\"CourtStep0_infoDiv__LjVcd\",\"icon\":\"CourtStep0_icon__15d8p\",\"info\":\"CourtStep0_info__1zneo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popupContent\":\"ExtensionStep0_popupContent__K4WST\",\"infoDiv\":\"ExtensionStep0_infoDiv__3CIbD\",\"icon\":\"ExtensionStep0_icon__1HfXu\",\"info\":\"ExtensionStep0_info__3sMjn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"boxheight\":\"ExtensionStep15_boxheight__239Zk\",\"contactLink\":\"ExtensionStep15_contactLink__3xuqc\",\"bold\":\"ExtensionStep15_bold__3WlCU\",\"numberSize\":\"ExtensionStep15_numberSize__2vR-1\",\"btnFooter\":\"ExtensionStep15_btnFooter__TFBFX\",\"bitmapSection\":\"ExtensionStep15_bitmapSection__1G5wv\",\"bitmapTitle\":\"ExtensionStep15_bitmapTitle__1gJZa\",\"bitmapImage\":\"ExtensionStep15_bitmapImage__2gBq0\",\"image\":\"ExtensionStep15_image__3Q-l_\",\"sectionTitle\":\"ExtensionStep15_sectionTitle__EU4kO\",\"sectionDescription\":\"ExtensionStep15_sectionDescription__kZe-6\",\"accordionContent\":\"ExtensionStep15_accordionContent__d3VWj\",\"caption\":\"ExtensionStep15_caption__1Q3NC\",\"accordionImage\":\"ExtensionStep15_accordionImage__260xF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popupContent\":\"FVSStep0_popupContent__3WmPL\",\"thick\":\"FVSStep0_thick__Tj_So\",\"infoDiv\":\"FVSStep0_infoDiv__pEI3_\",\"icon\":\"FVSStep0_icon__2JQ0Y\",\"info\":\"FVSStep0_info__11tuE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"titleError\":\"FVSStep5_titleError__c_-7t\",\"tile\":\"FVSStep5_tile__18AwZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"titleError\":\"LikelyPossibilities_titleError__3nUeC\",\"tile\":\"LikelyPossibilities_tile__1Q975\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popupContent\":\"InfringementExtStep0_popupContent__3JZR4\",\"thick\":\"InfringementExtStep0_thick__s314g\",\"infoDiv\":\"InfringementExtStep0_infoDiv__2520m\",\"icon\":\"InfringementExtStep0_icon__1tHxu\",\"info\":\"InfringementExtStep0_info__19k9q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"InfringementExtStep3_bold__it_4r\",\"separator\":\"InfringementExtStep3_separator__xFUKn\",\"col\":\"InfringementExtStep3_col__6smv6\",\"title\":\"InfringementExtStep3_title__18iHx\",\"titleError\":\"InfringementExtStep3_titleError__WpSJk\",\"inputError\":\"InfringementExtStep3_inputError__25cNj\",\"subHeading\":\"InfringementExtStep3_subHeading__pyrn6\",\"inputGroupSpacing\":\"InfringementExtStep3_inputGroupSpacing__79EnN\",\"checkBoxTitleSpacing\":\"InfringementExtStep3_checkBoxTitleSpacing__1j_ES\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"InfringementExtStep6_button__1_SsW\",\"subtext\":\"InfringementExtStep6_subtext__qVtoW\",\"largeTextBox\":\"InfringementExtStep6_largeTextBox__3RjcB\",\"inputFormContainer\":\"InfringementExtStep6_inputFormContainer__23E2x\",\"titleBold\":\"InfringementExtStep6_titleBold__1-P_v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popupContent\":\"NominationStep0_popupContent__2Ar7a\",\"thick\":\"NominationStep0_thick__3Qc4I\",\"infoDiv\":\"NominationStep0_infoDiv__udxnX\",\"icon\":\"NominationStep0_icon__3zWxG\",\"info\":\"NominationStep0_info__3mRhb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popupContent\":\"InstalmentStep0_popupContent__5Kint\",\"thick\":\"InstalmentStep0_thick__251rx\",\"infoDiv\":\"InstalmentStep0_infoDiv__3u807\",\"icon\":\"InstalmentStep0_icon__r9I5S\",\"info\":\"InstalmentStep0_info__136Cd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iconContainer\":\"InstalmentStep8_iconContainer__3x7x2\",\"iconButton\":\"InstalmentStep8_iconButton__1nsE4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popupContent\":\"ReviewStep0_popupContent__2gG9Y\",\"thick\":\"ReviewStep0_thick__3JvBl\",\"infoDiv\":\"ReviewStep0_infoDiv__MMr6Q\",\"icon\":\"ReviewStep0_icon__6mL96\",\"info\":\"ReviewStep0_info__3Zhf7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ThirdPartyFormReview_container__eGYx1\",\"tileLeft\":\"ThirdPartyFormReview_tileLeft__1SAYZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"IndividualForm_container__3rTH4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"OrganisationForm_container__2IPdZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"step6\":\"TPStep6_step6__1AcVX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"ThirdParty_form__1UKHe\",\"gridColFull\":\"ThirdParty_gridColFull__1HQI-\",\"gridColHalf\":\"ThirdParty_gridColHalf__1crGo\",\"gridColQuarter\":\"ThirdParty_gridColQuarter__1-Aj6\",\"recaptcha\":\"ThirdParty_recaptcha__hZBIE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"boxheight\":\"ExtensionStep16_boxheight__2XTNp\",\"contactLink\":\"ExtensionStep16_contactLink__2GhBc\",\"bold\":\"ExtensionStep16_bold__2Tkok\",\"numberSize\":\"ExtensionStep16_numberSize__1ROoE\",\"btnFooter\":\"ExtensionStep16_btnFooter__3KFXy\",\"bitmapSection\":\"ExtensionStep16_bitmapSection__RWpne\",\"bitmapTitle\":\"ExtensionStep16_bitmapTitle__uye-g\",\"bitmapImage\":\"ExtensionStep16_bitmapImage__3Ln74\",\"image\":\"ExtensionStep16_image__m7xQl\",\"sectionTitle\":\"ExtensionStep16_sectionTitle__3258Y\",\"sectionDescription\":\"ExtensionStep16_sectionDescription__2KFhe\",\"accordionContent\":\"ExtensionStep16_accordionContent__yLD2e\",\"caption\":\"ExtensionStep16_caption__378kE\",\"accordionImage\":\"ExtensionStep16_accordionImage__3rpUm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"FVSStep11AlertContent_bold__2e98t\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"NominationStep4_bold__3JXv4\",\"separator\":\"NominationStep4_separator__BVovS\",\"col\":\"NominationStep4_col__13QlX\",\"title\":\"NominationStep4_title__1Npih\",\"titleError\":\"NominationStep4_titleError__3YIGf\",\"inputError\":\"NominationStep4_inputError__26Hsd\",\"subHeading\":\"NominationStep4_subHeading__lA9bH\",\"inputGroupSpacing\":\"NominationStep4_inputGroupSpacing__2fPpz\",\"checkBoxTitleSpacing\":\"NominationStep4_checkBoxTitleSpacing__1W9ZL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"NominationStep5_bold__2Kt4t\",\"col\":\"NominationStep5_col__3SUTf\",\"title\":\"NominationStep5_title__xlCH4\",\"contactLink\":\"NominationStep5_contactLink__49Df1\",\"modalLink\":\"NominationStep5_modalLink__1xXzf\",\"modal-open\":\"NominationStep5_modal-open__3nsKz\",\"bitmapSection\":\"NominationStep5_bitmapSection__LrG-R\",\"bitmapTitle\":\"NominationStep5_bitmapTitle__3XnB4\",\"bitmapImage\":\"NominationStep5_bitmapImage__1mmrK\",\"image\":\"NominationStep5_image__2_XYO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subtitle\":\"InstalmentStep9_subtitle__2xp9H\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalLink\":\"InstalmentStep10_modalLink__2VlVS\",\"button_container\":\"InstalmentStep10_button_container__KiuB3\",\"errorMessageButtons\":\"InstalmentStep10_errorMessageButtons__3OQXs\",\"errorMessageQuestion\":\"InstalmentStep10_errorMessageQuestion__1TkAA\",\"optional\":\"InstalmentStep10_optional__2bXek\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bold\":\"ReviewStep6_bold__104vD\",\"col\":\"ReviewStep6_col__1lBK9\",\"title\":\"ReviewStep6_title__5THNb\",\"contactLink\":\"ReviewStep6_contactLink__1_clJ\",\"modalLink\":\"ReviewStep6_modalLink__35kJt\",\"modal-open\":\"ReviewStep6_modal-open__7tPbv\",\"bitmapSection\":\"ReviewStep6_bitmapSection__uPd8H\",\"bitmapTitle\":\"ReviewStep6_bitmapTitle__1IwhT\",\"bitmapImage\":\"ReviewStep6_bitmapImage__1lyUx\",\"image\":\"ReviewStep6_image__1xB3X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ReviewStep9_container__1zqu3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CompanyFormReview_container__282ph\"};"],"sourceRoot":""}