{"version":3,"sources":["components/forms/form-fields/InputField.js","assets/documents/products-key-information/fidelity/Summary_of_Changes_to_Fidelity_Computer_Crime_Policy_October_2022.pdf","pages/prizes/components/Introduction.js","validation/prizes/nama/formModel.js","validation/prizes/nama/initialValues.js","validation/prizes/nama/validationSchema.js","components/forms/NamaGiveawayForm.js","pages/prizes/NamaGiveaway.js","assets/documents/products-key-information/fidelity/Fidelity_and_Computer_Crime_Insurance_Policy_October_2022.pdf","components/SectionTitle.js","pages/information/newsletters/post-components/posts lazy /^/.*$/ groupOptions: {} namespace object","utils/axios/AxiosOptions.js","utils/axios/modules/AxiosBase.js","utils/axios/AxiosRequest.js","assets/documents/CIA-Hot-Works-Permit-2023.pdf","pages/products/components/Introduction.js","assets/images/product-pages/homeowners.jpg","pages/products/components/WhatsCovered.js","assets/images/icons/pdf.svg","pages/products/components/Downloads.js","assets/images/icons/housefire.svg","assets/images/icons/storm.svg","assets/images/icons/accident.svg","assets/images/icons/electric.svg","assets/images/icons/storage-tank.svg","assets/images/icons/landslide.svg","assets/images/icons/wallet.svg","assets/images/icons/casino-cctv.svg","assets/images/icons/security-guard.svg","assets/images/icons/data-transfer.svg","assets/images/icons/landscape.svg","assets/documents/products-key-information/homeowners/Broadform-Homeowners-Key-Information-Document-1-April-2023.pdf","assets/documents/products-key-information/homeowners/Broadform-Homeowners-Insurance-Policy-April-2023.pdf","assets/documents/products-key-information/Insurance-Proposal-Form-November 2024.pdf","pages/products/HomeownersBuildingInsurance.js","assets/images/product-pages/community.jpg","assets/images/icons/regulation.svg","assets/images/icons/patient.svg","assets/images/icons/elevator.svg","assets/images/icons/violence.svg","assets/images/icons/washing-machine.svg","assets/images/icons/graffiti.svg","assets/images/icons/honesty.svg","assets/documents/products-key-information/community/Community-Living-Key-Information-Document-1-April-2023.pdf","assets/documents/products-key-information/community/Community-Living-Insurance-Policy-April-2023.pdf","assets/documents/products-key-information/community/Average-Waiver-Extension.pdf","assets/documents/products-key-information/community/Enhanced-Geyser-Benefit.pdf","pages/products/CommunityLivingInsurance.js","assets/images/product-pages/commercial.jpg","assets/images/icons/sprinkle.svg","assets/images/icons/fire-extinguisher.svg","assets/images/icons/water-waves.svg","assets/images/icons/electric-generator.svg","assets/documents/products-key-information/commercial/Broadform-Building-Key-Information-Document-1-April-2023.pdf","assets/documents/products-key-information/commercial/Broadform-Building-Insurance-Policy-April-2023.pdf","pages/products/CommercialBuildingInsurance.js","assets/images/product-pages/fidelity.jpg","assets/images/icons/money.svg","assets/images/icons/employee.png","assets/images/icons/computer.svg","assets/images/icons/fake-news.png","assets/documents/products-key-information/fidelity/Fidelity-And-Computer-Crime-Quotation-Proposal-Form.pdf","assets/documents/products-key-information/fidelity/CIA-Fidelity-Computer-Crime-Declaration-ManagingAgent.pdf","pages/products/FidelityComputerCrimeInsurance.js","pages/information/national-building-regulations/components/Introduction.js","pages/information/national-building-regulations/components/ExtractsRegulations.js","pages/information/national-building-regulations/NationalBuildingRegulations.js","validation/newsletter/formModel.js","validation/newsletter/initialValues.js","validation/newsletter/validationSchema.js","components/forms/NewsletterForm.js","pages/information/newsletters/Newsletter.js","pages/information/newsletters/newsletter-sidebar/SearchContainer.js","pages/information/newsletters/NewsletterSidebar.js","pages/information/newsletters/Post.js","pages/information/newsletters/components/NewsletterPagination.js","pages/information/newsletters/ListPosts.js","pages/information/newsletters/NewsletterContainer.js","pages/information/Newsletters.js","pages/self-assist/request-insurance-certificate/components/Introduction.js","validation/request-insurance-certificate/formModel.js","validation/request-insurance-certificate/initialValues.js","validation/request-insurance-certificate/validationSchema.js","components/forms/RequestInsuranceCertificateForm.js","pages/self-assist/request-insurance-certificate/RequestInsuranceCertificate.js","assets/images/online-training.jpg","pages/self-assist/online-broker-training/components/Introduction.js","pages/self-assist/online-broker-training/components/OnlineTrainingDescription.js","pages/self-assist/online-broker-training/OnlineBrokerTraining.js","pages/self-assist/register-online-broker-training/components/Introduction.js","validation/register-online-broker-training/formModel.js","validation/register-online-broker-training/initialValues.js","validation/register-online-broker-training/validationSchema.js","components/forms/form-fields/RadioField.js","components/forms/RegisterOnlineBrokerForm.js","pages/self-assist/register-online-broker-training/RegisterOnlineBrokerTraining.js","components/website-map/GoogleMap.js","components/forms/form-fields/GoogleSearchField.js","pages/self-assist/FindBroker.js","pages/self-assist/broker-agency-application/components/Introduction.js","assets/documents/Broker-Application-Form.pdf","pages/self-assist/broker-agency-application/components/DownloadArea.js","pages/self-assist/broker-agency-application/BrokerAgencyApplication.js","pages/self-assist/existing-policy-schedule/components/Introduction.js","validation/careers/formModel.js","validation/careers/initialValues.js","validation/careers/validationSchema.js","components/forms/form-fields/UploadInput.js","components/forms/ExistingPolicyScheduleForm.js","pages/self-assist/existing-policy-schedule/components/UploadForm.js","pages/self-assist/existing-policy-schedule/ExistingPolicySchedule.js","validation/track-claim/formModel.js","validation/track-claim/initialValues.js","validation/track-claim/validationSchema.js","components/forms/TrackClaimForm.js","pages/self-assist/track-claim/TrackClaim.js","pages/home-page/components/Introduction.js","assets/images/cia-house-cropped.jpg","assets/images/community-home-cropped.jpg","assets/images/commercial-building-cropped.jpg","assets/images/fidelity-computer-crime-cropped.jpg","pages/home-page/components/ProductInfo.js","assets/images/icons/multitasking.svg","assets/images/icons/laptop.svg","assets/images/icons/find-my-friend.svg","assets/images/icons/insurance-policy.svg","assets/images/icons/policy.svg","assets/images/icons/process.svg","pages/home-page/components/SelfAssistOptions.js","pages/home-page/components/Testemonials.js","pages/home-page/components/Newsletter.js","assets/images/slider/communitiy-home-carousel.jpg","assets/images/slider/homeowners-home-carousel.jpg","assets/images/slider/commercial-home-carousel.jpg","pages/home-page/components/HomeSlider.js","pages/home-page/Home.js","assets/images/about-us.jpg","pages/about-us/components/Introduction.js","assets/images/icons/tolerance.svg","assets/images/icons/solution.svg","pages/about-us/components/OurValues.js","assets/images/compass-1.png","assets/images/LHLogo.png","assets/images/Hannover_Logo.png","pages/about-us/components/OurPartners.js","components/forms/CareersForm.js","pages/about-us/components/Careers.js","pages/about-us/AboutUs.js","pages/contact-us/components/Branches.js","pages/contact-us/ContactUs.js","pages/get-quote/components/Introduction.js","pages/get-quote/components/quote-wizard/fidelity/FidelityCover.js","validation/get-quote/homeowners/formModel.js","validation/get-quote/homeowners/initialValues.js","validation/get-quote/homeowners/validationSchema.js","components/forms/form-fields/RangeInput.js","pages/get-quote/components/quote-wizard/homeowners/PropertyDetails.js","pages/get-quote/components/quote-wizard/homeowners/QuotationDetails.js","pages/get-quote/components/quote-wizard/homeowners/ContactDetails.js","pages/get-quote/components/quote-wizard/QuoteSuccess.js","pages/get-quote/components/quote-wizard/homeowners/HomeownersWizard.js","validation/get-quote/community/formModel.js","validation/get-quote/community/initialValues.js","validation/get-quote/community/validationSchema.js","pages/get-quote/components/quote-wizard/community/PropertyDetails.js","pages/get-quote/components/quote-wizard/community/ContactDetails.js","pages/get-quote/components/quote-wizard/community/CommunityWizard.js","validation/get-quote/commercial/formModel.js","validation/get-quote/commercial/initialValues.js","validation/get-quote/commercial/validationSchema.js","pages/get-quote/components/quote-wizard/commercial/PropertyDetails.js","pages/get-quote/components/quote-wizard/commercial/ContactDetails.js","pages/get-quote/components/quote-wizard/commercial/CommercialWizard.js","pages/get-quote/components/GetQuoteWizard.js","pages/get-quote/GetQuote.js","pages/embed/get-quote/components/Introduction.js","pages/embed/get-quote/components/quote-wizard/homeowners/PropertyDetails.js","pages/embed/get-quote/components/quote-wizard/homeowners/QuotationDetails.js","pages/embed/get-quote/components/quote-wizard/homeowners/ContactDetails.js","pages/embed/get-quote/components/quote-wizard/QuoteSuccess.js","pages/embed/get-quote/components/quote-wizard/homeowners/HomeownersWizard.js","pages/embed/get-quote/components/quote-wizard/community/PropertyDetails.js","pages/embed/get-quote/components/quote-wizard/community/ContactDetails.js","pages/embed/get-quote/components/quote-wizard/community/CommunityWizard.js","pages/embed/get-quote/components/quote-wizard/commercial/PropertyDetails.js","pages/embed/get-quote/components/quote-wizard/commercial/ContactDetails.js","pages/embed/get-quote/components/quote-wizard/commercial/CommercialWizard.js","pages/embed/get-quote/components/GetQuoteWizard.js","pages/embed/get-quote/GetQuote.js","pages/claim/components/Introduction.js","assets/documents/CIA-Fast-Track-Geyser-Claim-Form.pdf","assets/documents/CIA-Claim-Form.pdf","assets/documents/CIA-Fidelity-Computer-Crime-Claim-Form.pdf","pages/claim/components/Cards.js","assets/images/icons/smartphone.svg","assets/images/icons/home-repair.svg","assets/images/icons/camera.svg","assets/images/icons/police-badge.svg","assets/images/icons/email.svg","assets/images/icons/approval.svg","assets/images/icons/solidarity.svg","pages/claim/components/ClaimSteps.js","pages/claim/Claim.js","pages/request-callback/components/Introduction.js","validation/request-callback/formModel.js","validation/request-callback/initialValues.js","validation/request-callback/validationSchema.js","components/forms/RequestCallbackForm.js","pages/request-callback/RequestCallBack.js","assets/documents/legal/CIA-Privacy-Policy.pdf","assets/documents/legal/CIA-Objection-Request-POPI-Form.pdf","assets/documents/legal/Promotion-of-Access-to-Information.pdf","assets/documents/legal/Code-of-Conduct-2022.pdf","assets/documents/legal/Disclosure-Notice.pdf","assets/documents/legal/Treating-Customers-Fairly-Nov-2020.pdf","assets/documents/legal/Conflict of Interest Management Policy Sept 2024.pdf","assets/documents/legal/Complaints-Policy.pdf","pages/Legal.js","assets/documents/products-key-information/fidelity/Fidelity_and_Computer_Crime_Insurance_Policy_1_March_2023.pdf","assets/documents/Geyser-Brochure-2023.pdf","assets/documents/CIA-ALTERNATIVE-ENERGY-2024.pdf","assets/documents/FG-Renewal-Form.pdf","assets/documents/CIA-2024-Brochures.pdf","pages/Downloads.js","assets/images/icons/house.svg","assets/images/icons/apartment.svg","assets/images/icons/shop.svg","assets/images/icons/computer-network.svg","assets/images/icons/envelope.svg","assets/images/icons/light-bulb.svg","constants/AppConstants.js","components/recaptcha/RecaptchaField.js","components/forms/FormMessage.js","components/navigation/navbar/mega-menu-items/ProductsMenu.js","components/navigation/navbar/mega-menu-items/UsefulInfoMenu.js","components/navigation/navbar/mega-menu-items/SelfAssistMenu.js","assets/images/logos/cia_logo_nav.svg","components/navigation/navbar/NavbarMobile.js","components/navigation/navbar/Navbar.js","components/navigation/footer/Footer.js","components/Layout.js","assets/images/logos/cia_logo.png","pages/NotFound.js","helpers/app-theme/ThemeBuilderOptions.js","App.js","serviceWorkerRegistration.js","reportWebVitals.js","index.js","components/forms/WebsiteForms.js","components/RecaptchaText.js"],"names":["InputField","props","errorText","rest","_objectWithoutProperties","_excluded","field","meta","useField","_jsx","TextField","_objectSpread","type","variant","size","error","touched","helperText","at","_renderHelperText","IntroductionRoot","styled","_ref","theme","backgroundColor","padding","textAlign","Introduction","children","_jsxs","Container","maxWidth","SectionTitle","subtitle","hideArrow","Typography","marginY","formModel","name","label","requiredErrorMsg","email","company","initialValues","validationSchema","Yup","shape","required","concat","NamaGiveawayFormFormRoot","NamaGiveawayFormForm","response","setResponse","useState","undefined","isSuccessful","Box","sx","display","alignItems","justifyContent","flexDirection","fontSize","marginBottom","WebsiteForms","formUrl","handleResponse","Grid","container","spacing","item","xs","sm","fullWidth","NamaGiveawayRoot","NamaGiveaway","Fade","in","NamaGiveawayForm","SectionTitleRoot","Title","_ref2","fontWeight","color","paddingBottom","borderBottom","Subtitle","_ref3","margin","title","align","style","FontAwesomeIcon","icon","faChevronRight","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","all","slice","keys","Object","module","exports","AxiosOptions","url","method","baseURL","window","document","baseURI","headers","params","paramsSerializer","data","timeout","withCredentials","adapter","auth","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","progressEvent","onDownloadProgress","maxContentLength","validateStatus","status","maxRedirects","httpAgent","http","Agent","keepAlive","httpsAgent","https","proxy","AxiosBase","async","options","request_options","axios","location","replace","assign","header","request","message","AxiosRequest","get","arguments","length","post","put","delete","IntroImage","width","boxShadow","breakpoints","up","height","content","history","useHistory","src","marginTop","Button","onClick","push","faPaperPlane","marginLeft","WhatsCoveredRoot","IconContainer","ItemIcon","marginRight","filter","TextContainer","_ref4","ItemTitle","_ref5","ItemText","_ref6","paddingRight","WhatsCovered","_ref7","icon_items","expand","setExpand","icon_item","index","Collapse","DownloadsRoot","DownloadsItem","cursor","Downloads","_ref8","document_items","document_item","open","PdfIcon","className","HomeownersBuildingInsuranceRoot","image","HomeownersImage","paragraph_one","Fragment","paragraph_two","btnText","btnUrl","text","HousFireIcon","StormIcon","AccidentIcon","ElectricIcon","StorageTankIcon","LandslideIcon","WalletIcon","CasinoCctvIcon","SecurityGuardIcon","DataTransferIcon","LandscapeIcon","KeyInformation","HomeowersInsurance","InsuranceProposal","HomeownersBuildingInsurance","CommunityLivingInsuranceRoot","CommunityImage","RegulationIcon","PatientIcon","ElevatorIcon","ViolenceIcon","WashingMachineIcon","GraffitiIcon","HonestyIcon","CommunityInsurance","AverageWaiver","EnhancedGeyser","CommunityLivingInsurance","CommercialBuildingInsuranceRoot","CommercialImage","SprinkleIcon","FireExtinguisherIcon","WaterWavesIcon","ElectricGeneratorIcon","CommercialInsurance","CommercialBuildingInsurance","FidelityComputerCrimeInsuranceRoot","FidelityImage","MoneyIcon","EmployeeIcon","ComputerIcon","FakeNewsIcon","FidelityInsurance","SummaryChanges","QuotationProposal","Declaration","FidelityComputerCrimeInsurance","ExtractsRegulationsRoot","PageText","PageLinks","Accordion","MuiAccordion","disableGutters","elevation","square","AccordionSummary","MuiAccordionSummary","expandIcon","ArrowForwardIosSharpIcon","borderTop","palette","divider","transform","AccordionDetails","MuiAccordionDetails","ExtractsRegulations","expanded","setExpanded","React","handleChange","panel","event","newExpanded","m","Link","href","target","onChange","NationalBuildingRegulationsRoot","NationalBuildingRegulations","NewsletterForm","md","NewsletterRoot","TitleContainer","Newsletter","SearchContainerRoot","SearchResults","position","maxHeight","overflowY","border","borderRadius","ResultItem","whiteSpace","textOverflow","overflow","SearchContainer","handlePostClick","searchValue","setSearchValue","searchResults","setSearchResults","value","result","NewsletterSidebarRoot","AboutContainer","SocialContainer","NewsletterSidebar","fontStyle","PostRoot","LoadingContainer","minHeight","ShareBtn","IconButton","ShareContainer","ShareButtons","Post","useLocation","ready","setReady","component","setComponent","compMessage","setCompMessage","pdfUrl","setPdfUrl","metaImage","setMetaImage","metaDescription","setMetaDescription","metaUrl","setMetaUrl","metaTitle","setMetaTitle","metaType","setMetaType","urlSearchParams","URLSearchParams","search","fromEntries","entries","renderPost","postDetails","c","default","baseUrl","console","log","useEffect","constructor","state","detail","getPost","lg","Breadcrumbs","underline","CircularProgress","Divider","FacebookShareButton","faFacebookF","LinkedinShareButton","faLinkedinIn","WhatsappShareButton","faWhatsapp","EmailShareButton","subject","faEnvelope","rel","faFilePdf","PaginationContainer","listStyleType","down","left","PaginationItem","selected","minWidth","DOTS","range","start","end","Array","from","_","idx","NewsletterPagination","onPageChange","totalCount","siblingCount","currentPage","pageSize","paginationRange","useMemo","totalPageCount","Math","ceil","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","lastPageIndex","rightRange","middleRange","usePagination","lastPage","disabled","onPrevious","ChevronLeft","pageNumber","i","onNext","ChevronRight","ListPostsRoot","PostListContainer","PostContainer","transition","PostTitle","ListPosts","setCurrentPage","setTotalCount","setPageSize","posts","setPosts","getDate","useRef","DOMParser","date","newDate","Date","getMonth","getFullYear","getPosts","post_index","pathname","dangerouslySetInnerHTML","__html","scrollTo","pageYOffset","getElementById","getBoundingClientRect","top","NewsletterContainerRoot","NewsletterContainer","Newsletters","APP_FADE_TIMEOUT","attorneysName","attorneysPostalAddress","attorneysTel","attorneysContactPerson","ownerName","bodyCorporateName","sections","ssNumber","sumInsured","bankName","bankAddress","RequestInsuranceCertificateFormRoot","RequestInsuranceCertificateForm","RequestInsuranceCertificateRoot","RequestInsuranceCertificate","ButtonContainer","order","faPencilAlt","loading","OnlineTraining","alt","OnlineBrokerTrainingRoot","OnlineTrainingDescription","OnlineBrokerTraining","firstName","lastName","idNumber","contactNumber","fspNumber","companyName","registeredAcDevelop","typeError","RadioField","FormControl","RadioGroup","FormControlLabel","control","Radio","RegisterOnlineBrokerFormRoot","RegisterOnlineBrokerForm","RegisterOnlineBrokerTrainingRoot","RegisterOnlineBrokerTraining","GoogleMapRoot","MapContainer","MapLoader","GoogleMap","markers","branches","returnMap","infoWindow","addMap","current","google","maps","Map","zoom","center","lat","lng","mapTypeId","zoomControl","zoomControlOptions","ControlPosition","TOP_RIGHT","streetViewControl","streetViewControlOptions","mapTypeControl","mapTypeControlOptions","scaleControl","rotateControl","fullscreenControl","draggableCursor","tilt","myInterval","setInterval","clearInterval","StartFunc","InfoWindow","scaledSize","Size","origin","Point","anchor","forEach","marker_item","newMarker","Marker","draggable","addListener","setContent","setPosition","split","GoogleSearchFieldRoot","PredictionsRoot","zIndex","PredictionItem","LocationButton","GoogleSearchField","setFieldValue","values","itemChange","brokers","setBrokers","locationBtn","handleLocation","predictions","setPredictions","setValue","loadingLocation","setLoadingLocation","itemClick","navigator","geolocation","Geocoder","geocode","address","results","catch","places","AutocompleteService","getPlacePredictions","input","types","componentRestrictions","country","handleSearch","InputProps","endAdornment","InputAdornment","getLocation","getCurrentPosition","geocoder","latlng","coords","latitude","longitude","formatted_address","faLocationCrosshairs","ClickAwayListener","onClickAway","faBuilding","faLocationDot","FindBrokerRoot","SidebarRoot","Sidebarheader","SidebarInputContainer","MobileInputContainer","FindBroker","setMarkers","setMap","getMarkers","setCenter","setZoom","GeocoderStatus","OK","geometry","clearTimeout","setTimeout","filterQuery","locationObj","Formik","googleSearch","isSubmitting","Form","tempMap","DownloadAreaRoot","DownloadArea","BrokerApplicationForm","BrokerAgencyApplicationRoot","BrokerAgencyApplication","UploadInput","htmlFor","accept","ExistingPolicyScheduleFormRoot","ExistingPolicyScheduleFormContainer","ErrorMessage","main","ExistingPolicyScheduleForm","activeValidation","setActiveValidation","attachment","setAttachment","attachmentError","setAttachmentError","formResponse","setFormResponse","recaptchaRef","APP_ALLOWED_FILE_TYPES","includes","files","pop","file","validateOnChange","validateOnBlur","onSubmit","actions","setSubmitting","token","executeAsync","object","uploadData","reduce","formData","key","append","FormData","resetForm","submit","RecaptchaField","FormMessage","reset","RecaptchaText","UploadForm","ExistingPolicyScheduleRoot","ExistingPolicySchedule","policyNumber","claimNumber","NewsletterFormRoot","NewsletterFormContainer","handleTracking","parseInt","TrackClaimRoot","ClaimDataRoot","ClaimDataHeaderBtn","TrackClaim","showTracking","setShowTracking","contactHandler","setContactHandler","escalate","setEscalate","claimData","setClaimData","setClaimNumber","getText","filterDate","reg","RegExp","testDate","toString","test","isNaN","toLocaleDateString","replaceAll","faMagnifyingGlassLocation","TrackClaimForm","tempArray","hasOwnProperty","call","element","IntroductionTitle","IntroductionText","TitleDot","faAlignRight","ProductInfoRoot","TabListStyled","TabList","TabItem","Tab","textTransform","TabContent","TabPanel","ImageGrid","TextContentGrid","ProductImages","ProductTitle","ProductText","_ref9","ProductActions","_ref10","ProductBtn","_ref11","productItems","shortTitle","link","quoteSection","ProductInfo","useTheme","isMobile","useMediaQuery","TabContext","borderColor","newValue","orientation","SelfAssistRoot","SelfAssistItems","GridContainer","GridLink","selfAssist_Array","linkText","FindMyFriendIcon","LaptopIcon","ProcessIcon","MultitaskingIcon","InsurancePolicyIcon","PolicyIcon","SelfAssistOptions","TestimonialsRoot","SlickContainer","SlickSlider","Slider","SlickItem","testemonial_array","opacity","right","intro","Testemonials","slider","ref","dots","infinite","speed","slidesToShow","slidesToScroll","arrows","slick_item","faQuoteRight","NewsletterDesc","HomeSliderRoot","bottom","primary","typography","pxToRem","SliderContainer","SliderCommunity","background","backgroundSize","backgroundPosition","SliderHomeowners","SliderCommercial","CardRoot","CardTitle","CardText","CardButton","CommunityCard","HomeownersCard","_ref12","CommercialCard","_ref13","HomeSlider","fade","autoplay","autoplaySpeed","HomeRoot","Home","IntroductionContainer","showMore","setShowMore","OurValuesRoot","OurValuesContainer","ItemSubtitle","ourValues_Array","ToleranceIcon","SolutionIcon","OurValues","OurPartnersRoot","AboutDesc","OurPartnersContainer","OurPartnersImage","GridItem","ourPartners_array","CompassImage","LireasImage","HannoverImage","OurPartners","faArrowRight","CareersFormRoot","CareersFormContainer","CareersForm","CareersRoot","CareersDesc","Careers","AboutUsRoot","AboutUsImageContainer","AboutUsImage","AboutUs","BranchesRoot","TextTitle","flexWrap","TextLink","Branches","branch_array","firstContact","telephone","postalAddress","ContactUs","IntroLink","paddingX","FidelityCover","FidelityComputerCrimeQuotationProposalForm","propertyLocation","postalCode","gpsCoordinates","broadformBuildingValue","broadformHomeownersValue","packageOption","sumInsredAmount","propertyQuestion1","propertyQuestion2","propertyQuestion3","propertyQuestion4","propertyQuestion5","firstname","surname","yourBroker","publicizeOption","referralArea","RangeInputRoot","ValueContainer","UseValueBtn","numFormatter","num","RangeInput","showCustomValue","setShowCustomValue","setMessage","validValue","setValidValue","customValue","setCustomValue","defaultValue","step","marks","PropertyDetailsRoot","QuestionContainer","QuestionBtn","PropertyDetails","mapMarker","mapOptions","setMapOptions","formikProps","questionArray","parseFloat","autoFocus","locationData","zipcode","minValue","handleValueChange","question","hidden","QuotationDetailsRoot","QuotationResults","QuotationTable","QuotationHeader","QuotationBody","borderRight","borderLeft","CollapseRow","CheckIcon","QuotationDetails","handleBack","handleSubmit","colSpan","faChevronUp","faChevronDown","faCheck","BroadformBuildingKeyInformationDocumentApril2023","BroadformHomeownersKeyInformationDocumentApril2023","BroadformBuildingInsurancePolicyApril2023","BroadformHomeownersInsurancePolicyApril2023","ContactDetailsRoot","ConditionsContainer","conditions_array","ContactDetails","skipQuote","conditionValue","handleCondition","conditionMessage","InputLabel","Select","labelId","readOnly","MenuItem","FormGroup","Checkbox","checked","QuoteSuccessRoot","QuoteSuccess","QontoConnector","StepConnector","stepConnectorClasses","alternativeLabel","active","line","completed","mode","grey","borderTopWidth","QontoStepIconRoot","ownerState","QontoStepIcon","Check","steps","HomeownersWizard","formLoading","setFormLoading","formMessage","setFormMessage","setSkipQuote","setConditionValue","setConditionMessage","activeStep","setActiveStep","currentValidationSchema","isLastStep","fieldRef","_referralResults","_handleSubmit","offsetTop","_submitForm","referral_result","premium_result","toLowerCase","setTouched","_handleBack","_renderStepContent","Stepper","connector","Step","StepLabel","StepIconComponent","complexName","autocomplete","numberOfUnits","buildingOccupation","roofConstruction","wallConstruction","contactPerson","preferredBranch","autoComplete","CommunityWizard","insured","CommercialWizard","GetQuoteWizardRoot","WizardTabList","WizardTab","WizardTabPanel","GetQuoteWizard","hash","Hidden","smUp","smDown","handleTabsChange","GetQuoteRoot","GetQuote","CardsRoot","CardContainer","CardList","CardListItem","CardButtons","CardIconContainer","CardIcon","Cards","faPhoneSquareAlt","faWhatsappSquare","faEnvelopeSquare","GeyserClaimForm","GeneralClaimForm","FidelityClaimForm","ClaimStepsRoot","ClaimStepsIntro","StepIcon","claimSteps_array","SmartphoneIcon","HomeRepairIcon","CameraIcon","PoliceBadgeIcon","EmailIcon","ApprovalIcon","ClaimSteps","SolidarityICon","ClaimRoot","Claim","alternativeContactNumber","nameOfInsured","unitNumber","comments","RequestCallbackFormRoot","RequestCallbackFormContainer","RequestCallbackForm","multiline","rows","RequestCallBackRoot","RequestCallBack","LegalRoot","LegalLink","LinkContainer","Legal","CiaPrivacyPolicy","CIAObjectionRequestPOPIForm","PromotionofAccesstoInformation","CodeofConduct2022","DisclosureNotice","TreatingCustomersFairlyNov2020","ConflictOfInterestManagementPolicySep2024","ComplaintsPolicy","DocumentRoot","BroadformBuildingKeyInformationDocument1April2023","BroadformHomeownersKeyInformationDocument1April2023","CommunityLivingInsurancePolicyApril2023","CommunityLivingKeyInformationDocument1April2023","FidelityandComputerCrimeInsurancePolicy","SummaryofChangestoFidelityComputerCrimePolicyOctober2022","CIAClaimForm","CIAAlternativeEnergy","CIAFastTrackGeyserClaimForm","CIAFidelityComputerCrimeClaimForm","CIAHotWorkPermit2023","InsuranceProposalForm2024","DeclarationByManagingAgentFidelityAndComputerCrimePolicyNewBusinessAndRenewals","FGRenewalForm","AverageWaiverExtension","CIA2024Brochure","EnhancedGeyserBenefit","GeyserBrochure2023","APP_FONT_FAMILY","APP_PRIMARY_COLOR","APP_SECONDARY_COLOR","APP_PRIMARY_TEXT_COLOR","APP_SECONDARY_TEXT_COLOR","links_array","category","items","Pages","HouseIcon","breadCrum","ApartmentIcon","ShopIcon","ComputerNetworkIcon","EnvelopeIcon","LightBulbIcon","external","ReCAPTCHA","sitekey","FormMessageRoot","setOpen","Alert","severity","action","CloseIcon","mb","MegaMenuRoot","MegaMenuItem","ProductsMenu","find","x","link_item","UsefulInfoMenu","SelfAssistMenu","NavbarMobileRoot","MobileLinksContainer","MobileLinkItem","MobileLinkText","MobileActionsContainer","AccordionStyled","AccordionSummaryStyled","AccordionDetailsStyled","NavbarMobile","currentLink","mobileOpen","handleClick","pageLink","some","body","NavbarRoot","NavbarInner","NavbarLogo","DesktopNavbar","NavbarLinkContainer","NavbarLinkItem","NavIcon","NavbarActionsContainer","MegaMenu","MegaMenuInner","Backdrop","backdropFilter","MobileNavbar","PhoneIconButton","PhoneIcon","_ref14","BurgerIconButton","_ref15","BurgerIconOpen","_ref16","_ref17","Navbar","navShadow","setNavShadow","setCurrentLink","megaMenuShow","setMegaMenuShow","megaMenuContent","setMegaMenuContent","setMobileOpen","listen","onscroll","myFunction","CiaLogo","onMouseEnter","onMouseLeave","faPhone","faBars","FooterRoot","FooterInner","FooterBreadContainer","BreadCrumLink","textDecoration","FooterItemTitle","FooterItemText","SocialIcon","Footer","setBreadCrum","GenerateBreadcrum","linkItem","item_index","links","link_index","AppRoot","AppContent","paddingTop","AppFooter","Layout","ReactGA","initialize","hotjar","identify","userProperty","y","send","hitType","page","initialized","stateChange","Loader","apiKey","version","libraries","load","NotFoundRoot","NotFoundImage","NotFound","ThemeBuilderOptions","createTheme","xl","THEME","secondary","fontFamily","h1","h2","h3","h4","h5","h6","caption","subtitle1","subtitle2","body1","body2","components","MuiFormHelperText","styleOverrides","root","MuiInputLabel","MuiInput","MuiInputBase","borderWidth","MuiOutlinedInput","MuiButton","variants","App","ThemeProvider","Switch","nav_items","link_items","Route","exact","path","Boolean","hostname","match","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","getElementsByTagName","getAttribute","rootElement","ReactDOM","render","BrowserRouter","basename","serviceWorker","registration","unregister","WebsiteFormsRoot","WebsiteFormsContainer","defaultProps","RecaptchaTextRoot"],"mappings":"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ACxC,IACA,IAED,qCAAsC,CACrC,IACA,IAED,wCAAyC,CACxC,IACA,IAED,mCAAoC,CACnC,IACA,IAED,sCAAuC,CACtC,IACA,IAED,gCAAiC,CAChC,IACA,IAED,mCAAoC,CACnC,IACA,IAED,+DAAgE,CAC/D,IACA,IAED,kEAAmE,CAClE,IACA,IAED,6BAA8B,CAC7B,IACA,IAED,gCAAiC,CAChC,IACA,IAED,qBAAsB,CACrB,IACA,GAED,wBAAyB,CACxB,IACA,GAED,sDAAuD,CACtD,IACA,IAED,yDAA0D,CACzD,IACA,IAED,2DAA4D,CAC3D,IACA,IAED,8DAA+D,CAC9D,IACA,IAED,oBAAqB,CACpB,IACA,IAED,uBAAwB,CACvB,IACA,IAED,mDAAoD,CACnD,IACA,IAED,sDAAuD,CACtD,IACA,IAED,oGAAqG,CACpG,IACA,IAED,uGAAwG,CACvG,IACA,IAED,wBAAyB,CACxB,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,wBAAyB,CACxB,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,wBAAyB,CACxB,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,wBAAyB,CACxB,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,wBAAyB,CACxB,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,6BAA8B,CAC7B,IACA,IAED,gCAAiC,CAChC,IACA,IAED,4BAA6B,CAC5B,IACA,IAED,+BAAgC,CAC/B,IACA,IAED,4BAA6B,CAC5B,IACA,IAED,+BAAgC,CAC/B,IACA,IAED,sCAAuC,CACtC,IACA,IAED,yCAA0C,CACzC,IACA,IAED,uCAAwC,CACvC,IACA,IAED,0CAA2C,CAC1C,IACA,IAED,0CAA2C,CAC1C,IACA,IAED,6CAA8C,CAC7C,IACA,IAED,mCAAoC,CACnC,IACA,IAED,sCAAuC,CACtC,IACA,IAED,yDAA0D,CACzD,IACA,IAED,4DAA6D,CAC5D,IACA,IAED,uBAAwB,CACvB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,+BAAgC,CAC/B,IACA,GAED,mCAAoC,CACnC,IACA,IAED,sCAAuC,CACtC,IACA,IAED,wCAAyC,CACxC,IACA,IAED,2CAA4C,CAC3C,IACA,IAED,4CAA6C,CAC5C,IACA,IAED,+CAAgD,CAC/C,IACA,IAED,gDAAiD,CAChD,IACA,IAED,mDAAoD,CACnD,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,mBAAoB,CACnB,IACA,EACA,IAED,sBAAuB,CACtB,IACA,EACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,kBAAmB,CAClB,IACA,EACA,IAED,qBAAsB,CACrB,IACA,EACA,IAED,kBAAmB,CAClB,IACA,EACA,IAED,qBAAsB,CACrB,IACA,EACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,4BAA6B,CAC5B,IACA,IAED,+BAAgC,CAC/B,IACA,IAED,mCAAoC,CACnC,IACA,IAED,sCAAuC,CACtC,IACA,IAED,mBAAoB,CACnB,IACA,GAED,sBAAuB,CACtB,IACA,GAED,mBAAoB,CACnB,IACA,GAED,sBAAuB,CACtB,IACA,GAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,IAED,8BAA+B,CAC9B,IACA,IAED,iCAAkC,CACjC,IACA,IAED,6CAA8C,CAC7C,IACA,KAED,gDAAiD,CAChD,IACA,KAED,gBAAiB,CAChB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,4BAA6B,CAC5B,IACA,KAED,+BAAgC,CAC/B,IACA,KAED,uBAAwB,CACvB,IACA,KAED,0BAA2B,CAC1B,IACA,KAED,oDAAqD,CACpD,IACA,KAED,uDAAwD,CACvD,IACA,KAED,oDAAqD,CACpD,IACA,KAED,uDAAwD,CACvD,IACA,KAED,yBAA0B,CACzB,IACA,KAED,4BAA6B,CAC5B,IACA,KAED,yCAA0C,CACzC,IACA,KAED,4CAA6C,CAC5C,IACA,KAED,6BAA8B,CAC7B,IACA,KAED,gCAAiC,CAChC,IACA,KAED,wBAAyB,CACxB,IACA,KAED,2BAA4B,CAC3B,IACA,KAED,8BAA+B,CAC9B,IACA,KAED,iCAAkC,CACjC,IACA,KAED,uBAAwB,CACvB,IACA,KAED,0BAA2B,CAC1B,IACA,KAED,uCAAwC,CACvC,IACA,GAED,0CAA2C,CAC1C,IACA,GAED,mDAAoD,CACnD,IACA,KAED,sDAAuD,CACtD,IACA,KAED,2BAA4B,CAC3B,IACA,KAED,8BAA+B,CAC9B,IACA,KAED,wCAAyC,CACxC,IACA,IAED,2CAA4C,CAC3C,IACA,IAED,sDAAuD,CACtD,IACA,KAED,yDAA0D,CACzD,IACA,KAED,sBAAuB,CACtB,IACA,IAED,yBAA0B,CACzB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,yBAA0B,CACzB,IACA,IAED,qBAAsB,CACrB,IACA,KAED,wBAAyB,CACxB,IACA,KAED,kCAAmC,CAClC,IACA,KAED,qCAAsC,CACrC,IACA,KAED,kCAAmC,CAClC,IACA,KAED,qCAAsC,CACrC,IACA,KAED,kCAAmC,CAClC,IACA,KAED,qCAAsC,CACrC,IACA,KAED,4DAA6D,CAC5D,IACA,KAED,+DAAgE,CAC/D,IACA,KAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,IAED,oBAAqB,CACpB,IACA,IAED,uBAAwB,CACvB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,iBAAkB,CACjB,IACA,IAED,oBAAqB,CACpB,IACA,IAED,mCAAoC,CACnC,IACA,GAED,sCAAuC,CACtC,IACA,GAED,uBAAwB,CACvB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,uBAAwB,CACvB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,uBAAwB,CACvB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,uBAAwB,CACvB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,4BAA6B,CAC5B,IACA,KAED,+BAAgC,CAC/B,IACA,KAED,4CAA6C,CAC5C,IACA,KAED,+CAAgD,CAC/C,IACA,KAED,gCAAiC,CAChC,IACA,KAED,mCAAoC,CACnC,IACA,KAED,sBAAuB,CACtB,IACA,IAED,yBAA0B,CACzB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,6BAA8B,CAC7B,IACA,IAED,qBAAsB,CACrB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,sCAAuC,CACtC,IACA,IAED,yCAA0C,CACzC,IACA,IAED,sCAAuC,CACtC,IACA,IAED,yCAA0C,CACzC,IACA,IAED,kDAAmD,CAClD,IACA,IAED,qDAAsD,CACrD,IACA,IAED,6BAA8B,CAC7B,IACA,IAED,gCAAiC,CAChC,IACA,IAED,oCAAqC,CACpC,IACA,IAED,uCAAwC,CACvC,IACA,IAED,6BAA8B,CAC7B,IACA,IAE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","file":"static/js/main.80722b9e.chunk.js","sourcesContent":["// #region Imports\r\n\r\n// Libraries\r\nimport React from 'react';\r\nimport { at } from 'lodash';\r\nimport { useField } from 'formik';\r\nimport { TextField } from '@mui/material';\r\n\r\n// #endregion\r\n\r\n// #region Main Component\r\n\r\nconst InputField = (props) => {\r\n const { errorText, ...rest } = props;\r\n const [field, meta] = useField(props);\r\n\r\n function _renderHelperText() {\r\n const [touched, error] = at(meta, 'touched', 'error');\r\n if (touched && error) {\r\n return error;\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default InputField;\r\n\r\n// #endregion\r\n","export default __webpack_public_path__ + \"static/media/Summary_of_Changes_to_Fidelity_Computer_Crime_Policy_October_2022.bfba75fe.pdf\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Typography } from '@mui/material';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Introduction = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n Fill out the form below and claim your braai tong!\r\n \r\n\r\n \r\n By completing the form you'll be subscribed to our informative newsletters. We\r\n promise not to spam, and you can unsubscribe anytime if you don't find the\r\n content valuable.\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","const formModel = {\r\n name: {\r\n name: 'name',\r\n label: 'Name*',\r\n requiredErrorMsg: 'Name is required',\r\n },\r\n email: {\r\n name: 'email',\r\n label: 'Email*',\r\n requiredErrorMsg: 'Email is required',\r\n },\r\n company: {\r\n name: 'company',\r\n label: 'Company*',\r\n requiredErrorMsg: 'Company is required',\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst { name, email, company } = formModel;\r\n\r\nconst initialValues = {\r\n [name.name]: '',\r\n [email.name]: '',\r\n [company.name]: '',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\n\r\nconst { name, email, company } = formModel;\r\n\r\nconst validationSchema = Yup.object().shape({\r\n [name.name]: Yup.string().required(`${name.requiredErrorMsg}`),\r\n [email.name]: Yup.string()\r\n .email('Incorrect email format')\r\n .required(`${email.requiredErrorMsg}`),\r\n [company.name]: Yup.string().required(`${company.requiredErrorMsg}`),\r\n});\r\n\r\nexport default validationSchema;\r\n","import React, { useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Grid, Box, Typography } from '@mui/material';\r\nimport initialValues from '../../validation/prizes/nama/initialValues';\r\nimport validationSchema from '../../validation/prizes/nama/validationSchema';\r\nimport formModel from '../../validation/prizes/nama/formModel';\r\nimport InputField from './form-fields/InputField';\r\nimport WebsiteForms from './WebsiteForms';\r\n\r\nconst NamaGiveawayFormFormRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst NamaGiveawayFormForm = () => {\r\n const { name, email, company } = formModel;\r\n\r\n const [response, setResponse] = useState(undefined);\r\n\r\n if (response && response.isSuccessful) {\r\n return (\r\n \r\n \r\n \r\n Success, time to claim your gift!\r\n \r\n\r\n \r\n Thanks for signing up. To claim your gift, you can:\r\n \r\n\r\n \r\n
    \r\n
  • Take a screenshot of this page
  • \r\n
  • Show us the confirmation email sent to the address you provided
  • \r\n
\r\n
\r\n\r\n \r\n Come collect your gift from our stand (Stand No. 8).\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n setResponse(response)}\r\n >\r\n \r\n \r\n \r\n \r\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 NamaGiveawayFormForm;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\nimport NamaGiveawayForm from '../../components/forms/NamaGiveawayForm';\r\n\r\nconst NamaGiveawayRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst NamaGiveaway = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NamaGiveaway;\r\n","export default __webpack_public_path__ + \"static/media/Fidelity_and_Computer_Crime_Insurance_Policy_October_2022.8395b5c0.pdf\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faChevronRight } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst SectionTitleRoot = styled('div')(({ theme }) => ({\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Title = styled('span')(({ theme }) => ({\r\n fontSize: '16px',\r\n fontWeight: 600,\r\n color: '#D7412E',\r\n paddingBottom: '7px',\r\n borderBottom: '3px solid #D7412E',\r\n}));\r\n\r\nconst Subtitle = styled(Typography)(({ theme }) => ({\r\n margin: '20px 0',\r\n}));\r\n\r\nconst SectionTitle = (props) => {\r\n const { title, subtitle, align, hideArrow } = props;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n {subtitle}{' '}\r\n {hideArrow ? null : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SectionTitle;\r\n","var map = {\n\t\"./AGoodNewsStoryFromPeddie\": [\n\t\t336,\n\t\t49\n\t],\n\t\"./AGoodNewsStoryFromPeddie.js\": [\n\t\t336,\n\t\t49\n\t],\n\t\"./AdviceFromTheExpertsPart10\": [\n\t\t343,\n\t\t50\n\t],\n\t\"./AdviceFromTheExpertsPart10.js\": [\n\t\t343,\n\t\t50\n\t],\n\t\"./AdviceFromTheExpertsPart11\": [\n\t\t344,\n\t\t51\n\t],\n\t\"./AdviceFromTheExpertsPart11.js\": [\n\t\t344,\n\t\t51\n\t],\n\t\"./AdviceFromTheExpertsPart5\": [\n\t\t259,\n\t\t40\n\t],\n\t\"./AdviceFromTheExpertsPart5.js\": [\n\t\t259,\n\t\t40\n\t],\n\t\"./AdviceFromTheExpertsPart6\": [\n\t\t345,\n\t\t52\n\t],\n\t\"./AdviceFromTheExpertsPart6.js\": [\n\t\t345,\n\t\t52\n\t],\n\t\"./AdviceFromTheExpertsPart7\": [\n\t\t346,\n\t\t53\n\t],\n\t\"./AdviceFromTheExpertsPart7.js\": [\n\t\t346,\n\t\t53\n\t],\n\t\"./AdviceFromTheExpertsPart8\": [\n\t\t347,\n\t\t54\n\t],\n\t\"./AdviceFromTheExpertsPart8.js\": [\n\t\t347,\n\t\t54\n\t],\n\t\"./AdviceFromTheExpertsPart9\": [\n\t\t348,\n\t\t55\n\t],\n\t\"./AdviceFromTheExpertsPart9.js\": [\n\t\t348,\n\t\t55\n\t],\n\t\"./AdviceFromTheExpertsTenantsPart1\": [\n\t\t260,\n\t\t41\n\t],\n\t\"./AdviceFromTheExpertsTenantsPart1.js\": [\n\t\t260,\n\t\t41\n\t],\n\t\"./AdviceFromTheExpertsTenantsPart2\": [\n\t\t261,\n\t\t42\n\t],\n\t\"./AdviceFromTheExpertsTenantsPart2.js\": [\n\t\t261,\n\t\t42\n\t],\n\t\"./AlternativeEnergyInstallations\": [\n\t\t337,\n\t\t56\n\t],\n\t\"./AlternativeEnergyInstallations.js\": [\n\t\t337,\n\t\t56\n\t],\n\t\"./AreGardensOwnedByUnitOwners\": [\n\t\t262,\n\t\t57\n\t],\n\t\"./AreGardensOwnedByUnitOwners.js\": [\n\t\t262,\n\t\t57\n\t],\n\t\"./BlockedSeweragePipesWhoIsResponsibleForMaintenaceAndRepair\": [\n\t\t263,\n\t\t58\n\t],\n\t\"./BlockedSeweragePipesWhoIsResponsibleForMaintenaceAndRepair.js\": [\n\t\t263,\n\t\t58\n\t],\n\t\"./CIAGeyserEmergencyAssist\": [\n\t\t338,\n\t\t59\n\t],\n\t\"./CIAGeyserEmergencyAssist.js\": [\n\t\t338,\n\t\t59\n\t],\n\t\"./CIAPrivacyPolicy\": [\n\t\t349,\n\t\t5\n\t],\n\t\"./CIAPrivacyPolicy.js\": [\n\t\t349,\n\t\t5\n\t],\n\t\"./CanTrusteesDisconnectServicesFromNonPayingMembers\": [\n\t\t264,\n\t\t60\n\t],\n\t\"./CanTrusteesDisconnectServicesFromNonPayingMembers.js\": [\n\t\t264,\n\t\t60\n\t],\n\t\"./CanTrusteesDisconnectServicesFromNonPayingMembersPart2\": [\n\t\t265,\n\t\t61\n\t],\n\t\"./CanTrusteesDisconnectServicesFromNonPayingMembersPart2.js\": [\n\t\t265,\n\t\t61\n\t],\n\t\"./CiaIssuesPolicy\": [\n\t\t266,\n\t\t43\n\t],\n\t\"./CiaIssuesPolicy.js\": [\n\t\t266,\n\t\t43\n\t],\n\t\"./CiaLaunchesOnlineFidelityComputerCrimeTraining\": [\n\t\t350,\n\t\t62\n\t],\n\t\"./CiaLaunchesOnlineFidelityComputerCrimeTraining.js\": [\n\t\t350,\n\t\t62\n\t],\n\t\"./ClaimsPaymentsAndWhyItIsPreferableToPayDirectlyIntoTheBodyCorporateOrManagingAgentsTrustAccount\": [\n\t\t267,\n\t\t44\n\t],\n\t\"./ClaimsPaymentsAndWhyItIsPreferableToPayDirectlyIntoTheBodyCorporateOrManagingAgentsTrustAccount.js\": [\n\t\t267,\n\t\t44\n\t],\n\t\"./CommonPropertyPart1\": [\n\t\t351,\n\t\t63\n\t],\n\t\"./CommonPropertyPart1.js\": [\n\t\t351,\n\t\t63\n\t],\n\t\"./CommonPropertyPart2\": [\n\t\t352,\n\t\t64\n\t],\n\t\"./CommonPropertyPart2.js\": [\n\t\t352,\n\t\t64\n\t],\n\t\"./CommonPropertyPart3\": [\n\t\t353,\n\t\t65\n\t],\n\t\"./CommonPropertyPart3.js\": [\n\t\t353,\n\t\t65\n\t],\n\t\"./CommonPropertyPart4\": [\n\t\t354,\n\t\t66\n\t],\n\t\"./CommonPropertyPart4.js\": [\n\t\t354,\n\t\t66\n\t],\n\t\"./CommonPropertyPart5\": [\n\t\t355,\n\t\t67\n\t],\n\t\"./CommonPropertyPart5.js\": [\n\t\t355,\n\t\t67\n\t],\n\t\"./CommunitySchemesTraining\": [\n\t\t356,\n\t\t68\n\t],\n\t\"./CommunitySchemesTraining.js\": [\n\t\t356,\n\t\t68\n\t],\n\t\"./ComputeCrimeClaimsPart2\": [\n\t\t268,\n\t\t69\n\t],\n\t\"./ComputeCrimeClaimsPart2.js\": [\n\t\t268,\n\t\t69\n\t],\n\t\"./ComputeCrimeClaimsPart3\": [\n\t\t269,\n\t\t70\n\t],\n\t\"./ComputeCrimeClaimsPart3.js\": [\n\t\t269,\n\t\t70\n\t],\n\t\"./ComputerCrimePolicyWordingChanges\": [\n\t\t270,\n\t\t71\n\t],\n\t\"./ComputerCrimePolicyWordingChanges.js\": [\n\t\t270,\n\t\t71\n\t],\n\t\"./ComputerCrimePolicyWordingChanges1\": [\n\t\t271,\n\t\t72\n\t],\n\t\"./ComputerCrimePolicyWordingChanges1.js\": [\n\t\t271,\n\t\t72\n\t],\n\t\"./ComputerCrimeWordingProposalFormPart1\": [\n\t\t272,\n\t\t73\n\t],\n\t\"./ComputerCrimeWordingProposalFormPart1.js\": [\n\t\t272,\n\t\t73\n\t],\n\t\"./DealingWithABodyCorporateClaim\": [\n\t\t273,\n\t\t74\n\t],\n\t\"./DealingWithABodyCorporateClaim.js\": [\n\t\t273,\n\t\t74\n\t],\n\t\"./DefectiveDesignOrConstructionCanCauseClaimsRejection\": [\n\t\t274,\n\t\t75\n\t],\n\t\"./DefectiveDesignOrConstructionCanCauseClaimsRejection.js\": [\n\t\t274,\n\t\t75\n\t],\n\t\"./EmployersLiability\": [\n\t\t275,\n\t\t76\n\t],\n\t\"./EmployersLiability.js\": [\n\t\t275,\n\t\t76\n\t],\n\t\"./EnforcementOfRulesPart1\": [\n\t\t357,\n\t\t6\n\t],\n\t\"./EnforcementOfRulesPart1.js\": [\n\t\t357,\n\t\t6\n\t],\n\t\"./EnforcementOfRulesPart2\": [\n\t\t358,\n\t\t7\n\t],\n\t\"./EnforcementOfRulesPart2.js\": [\n\t\t358,\n\t\t7\n\t],\n\t\"./EnforcementOfRulesPart4\": [\n\t\t359,\n\t\t8\n\t],\n\t\"./EnforcementOfRulesPart4.js\": [\n\t\t359,\n\t\t8\n\t],\n\t\"./EnforecmentOfRulesPart3\": [\n\t\t360,\n\t\t9\n\t],\n\t\"./EnforecmentOfRulesPart3.js\": [\n\t\t360,\n\t\t9\n\t],\n\t\"./EnvironmentalUpgradeForGeysers\": [\n\t\t276,\n\t\t77\n\t],\n\t\"./EnvironmentalUpgradeForGeysers.js\": [\n\t\t276,\n\t\t77\n\t],\n\t\"./ExamplesOfCxtraCoverFollowingDamage\": [\n\t\t277,\n\t\t78\n\t],\n\t\"./ExamplesOfCxtraCoverFollowingDamage.js\": [\n\t\t277,\n\t\t78\n\t],\n\t\"./FidelityFundCertificatesAndCreditChecks\": [\n\t\t278,\n\t\t79\n\t],\n\t\"./FidelityFundCertificatesAndCreditChecks.js\": [\n\t\t278,\n\t\t79\n\t],\n\t\"./FireRiskManagementTipsProtectionAgainstFire\": [\n\t\t279,\n\t\t80\n\t],\n\t\"./FireRiskManagementTipsProtectionAgainstFire.js\": [\n\t\t279,\n\t\t80\n\t],\n\t\"./FireWisePart1\": [\n\t\t361,\n\t\t81\n\t],\n\t\"./FireWisePart1.js\": [\n\t\t361,\n\t\t81\n\t],\n\t\"./FireWisePart10\": [\n\t\t362,\n\t\t82\n\t],\n\t\"./FireWisePart10.js\": [\n\t\t362,\n\t\t82\n\t],\n\t\"./FireWisePart11\": [\n\t\t363,\n\t\t83\n\t],\n\t\"./FireWisePart11.js\": [\n\t\t363,\n\t\t83\n\t],\n\t\"./FireWisePart12\": [\n\t\t339,\n\t\t84\n\t],\n\t\"./FireWisePart12.js\": [\n\t\t339,\n\t\t84\n\t],\n\t\"./FireWisePart13\": [\n\t\t280,\n\t\t85\n\t],\n\t\"./FireWisePart13.js\": [\n\t\t280,\n\t\t85\n\t],\n\t\"./FireWisePart14\": [\n\t\t281,\n\t\t86\n\t],\n\t\"./FireWisePart14.js\": [\n\t\t281,\n\t\t86\n\t],\n\t\"./FireWisePart15\": [\n\t\t282,\n\t\t0,\n\t\t87\n\t],\n\t\"./FireWisePart15.js\": [\n\t\t282,\n\t\t0,\n\t\t87\n\t],\n\t\"./FireWisePart16\": [\n\t\t283,\n\t\t88\n\t],\n\t\"./FireWisePart16.js\": [\n\t\t283,\n\t\t88\n\t],\n\t\"./FireWisePart17\": [\n\t\t284,\n\t\t89\n\t],\n\t\"./FireWisePart17.js\": [\n\t\t284,\n\t\t89\n\t],\n\t\"./FireWisePart18\": [\n\t\t285,\n\t\t90\n\t],\n\t\"./FireWisePart18.js\": [\n\t\t285,\n\t\t90\n\t],\n\t\"./FireWisePart19\": [\n\t\t286,\n\t\t91\n\t],\n\t\"./FireWisePart19.js\": [\n\t\t286,\n\t\t91\n\t],\n\t\"./FireWisePart2\": [\n\t\t287,\n\t\t0,\n\t\t45\n\t],\n\t\"./FireWisePart2.js\": [\n\t\t287,\n\t\t0,\n\t\t45\n\t],\n\t\"./FireWisePart3\": [\n\t\t288,\n\t\t0,\n\t\t46\n\t],\n\t\"./FireWisePart3.js\": [\n\t\t288,\n\t\t0,\n\t\t46\n\t],\n\t\"./FireWisePart4\": [\n\t\t340,\n\t\t92\n\t],\n\t\"./FireWisePart4.js\": [\n\t\t340,\n\t\t92\n\t],\n\t\"./FireWisePart6\": [\n\t\t364,\n\t\t93\n\t],\n\t\"./FireWisePart6.js\": [\n\t\t364,\n\t\t93\n\t],\n\t\"./FireWisePart7\": [\n\t\t365,\n\t\t94\n\t],\n\t\"./FireWisePart7.js\": [\n\t\t365,\n\t\t94\n\t],\n\t\"./FireWisePart8\": [\n\t\t366,\n\t\t95\n\t],\n\t\"./FireWisePart8.js\": [\n\t\t366,\n\t\t95\n\t],\n\t\"./FireWisePart9\": [\n\t\t367,\n\t\t96\n\t],\n\t\"./FireWisePart9.js\": [\n\t\t367,\n\t\t96\n\t],\n\t\"./FloodRiskManagementTips\": [\n\t\t289,\n\t\t97\n\t],\n\t\"./FloodRiskManagementTips.js\": [\n\t\t289,\n\t\t97\n\t],\n\t\"./GeneralConditionsAndProvisions\": [\n\t\t290,\n\t\t98\n\t],\n\t\"./GeneralConditionsAndProvisions.js\": [\n\t\t290,\n\t\t98\n\t],\n\t\"./GeneratorPart2\": [\n\t\t291,\n\t\t1\n\t],\n\t\"./GeneratorPart2.js\": [\n\t\t291,\n\t\t1\n\t],\n\t\"./GeneratorPart3\": [\n\t\t292,\n\t\t2\n\t],\n\t\"./GeneratorPart3.js\": [\n\t\t292,\n\t\t2\n\t],\n\t\"./GeneratorPart4\": [\n\t\t368,\n\t\t10\n\t],\n\t\"./GeneratorPart4.js\": [\n\t\t368,\n\t\t10\n\t],\n\t\"./Generators\": [\n\t\t369,\n\t\t11\n\t],\n\t\"./Generators.js\": [\n\t\t369,\n\t\t11\n\t],\n\t\"./GeneratorsAndSolarSystems\": [\n\t\t370,\n\t\t99\n\t],\n\t\"./GeneratorsAndSolarSystems.js\": [\n\t\t370,\n\t\t99\n\t],\n\t\"./GuidelinesToProtectingYourVacantProperty\": [\n\t\t293,\n\t\t100\n\t],\n\t\"./GuidelinesToProtectingYourVacantProperty.js\": [\n\t\t293,\n\t\t100\n\t],\n\t\"./KZNFlooding\": [\n\t\t371,\n\t\t12\n\t],\n\t\"./KZNFlooding.js\": [\n\t\t371,\n\t\t12\n\t],\n\t\"./KeyInformationDocuments\": [\n\t\t294,\n\t\t101\n\t],\n\t\"./KeyInformationDocuments.js\": [\n\t\t294,\n\t\t101\n\t],\n\t\"./LayoutOfCiaWording\": [\n\t\t295,\n\t\t102\n\t],\n\t\"./LayoutOfCiaWording.js\": [\n\t\t295,\n\t\t102\n\t],\n\t\"./LegislativeRequirementsForCommunitySchemesPart1\": [\n\t\t296,\n\t\t103\n\t],\n\t\"./LegislativeRequirementsForCommunitySchemesPart1.js\": [\n\t\t296,\n\t\t103\n\t],\n\t\"./LegislativeRequirementsForCommunitySchemesPart2\": [\n\t\t297,\n\t\t104\n\t],\n\t\"./LegislativeRequirementsForCommunitySchemesPart2.js\": [\n\t\t297,\n\t\t104\n\t],\n\t\"./LetsPlayActivityBook\": [\n\t\t298,\n\t\t105\n\t],\n\t\"./LetsPlayActivityBook.js\": [\n\t\t298,\n\t\t105\n\t],\n\t\"./LiabilityClaimsMadeVsLossesOccurring\": [\n\t\t299,\n\t\t106\n\t],\n\t\"./LiabilityClaimsMadeVsLossesOccurring.js\": [\n\t\t299,\n\t\t106\n\t],\n\t\"./LithiumBatteryFiresPart2\": [\n\t\t300,\n\t\t107\n\t],\n\t\"./LithiumBatteryFiresPart2.js\": [\n\t\t300,\n\t\t107\n\t],\n\t\"./LithiumBetteryFires\": [\n\t\t341,\n\t\t108\n\t],\n\t\"./LithiumBetteryFires.js\": [\n\t\t341,\n\t\t108\n\t],\n\t\"./LoavesForMandelaDayUpdate\": [\n\t\t372,\n\t\t109\n\t],\n\t\"./LoavesForMandelaDayUpdate.js\": [\n\t\t372,\n\t\t109\n\t],\n\t\"./MachineryBreakdown\": [\n\t\t301,\n\t\t110\n\t],\n\t\"./MachineryBreakdown.js\": [\n\t\t301,\n\t\t110\n\t],\n\t\"./MessageFromSasriasManagingDirector\": [\n\t\t302,\n\t\t3\n\t],\n\t\"./MessageFromSasriasManagingDirector.js\": [\n\t\t302,\n\t\t3\n\t],\n\t\"./MotorInclusionInCommunityLivingInsurancePolicy\": [\n\t\t303,\n\t\t111\n\t],\n\t\"./MotorInclusionInCommunityLivingInsurancePolicy.js\": [\n\t\t303,\n\t\t111\n\t],\n\t\"./NewCpdApprovedTraining\": [\n\t\t304,\n\t\t112\n\t],\n\t\"./NewCpdApprovedTraining.js\": [\n\t\t304,\n\t\t112\n\t],\n\t\"./NewsletterSubscriberPOPIACompliance\": [\n\t\t305,\n\t\t13\n\t],\n\t\"./NewsletterSubscriberPOPIACompliance.js\": [\n\t\t305,\n\t\t13\n\t],\n\t\"./OptionalExtraCoverAndSpecificExclusionsForGeysers\": [\n\t\t306,\n\t\t113\n\t],\n\t\"./OptionalExtraCoverAndSpecificExclusionsForGeysers.js\": [\n\t\t306,\n\t\t113\n\t],\n\t\"./OvercrowdingPart1\": [\n\t\t373,\n\t\t14\n\t],\n\t\"./OvercrowdingPart1.js\": [\n\t\t373,\n\t\t14\n\t],\n\t\"./OvercrowdingPart2\": [\n\t\t374,\n\t\t15\n\t],\n\t\"./OvercrowdingPart2.js\": [\n\t\t374,\n\t\t15\n\t],\n\t\"./PersonalAccident\": [\n\t\t307,\n\t\t114\n\t],\n\t\"./PersonalAccident.js\": [\n\t\t307,\n\t\t114\n\t],\n\t\"./ProtectingVacantPropertyPart1\": [\n\t\t308,\n\t\t115\n\t],\n\t\"./ProtectingVacantPropertyPart1.js\": [\n\t\t308,\n\t\t115\n\t],\n\t\"./ProtectingVacantPropertyPart3\": [\n\t\t309,\n\t\t116\n\t],\n\t\"./ProtectingVacantPropertyPart3.js\": [\n\t\t309,\n\t\t116\n\t],\n\t\"./ProtectingVacantPropertyPart4\": [\n\t\t310,\n\t\t117\n\t],\n\t\"./ProtectingVacantPropertyPart4.js\": [\n\t\t310,\n\t\t117\n\t],\n\t\"./RenovationsAndHomeImprovementsImpactOnBuildingInsurance\": [\n\t\t311,\n\t\t118\n\t],\n\t\"./RenovationsAndHomeImprovementsImpactOnBuildingInsurance.js\": [\n\t\t311,\n\t\t118\n\t],\n\t\"./RisingDamp\": [\n\t\t312,\n\t\t47\n\t],\n\t\"./RisingDamp.js\": [\n\t\t312,\n\t\t47\n\t],\n\t\"./RisingDampPart2\": [\n\t\t313,\n\t\t48\n\t],\n\t\"./RisingDampPart2.js\": [\n\t\t313,\n\t\t48\n\t],\n\t\"./SadNewsFromCIA\": [\n\t\t375,\n\t\t16\n\t],\n\t\"./SadNewsFromCIA.js\": [\n\t\t375,\n\t\t16\n\t],\n\t\"./SasriaClaims\": [\n\t\t376,\n\t\t17\n\t],\n\t\"./SasriaClaims.js\": [\n\t\t376,\n\t\t17\n\t],\n\t\"./SasriaRateIncrease1January2022\": [\n\t\t314,\n\t\t4\n\t],\n\t\"./SasriaRateIncrease1January2022.js\": [\n\t\t314,\n\t\t4\n\t],\n\t\"./The10YearPlanPart1\": [\n\t\t377,\n\t\t18\n\t],\n\t\"./The10YearPlanPart1.js\": [\n\t\t377,\n\t\t18\n\t],\n\t\"./The10YearPlanPart2\": [\n\t\t315,\n\t\t19\n\t],\n\t\"./The10YearPlanPart2.js\": [\n\t\t315,\n\t\t19\n\t],\n\t\"./The10YearPlanPart3\": [\n\t\t342,\n\t\t20\n\t],\n\t\"./The10YearPlanPart3.js\": [\n\t\t342,\n\t\t20\n\t],\n\t\"./The10YearPlanPart4\": [\n\t\t378,\n\t\t21\n\t],\n\t\"./The10YearPlanPart4.js\": [\n\t\t378,\n\t\t21\n\t],\n\t\"./TheDevastationOfLithium\": [\n\t\t335,\n\t\t119\n\t],\n\t\"./TheDevastationOfLithium.js\": [\n\t\t335,\n\t\t119\n\t],\n\t\"./TheSimpleLayoutAndLanguageOfCiaPolicies\": [\n\t\t316,\n\t\t120\n\t],\n\t\"./TheSimpleLayoutAndLanguageOfCiaPolicies.js\": [\n\t\t316,\n\t\t120\n\t],\n\t\"./TheftAndCrimeRiskManagement\": [\n\t\t317,\n\t\t121\n\t],\n\t\"./TheftAndCrimeRiskManagement.js\": [\n\t\t317,\n\t\t121\n\t],\n\t\"./TrusteesIndemnity\": [\n\t\t318,\n\t\t22\n\t],\n\t\"./TrusteesIndemnity.js\": [\n\t\t318,\n\t\t22\n\t],\n\t\"./ValidityOfClaims\": [\n\t\t319,\n\t\t23\n\t],\n\t\"./ValidityOfClaims.js\": [\n\t\t319,\n\t\t23\n\t],\n\t\"./ValidityOfClaimsPart2\": [\n\t\t320,\n\t\t24\n\t],\n\t\"./ValidityOfClaimsPart2.js\": [\n\t\t320,\n\t\t24\n\t],\n\t\"./WaterLeakageTips\": [\n\t\t321,\n\t\t25\n\t],\n\t\"./WaterLeakageTips.js\": [\n\t\t321,\n\t\t25\n\t],\n\t\"./WaterproofingAndWaterIngressPart1\": [\n\t\t379,\n\t\t26\n\t],\n\t\"./WaterproofingAndWaterIngressPart1.js\": [\n\t\t379,\n\t\t26\n\t],\n\t\"./WaterproofingAndWaterIngressPart2\": [\n\t\t380,\n\t\t27\n\t],\n\t\"./WaterproofingAndWaterIngressPart2.js\": [\n\t\t380,\n\t\t27\n\t],\n\t\"./WhatAmICoveredForWithABuildingInsurancePolicy\": [\n\t\t322,\n\t\t28\n\t],\n\t\"./WhatAmICoveredForWithABuildingInsurancePolicy.js\": [\n\t\t322,\n\t\t28\n\t],\n\t\"./WhatAreGeysersCoveredFor\": [\n\t\t323,\n\t\t29\n\t],\n\t\"./WhatAreGeysersCoveredFor.js\": [\n\t\t323,\n\t\t29\n\t],\n\t\"./WhatConstitutesAVoluntaryWorker\": [\n\t\t324,\n\t\t30\n\t],\n\t\"./WhatConstitutesAVoluntaryWorker.js\": [\n\t\t324,\n\t\t30\n\t],\n\t\"./WhatDamageRiskManagement\": [\n\t\t325,\n\t\t31\n\t],\n\t\"./WhatDamageRiskManagement.js\": [\n\t\t325,\n\t\t31\n\t],\n\t\"./WhatIsASpecificExclusion\": [\n\t\t326,\n\t\t32\n\t],\n\t\"./WhatIsASpecificExclusion.js\": [\n\t\t326,\n\t\t32\n\t],\n\t\"./WhatIsCoveredUnderExtraCover\": [\n\t\t327,\n\t\t33\n\t],\n\t\"./WhatIsCoveredUnderExtraCover.js\": [\n\t\t327,\n\t\t33\n\t],\n\t\"./WhatIsCoveredUnderTheLiabilitySection\": [\n\t\t328,\n\t\t34\n\t],\n\t\"./WhatIsCoveredUnderTheLiabilitySection.js\": [\n\t\t328,\n\t\t34\n\t],\n\t\"./WhatIsExtraCoverFollowingDamage\": [\n\t\t329,\n\t\t35\n\t],\n\t\"./WhatIsExtraCoverFollowingDamage.js\": [\n\t\t329,\n\t\t35\n\t],\n\t\"./WhatIsTheDifferenceBetweenAllRisksCoverAndPerilsBasedCover\": [\n\t\t330,\n\t\t36\n\t],\n\t\"./WhatIsTheDifferenceBetweenAllRisksCoverAndPerilsBasedCover.js\": [\n\t\t330,\n\t\t36\n\t],\n\t\"./WhatIsThePurposeOfCIARiskManagementSurveys\": [\n\t\t331,\n\t\t37\n\t],\n\t\"./WhatIsThePurposeOfCIARiskManagementSurveys.js\": [\n\t\t331,\n\t\t37\n\t],\n\t\"./WhatItemsMustBeSpecifiedUnderMachinery\": [\n\t\t332,\n\t\t38\n\t],\n\t\"./WhatItemsMustBeSpecifiedUnderMachinery.js\": [\n\t\t332,\n\t\t38\n\t],\n\t\"./WhenIsALossadjusterAppointed\": [\n\t\t333,\n\t\t39\n\t],\n\t\"./WhenIsALossadjusterAppointed.js\": [\n\t\t333,\n\t\t39\n\t],\n\t\"./WhyRegularFireExtinguishersWontStopLithiumBatteryFires\": [\n\t\t334,\n\t\t122\n\t],\n\t\"./WhyRegularFireExtinguishersWontStopLithiumBatteryFires.js\": [\n\t\t334,\n\t\t122\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 229;\nmodule.exports = webpackAsyncContext;","import http from 'http';\r\nimport https from 'https';\r\n\r\nexport const AxiosOptions = {\r\n // `url` is the server URL that will be used for the request\r\n url: null,\r\n\r\n // `method` is the request method to be used when making the request\r\n method: 'GET',\r\n\r\n // `baseURL` will be prepended to `url` unless `url` is absolute.\r\n // It can be convenient to set `baseURL` for an instance of axios to pass relative URLs\r\n // to methods of that instance.\r\n baseURL: window.document.baseURI,\r\n\r\n // `transformRequest` allows changes to the request data before it is sent to the server\r\n // This is only applicable for request methods 'PUT', 'POST', and 'PATCH'\r\n // The last function in the array must return a string or an instance of Buffer, ArrayBuffer,\r\n // FormData or Stream\r\n // You may modify the headers object.\r\n // transformRequest: null,\r\n\r\n // `transformResponse` allows changes to the response data to be made before\r\n // it is passed to then/catch\r\n // transformResponse: null,\r\n\r\n // `headers` are custom headers to be sent\r\n headers: null,\r\n\r\n // `params` are the URL parameters to be sent with the request\r\n // Must be a plain object or a URLSearchParams object\r\n params: null,\r\n\r\n // `paramsSerializer` is an optional function in charge of serializing `params`\r\n // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)\r\n paramsSerializer: function (params) {},\r\n\r\n // `data` is the data to be sent as the request body\r\n // Only applicable for request methods 'PUT', 'POST', and 'PATCH'\r\n // When no `transformRequest` is set, must be of one of the following types:\r\n // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams\r\n // - Browser only: FormData, File, Blob\r\n // - Node only: Stream, Buffer\r\n data: null,\r\n\r\n // `timeout` specifies the number of milliseconds before the request times out.\r\n // If the request takes longer than `timeout`, the request will be aborted.\r\n timeout: 0,\r\n\r\n // `withCredentials` indicates whether or not cross-site Access-Control requests\r\n // should be made using credentials\r\n withCredentials: false,\r\n\r\n // `adapter` allows custom handling of requests which makes testing easier.\r\n // Return a promise and supply a valid response (see lib/adapters/README.md).\r\n adapter: null,\r\n\r\n // `auth` indicates that HTTP Basic auth should be used, and supplies credentials.\r\n // This will set an `Authorization` header, overwriting any existing\r\n // `Authorization` custom headers you have set using `headers`.\r\n auth: null,\r\n\r\n // `responseType` indicates the type of data that the server will respond with\r\n // options are 'arraybuffer', 'blob', 'document', 'json', 'text', 'stream'\r\n responseType: 'json',\r\n\r\n // `xsrfCookieName` is the name of the cookie to use as a value for xsrf token\r\n xsrfCookieName: 'XSRF-TOKEN',\r\n\r\n // `xsrfHeaderName` is the name of the http header that carries the xsrf token value\r\n xsrfHeaderName: 'X-CSRF-TOKEN',\r\n\r\n // `onUploadProgress` allows handling of progress events for uploads\r\n onUploadProgress: function (progressEvent) {\r\n // Do whatever you want with the native progress event\r\n },\r\n\r\n // `onDownloadProgress` allows handling of progress events for downloads\r\n onDownloadProgress: function (progressEvent) {\r\n // Do whatever you want with the native progress event\r\n },\r\n\r\n // `maxContentLength` defines the max size of the http response content allowed\r\n maxContentLength: 2000,\r\n\r\n // `validateStatus` defines whether to resolve or reject the promise for a given\r\n // HTTP response status code. If `validateStatus` returns `true` (or is set to `null`\r\n // or `undefined`), the promise will be resolved; otherwise, the promise will be\r\n // rejected.\r\n validateStatus: function (status) {\r\n return status >= 200 && status < 300;\r\n },\r\n\r\n // `maxRedirects` defines the maximum number of redirects to follow in node.js.\r\n // If set to 0, no redirects will be followed.\r\n maxRedirects: 5,\r\n\r\n // `httpAgent` and `httpsAgent` define a custom agent to be used when performing http\r\n // and https requests, respectively, in node.js. This allows options to be added like\r\n // `keepAlive` that are not enabled by default.\r\n httpAgent: new http.Agent({ keepAlive: true }),\r\n httpsAgent: new https.Agent({ keepAlive: true }),\r\n\r\n // 'proxy' defines the hostname and port of the proxy server\r\n // Use `false` to disable proxies, ignoring environment variables.\r\n // `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and\r\n // supplies credentials.\r\n // This will set an `Proxy-Authorization` header, overwriting any existing\r\n // `Proxy-Authorization` custom headers you have set using `headers`.\r\n proxy: false,\r\n\r\n // `cancelToken` specifies a cancel token that can be used to cancel the request\r\n // (see Cancellation section below for details)\r\n // cancelToken: new CancelToken(function (cancel) {\r\n // })\r\n};\r\n","import axios from 'axios';\r\nimport { AxiosOptions } from '../AxiosOptions';\r\n\r\n/**\r\n * @param {object} request_options Object\r\n */\r\nconst AxiosBase = async (request_options) => {\r\n let options = {\r\n ...AxiosOptions,\r\n ...request_options,\r\n };\r\n\r\n try {\r\n let response = await axios(options);\r\n let responseOK = response && response.status === 200;\r\n\r\n if (responseOK) {\r\n let data = await response.data;\r\n return data;\r\n }\r\n\r\n return;\r\n } catch (error) {\r\n // Error\r\n if (error.response) {\r\n /*\r\n * The request was made and the server responded with a\r\n * status code that falls out of the range of 2xx\r\n */\r\n if (error.response.status === 401) {\r\n window.location.replace = 'authentication/login';\r\n\r\n throw Object.assign(new Error('Unauthorized access'), {\r\n code: error.response.status,\r\n });\r\n }\r\n if (error.response.status === 404) {\r\n throw Object.assign(new Error('Resource not found'), {\r\n code: error.response.status,\r\n });\r\n }\r\n const data = error['response']['data'];\r\n const status = error['response']['status'];\r\n const header = error['response']['headers'];\r\n\r\n return { error, data, status, header };\r\n } else if (error.request) {\r\n /*\r\n * The request was made but no response was received, `error.request`\r\n * is an instance of XMLHttpRequest in the browser and an instance\r\n * of http.ClientRequest in Node.js\r\n */\r\n const request = error['request'];\r\n return { error, request };\r\n } else {\r\n // Something happened in setting up the request and triggered an Error\r\n const message = error['message'];\r\n return { error, message };\r\n }\r\n }\r\n};\r\n\r\nexport default AxiosBase;\r\n","import AxiosBase from './modules/AxiosBase';\r\n\r\n/**\r\n * @param {function} get Function async\r\n * @param {function} post Function async\r\n * @param {function} put Function async\r\n * @param {function} delete Function async\r\n */\r\nconst AxiosRequest = {\r\n /**\r\n * @param {string} url String\r\n * @param {object} options Object\r\n */\r\n get: async function (url, options = {}) {\r\n if (!url) {\r\n throw Object.assign(new Error('GET method needs an endpoint'));\r\n }\r\n\r\n return await AxiosBase({\r\n ...options,\r\n method: 'GET',\r\n url: url,\r\n });\r\n },\r\n /**\r\n * @param {string} url String\r\n * @param {any} data Any\r\n * @param {object} options Object\r\n */\r\n post: async function (url, data = null, options = null) {\r\n if (!url) {\r\n throw Object.assign(new Error('POST method needs an endpoint'));\r\n }\r\n\r\n return await AxiosBase({\r\n ...options,\r\n method: 'POST',\r\n url: url,\r\n data: data,\r\n });\r\n },\r\n /**\r\n * @param {string} url String\r\n * @param {any} data Any\r\n * @param {object} options Object\r\n */\r\n put: async function (url, data = null, options = null) {\r\n if (!url) {\r\n throw Object.assign(new Error('PUT method needs an endpoint'));\r\n }\r\n\r\n return await AxiosBase({\r\n ...options,\r\n method: 'PUT',\r\n url: url,\r\n data: data,\r\n });\r\n },\r\n /**\r\n * @param {string} url String\r\n * @param {any} data Any\r\n * @param {object} options Object\r\n */\r\n delete: async function (url, data = null, options = null) {\r\n if (!url) {\r\n throw Object.assign(new Error('DELETE method needs an endpoint'));\r\n }\r\n\r\n return await AxiosBase({\r\n ...options,\r\n method: 'DELETE',\r\n url: url,\r\n data: data,\r\n });\r\n },\r\n};\r\n\r\nexport default AxiosRequest;\r\n","export default __webpack_public_path__ + \"static/media/CIA-Hot-Works-Permit-2023.adbe2e6e.pdf\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Container, Grid, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPaperPlane } from '@fortawesome/free-regular-svg-icons';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst IntroImage = styled('img')(({ theme }) => ({\r\n width: '100%',\r\n boxShadow: '0 2px 10px -2px rgb(0 0 0 / 60%)',\r\n [theme.breakpoints.up('lg')]: {\r\n height: '100%',\r\n },\r\n}));\r\n\r\nconst Introduction = ({ content }) => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {content['title']}\r\n\r\n \r\n {content['paragraph_one']}\r\n \r\n\r\n \r\n {content['paragraph_two']}\r\n \r\n\r\n history.push(content['btnUrl'])}\r\n >\r\n {content['btnText']}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","export default __webpack_public_path__ + \"static/media/homeowners.6ca48bd1.jpg\";","import React, { useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Collapse, Container, Grid, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPaperPlane } from '@fortawesome/free-regular-svg-icons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\n\r\n//#region\r\n\r\nconst WhatsCoveredRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n}));\r\n\r\nconst IconContainer = styled(Grid)(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst ItemIcon = styled('img')(({ theme }) => ({\r\n height: '40px',\r\n width: '40px',\r\n marginRight: '10px',\r\n filter: 'invert(43%) sepia(100%) saturate(3298%) hue-rotate(341deg) brightness(85%) contrast(97%)',\r\n}));\r\n\r\nconst TextContainer = styled('div')(({ theme }) => ({\r\n color: '#474747',\r\n fontWeight: 600,\r\n fontSize: '15px',\r\n}));\r\n\r\nconst ItemTitle = styled('div')(({ theme }) => ({\r\n color: '#D7412E',\r\n fontWeight: 600,\r\n fontSize: '20px',\r\n}));\r\n\r\nconst ItemText = styled('div')(({ theme }) => ({\r\n color: '#666666',\r\n fontWeight: 500,\r\n fontSize: '16px',\r\n paddingRight: '30px',\r\n}));\r\n\r\n//#endregion\r\n\r\nconst WhatsCovered = ({ icon_items }) => {\r\n const [expand, setExpand] = useState(false);\r\n\r\n if (icon_items.length > 8) {\r\n return (\r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n {icon_items.slice(0, 8).map((icon_item, index) => (\r\n \r\n \r\n \r\n {icon_item['title']}\r\n {icon_item['text']}\r\n \r\n \r\n ))}\r\n \r\n\r\n \r\n \r\n {icon_items.slice(8, icon_items.length).map((icon_item, index) => (\r\n \r\n \r\n \r\n {icon_item['title']}\r\n {icon_item['text']}\r\n \r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n setExpand(!expand)}\r\n style={{ margin: '0 auto' }}\r\n >\r\n {expand ? 'View Less' : 'View More'}\r\n \r\n \r\n\r\n \r\n Download our key information document below to learn more\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n {icon_items.map((icon_item, index) => (\r\n \r\n \r\n \r\n {icon_item['title']}\r\n {icon_item['text']}\r\n \r\n \r\n ))}\r\n \r\n\r\n \r\n Download our key information document below to learn more\r\n \r\n
\r\n
\r\n );\r\n }\r\n};\r\n\r\nexport default WhatsCovered;\r\n","export default __webpack_public_path__ + \"static/media/pdf.b0736cb4.svg\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Container, Grid, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPaperPlane } from '@fortawesome/free-regular-svg-icons';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport PdfIcon from '../../../assets/images/icons/pdf.svg';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\n\r\nconst DownloadsRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst DownloadsContainer = styled('div')(({ theme }) => ({}));\r\n\r\nconst DownloadsItem = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n marginBottom: '30px',\r\n cursor: 'pointer',\r\n ':hover': {\r\n '& .item-title': {\r\n color: '#D7412E',\r\n },\r\n },\r\n}));\r\n\r\nconst ItemIcon = styled('img')(({ theme }) => ({\r\n height: '40px',\r\n width: '40px',\r\n marginRight: '10px',\r\n filter: 'invert(43%) sepia(100%) saturate(3298%) hue-rotate(341deg) brightness(85%) contrast(97%)',\r\n}));\r\n\r\nconst TextContainer = styled('div')(({ theme }) => ({\r\n color: '#474747',\r\n fontWeight: 600,\r\n fontSize: '15px',\r\n}));\r\n\r\nconst ItemTitle = styled('div')(({ theme }) => ({\r\n color: '#474747',\r\n fontWeight: 600,\r\n fontSize: '16px',\r\n}));\r\n\r\nconst ItemText = styled('div')(({ theme }) => ({\r\n color: '#666666',\r\n fontWeight: 500,\r\n fontSize: '16px',\r\n marginTop: '5px',\r\n}));\r\n\r\nconst Downloads = ({ document_items }) => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Access our plain language key information document, policy wording and\r\n other relevant forms here:\r\n \r\n \r\n \r\n {document_items.map((document_item, index) => (\r\n window.open(document_item['document'], '_blank')}\r\n key={index}\r\n >\r\n \r\n \r\n \r\n {document_item['title']}\r\n \r\n {document_item['text']}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Downloads;\r\n","export default __webpack_public_path__ + \"static/media/housefire.bde2b85c.svg\";","export default __webpack_public_path__ + \"static/media/storm.78644dc9.svg\";","export default __webpack_public_path__ + \"static/media/accident.d44a4ccc.svg\";","export default __webpack_public_path__ + \"static/media/electric.29f06f23.svg\";","export default __webpack_public_path__ + \"static/media/storage-tank.1e9b4ffe.svg\";","export default __webpack_public_path__ + \"static/media/landslide.99d0e490.svg\";","export default __webpack_public_path__ + \"static/media/wallet.a4113777.svg\";","export default __webpack_public_path__ + \"static/media/casino-cctv.c62ee69b.svg\";","export default __webpack_public_path__ + \"static/media/security-guard.3b6d9c04.svg\";","export default __webpack_public_path__ + \"static/media/data-transfer.0b72c662.svg\";","export default __webpack_public_path__ + \"static/media/landscape.8bf2acd6.svg\";","export default __webpack_public_path__ + \"static/media/Broadform-Homeowners-Key-Information-Document-1-April-2023.fa8f91b2.pdf\";","export default __webpack_public_path__ + \"static/media/Broadform-Homeowners-Insurance-Policy-April-2023.3ef9e340.pdf\";","export default __webpack_public_path__ + \"static/media/Insurance-Proposal-Form-November 2024.72f6255b.pdf\";","import React, { Fragment } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\n\r\nimport HomeownersImage from '../../assets/images/product-pages/homeowners.jpg';\r\nimport WhatsCovered from './components/WhatsCovered';\r\nimport Downloads from './components/Downloads';\r\n\r\n// Icons\r\nimport HousFireIcon from '../../assets/images/icons/housefire.svg';\r\nimport StormIcon from '../../assets/images/icons/storm.svg';\r\nimport AccidentIcon from '../../assets/images/icons/accident.svg';\r\nimport ElectricIcon from '../../assets/images/icons/electric.svg';\r\nimport StorageTankIcon from '../../assets/images/icons/storage-tank.svg';\r\nimport LandslideIcon from '../../assets/images/icons/landslide.svg';\r\nimport WalletIcon from '../../assets/images/icons/wallet.svg';\r\nimport CasinoCctvIcon from '../../assets/images/icons/casino-cctv.svg';\r\nimport SecurityGuardIcon from '../../assets/images/icons/security-guard.svg';\r\nimport DataTransferIcon from '../../assets/images/icons/data-transfer.svg';\r\nimport LandscapeIcon from '../../assets/images/icons/landscape.svg';\r\n\r\n// Documents\r\nimport KeyInformation from '../../assets/documents/products-key-information/homeowners/Broadform-Homeowners-Key-Information-Document-1-April-2023.pdf';\r\nimport HomeowersInsurance from '../../assets/documents/products-key-information/homeowners/Broadform-Homeowners-Insurance-Policy-April-2023.pdf';\r\nimport InsuranceProposal from '../../assets/documents/products-key-information/Insurance-Proposal-Form-November 2024.pdf';\r\n\r\nconst HomeownersBuildingInsuranceRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst content = {\r\n image: HomeownersImage,\r\n title: 'Homeowners Building Insurance',\r\n paragraph_one: (\r\n \r\n At CIA Building Insurance Specialists, we understand that every home has livelihood and\r\n family at its core. Its value is so much more than the replacement cost of its roof and\r\n four walls.\r\n \r\n ),\r\n paragraph_two: (\r\n \r\n Offering very wide cover on an all risk basis, the Homeowners Insurance Policy\r\n enables our clients to live life without the fear of loss caused by damage to their\r\n property. Our Homeowners Insurance Policy provides cover specifically for free standing\r\n private dwellings, whether individually owned or in a company, trust or close\r\n corporation. Even your holiday home can be covered.\r\n \r\n ),\r\n btnText: 'Online Quote',\r\n btnUrl: '/get-quote#homeowners-insurance',\r\n};\r\n\r\nconst icon_items = [\r\n {\r\n title: 'Fire',\r\n text: 'Cover for loss or damage to buildings caused by fire and includes fires due to arson.',\r\n icon: HousFireIcon,\r\n },\r\n {\r\n title: 'Natural Disasters',\r\n text: 'Such as hailstorms, floods, tornados, lightning, earthquakes and tsunamis.',\r\n icon: StormIcon,\r\n },\r\n {\r\n title: 'Accidental Damage',\r\n text: 'Unforseen and unintentional damage such as spilling paint on a carpet.',\r\n icon: AccidentIcon,\r\n },\r\n {\r\n title: 'Power Surge',\r\n text: 'R100 000 power surge cover included free of charge.',\r\n icon: ElectricIcon,\r\n },\r\n {\r\n title: 'Geysers',\r\n text: 'Full geyser replacement cover including heatpumps and solar installations.',\r\n icon: StorageTankIcon,\r\n },\r\n {\r\n title: 'Subsidence and Landslide',\r\n text: 'Cover includes dolomite sites.',\r\n icon: LandslideIcon,\r\n },\r\n {\r\n title: 'Loss of Rent',\r\n text: 'Loss of rent, removal costs and alternative accommodation following damage.',\r\n icon: WalletIcon,\r\n },\r\n {\r\n title: 'Theft and Malicious Damage',\r\n text: 'Full cover for theft and malicious damage including exterior fixtures and fittings.',\r\n icon: CasinoCctvIcon,\r\n },\r\n {\r\n title: 'Security Guards',\r\n text: 'Appointment of temporary security to safeguard the property.',\r\n icon: SecurityGuardIcon,\r\n },\r\n {\r\n title: 'Property Transfer',\r\n text: 'Cover prior to property transfer.',\r\n icon: DataTransferIcon,\r\n },\r\n {\r\n title: 'Landscaped Gardens',\r\n text: 'Reinstatement of gardens following fire, impact and explosion.',\r\n icon: LandscapeIcon,\r\n },\r\n {\r\n title: 'Fallen Trees',\r\n text: 'Causing damage to the building.',\r\n icon: StormIcon,\r\n },\r\n];\r\n\r\nconst document_items = [\r\n {\r\n title: 'Broadform Homeowners Insurance Policy - Key Information Document',\r\n text: 'Document size: 310KB',\r\n document: KeyInformation,\r\n },\r\n {\r\n title: 'Broadform Homeowners Insurance Policy',\r\n text: 'Document size: 477KB',\r\n document: HomeowersInsurance,\r\n },\r\n {\r\n title: 'Insurance Proposal Form',\r\n text: 'Document size: 235KB',\r\n document: InsuranceProposal,\r\n },\r\n];\r\n\r\nconst HomeownersBuildingInsurance = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default HomeownersBuildingInsurance;\r\n","export default __webpack_public_path__ + \"static/media/community.03991f6f.jpg\";","export default __webpack_public_path__ + \"static/media/regulation.6975a577.svg\";","export default __webpack_public_path__ + \"static/media/patient.711de1f3.svg\";","export default __webpack_public_path__ + \"static/media/elevator.5399c3f3.svg\";","export default __webpack_public_path__ + \"static/media/violence.b1966a94.svg\";","export default __webpack_public_path__ + \"static/media/washing-machine.f3d84d1e.svg\";","export default __webpack_public_path__ + \"static/media/graffiti.e4b03e75.svg\";","export default __webpack_public_path__ + \"static/media/honesty.d3d14a76.svg\";","export default __webpack_public_path__ + \"static/media/Community-Living-Key-Information-Document-1-April-2023.c3bde03c.pdf\";","export default __webpack_public_path__ + \"static/media/Community-Living-Insurance-Policy-April-2023.df894faf.pdf\";","export default __webpack_public_path__ + \"static/media/Average-Waiver-Extension.3cecc21d.pdf\";","export default __webpack_public_path__ + \"static/media/Enhanced-Geyser-Benefit.e27a4d20.pdf\";","import React, { Fragment } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\n\r\nimport CommunityImage from '../../assets/images/product-pages/community.jpg';\r\nimport WhatsCovered from './components/WhatsCovered';\r\nimport Downloads from './components/Downloads';\r\n\r\n// Icons\r\nimport HousFireIcon from '../../assets/images/icons/housefire.svg';\r\nimport StormIcon from '../../assets/images/icons/storm.svg';\r\nimport AccidentIcon from '../../assets/images/icons/accident.svg';\r\nimport ElectricIcon from '../../assets/images/icons/electric.svg';\r\nimport StorageTankIcon from '../../assets/images/icons/storage-tank.svg';\r\nimport LandslideIcon from '../../assets/images/icons/landslide.svg';\r\nimport RegulationIcon from '../../assets/images/icons/regulation.svg';\r\nimport WalletIcon from '../../assets/images/icons/wallet.svg';\r\nimport PatientIcon from '../../assets/images/icons/patient.svg';\r\nimport ElevatorIcon from '../../assets/images/icons/elevator.svg';\r\nimport ViolenceIcon from '../../assets/images/icons/violence.svg';\r\nimport WashingMachineIcon from '../../assets/images/icons/washing-machine.svg';\r\nimport GraffitiIcon from '../../assets/images/icons/graffiti.svg';\r\nimport HonestyIcon from '../../assets/images/icons/honesty.svg';\r\n\r\n// Documents\r\nimport KeyInformation from '../../assets/documents/products-key-information/community/Community-Living-Key-Information-Document-1-April-2023.pdf';\r\nimport CommunityInsurance from '../../assets/documents/products-key-information/community/Community-Living-Insurance-Policy-April-2023.pdf';\r\nimport AverageWaiver from '../../assets/documents/products-key-information/community/Average-Waiver-Extension.pdf';\r\nimport EnhancedGeyser from '../../assets/documents/products-key-information/community/Enhanced-Geyser-Benefit.pdf';\r\nimport InsuranceProposal from '../../assets/documents/products-key-information/Insurance-Proposal-Form-November 2024.pdf';\r\n\r\nconst CommunityLivingInsuranceRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst content = {\r\n image: CommunityImage,\r\n title: 'Community Living Insurance',\r\n paragraph_one: (\r\n \r\n As one of South Africa's largest Community Schemes insurance providers, CIA understands\r\n the unique and growing challenges faced by today's Body Corporate's their trustees and\r\n managing agents.\r\n \r\n ),\r\n paragraph_two: (\r\n \r\n Our Community Living Insurance Policy has been designed to cover all types of\r\n residential, commercial and industrial community living schemes including Sectional\r\n Title Developments, Share Blocks, Home Owners Associations and Retirement Villages.\r\n \r\n ),\r\n btnText: 'Get a Quote',\r\n btnUrl: '/get-quote#community-insurance',\r\n};\r\n\r\nconst icon_items = [\r\n {\r\n title: 'Fire',\r\n text: 'Cover for loss or damage to buildings caused by fire and includes fires due to arson.',\r\n icon: HousFireIcon,\r\n },\r\n {\r\n title: 'Natural Disasters',\r\n text: 'Such a hailstorms, floods, tornados, lightning, earthquakes and tsunamis.',\r\n icon: StormIcon,\r\n },\r\n {\r\n title: 'Accidental Damage',\r\n text: 'Unforeseen and unintentional damage such as spilling paint on a carpet or drilling through a pipe in a wall.',\r\n icon: AccidentIcon,\r\n },\r\n {\r\n title: 'Loss of Rent',\r\n text: 'Loss of rent, removal costs and alternative accommodation.',\r\n icon: WalletIcon,\r\n },\r\n {\r\n title: 'Geysers',\r\n text: 'Geyser and maintenance cover, including heatpumps and solar installations. Choose your preferred limit.',\r\n icon: StorageTankIcon,\r\n },\r\n {\r\n title: 'Subsidence and Landslide',\r\n text: 'Limited cover (excluding dolomite and limestone areas).',\r\n icon: LandslideIcon,\r\n },\r\n {\r\n title: 'Public Liability',\r\n text: 'Up to R100 million, including prior acts coverage.',\r\n icon: RegulationIcon,\r\n },\r\n {\r\n title: 'Power Surge',\r\n text: 'R50,000 included.',\r\n icon: ElectricIcon,\r\n },\r\n {\r\n title: 'Employers Liability',\r\n text: 'Up to R10 million.',\r\n icon: PatientIcon,\r\n },\r\n {\r\n title: 'Machinery Breakdown',\r\n text: 'R50,000 included.',\r\n icon: ElevatorIcon,\r\n },\r\n {\r\n title: 'Personal Accident',\r\n text: 'Cover for voluntary workers, assault and specified persons.',\r\n icon: ViolenceIcon,\r\n },\r\n {\r\n title: 'Contents belonging to the scheme',\r\n text: 'Such as laundry room equipment, gardening tools etc. Vehicles belonging to the scheme can also be added.',\r\n icon: WashingMachineIcon,\r\n },\r\n {\r\n title: 'Theft and Malicious Damage',\r\n text: 'Full cover for theft and malicious damage following forcible and violent entry into the building.',\r\n icon: GraffitiIcon,\r\n },\r\n {\r\n title: 'Trustees and directors indemnity',\r\n text: 'R5 million included.',\r\n icon: HonestyIcon,\r\n },\r\n];\r\n\r\nconst document_items = [\r\n {\r\n title: 'Community Living Insurance Policy - Key Information Document',\r\n text: 'Document size: 34KB',\r\n document: KeyInformation,\r\n },\r\n {\r\n title: 'Community Living Insurance Policy',\r\n text: 'Document size: 608KB',\r\n document: CommunityInsurance,\r\n },\r\n {\r\n title: 'Average Waiver Extension',\r\n text: 'Document size: 132KB',\r\n document: AverageWaiver,\r\n },\r\n {\r\n title: 'Enhanced Geyser Benefit',\r\n text: 'Document size: 92KB',\r\n document: EnhancedGeyser,\r\n },\r\n {\r\n title: 'Insurance Proposal Form',\r\n text: 'Document size: 235KB',\r\n document: InsuranceProposal,\r\n },\r\n];\r\n\r\nconst CommunityLivingInsurance = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CommunityLivingInsurance;\r\n","export default __webpack_public_path__ + \"static/media/commercial.d3df7610.jpg\";","export default __webpack_public_path__ + \"static/media/sprinkle.51804d5d.svg\";","export default __webpack_public_path__ + \"static/media/fire-extinguisher.0e592945.svg\";","export default __webpack_public_path__ + \"static/media/water-waves.9029fe4f.svg\";","export default __webpack_public_path__ + \"static/media/electric-generator.cb0a2149.svg\";","export default __webpack_public_path__ + \"static/media/Broadform-Building-Key-Information-Document-1-April-2023.77276765.pdf\";","export default __webpack_public_path__ + \"static/media/Broadform-Building-Insurance-Policy-April-2023.762c985c.pdf\";","import React, { Fragment } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\n\r\nimport CommercialImage from '../../assets/images/product-pages/commercial.jpg';\r\nimport WhatsCovered from './components/WhatsCovered';\r\nimport Downloads from './components/Downloads';\r\n\r\n// Icons\r\nimport HousFireIcon from '../../assets/images/icons/housefire.svg';\r\nimport StormIcon from '../../assets/images/icons/storm.svg';\r\nimport AccidentIcon from '../../assets/images/icons/accident.svg';\r\nimport ElectricIcon from '../../assets/images/icons/electric.svg';\r\nimport StorageTankIcon from '../../assets/images/icons/storage-tank.svg';\r\nimport RegulationIcon from '../../assets/images/icons/regulation.svg';\r\nimport LandslideIcon from '../../assets/images/icons/landslide.svg';\r\nimport WalletIcon from '../../assets/images/icons/wallet.svg';\r\nimport SecurityGuardIcon from '../../assets/images/icons/security-guard.svg';\r\nimport SprinkleIcon from '../../assets/images/icons/sprinkle.svg';\r\nimport FireExtinguisherIcon from '../../assets/images/icons/fire-extinguisher.svg';\r\nimport LandscapeIcon from '../../assets/images/icons/landscape.svg';\r\nimport WaterWavesIcon from '../../assets/images/icons/water-waves.svg';\r\nimport GraffitiIcon from '../../assets/images/icons/graffiti.svg';\r\nimport ElectricGeneratorIcon from '../../assets/images/icons/electric-generator.svg';\r\n\r\n// Documents\r\nimport KeyInformation from '../../assets/documents/products-key-information/commercial/Broadform-Building-Key-Information-Document-1-April-2023.pdf';\r\nimport CommercialInsurance from '../../assets/documents/products-key-information/commercial/Broadform-Building-Insurance-Policy-April-2023.pdf';\r\nimport InsuranceProposal from '../../assets/documents/products-key-information/Insurance-Proposal-Form-November 2024.pdf';\r\n\r\nconst CommercialBuildingInsuranceRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst content = {\r\n image: CommercialImage,\r\n title: 'Commercial Building Insurance',\r\n paragraph_one: (\r\n \r\n Anyone intrinsically involved in commercial / residential property management recognises\r\n the importance of protecting their significant investment. CIA has an almost 20-year\r\n track record of success in developing products to mitigate the risks incurred by their\r\n clients across the full spectrum of building insurance.\r\n \r\n ),\r\n paragraph_two: (\r\n \r\n The CIA Building Insurance Policy provides cover on a Broadform All Risk basis{' '}\r\n for commercial, industrial and residential buildings, such as offices, schools, shopping\r\n centres, hospitals, factories and warehouses.\r\n \r\n ),\r\n btnText: 'Get a Quote',\r\n btnUrl: '/get-quote#commercial-insurance',\r\n};\r\n\r\nconst icon_items = [\r\n {\r\n title: 'Fire',\r\n text: 'Cover for loss or damage to buildings caused by fire and includes fires due to arson.',\r\n icon: HousFireIcon,\r\n },\r\n {\r\n title: 'Natural Disasters',\r\n text: 'Such a hailstorms, floods, tornados, lightning, earthquakes and tsunamis.',\r\n icon: StormIcon,\r\n },\r\n {\r\n title: 'Accidental Damage',\r\n text: 'Unforeseen and unintentional damage such as spilling paint on a carpet or drilling through a pipe in a wall.',\r\n icon: AccidentIcon,\r\n },\r\n {\r\n title: 'Loss of Rent',\r\n text: 'Loss of rent or alternative accommodation if your building becomes uninhabitable following damage until the building is again tenanted or until reasonable access to the building has been restored.',\r\n icon: WalletIcon,\r\n },\r\n {\r\n title: 'Geysers',\r\n text: 'Geyser and maintenance cover, choose your preferred limit. Includes heatpumps and solar installations.',\r\n icon: StorageTankIcon,\r\n },\r\n {\r\n title: 'Subsidence and Landslide',\r\n text: 'Limited cover (excluding dolomite and limestone areas).',\r\n icon: LandslideIcon,\r\n },\r\n {\r\n title: 'Power Surge',\r\n text: 'R50,000 included.',\r\n icon: ElectricIcon,\r\n },\r\n {\r\n title: 'Public Liability',\r\n text: 'Up to R100 million, including prior acts coverage.',\r\n icon: RegulationIcon,\r\n },\r\n {\r\n title: 'Security Guards',\r\n text: 'Appointment of temporary security to safeguard the property following damage.',\r\n icon: SecurityGuardIcon,\r\n },\r\n {\r\n title: 'Sprinklers',\r\n text: 'Sprinkler system upgrades required by legislation following damage.',\r\n icon: SprinkleIcon,\r\n },\r\n {\r\n title: 'Fire Extinguisher',\r\n text: 'Reasonable cost and expenses to extinguish a fire.',\r\n icon: FireExtinguisherIcon,\r\n },\r\n {\r\n title: 'Landscaped Gardens',\r\n text: 'Reinstatement of gardens following fire, impact and explosion.',\r\n icon: LandscapeIcon,\r\n },\r\n {\r\n title: 'Fallen Trees',\r\n text: 'Causing damage to the building.',\r\n icon: StormIcon,\r\n },\r\n {\r\n title: 'Water and Dehumidification',\r\n text: 'Following water damage.',\r\n icon: WaterWavesIcon,\r\n },\r\n {\r\n title: 'Theft and Malicious Damage',\r\n text: 'Full cover for theft and malicious damage following forcible and violent entry into the building.',\r\n icon: GraffitiIcon,\r\n },\r\n {\r\n title: 'Generator Hire',\r\n text: 'Up to R15,000 following damage.',\r\n icon: ElectricGeneratorIcon,\r\n },\r\n];\r\n\r\nconst document_items = [\r\n {\r\n title: 'Broadform Building (Commercial) Insurance Policy - Key Information Document',\r\n text: 'Document size: 265KB',\r\n document: KeyInformation,\r\n },\r\n {\r\n title: 'Broadform Building (Commercial) Insurance Policy',\r\n text: 'Document size: 521KB',\r\n document: CommercialInsurance,\r\n },\r\n {\r\n title: 'Insurance Proposal Form',\r\n text: 'Document size: 235KB',\r\n document: InsuranceProposal,\r\n },\r\n];\r\n\r\nconst CommercialBuildingInsurance = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CommercialBuildingInsurance;\r\n","export default __webpack_public_path__ + \"static/media/fidelity.30380bfe.jpg\";","export default __webpack_public_path__ + \"static/media/money.9e75b92e.svg\";","export default __webpack_public_path__ + \"static/media/employee.86221055.png\";","export default __webpack_public_path__ + \"static/media/computer.6fd4de04.svg\";","export default __webpack_public_path__ + \"static/media/fake-news.b5a495ff.png\";","export default __webpack_public_path__ + \"static/media/Fidelity-And-Computer-Crime-Quotation-Proposal-Form.1268b6c5.pdf\";","export default __webpack_public_path__ + \"static/media/CIA-Fidelity-Computer-Crime-Declaration-ManagingAgent.308be4db.pdf\";","import React, { Fragment } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\n\r\nimport FidelityImage from '../../assets/images/product-pages/fidelity.jpg';\r\nimport WhatsCovered from './components/WhatsCovered';\r\nimport Downloads from './components/Downloads';\r\n\r\n// Icons\r\nimport MoneyIcon from '../../assets/images/icons/money.svg';\r\nimport EmployeeIcon from '../../assets/images/icons/employee.png';\r\nimport ComputerIcon from '../../assets/images/icons/computer.svg';\r\nimport FakeNewsIcon from '../../assets/images/icons/fake-news.png';\r\n\r\n// Documents\r\nimport FidelityInsurance from '../../assets/documents/products-key-information/fidelity/Fidelity_and_Computer_Crime_Insurance_Policy_October_2022.pdf';\r\nimport SummaryChanges from '../../assets/documents/products-key-information/fidelity/Summary_of_Changes_to_Fidelity_Computer_Crime_Policy_October_2022.pdf';\r\nimport QuotationProposal from '../../assets/documents/products-key-information/fidelity/Fidelity-And-Computer-Crime-Quotation-Proposal-Form.pdf';\r\nimport Declaration from '../../assets/documents/products-key-information/fidelity/CIA-Fidelity-Computer-Crime-Declaration-ManagingAgent.pdf';\r\n\r\nconst FidelityComputerCrimeInsuranceRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst content = {\r\n image: FidelityImage,\r\n title: 'Fidelity & Computer Crime Insurance',\r\n paragraph_one: (\r\n \r\n The Fidelity and Computer Crime Insurance Policy is based on the requirements of the\r\n Sectional Title Schemes Management and Community Schemes Ombud Services Acts, namely\r\n that “…every community scheme must insure against the risk of loss of money belonging to\r\n the community scheme…sustained as a result of any act of fraud or dishonesty committed\r\n by any insurable person.”\r\n \r\n ),\r\n paragraph_two: (\r\n \r\n The CIA Fidelity Policy is augmented through additional cover provided for\r\n computer-crime related loss i.e. loss of funds due to fraudulent manipulation of a\r\n computer network. This product guarantees peace of mind to the community scheme\r\n and/managing agent through its compliance with new regulations as well as cover that\r\n addresses most of the potential criminal acts that a community scheme faces.\r\n \r\n ),\r\n btnText: 'Get a Quote',\r\n btnUrl: '/get-quote#fidelity-computer-crime-insurance',\r\n};\r\n\r\nconst icon_items = [\r\n {\r\n title: 'Direct Loss',\r\n text: 'Direct financial loss of the schemes funds.',\r\n icon: MoneyIcon,\r\n },\r\n {\r\n title: 'Theft & Fraud',\r\n text: 'Theft & fraud committed by scheme employees, agents or 3rd parties.',\r\n icon: EmployeeIcon,\r\n },\r\n {\r\n title: 'Computer Hacking',\r\n text: 'Computer hacking and data damage expenses.',\r\n icon: ComputerIcon,\r\n },\r\n {\r\n title: 'Fraudulent Alteration',\r\n text: 'Fraudulent alterations and transfer instructions.',\r\n icon: FakeNewsIcon,\r\n },\r\n];\r\n\r\nconst document_items = [\r\n {\r\n title: 'Fidelity and Computer Crime Insurance Policy',\r\n text: 'Document size: 327KB',\r\n document: FidelityInsurance,\r\n },\r\n {\r\n title: 'Summary of Changes to Fidelity and Computer Crime Wording ',\r\n text: 'Document size: 129KB',\r\n document: SummaryChanges,\r\n },\r\n {\r\n title: 'Fidelity and Computer Crime Proposal Form',\r\n text: 'Document size: 266KB',\r\n document: QuotationProposal,\r\n },\r\n {\r\n title: 'Declaration by Managing Agent Fidelity and Computer Crime - New Business and Renewals',\r\n text: 'Document size: 91.9KB',\r\n document: Declaration,\r\n },\r\n];\r\n\r\nconst FidelityComputerCrimeInsurance = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FidelityComputerCrimeInsurance;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Typography } from '@mui/material';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Introduction = () => {\r\n return (\r\n \r\n \r\n \r\n Extracts from the National Building Regulations\r\n \r\n \r\n First introduced in South Africa in 1977, the National Building Regulations\r\n specify the minimum requirements for design and construction to which all\r\n buildings must comply. The regulations have been revised and updated a number of\r\n times since then and are essential to ensuring the safety and longevity of\r\n buildings being constructed.\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Link, Typography } from '@mui/material';\r\nimport ArrowForwardIosSharpIcon from '@mui/icons-material/ArrowForwardIosSharp';\r\nimport MuiAccordion from '@mui/material/Accordion';\r\nimport MuiAccordionSummary from '@mui/material/AccordionSummary';\r\nimport MuiAccordionDetails from '@mui/material/AccordionDetails';\r\n\r\nconst ExtractsRegulationsRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst PageText = styled(Typography)(({ theme }) => ({\r\n marginBottom: '20px',\r\n}));\r\n\r\nconst PageLinks = styled('div')(({ theme }) => ({\r\n marginBottom: '20px',\r\n}));\r\n\r\nconst Accordion = styled((props) => (\r\n \r\n))(({ theme }) => ({\r\n // borderBottom: `1px solid ${theme.palette.divider}`,\r\n '& .Mui-expanded .MuiTypography-root': {\r\n color: '#D7412E',\r\n fontWeight: 600,\r\n },\r\n '& .Mui-expanded': {\r\n color: '#D7412E',\r\n },\r\n '&:not(:last-child)': {\r\n borderBottom: 0,\r\n },\r\n '&:before': {\r\n display: 'none',\r\n },\r\n}));\r\n\r\nconst AccordionSummary = styled((props) => (\r\n }\r\n {...props}\r\n />\r\n))(({ theme }) => ({\r\n borderTop: `1px solid ${theme.palette.divider}`,\r\n borderBottom: `1px solid ${theme.palette.divider}`,\r\n flexDirection: 'row-reverse',\r\n '&.Mui-expanded': {\r\n backgroundColor: 'rgba(0,0,0,0.03)',\r\n },\r\n '& .MuiAccordionSummary-expandIconWrapper.Mui-expanded': {\r\n transform: 'rotate(90deg)',\r\n },\r\n '& .MuiAccordionSummary-content': {\r\n marginLeft: theme.spacing(1),\r\n },\r\n}));\r\n\r\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\r\n padding: theme.spacing(2),\r\n}));\r\n\r\nconst ExtractsRegulations = () => {\r\n const [expanded, setExpanded] = React.useState('panel1');\r\n\r\n const handleChange = (panel) => (event, newExpanded) => {\r\n setExpanded(newExpanded ? panel : false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n It is a fundamental requirement of the cover we provide that all buildings and\r\n subsequent extensions have been built according to the national building\r\n regulations in force at the time of construction.\r\n \r\n \r\n The regulations are extensive and cover all aspects of building design and\r\n construction. Below is an extract of certain regulations that are particularly\r\n important to residential buildings.\r\n \r\n \r\n Please note the information is provided below for general awareness purposes\r\n only. The advice of a professional architect, quantity surveyor or engineer\r\n should always be sought when embarking any building construction or extension\r\n project.\r\n \r\n \r\n Further information can be obtained from the following websites:\r\n \r\n \r\n \r\n www.sans10400.co.za\r\n \r\n \r\n www.nrcs.org.za\r\n \r\n \r\n\r\n \r\n Extracts from the National Building Regulations:\r\n \r\n \r\n \r\n Free-standing, Boundary & Garden Walls\r\n \r\n \r\n \r\n Unfortunately, we often find that boundary walls are not built in\r\n compliance with legislation. This can result in a very unsafe situation\r\n - especially in the vicinity of children.\r\n \r\n \r\n As per SANS 10400-K there are varying requirements for walls depending\r\n on the width and the height of the wall. For example, a single brick\r\n free standing wall can only be built to a maximum height of 1.4m and\r\n needs double brick support pillars every 1.8 meters to comply with the\r\n regulations.\r\n \r\n \r\n \r\n \r\n \r\n Retaining Walls\r\n \r\n \r\n \r\n In terms of legislation any wall that retains more than 30cm of soil is\r\n considered to be a retaining wall. Retaining walls (which may also be\r\n operating as boundary walls) are required to have adequate drainage by\r\n weep holes. Weep holes of at least 50mm diameters, must be installed at\r\n every 1.5 meters of the wall. Any retaining wall higher than 1.2 meters\r\n must be designed and signed off by a professional Structural Engineer.\r\n \r\n \r\n \r\n \r\n \r\n Electrical Compliance Certificates\r\n \r\n \r\n \r\n Additions and alterations to buildings:\r\n \r\n \r\n In terms of SANS 10142 where any alteration or work on the electrical\r\n reticulation of a building is done, a Certificate of Compliance must be\r\n obtained in respect of the work that has been done.\r\n \r\n\r\n \r\n Change of ownership:\r\n \r\n \r\n When purchasing a new property, the buyer must ensure that they receive\r\n a current (not older than two years) Certificate of Compliance from the\r\n seller. A Certificate of Compliance is valid for two years but there is\r\n no requirement to obtain a new one unless you alter the electrical\r\n reticulation or sell your building.\r\n \r\n \r\n In other words, if you purchase a building with the appropriate\r\n electrical certificate of compliance and make no electrical changes, you\r\n need not obtain a new certificate until you sell the building.\r\n \r\n \r\n \r\n \r\n \r\n Gas Installations\r\n \r\n \r\n \r\n Gas stoves or any other gas installations like gas geysers or gas\r\n fireplaces must be installed in accordance with the SABS and SANS (South\r\n African National Standards) regulations. An installation certificate\r\n must be issued by a SAQCC approved installer.\r\n \r\n \r\n As per these regulations gas bottles larger than 19kg must be stored in\r\n a well ventilated separate cage outside the building. The cage housing\r\n the containers must be more than 1m away from any window, drain or door.\r\n \r\n \r\n Dangerous gas work can be deadly. Badly fitted and poorly serviced\r\n appliances can cause the following gas safety risks:\r\n \r\n \r\n - Gas leaks\r\n \r\n \r\n - Fires\r\n \r\n \r\n - Explosion\r\n \r\n \r\n - Carbon monoxide poisoning\r\n \r\n \r\n To ensure your safety and compliance with regulations only use a\r\n registered installer to install, fix or maintain your appliances.\r\n \r\n \r\n \r\n \r\n \r\n Balustrades\r\n \r\n \r\n \r\n In terms of SANS 10400 Part D: 4.2 the edge of any balcony, bridge, flat\r\n roof or similar place more than 1 m above the adjacent ground or floor\r\n level must be provided with a balustrade or parapet wall not less than\r\n 1m in height. In the case of an interior balcony or mezzanine floor,\r\n like lofts, hand railings or balustrades must be fitted to the open\r\n section of these floors or balconies. The balustrade or railing should\r\n not have openings wider than 100mm.\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ExtractsRegulations;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\nimport ExtractsRegulations from './components/ExtractsRegulations';\r\n\r\nconst NationalBuildingRegulationsRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst NationalBuildingRegulations = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NationalBuildingRegulations;\r\n","const formModel = {\r\n name: {\r\n name: 'name',\r\n label: 'Name*',\r\n requiredErrorMsg: 'Name is required',\r\n },\r\n email: {\r\n name: 'email',\r\n label: 'Email*',\r\n requiredErrorMsg: 'Email is required',\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst { name, email } = formModel;\r\n\r\nconst initialValues = {\r\n [name.name]: '',\r\n [email.name]: '',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\n\r\nconst { name, email } = formModel;\r\n\r\nconst validationSchema = Yup.object().shape({\r\n [name.name]: Yup.string().required(`${name.requiredErrorMsg}`),\r\n [email.name]: Yup.string()\r\n .email('Incorrect email format')\r\n .required(`${email.requiredErrorMsg}`),\r\n});\r\n\r\nexport default validationSchema;\r\n","import React from 'react';\r\nimport { Grid } from '@mui/material';\r\nimport initialValues from '../../validation/newsletter/initialValues';\r\nimport validationSchema from '../../validation/newsletter/validationSchema';\r\nimport formModel from '../../validation/newsletter/formModel';\r\nimport InputField from './form-fields/InputField';\r\nimport WebsiteForms from './WebsiteForms';\r\n\r\nconst NewsletterForm = () => {\r\n const { name, email } = formModel;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NewsletterForm;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Typography } from '@mui/material';\r\nimport NewsletterForm from '../../../components/forms/NewsletterForm';\r\n\r\nconst NewsletterRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n}));\r\n\r\nconst TitleContainer = styled('div')(({ theme }) => ({\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Newsletter = () => {\r\n return (\r\n \r\n \r\n \r\n Our Newsletter\r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Newsletter;\r\n","import React, { useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { TextField } from '@mui/material';\r\nimport AxiosRequest from '../../../../utils/axios/AxiosRequest';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst SearchContainerRoot = styled('div')(({ theme }) => ({\r\n padding: '24px 0',\r\n width: '100%',\r\n}));\r\n\r\nconst SearchResults = styled('div')(({ theme }) => ({\r\n width: '410px',\r\n // width: '100%',\r\n position: 'absolute',\r\n backgroundColor: '#FFF',\r\n marginTop: '5px',\r\n maxHeight: '200px',\r\n overflowY: 'auto',\r\n border: '1px solid rgba(33, 33, 33, 0.07)',\r\n boxShadow: '0 3px 6px rgb(149 157 165 / 15%)',\r\n borderRadius: '0.6rem',\r\n}));\r\n\r\nconst ResultItem = styled('div')(({ theme }) => ({\r\n padding: '8px 13px',\r\n cursor: 'pointer',\r\n color: '#212121',\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n borderBottom: '',\r\n ':hover': {\r\n color: '#D7412E',\r\n // backgroundColor: '#DCE3F7',\r\n },\r\n}));\r\n\r\nconst SearchContainer = (props) => {\r\n const { handlePostClick } = props;\r\n const history = useHistory();\r\n const [searchValue, setSearchValue] = useState('');\r\n const [searchResults, setSearchResults] = useState([]);\r\n\r\n const handleSearch = async (event) => {\r\n const text = event.target.value;\r\n setSearchValue(text);\r\n\r\n if (text) {\r\n var result = await AxiosRequest.post(`api/newsletter/search`, { searchValue: text });\r\n setSearchResults(result);\r\n return false;\r\n }\r\n\r\n setSearchResults([]);\r\n };\r\n\r\n return (\r\n \r\n \r\n {searchResults.length > 0 && (\r\n \r\n {searchResults.map((item, index) => (\r\n {\r\n handlePostClick(item);\r\n setSearchValue(item['title']);\r\n setSearchResults([]);\r\n history.push(`/newsletter/post?query=${item.id}`);\r\n }}\r\n >\r\n {item['title']}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default SearchContainer;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Divider, Grid, Link, Typography } from '@mui/material';\r\nimport SearchContainer from './newsletter-sidebar/SearchContainer';\r\n\r\nconst NewsletterSidebarRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst AboutContainer = styled('div')(({ theme }) => ({\r\n backgroundColor: '#f8f9fa',\r\n padding: '24px',\r\n}));\r\n\r\nconst SocialContainer = styled('div')(({ theme }) => ({\r\n // backgroundColor: '#f8f9fa',\r\n padding: '24px',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n}));\r\n\r\nconst NewsletterSidebar = (props) => {\r\n const { handlePostClick } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n About\r\n \r\n \r\n Join more than 12,000 subscribers and stay up to date with \"must know\" insurance\r\n topics, advice from the experts, industry related news and special\r\n announcements.\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n Social Media\r\n \r\n \r\n LinkedIn\r\n \r\n\r\n \r\n Facebook\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NewsletterSidebar;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { Container, Grid, Typography, Breadcrumbs, Link, Divider, CircularProgress } from '@mui/material';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\n\r\nimport IconButton from '@mui/material/IconButton';\r\nimport { FacebookShareButton, LinkedinShareButton, WhatsappShareButton, EmailShareButton } from 'react-share';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faFacebookF, faLinkedinIn, faWhatsapp } from '@fortawesome/free-brands-svg-icons';\r\nimport { faEnvelope, faFilePdf } from '@fortawesome/free-solid-svg-icons';\r\nimport NewsletterContainer from './NewsletterContainer';\r\nimport NewsletterSidebar from './NewsletterSidebar';\r\nimport AxiosRequest from '../../../utils/axios/AxiosRequest';\r\n\r\nconst PostRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst LoadingContainer = styled('div')(({ theme }) => ({\r\n minHeight: '600px',\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n}));\r\n\r\nconst ShareBtn = styled(IconButton)(({ theme }) => ({\r\n fontSize: '20px',\r\n height: '34px',\r\n width: '34px',\r\n borderRadius: '5px',\r\n margin: '0 5px',\r\n backgroundColor: '#F1F1F1',\r\n}));\r\n\r\nconst ShareContainer = styled('div')(({ theme }) => ({}));\r\n\r\nconst ShareButtons = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst Post = (props) => {\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const [ready, setReady] = useState(false);\r\n const [component, setComponent] = useState(null);\r\n const [compMessage, setCompMessage] = useState('');\r\n const [pdfUrl, setPdfUrl] = useState('');\r\n\r\n // Meta tags states\r\n const [metaImage, setMetaImage] = useState('');\r\n const [metaDescription, setMetaDescription] = useState('');\r\n const [metaUrl, setMetaUrl] = useState('');\r\n const [metaTitle, setMetaTitle] = useState('');\r\n const [metaType, setMetaType] = useState('');\r\n\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = Object.fromEntries(urlSearchParams.entries());\r\n\r\n const renderPost = (postDetails) => {\r\n try {\r\n import(`./post-components/posts/${postDetails['component']}`).then((c) => {\r\n setComponent(c.default);\r\n\r\n if (postDetails && 'title' in postDetails) {\r\n setMetaTitle(postDetails['title']);\r\n }\r\n\r\n if (postDetails && 'fileName' in postDetails) {\r\n const baseUrl = (`/newsletter-pdfs/${postDetails['fileName']}`);\r\n console.log('test', baseUrl)\r\n setPdfUrl(baseUrl);\r\n }\r\n \r\n if (postDetails && 'intro' in postDetails) {\r\n setMetaDescription(postDetails['intro']);\r\n }\r\n\r\n setMetaUrl(window.location.href);\r\n\r\n setReady(true);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getPost = async () => {\r\n var result = await AxiosRequest.get(`api/newsletter/${params['query']}`);\r\n\r\n if (result && 'isSuccessful' in result && !result['isSuccessful']) {\r\n setCompMessage(result['message']);\r\n setReady(true);\r\n return;\r\n }\r\n\r\n renderPost(result['payload']);\r\n };\r\n\r\n useEffect(() => {\r\n ready && setReady(false);\r\n setCompMessage('');\r\n\r\n if (params && Object.keys(params).length > 0 && params.constructor === Object) {\r\n if (location.state && 'detail' in location.state && 'query' in params) {\r\n renderPost(location.state.detail);\r\n } else {\r\n getPost();\r\n }\r\n }\r\n }, [location]);\r\n\r\n const handlePostClick = (item) => {\r\n setReady(false);\r\n if (item){\r\n setReady(false);\r\n try {\r\n import(`./post-components/posts/${item['component']}`).then((c) => {\r\n setComponent(c.default);\r\n setReady(true);\r\n history.push(`/newsletter/post?query=${item['id']}`);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/')}\r\n >\r\n Home\r\n \r\n history.push('/newsletters')}\r\n >\r\n Newsletters\r\n \r\n Post\r\n \r\n {!ready ? (\r\n \r\n \r\n \r\n ) : compMessage ? (\r\n \r\n \r\n {compMessage}\r\n \r\n \r\n ) : (\r\n component\r\n )}\r\n \r\n \r\n \r\n Share on:\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pdfUrl ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\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 Post;\r\n","import React, { Fragment, useEffect, useRef, useState, useMemo } from 'react';\r\n\r\nimport { styled } from '@mui/material/styles';\r\n\r\nimport { IconButton } from '@mui/material';\r\n\r\nimport SearchIcon from '@mui/icons-material/Search';\r\nimport ChevronLeft from '@mui/icons-material/ChevronLeft';\r\nimport ChevronRight from '@mui/icons-material/ChevronRight';\r\n\r\nconst PaginationContainer = styled('div')(({ theme }) => ({\r\n margin: '0 auto',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n listStyleType: 'none',\r\n position: 'relative',\r\n [theme.breakpoints.down('md')]: {\r\n margin: '0 auto 0 0',\r\n position: 'relative',\r\n left: 'auto',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n margin: '0 auto',\r\n },\r\n}));\r\n\r\nconst PaginationItem = styled(IconButton)(({ theme, selected }) => ({\r\n borderRadius: '5px',\r\n padding: '5px',\r\n height: '30px',\r\n minWidth: '30px',\r\n fontSize: '16px',\r\n fontWeight: 600,\r\n '&:hover': {\r\n backgroundColor: '#f0f0f0',\r\n },\r\n backgroundColor: selected ? '#f0f0f0' : 'transperant',\r\n}));\r\n\r\nconst DOTS = '...';\r\n\r\nconst range = (start, end) => {\r\n let length = end - start + 1;\r\n /*\r\n Create an array of certain length and set the elements within it from\r\n start value to end value.\r\n */\r\n return Array.from({ length }, (_, idx) => idx + start);\r\n};\r\n\r\nconst usePagination = ({ totalCount, pageSize, siblingCount = 1, currentPage }) => {\r\n const paginationRange = useMemo(() => {\r\n const totalPageCount = Math.ceil(totalCount / pageSize);\r\n\r\n // Pages count is determined as siblingCount + firstPage + lastPage + currentPage + 2*DOTS\r\n const totalPageNumbers = siblingCount + 5;\r\n\r\n /*\r\n Case 1:\r\n If the number of pages is less than the page numbers we want to show in our\r\n paginationComponent, we return the range [1..totalPageCount]\r\n */\r\n if (totalPageNumbers >= totalPageCount) {\r\n return range(1, totalPageCount);\r\n }\r\n\r\n /*\r\n Calculate left and right sibling index and make sure they are within range 1 and totalPageCount\r\n */\r\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\r\n const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPageCount);\r\n\r\n /*\r\n We do not show dots just when there is just one page number to be inserted between the extremes of sibling and the page limits i.e 1 and totalPageCount. Hence we are using leftSiblingIndex > 2 and rightSiblingIndex < totalPageCount - 2\r\n */\r\n const shouldShowLeftDots = leftSiblingIndex > 2;\r\n const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\r\n\r\n const firstPageIndex = 1;\r\n const lastPageIndex = totalPageCount;\r\n\r\n /*\r\n Case 2: No left dots to show, but rights dots to be shown\r\n */\r\n if (!shouldShowLeftDots && shouldShowRightDots) {\r\n let leftItemCount = 3 + 2 * siblingCount;\r\n let leftRange = range(1, leftItemCount);\r\n\r\n return [...leftRange, DOTS, totalPageCount];\r\n }\r\n\r\n /*\r\n Case 3: No right dots to show, but left dots to be shown\r\n */\r\n if (shouldShowLeftDots && !shouldShowRightDots) {\r\n let rightItemCount = 3 + 2 * siblingCount;\r\n let rightRange = range(totalPageCount - rightItemCount + 1, totalPageCount);\r\n return [firstPageIndex, DOTS, ...rightRange];\r\n }\r\n\r\n /*\r\n Case 4: Both left and right dots to be shown\r\n */\r\n if (shouldShowLeftDots && shouldShowRightDots) {\r\n let middleRange = range(leftSiblingIndex, rightSiblingIndex);\r\n return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\r\n }\r\n }, [totalCount, pageSize, siblingCount, currentPage]);\r\n\r\n return paginationRange;\r\n};\r\n\r\nconst NewsletterPagination = (props) => {\r\n const { onPageChange, totalCount, siblingCount = 1, currentPage, pageSize, className } = props;\r\n\r\n const paginationRange = usePagination({\r\n currentPage,\r\n totalCount,\r\n siblingCount,\r\n pageSize,\r\n });\r\n\r\n if (currentPage === 0 || paginationRange.length < 2) {\r\n return null;\r\n }\r\n\r\n const onNext = () => {\r\n onPageChange(currentPage + 1);\r\n };\r\n\r\n const onPrevious = () => {\r\n onPageChange(currentPage - 1);\r\n };\r\n\r\n let lastPage = paginationRange[paginationRange.length - 1];\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n {paginationRange.map((pageNumber, i) => {\r\n if (pageNumber === DOTS) {\r\n return (\r\n \r\n …\r\n \r\n );\r\n }\r\n\r\n return (\r\n onPageChange(pageNumber)}\r\n selected={pageNumber === currentPage}\r\n key={i}\r\n >\r\n {pageNumber}\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 NewsletterPagination;\r\n","import React, { Fragment, useEffect, useRef, useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { CircularProgress, Divider, Typography } from '@mui/material';\r\nimport AxiosRequest from '../../../utils/axios/AxiosRequest';\r\nimport NewsletterPagination from './components/NewsletterPagination';\r\n\r\nconst ListPostsRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst PostListContainer = styled('div')(({ theme }) => ({\r\n marginBottom: '20px',\r\n}));\r\n\r\nconst PostContainer = styled('div')(({ theme }) => ({\r\n padding: '15px',\r\n borderRadius: '5px',\r\n cursor: 'pointer',\r\n transition: '250ms',\r\n ':hover': {\r\n boxShadow: '0px 1px 27px -8px rgb(0 0 0 / 20%)',\r\n },\r\n}));\r\n\r\nconst PostTitle = styled('div')(({ theme }) => ({}));\r\n\r\nconst LoadingContainer = styled('div')(({ theme }) => ({\r\n minHeight: '600px',\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n}));\r\n\r\nconst ListPosts = () => {\r\n const history = useHistory();\r\n\r\n const [ready, setReady] = useState(false);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalCount, setTotalCount] = useState(0);\r\n const [pageSize, setPageSize] = useState(5);\r\n const [posts, setPosts] = useState([]);\r\n\r\n const parser = useRef(new DOMParser());\r\n\r\n const getPosts = async () => {\r\n var result = await AxiosRequest.get('api/newsletter');\r\n\r\n setPosts(result);\r\n setTotalCount(result.length);\r\n setReady(true);\r\n };\r\n\r\n const getDate = (date) => {\r\n const monthNames = [\r\n 'January',\r\n 'February',\r\n 'March',\r\n 'April',\r\n 'May',\r\n 'June',\r\n 'July',\r\n 'August',\r\n 'September',\r\n 'October',\r\n 'November',\r\n 'December',\r\n ];\r\n\r\n var newDate = new Date(date.replace('T', ' '));\r\n return `${monthNames[newDate.getMonth()]} ${newDate.getDate()}, ${newDate.getFullYear()}`;\r\n };\r\n\r\n useEffect(() => {\r\n getPosts();\r\n }, []);\r\n\r\n return ready ? (\r\n \r\n \r\n {posts\r\n .slice(\r\n currentPage * pageSize - pageSize,\r\n currentPage * pageSize - pageSize + pageSize\r\n )\r\n .map((post, post_index) => (\r\n \r\n \r\n history.push({\r\n pathname: '/newsletter/post',\r\n search: `?query=${post['id']}`,\r\n state: { detail: post },\r\n })\r\n }\r\n >\r\n \r\n \r\n {post['title']}\r\n \r\n \r\n {getDate(post['dateCreated'])}\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n ))}\r\n \r\n {\r\n window.scrollTo(\r\n 0,\r\n window.pageYOffset +\r\n document.getElementById('post-container').getBoundingClientRect().top -\r\n 82\r\n );\r\n\r\n setCurrentPage(value);\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ListPosts;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Grid } from '@mui/material';\r\nimport Post from './Post';\r\nimport NewsletterSidebar from './NewsletterSidebar';\r\nimport ListPosts from './ListPosts';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst NewsletterContainerRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst NewsletterContainer = (props) => {\r\n const { component } = props;\r\n\r\n const history = useHistory();\r\n\r\n const handlePostClick = (item) => {\r\n history.push({\r\n pathname: '/newsletter/post',\r\n search: `?query=${item['id']}`,\r\n });\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 \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NewsletterContainer;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport { APP_FADE_TIMEOUT } from '../../constants/AppConstants';\r\nimport Newsletter from './newsletters/Newsletter';\r\nimport NewsletterContainer from './newsletters/NewsletterContainer';\r\nimport ListPosts from './newsletters/ListPosts';\r\n\r\nconst NewsletterRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst newsletter_array = [\r\n {\r\n postId: '1',\r\n title: 'Up In Flames - A good news story from peddie',\r\n date: '2022/02/17',\r\n text: `When what you've worked so hard for goes up in flames.`,\r\n },\r\n];\r\n\r\nconst Newsletters = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Newsletters;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Typography } from '@mui/material';\r\nimport SectionTitle from '../../../../components/SectionTitle';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Introduction = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n Insurance Certificates are issued for bonded Sectional Title units. The\r\n mortgagee, being the lending bank will request an insurance certificate before\r\n registering a bond over a new property. The certificate serves as confirmation\r\n of insurance for a specific unit, at a specified value and notes the\r\n bondholder’s interests in the specific unit.\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","const formModel = {\r\n attorneysName: {\r\n name: 'attorneysName',\r\n label: 'Firm of Attorneys Name*',\r\n requiredErrorMsg: 'Attorneys Name is required',\r\n },\r\n attorneysPostalAddress: {\r\n name: 'attorneysPostalAddress',\r\n label: 'Attorney Postal Address*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n attorneysTel: {\r\n name: 'attorneysTel',\r\n label: 'Attorney Telephone Number*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n attorneysContactPerson: {\r\n name: 'attorneysContactPerson',\r\n label: 'Attorney Contact Person*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n email: {\r\n name: 'email',\r\n label: 'Email Address*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n ownerName: {\r\n name: 'ownerName',\r\n label: 'Name of Owner / Bondholder*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n bodyCorporateName: {\r\n name: 'bodyCorporateName',\r\n label: 'Name of Body Corporate*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n sections: {\r\n name: 'sections',\r\n label: 'Sections*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n ssNumber: {\r\n name: 'ssNumber',\r\n label: 'SS Number*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n sumInsured: {\r\n name: 'sumInsured',\r\n label: 'Sum Insured Required*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n bankName: {\r\n name: 'bankName',\r\n label: 'Name of Bank / Lender*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n bankAddress: {\r\n name: 'bankAddress',\r\n label: 'Contact Address of Bank*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst {\r\n attorneysName,\r\n attorneysPostalAddress,\r\n attorneysTel,\r\n attorneysContactPerson,\r\n email,\r\n ownerName,\r\n bodyCorporateName,\r\n sections,\r\n ssNumber,\r\n sumInsured,\r\n bankName,\r\n bankAddress,\r\n} = formModel;\r\n\r\nconst initialValues = {\r\n [attorneysName.name]: '',\r\n [attorneysPostalAddress.name]: '',\r\n [attorneysTel.name]: '',\r\n [attorneysContactPerson.name]: '',\r\n [email.name]: '',\r\n [ownerName.name]: '',\r\n [bodyCorporateName.name]: '',\r\n [sections.name]: '',\r\n [ssNumber.name]: '',\r\n [sumInsured.name]: '',\r\n [bankName.name]: '',\r\n [bankAddress.name]: '',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\n\r\nconst {\r\n attorneysName,\r\n attorneysPostalAddress,\r\n attorneysTel,\r\n attorneysContactPerson,\r\n email,\r\n ownerName,\r\n bodyCorporateName,\r\n sections,\r\n ssNumber,\r\n sumInsured,\r\n bankName,\r\n bankAddress,\r\n} = formModel;\r\n\r\nconst validationSchema = Yup.object().shape({\r\n [attorneysName.name]: Yup.string().required(`${attorneysName.requiredErrorMsg}`),\r\n [attorneysPostalAddress.name]: Yup.string().required(\r\n `${attorneysPostalAddress.requiredErrorMsg}`\r\n ),\r\n [attorneysTel.name]: Yup.string().required(`${attorneysTel.requiredErrorMsg}`),\r\n [attorneysContactPerson.name]: Yup.string().required(\r\n `${attorneysContactPerson.requiredErrorMsg}`\r\n ),\r\n [email.name]: Yup.string()\r\n .email('Incorrect email format')\r\n .required(`${email.requiredErrorMsg}`),\r\n [ownerName.name]: Yup.string().required(`${ownerName.requiredErrorMsg}`),\r\n [bodyCorporateName.name]: Yup.string().required(`${bodyCorporateName.requiredErrorMsg}`),\r\n [sections.name]: Yup.string().required(`${sections.requiredErrorMsg}`),\r\n [ssNumber.name]: Yup.string().required(`${ssNumber.requiredErrorMsg}`),\r\n [sumInsured.name]: Yup.string().required(`${sumInsured.requiredErrorMsg}`),\r\n [bankName.name]: Yup.string().required(`${bankName.requiredErrorMsg}`),\r\n [bankAddress.name]: Yup.string().required(`${bankAddress.requiredErrorMsg}`),\r\n});\r\n\r\nexport default validationSchema;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Grid, Typography } from '@mui/material';\r\nimport initialValues from '../../validation/request-insurance-certificate/initialValues';\r\nimport validationSchema from '../../validation/request-insurance-certificate/validationSchema';\r\nimport formModel from '../../validation/request-insurance-certificate/formModel';\r\nimport InputField from './form-fields/InputField';\r\nimport WebsiteForms from './WebsiteForms';\r\n\r\nconst RequestInsuranceCertificateFormRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst RequestInsuranceCertificateForm = () => {\r\n const {\r\n attorneysName,\r\n attorneysPostalAddress,\r\n attorneysTel,\r\n attorneysContactPerson,\r\n email,\r\n ownerName,\r\n bodyCorporateName,\r\n sections,\r\n ssNumber,\r\n sumInsured,\r\n bankName,\r\n bankAddress,\r\n } = formModel;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n As soon as CIA receives and processes this request, our system will\r\n generate documentation including an invoice for the cost of the\r\n certificate which will be sent to the email above. As soon as the proof\r\n of payment is received, an insurance certificate will be sent to\r\n yourselves as instructed above\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RequestInsuranceCertificateForm;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\nimport RequestInsuranceCertificateForm from '../../../components/forms/RequestInsuranceCertificateForm';\r\n\r\nconst RequestInsuranceCertificateRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst RequestInsuranceCertificate = () => {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default RequestInsuranceCertificate;\r\n","export default __webpack_public_path__ + \"static/media/online-training.38e8cfa5.jpg\";","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Container, Fade, Grid, Typography } from '@mui/material';\r\nimport SectionTitle from '../../../../components/SectionTitle';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPencilAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport { faPaperPlane } from '@fortawesome/free-regular-svg-icons';\r\nimport OnlineTraining from '../../../../assets/images/online-training.jpg';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n minHeight: '434px',\r\n}));\r\n\r\nconst ButtonContainer = styled('div')(({ theme }) => ({\r\n marginTop: '30px',\r\n display: 'flex',\r\n}));\r\n\r\nconst Introduction = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n At CIA, we believe in the continuous professional development of our\r\n brokers and managing agents. We pride ourselves in the expert training\r\n we offer, both in person and online.\r\n \r\n\r\n \r\n If you'd like to access our online platform powered by AC Develop,\r\n please click register to sign up free of charge. Your login\r\n details will be emailed to you shortly thereafter.\r\n \r\n\r\n \r\n history.push('/register-online-training')}\r\n >\r\n Register \r\n \r\n\r\n \r\n window.open(\r\n 'https://acdevelop.training/App/ACDLogin.html',\r\n '_blank'\r\n )\r\n }\r\n style={{ marginLeft: '10px' }}\r\n >\r\n Access Portal \r\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 Introduction;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Link, Typography } from '@mui/material';\r\n\r\nconst OnlineBrokerTrainingRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst OnlineTrainingDescription = () => {\r\n return (\r\n \r\n \r\n Broker training workshops\r\n\r\n \r\n CIA regularly provides product-specific training detailing the benefits, terms,\r\n conditions, limitations and exclusions which apply to our plain language Assets\r\n All Risks products. Our training workshops have been approved by the Insurance\r\n Institute of South Africa (IISA) for members of the IISA for whom Continuous\r\n Professional Development (CPD) hours are required to maintain their membership.\r\n \r\n\r\n \r\n Training workshops can be arranged for groups or on a one on one basis by\r\n contacting the broker consultant at the branch in your area. Please contact{' '}\r\n kayla@cia.co.za for more information.\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default OnlineTrainingDescription;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\nimport OnlineTrainingDescription from './components/OnlineTrainingDescription';\r\n\r\nconst OnlineBrokerTrainingRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst OnlineBrokerTraining = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default OnlineBrokerTraining;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Typography } from '@mui/material';\r\nimport SectionTitle from '../../../../components/SectionTitle';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Introduction = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n In order for us to register you on our online training platform please fill in\r\n the below details.\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","const formModel = {\r\n firstName: {\r\n name: 'firstName',\r\n label: 'First Name*',\r\n requiredErrorMsg: 'First Name is required',\r\n },\r\n lastName: {\r\n name: 'lastName',\r\n label: 'Last Name*',\r\n requiredErrorMsg: 'Last Name is required',\r\n },\r\n idNumber: {\r\n name: 'idNumber',\r\n label: 'ID Number (for CPD Purposes)*',\r\n requiredErrorMsg: 'ID Number is required',\r\n },\r\n email: {\r\n name: 'email',\r\n label: 'Email*',\r\n requiredErrorMsg: 'Email is required',\r\n },\r\n contactNumber: {\r\n name: 'contactNumber',\r\n label: 'Contact Number*',\r\n requiredErrorMsg: 'Contact Number is required',\r\n },\r\n fspNumber: {\r\n name: 'fspNumber',\r\n label: 'FSP Number*',\r\n requiredErrorMsg: 'FSP Number is required',\r\n },\r\n companyName: {\r\n name: 'companyName',\r\n label: 'Company Name*',\r\n requiredErrorMsg: 'Company Name is required',\r\n },\r\n registeredAcDevelop: {\r\n name: 'registeredAcDevelop',\r\n label: 'Are you already registerd with AC Develop?:',\r\n requiredErrorMsg: 'Please select an option.',\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst {\r\n firstName,\r\n lastName,\r\n idNumber,\r\n email,\r\n contactNumber,\r\n fspNumber,\r\n companyName,\r\n registeredAcDevelop,\r\n} = formModel;\r\n\r\nconst initialValues = {\r\n [firstName.name]: '',\r\n [lastName.name]: '',\r\n [idNumber.name]: '',\r\n [email.name]: '',\r\n [contactNumber.name]: '',\r\n [fspNumber.name]: '',\r\n [companyName.name]: '',\r\n [registeredAcDevelop.name]: '',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\n\r\nconst {\r\n firstName,\r\n lastName,\r\n idNumber,\r\n email,\r\n contactNumber,\r\n fspNumber,\r\n companyName,\r\n registeredAcDevelop,\r\n} = formModel;\r\n\r\nconst validationSchema = Yup.object().shape({\r\n [firstName.name]: Yup.string().required(`${firstName.requiredErrorMsg}`),\r\n [lastName.name]: Yup.string().required(`${lastName.requiredErrorMsg}`),\r\n [idNumber.name]: Yup.number()\r\n .typeError('This field can only contain numbers.')\r\n .required(`${idNumber.requiredErrorMsg}`),\r\n [email.name]: Yup.string()\r\n .email('Incorrect email format')\r\n .required(`${email.requiredErrorMsg}`),\r\n [contactNumber.name]: Yup.number()\r\n .typeError('This field can only contain numbers.')\r\n .required(`${contactNumber.requiredErrorMsg}`),\r\n [fspNumber.name]: Yup.number()\r\n .typeError('This field can only contain numbers.')\r\n .required(`${fspNumber.requiredErrorMsg}`),\r\n [companyName.name]: Yup.string().required(`${companyName.requiredErrorMsg}`),\r\n [registeredAcDevelop.name]: Yup.string().required(`${registeredAcDevelop.requiredErrorMsg}`),\r\n});\r\n\r\nexport default validationSchema;\r\n","import React from 'react';\r\nimport { at } from 'lodash';\r\nimport { useField } from 'formik';\r\nimport {\r\n FormControl,\r\n FormControlLabel,\r\n FormLabel,\r\n Radio,\r\n RadioGroup,\r\n Typography,\r\n} from '@mui/material';\r\n\r\nconst RadioField = (props) => {\r\n const { errorText, ...rest } = props;\r\n const [field, meta] = useField(props);\r\n\r\n function _renderHelperText() {\r\n const [touched, error] = at(meta, 'touched', 'error');\r\n if (touched && error) {\r\n return error;\r\n }\r\n }\r\n\r\n return (\r\n \r\n {props['label']}\r\n \r\n } label=\"No\" />\r\n } label=\"Yes\" />\r\n \r\n\r\n \r\n {_renderHelperText()}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default RadioField;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Grid, Typography } from '@mui/material';\r\nimport initialValues from '../../validation/register-online-broker-training/initialValues';\r\nimport validationSchema from '../../validation/register-online-broker-training/validationSchema';\r\nimport formModel from '../../validation/register-online-broker-training/formModel';\r\nimport InputField from './form-fields/InputField';\r\nimport RadioField from './form-fields/RadioField';\r\nimport WebsiteForms from './WebsiteForms';\r\n\r\nconst RegisterOnlineBrokerFormRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst RegisterOnlineBrokerForm = () => {\r\n const {\r\n firstName,\r\n lastName,\r\n idNumber,\r\n email,\r\n contactNumber,\r\n fspNumber,\r\n companyName,\r\n registeredAcDevelop,\r\n } = formModel;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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 RegisterOnlineBrokerForm;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\nimport RegisterOnlineBrokerForm from '../../../components/forms/RegisterOnlineBrokerForm';\r\n\r\nconst RegisterOnlineBrokerTrainingRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst RegisterOnlineBrokerTraining = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RegisterOnlineBrokerTraining;\r\n","import React, { useEffect, useRef, useState, Fragment, useLayoutEffect } from 'react';\r\nimport ReactDOMServer from 'react-dom/server';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, CircularProgress, TextField, Typography } from '@mui/material';\r\n\r\nconst GoogleMapRoot = styled('div')(({ theme }) => ({\r\n height: '100%',\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n}));\r\n\r\nconst MapContainer = styled('div')(({ theme }) => ({\r\n height: '100%',\r\n width: '100%',\r\n}));\r\n\r\nconst MapLoader = styled(CircularProgress)(({ theme }) => ({\r\n position: 'absolute',\r\n}));\r\n\r\nconst GoogleMap = ({ markers, branches, returnMap, options }) => {\r\n const [ready, setReady] = useState(false);\r\n const infoWindow = useRef(null);\r\n const map = useRef(null);\r\n\r\n const addMap = async () => {\r\n if (!map.current && window.google && document.getElementById('map-container')) {\r\n map.current = new window.google.maps.Map(document.getElementById('map-container'), {\r\n zoom: options && 'zoom' in options ? options['zoom'] : 6,\r\n center:\r\n options && 'center' in options\r\n ? options['center']\r\n : { lat: -27.675162, lng: 24.845158 },\r\n mapTypeId: options && 'mapTypeId' in options ? options['mapTypeId'] : 'roadmap',\r\n zoomControl: options && 'zoomControl' in options ? options['zoomControl'] : true,\r\n zoomControlOptions: {\r\n position: window.google.maps.ControlPosition.TOP_RIGHT,\r\n },\r\n streetViewControl:\r\n options && 'streetViewControl' in options ? options['streetViewControl'] : true,\r\n streetViewControlOptions: {\r\n position: window.google.maps.ControlPosition.TOP_RIGHT,\r\n },\r\n mapTypeControl:\r\n options && 'mapTypeControl' in options ? options['mapTypeControl'] : true,\r\n mapTypeControlOptions: {\r\n position: window.google.maps.ControlPosition.TOP_RIGHT,\r\n },\r\n scaleControl: options && 'scaleControl' in options ? options['scaleControl'] : true,\r\n rotateControl:\r\n options && 'rotateControl' in options ? options['rotateControl'] : true,\r\n fullscreenControl: false,\r\n draggableCursor: 'default',\r\n tilt: 0,\r\n // gestureHandling: 'greedy',\r\n });\r\n\r\n returnMap && returnMap(map.current);\r\n setReady(true);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n async function StartFunc() {\r\n await addMap();\r\n\r\n var myInterval;\r\n myInterval = setInterval(() => {\r\n if (!map.current && window.google) {\r\n addMap();\r\n\r\n if (map.current) {\r\n window.clearInterval(myInterval);\r\n }\r\n } else {\r\n window.clearInterval(myInterval);\r\n }\r\n }, 1000);\r\n }\r\n\r\n StartFunc();\r\n\r\n return () => {\r\n map.current = null;\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (window.google && map.current && markers) {\r\n if (!infoWindow.current) {\r\n infoWindow.current = new window.google.maps.InfoWindow();\r\n }\r\n\r\n var icon = {\r\n url: 'https://maps.google.com/mapfiles/ms/icons/red-dot.png',\r\n scaledSize: new window.google.maps.Size(22, 22),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(10, 10),\r\n };\r\n\r\n markers.forEach((marker_item) => {\r\n if (typeof marker_item['location_Lat'] === 'number') {\r\n var newMarker;\r\n\r\n try {\r\n newMarker = new window.google.maps.Marker({\r\n position: {\r\n lat: marker_item['location_Lat'],\r\n lng: marker_item['location_Long'],\r\n },\r\n title: marker_item['display_Name'],\r\n data: marker_item,\r\n map: map.current,\r\n icon: icon,\r\n draggable: false,\r\n });\r\n } catch (error) {\r\n console.log(marker_item);\r\n console.log(error);\r\n }\r\n\r\n newMarker.addListener('click', function () {\r\n console.log(newMarker['data']);\r\n\r\n infoWindow.current.setContent(\r\n `
\r\n
\r\n ${newMarker['data']['display_Name']}\r\n
\r\n
\r\n

Address:

\r\n ${newMarker['data']['address']}\r\n \r\n

Telephone:

\r\n ${newMarker['data']['telNo']}\r\n \r\n

Mobile:

\r\n ${newMarker['data']['cellNo']}\r\n \r\n

Email:

\r\n ${newMarker['data']['email']}\r\n
\r\n
`\r\n );\r\n infoWindow.current.setPosition(newMarker['position']);\r\n infoWindow.current.open(map.current);\r\n });\r\n }\r\n\r\n if (typeof marker_item['location_Lat'] !== 'number') {\r\n // console.log(marker_item);\r\n }\r\n });\r\n }\r\n }, [markers, map.current]);\r\n\r\n useEffect(() => {\r\n if (window.google && map.current && branches) {\r\n if (!infoWindow.current) {\r\n infoWindow.current = new window.google.maps.InfoWindow();\r\n }\r\n\r\n var icon = {\r\n url: 'https://maps.google.com/mapfiles/ms/icons/red-dot.png',\r\n scaledSize: new window.google.maps.Size(22, 22),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(10, 10),\r\n };\r\n\r\n branches.forEach((marker_item) => {\r\n if (typeof marker_item['lat'] === 'number') {\r\n var newMarker;\r\n\r\n try {\r\n newMarker = new window.google.maps.Marker({\r\n position: {\r\n lat: marker_item['lat'],\r\n lng: marker_item['lng'],\r\n },\r\n title: marker_item['title'],\r\n data: marker_item,\r\n map: map.current,\r\n icon: icon,\r\n draggable: false,\r\n });\r\n } catch (error) {\r\n console.log(marker_item);\r\n console.log(error);\r\n }\r\n\r\n newMarker.addListener('mouseover', function () {\r\n console.log(newMarker['data']);\r\n\r\n infoWindow.current.setContent(\r\n `
\r\n
\r\n ${newMarker['data']['title']}\r\n
\r\n
\r\n

${\r\n newMarker['data']['firstContact'].split(':')[0]\r\n }:

\r\n ${\r\n newMarker['data']['firstContact'].split(':')[1]\r\n }\r\n \r\n

Email:

\r\n ${newMarker['data']['email']}\r\n \r\n

Telephone:

\r\n ${newMarker['data']['telephone']}\r\n \r\n

Physical Address:

\r\n ${\r\n newMarker['data']['address']\r\n }\r\n
\r\n
`\r\n );\r\n infoWindow.current.setPosition(newMarker['position']);\r\n infoWindow.current.open(map.current);\r\n });\r\n }\r\n\r\n if (typeof marker_item['location_Lat'] !== 'number') {\r\n // console.log(marker_item);\r\n }\r\n });\r\n }\r\n }, [branches, map.current]);\r\n\r\n return (\r\n \r\n \r\n\r\n {!ready && }\r\n \r\n );\r\n};\r\n\r\nexport default GoogleMap;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { at } from 'lodash';\r\nimport { useField } from 'formik';\r\nimport {\r\n ClickAwayListener,\r\n TextField,\r\n Typography,\r\n IconButton,\r\n InputAdornment,\r\n CircularProgress,\r\n} from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faLocationDot, faBuilding, faLocationCrosshairs } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst GoogleSearchFieldRoot = styled('div')(({ theme }) => ({\r\n width: '100%',\r\n overflow: 'hidden',\r\n}));\r\n\r\nconst PredictionsRoot = styled('div')(({ theme }) => ({\r\n position: 'absolute',\r\n textAlign: 'start',\r\n backgroundColor: '#FFF',\r\n boxShadow: '0 2px 6px rgb(0 0 0 / 30%)',\r\n borderRadius: '0 0 10px 10px',\r\n zIndex: 9,\r\n width: 'calc(100vw - 50px)',\r\n maxHeight: '300px',\r\n overflow: 'hidden overlay',\r\n [theme.breakpoints.up('sm')]: {\r\n maxWidth: '450px',\r\n },\r\n}));\r\n\r\nconst PredictionItem = styled(Typography)(({ theme }) => ({\r\n padding: '8px 6px',\r\n cursor: 'pointer',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n ':hover': {\r\n color: '#D7412E',\r\n backgroundColor: '#F0F0F0',\r\n },\r\n}));\r\n\r\nconst LocationButton = styled(IconButton)(({ theme }) => ({\r\n borderRadius: '5px',\r\n marginBottom: '15px',\r\n color: '#D7412E',\r\n fontSize: '22px',\r\n}));\r\n\r\nconst GoogleSearchField = (props) => {\r\n const {\r\n errorText,\r\n setFieldValue,\r\n values,\r\n itemChange,\r\n handleChange,\r\n brokers,\r\n setBrokers,\r\n locationBtn,\r\n handleLocation,\r\n ...rest\r\n } = props;\r\n const [field, meta] = useField(props);\r\n\r\n const [predictions, setPredictions] = useState([]);\r\n const [value, setValue] = useState('');\r\n const [loadingLocation, setLoadingLocation] = useState(false);\r\n\r\n function _renderHelperText() {\r\n const [touched, error] = at(meta, 'touched', 'error');\r\n if (touched && error) {\r\n return error;\r\n }\r\n }\r\n\r\n const handleSearch = async (text) => {\r\n setFieldValue(rest['name'], text);\r\n handleChange && handleChange(text);\r\n\r\n if (!text) {\r\n setPredictions([]);\r\n setBrokers && setBrokers();\r\n return false;\r\n }\r\n\r\n if (window.google) {\r\n const autocomplete = new window.google.maps.places.AutocompleteService();\r\n\r\n autocomplete.getPlacePredictions(\r\n {\r\n input: text,\r\n types: ['establishment', 'geocode'],\r\n componentRestrictions: { country: 'ZA' },\r\n },\r\n (predictions) => {\r\n setPredictions(predictions);\r\n }\r\n );\r\n }\r\n };\r\n\r\n const itemClick = (item) => {\r\n if ('broker_Code' in item) {\r\n setFieldValue(rest['name'], item['display_Name']);\r\n handleChange && itemChange(item);\r\n setPredictions([]);\r\n setBrokers && setBrokers();\r\n return;\r\n }\r\n\r\n if (navigator.geolocation) {\r\n var geocoder = new window.google.maps.Geocoder();\r\n\r\n geocoder\r\n .geocode({ address: item['description'] })\r\n .then((result) => {\r\n const { results } = result;\r\n handleLocation && handleLocation(results[0]);\r\n setFieldValue(rest['name'], results[0]['formatted_address']);\r\n\r\n handleChange && itemChange(item);\r\n setPredictions([]);\r\n setBrokers && setBrokers();\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n }\r\n };\r\n\r\n const getLocation = () => {\r\n if (navigator.geolocation) {\r\n setLoadingLocation(true);\r\n navigator.geolocation.getCurrentPosition(\r\n function (position) {\r\n var geocoder = new window.google.maps.Geocoder();\r\n\r\n var latlng = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude,\r\n };\r\n\r\n geocoder.geocode({ location: latlng }, function (results, status) {\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n setFieldValue(rest['name'], results[0].formatted_address);\r\n handleLocation && handleLocation(results[0]);\r\n setLoadingLocation(false);\r\n } else {\r\n console.log('No results found');\r\n setLoadingLocation(false);\r\n }\r\n } else {\r\n console.log('Geocoder failed due to: ' + status);\r\n setLoadingLocation(false);\r\n }\r\n });\r\n },\r\n function () {\r\n // handleLocationError(true, infoWindow, map.getCenter());\r\n setLoadingLocation(false);\r\n }\r\n );\r\n } else {\r\n // Browser doesn't support Geolocation\r\n // handleLocationError(false, infoWindow, map.getCenter());\r\n setLoadingLocation(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n handleSearch(event.target.value)}\r\n InputProps={\r\n locationBtn && {\r\n endAdornment: (\r\n \r\n \r\n {loadingLocation ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n ),\r\n }\r\n }\r\n />\r\n {(predictions || brokers) && (\r\n {\r\n setPredictions([]);\r\n setBrokers && setBrokers();\r\n }}\r\n >\r\n \r\n {brokers &&\r\n brokers.map((item, index) => (\r\n itemClick(item)}>\r\n {item['display_Name']}\r\n \r\n ))}\r\n {predictions &&\r\n predictions.map((item, index) => (\r\n itemClick(item)}>\r\n {item['description']}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default GoogleSearchField;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade, Typography } from '@mui/material';\r\nimport GoogleMap from '../../components/website-map/GoogleMap';\r\nimport AxiosRequest from '../../utils/axios/AxiosRequest';\r\nimport GoogleSearchField from '../../components/forms/form-fields/GoogleSearchField';\r\nimport { Form, Formik } from 'formik';\r\n\r\nconst FindBrokerRoot = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n height: 'calc(100vh - 82px)',\r\n}));\r\n\r\nconst MapContainer = styled('div')(({ theme }) => ({\r\n width: '100%',\r\n height: '100%',\r\n}));\r\n\r\nconst SidebarRoot = styled('div')(({ theme }) => ({\r\n width: '950px',\r\n [theme.breakpoints.down('lg')]: {\r\n width: '850px',\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n display: 'none',\r\n },\r\n}));\r\n\r\nconst Sidebarheader = styled('div')(({ theme }) => ({\r\n backgroundColor: '#D7412E',\r\n color: '#FFF',\r\n padding: '30px',\r\n}));\r\n\r\nconst SidebarInputContainer = styled('div')(({ theme }) => ({\r\n padding: '30px',\r\n}));\r\n\r\nconst MobileInputContainer = styled('div')(({ theme }) => ({\r\n position: 'absolute',\r\n width: '350px',\r\n padding: '15px',\r\n backgroundColor: '#FFF',\r\n borderRadius: '5px',\r\n top: 90,\r\n left: 10,\r\n zIndex: 1,\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n}));\r\n\r\nconst FindBroker = () => {\r\n const [brokers, setBrokers] = useState([]);\r\n const [markers, setMarkers] = useState([]);\r\n const [map, setMap] = useState(null);\r\n const timeout = useRef();\r\n\r\n const getMarkers = async () => {\r\n var result = await AxiosRequest.get(`api/brokers`);\r\n\r\n setMarkers(result);\r\n };\r\n\r\n useEffect(() => {\r\n getMarkers();\r\n }, []);\r\n\r\n const returnMap = (tempMap) => {\r\n setMap(tempMap);\r\n };\r\n\r\n const itemChange = (value) => {\r\n if ('broker_Code' in value) {\r\n if (map) {\r\n map.setCenter({ lat: value['location_Lat'], lng: value['location_Long'] });\r\n map.setZoom(19);\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (map) {\r\n var geocoder = new window.google.maps.Geocoder();\r\n geocoder.geocode(\r\n {\r\n address: value['description'],\r\n },\r\n function (results, status) {\r\n if (status === window.google.maps.GeocoderStatus.OK) {\r\n var latitude = results[0].geometry.location.lat();\r\n var longitude = results[0].geometry.location.lng();\r\n\r\n map.setCenter({ lat: latitude, lng: longitude });\r\n map.setZoom(19);\r\n }\r\n }\r\n );\r\n }\r\n };\r\n\r\n const handleChange = async (text) => {\r\n setBrokers([]);\r\n clearTimeout(timeout.current);\r\n\r\n timeout.current = setTimeout(async () => {\r\n var result = await AxiosRequest.post(`api/brokers`, { filterQuery: text });\r\n\r\n if (result) {\r\n setBrokers(result);\r\n return;\r\n }\r\n\r\n brokers && setBrokers(result);\r\n }, 1000);\r\n };\r\n\r\n const handleLocation = async (locationObj) => {\r\n if (map) {\r\n map.setCenter(locationObj['geometry']['location']);\r\n map.setZoom(19);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {({ isSubmitting, setFieldValue, values }) => (\r\n
\r\n setBrokers([])}\r\n fullWidth\r\n locationBtn\r\n handleLocation={handleLocation}\r\n />\r\n \r\n )}\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n Insurance Brokers play an essential role in the insurance industry.\r\n Besides providing professional advice to ensure you get the best\r\n coverage suited to you specific needs, they also assist in minimising\r\n administration and can be of great help during the claim process.\r\n \r\n \r\n Experience the joy of having an Insurance Broker who cares. At CIA we\r\n work with over 1,600 independent FSCA registered Brokers across South\r\n Africa who can help you with all your insurance needs.\r\n \r\n \r\n Browse our database to find a Broker near you today!\r\n \r\n \r\n\r\n \r\n \r\n {({ isSubmitting, setFieldValue, values }) => (\r\n
\r\n setBrokers([])}\r\n fullWidth\r\n locationBtn\r\n handleLocation={handleLocation}\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 FindBroker;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Typography } from '@mui/material';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Introduction = () => {\r\n return (\r\n \r\n \r\n \r\n Broker Agency Application\r\n \r\n \r\n Join over 1 600 brokers across South Africa and experience our specialist\r\n service. No minimum book size or monthly targets applicable, our focus is\r\n building enduring relationships with brokers who share our passion for insurance\r\n and customer service.\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","export default __webpack_public_path__ + \"static/media/Broker-Application-Form.60898163.pdf\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Link, Typography } from '@mui/material';\r\nimport BrokerApplicationForm from '../../../../assets/documents/Broker-Application-Form.pdf';\r\n\r\nconst DownloadAreaRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst DownloadArea = () => {\r\n return (\r\n \r\n \r\n \r\n Download the broker application from{' '}\r\n \r\n here\r\n \r\n \r\n \r\n Once completed please send the completed form to{' '}\r\n estelle@cia.co.za\r\n \r\n We'd love to work with you!\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DownloadArea;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\nimport DownloadArea from './components/DownloadArea';\r\n\r\nconst BrokerAgencyApplicationRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst BrokerAgencyApplication = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BrokerAgencyApplication;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Typography } from '@mui/material';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Introduction = () => {\r\n return (\r\n \r\n \r\n \r\n Upload an existing policy schedule\r\n \r\n \r\n and we'll send you a comparative CIA quote shortly:\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","const formModel = {\r\n firstName: {\r\n name: 'firstName',\r\n label: 'First Name*',\r\n requiredErrorMsg: 'First Name is required',\r\n },\r\n lastName: {\r\n name: 'lastName',\r\n label: 'Last Name*',\r\n requiredErrorMsg: 'Last Name is required',\r\n },\r\n email: {\r\n name: 'email',\r\n label: 'Email*',\r\n requiredErrorMsg: 'Email is required',\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst { firstName, lastName, email } = formModel;\r\n\r\nconst initialValues = {\r\n [firstName.name]: '',\r\n [lastName.name]: '',\r\n [email.name]: '',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\nimport { APP_ALLOWED_FILE_TYPES } from '../../constants/AppConstants';\r\n\r\nconst { firstName, lastName, email } = formModel;\r\n\r\nconst validationSchema = Yup.object().shape({\r\n [firstName.name]: Yup.string().required(`${firstName.requiredErrorMsg}`),\r\n [lastName.name]: Yup.string().required(`${lastName.requiredErrorMsg}`),\r\n [email.name]: Yup.string()\r\n .email('Incorrect email format')\r\n .required(`${email.requiredErrorMsg}`),\r\n});\r\n\r\nexport default validationSchema;\r\n","// #region Imports\r\n\r\n// Libraries\r\nimport React from 'react';\r\nimport { useField } from 'formik';\r\nimport { Button } from '@mui/material';\r\n\r\n// #endregion\r\n\r\n// #region Main Component\r\n\r\nconst UploadInput = (props) => {\r\n const { errorText, ...rest } = props;\r\n const [field, meta] = useField(props);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default UploadInput;\r\n\r\n// #endregion\r\n","import React, { useRef, useState } from 'react';\r\nimport { Formik, Form } from 'formik';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Grid, Typography } from '@mui/material';\r\nimport CircularProgress from '@mui/material/CircularProgress';\r\nimport initialValues from '../../validation/careers/initialValues';\r\nimport validationSchema from '../../validation/careers/validationSchema';\r\nimport formModel from '../../validation/careers/formModel';\r\nimport InputField from './form-fields/InputField';\r\nimport AxiosRequest from '../../utils/axios/AxiosRequest';\r\nimport UploadInput from './form-fields/UploadInput';\r\nimport { APP_ALLOWED_FILE_TYPES } from '../../constants/AppConstants';\r\nimport RecaptchaText from '../RecaptchaText';\r\nimport RecaptchaField from '../recaptcha/RecaptchaField';\r\nimport FormMessage from './FormMessage';\r\n\r\nconst ExistingPolicyScheduleFormRoot = styled('div')(({ theme }) => ({\r\n margin: '24px 0 0',\r\n}));\r\n\r\nconst ExistingPolicyScheduleFormContainer = styled('div')(({ theme }) => ({\r\n padding: '0 54px',\r\n}));\r\n\r\nconst ErrorMessage = styled(Typography)(({ theme }) => ({\r\n marginTop: '10px',\r\n color: theme.palette.error.main,\r\n}));\r\n\r\nconst ExistingPolicyScheduleForm = () => {\r\n const { firstName, lastName, email } = formModel;\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [attachment, setAttachment] = useState(null);\r\n const [attachmentError, setAttachmentError] = useState(null);\r\n const [formResponse, setFormResponse] = useState(null);\r\n const recaptchaRef = useRef();\r\n\r\n const submit = async (values, actions) => {\r\n const timeout = setTimeout(() => {\r\n setFormResponse({\r\n isSuccessful: false,\r\n message: 'Your submission could not be sent. Please try again later.',\r\n });\r\n setActiveValidation(false);\r\n actions.setSubmitting(false);\r\n return;\r\n }, 60000);\r\n\r\n if (!attachment) {\r\n setAttachmentError('File is required');\r\n return;\r\n }\r\n\r\n const token = await recaptchaRef.current.executeAsync();\r\n\r\n const getFormData = (object) =>\r\n Object.keys(object).reduce((formData, key) => {\r\n formData.append(key, object[key]);\r\n return formData;\r\n }, new FormData());\r\n\r\n var uploadData = getFormData({ ...values, file: attachment, token });\r\n\r\n var result = await AxiosRequest.post(`api/forms/existingpolicyschedule`, uploadData);\r\n\r\n clearTimeout(timeout);\r\n\r\n setFormResponse(result);\r\n setActiveValidation(false);\r\n actions.setSubmitting(false);\r\n actions.resetForm();\r\n };\r\n\r\n const handleChange = (event) => {\r\n setAttachment(null);\r\n\r\n if (\r\n !APP_ALLOWED_FILE_TYPES.includes(event.target.files[0].type) &&\r\n !APP_ALLOWED_FILE_TYPES.includes(event.target.files[0].name.split('.').pop())\r\n ) {\r\n if (event.target.files[0].type) {\r\n setAttachmentError(`File type ${event.target.files[0].type} not allowed.`);\r\n return;\r\n }\r\n\r\n setAttachmentError(\r\n `File type .${event.target.files[0].name.split('.').pop()} not allowed.`\r\n );\r\n return;\r\n }\r\n\r\n if (event.target.files[0].size >= 5242880) {\r\n setAttachmentError('File is too big.');\r\n return;\r\n }\r\n\r\n const files = Array.from(event.target.files);\r\n const [file] = files;\r\n\r\n setAttachmentError(null);\r\n setAttachment(file);\r\n };\r\n\r\n const validateFile = () => {\r\n if (!attachment) {\r\n setAttachmentError('File is required');\r\n return;\r\n }\r\n };\r\n\r\n return (\r\n \r\n {\r\n submit(values, actions);\r\n }}\r\n >\r\n {({ isSubmitting }) => (\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Upload Schedule (Word or PDF documents only)\r\n \r\n\r\n \r\n \r\n {attachment && 'name' in attachment && attachment.name}\r\n \r\n\r\n \r\n {attachmentError && attachmentError}\r\n \r\n \r\n \r\n {\r\n recaptchaRef.current.reset();\r\n validateFile();\r\n setActiveValidation(true);\r\n }}\r\n >\r\n {isSubmitting ? (\r\n \r\n ) : (\r\n 'Submit'\r\n )}\r\n \r\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 ExistingPolicyScheduleForm;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container } from '@mui/material';\r\nimport ExistingPolicyScheduleForm from '../../../../components/forms/ExistingPolicyScheduleForm';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst UploadForm = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UploadForm;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\nimport UploadForm from './components/UploadForm';\r\n\r\nconst ExistingPolicyScheduleRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst ExistingPolicySchedule = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ExistingPolicySchedule;\r\n","const formModel = {\r\n policyNumber: {\r\n name: 'policyNumber',\r\n label: 'Policy Number*',\r\n requiredErrorMsg: 'Policy Number is required',\r\n },\r\n claimNumber: {\r\n name: 'claimNumber',\r\n label: 'Claim Number*',\r\n requiredErrorMsg: 'Claim Number is required',\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst { policyNumber, claimNumber } = formModel;\r\n\r\nconst initialValues = {\r\n [policyNumber.name]: '',\r\n [claimNumber.name]: '',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\n\r\nconst { policyNumber, claimNumber } = formModel;\r\n\r\nconst validationSchema = Yup.object().shape({\r\n [policyNumber.name]: Yup.string().required(`${policyNumber.requiredErrorMsg}`),\r\n [claimNumber.name]: Yup.string().required(`${claimNumber.requiredErrorMsg}`),\r\n});\r\n\r\nexport default validationSchema;\r\n","import React, { useRef, useState } from 'react';\r\nimport { Formik, Form } from 'formik';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Container, Grid, Link, Typography } from '@mui/material';\r\nimport CircularProgress from '@mui/material/CircularProgress';\r\nimport initialValues from '../../validation/track-claim/initialValues';\r\nimport validationSchema from '../../validation/track-claim/validationSchema';\r\nimport formModel from '../../validation/track-claim/formModel';\r\nimport InputField from './form-fields/InputField';\r\nimport AxiosRequest from '../../utils/axios/AxiosRequest';\r\nimport FormMessage from './FormMessage';\r\nimport RecaptchaField from '../recaptcha/RecaptchaField';\r\n\r\nconst NewsletterFormRoot = styled('div')(({ theme }) => ({\r\n margin: '24px 0 0',\r\n}));\r\n\r\nconst NewsletterFormContainer = styled(Container)(({ theme }) => ({\r\n padding: '0 24px',\r\n}));\r\n\r\nconst RecaptchaText = styled(Typography)(({ theme }) => ({\r\n fontSize: '13px',\r\n marginTop: '20px',\r\n}));\r\n\r\nconst NewsletterForm = (props) => {\r\n const { handleTracking } = props;\r\n const { policyNumber, claimNumber } = formModel;\r\n\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [formResponse, setFormResponse] = useState(null);\r\n const recaptchaRef = useRef();\r\n\r\n const submit = async (values, actions) => {\r\n setFormResponse(null);\r\n\r\n values = {\r\n policyNumber: parseInt(values.policyNumber.replace(/\\D/g, '').replace(/^0+/, '')),\r\n claimNumber: parseInt(values.claimNumber.replace(/\\D/g, '').replace(/^0+/, '')),\r\n };\r\n\r\n if (!values.policyNumber || !values.claimNumber) {\r\n actions.setSubmitting(false);\r\n setFormResponse({ isSuccessful: false, message: 'Invalid Policy or Claim Number' });\r\n return;\r\n }\r\n\r\n // const token = await recaptchaRef.current.executeAsync();\r\n // values['token'] = token;\r\n\r\n var result = await AxiosRequest.post(`api/trackclaim`, values);\r\n\r\n if (result['isSuccessful']) {\r\n handleTracking(result);\r\n }\r\n\r\n setFormResponse(result);\r\n setActiveValidation(false);\r\n actions.setSubmitting(false);\r\n actions.resetForm();\r\n };\r\n\r\n return (\r\n \r\n \r\n {({ isSubmitting }) => (\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n recaptchaRef.current.reset();\r\n setActiveValidation(true);\r\n }}\r\n >\r\n {isSubmitting ? (\r\n \r\n ) : (\r\n 'Submit'\r\n )}\r\n \r\n \r\n \r\n\r\n \r\n This site is protected by reCAPTCHA and the{' '}\r\n \r\n Google Privacy Policy\r\n {' '}\r\n and{' '}\r\n \r\n Terms of Service\r\n {' '}\r\n apply.\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default NewsletterForm;\r\n","import React, { Fragment, useEffect, useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Divider, Fade, Button, Typography, Grid } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faMagnifyingGlassLocation } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport TrackClaimForm from '../../../components/forms/TrackClaimForm';\r\n\r\nconst TrackClaimRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst ClaimDataRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst ClaimDataHeader = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n}));\r\n\r\nconst ClaimDataHeaderBtn = styled(Button)(({ theme }) => ({\r\n color: '#FFFFFF',\r\n}));\r\n\r\nconst TrackClaim = () => {\r\n const [showTracking, setShowTracking] = useState(false);\r\n const [contactHandler, setContactHandler] = useState(null);\r\n const [escalate, setEscalate] = useState(null);\r\n const [claimData, setClaimData] = useState([]);\r\n const [claimNumber, setClaimNumber] = useState(null);\r\n\r\n const getText = (key, value) => {\r\n switch (key) {\r\n case 'claim_Grouping_Detailed':\r\n return 'Type of Claim';\r\n case 'claim_Status_Grouped':\r\n return 'Claim Status';\r\n case 'date_Notified':\r\n return 'Date Notified';\r\n case 'date_of_Loss':\r\n return 'Date of Loss';\r\n case 'entry_Date':\r\n return 'Entry Date';\r\n case 'handler':\r\n return 'Handler';\r\n case 'handler_Email':\r\n setContactHandler(value);\r\n setEscalate(value);\r\n return 'Handler Email';\r\n case 'handler_Tel_No':\r\n return 'Handler Telephone';\r\n case 'insured':\r\n return 'Insured';\r\n case 'loss_Adjuster_Appointed':\r\n return 'Loss Adjuster Appointed';\r\n case 'plumber_Appointed':\r\n return 'Plumber Appointed';\r\n case 'policyNo':\r\n return 'Policy Number';\r\n case 'unit_Number':\r\n return 'Unit Number';\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const filterDate = (value) => {\r\n const reg = new RegExp(/^\\d+$/);\r\n let testDate = new Date(value.toString());\r\n\r\n if (!reg.test(value.toString()) && testDate instanceof Date && !isNaN(testDate))\r\n return `${testDate.toLocaleDateString('en-ZA').replaceAll('/', '-')}`;\r\n\r\n return value;\r\n };\r\n\r\n const handleTracking = (result) => {\r\n var tempArray = [];\r\n for (const key in result['payload']) {\r\n if (key !== 'claimNo') {\r\n if (Object.hasOwnProperty.call(result['payload'], key)) {\r\n const element = result['payload'][key];\r\n tempArray.push({\r\n text: getText(key, element),\r\n value: element,\r\n });\r\n }\r\n } else {\r\n setClaimNumber(result['payload'][key]);\r\n }\r\n }\r\n\r\n setClaimData(tempArray);\r\n setShowTracking(true);\r\n };\r\n\r\n return !showTracking ? (\r\n \r\n \r\n Let's Start Here\r\n \r\n Please enter your policy and claim number.\r\n \r\n\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n setShowTracking(false)}\r\n >\r\n Track Another Claim\r\n \r\n \r\n \r\n \r\n \r\n Claim Number: {claimNumber}\r\n \r\n \r\n \r\n\r\n \r\n\r\n {claimData.map((item, index) => (\r\n
\r\n \r\n \r\n \r\n {item['text']}:\r\n \r\n \r\n \r\n \r\n {filterDate(item['value'])}\r\n \r\n \r\n \r\n\r\n \r\n
\r\n ))}\r\n\r\n \r\n \r\n \r\n For assistance on this claim, please contact the claims handler or\r\n alternatively escalate to a manager by clicking below.\r\n \r\n \r\n \r\n \r\n (window.location.href = `mailto:${contactHandler}?subject=Claim Number: ${claimNumber}`)\r\n }\r\n >\r\n Contact Handler\r\n \r\n \r\n (window.location.href = `mailto:${escalate}?subject=Claim Number: ${claimNumber}`)\r\n }\r\n style={{ marginLeft: '10px' }}\r\n >\r\n Escalate\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TrackClaim;\r\n","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Container, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAlignRight } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst IntroductionTitle = styled('div')(({ theme }) => ({}));\r\n\r\nconst IntroductionText = styled('div')(({ theme }) => ({\r\n margin: '30px 0',\r\n}));\r\n\r\nconst TitleDot = styled('span')(({ theme }) => ({\r\n marginLeft: '2px',\r\n height: '6px',\r\n width: '6px',\r\n backgroundColor: '#D7412E',\r\n borderRadius: '100%',\r\n display: 'inline-block',\r\n}));\r\n\r\nconst Introduction = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Commitment\r\n Integrity\r\n Ability\r\n \r\n \r\n \r\n\r\n \r\n \r\n CIA is an award-winning building insurance underwriter, with branches\r\n throughout South Africa. When disaster strikes, we’re here to help keep the\r\n roof over your head. We provide cover for all types of buildings including sectional\r\n title developments, freestanding homes, office parks, warehouses and\r\n shopping malls with our easy-to-understand all risk insurance policies\r\n written in plain language. As the only dedicated building insurance\r\n specialists in South Africa, our niche focus has allowed us to become the\r\n experts in understanding and covering the risks faced by today’s property\r\n owners.\r\n \r\n \r\n\r\n history.push('/about-us')}\r\n >\r\n Read More{' '}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","export default __webpack_public_path__ + \"static/media/cia-house-cropped.6ca48bd1.jpg\";","export default __webpack_public_path__ + \"static/media/community-home-cropped.03991f6f.jpg\";","export default __webpack_public_path__ + \"static/media/commercial-building-cropped.d3df7610.jpg\";","export default __webpack_public_path__ + \"static/media/fidelity-computer-crime-cropped.30380bfe.jpg\";","import React, { useEffect, useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled, useTheme } from '@mui/material/styles';\r\nimport { Button, Container, Typography, Tab, Box, Grid, useMediaQuery } from '@mui/material';\r\nimport { TabContext, TabList, TabPanel } from '@mui/lab';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAlignRight } from '@fortawesome/free-solid-svg-icons';\r\nimport { faPaperPlane } from '@fortawesome/free-regular-svg-icons';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\n\r\nimport HomeownersImage from '../../../assets/images/cia-house-cropped.jpg';\r\nimport CommunityImage from '../../../assets/images/community-home-cropped.jpg';\r\nimport CommercialImage from '../../../assets/images/commercial-building-cropped.jpg';\r\nimport FidelityImage from '../../../assets/images/fidelity-computer-crime-cropped.jpg';\r\n\r\nconst ProductInfoRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst TabListStyled = styled(TabList)(({ theme }) => ({\r\n [theme.breakpoints.down('sm')]: {\r\n '& .MuiTabs-indicator': {\r\n display: 'none',\r\n },\r\n },\r\n}));\r\n\r\nconst TabItem = styled(Tab)(({ theme }) => ({\r\n fontSize: '18px',\r\n textTransform: 'none',\r\n borderRadius: '5px 5px 0 0',\r\n '&.Mui-selected': {\r\n fontWeight: 600,\r\n borderBottom: '3px solid #D7412E',\r\n },\r\n}));\r\n\r\nconst TabContent = styled(TabPanel)(({ theme }) => ({\r\n padding: '24px 0',\r\n textAlign: 'start',\r\n minHeight: '330px',\r\n}));\r\n\r\nconst ImageGrid = styled(Grid)(({ theme }) => ({\r\n display: 'none',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'flex',\r\n },\r\n}));\r\n\r\nconst TextContentGrid = styled(Grid)(({ theme }) => ({\r\n padding: '0 35px',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '0',\r\n },\r\n}));\r\n\r\nconst ProductImages = styled('img')(({ theme }) => ({\r\n width: '100%',\r\n boxShadow: '0 2px 10px -2px rgb(0 0 0 / 60%)',\r\n}));\r\n\r\nconst ProductTitle = styled('div')(({ theme }) => ({\r\n fontSize: '25px',\r\n fontWeight: 600,\r\n color: '#474747',\r\n [theme.breakpoints.down('sm')]: {\r\n textAlign: 'center',\r\n },\r\n}));\r\n\r\nconst ProductText = styled(Typography)(({ theme }) => ({\r\n margin: '30px 0',\r\n [theme.breakpoints.down('sm')]: {\r\n textAlign: 'center',\r\n },\r\n}));\r\n\r\nconst ProductActions = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n [theme.breakpoints.down('sm')]: {\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n flexDirection: 'column',\r\n },\r\n}));\r\n\r\nconst ProductBtn = styled(Button)(({ theme }) => ({\r\n margin: '5px',\r\n minWidth: '180px',\r\n}));\r\n\r\nconst productItems = [\r\n {\r\n title: 'Homeowners Building Insurance',\r\n shortTitle: 'Homeowners',\r\n text: 'Offering some of the widest cover available on the market, our flagship Homeowners All Risk policy offers our clients complete peace of mind knowing that their homes are fully covered.',\r\n link: '/homeowners-building-insurance',\r\n quoteSection: '#homeowners-insurance',\r\n image: HomeownersImage,\r\n },\r\n {\r\n title: 'Community Living Insurance',\r\n shortTitle: 'Community Schemes',\r\n text: 'Our Community Living Insurance Policy has been designed to cover both residential and commercial community living schemes including Sectional Title, Bodies Corporate, Share Blocks, Home Owners Associations and Retirement Villages.',\r\n link: '/community-living-insurance',\r\n quoteSection: '#community-insurance',\r\n image: CommunityImage,\r\n },\r\n {\r\n title: 'Commercial Building Insurance',\r\n shortTitle: 'Commercial Buildings',\r\n text: 'The CIA Commercial Building Insurance Policy provides All Risk cover for commercial, industrial and residential buildings, such as churches, schools, hospitals, office parks, factories, warehouses and shopping centres.',\r\n link: '/commercial-building-insurance',\r\n quoteSection: '#commercial-insurance',\r\n image: CommercialImage,\r\n },\r\n {\r\n title: 'Fidelity & Computer Crime Insurance',\r\n shortTitle: 'Fidelity Guarantee',\r\n text: 'Our Fidelity and Computer Crime Insurance Policy is based on the requirements of the Sectional Titles Management and Community Schemes Ombud Services Acts and enhanced with additional cover provided for computer-crime related loss.',\r\n link: '/fidelity-computer-crime-insurance',\r\n quoteSection: '#fidelity-computer-crime-insurance',\r\n image: FidelityImage,\r\n },\r\n];\r\n\r\nconst ProductInfo = () => {\r\n const theme = useTheme();\r\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\r\n\r\n const history = useHistory();\r\n const [value, setValue] = useState('0');\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n };\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {productItems.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n {productItems.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {item['title']}\r\n\r\n {item['text']}\r\n\r\n \r\n \r\n history.push({\r\n pathname: item['link'],\r\n search: '?section=whats-covered',\r\n })\r\n }\r\n >\r\n What's Covered{' '}\r\n \r\n \r\n\r\n \r\n history.push(`/get-quote${item['quoteSection']}`)\r\n }\r\n >\r\n Online Quote\r\n \r\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 ProductInfo;\r\n","export default __webpack_public_path__ + \"static/media/multitasking.d26d2918.svg\";","export default __webpack_public_path__ + \"static/media/laptop.20fa9aff.svg\";","export default __webpack_public_path__ + \"static/media/find-my-friend.5ffea4b8.svg\";","export default __webpack_public_path__ + \"static/media/insurance-policy.d51d2b0a.svg\";","export default __webpack_public_path__ + \"static/media/policy.d1acb948.svg\";","export default __webpack_public_path__ + \"static/media/process.1854c4e4.svg\";","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Container, Grid, Link } from '@mui/material';\r\nimport { styled } from '@mui/material/styles';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\n\r\nimport MultitaskingIcon from '../../../assets/images/icons/multitasking.svg';\r\nimport LaptopIcon from '../../../assets/images/icons/laptop.svg';\r\nimport FindMyFriendIcon from '../../../assets/images/icons/find-my-friend.svg';\r\nimport InsurancePolicyIcon from '../../../assets/images/icons/insurance-policy.svg';\r\nimport PolicyIcon from '../../../assets/images/icons/policy.svg';\r\nimport ProcessIcon from '../../../assets/images/icons/process.svg';\r\n\r\nconst SelfAssistRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst SelfAssistItems = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst GridContainer = styled(Grid)(({ theme }) => ({\r\n padding: '15px 20px 15px 0',\r\n}));\r\n\r\nconst ItemIcon = styled('img')(({ theme }) => ({\r\n height: '35px',\r\n width: '35px',\r\n filter: 'invert(43%) sepia(100%) saturate(3298%) hue-rotate(341deg) brightness(85%) contrast(97%)',\r\n}));\r\n\r\nconst ItemTitle = styled('div')(({ theme }) => ({\r\n color: '#474747',\r\n fontWeight: 500,\r\n fontSize: '20px',\r\n marginBottom: '5px',\r\n}));\r\n\r\nconst ItemText = styled('div')(({ theme }) => ({\r\n color: '#666666',\r\n fontWeight: 500,\r\n fontSize: '16px',\r\n margin: '6px 0 16px',\r\n}));\r\n\r\nconst GridLink = styled(Link)(({ theme }) => ({\r\n cursor: 'pointer',\r\n}));\r\n\r\nconst selfAssist_Array = [\r\n {\r\n title: 'Find a Broker',\r\n text: 'Insurance brokers are an essential part of the insurance industry and provides tons of value to their clients.',\r\n linkText: 'Find a broker near you',\r\n link: '/find-a-broker',\r\n icon: FindMyFriendIcon,\r\n },\r\n {\r\n title: 'Online Broker Training',\r\n text: 'We believe in the continuous professional development of our brokers and managing agents. We pride ourselves in the expert training we offer.',\r\n linkText: 'More info',\r\n link: '/online-broker-training',\r\n icon: LaptopIcon,\r\n },\r\n {\r\n title: 'Track a Claim',\r\n text: 'Please have your claim and policy number ready to track your claim status.',\r\n linkText: 'Track your claim',\r\n link: '/track-a-claim',\r\n icon: ProcessIcon,\r\n },\r\n {\r\n title: 'Request Insurance Certificate',\r\n text: 'Issue an online Insurance Certificate.',\r\n linkText: 'Request a certificate',\r\n link: '/request-insurance-certificate',\r\n icon: MultitaskingIcon,\r\n },\r\n {\r\n title: 'Broker Agency Application',\r\n text: 'Get the info you need to work with us.',\r\n linkText: 'Request your broker application',\r\n link: '/broker-agency-application',\r\n icon: InsurancePolicyIcon,\r\n },\r\n {\r\n title: 'Existing Policy Schedule',\r\n text: 'Upload your policy schedule for quick assistance.',\r\n linkText: 'More info',\r\n link: '/policy-schedule',\r\n icon: PolicyIcon,\r\n },\r\n];\r\n\r\nconst SelfAssistOptions = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n \r\n {selfAssist_Array.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n {item['title']}\r\n \r\n {item['text']}{' '}\r\n history.push(item['link'])}>\r\n {item['linkText']}\r\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 SelfAssistOptions;\r\n","import React from 'react';\r\nimport Slider from 'react-slick';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, IconButton, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faQuoteRight } from '@fortawesome/free-solid-svg-icons';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\n\r\nconst TestimonialsRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n // '& .slick-arrow.slick-prev': {\r\n // backgroundColor: '#D7412E',\r\n // color: 'blue',\r\n // },\r\n}));\r\n\r\nconst SlickContainer = styled(Container)(({ theme }) => ({\r\n padding: '0 100px',\r\n [theme.breakpoints.down('md')]: {\r\n padding: '0 50px',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '0 20px',\r\n },\r\n}));\r\n\r\nconst SlickSlider = styled(Slider)(({ theme }) => ({}));\r\n\r\nconst SlickItem = styled('div')(({ theme }) => ({\r\n textAlign: 'center',\r\n}));\r\n\r\nconst NextButton = styled(IconButton)(({ theme }) => ({\r\n backgroundColor: '#D7412E',\r\n opacity: 0.5,\r\n color: '#fff',\r\n height: '25px',\r\n width: '25px',\r\n fontSize: '16px',\r\n ':hover': {\r\n opacity: 1,\r\n backgroundColor: '#D7412E',\r\n },\r\n position: 'absolute',\r\n right: 250,\r\n marginTop: '50px',\r\n}));\r\n\r\nconst PreviousButton = styled(IconButton)(({ theme }) => ({\r\n opacity: 0.5,\r\n // position: 'absolute',\r\n marginTop: '',\r\n padding: 0,\r\n // transform: 'translate(0, -50%)',\r\n height: '20px',\r\n width: '20px',\r\n fontSize: '16px',\r\n color: '#fff',\r\n backgroundColor: '#D7412E',\r\n ':hover': {\r\n opacity: 1,\r\n backgroundColor: '#D7412E',\r\n },\r\n}));\r\n\r\nconst testemonial_array = [\r\n {\r\n intro: null,\r\n text: '\"Thank you so much Sindi. You are like lighting. Awesome service\"',\r\n from: 'Annetjie Hall',\r\n company: 'Stepp Insurance Brokers',\r\n },\r\n {\r\n intro: '\"Hi Mpho,',\r\n text: 'Many thanks. You are always very helpful and I appreciate your kind assistance\"',\r\n from: 'Retha Schreuder',\r\n company: 'Osro CC',\r\n },\r\n {\r\n intro: null,\r\n text: '\"Would like to thank you ladies and CIA for excellent service received\"',\r\n from: 'Pauline Cooper',\r\n company: 'Unidel Carriers (Pty) Ltd',\r\n },\r\n {\r\n intro: '\"Dear Mpho',\r\n text: 'You are the best!!!! Thank you so much for excellent service and your prompt response\"',\r\n from: 'Mary-Ann Jonck',\r\n company: 'Hillside Risk Management (Pty) Ltd',\r\n },\r\n {\r\n intro: null,\r\n text: '\"Thank you for the excellent service. This claim was paid on the same day that it was submitted.\"',\r\n from: 'Mariana van Zyl',\r\n company: 'NWIB',\r\n },\r\n {\r\n intro: '\"Good day Sindi/Susan,',\r\n text: 'Thanking you for outstanding service. Client happy with the services from Karabo 😊\"',\r\n from: 'Angie',\r\n company: 'HSS Brokers',\r\n },\r\n {\r\n intro: '\"Morning Kobus',\r\n text: 'Thank you, we received the payment notification this morning. I also just want to say that the service I am receiving on the geyser claims is really great. Very quick and efficient. Please say thank you to the staff.\"',\r\n from: 'Heather MacMillan',\r\n company: 'De Wet De Villiers',\r\n },\r\n {\r\n intro: '\"Hello Sophi',\r\n text: 'It is such a pleasure to work with you and your company, always great service!\"',\r\n from: 'Nicky Greyling',\r\n company: 'APBCO Brokers',\r\n },\r\n {\r\n intro: '\"Dear Jimmie',\r\n text: `Just wanted to let you know that your online video training course is absolutely amazing. Such an asset to learning about CIA's products - thank you so much for creating this platform for the industry - so helpful!”`,\r\n from: 'Jane Frances Pitt',\r\n company: 'Stepp Insurance Brokers',\r\n },\r\n {\r\n intro: '\"Hi Suritha',\r\n text: 'I would like to thank you for your super and efficient services. Please can you send me the quote with the AOL that I can send it to Chairperson and tell them to authorise the contractor to go ahead.\"',\r\n from: 'Anja Schroeder',\r\n company: 'PSG Bryanston',\r\n },\r\n {\r\n intro: '\"Hi Michelle,',\r\n text: 'Thank you for your excellent service and assistance with my geyser claim. I really appreciate it; my husband is also VERY IMPRESSED. Thanks once again.\"',\r\n from: 'Karen Jonker',\r\n company: 'FFG',\r\n },\r\n {\r\n intro: '\"Good morning Ethel,',\r\n text: `Thank you for your reply on the claim update. We as Origin Financial want to thank you for the brilliant service that you've till date delivered to us as the broker and to our insured. You really went the extra mile over and above your daily duties. We thank you\"`,\r\n from: 'Christo Oelsen',\r\n company: 'Origin Financial Services',\r\n },\r\n {\r\n intro: '\"Good morning Suritha,',\r\n text: `Thank you so much! I understand this wasn't the most pleasant claim, but I really appreciate the effort you put in.\"`,\r\n from: 'Marlene Oberholzer',\r\n company: 'Fairhurst Risk Solutions',\r\n },\r\n {\r\n intro: '\"Hi Riana,',\r\n text: 'Thank you so much! You are a star! all good and in order. Much appreciated for all your efficiency and kindness as always.\"',\r\n from: 'Annie',\r\n company: 'CCA Brokers',\r\n },\r\n {\r\n intro: '\"Marc,',\r\n text: 'Ek wil julle graag met hierdie skrywe geluk wens met julle uitstekend eise diens en veral hierdie jaar met die inperking asook die bo gemiddelde aantal eise wat hierdie winter hanteer en aangemeld is. Julle het regtig alle verwagtinge oortref en is ons dankbaar vir CIA en elke lid van jou eise span.\"',\r\n from: 'Jannie Jacobs',\r\n company: 'Elite Makelaars',\r\n },\r\n {\r\n intro: '\"Hi Roxanne,',\r\n text: 'Once again, many thanks for keeping us informed of progress - your friendly professionalism is very much appreciated and a refreshing change when dealing with big companies!\"',\r\n from: 'John & Ingrid Waltham',\r\n company: 'Riverland Resort',\r\n },\r\n];\r\n\r\nconst Testemonials = () => {\r\n const slider = React.useRef(null);\r\n\r\n const settings = {\r\n dots: true,\r\n infinite: true,\r\n speed: 500,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n };\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n {/* slider?.current?.slickPrev()}>\r\n \r\n \r\n slider?.current?.slickNext()}>\r\n \r\n */}\r\n\r\n \r\n {testemonial_array.map((slick_item, index) => (\r\n \r\n \r\n\r\n {slick_item['intro'] && (\r\n \r\n {slick_item['intro']}\r\n \r\n )}\r\n\r\n \r\n {slick_item['text'] && slick_item['text']}\r\n \r\n\r\n \r\n {slick_item['from'] && slick_item['from']}\r\n \r\n\r\n \r\n {slick_item['company'] && slick_item['company']}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Testemonials;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, IconButton, Typography } from '@mui/material';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\nimport NewsletterForm from '../../../components/forms/NewsletterForm';\r\n\r\nconst NewsletterRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst NewsletterDesc = styled(Typography)(({ theme }) => ({\r\n textAlign: 'center',\r\n margin: '0 auto',\r\n maxWidth: '1200px',\r\n padding: '0 30px',\r\n}));\r\n\r\nconst Newsletter = () => {\r\n return (\r\n \r\n \r\n\r\n \r\n Join more than 12,000 subscribers and stay up to date with \"must know\" insurance\r\n topics, advice from the experts, industry related news and special announcements.\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Newsletter;\r\n","export default __webpack_public_path__ + \"static/media/communitiy-home-carousel.4d437753.jpg\";","export default __webpack_public_path__ + \"static/media/homeowners-home-carousel.29d38f01.jpg\";","export default __webpack_public_path__ + \"static/media/commercial-home-carousel.3b8c50aa.jpg\";","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Slider from 'react-slick';\r\nimport { styled } from '@mui/material/styles';\r\nimport CommunityImage from '../../../assets/images/slider/communitiy-home-carousel.jpg';\r\nimport HomeownersImage from '../../../assets/images/slider/homeowners-home-carousel.jpg';\r\nimport CommercialImage from '../../../assets/images/slider/commercial-home-carousel.jpg';\r\nimport { Button, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPaperPlane } from '@fortawesome/free-regular-svg-icons';\r\n\r\nconst HomeSliderRoot = styled('div')(({ theme }) => ({\r\n // height: '600px',\r\n}));\r\n\r\nconst SlickSlider = styled(Slider)(({ theme }) => ({\r\n '& .slick-dots': {\r\n bottom: 20,\r\n '& li.slick-active button::before': {\r\n color: theme.palette.primary.main,\r\n },\r\n '& li': {\r\n '& button::before': {\r\n fontSize: theme.typography.pxToRem(18),\r\n color: '#fff',\r\n opacity: 1,\r\n },\r\n },\r\n },\r\n}));\r\n\r\nconst SliderContainer = styled('div')(({ theme }) => ({\r\n overflow: 'hidden',\r\n}));\r\n\r\nconst SliderCommunity = styled('div')(({ theme }) => ({\r\n height: '600px',\r\n background: `url(${CommunityImage}) 70% 70% no-repeat`,\r\n backgroundSize: 'cover',\r\n [theme.breakpoints.down('md')]: {\r\n height: '500px',\r\n backgroundPosition: 'center center',\r\n backgroundSize: 'cover',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n height: '450px',\r\n },\r\n}));\r\n\r\nconst SliderHomeowners = styled('div')(({ theme }) => ({\r\n height: '600px',\r\n background: `url(${HomeownersImage}) 70% 70% no-repeat`,\r\n backgroundSize: 'cover',\r\n [theme.breakpoints.down('md')]: {\r\n height: '500px',\r\n backgroundPosition: 'center center',\r\n backgroundSize: 'cover',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n height: '450px',\r\n },\r\n}));\r\n\r\nconst SliderCommercial = styled('div')(({ theme }) => ({\r\n height: '600px',\r\n background: `url(${CommercialImage}) 70% 70% no-repeat`,\r\n backgroundSize: 'cover',\r\n [theme.breakpoints.down('md')]: {\r\n height: '500px',\r\n backgroundPosition: 'center center',\r\n backgroundSize: 'cover',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n height: '450px',\r\n },\r\n}));\r\n\r\nconst CardRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: 'rgba(255, 255, 255, 0.97)',\r\n padding: '30px',\r\n position: 'absolute',\r\n top: 0,\r\n right: '13%',\r\n height: '280px',\r\n width: '330px',\r\n borderRadius: '0 0 25px 25px',\r\n boxShadow: '0px 1px 20px -3px rgba(0,0,0,0.4)',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.down('sm')]: {\r\n height: '280px',\r\n width: '240px',\r\n left: '6%',\r\n top: '8%',\r\n borderRadius: '25px',\r\n padding: '20px',\r\n },\r\n}));\r\n\r\nconst CardTitle = styled(Typography)(({ theme }) => ({\r\n margin: '0 90px 0 0',\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '27px',\r\n margin: '0 20px 0 0',\r\n },\r\n}));\r\n\r\nconst CardText = styled(Typography)(({ theme }) => ({\r\n margin: '40px 0 auto 0',\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '22px',\r\n margin: '30px 0 auto 0',\r\n },\r\n}));\r\n\r\nconst CardButton = styled(Button)(({ theme }) => ({\r\n maxWidth: '165px',\r\n}));\r\n\r\nconst CommunityCard = ({ history }) => {\r\n return (\r\n \r\n \r\n Helping you weather the storm\r\n \r\n Claim pay-outs that are fast, friendly & fair\r\n history.push('/get-quote#community-insurance')}\r\n >\r\n Get a Quote\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst HomeownersCard = ({ history }) => {\r\n return (\r\n \r\n \r\n Come home to complete peace of mind\r\n \r\n Trusted by thousands of homeowners\r\n history.push('/get-quote#homeowners-insurance')}\r\n >\r\n Online Quote\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst CommercialCard = ({ history }) => {\r\n return (\r\n \r\n \r\n We protect what you've built\r\n \r\n Over R750 billion in buildings covered across SA\r\n history.push('/get-quote#commercial-insurance')}\r\n >\r\n Get a Quote\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst HomeSlider = () => {\r\n const history = useHistory();\r\n\r\n const settings = {\r\n dots: true,\r\n fade: true,\r\n infinite: true,\r\n speed: 300,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n autoplaySpeed: 8000,\r\n arrows: false,\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default HomeSlider;\r\n","import React, { useEffect } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\nimport ProductInfo from './components/ProductInfo';\r\nimport SelfAssistOptions from './components/SelfAssistOptions';\r\nimport Testemonials from './components/Testemonials';\r\nimport Newsletter from './components/Newsletter';\r\nimport HomeSlider from './components/HomeSlider';\r\nimport { APP_FADE_TIMEOUT } from '../../constants/AppConstants';\r\n\r\nconst HomeRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst Home = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Home;\r\n","export default __webpack_public_path__ + \"static/media/about-us.a7cc5621.jpg\";","import React, { useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\nimport { Button, Collapse, Container, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAlignRight } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst IntroductionContainer = styled(Container)(({ theme }) => ({\r\n textAlign: 'center',\r\n [theme.breakpoints.down('md')]: {\r\n padding: '0 30px 0 20px',\r\n },\r\n}));\r\n\r\nconst Introduction = () => {\r\n const [showMore, setShowMore] = useState(false);\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n At CIA Building Insurance Specialists, we understand that a building has\r\n community, livelihood and family at its core. Its value is so much more than the\r\n replacement cost of its roof and four walls. Our purpose at CIA is to keep the\r\n roof over your head; to ensure that your buildings and the people closest to you\r\n are protected from the devastating effects of fire, floods and other disasters.\r\n \r\n\r\n \r\n With our roots in a family-run business started in the late 1990's we have\r\n emerged as a respected market-leader in our industry, while still upholding the\r\n culture and ideals with which our company was founded.\r\n \r\n\r\n \r\n \r\n It is this understanding that has fueled the development of our flagship\r\n building insurance solutions in conjunction with ongoing research, a\r\n constant drive to innovate and entrenched partnerships with our broker\r\n network. This enables CIA to offer insurance products, cover and benefits\r\n for residential, commercial and industrial property owners that are the\r\n benchmark in the industry.\r\n \r\n\r\n \r\n CIA has a national footprint with 6 branches countrywide, each branch\r\n equipped with highly skilled and approachable decision-makers. As a result,\r\n we are renowned for consistent service delivery and the accessibility and\r\n personal touch of all our employees. Our extensive network of brokers means\r\n that we can connect you with an intermediary highly-trained in our range of\r\n products and services. Whatever your requirement, we pride ourselves on\r\n delivering passionate, personable and productive service.\r\n \r\n \r\n\r\n setShowMore(!showMore)}\r\n >\r\n {showMore ? 'Read Less' : 'Read More'}{' '}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","export default __webpack_public_path__ + \"static/media/tolerance.aae29920.svg\";","export default __webpack_public_path__ + \"static/media/solution.666223a3.svg\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\nimport { Container, Grid } from '@mui/material';\r\nimport ToleranceIcon from '../../../assets/images/icons/tolerance.svg';\r\nimport RegulationIcon from '../../../assets/images/icons/regulation.svg';\r\nimport SolutionIcon from '../../../assets/images/icons/solution.svg';\r\n\r\nconst OurValuesRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst OurValuesContainer = styled(Container)(({ theme }) => ({}));\r\n\r\nconst GridContainer = styled(Grid)(({ theme }) => ({\r\n padding: '15px 20px 15px 0',\r\n}));\r\n\r\nconst ItemIcon = styled('img')(({ theme }) => ({\r\n height: '35px',\r\n width: '35px',\r\n filter: 'invert(43%) sepia(100%) saturate(3298%) hue-rotate(341deg) brightness(85%) contrast(97%)',\r\n}));\r\n\r\nconst ItemTitle = styled('div')(({ theme }) => ({\r\n color: '#474747',\r\n fontWeight: 500,\r\n fontSize: '20px',\r\n marginBottom: '5px',\r\n}));\r\n\r\nconst ItemSubtitle = styled('div')(({ theme }) => ({\r\n color: '#D7412E',\r\n fontWeight: 600,\r\n fontSize: '18px',\r\n marginBottom: '5px',\r\n}));\r\n\r\nconst ItemText = styled('div')(({ theme }) => ({\r\n color: '#666666',\r\n fontWeight: 500,\r\n fontSize: '16px',\r\n margin: '6px 0 16px',\r\n}));\r\n\r\nconst ourValues_Array = [\r\n {\r\n title: 'Commitment',\r\n subtitle: 'Dedicated to our customers',\r\n text: `Our customers are at the heart of everything we do. We're here for the long term.`,\r\n icon: ToleranceIcon,\r\n },\r\n {\r\n title: 'Integrity',\r\n subtitle: 'True to our word',\r\n text: `We do what we say. We're very proud to have one of the lowest Ombud overturn ratios in the industry.`,\r\n icon: RegulationIcon,\r\n },\r\n {\r\n title: 'Ability',\r\n subtitle: 'Experienced & skilled',\r\n text: 'We do things right. Over 20 years of delivering fast, efficient and personable service.',\r\n icon: SolutionIcon,\r\n },\r\n];\r\n\r\nconst OurValues = () => {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {ourValues_Array.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n {item['title']}\r\n {item['subtitle']}\r\n {item['text']}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default OurValues;\r\n","export default __webpack_public_path__ + \"static/media/compass-1.d0b41ddc.png\";","export default __webpack_public_path__ + \"static/media/LHLogo.dc67ff84.png\";","export default __webpack_public_path__ + \"static/media/Hannover_Logo.20bee3df.png\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\nimport { Button, Container, Grid, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faArrowRight } from '@fortawesome/free-solid-svg-icons';\r\nimport CompassImage from '../../../assets/images/compass-1.png';\r\nimport LireasImage from '../../../assets/images/LHLogo.png';\r\nimport HannoverImage from '../../../assets/images/Hannover_Logo.png';\r\n\r\nconst OurPartnersRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n}));\r\n\r\nconst AboutDesc = styled(Typography)(({ theme }) => ({\r\n textAlign: 'center',\r\n margin: '0 auto',\r\n maxWidth: '1200px',\r\n padding: '0 40px',\r\n}));\r\n\r\nconst OurPartnersContainer = styled(Container)(({ theme }) => ({\r\n textAlign: 'center',\r\n [theme.breakpoints.up('md')]: {\r\n marginTop: '50px',\r\n },\r\n}));\r\n\r\nconst OurPartnersImage = styled('img')(({ theme }) => ({}));\r\n\r\nconst GridItem = styled(Grid)(({ theme }) => ({\r\n [theme.breakpoints.down('md')]: {\r\n padding: '70px 0 0',\r\n },\r\n}));\r\n\r\nconst ourPartners_array = [\r\n {\r\n image: CompassImage,\r\n link: 'http://www.compass.co.za/',\r\n alt: 'Compass',\r\n height: '70px',\r\n },\r\n {\r\n image: LireasImage,\r\n link: 'https://www.lireas.co.za/',\r\n alt: 'Lireas',\r\n height: '70px',\r\n },\r\n {\r\n image: HannoverImage,\r\n link: 'https://www.hannover-re.com/265794/hannover-re-in-south-africa-property-amp-casualty',\r\n alt: 'Hannover',\r\n height: '60px',\r\n },\r\n];\r\n\r\nconst OurPartners = () => {\r\n return (\r\n \r\n \r\n\r\n \r\n CIA is proudly underwritten by Compass Insurance Co. Limited (awarded an AA-(ZA)\r\n rating by Global Credit Ratings), a subsidiary of the Hannover Reinsurance Group -\r\n one of the largest reinsurers in the world. CIA is part of the Lireas Holdings Group\r\n of companies, which in turn is a subsidiary of the Hannover Reinsurance Group Africa\r\n Limited.\r\n \r\n\r\n \r\n \r\n {ourPartners_array.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n window.open(item['link'], '_blank')}\r\n >\r\n Visit Site\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 OurPartners;\r\n","import React, { useRef, useState } from 'react';\r\nimport { Formik, Form } from 'formik';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Grid, Typography } from '@mui/material';\r\nimport CircularProgress from '@mui/material/CircularProgress';\r\nimport initialValues from '../../validation/careers/initialValues';\r\nimport validationSchema from '../../validation/careers/validationSchema';\r\nimport formModel from '../../validation/careers/formModel';\r\nimport InputField from './form-fields/InputField';\r\nimport AxiosRequest from '../../utils/axios/AxiosRequest';\r\nimport UploadInput from './form-fields/UploadInput';\r\nimport { APP_ALLOWED_FILE_TYPES } from '../../constants/AppConstants';\r\nimport RecaptchaField from '../recaptcha/RecaptchaField';\r\nimport FormMessage from './FormMessage';\r\nimport RecaptchaText from '../RecaptchaText';\r\n\r\nconst CareersFormRoot = styled('div')(({ theme }) => ({\r\n margin: '24px 0 0',\r\n}));\r\n\r\nconst CareersFormContainer = styled('div')(({ theme }) => ({\r\n padding: '0 54px',\r\n}));\r\n\r\nconst ErrorMessage = styled(Typography)(({ theme }) => ({\r\n marginTop: '10px',\r\n color: theme.palette.error.main,\r\n}));\r\n\r\nconst CareersForm = () => {\r\n const { firstName, lastName, email } = formModel;\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [attachment, setAttachment] = useState(null);\r\n const [attachmentError, setAttachmentError] = useState(null);\r\n const [formResponse, setFormResponse] = useState(null);\r\n const recaptchaRef = useRef();\r\n\r\n const submit = async (values, actions) => {\r\n const timeout = setTimeout(() => {\r\n setFormResponse({\r\n isSuccessful: false,\r\n message: 'Your submission could not be sent. Please try again later.',\r\n });\r\n setActiveValidation(false);\r\n actions.setSubmitting(false);\r\n return;\r\n }, 60000);\r\n\r\n if (!attachment) {\r\n setAttachmentError('File is required');\r\n return;\r\n }\r\n\r\n const token = await recaptchaRef.current.executeAsync();\r\n\r\n const getFormData = (object) =>\r\n Object.keys(object).reduce((formData, key) => {\r\n formData.append(key, object[key]);\r\n return formData;\r\n }, new FormData());\r\n\r\n var uploadData = getFormData({ ...values, file: attachment, token });\r\n\r\n var result = await AxiosRequest.post(`api/forms/aboutus`, uploadData);\r\n\r\n clearTimeout(timeout);\r\n\r\n setFormResponse(result);\r\n setActiveValidation(false);\r\n actions.setSubmitting(false);\r\n actions.resetForm();\r\n };\r\n\r\n const handleChange = (event) => {\r\n setAttachment(null);\r\n\r\n if (\r\n !APP_ALLOWED_FILE_TYPES.includes(event.target.files[0].type) &&\r\n !APP_ALLOWED_FILE_TYPES.includes(event.target.files[0].name.split('.').pop())\r\n ) {\r\n if (event.target.files[0].type) {\r\n setAttachmentError(`File type ${event.target.files[0].type} not allowed.`);\r\n return;\r\n }\r\n\r\n setAttachmentError(\r\n `File type .${event.target.files[0].name.split('.').pop()} not allowed.`\r\n );\r\n return;\r\n }\r\n\r\n if (event.target.files[0].size >= 5242880) {\r\n setAttachmentError('File is too big.');\r\n return;\r\n }\r\n\r\n const files = Array.from(event.target.files);\r\n const [file] = files;\r\n\r\n setAttachmentError(null);\r\n setAttachment(file);\r\n };\r\n\r\n const validateFile = () => {\r\n if (!attachment) {\r\n setAttachmentError('File is required');\r\n return;\r\n }\r\n };\r\n\r\n return (\r\n \r\n {\r\n submit(values, actions);\r\n }}\r\n >\r\n {({ isSubmitting }) => (\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Upload CV (Word or PDF documents only)\r\n \r\n\r\n \r\n \r\n {attachment && 'name' in attachment && attachment.name}\r\n \r\n\r\n \r\n {attachmentError && attachmentError}\r\n \r\n \r\n \r\n {\r\n recaptchaRef.current.reset();\r\n validateFile();\r\n setActiveValidation(true);\r\n }}\r\n >\r\n {isSubmitting ? (\r\n \r\n ) : (\r\n 'Submit'\r\n )}\r\n \r\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 CareersForm;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Typography, Link } from '@mui/material';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\nimport CareersForm from '../../../components/forms/CareersForm';\r\n\r\nconst CareersRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst CareersDesc = styled(Typography)(({ theme }) => ({\r\n fontStyle: 'italic',\r\n}));\r\n\r\n\r\nconst Careers = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n Feel free to submit your details for future positions\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Careers;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport AboutUsImage from '../../assets/images/about-us.jpg';\r\nimport Introduction from './components/Introduction';\r\nimport { Fade } from '@mui/material';\r\nimport { APP_FADE_TIMEOUT } from '../../constants/AppConstants';\r\nimport OurValues from './components/OurValues';\r\nimport OurPartners from './components/OurPartners';\r\nimport Careers from './components/Careers';\r\n\r\nconst AboutUsRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst AboutUsImageContainer = styled('div')(({ theme }) => ({\r\n height: '500px',\r\n background: `url(${AboutUsImage}) 70% 70% no-repeat`,\r\n backgroundSize: 'cover',\r\n [theme.breakpoints.down('md')]: {\r\n height: '300px',\r\n background: `url(${AboutUsImage}) 50% 50% no-repeat`,\r\n },\r\n}));\r\n\r\nconst AboutUs = () => {\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AboutUs;\r\n","import React, { useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Link, Typography } from '@mui/material';\r\nimport ArrowForwardIosSharpIcon from '@mui/icons-material/ArrowForwardIosSharp';\r\nimport MuiAccordion from '@mui/material/Accordion';\r\nimport MuiAccordionSummary from '@mui/material/AccordionSummary';\r\nimport MuiAccordionDetails from '@mui/material/AccordionDetails';\r\n\r\nconst BranchesRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst TextTitle = styled(Typography)(({ theme }) => ({\r\n color: '#666666',\r\n marginRight: '5px',\r\n}));\r\n\r\nconst TextContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n // overflow: 'hidden',\r\n flexWrap: 'wrap',\r\n margin: '10px 0',\r\n}));\r\n\r\nconst TextLink = styled(Link)(({ theme }) => ({\r\n fontSize: '16px',\r\n cursor: 'pointer',\r\n}));\r\n\r\nconst Accordion = styled((props) => (\r\n \r\n))(({ theme }) => ({\r\n // borderBottom: `1px solid ${theme.palette.divider}`,\r\n '& .Mui-expanded .MuiTypography-root': {\r\n color: '#D7412E',\r\n fontWeight: 600,\r\n },\r\n '& .Mui-expanded': {\r\n color: '#D7412E',\r\n },\r\n '&:not(:last-child)': {\r\n borderBottom: 0,\r\n },\r\n '&:before': {\r\n display: 'none',\r\n },\r\n}));\r\n\r\nconst AccordionSummary = styled((props) => (\r\n }\r\n {...props}\r\n />\r\n))(({ theme }) => ({\r\n borderTop: `1px solid ${theme.palette.divider}`,\r\n borderBottom: `1px solid ${theme.palette.divider}`,\r\n flexDirection: 'row-reverse',\r\n '&.Mui-expanded': {\r\n backgroundColor: 'rgba(0,0,0,0.03)',\r\n },\r\n '& .MuiAccordionSummary-expandIconWrapper.Mui-expanded': {\r\n transform: 'rotate(90deg)',\r\n },\r\n '& .MuiAccordionSummary-content': {\r\n marginLeft: theme.spacing(1),\r\n },\r\n}));\r\n\r\nconst AccordionDetails = styled(MuiAccordionDetails)(({ theme }) => ({\r\n padding: theme.spacing(2),\r\n}));\r\n\r\nconst Branches = () => {\r\n const [expanded, setExpanded] = useState('');\r\n\r\n const handleChange = (panel) => (event, newExpanded) => {\r\n setExpanded(newExpanded ? panel : false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Johannesburg Head Office\r\n \r\n \r\n \r\n Physical Address:\r\n 13E Riley Road Bedfordview\r\n \r\n \r\n Tel:\r\n 0861 242 777\r\n \r\n \r\n Tel:\r\n 011 601 2300\r\n \r\n \r\n Email:\r\n mail@cia.co.za\r\n \r\n\r\n
\r\n\r\n \r\n Managing Director:\r\n \r\n Douglas Haig\r\n \r\n (douglas@cia.co.za)\r\n \r\n \r\n Head of Business Development:\r\n \r\n Sharne van Schoor\r\n \r\n (sharne@cia.co.za)\r\n \r\n \r\n General Manager:\r\n \r\n Estelle Henry\r\n \r\n (estelle@cia.co.za)\r\n \r\n \r\n Head of Claims:\r\n \r\n Marc Odendaal\r\n \r\n (marc@cia.co.za)\r\n \r\n \r\n Head of Technical Underwriting:\r\n \r\n Andrew Miles\r\n \r\n (andrew@cia.co.za)\r\n \r\n \r\n National Underwriting Manager:\r\n \r\n Marna Correia\r\n \r\n (marna@cia.co.za)\r\n \r\n \r\n Broker Consultant:\r\n \r\n Michelle Bekker\r\n \r\n (michelle@cia.co.za)\r\n \r\n \r\n Broker Consultant:\r\n \r\n Wendel Alexander\r\n \r\n (wendel@cia.co.za)\r\n \r\n
\r\n
\r\n \r\n \r\n Pretoria\r\n \r\n \r\n \r\n Physical Address:\r\n \r\n Atterbury Estate 19 Frikkie de Beer Street\r\n \r\n \r\n \r\n Tel:\r\n 0861 242 999\r\n \r\n\r\n
\r\n\r\n \r\n Branch Manager:\r\n \r\n Gerhard van Schoor\r\n \r\n (gerhard@cia.co.za)\r\n \r\n \r\n Broker Consultant:\r\n \r\n Marizka Ras\r\n \r\n (marizka@cia.co.za)\r\n \r\n \r\n Junior Broker Consultant:\r\n \r\n Sophi Conradie\r\n \r\n (sophi@cia.co.za)\r\n \r\n
\r\n
\r\n \r\n \r\n Bloemfontein\r\n \r\n \r\n \r\n Physical Address:\r\n \r\n Office No.3 situated at 34-38 Graaf Reinet Street, Dan Pienaar,\r\n Bloemfontein\r\n \r\n \r\n \r\n Tel:\r\n 0861 242 222\r\n \r\n\r\n
\r\n\r\n \r\n Broker Consultant:\r\n \r\n Riana Ferreira\r\n \r\n (riana@cia.co.za)\r\n \r\n
\r\n
\r\n \r\n \r\n Durban\r\n \r\n \r\n \r\n Physical Address:\r\n \r\n 41 Richefond Circle Strauss Daly Building Suite 304, 3rd Floor Umhlanga\r\n Ridge Umhlanga Durban\r\n \r\n \r\n \r\n Tel:\r\n 0861 242 555\r\n \r\n\r\n
\r\n\r\n \r\n Branch Manager:\r\n \r\n Conrad Baasden\r\n \r\n (conrad@cia.co.za)\r\n \r\n \r\n Broker Consultant:\r\n \r\n Carey Savopoulos\r\n \r\n (carey@cia.co.za)\r\n \r\n
\r\n
\r\n \r\n \r\n Port Elizabeth\r\n \r\n \r\n \r\n Physical Address:\r\n \r\n 33 Pickering Street Newton Park Port Elizabeth\r\n \r\n \r\n \r\n Tel:\r\n 0861 242 333\r\n \r\n\r\n
\r\n\r\n \r\n Broker Consultant:\r\n \r\n Lester Pienaar\r\n \r\n (lester@cia.co.za)\r\n \r\n
\r\n
\r\n \r\n \r\n Cape Town\r\n \r\n \r\n \r\n Physical Address:\r\n \r\n Level 6, East Wing Cento Building, Bella Rosa Village, 21C Durbanville\r\n Avenue, Rosendal, Bellville, 7441\r\n \r\n \r\n \r\n Tel:\r\n 0861 242 111\r\n \r\n
\r\n\r\n \r\n Branch Manager:\r\n \r\n Jimmie Louw\r\n \r\n (jimmie@cia.co.za)\r\n \r\n \r\n Broker Consultant:\r\n \r\n Johan Olwage\r\n \r\n (johan@cia.co.za)\r\n \r\n
\r\n
\r\n \r\n \r\n Garden Route\r\n \r\n \r\n \r\n Physical Address:\r\n \r\n 21 Ananda Singel, Vyf Brakke Fonteinen, Mossel Bay 6506\r\n \r\n \r\n \r\n Tel:\r\n 0418164801\r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n Junior Broker Consultant:\r\n \r\n Melanie Wolmarans\r\n \r\n (melaniew@cia.co.za)\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Branches;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade, Typography } from '@mui/material';\r\nimport GoogleMap from '../../components/website-map/GoogleMap';\r\nimport AxiosRequest from '../../utils/axios/AxiosRequest';\r\nimport GoogleSearchField from '../../components/forms/form-fields/GoogleSearchField';\r\nimport { Form, Formik } from 'formik';\r\nimport Branches from './components/Branches';\r\n\r\nconst FindBrokerRoot = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n height: 'calc(100vh - 82px)',\r\n}));\r\n\r\nconst MapContainer = styled('div')(({ theme }) => ({\r\n width: '100%',\r\n height: '100%',\r\n}));\r\n\r\nconst SidebarRoot = styled('div')(({ theme }) => ({\r\n width: '950px',\r\n [theme.breakpoints.down('lg')]: {\r\n width: '850px',\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n display: 'none',\r\n },\r\n}));\r\n\r\nconst Sidebarheader = styled('div')(({ theme }) => ({\r\n backgroundColor: '#D7412E',\r\n color: '#FFF',\r\n padding: '30px',\r\n}));\r\n\r\nconst branch_array = [\r\n {\r\n title: 'Bloemfontein Branch',\r\n firstContact: 'Broker Consultant: Riana Ferreira',\r\n email: 'riana@cia.co.za',\r\n telephone: '0861 242 222',\r\n address: 'Office No.3 situated at 34-38 Graaf Reinet Street, Dan Pienaar, Bloemfontein',\r\n lat: -29.108298,\r\n lng: 26.206986,\r\n },\r\n {\r\n title: 'Pretoria Branch',\r\n firstContact: 'Branch Manager: Gerhard van Schoor',\r\n email: 'gerhard@cia.co.za',\r\n telephone: '0861 242 999',\r\n address: 'Atterbury Estate, 19 Frikkie De Beer Street, Menlyn, Pretoria, South Africa',\r\n lat: -25.78351889999999,\r\n lng: 28.27839670000003,\r\n },\r\n {\r\n title: 'Johannesburg Head Office',\r\n firstContact: 'Managing Director: Douglas Haig',\r\n email: 'douglas@cia.co.za',\r\n telephone: '0861 242 999',\r\n address: '13e Riley Rd, Bedfordview, Germiston, 2008, South Africa ',\r\n postalAddress: 'PO Box 615 Bedfordview 2008',\r\n lat: -26.1663528,\r\n lng: 28.15019910000001,\r\n },\r\n {\r\n title: 'Durban Branch',\r\n firstContact: 'Branch Manager: Conrad Baasden',\r\n email: 'conrad@cia.co.za',\r\n telephone: '0861 242 555',\r\n address: `41 Richefond Circle Strauss Daly Building Suite 304, 3rd Floor Umhlanga Ridge Umhlanga Durban`,\r\n lat: -29.733750180245757,\r\n lng: 31.069378418022183,\r\n },\r\n {\r\n title: 'Port Elizabeth Branch',\r\n firstContact: 'Broker Consultant: Lester Pienaar',\r\n email: 'lester@cia.co.za',\r\n telephone: '0861 242 333',\r\n address: '33 Pickering Street, Newton Park, Port Elizabeth, South Africa',\r\n lat: -33.9465,\r\n lng: 25.56768999999997,\r\n },\r\n {\r\n title: 'Cape Town Branch',\r\n firstContact: 'Branch Manager: Jimmie Louw',\r\n email: 'jimmie@cia.co.za',\r\n telephone: '0861 242 111',\r\n address:\r\n 'Level 6, East Wing Cento Building, Bella Rosa Village, 21C Durbanville Avenue, Rosendal, Bellville, 7441',\r\n lat: -33.863208,\r\n lng: 18.641736,\r\n },\r\n {\r\n title: 'Garden Route',\r\n firstContact: 'Junior Broker Consultant: Melanie Wolmarans ',\r\n email: 'melaniew@cia.co.za',\r\n telephone: '0418164801',\r\n address:\r\n '21 Ananda Singel, Vyf Brakke Fonteinen, Mossel Bay 6506',\r\n lat: -34.14950,\r\n lng: 22.09669,\r\n },\r\n];\r\n\r\nconst ContactUs = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n CIA Building Insurance has a national footprint with 7 branches\r\n countrywide, each branch equipped with highly skilled and approachable\r\n decision-makers. As a result, we are renowned for consistent service\r\n delivery and the accessibility and personal touch of all our personnel.\r\n \r\n \r\n Whatever your requirement, we look forward to delivering passionate,\r\n personable and productive service.\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ContactUs;\r\n","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Link, Typography } from '@mui/material';\r\n\r\nimport SectionTitle from '../../../components/SectionTitle';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst IntroLink = styled(Link)(({ theme }) => ({\r\n cursor: 'pointer',\r\n}));\r\n\r\nconst Introduction = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n or history.push('/policy-schedule')}>upload{' '}\r\n your existing schedule:\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","import React from 'react';\r\nimport { Link, Typography } from '@mui/material';\r\nimport FidelityComputerCrimeQuotationProposalForm from '../../../../../assets/documents/products-key-information/fidelity/Fidelity-And-Computer-Crime-Quotation-Proposal-Form.pdf';\r\n\r\nconst FidelityCover = () => {\r\n return (\r\n
\r\n \r\n In order to provide you with a detailed quote please download and complete our\r\n Fidelity & Computer Crime Proposal form{' '}\r\n \r\n here\r\n \r\n \r\n \r\n Once completed please return via email to{' '}\r\n quotes@cia.co.za and we'll send your\r\n quote through shortly.\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FidelityCover;\r\n","const formModel = {\r\n propertyLocation: {\r\n name: 'propertyLocation',\r\n label: 'Search Property*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n postalCode: {\r\n name: 'postalCode',\r\n },\r\n gpsCoordinates: {\r\n name: 'gpsCoordinates',\r\n },\r\n broadformBuildingValue: {\r\n name: 'broadformBuildingValue',\r\n },\r\n broadformHomeownersValue: {\r\n name: 'broadformHomeownersValue',\r\n },\r\n packageOption: {\r\n name: 'packageOption',\r\n label: 'Package Option',\r\n },\r\n sumInsredAmount: {\r\n name: 'sumInsredAmount',\r\n label: 'Building Replacement Value',\r\n },\r\n propertyQuestion1: {\r\n name: 'propertyQuestion1',\r\n label: `1. Have all the buildings on the property been constructed using standard materials? (Brick / Steel / Concrete)`,\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n propertyQuestion2: {\r\n name: 'propertyQuestion2',\r\n label: `2. Are there any lapa's or other non-standard structures (such as wooden cabins or wendy houses) larger than 10m² situated on the property?`,\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n propertyQuestion3: {\r\n name: 'propertyQuestion3',\r\n label: `3. Is there more than 10m² of cladding attached to the outside walls of the building (For example: aluminium panels, wooden planks, fibre cement boards, etc.).`,\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n propertyQuestion4: {\r\n name: 'propertyQuestion4',\r\n label: `4. Do any commercial activities take place on the property?`,\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n propertyQuestion5: {\r\n name: 'propertyQuestion5',\r\n label: `5. Is the property used as a holiday residence or vacant for more than 30 days a year?`,\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n firstname: {\r\n name: 'firstname',\r\n label: 'First Name / Insured Name*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n surname: {\r\n name: 'surname',\r\n label: 'Surname',\r\n },\r\n contactNumber: {\r\n name: 'contactNumber',\r\n label: 'Contact Number*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n email: {\r\n name: 'email',\r\n label: 'Email Address*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n yourBroker: {\r\n name: 'yourBroker',\r\n label: 'Your Broker',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n publicizeOption: {\r\n name: 'publicizeOption',\r\n label: 'Where did you hear about us? ( Optional )',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n referralArea: {\r\n name: 'referralArea',\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst {\r\n propertyLocation,\r\n postalCode,\r\n gpsCoordinates,\r\n broadformBuildingValue,\r\n broadformHomeownersValue,\r\n packageOption,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n propertyQuestion2,\r\n propertyQuestion3,\r\n propertyQuestion4,\r\n propertyQuestion5,\r\n firstname,\r\n surname,\r\n contactNumber,\r\n email,\r\n yourBroker,\r\n publicizeOption,\r\n referralArea,\r\n} = formModel;\r\n\r\nconst initialValues = {\r\n [propertyLocation.name]: '',\r\n [postalCode.name]: '',\r\n [gpsCoordinates.name]: '',\r\n [broadformBuildingValue.name]: '',\r\n [broadformHomeownersValue.name]: '',\r\n [packageOption.name]: 'Broadform Homeowners',\r\n [sumInsredAmount.name]: '2500000',\r\n [propertyQuestion1.name]: '',\r\n [propertyQuestion2.name]: '',\r\n [propertyQuestion3.name]: '',\r\n [propertyQuestion4.name]: '',\r\n [propertyQuestion5.name]: '',\r\n [firstname.name]: '',\r\n [surname.name]: '',\r\n [contactNumber.name]: '',\r\n [email.name]: '',\r\n [yourBroker.name]: '',\r\n [publicizeOption.name]: '',\r\n [referralArea.name]: '',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\n\r\nconst {\r\n propertyLocation,\r\n postalCode,\r\n gpsCoordinates,\r\n broadformBuildingValue,\r\n broadformHomeownersValue,\r\n packageOption,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n propertyQuestion2,\r\n propertyQuestion3,\r\n propertyQuestion4,\r\n propertyQuestion5,\r\n firstname,\r\n surname,\r\n contactNumber,\r\n email,\r\n yourBroker,\r\n publicizeOption,\r\n referralArea,\r\n} = formModel;\r\n\r\nconst validationSchema = [\r\n Yup.object().shape({\r\n [propertyLocation.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [postalCode.name]: Yup.string(),\r\n [gpsCoordinates.name]: Yup.string(),\r\n [broadformBuildingValue.name]: Yup.string(),\r\n [broadformHomeownersValue.name]: Yup.string(),\r\n [sumInsredAmount.name]: Yup.string(),\r\n [propertyQuestion1.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [propertyQuestion2.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [propertyQuestion3.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [propertyQuestion4.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [propertyQuestion5.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [referralArea.name]: Yup.string(),\r\n }),\r\n Yup.object().shape({}),\r\n Yup.object().shape({\r\n [packageOption.name]: Yup.string(),\r\n [firstname.name]: Yup.string().required(`${firstname.requiredErrorMsg}`),\r\n [surname.name]: Yup.string().required(`${surname.requiredErrorMsg}`),\r\n [contactNumber.name]: Yup.string().required(`${contactNumber.requiredErrorMsg}`),\r\n [email.name]: Yup.string()\r\n .email('Incorrect email format')\r\n .required(`${email.requiredErrorMsg}`),\r\n [yourBroker.name]: Yup.string(),\r\n [publicizeOption.name]: Yup.string(),\r\n }),\r\n];\r\n\r\nexport default validationSchema;\r\n","// #region Imports\r\n\r\n// Libraries\r\nimport React, { useEffect, useState } from 'react';\r\nimport { at } from 'lodash';\r\nimport { useField } from 'formik';\r\nimport {\r\n Box,\r\n Button,\r\n Hidden,\r\n IconButton,\r\n InputAdornment,\r\n Slider,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\nimport { styled } from '@mui/material/styles';\r\nimport InputField from './InputField';\r\n\r\n// #endregion\r\n\r\n// #region Styles\r\n\r\nconst RangeInputRoot = styled('div')(({ theme }) => ({\r\n minHeight: '124px',\r\n}));\r\n\r\nconst ValueContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '20px 0 5px',\r\n}));\r\n\r\nconst UseValueBtn = styled(IconButton)(({ theme }) => ({\r\n fontSize: '18px',\r\n fontWeight: 600,\r\n borderRadius: '5px',\r\n marginBottom: '5px',\r\n color: '#D7412E',\r\n}));\r\n\r\n// #endregion\r\n\r\nfunction numFormatter(num) {\r\n if (num < 1) {\r\n return num * 1000000;\r\n } else if (num >= 1) {\r\n return num * 1000000;\r\n }\r\n}\r\n\r\nconst RangeInput = (props) => {\r\n const [value, setValue] = useState(() => {\r\n if (parseInt(props['value']) < 1000000) {\r\n return parseInt(props['value']) / 1000000;\r\n } else if (parseInt(props['value']) >= 1000000) {\r\n return parseInt(props['value']) / 1000000;\r\n }\r\n });\r\n\r\n const [showCustomValue, setShowCustomValue] = useState(false);\r\n const [message, setMessage] = useState('');\r\n const [validValue, setValidValue] = useState(true);\r\n const [customValue, setCustomValue] = useState(parseInt(props['value']));\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n setCustomValue(numFormatter(newValue).toString());\r\n props.setFieldValue(props['name'], numFormatter(newValue).toString());\r\n };\r\n\r\n const validateCutomValue = (event) => {\r\n let customValue = parseInt(event.target.value);\r\n setMessage('');\r\n setValidValue(true);\r\n\r\n if (!customValue) {\r\n console.log('Error');\r\n setValue(2.5);\r\n return;\r\n }\r\n\r\n if (customValue < parseInt(props['minValue'])) {\r\n setMessage(`Value cannot be smaller than ${props['minValue'].toString().replace(/\\B(?!\\.\\d*)(?=(\\d{3})+(?!\\d))/g, ',')}`);\r\n setValidValue(false);\r\n } else if (customValue > 50000000) {\r\n setMessage('Value cannot be bigger than 50,000,000');\r\n setValidValue(false);\r\n }\r\n\r\n if (customValue < 1000000) {\r\n setValue(customValue / 1000000);\r\n } else if (customValue >= 1000000) {\r\n setValue(customValue / 1000000);\r\n }\r\n\r\n setCustomValue(customValue);\r\n props.setFieldValue(props['name'], customValue.toString());\r\n };\r\n\r\n return !showCustomValue ? (\r\n \r\n \r\n Building Replacement Value\r\n \r\n\r\n \r\n \r\n {`R ${numFormatter(value)\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}`}\r\n \r\n\r\n setShowCustomValue(true)}\r\n >\r\n Custom Value\r\n \r\n \r\n\r\n \r\n \r\n ) : (\r\n \r\n \r\n validValue && setShowCustomValue(false)}>\r\n Use Value\r\n \r\n \r\n ),\r\n }}\r\n />\r\n\r\n \r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default RangeInput;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { styled, useTheme } from '@mui/material/styles';\r\nimport { Button, Divider, Grid, Typography, useMediaQuery } from '@mui/material';\r\nimport GoogleSearchField from '../../../../../components/forms/form-fields/GoogleSearchField';\r\nimport formModel from '../../../../../validation/get-quote/homeowners/formModel';\r\nimport RangeInput from '../../../../../components/forms/form-fields/RangeInput';\r\nimport GoogleMap from '../../../../../components/website-map/GoogleMap';\r\n\r\nconst PropertyDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst MapContainer = styled('div')(({ theme }) => ({\r\n width: '100%',\r\n height: '200px',\r\n borderRadius: '5px',\r\n overflow: 'hidden',\r\n}));\r\n\r\nconst QuestionContainer = styled('div')(({ theme }) => ({\r\n minHeight: '60px',\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: '25px',\r\n },\r\n}));\r\n\r\nconst QuestionBtn = styled(Button)(({ theme }) => ({\r\n borderRadius: '5px',\r\n fontWeight: 600,\r\n margin: '5px',\r\n maxHeight: '40px',\r\n color: '#474747',\r\n border: '1px solid #D7412E',\r\n '&.active': {\r\n backgroundColor: '#D7412E',\r\n color: '#FFFFFF',\r\n },\r\n}));\r\n\r\nconst PropertyDetails = (props) => {\r\n const theme = useTheme();\r\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\r\n const [map, setMap] = useState(null);\r\n const mapMarker = useRef();\r\n const [mapOptions, setMapOptions] = useState({\r\n zoom: 6,\r\n mapTypeId: 'hybrid',\r\n center: {\r\n lat: -28.76496,\r\n lng: 24.74198,\r\n },\r\n zoomControl: false,\r\n streetViewControl: false,\r\n mapTypeControl: false,\r\n scaleControl: false,\r\n rotateControl: false,\r\n });\r\n\r\n const {\r\n propertyLocation,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n propertyQuestion2,\r\n propertyQuestion3,\r\n propertyQuestion4,\r\n propertyQuestion5,\r\n } = formModel;\r\n\r\n const { formikProps, activeValidation } = props;\r\n const { values } = formikProps;\r\n\r\n const questionArray = [\r\n {\r\n item: propertyQuestion1,\r\n },\r\n {\r\n item: propertyQuestion2,\r\n },\r\n {\r\n item: propertyQuestion3,\r\n },\r\n {\r\n item: propertyQuestion4,\r\n },\r\n {\r\n item: propertyQuestion5,\r\n },\r\n ];\r\n\r\n const handleLocation = async (locationData) => {\r\n var address = locationData['address_components'];\r\n var zipcode = address[address.length - 1]['long_name'];\r\n\r\n formikProps.setFieldValue('postalCode', zipcode);\r\n formikProps.setFieldValue(\r\n 'gpsCoordinates',\r\n `${locationData['geometry']['location'].lat()},${locationData['geometry'][\r\n 'location'\r\n ].lng()}`\r\n );\r\n };\r\n\r\n const handleValueChange = async (value) => {\r\n formikProps.setFieldValue('sumInsredAmount', value);\r\n };\r\n\r\n const returnMap = (tempMap) => {\r\n setMap(tempMap);\r\n };\r\n\r\n useEffect(() => {\r\n if (\r\n parseFloat(values['gpsCoordinates'].split(',')[0]) &&\r\n parseFloat(values['gpsCoordinates'].split(',')[0]) &&\r\n map\r\n ) {\r\n var icon = {\r\n url: 'https://maps.google.com/mapfiles/ms/icons/red-dot.png',\r\n scaledSize: new window.google.maps.Size(33, 33),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(15, 30),\r\n };\r\n\r\n if (mapMarker.current) {\r\n mapMarker.current.setMap(null);\r\n }\r\n\r\n mapMarker.current = new window.google.maps.Marker({\r\n position: {\r\n lat: parseFloat(values['gpsCoordinates'].split(',')[0]),\r\n lng: parseFloat(values['gpsCoordinates'].split(',')[1]),\r\n },\r\n map: map,\r\n icon: icon,\r\n draggable: false,\r\n });\r\n\r\n map.setCenter({\r\n lat: parseFloat(values['gpsCoordinates'].split(',')[0]),\r\n lng: parseFloat(values['gpsCoordinates'].split(',')[1]),\r\n });\r\n map.setZoom(19);\r\n }\r\n }, [values['gpsCoordinates'], map]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n {activeValidation &&\r\n (!formikProps['values']['propertyQuestion1'] ||\r\n !formikProps['values']['propertyQuestion2'] ||\r\n !formikProps['values']['propertyQuestion3'] ||\r\n !formikProps['values']['propertyQuestion4'] ||\r\n !formikProps['values']['propertyQuestion5']) && (\r\n \r\n *Please select all options below\r\n \r\n )}\r\n\r\n \r\n Please confirm the following with regards to the property:\r\n \r\n\r\n {questionArray.map((question, index) => (\r\n \r\n \r\n \r\n \r\n {question['item']['label']}\r\n \r\n \r\n \r\n {\r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'Yes'\r\n );\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'No'\r\n )\r\n }\r\n >\r\n No\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PropertyDetails;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Collapse, Link } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faChevronDown, faChevronUp, faCheck } from '@fortawesome/free-solid-svg-icons';\r\nimport GoogleMap from '../../../../../components/website-map/GoogleMap';\r\nimport BroadformBuildingKeyInformationDocumentApril2023 from '../../../../../assets/documents/products-key-information/commercial/Broadform-Building-Key-Information-Document-1-April-2023.pdf';\r\nimport BroadformHomeownersKeyInformationDocumentApril2023 from '../../../../../assets/documents/products-key-information/homeowners/Broadform-Homeowners-Key-Information-Document-1-April-2023.pdf';\r\nimport BroadformBuildingInsurancePolicyApril2023 from '../../../../../assets/documents/products-key-information/commercial/Broadform-Building-Insurance-Policy-April-2023.pdf';\r\nimport BroadformHomeownersInsurancePolicyApril2023 from '../../../../../assets/documents/products-key-information/homeowners/Broadform-Homeowners-Insurance-Policy-April-2023.pdf';\r\n\r\nconst QuotationDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst MapContainer = styled('div')(({ theme }) => ({\r\n width: '100%',\r\n height: '200px',\r\n borderRadius: '5px',\r\n overflow: 'hidden',\r\n}));\r\n\r\nconst QuotationResults = styled('div')(({ theme }) => ({\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QuotationTable = styled('table')(({ theme }) => ({\r\n width: '100%',\r\n '& strong': {\r\n color: '#444',\r\n },\r\n '& th': {\r\n padding: '10px',\r\n },\r\n '& td': {\r\n padding: '10px',\r\n width: '30%',\r\n border: '1px solid rgb(206, 206, 206)',\r\n },\r\n '& tbody tr:nth-child(odd)': {\r\n background: 'rgba(0, 0, 0, 0.05)',\r\n },\r\n '& .title': {\r\n backgroundColor: '#555555',\r\n color: '#FFFFFF',\r\n fontSize: '16px',\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '14px',\r\n },\r\n },\r\n '& .description': {\r\n textAlign: 'left',\r\n width: '40%',\r\n },\r\n '& .premiumText': {\r\n backgroundColor: '#d3d3d3',\r\n color: '#D7412E',\r\n fontSize: '19px',\r\n fontWeight: 600,\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '15px',\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '14px',\r\n },\r\n}));\r\n\r\nconst QuotationHeader = styled('thead')(({ theme }) => ({\r\n width: '100%',\r\n}));\r\n\r\nconst QuotationBody = styled('tbody')(({ theme }) => ({\r\n width: '100%',\r\n textAlign: 'center',\r\n // border: 'none',\r\n borderRight: '2px solid rgb(206, 206, 206)',\r\n borderLeft: '1px solid rgb(206, 206, 206)',\r\n borderBottom: '1px solid rgb(206, 206, 206)',\r\n}));\r\n\r\nconst CollapseRow = styled('tr')(({ theme }) => ({\r\n borderBottom: '2px solid #D7412E',\r\n cursor: 'pointer',\r\n color: '#444444',\r\n ':hover': {\r\n backgroundColor: 'rgba(0,0,0,.040)',\r\n color: '#D7412E',\r\n },\r\n}));\r\n\r\nconst CheckIcon = styled(FontAwesomeIcon)(({ theme }) => ({\r\n color: 'rgb(32, 192, 32)',\r\n fontSize: '19px',\r\n}));\r\n\r\nconst QuotationDetails = ({ formikProps, handleBack, handleSubmit }) => {\r\n const { values } = formikProps;\r\n const [expanded, setExpanded] = useState(true);\r\n const [map, setMap] = useState(null);\r\n\r\n const mapOptions = {\r\n zoom: 19,\r\n mapTypeId: 'hybrid',\r\n center: {\r\n lat: parseFloat(values['gpsCoordinates'].split(',')[0]),\r\n lng: parseFloat(values['gpsCoordinates'].split(',')[1]),\r\n },\r\n zoomControl: false,\r\n streetViewControl: false,\r\n mapTypeControl: false,\r\n scaleControl: false,\r\n rotateControl: false,\r\n };\r\n\r\n const returnMap = (tempMap) => {\r\n setMap(tempMap);\r\n\r\n var icon = {\r\n url: 'https://maps.google.com/mapfiles/ms/icons/red-dot.png',\r\n scaledSize: new window.google.maps.Size(33, 33),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(15, 30),\r\n };\r\n\r\n new window.google.maps.Marker({\r\n position: {\r\n lat: parseFloat(values['gpsCoordinates'].split(',')[0]),\r\n lng: parseFloat(values['gpsCoordinates'].split(',')[1]),\r\n },\r\n map: tempMap,\r\n icon: icon,\r\n draggable: false,\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n {expanded && (\r\n
\r\n \r\n \r\n Next\r\n \r\n
\r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n Option 1: Broadform Buildings Policy\r\n Option 2: Broadform Homeowners Policy\r\n \r\n \r\n \r\n \r\n \r\n Sum Insured Value\r\n \r\n \r\n \r\n R{' '}\r\n {values['sumInsredAmount']\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n \r\n \r\n \r\n \r\n R{' '}\r\n {values['sumInsredAmount']\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n \r\n \r\n \r\n \r\n \r\n Total Monthly Premium\r\n \r\n R {values['broadformBuildingValue']}\r\n {values['sumInsredAmount'] < 2000000 ? 'Option not available': `R ${values['broadformHomeownersValue']}`}\r\n \r\n setExpanded(!expanded)}\r\n >\r\n \r\n \r\n Click to hide summary of cover\r\n {' '}\r\n {expanded ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n All Risk cover, including, but not limited\r\n to:\r\n \r\n
    \r\n
  • Fire
  • \r\n
  • Earthquake
  • \r\n
  • Accidental damage
  • \r\n
  • Storm, flood, hail & lightning
  • \r\n
  • \r\n SASRIA Cover for Riots, Public Violence\r\n and Terrorism\r\n
  • \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Power surge\r\n R50 000\r\n R100 000\r\n \r\n \r\n \r\n Theft without forcible and violent entry\r\n \r\n R20 000\r\n \r\n \r\n \r\n \r\n \r\n Geyser replacement\r\n Limits applicable\r\n \r\n \r\n \r\n \r\n \r\n Machinery breakdown\r\n Optional\r\n \r\n \r\n \r\n \r\n \r\n \r\n Extended subsidence & landslip - sites affected\r\n by dolomite, limestone and acid mine drainage\r\n \r\n -\r\n \r\n \r\n \r\n \r\n \r\n \r\n Emergency accommodation\r\n \r\n -\r\n R1,000 a day max 7 days\r\n \r\n \r\n \r\n Loss of rent or alternative accommodation -\r\n following an insured event\r\n \r\n Up to 25% of Sum Insured\r\n Up to 30% of Sum Insured\r\n \r\n \r\n Public liability\r\n R50 million\r\n R50 million\r\n \r\n \r\n \r\n Summary of cover and standard excess (Key\r\n Information Document)\r\n \r\n \r\n \r\n Open Document\r\n \r\n \r\n \r\n \r\n Open Document\r\n \r\n \r\n \r\n \r\n Full Policy Wording\r\n \r\n \r\n Open Document\r\n \r\n \r\n \r\n \r\n Open Document\r\n \r\n \r\n \r\n \r\n \r\n ( ) Fully covered\r\n up to the Building Sum Insured\r\n \r\n \r\n \r\n \r\n All cover provided subject to policy terms &\r\n conditions\r\n \r\n \r\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 QuotationDetails;\r\n","import React, { useEffect } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport {\r\n Button,\r\n Checkbox,\r\n FormControl,\r\n FormControlLabel,\r\n FormGroup,\r\n Grid,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Typography,\r\n} from '@mui/material';\r\nimport formModel from '../../../../../validation/get-quote/homeowners/formModel';\r\nimport InputField from '../../../../../components/forms/form-fields/InputField';\r\n\r\nconst ContactDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst QuotationResults = styled('div')(({ theme }) => ({\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QuotationTable = styled('table')(({ theme }) => ({\r\n width: '100%',\r\n '& strong': {\r\n color: '#444',\r\n },\r\n '& th': {\r\n padding: '10px',\r\n },\r\n '& td': {\r\n padding: '10px',\r\n width: '30%',\r\n border: '1px solid rgb(206, 206, 206)',\r\n },\r\n '& tbody tr:nth-child(odd)': {\r\n background: 'rgba(0, 0, 0, 0.05)',\r\n },\r\n '& .title': {\r\n backgroundColor: '#555555',\r\n color: '#FFFFFF',\r\n fontSize: '16px',\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '14px',\r\n },\r\n },\r\n '& .description': {\r\n textAlign: 'left',\r\n width: '40%',\r\n },\r\n '& .premiumText': {\r\n backgroundColor: '#d3d3d3',\r\n color: '#D7412E',\r\n fontSize: '19px',\r\n fontWeight: 600,\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '15px',\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '14px',\r\n },\r\n}));\r\n\r\nconst QuotationHeader = styled('thead')(({ theme }) => ({\r\n width: '100%',\r\n}));\r\n\r\nconst QuotationBody = styled('tbody')(({ theme }) => ({\r\n width: '100%',\r\n textAlign: 'center',\r\n borderRight: '2px solid rgb(206, 206, 206)',\r\n borderLeft: '1px solid rgb(206, 206, 206)',\r\n borderBottom: '1px solid rgb(206, 206, 206)',\r\n}));\r\n\r\nconst ConditionsContainer = styled('div')(({ theme }) => ({\r\n marginTop: '20px',\r\n}));\r\n\r\nconst conditions_array = [\r\n {\r\n id: 1,\r\n text: `The appointment of a short term insurance broker of your choice who is a licensed financial \r\n services provider.`,\r\n },\r\n {\r\n id: 2,\r\n text: `Verification and acceptance by us of information provided during the quoting process.`,\r\n },\r\n {\r\n id: 3,\r\n text: `Satisfactory claims experience as evidenced by your detailed claims history for the last 3 years.`,\r\n },\r\n {\r\n id: 4,\r\n text: `Confirmation that no previous insurer has ever turned down an application for insurance, cancelled \r\n any policy or part thereof, imposed special conditions, refused renew any policy or part thereof, \r\n or refused to continue any part of your insurance.`,\r\n },\r\n {\r\n id: 5,\r\n text: `The property is not a smallholding or farm.`,\r\n },\r\n {\r\n id: 6,\r\n text: `You are the owner or representative owner of the property.`,\r\n },\r\n {\r\n id: 7,\r\n text: `The property is not located within close proximity of an open water body nor is it within \r\n close proximity of open bush.`,\r\n },\r\n {\r\n id: 8,\r\n text: `The terms, conditions, excesses, exclusions and provisions of the policy wording.`,\r\n },\r\n {\r\n id: 9,\r\n text: `Prices shown are valid for 31 days.`,\r\n },\r\n {\r\n id: 10,\r\n text: `For holiday homes and buildings vacant for longer than 31 days theft and malicious damage is \r\n subject to the building being fitted with a radio alarm system linked to a security company that \r\n provides an armed response service.`,\r\n },\r\n];\r\n\r\nconst ContactDetails = (props) => {\r\n const { packageOption, firstname, surname, contactNumber, email, yourBroker, publicizeOption } =\r\n formModel;\r\n\r\n const { formikProps, skipQuote, conditionValue, handleCondition, conditionMessage } = props;\r\n return (\r\n \r\n {!skipQuote && (\r\n \r\n \r\n \r\n \r\n \r\n Option 1: Broadform Buildings Policy\r\n Option 2: Broadform Homeowners Policy\r\n \r\n \r\n \r\n \r\n \r\n Sum Insured Value\r\n \r\n \r\n \r\n R{' '}\r\n {formikProps['values']['sumInsredAmount']\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n \r\n \r\n \r\n \r\n R{' '}\r\n {formikProps['values']['sumInsredAmount']\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n \r\n \r\n \r\n \r\n \r\n Total Monthly Premium\r\n \r\n R {formikProps['values']['broadformBuildingValue']}\r\n {formikProps['values']['sumInsredAmount'] < 2000000 ? 'Option not available' : `R ${formikProps['values']['broadformHomeownersValue']}`}\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {skipQuote && (\r\n \r\n \r\n Thank you for choosing CIA. Due to your specific requirements we need\r\n additional information in order to provide you with a quote.\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n Please provide your contact details below and one of our friendly staff\r\n members will contact you shortly.\r\n \r\n \r\n \r\n \r\n {packageOption['label']}\r\n \r\n formikProps.setFieldValue('packageOption', event.target.value)\r\n }\r\n >\r\n \r\n Option 1: Broadform Buildings Policy\r\n \r\n \r\n Option 2: Broadform Homeowners Policy\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {publicizeOption['label']}\r\n \r\n \r\n formikProps.setFieldValue('publicizeOption', event.target.value)\r\n }\r\n >\r\n The Home Channel\r\n Facebook\r\n Google\r\n Broker\r\n LinkedIn\r\n Word of Mouth\r\n LivingSpace Magizine\r\n Other\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Please take note\r\n \r\n \r\n This indicative web quotation is subject to the following:\r\n \r\n
    \r\n {conditions_array.map((item, index) => (\r\n
  1. \r\n {item['text']}\r\n
  2. \r\n ))}\r\n
\r\n
\r\n\r\n {conditionMessage && (\r\n \r\n {conditionMessage}\r\n \r\n )}\r\n \r\n \r\n }\r\n label=\"I agree to the above conditions\"\r\n />\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ContactDetails;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Typography } from '@mui/material';\r\n\r\nconst QuoteSuccessRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst QuoteSuccess = () => {\r\n return (\r\n \r\n \r\n Thank you for choosing CIA.\r\n \r\n\r\n \r\n One of our friendly consultants will contact you shortly to complete the\r\n underwriting process.\r\n \r\n \r\n );\r\n};\r\n\r\nexport default QuoteSuccess;\r\n","// #region Imports\r\n\r\nimport React, { Fragment, useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Form, Formik } from 'formik';\r\nimport AxiosRequest from '../../../../../utils/axios/AxiosRequest';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Link,\r\n Step,\r\n StepLabel,\r\n Stepper,\r\n Typography,\r\n} from '@mui/material';\r\nimport Check from '@mui/icons-material/Check';\r\nimport StepConnector, { stepConnectorClasses } from '@mui/material/StepConnector';\r\n\r\nimport formModel from '../../../../../validation/get-quote/homeowners/formModel';\r\nimport initialValues from '../../../../../validation/get-quote/homeowners/initialValues';\r\nimport validationSchema from '../../../../../validation/get-quote/homeowners/validationSchema';\r\nimport PropertyDetails from './PropertyDetails';\r\nimport QuotationDetails from './QuotationDetails';\r\nimport ContactDetails from './ContactDetails';\r\nimport QuoteSuccess from '../QuoteSuccess';\r\nimport RecaptchaField from '../../../../../components/recaptcha/RecaptchaField';\r\n\r\n// #endregion\r\n\r\n// #region Imports\r\n\r\nconst ButtonContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst RecaptchaText = styled(Typography)(({ theme }) => ({\r\n fontSize: '13px',\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QontoConnector = styled(StepConnector)(({ theme }) => ({\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: {\r\n top: 10,\r\n left: 'calc(-50% + 16px)',\r\n right: 'calc(50% + 16px)',\r\n },\r\n [`&.${stepConnectorClasses.active}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`&.${stepConnectorClasses.completed}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: theme.palette.mode === 'dark' ? theme.palette.grey[800] : '#bcbcc4',\r\n borderTopWidth: 3,\r\n borderRadius: 1,\r\n },\r\n}));\r\n\r\nconst QontoStepIconRoot = styled('div')(({ theme, ownerState }) => ({\r\n color: theme.palette.mode === 'dark' ? theme.palette.grey[700] : '#bcbcc4',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center',\r\n ...(ownerState.active && {\r\n color: '#D7412E',\r\n }),\r\n '& .QontoStepIcon-completedIcon': {\r\n color: '#D7412E',\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n '& .QontoStepIcon-circle': {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor',\r\n },\r\n}));\r\n\r\nfunction QontoStepIcon(props) {\r\n const { active, completed, className } = props;\r\n\r\n return (\r\n \r\n {completed ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n * @default false\r\n */\r\n active: PropTypes.bool,\r\n className: PropTypes.string,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n * @default false\r\n */\r\n completed: PropTypes.bool,\r\n};\r\n\r\n// #endregion\r\n\r\nconst steps = ['Property Details', 'Quotation Details', 'Contact Details'];\r\n\r\nconst HomeownersWizard = () => {\r\n const [formLoading, setFormLoading] = useState(false);\r\n const [formMessage, setFormMessage] = useState(null);\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [skipQuote, setSkipQuote] = useState(false);\r\n const [conditionValue, setConditionValue] = useState(false);\r\n const [conditionMessage, setConditionMessage] = useState(null);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const currentValidationSchema = validationSchema[activeStep];\r\n const isLastStep = activeStep === steps.length - 1;\r\n const fieldRef = useRef(null);\r\n const recaptchaRef = useRef();\r\n\r\n async function _submitForm(values, actions) {\r\n const token = await recaptchaRef.current.executeAsync();\r\n values['token'] = token;\r\n\r\n var result = await AxiosRequest.post('/api/getquote/homeowners', values);\r\n\r\n setFormLoading(false);\r\n\r\n if ('isSuccessful' in result && !result['isSuccessful']) {\r\n setFormMessage(result['message']);\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n return false;\r\n }\r\n\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n\r\n setActiveStep(activeStep + 1);\r\n setActiveValidation(false);\r\n }\r\n\r\n async function _referralResults (lat, lng) {\r\n return await AxiosRequest.post('/api/getquote', {\r\n lat: lat,\r\n lng: lng,\r\n })\r\n }\r\n async function _handleSubmit(values, actions) {\r\n if (isLastStep) {\r\n if (conditionValue) {\r\n setFormLoading(true);\r\n _submitForm(values, actions);\r\n }\r\n } else {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n var referral_result ;\r\n if (activeStep + 1 === 1) {\r\n if(!parseFloat(values['gpsCoordinates'])){\r\n if (navigator.geolocation) {\r\n var geocoder = new window.google.maps.Geocoder();\r\n await geocoder\r\n .geocode({ address: values['propertyLocation'] })\r\n .then(async(result) => {\r\n const { results } = result;\r\n var address = results[0]['address_components'];\r\n var zipcode = address[address.length - 1]['long_name'];\r\n\r\n actions.setFieldValue('postalCode', zipcode);\r\n actions.setFieldValue(\r\n 'gpsCoordinates',\r\n `${results[0]['geometry']['location'].lat()},${results[0]['geometry'][\r\n 'location'\r\n ].lng()}`\r\n );\r\n referral_result = await _referralResults(results[0]['geometry']['location'].lat(), results[0]['geometry']['location'].lng()) \r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n }\r\n }\r\n else{\r\n referral_result = await _referralResults(parseFloat(values['gpsCoordinates'].split(',')[0]),parseFloat(values['gpsCoordinates'].split(',')[1]))\r\n }\r\n actions.setFieldValue('referralArea', referral_result.toString());\r\n\r\n var premium_result = await AxiosRequest.get(\r\n `/api/getquote/${values['sumInsredAmount']}/${values['propertyQuestion5']}`\r\n );\r\n\r\n actions.setFieldValue(\r\n 'broadformHomeownersValue',\r\n premium_result['homeownersValue'].toString()\r\n );\r\n actions.setFieldValue(\r\n 'broadformBuildingValue',\r\n premium_result['buildingsValue'].toString()\r\n );\r\n\r\n if (\r\n referral_result ||\r\n values['propertyQuestion1'].toLowerCase() === 'no' ||\r\n values['propertyQuestion2'].toLowerCase() === 'yes' ||\r\n values['propertyQuestion3'].toLowerCase() === 'yes' ||\r\n values['propertyQuestion4'].toLowerCase() === 'yes'\r\n ) {\r\n setSkipQuote(true);\r\n setActiveStep(2);\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n return;\r\n }\r\n }\r\n\r\n if (activeStep + 1 === 2) {\r\n if (activeValidation && !conditionValue) {\r\n setConditionMessage('*Please check the terms and conditions');\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n }\r\n }\r\n\r\n setSkipQuote(false);\r\n setActiveStep(activeStep + 1);\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n }\r\n }\r\n\r\n function _handleBack() {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n\r\n if (activeStep - 1 === 1 && skipQuote) {\r\n setActiveStep(0);\r\n return;\r\n }\r\n\r\n setActiveStep(activeStep - 1);\r\n }\r\n\r\n const _renderStepContent = (step, rest) => {\r\n switch (step) {\r\n case 0:\r\n return ;\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n {\r\n if (activeValidation && !event.target.checked) {\r\n setConditionMessage('*Please check the terms and conditions');\r\n } else {\r\n setConditionMessage(null);\r\n }\r\n\r\n setConditionValue(event.target.checked);\r\n }}\r\n conditionMessage={conditionMessage}\r\n />\r\n );\r\n default:\r\n return
Not Found
;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n }\r\n ref={fieldRef}\r\n >\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n \r\n {activeStep === steps.length ? (\r\n \r\n ) : (\r\n \r\n {({ isSubmitting, ...rest }) => (\r\n
\r\n \r\n\r\n {formMessage && (\r\n \r\n {formMessage}\r\n \r\n )}\r\n\r\n {_renderStepContent(\r\n activeStep,\r\n rest,\r\n _handleBack,\r\n _handleSubmit\r\n )}\r\n\r\n \r\n This site is protected by reCAPTCHA and the{' '}\r\n \r\n Google Privacy Policy\r\n {' '}\r\n and{' '}\r\n \r\n Terms of Service\r\n {' '}\r\n apply.\r\n \r\n\r\n \r\n {activeStep !== 0 && (\r\n \r\n Back\r\n \r\n )}\r\n
\r\n {\r\n setActiveValidation(true);\r\n\r\n if (activeStep === 2 && !conditionValue) {\r\n setConditionMessage(\r\n '*Please check the terms and conditions'\r\n );\r\n }\r\n }}\r\n >\r\n {isSubmitting || formLoading ? (\r\n \r\n ) : isLastStep ? (\r\n 'Submit'\r\n ) : (\r\n 'Next'\r\n )}\r\n \r\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 HomeownersWizard;\r\n","const formModel = {\r\n propertyLocation: {\r\n name: 'propertyLocation',\r\n label: 'Search Property*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n postalCode: {\r\n name: 'postalCode',\r\n },\r\n gpsCoordinates: {\r\n name: 'gpsCoordinates',\r\n },\r\n sumInsredAmount: {\r\n name: 'sumInsredAmount',\r\n label: 'Building Replacement Value',\r\n },\r\n propertyQuestion1: {\r\n name: 'propertyQuestion1',\r\n label: `Are there any lapa's or other non-standard structures (such as wooden cabins or wendy houses) larger than 10m² situated on the property?`,\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n complexName: {\r\n name: 'complexName',\r\n label: 'Complex Name/Insured Name*',\r\n requiredErrorMsg: 'This field is required',\r\n autocomplete: 'new-password',\r\n },\r\n numberOfUnits: {\r\n name: 'numberOfUnits',\r\n label: 'Number of Units*',\r\n requiredErrorMsg: 'This field is required',\r\n autocomplete: 'off',\r\n },\r\n buildingOccupation: {\r\n name: 'buildingOccupation',\r\n label: 'Building Occupation*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n roofConstruction: {\r\n name: 'roofConstruction',\r\n label: 'Roof Construction*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n wallConstruction: {\r\n name: 'wallConstruction',\r\n label: 'Wall Construction*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n contactPerson: {\r\n name: 'contactPerson',\r\n label: 'Contact Person*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n contactNumber: {\r\n name: 'contactNumber',\r\n label: 'Contact Number*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n email: {\r\n name: 'email',\r\n label: 'Email Address*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n yourBroker: {\r\n name: 'yourBroker',\r\n label: 'Your Broker',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n preferredBranch: {\r\n name: 'preferredBranch',\r\n label: 'Preferred Branch',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst {\r\n propertyLocation,\r\n postalCode,\r\n gpsCoordinates,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n complexName,\r\n numberOfUnits,\r\n buildingOccupation,\r\n roofConstruction,\r\n wallConstruction,\r\n contactPerson,\r\n contactNumber,\r\n email,\r\n yourBroker,\r\n preferredBranch,\r\n} = formModel;\r\n\r\nconst initialValues = {\r\n [propertyLocation.name]: '',\r\n [postalCode.name]: '',\r\n [gpsCoordinates.name]: '',\r\n [sumInsredAmount.name]: '2500000',\r\n [propertyQuestion1.name]: '',\r\n [complexName.name]: '',\r\n [numberOfUnits.name]: '',\r\n [buildingOccupation.name]: 'Residential Only',\r\n [roofConstruction.name]: 'Standard (Tiles / IBR / Concrete)',\r\n [wallConstruction.name]: 'Standard (Brick / Concrete)',\r\n [contactPerson.name]: '',\r\n [contactNumber.name]: '',\r\n [email.name]: '',\r\n [yourBroker.name]: '',\r\n [preferredBranch.name]: 'Johannesburg',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\n\r\nconst {\r\n propertyLocation,\r\n postalCode,\r\n gpsCoordinates,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n complexName,\r\n numberOfUnits,\r\n buildingOccupation,\r\n roofConstruction,\r\n wallConstruction,\r\n contactPerson,\r\n contactNumber,\r\n email,\r\n yourBroker,\r\n preferredBranch,\r\n} = formModel;\r\n\r\nconst validationSchema = [\r\n Yup.object().shape({\r\n [propertyLocation.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [postalCode.name]: Yup.string(),\r\n [gpsCoordinates.name]: Yup.string(),\r\n [sumInsredAmount.name]: Yup.string(),\r\n [propertyQuestion1.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [complexName.name]: Yup.string().required(`${complexName.requiredErrorMsg}`),\r\n [numberOfUnits.name]: Yup.string().required(`${numberOfUnits.requiredErrorMsg}`),\r\n [buildingOccupation.name]: Yup.string().required(`${buildingOccupation.requiredErrorMsg}`),\r\n [roofConstruction.name]: Yup.string().required(`${roofConstruction.requiredErrorMsg}`),\r\n [wallConstruction.name]: Yup.string().required(`${wallConstruction.requiredErrorMsg}`),\r\n }),\r\n Yup.object().shape({\r\n [contactPerson.name]: Yup.string().required(`${contactPerson.requiredErrorMsg}`),\r\n [contactNumber.name]: Yup.string().required(`${contactNumber.requiredErrorMsg}`),\r\n [email.name]: Yup.string()\r\n .email('Incorrect email format')\r\n .required(`${email.requiredErrorMsg}`),\r\n [yourBroker.name]: Yup.string(),\r\n [preferredBranch.name]: Yup.string(),\r\n }),\r\n];\r\n\r\nexport default validationSchema;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, FormControl, Grid, InputLabel, MenuItem, Select, Typography } from '@mui/material';\r\nimport GoogleSearchField from '../../../../../components/forms/form-fields/GoogleSearchField';\r\nimport formModel from '../../../../../validation/get-quote/community/formModel';\r\nimport RangeInput from '../../../../../components/forms/form-fields/RangeInput';\r\nimport InputField from '../../../../../components/forms/form-fields/InputField';\r\n\r\nconst PropertyDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst QuestionContainer = styled('div')(({ theme }) => ({\r\n minHeight: '60px',\r\n}));\r\n\r\nconst QuestionBtn = styled(Button)(({ theme }) => ({\r\n borderRadius: '5px',\r\n fontWeight: 600,\r\n margin: '5px',\r\n maxHeight: '40px',\r\n color: '#474747',\r\n border: '1px solid #D7412E',\r\n '&.active': {\r\n backgroundColor: '#D7412E',\r\n color: '#FFFFFF',\r\n },\r\n}));\r\n\r\nconst PropertyDetails = (props) => {\r\n const {\r\n propertyLocation,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n buildingOccupation,\r\n complexName,\r\n numberOfUnits,\r\n roofConstruction,\r\n wallConstruction,\r\n } = formModel;\r\n\r\n const { formikProps, activeValidation } = props;\r\n\r\n const questionArray = [\r\n {\r\n item: propertyQuestion1,\r\n },\r\n ];\r\n\r\n const handleLocation = async (locationData) => {\r\n var address = locationData['address_components'];\r\n var zipcode = address[address.length - 1]['long_name'];\r\n\r\n formikProps.setFieldValue('postalCode', zipcode);\r\n formikProps.setFieldValue(\r\n 'gpsCoordinates',\r\n `${locationData['geometry']['location'].lat()},${locationData['geometry'][\r\n 'location'\r\n ].lng()}`\r\n );\r\n };\r\n\r\n const handleValueChange = async (value) => {\r\n formikProps.setFieldValue('sumInsredAmount', value);\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 \r\n \r\n \r\n {buildingOccupation['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'buildingOccupation',\r\n event.target.value\r\n )\r\n }\r\n >\r\n Residential Only\r\n Commercial Only\r\n \r\n Mixed Residential and Commercial\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {roofConstruction['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'roofConstruction',\r\n event.target.value\r\n )\r\n }\r\n >\r\n \r\n Standard (Tiles / IBR / Concrete)\r\n \r\n Thatch\r\n Reed\r\n Wood\r\n Shingles\r\n Slate\r\n Asbestos\r\n \r\n \r\n \r\n \r\n \r\n \r\n {wallConstruction['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'wallConstruction',\r\n event.target.value\r\n )\r\n }\r\n >\r\n \r\n Standard (Brick / Concrete)\r\n \r\n Wood\r\n Nutech\r\n \r\n Rammed Earth Walls\r\n \r\n Asbestos\r\n \r\n \r\n \r\n \r\n\r\n {activeValidation && !formikProps['values']['propertyQuestion1'] && (\r\n \r\n *Please select all options below\r\n \r\n )}\r\n\r\n \r\n Please confirm the following with regards to the property:\r\n \r\n\r\n {questionArray.map((question, index) => (\r\n \r\n \r\n \r\n \r\n {question['item']['label']}\r\n \r\n \r\n \r\n {\r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'Yes'\r\n );\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'No'\r\n )\r\n }\r\n >\r\n No\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 PropertyDetails;\r\n","import React, { useEffect } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport {\r\n Button,\r\n Checkbox,\r\n FormControl,\r\n FormControlLabel,\r\n FormGroup,\r\n Grid,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Typography,\r\n} from '@mui/material';\r\nimport formModel from '../../../../../validation/get-quote/community/formModel';\r\nimport InputField from '../../../../../components/forms/form-fields/InputField';\r\n\r\nconst ContactDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst ContactDetails = (props) => {\r\n const { contactPerson, contactNumber, email, yourBroker, preferredBranch } = formModel;\r\n\r\n const { formikProps } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Please provide your contact details below and one of our friendly staff\r\n members will contact you shortly.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {preferredBranch['label']}\r\n \r\n \r\n formikProps.setFieldValue('preferredBranch', event.target.value)\r\n }\r\n >\r\n Johannesburg\r\n Pretoria\r\n Durban\r\n Bloemfontein\r\n Port Elizabeth\r\n Cape Town\r\n Garden Route\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ContactDetails;\r\n","// #region Imports\r\n\r\nimport React, { Fragment, useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Form, Formik } from 'formik';\r\nimport AxiosRequest from '../../../../../utils/axios/AxiosRequest';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Link,\r\n Step,\r\n StepLabel,\r\n Stepper,\r\n Typography,\r\n} from '@mui/material';\r\nimport Check from '@mui/icons-material/Check';\r\nimport StepConnector, { stepConnectorClasses } from '@mui/material/StepConnector';\r\n\r\nimport formModel from '../../../../../validation/get-quote/community/formModel';\r\nimport initialValues from '../../../../../validation/get-quote/community/initialValues';\r\nimport validationSchema from '../../../../../validation/get-quote/community/validationSchema';\r\nimport PropertyDetails from './PropertyDetails';\r\nimport ContactDetails from './ContactDetails';\r\nimport QuoteSuccess from '../QuoteSuccess';\r\nimport RecaptchaField from '../../../../../components/recaptcha/RecaptchaField';\r\n\r\n// #endregion\r\n\r\n// #region Imports\r\n\r\nconst ButtonContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst RecaptchaText = styled(Typography)(({ theme }) => ({\r\n fontSize: '13px',\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QontoConnector = styled(StepConnector)(({ theme }) => ({\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: {\r\n top: 10,\r\n left: 'calc(-50% + 16px)',\r\n right: 'calc(50% + 16px)',\r\n },\r\n [`&.${stepConnectorClasses.active}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`&.${stepConnectorClasses.completed}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: theme.palette.mode === 'dark' ? theme.palette.grey[800] : '#bcbcc4',\r\n borderTopWidth: 3,\r\n borderRadius: 1,\r\n },\r\n}));\r\n\r\nconst QontoStepIconRoot = styled('div')(({ theme, ownerState }) => ({\r\n color: theme.palette.mode === 'dark' ? theme.palette.grey[700] : '#bcbcc4',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center',\r\n ...(ownerState.active && {\r\n color: '#D7412E',\r\n }),\r\n '& .QontoStepIcon-completedIcon': {\r\n color: '#D7412E',\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n '& .QontoStepIcon-circle': {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor',\r\n },\r\n}));\r\n\r\nfunction QontoStepIcon(props) {\r\n const { active, completed, className } = props;\r\n\r\n return (\r\n \r\n {completed ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n * @default false\r\n */\r\n active: PropTypes.bool,\r\n className: PropTypes.string,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n * @default false\r\n */\r\n completed: PropTypes.bool,\r\n};\r\n\r\n// #endregion\r\n\r\nconst steps = ['Property Details', 'Contact Details'];\r\n\r\nconst CommunityWizard = () => {\r\n const [formLoading, setFormLoading] = useState(false);\r\n const [formMessage, setFormMessage] = useState(null);\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const currentValidationSchema = validationSchema[activeStep];\r\n const isLastStep = activeStep === steps.length - 1;\r\n const fieldRef = useRef(null);\r\n const recaptchaRef = useRef();\r\n\r\n async function _submitForm(values, actions) {\r\n const token = await recaptchaRef.current.executeAsync();\r\n values['token'] = token;\r\n\r\n var result = await AxiosRequest.post('/api/getquote/community', values);\r\n\r\n setFormLoading(false);\r\n\r\n if ('isSuccessful' in result && !result['isSuccessful']) {\r\n setFormMessage(result['message']);\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n return false;\r\n }\r\n\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n\r\n setActiveStep(activeStep + 1);\r\n setActiveValidation(false);\r\n }\r\n\r\n async function _handleSubmit(values, actions) {\r\n if (isLastStep) {\r\n setFormLoading(true);\r\n _submitForm(values, actions);\r\n } else {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n if(!parseFloat(values['gpsCoordinates'])){\r\n if (navigator.geolocation) {\r\n var geocoder = new window.google.maps.Geocoder();\r\n geocoder\r\n .geocode({ address: values['propertyLocation'] })\r\n .then((result) => {\r\n const { results } = result;\r\n var address = results[0]['address_components'];\r\n var zipcode = address[address.length - 1]['long_name'];\r\n\r\n actions.setFieldValue('postalCode', zipcode);\r\n actions.setFieldValue(\r\n 'gpsCoordinates',\r\n `${results[0]['geometry']['location'].lat()},${results[0]['geometry'][\r\n 'location'\r\n ].lng()}`\r\n );\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n }\r\n }\r\n setActiveStep(activeStep + 1);\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n }\r\n }\r\n\r\n function _handleBack() {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n setActiveStep(activeStep - 1);\r\n }\r\n\r\n const _renderStepContent = (step, rest) => {\r\n switch (step) {\r\n case 0:\r\n return ;\r\n case 1:\r\n return ;\r\n default:\r\n return
Not Found
;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n }\r\n ref={fieldRef}\r\n >\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n \r\n {activeStep === steps.length ? (\r\n \r\n ) : (\r\n \r\n {({ isSubmitting, ...rest }) => (\r\n
\r\n \r\n\r\n {formMessage && (\r\n \r\n {formMessage}\r\n \r\n )}\r\n\r\n {_renderStepContent(\r\n activeStep,\r\n rest,\r\n _handleBack,\r\n _handleSubmit\r\n )}\r\n\r\n \r\n This site is protected by reCAPTCHA and the{' '}\r\n \r\n Google Privacy Policy\r\n {' '}\r\n and{' '}\r\n \r\n Terms of Service\r\n {' '}\r\n apply.\r\n \r\n\r\n \r\n {activeStep !== 0 && (\r\n \r\n Back\r\n \r\n )}\r\n
\r\n {\r\n setActiveValidation(true);\r\n }}\r\n >\r\n {isSubmitting || formLoading ? (\r\n \r\n ) : isLastStep ? (\r\n 'Submit'\r\n ) : (\r\n 'Next'\r\n )}\r\n \r\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 CommunityWizard;\r\n","const formModel = {\r\n propertyLocation: {\r\n name: 'propertyLocation',\r\n label: 'Search Property*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n postalCode: {\r\n name: 'postalCode',\r\n },\r\n gpsCoordinates: {\r\n name: 'gpsCoordinates',\r\n },\r\n sumInsredAmount: {\r\n name: 'sumInsredAmount',\r\n label: 'Building Replacement Value',\r\n },\r\n propertyQuestion1: {\r\n name: 'propertyQuestion1',\r\n label: `Are there any lapa's or other non-standard structures (such as wooden cabins or wendy houses) larger than 10m² situated on the property?`,\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n insured: {\r\n name: 'insured',\r\n label: 'Insured Name*',\r\n requiredErrorMsg: 'This field is required',\r\n autocomplete: 'off',\r\n },\r\n buildingOccupation: {\r\n name: 'buildingOccupation',\r\n label: 'Building Occupation*',\r\n requiredErrorMsg: 'This field is required',\r\n autocomplete: 'off',\r\n },\r\n roofConstruction: {\r\n name: 'roofConstruction',\r\n label: 'Roof Construction*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n wallConstruction: {\r\n name: 'wallConstruction',\r\n label: 'Wall Construction*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n contactPerson: {\r\n name: 'contactPerson',\r\n label: 'Contact Person*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n contactNumber: {\r\n name: 'contactNumber',\r\n label: 'Contact Number*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n email: {\r\n name: 'email',\r\n label: 'Email Address*',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n yourBroker: {\r\n name: 'yourBroker',\r\n label: 'Your Broker',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n preferredBranch: {\r\n name: 'preferredBranch',\r\n label: 'Preferred Branch',\r\n requiredErrorMsg: 'This field is required',\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst {\r\n propertyLocation,\r\n postalCode,\r\n gpsCoordinates,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n insured,\r\n buildingOccupation,\r\n roofConstruction,\r\n wallConstruction,\r\n contactPerson,\r\n contactNumber,\r\n email,\r\n yourBroker,\r\n preferredBranch,\r\n} = formModel;\r\n\r\nconst initialValues = {\r\n [propertyLocation.name]: '',\r\n [postalCode.name]: '',\r\n [gpsCoordinates.name]: '',\r\n [sumInsredAmount.name]: '2500000',\r\n [propertyQuestion1.name]: '',\r\n [insured.name]: '',\r\n [buildingOccupation.name]: '',\r\n [roofConstruction.name]: 'Standard (Tiles / IBR / Concrete)',\r\n [wallConstruction.name]: 'Standard (Brick / Concrete)',\r\n [contactPerson.name]: '',\r\n [contactNumber.name]: '',\r\n [email.name]: '',\r\n [yourBroker.name]: '',\r\n [preferredBranch.name]: 'Johannesburg',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\n\r\nconst {\r\n propertyLocation,\r\n postalCode,\r\n gpsCoordinates,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n insured,\r\n buildingOccupation,\r\n roofConstruction,\r\n wallConstruction,\r\n contactPerson,\r\n contactNumber,\r\n email,\r\n yourBroker,\r\n preferredBranch,\r\n} = formModel;\r\n\r\nconst validationSchema = [\r\n Yup.object().shape({\r\n [propertyLocation.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [postalCode.name]: Yup.string(),\r\n [gpsCoordinates.name]: Yup.string(),\r\n [sumInsredAmount.name]: Yup.string(),\r\n [propertyQuestion1.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [insured.name]: Yup.string().required(`${insured.requiredErrorMsg}`),\r\n [buildingOccupation.name]: Yup.string().required(`${buildingOccupation.requiredErrorMsg}`),\r\n [roofConstruction.name]: Yup.string().required(`${roofConstruction.requiredErrorMsg}`),\r\n [wallConstruction.name]: Yup.string().required(`${wallConstruction.requiredErrorMsg}`),\r\n }),\r\n Yup.object().shape({\r\n [contactPerson.name]: Yup.string().required(`${contactPerson.requiredErrorMsg}`),\r\n [contactNumber.name]: Yup.string().required(`${contactNumber.requiredErrorMsg}`),\r\n [email.name]: Yup.string()\r\n .email('Incorrect email format')\r\n .required(`${email.requiredErrorMsg}`),\r\n [yourBroker.name]: Yup.string(),\r\n [preferredBranch.name]: Yup.string(),\r\n }),\r\n];\r\n\r\nexport default validationSchema;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, FormControl, Grid, InputLabel, MenuItem, Select, Typography } from '@mui/material';\r\nimport GoogleSearchField from '../../../../../components/forms/form-fields/GoogleSearchField';\r\nimport formModel from '../../../../../validation/get-quote/commercial/formModel';\r\nimport RangeInput from '../../../../../components/forms/form-fields/RangeInput';\r\nimport InputField from '../../../../../components/forms/form-fields/InputField';\r\n\r\nconst PropertyDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst QuestionContainer = styled('div')(({ theme }) => ({\r\n minHeight: '60px',\r\n}));\r\n\r\nconst QuestionBtn = styled(Button)(({ theme }) => ({\r\n borderRadius: '5px',\r\n fontWeight: 600,\r\n margin: '5px',\r\n maxHeight: '40px',\r\n color: '#474747',\r\n border: '1px solid #D7412E',\r\n '&.active': {\r\n backgroundColor: '#D7412E',\r\n color: '#FFFFFF',\r\n },\r\n}));\r\n\r\nconst PropertyDetails = (props) => {\r\n const {\r\n propertyLocation,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n buildingOccupation,\r\n insured,\r\n roofConstruction,\r\n wallConstruction,\r\n } = formModel;\r\n\r\n const { formikProps, activeValidation } = props;\r\n\r\n const questionArray = [\r\n {\r\n item: propertyQuestion1,\r\n },\r\n ];\r\n\r\n const handleLocation = async (locationData) => {\r\n var address = locationData['address_components'];\r\n var zipcode = address[address.length - 1]['long_name'];\r\n\r\n formikProps.setFieldValue('postalCode', zipcode);\r\n formikProps.setFieldValue(\r\n 'gpsCoordinates',\r\n `${locationData['geometry']['location'].lat()},${locationData['geometry'][\r\n 'location'\r\n ].lng()}`\r\n );\r\n };\r\n\r\n const handleValueChange = async (value) => {\r\n formikProps.setFieldValue('sumInsredAmount', value);\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 \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {roofConstruction['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'roofConstruction',\r\n event.target.value\r\n )\r\n }\r\n >\r\n \r\n Standard (Tiles / IBR / Concrete)\r\n \r\n Thatch\r\n Reed\r\n Wood\r\n Shingles\r\n Slate\r\n Asbestos\r\n \r\n \r\n \r\n \r\n \r\n \r\n {wallConstruction['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'wallConstruction',\r\n event.target.value\r\n )\r\n }\r\n >\r\n \r\n Standard (Brick / Concrete)\r\n \r\n Wood\r\n Nutech\r\n \r\n Rammed Earth Walls\r\n \r\n Asbestos\r\n \r\n \r\n \r\n \r\n\r\n {activeValidation && !formikProps['values']['propertyQuestion1'] && (\r\n \r\n *Please select all options below\r\n \r\n )}\r\n\r\n \r\n Please confirm the following with regards to the property:\r\n \r\n\r\n {questionArray.map((question, index) => (\r\n \r\n \r\n \r\n \r\n {question['item']['label']}\r\n \r\n \r\n \r\n {\r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'Yes'\r\n );\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'No'\r\n )\r\n }\r\n >\r\n No\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 PropertyDetails;\r\n","import React, { useEffect } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport {\r\n Button,\r\n Checkbox,\r\n FormControl,\r\n FormControlLabel,\r\n FormGroup,\r\n Grid,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Typography,\r\n} from '@mui/material';\r\nimport formModel from '../../../../../validation/get-quote/commercial/formModel';\r\nimport InputField from '../../../../../components/forms/form-fields/InputField';\r\n\r\nconst ContactDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst ContactDetails = (props) => {\r\n const { contactPerson, contactNumber, email, yourBroker, preferredBranch } = formModel;\r\n\r\n const { formikProps } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Please provide your contact details below and one of our friendly staff\r\n members will contact you shortly.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {preferredBranch['label']}\r\n \r\n \r\n formikProps.setFieldValue('preferredBranch', event.target.value)\r\n }\r\n >\r\n Johannesburg\r\n Pretoria\r\n Durban\r\n Bloemfontein\r\n Port Elizabeth\r\n Cape Town\r\n Garden Route\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ContactDetails;\r\n","// #region Imports\r\n\r\nimport React, { Fragment, useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Form, Formik } from 'formik';\r\nimport AxiosRequest from '../../../../../utils/axios/AxiosRequest';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Link,\r\n Step,\r\n StepLabel,\r\n Stepper,\r\n Typography,\r\n} from '@mui/material';\r\nimport Check from '@mui/icons-material/Check';\r\nimport StepConnector, { stepConnectorClasses } from '@mui/material/StepConnector';\r\n\r\nimport formModel from '../../../../../validation/get-quote/commercial/formModel';\r\nimport initialValues from '../../../../../validation/get-quote/commercial/initialValues';\r\nimport validationSchema from '../../../../../validation/get-quote/commercial/validationSchema';\r\nimport PropertyDetails from './PropertyDetails';\r\nimport ContactDetails from './ContactDetails';\r\nimport QuoteSuccess from '../QuoteSuccess';\r\nimport RecaptchaField from '../../../../../components/recaptcha/RecaptchaField';\r\n\r\n// #endregion\r\n\r\n// #region Imports\r\n\r\nconst ButtonContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst RecaptchaText = styled(Typography)(({ theme }) => ({\r\n fontSize: '13px',\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QontoConnector = styled(StepConnector)(({ theme }) => ({\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: {\r\n top: 10,\r\n left: 'calc(-50% + 16px)',\r\n right: 'calc(50% + 16px)',\r\n },\r\n [`&.${stepConnectorClasses.active}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`&.${stepConnectorClasses.completed}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: theme.palette.mode === 'dark' ? theme.palette.grey[800] : '#bcbcc4',\r\n borderTopWidth: 3,\r\n borderRadius: 1,\r\n },\r\n}));\r\n\r\nconst QontoStepIconRoot = styled('div')(({ theme, ownerState }) => ({\r\n color: theme.palette.mode === 'dark' ? theme.palette.grey[700] : '#bcbcc4',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center',\r\n ...(ownerState.active && {\r\n color: '#D7412E',\r\n }),\r\n '& .QontoStepIcon-completedIcon': {\r\n color: '#D7412E',\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n '& .QontoStepIcon-circle': {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor',\r\n },\r\n}));\r\n\r\nfunction QontoStepIcon(props) {\r\n const { active, completed, className } = props;\r\n\r\n return (\r\n \r\n {completed ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n * @default false\r\n */\r\n active: PropTypes.bool,\r\n className: PropTypes.string,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n * @default false\r\n */\r\n completed: PropTypes.bool,\r\n};\r\n\r\n// #endregion\r\n\r\nconst steps = ['Property Details', 'Contact Details'];\r\n\r\nconst CommercialWizard = () => {\r\n const [formLoading, setFormLoading] = useState(false);\r\n const [formMessage, setFormMessage] = useState(null);\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const currentValidationSchema = validationSchema[activeStep];\r\n const isLastStep = activeStep === steps.length - 1;\r\n const fieldRef = useRef(null);\r\n const recaptchaRef = useRef();\r\n\r\n async function _submitForm(values, actions) {\r\n const token = await recaptchaRef.current.executeAsync();\r\n values['token'] = token;\r\n\r\n var result = await AxiosRequest.post('/api/getquote/commercial', values);\r\n\r\n console.log(result);\r\n\r\n setFormLoading(false);\r\n\r\n if ('isSuccessful' in result && !result['isSuccessful']) {\r\n setFormMessage(result['message']);\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n return false;\r\n }\r\n\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n\r\n setActiveStep(activeStep + 1);\r\n setActiveValidation(false);\r\n }\r\n\r\n async function _handleSubmit(values, actions) {\r\n if (isLastStep) {\r\n setFormLoading(true);\r\n _submitForm(values, actions);\r\n } else {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n if(!parseFloat(values['gpsCoordinates'])){\r\n if (navigator.geolocation) {\r\n var geocoder = new window.google.maps.Geocoder();\r\n geocoder\r\n .geocode({ address: values['propertyLocation'] })\r\n .then((result) => {\r\n const { results } = result;\r\n var address = results[0]['address_components'];\r\n var zipcode = address[address.length - 1]['long_name'];\r\n\r\n actions.setFieldValue('postalCode', zipcode);\r\n actions.setFieldValue(\r\n 'gpsCoordinates',\r\n `${results[0]['geometry']['location'].lat()},${results[0]['geometry'][\r\n 'location'\r\n ].lng()}`\r\n );\r\n })\r\n .catch((e) => {\r\n console.log(e);\r\n });\r\n }\r\n }\r\n setActiveStep(activeStep + 1);\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n }\r\n }\r\n\r\n function _handleBack() {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n setActiveStep(activeStep - 1);\r\n }\r\n\r\n const _renderStepContent = (step, rest) => {\r\n switch (step) {\r\n case 0:\r\n return ;\r\n case 1:\r\n return ;\r\n default:\r\n return
Not Found
;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n }\r\n ref={fieldRef}\r\n >\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n \r\n {activeStep === steps.length ? (\r\n \r\n ) : (\r\n \r\n {({ isSubmitting, ...rest }) => (\r\n
\r\n \r\n\r\n {formMessage && (\r\n \r\n {formMessage}\r\n \r\n )}\r\n\r\n {_renderStepContent(\r\n activeStep,\r\n rest,\r\n _handleBack,\r\n _handleSubmit\r\n )}\r\n\r\n \r\n This site is protected by reCAPTCHA and the{' '}\r\n \r\n Google Privacy Policy\r\n {' '}\r\n and{' '}\r\n \r\n Terms of Service\r\n {' '}\r\n apply.\r\n \r\n\r\n \r\n {activeStep !== 0 && (\r\n \r\n Back\r\n \r\n )}\r\n
\r\n {\r\n setActiveValidation(true);\r\n }}\r\n >\r\n {isSubmitting || formLoading ? (\r\n \r\n ) : isLastStep ? (\r\n 'Submit'\r\n ) : (\r\n 'Next'\r\n )}\r\n \r\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 CommercialWizard;\r\n","// #region Imports\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport {\r\n Box,\r\n Container,\r\n FormControl,\r\n Hidden,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Tab,\r\n} from '@mui/material';\r\nimport { TabContext, TabList, TabPanel } from '@mui/lab';\r\nimport FidelityCover from './quote-wizard/fidelity/FidelityCover';\r\nimport HomeownersWizard from './quote-wizard/homeowners/HomeownersWizard';\r\nimport CommunityWizard from './quote-wizard/community/CommunityWizard';\r\nimport CommercialWizard from './quote-wizard/commercial/CommercialWizard';\r\n\r\n// #endregion\r\n\r\n// #region Styles\r\n\r\nconst GetQuoteWizardRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst WizardTabList = styled(TabList)(({ theme }) => ({\r\n '& .MuiTabs-indicator': {},\r\n}));\r\n\r\nconst WizardTab = styled(Tab)(({ theme }) => ({\r\n textTransform: 'capitalize',\r\n fontSize: '17px',\r\n fontWeight: '600',\r\n color: '#586069',\r\n borderRadius: '5px',\r\n '&.Mui-selected': {\r\n backgroundColor: '#F5F5F5',\r\n },\r\n}));\r\n\r\nconst WizardTabPanel = styled(TabPanel)(({ theme }) => ({\r\n padding: '24px 0px',\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '24px 5px',\r\n },\r\n}));\r\n\r\n// #endregion\r\n\r\nconst GetQuoteWizard = () => {\r\n const location = useLocation();\r\n const history = useHistory();\r\n\r\n const [value, setValue] = useState(() => {\r\n switch (location.hash) {\r\n case '#homeowners-insurance':\r\n return '1';\r\n case '#community-insurance':\r\n return '2';\r\n case '#commercial-insurance':\r\n return '3';\r\n case '#fidelity-computer-crime-insurance':\r\n return '4';\r\n default:\r\n return '1';\r\n }\r\n });\r\n\r\n const handleTabsChange = (event, newValue) => {\r\n setValue(newValue);\r\n\r\n switch (newValue) {\r\n case '1':\r\n history.push('/get-quote#homeowners-insurance');\r\n break;\r\n case '2':\r\n history.push('/get-quote#community-insurance');\r\n break;\r\n case '3':\r\n history.push('/get-quote#commercial-insurance');\r\n break;\r\n case '4':\r\n history.push('/get-quote#fidelity-computer-crime-insurance');\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Choose Cover:\r\n \r\n setValue(event.target.value)}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n >\r\n Homeowners\r\n Community\r\n Commercial\r\n Fidelity & Computer Crime\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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 GetQuoteWizard;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\n\r\nimport Introduction from './components/Introduction';\r\nimport GetQuoteWizard from './components/GetQuoteWizard';\r\n\r\nconst GetQuoteRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst GetQuote = () => {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default GetQuote;\r\n","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Link, Typography } from '@mui/material';\r\n\r\nimport SectionTitle from '../../../../components/SectionTitle';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst IntroLink = styled(Link)(({ theme }) => ({\r\n cursor: 'pointer',\r\n}));\r\n\r\nconst Introduction = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n or history.push('/policy-schedule')}>upload{' '}\r\n your existing schedule:\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { styled, useTheme } from '@mui/material/styles';\r\nimport { Button, Divider, Grid, Typography, useMediaQuery } from '@mui/material';\r\nimport GoogleSearchField from '../../../../../../components/forms/form-fields/GoogleSearchField';\r\nimport formModel from '../../../../../../validation/get-quote/homeowners/formModel';\r\nimport RangeInput from '../../../../../../components/forms/form-fields/RangeInput';\r\nimport GoogleMap from '../../../../../../components/website-map/GoogleMap';\r\n\r\nconst PropertyDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst MapContainer = styled('div')(({ theme }) => ({\r\n width: '100%',\r\n height: '200px',\r\n borderRadius: '5px',\r\n overflow: 'hidden',\r\n}));\r\n\r\nconst QuestionContainer = styled('div')(({ theme }) => ({\r\n minHeight: '60px',\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: '25px',\r\n },\r\n}));\r\n\r\nconst QuestionBtn = styled(Button)(({ theme }) => ({\r\n borderRadius: '5px',\r\n fontWeight: 600,\r\n margin: '5px',\r\n maxHeight: '40px',\r\n color: '#474747',\r\n border: '1px solid #D7412E',\r\n '&.active': {\r\n backgroundColor: '#D7412E',\r\n color: '#FFFFFF',\r\n },\r\n}));\r\n\r\nconst PropertyDetails = (props) => {\r\n const theme = useTheme();\r\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\r\n const [map, setMap] = useState(null);\r\n const mapMarker = useRef();\r\n const [mapOptions, setMapOptions] = useState({\r\n zoom: 6,\r\n mapTypeId: 'hybrid',\r\n center: {\r\n lat: -28.76496,\r\n lng: 24.74198,\r\n },\r\n zoomControl: false,\r\n streetViewControl: false,\r\n mapTypeControl: false,\r\n scaleControl: false,\r\n rotateControl: false,\r\n });\r\n\r\n const {\r\n propertyLocation,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n propertyQuestion2,\r\n propertyQuestion3,\r\n propertyQuestion4,\r\n propertyQuestion5,\r\n } = formModel;\r\n\r\n const { formikProps, activeValidation } = props;\r\n const { values } = formikProps;\r\n\r\n const questionArray = [\r\n {\r\n item: propertyQuestion1,\r\n },\r\n {\r\n item: propertyQuestion2,\r\n },\r\n {\r\n item: propertyQuestion3,\r\n },\r\n {\r\n item: propertyQuestion4,\r\n },\r\n {\r\n item: propertyQuestion5,\r\n },\r\n ];\r\n\r\n const handleLocation = async (locationData) => {\r\n var address = locationData['address_components'];\r\n var zipcode = address[address.length - 1]['long_name'];\r\n\r\n formikProps.setFieldValue('postalCode', zipcode);\r\n formikProps.setFieldValue(\r\n 'gpsCoordinates',\r\n `${locationData['geometry']['location'].lat()},${locationData['geometry'][\r\n 'location'\r\n ].lng()}`\r\n );\r\n };\r\n\r\n const handleValueChange = async (value) => {\r\n formikProps.setFieldValue('sumInsredAmount', value);\r\n };\r\n\r\n const returnMap = (tempMap) => {\r\n setMap(tempMap);\r\n };\r\n\r\n useEffect(() => {\r\n console.log('Test 1');\r\n if (\r\n parseFloat(values['gpsCoordinates'].split(',')[0]) &&\r\n parseFloat(values['gpsCoordinates'].split(',')[0]) &&\r\n map\r\n ) {\r\n console.log('Test 2');\r\n var icon = {\r\n url: 'https://maps.google.com/mapfiles/ms/icons/red-dot.png',\r\n scaledSize: new window.google.maps.Size(33, 33),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(15, 30),\r\n };\r\n\r\n if (mapMarker.current) {\r\n mapMarker.current.setMap(null);\r\n }\r\n\r\n mapMarker.current = new window.google.maps.Marker({\r\n position: {\r\n lat: parseFloat(values['gpsCoordinates'].split(',')[0]),\r\n lng: parseFloat(values['gpsCoordinates'].split(',')[1]),\r\n },\r\n map: map,\r\n icon: icon,\r\n draggable: false,\r\n });\r\n\r\n map.setCenter({\r\n lat: parseFloat(values['gpsCoordinates'].split(',')[0]),\r\n lng: parseFloat(values['gpsCoordinates'].split(',')[1]),\r\n });\r\n map.setZoom(19);\r\n }\r\n }, [values['gpsCoordinates'], map]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n {activeValidation &&\r\n (!formikProps['values']['propertyQuestion1'] ||\r\n !formikProps['values']['propertyQuestion2'] ||\r\n !formikProps['values']['propertyQuestion3'] ||\r\n !formikProps['values']['propertyQuestion4'] ||\r\n !formikProps['values']['propertyQuestion5']) && (\r\n \r\n *Please select all options below\r\n \r\n )}\r\n\r\n \r\n Please confirm the following with regards to the property:\r\n \r\n\r\n {questionArray.map((question, index) => (\r\n \r\n \r\n \r\n \r\n {question['item']['label']}\r\n \r\n \r\n \r\n {\r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'Yes'\r\n );\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'No'\r\n )\r\n }\r\n >\r\n No\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PropertyDetails;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Collapse, Link } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faChevronDown, faChevronUp, faCheck } from '@fortawesome/free-solid-svg-icons';\r\nimport GoogleMap from '../../../../../../components/website-map/GoogleMap';\r\nimport BroadformBuildingKeyInformationDocumentApril2023 from '../../../../../../assets/documents/products-key-information/commercial/Broadform-Building-Key-Information-Document-1-April-2023.pdf';\r\nimport BroadformHomeownersKeyInformationDocumentApril2023 from '../../../../../../assets/documents/products-key-information/homeowners/Broadform-Homeowners-Key-Information-Document-1-April-2023.pdf';\r\nimport BroadformBuildingInsurancePolicyApril2023 from '../../../../../../assets/documents/products-key-information/commercial/Broadform-Building-Insurance-Policy-April-2023.pdf';\r\nimport BroadformHomeownersInsurancePolicyApril2023 from '../../../../../../assets/documents/products-key-information/homeowners/Broadform-Homeowners-Insurance-Policy-April-2023.pdf';\r\n\r\nconst QuotationDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst MapContainer = styled('div')(({ theme }) => ({\r\n width: '100%',\r\n height: '200px',\r\n borderRadius: '5px',\r\n overflow: 'hidden',\r\n}));\r\n\r\nconst QuotationResults = styled('div')(({ theme }) => ({\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QuotationTable = styled('table')(({ theme }) => ({\r\n width: '100%',\r\n '& strong': {\r\n color: '#444',\r\n },\r\n '& th': {\r\n padding: '10px',\r\n },\r\n '& td': {\r\n padding: '10px',\r\n width: '30%',\r\n border: '1px solid rgb(206, 206, 206)',\r\n },\r\n '& tbody tr:nth-child(odd)': {\r\n background: 'rgba(0, 0, 0, 0.05)',\r\n },\r\n '& .title': {\r\n backgroundColor: '#555555',\r\n color: '#FFFFFF',\r\n fontSize: '16px',\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '14px',\r\n },\r\n },\r\n '& .description': {\r\n textAlign: 'left',\r\n width: '40%',\r\n },\r\n '& .premiumText': {\r\n backgroundColor: '#d3d3d3',\r\n color: '#D7412E',\r\n fontSize: '19px',\r\n fontWeight: 600,\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '15px',\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '14px',\r\n },\r\n}));\r\n\r\nconst QuotationHeader = styled('thead')(({ theme }) => ({\r\n width: '100%',\r\n}));\r\n\r\nconst QuotationBody = styled('tbody')(({ theme }) => ({\r\n width: '100%',\r\n textAlign: 'center',\r\n // border: 'none',\r\n borderRight: '2px solid rgb(206, 206, 206)',\r\n borderLeft: '1px solid rgb(206, 206, 206)',\r\n borderBottom: '1px solid rgb(206, 206, 206)',\r\n}));\r\n\r\nconst CollapseRow = styled('tr')(({ theme }) => ({\r\n borderBottom: '2px solid #D7412E',\r\n cursor: 'pointer',\r\n color: '#444444',\r\n ':hover': {\r\n backgroundColor: 'rgba(0,0,0,.040)',\r\n color: '#D7412E',\r\n },\r\n}));\r\n\r\nconst CheckIcon = styled(FontAwesomeIcon)(({ theme }) => ({\r\n color: 'rgb(32, 192, 32)',\r\n fontSize: '19px',\r\n}));\r\n\r\nconst QuotationDetails = ({ formikProps, handleBack, handleSubmit }) => {\r\n const { values } = formikProps;\r\n const [expanded, setExpanded] = useState(true);\r\n const [map, setMap] = useState(null);\r\n\r\n const mapOptions = {\r\n zoom: 19,\r\n mapTypeId: 'hybrid',\r\n center: {\r\n lat: parseFloat(values['gpsCoordinates'].split(',')[0]),\r\n lng: parseFloat(values['gpsCoordinates'].split(',')[1]),\r\n },\r\n zoomControl: false,\r\n streetViewControl: false,\r\n mapTypeControl: false,\r\n scaleControl: false,\r\n rotateControl: false,\r\n };\r\n\r\n const returnMap = (tempMap) => {\r\n setMap(tempMap);\r\n\r\n var icon = {\r\n url: 'https://maps.google.com/mapfiles/ms/icons/red-dot.png',\r\n scaledSize: new window.google.maps.Size(33, 33),\r\n origin: new window.google.maps.Point(0, 0),\r\n anchor: new window.google.maps.Point(15, 30),\r\n };\r\n\r\n new window.google.maps.Marker({\r\n position: {\r\n lat: parseFloat(values['gpsCoordinates'].split(',')[0]),\r\n lng: parseFloat(values['gpsCoordinates'].split(',')[1]),\r\n },\r\n map: tempMap,\r\n icon: icon,\r\n draggable: false,\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n {expanded && (\r\n
\r\n \r\n \r\n Next\r\n \r\n
\r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n Option 1: Broadform Buildings Policy\r\n Option 2: Broadform Homeowners Policy\r\n \r\n \r\n \r\n \r\n \r\n Sum Insured Value\r\n \r\n \r\n \r\n R{' '}\r\n {values['sumInsredAmount']\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n \r\n \r\n \r\n \r\n R{' '}\r\n {values['sumInsredAmount']\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n \r\n \r\n \r\n \r\n \r\n Total Monthly Premium\r\n \r\n R {values['broadformBuildingValue']}\r\n R {values['broadformHomeownersValue']}\r\n \r\n setExpanded(!expanded)}\r\n >\r\n \r\n \r\n Click to hide summary of cover\r\n {' '}\r\n {expanded ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n All Risk cover, including, but not limited\r\n to:\r\n \r\n
    \r\n
  • Fire
  • \r\n
  • Earthquake
  • \r\n
  • Accidental damage
  • \r\n
  • Storm, flood, hail & lightning
  • \r\n
  • \r\n SASRIA Cover for Riots, Public Violence\r\n and Terrorism\r\n
  • \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Power surge\r\n R50 000\r\n \r\n \r\n \r\n \r\n \r\n \r\n Theft without forcible and violent entry\r\n \r\n R15 000\r\n \r\n \r\n \r\n \r\n \r\n Geyser replacement\r\n Limits applicable\r\n \r\n \r\n \r\n \r\n \r\n Machinery breakdown\r\n Optional\r\n \r\n \r\n \r\n \r\n \r\n \r\n Extended subsidence & landslip - sites affected\r\n by dolomite, limestone and acid mine drainage\r\n \r\n -\r\n \r\n \r\n \r\n \r\n \r\n \r\n Emergency accommodation\r\n \r\n -\r\n R1,000 a day max 7 days\r\n \r\n \r\n \r\n Loss of rent or alternative accommodation -\r\n following an insured event\r\n \r\n Up to 25% of Sum Insured\r\n Up to 30% of Sum Insured\r\n \r\n \r\n Public liability\r\n R50 million\r\n R50 million\r\n \r\n \r\n \r\n Summary of cover and standard excess (Key\r\n Information Document)\r\n \r\n \r\n \r\n Open Document\r\n \r\n \r\n \r\n \r\n Open Document\r\n \r\n \r\n \r\n \r\n Full Policy Wording\r\n \r\n \r\n Open Document\r\n \r\n \r\n \r\n \r\n Open Document\r\n \r\n \r\n \r\n \r\n \r\n ( ) Fully covered\r\n up to the Building Sum Insured\r\n \r\n \r\n \r\n \r\n All cover provided subject to policy terms &\r\n conditions\r\n \r\n \r\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 QuotationDetails;\r\n","import React, { useEffect } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport {\r\n Button,\r\n Checkbox,\r\n FormControl,\r\n FormControlLabel,\r\n FormGroup,\r\n Grid,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Typography,\r\n} from '@mui/material';\r\nimport formModel from '../../../../../../validation/get-quote/homeowners/formModel';\r\nimport InputField from '../../../../../../components/forms/form-fields/InputField';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nconst ContactDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst QuotationResults = styled('div')(({ theme }) => ({\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QuotationTable = styled('table')(({ theme }) => ({\r\n width: '100%',\r\n '& strong': {\r\n color: '#444',\r\n },\r\n '& th': {\r\n padding: '10px',\r\n },\r\n '& td': {\r\n padding: '10px',\r\n width: '30%',\r\n border: '1px solid rgb(206, 206, 206)',\r\n },\r\n '& tbody tr:nth-child(odd)': {\r\n background: 'rgba(0, 0, 0, 0.05)',\r\n },\r\n '& .title': {\r\n backgroundColor: '#555555',\r\n color: '#FFFFFF',\r\n fontSize: '16px',\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '14px',\r\n },\r\n },\r\n '& .description': {\r\n textAlign: 'left',\r\n width: '40%',\r\n },\r\n '& .premiumText': {\r\n backgroundColor: '#d3d3d3',\r\n color: '#D7412E',\r\n fontSize: '19px',\r\n fontWeight: 600,\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '15px',\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '14px',\r\n },\r\n}));\r\n\r\nconst QuotationHeader = styled('thead')(({ theme }) => ({\r\n width: '100%',\r\n}));\r\n\r\nconst QuotationBody = styled('tbody')(({ theme }) => ({\r\n width: '100%',\r\n textAlign: 'center',\r\n borderRight: '2px solid rgb(206, 206, 206)',\r\n borderLeft: '1px solid rgb(206, 206, 206)',\r\n borderBottom: '1px solid rgb(206, 206, 206)',\r\n}));\r\n\r\nconst ConditionsContainer = styled('div')(({ theme }) => ({\r\n marginTop: '20px',\r\n}));\r\n\r\nconst conditions_array = [\r\n {\r\n id: 1,\r\n text: `The appointment of a short term insurance broker of your choice who is a licensed financial \r\n services provider.`,\r\n },\r\n {\r\n id: 2,\r\n text: `Verification and acceptance by us of information provided during the quoting process.`,\r\n },\r\n {\r\n id: 3,\r\n text: `Satisfactory claims experience as evidenced by your detailed claims history for the last 3 years.`,\r\n },\r\n {\r\n id: 4,\r\n text: `Confirmation that no previous insurer has ever turned down an application for insurance, cancelled \r\n any policy or part thereof, imposed special conditions, refused renew any policy or part thereof, \r\n or refused to continue any part of your insurance.`,\r\n },\r\n {\r\n id: 5,\r\n text: `The property is not a smallholding or farm.`,\r\n },\r\n {\r\n id: 6,\r\n text: `You are the owner or representative owner of the property.`,\r\n },\r\n {\r\n id: 7,\r\n text: `The property is not located within close proximity of an open water body nor is it within \r\n close proximity of open bush.`,\r\n },\r\n {\r\n id: 8,\r\n text: `The terms, conditions, excesses, exclusions and provisions of the policy wording.`,\r\n },\r\n {\r\n id: 9,\r\n text: `Prices shown are valid for 31 days.`,\r\n },\r\n {\r\n id: 10,\r\n text: `For holiday homes and buildings vacant for longer than 31 days theft and malicious damage is \r\n subject to the building being fitted with a radio alarm system linked to a security company that \r\n provides an armed response service.`,\r\n },\r\n];\r\n\r\nconst ContactDetails = (props) => {\r\n const location = useLocation();\r\n\r\n const { packageOption, firstname, surname, contactNumber, email, yourBroker, publicizeOption } =\r\n formModel;\r\n\r\n const { formikProps, skipQuote, conditionValue, handleCondition, conditionMessage } = props;\r\n\r\n useEffect(() => {\r\n const urlParams = new URLSearchParams(location.search);\r\n const key = urlParams.get('brokername');\r\n\r\n if (key) {\r\n formikProps.setFieldValue('yourBroker', key);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {!skipQuote && (\r\n \r\n \r\n \r\n \r\n \r\n Option 1: Broadform Buildings Policy\r\n Option 2: Broadform Homeowners Policy\r\n \r\n \r\n \r\n \r\n \r\n Sum Insured Value\r\n \r\n \r\n \r\n R{' '}\r\n {formikProps['values']['sumInsredAmount']\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n \r\n \r\n \r\n \r\n R{' '}\r\n {formikProps['values']['sumInsredAmount']\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n \r\n \r\n \r\n \r\n \r\n Total Monthly Premium\r\n \r\n R {formikProps['values']['broadformBuildingValue']}\r\n R {formikProps['values']['broadformHomeownersValue']}\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {skipQuote && (\r\n \r\n \r\n Thank you for choosing CIA. Due to your specific requirements we need\r\n additional information in order to provide you with a quote.\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n Please provide your contact details below and one of our friendly staff\r\n members will contact you shortly.\r\n \r\n \r\n \r\n \r\n {packageOption['label']}\r\n \r\n formikProps.setFieldValue('packageOption', event.target.value)\r\n }\r\n >\r\n \r\n Option 1: Broadform Buildings Policy\r\n \r\n \r\n Option 2: Broadform Homeowners Policy\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {publicizeOption['label']}\r\n \r\n \r\n formikProps.setFieldValue('publicizeOption', event.target.value)\r\n }\r\n >\r\n The Home Channel\r\n Facebook\r\n Google\r\n Broker\r\n LinkedIn\r\n Word of Mouth\r\n LivingSpace Magizine\r\n Other\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Please take note\r\n \r\n \r\n This indicative web quotation is subject to the following:\r\n \r\n
    \r\n {conditions_array.map((item, index) => (\r\n
  1. \r\n {item['text']}\r\n
  2. \r\n ))}\r\n
\r\n
\r\n\r\n {conditionMessage && (\r\n \r\n {conditionMessage}\r\n \r\n )}\r\n \r\n \r\n }\r\n label=\"I agree to the above conditions\"\r\n />\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ContactDetails;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Typography } from '@mui/material';\r\n\r\nconst QuoteSuccessRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst QuoteSuccess = () => {\r\n return (\r\n \r\n \r\n Thank you for choosing CIA.\r\n \r\n\r\n \r\n One of our friendly consultants will contact you shortly to complete the\r\n underwriting process.\r\n \r\n \r\n );\r\n};\r\n\r\nexport default QuoteSuccess;\r\n","// #region Imports\r\n\r\nimport React, { Fragment, useEffect, useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Form, Formik } from 'formik';\r\nimport AxiosRequest from '../../../../../../utils/axios/AxiosRequest';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Link,\r\n Step,\r\n StepLabel,\r\n Stepper,\r\n Typography,\r\n} from '@mui/material';\r\nimport Check from '@mui/icons-material/Check';\r\nimport StepConnector, { stepConnectorClasses } from '@mui/material/StepConnector';\r\n\r\nimport formModel from '../../../../../../validation/get-quote/homeowners/formModel';\r\nimport initialValues from '../../../../../../validation/get-quote/homeowners/initialValues';\r\nimport validationSchema from '../../../../../../validation/get-quote/homeowners/validationSchema';\r\nimport PropertyDetails from './PropertyDetails';\r\nimport QuotationDetails from './QuotationDetails';\r\nimport ContactDetails from './ContactDetails';\r\nimport QuoteSuccess from '../QuoteSuccess';\r\nimport RecaptchaField from '../../../../../../components/recaptcha/RecaptchaField';\r\n\r\n// #endregion\r\n\r\n// #region Imports\r\n\r\nconst ButtonContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst RecaptchaText = styled(Typography)(({ theme }) => ({\r\n fontSize: '13px',\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QontoConnector = styled(StepConnector)(({ theme }) => ({\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: {\r\n top: 10,\r\n left: 'calc(-50% + 16px)',\r\n right: 'calc(50% + 16px)',\r\n },\r\n [`&.${stepConnectorClasses.active}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`&.${stepConnectorClasses.completed}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: theme.palette.mode === 'dark' ? theme.palette.grey[800] : '#bcbcc4',\r\n borderTopWidth: 3,\r\n borderRadius: 1,\r\n },\r\n}));\r\n\r\nconst QontoStepIconRoot = styled('div')(({ theme, ownerState }) => ({\r\n color: theme.palette.mode === 'dark' ? theme.palette.grey[700] : '#bcbcc4',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center',\r\n ...(ownerState.active && {\r\n color: '#D7412E',\r\n }),\r\n '& .QontoStepIcon-completedIcon': {\r\n color: '#D7412E',\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n '& .QontoStepIcon-circle': {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor',\r\n },\r\n}));\r\n\r\nfunction QontoStepIcon(props) {\r\n const { active, completed, className } = props;\r\n\r\n return (\r\n \r\n {completed ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n * @default false\r\n */\r\n active: PropTypes.bool,\r\n className: PropTypes.string,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n * @default false\r\n */\r\n completed: PropTypes.bool,\r\n};\r\n\r\n// #endregion\r\n\r\nconst steps = ['Property Details', 'Quotation Details', 'Contact Details'];\r\n\r\nconst HomeownersWizard = () => {\r\n const [formLoading, setFormLoading] = useState(false);\r\n const [formMessage, setFormMessage] = useState(null);\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [skipQuote, setSkipQuote] = useState(false);\r\n const [conditionValue, setConditionValue] = useState(false);\r\n const [conditionMessage, setConditionMessage] = useState(null);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const currentValidationSchema = validationSchema[activeStep];\r\n const isLastStep = activeStep === steps.length - 1;\r\n const fieldRef = useRef(null);\r\n const recaptchaRef = useRef();\r\n\r\n async function _submitForm(values, actions) {\r\n const token = await recaptchaRef.current.executeAsync();\r\n values['token'] = token;\r\n\r\n var result = await AxiosRequest.post('/api/getquote/homeowners', values);\r\n\r\n setFormLoading(false);\r\n\r\n if ('isSuccessful' in result && !result['isSuccessful']) {\r\n setFormMessage(result['message']);\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n return false;\r\n }\r\n\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n\r\n setActiveStep(activeStep + 1);\r\n setActiveValidation(false);\r\n }\r\n\r\n async function _handleSubmit(values, actions) {\r\n if (isLastStep) {\r\n if (conditionValue) {\r\n setFormLoading(true);\r\n _submitForm(values, actions);\r\n }\r\n } else {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n\r\n if (activeStep + 1 === 1) {\r\n var referral_result = await AxiosRequest.post('/api/getquote', {\r\n lat: parseFloat(values['gpsCoordinates'].split(',')[0]),\r\n lng: parseFloat(values['gpsCoordinates'].split(',')[1]),\r\n });\r\n actions.setFieldValue('referralArea', referral_result.toString());\r\n\r\n var premium_result = await AxiosRequest.get(\r\n `/api/getquote/${values['sumInsredAmount']}/${values['propertyQuestion5']}`\r\n );\r\n\r\n actions.setFieldValue(\r\n 'broadformHomeownersValue',\r\n premium_result['homeownersValue'].toString()\r\n );\r\n actions.setFieldValue(\r\n 'broadformBuildingValue',\r\n premium_result['buildingsValue'].toString()\r\n );\r\n\r\n if (\r\n referral_result ||\r\n values['propertyQuestion1'].toLowerCase() === 'no' ||\r\n values['propertyQuestion2'].toLowerCase() === 'yes' ||\r\n values['propertyQuestion3'].toLowerCase() === 'yes' ||\r\n values['propertyQuestion4'].toLowerCase() === 'yes'\r\n ) {\r\n setSkipQuote(true);\r\n setActiveStep(2);\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n return;\r\n }\r\n }\r\n\r\n if (activeStep + 1 === 2) {\r\n if (activeValidation && !conditionValue) {\r\n setConditionMessage('*Please check the terms and conditions');\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n }\r\n }\r\n\r\n setSkipQuote(false);\r\n setActiveStep(activeStep + 1);\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n }\r\n }\r\n\r\n function _handleBack() {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n\r\n if (activeStep - 1 === 1 && skipQuote) {\r\n setActiveStep(0);\r\n return;\r\n }\r\n\r\n setActiveStep(activeStep - 1);\r\n }\r\n\r\n const _renderStepContent = (step, rest) => {\r\n switch (step) {\r\n case 0:\r\n return ;\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n {\r\n if (activeValidation && !event.target.checked) {\r\n setConditionMessage('*Please check the terms and conditions');\r\n } else {\r\n setConditionMessage(null);\r\n }\r\n\r\n setConditionValue(event.target.checked);\r\n }}\r\n conditionMessage={conditionMessage}\r\n />\r\n );\r\n default:\r\n return
Not Found
;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n }\r\n ref={fieldRef}\r\n >\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n \r\n {activeStep === steps.length ? (\r\n \r\n ) : (\r\n \r\n {({ isSubmitting, ...rest }) => (\r\n
\r\n \r\n\r\n {formMessage && (\r\n \r\n {formMessage}\r\n \r\n )}\r\n\r\n {_renderStepContent(\r\n activeStep,\r\n rest,\r\n _handleBack,\r\n _handleSubmit\r\n )}\r\n\r\n \r\n This site is protected by reCAPTCHA and the{' '}\r\n \r\n Google Privacy Policy\r\n {' '}\r\n and{' '}\r\n \r\n Terms of Service\r\n {' '}\r\n apply.\r\n \r\n\r\n \r\n {activeStep !== 0 && (\r\n \r\n Back\r\n \r\n )}\r\n
\r\n {\r\n setActiveValidation(true);\r\n\r\n if (activeStep === 2 && !conditionValue) {\r\n setConditionMessage(\r\n '*Please check the terms and conditions'\r\n );\r\n }\r\n }}\r\n >\r\n {isSubmitting || formLoading ? (\r\n \r\n ) : isLastStep ? (\r\n 'Submit'\r\n ) : (\r\n 'Next'\r\n )}\r\n \r\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 HomeownersWizard;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, FormControl, Grid, InputLabel, MenuItem, Select, Typography } from '@mui/material';\r\nimport GoogleSearchField from '../../../../../../components/forms/form-fields/GoogleSearchField';\r\nimport formModel from '../../../../../../validation/get-quote/community/formModel';\r\nimport RangeInput from '../../../../../../components/forms/form-fields/RangeInput';\r\nimport InputField from '../../../../../../components/forms/form-fields/InputField';\r\n\r\nconst PropertyDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst QuestionContainer = styled('div')(({ theme }) => ({\r\n minHeight: '60px',\r\n}));\r\n\r\nconst QuestionBtn = styled(Button)(({ theme }) => ({\r\n borderRadius: '5px',\r\n fontWeight: 600,\r\n margin: '5px',\r\n maxHeight: '40px',\r\n color: '#474747',\r\n border: '1px solid #D7412E',\r\n '&.active': {\r\n backgroundColor: '#D7412E',\r\n color: '#FFFFFF',\r\n },\r\n}));\r\n\r\nconst PropertyDetails = (props) => {\r\n const {\r\n propertyLocation,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n buildingOccupation,\r\n complexName,\r\n numberOfUnits,\r\n roofConstruction,\r\n wallConstruction,\r\n } = formModel;\r\n\r\n const { formikProps, activeValidation } = props;\r\n\r\n const questionArray = [\r\n {\r\n item: propertyQuestion1,\r\n },\r\n ];\r\n\r\n const handleLocation = async (locationData) => {\r\n var address = locationData['address_components'];\r\n var zipcode = address[address.length - 1]['long_name'];\r\n\r\n formikProps.setFieldValue('postalCode', zipcode);\r\n formikProps.setFieldValue(\r\n 'gpsCoordinates',\r\n `${locationData['geometry']['location'].lat()},${locationData['geometry'][\r\n 'location'\r\n ].lng()}`\r\n );\r\n };\r\n\r\n const handleValueChange = async (value) => {\r\n formikProps.setFieldValue('sumInsredAmount', value);\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 \r\n \r\n \r\n {buildingOccupation['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'buildingOccupation',\r\n event.target.value\r\n )\r\n }\r\n >\r\n Residential Only\r\n Commercial Only\r\n \r\n Mixed Residential and Commercial\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {roofConstruction['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'roofConstruction',\r\n event.target.value\r\n )\r\n }\r\n >\r\n \r\n Standard (Tiles / IBR / Concrete)\r\n \r\n Thatch\r\n Reed\r\n Wood\r\n Shingles\r\n Slate\r\n Asbestos\r\n \r\n \r\n \r\n \r\n \r\n \r\n {wallConstruction['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'wallConstruction',\r\n event.target.value\r\n )\r\n }\r\n >\r\n \r\n Standard (Brick / Concrete)\r\n \r\n Wood\r\n Nutech\r\n \r\n Rammed Earth Walls\r\n \r\n Asbestos\r\n \r\n \r\n \r\n \r\n\r\n {activeValidation && !formikProps['values']['propertyQuestion1'] && (\r\n \r\n *Please select all options below\r\n \r\n )}\r\n\r\n \r\n Please confirm the following with regards to the property:\r\n \r\n\r\n {questionArray.map((question, index) => (\r\n \r\n \r\n \r\n \r\n {question['item']['label']}\r\n \r\n \r\n \r\n {\r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'Yes'\r\n );\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'No'\r\n )\r\n }\r\n >\r\n No\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 PropertyDetails;\r\n","import React, { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport {\r\n Button,\r\n Checkbox,\r\n FormControl,\r\n FormControlLabel,\r\n FormGroup,\r\n Grid,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Typography,\r\n} from '@mui/material';\r\nimport formModel from '../../../../../../validation/get-quote/community/formModel';\r\nimport InputField from '../../../../../../components/forms/form-fields/InputField';\r\n\r\nconst ContactDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst ContactDetails = (props) => {\r\n const location = useLocation();\r\n\r\n const { contactPerson, contactNumber, email, yourBroker, preferredBranch } = formModel;\r\n\r\n const { formikProps } = props;\r\n\r\n useEffect(() => {\r\n const urlParams = new URLSearchParams(location.search);\r\n const key = urlParams.get('brokername');\r\n\r\n if (key) {\r\n formikProps.setFieldValue('yourBroker', key);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Please provide your contact details below and one of our friendly staff\r\n members will contact you shortly.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {preferredBranch['label']}\r\n \r\n \r\n formikProps.setFieldValue('preferredBranch', event.target.value)\r\n }\r\n >\r\n Johannesburg\r\n Pretoria\r\n Durban\r\n Bloemfontein\r\n Port Elizabeth\r\n Cape Town\r\n Garden Route \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ContactDetails;\r\n","// #region Imports\r\n\r\nimport React, { Fragment, useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Form, Formik } from 'formik';\r\nimport AxiosRequest from '../../../../../../utils/axios/AxiosRequest';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Link,\r\n Step,\r\n StepLabel,\r\n Stepper,\r\n Typography,\r\n} from '@mui/material';\r\nimport Check from '@mui/icons-material/Check';\r\nimport StepConnector, { stepConnectorClasses } from '@mui/material/StepConnector';\r\n\r\nimport formModel from '../../../../../../validation/get-quote/community/formModel';\r\nimport initialValues from '../../../../../../validation/get-quote/community/initialValues';\r\nimport validationSchema from '../../../../../../validation/get-quote/community/validationSchema';\r\nimport PropertyDetails from './PropertyDetails';\r\nimport ContactDetails from './ContactDetails';\r\nimport QuoteSuccess from '../QuoteSuccess';\r\nimport RecaptchaField from '../../../../../../components/recaptcha/RecaptchaField';\r\n\r\n// #endregion\r\n\r\n// #region Imports\r\n\r\nconst ButtonContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst RecaptchaText = styled(Typography)(({ theme }) => ({\r\n fontSize: '13px',\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QontoConnector = styled(StepConnector)(({ theme }) => ({\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: {\r\n top: 10,\r\n left: 'calc(-50% + 16px)',\r\n right: 'calc(50% + 16px)',\r\n },\r\n [`&.${stepConnectorClasses.active}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`&.${stepConnectorClasses.completed}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: theme.palette.mode === 'dark' ? theme.palette.grey[800] : '#bcbcc4',\r\n borderTopWidth: 3,\r\n borderRadius: 1,\r\n },\r\n}));\r\n\r\nconst QontoStepIconRoot = styled('div')(({ theme, ownerState }) => ({\r\n color: theme.palette.mode === 'dark' ? theme.palette.grey[700] : '#bcbcc4',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center',\r\n ...(ownerState.active && {\r\n color: '#D7412E',\r\n }),\r\n '& .QontoStepIcon-completedIcon': {\r\n color: '#D7412E',\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n '& .QontoStepIcon-circle': {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor',\r\n },\r\n}));\r\n\r\nfunction QontoStepIcon(props) {\r\n const { active, completed, className } = props;\r\n\r\n return (\r\n \r\n {completed ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n * @default false\r\n */\r\n active: PropTypes.bool,\r\n className: PropTypes.string,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n * @default false\r\n */\r\n completed: PropTypes.bool,\r\n};\r\n\r\n// #endregion\r\n\r\nconst steps = ['Property Details', 'Contact Details'];\r\n\r\nconst CommunityWizard = () => {\r\n const [formLoading, setFormLoading] = useState(false);\r\n const [formMessage, setFormMessage] = useState(null);\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const currentValidationSchema = validationSchema[activeStep];\r\n const isLastStep = activeStep === steps.length - 1;\r\n const fieldRef = useRef(null);\r\n const recaptchaRef = useRef();\r\n\r\n async function _submitForm(values, actions) {\r\n const token = await recaptchaRef.current.executeAsync();\r\n values['token'] = token;\r\n\r\n var result = await AxiosRequest.post('/api/getquote/community', values);\r\n\r\n console.log(result);\r\n\r\n setFormLoading(false);\r\n\r\n if ('isSuccessful' in result && !result['isSuccessful']) {\r\n setFormMessage(result['message']);\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n return false;\r\n }\r\n\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n\r\n setActiveStep(activeStep + 1);\r\n setActiveValidation(false);\r\n }\r\n\r\n async function _handleSubmit(values, actions) {\r\n if (isLastStep) {\r\n setFormLoading(true);\r\n _submitForm(values, actions);\r\n } else {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n\r\n setActiveStep(activeStep + 1);\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n }\r\n }\r\n\r\n function _handleBack() {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n setActiveStep(activeStep - 1);\r\n }\r\n\r\n const _renderStepContent = (step, rest) => {\r\n switch (step) {\r\n case 0:\r\n return ;\r\n case 1:\r\n return ;\r\n default:\r\n return
Not Found
;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n }\r\n ref={fieldRef}\r\n >\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n \r\n {activeStep === steps.length ? (\r\n \r\n ) : (\r\n \r\n {({ isSubmitting, ...rest }) => (\r\n
\r\n \r\n\r\n {formMessage && (\r\n \r\n {formMessage}\r\n \r\n )}\r\n\r\n {_renderStepContent(\r\n activeStep,\r\n rest,\r\n _handleBack,\r\n _handleSubmit\r\n )}\r\n\r\n \r\n This site is protected by reCAPTCHA and the{' '}\r\n \r\n Google Privacy Policy\r\n {' '}\r\n and{' '}\r\n \r\n Terms of Service\r\n {' '}\r\n apply.\r\n \r\n\r\n \r\n {activeStep !== 0 && (\r\n \r\n Back\r\n \r\n )}\r\n
\r\n {\r\n setActiveValidation(true);\r\n }}\r\n >\r\n {isSubmitting || formLoading ? (\r\n \r\n ) : isLastStep ? (\r\n 'Submit'\r\n ) : (\r\n 'Next'\r\n )}\r\n \r\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 CommunityWizard;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, FormControl, Grid, InputLabel, MenuItem, Select, Typography } from '@mui/material';\r\nimport GoogleSearchField from '../../../../../../components/forms/form-fields/GoogleSearchField';\r\nimport formModel from '../../../../../../validation/get-quote/commercial/formModel';\r\nimport RangeInput from '../../../../../../components/forms/form-fields/RangeInput';\r\nimport InputField from '../../../../../../components/forms/form-fields/InputField';\r\n\r\nconst PropertyDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst QuestionContainer = styled('div')(({ theme }) => ({\r\n minHeight: '60px',\r\n}));\r\n\r\nconst QuestionBtn = styled(Button)(({ theme }) => ({\r\n borderRadius: '5px',\r\n fontWeight: 600,\r\n margin: '5px',\r\n maxHeight: '40px',\r\n color: '#474747',\r\n border: '1px solid #D7412E',\r\n '&.active': {\r\n backgroundColor: '#D7412E',\r\n color: '#FFFFFF',\r\n },\r\n}));\r\n\r\nconst PropertyDetails = (props) => {\r\n const {\r\n propertyLocation,\r\n sumInsredAmount,\r\n propertyQuestion1,\r\n buildingOccupation,\r\n insured,\r\n roofConstruction,\r\n wallConstruction,\r\n } = formModel;\r\n\r\n const { formikProps, activeValidation } = props;\r\n\r\n const questionArray = [\r\n {\r\n item: propertyQuestion1,\r\n },\r\n ];\r\n\r\n const handleLocation = async (locationData) => {\r\n var address = locationData['address_components'];\r\n var zipcode = address[address.length - 1]['long_name'];\r\n\r\n formikProps.setFieldValue('postalCode', zipcode);\r\n formikProps.setFieldValue(\r\n 'gpsCoordinates',\r\n `${locationData['geometry']['location'].lat()},${locationData['geometry'][\r\n 'location'\r\n ].lng()}`\r\n );\r\n };\r\n\r\n const handleValueChange = async (value) => {\r\n formikProps.setFieldValue('sumInsredAmount', value);\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 \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {roofConstruction['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'roofConstruction',\r\n event.target.value\r\n )\r\n }\r\n >\r\n \r\n Standard (Tiles / IBR / Concrete)\r\n \r\n Thatch\r\n Reed\r\n Wood\r\n Shingles\r\n Slate\r\n Asbestos\r\n \r\n \r\n \r\n \r\n \r\n \r\n {wallConstruction['label']}\r\n \r\n \r\n formikProps.setFieldValue(\r\n 'wallConstruction',\r\n event.target.value\r\n )\r\n }\r\n >\r\n \r\n Standard (Brick / Concrete)\r\n \r\n Wood\r\n Nutech\r\n \r\n Rammed Earth Walls\r\n \r\n Asbestos\r\n \r\n \r\n \r\n \r\n\r\n {activeValidation && !formikProps['values']['propertyQuestion1'] && (\r\n \r\n *Please select all options below\r\n \r\n )}\r\n\r\n \r\n Please confirm the following with regards to the property:\r\n \r\n\r\n {questionArray.map((question, index) => (\r\n \r\n \r\n \r\n \r\n {question['item']['label']}\r\n \r\n \r\n \r\n {\r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'Yes'\r\n );\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n formikProps.setFieldValue(\r\n question['item']['name'],\r\n 'No'\r\n )\r\n }\r\n >\r\n No\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 PropertyDetails;\r\n","import React, { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport {\r\n Button,\r\n Checkbox,\r\n FormControl,\r\n FormControlLabel,\r\n FormGroup,\r\n Grid,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Typography,\r\n} from '@mui/material';\r\nimport formModel from '../../../../../../validation/get-quote/commercial/formModel';\r\nimport InputField from '../../../../../../components/forms/form-fields/InputField';\r\n\r\nconst ContactDetailsRoot = styled('div')(({ theme }) => ({\r\n padding: '20px 0',\r\n}));\r\n\r\nconst ContactDetails = (props) => {\r\n const location = useLocation();\r\n\r\n const { contactPerson, contactNumber, email, yourBroker, preferredBranch } = formModel;\r\n\r\n const { formikProps } = props;\r\n\r\n useEffect(() => {\r\n const urlParams = new URLSearchParams(location.search);\r\n const key = urlParams.get('brokername');\r\n\r\n if (key) {\r\n formikProps.setFieldValue('yourBroker', key);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Please provide your contact details below and one of our friendly staff\r\n members will contact you shortly.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {preferredBranch['label']}\r\n \r\n \r\n formikProps.setFieldValue('preferredBranch', event.target.value)\r\n }\r\n >\r\n Johannesburg\r\n Pretoria\r\n Durban\r\n Bloemfontein\r\n Port Elizabeth\r\n Cape Town\r\n Garden Route\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ContactDetails;\r\n","// #region Imports\r\n\r\nimport React, { Fragment, useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Form, Formik } from 'formik';\r\nimport AxiosRequest from '../../../../../../utils/axios/AxiosRequest';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Link,\r\n Step,\r\n StepLabel,\r\n Stepper,\r\n Typography,\r\n} from '@mui/material';\r\nimport Check from '@mui/icons-material/Check';\r\nimport StepConnector, { stepConnectorClasses } from '@mui/material/StepConnector';\r\n\r\nimport formModel from '../../../../../../validation/get-quote/commercial/formModel';\r\nimport initialValues from '../../../../../../validation/get-quote/commercial/initialValues';\r\nimport validationSchema from '../../../../../../validation/get-quote/commercial/validationSchema';\r\nimport PropertyDetails from './PropertyDetails';\r\nimport ContactDetails from './ContactDetails';\r\nimport QuoteSuccess from '../QuoteSuccess';\r\nimport RecaptchaField from '../../../../../../components/recaptcha/RecaptchaField';\r\n\r\n// #endregion\r\n\r\n// #region Imports\r\n\r\nconst ButtonContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst RecaptchaText = styled(Typography)(({ theme }) => ({\r\n fontSize: '13px',\r\n marginTop: '20px',\r\n}));\r\n\r\nconst QontoConnector = styled(StepConnector)(({ theme }) => ({\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: {\r\n top: 10,\r\n left: 'calc(-50% + 16px)',\r\n right: 'calc(50% + 16px)',\r\n },\r\n [`&.${stepConnectorClasses.active}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`&.${stepConnectorClasses.completed}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: '#D7412E',\r\n },\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: theme.palette.mode === 'dark' ? theme.palette.grey[800] : '#bcbcc4',\r\n borderTopWidth: 3,\r\n borderRadius: 1,\r\n },\r\n}));\r\n\r\nconst QontoStepIconRoot = styled('div')(({ theme, ownerState }) => ({\r\n color: theme.palette.mode === 'dark' ? theme.palette.grey[700] : '#bcbcc4',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center',\r\n ...(ownerState.active && {\r\n color: '#D7412E',\r\n }),\r\n '& .QontoStepIcon-completedIcon': {\r\n color: '#D7412E',\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n '& .QontoStepIcon-circle': {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor',\r\n },\r\n}));\r\n\r\nfunction QontoStepIcon(props) {\r\n const { active, completed, className } = props;\r\n\r\n return (\r\n \r\n {completed ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n * @default false\r\n */\r\n active: PropTypes.bool,\r\n className: PropTypes.string,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n * @default false\r\n */\r\n completed: PropTypes.bool,\r\n};\r\n\r\n// #endregion\r\n\r\nconst steps = ['Property Details', 'Contact Details'];\r\n\r\nconst CommercialWizard = () => {\r\n const [formLoading, setFormLoading] = useState(false);\r\n const [formMessage, setFormMessage] = useState(null);\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const currentValidationSchema = validationSchema[activeStep];\r\n const isLastStep = activeStep === steps.length - 1;\r\n const fieldRef = useRef(null);\r\n const recaptchaRef = useRef();\r\n\r\n async function _submitForm(values, actions) {\r\n const token = await recaptchaRef.current.executeAsync();\r\n values['token'] = token;\r\n\r\n var result = await AxiosRequest.post('/api/getquote/commercial', values);\r\n\r\n console.log(result);\r\n\r\n setFormLoading(false);\r\n\r\n if ('isSuccessful' in result && !result['isSuccessful']) {\r\n setFormMessage(result['message']);\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n return false;\r\n }\r\n\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n actions.setSubmitting(false);\r\n\r\n setActiveStep(activeStep + 1);\r\n setActiveValidation(false);\r\n }\r\n\r\n async function _handleSubmit(values, actions) {\r\n if (isLastStep) {\r\n setFormLoading(true);\r\n _submitForm(values, actions);\r\n } else {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n\r\n setActiveStep(activeStep + 1);\r\n actions.setSubmitting(false);\r\n actions.setTouched({});\r\n }\r\n }\r\n\r\n function _handleBack() {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 100);\r\n setActiveStep(activeStep - 1);\r\n }\r\n\r\n const _renderStepContent = (step, rest) => {\r\n switch (step) {\r\n case 0:\r\n return ;\r\n case 1:\r\n return ;\r\n default:\r\n return
Not Found
;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n }\r\n ref={fieldRef}\r\n >\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n \r\n {activeStep === steps.length ? (\r\n \r\n ) : (\r\n \r\n {({ isSubmitting, ...rest }) => (\r\n
\r\n \r\n\r\n {formMessage && (\r\n \r\n {formMessage}\r\n \r\n )}\r\n\r\n {_renderStepContent(\r\n activeStep,\r\n rest,\r\n _handleBack,\r\n _handleSubmit\r\n )}\r\n\r\n \r\n This site is protected by reCAPTCHA and the{' '}\r\n \r\n Google Privacy Policy\r\n {' '}\r\n and{' '}\r\n \r\n Terms of Service\r\n {' '}\r\n apply.\r\n \r\n\r\n \r\n {activeStep !== 0 && (\r\n \r\n Back\r\n \r\n )}\r\n
\r\n {\r\n setActiveValidation(true);\r\n }}\r\n >\r\n {isSubmitting || formLoading ? (\r\n \r\n ) : isLastStep ? (\r\n 'Submit'\r\n ) : (\r\n 'Next'\r\n )}\r\n \r\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 CommercialWizard;\r\n","// #region Imports\r\n\r\nimport React, { useState } from 'react';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport {\r\n Box,\r\n Container,\r\n FormControl,\r\n Hidden,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Tab,\r\n} from '@mui/material';\r\nimport { TabContext, TabList, TabPanel } from '@mui/lab';\r\nimport FidelityCover from './quote-wizard/fidelity/FidelityCover';\r\nimport HomeownersWizard from './quote-wizard/homeowners/HomeownersWizard';\r\nimport CommunityWizard from './quote-wizard/community/CommunityWizard';\r\nimport CommercialWizard from './quote-wizard/commercial/CommercialWizard';\r\n\r\n// #endregion\r\n\r\n// #region Styles\r\n\r\nconst GetQuoteWizardRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst WizardTabList = styled(TabList)(({ theme }) => ({\r\n '& .MuiTabs-indicator': {},\r\n}));\r\n\r\nconst WizardTab = styled(Tab)(({ theme }) => ({\r\n textTransform: 'capitalize',\r\n fontSize: '17px',\r\n fontWeight: '600',\r\n color: '#586069',\r\n borderRadius: '5px',\r\n '&.Mui-selected': {\r\n backgroundColor: '#F5F5F5',\r\n },\r\n}));\r\n\r\nconst WizardTabPanel = styled(TabPanel)(({ theme }) => ({\r\n padding: '24px 0px',\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '24px 5px',\r\n },\r\n}));\r\n\r\n// #endregion\r\n\r\nconst GetQuoteWizard = () => {\r\n const location = useLocation();\r\n const history = useHistory();\r\n\r\n const [value, setValue] = useState(() => {\r\n switch (location.hash) {\r\n case '#homeowners-insurance':\r\n return '1';\r\n case '#community-insurance':\r\n return '2';\r\n case '#commercial-insurance':\r\n return '3';\r\n case '#fidelity-computer-crime-insurance':\r\n return '4';\r\n default:\r\n return '1';\r\n }\r\n });\r\n\r\n const handleTabsChange = (event, newValue) => {\r\n setValue(newValue);\r\n\r\n switch (newValue) {\r\n case '1':\r\n history.push(\r\n `/embed/get-quote${location.search && location.search}#homeowners-insurance`\r\n );\r\n break;\r\n case '2':\r\n history.push(\r\n `/embed/get-quote${location.search && location.search}#community-insurance`\r\n );\r\n break;\r\n case '3':\r\n history.push(\r\n `/embed/get-quote${location.search && location.search}#commercial-insurance`\r\n );\r\n break;\r\n case '4':\r\n history.push(\r\n `/embed/get-quote${\r\n location.search && location.search\r\n }#fidelity-computer-crime-insurance`\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Choose Cover:\r\n \r\n setValue(event.target.value)}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n >\r\n Homeowners\r\n Community\r\n Commercial\r\n Fidelity & Computer Crime\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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 GetQuoteWizard;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\n\r\nimport Introduction from './components/Introduction';\r\nimport GetQuoteWizard from './components/GetQuoteWizard';\r\n\r\nconst GetQuoteRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst GetQuote = () => {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default GetQuote;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Typography } from '@mui/material';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Introduction = () => {\r\n return (\r\n \r\n \r\n \r\n Need to claim? Start your claim online, contact us for your geyser emergency or\r\n download a claim form and submit it in your own time.\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","export default __webpack_public_path__ + \"static/media/CIA-Fast-Track-Geyser-Claim-Form.aaa2abc2.pdf\";","export default __webpack_public_path__ + \"static/media/CIA-Claim-Form.8c4da273.pdf\";","export default __webpack_public_path__ + \"static/media/CIA-Fidelity-Computer-Crime-Claim-Form.aab9754f.pdf\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Container, Grid, Link, Typography } from '@mui/material';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPhoneSquareAlt, faEnvelopeSquare, faFilePdf } from '@fortawesome/free-solid-svg-icons';\r\nimport { faWhatsappSquare } from '@fortawesome/free-brands-svg-icons';\r\n\r\nimport GeyserClaimForm from '../../../assets/documents/CIA-Fast-Track-Geyser-Claim-Form.pdf';\r\nimport GeneralClaimForm from '../../../assets/documents/CIA-Claim-Form.pdf';\r\nimport FidelityClaimForm from '../../../assets/documents/CIA-Fidelity-Computer-Crime-Claim-Form.pdf';\r\n\r\nconst CardsRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst CardContainer = styled(Grid)(({ theme }) => ({\r\n border: '1px solid #999',\r\n borderRadius: '5px',\r\n padding: '20px 20px 40px',\r\n minHeight: '360px',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n [theme.breakpoints.down('lg')]: {\r\n height: '410px',\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n margin: '0 30px',\r\n },\r\n}));\r\n\r\nconst CardList = styled('ul')(({ theme }) => ({\r\n padding: '0 0 0 30px',\r\n}));\r\n\r\nconst CardListItem = styled('li')(({ theme }) => ({\r\n margin: '4px 0',\r\n}));\r\n\r\nconst CardButtons = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n marginTop: 'auto',\r\n [theme.breakpoints.down('lg')]: {\r\n flexDirection: 'column',\r\n },\r\n // margin: '0 auto',\r\n}));\r\n\r\nconst CardButton = styled(Button)(({ theme }) => ({\r\n margin: '0 auto',\r\n [theme.breakpoints.down('lg')]: {\r\n margin: '10px auto',\r\n },\r\n}));\r\n\r\nconst CardIconContainer = styled(Typography)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: '3px 0',\r\n}));\r\n\r\nconst CardIcon = styled(FontAwesomeIcon)(({ theme }) => ({\r\n fontSize: '30px',\r\n marginRight: '10px',\r\n}));\r\n\r\nconst Cards = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Claim Online\r\n \r\n Submit a claim now with our quick and easy online process.\r\n \r\n\r\n Please have the following ready:\r\n\r\n \r\n Your policy number\r\n Details of the incident\r\n \r\n Supporting documents e.g. quotes, invoices\r\n \r\n \r\n\r\n \r\n \r\n window.open(`https://online.cia.co.za/GrailWeb`, `_blank`)\r\n }\r\n >\r\n Start Online Claim\r\n \r\n\r\n history.push('/track-a-claim')}\r\n >\r\n Track Your Claim\r\n \r\n \r\n \r\n \r\n \r\n \r\n Geyser Emergencies\r\n \r\n Give us a call 24/7 and one of our advisors will ensure that you\r\n receive prompt assistance.\r\n \r\n\r\n \r\n \r\n 0861 242 911\r\n \r\n\r\n \r\n \r\n 066 586 7763\r\n \r\n\r\n \r\n \r\n assist@cia.co.za\r\n \r\n\r\n \r\n history.push('/request-a-call-back')}\r\n >\r\n Request a Call Back\r\n \r\n \r\n \r\n \r\n \r\n \r\n Claim Form Downloads\r\n \r\n Download a claim form below and submit it in your own time with all\r\n your supporting documentation.\r\n \r\n\r\n \r\n \r\n \r\n Fast Track Geyser Claim Form\r\n \r\n \r\n\r\n \r\n \r\n \r\n General Claim Form\r\n \r\n \r\n \r\n \r\n \r\n Fidelity Claim Form\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Cards;\r\n","export default __webpack_public_path__ + \"static/media/smartphone.fee7767b.svg\";","export default __webpack_public_path__ + \"static/media/home-repair.4433fc9d.svg\";","export default __webpack_public_path__ + \"static/media/camera.c94f81c2.svg\";","export default __webpack_public_path__ + \"static/media/police-badge.ccac2948.svg\";","export default __webpack_public_path__ + \"static/media/email.e1ca3a72.svg\";","export default __webpack_public_path__ + \"static/media/approval.8b841bf1.svg\";","export default __webpack_public_path__ + \"static/media/solidarity.aae29920.svg\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Grid, Typography } from '@mui/material';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\n\r\n// Icons\r\nimport SmartphoneIcon from '../../../assets/images/icons/smartphone.svg';\r\nimport HomeRepairIcon from '../../../assets/images/icons/home-repair.svg';\r\nimport CameraIcon from '../../../assets/images/icons/camera.svg';\r\nimport PoliceBadgeIcon from '../../../assets/images/icons/police-badge.svg';\r\nimport EmailIcon from '../../../assets/images/icons/email.svg';\r\nimport ApprovalIcon from '../../../assets/images/icons/approval.svg';\r\nimport SolidarityICon from '../../../assets/images/icons/solidarity.svg';\r\n\r\nconst ClaimStepsRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst ClaimStepsIntro = styled('div')(({ theme }) => ({\r\n textAlign: 'center',\r\n paddingBottom: '16px',\r\n}));\r\n\r\nconst IconContainer = styled('div')(({ theme }) => ({\r\n backgroundColor: '#D7412E',\r\n height: '78px',\r\n width: '78px',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n margin: '0 auto',\r\n borderRadius: '100%',\r\n}));\r\n\r\nconst StepIcon = styled('img')(({ theme }) => ({\r\n height: '45px',\r\n width: '45px',\r\n filter: 'invert(99%) sepia(0%) saturate(7500%) hue-rotate(231deg) brightness(102%) contrast(100%)',\r\n}));\r\n\r\nconst claimSteps_array = [\r\n {\r\n title: 'Step 1',\r\n text: `If possible, try to minimise any further damage such as turning off the water mains or phoning the fire brigade.`,\r\n icon: SmartphoneIcon,\r\n },\r\n {\r\n title: 'Step 2',\r\n text: `Where necessary, effect any emergency or temporary repairs to prevent further injury, loss or damage.`,\r\n icon: HomeRepairIcon,\r\n },\r\n {\r\n title: 'Step 3',\r\n text: `Take photos of all the damage and any emergency repairs undertaken. Please keep all the damaged or replaced items.`,\r\n icon: CameraIcon,\r\n },\r\n {\r\n title: 'Step 4',\r\n text: `If the damage or loss was caused by theft, attempted theft, malicious damage, violent disorder, riots, or civil commotion, report the matter police as soon as possible and obtain a police case reference number.`,\r\n icon: PoliceBadgeIcon,\r\n },\r\n {\r\n title: 'Step 5',\r\n text: `Notify us of your claim as soon as reasonably possible after the event (online or submitting a claim form), but not later than 31 days.`,\r\n icon: EmailIcon,\r\n },\r\n {\r\n title: 'Step 6',\r\n text: `Please send us the documentation you’ve obtained such as repair quotations, damage report detailing the cause of the loss or damage as well as photos and further information requested.`,\r\n icon: ApprovalIcon,\r\n },\r\n];\r\n\r\nconst ClaimSteps = (props) => {\r\n const { fieldRef } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Don't panic! This is why you have insurance - take a deep breath and follow\r\n these steps.\r\n \r\n \r\n\r\n \r\n \r\n {claimSteps_array.map((item, index) => (\r\n \r\n \r\n \r\n \r\n\r\n \r\n {item['title']}\r\n \r\n\r\n {item['text']}\r\n \r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n Step 7\r\n \r\n\r\n Let us take care of the rest.\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ClaimSteps;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Fade } from '@mui/material';\r\nimport Introduction from './components/Introduction';\r\nimport Cards from './components/Cards';\r\nimport ClaimSteps from './components/ClaimSteps';\r\n\r\nconst ClaimRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst Claim = () => {\r\n const fieldRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (window.location.hash === '#claim-steps' && fieldRef.current) {\r\n window.scrollTo(0, fieldRef.current.offsetTop - 50);\r\n }\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 \r\n );\r\n};\r\n\r\nexport default Claim;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport SectionTitle from '../../../components/SectionTitle';\r\nimport { Typography } from '@mui/material';\r\n\r\nconst IntroductionRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#F8F9FA',\r\n padding: '50px 0',\r\n textAlign: 'center',\r\n}));\r\n\r\nconst Introduction = () => {\r\n return (\r\n \r\n \r\n \r\n Please provide us with your details so we can get in touch.\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Introduction;\r\n","const formModel = {\r\n propertyLocation: {\r\n name: 'propertyLocation',\r\n label: 'Enter Property Location*',\r\n requiredErrorMsg: 'Property Location is required',\r\n },\r\n email: {\r\n name: 'email',\r\n label: 'Email*',\r\n requiredErrorMsg: 'Email is required',\r\n },\r\n name: {\r\n name: 'name',\r\n label: 'Name*',\r\n requiredErrorMsg: 'Name is required',\r\n },\r\n contactNumber: {\r\n name: 'contactNumber',\r\n label: 'Contact Number*',\r\n requiredErrorMsg: 'Contact Number is required',\r\n },\r\n alternativeContactNumber: {\r\n name: 'alternativeContactNumber',\r\n label: 'Alternative Contact Number',\r\n requiredErrorMsg: null,\r\n },\r\n policyNumber: {\r\n name: 'policyNumber',\r\n label: 'Policy Number*',\r\n requiredErrorMsg: 'Policy Number is required',\r\n },\r\n nameOfInsured: {\r\n name: 'nameOfInsured',\r\n label: 'Name of insured/Complex*',\r\n requiredErrorMsg: 'Insured/complex namme is required',\r\n },\r\n unitNumber: {\r\n name: 'unitNumber',\r\n label: 'Unit Number',\r\n requiredErrorMsg: null,\r\n },\r\n comments: {\r\n name: 'comments',\r\n label: 'Comments',\r\n requiredErrorMsg: null,\r\n },\r\n};\r\n\r\nexport default formModel;\r\n","import formModel from './formModel';\r\n\r\nconst {\r\n propertyLocation,\r\n email,\r\n name,\r\n contactNumber,\r\n alternativeContactNumber,\r\n policyNumber,\r\n nameOfInsured,\r\n unitNumber,\r\n comments,\r\n} = formModel;\r\n\r\nconst initialValues = {\r\n [propertyLocation.name]: '',\r\n [email.name]: '',\r\n [name.name]: '',\r\n [contactNumber.name]: '',\r\n [alternativeContactNumber.name]: '',\r\n [policyNumber.name]: '',\r\n [nameOfInsured.name]: '',\r\n [unitNumber.name]: '',\r\n [comments.name]: '',\r\n};\r\n\r\nexport default initialValues;\r\n","import * as Yup from 'yup';\r\nimport formModel from './formModel';\r\n\r\nconst {\r\n propertyLocation,\r\n email,\r\n name,\r\n contactNumber,\r\n alternativeContactNumber,\r\n policyNumber,\r\n nameOfInsured,\r\n unitNumber,\r\n comments,\r\n} = formModel;\r\n\r\nconst validationSchema = Yup.object().shape({\r\n [propertyLocation.name]: Yup.string().required(`${propertyLocation.requiredErrorMsg}`),\r\n [email.name]: Yup.string()\r\n .email('Incorrect email format')\r\n .required(`${email.requiredErrorMsg}`),\r\n [name.name]: Yup.string().required(`${name.requiredErrorMsg}`),\r\n [contactNumber.name]: Yup.number()\r\n .typeError('This field can only contain numbers.')\r\n .required(`${contactNumber.requiredErrorMsg}`),\r\n [alternativeContactNumber.name]: Yup.number().typeError('This field can only contain numbers.'),\r\n [policyNumber.name]: Yup.string().required(`${policyNumber.requiredErrorMsg}`),\r\n [nameOfInsured.name]: Yup.string().required(`${nameOfInsured.requiredErrorMsg}`),\r\n [unitNumber.name]: Yup.string(),\r\n [comments.name]: Yup.string(),\r\n});\r\n\r\nexport default validationSchema;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Formik, Form } from 'formik';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Container, Grid, Link, Typography } from '@mui/material';\r\nimport CircularProgress from '@mui/material/CircularProgress';\r\nimport initialValues from '../../validation/request-callback/initialValues';\r\nimport validationSchema from '../../validation/request-callback/validationSchema';\r\nimport formModel from '../../validation/request-callback/formModel';\r\nimport AxiosRequest from '../../utils/axios/AxiosRequest';\r\nimport RecaptchaField from '../recaptcha/RecaptchaField';\r\nimport FormMessage from './FormMessage';\r\nimport GoogleSearchField from './form-fields/GoogleSearchField';\r\nimport InputField from './form-fields/InputField';\r\n\r\nconst RequestCallbackFormRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst RequestCallbackFormContainer = styled(Container)(({ theme }) => ({\r\n textAlign: 'center',\r\n}));\r\n\r\nconst RecaptchaText = styled(Typography)(({ theme }) => ({\r\n fontSize: '13px',\r\n marginTop: '20px',\r\n}));\r\n\r\nconst RequestCallbackForm = () => {\r\n const {\r\n propertyLocation,\r\n email,\r\n name,\r\n contactNumber,\r\n alternativeContactNumber,\r\n policyNumber,\r\n nameOfInsured,\r\n unitNumber,\r\n comments,\r\n } = formModel;\r\n\r\n const [activeValidation, setActiveValidation] = useState(false);\r\n const [formResponse, setFormResponse] = useState(null);\r\n const recaptchaRef = useRef();\r\n\r\n const submit = async (values, actions) => {\r\n const token = await recaptchaRef.current.executeAsync();\r\n values['token'] = token;\r\n\r\n var result = await AxiosRequest.post(`api/forms/requestcallback`, values);\r\n\r\n setFormResponse(result);\r\n setActiveValidation(false);\r\n actions.setSubmitting(false);\r\n actions.resetForm();\r\n };\r\n\r\n return (\r\n \r\n \r\n {({ isSubmitting, setFieldValue, values }) => (\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n recaptchaRef.current.reset();\r\n setActiveValidation(true);\r\n }}\r\n >\r\n {isSubmitting ? (\r\n \r\n ) : (\r\n 'Submit'\r\n )}\r\n \r\n \r\n \r\n\r\n \r\n This site is protected by reCAPTCHA and the{' '}\r\n \r\n Google Privacy Policy\r\n {' '}\r\n and{' '}\r\n \r\n Terms of Service\r\n {' '}\r\n apply.\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default RequestCallbackForm;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Fade, Typography } from '@mui/material';\r\nimport { Loader } from '@googlemaps/js-api-loader';\r\nimport Introduction from './components/Introduction';\r\nimport RequestCallbackForm from '../../components/forms/RequestCallbackForm';\r\n\r\nconst RequestCallBackRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst RequestCallBack = () => {\r\n const [ready, setReady] = useState(false);\r\n\r\n useEffect(() => {\r\n // const loader = new Loader({\r\n // apiKey: `AIzaSyCQMQ11q1LQcg7Ps-wYJS6qsKltOxFlQvw`,\r\n // version: 'weekly',\r\n // libraries: ['places', 'drawing', 'geometry'],\r\n // });\r\n // loader.load().then(() => {\r\n // setReady(true);\r\n // });\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};\r\n\r\nexport default RequestCallBack;\r\n","export default __webpack_public_path__ + \"static/media/CIA-Privacy-Policy.6e3bc629.pdf\";","export default __webpack_public_path__ + \"static/media/CIA-Objection-Request-POPI-Form.40cec915.pdf\";","export default __webpack_public_path__ + \"static/media/Promotion-of-Access-to-Information.f3880ce6.pdf\";","export default __webpack_public_path__ + \"static/media/Code-of-Conduct-2022.1a455d9c.pdf\";","export default __webpack_public_path__ + \"static/media/Disclosure-Notice.c10e4ee3.pdf\";","export default __webpack_public_path__ + \"static/media/Treating-Customers-Fairly-Nov-2020.10e16a2c.pdf\";","export default __webpack_public_path__ + \"static/media/Conflict of Interest Management Policy Sept 2024.bf45a8bd.pdf\";","export default __webpack_public_path__ + \"static/media/Complaints-Policy.2a270be9.pdf\";","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Link, Typography } from '@mui/material';\r\nimport CiaPrivacyPolicy from '../assets/documents/legal/CIA-Privacy-Policy.pdf';\r\nimport CIAObjectionRequestPOPIForm from '../assets/documents/legal/CIA-Objection-Request-POPI-Form.pdf';\r\nimport PromotionofAccesstoInformation from '../assets/documents/legal/Promotion-of-Access-to-Information.pdf';\r\nimport CodeofConduct2022 from '../assets/documents/legal/Code-of-Conduct-2022.pdf';\r\nimport DisclosureNotice from '../assets/documents/legal/Disclosure-Notice.pdf';\r\nimport TreatingCustomersFairlyNov2020 from '../assets/documents/legal/Treating-Customers-Fairly-Nov-2020.pdf';\r\nimport ConflictOfInterestManagementPolicySep2024 from '../assets/documents/legal/Conflict of Interest Management Policy Sept 2024.pdf';\r\nimport ComplaintsPolicy from '../assets/documents/legal/Complaints-Policy.pdf';\r\n\r\nconst LegalRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst LegalLink = styled(Link)(({ theme }) => ({\r\n marginBottom: '20px',\r\n}));\r\n\r\nconst LinkContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n}));\r\n\r\nconst Legal = () => {\r\n return (\r\n \r\n \r\n \r\n Legal Page\r\n \r\n\r\n \r\n \r\n CIA Privacy Policy\r\n \r\n \r\n CIA Objection Request POPI Form\r\n \r\n \r\n Promotion of Access to Information Policy\r\n \r\n \r\n Code of Conduct 2022\r\n \r\n \r\n Disclosure Notice\r\n \r\n \r\n Treating Customers Fairly Nov 2020\r\n \r\n \r\n Conflict of Interest Management Policy Sept 2024\r\n \r\n \r\n Complaints Policy\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Legal;\r\n","export default __webpack_public_path__ + \"static/media/Fidelity_and_Computer_Crime_Insurance_Policy_1_March_2023.713a89d1.pdf\";","export default __webpack_public_path__ + \"static/media/Geyser-Brochure-2023.ac932058.pdf\";","export default __webpack_public_path__ + \"static/media/CIA-ALTERNATIVE-ENERGY-2024.c4a93ac0.pdf\";","export default __webpack_public_path__ + \"static/media/FG-Renewal-Form.92aa394e.pdf\";","export default __webpack_public_path__ + \"static/media/CIA-2024-Brochures.9e69b1c9.pdf\";","import styled from '@emotion/styled';\r\nimport { Container, Link, Typography } from '@mui/material';\r\nimport React from 'react';\r\nimport BroadformBuildingInsurancePolicyApril2023 from '../assets/documents/products-key-information/commercial/Broadform-Building-Insurance-Policy-April-2023.pdf';\r\nimport BroadformBuildingKeyInformationDocument1April2023 from '../assets/documents/products-key-information/commercial/Broadform-Building-Key-Information-Document-1-April-2023.pdf';\r\nimport AverageWaiverExtension from '../assets/documents/products-key-information/community/Average-Waiver-Extension.pdf';\r\nimport CommunityLivingInsurancePolicyApril2023 from '../assets/documents/products-key-information/community/Community-Living-Insurance-Policy-April-2023.pdf';\r\nimport CommunityLivingKeyInformationDocument1April2023 from '../assets/documents/products-key-information/community/Community-Living-Key-Information-Document-1-April-2023.pdf';\r\nimport EnhancedGeyserBenefit from '../assets/documents/products-key-information/community/Enhanced-Geyser-Benefit.pdf';\r\nimport DeclarationByManagingAgentFidelityAndComputerCrimePolicyNewBusinessAndRenewals from '../assets/documents/products-key-information/fidelity/CIA-Fidelity-Computer-Crime-Declaration-ManagingAgent.pdf';\r\nimport FidelityandComputerCrimeInsurancePolicy from '../assets/documents/products-key-information/fidelity/Fidelity_and_Computer_Crime_Insurance_Policy_1_March_2023.pdf';\r\nimport SummaryofChangestoFidelityComputerCrimePolicyOctober2022 from '../assets/documents/products-key-information/fidelity/Summary_of_Changes_to_Fidelity_Computer_Crime_Policy_October_2022.pdf';\r\nimport FidelityComputerCrimeQuotationProposalForm from '../assets/documents/products-key-information/fidelity/Fidelity-And-Computer-Crime-Quotation-Proposal-Form.pdf';\r\nimport BroadformHomeownersInsurancePolicyApril2023 from '../assets/documents/products-key-information/homeowners/Broadform-Homeowners-Insurance-Policy-April-2023.pdf';\r\nimport BroadformHomeownersKeyInformationDocument1April2023 from '../assets/documents/products-key-information/homeowners/Broadform-Homeowners-Key-Information-Document-1-April-2023.pdf';\r\nimport InsuranceProposalForm2024 from '../assets/documents/products-key-information/Insurance-Proposal-Form-November 2024.pdf';\r\nimport BrokerApplicationForm from '../assets/documents/Broker-Application-Form.pdf';\r\nimport CIAClaimForm from '../assets/documents/CIA-Claim-Form.pdf';\r\nimport CIAFastTrackGeyserClaimForm from '../assets/documents/CIA-Fast-Track-Geyser-Claim-Form.pdf';\r\nimport CIAFidelityComputerCrimeClaimForm from '../assets/documents/CIA-Fidelity-Computer-Crime-Claim-Form.pdf';\r\nimport GeyserBrochure2023 from '../assets/documents/Geyser-Brochure-2023.pdf';\r\nimport CIAHotWorkPermit2023 from '../assets/documents/CIA-Hot-Works-Permit-2023.pdf';\r\nimport CIAAlternativeEnergy from '../assets/documents/CIA-ALTERNATIVE-ENERGY-2024.pdf';\r\nimport FGRenewalForm from '../assets/documents/FG-Renewal-Form.pdf';\r\nimport CIA2024Brochure from '../assets/documents/CIA-2024-Brochures.pdf'\r\n\r\nconst DocumentRoot = styled('div')(({ theme }) => ({\r\n padding: '50px 0',\r\n}));\r\n\r\nconst LegalLink = styled(Link)(({ theme }) => ({\r\n marginBottom: '20px',\r\n}));\r\n\r\nconst LinkContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n}));\r\n\r\nconst Downloads = () => {\r\n return (\r\n \r\n \r\n \r\n Downloads\r\n \r\n \r\n \r\n Policy Wordings\r\n \r\n \r\n Broadform Building Insurance Policy April 2023\r\n \r\n \r\n Broadform Building Key Information Document 1 April 2023\r\n \r\n \r\n Broadform Homeowners Insurance Policy April 2023\r\n \r\n \r\n Broadform Homeowners Key Information Document 1 April 2023\r\n \r\n \r\n Community Living Insurance Policy April 2023\r\n \r\n \r\n Community Living Key Information Document 1 April 2023\r\n \r\n \r\n Fidelity And Computer Crime Insurance Policy March 2023\r\n \r\n \r\n Summary Of Changes To Fidelity Computer Crime Policy October 2022\r\n \r\n \r\n\r\n \r\n \r\n Forms\r\n \r\n \r\n Broker Application Form\r\n \r\n \r\n CIA Claim Form\r\n \r\n \r\n CIA ALTERNATIVE ENERGY\r\n \r\n \r\n CIA Fast Track Geyser Claim Form\r\n \r\n \r\n CIA Fidelity Claim Form\r\n \r\n \r\n CIA Hot Work Permit\r\n \r\n \r\n CIA Insurance Proposal November 2024\r\n \r\n \r\n Declaration By Managing Agent Fidelity And Computer Crime Policy New\r\n Business And Renewals 2019\r\n \r\n \r\n Fidelity Computer Crime Quotation Proposal Form\r\n \r\n \r\n Fidelity And Computer Crime Renewal Form\r\n \r\n \r\n\r\n \r\n \r\n Other\r\n \r\n \r\n Average Waiver Extension\r\n \r\n \r\n CIA 2024 Brochure\r\n \r\n \r\n Enhanced Geyser Benefit\r\n \r\n \r\n Geyser Brochure 2023\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Downloads;\r\n","export default __webpack_public_path__ + \"static/media/house.af062091.svg\";","export default __webpack_public_path__ + \"static/media/apartment.a76a507d.svg\";","export default __webpack_public_path__ + \"static/media/shop.4b8cdccf.svg\";","export default __webpack_public_path__ + \"static/media/computer-network.a2af3157.svg\";","export default __webpack_public_path__ + \"static/media/envelope.d9186ed5.svg\";","export default __webpack_public_path__ + \"static/media/light-bulb.bf48cd02.svg\";","import * as Pages from '../pages/ExportPages';\r\n\r\n// Product Icons\r\nimport HouseIcon from '../assets/images/icons/house.svg';\r\nimport ApartmentIcon from '../assets/images/icons/apartment.svg';\r\nimport ShopIcon from '../assets/images/icons/shop.svg';\r\nimport ComputerNetworkIcon from '../assets/images/icons/computer-network.svg';\r\n\r\n// Useful Info Icons\r\nimport RegulationIcon from '../assets/images/icons/regulation.svg';\r\nimport EnvelopeIcon from '../assets/images/icons/envelope.svg';\r\nimport LightBulbIcon from '../assets/images/icons/light-bulb.svg';\r\n\r\n// Self Assist Icons\r\nimport MultitaskingIcon from '../assets/images/icons/multitasking.svg';\r\nimport LaptopIcon from '../assets/images/icons/laptop.svg';\r\nimport FindMyFriendIcon from '../assets/images/icons/find-my-friend.svg';\r\nimport InsurancePolicyIcon from '../assets/images/icons/insurance-policy.svg';\r\nimport PolicyIcon from '../assets/images/icons/policy.svg';\r\nimport ProcessIcon from '../assets/images/icons/process.svg';\r\n\r\n// #region Application Styling\r\n\r\nexport const APP_FONT_FAMILY = 'Verdana, Geneva, Tahoma, sans-serif'; // Poppins\r\nexport const APP_PRIMARY_COLOR = '#D7412E';\r\nexport const APP_SECONDARY_COLOR = '#448FA3';\r\nexport const APP_PRIMARY_TEXT_COLOR = '#474747';\r\nexport const APP_SECONDARY_TEXT_COLOR = '#666666';\r\n\r\n// #endregion\r\n\r\n// #region Application Info\r\n\r\nexport const APP_FADE_TIMEOUT = 400;\r\nexport const APP_ALLOWED_FILE_TYPES = ['doc', 'docx', 'application/pdf'];\r\n\r\n// #endregion\r\n\r\n// #region Application Links\r\n\r\nexport const links_array = [\r\n {\r\n category: 'Products',\r\n items: [\r\n {\r\n title: 'Homeowners Building Insurance',\r\n text: 'Cover your home with our flagship Homeowners All Risk Policy',\r\n link: '/homeowners-building-insurance',\r\n component: Pages.HomeownersBuildingInsurance,\r\n icon: HouseIcon,\r\n breadCrum: 'Products',\r\n },\r\n {\r\n title: 'Community Living Insurance',\r\n text: 'Cover for Residential and Community living schemes',\r\n link: '/community-living-insurance',\r\n component: Pages.CommunityLivingInsurance,\r\n icon: ApartmentIcon,\r\n breadCrum: 'Products',\r\n },\r\n {\r\n title: 'Commercial Building Insurance',\r\n text: 'Cover for Commercial, Industrial and Residential buildings',\r\n link: '/commercial-building-insurance',\r\n component: Pages.CommercialBuildingInsurance,\r\n icon: ShopIcon,\r\n breadCrum: 'Products',\r\n },\r\n {\r\n title: 'Fidelity & Computer Crime Insurance',\r\n text: 'Based on the requirements of the Sectional Titles Management and Community Schemes',\r\n link: '/fidelity-computer-crime-insurance',\r\n component: Pages.FidelityComputerCrimeInsurance,\r\n icon: ComputerNetworkIcon,\r\n breadCrum: 'Products',\r\n },\r\n ],\r\n },\r\n {\r\n category: 'Useful Info',\r\n items: [\r\n {\r\n title: 'National Building Regulations',\r\n text: 'Requirements for design and construction to which all buildings must comply',\r\n link: '/national-building-regulations',\r\n component: Pages.NationalBuildingRegulations,\r\n icon: RegulationIcon,\r\n breadCrum: 'Useful Info',\r\n },\r\n {\r\n title: 'Newsletters',\r\n text: 'Stay updated with our latest news',\r\n link: '/newsletters',\r\n component: Pages.Newsletters,\r\n icon: EnvelopeIcon,\r\n breadCrum: 'Useful Info',\r\n },\r\n {\r\n title: 'What to do in the event of a claim',\r\n text: 'Follow these steps in case of a claim',\r\n link: '/claim#claim-steps',\r\n component: Pages.Claim,\r\n icon: LightBulbIcon,\r\n breadCrum: 'Useful Info',\r\n },\r\n ],\r\n },\r\n {\r\n category: 'Self Assist',\r\n items: [\r\n {\r\n title: 'Request Insurance Certificate',\r\n text: 'Issue an online Insurance Certificate',\r\n link: '/request-insurance-certificate',\r\n component: Pages.RequestInsuranceCertificate,\r\n icon: MultitaskingIcon,\r\n breadCrum: 'Self Assist',\r\n },\r\n {\r\n title: 'Online Broker Training',\r\n text: 'Access our CPD accredited online broker portal',\r\n link: '/online-broker-training',\r\n component: Pages.OnlineBrokerTraining,\r\n icon: LaptopIcon,\r\n breadCrum: 'Self Assist',\r\n },\r\n {\r\n title: 'Find a Broker',\r\n text: 'Browse our database to find the nearest broker',\r\n link: '/find-a-broker',\r\n component: Pages.FindBroker,\r\n icon: FindMyFriendIcon,\r\n breadCrum: 'Self Assist',\r\n },\r\n {\r\n title: 'Broker Agency Application',\r\n text: 'Get the info you need to work with us',\r\n link: '/broker-agency-application',\r\n component: Pages.BrokerAgencyApplication,\r\n icon: InsurancePolicyIcon,\r\n breadCrum: 'Self Assist',\r\n },\r\n {\r\n title: 'Existing Policy Schedule',\r\n text: 'Upload your policy schedule for quick assistance',\r\n link: '/policy-schedule',\r\n component: Pages.ExistingPolicySchedule,\r\n icon: PolicyIcon,\r\n breadCrum: 'Self Assist',\r\n },\r\n {\r\n title: 'Track a Claim',\r\n text: 'Track your claim in seconds',\r\n link: '/track-a-claim',\r\n component: Pages.TrackClaim,\r\n icon: ProcessIcon,\r\n breadCrum: 'Self Assist',\r\n },\r\n ],\r\n },\r\n {\r\n category: 'Quick Links',\r\n items: [\r\n {\r\n title: 'Home',\r\n text: null,\r\n link: '/',\r\n component: Pages.Home,\r\n hidden: true,\r\n },\r\n {\r\n title: 'Claim',\r\n text: null,\r\n link: '/claim',\r\n component: Pages.Claim,\r\n },\r\n {\r\n title: 'About Us',\r\n text: null,\r\n link: '/about-us',\r\n component: Pages.AboutUs,\r\n },\r\n {\r\n title: 'Contact Us',\r\n text: null,\r\n link: '/contact-us',\r\n component: Pages.ContactUs,\r\n },\r\n {\r\n title: 'Lodge a Claim',\r\n text: null,\r\n link: 'https://online.cia.co.za/GrailWeb',\r\n external: true,\r\n component: null,\r\n },\r\n {\r\n title: 'Get a Quote',\r\n text: null,\r\n link: '/get-quote',\r\n component: Pages.GetQuote,\r\n },\r\n {\r\n title: 'Register Online Training',\r\n text: null,\r\n link: '/register-online-training',\r\n component: Pages.RegisterOnlineBrokerTraining,\r\n },\r\n {\r\n title: 'Request Call Back',\r\n text: null,\r\n link: '/request-a-call-back',\r\n component: Pages.RequestCallBack,\r\n },\r\n {\r\n title: 'Legal',\r\n text: null,\r\n link: '/legal',\r\n component: Pages.Legal,\r\n },\r\n {\r\n title: 'Downloads',\r\n text: null,\r\n link: '/downloads',\r\n component: Pages.Downloads,\r\n },\r\n {\r\n title: 'Post',\r\n text: null,\r\n link: '/newsletter/post',\r\n component: Pages.Post,\r\n hidden: true,\r\n },\r\n {\r\n title: 'Nama Giveaway',\r\n text: null,\r\n link: '/prizes/nama-giveaway',\r\n component: Pages.NamaGiveaway,\r\n hidden: true,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n// #endregion\r\n","import React from 'react';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\n\r\nconst RecaptchaField = (props) => {\r\n // Live - 6LfXcAsaAAAAAE04lMqvtBU-Y-3De13Yc0JpGK0a\r\n // Testing - 6LfOpiUdAAAAANomnE7wUyf8s1tPo9FgaZxtKhI8\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RecaptchaField;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Alert, Collapse, IconButton } from '@mui/material';\r\nimport { styled } from '@mui/material/styles';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\n\r\nconst FormMessageRoot = styled('div')(({ theme }) => ({\r\n margin: '20px auto 0px',\r\n maxWidth: '600px',\r\n}));\r\n\r\nconst FormMessage = (props) => {\r\n const { response } = props;\r\n const [open, setOpen] = useState(true);\r\n\r\n useEffect(() => {\r\n setOpen(true);\r\n }, [response]);\r\n\r\n return (\r\n response && (\r\n \r\n \r\n {\r\n setOpen(false);\r\n }}\r\n >\r\n \r\n \r\n }\r\n sx={{ mb: 2 }}\r\n >\r\n {response['message']}\r\n \r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nexport default FormMessage;\r\n","import React, { Fragment } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Grid } from '@mui/material';\r\nimport { links_array } from '../../../../constants/AppConstants';\r\n\r\nconst MegaMenuRoot = styled('div')(({ theme }) => ({\r\n padding: '24px 0',\r\n}));\r\n\r\nconst MegaMenuItem = styled(Grid)(({ theme }) => ({\r\n minHeight: '122px',\r\n borderRadius: '1rem',\r\n padding: '15px 20px 15px 0',\r\n cursor: 'pointer',\r\n ':hover': {\r\n backgroundColor: '#FDFDFD',\r\n boxShadow: '0px 0px 5px 2px rgba(0,0,0,0.04)',\r\n '& .item-title': {\r\n color: '#D7412E',\r\n },\r\n },\r\n}));\r\n\r\nconst ItemIcon = styled('img')(({ theme }) => ({\r\n height: '35px',\r\n width: '35px',\r\n filter: 'invert(43%) sepia(100%) saturate(3298%) hue-rotate(341deg) brightness(85%) contrast(97%)',\r\n}));\r\n\r\nconst ItemTitle = styled('div')(({ theme }) => ({\r\n color: '#474747',\r\n fontWeight: 600,\r\n fontSize: '15px',\r\n}));\r\n\r\nconst ItemText = styled('div')(({ theme }) => ({\r\n color: '#5F5F5F',\r\n fontWeight: 500,\r\n fontSize: '14px',\r\n margin: '6px 0 16px',\r\n}));\r\n\r\nconst ProductsMenu = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n {links_array\r\n .find((x) => x.category === 'Products')\r\n ['items'].map((link_item, index) => (\r\n history.push(link_item['link'])}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {link_item['title']}\r\n \r\n {link_item['text']}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ProductsMenu;\r\n","import React, { Fragment } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Grid } from '@mui/material';\r\nimport { links_array } from '../../../../constants/AppConstants';\r\n\r\nconst MegaMenuRoot = styled('div')(({ theme }) => ({\r\n padding: '24px 0',\r\n}));\r\n\r\nconst MegaMenuItem = styled(Grid)(({ theme }) => ({\r\n minHeight: '122px',\r\n borderRadius: '1rem',\r\n padding: '15px 20px',\r\n cursor: 'pointer',\r\n ':hover': {\r\n backgroundColor: '#FDFDFD',\r\n boxShadow: '0px 0px 5px 2px rgba(0,0,0,0.04)',\r\n '& .item-title': {\r\n color: '#D7412E',\r\n },\r\n },\r\n}));\r\n\r\nconst ItemIcon = styled('img')(({ theme }) => ({\r\n height: '35px',\r\n width: '35px',\r\n filter: 'invert(43%) sepia(100%) saturate(3298%) hue-rotate(341deg) brightness(85%) contrast(97%)',\r\n}));\r\n\r\nconst ItemTitle = styled('div')(({ theme }) => ({\r\n color: '#474747',\r\n fontWeight: 600,\r\n fontSize: '15px',\r\n}));\r\n\r\nconst ItemText = styled('div')(({ theme }) => ({\r\n color: '#5F5F5F',\r\n fontWeight: 500,\r\n fontSize: '14px',\r\n margin: '6px 0 16px',\r\n}));\r\n\r\nconst UsefulInfoMenu = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n {links_array\r\n .find((x) => x.category === 'Useful Info')\r\n ['items'].map((link_item, index) => (\r\n history.push(link_item['link'])}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {link_item['title']}\r\n \r\n {link_item['text']}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UsefulInfoMenu;\r\n","import React, { Fragment } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Grid } from '@mui/material';\r\nimport { links_array } from '../../../../constants/AppConstants';\r\n\r\nconst MegaMenuRoot = styled('div')(({ theme }) => ({\r\n padding: '24px 0',\r\n}));\r\n\r\nconst MegaMenuItem = styled(Grid)(({ theme }) => ({\r\n minHeight: '122px',\r\n borderRadius: '1rem',\r\n padding: '15px 20px',\r\n cursor: 'pointer',\r\n ':hover': {\r\n backgroundColor: '#FDFDFD',\r\n boxShadow: '0px 0px 5px 2px rgba(0,0,0,0.04)',\r\n '& .item-title': {\r\n color: '#D7412E',\r\n },\r\n },\r\n}));\r\n\r\nconst ItemIcon = styled('img')(({ theme }) => ({\r\n height: '35px',\r\n width: '35px',\r\n filter: 'invert(43%) sepia(100%) saturate(3298%) hue-rotate(341deg) brightness(85%) contrast(97%)',\r\n}));\r\n\r\nconst ItemTitle = styled('div')(({ theme }) => ({\r\n color: '#474747',\r\n fontWeight: 600,\r\n fontSize: '15px',\r\n}));\r\n\r\nconst ItemText = styled('div')(({ theme }) => ({\r\n color: '#5F5F5F',\r\n fontWeight: 500,\r\n fontSize: '14px',\r\n margin: '6px 0 16px',\r\n}));\r\n\r\nconst SelfAssistMenu = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n \r\n \r\n \r\n {links_array\r\n .find((x) => x.category === 'Self Assist')\r\n ['items'].map((link_item, index) => (\r\n history.push(link_item['link'])}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {link_item['title']}\r\n \r\n {link_item['text']}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SelfAssistMenu;\r\n","export default __webpack_public_path__ + \"static/media/cia_logo_nav.608d6586.svg\";","import React, { Fragment, useEffect, useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport {\r\n Accordion,\r\n AccordionDetails,\r\n AccordionSummary,\r\n Button,\r\n Container,\r\n Divider,\r\n Fade,\r\n Grid,\r\n IconButton,\r\n Link,\r\n Typography,\r\n} from '@mui/material';\r\nimport { links_array } from '../../../constants/AppConstants';\r\nimport ArrowForwardIosSharpIcon from '@mui/icons-material/ArrowForwardIosSharp';\r\n\r\nconst NavbarMobileRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#FAFAFA',\r\n position: 'fixed',\r\n width: '100%',\r\n height: 'calc(100vh - 82px)',\r\n marginTop: '-2px',\r\n overflowY: 'overlay',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n}));\r\n\r\nconst MobileLinksContainer = styled('div')(({ theme }) => ({\r\n padding: '10px 0',\r\n marginBottom: '30px',\r\n [theme.breakpoints.down('md')]: {\r\n padding: '10px 20px',\r\n },\r\n}));\r\n\r\nconst MobileLinkItem = styled('div')(({ theme }) => ({\r\n padding: '15px 10px',\r\n cursor: 'pointer',\r\n color: '#666666',\r\n ':hover': {\r\n color: '#D7412E',\r\n },\r\n '&.active': {\r\n color: '#D7412E',\r\n },\r\n}));\r\n\r\nconst MobileLinkText = styled('div')(({ theme }) => ({}));\r\n\r\nconst MobileActionsContainer = styled('div')(({ theme }) => ({\r\n padding: '30px 0 0',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n}));\r\n\r\nconst AccordionStyled = styled((props) => (\r\n \r\n))(({ theme }) => ({\r\n backgroundColor: 'transparent',\r\n color: '#666666',\r\n border: 'none',\r\n ':hover': {\r\n color: '#D7412E',\r\n },\r\n '&:not(:last-child)': {\r\n borderBottom: 0,\r\n },\r\n '&:before': {\r\n display: 'none',\r\n },\r\n}));\r\n\r\nconst AccordionSummaryStyled = styled((props) => (\r\n }\r\n {...props}\r\n />\r\n))(({ theme }) => ({\r\n padding: '0 10px',\r\n backgroundColor: 'transparent',\r\n flexDirection: 'row-reverse',\r\n '& .MuiAccordionSummary-expandIconWrapper.Mui-expanded': {\r\n transform: 'rotate(90deg)',\r\n },\r\n '& .MuiAccordionSummary-content': {\r\n marginLeft: theme.spacing(1),\r\n },\r\n}));\r\n\r\nconst AccordionDetailsStyled = styled(AccordionDetails)(({ theme }) => ({\r\n padding: '0 22px 20px',\r\n borderTop: 'none',\r\n}));\r\n\r\nconst NavbarMobile = (props) => {\r\n const { currentLink, mobileOpen, handleClick } = props;\r\n const history = useHistory();\r\n\r\n const [expanded, setExpanded] = useState('');\r\n\r\n const handleChange = (panel) => (event, newExpanded) => {\r\n setExpanded(newExpanded ? panel : false);\r\n };\r\n\r\n useEffect(() => {\r\n var pageLink = links_array.find((x) => x.items.some((x) => x.link === currentLink));\r\n setExpanded(\r\n pageLink ? pageLink.category.replace(/\\s/g, '').toLowerCase() : window.location.pathname\r\n );\r\n }, [currentLink]);\r\n\r\n useEffect(() => {\r\n if (mobileOpen) {\r\n document.body.style.overflow = 'hidden';\r\n } else {\r\n document.body.style.overflow = 'overlay';\r\n }\r\n }, [mobileOpen]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n handleClick();\r\n history.push('/');\r\n }}\r\n >\r\n Home\r\n \r\n\r\n \r\n\r\n {\r\n handleClick();\r\n history.push('/about-us');\r\n }}\r\n >\r\n About Us\r\n \r\n\r\n \r\n\r\n \r\n \r\n Products\r\n \r\n \r\n {links_array\r\n .find((x) => x.category === 'Products')\r\n ['items'].map((link_item, index) => (\r\n {\r\n handleClick();\r\n history.push(link_item['link']);\r\n }}\r\n key={index}\r\n >\r\n {link_item['title']}\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n Useful Info\r\n \r\n \r\n {links_array\r\n .find((x) => x.category === 'Useful Info')\r\n ['items'].map((link_item, index) => (\r\n {\r\n handleClick();\r\n history.push(link_item['link']);\r\n }}\r\n key={index}\r\n >\r\n {link_item['title']}\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n Self Assist\r\n \r\n \r\n {links_array\r\n .find((x) => x.category === 'Self Assist')\r\n ['items'].map((link_item, index) => (\r\n {\r\n handleClick();\r\n history.push(link_item['link']);\r\n }}\r\n key={index}\r\n >\r\n {link_item['title']}\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n\r\n {\r\n handleClick();\r\n history.push('/contact-us');\r\n }}\r\n >\r\n Contact Us\r\n \r\n\r\n {\r\n window.location.href = 'https://app.cia.co.za';\r\n }}\r\n >\r\n Broker Login\r\n \r\n\r\n \r\n\r\n \r\n {\r\n handleClick();\r\n history.push('/claim');\r\n }}\r\n >\r\n Claim\r\n \r\n\r\n {\r\n handleClick();\r\n history.push('/get-quote');\r\n }}\r\n >\r\n Get a Quote\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NavbarMobile;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Button, Container, Divider, Grid, IconButton, Link, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faChevronDown, faPhone, faBars } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport ProductsMenu from './mega-menu-items/ProductsMenu';\r\nimport UsefulInfoMenu from './mega-menu-items/UsefulInfoMenu';\r\nimport SelfAssistMenu from './mega-menu-items/SelfAssistMenu';\r\n\r\nimport CiaLogo from '../../../assets/images/logos/cia_logo_nav.svg';\r\nimport NavbarMobile from './NavbarMobile';\r\n\r\nconst NavbarRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: '#fff',\r\n position: 'fixed',\r\n width: '100%',\r\n height: '81px',\r\n '&.shadow': {\r\n boxShadow: '0px 0px 12px 2px rgb(0 0 0 / 8%)',\r\n },\r\n zIndex: 2,\r\n}));\r\n\r\nconst NavbarInner = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst NavbarLogo = styled('img')(({ theme }) => ({\r\n height: '72px',\r\n padding: '5px 0',\r\n cursor: 'pointer',\r\n}));\r\n\r\nconst DesktopNavbar = styled('div')(({ theme }) => ({\r\n width: '100%',\r\n display: 'flex',\r\n [theme.breakpoints.down('md')]: {\r\n display: 'none',\r\n },\r\n}));\r\n\r\nconst NavbarLinkContainer = styled('div')(({ theme }) => ({\r\n padding: '0 16px',\r\n height: '81px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n}));\r\n\r\nconst NavbarLinkItem = styled('div')(({ theme }) => ({\r\n color: '#474747',\r\n fontSize: '16px',\r\n cursor: 'pointer',\r\n padding: '8px',\r\n '&:hover': {\r\n color: '#D7412E',\r\n '& .nav-icon': {\r\n transform: 'rotate(180deg)',\r\n },\r\n },\r\n '&.active': {\r\n color: '#D7412E',\r\n },\r\n '&.open': {\r\n color: '#D7412E',\r\n '& .nav-icon': {\r\n transform: 'rotate(180deg)',\r\n },\r\n },\r\n}));\r\n\r\nconst NavIcon = styled(FontAwesomeIcon)(({ theme }) => ({\r\n fontSize: '13px',\r\n transition: '250ms ease',\r\n // marginLeft: '2px',\r\n}));\r\n\r\nconst NavbarActionsContainer = styled('div')(({ theme }) => ({\r\n padding: '0 16px',\r\n height: '81px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginLeft: 'auto',\r\n}));\r\n\r\nconst MegaMenu = styled('div')(({ theme }) => ({\r\n position: 'absolute',\r\n top: '81px',\r\n backgroundColor: 'transparent',\r\n width: '100%',\r\n padding: '24px 0 0',\r\n marginTop: '-24px',\r\n zIndex: 2,\r\n}));\r\n\r\nconst MegaMenuInner = styled('div')(({ theme }) => ({\r\n backgroundColor: '#fff',\r\n height: '100%',\r\n}));\r\n\r\nconst Backdrop = styled('div')(({ theme }) => ({\r\n position: 'fixed',\r\n width: '100%',\r\n height: '100%',\r\n // top: 0,\r\n left: 0,\r\n backgroundColor: 'rgba(228, 228, 228, 0.432)',\r\n backdropFilter: 'blur(0.7px)',\r\n zIndex: -1,\r\n}));\r\n\r\nconst MobileNavbar = styled('div')(({ theme }) => ({\r\n width: '100%',\r\n display: 'none',\r\n alignItems: 'center',\r\n marginRight: '20px',\r\n [theme.breakpoints.down('md')]: {\r\n display: 'flex',\r\n },\r\n}));\r\n\r\nconst PhoneIconButton = styled(IconButton)(({ theme }) => ({\r\n marginLeft: 'auto',\r\n marginRight: '10px',\r\n height: '40px',\r\n width: '40px',\r\n padding: '10px',\r\n borderRadius: '.3rem',\r\n}));\r\n\r\nconst PhoneIcon = styled(FontAwesomeIcon)(({ theme }) => ({\r\n color: '#474747',\r\n fontSize: '25px',\r\n transform: 'rotate(270deg)',\r\n}));\r\n\r\nconst BurgerIconButton = styled(IconButton)(({ theme }) => ({\r\n // marginLeft: 'auto',\r\n height: '40px',\r\n width: '40px',\r\n padding: '10px',\r\n borderRadius: '.3rem',\r\n}));\r\n\r\nconst BurgerIconClose = styled(FontAwesomeIcon)(({ theme }) => ({\r\n color: '#474747',\r\n fontSize: '25px',\r\n}));\r\n\r\nconst BurgerIconOpen = styled(FontAwesomeIcon)(({ theme }) => ({\r\n color: '#474747',\r\n fontSize: '25px',\r\n}));\r\n\r\nconst Navbar = () => {\r\n const history = useHistory();\r\n\r\n const [navShadow, setNavShadow] = useState(false);\r\n const [currentLink, setCurrentLink] = useState(null);\r\n const [megaMenuShow, setMegaMenuShow] = useState({ display: 'none' });\r\n const [megaMenuContent, setMegaMenuContent] = useState('Products');\r\n const [mobileOpen, setMobileOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n setCurrentLink(window.location.pathname);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setCurrentLink(window.location.pathname);\r\n\r\n return history.listen((location) => {\r\n window.scrollTo(0, 0);\r\n\r\n setCurrentLink(location.pathname);\r\n setMegaMenuShow({ display: 'none' });\r\n });\r\n }, [history]);\r\n\r\n useEffect(() => {\r\n window.onscroll = function () {\r\n myFunction();\r\n };\r\n\r\n function myFunction() {\r\n if (window.pageYOffset !== 0) {\r\n setNavShadow(true);\r\n return;\r\n }\r\n\r\n setNavShadow(false);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (megaMenuShow['display'] === 'none') {\r\n setMegaMenuContent(null);\r\n }\r\n }, [megaMenuShow]);\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n mobileOpen && setMobileOpen(false);\r\n history.push('/');\r\n }}\r\n />\r\n\r\n \r\n \r\n history.push('/')}\r\n >\r\n Home\r\n \r\n history.push('/about-us')}\r\n >\r\n About Us\r\n \r\n {\r\n setMegaMenuContent('Products');\r\n setMegaMenuShow({ display: 'block' });\r\n }}\r\n onMouseLeave={(e) => {\r\n setMegaMenuShow({ display: 'none' });\r\n }}\r\n >\r\n Products \r\n \r\n {\r\n setMegaMenuContent('UsefulInfo');\r\n setMegaMenuShow({ display: 'block' });\r\n }}\r\n onMouseLeave={(e) => {\r\n setMegaMenuShow({ display: 'none' });\r\n }}\r\n >\r\n Useful Info \r\n \r\n {\r\n setMegaMenuContent('SelfAssist');\r\n setMegaMenuShow({ display: 'block' });\r\n }}\r\n onMouseLeave={(e) => {\r\n setMegaMenuShow({ display: 'none' });\r\n }}\r\n >\r\n Self Assist \r\n \r\n \r\n\r\n \r\n history.push('/contact-us')}\r\n >\r\n Contact Us\r\n \r\n\r\n (window.location.href = 'https://app.cia.co.za')}\r\n >\r\n Broker Login\r\n \r\n\r\n history.push('/claim')}\r\n >\r\n Claim\r\n \r\n\r\n history.push('/get-quote')}\r\n >\r\n Get a Quote\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n setMobileOpen(!mobileOpen)}>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setMegaMenuShow({ display: 'block' });\r\n }}\r\n onMouseLeave={(e) => {\r\n setMegaMenuShow({ display: 'none' });\r\n }}\r\n >\r\n \r\n {megaMenuContent === 'Products' ? (\r\n \r\n ) : megaMenuContent === 'UsefulInfo' ? (\r\n \r\n ) : megaMenuContent === 'SelfAssist' ? (\r\n \r\n ) : null}\r\n \r\n \r\n\r\n setMobileOpen(false)}\r\n />\r\n\r\n \r\n );\r\n};\r\n\r\nexport default Navbar;\r\n","import React, { Fragment, useEffect, useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Container, Divider, Grid, IconButton, Link, Typography } from '@mui/material';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faFacebookF, faLinkedinIn } from '@fortawesome/free-brands-svg-icons';\r\nimport { links_array } from '../../../constants/AppConstants';\r\n\r\nconst FooterRoot = styled('div')(({ theme }) => ({\r\n backgroundColor: 'rgba(0, 0, 0, .02)',\r\n color: '#474747',\r\n}));\r\n\r\nconst FooterInner = styled('div')(({ theme }) => ({\r\n padding: '60px 0',\r\n // [theme.breakpoints.down('md')]: {\r\n // padding: '60px 20px',\r\n // },\r\n}));\r\n\r\nconst FooterBreadContainer = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n}));\r\n\r\nconst BreadCrumLink = styled(Link)(({ theme }) => ({\r\n cursor: 'pointer',\r\n color: '#474747',\r\n textDecoration: 'none',\r\n ':hover': {\r\n color: '#D7412E',\r\n },\r\n}));\r\n\r\nconst GridItem = styled(Grid)(({ theme }) => ({\r\n padding: '20px 0px',\r\n}));\r\n\r\nconst FooterItemTitle = styled(Typography)(({ theme }) => ({\r\n marginBottom: '16px',\r\n}));\r\n\r\nconst FooterItemText = styled(Typography)(({ theme }) => ({\r\n marginBottom: '16px',\r\n cursor: 'pointer',\r\n ':hover': {\r\n color: '#D7412E',\r\n },\r\n}));\r\n\r\nconst SocialIcon = styled(IconButton)(({ theme }) => ({\r\n backgroundColor: '#e6e6e6',\r\n margin: '5px',\r\n height: '45px',\r\n width: '45px',\r\n borderRadius: '100%',\r\n ':hover': {\r\n color: '#D7412E',\r\n backgroundColor: '#e6e6e6',\r\n },\r\n}));\r\n\r\nconst Footer = () => {\r\n const history = useHistory();\r\n const [breadCrum, setBreadCrum] = useState(null);\r\n\r\n const GenerateBreadcrum = () => {\r\n var linkItem;\r\n\r\n try {\r\n linkItem = links_array\r\n .find((x) => x.items.some((item) => item.link === window.location.pathname))\r\n ['items'].find((x) => x['link'] === window.location.pathname);\r\n } catch (error) {}\r\n\r\n if (!linkItem) {\r\n return null;\r\n }\r\n\r\n if (window.location.pathname === '/') {\r\n return null;\r\n }\r\n\r\n if ('breadCrum' in linkItem) {\r\n return (\r\n \r\n /\r\n
{linkItem['breadCrum']}
\r\n /\r\n history.push(linkItem['link'])}>\r\n {linkItem['title']}\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n /\r\n history.push(linkItem['link'])}>\r\n {linkItem['title']}\r\n \r\n \r\n );\r\n };\r\n\r\n useEffect(() => {\r\n setBreadCrum(GenerateBreadcrum());\r\n\r\n return history.listen((location) => {\r\n setBreadCrum(GenerateBreadcrum());\r\n });\r\n }, [history]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n history.push('/')}>Home\r\n {breadCrum}\r\n \r\n\r\n \r\n\r\n \r\n {links_array.map((item, item_index) => (\r\n \r\n {item['category']}\r\n {item['items'].map((links, link_index) =>\r\n links['hidden'] ? null : (\r\n {\r\n if (links['external'])\r\n window.location.href = links['link'];\r\n else history.push(links['link']);\r\n }}\r\n key={link_index}\r\n >\r\n {links['title']}\r\n \r\n )\r\n )}\r\n \r\n ))}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n window.open('https://www.facebook.com/CIA.co.za', '_blank')\r\n }\r\n >\r\n \r\n \r\n \r\n window.open(\r\n 'https://www.linkedin.com/company/cia-building-insurance-specialists',\r\n '_blank'\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Contact Our Head Office:{' '}\r\n 0861 242 777\r\n \r\n \r\n \r\n \r\n Commercial & Industrial Acceptances (Pty) Ltd is an Authorised FSP\r\n No: 13890. Copyright © Commercial & Industrial Acceptances (Pty) Ltd\r\n All Rights Reserved\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Footer;\r\n","// Libraries\r\nimport React, { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { styled } from '@mui/material/styles';\r\nimport { Loader } from '@googlemaps/js-api-loader';\r\n\r\n// Analytics\r\nimport ReactGA from 'react-ga4';\r\nimport { hotjar } from 'react-hotjar';\r\n\r\nimport Navbar from '../components/navigation/navbar/Navbar';\r\nimport Footer from '../components/navigation/footer/Footer';\r\nimport { links_array } from '../constants/AppConstants';\r\n\r\nconst AppRoot = styled('div')(({ theme }) => ({}));\r\n\r\nconst AppContent = styled('div')(({ theme }) => ({\r\n paddingTop: '81px',\r\n paddingRight: '15px',\r\n}));\r\n\r\nconst AppFooter = styled('div')(({ theme }) => ({}));\r\n\r\nconst Layout = (props) => {\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n ReactGA.initialize('G-Q8X5D4ZFRF');\r\n hotjar.initialize(2105651, 6);\r\n hotjar.identify('USER_ID', { userProperty: 'value' });\r\n }, []);\r\n\r\n useEffect(() => {\r\n const category = links_array.find((x) => x.items.find((y) => y.link === location.pathname));\r\n let title, link;\r\n\r\n if (category) {\r\n title = category['items'].find((x) => x.link === location.pathname)['title'];\r\n link = category['items'].find((x) => x.link === location.pathname)['link'];\r\n }\r\n\r\n window.document.title = `${title} | CIA Building Insurance Specialists`;\r\n\r\n ReactGA.send({ hitType: 'pageview', page: link });\r\n\r\n if (hotjar.initialized()) {\r\n // Hotjar page change\r\n hotjar.stateChange(link);\r\n }\r\n }, [location]);\r\n\r\n useEffect(() => {\r\n // Live - AIzaSyBTEEh4unvCP6EDHrGfun2eg-jqjNL1WMI\r\n // Testing - AIzaSyCQMQ11q1LQcg7Ps-wYJS6qsKltOxFlQvw\r\n\r\n const loader = new Loader({\r\n apiKey: `AIzaSyCQMQ11q1LQcg7Ps-wYJS6qsKltOxFlQvw`,\r\n version: 'weekly',\r\n libraries: ['places', 'geometry'],\r\n });\r\n\r\n loader.load();\r\n }, []);\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n {props.children}\r\n \r\n