{"version":3,"file":"js/2920-10ae459deff91c998b3f.js","mappings":"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CVhpC,MAAO,QACP8E,UAAW,aACX3E,QAAS,UACToE,YAAa,aAEf,CACExoC,IAAK,SACLitE,SAAU,gBACVhpC,MAAO,UACP8E,UAAW,UACX3E,QAAS,YACToE,YAAa,aAEf,CACExoC,IAAK,WACLitE,SAAU,kBACVhpC,MAAO,YACP8E,UAAW,YACX3E,QAAS,YACToE,YAAa,aAEf,CACExoC,IAAK,WACLitE,SAAU,kBACVhpC,MAAO,YACP8E,UAAW,YACX3E,QAAS,YACToE,YAAa,aAEf,CACExoC,IAAK,aACLitE,SAAU,sBACVhpC,MAAO,YACP8E,UAAW,YACX3E,QAAS,YACToE,YAAa,aAEf,CACExoC,IAAK,aACLitE,SAAU,sBACVhpC,MAAO,YACP8E,UAAW,YACX3E,QAAS,YACToE,YAAa,cAEf,CACExoC,IAAK,UACLitE,SAAU,mBACVhpC,MAAO,aACP8E,UAAW,aACX3E,QAAS,aACToE,YAAa,cAEf,CACExoC,IAAK,GACLitE,SAAU,gBACVhpC,MAAO,GACP8E,UAAW,GACX3E,QAAS,GACToE,YAAa,IAEf,CACExoC,IAAK,GACLitE,SAAUpsE,KAAKC,EAAE,2CACjBmjC,MAAO,8BACP8E,UAAW,8BACX3E,QAAS,8BACToE,YAAa,+BAEf,CACExoC,IAAK,GACLitE,SAAUpsE,KAAKC,EAAE,2CACjBmjC,MAAO,8BACP8E,UAAW,8BACX3E,QAAS,8BACToE,YAAa,+BAEf,CACExoC,IAAK,GACLitE,SAAUpsE,KAAKC,EAAE,2CACjBmjC,MAAO,8BACP8E,UAAW,8BACX3E,QAAS,8BACToE,YAAa,+BAEf,CACExoC,IAAK,GACLitE,SAAUpsE,KAAKC,EAAE,+CACjBmjC,MAAO,8BACP8E,UAAW,8BACX3E,QAAS,8BACToE,YAAa,+BAEf,CACExoC,IAAK,GACLitE,SAAUpsE,KAAKC,EAAE,2CACjBmjC,MAAO,8BACP8E,UAAW,8BACX3E,QAAS,8BACToE,YAAa,+BAEf,CACExoC,IAAK,GACLitE,SAAUpsE,KAAKC,EAAE,4CACjBmjC,MAAO,8BACP8E,UAAW,8BACX3E,QAAS,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","sources":["webpack:///./app/javascript/components/ sync ^\\.\\/.*$","webpack:///./app/javascript/src/images/energy_certificates/ sync ^\\.\\/.*$","webpack:///./app/javascript/src/images/icons/facts_and_facilities/ sync ^\\.\\/.*\\.svg$","webpack:///./app/javascript/src/images/icons/ sync ^\\.\\/.*\\.svg$","webpack:///./app/javascript/src/images/list_office/ sync ^\\.\\/.*$","webpack:///./app/javascript/src/images/list_office/ sync ^\\.\\/.*\\.svg$","webpack:///./app/javascript/src/images/list_office/ sync ^\\.\\/.*_logos$","webpack:///./app/javascript/src/images/list_office/ sync ^\\.\\/.*_logos_all$","webpack:///./app/javascript/src/images/list_office/ sync ^\\.\\/computer_new_.*\\.png$","webpack:///./app/javascript/src/images/logos/ sync ^\\.\\/.*$","webpack:///./app/javascript/components/Breadcrumb/__tests__/index.spec.jsx","webpack:///./app/javascript/components/DetailedViewHeader/AskProviderModalForm/ModalGetInfoFormMobile.jsx","webpack:///./app/javascript/components/DetailedViewHeader/AskProviderModalForm/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/ClosedLocationBanner/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/CombinedLeases/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Contacts/SmallContactBlock.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Contacts/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/DescriptionSection/Description.jsx","webpack:///./app/javascript/components/DetailedViewHeader/DescriptionSection/DescriptionTopMenu.jsx","webpack:///./app/javascript/components/DetailedViewHeader/DescriptionSection/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/EconomySection/SectionRow.jsx","webpack:///./app/javascript/components/DetailedViewHeader/EconomySection/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/FactsAndFacilities/DistancesListItem.jsx","webpack:///./app/javascript/components/DetailedViewHeader/FactsAndFacilities/FacilitiesListItem.jsx","webpack:///./app/javascript/components/DetailedViewHeader/FactsAndFacilities/ParkingListItem.jsx","webpack:///./app/javascript/components/DetailedViewHeader/FactsAndFacilities/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/FixedNavigationBar/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Gallery/AssetBlock.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Gallery/FullscreenGallery.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Gallery/GallerySwitcher.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Gallery/ImageGalleryWrapper.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Gallery/InteriorDesignBanner.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Gallery/Landscape.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Gallery/MobileGallery.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Gallery/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/Header/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/InfoSections/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/LocationUnavailable/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/MapSection/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/SameAddressLocations/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/SmartTextTooltip/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/VirtualTour/Form.jsx","webpack:///./app/javascript/components/DetailedViewHeader/VirtualTour/index.jsx","webpack:///./app/javascript/components/DetailedViewHeader/index.jsx","webpack:///./app/javascript/components/EntryPage/NewsSection/NewsletterWidget.jsx","webpack:///./app/javascript/components/ErrorBoundary/ErrorModalDialog.jsx","webpack:///./app/javascript/components/ErrorBoundary/index.jsx","webpack:///./app/javascript/components/FavoritesPage/EmptyPage.jsx","webpack:///./app/javascript/components/FavoritesPage/FavoritesItem.jsx","webpack:///./app/javascript/components/FavoritesPage/FavoritesList.jsx","webpack:///./app/javascript/components/FavoritesPage/StickyBar/index.jsx","webpack:///./app/javascript/components/FavoritesPage/index.jsx","webpack:///./app/javascript/components/Footer/FooterBottom.jsx","webpack:///./app/javascript/components/Footer/FooterLinks.jsx","webpack:///./app/javascript/components/Footer/index.jsx","webpack:///./app/javascript/components/Gallery/CrawledLocationImg.jsx","webpack:///./app/javascript/components/Gallery/InteriorDesignBanner.jsx","webpack:///./app/javascript/components/Gallery/Landscape.jsx","webpack:///./app/javascript/components/Gallery/index.jsx","webpack:///./app/javascript/components/ListOfficePage/AdvBannerDk/index.jsx","webpack:///./app/javascript/components/ListOfficePage/BenefitsSection/BenefitsMobile.jsx","webpack:///./app/javascript/components/ListOfficePage/BenefitsSection/index.jsx","webpack:///./app/javascript/components/ListOfficePage/Calendly/index.jsx","webpack:///./app/javascript/components/ListOfficePage/ContactsSection/index.jsx","webpack:///./app/javascript/components/ListOfficePage/ContractsBottom/index.jsx","webpack:///./app/javascript/components/ListOfficePage/ContractsTop/ContactBlock.jsx","webpack:///./app/javascript/components/ListOfficePage/ContractsTop/FormSentModalThankyou.jsx","webpack:///./app/javascript/components/ListOfficePage/ContractsTop/GetContactModalForm.jsx","webpack:///./app/javascript/components/ListOfficePage/ContractsTop/TableContent.jsx","webpack:///./app/javascript/components/ListOfficePage/ContractsTop/index.jsx","webpack:///./app/javascript/components/ListOfficePage/PaymentTeasersSection/index.jsx","webpack:///./app/javascript/components/ListOfficePage/ProvidersSection/index.jsx","webpack:///./app/javascript/components/ListOfficePage/TeaserBlocks/ContactForm/index.jsx","webpack:///./app/javascript/components/ListOfficePage/TeaserBlocks/index.jsx","webpack:///./app/javascript/components/ListOfficePage/Testimonials/TestimonialBlock.jsx","webpack:///./app/javascript/components/ListOfficePage/Testimonials/data.js","webpack:///./app/javascript/components/ListOfficePage/Testimonials/index.jsx","webpack:///./app/javascript/components/ListOfficePage/TopBanner/index.jsx","webpack:///./app/javascript/components/ListOfficePage/index.jsx","webpack:///./app/javascript/components/ListOfficePage/praiceLinks.js","webpack:///./app/javascript/components/ListView/DropdownSelector/index.jsx","webpack:///./app/javascript/components/ListView/EnergyRatingFilter/index.jsx","webpack:///./app/javascript/components/ListView/FacilitiesFilter/index.jsx","webpack:///./app/javascript/components/ListView/GridViewItem/GridViewAdvertisment.jsx","webpack:///./app/javascript/components/ListView/GridViewItem/GridViewItem.jsx","webpack:///./app/javascript/components/ListView/GridViewItem/GridViewItemList.jsx","webpack:///./app/javascript/components/ListView/GridViewItem/GridViewSearchAgent.jsx","webpack:///./app/javascript/components/ListView/ListViewItems/ListViewAdvertisment.jsx","webpack:///./app/javascript/components/ListView/ListViewItems/ListViewItems.jsx","webpack:///./app/javascript/components/ListView/ListViewItems/ListViewItemsList.jsx","webpack:///./app/javascript/components/ListView/ListViewItems/ListViewSearchAgent.jsx","webpack:///./app/javascript/components/ListView/MapSection/InfoWrapper.jsx","webpack:///./app/javascript/components/ListView/MapSection/MapMarker.jsx","webpack:///./app/javascript/components/ListView/MapSection/MapWrapper.jsx","webpack:///./app/javascript/components/ListView/MapSection/MarkerContent.jsx","webpack:///./app/javascript/components/ListView/MapSection/MarkersList.jsx","webpack:///./app/javascript/components/ListView/MapSection/index.jsx","webpack:///./app/javascript/components/ListView/SharedComponents/ItemsListComponents.jsx","webpack:///./app/javascript/components/ListView/SuitableForFilter/index.jsx","webpack:///./app/javascript/components/ListView/ViewedLocations/index.jsx","webpack:///./app/javascript/components/LocationsComparison/ComparisonColumns.jsx","webpack:///./app/javascript/components/LocationsComparison/ComparisonTable.jsx","webpack:///./app/javascript/components/LocationsComparison/Table.jsx","webpack:///./app/javascript/components/LocationsComparison/index.jsx","webpack:///./app/javascript/components/LoginPage/ForgotPassword.jsx","webpack:///./app/javascript/components/LoginPage/ForgotPasswordForm.jsx","webpack:///./app/javascript/components/LoginPage/LoginForm.jsx","webpack:///./app/javascript/components/LoginPage/index.jsx","webpack:///./app/javascript/components/Map/MainMap.jsx","webpack:///./app/javascript/components/Map/MainMapWrapper.jsx","webpack:///./app/javascript/components/Map/MapWrapper.jsx","webpack:///./app/javascript/components/Map/MarkerContent.jsx","webpack:///./app/javascript/components/Map/MarkerWrapper.jsx","webpack:///./app/javascript/components/Map/ParkingMarker.jsx","webpack:///./app/javascript/components/Map/ParkingMarkerMap.jsx","webpack:///./app/javascript/components/NewMainMap/DetailMap.jsx","webpack:///./app/javascript/components/NewMainMap/DetailsMapWrapper.jsx","webpack:///./app/javascript/components/NewMainMap/ParkingMarkerMap.jsx","webpack:///./app/javascript/components/OrderConfirmation/VirtualTourModal.jsx","webpack:///./app/javascript/components/OrderConfirmation/index.jsx","webpack:///./app/javascript/components/OrderForm/InfoModal.jsx","webpack:///./app/javascript/components/Provider/ApolloClient/fragments.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Visuals/InteriorDesignForm.jsx","webpack:///./app/javascript/components/RecoveryPassword/RecoveryPassword.jsx","webpack:///./app/javascript/components/RecoveryPassword/RecoveryPasswordForm.jsx","webpack:///./app/javascript/components/SearchAgent/InformationUnavailablePage.jsx","webpack:///./app/javascript/components/SharedComponents/Badges.jsx","webpack:///./app/javascript/components/SharedComponents/Charts/CircularChart.jsx","webpack:///./app/javascript/components/SharedComponents/Charts/PercentagePieChart.jsx","webpack:///./app/javascript/components/SharedComponents/CollapsibleSection/index.jsx","webpack:///./app/javascript/components/SharedComponents/CompareIcon/index.jsx","webpack:///./app/javascript/utils/ComparableLocations.js","webpack:///./app/javascript/components/SharedComponents/DropDownContainer.jsx","webpack:///./app/javascript/components/SharedComponents/DropdownSelectWithSearch.jsx","webpack:///./app/javascript/components/SharedComponents/GetInfoFormModal/index.jsx","webpack:///./app/javascript/components/SharedComponents/GoogleReviewsWidget/index.jsx","webpack:///./app/javascript/components/SharedComponents/InfoBadges/index.jsx","webpack:///./app/javascript/components/SharedComponents/InfoNotice.jsx","webpack:///./app/javascript/components/SharedComponents/InformationUnavailable/index.jsx","webpack:///./app/javascript/components/SharedComponents/Loaders/AtomLoader.jsx","webpack:///./app/javascript/components/SharedComponents/Loaders/ModalLoader.jsx","webpack:///./app/javascript/components/SharedComponents/Loaders/PulsingLoader.jsx","webpack:///./app/javascript/components/SharedComponents/LocationTemplate/index.jsx","webpack:///./app/javascript/components/SharedComponents/ModalWindow/index.jsx","webpack:///./app/javascript/components/SharedComponents/NonLinearRangeSelector/index.jsx","webpack:///./app/javascript/components/SharedComponents/RequestCallModal/RequestCallForm.jsx","webpack:///./app/javascript/components/SharedComponents/RequestCallModal/index.jsx","webpack:///./app/javascript/components/SharedComponents/SearchOptionsModal/index.jsx","webpack:///./app/javascript/components/SharedComponents/SpaceCalculator/SpaceCalculatorModal.jsx","webpack:///./app/javascript/components/SharedComponents/SpaceCalculator/index.jsx","webpack:///./app/javascript/components/SharedComponents/TrustLogos.jsx","webpack:///./app/javascript/components/SharedComponents/TypeformButton.jsx","webpack:///./app/javascript/components/SignUp/Modals/BasicParkeringContent.jsx","webpack:///./app/javascript/components/SignUp/Modals/BasicPriceContent.jsx","webpack:///./app/javascript/components/SignUp/Modals/ContinueRegistrationModal.jsx","webpack:///./app/javascript/components/SignUp/Modals/MeetingRoomsInfoContent.jsx","webpack:///./app/javascript/components/SignUp/Modals/NoCureInfoContent.jsx","webpack:///./app/javascript/components/SignUp/Modals/TermsOfServiceContent.jsx","webpack:///./app/javascript/components/SignUp/Modals/index.jsx","webpack:///./app/javascript/components/SignUp/PaymentModel.jsx","webpack:///./app/javascript/components/SignUp/SignUpForm.jsx","webpack:///./app/javascript/components/SignUp/index.jsx","webpack:///./app/javascript/utils/NumberFormatter.js","webpack:///./app/javascript/components/SimilarLocations/index.jsx","webpack:///./app/javascript/components/SocialMedia/index.js","webpack:///./app/javascript/components/TopBar/LanguageSwitcher.jsx","webpack:///./app/javascript/components/TopBar/UnsupportedBrowserMessage.jsx","webpack:///./app/javascript/components/helpers/findPosition.js","webpack:///./app/javascript/components/helpers/numbersLandlordPartners.js","webpack:///./app/javascript/utils/SignUp.js","webpack:///./app/javascript/utils/localStorage.js"],"sourcesContent":["var map = {\n\t\"./Breadcrumb\": 65366,\n\t\"./Breadcrumb/\": 65366,\n\t\"./Breadcrumb/__tests__/index.spec\": 73526,\n\t\"./Breadcrumb/__tests__/index.spec.jsx\": 73526,\n\t\"./Breadcrumb/index\": 65366,\n\t\"./Breadcrumb/index.jsx\": 65366,\n\t\"./Breadcrumb/index.sass\": 8761,\n\t\"./DetailedViewHeader\": 24871,\n\t\"./DetailedViewHeader/\": 24871,\n\t\"./DetailedViewHeader/AskProviderModalForm\": 83800,\n\t\"./DetailedViewHeader/AskProviderModalForm/\": 83800,\n\t\"./DetailedViewHeader/AskProviderModalForm/ModalGetInfoFormMobile\": 97163,\n\t\"./DetailedViewHeader/AskProviderModalForm/ModalGetInfoFormMobile.jsx\": 97163,\n\t\"./DetailedViewHeader/AskProviderModalForm/ModalGetInfoFormMobile.sass\": 80221,\n\t\"./DetailedViewHeader/AskProviderModalForm/index\": 83800,\n\t\"./DetailedViewHeader/AskProviderModalForm/index.jsx\": 83800,\n\t\"./DetailedViewHeader/ClosedLocationBanner\": 57741,\n\t\"./DetailedViewHeader/ClosedLocationBanner/\": 57741,\n\t\"./DetailedViewHeader/ClosedLocationBanner/index\": 57741,\n\t\"./DetailedViewHeader/ClosedLocationBanner/index.jsx\": 57741,\n\t\"./DetailedViewHeader/ClosedLocationBanner/index.sass\": 69282,\n\t\"./DetailedViewHeader/CombinedLeases\": 82698,\n\t\"./DetailedViewHeader/CombinedLeases/\": 82698,\n\t\"./DetailedViewHeader/CombinedLeases/index\": 82698,\n\t\"./DetailedViewHeader/CombinedLeases/index.jsx\": 82698,\n\t\"./DetailedViewHeader/CombinedLeases/index.sass\": 34493,\n\t\"./DetailedViewHeader/Contacts\": 41191,\n\t\"./DetailedViewHeader/Contacts/\": 41191,\n\t\"./DetailedViewHeader/Contacts/SmallContactBlock\": 65924,\n\t\"./DetailedViewHeader/Contacts/SmallContactBlock.jsx\": 65924,\n\t\"./DetailedViewHeader/Contacts/index\": 41191,\n\t\"./DetailedViewHeader/Contacts/index.jsx\": 41191,\n\t\"./DetailedViewHeader/Contacts/index.sass\": 1148,\n\t\"./DetailedViewHeader/DescriptionSection\": 18396,\n\t\"./DetailedViewHeader/DescriptionSection/\": 18396,\n\t\"./DetailedViewHeader/DescriptionSection/Description\": 34791,\n\t\"./DetailedViewHeader/DescriptionSection/Description.jsx\": 34791,\n\t\"./DetailedViewHeader/DescriptionSection/Description.sass\": 2744,\n\t\"./DetailedViewHeader/DescriptionSection/DescriptionTopMenu\": 54716,\n\t\"./DetailedViewHeader/DescriptionSection/DescriptionTopMenu.jsx\": 54716,\n\t\"./DetailedViewHeader/DescriptionSection/index\": 18396,\n\t\"./DetailedViewHeader/DescriptionSection/index.jsx\": 18396,\n\t\"./DetailedViewHeader/DescriptionSection/index.sass\": 16725,\n\t\"./DetailedViewHeader/EconomySection\": 29161,\n\t\"./DetailedViewHeader/EconomySection/\": 29161,\n\t\"./DetailedViewHeader/EconomySection/SectionRow\": 90692,\n\t\"./DetailedViewHeader/EconomySection/SectionRow.jsx\": 90692,\n\t\"./DetailedViewHeader/EconomySection/index\": 29161,\n\t\"./DetailedViewHeader/EconomySection/index.jsx\": 29161,\n\t\"./DetailedViewHeader/EconomySection/index.sass\": 71212,\n\t\"./DetailedViewHeader/FactsAndFacilities\": 67276,\n\t\"./DetailedViewHeader/FactsAndFacilities/\": 67276,\n\t\"./DetailedViewHeader/FactsAndFacilities/DistancesListItem\": 29686,\n\t\"./DetailedViewHeader/FactsAndFacilities/DistancesListItem.jsx\": 29686,\n\t\"./DetailedViewHeader/FactsAndFacilities/FacilitiesListItem\": 80529,\n\t\"./DetailedViewHeader/FactsAndFacilities/FacilitiesListItem.jsx\": 80529,\n\t\"./DetailedViewHeader/FactsAndFacilities/ParkingListItem\": 87233,\n\t\"./DetailedViewHeader/FactsAndFacilities/ParkingListItem.jsx\": 87233,\n\t\"./DetailedViewHeader/FactsAndFacilities/index\": 67276,\n\t\"./DetailedViewHeader/FactsAndFacilities/index.jsx\": 67276,\n\t\"./DetailedViewHeader/FactsAndFacilities/index.sass\": 92027,\n\t\"./DetailedViewHeader/FixedNavigationBar\": 21423,\n\t\"./DetailedViewHeader/FixedNavigationBar/\": 21423,\n\t\"./DetailedViewHeader/FixedNavigationBar/index\": 21423,\n\t\"./DetailedViewHeader/FixedNavigationBar/index.jsx\": 21423,\n\t\"./DetailedViewHeader/FixedNavigationBar/index.sass\": 5494,\n\t\"./DetailedViewHeader/Gallery\": 72719,\n\t\"./DetailedViewHeader/Gallery/\": 72719,\n\t\"./DetailedViewHeader/Gallery/AssetBlock\": 93728,\n\t\"./DetailedViewHeader/Gallery/AssetBlock.jsx\": 93728,\n\t\"./DetailedViewHeader/Gallery/FullscreenGallery\": 31830,\n\t\"./DetailedViewHeader/Gallery/FullscreenGallery.jsx\": 31830,\n\t\"./DetailedViewHeader/Gallery/FullscreenGallery.sass\": 87652,\n\t\"./DetailedViewHeader/Gallery/GallerySwitcher\": 95859,\n\t\"./DetailedViewHeader/Gallery/GallerySwitcher.jsx\": 95859,\n\t\"./DetailedViewHeader/Gallery/GallerySwitcher.sass\": 31752,\n\t\"./DetailedViewHeader/Gallery/ImageGalleryWrapper\": 39743,\n\t\"./DetailedViewHeader/Gallery/ImageGalleryWrapper.jsx\": 39743,\n\t\"./DetailedViewHeader/Gallery/ImageGalleryWrapper.sass\": 22326,\n\t\"./DetailedViewHeader/Gallery/InteriorDesignBanner\": 2086,\n\t\"./DetailedViewHeader/Gallery/InteriorDesignBanner.jsx\": 2086,\n\t\"./DetailedViewHeader/Gallery/InteriorDesignBanner.sass\": 80183,\n\t\"./DetailedViewHeader/Gallery/Landscape\": 74409,\n\t\"./DetailedViewHeader/Gallery/Landscape.jsx\": 74409,\n\t\"./DetailedViewHeader/Gallery/Landscape.sass\": 67583,\n\t\"./DetailedViewHeader/Gallery/MobileGallery\": 20001,\n\t\"./DetailedViewHeader/Gallery/MobileGallery.jsx\": 20001,\n\t\"./DetailedViewHeader/Gallery/MobileGallery.sass\": 37169,\n\t\"./DetailedViewHeader/Gallery/index\": 72719,\n\t\"./DetailedViewHeader/Gallery/index.jsx\": 72719,\n\t\"./DetailedViewHeader/Gallery/index.sass\": 56461,\n\t\"./DetailedViewHeader/Header\": 70533,\n\t\"./DetailedViewHeader/Header/\": 70533,\n\t\"./DetailedViewHeader/Header/index\": 70533,\n\t\"./DetailedViewHeader/Header/index.jsx\": 70533,\n\t\"./DetailedViewHeader/Header/index.sass\": 76897,\n\t\"./DetailedViewHeader/InfoSections\": 31277,\n\t\"./DetailedViewHeader/InfoSections/\": 31277,\n\t\"./DetailedViewHeader/InfoSections/index\": 31277,\n\t\"./DetailedViewHeader/InfoSections/index.jsx\": 31277,\n\t\"./DetailedViewHeader/InfoSections/index.sass\": 70573,\n\t\"./DetailedViewHeader/LocationUnavailable\": 44140,\n\t\"./DetailedViewHeader/LocationUnavailable/\": 44140,\n\t\"./DetailedViewHeader/LocationUnavailable/index\": 44140,\n\t\"./DetailedViewHeader/LocationUnavailable/index.jsx\": 44140,\n\t\"./DetailedViewHeader/LocationUnavailable/index.sass\": 22788,\n\t\"./DetailedViewHeader/MapSection\": 75289,\n\t\"./DetailedViewHeader/MapSection/\": 75289,\n\t\"./DetailedViewHeader/MapSection/index\": 75289,\n\t\"./DetailedViewHeader/MapSection/index.jsx\": 75289,\n\t\"./DetailedViewHeader/SameAddressLocations\": 52537,\n\t\"./DetailedViewHeader/SameAddressLocations/\": 52537,\n\t\"./DetailedViewHeader/SameAddressLocations/index\": 52537,\n\t\"./DetailedViewHeader/SameAddressLocations/index.jsx\": 52537,\n\t\"./DetailedViewHeader/SameAddressLocations/index.sass\": 76421,\n\t\"./DetailedViewHeader/SmartTextTooltip\": 89775,\n\t\"./DetailedViewHeader/SmartTextTooltip/\": 89775,\n\t\"./DetailedViewHeader/SmartTextTooltip/index\": 89775,\n\t\"./DetailedViewHeader/SmartTextTooltip/index.jsx\": 89775,\n\t\"./DetailedViewHeader/SmartTextTooltip/index.sass\": 55166,\n\t\"./DetailedViewHeader/VirtualTour\": 97547,\n\t\"./DetailedViewHeader/VirtualTour/\": 97547,\n\t\"./DetailedViewHeader/VirtualTour/Form\": 60977,\n\t\"./DetailedViewHeader/VirtualTour/Form.jsx\": 60977,\n\t\"./DetailedViewHeader/VirtualTour/Form.sass\": 91037,\n\t\"./DetailedViewHeader/VirtualTour/index\": 97547,\n\t\"./DetailedViewHeader/VirtualTour/index.jsx\": 97547,\n\t\"./DetailedViewHeader/VirtualTour/index.sass\": 18964,\n\t\"./DetailedViewHeader/index\": 24871,\n\t\"./DetailedViewHeader/index.jsx\": 24871,\n\t\"./DetailedViewHeader/index.sass\": 69588,\n\t\"./EntryPage\": 96740,\n\t\"./EntryPage/\": 96740,\n\t\"./EntryPage/Benefits\": 32230,\n\t\"./EntryPage/Benefits/\": 32230,\n\t\"./EntryPage/Benefits/index\": 32230,\n\t\"./EntryPage/Benefits/index.jsx\": 32230,\n\t\"./EntryPage/Benefits/index.sass\": 99205,\n\t\"./EntryPage/BottomSeo\": 78094,\n\t\"./EntryPage/BottomSeo/\": 78094,\n\t\"./EntryPage/BottomSeo/index\": 78094,\n\t\"./EntryPage/BottomSeo/index.jsx\": 78094,\n\t\"./EntryPage/BottomSeo/index.sass\": 77439,\n\t\"./EntryPage/LatestLocations\": 75849,\n\t\"./EntryPage/LatestLocations/\": 75849,\n\t\"./EntryPage/LatestLocations/index\": 75849,\n\t\"./EntryPage/LatestLocations/index.jsx\": 75849,\n\t\"./EntryPage/LatestLocations/index.sass\": 12919,\n\t\"./EntryPage/ListViewBanner/ListViewBanner\": 79848,\n\t\"./EntryPage/ListViewBanner/ListViewBanner.jsx\": 79848,\n\t\"./EntryPage/ListViewBanner/ListViewBanner.sass\": 26483,\n\t\"./EntryPage/LocationNavigation\": 25184,\n\t\"./EntryPage/LocationNavigation/\": 25184,\n\t\"./EntryPage/LocationNavigation/LocationNavigator\": 53875,\n\t\"./EntryPage/LocationNavigation/LocationNavigator.jsx\": 53875,\n\t\"./EntryPage/LocationNavigation/LocationNavigator.sass\": 45514,\n\t\"./EntryPage/LocationNavigation/NavigationFilter\": 77438,\n\t\"./EntryPage/LocationNavigation/NavigationFilter.jsx\": 77438,\n\t\"./EntryPage/LocationNavigation/NavigationFilter.sass\": 65825,\n\t\"./EntryPage/LocationNavigation/index\": 25184,\n\t\"./EntryPage/LocationNavigation/index.jsx\": 25184,\n\t\"./EntryPage/LocationNavigation/index.sass\": 20756,\n\t\"./EntryPage/NewsSection\": 68341,\n\t\"./EntryPage/NewsSection/\": 68341,\n\t\"./EntryPage/NewsSection/NewsletterWidget\": 68468,\n\t\"./EntryPage/NewsSection/NewsletterWidget.jsx\": 68468,\n\t\"./EntryPage/NewsSection/NewsletterWidget.sass\": 88460,\n\t\"./EntryPage/NewsSection/index\": 68341,\n\t\"./EntryPage/NewsSection/index.jsx\": 68341,\n\t\"./EntryPage/NewsSection/index.sass\": 62902,\n\t\"./EntryPage/ProviderLogos\": 2983,\n\t\"./EntryPage/ProviderLogos/\": 2983,\n\t\"./EntryPage/ProviderLogos/index\": 2983,\n\t\"./EntryPage/ProviderLogos/index.jsx\": 2983,\n\t\"./EntryPage/ProviderLogos/index.sass\": 33180,\n\t\"./EntryPage/TopSection\": 1336,\n\t\"./EntryPage/TopSection/\": 1336,\n\t\"./EntryPage/TopSection/BasicSearch\": 27685,\n\t\"./EntryPage/TopSection/BasicSearch/\": 27685,\n\t\"./EntryPage/TopSection/BasicSearch/index\": 27685,\n\t\"./EntryPage/TopSection/BasicSearch/index.jsx\": 27685,\n\t\"./EntryPage/TopSection/BasicSearch/index.sass\": 98927,\n\t\"./EntryPage/TopSection/CheckboxTypeFilter\": 29722,\n\t\"./EntryPage/TopSection/CheckboxTypeFilter/\": 29722,\n\t\"./EntryPage/TopSection/CheckboxTypeFilter/index\": 29722,\n\t\"./EntryPage/TopSection/CheckboxTypeFilter/index.jsx\": 29722,\n\t\"./EntryPage/TopSection/CheckboxTypeFilter/index.sass\": 94400,\n\t\"./EntryPage/TopSection/index\": 1336,\n\t\"./EntryPage/TopSection/index.jsx\": 1336,\n\t\"./EntryPage/TopSection/index.sass\": 68917,\n\t\"./EntryPage/TopSeo\": 16794,\n\t\"./EntryPage/TopSeo/\": 16794,\n\t\"./EntryPage/TopSeo/index\": 16794,\n\t\"./EntryPage/TopSeo/index.jsx\": 16794,\n\t\"./EntryPage/TopSeo/index.sass\": 66573,\n\t\"./EntryPage/index\": 96740,\n\t\"./EntryPage/index.jsx\": 96740,\n\t\"./EntryPage/index.sass\": 24586,\n\t\"./ErrorBoundary\": 77448,\n\t\"./ErrorBoundary/\": 77448,\n\t\"./ErrorBoundary/ErrorModalDialog\": 91221,\n\t\"./ErrorBoundary/ErrorModalDialog.jsx\": 91221,\n\t\"./ErrorBoundary/index\": 77448,\n\t\"./ErrorBoundary/index.jsx\": 77448,\n\t\"./ErrorPage\": 45105,\n\t\"./ErrorPage/\": 45105,\n\t\"./ErrorPage/index\": 45105,\n\t\"./ErrorPage/index.jsx\": 45105,\n\t\"./ErrorPage/index.sass\": 75412,\n\t\"./FavoritesPage\": 46948,\n\t\"./FavoritesPage/\": 46948,\n\t\"./FavoritesPage/EmptyPage\": 96333,\n\t\"./FavoritesPage/EmptyPage.jsx\": 96333,\n\t\"./FavoritesPage/EmptyPage.sass\": 91325,\n\t\"./FavoritesPage/FavoritesItem\": 91070,\n\t\"./FavoritesPage/FavoritesItem.jsx\": 91070,\n\t\"./FavoritesPage/FavoritesItem.sass\": 44383,\n\t\"./FavoritesPage/FavoritesList\": 95044,\n\t\"./FavoritesPage/FavoritesList.jsx\": 95044,\n\t\"./FavoritesPage/FavoritesList.sass\": 4859,\n\t\"./FavoritesPage/StickyBar\": 19307,\n\t\"./FavoritesPage/StickyBar/\": 19307,\n\t\"./FavoritesPage/StickyBar/index\": 19307,\n\t\"./FavoritesPage/StickyBar/index.jsx\": 19307,\n\t\"./FavoritesPage/StickyBar/index.sass\": 59162,\n\t\"./FavoritesPage/index\": 46948,\n\t\"./FavoritesPage/index.jsx\": 46948,\n\t\"./FavoritesPage/index.sass\": 71948,\n\t\"./Footer\": 35672,\n\t\"./Footer/\": 35672,\n\t\"./Footer/FooterBottom\": 11563,\n\t\"./Footer/FooterBottom.jsx\": 11563,\n\t\"./Footer/FooterLinks\": 80702,\n\t\"./Footer/FooterLinks.jsx\": 80702,\n\t\"./Footer/index\": 35672,\n\t\"./Footer/index.jsx\": 35672,\n\t\"./Footer/index.sass\": 436,\n\t\"./Gallery\": 76189,\n\t\"./Gallery/\": 76189,\n\t\"./Gallery/CrawledLocationImg\": 2196,\n\t\"./Gallery/CrawledLocationImg.jsx\": 2196,\n\t\"./Gallery/InteriorDesignBanner\": 7256,\n\t\"./Gallery/InteriorDesignBanner.jsx\": 7256,\n\t\"./Gallery/InteriorDesignBanner.sass\": 54230,\n\t\"./Gallery/Landscape\": 21396,\n\t\"./Gallery/Landscape.jsx\": 21396,\n\t\"./Gallery/Landscape.sass\": 33984,\n\t\"./Gallery/__tests__/index.spec\": 44129,\n\t\"./Gallery/__tests__/index.spec.jsx\": 44129,\n\t\"./Gallery/index\": 76189,\n\t\"./Gallery/index.jsx\": 76189,\n\t\"./Gallery/index.sass\": 28954,\n\t\"./ListOfficePage\": 20060,\n\t\"./ListOfficePage/\": 20060,\n\t\"./ListOfficePage/AdvBannerDk\": 75315,\n\t\"./ListOfficePage/AdvBannerDk/\": 75315,\n\t\"./ListOfficePage/AdvBannerDk/index\": 75315,\n\t\"./ListOfficePage/AdvBannerDk/index.jsx\": 75315,\n\t\"./ListOfficePage/AdvBannerDk/index.sass\": 20327,\n\t\"./ListOfficePage/BenefitsSection\": 7651,\n\t\"./ListOfficePage/BenefitsSection/\": 7651,\n\t\"./ListOfficePage/BenefitsSection/BenefitsMobile\": 39433,\n\t\"./ListOfficePage/BenefitsSection/BenefitsMobile.jsx\": 39433,\n\t\"./ListOfficePage/BenefitsSection/BenefitsMobile.sass\": 63039,\n\t\"./ListOfficePage/BenefitsSection/index\": 7651,\n\t\"./ListOfficePage/BenefitsSection/index.jsx\": 7651,\n\t\"./ListOfficePage/BenefitsSection/index.sass\": 58423,\n\t\"./ListOfficePage/Calendly\": 51578,\n\t\"./ListOfficePage/Calendly/\": 51578,\n\t\"./ListOfficePage/Calendly/index\": 51578,\n\t\"./ListOfficePage/Calendly/index.jsx\": 51578,\n\t\"./ListOfficePage/Calendly/index.sass\": 64942,\n\t\"./ListOfficePage/ContactsSection\": 59221,\n\t\"./ListOfficePage/ContactsSection/\": 59221,\n\t\"./ListOfficePage/ContactsSection/index\": 59221,\n\t\"./ListOfficePage/ContactsSection/index.jsx\": 59221,\n\t\"./ListOfficePage/ContactsSection/index.sass\": 1715,\n\t\"./ListOfficePage/ContractsBottom\": 42584,\n\t\"./ListOfficePage/ContractsBottom/\": 42584,\n\t\"./ListOfficePage/ContractsBottom/index\": 42584,\n\t\"./ListOfficePage/ContractsBottom/index.jsx\": 42584,\n\t\"./ListOfficePage/ContractsBottom/index.sass\": 58899,\n\t\"./ListOfficePage/ContractsTop\": 1930,\n\t\"./ListOfficePage/ContractsTop/\": 1930,\n\t\"./ListOfficePage/ContractsTop/ContactBlock\": 4990,\n\t\"./ListOfficePage/ContractsTop/ContactBlock.jsx\": 4990,\n\t\"./ListOfficePage/ContractsTop/ContactBlock.sass\": 16522,\n\t\"./ListOfficePage/ContractsTop/FormSentModalThankyou\": 20514,\n\t\"./ListOfficePage/ContractsTop/FormSentModalThankyou.jsx\": 20514,\n\t\"./ListOfficePage/ContractsTop/FormSentModalThankyou.sass\": 18465,\n\t\"./ListOfficePage/ContractsTop/GetContactForm\": 91353,\n\t\"./ListOfficePage/ContractsTop/GetContactForm.sass\": 91353,\n\t\"./ListOfficePage/ContractsTop/GetContactModalForm\": 65291,\n\t\"./ListOfficePage/ContractsTop/GetContactModalForm.jsx\": 65291,\n\t\"./ListOfficePage/ContractsTop/TableContent\": 58296,\n\t\"./ListOfficePage/ContractsTop/TableContent.jsx\": 58296,\n\t\"./ListOfficePage/ContractsTop/TableContent.sass\": 41088,\n\t\"./ListOfficePage/ContractsTop/index\": 1930,\n\t\"./ListOfficePage/ContractsTop/index.jsx\": 1930,\n\t\"./ListOfficePage/ContractsTop/index.sass\": 9519,\n\t\"./ListOfficePage/PaymentTeasersSection\": 476,\n\t\"./ListOfficePage/PaymentTeasersSection/\": 476,\n\t\"./ListOfficePage/PaymentTeasersSection/index\": 476,\n\t\"./ListOfficePage/PaymentTeasersSection/index.jsx\": 476,\n\t\"./ListOfficePage/PaymentTeasersSection/index.sass\": 70470,\n\t\"./ListOfficePage/ProvidersSection\": 18690,\n\t\"./ListOfficePage/ProvidersSection/\": 18690,\n\t\"./ListOfficePage/ProvidersSection/index\": 18690,\n\t\"./ListOfficePage/ProvidersSection/index.jsx\": 18690,\n\t\"./ListOfficePage/ProvidersSection/index.sass\": 47070,\n\t\"./ListOfficePage/TeaserBlocks\": 23588,\n\t\"./ListOfficePage/TeaserBlocks/\": 23588,\n\t\"./ListOfficePage/TeaserBlocks/ContactForm\": 69134,\n\t\"./ListOfficePage/TeaserBlocks/ContactForm/\": 69134,\n\t\"./ListOfficePage/TeaserBlocks/ContactForm/Contactform\": 75184,\n\t\"./ListOfficePage/TeaserBlocks/ContactForm/Contactform.sass\": 75184,\n\t\"./ListOfficePage/TeaserBlocks/ContactForm/index\": 69134,\n\t\"./ListOfficePage/TeaserBlocks/ContactForm/index.jsx\": 69134,\n\t\"./ListOfficePage/TeaserBlocks/index\": 23588,\n\t\"./ListOfficePage/TeaserBlocks/index.jsx\": 23588,\n\t\"./ListOfficePage/TeaserBlocks/index.sass\": 36533,\n\t\"./ListOfficePage/Testimonials\": 72672,\n\t\"./ListOfficePage/Testimonials/\": 72672,\n\t\"./ListOfficePage/Testimonials/TestimonialBlock\": 92550,\n\t\"./ListOfficePage/Testimonials/TestimonialBlock.jsx\": 92550,\n\t\"./ListOfficePage/Testimonials/TestimonialBlock.sass\": 80549,\n\t\"./ListOfficePage/Testimonials/data\": 14885,\n\t\"./ListOfficePage/Testimonials/data.js\": 14885,\n\t\"./ListOfficePage/Testimonials/index\": 72672,\n\t\"./ListOfficePage/Testimonials/index.jsx\": 72672,\n\t\"./ListOfficePage/Testimonials/index.sass\": 98095,\n\t\"./ListOfficePage/TopBanner\": 2709,\n\t\"./ListOfficePage/TopBanner/\": 2709,\n\t\"./ListOfficePage/TopBanner/index\": 2709,\n\t\"./ListOfficePage/TopBanner/index.jsx\": 2709,\n\t\"./ListOfficePage/TopBanner/index.sass\": 17092,\n\t\"./ListOfficePage/index\": 20060,\n\t\"./ListOfficePage/index.jsx\": 20060,\n\t\"./ListOfficePage/index.sass\": 19231,\n\t\"./ListOfficePage/praiceLinks\": 66203,\n\t\"./ListOfficePage/praiceLinks.js\": 66203,\n\t\"./ListView\": 62974,\n\t\"./ListView/\": 62974,\n\t\"./ListView/AreaFilter\": 42033,\n\t\"./ListView/AreaFilter/\": 42033,\n\t\"./ListView/AreaFilter/index\": 42033,\n\t\"./ListView/AreaFilter/index.jsx\": 42033,\n\t\"./ListView/AreaFilter/index.sass\": 92339,\n\t\"./ListView/BottomSeo\": 89274,\n\t\"./ListView/BottomSeo/\": 89274,\n\t\"./ListView/BottomSeo/index\": 89274,\n\t\"./ListView/BottomSeo/index.jsx\": 89274,\n\t\"./ListView/BottomSeo/index.sass\": 92677,\n\t\"./ListView/DropdownSelector\": 29127,\n\t\"./ListView/DropdownSelector/\": 29127,\n\t\"./ListView/DropdownSelector/index\": 29127,\n\t\"./ListView/DropdownSelector/index.jsx\": 29127,\n\t\"./ListView/DropdownSelector/index.sass\": 62060,\n\t\"./ListView/EnergyRatingFilter\": 91260,\n\t\"./ListView/EnergyRatingFilter/\": 91260,\n\t\"./ListView/EnergyRatingFilter/index\": 91260,\n\t\"./ListView/EnergyRatingFilter/index.jsx\": 91260,\n\t\"./ListView/EnergyRatingFilter/index.sass\": 56578,\n\t\"./ListView/FacilitiesFilter\": 56338,\n\t\"./ListView/FacilitiesFilter/\": 56338,\n\t\"./ListView/FacilitiesFilter/index\": 56338,\n\t\"./ListView/FacilitiesFilter/index.jsx\": 56338,\n\t\"./ListView/FacilitiesFilter/index.sass\": 52169,\n\t\"./ListView/GridViewItem/GridViewAdvertisment\": 76728,\n\t\"./ListView/GridViewItem/GridViewAdvertisment.jsx\": 76728,\n\t\"./ListView/GridViewItem/GridViewAdvertisment.sass\": 53644,\n\t\"./ListView/GridViewItem/GridViewItem\": 90563,\n\t\"./ListView/GridViewItem/GridViewItem.jsx\": 90563,\n\t\"./ListView/GridViewItem/GridViewItem.sass\": 36797,\n\t\"./ListView/GridViewItem/GridViewItemList\": 60794,\n\t\"./ListView/GridViewItem/GridViewItemList.jsx\": 60794,\n\t\"./ListView/GridViewItem/GridViewSearchAgent\": 82508,\n\t\"./ListView/GridViewItem/GridViewSearchAgent.jsx\": 82508,\n\t\"./ListView/GridViewItem/GridViewSearchAgent.sass\": 61759,\n\t\"./ListView/HeaderSection\": 27796,\n\t\"./ListView/HeaderSection/\": 27796,\n\t\"./ListView/HeaderSection/index\": 27796,\n\t\"./ListView/HeaderSection/index.jsx\": 27796,\n\t\"./ListView/HeaderSection/index.sass\": 57572,\n\t\"./ListView/ListViewItems/ListViewAdvertisment\": 1013,\n\t\"./ListView/ListViewItems/ListViewAdvertisment.jsx\": 1013,\n\t\"./ListView/ListViewItems/ListViewAdvertisment.sass\": 65724,\n\t\"./ListView/ListViewItems/ListViewItems\": 40955,\n\t\"./ListView/ListViewItems/ListViewItems.jsx\": 40955,\n\t\"./ListView/ListViewItems/ListViewItems.sass\": 2104,\n\t\"./ListView/ListViewItems/ListViewItemsList\": 38710,\n\t\"./ListView/ListViewItems/ListViewItemsList.jsx\": 38710,\n\t\"./ListView/ListViewItems/ListViewSearchAgent\": 55462,\n\t\"./ListView/ListViewItems/ListViewSearchAgent.jsx\": 55462,\n\t\"./ListView/ListViewItems/ListViewSearchAgent.sass\": 33330,\n\t\"./ListView/LocationsContent\": 72372,\n\t\"./ListView/LocationsContent/\": 72372,\n\t\"./ListView/LocationsContent/index\": 72372,\n\t\"./ListView/LocationsContent/index.jsx\": 72372,\n\t\"./ListView/LocationsContent/index.sass\": 11029,\n\t\"./ListView/MainFilter\": 41098,\n\t\"./ListView/MainFilter/\": 41098,\n\t\"./ListView/MainFilter/StickyFilterBar\": 66661,\n\t\"./ListView/MainFilter/StickyFilterBar.jsx\": 66661,\n\t\"./ListView/MainFilter/index\": 41098,\n\t\"./ListView/MainFilter/index.jsx\": 41098,\n\t\"./ListView/MainFilter/index.sass\": 44167,\n\t\"./ListView/MapSection\": 24,\n\t\"./ListView/MapSection/\": 24,\n\t\"./ListView/MapSection/InfoWrapper\": 30737,\n\t\"./ListView/MapSection/InfoWrapper.jsx\": 30737,\n\t\"./ListView/MapSection/MapMarker\": 63399,\n\t\"./ListView/MapSection/MapMarker.jsx\": 63399,\n\t\"./ListView/MapSection/MapWrapper\": 58850,\n\t\"./ListView/MapSection/MapWrapper.jsx\": 58850,\n\t\"./ListView/MapSection/MarkerContent\": 94530,\n\t\"./ListView/MapSection/MarkerContent.jsx\": 94530,\n\t\"./ListView/MapSection/MarkerContent.sass\": 80965,\n\t\"./ListView/MapSection/MarkersList\": 6210,\n\t\"./ListView/MapSection/MarkersList.jsx\": 6210,\n\t\"./ListView/MapSection/MarkersList.sass\": 74696,\n\t\"./ListView/MapSection/index\": 24,\n\t\"./ListView/MapSection/index.jsx\": 24,\n\t\"./ListView/MapSection/index.sass\": 71573,\n\t\"./ListView/SharedComponents/ItemsListComponents\": 60811,\n\t\"./ListView/SharedComponents/ItemsListComponents.jsx\": 60811,\n\t\"./ListView/SharedComponents/ItemsListComponents.sass\": 52810,\n\t\"./ListView/SortBar\": 59587,\n\t\"./ListView/SortBar/\": 59587,\n\t\"./ListView/SortBar/index\": 59587,\n\t\"./ListView/SortBar/index.jsx\": 59587,\n\t\"./ListView/SortBar/index.sass\": 24833,\n\t\"./ListView/SuitableForFilter\": 94764,\n\t\"./ListView/SuitableForFilter/\": 94764,\n\t\"./ListView/SuitableForFilter/index\": 94764,\n\t\"./ListView/SuitableForFilter/index.jsx\": 94764,\n\t\"./ListView/SuitableForFilter/index.sass\": 204,\n\t\"./ListView/ViewedLocations\": 57194,\n\t\"./ListView/ViewedLocations/\": 57194,\n\t\"./ListView/ViewedLocations/index\": 57194,\n\t\"./ListView/ViewedLocations/index.jsx\": 57194,\n\t\"./ListView/ViewedLocations/index.sass\": 16047,\n\t\"./ListView/data\": 48339,\n\t\"./ListView/data.js\": 48339,\n\t\"./ListView/index\": 62974,\n\t\"./ListView/index.jsx\": 62974,\n\t\"./ListView/index.sass\": 39093,\n\t\"./LocationSearch\": 5652,\n\t\"./LocationSearch/\": 5652,\n\t\"./LocationSearch/ResultsContainer\": 44293,\n\t\"./LocationSearch/ResultsContainer.jsx\": 44293,\n\t\"./LocationSearch/__tests__/ResultsContainer.spec\": 42886,\n\t\"./LocationSearch/__tests__/ResultsContainer.spec.jsx\": 42886,\n\t\"./LocationSearch/__tests__/index.spec\": 54701,\n\t\"./LocationSearch/__tests__/index.spec.jsx\": 54701,\n\t\"./LocationSearch/index\": 5652,\n\t\"./LocationSearch/index.jsx\": 5652,\n\t\"./LocationSearch/index.sass\": 25260,\n\t\"./LocationsComparison\": 35870,\n\t\"./LocationsComparison/\": 35870,\n\t\"./LocationsComparison/ComparisonColumns\": 90295,\n\t\"./LocationsComparison/ComparisonColumns.jsx\": 90295,\n\t\"./LocationsComparison/ComparisonTable\": 99017,\n\t\"./LocationsComparison/ComparisonTable.jsx\": 99017,\n\t\"./LocationsComparison/ComparisonTable.sass\": 25084,\n\t\"./LocationsComparison/Table\": 89344,\n\t\"./LocationsComparison/Table.jsx\": 89344,\n\t\"./LocationsComparison/index\": 35870,\n\t\"./LocationsComparison/index.jsx\": 35870,\n\t\"./LocationsComparison/index.sass\": 16556,\n\t\"./LoginPage\": 501,\n\t\"./LoginPage/\": 501,\n\t\"./LoginPage/ForgotPassword\": 59791,\n\t\"./LoginPage/ForgotPassword.jsx\": 59791,\n\t\"./LoginPage/ForgotPassword.sass\": 13432,\n\t\"./LoginPage/ForgotPasswordForm\": 13654,\n\t\"./LoginPage/ForgotPasswordForm.jsx\": 13654,\n\t\"./LoginPage/LoginForm\": 82942,\n\t\"./LoginPage/LoginForm.jsx\": 82942,\n\t\"./LoginPage/LoginForm.sass\": 824,\n\t\"./LoginPage/index\": 501,\n\t\"./LoginPage/index.jsx\": 501,\n\t\"./LoginPage/index.sass\": 59374,\n\t\"./Map\": 63903,\n\t\"./Map/\": 63903,\n\t\"./Map/BaseMap\": 48619,\n\t\"./Map/BaseMap.jsx\": 48619,\n\t\"./Map/MainMap\": 4418,\n\t\"./Map/MainMap.jsx\": 4418,\n\t\"./Map/MainMap.sass\": 31581,\n\t\"./Map/MainMapWrapper\": 79248,\n\t\"./Map/MainMapWrapper.jsx\": 79248,\n\t\"./Map/MapWrapper\": 33678,\n\t\"./Map/MapWrapper.jsx\": 33678,\n\t\"./Map/MarkerContent\": 17291,\n\t\"./Map/MarkerContent.jsx\": 17291,\n\t\"./Map/MarkerInfoWindow\": 63885,\n\t\"./Map/MarkerInfoWindow.sass\": 63885,\n\t\"./Map/MarkerWrapper\": 78336,\n\t\"./Map/MarkerWrapper.jsx\": 78336,\n\t\"./Map/ParkingMarker\": 88218,\n\t\"./Map/ParkingMarker.jsx\": 88218,\n\t\"./Map/ParkingMarker.sass\": 73471,\n\t\"./Map/ParkingMarkerMap\": 94980,\n\t\"./Map/ParkingMarkerMap.jsx\": 94980,\n\t\"./Map/index\": 63903,\n\t\"./Map/index.jsx\": 63903,\n\t\"./Map/style.json\": 23236,\n\t\"./NewMainMap/DetailMap\": 51512,\n\t\"./NewMainMap/DetailMap.jsx\": 51512,\n\t\"./NewMainMap/DetailsMap\": 5751,\n\t\"./NewMainMap/DetailsMap.sass\": 5751,\n\t\"./NewMainMap/DetailsMapWrapper\": 51550,\n\t\"./NewMainMap/DetailsMapWrapper.jsx\": 51550,\n\t\"./NewMainMap/ParkingMarkerMap\": 37038,\n\t\"./NewMainMap/ParkingMarkerMap.jsx\": 37038,\n\t\"./OrderConfirmation\": 96468,\n\t\"./OrderConfirmation/\": 96468,\n\t\"./OrderConfirmation/VirtualTourModal\": 39272,\n\t\"./OrderConfirmation/VirtualTourModal.jsx\": 39272,\n\t\"./OrderConfirmation/index\": 96468,\n\t\"./OrderConfirmation/index.jsx\": 96468,\n\t\"./OrderConfirmation/styles/style\": 49938,\n\t\"./OrderConfirmation/styles/style.sass\": 49938,\n\t\"./OrderConfirmation/styles/virtual-tour\": 19397,\n\t\"./OrderConfirmation/styles/virtual-tour.sass\": 19397,\n\t\"./OrderForm\": 19507,\n\t\"./OrderForm/\": 19507,\n\t\"./OrderForm/Buttons\": 74493,\n\t\"./OrderForm/Buttons.jsx\": 74493,\n\t\"./OrderForm/Buttons.sass\": 81766,\n\t\"./OrderForm/ContactForm\": 98880,\n\t\"./OrderForm/ContactForm.jsx\": 98880,\n\t\"./OrderForm/InfoForm\": 74140,\n\t\"./OrderForm/InfoForm.jsx\": 74140,\n\t\"./OrderForm/InfoModal\": 96965,\n\t\"./OrderForm/InfoModal.jsx\": 96965,\n\t\"./OrderForm/InfoModal.sass\": 18660,\n\t\"./OrderForm/ShowCaseForm\": 57268,\n\t\"./OrderForm/ShowCaseForm.jsx\": 57268,\n\t\"./OrderForm/index\": 19507,\n\t\"./OrderForm/index.jsx\": 19507,\n\t\"./OrderForm/index.sass\": 28884,\n\t\"./Provider\": 70005,\n\t\"./Provider/\": 70005,\n\t\"./Provider/ActiveSessions\": 53690,\n\t\"./Provider/ActiveSessions/\": 53690,\n\t\"./Provider/ActiveSessions/index\": 53690,\n\t\"./Provider/ActiveSessions/index.jsx\": 53690,\n\t\"./Provider/ActiveSessions/index.sass\": 86218,\n\t\"./Provider/AdvertismentBlock\": 96113,\n\t\"./Provider/AdvertismentBlock/\": 96113,\n\t\"./Provider/AdvertismentBlock/Banners\": 88589,\n\t\"./Provider/AdvertismentBlock/Banners.jsx\": 88589,\n\t\"./Provider/AdvertismentBlock/index\": 96113,\n\t\"./Provider/AdvertismentBlock/index.jsx\": 96113,\n\t\"./Provider/AdvertismentBlock/index.sass\": 76138,\n\t\"./Provider/ApolloClient/client\": 4014,\n\t\"./Provider/ApolloClient/client.js\": 4014,\n\t\"./Provider/ApolloClient/fragments\": 61488,\n\t\"./Provider/ApolloClient/fragments.jsx\": 61488,\n\t\"./Provider/ApolloClient/mutations\": 14548,\n\t\"./Provider/ApolloClient/mutations.jsx\": 14548,\n\t\"./Provider/ApolloClient/queries\": 21653,\n\t\"./Provider/ApolloClient/queries.js\": 21653,\n\t\"./Provider/Banners/AnonymousBanner\": 15921,\n\t\"./Provider/Banners/AnonymousBanner.jsx\": 15921,\n\t\"./Provider/Banners/AnonymousBanner.sass\": 94636,\n\t\"./Provider/ClientInfo/ClientInfo\": 39426,\n\t\"./Provider/ClientInfo/ClientInfo.jsx\": 39426,\n\t\"./Provider/ClientInfo/ClientInfo.sass\": 35077,\n\t\"./Provider/ClientInfo/ContactInfo\": 70198,\n\t\"./Provider/ClientInfo/ContactInfo.jsx\": 70198,\n\t\"./Provider/ClientInfo/ContactInfoForm\": 95102,\n\t\"./Provider/ClientInfo/ContactInfoForm.jsx\": 95102,\n\t\"./Provider/ClientInfo/Notes\": 43728,\n\t\"./Provider/ClientInfo/Notes/\": 43728,\n\t\"./Provider/ClientInfo/Notes/index\": 43728,\n\t\"./Provider/ClientInfo/Notes/index.jsx\": 43728,\n\t\"./Provider/ClientInfo/Notes/index.sass\": 1163,\n\t\"./Provider/Clients\": 2021,\n\t\"./Provider/Clients/\": 2021,\n\t\"./Provider/Clients/ClientsColumns\": 76855,\n\t\"./Provider/Clients/ClientsColumns.jsx\": 76855,\n\t\"./Provider/Clients/ClientsTable\": 47549,\n\t\"./Provider/Clients/ClientsTable.jsx\": 47549,\n\t\"./Provider/Clients/index\": 2021,\n\t\"./Provider/Clients/index.jsx\": 2021,\n\t\"./Provider/Clients/index.sass\": 14944,\n\t\"./Provider/ContactsPage\": 70086,\n\t\"./Provider/ContactsPage/\": 70086,\n\t\"./Provider/ContactsPage/ContactsTable\": 40904,\n\t\"./Provider/ContactsPage/ContactsTable.jsx\": 40904,\n\t\"./Provider/ContactsPage/ContactsTable.sass\": 45778,\n\t\"./Provider/ContactsPage/CreateNewContact\": 64854,\n\t\"./Provider/ContactsPage/CreateNewContact.jsx\": 64854,\n\t\"./Provider/ContactsPage/index\": 70086,\n\t\"./Provider/ContactsPage/index.jsx\": 70086,\n\t\"./Provider/ContactsPage/index.sass\": 40840,\n\t\"./Provider/Errors/ModalNetworkError\": 77852,\n\t\"./Provider/Errors/ModalNetworkError.jsx\": 77852,\n\t\"./Provider/Errors/ModalNetworkError.sass\": 51435,\n\t\"./Provider/Errors/NetworkError\": 14393,\n\t\"./Provider/Errors/NetworkError.jsx\": 14393,\n\t\"./Provider/Errors/NetworkError.sass\": 55863,\n\t\"./Provider/Errors/Page404\": 3170,\n\t\"./Provider/Errors/Page404.jsx\": 3170,\n\t\"./Provider/Errors/PageInfoMessage\": 79414,\n\t\"./Provider/Errors/PageInfoMessage.jsx\": 79414,\n\t\"./Provider/Errors/PageInfoMessage.sass\": 97131,\n\t\"./Provider/Footer\": 82513,\n\t\"./Provider/Footer/\": 82513,\n\t\"./Provider/Footer/index\": 82513,\n\t\"./Provider/Footer/index.jsx\": 82513,\n\t\"./Provider/Footer/index.sass\": 35117,\n\t\"./Provider/HelpPage\": 92080,\n\t\"./Provider/HelpPage/\": 92080,\n\t\"./Provider/HelpPage/index\": 92080,\n\t\"./Provider/HelpPage/index.jsx\": 92080,\n\t\"./Provider/HelpPage/index.sass\": 32185,\n\t\"./Provider/Invoices\": 71837,\n\t\"./Provider/Invoices/\": 71837,\n\t\"./Provider/Invoices/Columns\": 8542,\n\t\"./Provider/Invoices/Columns.jsx\": 8542,\n\t\"./Provider/Invoices/index\": 71837,\n\t\"./Provider/Invoices/index.jsx\": 71837,\n\t\"./Provider/Invoices/index.sass\": 73010,\n\t\"./Provider/Loaders\": 82560,\n\t\"./Provider/Loaders/\": 82560,\n\t\"./Provider/Loaders/index\": 82560,\n\t\"./Provider/Loaders/index.jsx\": 82560,\n\t\"./Provider/Loaders/index.sass\": 61300,\n\t\"./Provider/LocationForm\": 39565,\n\t\"./Provider/LocationForm/\": 39565,\n\t\"./Provider/LocationForm/FormGroups/DropdownGroup\": 29304,\n\t\"./Provider/LocationForm/FormGroups/DropdownGroup.jsx\": 29304,\n\t\"./Provider/LocationForm/FormGroups/InputGroup\": 15177,\n\t\"./Provider/LocationForm/FormGroups/InputGroup.jsx\": 15177,\n\t\"./Provider/LocationForm/FormGroups/RadioFormGroup\": 83508,\n\t\"./Provider/LocationForm/FormGroups/RadioFormGroup.jsx\": 83508,\n\t\"./Provider/LocationForm/FormGroups/RangeInputs\": 78841,\n\t\"./Provider/LocationForm/FormGroups/RangeInputs.jsx\": 78841,\n\t\"./Provider/LocationForm/FormGroups/RangeInputs.sass\": 41099,\n\t\"./Provider/LocationForm/NavigationButtons\": 92045,\n\t\"./Provider/LocationForm/NavigationButtons/\": 92045,\n\t\"./Provider/LocationForm/NavigationButtons/index\": 92045,\n\t\"./Provider/LocationForm/NavigationButtons/index.jsx\": 92045,\n\t\"./Provider/LocationForm/NavigationButtons/index.sass\": 75343,\n\t\"./Provider/LocationForm/ProgressBar\": 32056,\n\t\"./Provider/LocationForm/ProgressBar/\": 32056,\n\t\"./Provider/LocationForm/ProgressBar/index\": 32056,\n\t\"./Provider/LocationForm/ProgressBar/index.jsx\": 32056,\n\t\"./Provider/LocationForm/ProgressBar/index.sass\": 68800,\n\t\"./Provider/LocationForm/Steps/Contacts\": 5168,\n\t\"./Provider/LocationForm/Steps/Contacts.jsx\": 5168,\n\t\"./Provider/LocationForm/Steps/Contacts.sass\": 28661,\n\t\"./Provider/LocationForm/Steps/Description\": 947,\n\t\"./Provider/LocationForm/Steps/Description.jsx\": 947,\n\t\"./Provider/LocationForm/Steps/Description.sass\": 52970,\n\t\"./Provider/LocationForm/Steps/Economy\": 53538,\n\t\"./Provider/LocationForm/Steps/Economy/\": 53538,\n\t\"./Provider/LocationForm/Steps/Economy/CombinedKindForm\": 28249,\n\t\"./Provider/LocationForm/Steps/Economy/CombinedKindForm/\": 28249,\n\t\"./Provider/LocationForm/Steps/Economy/CombinedKindForm/index\": 28249,\n\t\"./Provider/LocationForm/Steps/Economy/CombinedKindForm/index.jsx\": 28249,\n\t\"./Provider/LocationForm/Steps/Economy/CombinedKindForm/index.sass\": 24838,\n\t\"./Provider/LocationForm/Steps/Economy/index\": 53538,\n\t\"./Provider/LocationForm/Steps/Economy/index.jsx\": 53538,\n\t\"./Provider/LocationForm/Steps/Economy/index.sass\": 5207,\n\t\"./Provider/LocationForm/Steps/FactsAndFacilities\": 3961,\n\t\"./Provider/LocationForm/Steps/FactsAndFacilities.jsx\": 3961,\n\t\"./Provider/LocationForm/Steps/FactsAndFacilities.sass\": 63124,\n\t\"./Provider/LocationForm/Steps/Location\": 55272,\n\t\"./Provider/LocationForm/Steps/Location/\": 55272,\n\t\"./Provider/LocationForm/Steps/Location/Map\": 72510,\n\t\"./Provider/LocationForm/Steps/Location/Map.jsx\": 72510,\n\t\"./Provider/LocationForm/Steps/Location/MapWrapper\": 77347,\n\t\"./Provider/LocationForm/Steps/Location/MapWrapper.jsx\": 77347,\n\t\"./Provider/LocationForm/Steps/Location/MapWrapper.sass\": 60023,\n\t\"./Provider/LocationForm/Steps/Location/index\": 55272,\n\t\"./Provider/LocationForm/Steps/Location/index.jsx\": 55272,\n\t\"./Provider/LocationForm/Steps/Visuals\": 17859,\n\t\"./Provider/LocationForm/Steps/Visuals/\": 17859,\n\t\"./Provider/LocationForm/Steps/Visuals/FileInput\": 3268,\n\t\"./Provider/LocationForm/Steps/Visuals/FileInput.jsx\": 3268,\n\t\"./Provider/LocationForm/Steps/Visuals/FileInput.sass\": 75054,\n\t\"./Provider/LocationForm/Steps/Visuals/FixedNavigationBar\": 70532,\n\t\"./Provider/LocationForm/Steps/Visuals/FixedNavigationBar.jsx\": 70532,\n\t\"./Provider/LocationForm/Steps/Visuals/FixedNavigationBar.sass\": 63392,\n\t\"./Provider/LocationForm/Steps/Visuals/InputBanner\": 46573,\n\t\"./Provider/LocationForm/Steps/Visuals/InputBanner.jsx\": 46573,\n\t\"./Provider/LocationForm/Steps/Visuals/InputBanner.sass\": 43361,\n\t\"./Provider/LocationForm/Steps/Visuals/InteriorDesignForm\": 59034,\n\t\"./Provider/LocationForm/Steps/Visuals/InteriorDesignForm.jsx\": 59034,\n\t\"./Provider/LocationForm/Steps/Visuals/VisualsBlock\": 22705,\n\t\"./Provider/LocationForm/Steps/Visuals/VisualsBlock.jsx\": 22705,\n\t\"./Provider/LocationForm/Steps/Visuals/VisualsBlock.sass\": 44842,\n\t\"./Provider/LocationForm/Steps/Visuals/index\": 17859,\n\t\"./Provider/LocationForm/Steps/Visuals/index.jsx\": 17859,\n\t\"./Provider/LocationForm/Steps/Visuals/index.sass\": 84544,\n\t\"./Provider/LocationForm/StepsWrapper\": 48980,\n\t\"./Provider/LocationForm/StepsWrapper.jsx\": 48980,\n\t\"./Provider/LocationForm/index\": 39565,\n\t\"./Provider/LocationForm/index.jsx\": 39565,\n\t\"./Provider/LocationForm/index.sass\": 53884,\n\t\"./Provider/LocationInfo\": 40630,\n\t\"./Provider/LocationInfo/\": 40630,\n\t\"./Provider/LocationInfo/AssetsBlock\": 16012,\n\t\"./Provider/LocationInfo/AssetsBlock.jsx\": 16012,\n\t\"./Provider/LocationInfo/AssetsBlock.sass\": 38792,\n\t\"./Provider/LocationInfo/index\": 40630,\n\t\"./Provider/LocationInfo/index.jsx\": 40630,\n\t\"./Provider/LocationInfo/index.sass\": 43473,\n\t\"./Provider/LocationViewsChart\": 98340,\n\t\"./Provider/LocationViewsChart/\": 98340,\n\t\"./Provider/LocationViewsChart/index\": 98340,\n\t\"./Provider/LocationViewsChart/index.jsx\": 98340,\n\t\"./Provider/LocationViewsChart/index.sass\": 58115,\n\t\"./Provider/Locations\": 73299,\n\t\"./Provider/Locations/\": 73299,\n\t\"./Provider/Locations/LocaationsColumns\": 85834,\n\t\"./Provider/Locations/LocaationsColumns.jsx\": 85834,\n\t\"./Provider/Locations/index\": 73299,\n\t\"./Provider/Locations/index.jsx\": 73299,\n\t\"./Provider/Locations/index.sass\": 45081,\n\t\"./Provider/MainDashboard\": 12178,\n\t\"./Provider/MainDashboard/\": 12178,\n\t\"./Provider/MainDashboard/index\": 12178,\n\t\"./Provider/MainDashboard/index.jsx\": 12178,\n\t\"./Provider/MainDashboard/index.sass\": 67421,\n\t\"./Provider/Modals/AlreadyKnownLeadStatusModal\": 1303,\n\t\"./Provider/Modals/AlreadyKnownLeadStatusModal.jsx\": 1303,\n\t\"./Provider/Modals/AlreadyKnownLeadStatusModal.sass\": 10490,\n\t\"./Provider/Modals/BaseModal\": 30189,\n\t\"./Provider/Modals/BaseModal.jsx\": 30189,\n\t\"./Provider/Modals/BaseModal.sass\": 88658,\n\t\"./Provider/Modals/CreateNewContactModal\": 53672,\n\t\"./Provider/Modals/CreateNewContactModal.jsx\": 53672,\n\t\"./Provider/Modals/CreateNewContactModal.sass\": 35944,\n\t\"./Provider/Modals/DeactivateLocationModal\": 33221,\n\t\"./Provider/Modals/DeactivateLocationModal.jsx\": 33221,\n\t\"./Provider/Modals/DeactivateLocationModal.sass\": 21710,\n\t\"./Provider/Modals/DeleteContactForeverModal\": 49862,\n\t\"./Provider/Modals/DeleteContactForeverModal.jsx\": 49862,\n\t\"./Provider/Modals/DeleteContactForeverModal.sass\": 15429,\n\t\"./Provider/Modals/DeleteContactModal\": 4160,\n\t\"./Provider/Modals/DeleteContactModal.jsx\": 4160,\n\t\"./Provider/Modals/DeleteNoteModal\": 99859,\n\t\"./Provider/Modals/DeleteNoteModal.jsx\": 99859,\n\t\"./Provider/Modals/DeleteNoteModal.sass\": 59575,\n\t\"./Provider/Modals/DuplicateLocationModal\": 25539,\n\t\"./Provider/Modals/DuplicateLocationModal.jsx\": 25539,\n\t\"./Provider/Modals/DuplicateLocationModal.sass\": 62126,\n\t\"./Provider/Modals/ExtraOrderModal\": 726,\n\t\"./Provider/Modals/ExtraOrderModal.jsx\": 726,\n\t\"./Provider/Modals/ExtraOrderModal.sass\": 7928,\n\t\"./Provider/Modals/GenerateProspectusModal\": 5566,\n\t\"./Provider/Modals/GenerateProspectusModal.jsx\": 5566,\n\t\"./Provider/Modals/GenerateProspectusModal.sass\": 27118,\n\t\"./Provider/Modals/IframeModal\": 79686,\n\t\"./Provider/Modals/IframeModal.jsx\": 79686,\n\t\"./Provider/Modals/IframeModal.sass\": 4405,\n\t\"./Provider/Modals/NotesModal\": 8617,\n\t\"./Provider/Modals/NotesModal.jsx\": 8617,\n\t\"./Provider/Modals/NotesModal.sass\": 71908,\n\t\"./Provider/Modals/PaymentModal/CheckoutForm\": 9588,\n\t\"./Provider/Modals/PaymentModal/CheckoutForm.jsx\": 9588,\n\t\"./Provider/Modals/PaymentModal/PaymentModal\": 59921,\n\t\"./Provider/Modals/PaymentModal/PaymentModal.jsx\": 59921,\n\t\"./Provider/Modals/PaymentModal/PaymentModal.sass\": 43057,\n\t\"./Provider/Modals/ProviderModal\": 36586,\n\t\"./Provider/Modals/ProviderModal.jsx\": 36586,\n\t\"./Provider/Modals/ProviderModal.sass\": 45226,\n\t\"./Provider/Modals/QualityScoreInfoModal\": 60364,\n\t\"./Provider/Modals/QualityScoreInfoModal.jsx\": 60364,\n\t\"./Provider/Modals/QualityScoreInfoModal.sass\": 15482,\n\t\"./Provider/Modals/RejectAgreementModal\": 67384,\n\t\"./Provider/Modals/RejectAgreementModal.jsx\": 67384,\n\t\"./Provider/Modals/RejectAgreementModal.sass\": 73914,\n\t\"./Provider/Modals/RentedOutModal\": 80106,\n\t\"./Provider/Modals/RentedOutModal.jsx\": 80106,\n\t\"./Provider/Modals/ReportADealSuccess\": 50543,\n\t\"./Provider/Modals/ReportADealSuccess.jsx\": 50543,\n\t\"./Provider/Modals/ReportSuccessModal\": 66472,\n\t\"./Provider/Modals/ReportSuccessModal.sass\": 66472,\n\t\"./Provider/Modals/SecondaryKindsInfoModal\": 92878,\n\t\"./Provider/Modals/SecondaryKindsInfoModal.jsx\": 92878,\n\t\"./Provider/Modals/SecondaryKindsInfoModal.sass\": 73433,\n\t\"./Provider/Modals/TokenizedFileModalLink\": 84002,\n\t\"./Provider/Modals/TokenizedFileModalLink.jsx\": 84002,\n\t\"./Provider/Modals/TokenizedFileModalLink.sass\": 23524,\n\t\"./Provider/Modals/VisualsProposalsForm\": 36419,\n\t\"./Provider/Modals/VisualsProposalsForm.jsx\": 36419,\n\t\"./Provider/Modals/VisualsProposalsForm.sass\": 91685,\n\t\"./Provider/MutableLink\": 20136,\n\t\"./Provider/MutableLink/\": 20136,\n\t\"./Provider/MutableLink/index\": 20136,\n\t\"./Provider/MutableLink/index.jsx\": 20136,\n\t\"./Provider/Popups/InfoMessagePopup\": 85683,\n\t\"./Provider/Popups/InfoMessagePopup.jsx\": 85683,\n\t\"./Provider/Popups/InfoMessagePopup.sass\": 75892,\n\t\"./Provider/Popups/TooltipPopup\": 44176,\n\t\"./Provider/Popups/TooltipPopup.jsx\": 44176,\n\t\"./Provider/Popups/TooltipPopup.sass\": 60002,\n\t\"./Provider/ProviderHeader\": 78024,\n\t\"./Provider/ProviderHeader/\": 78024,\n\t\"./Provider/ProviderHeader/index\": 78024,\n\t\"./Provider/ProviderHeader/index.jsx\": 78024,\n\t\"./Provider/ProviderHeader/index.sass\": 20381,\n\t\"./Provider/ProviderInactive\": 13705,\n\t\"./Provider/ProviderInactive/\": 13705,\n\t\"./Provider/ProviderInactive/index\": 13705,\n\t\"./Provider/ProviderInactive/index.jsx\": 13705,\n\t\"./Provider/ProviderInactive/index.sass\": 29024,\n\t\"./Provider/ReportDeal\": 75822,\n\t\"./Provider/ReportDeal/\": 75822,\n\t\"./Provider/ReportDeal/Details\": 10221,\n\t\"./Provider/ReportDeal/Details.jsx\": 10221,\n\t\"./Provider/ReportDeal/Details.sass\": 92099,\n\t\"./Provider/ReportDeal/DetailsReportForm\": 55992,\n\t\"./Provider/ReportDeal/DetailsReportForm.jsx\": 55992,\n\t\"./Provider/ReportDeal/ReaportDealTable\": 39203,\n\t\"./Provider/ReportDeal/ReaportDealTable.jsx\": 39203,\n\t\"./Provider/ReportDeal/ReaportDealTable.sass\": 91714,\n\t\"./Provider/ReportDeal/ReportDealProgress\": 54604,\n\t\"./Provider/ReportDeal/ReportDealProgress.jsx\": 54604,\n\t\"./Provider/ReportDeal/ReportSteps\": 6680,\n\t\"./Provider/ReportDeal/ReportSteps.jsx\": 6680,\n\t\"./Provider/ReportDeal/index\": 75822,\n\t\"./Provider/ReportDeal/index.jsx\": 75822,\n\t\"./Provider/ReportDeal/index.sass\": 42463,\n\t\"./Provider/ScoreWidget\": 1697,\n\t\"./Provider/ScoreWidget/\": 1697,\n\t\"./Provider/ScoreWidget/index\": 1697,\n\t\"./Provider/ScoreWidget/index.jsx\": 1697,\n\t\"./Provider/ScoreWidget/index.sass\": 57252,\n\t\"./Provider/Settings/ChangePasswordForm\": 81880,\n\t\"./Provider/Settings/ChangePasswordForm/\": 81880,\n\t\"./Provider/Settings/ChangePasswordForm/index\": 81880,\n\t\"./Provider/Settings/ChangePasswordForm/index.jsx\": 81880,\n\t\"./Provider/Settings/ChangePasswordForm/index.sass\": 86372,\n\t\"./Provider/Settings/ContactForm\": 52971,\n\t\"./Provider/Settings/ContactForm/\": 52971,\n\t\"./Provider/Settings/ContactForm/index\": 52971,\n\t\"./Provider/Settings/ContactForm/index.jsx\": 52971,\n\t\"./Provider/Settings/ContactForm/index.sass\": 20768,\n\t\"./Provider/Settings/ContactSettings\": 86846,\n\t\"./Provider/Settings/ContactSettings.jsx\": 86846,\n\t\"./Provider/Settings/ContactSetttings\": 28032,\n\t\"./Provider/Settings/ContactSetttings.sass\": 28032,\n\t\"./Provider/Settings/PhotoUpload\": 37328,\n\t\"./Provider/Settings/PhotoUpload.jsx\": 37328,\n\t\"./Provider/Settings/PhotoUpload.sass\": 3557,\n\t\"./Provider/Settings/ProviderSettings\": 81611,\n\t\"./Provider/Settings/ProviderSettings.jsx\": 81611,\n\t\"./Provider/Settings/ProviderSettings.sass\": 42132,\n\t\"./Provider/Settings/UpdateProvider\": 25333,\n\t\"./Provider/Settings/UpdateProvider.jsx\": 25333,\n\t\"./Provider/SideBar\": 56111,\n\t\"./Provider/SideBar/\": 56111,\n\t\"./Provider/SideBar/SideBarLink\": 3048,\n\t\"./Provider/SideBar/SideBarLink.jsx\": 3048,\n\t\"./Provider/SideBar/index\": 56111,\n\t\"./Provider/SideBar/index.jsx\": 56111,\n\t\"./Provider/SideBar/index.sass\": 57366,\n\t\"./Provider/Statistic\": 66192,\n\t\"./Provider/Statistic/\": 66192,\n\t\"./Provider/Statistic/ExpandedStatistics\": 25463,\n\t\"./Provider/Statistic/ExpandedStatistics.jsx\": 25463,\n\t\"./Provider/Statistic/StatisticColumns\": 21651,\n\t\"./Provider/Statistic/StatisticColumns.jsx\": 21651,\n\t\"./Provider/Statistic/index\": 66192,\n\t\"./Provider/Statistic/index.jsx\": 66192,\n\t\"./Provider/Statistic/index.sass\": 73180,\n\t\"./Provider/Table\": 33329,\n\t\"./Provider/Table/\": 33329,\n\t\"./Provider/Table/Columns\": 91072,\n\t\"./Provider/Table/Columns.jsx\": 91072,\n\t\"./Provider/Table/TablePage\": 67840,\n\t\"./Provider/Table/TablePage.sass\": 67840,\n\t\"./Provider/Table/index\": 33329,\n\t\"./Provider/Table/index.jsx\": 33329,\n\t\"./Provider/Table/index.sass\": 40357,\n\t\"./Provider/UnresolvedAgreement\": 5885,\n\t\"./Provider/UnresolvedAgreement/\": 5885,\n\t\"./Provider/UnresolvedAgreement/Columns\": 63222,\n\t\"./Provider/UnresolvedAgreement/Columns.jsx\": 63222,\n\t\"./Provider/UnresolvedAgreement/index\": 5885,\n\t\"./Provider/UnresolvedAgreement/index.jsx\": 5885,\n\t\"./Provider/UnresolvedAgreement/index.sass\": 22813,\n\t\"./Provider/WelcomePage\": 65243,\n\t\"./Provider/WelcomePage/\": 65243,\n\t\"./Provider/WelcomePage/index\": 65243,\n\t\"./Provider/WelcomePage/index.jsx\": 65243,\n\t\"./Provider/WelcomePage/index.sass\": 53973,\n\t\"./Provider/index\": 70005,\n\t\"./Provider/index.jsx\": 70005,\n\t\"./Provider/index.sass\": 7173,\n\t\"./RecoveryPassword/RecoveryPassword\": 10920,\n\t\"./RecoveryPassword/RecoveryPassword.jsx\": 10920,\n\t\"./RecoveryPassword/RecoveryPassword.sass\": 88090,\n\t\"./RecoveryPassword/RecoveryPasswordForm\": 12982,\n\t\"./RecoveryPassword/RecoveryPasswordForm.jsx\": 12982,\n\t\"./SearchAgent\": 2742,\n\t\"./SearchAgent/\": 2742,\n\t\"./SearchAgent/CreateEditSearchAgent\": 57684,\n\t\"./SearchAgent/CreateEditSearchAgent/\": 57684,\n\t\"./SearchAgent/CreateEditSearchAgent/AreaSelector\": 73720,\n\t\"./SearchAgent/CreateEditSearchAgent/AreaSelector.jsx\": 73720,\n\t\"./SearchAgent/CreateEditSearchAgent/AreaSelector.sass\": 33434,\n\t\"./SearchAgent/CreateEditSearchAgent/ContactForm\": 76565,\n\t\"./SearchAgent/CreateEditSearchAgent/ContactForm.jsx\": 76565,\n\t\"./SearchAgent/CreateEditSearchAgent/ContactForm.sass\": 14748,\n\t\"./SearchAgent/CreateEditSearchAgent/SearchAgentConfigurations\": 70093,\n\t\"./SearchAgent/CreateEditSearchAgent/SearchAgentConfigurations.jsx\": 70093,\n\t\"./SearchAgent/CreateEditSearchAgent/SearchAgentConfigurations.sass\": 88189,\n\t\"./SearchAgent/CreateEditSearchAgent/SearchAgentHeader\": 36087,\n\t\"./SearchAgent/CreateEditSearchAgent/SearchAgentHeader.jsx\": 36087,\n\t\"./SearchAgent/CreateEditSearchAgent/SearchAgentHeader.sass\": 7725,\n\t\"./SearchAgent/CreateEditSearchAgent/SectionSelector\": 53406,\n\t\"./SearchAgent/CreateEditSearchAgent/SectionSelector.jsx\": 53406,\n\t\"./SearchAgent/CreateEditSearchAgent/TypeSelector\": 61112,\n\t\"./SearchAgent/CreateEditSearchAgent/TypeSelector.jsx\": 61112,\n\t\"./SearchAgent/CreateEditSearchAgent/UnsubscribeModal\": 46685,\n\t\"./SearchAgent/CreateEditSearchAgent/UnsubscribeModal.jsx\": 46685,\n\t\"./SearchAgent/CreateEditSearchAgent/UnsubscribeModal.sass\": 50713,\n\t\"./SearchAgent/CreateEditSearchAgent/index\": 57684,\n\t\"./SearchAgent/CreateEditSearchAgent/index.jsx\": 57684,\n\t\"./SearchAgent/CreateEditSearchAgent/index.sass\": 56538,\n\t\"./SearchAgent/InformationUnavailablePage\": 34000,\n\t\"./SearchAgent/InformationUnavailablePage.jsx\": 34000,\n\t\"./SearchAgent/ManageSearchAgents\": 27521,\n\t\"./SearchAgent/ManageSearchAgents/\": 27521,\n\t\"./SearchAgent/ManageSearchAgents/DeleteSearchAgentModal\": 35952,\n\t\"./SearchAgent/ManageSearchAgents/DeleteSearchAgentModal.jsx\": 35952,\n\t\"./SearchAgent/ManageSearchAgents/DeleteSearchAgentModal.sass\": 8697,\n\t\"./SearchAgent/ManageSearchAgents/SearchAgentListItem\": 68565,\n\t\"./SearchAgent/ManageSearchAgents/SearchAgentListItem.jsx\": 68565,\n\t\"./SearchAgent/ManageSearchAgents/SearchAgentListItem.sass\": 62176,\n\t\"./SearchAgent/ManageSearchAgents/index\": 27521,\n\t\"./SearchAgent/ManageSearchAgents/index.jsx\": 27521,\n\t\"./SearchAgent/ManageSearchAgents/index.sass\": 87726,\n\t\"./SearchAgent/index\": 2742,\n\t\"./SearchAgent/index.jsx\": 2742,\n\t\"./SearchBar\": 37932,\n\t\"./SearchBar/\": 37932,\n\t\"./SearchBar/index\": 37932,\n\t\"./SearchBar/index.jsx\": 37932,\n\t\"./SearchBar/index.sass\": 76366,\n\t\"./SharedComponents/AISearch\": 13389,\n\t\"./SharedComponents/AISearch/\": 13389,\n\t\"./SharedComponents/AISearch/index\": 13389,\n\t\"./SharedComponents/AISearch/index.jsx\": 13389,\n\t\"./SharedComponents/AISearch/index.sass\": 5004,\n\t\"./SharedComponents/AdditionalOption\": 51588,\n\t\"./SharedComponents/AdditionalOption/\": 51588,\n\t\"./SharedComponents/AdditionalOption/index\": 51588,\n\t\"./SharedComponents/AdditionalOption/index.jsx\": 51588,\n\t\"./SharedComponents/AdditionalOption/index.sass\": 68961,\n\t\"./SharedComponents/Badges\": 97277,\n\t\"./SharedComponents/Badges.jsx\": 97277,\n\t\"./SharedComponents/Badges.sass\": 18981,\n\t\"./SharedComponents/BaseSlider\": 53047,\n\t\"./SharedComponents/BaseSlider/\": 53047,\n\t\"./SharedComponents/BaseSlider/index\": 53047,\n\t\"./SharedComponents/BaseSlider/index.jsx\": 53047,\n\t\"./SharedComponents/BaseSlider/index.sass\": 3035,\n\t\"./SharedComponents/Buttons\": 12118,\n\t\"./SharedComponents/Buttons.jsx\": 12118,\n\t\"./SharedComponents/Buttons.sass\": 65697,\n\t\"./SharedComponents/Charts/CircularChart\": 32397,\n\t\"./SharedComponents/Charts/CircularChart.jsx\": 32397,\n\t\"./SharedComponents/Charts/CircularChart.sass\": 8841,\n\t\"./SharedComponents/Charts/InlineChart\": 1783,\n\t\"./SharedComponents/Charts/InlineChart.jsx\": 1783,\n\t\"./SharedComponents/Charts/InlineChart.sass\": 20657,\n\t\"./SharedComponents/Charts/PercentagePieChart\": 21426,\n\t\"./SharedComponents/Charts/PercentagePieChart.jsx\": 21426,\n\t\"./SharedComponents/Charts/PercentagePieChart.sass\": 20012,\n\t\"./SharedComponents/CollapsibleSection\": 80261,\n\t\"./SharedComponents/CollapsibleSection/\": 80261,\n\t\"./SharedComponents/CollapsibleSection/index\": 80261,\n\t\"./SharedComponents/CollapsibleSection/index.jsx\": 80261,\n\t\"./SharedComponents/CollapsibleSection/index.sass\": 44426,\n\t\"./SharedComponents/CompareIcon\": 91508,\n\t\"./SharedComponents/CompareIcon/\": 91508,\n\t\"./SharedComponents/CompareIcon/index\": 91508,\n\t\"./SharedComponents/CompareIcon/index.jsx\": 91508,\n\t\"./SharedComponents/CompareIcon/index.sass\": 68519,\n\t\"./SharedComponents/DataProtectionModal\": 58283,\n\t\"./SharedComponents/DataProtectionModal.jsx\": 58283,\n\t\"./SharedComponents/DataProtectionModal.sass\": 60454,\n\t\"./SharedComponents/DropDownContainer\": 23002,\n\t\"./SharedComponents/DropDownContainer.jsx\": 23002,\n\t\"./SharedComponents/DropDownContainer.sass\": 26733,\n\t\"./SharedComponents/DropdownComplexSelector\": 22844,\n\t\"./SharedComponents/DropdownComplexSelector.jsx\": 22844,\n\t\"./SharedComponents/DropdownPlainSelector\": 94175,\n\t\"./SharedComponents/DropdownPlainSelector.jsx\": 94175,\n\t\"./SharedComponents/DropdownSelectWithSearch\": 4102,\n\t\"./SharedComponents/DropdownSelectWithSearch.jsx\": 4102,\n\t\"./SharedComponents/DropdownSelector\": 29129,\n\t\"./SharedComponents/DropdownSelector.sass\": 29129,\n\t\"./SharedComponents/DropdownWithSearch\": 33752,\n\t\"./SharedComponents/DropdownWithSearch.sass\": 33752,\n\t\"./SharedComponents/EmblaCarousel\": 52598,\n\t\"./SharedComponents/EmblaCarousel/\": 52598,\n\t\"./SharedComponents/EmblaCarousel/EmblaCarouselDotButton\": 47428,\n\t\"./SharedComponents/EmblaCarousel/EmblaCarouselDotButton.jsx\": 47428,\n\t\"./SharedComponents/EmblaCarousel/NavigationButtons\": 86587,\n\t\"./SharedComponents/EmblaCarousel/NavigationButtons.jsx\": 86587,\n\t\"./SharedComponents/EmblaCarousel/index\": 52598,\n\t\"./SharedComponents/EmblaCarousel/index.jsx\": 52598,\n\t\"./SharedComponents/EmblaCarousel/index.sass\": 91420,\n\t\"./SharedComponents/FAQSection\": 33622,\n\t\"./SharedComponents/FAQSection/\": 33622,\n\t\"./SharedComponents/FAQSection/index\": 33622,\n\t\"./SharedComponents/FAQSection/index.jsx\": 33622,\n\t\"./SharedComponents/FAQSection/index.sass\": 41198,\n\t\"./SharedComponents/FavouriteIcon\": 69904,\n\t\"./SharedComponents/FavouriteIcon/\": 69904,\n\t\"./SharedComponents/FavouriteIcon/index\": 69904,\n\t\"./SharedComponents/FavouriteIcon/index.jsx\": 69904,\n\t\"./SharedComponents/FavouriteIcon/index.sass\": 62280,\n\t\"./SharedComponents/FormMessages/FormMessageBlock\": 66063,\n\t\"./SharedComponents/FormMessages/FormMessageBlock.jsx\": 66063,\n\t\"./SharedComponents/FormMessages/FormMessageBlock.sass\": 28864,\n\t\"./SharedComponents/Forms/BasicDropdown\": 9989,\n\t\"./SharedComponents/Forms/BasicDropdown/\": 9989,\n\t\"./SharedComponents/Forms/BasicDropdown/index\": 9989,\n\t\"./SharedComponents/Forms/BasicDropdown/index.jsx\": 9989,\n\t\"./SharedComponents/Forms/BasicDropdown/index.sass\": 92158,\n\t\"./SharedComponents/Forms/BasicInput\": 25846,\n\t\"./SharedComponents/Forms/BasicInput/\": 25846,\n\t\"./SharedComponents/Forms/BasicInput/index\": 25846,\n\t\"./SharedComponents/Forms/BasicInput/index.jsx\": 25846,\n\t\"./SharedComponents/Forms/BasicInput/index.sass\": 72130,\n\t\"./SharedComponents/Forms/CheckBox\": 90263,\n\t\"./SharedComponents/Forms/CheckBox/\": 90263,\n\t\"./SharedComponents/Forms/CheckBox/index\": 90263,\n\t\"./SharedComponents/Forms/CheckBox/index.jsx\": 90263,\n\t\"./SharedComponents/Forms/CheckBox/index.sass\": 29335,\n\t\"./SharedComponents/Forms/ErrorMessages\": 51692,\n\t\"./SharedComponents/Forms/ErrorMessages.js\": 51692,\n\t\"./SharedComponents/Forms/Input\": 17393,\n\t\"./SharedComponents/Forms/Input/\": 17393,\n\t\"./SharedComponents/Forms/Input/index\": 17393,\n\t\"./SharedComponents/Forms/Input/index.jsx\": 17393,\n\t\"./SharedComponents/Forms/Input/index.sass\": 57309,\n\t\"./SharedComponents/Forms/RadioButtons\": 65314,\n\t\"./SharedComponents/Forms/RadioButtons/\": 65314,\n\t\"./SharedComponents/Forms/RadioButtons/index\": 65314,\n\t\"./SharedComponents/Forms/RadioButtons/index.jsx\": 65314,\n\t\"./SharedComponents/Forms/RadioButtons/index.sass\": 72583,\n\t\"./SharedComponents/Forms/SearchableDropdown\": 68470,\n\t\"./SharedComponents/Forms/SearchableDropdown/\": 68470,\n\t\"./SharedComponents/Forms/SearchableDropdown/index\": 68470,\n\t\"./SharedComponents/Forms/SearchableDropdown/index.jsx\": 68470,\n\t\"./SharedComponents/Forms/SearchableDropdown/index.sass\": 53972,\n\t\"./SharedComponents/Forms/ValidationSchemaPattern\": 17294,\n\t\"./SharedComponents/Forms/ValidationSchemaPattern.js\": 17294,\n\t\"./SharedComponents/GetInfoFormModal\": 17523,\n\t\"./SharedComponents/GetInfoFormModal/\": 17523,\n\t\"./SharedComponents/GetInfoFormModal/index\": 17523,\n\t\"./SharedComponents/GetInfoFormModal/index.jsx\": 17523,\n\t\"./SharedComponents/GetInfoFormModal/index.sass\": 15116,\n\t\"./SharedComponents/GoogleReviewsWidget\": 70065,\n\t\"./SharedComponents/GoogleReviewsWidget/\": 70065,\n\t\"./SharedComponents/GoogleReviewsWidget/index\": 70065,\n\t\"./SharedComponents/GoogleReviewsWidget/index.jsx\": 70065,\n\t\"./SharedComponents/GoogleReviewsWidget/index.sass\": 71775,\n\t\"./SharedComponents/Icons\": 46351,\n\t\"./SharedComponents/Icons.jsx\": 46351,\n\t\"./SharedComponents/InfoBadges\": 52819,\n\t\"./SharedComponents/InfoBadges/\": 52819,\n\t\"./SharedComponents/InfoBadges/index\": 52819,\n\t\"./SharedComponents/InfoBadges/index.jsx\": 52819,\n\t\"./SharedComponents/InfoBadges/index.sass\": 99661,\n\t\"./SharedComponents/InfoMessagePopup\": 70937,\n\t\"./SharedComponents/InfoMessagePopup/\": 70937,\n\t\"./SharedComponents/InfoMessagePopup/index\": 70937,\n\t\"./SharedComponents/InfoMessagePopup/index.jsx\": 70937,\n\t\"./SharedComponents/InfoMessagePopup/index.sass\": 7058,\n\t\"./SharedComponents/InfoNotice\": 59928,\n\t\"./SharedComponents/InfoNotice.jsx\": 59928,\n\t\"./SharedComponents/InfoNotice.sass\": 68914,\n\t\"./SharedComponents/InformationUnavailable\": 37187,\n\t\"./SharedComponents/InformationUnavailable/\": 37187,\n\t\"./SharedComponents/InformationUnavailable/index\": 37187,\n\t\"./SharedComponents/InformationUnavailable/index.jsx\": 37187,\n\t\"./SharedComponents/InformationUnavailable/index.sass\": 62715,\n\t\"./SharedComponents/Inputs\": 71898,\n\t\"./SharedComponents/Inputs.jsx\": 71898,\n\t\"./SharedComponents/Link\": 53030,\n\t\"./SharedComponents/Link.jsx\": 53030,\n\t\"./SharedComponents/Loader\": 58188,\n\t\"./SharedComponents/Loader.jsx\": 58188,\n\t\"./SharedComponents/Loader.sass\": 38796,\n\t\"./SharedComponents/Loaders/AtomLoader\": 25172,\n\t\"./SharedComponents/Loaders/AtomLoader.jsx\": 25172,\n\t\"./SharedComponents/Loaders/AtomLoader.sass\": 59287,\n\t\"./SharedComponents/Loaders/ModalLoader\": 37830,\n\t\"./SharedComponents/Loaders/ModalLoader.jsx\": 37830,\n\t\"./SharedComponents/Loaders/ModalLoader.sass\": 52901,\n\t\"./SharedComponents/Loaders/PulsingLoader\": 22847,\n\t\"./SharedComponents/Loaders/PulsingLoader.jsx\": 22847,\n\t\"./SharedComponents/Loaders/PulsingLoader.sass\": 36163,\n\t\"./SharedComponents/LocationTemplate\": 75501,\n\t\"./SharedComponents/LocationTemplate/\": 75501,\n\t\"./SharedComponents/LocationTemplate/index\": 75501,\n\t\"./SharedComponents/LocationTemplate/index.jsx\": 75501,\n\t\"./SharedComponents/LocationTemplate/index.sass\": 33445,\n\t\"./SharedComponents/ModalWindow\": 28133,\n\t\"./SharedComponents/ModalWindow/\": 28133,\n\t\"./SharedComponents/ModalWindow/index\": 28133,\n\t\"./SharedComponents/ModalWindow/index.jsx\": 28133,\n\t\"./SharedComponents/ModalWindow/index.sass\": 39160,\n\t\"./SharedComponents/NonLinearRangeSelector\": 96350,\n\t\"./SharedComponents/NonLinearRangeSelector/\": 96350,\n\t\"./SharedComponents/NonLinearRangeSelector/index\": 96350,\n\t\"./SharedComponents/NonLinearRangeSelector/index.jsx\": 96350,\n\t\"./SharedComponents/NonLinearRangeSelector/index.sass\": 29043,\n\t\"./SharedComponents/Notification\": 10093,\n\t\"./SharedComponents/Notification/\": 10093,\n\t\"./SharedComponents/Notification/index\": 10093,\n\t\"./SharedComponents/Notification/index.jsx\": 10093,\n\t\"./SharedComponents/Notification/index.sass\": 26229,\n\t\"./SharedComponents/PopularAreas\": 47625,\n\t\"./SharedComponents/PopularAreas/\": 47625,\n\t\"./SharedComponents/PopularAreas/index\": 47625,\n\t\"./SharedComponents/PopularAreas/index.jsx\": 47625,\n\t\"./SharedComponents/PopularAreas/index.sass\": 98087,\n\t\"./SharedComponents/Portal\": 52224,\n\t\"./SharedComponents/Portal.jsx\": 52224,\n\t\"./SharedComponents/RangeSelector\": 58082,\n\t\"./SharedComponents/RangeSelector.jsx\": 58082,\n\t\"./SharedComponents/RangeSelector.sass\": 72735,\n\t\"./SharedComponents/RequestCallModal\": 20870,\n\t\"./SharedComponents/RequestCallModal/\": 20870,\n\t\"./SharedComponents/RequestCallModal/RequestCallForm\": 27295,\n\t\"./SharedComponents/RequestCallModal/RequestCallForm.jsx\": 27295,\n\t\"./SharedComponents/RequestCallModal/index\": 20870,\n\t\"./SharedComponents/RequestCallModal/index.jsx\": 20870,\n\t\"./SharedComponents/RequestCallModal/index.sass\": 98272,\n\t\"./SharedComponents/RootComponent\": 13278,\n\t\"./SharedComponents/RootComponent.jsx\": 13278,\n\t\"./SharedComponents/ScrollToTop\": 88870,\n\t\"./SharedComponents/ScrollToTop.jsx\": 88870,\n\t\"./SharedComponents/SearchAgentBanner\": 80051,\n\t\"./SharedComponents/SearchAgentBanner/\": 80051,\n\t\"./SharedComponents/SearchAgentBanner/index\": 80051,\n\t\"./SharedComponents/SearchAgentBanner/index.jsx\": 80051,\n\t\"./SharedComponents/SearchAgentBanner/index.sass\": 70635,\n\t\"./SharedComponents/SearchOptionsModal\": 51973,\n\t\"./SharedComponents/SearchOptionsModal/\": 51973,\n\t\"./SharedComponents/SearchOptionsModal/index\": 51973,\n\t\"./SharedComponents/SearchOptionsModal/index.jsx\": 51973,\n\t\"./SharedComponents/SearchOptionsModal/index.sass\": 63522,\n\t\"./SharedComponents/SpaceCalculator\": 62643,\n\t\"./SharedComponents/SpaceCalculator/\": 62643,\n\t\"./SharedComponents/SpaceCalculator/SpaceCalculatorModal\": 5538,\n\t\"./SharedComponents/SpaceCalculator/SpaceCalculatorModal.jsx\": 5538,\n\t\"./SharedComponents/SpaceCalculator/SpaceCalculatorModal.sass\": 26020,\n\t\"./SharedComponents/SpaceCalculator/index\": 62643,\n\t\"./SharedComponents/SpaceCalculator/index.jsx\": 62643,\n\t\"./SharedComponents/SpaceCalculator/index.sass\": 60451,\n\t\"./SharedComponents/TagsList\": 27253,\n\t\"./SharedComponents/TagsList.jsx\": 27253,\n\t\"./SharedComponents/Tooltip\": 91986,\n\t\"./SharedComponents/Tooltip.jsx\": 91986,\n\t\"./SharedComponents/Tooltip.sass\": 9061,\n\t\"./SharedComponents/TrustLogos\": 64761,\n\t\"./SharedComponents/TrustLogos.jsx\": 64761,\n\t\"./SharedComponents/TrustLogos.sass\": 319,\n\t\"./SharedComponents/TrustPilot\": 64432,\n\t\"./SharedComponents/TrustPilot.jsx\": 64432,\n\t\"./SharedComponents/TrustPilot.sass\": 3369,\n\t\"./SharedComponents/TypeformButton\": 38236,\n\t\"./SharedComponents/TypeformButton.jsx\": 38236,\n\t\"./SharedComponents/hooks\": 30020,\n\t\"./SharedComponents/hooks.jsx\": 30020,\n\t\"./SignUp\": 37354,\n\t\"./SignUp/\": 37354,\n\t\"./SignUp/Modals\": 99754,\n\t\"./SignUp/Modals/\": 99754,\n\t\"./SignUp/Modals/BasicParkeringContent\": 18938,\n\t\"./SignUp/Modals/BasicParkeringContent.jsx\": 18938,\n\t\"./SignUp/Modals/BasicPriceContent\": 21255,\n\t\"./SignUp/Modals/BasicPriceContent.jsx\": 21255,\n\t\"./SignUp/Modals/ContinueRegistrationModal\": 83456,\n\t\"./SignUp/Modals/ContinueRegistrationModal.jsx\": 83456,\n\t\"./SignUp/Modals/ContinueRegistrationModal.sass\": 43032,\n\t\"./SignUp/Modals/MeetingRoomsInfoContent\": 40033,\n\t\"./SignUp/Modals/MeetingRoomsInfoContent.jsx\": 40033,\n\t\"./SignUp/Modals/NoCureInfoContent\": 61289,\n\t\"./SignUp/Modals/NoCureInfoContent.jsx\": 61289,\n\t\"./SignUp/Modals/TermOfServiceContent\": 93182,\n\t\"./SignUp/Modals/TermOfServiceContent.sass\": 93182,\n\t\"./SignUp/Modals/TermsOfServiceContent\": 38073,\n\t\"./SignUp/Modals/TermsOfServiceContent.jsx\": 38073,\n\t\"./SignUp/Modals/index\": 99754,\n\t\"./SignUp/Modals/index.jsx\": 99754,\n\t\"./SignUp/Modals/index.sass\": 5217,\n\t\"./SignUp/PaymentModel\": 16507,\n\t\"./SignUp/PaymentModel.jsx\": 16507,\n\t\"./SignUp/PaymentModel.sass\": 38601,\n\t\"./SignUp/SignUpForm\": 56066,\n\t\"./SignUp/SignUpForm.jsx\": 56066,\n\t\"./SignUp/SignUpForm.sass\": 25788,\n\t\"./SignUp/index\": 37354,\n\t\"./SignUp/index.jsx\": 37354,\n\t\"./SignUp/index.sass\": 69564,\n\t\"./SimilarLocations\": 7793,\n\t\"./SimilarLocations/\": 7793,\n\t\"./SimilarLocations/index\": 7793,\n\t\"./SimilarLocations/index.jsx\": 7793,\n\t\"./SimilarLocations/index.sass\": 81309,\n\t\"./SocialMedia\": 10813,\n\t\"./SocialMedia/\": 10813,\n\t\"./SocialMedia/index\": 10813,\n\t\"./SocialMedia/index.js\": 10813,\n\t\"./SocialMedia/index.sass\": 79148,\n\t\"./TawkTo/TawkTo\": 65557,\n\t\"./TawkTo/TawkTo.jsx\": 65557,\n\t\"./TopBar\": 75727,\n\t\"./TopBar/\": 75727,\n\t\"./TopBar/LanguageSwitcher\": 78852,\n\t\"./TopBar/LanguageSwitcher.jsx\": 78852,\n\t\"./TopBar/LanguageSwitcher.sass\": 95118,\n\t\"./TopBar/PrivacyBlock\": 39929,\n\t\"./TopBar/PrivacyBlock.sass\": 39929,\n\t\"./TopBar/UnsupportedBrowserMessage\": 64422,\n\t\"./TopBar/UnsupportedBrowserMessage.jsx\": 64422,\n\t\"./TopBar/UnsupportedBrowserMessage.sass\": 41827,\n\t\"./TopBar/index\": 75727,\n\t\"./TopBar/index.jsx\": 75727,\n\t\"./TopBar/index.sass\": 68932,\n\t\"./helpers/array\": 4531,\n\t\"./helpers/array.js\": 4531,\n\t\"./helpers/audio_input\": 6705,\n\t\"./helpers/audio_input.js\": 6705,\n\t\"./helpers/checkOrderedLocation\": 38242,\n\t\"./helpers/checkOrderedLocation.js\": 38242,\n\t\"./helpers/coundByKindLocation\": 58626,\n\t\"./helpers/coundByKindLocation.js\": 58626,\n\t\"./helpers/danishMonths\": 63361,\n\t\"./helpers/danishMonths.js\": 63361,\n\t\"./helpers/findPosition\": 77831,\n\t\"./helpers/findPosition.js\": 77831,\n\t\"./helpers/numbersLandlordPartners\": 31282,\n\t\"./helpers/numbersLandlordPartners.js\": 31282,\n\t\"./helpers/reduceSmartText\": 17928,\n\t\"./helpers/reduceSmartText.js\": 17928,\n\t\"./helpers/trovit_analitics\": 91280,\n\t\"./helpers/trovit_analitics.js\": 91280,\n\t\"./mainStyles\": 18129,\n\t\"./mainStyles.sass\": 18129\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 982;","var map = {\n\t\"./1\": 31495,\n\t\"./1.svg\": 31495,\n\t\"./14\": 86620,\n\t\"./14.webp\": 86620,\n\t\"./15\": 62406,\n\t\"./15.webp\": 62406,\n\t\"./16\": 44229,\n\t\"./16.webp\": 44229,\n\t\"./17\": 21557,\n\t\"./17.webp\": 21557,\n\t\"./2\": 81503,\n\t\"./2.svg\": 81503,\n\t\"./3\": 46163,\n\t\"./3.svg\": 46163,\n\t\"./4\": 59157,\n\t\"./4.svg\": 59157,\n\t\"./5\": 88363,\n\t\"./5.svg\": 88363,\n\t\"./6\": 27614,\n\t\"./6.svg\": 27614,\n\t\"./7\": 14360,\n\t\"./7.svg\": 14360,\n\t\"./8\": 452,\n\t\"./8.webp\": 452\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 64585;","var map = {\n\t\"./ExemptedEnergyRating.svg\": 10461,\n\t\"./Map.svg\": 49476,\n\t\"./access24Hour.svg\": 29649,\n\t\"./airConditioning.svg\": 69400,\n\t\"./airport.svg\": 14120,\n\t\"./alarmSystem.svg\": 93333,\n\t\"./atm.svg\": 24428,\n\t\"./balcony.svg\": 50546,\n\t\"./bank.svg\": 11867,\n\t\"./bar.svg\": 9029,\n\t\"./bicycle_parking.svg\": 2727,\n\t\"./bikeRacks.svg\": 94615,\n\t\"./boat.svg\": 28276,\n\t\"./build_route.svg\": 73403,\n\t\"./bus.svg\": 46578,\n\t\"./cafe.svg\": 25218,\n\t\"./canteen.svg\": 58132,\n\t\"./car_repair.svg\": 63070,\n\t\"./car_wash.svg\": 83631,\n\t\"./catering.svg\": 8333,\n\t\"./charging_station.svg\": 87973,\n\t\"./cinema.svg\": 7993,\n\t\"./cleaning.svg\": 35702,\n\t\"./clinic.svg\": 19481,\n\t\"./closedCircuitTelevision.svg\": 61552,\n\t\"./coffee_shop.svg\": 83369,\n\t\"./conferenceRooms.svg\": 38855,\n\t\"./cooling.svg\": 52156,\n\t\"./copying_facilities.svg\": 55943,\n\t\"./coworking.svg\": 22328,\n\t\"./coworkingSpace.svg\": 9078,\n\t\"./currency_exchange.svg\": 1396,\n\t\"./default.svg\": 14443,\n\t\"./dentist.svg\": 61141,\n\t\"./disabled.svg\": 44905,\n\t\"./electricCarCharge.svg\": 90081,\n\t\"./elevator.svg\": 92105,\n\t\"./enclosedProperty.svg\": 34976,\n\t\"./fast_food.svg\": 52784,\n\t\"./fiberInternet.svg\": 8842,\n\t\"./fitness_centre.svg\": 22566,\n\t\"./furnished.svg\": 61368,\n\t\"./gym.svg\": 52283,\n\t\"./hotDesk.svg\": 20670,\n\t\"./hotel.svg\": 73704,\n\t\"./itSupport.svg\": 55996,\n\t\"./kitchenette.svg\": 43486,\n\t\"./light_rail.svg\": 1280,\n\t\"./local_train.svg\": 71667,\n\t\"./lounge.svg\": 73111,\n\t\"./mall.svg\": 13680,\n\t\"./meetingRooms.svg\": 12553,\n\t\"./metro.svg\": 41542,\n\t\"./outdoorArea.svg\": 22163,\n\t\"./ownSignage.svg\": 5870,\n\t\"./parking.svg\": 14535,\n\t\"./petFriendly.svg\": 88842,\n\t\"./pharmacy.svg\": 34997,\n\t\"./phoneAnswering.svg\": 93854,\n\t\"./post_office.svg\": 33210,\n\t\"./postalFacilities.svg\": 13333,\n\t\"./privateOffices.svg\": 85383,\n\t\"./pub.svg\": 67007,\n\t\"./reception.svg\": 52981,\n\t\"./restaurant.svg\": 63481,\n\t\"./s-train.svg\": 39839,\n\t\"./secretarial.svg\": 26928,\n\t\"./shower.svg\": 39921,\n\t\"./spatialPlanning.svg\": 35998,\n\t\"./storage.svg\": 72648,\n\t\"./supermarket.svg\": 23604,\n\t\"./taxi.svg\": 67874,\n\t\"./telephoneSystem.svg\": 90645,\n\t\"./train.svg\": 79953,\n\t\"./tram.svg\": 49989,\n\t\"./trolleybus.svg\": 67301,\n\t\"./unfurnished.svg\": 98409,\n\t\"./videoConference.svg\": 28575,\n\t\"./virtualOffices.svg\": 80038,\n\t\"./wC.svg\": 43575,\n\t\"./wifi.svg\": 74726,\n\t\"./yoga.svg\": 75703\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 54084;","var map = {\n\t\"./Canteen.svg\": 44951,\n\t\"./Info.svg\": 13180,\n\t\"./Mail-details-page.svg\": 41365,\n\t\"./Map-icon-mobile-hover.svg\": 50075,\n\t\"./Map-icon-mobile.svg\": 18727,\n\t\"./Phone-details-page.svg\": 40137,\n\t\"./alert.svg\": 15748,\n\t\"./area-ft2.svg\": 14526,\n\t\"./area-m2.svg\": 47406,\n\t\"./area.svg\": 77414,\n\t\"./arrow-bottom-mobile.svg\": 74977,\n\t\"./arrow_upward.svg\": 12095,\n\t\"./cafe-icon.svg\": 97682,\n\t\"./category-banner-provider.svg\": 24182,\n\t\"./check_circle.svg\": 25881,\n\t\"./close.svg\": 17551,\n\t\"./common-icons.svg\": 40404,\n\t\"./cookie-badge.svg\": 26011,\n\t\"./delete-hover.svg\": 51192,\n\t\"./delete.svg\": 56391,\n\t\"./desks.svg\": 80066,\n\t\"./disposal-icon.svg\": 7370,\n\t\"./disposal.svg\": 69822,\n\t\"./edit-hover.svg\": 56565,\n\t\"./edit.svg\": 81980,\n\t\"./facebook-logo.svg\": 31763,\n\t\"./facebook.svg\": 43950,\n\t\"./facts_and_facilities/ExemptedEnergyRating.svg\": 10461,\n\t\"./facts_and_facilities/Map.svg\": 49476,\n\t\"./facts_and_facilities/access24Hour.svg\": 29649,\n\t\"./facts_and_facilities/airConditioning.svg\": 69400,\n\t\"./facts_and_facilities/airport.svg\": 14120,\n\t\"./facts_and_facilities/alarmSystem.svg\": 93333,\n\t\"./facts_and_facilities/atm.svg\": 24428,\n\t\"./facts_and_facilities/balcony.svg\": 50546,\n\t\"./facts_and_facilities/bank.svg\": 11867,\n\t\"./facts_and_facilities/bar.svg\": 9029,\n\t\"./facts_and_facilities/bicycle_parking.svg\": 2727,\n\t\"./facts_and_facilities/bikeRacks.svg\": 94615,\n\t\"./facts_and_facilities/boat.svg\": 28276,\n\t\"./facts_and_facilities/build_route.svg\": 73403,\n\t\"./facts_and_facilities/bus.svg\": 46578,\n\t\"./facts_and_facilities/cafe.svg\": 25218,\n\t\"./facts_and_facilities/canteen.svg\": 58132,\n\t\"./facts_and_facilities/car_repair.svg\": 63070,\n\t\"./facts_and_facilities/car_wash.svg\": 83631,\n\t\"./facts_and_facilities/catering.svg\": 8333,\n\t\"./facts_and_facilities/charging_station.svg\": 87973,\n\t\"./facts_and_facilities/cinema.svg\": 7993,\n\t\"./facts_and_facilities/cleaning.svg\": 35702,\n\t\"./facts_and_facilities/clinic.svg\": 19481,\n\t\"./facts_and_facilities/closedCircuitTelevision.svg\": 61552,\n\t\"./facts_and_facilities/coffee_shop.svg\": 83369,\n\t\"./facts_and_facilities/conferenceRooms.svg\": 38855,\n\t\"./facts_and_facilities/cooling.svg\": 52156,\n\t\"./facts_and_facilities/copying_facilities.svg\": 55943,\n\t\"./facts_and_facilities/coworking.svg\": 22328,\n\t\"./facts_and_facilities/coworkingSpace.svg\": 9078,\n\t\"./facts_and_facilities/currency_exchange.svg\": 1396,\n\t\"./facts_and_facilities/default.svg\": 14443,\n\t\"./facts_and_facilities/dentist.svg\": 61141,\n\t\"./facts_and_facilities/disabled.svg\": 44905,\n\t\"./facts_and_facilities/electricCarCharge.svg\": 90081,\n\t\"./facts_and_facilities/elevator.svg\": 92105,\n\t\"./facts_and_facilities/enclosedProperty.svg\": 34976,\n\t\"./facts_and_facilities/fast_food.svg\": 52784,\n\t\"./facts_and_facilities/fiberInternet.svg\": 8842,\n\t\"./facts_and_facilities/fitness_centre.svg\": 22566,\n\t\"./facts_and_facilities/furnished.svg\": 61368,\n\t\"./facts_and_facilities/gym.svg\": 52283,\n\t\"./facts_and_facilities/hotDesk.svg\": 20670,\n\t\"./facts_and_facilities/hotel.svg\": 73704,\n\t\"./facts_and_facilities/itSupport.svg\": 55996,\n\t\"./facts_and_facilities/kitchenette.svg\": 43486,\n\t\"./facts_and_facilities/light_rail.svg\": 1280,\n\t\"./facts_and_facilities/local_train.svg\": 71667,\n\t\"./facts_and_facilities/lounge.svg\": 73111,\n\t\"./facts_and_facilities/mall.svg\": 13680,\n\t\"./facts_and_facilities/meetingRooms.svg\": 12553,\n\t\"./facts_and_facilities/metro.svg\": 41542,\n\t\"./facts_and_facilities/outdoorArea.svg\": 22163,\n\t\"./facts_and_facilities/ownSignage.svg\": 5870,\n\t\"./facts_and_facilities/parking.svg\": 14535,\n\t\"./facts_and_facilities/petFriendly.svg\": 88842,\n\t\"./facts_and_facilities/pharmacy.svg\": 34997,\n\t\"./facts_and_facilities/phoneAnswering.svg\": 93854,\n\t\"./facts_and_facilities/post_office.svg\": 33210,\n\t\"./facts_and_facilities/postalFacilities.svg\": 13333,\n\t\"./facts_and_facilities/privateOffices.svg\": 85383,\n\t\"./facts_and_facilities/pub.svg\": 67007,\n\t\"./facts_and_facilities/reception.svg\": 52981,\n\t\"./facts_and_facilities/restaurant.svg\": 63481,\n\t\"./facts_and_facilities/s-train.svg\": 39839,\n\t\"./facts_and_facilities/secretarial.svg\": 26928,\n\t\"./facts_and_facilities/shower.svg\": 39921,\n\t\"./facts_and_facilities/spatialPlanning.svg\": 35998,\n\t\"./facts_and_facilities/storage.svg\": 72648,\n\t\"./facts_and_facilities/supermarket.svg\": 23604,\n\t\"./facts_and_facilities/taxi.svg\": 67874,\n\t\"./facts_and_facilities/telephoneSystem.svg\": 90645,\n\t\"./facts_and_facilities/train.svg\": 79953,\n\t\"./facts_and_facilities/tram.svg\": 49989,\n\t\"./facts_and_facilities/trolleybus.svg\": 67301,\n\t\"./facts_and_facilities/unfurnished.svg\": 98409,\n\t\"./facts_and_facilities/videoConference.svg\": 28575,\n\t\"./facts_and_facilities/virtualOffices.svg\": 80038,\n\t\"./facts_and_facilities/wC.svg\": 43575,\n\t\"./facts_and_facilities/wifi.svg\": 74726,\n\t\"./facts_and_facilities/yoga.svg\": 75703,\n\t\"./favorite_empty_page.svg\": 78148,\n\t\"./file-download.svg\": 15,\n\t\"./google-translate.svg\": 86902,\n\t\"./half-star.svg\": 20990,\n\t\"./heart-active.svg\": 12516,\n\t\"./heart.svg\": 27237,\n\t\"./heart_empty.svg\": 913,\n\t\"./heart_full.svg\": 74578,\n\t\"./home.svg\": 52227,\n\t\"./info.svg\": 32312,\n\t\"./instagram.svg\": 54885,\n\t\"./keyboard_arrow_right-rounded.svg\": 91992,\n\t\"./linkedin.svg\": 97562,\n\t\"./list-view-map-icon.svg\": 39595,\n\t\"./list-view-map-noborder.svg\": 89857,\n\t\"./list-view-map.svg\": 24005,\n\t\"./mail.svg\": 70285,\n\t\"./mouse-pointer.svg\": 91334,\n\t\"./nearby-location-banner.svg\": 16367,\n\t\"./no-rsults.svg\": 98992,\n\t\"./outlined-star.svg\": 57232,\n\t\"./parking.svg\": 28053,\n\t\"./parking_places.svg\": 88985,\n\t\"./person.svg\": 24148,\n\t\"./phone_icon.svg\": 86937,\n\t\"./price.svg\": 34560,\n\t\"./search-agent.svg\": 7095,\n\t\"./search.svg\": 62153,\n\t\"./share.svg\": 56398,\n\t\"./star.svg\": 41801,\n\t\"./transport-boat.svg\": 22132,\n\t\"./transport-bus.svg\": 6228,\n\t\"./transport-metro.svg\": 56914,\n\t\"./transport-s-train.svg\": 84741,\n\t\"./transport-train.svg\": 80074,\n\t\"./transport-tram.svg\": 1710,\n\t\"./trustpilot-3-half.svg\": 12524,\n\t\"./trustpilot-3.svg\": 75382,\n\t\"./trustpilot-4-half.svg\": 10485,\n\t\"./trustpilot-4.svg\": 83305,\n\t\"./trustpilot-5.svg\": 31258,\n\t\"./twitter.svg\": 56502,\n\t\"./unavaillable-location-icon.svg\": 98724,\n\t\"./verified.svg\": 62222\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 11751;","var map = {\n\t\"./1\": 22466,\n\t\"./1.svg\": 22466,\n\t\"./10\": 97160,\n\t\"./10.svg\": 97160,\n\t\"./11\": 94767,\n\t\"./11.svg\": 94767,\n\t\"./12\": 81551,\n\t\"./12.svg\": 81551,\n\t\"./2\": 59056,\n\t\"./2.svg\": 59056,\n\t\"./3\": 74829,\n\t\"./3.svg\": 74829,\n\t\"./4\": 96803,\n\t\"./4.svg\": 96803,\n\t\"./5\": 41223,\n\t\"./5.svg\": 41223,\n\t\"./6\": 54416,\n\t\"./6.svg\": 54416,\n\t\"./7\": 57389,\n\t\"./7.svg\": 57389,\n\t\"./8\": 86481,\n\t\"./8.svg\": 86481,\n\t\"./9\": 96212,\n\t\"./9.svg\": 96212,\n\t\"./Alain_Brosséi\": 19011,\n\t\"./Alain_Brosséi.jpg\": 19011,\n\t\"./Colliers\": 51343,\n\t\"./Colliers.svg\": 51343,\n\t\"./Deas\": 82181,\n\t\"./Deas-blue\": 39436,\n\t\"./Deas-blue.svg\": 39436,\n\t\"./Deas.png\": 82181,\n\t\"./FDIH\": 16645,\n\t\"./FDIH.svg\": 16645,\n\t\"./Instagram-icon\": 61381,\n\t\"./Instagram-icon.svg\": 61381,\n\t\"./JakobDalhoff\": 84626,\n\t\"./JakobDalhoff.jpg\": 84626,\n\t\"./Mail_icon\": 37631,\n\t\"./Mail_icon.svg\": 37631,\n\t\"./Phone_icon\": 32245,\n\t\"./Phone_icon.svg\": 32245,\n\t\"./Price-black_1\": 20279,\n\t\"./Price-black_1.svg\": 20279,\n\t\"./Welkin-and-meraki\": 30498,\n\t\"./Welkin-and-meraki.svg\": 30498,\n\t\"./at_logos\": 87262,\n\t\"./at_logos.png\": 87262,\n\t\"./at_logos_all\": 30493,\n\t\"./at_logos_all.png\": 30493,\n\t\"./basic\": 2170,\n\t\"./basic.svg\": 2170,\n\t\"./basic_plus\": 76355,\n\t\"./basic_plus.svg\": 76355,\n\t\"./be_logos\": 47053,\n\t\"./be_logos.png\": 47053,\n\t\"./be_logos_all\": 79581,\n\t\"./be_logos_all.png\": 79581,\n\t\"./category_left\": 31560,\n\t\"./category_left.jpg\": 31560,\n\t\"./category_right\": 97184,\n\t\"./category_right.jpg\": 97184,\n\t\"./ch_logos\": 27206,\n\t\"./ch_logos.png\": 27206,\n\t\"./ch_logos_all\": 81170,\n\t\"./ch_logos_all.png\": 81170,\n\t\"./computer_at_de-AT\": 88123,\n\t\"./computer_at_de-AT.png\": 88123,\n\t\"./computer_be_fr-BE\": 70777,\n\t\"./computer_be_fr-BE.png\": 70777,\n\t\"./computer_be_nl-BE\": 70749,\n\t\"./computer_be_nl-BE.png\": 70749,\n\t\"./computer_ch_de-CH\": 17184,\n\t\"./computer_ch_de-CH.png\": 17184,\n\t\"./computer_ch_fr-CH\": 69354,\n\t\"./computer_ch_fr-CH.png\": 69354,\n\t\"./computer_de_de\": 21032,\n\t\"./computer_de_de.png\": 21032,\n\t\"./computer_dk_da\": 34822,\n\t\"./computer_dk_da.png\": 34822,\n\t\"./computer_es_es\": 86666,\n\t\"./computer_es_es.png\": 86666,\n\t\"./computer_fi_fi\": 62744,\n\t\"./computer_fi_fi.png\": 62744,\n\t\"./computer_fr_fr\": 41747,\n\t\"./computer_fr_fr.png\": 41747,\n\t\"./computer_gb_en\": 95666,\n\t\"./computer_gb_en.png\": 95666,\n\t\"./computer_global_en\": 91609,\n\t\"./computer_global_en.png\": 91609,\n\t\"./computer_global_tr\": 78479,\n\t\"./computer_global_tr.png\": 78479,\n\t\"./computer_hk_en-HK\": 87494,\n\t\"./computer_hk_en-HK.png\": 87494,\n\t\"./computer_in_en-IN\": 52585,\n\t\"./computer_in_en-IN.png\": 52585,\n\t\"./computer_it_it\": 76843,\n\t\"./computer_it_it.png\": 76843,\n\t\"./computer_lu_fr-LU\": 16552,\n\t\"./computer_lu_fr-LU.png\": 16552,\n\t\"./computer_new_at_de-AT\": 73554,\n\t\"./computer_new_at_de-AT.png\": 73554,\n\t\"./computer_new_be_fr-BE\": 21550,\n\t\"./computer_new_be_fr-BE.png\": 21550,\n\t\"./computer_new_be_nl-BE\": 66628,\n\t\"./computer_new_be_nl-BE.png\": 66628,\n\t\"./computer_new_ch_de-CH\": 38586,\n\t\"./computer_new_ch_de-CH.png\": 38586,\n\t\"./computer_new_ch_fr-CH\": 33181,\n\t\"./computer_new_ch_fr-CH.png\": 33181,\n\t\"./computer_new_de_de\": 96444,\n\t\"./computer_new_de_de.png\": 96444,\n\t\"./computer_new_dk_da\": 29252,\n\t\"./computer_new_dk_da.png\": 29252,\n\t\"./computer_new_es_es\": 60337,\n\t\"./computer_new_es_es.png\": 60337,\n\t\"./computer_new_fi_fi\": 93245,\n\t\"./computer_new_fi_fi.png\": 93245,\n\t\"./computer_new_fr_fr\": 68807,\n\t\"./computer_new_fr_fr.png\": 68807,\n\t\"./computer_new_gb_en\": 79974,\n\t\"./computer_new_gb_en.png\": 79974,\n\t\"./computer_new_global_en\": 14332,\n\t\"./computer_new_global_en.png\": 14332,\n\t\"./computer_new_global_tr\": 99513,\n\t\"./computer_new_global_tr.png\": 99513,\n\t\"./computer_new_hk_en-HK\": 9779,\n\t\"./computer_new_hk_en-HK.png\": 9779,\n\t\"./computer_new_in_en-IN\": 73421,\n\t\"./computer_new_in_en-IN.png\": 73421,\n\t\"./computer_new_it_it\": 37704,\n\t\"./computer_new_it_it.png\": 37704,\n\t\"./computer_new_lu_fr-LU\": 26933,\n\t\"./computer_new_lu_fr-LU.png\": 26933,\n\t\"./computer_new_nl_nl\": 82651,\n\t\"./computer_new_nl_nl.png\": 82651,\n\t\"./computer_new_no_nb\": 65327,\n\t\"./computer_new_no_nb.png\": 65327,\n\t\"./computer_new_pl_pl\": 18816,\n\t\"./computer_new_pl_pl.png\": 18816,\n\t\"./computer_new_se_sv\": 7435,\n\t\"./computer_new_se_sv.png\": 7435,\n\t\"./computer_new_sg_en-SG\": 86395,\n\t\"./computer_new_sg_en-SG.png\": 86395,\n\t\"./computer_new_ua_ru-UA\": 43246,\n\t\"./computer_new_ua_ru-UA.png\": 43246,\n\t\"./computer_new_ua_uk\": 42630,\n\t\"./computer_new_ua_uk.png\": 42630,\n\t\"./computer_nl_nl\": 60385,\n\t\"./computer_nl_nl.png\": 60385,\n\t\"./computer_no_nb\": 12603,\n\t\"./computer_no_nb.png\": 12603,\n\t\"./computer_pl_pl\": 65467,\n\t\"./computer_pl_pl.png\": 65467,\n\t\"./computer_se_sv\": 26682,\n\t\"./computer_se_sv.png\": 26682,\n\t\"./computer_sg_en-SG\": 53730,\n\t\"./computer_sg_en-SG.png\": 53730,\n\t\"./computer_ua_ru-UA\": 40738,\n\t\"./computer_ua_ru-UA.png\": 40738,\n\t\"./computer_ua_uk\": 14966,\n\t\"./computer_ua_uk.png\": 14966,\n\t\"./contact-us-icon\": 65009,\n\t\"./contact-us-icon.svg\": 65009,\n\t\"./coworking-meetingroom-black\": 38412,\n\t\"./coworking-meetingroom-black.svg\": 38412,\n\t\"./de_logos\": 73519,\n\t\"./de_logos.png\": 73519,\n\t\"./de_logos_all\": 67883,\n\t\"./de_logos_all.png\": 67883,\n\t\"./dk_logos\": 45029,\n\t\"./dk_logos.svg\": 45029,\n\t\"./dk_logos_all\": 68617,\n\t\"./dk_logos_all.svg\": 68617,\n\t\"./ejendomsforeningen-danmark\": 83789,\n\t\"./ejendomsforeningen-danmark.svg\": 83789,\n\t\"./es_logos\": 94356,\n\t\"./es_logos.png\": 94356,\n\t\"./es_logos_all\": 65229,\n\t\"./es_logos_all.png\": 65229,\n\t\"./fi_logos\": 53360,\n\t\"./fi_logos.png\": 53360,\n\t\"./fi_logos_all\": 60706,\n\t\"./fi_logos_all.png\": 60706,\n\t\"./fr_logos\": 62980,\n\t\"./fr_logos.png\": 62980,\n\t\"./fr_logos_all\": 11081,\n\t\"./fr_logos_all.png\": 11081,\n\t\"./gb_logos\": 35521,\n\t\"./gb_logos.png\": 35521,\n\t\"./gb_logos_all\": 95469,\n\t\"./gb_logos_all.png\": 95469,\n\t\"./get-offer-icon\": 20005,\n\t\"./get-offer-icon.svg\": 20005,\n\t\"./global_logos\": 12124,\n\t\"./global_logos.png\": 12124,\n\t\"./global_logos_all\": 28725,\n\t\"./global_logos_all.png\": 28725,\n\t\"./henriette_holm_stahlhut\": 99207,\n\t\"./henriette_holm_stahlhut.png\": 99207,\n\t\"./hk_logos\": 13413,\n\t\"./hk_logos.png\": 13413,\n\t\"./hk_logos_all\": 38228,\n\t\"./hk_logos_all.png\": 38228,\n\t\"./hotline\": 4604,\n\t\"./hotline.svg\": 4604,\n\t\"./in_logos\": 91035,\n\t\"./in_logos.png\": 91035,\n\t\"./in_logos_all\": 94524,\n\t\"./in_logos_all.png\": 94524,\n\t\"./info-banner1\": 29965,\n\t\"./info-banner1.svg\": 29965,\n\t\"./it_logos\": 71203,\n\t\"./it_logos.png\": 71203,\n\t\"./it_logos_all\": 96625,\n\t\"./it_logos_all.png\": 96625,\n\t\"./label-large\": 69624,\n\t\"./label-large.svg\": 69624,\n\t\"./label-small\": 36126,\n\t\"./label-small.svg\": 36126,\n\t\"./logo-dk-new\": 61102,\n\t\"./logo-dk-new.svg\": 61102,\n\t\"./lu_logos\": 84985,\n\t\"./lu_logos.png\": 84985,\n\t\"./lu_logos_all\": 74694,\n\t\"./lu_logos_all.png\": 74694,\n\t\"./multiple_icon\": 26273,\n\t\"./multiple_icon.svg\": 26273,\n\t\"./nina_therkelsen\": 94187,\n\t\"./nina_therkelsen.jpg\": 94187,\n\t\"./nl_logos\": 15579,\n\t\"./nl_logos.png\": 15579,\n\t\"./nl_logos_all\": 95520,\n\t\"./nl_logos_all.png\": 95520,\n\t\"./no_logos\": 75770,\n\t\"./no_logos.png\": 75770,\n\t\"./no_logos_all\": 73795,\n\t\"./no_logos_all.png\": 73795,\n\t\"./nrep\": 38329,\n\t\"./nrep.png\": 38329,\n\t\"./peter-lassen\": 62933,\n\t\"./peter-lassen.jpg\": 62933,\n\t\"./phone\": 15716,\n\t\"./phone.svg\": 15716,\n\t\"./pl_logos\": 68907,\n\t\"./pl_logos.png\": 68907,\n\t\"./pl_logos_all\": 9954,\n\t\"./pl_logos_all.png\": 9954,\n\t\"./premium\": 45346,\n\t\"./premium.svg\": 45346,\n\t\"./premium_plus\": 18997,\n\t\"./premium_plus.svg\": 18997,\n\t\"./price_icon\": 15597,\n\t\"./price_icon.svg\": 15597,\n\t\"./real-estate-providers-logos\": 53861,\n\t\"./real-estate-providers-logos.svg\": 53861,\n\t\"./regus\": 86319,\n\t\"./regus.svg\": 86319,\n\t\"./se_logos\": 29817,\n\t\"./se_logos.png\": 29817,\n\t\"./se_logos_all\": 63844,\n\t\"./se_logos_all.png\": 63844,\n\t\"./see-prices-icon\": 86564,\n\t\"./see-prices-icon.svg\": 86564,\n\t\"./sg_logos\": 96561,\n\t\"./sg_logos.png\": 96561,\n\t\"./sg_logos_all\": 4388,\n\t\"./sg_logos_all.png\": 4388,\n\t\"./teaser-img-center\": 87569,\n\t\"./teaser-img-center.svg\": 87569,\n\t\"./teaser-img-left\": 61607,\n\t\"./teaser-img-left.svg\": 61607,\n\t\"./teasr-img-right\": 15762,\n\t\"./teasr-img-right.svg\": 15762,\n\t\"./thank_you\": 84139,\n\t\"./thank_you.svg\": 84139,\n\t\"./thomas_munk\": 32157,\n\t\"./thomas_munk.jpeg\": 32157,\n\t\"./top_bg\": 44839,\n\t\"./top_bg.jpg\": 83987,\n\t\"./top_bg.png\": 44839,\n\t\"./torkild-bang-jensen\": 44873,\n\t\"./torkild-bang-jensen.jpg\": 44873,\n\t\"./ua_logos\": 4809,\n\t\"./ua_logos.png\": 4809,\n\t\"./ua_logos_all\": 12547,\n\t\"./ua_logos_all.png\": 12547,\n\t\"./virtual-tour\": 51175,\n\t\"./virtual-tour.svg\": 51175\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 83039;","var map = {\n\t\"./1.svg\": 22466,\n\t\"./10.svg\": 97160,\n\t\"./11.svg\": 94767,\n\t\"./12.svg\": 81551,\n\t\"./2.svg\": 59056,\n\t\"./3.svg\": 74829,\n\t\"./4.svg\": 96803,\n\t\"./5.svg\": 41223,\n\t\"./6.svg\": 54416,\n\t\"./7.svg\": 57389,\n\t\"./8.svg\": 86481,\n\t\"./9.svg\": 96212,\n\t\"./Colliers.svg\": 51343,\n\t\"./Deas-blue.svg\": 39436,\n\t\"./FDIH.svg\": 16645,\n\t\"./Instagram-icon.svg\": 61381,\n\t\"./Mail_icon.svg\": 37631,\n\t\"./Phone_icon.svg\": 32245,\n\t\"./Price-black_1.svg\": 20279,\n\t\"./Welkin-and-meraki.svg\": 30498,\n\t\"./basic.svg\": 2170,\n\t\"./basic_plus.svg\": 76355,\n\t\"./contact-us-icon.svg\": 65009,\n\t\"./coworking-meetingroom-black.svg\": 38412,\n\t\"./dk_logos.svg\": 45029,\n\t\"./dk_logos_all.svg\": 68617,\n\t\"./ejendomsforeningen-danmark.svg\": 83789,\n\t\"./get-offer-icon.svg\": 20005,\n\t\"./hotline.svg\": 4604,\n\t\"./info-banner1.svg\": 29965,\n\t\"./label-large.svg\": 69624,\n\t\"./label-small.svg\": 36126,\n\t\"./logo-dk-new.svg\": 61102,\n\t\"./multiple_icon.svg\": 26273,\n\t\"./phone.svg\": 15716,\n\t\"./premium.svg\": 45346,\n\t\"./premium_plus.svg\": 18997,\n\t\"./price_icon.svg\": 15597,\n\t\"./real-estate-providers-logos.svg\": 53861,\n\t\"./regus.svg\": 86319,\n\t\"./see-prices-icon.svg\": 86564,\n\t\"./teaser-img-center.svg\": 87569,\n\t\"./teaser-img-left.svg\": 61607,\n\t\"./teasr-img-right.svg\": 15762,\n\t\"./thank_you.svg\": 84139,\n\t\"./virtual-tour.svg\": 51175\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 73612;","var map = {\n\t\"./at_logos\": 87262,\n\t\"./be_logos\": 47053,\n\t\"./ch_logos\": 27206,\n\t\"./de_logos\": 73519,\n\t\"./dk_logos\": 45029,\n\t\"./es_logos\": 94356,\n\t\"./fi_logos\": 53360,\n\t\"./fr_logos\": 62980,\n\t\"./gb_logos\": 35521,\n\t\"./global_logos\": 12124,\n\t\"./hk_logos\": 13413,\n\t\"./in_logos\": 91035,\n\t\"./it_logos\": 71203,\n\t\"./lu_logos\": 84985,\n\t\"./nl_logos\": 15579,\n\t\"./no_logos\": 75770,\n\t\"./pl_logos\": 68907,\n\t\"./se_logos\": 29817,\n\t\"./sg_logos\": 96561,\n\t\"./ua_logos\": 4809\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 29818;","var map = {\n\t\"./at_logos_all\": 30493,\n\t\"./be_logos_all\": 79581,\n\t\"./ch_logos_all\": 81170,\n\t\"./de_logos_all\": 67883,\n\t\"./dk_logos_all\": 68617,\n\t\"./es_logos_all\": 65229,\n\t\"./fi_logos_all\": 60706,\n\t\"./fr_logos_all\": 11081,\n\t\"./gb_logos_all\": 95469,\n\t\"./global_logos_all\": 28725,\n\t\"./hk_logos_all\": 38228,\n\t\"./in_logos_all\": 94524,\n\t\"./it_logos_all\": 96625,\n\t\"./lu_logos_all\": 74694,\n\t\"./nl_logos_all\": 95520,\n\t\"./no_logos_all\": 73795,\n\t\"./pl_logos_all\": 9954,\n\t\"./se_logos_all\": 63844,\n\t\"./sg_logos_all\": 4388,\n\t\"./ua_logos_all\": 12547\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 67596;","var map = {\n\t\"./computer_new_at_de-AT.png\": 73554,\n\t\"./computer_new_be_fr-BE.png\": 21550,\n\t\"./computer_new_be_nl-BE.png\": 66628,\n\t\"./computer_new_ch_de-CH.png\": 38586,\n\t\"./computer_new_ch_fr-CH.png\": 33181,\n\t\"./computer_new_de_de.png\": 96444,\n\t\"./computer_new_dk_da.png\": 29252,\n\t\"./computer_new_es_es.png\": 60337,\n\t\"./computer_new_fi_fi.png\": 93245,\n\t\"./computer_new_fr_fr.png\": 68807,\n\t\"./computer_new_gb_en.png\": 79974,\n\t\"./computer_new_global_en.png\": 14332,\n\t\"./computer_new_global_tr.png\": 99513,\n\t\"./computer_new_hk_en-HK.png\": 9779,\n\t\"./computer_new_in_en-IN.png\": 73421,\n\t\"./computer_new_it_it.png\": 37704,\n\t\"./computer_new_lu_fr-LU.png\": 26933,\n\t\"./computer_new_nl_nl.png\": 82651,\n\t\"./computer_new_no_nb.png\": 65327,\n\t\"./computer_new_pl_pl.png\": 18816,\n\t\"./computer_new_se_sv.png\": 7435,\n\t\"./computer_new_sg_en-SG.png\": 86395,\n\t\"./computer_new_ua_ru-UA.png\": 43246,\n\t\"./computer_new_ua_uk.png\": 42630\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46257;","var map = {\n\t\"./Trustpilot-logo-on-white\": 50959,\n\t\"./Trustpilot-logo-on-white.svg\": 50959,\n\t\"./Trustpilot-logo-on-white@2x\": 8664,\n\t\"./Trustpilot-logo-on-white@2x.png\": 8664,\n\t\"./copyrighted\": 57014,\n\t\"./copyrighted.svg\": 57014,\n\t\"./ejendomsforeningen\": 30608,\n\t\"./ejendomsforeningen.svg\": 30608,\n\t\"./fdih\": 62551,\n\t\"./fdih.svg\": 62551,\n\t\"./googlestreetview\": 37864,\n\t\"./googlestreetview.svg\": 37864,\n\t\"./lokalebasen_dk\": 32477,\n\t\"./lokalebasen_dk.svg\": 32477,\n\t\"./matchoffice_generic\": 80392,\n\t\"./matchoffice_generic.svg\": 80392,\n\t\"./ssl-secure-encryption\": 19129,\n\t\"./ssl-secure-encryption.svg\": 19129,\n\t\"./trustpilot\": 71877,\n\t\"./trustpilot.svg\": 71877\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 41073;","import React from 'react';\n\nimport Breadcrumb from '../index';\n\ndescribe('Suite for <Breadcrumb />', () => {\n const props = {\n breadcrumbs: [\n { label: 'Hiem', path: '/' },\n { label: 'Leje', path: '/leje' },\n { label: 'Kontorlakler', path: '/kontorlakler' },\n ],\n };\n const wrapper = shallow(<Breadcrumb {...props} />);\n it('renders with 3 links', () => {\n expect(wrapper.find('a').length).toBe(3);\n });\n\n it('renders with link', () => {\n expect(\n wrapper\n .find('a')\n .at(1)\n .props().href\n ).toEqual('/leje');\n expect(\n wrapper\n .find('a')\n .at(1)\n .text()\n ).toEqual('Leje');\n });\n\n it('renders blank container', () => {\n let wrapper_blank = shallow(<Breadcrumb />);\n expect(wrapper_blank.find('a').length).toBe(0);\n expect(wrapper_blank.find('.container').length).toBe(1);\n });\n});\n","import React, { Component } from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\nimport classNames from 'classnames';\n\nimport Client from '../../../utils/Client';\nimport { validationPatterns } from '../../../utils/validationPatterns';\nimport Loader from '../../SharedComponents/Loader';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './ModalGetInfoFormMobile.sass';\n\n\n// import GoogleAnalytics from '../../utils/GoogleAnalytics';\n// import { storeValidationFails } from '../../utils/FormHandler';\n\n\nclass ModalGetInfoFormMobile extends Component {\n state = {\n isShowingModal: false,\n isSubmitting: false,\n // jeudanReadMore: false,\n };\n\n\n handleSendingData = () => {\n this.props.validateForm()\n .then(resolved => {\n if (Object.entries(this.props.errors).length === 0) {\n this.setState({ isSubmitting: true });\n }\n })\n };\n\n handleFieldBlur = (e) => {\n this.props.handleBlur(e);\n // storeValidationFails(this, 'order');\n };\n\n // openReadMoreJeudan = () => this.setState({ jeudanReadMore: true });\n\n\n render() {\n const {\n values,\n touched,\n errors,\n handleChange,\n handleSubmit,\n contactOrdered,\n // isJeudan,\n } = this.props;\n\n const {\n isSubmitting,\n // jeudanReadMore\n } = this.state;\n\n const noErrors = Object.keys(errors).length === 0;\n\n const askLandLordButton = {\n mainText: I18n.t('apps.lb_showroom.detailed.order_form.contact_button_one_ab_test'),\n infoSentText: I18n.t('apps.lb_showroom.detailed.order_form.contact_button_sent'),\n };\n const buttonText = contactOrdered ? askLandLordButton.infoSentText : askLandLordButton.mainText;\n const buttonIcon = isSubmitting && noErrors ? <Loader size={18} left={7} top={15}/> : null;\n // const checkboxClasses = classNames('jeudan-policy-checkbox__wrapper', {'checked': values.jeudan_policy });\n\n\n\n return (\n <div className=\"form-section ab-test-form\">\n <form onSubmit={handleSubmit} noValidate>\n {/* here we check does this field was filled by bot */}\n <input\n id=\"fifth_element\"\n type=\"text\"\n name=\"fifth_element\"\n className=\"invisible\"\n value={values.fifth_element}\n onPaste={handleChange}\n onChange={handleChange}\n onBlur={this.handleFieldBlur}\n error={errors.name && touched.name}\n />\n\n <div className=\"order-form__collapsible-wrapper\">\n <div className='form-collapsible'>\n <div className=\"input-wrapper\">\n\n <div className=\"form-group\">\n <input\n id=\"name\"\n type=\"text\"\n value={values.name}\n onChange={handleChange}\n onBlur={this.handleFieldBlur}\n className={`form-control order-form__input\n ${values.name !== '' ? 'not-empty' : 'empty'}\n ${touched.name ? (errors.name ? 'error' : 'is-valid order-input-valid') : null}`}\n error={errors.name && touched.name}\n />\n <span className=\"floating-label\">{I18n.t('activemodel.attributes.provider_service_request.person_full_name')}*</span>\n <div className=\"validation-wrapper\" />\n <div className=\"validation-message\">\n {touched.name && errors.name ? errors.name : null}\n </div>\n </div>\n\n <div className=\"form-group\">\n <input\n id=\"email\"\n type=\"email\"\n value={values.email}\n onChange={handleChange}\n onBlur={this.handleFieldBlur}\n className={`form-control order-form__input\n ${values.email !== '' ? 'not-empty' : 'empty'}\n ${touched.email ? (errors.email ? 'error' : 'is-valid order-input-valid') : null}`}\n />\n <span className=\"floating-label\">{I18n.t('activemodel.attributes.provider_service_request.email')}*</span>\n <div className=\"validation-wrapper\" />\n <div className=\"validation-message\">\n {touched.email && errors.email ? errors.email : null}\n </div>\n </div>\n\n <div className=\"form-group\">\n <input\n id=\"phone\"\n type=\"tel\"\n value={values.phone}\n onChange={handleChange}\n onBlur={this.handleFieldBlur}\n className={`form-control order-form__input\n ${values.phone !== '' ? 'not-empty' : 'empty'}\n ${touched.phone ? (errors.phone ? 'error' : 'is-valid order-input-valid') : null}`}\n />\n <span className=\"floating-label\">{I18n.t('activemodel.attributes.provider_service_request.phone_number_order_form')}*</span>\n <div className=\"validation-wrapper\" />\n <div className=\"validation-message\">\n {touched.phone && errors.phone ? errors.phone : null}\n </div>\n </div>\n\n <div className=\"form-group\">\n <input\n id=\"company\"\n type=\"text\"\n value={values.company}\n onChange={handleChange}\n onBlur={this.handleFieldBlur}\n className={`form-control order-form__input\n ${values.company !== '' ? 'not-empty' : 'empty'}\n ${touched.company ? (errors.company ? 'error' : 'is-valid order-input-valid') : null}`}\n />\n <span className=\"floating-label\">{I18n.t('generic.company_name')}*</span>\n <div className=\"validation-wrapper\" />\n <div className=\"validation-message\">\n {touched.company && errors.company ? errors.company : null}\n </div>\n </div>\n\n <div className=\"form-group\">\n <textarea\n id=\"comment\"\n type=\"text\"\n resize=\"none\"\n value={values.comment}\n onChange={handleChange}\n onBlur={this.handleFieldBlur}\n className={`form-control order-form__textarea\n ${values.comment !== '' ? 'not-empty' : 'empty'}\n ${touched.comment ? (errors.comment ? 'error' : 'is-valid order-input-valid') : null}`}\n />\n <span className=\"floating-label disappear-label\">{I18n.t('activemodel.attributes.provider_service_request.your_question')}*</span>\n <div className=\"validation-wrapper\"/>\n <div className=\"validation-message\">\n {touched.comment && errors.comment ? errors.comment : null}\n </div>\n </div>\n\n {/*{ isJeudan &&*/}\n {/* <div className=\"form-group jeudan-policy-checkbox\">*/}\n {/* <div className={checkboxClasses}>*/}\n {/* <input*/}\n {/* name=\"jeudan_policy\"*/}\n {/* type=\"checkbox\"*/}\n {/* value={values.jeudan_policy}*/}\n {/* id=\"jeudan_policy\"*/}\n {/* onChange={handleChange}*/}\n {/* onBlur={this.handleFieldBlur}*/}\n {/* />*/}\n {/* <SvgIco name=\"check\" size={15} />*/}\n {/* <div className=\"jeudan-policy-checkbox__label\">*/}\n {/* { jeudanReadMore*/}\n {/* ?*/}\n {/* <div dangerouslySetInnerHTML={{ __html: I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_full') }}*/}\n {/* className=\"jeudan-policy-checkbox__label-content\"/>*/}\n {/* :*/}\n {/* <div>*/}\n {/* { I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_short') }*/}\n {/* <span onClick={this.openReadMoreJeudan} className=\"jeudan-policy-checkbox__label-read-more-link\">*/}\n {/* { I18n.t('generic.read_more') }.*/}\n {/* </span>*/}\n {/* </div>*/}\n {/* }*/}\n {/* </div>*/}\n {/* </div>*/}\n {/* <div className=\"validation-message validation-message--jeudan\">*/}\n {/* { touched.jeudan_policy && errors.jeudan_policy ? errors.jeudan_policy : null }*/}\n {/* </div>*/}\n {/* </div>*/}\n {/*}*/}\n\n </div>\n </div>\n </div>\n\n <button onClick={this.handleSendingData} className=\"get-info-submit-button\" >\n { buttonIcon }\n { buttonText }\n </button>\n\n </form>\n </div>\n );\n }\n};\n\nconst { fifth_element, name, phone, email, company, option_parking_lots } = Client.getClientInfo();\nconst {\n emailI18n,\n} = Client.getI18nAttrNames();\nconst i18nMinNumberKey =\n 'apps.lb_showroom.detailed.order_form.validation.min_number';\n\n\nconst {\n fullName,\n phoneNumber,\n companyName,\n messageI18n,\n} = Client.getI18nAttrNamesMobileModalForm();\n\nconst i18nRequiredStartKey = 'apps.lb_showroom.detailed.order_form.validation.field_required_modal_form';\nconst i18nSymbolsLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 254 });\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 100 });\nconst i18nAtLeast8Digits = 'apps.lb_showroom.detailed.order_form.validation.at_least_8_digits';\n\nconst GetInfoFormMobile = withFormik({\n mapPropsToValues: (bag) => ({\n name, email, phone, company,\n option_parking_lots,\n comment: '', fifth_element,\n // jeudan_policy: false,\n // isJeudan: bag.isJeudan\n }),\n validationSchema: Yup.object().shape({\n fifth_element: Yup.string(),\n name: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.name, I18n.t(\"apps.lb_showroom.misc.scoped_form.name.invalid\"))\n .required(I18n.t(i18nRequiredStartKey, { field: fullName })),\n email: Yup.string()\n .matches(validationPatterns.symbolsEmailLimit, i18nSymbolsEmailLimitErrorMessage)\n .email(I18n.t('apps.lb_showroom.detailed.order_form.validation.wrong_email'))\n .required(I18n.t(i18nRequiredStartKey, { field: emailI18n })),\n company: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.company, I18n.t(\"apps.lb_showroom.misc.scoped_form.company.invalid\"))\n .required(I18n.t(i18nRequiredStartKey, { field: companyName })),\n phone: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .min(8, I18n.t(i18nMinNumberKey, { field: phoneNumber }))\n .matches(validationPatterns.phone, I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid'))\n .test('minDigitsValidation', I18n.t(i18nAtLeast8Digits), function(value) {\n const { path, createError } = this;\n const phoneIsValid = value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n return phoneIsValid || !value || createError({ path, message: I18n.t(i18nAtLeast8Digits) });\n })\n .required(I18n.t(i18nRequiredStartKey, { field: phoneNumber })),\n comment: Yup.string()\n .required(I18n.t(i18nRequiredStartKey, { field: messageI18n })),\n // isJeudan: Yup.boolean(),\n // jeudan_policy: Yup.boolean()\n // .when(\"isJeudan\", {\n // is: true,\n // then: Yup.boolean()\n // .required(I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message'))\n // .oneOf([true], I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message')),\n // })\n }),\n handleSubmit: (values, bag) => {\n Client.updateClientInfo(values);\n bag.props.submitHandler(values);\n },\n displayName: 'InfoForm', // helps with React DevTools\n})(ModalGetInfoFormMobile);\n\nexport default GetInfoFormMobile;\n","import React, { useContext, useEffect, useState, Fragment } from 'react';\nimport Modal from 'react-modal';\n\nimport Storage from '../../../utils/localStorage';\nimport { contactProvider } from '../../../utils/api';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport InfoModal from '../../OrderForm/InfoModal';\nimport { Context } from \"../index\";\nimport GetInfoFormMobile from './ModalGetInfoFormMobile';\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: '9990',\n padding: '0'\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: '0px',\n pointerEvents: 'visible',\n height: '100%',\n border: 'none',\n borderRadius: '0px'\n },\n};\n\n\nconst AskProviderModalForm = () => {\n\n const {\n contactOrdered,\n contactPath,\n // isJeudan,\n locationId,\n locationUuid,\n modalFormOpen,\n setContactOrdered,\n setModalFormOpen,\n setUpdateAskLandlord,\n switchSelectedOrderForm,\n visitorToken,\n } = useContext(Context);\n\n const [modalIsOpen, setModalIsOpen] = useState(false);\n\n const locationOrdered = Storage.isLocationOrdered(locationUuid);\n\n\n const contactFormHandler = params => {\n params.locationId = locationId;\n params.user_token = visitorToken;\n\n contactProvider(contactPath, params)\n .then(response => {\n setUpdateAskLandlord(true);\n setModalFormOpen(false);\n Storage.updateContactItem();\n setContactOrdered(true);\n window.location.href = response.data.confirmation_page_url;\n locationOrdered ? switchSelectedOrderForm('book_showcase') : switchSelectedOrderForm('order');\n })\n .catch(error => { console.error(error) });\n };\n\n\n return (\n <Fragment>\n\n <InfoModal\n handleClose={() => setModalIsOpen(false)}\n isShowingModal={modalIsOpen} />\n\n <Modal\n ariaHideApp={false}\n isOpen={modalFormOpen}\n onRequestClose={() => setModalFormOpen(false)}\n shouldCloseOnOverlayClick={false}\n style={customStyles}>\n\n <div className=\"get-info-form-modal-content\">\n <div className=\"get-info-form-modal-content__title-section\">\n <div className='modal-close' onClick={() => setModalFormOpen(false)}>\n <SvgIco name=\"arrow-back\" size={24} />\n </div>\n\n <div className=\"get-info-form-modal-content__title\">\n <p>{ I18n.t('apps.entry_page.generic.not_provided') }</p>\n </div>\n <div className='modal-close' onClick={() => setModalFormOpen(false)}>\n <SvgIco name=\"close\" size={24} />\n </div>\n </div>\n\n <div className=\"get-info-form-modal-content__main-content\">\n <div className=\"order-form__title form-header__title order-form__title--subtitle\">\n { I18n.t('apps.lb_showroom.detailed.order_form.rental_question') }\n </div>\n\n <p className=\"get-info-form-modal-content__description\">\n <Fragment>{ I18n.t('apps.lb_showroom.detailed.order_form.landlord_request') }</Fragment>\n </p>\n\n <GetInfoFormMobile\n contactOrdered={contactOrdered}\n // isJeudan={isJeudan}\n submitHandler={contactFormHandler}\n visitorToken={visitorToken}\n />\n\n <div className=\"order-form__info-wrapper info-wrapper\">\n <SvgIco name=\"lock\" size={24} />\n <span className=\"info-label\" onClick={() => setModalIsOpen(prevState => !prevState)}>\n { I18n.t('apps.lb_showroom.detailed.order_form.data_protection') }\n </span>\n </div>\n\n </div>\n </div>\n </Modal>\n </Fragment>\n );\n}\n\nexport default AskProviderModalForm;\n","import React, { useContext } from 'react';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst ClosedLocationBanner = () => {\n\n const { nearbyLocationsLink, similarLocationsLink } = useContext(Context);\n\n\n return (\n <div className=\"closed-locations-banner\">\n <SvgIco name=\"locators\" width={306} height={143} />\n\n { similarLocationsLink &&\n <a className=\"closed-locations-banner__button similar-locations\" href={similarLocationsLink} target=\"_blank\">\n { I18n.t('search_agents.invalid_order.similar_locations') }\n </a>\n }\n\n { nearbyLocationsLink &&\n <a className=\"closed-locations-banner__button nearby-locations\" href={nearbyLocationsLink} target=\"_blank\">\n { I18n.t('apps.lb_showroom.nearby_locations') }\n </a>\n }\n </div>\n )\n};\n\nexport default ClosedLocationBanner;\n","import React from 'react';\n\nimport './index.sass';\n\n\nconst CombinedLeases = ({ combinedLocations, isRentIncludeOperationalCost }) =>\n <div className=\"combined-leases\">\n\n <p className=\"combined-leases__title\">\n { I18n.t('apps.lb_showroom.detailed.combined_lease.title') }\n </p>\n\n { combinedLocations.map(lease =>\n <div className=\"combined-leases__row row\">\n\n <div className=\"combined-leases__col combined-leases__kind col-12 col-md-2 col-lg-2 col-xl-2\">\n { lease.kind }\n </div>\n\n <div className=\"combined-leases__col col-6 col-md-2 col-lg-3 col-xl-2\">\n { lease.area ? lease.area + ' m²' : I18n.t('locations.index.not_available') }\n <div className=\"combined-leases__label\">\n { I18n.t('apps.lb_showroom.detailed.area.area_label') }\n </div>\n </div>\n\n <div className=\"combined-leases__col col-6 col-md-3 col-lg-3 col-xl-2\">\n { lease.yearlyPricePerM2 ? lease.yearlyPricePerM2 + ' kr.' : I18n.t('locations.index.not_available') }\n <div className=\"combined-leases__label\">\n { I18n.t(isRentIncludeOperationalCost\n ? 'activerecord.attributes.location.yearly_rent_per_m2_include_operational_cost'\n : 'activerecord.attributes.location.yearly_rent_per_m2_from')\n }\n </div>\n </div>\n\n <div className=\"col-12 col-md-7 col-lg-8 col-xl-12\">\n <div className=\"combined-leases__border\" />\n </div>\n </div>\n )}\n\n </div>;\n\n\nexport default CombinedLeases;\n","import React, { useState } from 'react';\nimport CryptoJS from \"crypto-js\";\n\nimport { postLocationContactDetailsShown } from '../../../utils/api';\nimport { SvgIco } from '../../SharedComponents/Icons';\n\n\nconst SmallContactBlock = ({ addressLine1,\n contact,\n locationId,\n siteKey,\n streetName,\n }) => {\n\n const [isContactsShown, setIsContactsShown] = useState(false);\n const [contactEmail, setContactEmail] = useState(null);\n\n const address = streetName || addressLine1;\n\n\n const handleEmail = () => {\n const encodedEmail = CryptoJS.enc.Base64.parse(contact.tag);\n const key = CryptoJS.enc.Utf8.parse('75smg2w68qmy2ori75smg2w68qmy2ori');\n const iv = CryptoJS.enc.Utf8.parse('javatzwkbnkmih8t');\n const decryptEmail = CryptoJS.AES.decrypt({ ciphertext: encodedEmail }, key, { iv: iv, mode: CryptoJS.mode.CBC });\n const originalEmail = decryptEmail.toString(CryptoJS.enc.Utf8);\n\n return originalEmail;\n };\n\n const handleClick = () => {\n setIsContactsShown(true);\n setContactEmail(handleEmail());\n postLocationContactDetailsShown(locationId)\n .catch(error => console.log('Error: ', error));\n };\n\n\n return (\n <div onClick={handleClick}>\n <div className=\"contact-info-content__info-links\">\n <SvgIco name=\"phone\" size={22}/>\n { isContactsShown\n ? <a className=\"contact-info-content__info-phone-link\" href={`tel://${contact.phone}`}>{ contact.phone }</a>\n : I18n.t('generic.show_phone_number')\n }\n </div>\n <div className=\"contact-info-content__info-links\">\n <SvgIco name=\"mail\" size={22}/>\n { isContactsShown\n ? (siteKey === 'dk'\n ?\n <a href={`mailto:${contactEmail}?subject=Vedr.%20${address}%20på%20Lokalebasen.dk&body=%0D%0AHej%20${contact.name}%0D%0A%0D%0A%0D%0AJeg%20er%20interesseret%20I%20at%20høre%20mere%20om%20lejemålet%20på%20https://www.lokalebasen.dk/%20:%0D%0A%0D%0A${window.location.href}`}>\n { contactEmail }\n </a>\n :\n <a href={`mailto:${contactEmail}?subject=Questions%20regarding%20${address}%20on%20Matchoffice.com&body=%0D%0AHi%20${contact.name}%0D%0A%0D%0A%0D%0AI%20would%20like%20to%20know%20more%20about%20commercial%20lease%20found%20on%20https://matchoffice.com%20:%0D%0A%0D%0A${window.location.href}`}>\n { contactEmail }\n </a>\n )\n : I18n.t('generic.show_email')\n }\n </div>\n </div>\n )\n};\n\n\nexport default SmallContactBlock;\n","import React, { Fragment, useContext } from 'react';\n\nimport partnerBadge from \"../../../src/images/premium-partner-badge.png\";\nimport PersonPlaceholder from \"../../../src/images/placeholder_person.png\";\nimport { postLocationProviderAdvertsShown } from \"../../../utils/api\";\nimport SmallContactBlock from \"./SmallContactBlock\";\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst Contacts = () => {\n\n const {\n location: { addressLine1 },\n locationClosed,\n locationContactDetails,\n locationId,\n partnerBadgeUrl,\n siteKey,\n streetName,\n } = useContext(Context);\n\n const { available, contact, owner, provider } = locationContactDetails;\n\n\n const ProviderBadgeSection = () => (\n <div className=\"contact-info-content\">\n <div className=\"contact-info-content__logo-wrapper\">\n <img\n data-src={partnerBadge}\n alt={'Premium partner logo'}\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-expand=\"100\"\n height={56}\n width={56}\n />\n </div>\n <div>\n <div className=\"contact-info-content__title\">\n { I18n.t('partner_badge.title') }\n </div>\n <div className=\"contact-info-content__name\">\n { I18n.t('partner_badge.name') }\n </div>\n <a href={partnerBadgeUrl} className=\"contact-info-content__partner-link\">\n { I18n.t('generic.read_more') }\n </a>\n </div>\n </div>\n );\n\n\n return (\n <Fragment>\n\n { available && (\n <div className=\"section contact-info-block\">\n <p>{ I18n.t('generic.contact_details') }</p>\n\n <div className=\"dv-info-section__contact-info-wrapper\">\n\n { !locationClosed &&\n <div className=\"contact-info-content\">\n <div className=\"contact-info-content__photo-wrapper\">\n <img\n data-src={contact.photo || PersonPlaceholder}\n className=\"lazyload\"\n data-sizes=\"auto\"\n alt=\"Person\"\n height={56}\n width={56}\n />\n </div>\n <div>\n <div className=\"contact-info-content__title\">\n { I18n.t('generic.contact_person') }\n </div>\n <div className=\"contact-info-content__name\">\n { contact.name }\n </div>\n <SmallContactBlock\n contact={contact}\n locationId={locationId}\n siteKey={siteKey}\n streetName={streetName}\n addressLine1={addressLine1}\n />\n </div>\n </div>\n }\n\n <div className=\"contact-info-content\">\n { provider.logo &&\n <div className=\"contact-info-content__logo-wrapper\">\n <img\n data-src={provider.logo}\n alt={provider.name}\n className=\"lazyload\"\n data-sizes=\"auto\"\n width={56}\n />\n </div>\n }\n <div className={`contact-info-content__provider-info ${!provider.logo ? 'with-indentation' : ''}`}>\n <div className=\"contact-info-content__title\">\n { provider.title }\n </div>\n\n <div className=\"contact-info-content__name\">\n { provider.name }\n </div>\n\n { provider.info &&\n <a onClick={postLocationProviderAdvertsShown(locationId)} href={provider.info}>\n { I18n.t('generic.read_more') }\n </a>\n }\n\n { !locationClosed &&\n <div\n onClick={postLocationProviderAdvertsShown(locationId)}\n dangerouslySetInnerHTML={{ __html: provider.advertLink }}\n />\n }\n </div>\n </div>\n\n { owner && (owner.name || owner.logo) &&\n <div className=\"contact-info-content\">\n { owner.logo &&\n <div className=\"contact-info-content__logo-wrapper\">\n <img\n data-src={owner.logo}\n alt={owner.name}\n className=\"lazyload\"\n data-sizes=\"auto\"\n />\n </div>\n }\n <div>\n <div className=\"contact-info-content__title\">\n { I18n.t('locations.owner_box.heading') }\n </div>\n <div className=\"contact-info-content__name\">\n { owner.name }\n </div>\n </div>\n </div>\n }\n\n { provider.partner && <ProviderBadgeSection /> }\n\n </div>\n </div>\n )}\n\n <div className=\"contact-info-block contact-info-block--provider-badge-only\">\n { !available && provider.partner && <ProviderBadgeSection /> }\n </div>\n </Fragment>\n )\n}\n\nexport default Contacts;\n","import React, { useContext, useState } from 'react';\n\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport DescriptionTopMenu from './DescriptionTopMenu';\nimport { Context } from \"../index\";\n\nimport './Description.sass';\n\n\nconst Description = ({ activeTranslatedDescription, setTranslatedDescription }) => {\n\n const {\n isRequestFromPrerender,\n siteKey,\n tabs: { originalDescription, translatedDescriptions },\n } = useContext(Context);\n\n const [readMore, setReadMore] = useState(false);\n const [showOriginalDescription, setShowOriginalDescription] = useState(false);\n\n const textLength = activeTranslatedDescription.description ? activeTranslatedDescription.description.length : null;\n\n\n return (\n <div className=\"localized-desc\">\n\n <DescriptionTopMenu\n activeTranslatedDescription={activeTranslatedDescription}\n setTranslatedDescription={setTranslatedDescription}\n siteKey={siteKey}\n translatedDescriptions={translatedDescriptions}\n />\n\n <div>\n { activeTranslatedDescription &&\n <div className=\"localized-desc__content\">\n <p className=\"dv-info-section__title\">\n { activeTranslatedDescription.title }\n </p>\n\n <div className=\"localized-desc__description-text\"\n dangerouslySetInnerHTML={{ __html:\n showOriginalDescription\n ? originalDescription\n : (readMore || isRequestFromPrerender)\n ? activeTranslatedDescription.description\n : activeTranslatedDescription.description.slice(0, 500)\n }}\n />\n </div>\n }\n\n { textLength > 500 &&\n <div className=\"localized-desc__original_desc_wrapper\">\n { !readMore && <div className=\"opacity-block\" /> }\n\n <div className=\"localized-desc__original_desc_read_more\">\n <a onClick={() => setReadMore(prevState => !prevState)}>\n { readMore\n ? I18n.t('apps.lb_showroom.detailed.description.hide_more_link')\n : I18n.t('apps.lb_showroom.detailed.description.read_more_link')\n }\n <SvgIco name={readMore ? \"expand-less\" : \"expand-more\"} size={16} />\n </a>\n </div>\n </div>\n }\n </div>\n\n </div>\n );\n}\n\nexport default Description;\n","import React, { Component, Fragment } from 'react';\n\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport { hasSomeParentTheClass } from '../../../utils/helpers';\nimport { translateDescription } from '../../../utils/api';\nimport googleTranslate from '../../../src/images/icons/google-translate.svg';\n\nimport './Description.sass';\n\n\nexport class DescriptionTopMenu extends Component {\n constructor(props) {\n super(props);\n\n this.availableLocales = [\n {locale: 'da', country: 'dk'}, {locale: 'nl', country: 'nl'}, {locale: 'en', country: 'gb'}, {locale: 'fi', country: 'fi'},\n {locale: 'fr', country: 'fr'}, {locale: 'de', country: 'de'}, {locale: 'it', country: 'it'}, {locale: 'nb', country: 'no'},\n {locale: 'pl', country: 'pl'}, {locale: 'es', country: 'es'}, {locale: 'sv', country: 'se'}, {locale: 'tr', country: 'tr'},\n {locale: 'uk', country: 'ua'}\n ];\n\n this.switcherClassName = 'localized-desc__switcher';\n\n const originalLocale = this.getOriginalLocale();\n\n this.state = {\n showLocaleSwitcher: (this.props.siteKey === 'global'),\n showLocaleSwitcherItems: false,\n localesExceptActive: this.availableLocales.filter(item => item.locale !== originalLocale),\n activeLocale: originalLocale,\n originalLocale: originalLocale,\n showOriginalDescription: false,\n isShowingScrapedInfo: false,\n };\n }\n\n componentDidMount() {\n this.clickOutside();\n this.setActiveTranslatedDescription(this.state.activeLocale);\n };\n\n getOriginalLocale = () => {\n this.locales = this.props.translatedDescriptions.map(\n translated => translated.locale\n );\n return this.locales[0];\n };\n\n simplifyLocale = locale => locale.substring(0, 2);\n\n clickOutside = () => {\n document.addEventListener('click', e => {\n if (!hasSomeParentTheClass(e.target, this.switcherClassName)) {\n this.setState({\n showLocaleSwitcherItems: false,\n });\n }\n });\n };\n\n toggleLocaleSwitcherItems = () => {\n this.setState({\n showLocaleSwitcherItems: !this.state.showLocaleSwitcherItems,\n });\n };\n\n localesClickHandler = locale => {\n this.setState({ activeLocale: locale });\n this.setState({ localesExceptActive: this.availableLocales.filter(item => item.locale !== locale) });\n this.setState({ showLocaleSwitcherItems: false });\n this.setActiveTranslatedDescription(locale);\n };\n\n getTranslatedDescription = (locale) => {\n return this.props.translatedDescriptions.filter(\n translated => translated.locale === locale\n )[0];\n };\n\n setActiveTranslatedDescription = (locale) => {\n let desc = this.getTranslatedDescription(locale);\n\n if (desc !== undefined) {\n this.props.setTranslatedDescription(desc);\n }\n else {\n this.translateDescriptionWithGoogle(locale);\n }\n };\n\n translateDescriptionWithGoogle = (locale) => {\n let originalDesc = this.getTranslatedDescription(this.state.originalLocale);\n\n this.props.setTranslatedDescription({ description: 'Translating...', title: 'Translating...' });\n\n let localeFrom = this.simplifyLocale(this.state.originalLocale);\n\n translateDescription(originalDesc.description, originalDesc.title, localeFrom, locale)\n .then(res => {\n this.props.setTranslatedDescription(res.data);\n this.props.translatedDescriptions.push(res.data)\n })\n .catch(() =>\n this.props.setTranslatedDescription({ description: 'Translation error. Please, try again later', title: 'Translation error' })\n );\n };\n\n render() {\n const { activeLocale, showLocaleSwitcherItems } = this.state;\n const { activeTranslatedDescription } = this.props;\n\n\n return (\n <div>\n { this.state.showLocaleSwitcher &&\n <div className='localized-desc__top-menu'>\n <div className={ `localized-desc__top-menu-left` }>\n <div className={this.switcherClassName}>\n <a className=\"localized-desc__active-locale\" onClick={this.toggleLocaleSwitcherItems}>\n <span className=\"localized-desc__active-locale-text\">\n { I18n.t('generic.lang.' + activeLocale) }\n </span>\n { showLocaleSwitcherItems\n ? <SvgIco name=\"expand-less\" size={20} />\n : <SvgIco name=\"expand-more\" size={20} />\n }\n </a>\n\n { showLocaleSwitcherItems &&\n <div className=\"localized-desc__locales_wrapper\">\n { this.availableLocales.map((locale, index) =>\n <div className=\"localized-desc__locales-link-wrap\" key={index}>\n <div className=\"select-option-group\">\n <input\n id={locale.locale}\n type=\"radio\"\n value={locale.locale}\n checked={this.state.activeLocale === locale.locale}\n onChange={() => this.localesClickHandler(locale.locale)}\n className=\"checkoption-input\"\n />\n <label htmlFor={locale.locale} className=\"select-option\"><span className=\"option-checkmark\" />\n { I18n.t('generic.lang.' + locale.locale) }\n </label>\n </div>\n </div>\n )}\n </div>\n }\n </div>\n\n { activeTranslatedDescription.sourceLanguage &&\n <Fragment>\n <div className=\"localized-desc__google-translated-text\">\n <div>Translated by Google Translate</div>\n </div>\n <div className=\"localized-desc__translated-by-google-icon\">\n <img data-src={googleTranslate}\n alt=\"google-translate-icon\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n height={16}\n width={16}\n />\n </div>\n </Fragment>\n }\n </div>\n </div>\n }\n </div>\n );\n }\n}\n\n\nexport default DescriptionTopMenu;\n","import React, { Suspense, useState, useContext } from 'react';\n\nconst Contacts = React.lazy(() => import('../Contacts'));\nimport { Context } from \"../index\";\nimport Description from './Description';\n\nimport './index.sass';\n\n\nconst DescriptionSection = () => {\n\n const { locationContactDetails, tabs: { originalDescription } } = useContext(Context);\n\n const [translatedDescription, setTranslatedDescription] = useState('');\n\n const showContactsSection = locationContactDetails.available || (!locationContactDetails.available && locationContactDetails.provider.partner);\n\n\n return (\n <div className=\"row\">\n <div className=\"col-12 col-md-7 col-lg-12\">\n <div className=\"dv-info-section-wrapper dv-info-section-wrapper--description\" id=\"description\">\n <div className=\"dv-info-section__container\">\n\n { originalDescription &&\n <div className=\"section\">\n <Description\n activeTranslatedDescription={translatedDescription}\n setTranslatedDescription={setTranslatedDescription}\n />\n </div>\n }\n\n { showContactsSection &&\n <Suspense fallback={''}>\n <Contacts />\n </Suspense>\n }\n </div>\n </div>\n </div>\n </div>\n );\n};\n\n\nexport default React.memo(DescriptionSection);\n","import React, { Fragment } from 'react';\nimport { Accordion, Card } from 'react-bootstrap';\nimport { isMobile } from 'react-device-detect';\n\nimport { SvgIco } from '../../SharedComponents/Icons';\n\n\nconst SectionRow = ({ activeKey,\n columnWrapperClass,\n content,\n handleClick,\n isOpen,\n sectionHeadline,\n sectionClasses,\n }) => {\n\n return (\n <div className={`dv-info-section__section ${sectionClasses}`}>\n <div className=\"dv-info-section__section-wrapper\">\n { isMobile ?\n <Accordion defaultActiveKey={activeKey}>\n <Card>\n <Card.Header>\n <Accordion.Toggle as={Card.Header} onClick={handleClick} variant=\"link\" eventKey={activeKey}>\n <div className=\"card-header-wrapper\">\n <div>\n <h3 className=\"dv-info-section__header\">\n <SvgIco name=\"price\" size={22}/>\n <span>{ sectionHeadline }</span>\n </h3>\n </div>\n <div>\n <h3 className=\"dv-info-section__header\">\n { isOpen\n ? <span className=\"hide-show-mobile\">{ I18n.t('generic.hide') }</span>\n : <span className=\"hide-show-mobile\">{ I18n.t('generic.show') }</span>\n }\n { isOpen\n ? <SvgIco name=\"expand-less\" size={18} />\n : <SvgIco name=\"expand-more\" size={18} />\n }\n </h3>\n </div>\n </div>\n </Accordion.Toggle>\n </Card.Header>\n <Accordion.Collapse eventKey={activeKey}>\n <div className=\"dv-info-section__section-wrapper\">\n { content }\n </div>\n </Accordion.Collapse>\n </Card>\n </Accordion>\n :\n <Fragment>\n <h3 className=\"dv-info-section__header\">\n <SvgIco name=\"price\" size={22}/>\n <span>{ sectionHeadline }</span>\n </h3>\n <div className={columnWrapperClass}>\n { content }\n </div>\n </Fragment>\n }\n </div>\n </div>\n )\n}\n\nexport default SectionRow;\n","import React, { Fragment, useContext, useState } from \"react\";\nimport ReactTooltip from \"react-tooltip\";\nimport Truncate from 'react-truncate';\nimport classNames from 'classnames';\nimport PropTypes from \"prop-types\";\n\nimport { toUnderscore } from \"../../../utils/helpers\";\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport SmartTextTooltip from \"../SmartTextTooltip\";\nimport { Context } from \"../index\";\nimport SectionRow from './SectionRow';\n\nimport './index.sass';\n\n\nconst EconomySection = () => {\n\n const {\n areaUnit,\n contactOrdered,\n facts,\n isRequestFromPrerender,\n kind,\n linkToDisposalPriceInfo,\n locationClosed,\n rentedOut,\n scrollToForm,\n section,\n setModalFormOpen,\n siteKey,\n switchSelectedOrderForm,\n tabs,\n temporarilyUnavailable,\n } = useContext(Context);\n\n const [economyText, setEconomyText] = useState(false);\n const [openAnnualPrice, setOpenAnnualPrice] = useState(true);\n const [openPricePerSquareMeter, setOpenPricePerSquareMeter] = useState(true);\n const [openPricePerHour, setOpenPricePerHour] = useState(true);\n\n const { economy, isRentIncludeOperationalCost, smartText } = tabs;\n const { disposalPrice, pricePerHour, pricesPerM2, pricesPerYear } = economy;\n const { price } = facts;\n const smartTextEconomy = smartText.economy;\n const pricePerM2Present = pricesPerM2 && Object.keys(pricesPerM2).length > 0;\n const pricesPerYearPresent = pricesPerYear && Object.keys(pricesPerYear).length > 0;\n const textLines = isMobile ? 4 : 2;\n const isMobile = window.innerWidth <= 574;\n const isDisposalRender = parseInt(disposalPrice) > 0 && (siteKey === 'dk' || siteKey === 'global');\n const showPricePerHour = kind === 'meeting_room' && !pricePerM2Present && !pricesPerYearPresent;\n const i18nPricePerHour = I18n.t(`providers.locations.form.rent_price_per_hour`);\n const i18nAnnualPrices = I18n.t('apps.lb_showroom.detailed.economy.annual_prices');\n const rightColumnClasses = 'dv-info-section__year-price-table col-lg-6 col-md-6 order-lg-3 order-md-3 order-3';\n const leftColumnClasses = classNames('dv-info-section__year-price-table col-lg-6 col-md-6',\n { 'disposal-true': isDisposalRender,\n 'order-lg-1 order-md-2 order-2': isMobile,\n });\n const leftColumnTitle = section !== \"lease\"\n ? I18n.t('apps.lb_showroom.detailed.economy.prices_for_sale')\n : kind === 'parking'\n ? I18n.t('parking.parking_lots.parking_interval_row.monthly_rent_per_space')\n : I18n.t('apps.lb_showroom.detailed.economy.annual_prices_' + areaUnit);\n\n\n const askProvider = () => {\n if (isMobile && !rentedOut && !temporarilyUnavailable && !locationClosed) {\n setModalFormOpen(true);\n } else {\n const formWrapper = document.getElementById('order-form-wrapper');\n\n switchSelectedOrderForm('provider_message');\n scrollToForm('order-form-target');\n formWrapper.classList.remove('highlight');\n setTimeout(() => formWrapper.classList.add('highlight'), 500);\n }\n };\n\n\n const askProviderLink =\n <div className=\"dv-info-section__ask-provider-link\" onClick={!contactOrdered ? askProvider : null}>\n { contactOrdered\n ? I18n.t('apps.lb_showroom.detailed.order_form.ask_question_sent_economy')\n : I18n.t('generic.not_provided_new')\n }\n </div>;\n\n\n const rightColumnContent = pricesPerYearPresent &&\n Object.keys(pricesPerYear).map((item, index) =>\n <div key={index} className=\"dv-info-section__table-row dv-info-section__label dv-info-section__label--full-width\">\n <div className=\"dv-info-section__table-col dv-info-section__table-col--left\">\n { item === 'annualRent' && isRentIncludeOperationalCost\n ? I18n.t('apps.lb_showroom.detailed.economy.annual_prices_m2_including_operational')\n : I18n.t(`apps.lb_showroom.detailed.economy.${ toUnderscore(item) }`)\n }\n </div>\n <div className=\"dv-info-section__table-col dv-info-section__table-col--right\">\n { pricesPerYear[item] || (!rentedOut && !temporarilyUnavailable && !locationClosed && askProviderLink) || null }\n </div>\n </div>\n );\n\n\n const leftColumnContent = pricePerM2Present ?\n Object.keys(pricesPerM2).map((item, index) =>\n <div className=\"dv-info-section__label dv-info-section__label--full-width\" key={index}>\n {kind === \"parking\"\n ?\n <Fragment>\n <div>{ I18n.t('parking.parking_lots.parking_interval_row.monthly_rent_per_space') }</div>\n <div>{price.value}</div>\n </Fragment>\n :\n <Fragment>\n <div>\n { item === 'pricePerYear' && isRentIncludeOperationalCost\n ? I18n.t('apps.lb_showroom.detailed.economy.annual_prices_m2_including_operational')\n : I18n.t(`apps.lb_showroom.detailed.economy.${ toUnderscore(item) }_new`)\n }\n </div>\n { pricesPerM2[item] ? <div>{ pricesPerM2[item] }</div> : askProviderLink }\n </Fragment>\n }\n </div>\n ) :\n <div className=\"dv-info-section__label dv-info-section__label--full-width\">\n <div>{ I18n.t('parking.parking_lots.parking_interval_row.monthly_rent_per_space') }</div>\n <div>{ price.value }</div>\n </div>;\n\n\n const pricePerHourContent = showPricePerHour &&\n <div className=\"dv-info-section__label dv-info-section__label--full-width\">\n <div>{ i18nPricePerHour }</div>\n { pricePerHour ? <div>{ pricePerHour }</div> : askProviderLink }\n </div>;\n\n\n return (\n <div className=\"dv-info-section-wrapper dv-info-section-wrapper--economy\" id=\"economy\">\n <h2 className=\"dv-info-section__title\">\n { I18n.t('apps.lb_showroom.detailed.tabs.economy') }\n </h2>\n\n { smartTextEconomy && <SmartTextTooltip id=\"economy\" /> }\n\n { economyText || isRequestFromPrerender ?\n <Fragment>\n <p className=\"smart-text-extended\">{ smartTextEconomy }</p>\n <div className=\"dv-info-section__read-more-smart-text\">\n <a onClick={() => setEconomyText(prevState => !prevState)}>\n { I18n.t('apps.lb_showroom.detailed.description.hide_more_link') }\n <SvgIco name=\"expand-less\" size={15} />\n </a>\n </div>\n </Fragment>\n :\n <Fragment>\n { smartTextEconomy &&\n <div className=\"smart-text\">\n <Truncate\n lines={ textLines }\n ellipsis={ <Fragment><span>{textLines !== 0 && '... '}</span>\n <div className=\"dv-info-section__read-more-smart-text\">\n <a onClick={() => setEconomyText(prevState => !prevState)}>\n { I18n.t('generic.read_more') }\n <SvgIco name=\"expand-more\" size={15} />\n </a>\n </div></Fragment> }\n children={ smartTextEconomy }\n />\n </div>\n }\n </Fragment>\n }\n\n <div className=\"dv-info-section__content row\">\n\n { showPricePerHour &&\n <SectionRow\n activeKey=\"0\"\n columnWrapperClass=\"left-column-wrapper\"\n content={pricePerHourContent}\n handleClick={() => setOpenPricePerHour(prevState => !prevState)}\n isOpen={openPricePerHour}\n sectionClasses={leftColumnClasses}\n sectionHeadline={i18nPricePerHour}\n />\n }\n\n { (pricePerM2Present || kind === \"parking\") &&\n <SectionRow\n activeKey=\"1\"\n columnWrapperClass=\"left-column-wrapper\"\n content={leftColumnContent}\n handleClick={() => setOpenPricePerSquareMeter(prevState => !prevState)}\n isOpen={openPricePerSquareMeter}\n sectionClasses={leftColumnClasses}\n sectionHeadline={leftColumnTitle}\n />\n }\n\n { isDisposalRender &&\n <div className=\"dv-info-section__section-wrapper dv-info-section__section-wrapper--disposal col-lg-6 col-md-6 order-lg-2 order-md-1 order-1\">\n <h3 className=\"dv-info-section__header disposal-header\">\n <div className=\"dv-info-section__info-wrapper\">\n <SvgIco name=\"disposal\" size={22} />\n { I18n.t('apps.lb_showroom.detailed.economy.disposal') }\n </div>\n <a className=\"dv-info-section__info\"\n href={linkToDisposalPriceInfo}\n data-tip={I18n.t('apps.lb_showroom.detailed.economy.info_tooltip')}\n data-class=\"dv-info-section__info-tooltip\"\n target=\"_blank\">\n <SvgIco name=\"info_outline\" size={22} />\n </a>\n <ReactTooltip place='bottom' effect='solid' />\n </h3>\n <div className=\"disposal-column-wrapper\">\n <div className=\"dv-info-section__label dv-info-section__label--full-width\">\n <div>{ I18n.t('apps.lb_showroom.detailed.economy.consideration_received') }</div>\n <div>{ disposalPrice }</div>\n </div>\n </div>\n </div>\n }\n\n { pricesPerYearPresent && section === \"lease\" && kind !== \"parking\" &&\n <SectionRow\n activeKey=\"0\"\n columnWrapperClass=\"right-column-wrapper\"\n content={rightColumnContent}\n handleClick={() => setOpenAnnualPrice(prevState => !prevState)}\n isOpen={openAnnualPrice}\n sectionClasses={rightColumnClasses}\n sectionHeadline={i18nAnnualPrices}\n />\n }\n </div>\n </div>\n )\n};\n\n\nexport default EconomySection;\n\n\nEconomySection.propTypes = {\n price: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n area: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n location: PropTypes.shape({\n latitude: PropTypes.number,\n longitude: PropTypes.number,\n }),\n tabs: PropTypes.shape({\n facility: PropTypes.shape({\n facilities: PropTypes.array,\n }),\n economy: PropTypes.shape({\n disposalPrice: PropTypes.string,\n }),\n smartText: PropTypes.shape({\n factAndFacilities: PropTypes.string,\n }),\n transport: PropTypes.shape({\n distances: PropTypes.array,\n postalDistrict: PropTypes.shape({\n postalName: PropTypes.string,\n }),\n }),\n }),\n facts: PropTypes.shape({\n area: PropTypes.shape({\n icon: PropTypes.string,\n }),\n price: PropTypes.object,\n }),\n};\n\n\nEconomySection.defaultProps = {\n tabs: {\n facility: {\n facilities: [],\n },\n economy: {\n disposalPrice: '0 kr.',\n },\n smartText: {\n factAndFacilities: '',\n },\n transport: {\n distances: [],\n postalDistrict: {\n postalName: '',\n },\n },\n },\n facts: {\n area: {\n icon: '',\n label: '',\n value: '',\n unit: '',\n },\n price: {\n icon: '',\n label: '',\n value: '',\n unit: null,\n },\n economy: {},\n },\n};\n","import React from 'react';\n\nconst DistancesListItem = ({ item, lazyload }) => {\n\n // If icon with facility doesn't exist yet we will show default checked icon\n const iconPathHandler = (iconName) => {\n try {\n return require(`../../../src/images/icons/facts_and_facilities/${iconName}.svg`);\n } catch (error) {\n return require(`../../../src/images/icons/facts_and_facilities/default.svg`);\n }\n };\n\n const backgroundImage = { backgroundImage: `url(${iconPathHandler(item.tag)})` };\n\n return (\n <div className=\"facts-and-facilities__list-item distances col-lg-6 col-md-6 col-12\">\n <div className=\"facts-and-facilities__distance-item-type\">\n <div className=\"facts-and-facilities__icon-wrapper\">\n <div className={`facts-and-facilities__list-item-icon ${ lazyload ? 'lazyload' : '' }`}\n data-bg={iconPathHandler(item.tag)}\n data-sizes=\"auto\"\n style={backgroundImage}\n />\n </div>\n <span>{ item.name }</span>\n </div>\n <div className=\"facts-and-facilities__transport-distance\">{ item.distance } { item.unit }</div>\n </div>\n )\n};\n\nexport default React.memo(DistancesListItem);\n","import React from 'react';\n\nconst FacilitiesListItem = ({ item }) => {\n\n return (\n <div className=\"facts-and-facilities__facility-block-wrapper row\">\n <p className=\"facts-and-facilities__facilities-type-headline col-xl-12 col-lg-12 col-md-12\">\n { item.groupName }\n </p>\n { item.items.map(facility =>\n <div className=\"facts-and-facilities__list-item col-xl-3 col-lg-4 col-md-4 col-6\" key={facility.key}>\n <div className=\"facts-and-facilities__list-item-icon lazyload\"\n data-bg={facility.iconSvg || require(`../../../src/images/icons/facts_and_facilities/default.svg`)}\n data-sizes=\"auto\"\n />\n <span>{ facility.name }</span>\n </div>\n )}\n </div>\n )\n};\n\n\nexport default React.memo(FacilitiesListItem);\n","import React from 'react';\nimport parkingIcon from '../../../src/images/icons/parking.svg';\n\nconst ParkingListItem = ({ item, index }) => {\n\n return (\n <div className=\"facts-and-facilities__parking-wrapper\" key={index}>\n <div className=\"facts-and-facilities__parking-icon lazyload\" data-bg={parkingIcon} data-sizes=\"auto\" />\n <div className=\"facts-and-facilities__parking-text-wrapper\">\n <a target=\"_blank\" href={item.url} className=\"facts-and-facilities__parking-links\">\n {item.address}\n </a>\n <div className=\"facts-and-facilities__parking-distance\">\n {item.distance}\n </div>\n </div>\n </div>\n )\n};\n\nexport default React.memo(ParkingListItem);","import React, { Fragment, useContext, useState } from 'react';\nimport Truncate from 'react-truncate';\nimport { isMobile } from 'react-device-detect';\n\nimport ExemptedEnergyRatingIcon from '../../../src/images/icons/facts_and_facilities/ExemptedEnergyRating.svg';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport CollapsibleSection from '../../SharedComponents/CollapsibleSection';\nimport SmartTextTooltip from '../SmartTextTooltip';\nimport { Context } from \"../index\";\nimport FacilitiesListItem from './FacilitiesListItem';\nimport DistancesListItem from './DistancesListItem';\nimport ParkingListItem from './ParkingListItem';\n\nimport './index.sass';\n\n\nconst FactsAndFacilities = () => {\n\n const {\n anonymous,\n isRequestFromPrerender,\n location: { addressLine1 },\n suitableFor,\n tabs: {\n facility: { buildRoute, energyRating, energyCertificateLevels, exemptedEnergy, facilities },\n nearbyParkingLots,\n smartText: { factAndFacilities: smartTextFacilities },\n transport,\n },\n } = useContext(Context);\n\n const [facilityText, setFacilityText] = useState(false);\n const [showAllFacilities, setShowAllFacilities] = useState(false);\n const [showAllDistances, setShowAllDistances] = useState(false);\n const [showMoreParkings, setShowMoreParkings] = useState(false);\n\n const collapseDistances = !!transport.distances.length && transport.distances.length > 6;\n const visibleDistancesList = !!transport.distances.length && (collapseDistances ? transport.distances.slice(0, 6) : transport.distances);\n const collapsedDistancesList = collapseDistances && transport.distances.slice(6);\n const collapseFacilities = !!facilities.length && facilities.length > 1;\n const visibleFacilitiesList = !!facilities.length && facilities[0];\n const collapsedFacilitiesList = collapseFacilities && facilities.slice(1);\n const collapsedParkings = nearbyParkingLots && nearbyParkingLots.slice(3);\n const visibleParkingsList = nearbyParkingLots && nearbyParkingLots.slice(0, 3);\n const textLines = isMobile ? 4 : 2;\n\n\n const showMoreLinkText = (showMore) =>\n showMore\n ? I18n.t('views.locations.show.facilities.show_less_link')\n : I18n.t('views.locations.show.facilities.show_more_link');\n\n\n const showMoreLink = (showAll, handleShow) => (\n <div className=\"facts-and-facilities__facilities-toggle-link-wrapper\" onClick={handleShow}>\n <span>{ showMoreLinkText(showAll) }</span>\n { showAll\n ? <SvgIco name=\"expand-less\" size={24} />\n : <SvgIco name=\"expand-more\" size={24} />\n }\n </div>\n );\n\n\n const showMoreParkingsLink = (showAllParkings) => (\n <div className=\"facts-and-facilities__facilities-toggle-link-wrapper parking-link\"\n onClick={() => setShowMoreParkings(prevState => !prevState)}>\n <span>{ showMoreLinkText(showAllParkings) }</span>\n { showAllParkings\n ? <SvgIco name=\"expand-less\" size={24} />\n : <SvgIco name=\"expand-more\" size={24} />\n }\n </div>\n );\n\n\n const energyCertificateIconHandler = (id) => {\n try {\n return require(`../../../src/images/energy_certificates/${id}`);\n } catch (error) {\n return require(`../../../src/images/energy_certificates/8`);\n }\n };\n\n\n return (\n <div className=\"dv-info-section-wrapper facts-and-facilities\" id=\"facts\">\n <div className=\"dv-info-section__background-full-width\" />\n\n <h2 className=\"dv-info-section__title\">\n { I18n.t('apps.lb_showroom.detailed.tabs.facts_and_facilities') }\n </h2>\n\n <div>\n <div className=\"row\">\n <div className=\"col-lg-12\">\n { smartTextFacilities && <SmartTextTooltip id=\"facts\" /> }\n\n { facilityText || isRequestFromPrerender\n ?\n <Fragment>\n <p className=\"smart-text-extended\">{smartTextFacilities}</p>\n <div className=\"dv-info-section__read-more-smart-text\">\n <a onClick={() => setFacilityText(prevState => !prevState)}>\n { I18n.t('apps.lb_showroom.detailed.description.hide_more_link') }\n <SvgIco name=\"expand-less\" size={16} />\n </a>\n </div>\n </Fragment>\n :\n <Fragment>\n { smartTextFacilities &&\n <div className=\"smart-text\">\n <Truncate\n children={smartTextFacilities}\n lines={textLines}\n ellipsis={\n <Fragment>\n <span>{textLines !== 0 && '... '}</span>\n <div className=\"dv-info-section__read-more-smart-text\">\n <a onClick={() => setFacilityText(prevState => !prevState)}>\n {I18n.t('generic.read_more')}\n <SvgIco name=\"expand-more\" size={16} />\n </a>\n </div>\n </Fragment>\n }\n />\n </div>\n }\n </Fragment>\n }\n </div>\n\n <div className=\"facts-and-facilities__column col-xl-6 col-lg-12\">\n <div className=\"facts-and-facilities__address-line\">\n <SvgIco name=\"map_detail\" size={22} />\n <div>\n { !anonymous && <p>{ addressLine1 }</p> }\n <p>{ transport.postalDistrict.postalName }</p>\n <a href={transport.postalDistrict.districtUrl} className=\"facts-and-facilities__area-link\">\n <span>\n { I18n.t('apps.lb_showroom.detailed.area.area_link', { kinds: I18n.t(`global.models.location.kinds.${transport.kind}.short`, { count: 2 })})}\n </span>\n </a>\n </div>\n </div>\n\n { buildRoute && !anonymous &&\n <div className=\"facts-and-facilities__build-route-wrapper\">\n <div className=\"facts-and-facilities__build-route-icon\">\n <SvgIco name=\"direction\" size={20} />\n </div>\n <a target=\"_blank\" href={buildRoute} className=\"facts-and-facilities__build-route-link\">\n <span>\n { I18n.t('views.locations.show.build_route') }\n </span>\n </a>\n </div>\n }\n\n { energyRating &&\n <div className=\"facts-and-facilities__energy-rating-wrapper\">\n <SvgIco\n className=\"facts-and-facilities__energy-rating-icon\"\n name={`energy-rating-${energyRating}`}\n size={20}\n />\n { I18n.t('views.locations.show.energy_rating') } { energyRating.toUpperCase() }\n </div>\n }\n\n { exemptedEnergy &&\n <div className=\"facts-and-facilities__energy-rating-wrapper\">\n <img\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={ExemptedEnergyRatingIcon}\n alt=\"energy\"\n data-expand=\"100\"\n />\n { I18n.t('views.locations.show.exempted_from_energy_rating') }\n </div>\n }\n </div>\n </div>\n\n { !!(energyCertificateLevels && energyCertificateLevels.length) &&\n <Fragment>\n <h3 className=\"facts-and-facilities__headline\">\n { I18n.t('generic.certifications') }\n </h3>\n\n <div className=\"row\">\n <div className=\"facts-and-facilities__facilities-wrapper col-md-8 col-lg-12 col-xl-12\">\n { energyCertificateLevels.map(certificate =>\n <div className=\"facts-and-facilities__energy-certificate-wrapper\">\n <img alt={`${certificate.certificateName} ${certificate.name}`}\n src={energyCertificateIconHandler(certificate.id)}\n height={24}\n width={24}\n />\n { certificate.certificateName } { certificate.name }\n </div>\n )}\n </div>\n </div>\n </Fragment>\n }\n\n { visibleDistancesList.length &&\n <Fragment>\n <h3 className=\"facts-and-facilities__headline\">\n { I18n.t('lb_showroom.detailed.transport_distances.transport_distances_headline')}\n </h3>\n\n <div className=\"row\">\n <div className=\"facts-and-facilities__facilities-wrapper col-md-8 col-lg-12 col-xl-12 distances\">\n <div className=\"row\">\n { visibleDistancesList.map((item, index) =>\n <DistancesListItem\n item={item}\n key={index}\n lazyload={true}\n />\n )}\n </div>\n\n { collapseDistances &&\n <CollapsibleSection\n uncollapse={showAllDistances}\n isRequestFromPrerender={isRequestFromPrerender}\n classes=\"row\">\n { collapsedDistancesList.map((item, index) => <DistancesListItem item={item} key={index + 6} />)}\n </CollapsibleSection>\n }\n\n { collapseDistances && showMoreLink(showAllDistances, () => setShowAllDistances(prevState => !prevState)) }\n </div>\n </div>\n </Fragment>\n }\n\n { nearbyParkingLots &&\n <Fragment>\n <h3 className=\"facts-and-facilities__headline--parking\">\n { I18n.t('parking.generic.parking_nearby_headline') }\n </h3>\n\n <div className=\"row\">\n <div className=\"col-md-8 col-xs-12 facts-and-facilities__parking-block\">\n\n { visibleParkingsList.map((item, index) =>\n <ParkingListItem item={item} key={index} />\n )}\n\n { nearbyParkingLots.length > 3 &&\n <CollapsibleSection\n uncollapse={showMoreParkings}\n isRequestFromPrerender={isRequestFromPrerender}>\n { collapsedParkings.map((item, index) => <ParkingListItem item={item} key={index} />)}\n </CollapsibleSection>\n }\n { nearbyParkingLots.length > 3 && showMoreParkingsLink(showMoreParkings) }\n </div>\n </div>\n </Fragment>\n }\n\n <h3 className=\"facts-and-facilities__headline--facilities\">\n { I18n.t('apps.lb_showroom.detailed.tabs.facilities') }\n </h3>\n\n <div className=\"facts-and-facilities__facilities-wrapper\">\n { suitableFor.length > 0 &&\n <div className=\"facts-and-facilities__facility-block-wrapper row\">\n <p className=\"facts-and-facilities__facilities-type-headline col-xl-12 col-lg-12 col-md-12\">\n { I18n.t('generic.suitable_for') }\n </p>\n { suitableFor.map((elem, index) => (\n <div className=\"facts-and-facilities__suitable-for-item col-xl-3 col-lg-4 col-md-4 col-6\" key={index}>\n <SvgIco name={elem.icon} width={20} height={20} className=\"facts-and-facilities__suitable-for-icon\" />\n <span className=\"facts-and-facilities__suitable-for-label\">\n { elem.shortLabel }\n </span>\n </div>\n ))}\n </div>\n }\n\n { visibleFacilitiesList\n ?\n <Fragment>\n <FacilitiesListItem item={visibleFacilitiesList} key={0} />\n { collapseFacilities &&\n <CollapsibleSection\n uncollapse={showAllFacilities}\n isRequestFromPrerender={isRequestFromPrerender}>\n { collapsedFacilitiesList.map((item, index) =>\n <FacilitiesListItem item={item} key={index + 1} />\n )}\n </CollapsibleSection>\n }\n </Fragment>\n :\n <div className={`facts-and-facilities__blank-title${suitableFor.length > 0 ? ' with-indentation' : ''}`}>\n { I18n.t('facilities.no_information_provided') }\n </div>\n }\n </div>\n\n { collapseFacilities && showMoreLink(showAllFacilities, () => setShowAllFacilities(prevState => !prevState)) }\n </div>\n </div>\n );\n}\n\n\nexport default FactsAndFacilities;\n","import React from 'react';\nimport { KeyboardArrowRightRounded, KeyboardArrowLeftRounded, SvgIco } from '../../SharedComponents/Icons';\n\nimport './index.sass';\n\n\nclass FixedNavigationBar extends React.PureComponent {\n\n state = {\n activeSection: null,\n initialization: true,\n isScrollable: false,\n navigationListLeftBorder: null,\n navigationListRightBorder: null,\n showLeftArrow: false,\n showRightArrow: false,\n topOffset: null,\n };\n\n\n componentDidMount() {\n this.handleNavigationTop();\n\n this.setState({\n activeSection: this.props.activeSection || null,\n }, () =>\n this.state.activeSection && this.handleActiveSectionChange(this.state.activeSection)\n );\n\n this.handleHorizontalScroll();\n window.addEventListener('resize', this.handleHorizontalScroll);\n window.addEventListener('orientationchange', this.handleNavigationTop);\n };\n\n\n componentWillUnmount() {\n this.navigationLinksList.removeEventListener('scroll', this.handleArrowAppearance);\n window.removeEventListener('resize', this.handleHorizontalScroll);\n window.removeEventListener('orientationchange', this.handleNavigationTop);\n };\n\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.activeSection && this.props.activeSection !== prevProps.activeSection) {\n this.handleActiveSectionChange(this.props.activeSection);\n }\n };\n\n\n // We need to use setTimeout as header changes the layout after the recalculateNavigationTop fires\n handleNavigationTop = () => setTimeout(this.recalculateNavigationTop, 10);\n\n\n recalculateNavigationTop = () =>\n this.setState({ topOffset: document.getElementById('top-menu').offsetHeight + 'px' });\n\n\n handleHorizontalScroll = () => {\n const navigationListFirstChild = this.navigationLinksList && this.navigationLinksList.firstChild;\n const navigationListLastChild = this.navigationLinksList && this.navigationLinksList.lastChild;\n\n const isScrollable = navigationListFirstChild\n && (Math.round(navigationListFirstChild.getBoundingClientRect().left) < this.navigationLinksList.getBoundingClientRect().left\n || (navigationListLastChild && Math.round(navigationListLastChild.getBoundingClientRect().right) > this.navigationLinksList.getBoundingClientRect().right));\n\n this.handleArrowAppearance();\n this.navigationLinksList.addEventListener('scroll', this.handleArrowAppearance);\n this.setState({ isScrollable: isScrollable });\n\n this.handleNavigationTop();\n };\n\n\n handleActiveSectionChange = (targetName) => {\n const { activeSection, isScrollable, initialization } = this.state;\n const targetSection = this[targetName];\n\n if (targetSection) {\n if (targetName !== activeSection || initialization) {\n if (isScrollable) {\n const targetRightCoodrs = targetSection.getBoundingClientRect().right,\n targetLeftCoords = targetSection.getBoundingClientRect().left,\n navigationListFirstChild = this.navigationLinksList.firstChild,\n navigationListLastChild = this.navigationLinksList.lastChild,\n navigationListRightCoords = targetSection === navigationListLastChild\n ? this.navigationLinksList.getBoundingClientRect().right\n : this.navigationLinksList.getBoundingClientRect().right - 24,\n navigationListLeftCoords = targetSection === navigationListFirstChild\n ? this.navigationLinksList.getBoundingClientRect().left\n : this.navigationLinksList.getBoundingClientRect().left + 24;\n\n targetRightCoodrs > navigationListRightCoords\n ? this.scrollToRightTarget(targetLeftCoords)\n : targetLeftCoords < navigationListLeftCoords\n ? this.scrollToLeftTarget(targetLeftCoords)\n : null;\n }\n activeSection && this[activeSection].classList.remove('active');\n targetSection.classList.add('active');\n this.setState({ activeSection: targetName });\n initialization && this.setState({ initialization: false });\n }\n } else {\n // At first render React needs time to initialize ref and we get undefined\n setTimeout(() => this.handleActiveSectionChange(targetName), 10);\n }\n };\n\n\n handleArrowAppearance = () => {\n const leftBoundary = this.navigationLinksList.firstChild.getBoundingClientRect().left;\n const rightBoundary = this.navigationLinksList.lastChild.getBoundingClientRect().right;\n const navigationListLeftBorder = this.navigationLinksList.getBoundingClientRect().left;\n const navigationListRightBorder = this.navigationLinksList.getBoundingClientRect().right;\n\n this.setState({\n showLeftArrow: Math.round(leftBoundary) < navigationListLeftBorder,\n showRightArrow: Math.round(rightBoundary) > navigationListRightBorder,\n });\n };\n\n scrollToTarget = (target) => {\n if (this.state.activeSection !== target) {\n this.handleActiveSectionChange(target);\n this.props.scrollToTarget(target);\n }\n };\n\n\n handleLeftScroll = () =>\n this.navigationLinksList.scrollLeft = this.navigationLinksList.scrollLeft - this.navigationLinksList.offsetWidth;\n\n\n handleRightScroll = () =>\n this.navigationLinksList.scrollLeft = this.navigationLinksList.offsetWidth + this.navigationLinksList.scrollLeft;\n\n\n scrollToRightTarget = (targetLeftCoords) => {\n this.navigationLinksList.scrollLeft = (targetLeftCoords - 44) + this.navigationLinksList.scrollLeft;\n };\n\n\n scrollToLeftTarget = (targetLeftCoords) => {\n const targetLeftScroll = targetLeftCoords >= 0 ? targetLeftCoords : targetLeftCoords * -1;\n this.navigationLinksList.scrollLeft = this.navigationLinksList.scrollLeft - (targetLeftScroll + 44);\n };\n\n\n render () {\n\n const { showMap, showOrderFormButton, showNavigationMenu, showSimilarLocations, similarLocationsHeadline, scrollToForm, showRichSnippets, checkEconomySectionPresent } = this.props;\n const { showLeftArrow, showRightArrow, topOffset } = this.state;\n const classes = `fixed-nav${ showNavigationMenu ? ' active' : '' } ${showOrderFormButton ? 'with-button' : ''}`;\n const wrapperTop = { 'top': topOffset };\n\n\n return (\n <div className={classes} id=\"dv-fixed-nav\" style={wrapperTop}>\n <div className=\"container\">\n\n <div className=\"fixed-nav__links-wrapper\">\n <ul className=\"fixed-nav__links-list\" ref={el => this.navigationLinksList = el}>\n\n <li className=\"fixed-nav__link\" ref={el => this.description = el}>\n <span onClick={() => this.scrollToTarget('description')}>{ I18n.t('activerecord.attributes.property.description') }</span>\n </li>\n\n <li className=\"fixed-nav__link\" ref={ el => this.facts = el }>\n <span onClick={() => this.scrollToTarget('facts')}>{ I18n.t('apps.lb_showroom.detailed.tabs.facts_and_facilities') }</span>\n </li>\n\n { checkEconomySectionPresent &&\n <li className=\"fixed-nav__link\" ref={el => this.economy = el}>\n <span\n onClick={() => this.scrollToTarget('economy')}>{I18n.t('apps.lb_showroom.detailed.tabs.economy')}</span>\n </li>\n }\n\n { showMap &&\n <li className=\"fixed-nav__link\" ref={ el => this.map = el }>\n <span onClick={() => this.scrollToTarget('map')}>{ I18n.t('detailed.location.headline') }</span>\n </li>\n }\n\n { showSimilarLocations &&\n <li className=\"fixed-nav__link\" ref={ el => this.similarLocations = el }>\n <span onClick={() => this.scrollToTarget('similarLocations')}>{ similarLocationsHeadline }</span>\n </li>\n }\n\n { showRichSnippets &&\n <li className=\"fixed-nav__link\" ref={ el => this.faq = el }>\n <span onClick={() => this.scrollToTarget('faq')}>{ I18n.t('apps.lb_showroom.detailed.tabs.faq_title') }</span>\n </li>\n }\n\n </ul>\n\n { showLeftArrow &&\n <div className=\"fixed-nav__arrow-left\" onClick={this.handleLeftScroll}>\n <KeyboardArrowLeftRounded />\n </div>\n }\n { showRightArrow &&\n <div className=\"fixed-nav__arrow-right\" onClick={this.handleRightScroll}>\n <KeyboardArrowRightRounded />\n </div>\n }\n </div>\n\n { showOrderFormButton &&\n <div className=\"order-form-scroll-btn\" onClick={() => scrollToForm('order-form-target')}>\n <SvgIco name=\"contract\" size={24} />\n { I18n.t('apps.lb_showroom.detailed.get_more_insights') }\n </div>\n }\n\n </div>\n </div>\n )\n }\n}\n\n\nexport default FixedNavigationBar;\n","import React, { Suspense, useContext, useEffect, useState } from 'react';\nimport { isMobile, isTablet } from \"react-device-detect\";\n\nimport ImageGalleryWrapper from './ImageGalleryWrapper';\nimport { Context } from \"../index\";\n\nconst VirtualTour = React.lazy(() => import('../VirtualTour'));\nconst DetailsMapWrapper = React.lazy(() => import('../../NewMainMap/DetailsMapWrapper'));\n\n\nconst AssetBlock = () => {\n\n const {\n activeGallerySection,\n assets: { photos, floorPlans, videos },\n googleApiKey,\n location: { latitude, longitude },\n } = useContext(Context);\n\n const [orientationHorizontalMobile, setOrientationHorizontalMobile] = useState(null);\n\n\n useEffect(() => {\n if (isMobile && !isTablet) {\n window.innerHeight < window.innerWidth && setOrientationHorizontalMobile(true);\n window.addEventListener('orientationchange', handleOrientationChange);\n }\n\n return () => {\n isMobile && !isTablet && window.removeEventListener('orientationchange', handleOrientationChange);\n };\n }, []);\n\n\n const handleOrientationChange = () => {\n setOrientationHorizontalMobile(prevState => !prevState);\n };\n\n\n switch (activeGallerySection) {\n case 'photos':\n return (\n <ImageGalleryWrapper\n isDefault={true}\n photos={photos}\n />\n );\n case 'videos':\n return (\n <div className=\"dv-frame-wrapper\">\n <iframe\n src={videos[0]}\n webkitallowfullscreen=\"webkitallowfullscreen\"\n mozallowfullscreen=\"mozallowfullscreen\"\n allowFullScreen\n frameBorder={0}\n id=\"dv-video\"\n />\n </div>\n );\n\n case 'floorPlans':\n return (\n <ImageGalleryWrapper photos={floorPlans} />\n );\n\n case 'virtualTour':\n return (\n <Suspense fallback={<div className=\"skeleton-box\" />}>\n <VirtualTour />\n </Suspense>\n );\n\n case 'map':\n return (\n <Suspense fallback={<div className=\"skeleton-box\" />}>\n <DetailsMapWrapper\n googleApiKey={googleApiKey}\n isGalleryComponent={true}\n latitude={latitude}\n longitude={longitude}\n orientationHorizontalMobile={orientationHorizontalMobile}\n />\n </Suspense>\n );\n\n default:\n return (\n <ImageGalleryWrapper photos={photos} />\n );\n }\n}\n\nexport default AssetBlock;\n\n","import React, { Fragment, useEffect, Suspense } from 'react';\n\nimport { Portal } from \"../../SharedComponents/hooks\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nconst Landscape = React.lazy(() => import('./Landscape'));\nconst InteriorDesignBanner = React.lazy(() => import('./InteriorDesignBanner'));\n\nimport './FullscreenGallery.sass';\n\n\nconst FullscreenGallery = ({ activeSlide, handleClose, latitude, longitude, photos }) => {\n\n useEffect(() => {\n setTimeout(() => {\n if (activeSlide !== 0) {\n const target = document.getElementById('fullscreen-scroll-target');\n const wrapper = document.getElementById('fullscreen-wrapper');\n\n if (target) {\n const targetTop = target.getBoundingClientRect().top;\n const targetCoords = Math.floor(targetTop + window.scrollY - 80);\n\n wrapper.scroll(0, targetCoords);\n };\n }\n }, 600);\n }, []);\n\n\n return (\n <Portal>\n <div className=\"fullscreen-gallery\">\n <div className=\"fullscreen-gallery__wrapper\" id=\"fullscreen-wrapper\">\n <div className=\"fullscreen-gallery__container\">\n <div className=\"fullscreen-gallery__close-btn\" onClick={handleClose}>\n <SvgIco name=\"close\" size={32} />\n </div>\n\n { photos.map((photo, index) =>\n\n <div className=\"fullscreen-gallery__img-wrapper\">\n { photo.itemType === 'image'\n ?\n <Fragment>\n { index === activeSlide && <div id=\"fullscreen-scroll-target\" /> }\n <img\n src={photo.originalFull}\n alt={photo.alt}\n className=\"lazyload\"\n data-sizes=\"auto\"\n />\n </Fragment>\n\n :\n photo.itemType === 'interior-design-banner'\n ?\n <Suspense fallback={<div className=\"skeleton-box\" />}>\n <InteriorDesignBanner isFullScreen={true} orientationHorizontalMobile={false} />\n </Suspense>\n :\n photo.itemType === 'page'\n ?\n <Suspense fallback={<div className=\"skeleton-box\" />}>\n <Landscape latitude={latitude} longitude={longitude}/>\n </Suspense>\n : null\n }\n </div>\n\n )}\n </div>\n </div>\n </div>\n </Portal>\n )\n}\n\nexport default FullscreenGallery;\n","import React, { useContext } from 'react';\n\nimport { toUnderscore } from '../../../utils/helpers';\nimport { DetailedViewSet } from \"../../SharedComponents/Icons\";\nimport { Context } from \"../index\";\n\nimport './GallerySwitcher.sass';\n\n\nconst Label = ({ name, count, isActive, ...props }) => {\n return (\n <div className={`switcher-pill ${ isActive ? 'active' : '' }`} {...props}>\n { DetailedViewSet[name] }\n <span>\n { I18n.t(`lb_showroom.detailed.asset_box.new_${ name }_button`) }\n </span>\n </div>\n );\n};\n\n\nconst GallerySwitcher = ({ counters }) => {\n\n const {\n activeGallerySection,\n switchGallerySection,\n } = useContext(Context);\n\n const renderPills = () => {\n // sorted tabs under the photo exactly in this way\n const sorted = {};\n sorted['photos'] = counters.photos;\n sorted['floorPlans'] = counters.floorPlans;\n sorted['map'] = counters.map;\n sorted['videos'] = counters.videos;\n sorted['virtualTour'] = counters.virtualTour;\n Object.keys(sorted).forEach(key => sorted[key] === undefined ? delete sorted[key] : '');\n\n const pills = Object.keys(sorted).map(item => {\n let properties = {\n isActive: activeGallerySection === item,\n name: toUnderscore(item),\n key: item,\n onClick: () => switchGallerySection(item),\n };\n\n item !== 'virtualTour' && (properties.count = sorted[item]);\n item === 'floorPlans' && (properties.name = 'floor-plans');\n\n return <Label {...properties} key={item} />;\n });\n\n return <div className=\"switcher-row\">{ pills }</div>;\n };\n\n return (\n <div className=\"switcher-container\">{ renderPills() }</div>\n )\n};\n\n\nexport default GallerySwitcher;\n","import React, { useContext, useMemo, useState, Suspense } from 'react';\nimport PropTypes from \"prop-types\";\nimport { isMobileOnly } from \"react-device-detect\";\n\nimport { mappedMonths } from \"../../helpers/danishMonths\";\n\nconst InfoBadges = React.lazy(() => import('../../SharedComponents/InfoBadges'));\nconst FullscreenGallery = React.lazy(() => import('./FullscreenGallery'));\nconst MobileGallery = React.lazy(() => import('./MobileGallery'));\nimport { Context } from \"../index\";\n\nimport './ImageGalleryWrapper.sass';\n\n\nconst ImageGalleryWrapper = ({ isDefault, photos }) => {\n\n const {\n activeGallerySection,\n isScraped,\n location,\n locationClosed,\n locationRented,\n missingImagesUrl,\n section,\n } = useContext(Context);\n\n const [activeSlide, setActiveSlide] = useState(0);\n const [fullscreenIsOpen, setFullscreenIsOpen] = useState(false);\n\n const photosCount = useMemo(\n () => {\n let count = 0;\n photos.map(photo => photo.itemType === 'image' && (count = count + 1), 0)\n\n return count;\n },\n [photos],\n );\n\n\n const {\n anonymous,\n closedMonth,\n latitude,\n longitude,\n showNewBanner,\n specialOffer\n } = location;\n\n const closedMonthLiteral = closedMonth && mappedMonths(closedMonth);\n const showBadges = locationRented || isScraped || anonymous || showNewBanner || specialOffer;\n const isSaleLocation = section !== 'lease';\n const enableFullscreen = photos[0].itemType !== 'placeholder_image' && !locationRented;\n\n\n const handleOpenFullscreen = (isOpen, slideIndex) => {\n if (enableFullscreen) {\n isOpen\n ? document.body.classList.add('modal-open')\n : document.body.classList.remove('modal-open');\n\n setActiveSlide(isOpen && slideIndex ? slideIndex : 0)\n setFullscreenIsOpen(isOpen);\n };\n };\n\n\n const infoBadges =\n <Suspense fallback={''}>\n <InfoBadges\n anonymous={anonymous}\n closedMonth={closedMonthLiteral}\n crawledBottomText={I18n.t('generic.parsed_copyright')}\n isCrawled={isScraped}\n isRentedOut={locationRented || locationClosed}\n isNew={showNewBanner}\n missingImagesUrl={missingImagesUrl}\n rentedOutLabel={locationClosed ? I18n.t('lb_showroom.detailed.asset_box.location_not_available') : null}\n sale={isSaleLocation}\n specialOffer={specialOffer}\n wrapperClass=\"detail-view\"\n />\n </Suspense>;\n\n\n const GalleryImage = ({ data, index, withBadges }) =>\n <div className=\"image-gallery__img-wrapper\">\n <img\n alt={data.alt}\n className={`${locationRented ? 'rented-out' : ''} ${photos[0].itemType === 'placeholder_image' ? 'no-fullscreen' : ''}`}\n onClick={() => handleOpenFullscreen(true, index)}\n src={data.original}\n />\n\n { withBadges && showBadges && infoBadges }\n </div>;\n\n\n const gallery = React.useMemo(\n () =>\n !isMobileOnly\n ?\n <div className=\"row\">\n <div className={`image-gallery__main-img-column col-md-${photosCount > 1 && photos[1].itemType === 'image' ? '6' : '12'}`}>\n <GalleryImage data={photos[0]} index={0} withBadges={true} />\n </div>\n\n { photosCount > 1 && !(photosCount === 2 && photos[1].itemType !== 'image') &&\n <div className=\"col-md-6\">\n { photosCount > 2\n ?\n <div className=\"row image-gallery__right-images-row\">\n { photos.map((photo, index) => {\n const columnsCount = photosCount === 3 || (photosCount === 4 && index === 3) ? 12 : 6;\n\n if (index !== 0 && index <= 4 && photo.itemType === 'image') {\n return (\n <div className={`image-gallery__right-images-col col-md-${columnsCount}`} key={`image-slide-right-${index}`}>\n <GalleryImage data={photo} index={index} />\n { index === 4 && photosCount > 5 && !locationRented &&\n <div className=\"image-gallery__more-photos-wrapper\">\n + { photosCount - 5 } { I18n.t('lb_showroom.detailed.asset_box.new_photos_button') }\n </div>\n }\n </div>\n )\n }\n })}\n </div>\n :\n <GalleryImage data={photos[1]} index={1} />\n }\n </div>\n }\n </div>\n :\n <div className={`image-gallery__main-img-column ${locationRented ? 'rented-out' : anonymous ? 'anonymous' : isScraped ? 'crawled' : ''}`}>\n <div className=\"image-gallery__mobile-fallback\">\n <GalleryImage data={photos[0]} index={0} withBadges={true} />\n </div>\n\n { enableFullscreen &&\n <Suspense fallback={''}>\n <MobileGallery\n activeSection={activeGallerySection}\n data={photos}\n isDefault={isDefault}\n latitude={latitude}\n longitude={longitude}\n onClick={handleOpenFullscreen}\n />\n </Suspense>\n }\n\n { showBadges && infoBadges }\n </div>,\n [photos],\n );\n\n\n return (\n <div className=\"image-gallery\">\n\n { fullscreenIsOpen &&\n <Suspense fallback={''}>\n <FullscreenGallery\n activeSlide={activeSlide}\n handleClose={() => handleOpenFullscreen(false)}\n latitude={latitude}\n longitude={longitude}\n photos={photos}\n />\n </Suspense>\n }\n\n { gallery }\n\n </div>\n )\n};\n\n\nexport default ImageGalleryWrapper;\n\n\nImageGalleryWrapper.propTypes = {\n isDefault: PropTypes.bool,\n locationRented: PropTypes.bool,\n isScraped: PropTypes.bool,\n location: PropTypes.shape({\n anonymous: PropTypes.bool,\n showNewBanner: PropTypes.bool,\n specialOffer: PropTypes.bool,\n }),\n missingImagesUrl: PropTypes.string,\n orientationHorizontalMobile: PropTypes.bool,\n photos: PropTypes.object,\n};\n\n\nImageGalleryWrapper.defaultProps = {\n isDefault: false,\n locationRented: false,\n isScraped: false,\n location: {\n anonymous: false,\n showNewBanner: false,\n specialOffer: false,\n },\n missingImagesUrl: '/',\n orientationHorizontalMobile: false,\n photos: [],\n};\n","import React from 'react';\nimport { isMobileOnly } from 'react-device-detect';\nimport classNames from 'classnames';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './InteriorDesignBanner.sass';\n\n\nconst InteriorDesignBanner = ({ isFullScreen, orientationHorizontalMobile }) => {\n\n const isFullScreenMobile = isFullScreen && isMobileOnly;\n const bannerClasses = classNames('interior-design-banner', {\n 'interior-design-banner--fullscreen': isFullScreen,\n 'interior-design-banner--orientation-horizontal-mobile': orientationHorizontalMobile,\n });\n\n\n return (\n <div className={bannerClasses}>\n <div className=\"interior-design-banner__wrapper\">\n <div className=\"interior-design-banner__title\">\n { I18n.t('detailed.location.gallery.interior_design.title') }\n </div>\n\n <div className=\"interior-design-banner__content-wrapper\">\n { !isFullScreenMobile &&\n <img className=\"interior-design-banner__img\"\n src={require('../../../src/images/plan-photo.svg')}\n alt=\"Floor plan\"\n width={141}\n height={120} />\n }\n <p className=\"interior-design-banner__paragraph\">\n { isFullScreenMobile\n ? I18n.t('detailed.location.gallery.interior_design.paragraph_mobile')\n : I18n.t('detailed.location.gallery.interior_design.paragraph')\n }\n </p>\n </div>\n\n <div className=\"interior-design-banner__subtitle\">\n { I18n.t('detailed.location.gallery.interior_design.subtitle') }\n </div>\n\n <div className=\"interior-design-banner__subparagraph\">\n { I18n.t('detailed.location.gallery.interior_design.subparagraph') }\n </div>\n\n <a className=\"interior-design-banner__link-btn\"\n href=\"https://www.lokalebasen.dk/indretningsforslag-af-kontor-for-lejer\"\n target=\"_blank\">\n <span>{ I18n.t('detailed.location.gallery.interior_design.button') }</span>\n <SvgIco name=\"keyboard-arrow-right-rounded-ios\" size={20} />\n </a>\n </div>\n </div>\n )\n}\n\nexport default InteriorDesignBanner;\n","import React from 'react';\n\nimport landscapeImage from '../../../src/images/landscape.png';\n\nimport './Landscape.sass';\n\n\nconst Landscape = ({ latitude, longitude }) => {\n const handleLandscapeClick = () => {\n window.open('https://skraafoto.dataforsyningen.dk?project=Denmark&lon=' + longitude + '&lat=' + latitude);\n };\n\n\n return (\n <div className='image-gallery-landscape-background lazyload' data-bg={landscapeImage} data-sizes=\"auto\" id=\"landscape-banner\">\n <div className=\"image-gallery-landscape-wrapper\">\n <div className='image-gallery-landscape-text'>\n <h3 className='image-gallery-landscape-text-heading' onClick={handleLandscapeClick}>\n {I18n.t('detailed.location.gallery.landscape.heading')}\n </h3>\n <p className=\"image-gallery-landscape-text-middle\" onClick={handleLandscapeClick}>\n {I18n.t('detailed.location.gallery.landscape.paragraph_1')}\n {I18n.t('detailed.location.gallery.landscape.paragraph_2')}\n {I18n.t('detailed.location.gallery.landscape.paragraph_3')}\n </p>\n <div className=\"image-gallery-landscape__button order-form__button\" onClick={handleLandscapeClick}>\n {I18n.t('detailed.location.gallery.landscape.cta')}\n </div>\n <p className=\"image-gallery-landscape-text-buttom\" onClick={handleLandscapeClick}>\n {I18n.t('detailed.location.gallery.landscape.paragraph_buttom')}\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nexport default Landscape;\n","import React from 'react';\n\nimport EmblaCarousel from '../../SharedComponents/EmblaCarousel';\nimport InteriorDesignBanner from './InteriorDesignBanner';\nimport Landscape from './Landscape';\n\nimport './MobileGallery.sass';\n\n\nconst MobileGallery = ({ activeSection, data, isDefault, latitude, longitude, onClick }) => {\n\n const OPTIONS = { loop: true };\n\n const SLIDES = data.map((image, index)=>\n image.itemType === 'image'\n ?\n <div className={`image-gallery__img-wrapper ${isDefault ? 'default' : ''}`}>\n <img\n alt={image.alt}\n className=\"lazyload\"\n data-expand=\"400\"\n data-sizes=\"auto\"\n data-src={image.original}\n onClick={() => onClick(true, index)}\n />\n </div>\n :\n image.itemType === 'interior-design-banner'\n ?\n <InteriorDesignBanner isFullScreen={true} orientationHorizontalMobile={false} />\n :\n <Landscape latitude={latitude} longitude={longitude} />\n );\n\n\n return (\n <EmblaCarousel\n carouselName={activeSection}\n slides={SLIDES}\n options={OPTIONS} />\n )\n}\n\nexport default MobileGallery;\n","import React, { useContext, useEffect, useState } from 'react';\nimport classNames from 'classnames';\n\nimport { Context } from \"../index\";\nimport GallerySwitcher from './GallerySwitcher';\nimport AssetBlock from './AssetBlock';\n\nimport './index.sass';\n\n\nconst GallerySection = () => {\n\n const {\n assets,\n location,\n locationRented,\n virtualTourOpen,\n } = useContext(Context);\n\n\n const [assetsData, setAssetsData] = useState(assets);\n\n\n useEffect(() => {\n const interiorDesign = { itemType: 'interior-design-banner', original: '' };\n const updatedAssets = { ...assetsData };\n\n assetsData.showInteriorDesignForm && updatedAssets.floorPlans.push(interiorDesign);\n setAssetsData(updatedAssets);\n }, []);\n\n\n const switcherCounters = () => {\n const assetsObj = {};\n\n Object.keys(assetsData).map((item) => {\n if (assetsData[item] && assetsData[item].length) {\n item === 'photos'\n ? (assetsObj[item] = assetsData[item].filter(\n (image) => image.itemType === 'image',\n ).length)\n : (assetsObj[item] = assetsData[item].length);\n }\n });\n\n if (!location.anonymous && location.latitude && location.longitude) {\n assetsObj.map = [];\n }\n return assetsObj;\n };\n\n\n const assetContainerClasses = classNames('asset-container container', {\n 'rented-out': locationRented,\n 'virtual-tour-box': virtualTourOpen,\n });\n\n\n return (\n <div className=\"container dv-gallery\">\n <div className={assetContainerClasses} id=\"asset-container\">\n <AssetBlock />\n </div>\n\n <GallerySwitcher counters={switcherCounters()} />\n </div>\n );\n};\n\n\nexport default GallerySection;\n","import React, { useContext, useState, Fragment, Suspense } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport ReactTooltip from \"react-tooltip\";\nimport { isMobileOnly } from \"react-device-detect\";\n\nconst InfoNotice = React.lazy(() => import('../../SharedComponents/InfoNotice'));\nconst CompareIcon = React.lazy(() => import('../../SharedComponents/CompareIcon'));\nconst SpaceCalculator = React.lazy(() => import('../../SharedComponents/SpaceCalculator'));\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport FavouriteIcon from '../../SharedComponents/FavouriteIcon';\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst Header = () => {\n\n const {\n allKinds,\n anonymous,\n areaUnit,\n comparableLocations,\n facts,\n favouriteLocationsIds,\n isScraped,\n kind,\n locationClosed,\n locationId,\n locationRented,\n missingImagesUrl,\n section,\n setFavouriteLocationsIds,\n siteKey,\n suitableFor,\n tabs,\n title,\n updateComparableLocations,\n } = useContext(Context);\n\n\n const [showAllKinds, setShowAllKinds] = useState(false);\n\n const { price, area, persons } = facts;\n const { economy } = tabs;\n const disposalPrice = economy.disposalPrice || 0;\n const showEmployees = persons;\n const visibleKinds = showAllKinds || allKinds.length <= 2 ? allKinds : allKinds.slice(0, 2);\n const reducedKinds = allKinds.length > 2 ? `+${allKinds.length - 2}` : false;\n const disposal = parseInt(disposalPrice) > 0 && (siteKey === 'dk' || siteKey === 'global');\n const sectionTitle = section !== \"lease\" ? I18n.t('apps.lb_showroom.detailed.economy.prices_for_sale') : I18n.t('apps.lb_showroom.detailed.economy.annual_prices_' + areaUnit);\n const badgesWrapperClasses = classNames('dv-header__cafe-disposal-block', {'indentation-mobile': suitableFor.length });\n const bottomBorderClasses = classNames('dv-header__bottom-border', {'indentation-mobile': suitableFor.length });\n const verifiedLabel = section === 'lease' ? I18n.t('apps.lb_showroom.verified_lease') : 'Verificeret salgsejendom';\n const pricePerM2Present = economy.pricesPerM2 && Object.keys(economy.pricesPerM2).length > 0;\n const pricesPerYearPresent = economy.pricesPerYear && Object.keys(economy.pricesPerYear).length > 0;\n const checkEconomySectionPresent = pricePerM2Present || pricesPerYearPresent || disposal || kind === 'meeting_room';\n const pricePerYearM2 = economy.pricesPerM2 && economy.pricesPerM2.pricePerYear;\n\n\n const scrollToEconomySection = () =>\n window.scroll(0, document.getElementById('economy-section').getBoundingClientRect().top + window.pageYOffset - (document.getElementById('top-menu').offsetHeight + 48));\n\n\n const InfoCell = ({ data, showUnit, icon, isPersons, isArea }) => !!data.value &&\n <div className=\"dv-header__location-details-cell\">\n <div className=\"dv-header__cell-value\">\n <SvgIco name={icon || data.icon} size={22}/>\n <span>{ data.value } {showUnit && data.unit}</span>\n { isPersons && data.tooltip &&\n <span className=\"dv-header__info-tooltip\"\n data-for={'persons-tooltip'}\n data-tip={data.tooltip}>\n <SvgIco name=\"info_outline\" size={16} />\n <ReactTooltip\n effect=\"solid\"\n id={'persons-tooltip'}\n place=\"right\"\n className=\"info-tooltip\"\n />\n </span>\n }\n </div>\n\n <div className=\"dv-header__cell-label\">\n { data.label }\n </div>\n\n { isArea && kind === 'office' && siteKey === 'dk' &&\n <Suspense fallback=\"\">\n <SpaceCalculator />\n </Suspense>\n }\n </div>;\n\n\n return (\n <div className=\"dv-header\">\n\n { anonymous &&\n <Suspense fallback=\"\">\n <InfoNotice\n missingImagesUrl={missingImagesUrl}\n noticeKind={'anonymous'}\n root=\"detail\"\n />\n </Suspense>\n }\n\n { isScraped &&\n <div className=\"dv-header__scraped-info-wrapper\">\n <div className=\"dv-header__scraped-info-block\">\n <p className=\"dv-header__scraped-headline\" data-nosnippet={true}>\n <SvgIco name=\"info_outline\" size={22} />\n { I18n.t('generic.title_info_text') }\n </p>\n <p className=\"dv-header__scraped-content\" data-nosnippet={true}>\n { I18n.t('generic.parsed_info_text') } \n <a href={missingImagesUrl} target=\"_blank\" className=\"read-more\">\n { I18n.t('generic.read_more') }\n </a>\n </p>\n </div>\n </div>\n }\n\n <div className=\"dv-header__top-wrapper\">\n <div className=\"section dv-header__location-kinds\">\n { visibleKinds.map((kind, index) =>\n <span key={index}>\n { I18n.t(`generic.${kind}`) }\n </span>\n )}\n { (reducedKinds && !showAllKinds) &&\n <span className={!showAllKinds ? 'dv-header__show-all-kinds-link' : ''}\n onClick={ !showAllKinds ? setShowAllKinds(true) : () => null }>\n { reducedKinds }\n </span>\n }\n </div>\n\n { !locationRented &&\n <div className=\"dv-header__action-icons-wrapper\">\n { section === 'lease' && !isMobileOnly &&\n <Suspense fallback=\"\">\n <CompareIcon\n comparableLocations={comparableLocations}\n kind={kind}\n locationId={locationId}\n siteKey={siteKey}\n tooltipPosition={'left'}\n updateComparableLocations={updateComparableLocations}\n withLabel={true}\n />\n </Suspense>\n }\n\n <FavouriteIcon\n favoriteLocations={favouriteLocationsIds}\n isDetailView={true}\n locationId={locationId}\n section={section}\n siteKey={siteKey}\n tooltipPosition={'left'}\n updateFavouriteLocations={(ids) => setFavouriteLocationsIds(ids)} />\n </div>\n }\n\n </div>\n\n <div className=\"dv-header__title-wrapper\">\n <h1 className={`dv-header__location-title${ isScraped ? ' extra-indentation' : ''}`}>\n { title }\n </h1>\n { !isScraped &&\n <div className=\"dv-header__verified-lease\">\n <SvgIco name=\"verified\" size={22}/>\n <span>{ verifiedLabel }</span>\n </div>\n }\n </div>\n\n <div className=\"row\">\n { kind !== 'virtual_office' &&\n <div className=\"dv-header__location-details-row area col-12\">\n { kind === 'meeting_room' && showEmployees\n ? <InfoCell data={persons} isPersons={true} />\n : !showEmployees\n ? <InfoCell data={area} showUnit={area.icon !== 'desks'} isArea={true} />\n : kind !== 'parking' && kind !== 'virtual_office' &&\n <Fragment>\n <InfoCell data={area} showUnit={true} isArea={true} />\n <InfoCell data={persons} isPersons={true} />\n </Fragment>\n }\n\n </div>\n }\n </div>\n\n { kind !== 'virtual_office' && !locationClosed &&\n <div className=\"dv-header__separator-wrapper\">\n <div className=\"dv-header__location-details-separator\" />\n </div>\n }\n\n { !locationClosed &&\n <div className=\"dv-header__location-details-wrapper\">\n <div className=\"dv-header__location-details-row\">\n { pricePerYearM2 &&\n <div className=\"dv-header__location-details-cell\">\n <div className=\"dv-header__cell-value\">\n <SvgIco name=\"price\" size={22} />\n <span>{ pricePerYearM2 }</span>\n </div>\n <div className=\"dv-header__cell-label\">\n { sectionTitle }\n </div>\n { checkEconomySectionPresent &&\n <div className=\"dv-header__economy-section-link\" onClick={scrollToEconomySection}>\n { I18n.t('apps.lb_showroom.detailed.see_economy_link') }\n </div>\n }\n </div>\n }\n\n <InfoCell data={{ ...price, icon: 'calendar_month' }} />\n\n { disposal &&\n <InfoCell\n data={{\n icon: 'real_estate_agent',\n label: I18n.t('apps.lb_showroom.detailed.economy.disposal_price'),\n value: disposalPrice\n }}\n showUnit={false}\n />\n }\n </div>\n </div>\n }\n\n { suitableFor.length > 0 &&\n <div className={badgesWrapperClasses}>\n { (!locationClosed || (locationClosed && suitableFor.length > 0)) && <div className=\"separator\" /> }\n\n { suitableFor.length > 0 && suitableFor.map((elem, index) =>\n <div className='dv-header__suitable-for' key={index}>\n <SvgIco name={elem.icon} width={20} height={20} className=\"dv-header__suitable-for-icon\" />\n <span className=\"dv-header__suitable-for-label\">\n { elem.label }\n </span>\n </div>\n )}\n </div>\n }\n\n <div className={bottomBorderClasses}>\n <div className=\"dv-header__location-details-separator\" />\n </div>\n\n </div>\n )\n};\n\nexport default Header;\n\n\nHeader.propTypes = {\n economy: PropTypes.object,\n}\n\nHeader.defaultProps = {\n economy: {},\n};\n","import React, { useContext, useEffect, useRef, useState, Fragment, Suspense } from 'react';\nimport { debounce } from 'throttle-debounce';\nimport classNames from 'classnames';\n\nconst CombinedLeases = React.lazy(() => import('../CombinedLeases'));\nconst SameAddressLocations = React.lazy(() => import('../SameAddressLocations'));\nconst BaseSlider = React.lazy(() => import('../../SharedComponents/BaseSlider'));\nconst LocationTemplate = React.lazy(() => import('../../SharedComponents/LocationTemplate'));\nconst SimilarLocations = React.lazy(() => import('../../SimilarLocations'));\n\nimport EconomySection from '../EconomySection';\nimport { apiProvider } from '../../../api/core';\nimport SearchAgentBanner from '../../SharedComponents/SearchAgentBanner';\nimport FAQSection from '../../SharedComponents/FAQSection';\nimport MapSection from '../MapSection';\nimport FixedNavigationBar from '../FixedNavigationBar';\nimport FactsAndFacilities from '../FactsAndFacilities';\nimport DescriptionSection from '../DescriptionSection';\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst InfoSections = () => {\n\n const {\n anonymous,\n comparableLocations,\n combinedLocations,\n tabs: {\n economy,\n isRentIncludeOperationalCost,\n },\n favouriteLocationsIds,\n isRequestFromPrerender,\n kind,\n locale,\n location,\n locationClosed,\n locationId,\n newSearchAgentPath,\n rentedOut,\n richSnippetQuestions,\n richSnippetQuestionsTitle,\n scrollToForm,\n section,\n sectionType,\n setComparableLocations,\n setFavouriteLocationsIds,\n setShowSimilarLocations,\n showSimilarLocations,\n siteKey,\n similarLocationsEndpoint,\n similarLocationsHeadline,\n temporarilyUnavailable,\n viewedLocations,\n visitorToken,\n updateViewedLocations,\n } = useContext(Context);\n\n const [activeSection, setActiveSection] = useState(null);\n const [locationsWithSameAddress, setLocationsWithSameAddress] = useState([]);\n const [showNavigationMenuState, setShowNavigationMenuState] = useState(false);\n\n const scrollTargetsRefs = {\n descriptionRef: useRef(),\n factsRef: useRef(),\n economyRef: useRef(),\n mapRef: useRef(),\n similarLocationsRef: useRef(),\n faqRef: useRef(),\n };\n\n const { descriptionRef, economyRef, factsRef, faqRef, mapRef, similarLocationsRef } = scrollTargetsRefs;\n\n\n useEffect(() => {\n const { addressLine1, postalDistrictId } = location;\n const retrievedFavouriteLocations = localStorage && localStorage.getItem(`my.favourite_${sectionType}_${siteKey}`);\n const retrievedComparableLocations = localStorage && localStorage.getItem(`my.comparable_${sectionType}_${siteKey}`);\n const favouriteLocationsIds = JSON.parse(retrievedFavouriteLocations) || [];\n const comparableLocations = JSON.parse(retrievedComparableLocations) || [];\n\n favouriteLocationsIds && setFavouriteLocationsIds(favouriteLocationsIds);\n comparableLocations && setComparableLocations(comparableLocations);\n\n window.innerWidth >= 992 && updateViewedLocations();\n\n showNavigationMenu();\n window.addEventListener('scroll', showNavigationMenu);\n\n apiProvider\n .getAll(\n `/api/locations/${locationId}/get_by_address?postal_district_id=${postalDistrictId}&address_line_1=${addressLine1}&locale=${locale}`\n )\n .then(\n (response) =>\n response &&\n response.length &&\n setLocationsWithSameAddress(response)\n );\n\n return () => {\n window.removeEventListener('scroll', showNavigationMenu);\n };\n }, []);\n\n\n const showNavigationMenu = () => {\n const topOffset = document.getElementById('top-menu').offsetHeight + 48;\n const showNavigation = descriptionRef && descriptionRef.current && descriptionRef.current.getBoundingClientRect().top - 100 <= topOffset;\n\n if (showNavigation) {\n debounce(10, handleActiveAreaSection);\n handleActiveAreaSection();\n }\n\n setShowNavigationMenuState(showNavigation);\n };\n\n\n const handleActiveAreaSection = () => {\n const topOffset = document.getElementById('top-menu').offsetHeight + 48;\n const sectionsList = document.querySelectorAll('.info-sections__block-wrapper');\n const viewPortBottomBorder = (window.innerHeight - topOffset) / 2;\n\n if (descriptionRef && descriptionRef.current && descriptionRef.current.getBoundingClientRect().top <= topOffset) {\n Object.keys(sectionsList).forEach((elem) => {\n const node = sectionsList[elem];\n const nodeName = node && node.firstChild && node.firstChild.dataset.name;\n\n if (nodeName && activeSection !== nodeName) {\n const nodeTop = node.getBoundingClientRect().top;\n const nodeBottom = node.getBoundingClientRect().bottom;\n\n // If node is partially in area viewPort\n if (nodeTop < viewPortBottomBorder && nodeBottom > topOffset) {\n // If node is 100% in area viewPort\n if ((nodeTop < topOffset && nodeBottom > viewPortBottomBorder) || (nodeTop > topOffset && nodeBottom < viewPortBottomBorder)) {\n setActiveSection(nodeName);\n } else {\n const viewPortNodeTop = nodeTop < topOffset ? topOffset : nodeTop;\n const viewPortNodeBottom =\n nodeBottom > viewPortBottomBorder\n ? viewPortBottomBorder\n : nodeBottom;\n\n // If node takes at least 50% of area viewPort\n if (\n viewPortNodeBottom - viewPortNodeTop >=\n (viewPortBottomBorder - topOffset) / 2\n ) {\n setActiveSection(nodeName);\n }\n }\n }\n }\n });\n } else if (activeSection !== 'description') {\n setActiveSection('description');\n }\n };\n\n\n const scrollToTarget = (target) => {\n const targetCoords = Math.floor(scrollTargetsRefs[`${target}Ref`].current.getBoundingClientRect().top + window.pageYOffset - (document.getElementById('top-menu').offsetHeight + 48));\n\n window.removeEventListener('scroll', showNavigationMenu);\n window.scroll(0, targetCoords);\n window.addEventListener('scroll', debounce(20, () => endOfScroll(targetCoords)));\n };\n\n\n const endOfScroll = (targetCoords) => {\n if (window.pageYOffset === targetCoords) {\n window.addEventListener('scroll', showNavigationMenu);\n window.removeEventListener('scroll', debounce(20, () => endOfScroll(targetCoords)));\n }\n };\n\n\n const disposalPrice = economy.disposalPrice;\n const richSnippetsAvailable = !!richSnippetQuestions && richSnippetQuestions.length > 0;\n const filteredViewedLocations = viewedLocations && viewedLocations.filter((viewed) => viewed.id !== location.id);\n const showViewedLocations = filteredViewedLocations && filteredViewedLocations.length > 0;\n const showMap = !anonymous && !!location.latitude && !!location.longitude;\n const isDisposalRender = parseInt(disposalPrice) > 0 && (siteKey === 'dk' || siteKey === 'global');\n const pricePerM2Present = economy.pricesPerM2 && Object.keys(economy.pricesPerM2).length > 0;\n const pricesPerYearPresent = economy.pricesPerYear && Object.keys(economy.pricesPerYear).length > 0;\n const checkEconomySectionPresent = (pricePerM2Present || pricesPerYearPresent || isDisposalRender || kind === 'meeting_room') && !locationClosed;\n const viewedLocationsWrapperClasses = classNames('viewed-locations-wrapper', { 'top-indentation': !showSimilarLocations });\n const showOrderFormButton = !!(!rentedOut && !temporarilyUnavailable && !locationClosed);\n\n\n return (\n <Fragment>\n <div className=\"container\">\n <div className=\"info-sections-row row\">\n { combinedLocations && combinedLocations.length > 0 &&\n <Suspense fallback={''}>\n <div className=\"col-12\">\n <div className=\"info-sections__block-wrapper\">\n <CombinedLeases\n combinedLocations={combinedLocations}\n isRentIncludeOperationalCost={isRentIncludeOperationalCost}\n />\n </div>\n </div>\n </Suspense>\n }\n\n <div className=\"col-lg-8 col-md-12 col-12\">\n <div className=\"info-sections\">\n { showNavigationMenuState &&\n <FixedNavigationBar\n activeSection={activeSection}\n checkEconomySectionPresent={checkEconomySectionPresent}\n scrollToForm={scrollToForm}\n scrollToTarget={scrollToTarget}\n showMap={showMap}\n similarLocationsHeadline={similarLocationsHeadline}\n showNavigationMenu={showNavigationMenuState}\n showOrderFormButton={showOrderFormButton}\n showRichSnippets={richSnippetsAvailable}\n showSimilarLocations={showSimilarLocations}\n />\n }\n\n <div className=\"info-sections__block-wrapper\">\n <div\n className=\"sectionScrollTarget description\"\n data-name=\"description\"\n ref={descriptionRef}\n />\n <DescriptionSection />\n </div>\n </div>\n </div>\n\n <div className=\"full-width-background-wrapper\">\n <div className=\"full-width-background\" />\n <div className=\"col-lg-8 col-md-12 col-12\">\n <div className=\"info-sections__block-wrapper\">\n <div\n className=\"sectionScrollTarget\"\n data-name=\"facts\"\n ref={factsRef}\n />\n <FactsAndFacilities />\n </div>\n </div>\n </div>\n\n { checkEconomySectionPresent &&\n <div className=\"col-lg-8 col-md-12 col-12\">\n <div className=\"info-sections__block-wrapper\">\n <div\n className=\"sectionScrollTarget\"\n data-name=\"economy\"\n id=\"economy-section\"\n ref={economyRef}\n />\n <EconomySection />\n </div>\n </div>\n }\n\n { showMap &&\n <div className=\"col-lg-8 col-md-12 col-md-8 col-12\">\n <div className=\"info-sections__block-wrapper\">\n <div className=\"info-sections__block-wrapper\">\n <div\n className=\"sectionScrollTarget\"\n data-name=\"map\"\n ref={mapRef}\n />\n { !anonymous && <MapSection /> }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n\n { !!locationsWithSameAddress.length &&\n <Suspense fallback={''}>\n <SameAddressLocations\n locationsWithSameAddress={locationsWithSameAddress}\n />\n </Suspense>\n }\n\n { !anonymous &&\n <Suspense fallback={''}>\n <div className=\"info-sections__block-wrapper with-favourite\">\n <div\n className=\"sectionScrollTarget\"\n data-name=\"similarLocations\"\n id=\"similar-locations-section\"\n ref={similarLocationsRef}\n />\n <SimilarLocations\n comparableLocations={comparableLocations}\n favouriteLocationsIds={favouriteLocationsIds}\n handleInit={() => setShowSimilarLocations(true)}\n similarLocationsEndpoint={similarLocationsEndpoint}\n similarLocationsHeadline={similarLocationsHeadline}\n section={section}\n siteKey={siteKey}\n updateComparableLocations={setComparableLocations}\n updateFavouriteLocations={(ids) => setFavouriteLocationsIds(ids)}\n />\n </div>\n </Suspense>\n }\n\n { showViewedLocations &&\n <Suspense fallback={''}>\n <div className={viewedLocationsWrapperClasses}>\n <div className=\"viewed-locations container\">\n <h2 className=\"viewed-locations__headline container\">\n { siteKey === 'dk' && section !== 'lease'\n ? I18n.t('apps.lb_showroom.viewed_sales')\n : I18n.t('apps.lb_showroom.viewed_leases')}\n </h2>\n <BaseSlider infinite withDots>\n { filteredViewedLocations.map(item =>\n item.id !== location.id &&\n <LocationTemplate\n comparableLocations={comparableLocations}\n component=\"viewed\"\n data={item}\n key={item.uuid}\n section={section}\n siteKey={siteKey}\n updateComparableLocations={setComparableLocations}\n updateFavouriteLocations={(ids) => setFavouriteLocationsIds(ids)}\n />,\n )}\n </BaseSlider>\n </div>\n </div>\n </Suspense>\n }\n\n <SearchAgentBanner\n newSearchAgentPath={newSearchAgentPath}\n page=\"detail-view\"\n richSnippetsAvailable={richSnippetsAvailable}\n searchAgentHeadline={I18n.t('lb_showroom.detailed.search_agent.headline')}\n searchAgentText={I18n.t('lb_showroom.detailed.search_agent.description')}\n siteKey={siteKey}\n visitorToken={visitorToken}\n />\n\n { richSnippetsAvailable &&\n <div className=\"info-sections__block-wrapper\">\n <div\n className=\"sectionScrollTarget\"\n data-name=\"faq\"\n ref={faqRef}\n />\n <FAQSection\n isRequestFromPrerender={isRequestFromPrerender}\n richSnippetQuestions={richSnippetQuestions}\n title={richSnippetQuestionsTitle['title']}\n />\n </div>\n }\n </Fragment>\n );\n};\n\n\nexport default InfoSections;\n","import React, { useContext } from 'react';\n\nimport UnavailableLocationIcon from '../../../src/images/icons/unavaillable-location-icon.svg';\nimport SimilarLocations from '../../SimilarLocations';\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst LocationUnavailable = () => {\n\n const {\n locationAddress,\n section,\n similarLocationsEndpoint,\n similarLocationsHeadline,\n siteKey,\n } = useContext(Context);\n\n return (\n <div className=\"location-unavailable\">\n <div className=\"container\">\n <div className=\"location-unavailable__wrapper row\">\n <div className=\"location-unavailable__img-block col-md-3 col-lg-3 col-xl-2\">\n <img data-src={ UnavailableLocationIcon }\n alt=\"Location\"\n className=\"location-unavailable__img lazyload\"\n data-sizes=\"auto\"\n />\n <h3 className=\"location-unavailable__address location-unavailable__address--mobile\">\n { locationAddress }\n </h3>\n </div>\n <div className=\"location-unavailable__content col-12 col-md-8 col-lg-7 col-xl-6 offset-xl-1\">\n <h2 className=\"location-unavailable__address\">\n { locationAddress }\n </h2>\n <h2 className=\"location-unavailable__title\">\n { I18n.t('location_unavailable.title') }\n </h2>\n <p className=\"location-unavailable__subtitle\">\n { I18n.t('location_unavailable.subtitle') }\n <a href={ `https://${ window.location.host }` } className=\"location-unavailable__view-more-link\">\n { I18n.t('orders.show.here') }.\n </a>\n </p>\n </div>\n </div>\n </div>\n\n <div className=\"info-sections__block-wrapper\">\n <SimilarLocations\n section={section}\n similarLocationsEndpoint={ similarLocationsEndpoint }\n similarLocationsHeadline={ similarLocationsHeadline }\n siteKey={siteKey}\n />\n </div>\n </div>\n );\n};\n\n\nexport default LocationUnavailable;\n","import React, { useContext, useState, useEffect, Fragment, Suspense } from 'react';\nimport Truncate from 'react-truncate';\nimport { isMobile } from \"react-device-detect\";\n\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport SmartTextTooltip from \"../SmartTextTooltip\";\nimport { Context} from \"../index\";\n\nconst ParkingMarkerMap = React.lazy(() => import('../../NewMainMap/ParkingMarkerMap'));\n\n\nconst MapSection = () => {\n\n const {\n anonymous,\n googleApiKey,\n isRequestFromPrerender,\n location: { addressLine1, latitude, longitude },\n staticMapUrl,\n tabs: { smartText: { geography: smartTextLocation }, transport },\n } = useContext(Context);\n\n const [isMapHovering, setIsMapHovering] = useState(false);\n const [locationText, setLocationText] = useState(false);\n const [staticImageAvailable, setStaticImageAvailable] = useState(true);\n\n const textLines = isMobile ? 4 : 2;\n\n const mapContainerStyle = {\n position: 'absolute',\n objectFit: 'cover',\n width: '100%'\n };\n\n useEffect(() => {\n const img = new Image();\n\n img.src = staticMapUrl;\n img.error = () => setStaticImageAvailable(false);\n }, []);\n\n\n const handleMapMouseHover = ({ target }) => {\n if (!isMapHovering) {\n target.style.background = 'white';\n setIsMapHovering(true);\n }\n };\n\n\n return (\n <div className=\"dv-info-section-wrapper location-details-section dv-info-section-wrapper--location\">\n <div className=\"row\">\n <div className=\"col-md-12\">\n <h2 className='dv-map-section location-title'>{ I18n.t('detailed.location.headline') }</h2>\n </div>\n <div className=\"dv-map-section-location-address-wrapper col-12\">\n <SvgIco name=\"map_detail\" size={22}/>\n <div className=\"dv-map-section-location-address\">\n <h2>{ !anonymous && `${ addressLine1 }, `}{ transport.postalDistrict.postalName }</h2>\n </div>\n </div>\n </div>\n\n { smartTextLocation && <SmartTextTooltip id=\"map\" /> }\n\n { locationText || isRequestFromPrerender\n ?\n <Fragment>\n <p className=\"smart-text-extended\">\n {smartTextLocation}\n </p>\n <div className=\"dv-info-section__read-more-smart-text\">\n <a onClick={() => setLocationText(prevState => !prevState)}>\n { I18n.t('apps.lb_showroom.detailed.description.hide_more_link') }\n <SvgIco name=\"expand-less\" size={15} />\n </a>\n </div>\n </Fragment>\n :\n <Fragment>\n { smartTextLocation &&\n <div className=\"smart-text\">\n <Truncate\n lines={ textLines }\n ellipsis={\n <Fragment><span>{textLines !== 0 && '... '}</span>\n <div className=\"dv-info-section__read-more-smart-text\">\n <a onClick={() => setLocationText(prevState => !prevState)}>\n { I18n.t('generic.read_more') }\n <SvgIco name=\"expand-more\" size={15} />\n </a>\n </div>\n </Fragment>\n }\n children={smartTextLocation}\n />\n </div>\n }\n </Fragment>\n }\n\n <div className=\"bottom-location-map wrapper-map-location\">\n { staticImageAvailable &&\n <img\n alt={!anonymous && `${ addressLine1 }, ${transport.postalDistrict.postalName}`}\n className='bottom-location-map lazyload'\n data-src={staticMapUrl}\n data-sizes=\"auto\"\n onMouseEnter={handleMapMouseHover}\n onTouchStart={handleMapMouseHover}\n style={mapContainerStyle}\n />\n }\n { (isMapHovering || !staticImageAvailable) &&\n <Suspense fallback={<div className=\"skeleton-box\" />}>\n <ParkingMarkerMap googleApiKey={googleApiKey} coordinates={{ latitude: latitude, longitude: longitude }} />\n </Suspense>\n }\n </div>\n </div>\n )\n}\n\nexport default MapSection;\n","import React, { useContext, useEffect, useState } from 'react';\n\nimport ListViewItems from '../../ListView/ListViewItems/ListViewItems';\nimport GridViewItem from '../../ListView/GridViewItem/GridViewItem';\nimport { checkOrderedLocation } from '../../helpers/checkOrderedLocation';\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst SameAddressLocations = ({ locationsWithSameAddress }) => {\n\n const {\n comparableLocations,\n countryAlpha2,\n favouriteLocationsIds,\n section,\n siteKey,\n setComparableLocations,\n setFavouriteLocationsIds,\n } = useContext(Context);\n\n const [orderedLocations, setOrderedLocations] = useState([]);\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\n\n\n const handleWindowWidth = () => {\n setWindowWidth(window.innerWidth);\n };\n\n\n useEffect(() => {\n window.addEventListener('resize', handleWindowWidth);\n\n if (localStorage) {\n localStorage.getItem('my.ordered_locations')\n ? setOrderedLocations(checkOrderedLocation())\n : localStorage.setItem('my.ordered_locations', JSON.stringify({}));\n }\n\n return () => {\n window.removeEventListener('resize', handleWindowWidth);\n };\n }, []);\n\n\n return (\n <div className=\"same-address-locations\">\n <div className=\"container\">\n <h2 className=\"dv-info-section__title\">\n { I18n.t('apps.lb_showroom.same_address_locations_headline') }\n </h2>\n </div>\n\n { locationsWithSameAddress.map((location) =>\n windowWidth >= 768 ? (\n <ListViewItems\n comparableLocations={comparableLocations}\n countryAlpha2={countryAlpha2}\n favouriteLocationsIds={favouriteLocationsIds}\n hideMap={true}\n key={location.id}\n locationData={location}\n orderedLocations={orderedLocations}\n section={section}\n setOrderedLocations={(orderedLocations) => setOrderedLocations(orderedLocations)}\n siteKey={siteKey}\n updateComparableLocations={setComparableLocations}\n updateFavouriteLocations={(ids) => setFavouriteLocationsIds(ids)}\n />\n ) : (\n <GridViewItem\n comparableLocations={comparableLocations}\n countryAlpha2={countryAlpha2}\n favouriteLocationsIds={favouriteLocationsIds}\n hideMap={true}\n key={location.id}\n locationData={location}\n orderedLocations={orderedLocations}\n section={section}\n setOrderedLocations={(orderedLocations) => setOrderedLocations(orderedLocations)}\n siteKey={siteKey}\n updateComparableLocations={setComparableLocations}\n updateFavouriteLocations={(ids) => setFavouriteLocationsIds(ids)}\n />\n )\n )}\n </div>\n );\n}\n\nexport default SameAddressLocations;\n","import React from 'react';\nimport ReactTooltip from \"react-tooltip\";\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './index.sass';\n\n\nconst SmartTextTooltip = ({ id }) => {\n\n return (\n <div className=\"smart-text-tooltip\">\n <i className=\"smart-text-tooltip__icon\"\n data-tip={I18n.t('apps.lb_showroom.detailed.smart_text_tooltip')}\n data-for={`${id}-smart-text-tooltip`}>\n <SvgIco name=\"info_outline\" size={20} />\n </i>\n\n <ReactTooltip\n place='right'\n effect='solid'\n id={`${id}-smart-text-tooltip`}\n type=\"light\"\n border={true}\n borderColor=\"black\" />\n </div>\n )\n}\n\nexport default SmartTextTooltip;\n","import React, { Component } from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\nimport classNames from 'classnames';\n\nimport InfoIcon from '../../../src/images/icons/info.svg';\nimport { validationPatterns } from \"../../../utils/validationPatterns\";\nimport Client from '../../../utils/Client';\nimport Loader from '../../SharedComponents/Loader';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './Form.sass';\n\n\nclass VirtualTourForm extends Component {\n state = {\n isSubmitting: false,\n // jeudanReadMore: false,\n // showJeudanValidationMessage: false,\n };\n\n // handleJeudanPopup = (e) =>\n // (e.target === this.jeudanCloseButton || !this.jeudanPopup.contains(e.target)) && this.closeReadMoreJeudan();\n\n\n // closeReadMoreJeudan = () =>\n // this.setState({ jeudanReadMore: false }, () => this.infoForm.removeEventListener('click', this.handleJeudanPopup));\n //\n // openReadMoreJeudan = () => {\n // this.setState({ jeudanReadMore: true }, () => this.infoForm.addEventListener('click', this.handleJeudanPopup));\n // }\n\n // showJeudanValidationMessage = () =>\n // this.setState({ showJeudanValidationMessage: true }, () => setTimeout(() => this.setState({ showJeudanValidationMessage: false }), 2000));\n\n handleFieldBlur = (e) => {\n this.props.handleBlur(e);\n };\n\n handleSendingData = () => {\n this.props.validateForm()\n .then(resolved => {\n if (Object.entries(this.props.errors).length === 0) {\n this.setState({ isSubmitting: true });\n }\n })\n };\n\n handleSubmit = (e) => {\n e.preventDefault();\n // this.props.isJeudan && !this.props.values.jeudan_policy && this.showJeudanValidationMessage();\n this.props.handleSubmit();\n };\n\n render() {\n\n const {\n values,\n touched,\n errors,\n handleChange,\n isSubmittingOrder,\n // isJeudan,\n setFieldValue,\n } = this.props;\n\n const {\n isSubmitting,\n // jeudanReadMore,\n // showJeudanValidationMessage,\n } = this.state;\n\n const noErrors = Object.keys(errors).length === 0;\n const buttonIcon = isSubmitting && noErrors ? <Loader size={18} left={7} top={15}/> : null;\n const buttonText = I18n.t('apps.lb_showroom.detailed.virtual_tour.send_button_new_design');\n // const jeudanValidationMessageClasses = classNames('jeudan-policy-checkbox__validation-message-jeudan', { 'visible': showJeudanValidationMessage });\n // const checkboxClasses = classNames('jeudan-policy-checkbox__wrapper', {\n // 'checked': values.jeudan_policy,\n // 'error': touched.jeudan_policy && errors.jeudan_policy,\n // });\n\n return (\n <div ref={el => this.infoForm = el}>\n <form onSubmit={this.handleSubmit} noValidate>\n {/* here we check does this field was filled by bot */}\n <input\n id=\"fifth_element\"\n type=\"text\"\n name=\"fifth_element\"\n className=\"invisible\"\n value={values.fifth_element}\n onPaste={handleChange}\n onChange={handleChange}\n onBlur={this.handleFieldBlur}\n />\n\n <div className=\"order-form__collapsible-wrapper \">\n <div className=\"input-wrapper\">\n <div className=\"form-group\">\n <input\n id=\"name\"\n type=\"text\"\n value={values.name}\n onChange={handleChange}\n onBlur={this.handleFieldBlur}\n className={`form-control order-form__input\n ${values.name !== '' ? 'not-empty' : 'empty'}\n ${touched.name ? (errors.name ? 'error' : 'is-valid order-input-valid') : null}`}\n />\n <span\n className=\"floating-label\">{I18n.t('activemodel.attributes.provider_service_request.person_name')}*</span>\n <div className=\"validation-wrapper\"/>\n <div className=\"validation-message\">\n {touched.name && errors.name ? errors.name : null}\n </div>\n </div>\n\n <div className=\"form-group\">\n <input\n id=\"email\"\n type=\"email\"\n value={values.email}\n onChange={handleChange}\n onBlur={this.handleFieldBlur}\n className={`form-control order-form__input\n ${values.email !== '' ? 'not-empty' : 'empty'}\n ${touched.email ? (errors.email ? 'error' : 'is-valid order-input-valid') : null}`}\n />\n <span className=\"floating-label\">\n {I18n.t('activemodel.attributes.provider_service_request.email')}*\n </span>\n <div className=\"validation-wrapper\"/>\n <div className=\"validation-message\">\n {touched.email && errors.email ? errors.email : null}\n </div>\n </div>\n\n <div className=\"form-sub\">\n <div className=\"form-group\">\n <input\n id=\"company\"\n type=\"text\"\n value={values.company}\n onChange={(e) => {\n setFieldValue('company', e.target.value.trimStart().replace(/\\s\\s+/g, ' '))\n }}\n onBlur={this.handleFieldBlur}\n className={`form-control order-form__input\n ${values.company !== '' ? 'not-empty' : 'empty'}\n ${touched.company ? (errors.company ? 'error' : 'is-valid order-input-valid') : null}`}\n />\n <span className=\"floating-label\">\n {I18n.t('activemodel.attributes.provider_service_request.company_name')}*\n </span>\n <div className=\"validation-wrapper\"/>\n <div className=\"validation-message\">\n {touched.company && errors.company ? errors.company : null}\n </div>\n </div>\n\n <div className=\"form-group\">\n <input\n id=\"phone\"\n type=\"tel\"\n value={values.phone}\n onChange={(e) => {\n setFieldValue('phone', e.target.value.trimStart().replace(/\\s\\s+/g, ' '))\n }}\n onBlur={this.handleFieldBlur}\n className={`form-control order-form__input\n ${values.phone !== '' ? 'not-empty' : 'empty'}\n ${touched.phone ? (errors.phone ? 'error' : 'is-valid order-input-valid') : null}`}\n />\n <span className=\"floating-label\">\n {I18n.t('activemodel.attributes.provider_service_request.phone_number_order_form')}*\n </span>\n <div className=\"validation-wrapper\"/>\n <div className=\"validation-message\">\n {touched.phone && errors.phone ? errors.phone : null}\n </div>\n </div>\n\n\n </div>\n </div>\n </div>\n\n <button disabled={isSubmittingOrder} onClick={this.handleSendingData} className={`get-info-submit-button ${isSubmittingOrder ? 'sent' : ''} `} >\n { buttonIcon }\n { buttonText }\n </button>\n\n {/*{ isJeudan &&*/}\n {/* <div className=\"form-group jeudan-policy-checkbox\">*/}\n {/* <div className={checkboxClasses}>*/}\n {/* <SvgIco name=\"check\" size={17} />*/}\n {/* <input*/}\n {/* name=\"jeudan_policy\"*/}\n {/* type=\"checkbox\"*/}\n {/* value={values.jeudan_policy}*/}\n {/* id=\"jeudan_policy\"*/}\n {/* onChange={handleChange}*/}\n {/* onBlur={this.handleFieldBlur}*/}\n {/* />*/}\n {/* <div className=\"jeudan-policy-checkbox__label\">*/}\n {/* <div>*/}\n {/* { I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_short') }*/}\n {/* <img onClick={this.openReadMoreJeudan} src={InfoIcon} alt=\"info-icon\" className=\"lazyload\" data-sizes=\"auto\" />*/}\n {/* /!*<span className=\"jeudan-policy-checkbox__label-read-more-link\">*!/*/}\n {/* /!*{ I18n.t('generic.read_more') }.*!/*/}\n {/* /!*</span>*!/*/}\n {/* </div>*/}\n\n {/* { jeudanReadMore &&*/}\n {/* <div className=\"jeudan-policy-checkbox__popup\" ref={el => this.jeudanPopup = el}>*/}\n {/* <div ref={el => this.jeudanCloseButton = el}*/}\n {/* className=\"jeudan-policy-checkbox__popup-close-btn\">*/}\n {/* <SvgIco name=\"close\" size={30} />*/}\n {/* </div>*/}\n {/* <div dangerouslySetInnerHTML={{ __html: I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_full')}}*/}\n {/* className=\"jeudan-policy-checkbox__label-content\" />*/}\n {/* </div>*/}\n {/* }*/}\n {/* </div>*/}\n\n {/* { touched.jeudan_policy && errors.jeudan_policy &&*/}\n {/* <div className={jeudanValidationMessageClasses}>*/}\n {/* { touched.jeudan_policy && errors.jeudan_policy ? errors.jeudan_policy : null }*/}\n {/* </div>*/}\n {/* }*/}\n {/* </div>*/}\n {/* </div>*/}\n {/*}*/}\n </form>\n </div>\n );\n }\n};\n\nconst { fifth_element, name, phone, email, company } = Client.getClientInfo();\nconst { nameI18n, emailI18n, companyI18n, phoneI18n } = Client.getI18nAttrNames();\nconst i18nRequiredKey = 'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nMinNumberKey = 'apps.lb_showroom.detailed.order_form.validation.min_number';\nconst i18nSymbolsLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 254 });\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 100 });\nconst i18nAtLeast8Digits = 'apps.lb_showroom.detailed.order_form.validation.at_least_8_digits';\n\nconst Form = withFormik({\n mapPropsToValues: (bag) => {\n return (\n ({\n name,\n email,\n phone,\n company,\n fifth_element,\n // jeudan_policy: false,\n // isJeudan: bag.isJeudan\n })\n )\n },\n validationSchema: Yup.object().shape({\n fifth_element: Yup.string(),\n name: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.name, I18n.t(\"apps.lb_showroom.misc.scoped_form.name.invalid\"))\n .required(I18n.t(i18nRequiredKey, { field: nameI18n })),\n email: Yup.string()\n .matches(validationPatterns.symbolsEmailLimit, i18nSymbolsEmailLimitErrorMessage)\n .email(I18n.t('apps.lb_showroom.detailed.order_form.validation.wrong_email'))\n .required(I18n.t(i18nRequiredKey, { field: emailI18n })),\n company: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.company, I18n.t(\"apps.lb_showroom.misc.scoped_form.company.invalid\"))\n .required(I18n.t(i18nRequiredKey, { field: companyI18n })),\n phone: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .min(8, I18n.t(i18nMinNumberKey, { field: phoneI18n }))\n .matches(validationPatterns.phone, I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid'))\n .test('minDigitsValidation', I18n.t(i18nAtLeast8Digits), function(value) {\n const { path, createError } = this;\n const phoneIsValid = value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n return phoneIsValid || !value || createError({ path, message: I18n.t(i18nAtLeast8Digits) });\n })\n .required(I18n.t(i18nRequiredKey, { field: phoneI18n })),\n isJeudan: Yup.boolean(),\n jeudan_policy: Yup.boolean()\n .when(\"isJeudan\", {\n is: true,\n then: Yup.boolean()\n .required(I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message'))\n .oneOf([true], I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message')),\n })\n }),\n handleSubmit: (values, bag) => {\n Client.updateClientInfo(values);\n bag.props.submitHandler(values);\n },\n displayName: 'VirtualTourForm', // helps with React DevTools\n})(VirtualTourForm);\n\nexport default Form;\n","import React, { useContext, useEffect, useState, Fragment } from 'react';\nimport { isMobileOnly } from \"react-device-detect\";\nimport Modal from 'react-modal';\n\nimport Storage from '../../../utils/localStorage';\nimport Client from '../../../utils/Client';\nimport { placeOrder } from '../../../utils/api';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport { Context } from \"../index\";\nimport Form from './Form.jsx';\n\nimport './index.sass';\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: '9990',\n padding: '0'\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'visible',\n border: 'none',\n },\n};\n\n\nconst VirtualTour = () => {\n\n const {\n assets: { virtualTour },\n contactOrdered,\n // isJeudan,\n locationOrdered,\n locationUuid,\n orderPath,\n setUpdateOrderForm,\n showcaseOrdered,\n switchSelectedOrderForm,\n updateVirtualTourForm,\n } = useContext(Context);\n\n const [isOrdered, setIsOrdered] = useState(locationOrdered);\n const [isSubmittingOrder, setIsSubmittingOrder] = useState(false);\n const [formHasBeenSent, setFormHasBeenSent] = useState(Storage.isLocationOrdered(locationUuid));\n const [modalIsOpen, setModalIsOpen] = useState(false);\n\n\n useEffect(() => {\n if(locationOrdered && !contactOrdered) {\n switchSelectedOrderForm('provider_message')\n } else if (contactOrdered && locationOrdered && !showcaseOrdered) {\n switchSelectedOrderForm('book_showcase')\n } else {\n switchSelectedOrderForm('order')\n }\n isMobileOnly && !isOrdered && setModalIsOpen(true);\n }, []);\n\n\n useEffect(() => {\n updateVirtualTourForm && setFormHasBeenSent(true);\n }, [updateVirtualTourForm]);\n\n\n const submitFormHandler = params => {\n params.locationId = locationUuid;\n setIsSubmittingOrder(true);\n\n placeOrder(orderPath, params)\n .then(() => {\n Storage.updateOrderedItem();\n setFormHasBeenSent(true);\n setUpdateOrderForm(true);\n\n if (showcaseOrdered && contactOrdered) {\n switchSelectedOrderForm('order');\n return\n }\n if (contactOrdered) {\n switchSelectedOrderForm('book_showcase');\n return\n }\n switchSelectedOrderForm('provider_message');\n modalIsOpen && setModalIsOpen(false);\n })\n .catch(error => {\n console.error(error);\n });\n };\n\n\n const renderRequestLayout = () => {\n const { email } = Client.getClientInfo();\n\n return (\n <div className=\"virtual-tour\">\n <div className={`virtual-tour__row ${formHasBeenSent ? 'form-sent-wrapper' : ''}`}>\n { formHasBeenSent\n ?\n <div className=\"virtual-tour__thanks-text-wrapper\">\n <h2>\n { I18n.t('apps.lb_showroom.detailed.virual_tour.thanks') }<br/>\n { I18n.t('apps.lb_showroom.detailed.virual_tour.link_sent') }!\n </h2>\n\n <div className=\"icon-wrapper\">\n <SvgIco name=\"check\" size={32} />\n <p>{ I18n.t('apps.lb_showroom.detailed.virual_tour.thanks_text_updated', {'email': email}) }</p>\n </div>\n\n <button className='get-info-submit-button' onClick={() => setIsOrdered(true)}>\n { I18n.t('apps.lb_showroom.detailed.virual_tour.open_button_text') }\n <SvgIco name=\"keyboard-arrow-right-rounded\" size={28} />\n </button>\n </div>\n :\n <div className=\"virtual-tour__description-wrapper\">\n { isMobileOnly\n ?\n <Fragment>\n <h2>{ I18n.t('apps.lb_showroom.detailed.virual_tour.main-title') }</h2>\n <p>{ I18n.t('apps.lb_showroom.detailed.virual_tour.details_description') }</p>\n <div className=\"virtual-tour__open-modal-link\" onClick={() => setModalIsOpen(prevState => !prevState)}>\n { I18n.t('apps.lb_showroom.detailed.virual_tour.request_link') }\n </div>\n </Fragment>\n :\n <Fragment>\n <h2>{ I18n.t('apps.lb_showroom.detailed.virual_tour.main-title') }</h2>\n <p>{ I18n.t('apps.lb_showroom.detailed.virual_tour.details_description') }</p>\n <p>{ I18n.t('apps.lb_showroom.detailed.virual_tour.details_description_second') }</p>\n </Fragment>\n }\n </div>\n }\n\n { !formHasBeenSent && !isMobileOnly &&\n <div className=\"virtual-tour__form-wrapper\">\n <Form\n submitHandler={submitFormHandler}\n isSubmittingOrder={isSubmittingOrder}\n // isJeudan={isJeudan}\n />\n </div>\n }\n\n\n { modalIsOpen &&\n <Modal\n ariaHideApp={false}\n className=\"virtual-tour-modal\"\n isOpen={modalIsOpen}\n onRequestClose={() => setModalIsOpen(prevState => !prevState)}\n style={customStyles}>\n <div className=\"virtual-tour-modal__close-btn\" onClick={() => setModalIsOpen(prevState => !prevState)}>\n <SvgIco name=\"close\" size={24} />\n </div>\n <h2>{ I18n.t('apps.lb_showroom.detailed.virual_tour.main-title') }</h2>\n <p>{ I18n.t('apps.lb_showroom.detailed.virual_tour.details_description') }</p>\n <p>{ I18n.t('apps.lb_showroom.detailed.virual_tour.details_description_second') }</p>\n <Form\n submitHandler={submitFormHandler}\n isSubmittingOrder={isSubmittingOrder}\n // isJeudan={isJeudan}\n />\n </Modal>\n }\n\n\n </div>\n </div>\n );\n };\n\n const renderVirtualFrame = () => {\n return (\n <div className=\"virtual-tour__frame-wrapper\">\n <iframe src={virtualTour} />\n </div>\n );\n }\n\n\n return isOrdered ? renderVirtualFrame() : renderRequestLayout();\n};\n\n\nexport default VirtualTour;\n","import React, { useEffect, useState, Fragment, Suspense } from 'react';\nimport { createContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { isMobileOnly } from \"react-device-detect\";\n\nimport { preventResizeObserverError } from \"../../utils/resizeObzerver\";\nimport Storage from '../../utils/localStorage';\nimport httpService from '../../api/httpService';\nimport { loadTawkTo } from '../TawkTo/TawkTo';\nimport ErrorBoundary from '../ErrorBoundary';\nimport { ToTheTopBtn } from '../SharedComponents/Buttons';\nimport { SvgIco } from \"../SharedComponents/Icons\";\nimport GallerySection from './Gallery';\nimport Header from './Header';\nimport InfoSections from './InfoSections';\n\nimport '../SharedComponents/TrustLogos.sass';\nimport './index.sass';\n\nconst AskProviderModalForm = React.lazy(() => import('./AskProviderModalForm'));\nconst ClosedLocationBanner = React.lazy(() => import('./ClosedLocationBanner'));\nconst LocationUnavailable = React.lazy(() => import('./LocationUnavailable'));\nconst OrderForm = React.lazy(() => import('../OrderForm'));\n\n\nexport const Context = createContext({});\n\n\nconst DetailedViewHeader = (props) => {\n\n const {\n apiCreateOrderPath,\n apiShowcasePath,\n location,\n locationAvailable,\n locationIsClosed,\n // locationContactDetails,\n rentedOut,\n section,\n siteKey,\n temporarilyUnavailable,\n } = props;\n\n const [activeGallerySection, setActiveGallerySection] = useState('photos');\n const [contactOrdered, setContactOrdered] = useState(Storage.isContactOrdered(location.uuid));\n const [comparableLocations, setComparableLocations] = useState(null);\n const [favouriteLocationsIds, setFavouriteLocationsIds] = useState(null);\n const [locationOrdered, setLocationOrdered] = useState(localStorage && Storage.isLocationOrdered(location.uuid));\n const [mapSectionOpen, setMapSectionOpen] = useState(false);\n const [modalFormOpen, setModalFormOpen] = useState(false);\n const [selectedFormOption, setSelectedFormOption] = useState('order');\n const [showcaseOrdered, setShowcaseOrdered] = useState(localStorage && Storage.isShowcaseOrdered(location.uuid));\n const [viewedLocations, setViewedLocations] = useState(null);\n const [virtualTourOpen, setVirtualTourOpen] = useState(false);\n const [updateOrderForm, setUpdateOrderForm] = useState(false);\n const [updateVirtualTourForm, setUpdateVirtualTourForm] = useState(false);\n const [updateAskLandlord, setUpdateAskLandlord] = useState(false);\n const [showSimilarLocations, setShowSimilarLocations] = useState(false);\n\n // const isJeudan = locationContactDetails.provider.name && locationContactDetails.provider.name.toLowerCase() === 'jeudan';\n const locationClosed = locationIsClosed && !rentedOut && !locationAvailable;\n const locationRented = !!(rentedOut || temporarilyUnavailable || locationClosed);\n const sectionType = section === 'lease' ? section : 'sale';\n\n\n useEffect(() => {\n localStorage && localStorage.setItem('locale', props.locale);\n !isMobileOnly && loadTawkTo(siteKey);\n preventResizeObserverError();\n }, []);\n\n\n useEffect(() => {\n updateAskLandlord && setContactOrdered(true);\n }, [updateAskLandlord]);\n\n\n const switchGallerySection = (option) => {\n setActiveGallerySection(option);\n setMapSectionOpen(option === 'map');\n setVirtualTourOpen(option === 'virtualTour');\n };\n\n\n const scrollToTarget = (target) => {\n const targetElem = document.getElementById(target);\n\n if (targetElem) {\n const targetCoords = Math.floor(targetElem.getBoundingClientRect().top + window.pageYOffset - (document.getElementById('top-menu').offsetHeight + 48));\n window.scroll(0, targetCoords);\n }\n };\n\n\n const updateViewedLocations = () => {\n const locationIdStr = location.id.toString();\n const retrievedViewed = localStorage && localStorage.getItem(`my.viewed_${sectionType}_${siteKey}`);\n let viewedLocations = JSON.parse(retrievedViewed) || [];\n\n if (viewedLocations.indexOf(locationIdStr) < 0) {\n // Limit viewed locations to last 10\n viewedLocations.length && viewedLocations.length === 10 && viewedLocations.pop();\n viewedLocations.unshift(locationIdStr);\n }\n\n localStorage.setItem(`my.viewed_${sectionType}_${siteKey}`, JSON.stringify(viewedLocations));\n viewedLocations && viewedLocations.length && getViewedLocations(viewedLocations);\n };\n\n\n const getViewedLocations = (viewedLocationsIds) => {\n httpService.getLocationsByIds(viewedLocationsIds)\n .then((response) => {\n if (response) {\n response.length\n && response.length !== viewedLocationsIds.length\n && localStorage\n && localStorage.setItem(`my.viewed_${sectionType}_${siteKey}`, JSON.stringify(response.map(location => `${location.id}`)));\n\n setViewedLocations(response);\n }\n });\n };\n\n\n const contextProps = {\n ...props,\n activeGallerySection,\n anonymous: location.anonymous,\n areaUnit: location.areaUnit,\n comparableLocations,\n contactOrdered,\n favouriteLocationsIds,\n // isJeudan,\n locationAddress: location.address,\n locationClosed,\n locationId: location.id,\n locationOrdered,\n locationRented,\n locationUuid: location.uuid,\n mapSectionOpen,\n modalFormOpen,\n orderPath: apiCreateOrderPath,\n scrollToForm: scrollToTarget,\n sectionType,\n selectedFormOption,\n setModalFormOpen,\n setComparableLocations,\n setContactOrdered,\n setFavouriteLocationsIds,\n setLocationOrdered,\n setShowcaseOrdered,\n setShowSimilarLocations,\n setUpdateAskLandlord,\n setUpdateOrderForm,\n setUpdateVirtualTourForm,\n showCasePath: apiShowcasePath,\n showcaseOrdered,\n showSimilarLocations,\n switchGallerySection,\n switchSelectedOrderForm: setSelectedFormOption,\n viewedLocations,\n virtualTourOpen,\n updateAskLandlord,\n updateOrderForm,\n updateViewedLocations,\n updateVirtualTourForm,\n };\n\n\n return (\n <Context.Provider value={contextProps}>\n <ErrorBoundary>\n\n { !locationRented && !locationClosed &&\n <div className=\"order-form-scroll-btn-mobile\">\n <div className=\"order-form-scroll-btn\" onClick={() => scrollToTarget('order-form-target')}>\n <SvgIco name=\"contract\" size={24} />\n { I18n.t('apps.lb_showroom.detailed.get_more_insights') }\n </div>\n </div>\n }\n\n { !locationRented && !locationClosed &&\n <Suspense fallback={''}>\n <AskProviderModalForm />\n </Suspense>\n }\n\n <div className={`dv-wrapper${locationRented ? ' dv-wrapper--rented-out' : ''}`}>\n { (locationAvailable || locationClosed)\n ?\n <Fragment>\n <GallerySection />\n\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-12 col-md-7 col-lg-8\">\n <Header />\n </div>\n\n { !locationRented && !locationClosed &&\n <Suspense fallback={''}>\n <div className=\"col-12 col-md-5 col-lg-4\" id=\"order-form-target\">\n <div className=\"form-wrapper\">\n <OrderForm />\n </div>\n </div>\n </Suspense>\n }\n\n { !isMobileOnly && locationClosed &&\n <Suspense fallback={''}>\n <div className=\"col-12 col-md-5 col-lg-4\">\n <ClosedLocationBanner />\n </div>\n </Suspense>\n }\n </div>\n </div>\n\n\n { !locationRented && !locationClosed &&\n <Suspense fallback={''}>\n <div className=\"col-lg-4 col-md-4 col-12 form-wrapper form-wrapper--mobile\" id=\"order-form-target\">\n <OrderForm />\n </div>\n </Suspense>\n }\n\n { isMobileOnly && locationClosed &&\n <Suspense fallback={''}>\n <ClosedLocationBanner />\n </Suspense>\n }\n\n <div className=\"dv-description-wrapper\">\n <InfoSections />\n </div>\n </Fragment>\n :\n <Suspense fallback={''}>\n <LocationUnavailable />\n </Suspense>\n }\n <ToTheTopBtn />\n </div>\n </ErrorBoundary>\n </Context.Provider>\n );\n};\n\n\nexport default DetailedViewHeader;\n\n\nDetailedViewHeader.propTypes = {\n title: PropTypes.string.isRequired,\n suitableFor: PropTypes.array,\n assets: PropTypes.shape({\n photos: PropTypes.array,\n videos: PropTypes.array,\n floorPlans: PropTypes.array,\n virtualTour: PropTypes.string,\n }),\n price: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n area: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n location: PropTypes.shape({\n latitude: PropTypes.number,\n longitude: PropTypes.number,\n }),\n tabs: PropTypes.shape({\n facility: PropTypes.shape({\n facilities: PropTypes.array,\n }),\n economy: PropTypes.shape({\n disposalPrice: PropTypes.string,\n }),\n smartText: PropTypes.shape({\n factAndFacilities: PropTypes.string,\n }),\n transport: PropTypes.shape({\n distances: PropTypes.array,\n postalDistrict: PropTypes.shape({\n postalName: PropTypes.string,\n }),\n }),\n }),\n facts: PropTypes.shape({\n area: PropTypes.shape({\n icon: PropTypes.string,\n }),\n price: PropTypes.object,\n }),\n};\n\n\nDetailedViewHeader.defaultProps = {\n tabs: {\n facility: {\n facilities: [],\n },\n economy: {\n disposalPrice: '0 kr.',\n },\n smartText: {\n factAndFacilities: '',\n },\n transport: {\n distances: [],\n postalDistrict: {\n postalName: '',\n },\n },\n },\n facts: {\n area: {\n icon: '',\n label: '',\n value: '',\n unit: '',\n },\n price: {\n icon: '',\n label: '',\n value: '',\n unit: null,\n },\n economy: {},\n },\n};\n","import React, { useState, Suspense } from 'react';\nimport Yup from 'yup';\nimport { withFormik } from 'formik';\n\nimport { validationPatterns } from '../../../utils/validationPatterns';\nimport ModalLoader from '../../SharedComponents/Loaders/ModalLoader';\nimport { SvgIco } from '../../SharedComponents/Icons';\n\nimport './NewsletterWidget.sass';\n\n\nconst DataProtectionModal = React.lazy(() => import('../../SharedComponents/DataProtectionModal'));\n\n\nconst NewsletterWidgetWrapper = ({ errors,\n handleBlur,\n handleChange,\n handleSubmit,\n hideSubmitError,\n resubscribeLink,\n submitError,\n submitSuccess,\n touched,\n values,\n }) => {\n\n const [isShowingModal, setIsShowingModal] = useState(false);\n\n\n return (\n <div className={`ep-newsletter-widget${submitSuccess ? ' success' : ''}`}>\n { !submitSuccess\n ?\n <div className='ep-newsletter-widget__wrapper'>\n <div className=\"ep-newsletter-widget__headline-wrapper\">\n <div className=\"ep-newsletter-widget__headline\">\n <SvgIco name=\"email-newsletter\" height={40} width={64} />\n <p className=\"ep-newsletter-widget__title\">\n { I18n.t('apps.entry_page.widgets.news_widget.main_title') }\n </p>\n </div>\n\n <div className=\"ep-newsletter-widget__description\">\n { I18n.t('apps.entry_page.widgets.news_widget.description') }\n </div>\n </div>\n\n <div className=\"ep-newsletter-widget__form-wrapper\">\n <form\n className=\"ep-newsletter-widget__form\"\n name=\"widget-form\"\n noValidate\n onSubmit={ handleSubmit }>\n\n <div className='form-group'>\n <label className=\"ep-newsletter-widget__form-label\" htmlFor=\"name\">\n <input\n autoComplete=\"off\"\n className={`ep-newsletter-widget__form-input ${values.name && 'active'}`}\n id=\"name\"\n name=\"name\"\n onBlur={handleBlur}\n onChange={handleChange}\n type=\"text\"\n value={values.name}\n />\n\n <span className={`ep-newsletter-widget__form-floating-label ${values.name && 'active'}`}>\n { nameI18n + '*' }\n </span>\n </label>\n\n <div className=\"ep-newsletter-widget__form-input-tooltip-error\">\n { touched.name ? errors.name : null }\n </div>\n </div>\n\n <div className='form-group'>\n <label className=\"ep-newsletter-widget__form-label\" htmlFor=\"email\">\n <input\n className={`ep-newsletter-widget__form-input ${values.email && 'active'}`}\n id=\"email\"\n name=\"email\"\n onBlur={handleBlur}\n onChange={(e) => {\n handleChange(e);\n submitError && hideSubmitError();\n }}\n type=\"email\"\n value={values.email}\n />\n\n <span className={`ep-newsletter-widget__form-floating-label ${values.email && 'active'}`}>\n { emailI18n + '*' }\n </span>\n </label>\n\n <div className=\"ep-newsletter-widget__form-input-tooltip-error\">\n { touched.email ? errors.email : null }\n </div>\n\n { submitError &&\n <div className=\"ep-newsletter-widget__servers-error\">\n { submitError }\n </div>\n }\n </div>\n\n { resubscribeLink &&\n <a className=\"ep-newsletter-widget__form-resubscribe-link\" href={resubscribeLink}>\n { I18n.t('apps.entry_page.widgets.news_widget.resubscribe_link') }\n </a>\n }\n\n <div className=\"form-group form-group--not-required ep-newsletter-widget__form-btn-submit\">\n <button type=\"submit\" className=\"b-button\">\n { I18n.t('apps.entry_page.widgets.news_widget.submit-button') }\n </button>\n </div>\n </form>\n\n { isShowingModal &&\n <Suspense fallback={<ModalLoader />}>\n <DataProtectionModal\n content={I18n.t('apps.lb_showroom.detailed.order_form.modal.data_protection_body')}\n handleClose={() => setIsShowingModal(false)}\n isShowingModal={isShowingModal}\n title={I18n.t('apps.lb_showroom.detailed.order_form.data_protection')}\n />\n </Suspense>\n }\n\n <div onClick={() => setIsShowingModal(true)} className=\"policy-info-description\">\n <SvgIco name=\"lock\" size={22} />\n <span>{I18n.t('apps.lb_showroom.detailed.order_form.data_protection')}</span>\n </div>\n\n </div>\n </div>\n :\n <div className=\"ep-newsletter-widget__success-content\">\n <div className=\"ep-newsletter-widget__headline\">\n <img\n alt=\"pin\"\n className=\"ep-newsletter-widget__pin lazyload\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/entry_pages/email.svg`)}\n height={40}\n />\n\n <p className=\"ep-newsletter-widget__title\">\n { I18n.t('apps.entry_page.widgets.news_widget.success_signup') }\n </p>\n </div>\n\n <div className=\"ep-newsletter-widget__description\">\n { I18n.t('apps.entry_page.widgets.news_widget.success_description') }\n </div>\n </div>\n }\n </div>\n )\n};\n\n\nconst nameI18n = I18n.t('generic.name');\nconst emailI18n = I18n.t('signup.new_form.register.email.placeholder');\nconst i18nRequiredKey = 'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nInvalidNameInput = 'apps.lb_showroom.misc.scoped_form.name.invalid';\nconst i18nInvalidEmailInput = 'apps.lb_showroom.detailed.order_form.validation.wrong_email';\nconst i18nTooManySimilarSymbols = 'apps.lb_showroom.detailed.order_form.validation.too_many_similar_symbols';\nconst i18nAtLeastOneLetterIsRequired = 'apps.lb_showroom.detailed.order_form.validation.at_least_one_letter';\nconst i18nSymbolsLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 254 });\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 100 });\n\n\nexport const NewsletterWidget = withFormik({\n mapPropsToValues: () => ({ name: '', email: '' }),\n\n validationSchema: Yup.object().shape({\n name: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.name, I18n.t(i18nInvalidNameInput))\n .matches(validationPatterns.specialCharacktersNotMoreThan, I18n.t(i18nTooManySimilarSymbols))\n .matches(validationPatterns.atLeastOneLetter, I18n.t(i18nAtLeastOneLetterIsRequired))\n .required(I18n.t(i18nRequiredKey, {field: nameI18n})),\n\n email: Yup.string()\n .matches(validationPatterns.symbolsEmailLimit, i18nSymbolsEmailLimitErrorMessage)\n .email(I18n.t(i18nInvalidEmailInput))\n .required(I18n.t(i18nRequiredKey, {field: emailI18n})),\n }),\n\n handleSubmit: (values, bag) => {\n bag.props.newsletterSubmitHandler(values);\n },\n\n displayName: 'NewsletterWidget',\n})(NewsletterWidgetWrapper);\n\n\nexport default NewsletterWidget;\n","import React, { Component } from 'react';\nimport Modal from 'react-modal';\n\nconst customStyles = {\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n },\n};\n\nclass ErrorModalDialog extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isShowingModal: false,\n errorName: null,\n errorInfo: null,\n };\n }\n componentDidMount() {\n this.setState({\n isShowingModal: this.props.didCatchError,\n errorName: this.props.errorName,\n errorInfo: this.props.errorInfo,\n });\n }\n handleClose = () => {\n this.setState({ isShowingModal: false });\n window.location.href += '/404';\n };\n render() {\n return (\n <div>\n <Modal\n isOpen={this.state.isShowingModal}\n onAfterOpen={this.afterOpenModal}\n onRequestClose={this.handleClose}\n contentLabel=\"Error Modal\"\n ariaHideApp={false}\n style={customStyles}\n >\n <h2 ref={subtitle => (this.subtitle = subtitle)}>\n {this.state.errorName}\n </h2>\n <p> {this.state.errorInfo} </p>\n <button className=\"\" onClick={this.handleClose}>\n Close\n </button>\n </Modal>\n </div>\n );\n }\n}\n\nexport default ErrorModalDialog;\n","import React, { Component } from 'react';\nimport ErrorModalDialog from './ErrorModalDialog';\n\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.state = {\n error: null,\n errorInfo: null,\n didCatchError: false,\n };\n }\n\n componentDidCatch(error, errorInfo) {\n this.setState({\n error: error,\n errorInfo: errorInfo,\n didCatchError: true,\n });\n }\n\n render() {\n if (this.state.errorInfo) {\n return (\n <ErrorModalDialog\n errorName={this.state.error.toString()}\n errorInfo={this.state.errorInfo.componentStack}\n didCatchError={this.state.didCatchError}\n />\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from 'react';\nimport AdditionalOption from '../SharedComponents/AdditionalOption';\n\nimport './EmptyPage.sass';\n\nconst EmptyPage = () => {\n\n const bannerClasses = 'inline col-12 col-md-12 col-lg-12 col-xl-12';\n\n return (\n <div className=\"favorites-empty-page container\">\n <div className=\"row\">\n <div className=\"col-12 col-md-7 col-lg-7 col-xl-6 favorites-empty-page__text-content\">\n <p>{ I18n.t('favorite_locations.empty_page.first_paragraph') }</p>\n <p>{ I18n.t('favorite_locations.empty_page.second_paragraph') }</p>\n </div>\n <div className=\"col-6 offset-3 col-md-4 offset-md-1 col-lg-3 offset-lg-2 col-xl-3 offset-xl-3 favorites-empty-page__image-wrapper\">\n <img src={require('../../src/images/icons/favorite_empty_page.svg')} alt=\"favorite_empty_page\"/>\n </div>\n\n <AdditionalOption\n headline={I18n.t('search_agents.index.browse_header')}\n content={I18n.t('search_agents.index.browse_body')}\n linkContent={I18n.t('search_agents.index.browse_cta')}\n buttonColor=\"orange\"\n gridClasses={bannerClasses}\n />\n </div>\n </div>\n )\n}\n\nexport default EmptyPage;\n","import React, { Component, Fragment } from 'react';\n\nimport httpService from '../../api/httpService';\nimport { mappedMonths } from '../helpers/danishMonths';\nimport GetInfoFormModal from '../SharedComponents/GetInfoFormModal';\nimport { SvgIco } from '../SharedComponents/Icons';\nimport CompareIcon from \"../SharedComponents/CompareIcon\";\nimport SearchOfferModal from \"../SharedComponents/SearchOptionsModal\";\nimport { sendTrovitLead } from \"../helpers/trovit_analitics\";\n\nimport './FavoritesItem.sass';\n\n\nclass FavoritesItem extends Component {\n\n state = {\n isActiveInfoForm: false,\n showServerErrorMessage: false,\n isLoading: false,\n orderId: null,\n };\n\n\n static timestamp() {\n return { timestamp: new Date().toISOString() };\n };\n\n\n componentDidMount() {\n window.history.scrollRestoration = \"manual\";\n };\n\n\n handleOpenInfoForm = () =>\n this.setState({ isActiveInfoForm: true });\n\n\n handleCloseInfoForm = () =>\n this.setState({ isActiveInfoForm: false });\n\n\n infoHandlerSubmit = (params, orderUrl) => {\n const { siteKey, uuid } = this.props;\n\n this.setState({ isLoading: true });\n\n httpService.orderInfoListViewForm(orderUrl, params, uuid)\n .then(response => {\n if (response) {\n const orderedLocations = JSON.parse(localStorage.getItem('my.ordered_locations'));\n const { order_uuid } = response;\n\n orderedLocations[uuid] = [ this.constructor.timestamp() ];\n\n const updateOrderedLocation = JSON.stringify(orderedLocations);\n\n localStorage.setItem('my.ordered_locations', updateOrderedLocation);\n\n sendTrovitLead(siteKey);\n\n this.setState({\n submitSuccess: true,\n showServerErrorMessage: false,\n isLoading: false,\n orderId: order_uuid,\n });\n\n this.props.setOrderedLocations(Object.keys(orderedLocations));\n }\n else {\n this.setState({\n submitSuccess: false,\n showServerErrorMessage: true,\n isLoading: false,\n });\n }\n });\n };\n\n\n handleItemClick = (e, url) => {\n if (!e.ctrlKey && !e.metaKey) {\n e.preventDefault();\n\n const parent = e.target.parentNode;\n\n if (parent.getAttribute('role') !== 'button' && e.target.getAttribute('role') !== 'button') {\n sessionStorage.setItem('location_items.scroll_value', window.pageYOffset);\n window.open(url, \"_blank\")\n }\n }\n };\n\n\n render() {\n const { isActiveInfoForm, submitSuccess, showServerErrorMessage, isLoading, orderId } = this.state;\n const {\n address,\n addressLine1,\n anonymous,\n closedMonth,\n currency,\n facts,\n handleSelect,\n hidePrice,\n id,\n isInternal,\n isSelected,\n nearbyParkingLot,\n orderedLocations,\n orderPath,\n photoAlt,\n photoUrl,\n postalCodeAndName,\n providerName,\n rawKind,\n secondaryKinds,\n section,\n siteKey,\n shownAsRentedOut,\n showNewBadge,\n specialOffer,\n temporarilyUnavailable,\n url,\n uuid } = this.props;\n\n // const isJeudan = providerName && providerName.toLowerCase() === 'jeudan';\n const { price, area } = facts;\n const imgStyle = { filter: shownAsRentedOut || temporarilyUnavailable ? 'grayscale(100%)' : 'none' };\n const rentedOutMonth = mappedMonths(closedMonth);\n const showSearchOfferModal = submitSuccess && orderId && !isActiveInfoForm;\n\n\n return (\n <div className=\"favorite-item col-12 col-md-6 col-lg-4 col-xl-3\">\n <a className=\"favorite-item__link\" href={url} target=\"_blank\" onClick={e => this.handleItemClick(e, url, id)}>\n\n <div className={`favorite-item__check-box ${ isSelected ? 'checked' : '' }`}\n onClick={() => handleSelect(id)}\n role=\"button\">\n { isSelected && <SvgIco name=\"check-bold\" size={16} /> }\n </div>\n\n <div className=\"favorite-item__image-wrapper\" role=\"img\">\n <img data-src={photoUrl}\n alt={photoAlt}\n data-sizes=\"auto\"\n className=\"favorite-item__image lazyload\"\n style={imgStyle} />\n\n { section === 'lease' &&\n <CompareIcon\n kind={rawKind}\n locationId={id}\n siteKey={siteKey}\n tooltipPosition={'left'} />\n }\n\n { (showNewBadge || specialOffer) &&\n <div className=\"favorite-item__badges-wrapper\">\n\n { showNewBadge &&\n <div className=\"favorite-item__badge favorite-item__badge--new\">\n <span>{ I18n.t(\"apps.lb_showroom.showroom.list.new_item_label\") }</span>\n </div>\n }\n\n { specialOffer &&\n <div className=\"favorite-item__badge favorite-item__badge--special\">\n <span>{ I18n.t('generic.special_offer') }</span>\n </div>\n }\n </div>\n }\n\n <div className=\"favorite-item__labels-wrapper\">\n { (shownAsRentedOut || temporarilyUnavailable) &&\n <div className=\"favorite-item__label favorite-item__label--rented-out\">\n <span>\n { shownAsRentedOut\n ?\n <Fragment>\n { I18n.t('activerecord.attributes.location.states.rented_out', {count: 0}) } { (siteKey === 'dk' && rentedOutMonth) && `fra ${rentedOutMonth}` }\n </Fragment>\n :\n I18n.t('activerecord.attributes.location.states.temporarily_unavailable')\n }\n\n </span>\n </div>\n }\n\n { anonymous &&\n <div className=\"favorite-item__label favorite-item__label--anonymous\">\n <span>{ I18n.t('generic.anonymous_location.detailed.label') }</span>\n </div>\n }\n\n { isInternal && !shownAsRentedOut && !temporarilyUnavailable &&\n <Fragment>\n <div className=\"favorite-item__label favorite-item__label--parsed-top\">\n <span>{ I18n.t('generic.parsed_location') }</span>\n </div>\n </Fragment>\n }\n </div>\n </div>\n\n <div className=\"favorite-item__info-block-wrapper\">\n <div className=\"favorite-item__location-kinds\">\n\n <span className=\"favorite-item__location-kind\">\n { I18n.t(`generic.${rawKind}`) }\n </span>\n\n { !!secondaryKinds.length && <span>+{ secondaryKinds.length }</span> }\n </div>\n\n <div className=\"favorite-item__location-address\">\n <p>{ addressLine1 }</p>\n <p>{ postalCodeAndName }</p>\n </div>\n\n { rawKind !== 'parking' && rawKind !== 'virtual_office' && area.value && (\n <div className=\"favorite-item__info-wrapper favorite-item__info-row\">\n <p className=\"favorite-item__info-label\">\n <img data-src={require(`../../src/images/icons/${area.icon}.svg`)}\n alt=\"area\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n width=\"22px\"\n height=\"22px\"\n data-expand=\"100\" />\n { area.icon === 'desks' ? I18n.t('generic.desks') : area.label }\n </p>\n <p className=\"favorite-item__info-value\">\n { area.value } { area.icon !== 'desks' && area.unit }\n </p>\n </div>\n )}\n\n { !hidePrice &&\n <div className=\"favorite-item__info-wrapper\">\n <div className=\"favorite-item__info-row favorite-item__info-row--price\">\n <p className=\"favorite-item__info-label\">\n { price.label }\n </p>\n <p className=\"favorite-item__info-value\">\n { price.value } { price.unit }\n </p>\n </div>\n </div>\n }\n\n <div className=\"favorite-item__bottom\">\n { !shownAsRentedOut && !temporarilyUnavailable &&\n <div className=\"favorite-item__button-wrapper\" role=\"button\">\n { orderedLocations.includes(uuid)\n ?\n <button className=\"b-button favorite-item__info-button sent-info\">\n <SvgIco name=\"check\" size={24} />\n { I18n.t('apps.lb_showroom.detailed.order_form.cta_fixed_info_sent') }\n </button>\n :\n <div className=\"b-button favorite-item__info-button\" onClick={ this.handleOpenInfoForm }>\n { I18n.t(\"apps.lb_showroom.detailed.order_form.get_information\") }\n </div>\n }\n </div>\n }\n </div>\n </div>\n </a>\n\n <div id={'getInfoFormFavoriteWrapper' + id}>\n { isActiveInfoForm &&\n <GetInfoFormModal\n address={address}\n gtmClass=\"getInfoFormFavorite\"\n handleClose={this.handleCloseInfoForm}\n id={id}\n isLoading={isLoading}\n // isJeudan={isJeudan}\n orderUrl={orderPath}\n parkingCheckbox={nearbyParkingLot}\n showServerErrorMessage={showServerErrorMessage}\n siteKey={siteKey}\n submitHandler={this.infoHandlerSubmit}\n submitSuccess={submitSuccess}\n />\n }\n </div>\n\n { showSearchOfferModal &&\n <SearchOfferModal\n apiCreateOrderDetailsPath={null}\n currency={currency}\n locationKind={rawKind}\n orderId={orderId}\n siteKey={siteKey}\n />\n }\n </div>\n );\n }\n}\n\n\n\nexport default FavoritesItem;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport FavoritesItem from './FavoritesItem';\n\nimport './FavoritesList.sass';\n\n\nconst FavoritesList = ({ activeSection,\n currency,\n favoritesList,\n handleActiveSection,\n handleSelect,\n isLoading,\n isSelected,\n orderedLocations,\n removeFromFavorite,\n setOrderedLocations,\n showSwitchers,\n siteKey }) => {\n\n const leasesTabClasses = classNames('favorites-list__tab', { 'active': activeSection === 'lease' });\n const salesTabClasses = classNames('favorites-list__tab', { 'active': activeSection === 'sale' });\n const spinner =\n <div className=\"spinner-wrapper\">\n <div className=\"smoothie-spinner\" />\n </div>;\n\n\n return (\n <div className=\"favorites-list\">\n\n { showSwitchers &&\n <div className=\"favorites-list__tabs container\">\n <div className={leasesTabClasses} onClick={() => handleActiveSection('lease')}>\n Til leje\n </div>\n <div className={salesTabClasses} onClick={() => handleActiveSection('sale')}>\n Til salg\n </div>\n </div>\n }\n\n <div className=\"favorites-list__items-wrapper\">\n <div className=\"container\">\n { isLoading\n ? spinner\n : <div className=\"row\">\n { favoritesList.map(item => (\n <FavoritesItem\n address={item.address}\n addressLine1={item.address_line_1}\n anonymous={item.anonymous}\n closedMonth={item.closed_month}\n currency={currency}\n facts={item.price_and_area_facts}\n handleSelect={handleSelect}\n id={item.id}\n isInternal={item.is_internal}\n isSelected={isSelected(item.id)}\n key={item.uuid}\n nearbyParkingLot={item.nearby_parking_lot}\n orderedLocations={orderedLocations}\n orderPath={item.order_path}\n photoAlt={item.photo_alt}\n photoUrl={item.photo_url}\n postalCodeAndName={item.postal_code_and_name}\n providerName={item.provider_name}\n rawKind={item.raw_kind}\n removeFromFavorite={removeFromFavorite}\n secondaryKinds={item.secondary_kinds}\n section={activeSection}\n setOrderedLocations={setOrderedLocations}\n showNewBadge={item.show_new_badge}\n shownAsRentedOut={item.shown_as_rented_out}\n siteKey={siteKey}\n specialOffer={item.special_offer}\n temporarilyUnavailable={item.temporarily_unavailable}\n url={item.url}\n uuid={item.uuid}\n />\n )) }\n </div>\n }\n </div>\n </div>\n </div>\n )\n};\n\nexport default FavoritesList;\n","import React, { Component } from 'react';\nimport Sticky from 'react-stickynode';\n\nimport './index.sass';\n\n\nclass StickyBar extends Component {\n\n state ={\n previousScrollY: null,\n showStickyBar: false,\n };\n\n handleStickyBarRender = () => {\n const { previousScrollY } = this.state;\n const currentScrollY = window.pageYOffset;\n\n // We need this additional check for Safari and Firefox\n // to prevent appearance of Sticky-bar at the end of the page caused by overscroll\n window.pageYOffset + window.innerHeight < document.body.clientHeight &&\n this.setState({\n showStickyBar: previousScrollY > currentScrollY,\n previousScrollY: currentScrollY,\n });\n };\n\n componentDidMount() {\n this.setState({ previousScrollY: window.pageYOffset })\n window.addEventListener('scroll', this.handleStickyBarRender);\n }\n\n render() {\n return (\n <Sticky\n top=\"#top-menu\"\n bottomBoundary=\".nothing\"\n innerZ={998}\n enabled={ this.state.showStickyBar }>\n { this.props.children }\n </Sticky>\n );\n }\n}\n\nexport default StickyBar;\n","import React, { Component, Fragment } from 'react';\n\nimport httpService from '../../api/httpService';\nimport { handleFavoriteLocationsCounter } from '../../utils/topBarHelper';\nimport { checkOrderedLocation } from '../helpers/checkOrderedLocation';\nimport { loadTawkTo } from \"../TawkTo/TawkTo\";\nimport { sendTrovitLead } from \"../helpers/trovit_analitics\";\nimport { SvgIco } from \"../SharedComponents/Icons\";\nimport SearchAgentBanner from \"../SharedComponents/SearchAgentBanner\";\nimport GetInfoFormModal from \"../SharedComponents/GetInfoFormModal\";\nimport FavoritesList from './FavoritesList';\nimport EmptyPage from './EmptyPage';\nimport StickyBar from \"./StickyBar\";\n\nimport './index.sass';\n\n\nclass FavoritesPage extends Component {\n state = {\n activeSection: 'lease',\n isLoading: true,\n selectButtonsOpen: false,\n deleteButtonsOpen: false,\n isActiveInfoForm: false,\n showServerErrorMessage: false,\n isFormLoading: false,\n submitSuccess: false,\n leaseLocationsIds: [],\n saleLocationsIds: [],\n leaseLocations: [],\n saleLocations: [],\n orderedLocations: [],\n leaseSelected: [],\n saleSelected: [],\n };\n\n\n constructor(props) {\n super(props);\n localStorage && localStorage.setItem('locale', props.locale);\n };\n\n\n static timestamp() {\n return { timestamp: new Date().toISOString() };\n };\n\n componentDidMount() {\n const { siteKey } = this.props;\n\n const leaseLocationsIds =\n localStorage && localStorage.getItem(`my.favourite_lease_${siteKey}`)\n ? JSON.parse(localStorage.getItem(`my.favourite_lease_${siteKey}`))\n : [];\n\n const saleLocationsIds =\n localStorage && localStorage.getItem(`my.favourite_sale_${siteKey}`)\n ? JSON.parse(localStorage.getItem(`my.favourite_sale_${siteKey}`))\n :[];\n\n (leaseLocationsIds.length || saleLocationsIds.length)\n ? this.setState({ activeSection: leaseLocationsIds.length ? 'lease' : 'sale', leaseLocationsIds, saleLocationsIds }, () => this.requestData())\n : this.setState({ isLoading: false });\n\n if(localStorage) {\n localStorage.getItem('my.ordered_locations')\n ? this.setState({ orderedLocations: checkOrderedLocation() })\n : localStorage.setItem('my.ordered_locations', JSON.stringify({}));\n }\n\n loadTawkTo(siteKey);\n };\n\n\n requestData = () => {\n const { activeSection } = this.state;\n const currentLocationsIds = this.state[`${activeSection}LocationsIds`];\n\n currentLocationsIds.length &&\n this.setState({ isLoading: true }, () =>\n httpService.getLocationsByIds(currentLocationsIds)\n .then(response =>\n this.setState({\n isLoading: false,\n [`${activeSection}Locations`]: response || [],\n }, () => {\n if (response.length !== currentLocationsIds.length) {\n const { activeSection } = this.state;\n const { siteKey } = this.props;\n const newFavouriteIds = response.map(location => `${location.id}`);\n\n localStorage && localStorage.setItem(`my.favourite_${activeSection}_${siteKey}`, JSON.stringify(newFavouriteIds));\n handleFavoriteLocationsCounter(siteKey);\n this.setState({ [`${activeSection}LocationsIds`]: newFavouriteIds },\n () => {\n if (!newFavouriteIds.length) {\n const availableSection = activeSection === 'sale' ? 'lease' : 'sale';\n\n this.state[`${availableSection}LocationsIds`].length && this.handleActiveSection(availableSection);\n }\n }\n );\n }\n })\n ));\n };\n\n\n handleActiveSection = (section) =>\n this.setState({ activeSection: section }, () => !this.state[`${section}Locations`].length && this.requestData());\n\n\n removeFromFavorite = () => {\n const { activeSection } = this.state;\n const { siteKey } = this.props;\n const retrievedFaves = localStorage && localStorage.getItem(`my.favourite_${activeSection}_${siteKey}`);\n const favouriteLocations = JSON.parse(retrievedFaves) || [];\n const selectedGroup = this.state[`${activeSection}Selected`];\n const updatedList = this.state[`${activeSection}Locations`].filter(location => !selectedGroup.includes(`${location.id}`));\n const updatedStorageList = favouriteLocations.length && favouriteLocations.filter(id => !selectedGroup.includes(id));\n\n localStorage && localStorage.setItem(`my.favourite_${activeSection}_${siteKey}`, JSON.stringify(updatedStorageList));\n handleFavoriteLocationsCounter(siteKey);\n\n this.setState({\n [`${activeSection}Locations`]: updatedList,\n [`${activeSection}LocationsIds`]: updatedStorageList,\n [`${activeSection}Selected`]: [],\n }, () => {\n if (!this.state[`${activeSection}LocationsIds`].length) {\n const availableSection = activeSection === 'sale' ? 'lease' : 'sale';\n\n this.state[`${availableSection}LocationsIds`].length && this.handleActiveSection(availableSection);\n }\n });\n };\n\n\n cleanAllFavoriteLocations = () => {\n const { activeSection } = this.state;\n const { siteKey } = this.props;\n const availableSection = activeSection === 'sale' ? 'lease' : 'sale';\n\n this.setState({\n [`${activeSection}Locations`]: [],\n [`${activeSection}LocationsIds`]: [],\n });\n\n localStorage && localStorage.setItem(`my.favourite_${activeSection}_${siteKey}`, JSON.stringify([]));\n this.handleActiveSection(availableSection);\n handleFavoriteLocationsCounter(siteKey);\n };\n\n\n setOrderedLocations = (orderedLocations) => this.setState({ orderedLocations: orderedLocations });\n\n\n handleSelect = (id) => {\n const { activeSection } = this.state;\n const updatedSelectedLocation = [ ...this.state[`${activeSection}Selected`] ];\n const selectedIndex = updatedSelectedLocation.indexOf(`${id}`);\n\n selectedIndex >= 0\n ? updatedSelectedLocation.splice(selectedIndex, 1)\n : updatedSelectedLocation.push(`${id}`);\n\n this.setState({ [`${activeSection}Selected`]: updatedSelectedLocation });\n };\n\n\n selectAll = () => {\n const { activeSection } = this.state;\n\n this.setState({ [`${activeSection}Selected`]: this.state[`${activeSection}LocationsIds`] });\n };\n\n\n deselectAll = () => this.setState({ [`${this.state.activeSection}Selected`]: [] });\n\n\n isSelected = (id) => this.state[`${this.state.activeSection}Selected`].includes(`${id}`);\n\n\n handleOpenButtonsDropdown = (buttonsGroup) => {\n const isOpen = this.state[`${buttonsGroup}ButtonsOpen`];\n\n this.setState({ [`${buttonsGroup}ButtonsOpen`]: !isOpen }, () => {\n this.state[`${buttonsGroup}ButtonsOpen`]\n ? window.addEventListener('click', (e) => this.handleClickOutside(e, buttonsGroup))\n : window.removeEventListener('click', (e) => this.handleClickOutside(e, buttonsGroup));\n });\n };\n\n\n handleClickOutside = (e, buttonsGroup) => {\n const buttonsWrapper = document.getElementById(`${buttonsGroup}Buttons`);\n\n buttonsWrapper && !buttonsWrapper.contains(e.target) && this.setState({ [`${buttonsGroup}ButtonsOpen`]: false });\n };\n\n\n multipleOrderSubmit = (params, orderUrl) => {\n const uuids = this.locationsAvailableForOrder().map(location => location.uuid);\n\n this.setState({ isFormLoading: true });\n\n httpService.orderInfoListViewForm(orderUrl, params, uuids)\n .then(response => {\n if (response) {\n const orderedLocations = JSON.parse(localStorage.getItem('my.ordered_locations'));\n\n uuids.map(uuid => orderedLocations[uuid] = [ this.constructor.timestamp() ]);\n\n const updateOrderedLocation = JSON.stringify(orderedLocations);\n\n localStorage.setItem('my.ordered_locations', updateOrderedLocation);\n\n sendTrovitLead(this.props.siteKey);\n\n this.setState({\n submitSuccess: true,\n showServerErrorMessage: false,\n isLoading: false,\n });\n\n this.setOrderedLocations(Object.keys(orderedLocations));\n } else {\n this.setState({\n submitSuccess: false,\n showServerErrorMessage: true,\n isLoading: false,\n });\n }\n });\n };\n\n\n handleOpenInfoForm = () =>\n this.setState({ isActiveInfoForm: true });\n\n\n handleCloseInfoForm = () =>\n this.setState({\n isActiveInfoForm: false,\n showServerErrorMessage: false,\n submitSuccess: false,\n });\n\n\n // showJeudanMessage = () =>\n // !!this.locationsAvailableForOrder().find(location => location.isJeudan);\n\n\n locationsAvailableForOrder = () => {\n const { activeSection, orderedLocations } = this.state;\n const selectedLocationsIds = this.state[`${activeSection}Selected`];\n const favouriteLocationsList = this.state[`${activeSection}Locations`];\n const selectedLocationsList = [];\n\n favouriteLocationsList.map(location => {\n\n const { address, id, provider_name, shown_as_rented_out, temporarily_unavailable, url, uuid } = location;\n\n selectedLocationsIds.includes(`${location.id}`)\n && !orderedLocations.includes(uuid)\n && !shown_as_rented_out\n && !temporarily_unavailable\n && selectedLocationsList.push({\n address,\n id,\n url,\n uuid,\n // isJeudan: provider_name && provider_name.toLowerCase() === 'jeudan',\n });\n });\n\n return selectedLocationsList;\n };\n\n\n render() {\n const { currency, siteKey, newSearchAgentPath } = this.props;\n\n const {\n activeSection,\n deleteButtonsOpen,\n isActiveInfoForm,\n isFormLoading,\n isLoading,\n leaseLocationsIds,\n orderedLocations,\n saleLocationsIds,\n selectButtonsOpen,\n showServerErrorMessage,\n submitSuccess\n } = this.state;\n\n const locationsAvailableForOrder = this.locationsAvailableForOrder();\n const selectedLocationsCount = locationsAvailableForOrder.length;\n const locationsCount = leaseLocationsIds.length + saleLocationsIds.length;\n const showLocationsList = !!(leaseLocationsIds.length || saleLocationsIds.length);\n const favoritesList = this.state[`${activeSection}Locations`];\n const showSwitchers = !!(leaseLocationsIds.length && saleLocationsIds.length);\n\n\n return (\n <div className=\"favorites\">\n\n <div className=\"favorites__header container\">\n <div className=\"favorites__header-headline\">\n <h1>{ I18n.t('generic.favorites') }</h1>\n { showLocationsList &&\n <p className=\"favorites-list__subtitle\">\n { I18n.t('favorite_locations.subtitle', { locations_count: locationsCount }) }\n </p>\n }\n </div>\n\n { showLocationsList && <img alt=\"Favourites\" src={require('../../src/images/icons/favorite_empty_page.svg')} /> }\n </div>\n\n { showLocationsList\n ?\n <Fragment>\n <StickyBar>\n <div className=\"favorites__action-bar container\">\n <div className={`favorites__get-info-button ${!selectedLocationsCount ? 'inactive' : ''}`} onClick={ this.handleOpenInfoForm }>\n { I18n.t(\"apps.lb_showroom.detailed.order_form.get_information\") + ` (${selectedLocationsCount})` }\n </div>\n <div className=\"favorites__action-bar-right\">\n <div id=\"selectButtons\"\n className=\"favorites__select-group\"\n onClick={() => this.handleOpenButtonsDropdown('select')}>\n <SvgIco name=\"select-all\" size={24} />\n <div className={`favorites__action-buttons-wrapper favorites__action-buttons-wrapper--orange ${ selectButtonsOpen ? 'open' : '' }`}>\n <div className=\"favorites__select-all-btn\" onClick={this.selectAll}>\n { I18n.t('apps.lb_showroom.postal_districts.select_all') }\n </div>\n <div className=\"favorites__deselect-all-btn\" onClick={this.deselectAll}>\n { I18n.t('apps.lb_showroom.postal_districts.deselect_all') }\n </div>\n </div>\n </div>\n <div id=\"deleteButtons\"\n className=\"favorites__delete-group\"\n onClick={() => this.handleOpenButtonsDropdown('delete')}>\n <SvgIco name=\"trash\" size={20} />\n <div className={`favorites__action-buttons-wrapper favorites__action-buttons-wrapper--red ${ deleteButtonsOpen ? 'open' : '' }`}>\n <div className=\"favorites__delete-selected-btn\" onClick={this.removeFromFavorite}>\n { I18n.t('generic.delete_selected') }\n </div>\n <div className=\"favorites__delete-all-btn\" onClick={this.cleanAllFavoriteLocations}>\n { I18n.t('generic.delete_all') }\n </div>\n </div>\n </div>\n </div>\n </div>\n </StickyBar>\n\n <FavoritesList\n activeSection={activeSection}\n currency={currency}\n favoritesList={favoritesList}\n isLoading={isLoading}\n orderedLocations={orderedLocations}\n showSwitchers={showSwitchers}\n siteKey={siteKey}\n handleActiveSection={this.handleActiveSection}\n handleSelect={this.handleSelect}\n isSelected={this.isSelected}\n removeFromFavorite={this.removeFromFavorite}\n setOrderedLocations={this.setOrderedLocations} />\n\n <div className=\"favorites__search-agent-wrapper\">\n <SearchAgentBanner\n newSearchAgentPath={newSearchAgentPath}\n searchAgentText={I18n.t('lb_showroom.detailed.search_agent.description')}\n searchAgentHeadline={I18n.t('lb_showroom.detailed.search_agent.headline')}\n siteKey={siteKey}\n />\n </div>\n\n <div id=\"getInfoFormFavoriteWrapperMulti\">\n { isActiveInfoForm &&\n <GetInfoFormModal\n gtmClass=\"getInfoFormFavorite\"\n handleClose={this.handleCloseInfoForm}\n // isJeudan={this.showJeudanMessage()}\n isLoading={isFormLoading}\n isMultiple={true}\n locations={locationsAvailableForOrder}\n orderUrl={'/lease/api/orders'}\n parkingCheckbox={false}\n showServerErrorMessage={showServerErrorMessage}\n siteKey={siteKey}\n submitHandler={this.multipleOrderSubmit}\n submitSuccess={submitSuccess}\n />\n }\n </div>\n </Fragment>\n :\n !isLoading && <EmptyPage />\n }\n </div>\n )\n }\n}\n\nexport default FavoritesPage;\n","import React from 'react';\nimport SslSecureLogo from '../../src/images/logos/ssl-secure-encryption.svg'\n\nconst FooterBottom = ({ contacts, footerBottom }) => {\n\n const { addressLine, postalCodeCity, email, phone, showCvr, cvr } = contacts;\n const { copyrightUrl, logoUrl, root, siteLinks, socialLinks, sslLink, supportUrl } = footerBottom;\n\n return (\n <div className=\"global-footer__bottom\">\n <div className=\"row\">\n <div className=\"col-md-12\">\n <a href={root} className=\"global-footer__bottom-logo\">\n <img src={logoUrl} alt=\"Logo\" className=\"lazyload\" id=\"logo-image\" data-sizes=\"auto\" width={150}/>\n </a>\n </div>\n </div>\n <div className=\"row\">\n <div className=\"global-footer__bottom-wrapper\">\n\n <div className=\"global-footer__contacts-wrapper\">\n <div className=\"global-footer__contacts\">\n <p>{ addressLine }</p>\n <p>{ postalCodeCity }</p>\n <a href={\"mailTo:\" + email} >{ email }</a>\n <br />\n <a href={\"tel://\" + phone}>{ phone }</a>\n { showCvr && <p>{cvr}</p> }\n </div>\n </div>\n\n <div className=\"global-footer__bottom-sites\">\n { siteLinks.map(link =>\n <div>\n <a href={link.footer_site_link.url}\n className=\"global-footer__country-site-link\"\n key={link.footer_site_link.id}\n target=\"_blank\"\n >\n {link.footer_site_link.name}\n </a>\n </div>\n )}\n </div>\n\n <div className=\"global-footer__social-links\">\n <div className=\"global-footer__ssl-wrapper\">\n <a href={sslLink}>\n <img src={SslSecureLogo} alt=\"SSL secured\" className=\"lazyload global-footer__ssl-img\" data-sizes=\"auto\" width={130}/>\n </a>\n </div>\n <div className=\"global-footer__social-buttons-wrapper\">\n <ul className=\"global-footer__social-buttons-list\">\n { socialLinks.map(link =>\n <li className=\"global-footer__social-link\" key={link[0]}>\n <a href={link[1]} className={`global-footer__social-link--${link[0]}`}/>\n </li>\n )}\n </ul>\n </div>\n </div>\n\n <div className=\"global-footer__copyright-block\">\n <div className=\"global-footer__copyright-wrapper\">\n <div className=\"global-footer__copyright--help\">\n <a href={supportUrl}>{ I18n.t('layouts.responsive.bottom.help_link') }</a>\n </div>\n <div className=\"global-footer__copyright--copyright\">\n <a href={copyrightUrl} className=\"global-footer__copyright-link\">\n Copyright { new Date().getFullYear() }\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n};\n\nexport default FooterBottom;\n","import React from 'react';\nimport Markdown from 'markdown-to-jsx';\n\n\nconst FooterLinks = ({ footerBoxes }) => {\n return (\n <div className=\"global-footer__links\">\n <div className=\"container\">\n <div className=\"row\">\n { footerBoxes.map(box =>\n <div className={`global-footer__links-row col-md-${ 12 / footerBoxes.length }` } key={box.footer_box.id}>\n <Markdown>{ box.footer_box.content }</Markdown>\n </div>\n ) }\n </div>\n </div>\n </div>\n )\n};\n\nexport default FooterLinks;\n","import React, { Component } from 'react';\n\nimport TrustLogos from \"../SharedComponents/TrustLogos\";\nimport FooterLinks from \"./FooterLinks\";\nimport FooterBottom from \"./FooterBottom\";\nimport PropTypes from \"prop-types\";\n\nimport './index.sass';\n\n\nclass Footer extends Component {\n render() {\n const {\n contacts,\n footerBottom,\n footerBoxes,\n trustedLogos,\n trustedLogosUrl,\n } = this.props;\n\n return (\n <div className=\"global-footer\">\n <TrustLogos trustedLogos={trustedLogos} trustedLogosUrl={trustedLogosUrl}/>\n <FooterLinks footerBoxes={footerBoxes}/>\n <FooterBottom contacts={contacts} footerBottom={footerBottom}/>\n </div>\n )\n }\n}\n\nexport default Footer;\n\nFooter.propTypes = {\n contacts: PropTypes.shape({\n addressLine: PropTypes.string,\n cvr: PropTypes.string,\n email: PropTypes.string,\n phone: PropTypes.string,\n postalCodeCity: PropTypes.string,\n showCvr: PropTypes.bool,\n }),\n footerBottom: PropTypes.shape({\n copyrightUrl: PropTypes.string,\n logoUrl: PropTypes.string,\n siteLinks: PropTypes.arrayOf(PropTypes.object),\n socialLinks: PropTypes.arrayOf(PropTypes.array),\n sslLink: PropTypes.string,\n supportUrl: PropTypes.string,\n }),\n footerBoxes: PropTypes.arrayOf(PropTypes.object),\n siteKey: PropTypes.string,\n trustedLogos: PropTypes.arrayOf(PropTypes.object),\n};\n\nFooter.defaultProps = {\n contacts: {\n addressLine: '',\n cvr: '',\n email: '',\n phone: '',\n postalCodeCity: '',\n showCvr: false,\n },\n footerBottom: {\n copyrightUrl: '',\n logoUrl: '',\n siteLinks: [],\n socialLinks: [],\n sslLink: '',\n supportUrl: '',\n },\n footerBoxes: [],\n siteKey: '',\n trustedLogosL: [],\n};\n","import React from 'react';\nimport crawledFallbackImage from '../../src/images/parsed-background.svg';\n\nconst CrawledLocationImg = () => {\n\n const styles = {\n backgroundSize: 'cover',\n backgroundPosition: 'top left',\n };\n\n return (\n <div style={styles}\n className='image-gallery-image crawled lazyload noFullScreen'\n data-bg={crawledFallbackImage}\n data-sizes=\"auto\"\n >\n <div className='image-gallery-crawled__text-wrapper'>\n </div>\n </div>\n );\n};\n\nexport default CrawledLocationImg;\n","import React from 'react';\nimport { isMobileOnly } from 'react-device-detect';\nimport classNames from 'classnames';\n\nimport { SvgIco } from \"../SharedComponents/Icons\";\n\nimport './InteriorDesignBanner.sass';\n\n\nconst InteriorDesignBanner = ({ isFullScreen, orientationHorizontalMobile }) => {\n\n const isFullScreenMobile = isFullScreen && isMobileOnly;\n const bannerClasses = classNames('interior-design-banner', {\n 'interior-design-banner--fullscreen': isFullScreen,\n 'interior-design-banner--orientation-horizontal-mobile': orientationHorizontalMobile,\n });\n\n\n return (\n <div className={bannerClasses}>\n <div className=\"interior-design-banner__wrapper\">\n <div className=\"interior-design-banner__title\">\n { I18n.t('detailed.location.gallery.interior_design.title') }\n </div>\n\n <div className=\"interior-design-banner__content-wrapper\">\n { !isFullScreenMobile &&\n <img className=\"interior-design-banner__img\"\n src={require('../../src/images/plan-photo.svg')}\n alt=\"Floor plan\"\n width={141}\n height={120} />\n }\n <p className=\"interior-design-banner__paragraph\">\n { isFullScreenMobile\n ? I18n.t('detailed.location.gallery.interior_design.paragraph_mobile')\n : I18n.t('detailed.location.gallery.interior_design.paragraph')\n }\n </p>\n </div>\n\n <div className=\"interior-design-banner__subtitle\">\n { I18n.t('detailed.location.gallery.interior_design.subtitle') }\n </div>\n\n <div className=\"interior-design-banner__subparagraph\">\n { I18n.t('detailed.location.gallery.interior_design.subparagraph') }\n </div>\n\n <a className=\"interior-design-banner__link-btn\"\n href=\"https://www.lokalebasen.dk/indretningsforslag-af-kontor-for-lejer\"\n target=\"_blank\">\n <span>{ I18n.t('detailed.location.gallery.interior_design.button') }</span>\n <SvgIco name=\"keyboard-arrow-right-rounded-ios\" size={20} />\n </a>\n </div>\n </div>\n )\n}\n\nexport default InteriorDesignBanner;\n","import React from 'react';\n\nimport landscapeImage from '../../src/images/landscape.png';\n\nimport './Landscape.sass';\n\n\nconst Landscape = ({ latitude, longitude }) => {\n const handleLandscapeClick = () => {\n window.open('https://skraafoto.dataforsyningen.dk?project=Denmark&lon=' + longitude + '&lat=' + latitude);\n };\n\n\n return (\n <div className='image-gallery-landscape-background lazyload' data-bg={landscapeImage} data-sizes=\"auto\" id=\"landscape-banner\">\n <div className=\"image-gallery-landscape-wrapper\">\n <div className='image-gallery-landscape-text'>\n <h3 className='image-gallery-landscape-text-heading' onClick={handleLandscapeClick}>\n {I18n.t('detailed.location.gallery.landscape.heading')}\n </h3>\n <p className=\"image-gallery-landscape-text-middle\" onClick={handleLandscapeClick}>\n {I18n.t('detailed.location.gallery.landscape.paragraph_1')}\n {I18n.t('detailed.location.gallery.landscape.paragraph_2')}\n {I18n.t('detailed.location.gallery.landscape.paragraph_3')}\n </p>\n <div className=\"image-gallery-landscape__button order-form__button\" onClick={handleLandscapeClick}>\n {I18n.t('detailed.location.gallery.landscape.cta')}\n </div>\n <p className=\"image-gallery-landscape-text-buttom\" onClick={handleLandscapeClick}>\n {I18n.t('detailed.location.gallery.landscape.paragraph_buttom')}\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nexport default Landscape;\n","import React from 'react';\nimport { isIOS, isMobile, isTablet } from 'react-device-detect';\nimport \"core-js/stable\";\nimport \"regenerator-runtime/runtime\";\n// import '@babel/polyfill';\nimport PropTypes from 'prop-types';\nimport ImageGallery from 'react-image-gallery';\nimport { debounce } from \"throttle-debounce\";\nimport classNames from 'classnames';\n\nimport { SvgIco } from '../SharedComponents/Icons';\nimport Landscape from './Landscape';\nimport CrawledLocationImg from './CrawledLocationImg';\nimport InteriorDesignBanner from './InteriorDesignBanner';\n\nimport './index.sass';\n\n\nconst defaultGalleryOptions = {\n lazyLoad: true,\n showPlayButton: false,\n showBullets: false,\n showThumbnails: false,\n};\n\nclass Gallery extends React.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n isFullscreen: false,\n images: [],\n noFullScreen: false,\n };\n\n this.hidePhotoesIndex = debounce(5000, this.hideIndex);\n }\n\n componentDidMount() {\n this.props.photos.length && this.setImages();\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.photos !== prevProps.photos || this.props.section !== prevProps.section) {\n\n const assetsContainer = document.getElementById('asset-container');\n\n assetsContainer.classList.contains('asset-container--resized') && assetsContainer.classList.remove('asset-container--resized');\n this.setImages();\n }\n }\n\n setImages = () =>\n this.setState({ images:\n this.props.photos.map(photo =>\n Object.assign(photo, {\n thumbnailAlt: photo.alt,\n thumbnail: photo.original,\n thumbnailClass: photo.itemType === 'page' || photo.itemType === 'interior-design-banner' ? 'hidden' : '',\n originalAlt: photo.alt,\n originalClass: this.props.addClass,\n })\n )\n });\n\n getOptions() {\n return { ...defaultGalleryOptions, ...this.props.options };\n }\n\n renderFullscreenButton = (onClick) => {\n const { isFullscreen } = this.state;\n return (\n <div className={`full-screen-btn ${ isFullscreen && ' full-screen-in' }`} onClick={ onClick } ref={el => this.fullscreenBtn = el}>\n { isFullscreen\n ? <SvgIco name=\"close\" size={24} />\n : <SvgIco name=\"zoom-out-map\" size={24} />\n }\n </div>\n );\n };\n\n renderRightNav = (onClick, disabled) => {\n return (\n <div\n className='image-gallery-custom-right-nav'\n onClick={onClick} >\n <SvgIco name=\"keyboard-arrow-right-rounded\" size={30} />\n </div>\n )\n }\n\n renderLeftNav = (onClick, disabled) => {\n return (\n <div\n className='image-gallery-custom-left-nav'\n onClick={onClick} >\n <SvgIco name=\"keyboard-arrow-left-rounded\" size={30} />\n </div>\n )\n };\n\n _renderItem(item) {\n const { isRentedOut, anonymous, addClass, orientationHorizontalMobile } = this.props;\n const { isFullscreen, noFullScreen } = this.state\n const notAvailableFullScreen = isRentedOut || isFullscreen || noFullScreen || anonymous;\n\n switch(item.itemType) {\n case 'image':\n\n case 'placeholder_image':\n if (item.itemType === 'placeholder_image') {\n this.setState({noFullScreen: true})\n }\n return (\n <div className={`image-gallery-image ${notAvailableFullScreen ? 'noFullScreen' : ''}`} id={`wrapper${item.original}`}>\n {/*I create thi span for centering image in div on full screen and it will be*/}\n {/*good looking in all browsers*/}\n <span className=\"helper-fullscreen\" />\n <img src={isMobile ? item.original : item.originalFull}\n alt={item.alt}\n className={`${!isMobile ? \"lazyload\" : ''}`}\n data-sizes=\"auto\"\n onLoad={addClass === 'floor-plans-gallery' ? () => this.handleImageOrientation(`wrapper${item.original}`) : () => null}\n />\n </div>\n );\n\n case 'crawled_location_block':\n return <CrawledLocationImg />;\n\n case 'interior-design-banner':\n return <InteriorDesignBanner isFullScreen={isFullscreen} orientationHorizontalMobile={orientationHorizontalMobile} />;\n\n default:\n return <Landscape latitude={this.props.latitude} longitude={this.props.longitude} />;\n }\n }\n\n handleShowIndex = () => {\n document.querySelector('.image-gallery-index').classList.add('active');\n this.hidePhotoesIndex();\n };\n\n hideIndex = () => {\n if (document.querySelector('.image-gallery-index')) {\n document.querySelector('.image-gallery-index').classList.remove('active');\n }\n };\n\n _renderCustomControls() {\n if(this.state.isFullscreen)\n return (\n <div className=\"dv-gallery-fullscreen-header\">\n <span>\n { I18n.t(`activerecord.models.${this.props.activeSection}`).other }\n </span>\n </div>\n )\n }\n\n handleFullScreen = fullScreenOpened => {\n // FOR IOS DEVICES\n if (isIOS && isMobile) {\n if (Boolean(fullScreenOpened)) {\n if(isTablet) {\n setTimeout(() => {\n document.querySelector('.dv-gallery-container').classList.add('ios-fullscreen');\n document.body.classList.add('safari-fullscreen');\n }, 5);\n } else {\n document.querySelector('.dv-gallery-container').classList.add('ios-fullscreen');\n document.body.classList.add('safari-fullscreen');\n }\n } else {\n document.querySelector('.dv-gallery-container').classList.remove('ios-fullscreen');\n document.body.classList.remove('safari-fullscreen');\n }\n }\n\n this.setState({ isFullscreen: Boolean(fullScreenOpened) });\n };\n\n handleShowFullScreen = () => {\n const { showInteriorDesignBanner } = this.props;\n const isLastImage = this.gallery.getCurrentIndex() === this.state.images.length - 1;\n const landscape = document.getElementById('landscape-banner');\n const isBanner = (landscape || showInteriorDesignBanner) && isLastImage;\n\n !isBanner && this.gallery.fullScreen();\n };\n\n handleOnSlide = (index) => {\n\n const { showInteriorDesignBanner } = this.props;\n\n if (showInteriorDesignBanner) {\n const imagesLength = this.state.images.length;\n const assetsContainer = document.getElementById('asset-container');\n\n index === imagesLength -1\n ? assetsContainer.classList.add('asset-container--resized')\n : assetsContainer.classList.contains('asset-container--resized') && assetsContainer.classList.remove('asset-container--resized');\n }\n\n this.handleShowIndex();\n };\n\n handleImageOrientation = (wrapperId) => {\n const imageWrapper = document.getElementById(wrapperId);\n const activeImage = imageWrapper.getElementsByTagName('IMG')[0];\n\n activeImage.height > activeImage.width && imageWrapper.classList.add('vertical-align');\n };\n\n\n render() {\n const { actionIcons, addClass, isRentedOut, abTestFixedCta, orientationHorizontalMobile, anonymous } = this.props;\n const { isFullscreen, images, noFullScreen } = this.state;\n const showFullScreenBtn = !isRentedOut;\n const notAvailableFullScreen = isRentedOut || isFullscreen || noFullScreen || anonymous;\n const galleryWrapperClasses = classNames('dv-gallery-container', { 'fixed-cta-ab-test-styles': abTestFixedCta });\n const galleryClasses = classNames({\n [addClass]: addClass,\n 'container fullscreen': isFullscreen,\n 'horizontal-mobile': (isFullscreen && orientationHorizontalMobile),\n });\n\n return (\n <div className={galleryWrapperClasses}>\n <ImageGallery\n renderFullscreenButton={(showFullScreenBtn && !noFullScreen) ? this.renderFullscreenButton : () => null }\n renderItem={this._renderItem.bind(this)}\n renderCustomControls={ this._renderCustomControls.bind(this) }\n items={images}\n { ...this.getOptions() }\n additionalClass={galleryClasses}\n renderRightNav={this.renderRightNav}\n renderLeftNav={this.renderLeftNav}\n showIndex={true}\n showThumbnails={isFullscreen}\n onClick={ notAvailableFullScreen ? () => null : this.handleShowFullScreen }\n onScreenChange={this.handleFullScreen}\n ref={el => this.gallery = el}\n onBeforeSlide={this.handleOnSlide}\n disableKeyDown={this.props.disableArrow}\n />\n { actionIcons }\n </div>\n );\n }\n}\n\nGallery.defaultProps = {\n photos: [],\n options: {},\n};\n\nGallery.propTypes = {\n photos: PropTypes.arrayOf(\n PropTypes.shape({\n original: PropTypes.string.isRequired,\n alt: PropTypes.string,\n })\n ),\n options: PropTypes.object,\n};\n\n\nexport default Gallery;\n","import React from 'react';\nimport './index.sass'\n\n\nconst AdvBannerDk = () => {\n return (\n <div className=\"advbanner-section\">\n <div className=\"container\">\n <div className=\"advbanner-wrapper\">\n\n <div className=\"advbanner-text-block\">\n <p className=\"advbanner-description-text\">\n Mødelokaler eller parkeringspladser\n </p>\n </div>\n\n <div className=\"advbanner-button-block\">\n <a href=\"#coworking\" className=\"advbanner-button\">Se priser her</a>\n </div>\n </div>\n </div>\n </div>\n );\n}\n\nexport default AdvBannerDk;\n","import React from 'react';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './BenefitsMobile.sass'\n\n\nclass BenefitsMobile extends React.PureComponent {\n\n state = {\n activeTab: null,\n };\n\n toggleDropdownTrigger = (wrapperName) => {\n const { activeTab } = this.state;\n\n this.setState({ activeTab: wrapperName }, () => {\n\n !activeTab && this[wrapperName].classList.add('open');\n\n if (activeTab) {\n\n if (activeTab === wrapperName) {\n this[activeTab].classList.toggle('open');\n this[activeTab].classList.toggle('close');\n } else {\n this[activeTab].classList.remove('open');\n this[activeTab].classList.add('close');\n this[wrapperName].classList.remove('close');\n this[wrapperName].classList.add('open');\n }\n }\n });\n };\n\n render() {\n const { benefits, virtualTourUrl, siteKey } = this.props;\n\n\n return (\n <div className=\"benefits-mobile\">\n { Array.from(Array(12)).map((benefit, index) =>\n <div key={index} className=\"benefits-mobile__item\" ref={el => this[`benefitTrigger${index}`] = el}>\n\n <h3 onClick={() => this.toggleDropdownTrigger(`benefitTrigger${index}`)}>\n <img\n alt={benefits(index).iconName}\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/${benefits(index).iconName}.svg`)}\n height={20}\n />\n { benefits(index).headline }\n <SvgIco name=\"expand-more\" size={24} />\n </h3>\n\n <p className=\"benefits-mobile__body\">{ benefits(index).body }\n { siteKey === 'dk' && index === 6 &&\n <span dangerouslySetInnerHTML={{ __html: virtualTourUrl }} />\n }\n </p>\n\n </div>\n )}\n </div>\n )\n }\n}\n\nexport default BenefitsMobile;\n","import React from 'react';\n\nimport BenefitsMobile from './BenefitsMobile';\n\nimport './index.sass';\n\n\nconst BenefitsSection = ({ siteKey, virtualTourUrl }) => {\n\n const benefits = (index) => ({\n iconName: index+1,\n headline: I18n.t(`signup.teaser.ceo.block_${index+1}.header`),\n body: I18n.t(`signup.teaser.ceo.block_${index+1}.text`),\n });\n\n\n return (\n <div className=\"benefits container\">\n\n <h2 className=\"benefits__headline\">\n { I18n.t('signup.teaser.ceo.heading') }\n </h2>\n\n <BenefitsMobile\n benefits={benefits}\n siteKey={siteKey}\n virtualTourUrl={virtualTourUrl}\n />\n\n <div className=\"row benefits__wrapper\">\n { Array.from(Array(12)).map((elm, index) =>\n <div className=\"benefits__item col-md-6 col-lg-4\" key={index}>\n <h3 className=\"benefits__item-headline\">\n { siteKey !== 'dk' && index === 6\n ?\n <img\n alt={benefits(index).iconName}\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/Instagram-icon.svg`)}\n height={20}\n />\n :\n <img\n alt={benefits(index).iconName}\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/${benefits(index).iconName}.svg`)}\n height={20}\n />\n }\n { benefits(index).headline }\n </h3>\n\n <p className=\"benefits__item-body\">{ benefits(index).body }\n { siteKey === 'dk' && index === 6 &&\n <span dangerouslySetInnerHTML={{ __html: virtualTourUrl }}/>\n }\n </p>\n </div>\n )}\n </div>\n </div>\n )\n};\n\nexport default React.memo(BenefitsSection);\n","import React from 'react';\nimport { openPopupWidget } from \"react-calendly\";\n\nimport \"./index.sass\"\n\nconst Calendly = ({ siteKey }) => {\n\n const clickBookMeeting = () => {\n const url = siteKey === \"dk\"\n ? 'https://calendly.com/lokalebasen/infomoede-lokalebasen'\n : 'https://calendly.com/infomatchofficecom/info-with-matchoffice';\n\n openPopupWidget({ url });\n };\n\n return (\n <div className=\"calendly-button-section\">\n <div className=\"container\">\n <div className=\"calendly-button-wrapper\">\n <div className=\"calendly-button-block\">\n <div onClick={clickBookMeeting} className=\"calendly-button\">\n { I18n.t(\"signup.teaser.book-meeting-button\") }\n </div>\n </div>\n <div className=\"calendly-text-block\">\n <p className=\"calendly-description-text\">\n { I18n.t(\"signup.teaser.book-meeting-description\") }\n </p>\n </div>\n </div>\n </div>\n </div>\n );\n}\n\n\nexport default Calendly;\n","import React from 'react';\n\nimport './index.sass';\n\nconst ContactsSection = ({ contactInfoEmail, contactInfoPhone, siteKey }) => {\n\n return (\n <div className=\"contacts container\">\n <div className=\"contacts__wrapper\">\n <div className=\"contacts__CEO-block\">\n\n <div className=\"contacts__CEO-block-top\">\n\n <div className=\"contacts__CEO-img-wrapper\">\n <img\n alt=\"Jakob Dalhoff\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/JakobDalhoff.jpg`)}\n />\n </div>\n\n <div className=\"contacts__CEO-headline\">\n\n <div className=\"contacts__CEO-title\">Jakob Dalhoff</div>\n\n <div className=\"contacts__CEO-subtitle\">\n <p>{ I18n.t('signup.teaser.contacts.block.center.jakob_subtitle') }</p>\n <a className=\"contacts__CEO-email\" href={`mailto:${ siteKey === 'dk' ? 'jd@lokalebasen.dk' : 'jd@matchoffice.com' }`}>\n { siteKey === 'dk' ? 'jd@lokalebasen.dk' : 'jd@matchoffice.com' }\n </a>\n </div>\n\n </div>\n </div>\n\n <div className=\"contacts__CEO-body\">\n\n <p>{ I18n.t('signup.teaser.contacts.block.center.text') }</p>\n\n { siteKey === 'dk'\n ?\n <img\n alt=\"Logo\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/logos/lokalebasen_dk.svg`)}\n height={34}\n width={116}\n />\n\n :\n <img\n alt=\"Logo\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/logos/matchoffice_generic.svg`)}\n height={41}\n width={116}\n />\n }\n </div>\n </div>\n\n <div className=\"contacts__info-block\">\n\n <div className=\"contacts__info-title\">\n { I18n.t('signup.teaser.contacts.heading') }\n </div>\n\n <div className=\"contacts__info-links\">\n { contactInfoPhone && (\n <div className=\"contacts__info-phone\">\n <img\n alt=\"Phone\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/Phone_icon.svg`)}\n height={21}\n width={21}\n />\n <a href={`tel://${contactInfoPhone}`}>\n { contactInfoPhone }\n </a>\n </div>\n )}\n <div className=\"contacts__info-email\">\n <img\n alt=\"Phone\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/Mail_icon.svg`)}\n height={17}\n width={21}\n />\n\n <a href={`mailto:${contactInfoEmail}`}>\n { contactInfoEmail }\n </a>\n </div>\n </div>\n\n <div className=\"contacts__working-hours-wrapper\">\n <div className=\"contacts__info-title-hours\">\n { I18n.t('simple_form.labels.parking_lot.opening_hours') + ':' }\n </div>\n\n <p className=\"contacts__working-hours\">\n { I18n.t('views.sessions.new.opening_hours_weekdays') } { siteKey === 'dk' ? '09:00-16:30' : '09:00-17:00' }\n </p>\n </div>\n\n </div>\n </div>\n </div>\n )\n};\n\nexport default React.memo(ContactsSection);\n","import React from 'react';\nimport Slider from 'react-slick';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport TableContent from '../ContractsTop/TableContent';\nimport { tabDataBot } from '../praiceLinks';\n\nimport './index.sass';\n\n\nconst ContractsBottom = ({ advertisementStrategiesPrices,\n contractDetails,\n contractLink,\n signupFormPath,\n siteKey,\n }) => {\n\n const settings = {\n adaptiveHeight: true,\n arrows: true,\n dots: true,\n infinite: true,\n nextArrow: <div className=\"testimonials__next-btn\"><SvgIco name=\"keyboard-arrow-right-rounded-ios\" size={32} /></div>,\n prevArrow: <div className=\"testimonials__prev-btn\"><SvgIco name=\"keyboard-arrow-left-rounded-ios\" size={32} /></div>,\n slidesToShow: 1,\n slidesToScroll: 1,\n };\n\n\n return (\n <div className=\"signup-tabs-wrapper gray-bg-contracts bottom-contracts\" id=\"coworking\">\n <div className=\"container\">\n <div className=\"bottom-tabs-wrapper\">\n <div className=\"meeting-room\">\n\n <div className=\"signup-tabs-heading\">\n <h2>{ I18n.t(\"apps.entry_page.entry_pages.show.lease.meeting_rooms\") }</h2>\n </div>\n\n <div className=\"signup-tabs-subheading\">\n <p>{ I18n.t('signup.teaser.prices.heading_sub') }</p>\n <a href={`${signupFormPath}?contract_id=${contractLink.annualRemoval.id}`}>\n { I18n.t(\"signup.teaser.meeting_rooms_free_treal_link\") }\n </a>\n </div>\n\n <div className=\"tab-content\">\n\n <Slider {...settings}>\n <TableContent\n annual={true}\n id={contractDetails.meetingRoomContracts.annualRemoval.id}\n price={advertisementStrategiesPrices.prices.meetingRoom.default}\n rate={'basic'}\n siteKey={siteKey}\n signupFormPath={signupFormPath}\n tabInfo = {tabDataBot.basic}\n />\n\n <TableContent\n annual={true}\n id={contractDetails.meetingRoomContracts.annualRemovalPremium.id}\n price={advertisementStrategiesPrices.prices.meetingRoomPremium.default}\n rate={'premium premium-bottom'}\n siteKey={siteKey}\n signupFormPath={signupFormPath}\n tabInfo = {tabDataBot.premium}\n />\n </Slider>\n\n <div className=\"tabs__wrapper desktops\">\n <TableContent\n annual={true}\n id={contractDetails.meetingRoomContracts.annualRemoval.id}\n price={advertisementStrategiesPrices.prices.meetingRoom.default}\n rate={'basic'}\n siteKey={siteKey}\n signupFormPath={signupFormPath}\n tabInfo = { tabDataBot.basic }\n />\n\n <TableContent\n annual={true}\n id={contractDetails.meetingRoomContracts.annualRemovalPremium.id}\n price={advertisementStrategiesPrices.prices.meetingRoomPremium.default}\n rate={'premium premium-bottom'}\n siteKey={siteKey}\n signupFormPath={signupFormPath}\n tabInfo = {tabDataBot.premium}\n />\n </div>\n\n <div className=\"signup-tabs-bottom with-two-columns\">\n <p dangerouslySetInnerHTML={{__html: I18n.t('signup.teaser.prices.footer')}} />\n </div>\n </div>\n </div>\n\n { siteKey === \"dk\" &&\n <div className=\"parking\">\n <div className=\"signup-tabs-heading\">\n <h2>{ I18n.t('generic.parking') }</h2>\n </div>\n\n <div className=\"signup-tabs-subheading\">\n <p>{ I18n.t('signup.teaser.tabs.tab.block.parkering_subtitle_list_office_page_whole_phrase')}</p>\n </div>\n\n <div className=\"tab-content\">\n <div className=\"tabs__wrapper\">\n <TableContent\n annual={true}\n contractName=\"parkering\"\n id=\"9\"\n price={advertisementStrategiesPrices.prices.parking.default}\n rate={'parkering'}\n siteKey={siteKey}\n signupFormPath={signupFormPath}\n tabInfo={tabDataBot.parkering}\n />\n </div>\n </div>\n\n <div className=\"signup-tabs-bottom with-two-columns mobiles\">\n <p dangerouslySetInnerHTML={{__html: I18n.t('signup.teaser.prices.footer')}} />\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n );\n};\n\nexport default ContractsBottom;\n","import React from 'react';\n\nimport Phone from '../../../src/images/icons/phone_icon.svg';\nimport Email from '../../../src/images/list_office/Mail_icon.svg';\n\nimport './ContactBlock.sass'\n\n\nconst ContactBlock = ({ siteKey }) => {\n return (\n <div className=\"body-contact\">\n <strong>{ I18n.t('signup.teaser.tabs.tab.block.contact_us.text') }</strong>\n <div className=\"info-wrapper\">\n <ul>\n <li className=\"tel\">\n <img alt=\"Phone\" className=\"lazyload\" data-sizes=\"auto\" data-src={Phone} />\n <a href={`tel://(+45) 39 45 85 57`}>(+45) 39 45 85 57</a>\n </li>\n <li className=\"email\">\n <img alt=\"Email\" data-src={Email} className=\"lazyload\" data-sizes=\"auto\" />\n { siteKey === 'dk' &&\n <a href={`mailto:info@lokalebasen.dk`}>info@lokalebasen.dk</a>\n }\n { siteKey === 'se' &&\n <a href={`mailto:info@matchoffice.se`}>info@matchoffice.se</a>\n }\n\n { siteKey !== 'se' && siteKey !== 'dk' &&\n <a href={`mailto:info@matchoffice.com`}>info@matchoffice.com</a>\n }\n </li>\n </ul>\n </div>\n </div>\n );\n}\n\nexport default ContactBlock;\n","import React from 'react';\nimport Modal from 'react-modal';\nimport ThankYouIcon from '../../../src/images/list_office/thank_you.svg';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport './FormSentModalThankyou.sass'\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.6)',\n top: '0',\n overflow: 'auto',\n zIndex: '9999'\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: 0,\n pointerEvents: 'visible',\n background: 'white',\n borderRadius: '4px',\n position: 'absolute',\n },\n};\n\nconst FormSentModalThankyou = ({ handleClose, openThankModal }) => {\n return (\n <div>\n <Modal\n ariaHideApp={false}\n className=\"thank-you-modal\"\n closeTimeoutMS={500}\n contentLabel=\"thank-you-modal\"\n isOpen={openThankModal}\n onRequestClose={handleClose}\n style={customStyles}\n >\n\n <div className=\"formsent\">\n <div className='modal-close' onClick={handleClose}>\n <SvgIco name=\"close\" size={24} />\n </div>\n\n <div className=\"content-wrapper\">\n <div className=\"main-header\">\n <div className=\"main-title\">\n { I18n.t(\"signup.teaser.modal.thank_you.thanks\") }\n </div>\n\n <p>{ I18n.t(\"signup.teaser.modal.thank_you.we_will_return\") }</p>\n\n <button onClick={handleClose} className=\"thank-close-button\">\n { I18n.t('generic.close') }\n </button>\n </div>\n\n <div className=\"icon-wrapper\">\n <img\n alt=\"thanks icon\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={ThankYouIcon}\n />\n </div>\n </div>\n </div>\n </Modal>\n </div>\n );\n};\n\nexport default FormSentModalThankyou;\n","import React from 'react';\nimport classNames from 'classnames';\nimport Yup from 'yup';\nimport { withFormik } from 'formik';\nimport Modal from 'react-modal';\n\nimport Client from '../../../utils/Client';\nimport alertErrorIcon from '../../../src/images/icons/alert.svg';\nimport { validationPatterns } from '../../../utils/validationPatterns';\nimport { SvgIco } from '../../SharedComponents/Icons';\n\nimport './GetContactForm.sass';\n\n\nconst customStylesMobile = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: '9990',\n padding: '0'\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: '0px',\n pointerEvents: 'visible',\n height: '100%',\n border: 'none',\n borderRadius: '0px'\n },\n};\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.5)',\n overflow: 'auto',\n zIndex: '9990'\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: 0,\n pointerEvents: 'visible',\n background: 'white',\n borderRadius: '4px',\n position: 'absolute',\n },\n};\n\n\nconst GetContactFormWrapper = ({ errors,\n handleBlur,\n handleChange,\n handleClose,\n handleSubmit,\n openContactModal,\n privacyPolicyPath,\n setFieldValue,\n showServerErrorMessage,\n submitSuccess,\n values,\n touched,\n }) => {\n\n const mobileOrTablet = window.innerWidth <= 1024;\n\n const inputClassBuilder = (fieldName) =>\n classNames({\n 'error': touched[fieldName] && errors[fieldName],\n 'filled': values[fieldName],\n });\n\n return (\n <Modal\n isOpen={openContactModal}\n style={mobileOrTablet ? customStylesMobile : customStyles}\n ariaHideApp={false}\n onRequestClose={handleClose}\n closeTimeoutMS={500}\n >\n <div className=\"get-contact\" id=\"get-contact-form\">\n { mobileOrTablet\n ?\n <div className=\"get-contact__title-section\">\n <div className='modal-close' onClick={handleClose}>\n <SvgIco name=\"arrow-back\" size={24}/>\n </div>\n\n <div className=\"get-contact__title\">\n <p>{ I18n.t('signup.teaser.tabs.tab.block.contact_us.link') }</p>\n </div>\n <div className='modal-close' onClick={handleClose}>\n <SvgIco name=\"close\" size={24}/>\n </div>\n </div>\n :\n <div className=\"get-contact__header\">\n <div>\n <div className={`server-error-message ${!showServerErrorMessage ? 'not-showing' : ''}`}>\n <img\n alt=\"alertErrorIcon\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={alertErrorIcon}\n />\n <p>\n { I18n.t('generic.server-error-listview-page') } <a href={window.location.href}>{ I18n.t('general.refresh-page') }</a>\n </p>\n </div>\n </div>\n <h2>{ I18n.t('signup.teaser.modal.form.get_in_touch') }</h2>\n </div>\n }\n\n <SvgIco\n className=\"get-contact__close\"\n name=\"close\"\n onClick={handleClose}\n size={22}\n />\n\n <div className=\"get-contact__body\">\n { mobileOrTablet &&\n <>\n <div>\n <div className={`server-error-message ${!showServerErrorMessage ? 'not-showing' : ''}`}>\n <img\n alt=\"alertErrorIcon\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={alertErrorIcon}\n />\n <p>\n { I18n.t('generic.server-error-listview-page')} <a href={window.location.href}>{ I18n.t('general.refresh-page') }</a>\n </p>\n </div>\n </div>\n <h2 className=\"get-contact__mobile-header\">\n { I18n.t('signup.teaser.modal.form.get_in_touch') }\n </h2>\n </>\n }\n\n <p className=\"get-contact__description\">\n { I18n.t('signup.teaser.modal.form.send_us') }\n </p>\n\n <form\n name=\"getContactModalForm\"\n className=\"get-contact__form\"\n onSubmit={handleSubmit}\n noValidate>\n\n <input\n className=\"invisible\"\n id=\"fifth_element\"\n name=\"fifth_element\"\n onPaste={handleChange}\n onChange={handleChange}\n type=\"text\"\n value={values.fifth_element}\n />\n\n <div>\n <div className=\"form-group\">\n <input\n className={inputClassBuilder('name')}\n id=\"name\"\n onChange={handleChange}\n onBlur={handleBlur}\n type=\"text\"\n value={values.name}\n />\n\n <span className=\"floating-label\">\n { I18n.t('generic.name') }*\n </span>\n\n <div className=\"error-tooltip\">\n { errors.name }\n </div>\n </div>\n\n <div className=\"form-group\">\n <input\n className={inputClassBuilder('email')}\n id=\"email\"\n onChange={handleChange}\n onBlur={handleBlur}\n type=\"email\"\n value={values.email}\n />\n\n <span className={`floating-label ${values.email && 'active'}`}>\n { I18n.t('generic.email') }*\n </span>\n\n { touched.email && errors.email && <div className=\"error-tooltip\">{ errors.email }</div> }\n </div>\n\n <div className=\"form-group\">\n <input\n className={inputClassBuilder('phone')}\n id=\"phone\"\n name=\"phone\"\n onBlur={handleBlur}\n onChange={(e) => { setFieldValue('phone', e.target.value.trimStart().replace(/\\s\\s+/g, ' ')) }}\n type=\"tel\"\n value={values.phone}\n />\n\n <span className={`floating-label ${values.phone && 'active'}`}>\n { I18n.t('generic.phone') }*\n </span>\n\n { touched.phone && errors.phone && <div className=\"error-tooltip\">{ errors.phone }</div> }\n </div>\n </div>\n\n <div>\n <div className=\"form-group\">\n <input\n className={inputClassBuilder('address')}\n id=\"address\"\n onBlur={handleBlur}\n onChange={handleChange}\n type=\"text\"\n value={values.address}\n />\n\n <span className=\"floating-label\">\n { I18n.t('signup.teaser.modal.form.placeholder_address') }\n </span>\n </div>\n\n <div className=\"form-group\">\n <textarea\n className={values.comment ? 'filled' : ''}\n id=\"comment\"\n onBlur={handleBlur}\n onChange={handleChange}\n resize=\"none\"\n type=\"text\"\n value={values.comment}\n />\n\n <span className=\"floating-label\">\n { I18n.t('signup.teaser.modal.form.other_comments')}\n </span>\n </div>\n\n <div className=\"form-submit-section\">\n <div className=\"order-button\">\n <button\n className={`form-set-info-submit b-button ${ (!submitSuccess) && 'loading'} ${(submitSuccess) && 'sent-info'}`}\n type=\"submit\">\n { submitSuccess\n ? I18n.t('apps.lb_showroom.detailed.order_form.information_was_sent')\n : I18n.t('signup.teaser.modal.form.contact_me')\n }\n </button>\n </div>\n\n <p>{ I18n.t('apps.lb_showroom.detailed.order_form.modal.policy_link_preline') } \n <a href={privacyPolicyPath} className=\"private-policy-link\">\n { I18n.t('apps.lb_showroom.detailed.order_form.modal.privacy_policy') }\n </a>\n </p>\n\n </div>\n </div>\n </form>\n </div>\n </div>\n </Modal>\n );\n}\n\nconst { fifth_element, name, phone, email } = Client.getClientInfo();\nconst { nameI18n, emailI18n, phoneI18n } = Client.getI18nAttrNames();\nconst i18nRequiredKey = 'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nMinNumberKey = 'apps.lb_showroom.detailed.order_form.validation.min_number';\nconst i18nSymbolsLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 254 });\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 100 });\nconst i18nAtLeast8Digits = 'apps.lb_showroom.detailed.order_form.validation.at_least_8_digits';\n\nconst GetContactModalForm = withFormik({\n mapPropsToValues: () => ({ name, email, phone, fifth_element, }),\n validationSchema: Yup.object().shape({\n name: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.name, I18n.t(\"apps.lb_showroom.misc.scoped_form.name.invalid\"))\n .required(I18n.t(i18nRequiredKey, { field: nameI18n })),\n email: Yup.string()\n .matches(validationPatterns.symbolsEmailLimit, i18nSymbolsEmailLimitErrorMessage)\n .email(I18n.t('apps.lb_showroom.detailed.order_form.validation.wrong_email'))\n .required(I18n.t(i18nRequiredKey, { field: emailI18n })),\n phone: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .min(8, I18n.t(i18nMinNumberKey, { field: phoneI18n }))\n .matches(validationPatterns.phone, I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid'))\n .test('minDigitsValidation', I18n.t(i18nAtLeast8Digits), function(value) {\n const { path, createError } = this;\n const phoneIsValid = value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n return phoneIsValid || !value || createError({ path, message: I18n.t(i18nAtLeast8Digits) });\n })\n .required(I18n.t(i18nRequiredKey, { field: phoneI18n })),\n address: Yup.string(),\n comment: Yup.string()\n }),\n\n handleSubmit: (values, bag) => {\n bag.props.submitHandler(values);\n },\n\n displayName: 'GetContact',\n})(GetContactFormWrapper);\n\nexport default GetContactModalForm;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Collapse } from 'react-bootstrap';\n\nimport { apiProvider } from '../../../api/core';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport GetContactModalForm from './GetContactModalForm';\nimport FormSentModalThankyou from './FormSentModalThankyou';\nimport ContactBlock from \"./ContactBlock\";\n\nimport './TableContent.sass';\n\nclass TableContent extends Component {\n\n state = {\n openCollapseMenu: false,\n openContactModal: false,\n openThankModal: false,\n formSent: false,\n showServerErrorMessage: false,\n };\n\n\n openEnterpriceModal = () => {\n this.setState({openContactModal: true, openThankModal: false, formSent: false})\n };\n\n closeModalForm = () => {\n this.setState({openContactModal: false, openThankModal: false, showServerErrorMessage: false})\n };\n\n openCollapseMenu = () => {\n this.setState({openCollapseMenu: !this.state.openCollapseMenu});\n this.props.updateSliderHeight()\n };\n\n infoHandlerSubmit = (params) => {\n const bodyFormData = new FormData();\n delete params.fifth_element;\n\n for (let key in params) {\n bodyFormData.append(key, params[key]);\n }\n\n // we need to add back end for it (now it is just mock up request)\n apiProvider.post(this.props.contactUsFormPath, bodyFormData, true)\n .then(response =>\n response.error\n ? this.setState({ showServerErrorMessage: true })\n : this.setState({\n formSent: true,\n openThankModal: true,\n openContactModal: false,\n showServerErrorMessage: false,\n })\n );\n };\n\n textTopGreenLine = (rate) => {\n switch (rate) {\n case 'plus':\n return <p>{ I18n.t('signup.teaser.tabs.tab.plus-rate-green-wrapper') }</p>;\n case 'premium premium-bottom':\n return <p>{ I18n.t('signup.teaser.tabs.tab.plus-rate-green-wrapper') }</p>;\n case 'premium':\n return <p>{ I18n.t('signup.teaser.tabs.tab.premium-rate-green-wrapper') }</p>;\n case 'premium-plus':\n return <p>{ I18n.t('signup.teaser.advice.headline') }</p>;\n }\n };\n\n render() {\n const {\n activeTab,\n annual,\n contactUsFormPath,\n contractName,\n danishInfoFullPriceList,\n dropDownPrices,\n id,\n payPerShow,\n price,\n priceSection,\n privacyPolicyPath,\n rate,\n signupFormPath,\n siteKey,\n tabInfo,\n } = this.props;\n\n const checkRate = (rate === 'plus' || rate === 'premium');\n const greenTopLine = rate !== 'basic' && rate !== 'enterprise';\n const enterprise = rate === 'enterprise';\n const { headerImage, headerText, headerTextLease, linksLease, linksLeaseDk, linksPayPerShow } = tabInfo;\n const selectLinks = activeTab ? linksPayPerShow : siteKey === 'dk' && linksLeaseDk || linksLease;\n const headertext = activeTab ? headerText : siteKey === 'dk' && headerTextLease || headerText;\n\n if (siteKey !== 'dk' && checkRate) {\n linksLease.shift();\n linksPayPerShow.shift();\n };\n\n\n return (\n <div className={`tab__block ${rate}`}>\n { greenTopLine && this.textTopGreenLine(rate) &&\n <div className=\"green-block-wrapper\">\n { this.textTopGreenLine(rate) }\n </div>\n }\n\n { enterprise &&\n <div className=\"get-contact-form\">\n <GetContactModalForm\n openContactModal={this.state.openContactModal}\n handleClose={this.closeModalForm}\n submitHandler={this.infoHandlerSubmit}\n orderUrl={signupFormPath}\n showServerErrorMessage={this.state.showServerErrorMessage}\n contactUsFormPath={contactUsFormPath}\n privacyPolicyPath={privacyPolicyPath}\n formSent={this.state.formSent}\n />\n </div>\n }\n\n <div className=\"tab__block__head\">\n <div className=\"heading-text\">\n { headertext.subhead &&\n <span>\n { I18n.t(headertext.subhead) }\n </span>\n }\n\n { !dropDownPrices && headertext.head &&\n <span className=\"subhead\">\n { I18n.t(headertext.head) }\n </span>\n }\n </div>\n\n <div className=\"subheading-text\">\n { payPerShow\n ? I18n.t(headertext.subhead_text_dk_annouce)\n : I18n.t(headertext.subhead_text)\n }\n </div>\n\n </div>\n\n <div className=\"tab__block__body\">\n { headerImage && siteKey === 'dk' &&\n <img\n alt=\"basic-plan\"\n className=\"plan-image lazyload\"\n data-sizes=\"auto\"\n data-src={headerImage}\n />\n }\n\n { enterprise\n ?\n <ContactBlock siteKey={siteKey} />\n :\n <div className=\"body-price\">\n { annual &&\n <>\n <strong>\n { price || 0 }\n </strong>\n <span>\n <span className=\"price-description-text\">\n { I18n.t('signup.teaser.prices.per_item') }\n </span>\n </span>\n </>\n }\n\n { !annual &&\n <>\n <strong>\n <span>\n { danishInfoFullPriceList && danishInfoFullPriceList.length\n ? `${ I18n.t('generic.from') } ${danishInfoFullPriceList[1].price}`\n : priceSection.heading\n }\n </span>\n </strong>\n\n <span className=\"price-description-text\">\n { siteKey === 'dk' && activeTab\n ? I18n.t('signup.teaser.prices.per_item')\n : I18n.t('signup.teaser.tabs.tab.block.per_rent')\n }\n </span>\n\n { priceSection.onDealBasicPrice &&\n <>\n <strong>\n <span>{priceSection.onDealBasicPrice}</span>\n </strong>\n <span>\n <span className=\"price-description-text\">\n { I18n.t('signup.teaser.prices.per_item') }\n </span>\n </span>\n </>\n }\n </>\n }\n\n { dropDownPrices && siteKey === 'dk' &&\n <div className=\"body__collapse\">\n <div aria-controls=\"collapse-block\"\n aria-expanded={this.state.openCollapseMenu}\n onClick={this.openCollapseMenu} className=\"collapse__heading\">\n\n { this.state.openCollapseMenu\n ? <span>{ I18n.t('signup.teaser.tabs.tab.block.collapse.heading_closed') }</span>\n : <span>{ I18n.t(\"signup.teaser.tabs.tab.block.collapse.heading\") }</span>\n }\n\n { this.state.openCollapseMenu\n ? <SvgIco name=\"expand-less\" size={18} />\n : <SvgIco name=\"expand-more\" size={18} />\n }\n </div>\n\n <Collapse in={this.state.openCollapseMenu}>\n <div className=\"collapse-block\">\n\n { danishInfoFullPriceList.map((elem, index) =>\n <div className=\"collapse-block__item\" key={index}>\n <div className=\"meters-info\">\n { elem.area } <sup>2</sup>\n </div>\n <div className=\"price-info\">\n { elem.price }\n </div>\n </div>\n )}\n </div>\n </Collapse>\n </div>\n }\n </div>\n }\n\n <div className=\"body-footer\">\n { enterprise\n ? <div onClick={this.openEnterpriceModal} className=\"signup-cta-button main-button\">\n { I18n.t('signup.teaser.tabs.tab.block.contact_us.link') }\n </div>\n : <a href={`${signupFormPath}?contract_id=${id ? id : priceSection.id}${contractName ? '&contract_name=parking' : ''}`}\n className=\"signup-cta-button main-button\">\n { I18n.t('signup.teaser.tabs.tab.block.link') }\n </a>\n }\n </div>\n\n <div className=\"body-list\">\n <ul>\n { selectLinks.map((elem, index) =>\n <li key={index}>\n { typeof elem === \"object\"\n ?\n <div className=\"body-list__item-content\">\n <SvgIco name={elem.icon} size={32} />\n <span dangerouslySetInnerHTML={{__html: I18n.t(elem.text)}} />\n </div>\n : <span dangerouslySetInnerHTML={{__html: I18n.t(elem)}} />\n }\n </li>\n )}\n </ul>\n </div>\n </div>\n\n { this.state.formSent && (\n <div>\n <FormSentModalThankyou\n openThankModal={this.state.openThankModal}\n handleClose={this.closeModalForm}\n />\n </div>\n )}\n </div>\n );\n }\n}\n\nTableContent.defaultProps = {\n danishInfoFullPriceList: [],\n};\n\nTableContent.propTypes = {\n danishInfoFullPriceList: PropTypes.array,\n};\n\nexport default TableContent;\n","import React, { Component, Fragment } from 'react';\nimport Slider from 'react-slick';\nimport { isMobileOnly } from 'react-device-detect';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport TableContent from './TableContent';\nimport { tabDataBot, danishInfoFullPriceList, tabData } from '../praiceLinks'\nimport \"./index.sass\";\n\n\nclass ContractsTop extends Component {\n\n state = {\n activeTab: true,\n changeState: false,\n isDesktop: window.innerWidth > 960,\n };\n\n changeActiveTab = () =>\n this.setState({ activeTab: !this.state.activeTab });\n\n updateSliderHeight = () => {\n if (this.slider) {\n setTimeout(() => {\n this.slider.forceUpdate()\n }, isMobileOnly ? 0 : 350)\n }\n };\n\n fillPrices = (prices, strategy) => {\n if (this.props.siteKey === 'dk') {\n let priceTemplate = JSON.parse(JSON.stringify(danishInfoFullPriceList));\n let strategy_prices = prices['prices'][strategy];\n\n priceTemplate.forEach((obj) => {\n obj.price = strategy_prices[obj.key];\n });\n\n return priceTemplate;\n } else {\n return null;\n }\n };\n\n\n render() {\n\n const {\n advertisementStrategiesPrices,\n contactUsFormPath,\n contractDetails,\n contractDetailsBot,\n contractLink,\n formAuthToken,\n privacyPolicyPath,\n signupFormPath,\n siteKey,\n } = this.props;\n\n const { activeTab, isDesktop } = this.state;\n const priceDetails = contractDetails.payPerAdvertisementContracts;\n const premiumPlusId = contractDetails.payPerAdvertisementContracts ? contractDetails.payPerAdvertisementContracts.premiumPlus.id : '';\n const priceDetailsPremiumPlus = { heading: 'Fra 5250', id: premiumPlusId };\n const isDk = siteKey === 'dk';\n\n const settings = {\n adaptiveHeight: true,\n arrows: true,\n dots: true,\n infinite: true,\n nextArrow: <div className=\"testimonials__next-btn\"><SvgIco name=\"keyboard-arrow-right-rounded-ios\" size={32} /></div>,\n prevArrow: <div className=\"testimonials__prev-btn\"><SvgIco name=\"keyboard-arrow-left-rounded-ios\" size={32} /></div>,\n slidesToShow: 1,\n slidesToScroll: 1,\n };\n\n const basicPayPerShowTable =\n <TableContent\n activeTab={activeTab}\n danishInfoFullPriceList={this.fillPrices(advertisementStrategiesPrices, 'basic')}\n dropDownPrices={true}\n payPerShow={true}\n priceSection={priceDetails ? priceDetails.basic : ''}\n rate={'basic'}\n siteKey={siteKey}\n signupFormPath={signupFormPath}\n tabInfo={tabData.basicNoCure}\n updateSliderHeight={this.updateSliderHeight}\n />;\n\n const basicPlusPayPerShowTable =\n <TableContent\n activeTab={activeTab}\n danishInfoFullPriceList={this.fillPrices(advertisementStrategiesPrices, 'basicPlus')}\n dropDownPrices={true}\n payPerShow={true}\n priceSection={priceDetails ? priceDetails.basicPlus : ''}\n rate={'plus'}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n tabInfo={tabData.basicNoCurePlus}\n updateSliderHeight={this.updateSliderHeight}\n />;\n\n const premiumPayPerShowTable =\n <TableContent\n activeTab={activeTab}\n danishInfoFullPriceList={this.fillPrices(advertisementStrategiesPrices, 'premium')}\n dropDownPrices={true}\n payPerShow={true}\n priceSection={priceDetails ? priceDetails.premium : ''}\n rate={'premium'}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n tabInfo={tabData.noCurePremium}\n updateSliderHeight={this.updateSliderHeight}\n />;\n\n const enterprisePayPerShowTable =\n <TableContent\n activeTab={activeTab}\n contactUsFormPath={contactUsFormPath}\n danishInfoFullPriceList={this.fillPrices(advertisementStrategiesPrices, 'premiumPlus')}\n dropDownPrices={true}\n formAuthToken={formAuthToken}\n payPerShow={true}\n priceSection={priceDetails ? priceDetailsPremiumPlus : ''}\n privacyPolicyPath={privacyPolicyPath}\n rate={'premium-plus'}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n tabInfo={tabData.premiumPlus}\n updateSliderHeight={this.updateSliderHeight}\n />;\n\n const basicLeaseTable =\n <TableContent\n priceSection={contractDetails.noCureNoPayContracts.noCureBasic}\n rate={'basic'}\n siteKey={siteKey}\n signupFormPath={signupFormPath}\n tabInfo={tabData.basicNoCure}\n />;\n\n const enterpriceLeaseTable =\n <TableContent\n contactUsFormPath={contactUsFormPath}\n formAuthToken={formAuthToken}\n privacyPolicyPath={privacyPolicyPath}\n rate={'enterprise'}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n tabInfo={tabData.noCureEnterprice}\n />;\n\n\n return (\n <div id=\"tabs\" className=\"signup-tabs-wrapper contracts-top\">\n\n { !isDk && isDesktop && <div id=\"coworking\" className=\"desktop-target\" /> }\n\n <div className=\"container\">\n { !isDk && isDesktop\n ?\n <div className=\"global-title-wrapper\">\n <div className=\"business-center-title\">\n <div className=\"signup-tabs-heading\">\n <h2>{ I18n.t(\"signup.new_form.plans.block1.title_new\") }</h2>\n </div>\n\n <div className=\"signup-tabs-subheading\">\n <a href={`${signupFormPath}?contract_id=${contractDetails.noCureNoPayContracts.noCureBasic.id}`}>\n { I18n.t('signup.teaser.tabs.tab.click-premise') }\n </a>\n </div>\n </div>\n\n <div className=\"meeting-rooms-title\">\n <div className=\"signup-tabs-heading\">\n <h2>{ I18n.t(\"apps.entry_page.entry_pages.show.lease.meeting_rooms\") }</h2>\n </div>\n\n <div className=\"signup-tabs-subheading\">\n <a href={`${signupFormPath}?contract_id=${contractLink.annualRemoval.id}`}>\n { I18n.t(\"signup.teaser.meeting_rooms_free_treal_link\") }\n </a>\n </div>\n </div>\n </div>\n :\n <>\n <div className=\"signup-tabs-heading\">\n <h2>{ I18n.t(\"signup.new_form.plans.block1.title_new\") }</h2>\n </div>\n\n { isDk\n ?\n <div className=\"signup-tabs-subheading\">\n <p>{ I18n.t('signup.teaser.tabs.heading_sub') }</p>\n </div>\n :\n <div className=\"signup-tabs-subheading text-center\">\n <a href={`${signupFormPath}?contract_id=${contractDetails.noCureNoPayContracts.noCureBasic.id}`}>\n { I18n.t('signup.teaser.tabs.tab.click-premise') }\n </a>\n </div>\n }\n </>\n }\n\n <div className=\"signup-tabs-tabs\">\n\n { isDk &&\n <div className=\"tabs-wrapper\">\n <div onClick={this.changeActiveTab} className={`${this.state.activeTab ? 'active': ''} tab tab-left`}>\n <span>{ I18n.t('signup.teaser.tabs.tab.left') }</span>\n </div>\n\n <div onClick={this.changeActiveTab} className={`${!this.state.activeTab ? 'active': ''} tab tab-right`}>\n <span>{ I18n.t('signup.teaser.tabs.tab.right') }</span>\n </div>\n </div>\n }\n\n\n <div className=\"tab-content\">\n { isDk && activeTab\n ?\n <div id=\"pay_per_showing\">\n <Slider ref={ref => { this.slider = ref }} {...settings}>\n { basicPayPerShowTable }\n { basicPlusPayPerShowTable }\n { premiumPayPerShowTable }\n { enterprisePayPerShowTable }\n </Slider>\n <div className=\"tabs__wrapper\">\n { basicPayPerShowTable }\n { basicPlusPayPerShowTable }\n { premiumPayPerShowTable }\n { enterprisePayPerShowTable }\n </div>\n </div>\n :\n <div id=\"lease\">\n { isDk &&\n <Fragment>\n <Slider ref={ref => { this.slider = ref }} {...settings}>\n { basicLeaseTable }\n { enterpriceLeaseTable }\n </Slider>\n <div className=\"tabs__wrapper two-columns-center\">\n { basicLeaseTable }\n { enterpriceLeaseTable }\n </div>\n </Fragment>\n }\n\n { !isDk &&\n <div className=\"tab__wrapper\">\n <div className=\"global-business-center-wrapper\">\n { basicLeaseTable }\n </div>\n\n { !isDk && isDesktop &&\n <div className=\"meeting-rooms-wrapper\">\n\n <Slider ref={ref => { this.slider = ref }} {...settings}>\n <TableContent\n annual={true}\n id={contractDetailsBot.meetingRoomContracts.annualRemoval.id}\n price={(advertisementStrategiesPrices && advertisementStrategiesPrices.prices.meetingRoom.default) || null}\n rate={'basic'}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n tabInfo={tabDataBot.basic}\n />\n <TableContent\n annual={true}\n id={contractDetailsBot.meetingRoomContracts.annualRemovalPremium.id}\n price={(advertisementStrategiesPrices && advertisementStrategiesPrices.prices.meetingRoomPremium.default) || null}\n rate={'premium premium-bottom'}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n tabInfo={tabDataBot.premium}\n />\n </Slider>\n\n <div className=\"tabs__wrapper desktops\">\n <TableContent\n annual={true}\n id={contractDetailsBot.meetingRoomContracts.annualRemoval.id}\n price={(advertisementStrategiesPrices && advertisementStrategiesPrices.prices.meetingRoom.default) || null}\n rate={'basic'}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n tabInfo={tabDataBot.basic}\n />\n <TableContent\n annual={true}\n id={contractDetailsBot.meetingRoomContracts.annualRemovalPremium.id}\n price={(advertisementStrategiesPrices && advertisementStrategiesPrices.prices.meetingRoomPremium.default) || null}\n rate={'premium premium-bottom'}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n tabInfo={tabDataBot.premium}\n />\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n\n { !isDk && isDesktop\n ?\n <div className=\"global-bottom-wrapper\">\n <div className=\"business-enter-bottom\">\n { activeTab && isDk\n ?\n <div className=\"signup-tabs-bottom\">\n <p dangerouslySetInnerHTML={{__html: I18n.t(\"signup.teaser.prices.footer\")}} />\n </div>\n :\n <div className=\"signup-tabs-bottom\">\n <p dangerouslySetInnerHTML={{__html: I18n.t(\"signup.teaser.tabs.footer\")}} />\n </div>\n }\n </div>\n\n <div className=\"meeting-room-bottom\">\n <div className=\"signup-tabs-bottom with-two-columns\">\n <p dangerouslySetInnerHTML={{__html: I18n.t('signup.teaser.prices.footer')}} />\n </div>\n </div>\n </div>\n :\n <>\n { activeTab && isDk\n ?\n <div className=\"signup-tabs-bottom\">\n <p dangerouslySetInnerHTML={{__html: I18n.t(\"signup.teaser.prices.footer\")}} />\n </div>\n :\n <div className=\"signup-tabs-bottom text-center\">\n <p dangerouslySetInnerHTML={{__html: I18n.t(\"signup.teaser.tabs.footer\")}} />\n </div>\n }\n </>\n }\n </div>\n </div>\n </div>\n );\n }\n};\n\nexport default ContractsTop;\n","import React, { Fragment } from 'react';\n\nimport './index.sass';\n\n\nconst PaymentTeasers = ({ siteKey }) => {\n return (\n <div className=\"payment-teasers container\">\n <h2 className=\"payment-teasers__headline\">\n { I18n.t('signup.teaser.intro.heading') }\n </h2>\n\n <p className=\"payment-teasers__content-text\">\n { I18n.t('signup.teaser.intro.text') }\n { siteKey === 'dk' &&\n <Fragment>\n <br/> { I18n.t('signup.teaser.intro.text_2') }\n </Fragment>\n }\n </p>\n\n <div className=\"row\">\n <div className=\"payment-teasers__teaser-block-wrapper col-12 col-md-6\">\n <div className=\"payment-teasers__teaser-block payment-teasers__teaser-block--left\">\n <div className=\"payment-teasers__teaser-content-background\" />\n\n <div className=\"payment-teasers__teaser-headline title--2\">\n { I18n.t('signup.new_form.plans.block1.title_new') }\n </div>\n\n <p className=\"payment-teasers__teaser-content\">\n { I18n.t('signup.teaser.block.left.heading_sub') }\n </p>\n\n <a href=\"#tabs\" className=\"payment-teasers__teaser-button\">\n { I18n.t('signup.teaser.block.button_text') }\n </a>\n </div>\n </div>\n\n <div className=\"col-12 col-md-6\">\n <div className=\"payment-teasers__splash\">\n <div className=\"payment-teasers__splash-wrapper\">\n <p className=\"payment-teasers__splash-content\" dangerouslySetInnerHTML={{ __html: I18n.t('signup.teaser.meeting_rooms_splash_icon') }} />\n </div>\n </div>\n\n <div className=\"payment-teasers__teaser-block payment-teasers__teaser-block--right\">\n <div className=\"payment-teasers__teaser-content-background\" />\n\n <div className=\"payment-teasers__teaser-headline title--2\">\n {siteKey === 'dk'\n ? I18n.t('apps.entry_page.entry_pages.show.lease.meeting_rooms_modelokaler')\n : I18n.t('apps.entry_page.entry_pages.show.lease.meeting_rooms')\n }\n </div>\n\n <p className=\"payment-teasers__teaser-content\">\n { I18n.t('signup.teaser.block.right.heading_sub_new') }\n </p>\n\n <a href=\"#coworking\" className=\"payment-teasers__teaser-button\">\n { I18n.t('signup.teaser.block.button_text') }\n </a>\n </div>\n </div>\n </div>\n </div>\n )\n};\n\nexport default React.memo(PaymentTeasers);\n","import React from 'react';\n\nimport './index.sass';\n\n\nconst ProvidersSection = ({ siteKey }) => {\n\n return (\n <div className=\"providers container\">\n <h2 className=\"providers__headline\">\n { I18n.t('signup.teaser.section.headline') }\n </h2>\n\n <img\n alt=\"Providers\"\n className=\"providers__image lazyload\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/${siteKey}_logos_all`)}\n />\n\n <img\n alt=\"Providers\"\n className=\"providers__image providers__image--desktop lazyload\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/${siteKey}_logos`)}\n />\n </div>\n )\n};\n\nexport default React.memo(ProvidersSection);\n","import React, { Fragment, Component } from 'react';\nimport classNames from 'classnames';\nimport Yup from 'yup';\nimport { withFormik } from 'formik';\nimport Modal from 'react-modal';\n\nimport Client from '../../../../utils/Client';\nimport alertErrorIcon from '../../../../src/images/icons/alert.svg';\nimport { validationPatterns } from '../../../../utils/validationPatterns';\nimport { SvgIco } from '../../../SharedComponents/Icons';\n\nimport './Contactform.sass';\n\n\nconst customStylesMobile = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: '9990',\n padding: '0'\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: '0px',\n pointerEvents: 'visible',\n height: '100%',\n border: 'none',\n borderRadius: '0px'\n },\n};\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.5)',\n overflow: 'auto',\n zIndex: '9990'\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: 0,\n pointerEvents: 'visible',\n background: 'white',\n borderRadius: '4px',\n position: 'absolute',\n },\n};\n\n\nconst ContactFormWrapper = ({ errors,\n handleBlur,\n handleChange,\n handleClose,\n handleSubmit,\n isAdviceForm,\n openContactModal,\n privacyPolicyPath,\n setFieldValue,\n showServerErrorMessage,\n submitSuccess,\n touched,\n values,\n }) => {\n\n const inputClassBuilder = (fieldName) =>\n classNames({\n 'error': touched[fieldName] && errors[fieldName],\n 'filled': values[fieldName],\n });\n\n const mobileOrTablet = window.innerWidth <= 1024;\n\n\n return (\n <Modal\n ariaHideApp={false}\n closeTimeoutMS={500}\n isOpen={openContactModal}\n onRequestClose={handleClose}\n style={ mobileOrTablet ? customStylesMobile : customStyles}\n >\n <div className=\"get-contact\" id=\"get-contact-form\">\n { mobileOrTablet\n ?\n <div className=\"get-contact__title-section\">\n <div className='modal-close' onClick={handleClose}>\n <SvgIco name=\"arrow-back\" size={24}/>\n </div>\n\n <div className=\"get-contact__title\">\n <p>{ I18n.t('signup.teaser.tabs.tab.block.contact_us.link') }</p>\n </div>\n\n <div className='modal-close' onClick={handleClose}>\n <SvgIco name=\"close\" size={24}/>\n </div>\n </div>\n :\n <div className=\"get-contact__header\">\n <div>\n <div className={`server-error-message ${!showServerErrorMessage ? 'not-showing' : ''}`}>\n <img\n alt=\"alertErrorIcon\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={alertErrorIcon}\n />\n <p>{ I18n.t('generic.server-error-listview-page')} \n <a href={window.location.href}>{ I18n.t('general.refresh-page') }</a>\n </p>\n </div>\n </div>\n <h2>\n { isAdviceForm ? I18n.t('signup.teaser.advice.modal_headline') : I18n.t('signup.teaser.agent.modal_headline') }\n </h2>\n </div>\n }\n\n <SvgIco\n className=\"get-contact__close\"\n name=\"close\"\n onClick={handleClose}\n size={22}\n />\n\n <div className=\"get-contact__body\">\n { mobileOrTablet &&\n <>\n <div>\n <div className={`server-error-message ${!showServerErrorMessage ? 'not-showing' : ''}`}>\n <img\n alt=\"alertErrorIcon\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={alertErrorIcon}\n />\n <p>\n { I18n.t('generic.server-error-listview-page')} <a href={window.location.href}>{ I18n.t('general.refresh-page') }</a>\n </p>\n </div>\n </div>\n <h2 className=\"get-contact__mobile-header\">\n { isAdviceForm ? I18n.t('signup.teaser.advice.modal_headline') : I18n.t('signup.teaser.agent.modal_headline') }\n </h2>\n </>\n }\n\n <p className=\"get-contact__description\">\n { isAdviceForm ? I18n.t('signup.teaser.advice.modal_text') : I18n.t('signup.teaser.agent.modal_text')}\n </p>\n\n <form\n className=\"get-contact__form\"\n name=\"getContactModalForm\"\n noValidate\n onSubmit={handleSubmit}>\n\n <input\n className=\"invisible\"\n id=\"fifth_element\"\n name=\"fifth_element\"\n onChange={handleChange}\n onPaste={handleChange}\n type=\"text\"\n value={values.fifth_element}\n />\n\n <div>\n <div className=\"form-group\">\n <input\n className={inputClassBuilder('company')}\n id=\"company\"\n onChange={(e) => { setFieldValue('company', e.target.value.trimStart().replace(/\\s\\s+/g, ' ')) }}\n onBlur={handleBlur}\n type=\"text\"\n value={values.company}\n />\n <span className=\"floating-label\">\n { I18n.t('generic.company_name') }*\n </span>\n { touched.company && errors.company && <div className=\"error-tooltip\">{ errors.company }</div> }\n </div>\n\n <div className=\"form-group\">\n <input\n className={inputClassBuilder('email')}\n id=\"email\"\n onBlur={handleBlur}\n onChange={handleChange}\n type=\"email\"\n value={values.email}\n />\n <span className={`floating-label ${values.email && 'active'}`}>\n { I18n.t('generic.email') }*\n </span>\n { touched.email && errors.email && <div className=\"error-tooltip\">{ errors.email }</div> }\n </div>\n\n <div className=\"form-group\">\n <input\n className={inputClassBuilder('phone')}\n id=\"phone\"\n name=\"phone\"\n type=\"tel\"\n onBlur={handleBlur}\n onChange={(e) => { setFieldValue('phone', e.target.value.trimStart().replace(/\\s\\s+/g, ' ')) }}\n value={values.phone}\n />\n <span className={`floating-label ${values.phone && 'active'}`}>\n { I18n.t('generic.phone') }*\n </span>\n { touched.phone && errors.phone && <div className=\"error-tooltip\">{ errors.phone }</div> }\n </div>\n </div>\n\n <div>\n <div className=\"form-group\">\n { isAdviceForm\n ?\n <Fragment>\n <input\n className={inputClassBuilder('address')}\n id=\"address\"\n name=\"address\"\n onBlur={handleBlur}\n onChange={handleChange}\n type=\"text\"\n value={values.address}\n />\n <span className={`floating-label ${values.address && 'active'}`}>\n { I18n.t('signup.teaser.advice.modal_address') }*\n </span>\n { touched.address && errors.address && <div className=\"error-tooltip\">{ errors.address }</div> }\n </Fragment>\n :\n <Fragment>\n <input\n className={inputClassBuilder('quantity_of_leases')}\n id=\"quantity_of_leases\"\n name=\"quantity_of_leases\"\n onBlur={handleBlur}\n onChange={(e) => (/^\\d+$/.test(e.target.value) || !e.target.value) && setFieldValue('quantity_of_leases', e.target.value)}\n value={values.quantity_of_leases || ''}\n />\n <span className={`floating-label ${values.quantity_of_leases && 'active'}`}>\n { I18n.t('signup.teaser.agent.modal_leases_quantity') }*\n </span>\n { touched.quantity_of_leases && errors.quantity_of_leases && <div className=\"error-tooltip\">{ errors.quantity_of_leases }</div> }\n </Fragment>\n }\n </div>\n\n <div className=\"form-group\">\n <textarea\n className={values.comment ? 'filled' : ''}\n id=\"comment\"\n resize=\"none\"\n onBlur={handleBlur}\n onChange={handleChange}\n type=\"text\"\n value={values.comment}\n />\n <span className=\"floating-label\">\n { isAdviceForm ? I18n.t('signup.teaser.advice.modal_comment') : I18n.t('signup.teaser.agent.modal_comment') }\n </span>\n </div>\n\n <div className=\"form-submit-section\">\n <div className=\"order-button\">\n <button\n className={`form-set-info-submit b-button ${ (!submitSuccess) && 'loading'} ${(submitSuccess) && 'sent-info'}`}\n type=\"submit\">\n { submitSuccess\n ? I18n.t('apps.lb_showroom.detailed.order_form.information_was_sent')\n : (isAdviceForm ? I18n.t('signup.teaser.advice.button') : I18n.t('signup.teaser.tabs.tab.block.contact_us.text') )\n }\n </button>\n </div>\n\n <p>\n { I18n.t('apps.lb_showroom.detailed.order_form.modal.policy_link_preline') } \n <a href={privacyPolicyPath} className=\"private-policy-link\">\n { I18n.t('apps.lb_showroom.detailed.order_form.modal.privacy_policy') }\n </a>\n </p>\n\n </div>\n </div>\n </form>\n </div>\n </div>\n </Modal>\n );\n}\n\nconst { address, quantity_of_leases, fifth_element, phone, email, company } = Client.getClientInfo();\nconst { emailI18n, phoneI18n, companyI18n } = Client.getI18nAttrNames();\nconst i18nRequiredKey = 'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nMinNumberKey = 'apps.lb_showroom.detailed.order_form.validation.min_number';\nconst i18nSymbolsLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 254 });\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 100 });\nconst i18nInvalidAddressInput = 'apps.lb_showroom.misc.scoped_form.address.invalid';\nconst i18nTooManySimilarSymbols = 'apps.lb_showroom.detailed.order_form.validation.too_many_similar_symbols';\nconst i18nAtLeastOneLetterIsRequired = 'apps.lb_showroom.detailed.order_form.validation.at_least_one_letter';\nconst i18nInvalidCompanyInput = 'apps.lb_showroom.misc.scoped_form.company.invalid';\nconst i18nAtLeast8Digits = 'apps.lb_showroom.detailed.order_form.validation.at_least_8_digits';\n\n\nconst ContactForm = withFormik({\n mapPropsToValues: (bag) => ({ address, quantity_of_leases, email, phone, fifth_element, company, isAdviceForm: bag.isAdviceForm }),\n validationSchema: Yup.object().shape({\n email: Yup.string()\n .matches(validationPatterns.symbolsEmailLimit, i18nSymbolsEmailLimitErrorMessage)\n .email(I18n.t('apps.lb_showroom.detailed.order_form.validation.wrong_email'))\n .required(I18n.t(i18nRequiredKey, { field: emailI18n })),\n phone: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .min(8, I18n.t(i18nMinNumberKey, { field: phoneI18n }))\n .matches(validationPatterns.phone, I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid'))\n .test('minDigitsValidation', I18n.t(i18nAtLeast8Digits), function(value) {\n const { path, createError } = this;\n const phoneIsValid = value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n return phoneIsValid || !value || createError({ path, message: I18n.t(i18nAtLeast8Digits) });\n })\n .required(I18n.t(i18nRequiredKey, { field: phoneI18n })),\n company: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.company, I18n.t(i18nInvalidCompanyInput))\n .matches(validationPatterns.specialCharacktersNotMoreThan, I18n.t(i18nTooManySimilarSymbols))\n .matches(validationPatterns.atLeastOneLetter, I18n.t(i18nAtLeastOneLetterIsRequired))\n .required(I18n.t(i18nRequiredKey, { field: companyI18n })),\n isAdviceForm: Yup.boolean(),\n address: Yup.string()\n .when(\"isAdviceForm\", {\n is: true,\n then: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.company, I18n.t(i18nInvalidAddressInput))\n .matches(validationPatterns.specialCharacktersNotMoreThan, I18n.t(i18nTooManySimilarSymbols))\n .matches(validationPatterns.atLeastOneLetter, I18n.t(i18nAtLeastOneLetterIsRequired))\n .required(I18n.t(i18nRequiredKey, { field: I18n.t('signup.teaser.advice.modal_address') })),\n }),\n quantity_of_leases: Yup.string()\n .when(\"isAdviceForm\", {\n is: false,\n then: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.company, I18n.t(i18nInvalidAddressInput))\n .matches(validationPatterns.specialCharacktersNotMoreThan, I18n.t(i18nTooManySimilarSymbols))\n .matches(validationPatterns.atLeastOneLetter, I18n.t(i18nAtLeastOneLetterIsRequired))\n .required(I18n.t(i18nRequiredKey, { field: I18n.t('signup.teaser.agent.modal_leases_quantity') })),\n }),\n comment: Yup.string()\n }),\n\n handleSubmit: (values, bag) => {\n const currentValues = { ...values };\n const { isAdviceForm } = values;\n\n delete currentValues[isAdviceForm ? 'quantity_of_leases' : 'address'];\n delete currentValues.isAdviceForm;\n\n bag.props.submitHandler(values);\n },\n\n displayName: 'ContactForm',\n})(ContactFormWrapper);\n\nexport default ContactForm;\n","import React, { Component } from 'react';\n\nimport TeaserImgLeft from '../../../src/images/list_office/teaser-img-left.svg';\nimport TeaserImgRight from '../../../src/images/list_office/teasr-img-right.svg';\nimport TeaserImgCenter from '../../../src/images/list_office/teaser-img-center.svg';\nimport GetOfferIcon from '../../../src/images/list_office/get-offer-icon.svg';\nimport SeePricesIcon from '../../../src/images/list_office/see-prices-icon.svg';\nimport ContactUsIcon from '../../../src/images/list_office/contact-us-icon.svg';\nimport LogoDk from '../../../src/images/list_office/logo-dk-new.svg';\nimport RealEstateProvidersLogos from '../../../src/images/list_office/real-estate-providers-logos.svg';\nimport { apiProvider } from \"../../../api/core\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport FormSentModalThankyou from \"../ContractsTop/FormSentModalThankyou\";\nimport ContactForm from \"./ContactForm\";\n\nimport './index.sass';\n\n\nclass TeaserBlocks extends Component {\n\n state = {\n adviceFormIsOpen: false,\n realEstateAgentFormIsOpen: false,\n showServerErrorMessage: false,\n thankYouModalIsOpen: false,\n };\n\n openModalForm = (modalFormIsOpen) => {\n this.setState({\n [modalFormIsOpen]: true,\n thankYouModalIsOpen: false,\n });\n };\n\n closeModalForm = () => {\n this.setState({\n adviceFormIsOpen: false,\n realEstateAgentFormIsOpen: false,\n thankYouModalIsOpen: false,\n showServerErrorMessage: false,\n });\n };\n\n infoHandlerSubmit = (params) => {\n\n const { adviceFormIsOpen } = this.state;\n const { getHelpFormPath, findAgentFormPath } = this.props;\n\n const bodyFormData = new FormData();\n delete params.fifth_element;\n\n for (let key in params) {\n bodyFormData.append(key, params[key]);\n }\n\n apiProvider.post(adviceFormIsOpen ? getHelpFormPath : findAgentFormPath, bodyFormData, true)\n .then(response =>\n response.error\n ? this.setState({ showServerErrorMessage: true })\n : this.setState({\n thankYouModalIsOpen: true,\n adviceFormIsOpen: false,\n realEstateAgentFormIsOpen: false,\n showServerErrorMessage: false,\n })\n );\n };\n\n\n render() {\n\n const { privacyPolicyPath } = this.props;\n const { adviceFormIsOpen, realEstateAgentFormIsOpen, showServerErrorMessage, thankYouModalIsOpen } = this.state;\n\n\n return (\n <div className=\"top-info container\">\n\n <FormSentModalThankyou\n handleClose={this.closeModalForm}\n openThankModal={thankYouModalIsOpen}\n />\n\n { (adviceFormIsOpen || realEstateAgentFormIsOpen) &&\n <div className=\"get-contact-form\">\n <ContactForm\n isAdviceForm={adviceFormIsOpen}\n handleClose={this.closeModalForm}\n openContactModal={adviceFormIsOpen || realEstateAgentFormIsOpen}\n privacyPolicyPath={privacyPolicyPath}\n submitHandler={this.infoHandlerSubmit}\n showServerErrorMessage={showServerErrorMessage}\n />\n </div>\n }\n\n <div className=\"row\">\n <div className=\"top-info__block-wrapper col-12 col-md-4\">\n <div className=\"top-info__block\">\n\n <div>\n <div\n className=\"top-info__img-block lazyload\"\n data-bg={TeaserImgLeft}\n data-sizes=\"auto\"\n />\n\n <div className=\"top-info__block-headline\">\n { I18n.t('signup.teaser.tenant.headline') }\n </div>\n\n <div className=\"top-info__block-benefits-list\">\n <div className=\"top-info__block-benefit\">\n { I18n.t('signup.teaser.tenant.benefit_1') }\n </div>\n\n <div className=\"top-info__block-benefit\">\n { I18n.t('signup.teaser.tenant.benefit_2') }\n </div>\n\n <div className=\"top-info__block-benefit\">\n { I18n.t('signup.teaser.tenant.benefit_3') }\n </div>\n\n <div className=\"top-info__block-benefit\">\n { I18n.t('signup.teaser.tenant.benefit_4') }\n </div>\n </div>\n </div>\n\n <div className=\"top-info__block-bottom-wrapper\">\n <a href=\"#tabs\" className=\"top-info__block-button btn-orange\">\n <img\n alt=\"See Prices\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={SeePricesIcon}\n height={24}\n width={24}\n />\n { I18n.t('signup.teaser.block.button_text') }\n </a>\n\n <div className=\"top-info__block-bottom-info\">\n <img\n alt=\"Lokalebasen.dk\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={LogoDk}\n height={36}\n width=\"auto\"\n />\n </div>\n </div>\n </div>\n </div>\n\n\n <div className=\"top-info__block-wrapper col-12 col-md-4\">\n <div className=\"top-info__block\">\n\n <div>\n <div className=\"top-info__img-block lazyload\"\n data-bg={TeaserImgCenter}\n data-sizes=\"auto\" />\n\n <div className=\"top-info__block-headline\">\n { I18n.t('signup.teaser.advice.headline') }\n </div>\n\n <div className=\"top-info__block-benefits-list\">\n <div className=\"top-info__block-benefit\">\n { I18n.t('signup.teaser.advice.benefit_1') }\n </div>\n\n <div className=\"top-info__block-benefit\">\n { I18n.t('signup.teaser.advice.benefit_2') }\n </div>\n\n <div className=\"top-info__block-benefit\">\n <div dangerouslySetInnerHTML={{ __html: I18n.t('signup.teaser.advice.benefit_3')}} />\n </div>\n </div>\n </div>\n\n <div className=\"top-info__block-bottom-wrapper\">\n <div className=\"top-info__block-button\" onClick={() => this.openModalForm('adviceFormIsOpen')}>\n <img data-src={GetOfferIcon} alt=\"See Prices\" width={24} height={24} className=\"lazyload\" data-sizes=\"auto\" />\n { I18n.t('signup.teaser.advice.button') }\n </div>\n <div className=\"top-info__block-bottom-info\">\n <div>{ I18n.t('signup.teaser.advice.hotline_text') }</div>\n <div className=\"top-info__block-bottom-hotline\">\n <SvgIco name=\"phone\" size={16} />\n 39 45 85 37\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n\n <div className=\"top-info__block-wrapper col-12 col-md-4\">\n <div className=\"top-info__block\">\n\n <div>\n <div\n className=\"top-info__img-block lazyload\"\n data-bg={TeaserImgRight}\n data-sizes=\"auto\"\n />\n\n <div className=\"top-info__block-headline\">\n { I18n.t('signup.teaser.agent.headline') }\n </div>\n\n <div className=\"top-info__block-benefits-list\">\n <div className=\"top-info__block-benefit\">\n { I18n.t('signup.teaser.agent.benefit_1') }\n </div>\n\n <div className=\"top-info__block-benefit\">\n { I18n.t('signup.teaser.agent.benefit_2') }\n </div>\n\n <div className=\"top-info__block-benefit\">\n { I18n.t('signup.teaser.agent.benefit_3') }\n </div>\n </div>\n </div>\n\n <div className=\"top-info__block-bottom-wrapper\">\n <div className=\"top-info__block-button\" onClick={() => this.openModalForm('realEstateAgentFormIsOpen')}>\n <img\n alt=\"See Prices\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={ContactUsIcon}\n height={24}\n width={24}\n />\n { I18n.t('signup.teaser.tabs.tab.block.contact_us.text') }\n </div>\n\n <div className=\"top-info__block-bottom-info\">\n <img\n alt=\"Lokalebasen.dk\"\n className=\"lazyload providers-logos\"\n data-sizes=\"auto\"\n data-src={RealEstateProvidersLogos}\n height={43}\n width=\"auto\"\n />\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n )\n }\n}\n\nexport default TeaserBlocks;\n","import React from 'react';\n\nimport './TestimonialBlock.sass';\n\n\nconst TestimonialBlock = ({ additionalClass, testimonial }) => {\n\n const { authorImg, authorInfo, authorName, companyLogo, content } = testimonial;\n\n return (\n <div className={ `testimonial${additionalClass ? ` ${additionalClass}` : ''}` }>\n <div className=\"testimonial__wrapper\">\n <img\n alt={companyLogo.alt}\n className=\"lazyload testimonial__logo\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/${companyLogo.name}`)}\n height={companyLogo.height}\n width={companyLogo.width}\n />\n\n <div className=\"testimonial__author-info\">\n <img\n alt={authorName}\n className=\"testimonial__img lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/${authorImg}`)}\n height={56}\n width={56}\n />\n <div className=\"testimonial__author-info-wrapper\">\n <div className=\"testimonial__author-name\">\n { authorName }\n </div>\n <p>{ authorInfo }</p>\n </div>\n </div>\n\n <p className=\"testimonial__content\">{ content }</p>\n\n </div>\n </div>\n )\n};\n\nexport default TestimonialBlock;\n","import React from 'react';\n\nexport const testimonials = [\n { authorName: I18n.t('signup.teaser.partners.regus.name'),\n authorInfo: I18n.t('signup.teaser.partners.regus.position'),\n authorImg: 'thomas_munk',\n content: I18n.t('signup.teaser.partners.regus.text'),\n companyLogo: {name: 'regus', height: 35, width: 68, alt: 'Regus' },\n },\n { authorName: I18n.t('signup.teaser.partners.deas.name'),\n authorInfo: I18n.t('signup.teaser.partners.deas.position'),\n authorImg: 'henriette_holm_stahlhut',\n content: I18n.t('signup.teaser.partners.second.text'),\n companyLogo: { name: 'Deas', height: 50, width: 'auto', alt: 'Deas Blue' },\n },\n { authorName: I18n.t('signup.teaser.partners.nrep.name'),\n authorInfo: I18n.t('signup.teaser.partners.nrep.position'),\n authorImg: 'nina_therkelsen',\n content: I18n.t('signup.teaser.partners.nrep.text'),\n companyLogo: {name: 'nrep', height: 'auto', width: 100, alt: 'NREP' },\n },\n]\n","import React from 'react';\nimport Slider from \"react-slick\";\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { testimonials } from './data';\nimport TestimonialBlock from './TestimonialBlock';\n\nimport './index.sass';\n\n\nconst Testimonials = () => {\n\n const SlickArrowLeft = ({ currentSlide, slideCount, ...props }) => (\n <button\n { ...props }\n className={\n \"slick-prev slick-arrow testimonials__prev-btn\" +\n (currentSlide === 0 ? \" slick-disabled\" : \"\")\n }\n aria-hidden=\"true\"\n aria-disabled={currentSlide === 0}\n type=\"button\"\n >\n <SvgIco name=\"keyboard-arrow-left-rounded-ios\" size={32} />\n </button>\n );\n\n const SlickArrowRight = ({ currentSlide, slideCount, ...props }) => (\n <button\n { ...props }\n className={\n \"slick-next slick-arrow testimonials__next-btn\" +\n (currentSlide === slideCount - 1 ? \" slick-disabled\" : \"\")\n }\n aria-hidden=\"true\"\n aria-disabled={currentSlide === slideCount - 1}\n type=\"button\"\n >\n <SvgIco name=\"keyboard-arrow-right-rounded-ios\" size={32} />\n </button>\n );\n\n const settings = {\n adaptiveHeight: false,\n arrows: true,\n dots: true,\n infinite: true,\n nextArrow: <SlickArrowRight />,\n prevArrow: <SlickArrowLeft />,\n slidesToShow: 3,\n slidesToScroll: 1,\n responsive: [\n {\n breakpoint: 1199,\n settings: {\n adaptiveHeight: false,\n slidesToShow: 2,\n slidesToScroll: 1\n }\n },\n {\n breakpoint: 767,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1\n }\n },\n ]\n };\n\n\n return (\n <div className=\"testimonials container\">\n <Slider {...settings}>\n { testimonials.map((testimonial, index) =>\n <TestimonialBlock\n key={index}\n testimonial={testimonial}\n />\n )}\n </Slider>\n <div className=\"row testimonials__desktop\">\n { testimonials.map((testimonial, index) =>\n <TestimonialBlock\n additionalClass=\"col-lg-4\"\n key={index}\n testimonial={testimonial}\n />\n )}\n </div>\n </div>\n )\n};\n\nexport default Testimonials;\n","import React from 'react';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './index.sass'\n\n\nconst TopBanner = ({ locale, signupFormPath, siteKey }) => {\n return (\n <div className=\"signup-top-banner\">\n <div className=\"container\">\n <div className=\"signup-top-content\">\n <div dangerouslySetInnerHTML={{__html: I18n.t('signup.signup_top_content')}} />\n <a href={signupFormPath} className=\"signup-cta-button main-button\">\n { I18n.t('signup.signup_top.button') }\n <SvgIco name=\"keyboard-arrow-right-rounded\" size={28} />\n </a>\n <a href=\"#tabs\" className=\"signup-top-banner__prices-button\">\n { I18n.t('signup.teaser.block.button_text') }\n <SvgIco name=\"keyboard-arrow-right-rounded\" size={28} />\n </a>\n </div>\n\n <div className=\"signup-image-block\">\n <img\n alt=\"computer_new\"\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-src={require(`../../../src/images/list_office/computer_new_${siteKey}_${locale}.png`)}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default React.memo(TopBanner);\n","import React, { Component, Fragment, Suspense } from 'react';\n\nimport FAQSection from '../SharedComponents/FAQSection';\nimport RequestCallModal from '../SharedComponents/RequestCallModal';\nimport { ToTheTopBtn } from \"../SharedComponents/Buttons\";\nimport TrustBoxContainer from '../SharedComponents/TrustPilot';\nimport TopBanner from './TopBanner';\nimport ProvidersSection from './ProvidersSection';\nimport Testimonials from './Testimonials';\nimport ContactsSection from './ContactsSection';\nimport BenefitsSection from './BenefitsSection';\nimport ContractsTop from './ContractsTop';\nimport { loadTawkTo } from '../TawkTo/TawkTo';\n\nconst AdvBannerDk = React.lazy(() => import('./AdvBannerDk'));\nconst CalendlyBlock = React.lazy(() => import('./Calendly'));\nconst ContractsBottom = React.lazy(() => import('./ContractsBottom'));\nconst PaymentTeasers = React.lazy(() => import('./PaymentTeasersSection'));\nconst TeaserBlocks = React.lazy(() => import('./TeaserBlocks'));\n\nimport './index.sass';\n\n\nclass ListOffice extends Component {\n state = {\n isDesktop: window.innerWidth > 960,\n };\n\n componentDidMount() {\n loadTawkTo(this.props.siteKey);\n }\n\n render() {\n const {\n advertisementStrategiesPrices,\n contactInfoEmail,\n contactInfoPhone,\n contactUsFormPath,\n contractDetails,\n findAgentFormPath,\n formAuthToken,\n getHelpFormPath,\n isRequestFromPrerender,\n locale,\n privacyPolicyPath,\n richSnippetQuestions,\n signupFormPath,\n siteKey,\n trustpilotWidget,\n virtualTourUrl,\n } = this.props;\n\n const trustPilotLocale = siteKey === 'dk' ? 'da-DK' : 'en-US';\n const checkTurkish = locale === 'tr';\n\n\n return (\n <div className=\"list-office\">\n\n <ToTheTopBtn />\n\n <TopBanner\n locale={locale}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n />\n\n { siteKey !== 'dk' &&\n <Suspense fallback=\"\">\n <PaymentTeasers siteKey={siteKey} />\n </Suspense>\n }\n\n <ProvidersSection siteKey={siteKey} />\n\n <Testimonials />\n\n <div className=\"list-office__trustpilot container\">\n <TrustBoxContainer\n data={trustpilotWidget}\n locale={trustPilotLocale}\n />\n </div>\n\n <ContactsSection\n contactInfoEmail={contactInfoEmail}\n contactInfoPhone={contactInfoPhone}\n siteKey={siteKey}\n />\n\n <ContractsTop\n advertisementStrategiesPrices={advertisementStrategiesPrices}\n contactUsFormPath={contactUsFormPath}\n contractDetails={contractDetails.topContracts}\n contractDetailsBot={contractDetails.bottomContracts}\n contractLink={contractDetails.bottomContractForLink}\n formAuthToken={formAuthToken}\n privacyPolicyPath={privacyPolicyPath}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n />\n\n { siteKey === \"dk\" &&\n <Fragment>\n <Suspense fallback=\"\">\n <AdvBannerDk />\n </Suspense>\n { richSnippetQuestions && richSnippetQuestions.length > 0 &&\n <FAQSection\n isRequestFromPrerender={isRequestFromPrerender}\n richSnippetQuestions={richSnippetQuestions}\n title={I18n.t('provider.teaser.faq_questions.title')}\n />\n }\n </Fragment>\n }\n\n\n { siteKey === \"dk\" &&\n <Suspense fallback=\"\">\n <ContractsBottom\n advertisementStrategiesPrices={advertisementStrategiesPrices}\n contractDetails={contractDetails.bottomContracts}\n contractLink={contractDetails.bottomContractForLink}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n />\n </Suspense>\n }\n\n { siteKey !== \"dk\" && !this.state.isDesktop &&\n <Suspense fallback=\"\">\n <ContractsBottom\n advertisementStrategiesPrices={advertisementStrategiesPrices}\n contractDetails={contractDetails.bottomContracts}\n contractLink={contractDetails.bottomContractForLink}\n signupFormPath={signupFormPath}\n siteKey={siteKey}\n />\n </Suspense>\n }\n\n\n { !checkTurkish && (siteKey === 'dk' || siteKey === 'global') &&\n <Suspense fallback=\"\">\n <CalendlyBlock siteKey={siteKey} />\n </Suspense>\n }\n\n { siteKey === 'dk' &&\n <Suspense fallback=\"\">\n <TeaserBlocks\n findAgentFormPath={findAgentFormPath}\n getHelpFormPath={getHelpFormPath}\n privacyPolicyPath={privacyPolicyPath}\n />\n </Suspense>\n }\n\n <BenefitsSection siteKey={siteKey} virtualTourUrl={virtualTourUrl} />\n\n <RequestCallModal />\n\n { siteKey !== \"dk\" &&\n <Fragment>\n { richSnippetQuestions && richSnippetQuestions.length > 0 &&\n <FAQSection\n isRequestFromPrerender={isRequestFromPrerender}\n richSnippetQuestions={richSnippetQuestions}\n title={I18n.t('provider.teaser.faq_questions.title')}\n />\n }\n </Fragment>\n }\n </div>\n );\n }\n};\n\nexport default ListOffice;\n","import basic from '../../src/images/list_office/basic.svg'\nimport basic_plus from '../../src/images/list_office/basic_plus.svg'\nimport premium from '../../src/images/list_office/premium.svg'\nimport premiumPlus from '../../src/images/list_office/premium_plus.svg'\n\nconst dkFullLinksList = [\n 'signup.teaser.tabs.tab.block.linklist_1',\n 'signup.teaser.tabs.tab.block.linklist_2',\n 'signup.teaser.tabs.tab.block.linklist_3',\n 'signup.teaser.tabs.tab.block.linklist_4_new',\n 'signup.teaser.tabs.tab.block.linklist_6',\n 'signup.teaser.tabs.tab.block.linklist_14',\n 'signup.teaser.tabs.tab.block.linklist_7',\n 'signup.teaser.tabs.tab.block.linklist_8',\n 'signup.teaser.tabs.tab.block.linklist_9',\n 'signup.teaser.tabs.tab.block.linklist_10',\n 'signup.teaser.tabs.tab.block.linklist_11_new',\n { icon: 'facebook', text: 'signup.teaser.tabs.tab.block.linklist_19'},\n 'signup.teaser.tabs.tab.block.linklist_12_new',\n 'signup.teaser.tabs.tab.block.linklist_13',\n 'signup.teaser.tabs.tab.block.linklist_15',\n 'signup.teaser.tabs.tab.block.linklist_16',\n 'signup.teaser.tabs.tab.block.linklist_17',\n 'signup.teaser.tabs.tab.block.linklist_18'\n];\n\n\n// DK\nexport const tabData = {\n\n basicNoCure: {\n bottomText: 'signup.teaser.prices.block.footer_1',\n headerImage: basic,\n headerText: {\n subhead: 'signup.teaser.tabs.tab.main-header-basic-no-cure-no-pay',\n subhead_text: \"signup.teaser.tabs.tab.right\",\n subhead_text_dk_annouce: \"signup.teaser.tabs.tab.left\"\n },\n headerTextLease: {\n subhead: 'signup.teaser.tabs.tab.main-header-no-cure-no-pay',\n subhead_text: \"signup.teaser.tabs.tab.right\",\n subhead_text_dk_annouce: \"signup.teaser.tabs.tab.left\"\n },\n linksLease: [\n 'signup.teaser.tabs.tab.block.great',\n 'signup.teaser.tabs.tab.block.general_2',\n 'signup.teaser.tabs.tab.block.no_cure_no_pay.list_1',\n 'signup.teaser.tabs.tab.block.no_cure_no_pay.list_2',\n ],\n linksLeaseDk: dkFullLinksList.slice(0, 6),\n linksPayPerShow: dkFullLinksList.slice(0, 6),\n },\n\n basicNoCurePlus: {\n bottomText: 'signup.teaser.prices.block.footer_1',\n headerImage: basic_plus,\n headerText: {\n head: 'signup.teaser.tabs.tab.main-header-no-cure-no-pay',\n subhead: 'signup.teaser.tabs.tab.basic-plus-header',\n subhead_text: \"signup.teaser.tabs.tab.right\",\n subhead_text_dk_annouce: \"signup.teaser.tabs.tab.left\"\n },\n linksPayPerShow: dkFullLinksList.slice(0, 10),\n },\n\n noCurePremium: {\n bottomText: 'signup.teaser.prices.block.min_subscription_duration',\n headerImage: premium,\n headerText: {\n head: 'signup.teaser.tabs.tab.main-header-no-cure-no-pay',\n subhead: 'signup.teaser.tabs.tab.premium',\n subhead_text: \"signup.teaser.tabs.tab.right\",\n subhead_text_dk_annouce: \"signup.teaser.tabs.tab.left\"\n },\n linksPayPerShow: dkFullLinksList.slice(0, 13),\n },\n\n premiumPlus: {\n bottomText: 'signup.teaser.prices.block.min_subscription_duration',\n headerImage: premiumPlus,\n headerText: {\n head: 'signup.teaser.tabs.tab.main-header-no-cure-no-pay',\n subhead: 'signup.teaser.tabs.tab.premium-plus',\n subhead_text: \"signup.teaser.tabs.tab.right\",\n subhead_text_dk_annouce: \"signup.teaser.tabs.tab.left\"\n },\n linksPayPerShow: dkFullLinksList,\n },\n\n noCureEnterprice: {\n bottomText: null,\n headerText: {\n subhead: 'signup.teaser.tabs.tab.enterprice',\n subhead_text: \"signup.teaser.tabs.tab.right\",\n subhead_text_dk_annouce: \"signup.teaser.tabs.tab.left\"\n },\n linksLease: [\n 'signup.teaser.tabs.tab.block.contact_us.list_1',\n 'signup.teaser.tabs.tab.block.contact_us.list_2',\n ],\n linksLeaseDk: [\n 'signup.teaser.tabs.tab.block.linklist_enterprice_1',\n 'signup.teaser.tabs.tab.block.linklist_enterprice_2',\n 'signup.teaser.tabs.tab.block.linklist_enterprice_3',\n 'signup.teaser.tabs.tab.block.linklist_enterprice_4',\n 'signup.teaser.tabs.tab.block.linklist_14',\n ],\n linksPayPerShow: [\n 'signup.teaser.tabs.tab.block.linklist_enterprice_1',\n 'signup.teaser.tabs.tab.block.linklist_enterprice_2',\n 'signup.teaser.tabs.tab.block.linklist_enterprice_3',\n 'signup.teaser.tabs.tab.block.linklist_enterprice_4',\n 'signup.teaser.tabs.tab.block.linklist_14',\n ],\n }\n};\n\n\n// Other sites\nexport const tabDataBot = {\n basic: {\n bottomText: 'signup.teaser.prices.block.footer_1',\n headerText: {\n subhead: 'signup.teaser.tabs.tab.basic-header',\n subhead_text: \"signup.teaser.tabs.tab.block.free_price\",\n },\n linksLease: [\n 'signup.teaser.tabs.tab.block.greater',\n 'signup.teaser.tabs.tab.block.general_2',\n 'signup.teaser.tabs.tab.block.basic.list_1',\n 'signup.teaser.prices.block.list_1',\n 'signup.teaser.tabs.tab.block.basic_plus.list_2',\n 'signup.teaser.tabs.tab.block.basic_plus.list_3',\n 'signup.teaser.tabs.tab.block.general_website-link',\n 'signup.teaser.tabs.tab.block.general_contact-person-photo',\n ],\n linksLeaseDk: [\n 'signup.teaser.tabs.tab.block.greater',\n 'signup.teaser.tabs.tab.block.general_2',\n 'signup.teaser.tabs.tab.block.basic.list_1',\n 'signup.teaser.prices.block.list_1',\n 'signup.teaser.tabs.tab.block.basic_plus.list_2',\n 'signup.teaser.tabs.tab.block.basic_plus.list_3',\n 'signup.teaser.tabs.tab.block.general_website-link',\n 'signup.teaser.tabs.tab.block.general_contact-person-photo',\n 'signup.teaser.tabs.tab.block.linklist_14',\n ],\n },\n\n premium: {\n bottomText: 'signup.teaser.prices.block.footer_4',\n headerText: {\n subhead: 'signup.teaser.tabs.tab.premium',\n subhead_text: \"signup.new_form.plans.block1.meeting_pricer.title\",\n },\n linksLease: [\n 'signup.teaser.tabs.tab.block.greatest',\n 'signup.teaser.tabs.tab.block.general_2',\n 'signup.teaser.tabs.tab.block.basic.list_1',\n 'signup.teaser.prices.block.list_1',\n 'signup.teaser.tabs.tab.block.basic_plus.list_2',\n 'signup.teaser.tabs.tab.block.basic_plus.list_3',\n 'signup.teaser.tabs.tab.block.general_website-link',\n 'signup.teaser.tabs.tab.block.general_contact-person-photo',\n 'signup.teaser.tabs.tab.block.premium.list_4',\n 'signup.teaser.tabs.tab.block.premium.list_5',\n 'signup.teaser.prices.block.list_2_3_new'\n ],\n linksLeaseDk: [\n 'signup.teaser.tabs.tab.block.greatest',\n 'signup.teaser.tabs.tab.block.general_2',\n 'signup.teaser.tabs.tab.block.basic.list_1',\n 'signup.teaser.prices.block.list_1',\n 'signup.teaser.tabs.tab.block.no_cure_no_pay_plus.list_3',\n 'signup.teaser.tabs.tab.block.basic_plus.list_3',\n 'signup.teaser.tabs.tab.block.general_website-link',\n 'signup.teaser.tabs.tab.block.general_contact-person-photo',\n 'signup.teaser.tabs.tab.block.linklist_14',\n 'signup.teaser.tabs.tab.block.premium.list_5',\n 'signup.teaser.prices.block.list_2_3_new'\n ],\n },\n\n parkering: {\n bottomText: 'signup.teaser.prices.block.footer_1',\n headerText: {\n subhead: 'signup.signup_form.parking_basic_parkering',\n subhead_text: 'signup.teaser.tabs.tab.left',\n },\n linksLease: [\n 'signup.teaser.tabs.tab.block.greater',\n 'signup.teaser.tabs.tab.block.general_2',\n 'signup.teaser.tabs.tab.block.basic.list_1',\n 'signup.teaser.tabs.tab.block.parkering_basic_list_4',\n 'signup.teaser.tabs.tab.block.basic_plus.list_2',\n 'signup.teaser.tabs.tab.block.basic_plus.list_3',\n 'signup.teaser.tabs.tab.block.general_website-link',\n 'signup.teaser.tabs.tab.block.general_contact-person-photo',\n 'signup.teaser.tabs.tab.block.linklist_14',\n ],\n }\n};\n\nexport const danishInfoFullPriceList = [\n {\n 'key': '',\n 'area': 'Lejemål | m'\n },\n {\n 'key': '0..249',\n 'area': '0 - 249 m'\n },\n {\n 'key': '250..499',\n 'area': '250 - 499 m'\n },\n {\n 'key': '500..999',\n 'area': '500 - 999 m'\n },\n {\n 'key': '1000..1999',\n 'area': '1.000 - 1.999 m'\n },\n {\n 'key': '2000..9999',\n 'area': '2.000 - 9.999 m'\n },\n {\n 'key': 'default',\n 'area': 'Over 9.999 m'\n }\n];\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { arrayIncludesObject } from '../../helpers/array';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './index.sass';\n\n\nclass DropdownSelector extends React.PureComponent {\n state = {\n isOpened: false,\n };\n\n componentDidMount() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n handleClickOutside = (event) => {\n if (event.target.tagName !== 'svg' && this.wrapperRef && !this.wrapperRef.contains(event.target)) {\n this.setState({ isOpened: false})\n }\n };\n\n setWrapperRef = (node) => {\n this.wrapperRef = node;\n };\n\n itemIsSelected = (id) => {\n return arrayIncludesObject(this.props.selectedData, 'id', id);\n };\n\n handleClick = () => {\n this.setState({ isOpened: !this.state.isOpened });\n };\n\n renderPlaceholder = () => {\n const { selectedData, selectedCounterPhrase, showCount, showOnlyCountPlaceholder } = this.props;\n let placeholder;\n\n if (showOnlyCountPlaceholder && selectedData.length > 0) return `${selectedCounterPhrase}${showCount ? ` (${selectedData.length})` : ''}`;\n\n switch(selectedData.length) {\n case 0:\n placeholder = this.props.placeholder;\n break;\n case 1:\n placeholder = selectedData[0].name.charAt(0).toUpperCase() + selectedData[0].name.slice(1);\n break;\n default:\n placeholder = `${selectedCounterPhrase}${showCount ? ` (${selectedData.length})` : ''}`;\n }\n\n return placeholder;\n };\n\n generateDropdownBody = (itemsArray) => {\n\n return (\n <div className='dropdown-selector__column'>\n {itemsArray.map((item) => (\n <div key={item.id}\n onClick={e => this.props.selectAction(e, item)}\n className={`dropdown-selector__item ${ this.itemIsSelected(item.id) ? 'dropdown-selector__item--selected' : '' }`}>\n\n <div className='dropdown-selector__item-icon'>\n <div className={ this.itemIsSelected(item.id) ? 'dropdown-selector__item-icon-checked' : 'dropdown-selector__item-checkbox' }>\n <SvgIco name=\"check\" size={18} />\n </div>\n </div>\n\n <div className='dropdown-selector__item-name' style={{textTransform: 'capitalize'}}>\n {item.name}\n </div>\n </div>\n ))}\n </div>\n )\n };\n\n render() {\n const { dynamicData, selectedData, selectedCounterPhrase, isMobileMenu } = this.props;\n const isOpened = !isMobileMenu || this.state.isOpened;\n const dropdownBody = this.generateDropdownBody(dynamicData);\n const triggerClasses = classNames('dropdown-selector__trigger', { 'dropdown-selector__trigger--active': isOpened });\n\n\n return (\n <div className='dropdown-selector' ref={ this.setWrapperRef }>\n <div className={triggerClasses} onClick={e => this.handleClick(e)}>\n <div className={`dropdown-selector__placeholder${isOpened ? ' active' : ''}`}>\n <div className=\"dropdown-selector__placeholder-text mobile-hidden\">\n { this.renderPlaceholder() }\n </div>\n\n <div className=\"dropdown-selector__placeholder-text\">\n { selectedCounterPhrase }\n { selectedData.length > 0 &&\n <div className=\"dropdown-selector__selected-tooltip\">\n { selectedData.map(item => item.name).join(', ') }\n </div>\n }\n </div>\n\n </div>\n <div className=\"dropdown-selector__action-icon\">\n { !isOpened ? <SvgIco name=\"expand-more\" size={20} /> : <SvgIco name=\"expand-less\" size={20} /> }\n </div>\n </div>\n\n { (isOpened || isMobileMenu) &&\n <div className={`dropdown-selector__body${isOpened ? ' dropdown-selector__body--open' : ''}`}>\n {(dynamicData.length > 0) && dropdownBody}\n {(dynamicData.length === 0) && (\n <div className='dropdown-selector__empty'>\n { I18n.t('search_agent.no_results') }\n </div>\n )}\n <div className=\"dropdown-selector__separator\" />\n </div>\n }\n\n </div>\n );\n }\n}\n\nDropdownSelector.propTypes = {\n dynamicData: PropTypes.array,\n};\n\n\nDropdownSelector.defaultProps = {\n dynamicData: []\n};\n\nexport default DropdownSelector;\n","import React, { useContext, useEffect } from 'react';\n\nimport DropdownSelector from \"../DropdownSelector\";\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst EnergyRatingFilter = ({ isMobileMenu }) => {\n\n const {\n energyRatings,\n handleEnergyRatingSelect,\n requestParams,\n selectedEnergyRatings,\n setRequestParams,\n setSelectedEnergyRatings,\n } = useContext(Context);\n\n const { energy_rating } = requestParams;\n\n const selectedData = selectedEnergyRatings.map(option => ({ id: option, name: option }));\n const energyRatingsOptions = energyRatings && energyRatings.map(option =>\n ({ id: option, name: option === 'Exempted' ? I18n.t('views.locations.show.exempted_from_energy_rating_short') : option })\n );\n\n useEffect(() => {\n energy_rating.length && setSelectedEnergyRatings(energy_rating);\n }, []);\n\n\n useEffect(() => {\n setSelectedEnergyRatings(requestParams.energy_rating);\n }, [requestParams.energy_rating]);\n\n\n const handleSelect = (e, option) => {\n const updatedRatings = [ ...selectedEnergyRatings ];\n const optionSelectedIndex = updatedRatings.indexOf(option.id);\n\n optionSelectedIndex >= 0 ? updatedRatings.splice(optionSelectedIndex, 1) : updatedRatings.push(option.id);\n !isMobileMenu && handleEnergyRatingSelect(updatedRatings);\n isMobileMenu && setRequestParams(prevParams => ({ ...prevParams, energy_rating: updatedRatings }));\n setSelectedEnergyRatings(updatedRatings);\n };\n\n\n return (\n <div className=\"energy-rating-filter\">\n { !!energyRatingsOptions.length &&\n <div className=\"lv-filter lv-filter__energy-rating energy-rating-filter__wrapper\">\n <DropdownSelector\n dynamicData={energyRatingsOptions}\n isMobileMenu={isMobileMenu}\n placeholder={I18n.t('activerecord.attributes.property.energy_rating')}\n selectAction={handleSelect}\n selectedData={selectedData}\n selectedCounterPhrase={I18n.t('activerecord.attributes.property.energy_rating')}\n showOnlyCountPlaceholder={true}\n />\n </div>\n }\n </div>\n );\n}\n\n\nexport default EnergyRatingFilter;\n","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst FacilitiesFilter = ({ clearFacilities, isMobileMenu, toggleClearFacilitiesFilter }) => {\n\n const {\n applyFacilitiesFilters,\n facilitiesList,\n selectedFacilities,\n setRequestParams,\n setSelectedFacilities,\n } = useContext(Context);\n\n const [facilitiesFilterOpen, setFacilitiesFilterOpen] = useState(false);\n const [currentSelectedFacilities, setCurrentSelectedFacilities] = useState(selectedFacilities || []);\n const [showMoreIsOpen, setShowMoreIsOpen] = useState(false);\n\n const filterWrapper = useRef();\n\n\n useEffect(() => {\n setCurrentSelectedFacilities(selectedFacilities);\n }, [selectedFacilities]);\n\n\n useEffect(() => {\n if (clearFacilities) {\n handleApplyFilters([]);\n toggleClearFacilitiesFilter();\n }\n }, [clearFacilities]);\n\n\n const toggleFacilitiesFilter = (currentState) => {\n const isOpen = !currentState;\n\n setFacilitiesFilterOpen(isOpen);\n isOpen\n ? window.addEventListener('click', handleFacilitiesOpenClick)\n : window.removeEventListener('click', handleFacilitiesOpenClick)\n };\n\n\n const handleFacilitiesOpenClick = (e) => {\n !filterWrapper && !filterWrapper.current && window.removeEventListener('click', handleFacilitiesOpenClick);\n\n const applyAllFiltersButtonMobile = document.getElementById('applyFiltersButtonMobile');\n\n filterWrapper\n && filterWrapper.current\n && !filterWrapper.current.contains(e.target)\n && (!applyAllFiltersButtonMobile || !applyAllFiltersButtonMobile.contains(e.target))\n && toggleFacilitiesFilter(true);\n };\n\n\n const handleFacilitiesCheckboxClick = (e) => {\n const value = e.target.value;\n const updatedList = [ ...currentSelectedFacilities ];\n const valueIndex = updatedList.indexOf(value);\n\n valueIndex >= 0 ? updatedList.splice(valueIndex, 1) : updatedList.push(value);\n handleApplyFilters(updatedList);\n };\n\n\n const handleSelectAllFacilities = () =>\n handleApplyFilters(facilitiesList.map(item => item.key))\n\n\n const handleApplyFilters = (newList) => {\n setCurrentSelectedFacilities(newList);\n newList && setRequestParams(prevParams => ({ ...prevParams, facilities: newList }));\n newList && setSelectedFacilities(newList);\n !isMobileMenu && applyFacilitiesFilters(newList);\n };\n\n const handleShowMore = () => {\n const showMore = !showMoreIsOpen;\n\n setShowMoreIsOpen(showMore);\n showMore && filterWrapper.current.scrollIntoView();\n };\n\n\n const filterIsOpen = !isMobileMenu || facilitiesFilterOpen;\n const selectedFacilitiesCount = currentSelectedFacilities.length;\n\n let selectedFacilitiesNames = [];\n currentSelectedFacilities.length && facilitiesList.map(listItem => currentSelectedFacilities.includes(listItem.key) && selectedFacilitiesNames.push(listItem.label));\n\n const dynamicList = facilitiesList && facilitiesList.length > 0 && facilitiesList.slice(0, 9);\n const currentFacilities = isMobileMenu || showMoreIsOpen ? facilitiesList : dynamicList;\n const showShowMoreLink = !isMobileMenu && facilitiesList.length > 9;\n\n\n if (currentFacilities && currentFacilities.length > 0) {\n return (\n <div className=\"facilities-filter\" ref={filterWrapper}>\n <div className={`facilities-filter__dropdown${ filterIsOpen ? ' open' : '' }`} onClick={() => toggleFacilitiesFilter(facilitiesFilterOpen)}>\n <span>{ I18n.t('apps.lb_showroom.detailed.tabs.facilities') }<span>{ !!selectedFacilitiesCount && ` (${selectedFacilitiesCount})` }</span></span>\n <div className=\"dropdown-selector__trigger-right\">\n { selectedFacilitiesNames.length > 0 &&\n <div className=\"dropdown-selector__selected-tooltip\">\n { selectedFacilitiesNames.join(', ') }\n </div>\n }\n <div className=\"dropdown-selector__action-icon\">\n { filterIsOpen\n ? <SvgIco name=\"expand-less\" size={20} />\n : <SvgIco name=\"expand-more\" size={20} />\n }\n </div>\n </div>\n <div className=\"facilities-filter__select-links\">\n <div className=\"facilities-filter__select-all-link\" onClick={handleSelectAllFacilities}>\n { I18n.t('apps.lb_showroom.postal_districts.select_all') }\n </div>\n <div className=\"facilities-filter__deselect-all-link\" onClick={() => handleApplyFilters([])}>\n { I18n.t('apps.lb_showroom.postal_districts.deselect_all') }\n </div>\n </div>\n </div>\n\n { (filterIsOpen || isMobileMenu) &&\n <div className={`facilities-filter__list${ filterIsOpen ? ' open' : '' }`}>\n <div className=\"facilities-filter__top-wrapper\">\n <div className=\"facilities-filter__select-links\">\n <div className=\"facilities-filter__select-all-link\" onClick={handleSelectAllFacilities}>\n { I18n.t('apps.lb_showroom.postal_districts.select_all') }\n </div>\n <div className=\"facilities-filter__deselect-all-link\" onClick={() => handleApplyFilters([])}>\n { I18n.t('apps.lb_showroom.postal_districts.deselect_all') }\n </div>\n </div>\n </div>\n\n <div className={`facilities-filter__main-body${ filterIsOpen ? ' open' : '' }`}>\n <div className=\"facilities-filter__facilities-block\">\n <div className=\"facilities-filter__facilities-list\">\n { currentFacilities.map(item =>\n <div className=\"facilities-filter__list-item\" key={item.key}>\n <label className={`${currentSelectedFacilities.includes(item.key) ? 'active' : ''}`}>\n <SvgIco name=\"check\" size={18} />\n <input\n checked={currentSelectedFacilities.includes(item.key)}\n onChange={(e) => handleFacilitiesCheckboxClick(e)}\n type=\"checkbox\"\n value={item.key} />\n { item.label }\n </label>\n </div>\n )}\n </div>\n </div>\n { showShowMoreLink &&\n <div className=\"facilities-filter__show-more-link\" onClick={handleShowMore}>\n { showMoreIsOpen\n ? I18n.t('views.locations.show.facilities.show_less_link')\n : I18n.t('views.locations.show.facilities.show_more_link')\n }\n </div>\n }\n </div>\n\n <div className=\"facilities-filter__select-links facilities-filter__select-links--bottom \">\n <div className=\"facilities-filter__select-all-link\" onClick={handleSelectAllFacilities}>\n { I18n.t('apps.lb_showroom.postal_districts.select_all') }\n </div>\n <div className=\"facilities-filter__deselect-all-link\" onClick={() => handleApplyFilters([])}>\n { I18n.t('apps.lb_showroom.postal_districts.deselect_all') }\n </div>\n </div>\n <div className=\"dropdown-selector__separator\" />\n </div>\n }\n </div>\n )\n } else {\n return null;\n }\n};\n\n\nFacilitiesFilter.propTypes = {\n selectedFacilities: PropTypes.arrayOf(PropTypes.string),\n facilitiesList: PropTypes.arrayOf(PropTypes.object),\n};\n\nFacilitiesFilter.defaultProps = {\n selectedFacilities: [],\n facilitiesList: [],\n};\n\n\nexport default FacilitiesFilter;\n","import React from 'react';\nimport { handleListItemClick, DescriptionLine } from '../SharedComponents/ItemsListComponents';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './GridViewAdvertisment.sass';\n\n\nconst GridViewAdvertisment = ({ advertismentData: {\n image_text,\n image_text_bottom,\n title,\n description,\n text_on_button,\n },\n mapIsOpen,\n rootPath,\n signupTeaserPath,\n siteLogoPath,\n }) => {\n\n return (\n <div className={`grid-item col-md-6 col-lg-${mapIsOpen ? 6 : 4} col-xl-${mapIsOpen ? 4 : 3}`}>\n <div className=\"advertisement\">\n <div\n className=\"grid-item__wrapper\"\n onClick={(e) => handleListItemClick(e, signupTeaserPath, true)}\n >\n <div className=\"grid-item-image\">\n <p className=\"adver-title\" data-bind=\"text: image_text\">\n {image_text}\n </p>\n <span\n className=\"adver-title bottom-adver\"\n data-bind=\"text: image_text_bottom\"\n >\n { image_text_bottom }\n </span>\n </div>\n\n <div className=\"grid-item__description-wrapper\">\n <div className=\"adver-top\">\n <p className=\"adver-content-title\">{title}</p>\n <div className=\"adver-description\">\n <DescriptionLine substring={description} lines={3} />\n </div>\n <div className=\"adver-description-md\">\n <DescriptionLine substring={description} lines={4} />\n </div>\n </div>\n\n <div className=\"search-agent-bottom\">\n <div className=\"search-agent-images\">\n <a href={rootPath}>\n <img\n alt=\"provider logo\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={`https://www.lokalebasen.dk${siteLogoPath}`}\n height={60}\n />\n </a>\n </div>\n <div className=\"grid-item__button-wrapper\">\n <button className=\"b-button grid-item__info-button\">\n { text_on_button }\n <SvgIco name=\"keyboard-arrow-right-rounded-ios\" size={20} />\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default GridViewAdvertisment;\n","import React, { Component, Suspense } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from \"prop-types\";\nimport ReactTooltip from \"react-tooltip\";\nimport { isMobileOnly } from \"react-device-detect\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\n\nimport httpService from '../../../api/httpService';\nimport { handleListItemClick } from '../SharedComponents/ItemsListComponents';\nimport FavouriteIcon from '../../SharedComponents/FavouriteIcon';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport EmblaCarousel from \"../../SharedComponents/EmblaCarousel\";\nimport { mappedMonths } from '../../helpers/danishMonths';\nimport { sendTrovitLead } from \"../../helpers/trovit_analitics\";\n\nconst CompareIcon = React.lazy(() => import('../../SharedComponents/CompareIcon'));\nconst InfoBadges = React.lazy(() => import('../../SharedComponents/InfoBadges'));\nconst InfoNotice = React.lazy(() => import('../../SharedComponents/InfoNotice'));\nconst GetInfoFormModal = React.lazy(() => import('../../SharedComponents/GetInfoFormModal'));\n\nimport './GridViewItem.sass';\n\n\nclass GridViewItem extends Component {\n state = {\n isActiveInfoForm: false,\n orderedLocations: [],\n showServerErrorMessage: false,\n showMorePhotos: false,\n isLoading: false,\n showEnergyRatingTooltip: false,\n showPersonsTooltip: false,\n orderId: null,\n };\n\n static timestamp() {\n return { timestamp: new Date().toISOString() };\n }\n\n componentDidMount() {\n window.history.scrollRestoration = 'manual';\n }\n\n handleOpenInfoForm = () => this.setState({ isActiveInfoForm: true });\n\n handleCloseInfoForm = () => {\n this.setState({ isActiveInfoForm: false });\n window.removeEventListener('mousedown', this.handleClickOutside);\n };\n\n infoHandlerSubmit = (params, orderUrl, abTestParam) => {\n const { uuid } = this.props.locationData;\n\n // params.ab_code = abTestParam;\n\n this.setState({ isLoading: true });\n\n httpService\n .orderInfoListViewForm(orderUrl, params, uuid)\n .then((response) => {\n if (response) {\n const orderedLocations = JSON.parse(localStorage.getItem('my.ordered_locations'));\n const { order_uuid } = response;\n\n orderedLocations[uuid] = [this.constructor.timestamp()];\n\n const updateOrderedLocation = JSON.stringify(orderedLocations);\n\n localStorage.setItem('my.ordered_locations', updateOrderedLocation);\n\n sendTrovitLead(this.props.siteKey);\n\n this.setState({\n submitSuccess: true,\n showServerErrorMessage: false,\n isLoading: false,\n orderId: order_uuid,\n });\n this.props.setOrderedLocations(Object.keys(orderedLocations));\n } else {\n this.setState({\n submitSuccess: false,\n showServerErrorMessage: true,\n isLoading: false,\n });\n }\n });\n };\n\n handleSlideChange = () =>\n !this.state.showMorePhotos && this.setState({ showMorePhotos: true });\n\n promotedLInk = (e) => {\n if (!e.ctrlKey && !e.metaKey) {\n e.preventDefault();\n e.stopPropagation();\n\n const href =\n 'https://www.lokalebasen.dk/serviceydelser-til-udlejere/fremhevet/annoncering';\n window.open(href, '_blank');\n }\n };\n\n\n handleTooltip = (key, tooltipRef) => {\n const tooltipShowState = this.state[key];\n\n this.setState({ [key]: !tooltipShowState }, () =>\n tooltipShowState ? ReactTooltip.hide(this[tooltipRef]) : ReactTooltip.show(this[tooltipRef])\n );\n };\n\n afterHide = (key) =>\n this.setState({ [key]: false });\n\n\n handleMouseLeave = () => {\n const { hoveredLocationId, locationData, setHoveredLocationId } = this.props;\n\n hoveredLocationId && hoveredLocationId === locationData.id && setHoveredLocationId(null);\n };\n\n\n render() {\n const {\n isActiveInfoForm,\n isLoading,\n infoSent,\n showMorePhotos,\n showServerErrorMessage,\n submitSuccess,\n } = this.state;\n\n const {\n comparableLocations,\n countryAlpha2,\n favouriteLocationsIds,\n locationData,\n mapIsOpen,\n missingImagesUrl,\n orderedLocations,\n section,\n setHoveredLocationId,\n siteKey,\n updateFavouriteLocations,\n updateComparableLocations,\n userCountryPhoneCode,\n } = this.props;\n\n\n const {\n address_line1,\n address_title,\n anonymous,\n closed_month,\n energy_rating,\n exempted_energy,\n href,\n id,\n is_increased_in_listview,\n is_internal,\n kind,\n nearby_parking_lot,\n order_path,\n postal_code,\n postal_name,\n presenter,\n price_decrease_percentage,\n provider_logo,\n secondary_kinds,\n show_full_address,\n show_new_badge,\n show_price_decrease_label,\n shown_as_rented_out,\n special_offer,\n street_name,\n suitable_for_kinds,\n temporarily_unavailable,\n uuid,\n monthly_rent_price,\n } = locationData;\n\n\n // TODO remove after deploy and locations props update\n const all_photos = locationData.all_photos || locationData.first_3_photos || [];\n const premium = is_increased_in_listview;\n const premiumOnlyDK = is_increased_in_listview && countryAlpha2 === 'dk';\n const suitableFor = suitable_for_kinds || [];\n const locationKinds = [kind, ...secondary_kinds];\n // const isJeudan = provider_name && provider_name.toLowerCase() === 'jeudan';\n const suitableForItem = suitableFor.length ? suitableFor[0] : null;\n const locationKindsLength =locationKinds.length > 1 && locationKinds.length - 1;\n const reducedKinds = (locationKindsLength && locationKinds.slice(0, 1)) || locationKinds;\n const closedMonth = mappedMonths(closed_month);\n const energyRatingMark = energy_rating ? `${energy_rating}`.toLowerCase() : exempted_energy ? 'exempted' : null;\n const energyRatingLabel = energy_rating ? I18n.t('activerecord.attributes.property.energy_rating') : I18n.t('simple_form.options.location.energy_rating.X');\n const { persons, persons_label, persons_tooltip } = presenter;\n const { formatted_monthly_rent_price, monthly_rent_label } = monthly_rent_price || {};\n const showInfoBadges = anonymous || show_new_badge || shown_as_rented_out || temporarily_unavailable || is_internal || special_offer;\n\n const getInfoFormGrid = classNames('gridInfo-form-wrapper', { 'active-infoform-grid': isActiveInfoForm });\n\n const sliderClasses = classNames('grid-item__image-slider', {\n disabled: all_photos.length === 1 || shown_as_rented_out || temporarily_unavailable,\n anonymous,\n crawled: is_internal,\n 'rented-out': shown_as_rented_out || temporarily_unavailable,\n });\n\n const styles = {\n itemStyle: shown_as_rented_out || temporarily_unavailable ? { background: '#F4F5F5' } : null,\n gallery: shown_as_rented_out || temporarily_unavailable ? { filter: 'grayscale(100%)' } : null,\n iconsBlockStyle: !is_internal\n ? {\n justifyContent: `${\n provider_logo && !anonymous\n ? 'space-between'\n : provider_logo && anonymous\n ? 'flex-start'\n : ''\n }`,\n }\n : null,\n };\n\n const SLIDES = all_photos.map((elem, index) => (\n <div key={elem} className=\"grid-item__image-wrapper\">\n <img\n className={\n index <= 1 ||\n index === all_photos.length - 1 ||\n showMorePhotos\n ? 'lazyload blur-up'\n : ''\n }\n data-sizes=\"auto\"\n alt={elem.alt}\n data-src={elem.url}\n data-expand=\"500\"\n style={styles.carouselStyle}\n height=\"172\"\n width=\"100%\"\n />\n </div>\n ));\n\n const OPTIONS = { loop: true };\n const disableScroll = shown_as_rented_out || temporarily_unavailable;\n\n\n return (\n <div className={`grid-item col-md-6 col-lg-${mapIsOpen ? 6 : 4} col-xl-${mapIsOpen ? 4 : 3}`}>\n <a\n href={href}\n className={`grid-item__wrapper${premium ? ' premium' : ''}`}\n onClick={(e) => handleListItemClick(e, href, id)}\n onMouseEnter={() => setHoveredLocationId && setHoveredLocationId(id)}\n onMouseLeave={this.handleMouseLeave}\n style={styles.itemStyle}\n >\n <div className={sliderClasses}>\n\n { showInfoBadges &&\n <Suspense fallback={''}>\n <InfoBadges\n anonymous={anonymous}\n closedMonth={siteKey === 'dk' && !isMobileOnly ? closedMonth : null}\n isCrawled={is_internal}\n isRentedOut={shown_as_rented_out || temporarily_unavailable}\n isNew={show_new_badge}\n hideCrawledBottom={true}\n missingImagesUrl={missingImagesUrl}\n rentedOutLabel={temporarily_unavailable ? I18n.t('activerecord.attributes.location.states.temporarily_unavailable') : null}\n sale={section !== 'lease'}\n specialOffer={special_offer}\n wrapperClass=\"list-view\"\n />\n </Suspense>\n }\n\n <EmblaCarousel\n carouselName=\"grid-item-slider\"\n disableScroll={disableScroll}\n handleChange={this.handleSlideChange}\n slides={SLIDES}\n options={OPTIONS}\n withDots\n />\n\n { section === 'lease' && !isMobileOnly &&\n <Suspense fallback={''}>\n <CompareIcon\n comparableLocations={comparableLocations}\n kind={kind}\n locationId={id}\n siteKey={siteKey}\n tooltipPosition={'left'}\n updateComparableLocations={updateComparableLocations}\n />\n </Suspense>\n }\n\n <FavouriteIcon\n favoriteLocations={favouriteLocationsIds}\n locationId={id}\n section={section}\n siteKey={siteKey}\n tooltipPosition={'left'}\n updateFavouriteLocations={updateFavouriteLocations}\n />\n\n </div>\n\n <div className={`grid-item__description-wrapper${ shown_as_rented_out || temporarily_unavailable ? ' grid-item__description-wrapper--bordered' : '' }`}>\n\n <div className=\"grid-item__top-row\">\n <div className=\"grid-item__kinds\">\n { reducedKinds.map((elem, index) => <span className=\"grid-item__kind\" key={index}>{ I18n.t(`generic.${elem}`) } </span> )}\n { locationKindsLength\n ? <span className=\"grid-item__kind\">\n +{ locationKindsLength }\n </span>\n : null\n }\n </div>\n\n { energyRatingMark &&\n <div className=\"list-item__energy-rating-wrapper\" role=\"button\" aria-labelledby=\"energy-rating\">\n <div className={`list-item__energy-rating ${energyRatingMark}`}\n data-class=\"list-item-tooltip\"\n data-for={'energy-rating' + id}\n data-tip={energyRatingLabel}\n onClick={() => this.handleTooltip('showEnergyRatingTooltip', 'EnergyRatingRef')}\n ref={ref => this.EnergyRatingRef = ref}\n role=\"button\">\n <SvgIco\n name={`energy-rating-${energyRatingMark}`}\n width={18}\n height={18}\n />\n </div>\n <ReactTooltip\n afterHide={() => this.afterHide('showEnergyRatingTooltip')}\n effect=\"solid\"\n id={'energy-rating' + id}\n place=\"left\"\n className=\"energy-rating-tooltip\"\n />\n </div>\n }\n </div>\n\n <div className={`${show_price_decrease_label ? 'grid-item__sale-badge' : ''} grid-item__description-title`}>\n <h4 style={{ color: shown_as_rented_out || temporarily_unavailable ? '#F4F5F5' : '#ffffff'}}>{ address_line1 }, { show_full_address && postal_code } { postal_name }</h4>\n\n <div className=\"text-title\">\n { !anonymous && !suitableForItem && !is_internal\n ?\n <span>\n <p>{street_name || address_line1}</p>\n <p style={{ marginTop: '6px' }}>\n { show_full_address && postal_code } { postal_name }\n </p>\n </span>\n :\n <p>\n { street_name || address_line1 }{', '}\n { show_full_address && postal_code } { postal_name }\n </p>\n }\n </div>\n\n { !is_internal && !!suitableFor.length &&\n <div className=\"grid-item__suitable-for-wrapper\">\n { suitableForItem &&\n <div className=\"suitable-for\">\n <div className=\"suitable-for__item\">\n <SvgIco name={suitableForItem} width={14} height={14} className=\"suitable-for__icon\" />\n <span className=\"suitable-for__label\">\n { I18n.t(`lb_showroom.showroom.suitable.for.${suitableForItem}`) }\n </span>\n { suitableFor.length > 1 && <div className=\"suitable-for__more\">+{ suitableFor.length - 1 }</div> }\n </div>\n </div>\n }\n </div>\n }\n\n { is_internal &&\n <Suspense fallback={''}>\n <div role=\"button\">\n <InfoNotice noticeKind={'parsed'} root=\"grid\" id={id} missingImagesUrl={missingImagesUrl}/>\n </div>\n </Suspense>\n }\n\n </div>\n\n <div className=\"grid-item__metrics-wrapper\">\n <div className=\"grid-item__area\">\n { presenter.area && <p>{ persons ? persons_label : presenter.area_label }:</p> }\n\n <p>\n { persons || presenter.area }\n { persons && persons_tooltip &&\n <span className=\"list-view__info-tooltip\"\n role=\"button\"\n data-for={'persons-list-tooltip-' + id}\n data-tip={persons_tooltip}\n onClick={() => this.handleTooltip('showPersonsTooltip', 'PersonsTooltipRef')}\n ref={ref => this.PersonsTooltipRef = ref}>\n <SvgIco name=\"info_outline\" size={14} />\n <ReactTooltip\n afterHide={() => this.afterHide('showPersonsTooltip')}\n effect=\"solid\"\n id={'persons-list-tooltip-' + id}\n place=\"top\"\n className=\"persons-tooltip\"\n />\n </span>\n }\n </p>\n </div>\n\n <div className={`grid-item__price-block ${premium ? 'premium' : ''}`}>\n { formatted_monthly_rent_price &&\n <div className=\"grid-item__price\">\n <p>{ monthly_rent_label }:</p>\n <p style={{ display: 'flex' }}>\n { formatted_monthly_rent_price }\n { show_price_decrease_label &&\n <div className=\"sale-image-badge\">\n <span className=\"percentage\">-{price_decrease_percentage}%</span>\n </div>\n }\n </p>\n </div>\n }\n\n <div className=\"grid-item__price\">\n <p>{ presenter.label }:</p>\n <p style={{ display: 'flex' }}>\n { presenter.price }\n { !formatted_monthly_rent_price && show_price_decrease_label &&\n <div className=\"sale-image-badge\">\n <span className=\"percentage\">-{price_decrease_percentage}%</span>\n </div>\n }\n </p>\n </div>\n </div>\n </div>\n\n\n <div className=\"grid-item__bottom\">\n { !shown_as_rented_out && !temporarily_unavailable &&\n <div className=\"grid-item__button-wrapper\" role=\"button\">\n { orderedLocations.includes(uuid)\n ?\n <button className=\"b-button grid-item__info-button sent-info\">\n <SvgIco name=\"check\" size={24} />\n { I18n.t('apps.lb_showroom.detailed.order_form.cta_fixed_info_sent') }\n </button>\n :\n <div className=\"b-button grid-item__info-button\" onClick={ this.handleOpenInfoForm }>\n { I18n.t(\"apps.lb_showroom.detailed.order_form.get_information\") }\n </div>\n }\n </div>\n }\n </div>\n\n { isMobileOnly && premiumOnlyDK &&\n <div role=\"button\" className=\"grid-item__premium-link\" onClick={(e) => this.promotedLInk(e)}>\n { I18n.t('generic.promoted_location_link') }\n </div>\n }\n </div>\n </a>\n\n <div className={getInfoFormGrid} id={'gridItemFormWrapper' + id}>\n { isActiveInfoForm &&\n <Suspense fallback={\n <div className=\"spinner-wrapper order-form-spinner\">\n <div className=\"smoothie-spinner\" />\n </div>}>\n <GetInfoFormModal\n submitHandler={this.infoHandlerSubmit}\n parkingCheckbox={nearby_parking_lot}\n orderUrl={order_path}\n id={id}\n infoSent={infoSent}\n submitSuccess={submitSuccess}\n // isJeudan={isJeudan}\n handleClose={this.handleCloseInfoForm}\n gtmClass=\"getInfoFormGrid\"\n address={address_title}\n showServerErrorMessage={showServerErrorMessage}\n isLoading={isLoading}\n userCountryPhoneCode={userCountryPhoneCode}\n />\n </Suspense>\n }\n </div>\n </div>\n );\n }\n}\n\nGridViewItem.propTypes = {\n address_title: PropTypes.string,\n address_line1: PropTypes.string,\n closed_month: PropTypes.string,\n description: PropTypes.string,\n href: PropTypes.string,\n id: PropTypes.string,\n kind: PropTypes.string,\n locationData: PropTypes.object,\n missingImagesUrl: PropTypes.string,\n postal_code: PropTypes.string,\n postal_name: PropTypes.string,\n presenter: PropTypes.object,\n provider_logo: PropTypes.string,\n provider_name: PropTypes.string,\n provider_url: PropTypes.string,\n secondary_kinds: PropTypes.array,\n show_new_badge: PropTypes.bool,\n shown_as_rented_out: PropTypes.bool,\n uuid: PropTypes.string,\n show_full_address: PropTypes.bool,\n temporarily_unavailable: PropTypes.bool,\n};\n\nGridViewItem.defaultProps = {\n address_title: '',\n address_line1: '',\n closed_month: '',\n description: '',\n href: '',\n id: '',\n kind: '',\n locationData: {},\n missingImagesUrl: '',\n postal_code: '',\n postal_name: '',\n presenter: {},\n provider_logo: '',\n provider_name: '',\n provider_url: '',\n secondary_kinds: [],\n show_new_badge: false,\n shown_as_rented_out: false,\n uuid: '',\n show_full_address: false,\n temporarily_unavailable: false,\n};\n\nexport default React.memo(GridViewItem);\n","import React, { Fragment, Suspense, useContext } from 'react';\n\nimport { NearbyLocationsBanner } from \"../SharedComponents/ItemsListComponents\";\nimport { Context } from \"../index\";\nimport GridViewItem from './GridViewItem.jsx';\n\nconst GridViewSearchAgent = React.lazy(() => import('./GridViewSearchAgent'));\nconst GridViewAdvertisment = React.lazy(() => import('./GridViewAdvertisment'));\n\nimport '../SharedComponents/ItemsListComponents.sass';\nimport './GridViewItem.sass';\n\n\nconst GridViewItemList = ({ hoveredLocationId, setHoveredLocationId }) => {\n\n const {\n comparableLocations,\n currency,\n favouriteLocationsIds,\n keywords,\n locationsByPostalDistricts,\n mapOptions,\n missingImagesUrl,\n orderedLocations,\n section,\n setComparableLocations,\n setFavouriteLocationsIds,\n setOrderedLocations,\n siteKey,\n userCountryPhoneCode,\n } = useContext(Context);\n\n const { countryAlpha2, newSearchAgentPath, rootPath, signupTeaserPath, siteLogoPath } = keywords;\n const mapIsOpen = mapOptions.open;\n\n\n return (\n <div className=\"grid-list container max-width\">\n <div className=\"row\">\n { locationsByPostalDistricts.map(location => {\n\n const { advertisement, id } = location;\n\n if (id === 'nearByBanner') {\n return (\n <NearbyLocationsBanner\n grid={true}\n key={id + 'nearby'}\n mapIsOpen={mapIsOpen}\n siteKey={siteKey}\n />\n )\n } else if (advertisement) {\n\n const { search_agent } = location;\n\n return (\n <Fragment>\n { search_agent\n ?\n <Suspense fallback={''}>\n <GridViewSearchAgent\n advertismentData={location}\n key={id}\n mapIsOpen={mapIsOpen}\n newSearchAgentPath={newSearchAgentPath}\n rootPath={rootPath}\n signupTeaserPath={signupTeaserPath}\n siteKey={siteKey}\n siteLogoPath={siteLogoPath}\n />\n </Suspense>\n :\n <Suspense fallback={''}>\n <GridViewAdvertisment\n advertismentData={location}\n key={id}\n mapIsOpen={mapIsOpen}\n rootPath={rootPath}\n signupTeaserPath={signupTeaserPath}\n siteLogoPath={siteLogoPath}\n />\n </Suspense>\n }\n </Fragment>\n )\n } else {\n return (\n <GridViewItem\n comparableLocations={comparableLocations}\n countryAlpha2={countryAlpha2}\n currency={currency}\n favouriteLocationsIds={favouriteLocationsIds}\n hoveredLocationId={hoveredLocationId}\n key={location.id + 'grid-item'}\n locationData={location}\n mapIsOpen={mapIsOpen}\n missingImagesUrl={missingImagesUrl}\n orderedLocations={orderedLocations}\n section={section}\n setHoveredLocationId={setHoveredLocationId}\n setOrderedLocations={setOrderedLocations}\n siteKey={siteKey}\n updateComparableLocations={setComparableLocations}\n updateFavouriteLocations={setFavouriteLocationsIds}\n userCountryPhoneCode={userCountryPhoneCode}\n />\n )\n }\n })}\n </div>\n </div>\n )\n};\n\n\nexport default GridViewItemList;\n","import React from 'react';\n\nimport searchAgentBanner from '../../../src/images/entry_pages/search-agent-banner.svg';\nimport { DescriptionLine, handleListItemClick } from '../SharedComponents/ItemsListComponents';\n\nimport './GridViewSearchAgent.sass';\n\n\nconst GridViewSearchAgent = ({ advertismentData: { title, description },\n mapIsOpen,\n newSearchAgentPath,\n siteLogoPath,\n rootPath,\n siteKey\n }) => {\n\n const checkDk = siteKey === 'dk';\n\n return (\n <div className={`grid-item col-md-6 col-lg-${mapIsOpen ? 6 : 4} col-xl-${mapIsOpen ? 4 : 3}`}>\n <div className=\"advertisement search-agent\">\n <div\n className=\"grid-item__wrapper\"\n onClick={(e) => handleListItemClick(e, newSearchAgentPath, true)}\n >\n <div className=\"search-agent__image-wrapper\">\n <img\n className=\"search-image lazyload\"\n data-src={searchAgentBanner}\n data-sizes=\"auto\"\n alt=\"Search Agent\"\n width={168}\n height={132}\n />\n </div>\n\n <div className=\"grid-item__description-wrapper\">\n <div className=\"adver-top\">\n <p className=\"adver-content-title\">{title}</p>\n <div className=\"adver-description\">\n <DescriptionLine substring={description} lines={3} />\n </div>\n <div className=\"adver-description-md\">\n <DescriptionLine substring={description} lines={4} />\n </div>\n </div>\n\n <div className=\"search-agent-bottom\">\n <div className=\"search-agent-images\">\n <a href={rootPath}>\n <img\n alt=\"provider logo\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={`https://www.lokalebasen.dk${siteLogoPath}`}\n height={60}\n />\n </a>\n </div>\n <div className=\"grid-item__button-wrapper\">\n <a href={newSearchAgentPath} target=\"_blank\" className='grid-item__search-agent-button sa-button'>\n <span>\n { checkDk\n ? I18n.t('search_agents.new.standard_search_agent')\n : I18n.t('list-view.advertisement.search_agent_button_text')\n }\n </span>\n </a>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default GridViewSearchAgent;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport { handleListItemClick, DescriptionLine } from '../SharedComponents/ItemsListComponents';\n\nimport './ListViewAdvertisment.sass';\n\n\nconst ListViewAdvertisment = ({ advertismentData: {\n search_agent,\n image_text,\n image_text_bottom,\n title,\n description,\n text_on_button,\n text_above_button,\n },\n rootPath,\n signupTeaserPath,\n siteLogoPath,\n }) => {\n\n const advertismentClass = classNames(\n 'col-xl-3 col-lg-3 col-md-4 col-3 search-agent-column-no-padding-left',\n );\n\n const mainWrap = classNames('advertisement-wrap', {\n 'search-agent-wrap': search_agent,\n });\n\n\n return (\n <div className=\"container list-item max-width\">\n <div\n className={mainWrap}\n onClick={(e) => handleListItemClick(e, signupTeaserPath, true)}\n >\n <div className=\"list-item__wrapper row\">\n <div className={advertismentClass}>\n <div className=\"advertisement\">\n <p className=\"adver-title\" data-bind=\"text: image_text\">\n {image_text}\n </p>\n <span\n className=\"adver-title bottom-adver\"\n data-bind=\"text: image_text_bottom\"\n >\n {image_text_bottom}\n </span>\n </div>\n </div>\n\n <div className=\"list-item__description-wrapper col-xl-6 col-lg-6 col-md-4 col-sm-9 col-12\">\n <div className=\"adver-description-container\">\n <div className=\"list-item__description-title\">\n <p>{title}</p>\n </div>\n\n <div className=\"description-line\">\n <div className=\"adver-description-tablet\">\n <DescriptionLine substring={description} lines={3} />\n </div>\n <div className=\"adver-description-desktop\">\n <DescriptionLine substring={description} lines={2} />\n </div>\n </div>\n\n <div className=\"list-item__bottom\">\n <div className=\"advert-images\">\n <a href={rootPath}>\n <img\n alt=\"provider logo\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={`https://www.lokalebasen.dk${siteLogoPath}`}\n height={44}\n />\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"list-item__metrics-wrapper col-xl-3 col-lg-3 col-md-4\">\n <div className=\"adver-metrics-container\">\n <div className=\"wrap-advert-text\">{text_above_button}</div>\n <div className=\"b-button list-item__get-info-button\">\n { text_on_button }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default ListViewAdvertisment;\n","import React, { Component, Fragment, Suspense } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport 'react-responsive-carousel/lib/styles/carousel.min.css';\nimport { isMobileOnly, isMobile } from 'react-device-detect';\nimport ReactTooltip from \"react-tooltip\";\n\nimport httpService from '../../../api/httpService';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport { mappedMonths } from '../../helpers/danishMonths';\nimport FavouriteIcon from '../../SharedComponents/FavouriteIcon';\nimport { DescriptionLine, handleListItemClick } from '../SharedComponents/ItemsListComponents';\nimport EmblaCarousel from \"../../SharedComponents/EmblaCarousel\";\nimport { sendTrovitLead } from \"../../helpers/trovit_analitics\";\n\nconst CompareIcon = React.lazy(() => import('../../SharedComponents/CompareIcon'));\nconst InfoBadges = React.lazy(() => import('../../SharedComponents/InfoBadges'));\nconst InfoNotice = React.lazy(() => import('../../SharedComponents/InfoNotice'));\nconst GetInfoFormModal = React.lazy(() => import('../../SharedComponents/GetInfoFormModal'));\n\n\nimport './ListViewItems.sass';\n\n\nclass ListViewItems extends Component {\n state = {\n isActiveInfoForm: false,\n orderedLocations: [],\n additionalFormPadding: null,\n offset: null,\n submitSuccess: false,\n infoSent: false,\n dataProtectionIsOpen: false,\n showServerErrorMessage: false,\n showMorePhotos: false,\n isLoading: false,\n showEnergyRatingTooltip: false,\n orderId: null,\n };\n\n static timestamp() {\n return { timestamp: new Date().toISOString() };\n }\n\n componentDidMount() {\n window.history.scrollRestoration = 'manual';\n }\n\n handleOpenInfoForm = () => {\n this.setState({ isActiveInfoForm: true });\n };\n\n handleCloseInfoForm = () => {\n this.setState({ isActiveInfoForm: false, showServerErrorMessage: false });\n window.removeEventListener('mousedown', this.handleClickOutside);\n };\n\n infoHandlerSubmit = (params, orderUrl, abTestParam) => {\n const { uuid } = this.props.locationData;\n\n // params.ab_code = abTestParam;\n\n this.setState({ isLoading: true });\n\n httpService\n .orderInfoListViewForm(orderUrl, params, uuid)\n .then((response) => {\n if (response) {\n const orderedLocations = JSON.parse(localStorage.getItem('my.ordered_locations'));\n const { order_uuid } = response;\n\n orderedLocations[uuid] = [this.constructor.timestamp()];\n\n const updateOrderedLocation = JSON.stringify(orderedLocations);\n\n localStorage.setItem('my.ordered_locations', updateOrderedLocation);\n\n sendTrovitLead(this.props.siteKey);\n\n this.setState({\n submitSuccess: true,\n showServerErrorMessage: false,\n isLoading: false,\n orderId: order_uuid,\n });\n\n this.props.setOrderedLocations(Object.keys(orderedLocations));\n\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'ga4-get-info-form-submit',\n eventCategory: 'submit-info-form-list-view',\n eventAction: 'submit-info-form-list-view',\n });\n } else {\n this.setState({\n submitSuccess: false,\n showServerErrorMessage: true,\n isLoading: false,\n });\n }\n });\n };\n\n handleSlideChange = () =>\n !this.state.showMorePhotos && this.setState({ showMorePhotos: true });\n\n promotedLink = (e) => {\n if (!e.ctrlKey && !e.metaKey) {\n e.preventDefault();\n e.stopPropagation();\n\n const href =\n 'https://www.lokalebasen.dk/serviceydelser-til-udlejere/fremhevet/annoncering';\n window.open(href, '_blank');\n }\n };\n\n handleTooltip = (key, tooltipRef) => {\n const tooltipShowState = this.state[key];\n\n this.setState({ [key]: !tooltipShowState }, () =>\n tooltipShowState ? ReactTooltip.hide(this[tooltipRef]) : ReactTooltip.show(this[tooltipRef])\n );\n };\n\n afterHide = (key) =>\n this.setState({ [key]: false });\n\n\n render() {\n const {\n currentSlide,\n infoSent,\n isActiveInfoForm,\n isLoading,\n showMorePhotos,\n showServerErrorMessage,\n submitSuccess,\n orderId,\n } = this.state;\n\n const {\n comparableLocations,\n countryAlpha2,\n currency,\n favouriteLocationsIds,\n hideMap,\n missingImagesUrl,\n locationData,\n orderedLocations,\n section,\n siteKey,\n updateComparableLocations,\n updateFavouriteLocations,\n userCountryPhoneCode,\n } = this.props;\n\n const {\n address_line1,\n address_title,\n anonymous,\n description,\n energy_rating,\n exempted_energy,\n href,\n id,\n indexing_prohibited,\n is_increased_in_listview,\n is_internal,\n kind,\n nearby_parking_lot,\n order_path,\n postal_code,\n postal_name,\n presenter,\n price_decrease_percentage,\n provider_logo,\n provider_name,\n secondary_kinds,\n show_full_address,\n show_new_badge,\n show_price_decrease_label,\n shown_as_rented_out,\n special_offer,\n street_name,\n suitable_for_kinds,\n temporarily_unavailable,\n uuid,\n provider_partner,\n monthly_rent_price,\n } = locationData;\n\n\n // TODO remove after deploy and locations props update\n const all_photos = locationData.all_photos || locationData.first_3_photos || [];\n const premium = is_increased_in_listview;\n const premiumOnlyDK = is_increased_in_listview && countryAlpha2 === 'dk';\n const suitableFor = suitable_for_kinds || [];\n const locationKinds = [kind, ...secondary_kinds];\n const descriptionLines = premium ? 5 : suitableFor.length && is_internal ? 2 : 3;\n // const isJeudan = provider_name && provider_name.toLowerCase() === 'jeudan';\n const suitableForList = suitableFor.length ? (suitableFor.length > 1 ? suitableFor.slice(0, 1) : suitableFor) : null;\n const kindsCountToShow = isMobile ? 1 : 2;\n const locationKindsLength = locationKinds.length > kindsCountToShow && locationKinds.length - kindsCountToShow;\n const reducedKinds = (locationKindsLength && locationKinds.slice(0, kindsCountToShow)) || locationKinds;\n const closedMonth = mappedMonths(locationData.closed_month);\n const streetName = street_name ? street_name + ',' : null;\n const addressLine = address_line1 ? address_line1 + ',' : null;\n const addressOrStreet = streetName || addressLine;\n const energyRatingMark = energy_rating ? `${energy_rating}`.toLowerCase() : exempted_energy ? 'exempted' : null;\n const energyRatingLabel = energy_rating ? I18n.t('activerecord.attributes.property.energy_rating') : I18n.t('simple_form.options.location.energy_rating.X');\n const { persons, persons_label, persons_tooltip } = presenter;\n const { formatted_monthly_rent_price, monthly_rent_label } = monthly_rent_price || {};\n const showInfoBadges = anonymous || show_new_badge || shown_as_rented_out || temporarily_unavailable || is_internal || special_offer;\n\n const getInfoForm = classNames('form-block col-lg-9 col-sm-12', {\n 'active-form': isActiveInfoForm,\n });\n\n const descriptionClasses = classNames('description-line mobile-hidden', {\n 'reduced': suitableFor.length,\n });\n\n const locationClasses = classNames('container list-item max-width', {\n 'list-item--premium': premium,\n });\n\n const sliderClasses = classNames('list-item__image-slider', {\n disabled: all_photos.length === 1 || shown_as_rented_out || temporarily_unavailable,\n anonymous,\n crawled: is_internal,\n 'rented-out': shown_as_rented_out || temporarily_unavailable,\n 'col-xl-3 col-lg-3 col-md-4 col-3': !premium,\n });\n\n const descriptionWrapperClasses = classNames('list-item__description-wrapper', {\n 'col-xl-6 col-lg-6 col-md-4 col-sm-9 col-9': !premium,\n 'rented-out': shown_as_rented_out || temporarily_unavailable,\n })\n\n const metricsWrapperClasses = classNames('list-item__metrics-wrapper mobile-hidden col-lg-3 col-md-4', {\n 'rented-out': shown_as_rented_out || temporarily_unavailable,\n });\n\n const styles = {\n itemStyle: shown_as_rented_out || temporarily_unavailable ? { background: '#F4F5F5' } : null,\n carouselStyle: shown_as_rented_out || temporarily_unavailable ? { filter: 'grayscale(100%)' } : null,\n };\n\n const SLIDES = all_photos.map((elem, index) => (\n <div key={elem} className=\"list-item__image-wrapper\">\n <img\n className={\n index <= 1 ||\n index === all_photos.length - 1 ||\n showMorePhotos\n ? 'lazyload blur-up'\n : ''\n }\n data-sizes=\"auto\"\n alt={elem.alt}\n data-src={elem.url}\n data-expand=\"500\"\n style={styles.carouselStyle}\n height=\"172\"\n width=\"100%\"\n />\n </div>\n ));\n\n const OPTIONS = { loop: true };\n const disableScroll = shown_as_rented_out || temporarily_unavailable;\n\n\n return (\n <div className={locationClasses}>\n <a\n href={href}\n className=\"list-item__wrapper row\"\n onClick={(e) => handleListItemClick(e, href, id)}\n {...(indexing_prohibited ? { rel: 'noindex nofollow' } : {})}\n style={styles.itemStyle}\n >\n <div className={sliderClasses}>\n\n { showInfoBadges &&\n <Suspense fallback={''}>\n <InfoBadges\n anonymous={anonymous}\n closedMonth={siteKey === 'dk' && !isMobileOnly ? closedMonth : null}\n isCrawled={is_internal}\n isRentedOut={shown_as_rented_out || temporarily_unavailable}\n isNew={show_new_badge}\n hideCrawledBottom={true}\n missingImagesUrl={missingImagesUrl}\n rentedOutLabel={temporarily_unavailable ? I18n.t('activerecord.attributes.location.states.temporarily_unavailable') : null}\n sale={section !== 'lease'}\n specialOffer={special_offer}\n wrapperClass=\"list-view\"\n />\n </Suspense>\n }\n\n <EmblaCarousel\n carouselName=\"list-item-slider\"\n disableScroll={disableScroll}\n handleChange={this.handleSlideChange}\n slides={SLIDES}\n options={OPTIONS}\n withDots\n />\n\n { section === 'lease' && !isMobileOnly &&\n <Suspense fallback={''}>\n <CompareIcon\n comparableLocations={comparableLocations}\n kind={kind}\n locationId={id}\n siteKey={siteKey}\n tooltipPosition={'left'}\n updateComparableLocations={updateComparableLocations}\n />\n </Suspense>\n }\n\n <FavouriteIcon\n favoriteLocations={favouriteLocationsIds}\n locationId={id}\n section={section}\n siteKey={siteKey}\n tooltipPosition={'left'}\n updateFavouriteLocations={updateFavouriteLocations}\n />\n </div>\n\n <div className={descriptionWrapperClasses}>\n <div className=\"list-item__kinds-line\">\n <span className=\"list-item__kinds\">\n { reducedKinds.map((elem, index) =>\n <span className=\"list-item__kind\" key={index}>{ I18n.t(`generic.${elem}`)} </span>\n )}\n\n { locationKindsLength\n ? <span className=\"list-item__kind\">\n +{ locationKindsLength }\n </span>\n : null\n }\n </span>\n\n { energyRatingMark &&\n <div className={`list-item__energy-rating-wrapper ${energyRatingMark} list`}\n role=\"button\"\n aria-labelledby=\"energy-rating\">\n <div className={`list-item__energy-rating ${energyRatingMark}`}\n data-class=\"list-item-tooltip\"\n data-for={'energy-rating' + id}\n data-tip={energyRatingLabel}\n onClick={() => this.handleTooltip('showEnergyRatingTooltip', 'EnergyRatingRef')}\n ref={ref => this.EnergyRatingRef = ref}\n role=\"button\">\n <div className=\"list-item__energy-rating-label\">\n { energyRatingLabel }\n </div>\n <SvgIco\n name={`energy-rating-${energyRatingMark}`}\n width={premium ? 24 : 18}\n height={premium ? 24 : 18}\n />\n <ReactTooltip\n afterHide={() => this.afterHide('showEnergyRatingTooltip')}\n effect=\"solid\"r\n id={'energy-rating' + id}\n place=\"left\"\n />\n </div>\n </div>\n }\n </div>\n\n <div className=\"list-item__description-title\">\n <h4>{ address_line1 }, { show_full_address && postal_code } { postal_name }</h4>\n\n { (premium && suitableForList)\n ?\n <p style={styles.descriptionStyle}>\n { addressOrStreet } { show_full_address && postal_code }{' '}\n { postal_name }\n </p>\n :\n <Fragment>\n <div className=\"list-item__description-title-wrapper\">\n <p style={styles.descriptionStyle}>\n { street_name || address_line1 }\n </p>\n <p>\n { show_full_address && postal_code } { postal_name }\n </p>\n </div>\n <div className=\"list-item__description-title-wrapper desktops\">\n <p style={styles.descriptionStyle}>\n { addressOrStreet } { show_full_address && postal_code }{' '}\n { postal_name }\n </p>\n </div>\n </Fragment>\n }\n </div>\n\n { suitableForList &&\n <div className={`suitable-for ${is_internal ? 'top' : ''}`}>\n { suitableForList.map((elem, index) =>\n <div className=\"suitable-for__item\" key={index}>\n\n <SvgIco name={elem} width={22} height={22} />\n\n <span className=\"suitable-for__label\">\n { I18n.t(`lb_showroom.showroom.suitable.for.${elem}`) }\n </span>\n\n { index === suitableForList.length - 1 && suitableFor.length > 1 &&\n <div className=\"suitable-for__more\">\n +{ suitableFor.length - 1 }\n </div>\n }\n </div>\n )}\n </div>\n }\n\n <div className={descriptionClasses}>\n <p>\n {\n <DescriptionLine\n substring={description}\n lines={descriptionLines}\n />\n }\n </p>\n </div>\n\n <div className=\"list-item__bottom-wrapper\">\n <div className=\"list-item__bottom\">\n\n { is_internal &&\n <Suspense fallback={''}>\n <div role=\"button\">\n <div role=\"button\">\n <InfoNotice\n id={id}\n missingImagesUrl={missingImagesUrl}\n noticeKind={'parsed'}\n root=\"list\"\n showCopyright={true}\n />\n </div>\n </div>\n </Suspense>\n }\n </div>\n </div>\n\n { premium && <span className=\"list-item__premium-separator\" /> }\n\n </div>\n\n <div className={metricsWrapperClasses}>\n <div className=\"list-item__metrics\">\n { (persons || presenter.area) &&\n <div className=\"list-item__metrics-area\">\n <p className=\"list-item__metrics-description\">\n { persons ? persons_label : presenter.area_label}:\n </p>\n <p className=\"list-item__metrics-square\">\n { persons || presenter.area }\n { persons && persons_tooltip &&\n <span className=\"list-view__info-tooltip\"\n role=\"button\"\n data-for={'persons-list-tooltip-' + id}\n data-tip={persons_tooltip}\n onClick={() => this.handleTooltip('showPersonsTooltip', 'PersonsTooltipRef')}\n ref={ref => this.PersonsTooltipRef = ref}>\n <SvgIco name=\"info_outline\" size={14} />\n <ReactTooltip\n afterHide={() => this.afterHide('showPersonsTooltip')}\n effect=\"solid\"\n id={'persons-list-tooltip-' + id}\n place=\"top\"\n className=\"persons-tooltip\"\n />\n </span>\n }\n </p>\n </div>\n }\n\n <div className={`list-item__price-wrapper ${ premium ? 'promoted-location' : ''}`}>\n <div>\n { formatted_monthly_rent_price &&\n <Fragment>\n <p className=\"list-item__metrics-description\">\n { monthly_rent_label }:\n </p>\n <p className=\"list-item__price month-price\" style={{ display: 'flex' }}>\n { formatted_monthly_rent_price }\n { show_price_decrease_label &&\n <div className=\"sale-image-badge\">\n <span className=\"percentage\">-{price_decrease_percentage}%</span>\n </div>\n }\n </p>\n </Fragment>\n }\n </div>\n <div>\n <p className=\"list-item__metrics-description\">{presenter.label}:</p>\n <p className={`list-item__price ${!formatted_monthly_rent_price ? 'month-price' : '' }`} style={{ display: 'flex' }}>\n { presenter.price }\n { !formatted_monthly_rent_price && show_price_decrease_label &&\n <div className=\"sale-image-badge\">\n <span className=\"percentage\">-{price_decrease_percentage}%</span>\n </div>\n }\n </p>\n </div>\n </div>\n </div>\n\n { !shown_as_rented_out && !temporarily_unavailable &&\n <div role=\"button\" className={`list-item__info-button-wrapper ${orderedLocations.includes(uuid) ? 'list-item__info-sent' : ''}`}>\n { orderedLocations.includes(uuid)\n ?\n <div className=\"b-button list-item__get-info-button sent-info\">\n <SvgIco name=\"check\" size={24}/>\n { I18n.t('apps.lb_showroom.detailed.order_form.cta_fixed_info_sent') }\n </div>\n :\n <div role=\"button\">\n <div className=\"b-button list-item__get-info-button\"\n id={'infoFormBtn' + id}\n onClick={this.handleOpenInfoForm}>\n { I18n.t('apps.lb_showroom.detailed.order_form.get_information') }\n </div>\n </div>\n }\n\n { premiumOnlyDK && (\n <div\n role=\"button\"\n className=\"list-item__premium-link\"\n onClick={(e) => this.promotedLink(e)}>\n { I18n.t('generic.promoted_location_link') }\n </div>\n )}\n\n </div>\n }\n\n\n { (shown_as_rented_out || temporarily_unavailable) && premiumOnlyDK &&\n <div\n role=\"button\"\n className=\"list-item__premium-link\"\n onClick={(e) => this.promotedLink(e)}>\n { I18n.t('generic.promoted_location_link') }\n </div>\n }\n </div>\n </a>\n\n { isActiveInfoForm &&\n <div className={getInfoForm} id={'listItemFormWrapper' + id}>\n <div\n className=\"list-item__close-form-button\"\n onClick={this.handleCloseInfoForm}\n />\n <div className=\"list-item__form-wrapper\">\n <div className=\"list-item__info-form-wrapper\">\n <Suspense fallback={\n <div className=\"spinner-wrapper order-form-spinner\">\n <div className=\"smoothie-spinner\" />\n </div>}>\n <GetInfoFormModal\n submitHandler={this.infoHandlerSubmit}\n parkingCheckbox={nearby_parking_lot}\n orderUrl={order_path}\n id={id}\n infoSent={infoSent}\n submitSuccess={submitSuccess}\n // isJeudan={isJeudan}\n handleClose={this.handleCloseInfoForm}\n gtmClass=\"getInfoForm\"\n address={address_title}\n showServerErrorMessage={showServerErrorMessage}\n isLoading={isLoading}\n userCountryPhoneCode={userCountryPhoneCode}\n />\n </Suspense>\n </div>\n </div>\n </div>\n }\n </div>\n );\n }\n}\n\nListViewItems.propTypes = {\n address_title: PropTypes.string,\n address_line1: PropTypes.string,\n closed_month: PropTypes.string,\n description: PropTypes.string,\n href: PropTypes.string,\n id: PropTypes.string,\n kind: PropTypes.string,\n locationData: PropTypes.object,\n missingImagesUrl: PropTypes.string,\n postal_name: PropTypes.string,\n presenter: PropTypes.object,\n provider_logo: PropTypes.string,\n provider_name: PropTypes.string,\n provider_url: PropTypes.string,\n secondary_kinds: PropTypes.array,\n show_new_badge: PropTypes.bool,\n shown_as_rented_out: PropTypes.bool,\n show_full_address: PropTypes.bool,\n temporarily_unavailable: PropTypes.bool,\n};\n\nListViewItems.defaultProps = {\n address_title: '',\n address_line1: '',\n closed_month: '',\n description: '',\n href: '',\n id: '',\n kind: '',\n locationData: {},\n missingImagesUrl: '',\n postal_name: '',\n presenter: {},\n provider_logo: '',\n provider_name: '',\n provider_url: '',\n secondary_kinds: [],\n show_new_badge: false,\n shown_as_rented_out: false,\n uuid: '',\n show_full_address: false,\n temporarily_unavailable: false,\n};\n\n\nexport default ListViewItems;\n","import React, { Fragment, Suspense, useContext, useEffect } from 'react';\nimport PropTypes from \"prop-types\";\n\nimport ListViewItems from '../ListViewItems/ListViewItems';\nimport { NearbyLocationsBanner } from \"../SharedComponents/ItemsListComponents\";\nimport { Context } from \"../index\";\n\nconst ListViewSearchAgent = React.lazy(() => import('./ListViewSearchAgent'));\nconst ListViewAdvertisment = React.lazy(() => import('./ListViewAdvertisment'));\n\nimport '../SharedComponents/ItemsListComponents.sass';\nimport './ListViewItems.sass';\n\n\nconst ListViewItemsList = () => {\n\n const {\n comparableLocations,\n currency,\n dynRemarketingId,\n favouriteLocationsIds,\n keywords,\n locationsByPostalDistricts,\n missingImagesUrl,\n orderedLocations,\n section,\n setComparableLocations,\n setFavouriteLocationsIds,\n setOrderedLocations,\n siteKey,\n userCountryPhoneCode,\n } = useContext(Context);\n\n const { countryAlpha2, newSearchAgentPath, rootPath, signupTeaserPath, siteLogoPath } = keywords;\n\n\n useEffect(() => {\n locationsByPostalDistricts.length > 0\n && !!dynRemarketingId\n && trackDynamicRemarketing(locationsByPostalDistricts.map(location => location.id));\n }, []);\n\n\n const trackDynamicRemarketing = (locationsIds) => {\n const dynRemData = {\n send_to: dynRemarketingId,\n listing_id: locationsIds,\n listing_pagetype: 'list_view_show',\n };\n\n window.dataLayer = window.dataLayer || [];\n\n function gtag(...args) {\n dataLayer.push(args);\n }\n gtag('js', new Date());\n gtag('config', dynRemarketingId);\n gtag('event', 'view_item', dynRemData);\n };\n\n\n return (\n <div className=\"list-view__list-as-list\">\n { locationsByPostalDistricts.map((location, index) => {\n\n const { advertisement, id } = location;\n\n if (id === 'nearByBanner') {\n\n return <NearbyLocationsBanner siteKey={siteKey} key={`${id}-${index}`}/>\n\n } else if (advertisement) {\n\n const { search_agent } = location;\n\n return (\n <Fragment key={`${id}-${index}`}>\n { search_agent\n ?\n <Suspense fallback={''}>\n <ListViewSearchAgent\n advertismentData={location}\n key={`${id}-${index}`}\n newSearchAgentPath={newSearchAgentPath}\n rootPath={rootPath}\n signupTeaserPath={signupTeaserPath}\n siteKey={siteKey}\n siteLogoPath={siteLogoPath}\n />\n </Suspense>\n :\n <Suspense fallback={''}>\n <ListViewAdvertisment\n advertismentData={location}\n key={`${id}-${index}`}\n rootPath={rootPath}\n signupTeaserPath={signupTeaserPath}\n siteLogoPath={siteLogoPath}\n />\n </Suspense>\n }\n </Fragment>\n )\n } else {\n\n return (\n <ListViewItems\n comparableLocations={comparableLocations}\n countryAlpha2={countryAlpha2}\n currency={currency}\n favouriteLocationsIds={favouriteLocationsIds}\n key={`${id}-${index}`}\n locationData={location}\n missingImagesUrl={missingImagesUrl}\n orderedLocations={orderedLocations}\n section={section}\n setOrderedLocations={setOrderedLocations}\n siteKey={siteKey}\n updateFavouriteLocations={setFavouriteLocationsIds}\n updateComparableLocations={setComparableLocations}\n userCountryPhoneCode={userCountryPhoneCode}\n />\n )\n }\n })}\n </div>\n )\n}\n\n\nexport default ListViewItemsList;\n\n\nListViewItemsList.propTypes = {\n dynRemarketingId: PropTypes.array,\n};\n\nListViewItemsList.defaultProps = {\n dynRemarketingId: [],\n};\n","import React from 'react';\nimport searchAgentBanner from '../../../src/images/entry_pages/search-agent-banner.svg';\nimport { DescriptionLine, handleListItemClick } from '../SharedComponents/ItemsListComponents';\n\nimport './ListViewSearchAgent.sass';\n\n\nconst ListViewSearchAgent = ({ advertismentData: { title, description },\n newSearchAgentPath,\n signupTeaserPath,\n siteLogoPath,\n rootPath,\n siteKey,\n }) => {\n\n const checkDk = siteKey === 'dk';\n\n return (\n <div className=\"container max-width\">\n <div\n className=\"search-banner\"\n onClick={(e) => handleListItemClick(e, newSearchAgentPath, true)}\n >\n <div className=\"list-item__wrapper row\">\n <div className=\"col-xl-3 col-lg-3 col-md-4 col-3 search-agent-banner\">\n <img\n className=\"search-image lazyload\"\n data-src={searchAgentBanner}\n data-sizes=\"auto\"\n alt=\"search-agent-banner\"\n height={132}\n width={168}\n />\n </div>\n\n <div className=\"list-item__description-wrapper col-xl-6 col-lg-6 col-md-4 col-sm-9 col-12\">\n <div className=\"adver-description-container\">\n <div className=\"list-item__description-title\">\n <p>{title}</p>\n </div>\n\n <div className=\"description-line\">\n <div className=\"adver-description-tablet\">\n <DescriptionLine substring={description} lines={3} />\n </div>\n <div className=\"adver-description-desktop\">\n <DescriptionLine substring={description} lines={2} />\n </div>\n </div>\n\n <div className=\"list-item__bottom\">\n <div className=\"advert-images\">\n <a href={rootPath}>\n <img\n alt=\"provider logo\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={`https://www.lokalebasen.dk${siteLogoPath}`}\n height={44}\n />\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"search-banner__button-wrapper col-xl-3 col-lg-3 col-md-4\">\n <a href={newSearchAgentPath} target=\"_blank\" className={`list-item__get-info-button sa-button ${checkDk ? 'dk_align' : ''}`}>\n <span>{checkDk ? I18n.t('search_agents.new.standard_search_agent') : I18n.t('list-view.advertisement.search_agent_button_text')}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default ListViewSearchAgent;\n","import React, { forwardRef, useImperativeHandle, useState } from 'react';\nimport { InfoWindow } from \"@react-google-maps/api\";\n\nimport { apiProvider } from '../../../api/core';\nimport MarkerContent from './MarkerContent';\nimport MarkersList from \"./MarkersList\";\n\n\nconst InfoWrapper = forwardRef((props, ref) => {\n\n const { activePlaceId, setActivePlaceId } = props;\n\n const [markerFullInfo, setMarkerFullInfo] = useState(null);\n const [windowPosition, setWindowPosition] = useState(null);\n const [markersInfo, setMarkersInfo] = useState(null);\n\n\n const show = (id, pos, ids) => {\n let locationsParamsIds = '';\n const idsList = ids || [id];\n const sameMarker =\n (markerFullInfo && id === markerFullInfo.id)\n ||\n (markersInfo && ids && markersInfo.every(marker => ids.includes(marker.id)));\n\n idsList.map(id => locationsParamsIds = locationsParamsIds + `ids[]=${id}&`);\n setMarkerFullInfo(null);\n setWindowPosition(pos);\n setMarkersInfo(null);\n setActivePlaceId(null);\n\n !sameMarker &&\n apiProvider.getAll(`/lease/api/frontend/locations/map_markers_info?${locationsParamsIds}`)\n .then(response => {\n if (response) {\n ids\n ? setMarkersInfo(response.map(marker => JSON.parse(marker)))\n : setMarkerFullInfo(JSON.parse(response[0]));\n\n setActivePlaceId(id);\n }\n });\n };\n\n\n const close = () => {\n setMarkersInfo(null);\n setMarkerFullInfo(null);\n };\n\n\n const onInfoToggle = () => {\n setMarkerFullInfo(null);\n setMarkersInfo(null);\n setActivePlaceId(null);\n };\n\n\n useImperativeHandle(ref, () => ({\n show, close,\n }), [show, close]);\n\n\n return (\n <div>\n { markerFullInfo || markersInfo\n ?\n <InfoWindow position={windowPosition} onUnmount={() => onInfoToggle(activePlaceId)}>\n { markersInfo\n ? <MarkersList markers={markersInfo} handleClose={onInfoToggle} />\n : <MarkerContent markerData={markerFullInfo} onInfoToggle={onInfoToggle} />\n }\n </InfoWindow>\n : null\n }\n </div>\n );\n});\n\n\nexport default InfoWrapper;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { Marker } from '@react-google-maps/api';\n\nimport pin from \"../../../src/images/list_view_pin.svg\";\nimport pinHover from \"../../../src/images/list_view_pin_hover.svg\";\n\n\nconst MapMarker = ({ activePlaceId,\n clusterer,\n handleActiveMarker,\n hoveredLocationId,\n location,\n noClustererRedraw\n }) => {\n\n const [hovered, setHovered] = useState(null);\n const markerRef = useRef();\n\n const { id, lat, lng }= location;\n const isActive = activePlaceId && activePlaceId === id;\n\n\n useEffect(() => {\n if (hoveredLocationId && hoveredLocationId === id) {\n !hovered && setHovered(true);\n } else {\n hovered && setHovered(false);\n }\n }, [hoveredLocationId]);\n\n\n return (\n <Marker\n clusterer={clusterer}\n key={id}\n noClustererRedraw={noClustererRedraw}\n // noClustererRedraw={true}\n onClick={() => handleActiveMarker(id, { lat, lng }, location.ids)}\n onMouseOver={() => setHovered(true)}\n onMouseOut={() => setHovered(false)}\n options={{ zIndex: hovered || isActive ? 1000 : null, metadata: { id }}}\n position={location}\n ref={markerRef}\n icon={\n { url: hovered || isActive ? pinHover : pin,\n scaledSize: { width: 50, height: 71 },\n anchor: { x: 20, y: 45 },\n }\n }\n />\n )\n};\n\nexport default MapMarker;\n","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport { MarkerClusterer } from '@react-google-maps/api';\n\nimport { Context } from \"../index\";\nimport InfoWrapper from './InfoWrapper'\nimport MapMarker from \"./MapMarker\";\n\n\nconst MapWrapper = ({ boundsTrigger,\n closeInfoWindow,\n markersArray,\n }) => {\n\n const { hoveredLocationId } = useContext(Context);\n\n const [activeCluster, setActiveCluster] = useState(null);\n const [activePlaceId, setActivePlaceId] = useState(null);\n\n const infoWindow = useRef();\n const clusterWrapper = useRef();\n\n\n useEffect(() => {\n if (hoveredLocationId) {\n highlightCluster();\n } else {\n activeCluster && activeCluster.clusterIcon.div && activeCluster.clusterIcon.div.classList.remove('active')\n setActiveCluster(null);\n }\n }, [hoveredLocationId]);\n\n\n useEffect(() => {\n closeInfoWindow && infoWindow && infoWindow.current.close();\n }, [closeInfoWindow]);\n\n\n useEffect(() => {\n infoWindow && infoWindow.current.close();\n }, [markersArray]);\n\n\n const highlightCluster = () => {\n const clusters = clusterWrapper && clusterWrapper.current && clusterWrapper.current.state && clusterWrapper.current.state.markerClusterer.getClusters();\n let currentCluster;\n\n clusters && clusters.length && clusters.map(cluster => {\n const markers = cluster.getMarkers();\n const hoveredMarker = markers.find(marker => marker.metadata.id === hoveredLocationId);\n\n if (hoveredMarker) {\n activeCluster && activeCluster.clusterIcon.div && activeCluster.clusterIcon.div.classList.remove('active');\n cluster.clusterIcon.div.classList.add('active');\n currentCluster = cluster;\n }\n });\n\n !currentCluster && activeCluster && activeCluster.clusterIcon.div && activeCluster.clusterIcon.div.classList.remove('active');\n setActiveCluster(currentCluster || null);\n };\n\n\n const handleActiveMarker = (id, pos, ids) =>\n infoWindow.current.show(id, pos, ids);\n\n\n const filteredArray = (markersArray && markersArray.filter(e => (e.location.lat && e.location.lon))) || [];\n const markersData = filteredArray.map(({id, location}) => {\n const marker = { lng: location.lon, lat: location.lat, id: location.id ? location.id : id };\n\n location.ids && (marker.ids = location.ids);\n\n return marker;\n });\n\n\n return (\n <div>\n { !boundsTrigger && markersData.length &&\n <MarkerClusterer\n averageCenter\n enableRetinaIcons\n maxZoom={15}\n gridSize={60}\n clusterClass='cluster'\n ref={clusterWrapper}\n >\n { clusterer => (\n <div>\n { markersData.map((location, index) => {\n\n const noClustererRedraw = index !== (markersData.length - 1);\n\n return(\n <MapMarker\n activePlaceId={activePlaceId}\n clusterer={clusterer}\n handleActiveMarker={handleActiveMarker}\n hoveredLocationId={hoveredLocationId}\n key={`marker-${location.id}-${index}`}\n location={location}\n noClustererRedraw={noClustererRedraw}\n />\n )\n })\n }\n </div>\n )}\n </MarkerClusterer>\n }\n\n <InfoWrapper\n activePlaceId={activePlaceId}\n ref={infoWindow}\n setActivePlaceId={setActivePlaceId}\n />\n\n </div>\n );\n}\n\nexport default MapWrapper;\n","import React, { useContext, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CrawledBadge, RentedOutBadge, AnonymousBadge } from \"../../SharedComponents/Badges\";\nimport { mappedMonths } from '../../helpers/danishMonths';\nimport FavouriteIcon from '../../SharedComponents/FavouriteIcon';\nimport CompareIcon from \"../../SharedComponents/CompareIcon\";\nimport Tooltip from '../../SharedComponents/Tooltip';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { Context } from \"../index\";\n\nimport './MarkerContent.sass';\n\n\nconst MarkerContent = ({ markerData, onInfoToggle, showFullAddress }) => {\n\n const {\n comparableLocations,\n favouriteLocationsIds,\n section,\n setFavouriteLocationsIds,\n setComparableLocations,\n siteKey,\n } = useContext(Context);\n\n const [showToolTip, setShowToolTip] = useState(false);\n\n const {\n address_line_1,\n anonymous,\n closed_month,\n href,\n id,\n is_internal,\n kind,\n postal_code,\n postal_name,\n presenter,\n primary_photo_2x: imageUrl,\n shown_as_rented_out,\n street_name,\n suitable_for_kinds,\n temporarily_unavailable,\n } = markerData;\n\n const {\n area,\n area_icon,\n area_label,\n label: priceLabel,\n price,\n } = presenter;\n\n const closedMonthName = mappedMonths(closed_month);\n const suitableForList = suitable_for_kinds.length ? (suitable_for_kinds.length > 1 ? suitable_for_kinds.slice(0, 1) : suitable_for_kinds) : null;\n const translated = suitable_for_kinds.map(elem => I18n.t(`lb_showroom.showroom.suitable.for.mapview.tooltip.${elem}`));\n const updatedTranslation = translated.join(', ');\n const parsedLocImageStyle = { backgroundImage: `url(${imageUrl})` };\n const imageStyle = {\n backgroundImage: `url(${imageUrl})`,\n filter: shown_as_rented_out || temporarily_unavailable ? 'grayscale(100%)' : 'none',\n };\n\n\n return (\n <div className=\"marker-info-window\">\n <div>\n <div className=\"marker-info-window__close-btn\" onClick={() => onInfoToggle(id)}>\n <SvgIco name=\"close\" size={24} />\n </div>\n\n { section === 'lease' &&\n <CompareIcon\n comparableLocations={comparableLocations}\n kind={kind}\n locationId={id}\n siteKey={siteKey}\n tooltipPosition={'bottom'}\n updateComparableLocations={setComparableLocations}\n />\n }\n\n <FavouriteIcon\n favoriteLocations={favouriteLocationsIds}\n locationId={id}\n tooltipPosition={'bottom'}\n section={section}\n siteKey={siteKey}\n updateFavouriteLocations={setFavouriteLocationsIds}\n />\n\n <a href={href} target=\"_blank\" className=\"marker-info-window__header\">\n { is_internal\n ?\n <div className='parsed-location-placeholder' style={parsedLocImageStyle}>\n { is_internal && <CrawledBadge root='map'/> }\n </div>\n :\n <div className=\"marker-info-window__photo-block\" style={imageStyle}>\n { (shown_as_rented_out || temporarily_unavailable) &&\n <RentedOutBadge\n label={temporarily_unavailable ? I18n.t('activerecord.attributes.location.states.temporarily_unavailable') : null}\n month={siteKey === 'dk' ? closedMonthName : null}\n root='grid'\n sale={section !== 'lease'}\n />\n }\n { anonymous && <AnonymousBadge root='grid' /> }\n </div>\n }\n </a>\n\n <a href={href} target=\"_blank\" className=\"marker-info-window__description-wrapper\">\n <div className=\"marker-info-window__header-wrapper\">\n\n <div className=\"marker-info-window__address\">\n <p className=\"marker-info-window__address-line\">{ `${street_name || address_line_1 }, ${ showFullAddress ? postal_code + ' ' : '' }${ postal_name }` }</p>\n </div>\n\n <div className=\"marker-info-window__suitableFor\">\n { suitableForList && suitableForList.map((elem, index) =>\n <div\n onMouseOver={() => setShowToolTip(true)}\n onMouseLeave={() => setShowToolTip(false)}\n className='suitable-for__item' key={index}\n >\n <SvgIco name={elem} width={16} height={16} className=\"suitable-for__icon\" />\n\n { index === suitableForList.length - 1 && suitable_for_kinds.length > 1 &&\n <div className=\"suitable-for__more\">+{suitable_for_kinds.length - 1}</div>\n }\n </div>\n )}\n\n <div className={`tooltip-wrapper ${showToolTip ? 'tooltip-wrapper-active' : ''}`}>\n <Tooltip\n tooltipContent={I18n.t(`generic.suitable_for`)}\n tooltipSuitableForOnly={updatedTranslation}\n />\n </div>\n\n </div>\n </div>\n\n <div className=\"marker-info-window__marker-info\">\n <div className=\"marker-info-window__info-line\">\n { area &&\n <Fragment>\n <span>\n <SvgIco name={area_icon || 'area'} size={22} />\n { area_label }\n </span>\n <span>{ area }</span>\n </Fragment>\n }\n </div>\n\n <div className=\"marker-info-window__info-line\">\n <span>{ priceLabel }</span>\n <span>{ price }</span>\n </div>\n\n </div>\n </a>\n\n </div>\n </div>\n );\n\n}\n\nMarkerContent.propTypes = {\n address_line_1: PropTypes.string,\n href: PropTypes.string,\n id: PropTypes.number,\n kind: PropTypes.string,\n postal_code: PropTypes.string,\n postal_name: PropTypes.string,\n presenter: PropTypes.object,\n primary_photo_2x: PropTypes.string,\n shown_as_rented_out: PropTypes.bool,\n showFullAddress: PropTypes.bool,\n temporarily_unavailable: PropTypes.bool,\n};\n\nMarkerContent.defaultProps = {\n address_line_1: '',\n href: '',\n id: null,\n kind: '',\n postal_code: '',\n postal_name: '',\n presenter: {\n area: '',\n area_icon: '',\n area_label: '',\n label: '',\n price: '',\n },\n primary_photo_2x: '',\n shown_as_rented_out: false,\n suitable_for_kinds: [],\n secondary_kinds: [],\n showFullAddress: false,\n temporarily_unavailable: false,\n};\n\nexport default React.memo(MarkerContent);\n","import React from 'react';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './MarkersList.sass';\n\n\nconst MarkersList = ({ markers, handleClose }) => {\n\n const { address_line_1, postal_name, street_name } = markers[0];\n\n\n return (\n <div className=\"markers-list\">\n <div className=\"markers-list__close-btn\" onClick={() => handleClose()}>\n <SvgIco name=\"close\" size={18} />\n </div>\n\n <div className=\"markers-list__top-wrapper\">\n <div className=\"markers-list__address\">\n { `${street_name || address_line_1 }, ${postal_name}` }\n </div>\n\n <div className=\"markers-list__header\">\n { I18n.t('apps.lb_showroom.showroom.list.same_address_locations_headline') }:\n </div>\n </div>\n\n <div className=\"markers-list__locations-list\">\n { markers.map(marker =>\n <a href={marker.href} className=\"markers-list__card\" target=\"_blank\" key={`${marker.id}-markers-list`}>\n <div className=\"markers-list__card-img\" style={{ backgroundImage: `url(${marker.primary_photo_2x})` }} />\n <div className=\"markers-list__card-info-wrapper\">\n\n { marker.presenter.area &&\n <div className=\"markers-list__card-info area\">\n <div className=\"markers-list__card-info-label\">\n <SvgIco name=\"area_custom\" size={18} />\n { marker.presenter.area_label }:\n </div>\n <div className=\"markers-list__card-info-value\">\n { marker.presenter.area }\n </div>\n </div>\n }\n\n <div className=\"markers-list__card-info price\">\n <div className=\"markers-list__card-info-label\">\n { marker.presenter.label }:\n </div>\n <div className=\"markers-list__card-info-value\">\n { marker.presenter.price }\n </div>\n </div>\n\n <div className=\"markers-list__card-read-more\">\n { I18n.t('apps.lb_showroom.showroom.list.details_tooltip') }\n <SvgIco name=\"keyboard-arrow-right-rounded-ios\" size={14} />\n </div>\n </div>\n </a>\n )}\n </div>\n </div>\n )\n}\n\nexport default MarkersList;\n","import React, { useContext, useCallback, useEffect, useMemo, useState } from 'react';\nimport { GoogleMap, LoadScript } from '@react-google-maps/api';\nimport PropTypes from 'prop-types';\n\nimport { requestBuilder } from '../../../api/httpService';\nimport { apiProvider } from '../../../api/core';\nimport { Context } from '../index';\nimport MapWrapper from './MapWrapper';\n\nimport mapStyles from \"../../../src/stylesheets/map_styles.json\";\nimport './index.sass';\n\n\nconst containerStyle = {\n width: '100%',\n height: '100%'\n};\n\nlet boundsTimer;\n\n\nconst MapSection = () => {\n\n const {\n getLocationsByCoords,\n googleApiKey,\n keywords,\n mapOptions,\n markersArray,\n requestParams,\n section,\n setComparableLocations,\n setFavouriteLocationsIds,\n } = useContext(Context);\n\n const { countryAlpha2 } = keywords;\n const { open: mapIsOpen, loaded: mapLoaded } = mapOptions\n\n const [boundsTrigger, setBoundsTrigger] = useState(false);\n const [currentMarkersArray, setCurrentMarkersArray] = useState([]);\n const [googleMap, setGoogleMap] = useState(null);\n const [mapDragged, setMapDragged] = useState(null);\n const [mapZoomed, setMapZoomed] = useState(null);\n const [mapBounds, setMapBounds] = useState(false);\n\n const mapMarkersUrl = '/lease/api/frontend/locations/map_markers?country_alpha2=' + countryAlpha2;\n const updateTrigger = mapDragged || mapZoomed;\n\n\n useEffect(() => {\n boundsTrigger && boundsMap();\n }, [boundsTrigger]);\n\n\n useEffect(() => {\n mapIsOpen && boundsMap();\n }, [mapIsOpen]);\n\n\n useEffect(() => {\n setCurrentMarkersArray(markersArray);\n mapIsOpen && boundsMap();\n }, [markersArray]);\n\n\n const onLoad = useCallback((map) => {\n setGoogleMap(map);\n\n apiProvider.post(mapMarkersUrl, requestBuilder(requestParams))\n .then((data) => {\n setCurrentMarkersArray(data.locations || []);\n boundsMap(data.locations, map)\n });\n },[]);\n\n\n const onDragEnd = (changeCoords, boundsTrigger) => {\n const googleMapBounds = googleMap && googleMap.getBounds();\n\n boundsTrigger && setBoundsTrigger(false);\n setMapDragged(false);\n setMapZoomed(false);\n\n if (googleMapBounds && mapLoaded && changeCoords && !boundsTrigger && !mapBounds) {\n const ne = googleMap.getBounds().getNorthEast();\n const sw = googleMap.getBounds().getSouthWest();\n const viewport_string = `${sw.lat()},${sw.lng()},${ne.lat()},${ne.lng()}`;\n const searchData = { ...requestParams, viewport_string, postal_districts: [] };\n\n apiProvider.post(mapMarkersUrl, requestBuilder(searchData))\n .then((data) => {\n // setShowLoader(false);\n data.locations && data.locations.length > 0 && setCurrentMarkersArray(data.locations);\n });\n\n getLocationsByCoords(viewport_string);\n }\n\n setMapBounds(false);\n };\n\n\n const setMarkers = (markers) => {\n const newMarkers = markers && [ ...markers ];\n\n return newMarkers && newMarkers.map(marker => {\n const { id, lat, lon } = marker.location;\n let ids = [];\n\n newMarkers.map(marker => {\n if (marker.location.id !== id && marker.location.lat === lat && marker.location.lon === lon) {\n ids.length ? ids.push(marker.location.id) : ids = [id, marker.location.id];\n };\n });\n\n ids.length && (marker.location.ids = ids);\n\n return marker;\n });\n };\n\n\n const boundsMap = (currentMarkers, map) => {\n const currentMap = map || googleMap;\n const markers = currentMarkers ? currentMarkers : markersArray;\n\n clearTimeout(boundsTimer);\n\n if (currentMap && markers.length > 0 && window.google) {\n const bounds = new window.google.maps.LatLngBounds();\n\n setMapBounds(true);\n\n markers.map((elem) => {\n elem.location.lat && elem.location.lon && bounds.extend(new window.google.maps.LatLng(elem.location.lat, elem.location.lon));\n return elem;\n });\n\n if (bounds.getNorthEast().equals(bounds.getSouthWest())) {\n const extendPoint1 = new window.google.maps.LatLng(bounds.getNorthEast().lat() + 0.001, bounds.getNorthEast().lng() + 0.001);\n const extendPoint2 = new window.google.maps.LatLng(bounds.getNorthEast().lat() - 0.001, bounds.getNorthEast().lng() - 0.001);\n\n bounds.extend(extendPoint1);\n bounds.extend(extendPoint2);\n }\n\n currentMap.fitBounds(bounds);\n } else {\n boundsTimer = setTimeout(() => boundsMap(currentMarkers, map), 10);\n }\n };\n\n\n const currentMarkers =useMemo(() => {\n return setMarkers(currentMarkersArray.length > 0 ? currentMarkersArray : markersArray);\n },[ currentMarkersArray, markersArray ]);\n\n\n return (\n <LoadScript googleMapsApiKey={googleApiKey}>\n <GoogleMap\n mapContainerStyle={containerStyle}\n mapContainerClassName=\"main-map\"\n id=\"main-map\"\n zoom={10}\n // onBoundsChanged={() => !mapLoaded && setMapLoaded(true)}\n onLoad={onLoad}\n onDragStart={() => setMapDragged(true)}\n onIdle={() => onDragEnd(updateTrigger, boundsTrigger)}\n onZoomChanged={() => setMapZoomed(true)}\n options={{\n gestureHandling: \"greedy\",\n styles: mapStyles,\n scrollwheel: true,\n mapTypeControl: false,\n fullscreenControl: false,\n panControl: false,\n streetViewControl: false,\n }}\n >\n <MapWrapper\n boundsTrigger={boundsTrigger}\n closeInfoWindow={mapDragged || mapZoomed || boundsTrigger}\n markersArray={currentMarkers}\n section={section}\n countryAlpha2={countryAlpha2}\n updateFavouriteLocations={setFavouriteLocationsIds}\n updateComparableLocations={setComparableLocations}\n />\n </GoogleMap>\n </LoadScript>\n );\n};\n\n\nMapSection.propTypes = {\n markersArray: PropTypes.arrayOf(PropTypes.shape),\n};\n\nMapSection.defaultProps = {\n markersArray: [],\n};\n\nexport default MapSection;\n","import React, { Fragment } from 'react';\nimport ReactTooltip from 'react-tooltip';\nimport Truncate from 'react-truncate';\n\nimport nearbyLocationsBanner from '../../../src/images/icons/nearby-location-banner.svg';\nimport LokalebasenLogo from '../../../src/images/logos/lokalebasen_dk.svg';\nimport MatchofficeLogo from '../../../src/images/logos/matchoffice_generic.svg';\nimport partnerBadge from '../../../src/images/provider/partner-badge-listview.png'\nimport { SvgIco } from '../../SharedComponents/Icons';\n\nimport './ItemsListComponents.sass';\n\nexport const ProviderLogo = ({ providerLogo, providerName }) => (\n <div className='provider-logo'>\n <img\n alt={providerName}\n className=\"lazyload\"\n data-sizes=\"auto\"\n data-expand=\"100\"\n data-src={providerLogo}\n />\n </div>\n);\n\nexport const ProviderPartner = () =>\n <div className=\"provider-partner-icon\" ><SvgIco name=\"partner_badge\" size={40} /></div>;\n\nexport const DescriptionLine = ({ substring, lines }) => (\n <Truncate\n lines={lines}\n ellipsis={\n <span>\n {lines !== 0 && '... '}\n <span className=\"read-more\">{I18n.t('generic.read_more')}</span>\n </span>\n }\n children={substring}\n />\n);\n\nexport const MapIcon = ({ id, toggleMap, withLabel }) => (\n <Fragment>\n <span\n onClick={toggleMap}\n role=\"button\"\n data-tip={I18n.t('tooltips.showroom.view_on_map')}\n data-class=\"list-item-tooltip\"\n data-for={'map' + id}\n className=\"map-icon\"\n id=\"map-pin-icon\"\n >\n { withLabel && <div className=\"map-icon__label\">{ I18n.t('tooltips.showroom.view_on_map') }</div> }\n <SvgIco name=\"map_detail\" size={20} />\n </span>\n <ReactTooltip place=\"top\" effect=\"solid\" id={'map' + id} />\n </Fragment>\n);\n\nexport const handleListItemClick = (e, href, id) => {\n if (!e.ctrlKey && !e.metaKey) {\n e.preventDefault();\n\n const parent = e.target.parentNode;\n const noticeWrapper = document.getElementById('noticeWrapper-' + id);\n\n if (e.target.id === `infoNoticeLink-${id}`) {\n window.open(e.target.getAttribute('href'), '_blank');\n } else if (\n parent.getAttribute('role') !== 'button' &&\n e.target.getAttribute('role') !== 'button' &&\n !parent.classList.contains('embla__buttons') &&\n parent.parentElement.id !== 'map-pin-icon' &&\n (!noticeWrapper || !noticeWrapper.contains(e.target))\n ) {\n sessionStorage.setItem('location_items.scroll_value', window.pageYOffset);\n window.open(href, '_blank');\n }\n }\n};\n\nexport const NearbyLocationsBanner = ({ grid, mapIsOpen, siteKey }) => (\n <div className={`${grid ? `grid-item col-md-6 col-lg-${mapIsOpen ? 6 : 4} col-xl-${mapIsOpen ? 4 : 3}` : 'container max-width'}`}>\n <div className={`nearby-locations-banner${grid ? ' grid' : ' row'}`}>\n <div\n className={`nearby-locations-banner__background${\n !grid ? ' col-xl-12' : ''\n }`}\n ></div>\n <div className={`nearby-locations-banner__img${ !grid ? ' col-xl-3 col-lg-3 col-md-4 col-12' : ''}`}>\n <img\n alt=\"Nearby Locations\"\n className=\"lazyload\"\n data-expand=\"100\"\n data-sizes=\"auto\"\n data-src={nearbyLocationsBanner}\n height={149}\n width={183}\n />\n </div>\n <div\n className={`nearby-locations-banner__description-content${\n !grid ? ' col-xl-6 col-lg-6 col-md-4 col-sm-9 col-12' : ''\n }`}\n >\n <div className=\"nearby-locations-banner__content-wrapper\">\n <div className=\"nearby-locations-banner__headline\">\n {I18n.t('apps.lb_showroom.nearby_locations')}\n </div>\n <div className=\"nearby-locations-banner__description\">\n {I18n.t('apps.lb_showroom.nearby_locations_description')}\n </div>\n </div>\n </div>\n <div\n className={`nearby-locations-banner__logo ${\n !grid ? ' col-xl-3 col-lg-3 col-md-4 col-12' : ''\n }`}\n >\n <img\n alt=\"Site Logo\"\n className=\"lazyload\"\n height=\"auto\"\n width={191}\n data-sizes=\"auto\"\n data-src={siteKey === 'dk' ? LokalebasenLogo : MatchofficeLogo}\n data-expand=\"100\"\n />\n </div>\n </div>\n </div>\n);\n","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst SuitableForFilter = ({ clearSuitableFor, isMobileMenu, toggleClearSuitableForFilter }) => {\n\n const {\n applySuitableForFilters,\n requestParams,\n selectedSuitableFor,\n setRequestParams,\n setSelectedSuitableFor,\n siteKey,\n suitableForList,\n suitableForStructuredTypes,\n } = useContext(Context);\n\n const { kinds } = requestParams;\n\n const filterWrapper = useRef();\n\n const [filterIsOpen, setFilterIsOpen] = useState(false);\n const [currentSelectedSuitableFor, setCurrentSelectedSuitableFor] = useState(selectedSuitableFor);\n const [showSuitableFor, setShowSuitableFor] = useState(false);\n const [currentSuitableForList, setCurrentSuitableForList] = useState([]);\n\n const suitableForFunctionalityCountries = ['dk', 'global', 'se', 'fi'];\n const showSuitableForFunctionality = suitableForFunctionalityCountries.indexOf(siteKey) >= 0\n\n\n useEffect(() => {\n if (isMobileMenu || suitableForList) {\n if (kinds && kinds.length) {\n handleSuitableForList();\n } else {\n setCurrentSuitableForList(suitableForList);\n setShowSuitableFor(!!suitableForList.length);\n }\n }\n }, []);\n\n\n useEffect(() => {\n setCurrentSelectedSuitableFor(selectedSuitableFor);\n }, [selectedSuitableFor]);\n\n\n useEffect(() => {\n if (clearSuitableFor) {\n handleApplyFilters([]);\n toggleClearSuitableForFilter();\n }\n }, [clearSuitableFor]);\n\n\n useEffect(() => {\n handleSuitableForList()\n }, [kinds, suitableForList]);\n\n\n const handleSuitableForList = () => {\n let newSuitableForList = [];\n let sortedSuitableForByKinds = [];\n\n if (kinds && kinds.length) {\n kinds\n .map(kind =>\n suitableForStructuredTypes[kind] && suitableForStructuredTypes[kind].map(suitableForKind =>\n !sortedSuitableForByKinds.includes(suitableForKind) && sortedSuitableForByKinds.push(suitableForKind))\n );\n\n suitableForList.map(elem => sortedSuitableForByKinds.includes(elem.id) && newSuitableForList.push(elem));\n newSuitableForList.sort((a, b) => a.id.localeCompare(b.id));\n } else {\n newSuitableForList = [...suitableForList];\n }\n\n setCurrentSuitableForList(newSuitableForList);\n setShowSuitableFor(!!newSuitableForList.length);\n };\n\n\n const toggleFilter = (currentState) => {\n const isOpen = !currentState;\n\n setFilterIsOpen(isOpen);\n isOpen\n ? window.addEventListener('click', handleFilterOpenClick)\n : window.removeEventListener('click', handleFilterOpenClick)\n };\n\n\n const handleFilterOpenClick = (e) => {\n !filterWrapper && !filterWrapper.current && window.removeEventListener('click', handleFilterOpenClick);\n\n const applyAllFiltersButtonMobile = document.getElementById('applyFiltersButtonMobile');\n\n filterWrapper\n && filterWrapper.current\n && !filterWrapper.current.contains(e.target)\n && (!applyAllFiltersButtonMobile || !applyAllFiltersButtonMobile.contains(e.target))\n && toggleFilter(true);\n };\n\n\n const handleFilterCheckboxClick = (e) => {\n const value = e.target.value;\n const updatedList = [ ...currentSelectedSuitableFor ];\n const valueIndex = updatedList.indexOf(value);\n\n valueIndex >= 0 ? updatedList.splice(valueIndex, 1) : updatedList.push(value);\n handleApplyFilters(updatedList);\n };\n\n\n const handleApplyFilters = (newData) => {\n setCurrentSelectedSuitableFor(newData);\n\n if (newData) {\n setRequestParams(prevParams => ({ ...prevParams, suitable_for: newData }));\n setSelectedSuitableFor(newData);\n }\n\n !isMobileMenu && applySuitableForFilters(newData);\n };\n\n\n const isOpen = !isMobileMenu || filterIsOpen;\n const showFilter = showSuitableForFunctionality && currentSuitableForList && showSuitableFor && currentSuitableForList.length > 0;\n\n let selectedSuitableForLabels = [];\n currentSelectedSuitableFor.length && currentSuitableForList.map(listItem => currentSelectedSuitableFor.includes(listItem.id) && selectedSuitableForLabels.push(listItem.label));\n\n\n if (showFilter) {\n return (\n <div className=\"suitable-for-filter\" ref={filterWrapper}>\n <div className={`suitable-for-filter__dropdown${ isOpen ? ' open' : '' }`} onClick={() => toggleFilter(filterIsOpen)}>\n <span>{ I18n.t('generic.suitable_for') }</span>\n <div className=\"dropdown-selector__trigger-right\">\n { selectedSuitableForLabels.length > 0 &&\n <div className=\"dropdown-selector__selected-tooltip\">\n { selectedSuitableForLabels.join(', ') }\n </div>\n }\n <div className=\"dropdown-selector__action-icon\">\n { isOpen\n ? <SvgIco name=\"expand-less\" size={20} />\n : <SvgIco name=\"expand-more\" size={20} />\n }\n </div>\n </div>\n </div>\n\n { (isOpen || isMobileMenu) &&\n <div className={`suitable-for-filter__list-wrapper${isOpen ? ' open' : '' }`}>\n <div className={`suitable-for-filter__main-body${isOpen ? ' open' : '' }`}>\n <div className=\"suitable-for-filter__list\">\n { currentSuitableForList.map((item, index) =>\n <div className=\"suitable-for-filter__list-item\" key={index}>\n <label className={`${currentSelectedSuitableFor.includes(item.id) ? 'active' : ''}`}>\n <SvgIco name=\"check\" size={18} />\n <input\n checked={currentSelectedSuitableFor.includes(item.id)}\n type=\"checkbox\"\n value={item.id}\n onChange={(e) => handleFilterCheckboxClick(e)} />\n { item.label }\n </label>\n </div>\n )}\n </div>\n </div>\n <div className=\"dropdown-selector__separator\" />\n </div>\n }\n </div>\n )\n } else {\n return null;\n }\n};\n\n\nSuitableForFilter.propTypes = {\n selectedSuitableFor: PropTypes.arrayOf(PropTypes.string),\n suitableForList: PropTypes.arrayOf(PropTypes.object),\n};\n\nSuitableForFilter.defaultProps = {\n selectedSuitableFor: [],\n suitableForList: []\n};\n\n\nexport default SuitableForFilter;\n","import React, { useContext } from 'react';\n\nimport BaseSlider from \"../../SharedComponents/BaseSlider\";\nimport LocationTemplate from \"../../SharedComponents/LocationTemplate\";\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst ViewedLocations = () => {\n\n const {\n comparableLocations,\n favouriteLocationsIds,\n section,\n setComparableLocations,\n setFavouriteLocationsIds,\n siteKey,\n viewedLocations,\n } = useContext(Context);\n\n\n return (\n <div className=\"viewed-locations-wrapper\">\n <div className=\"viewed-locations container\">\n <h2 className=\"viewed-locations__headline container\">\n { siteKey === 'dk' && section !== 'lease'\n ? I18n.t('apps.lb_showroom.viewed_sales')\n : I18n.t('apps.lb_showroom.viewed_leases')\n }\n </h2>\n <BaseSlider infinite withDots>\n { viewedLocations.map(location => {\n return (\n <LocationTemplate\n comparableLocations={comparableLocations}\n data={location}\n favoriteLocations={favouriteLocationsIds}\n key={location.uuid}\n section={section}\n siteKey={siteKey}\n updateFavouriteLocations={setFavouriteLocationsIds}\n updateComparableLocations={setComparableLocations}\n />\n )})}\n </BaseSlider>\n </div>\n </div>\n )\n};\n\n\nexport default ViewedLocations;\n","import React from \"react\";\nimport { SvgIco } from \"../SharedComponents/Icons\";\nimport LogoDk from '../../src/images/logos/lokalebasen_dk.svg';\nimport LogoMO from '../../src/images/logos/matchoffice_generic.svg';\n\n\nexport const MainInfoColumns = (data, siteKey, selectedLocationsIds, handleSelect, orderedLocations) => React.useMemo(\n () => [\n {\n Header: <img src={siteKey === 'dk' ? LogoDk : LogoMO} className=\"comparison-table__logo-header\" />,\n accessor: 'photo',\n Cell: (cell) => {\n const { id, is_internal, photo, shown_as_rented_out, temporarily_unavailable, url, uuid } = cell.row.original;\n const locationOrdered = orderedLocations.includes(uuid);\n\n return (\n <div className=\"comparison-table__img-cell\">\n <div className=\"comparison-table__check-wrapper\" onClick={() => handleSelect(id)}>\n { selectedLocationsIds.includes(id) &&\n <SvgIco name=\"check-bold\" height={16} width={16} />\n }\n </div>\n <div className=\"comparison-table__img-wrapper\">\n <img src={photo} alt=\"First photo\" className={shown_as_rented_out || temporarily_unavailable ? 'rented-out' : ''} />\n { (shown_as_rented_out || temporarily_unavailable) &&\n <div className=\"comparison-table__rented-out-badge\">\n { shown_as_rented_out\n ? I18n.t('activerecord.attributes.location.states.rented_out', {count: 0})\n : I18n.t('activerecord.attributes.location.states.temporarily_unavailable_short')\n }\n </div>\n }\n { is_internal &&\n <div className=\"comparison-table__crawled-badge\">\n { I18n.t('generic.parsed_location') }\n </div>\n }\n { locationOrdered &&\n <div className=\"comparison-table__ordered-banner\">\n { I18n.t('apps.lb_showroom.detailed.order_form.cta_fixed_info_sent') }\n </div>\n }\n </div>\n <a href={url} target=\"_blank\">\n { I18n.t('compare.table.more_photos_link') }\n </a>\n </div>\n )\n }\n },\n\n {\n Header: I18n.t('generic.address') + ':',\n accessor: 'address',\n Cell: (cell) =>\n <div className=\"comparison-table__address-cell\">\n { cell.row.original.address }\n </div>\n },\n\n {\n Header: I18n.t('providers.statistics.index.kind') + ':',\n accessor: 'kind',\n },\n\n {\n Header: I18n.t('activerecord.attributes.location.secondary_kinds') + ':',\n accessor: 'secondary_kinds',\n },\n\n {\n Header: I18n.t('search_agent.area') + ':',\n accessor: 'area',\n },\n\n {\n Header: I18n.t('providers.locations.form.energy_rating') + ':',\n accessor: 'energy_rating',\n Cell: (cell) => {\n const { energy_rating } = cell.row.original;\n const energyRatingMark = energy_rating ? `${energy_rating}`.toLowerCase() : null;\n const energyRatingLabel = energy_rating === 'Exempted'\n ? I18n.t('simple_form.options.location.energy_rating.X')\n : I18n.t('activerecord.attributes.property.energy_rating');\n\n return (\n <div className=\"comparison-table__energy-rating-cell\">\n <SvgIco\n name={`energy-rating-${energyRatingMark}`}\n height={18}\n width={18}\n />\n { energyRatingLabel }\n </div>\n )\n }\n },\n ],\n [data]\n);\n\n\nexport const EconomyColumns = (data) => React.useMemo(\n () => [\n {\n Header: I18n.t('apps.lb_showroom.detailed.facts.monthly_price') + ':',\n accessor: 'prices.monthly_price',\n Cell: (cell) => cell.row.original.prices.monthly_price,\n },\n {\n Header: I18n.t('providers.locations.form.rent_price_per_hour') + ':',\n accessor: 'prices.price_per_hour',\n Cell: (cell) => cell.row.original.prices.price_per_hour,\n },\n {\n Header: I18n.t('activerecord.attributes.location.yearly_rent_per_m2') + ':',\n accessor: 'prices.prices_per_m2.price_per_year',\n Cell: cell => cell.row.original.prices.prices_per_m2.price_per_year,\n },\n {\n Header: I18n.t('apps.lb_showroom.detailed.economy.electricity_per_m2_per_year_new') + ':',\n accessor: 'prices.prices_per_m2.electricity_per_m2_per_year',\n Cell: cell => cell.row.original.prices.prices_per_m2.electricity_per_m2_per_year,\n },\n {\n Header: I18n.t('apps.lb_showroom.detailed.economy.heating_per_m2_per_year'),\n accessor: 'prices.prices_per_m2.heating_per_m2_per_year',\n Cell: cell => cell.row.original.prices.prices_per_m2.heating_per_m2_per_year,\n },\n {\n Header: I18n.t('activerecord.attributes.location.yearly_operational_cost_per_m2') + ':',\n accessor: 'prices.prices_per_m2.operational_per_m2_per_year',\n Cell: cell => cell.row.original.prices.prices_per_m2.operational_per_m2_per_year,\n },\n {\n Header: I18n.t('apps.lb_showroom.detailed.economy.water_per_m2_per_year') + ':',\n accessor: 'prices.prices_per_m2.water_per_m2_per_year',\n Cell: cell => cell.row.original.prices.prices_per_m2.water_per_m2_per_year,\n },\n {\n Header: I18n.t('providers.locations.form.annual_electricity_cost') + ':',\n accessor: 'prices.prices_per_year.annual_electricity_cost',\n Cell: cell => cell.row.original.prices.prices_per_year.annual_electricity_cost,\n },\n {\n Header: I18n.t('providers.locations.form.annual_heating_cost') + ':',\n accessor: 'prices.prices_per_year.annual_heating_cost',\n Cell: cell => cell.row.original.prices.prices_per_year.annual_heating_cost,\n },\n {\n Header: I18n.t('apps.lb_showroom.detailed.economy.annual_operational_cost') + ':',\n accessor: 'prices.prices_per_year.annual_operational_cost',\n Cell: cell => cell.row.original.prices.prices_per_year.annual_operational_cost,\n },\n {\n Header: I18n.t('apps.lb_showroom.detailed.economy.annual_rent') + ':',\n accessor: 'prices.prices_per_year.annual_rent',\n Cell: cell => cell.row.original.prices.prices_per_year.annual_rent,\n },\n {\n Header: I18n.t('activerecord.attributes.location.building_energy_cost') + ':',\n accessor: 'prices.prices_per_year.annual_total_cost',\n Cell: cell => cell.row.original.prices.prices_per_year.annual_total_cost,\n },\n {\n Header: I18n.t('providers.locations.form.annual_water_cost') + ':',\n accessor: 'prices.prices_per_year.annual_water_cost',\n Cell: cell => cell.row.original.prices.prices_per_year.annual_water_cost,\n },\n ],\n [data]\n);\n\nexport const FacilitiesColumns = (data) => React.useMemo(\n () => [\n {\n Header: '',\n accessor: 'facilities',\n Cell: (cell) => {\n\n const facilities = cell.row.original.facilities;\n const sortedFacilities = facilities.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase()));\n const facilitiesLength = facilities && facilities.length;\n\n return (\n <div className={`comparison-table__facilities-cell ${facilitiesLength === 1 ? 'single' : ''}`}>\n { !!facilitiesLength && sortedFacilities.map(facility =>\n <div className=\"comparison-table__facilities-list-item\" key={facility.key}>\n <div className=\"comparison-table__facilities-list-item-icon lazyload\"\n data-bg={facility.icon || require(`../../src/images/icons/facts_and_facilities/default.svg`)}\n data-sizes=\"auto\"\n />\n <span>{ facility.name }</span>\n </div>\n )}\n </div>\n )\n }\n },\n ],\n [data]\n);\n","import React, { useState, Fragment } from 'react';\n\nimport { SvgIco } from \"../SharedComponents/Icons\";\nimport Table from \"./Table\";\nimport { EconomyColumns, FacilitiesColumns, MainInfoColumns } from \"./ComparisonColumns\";\n\nimport './ComparisonTable.sass';\n\n\nconst ComparisonTable = ({ handleSelect, locations, orderedLocations, selectedLocationsIds, siteKey }) => {\n\n const [economyIsOpen, setEconomyIsOpen] = useState(true);\n const [facilitiesIsOpen, setFacilitiesIsOpen] = useState(true);\n\n const data = locations.map(location => ({ ...location.data, id: location.location_id }));\n const showFacilities = data.some(location => Object.keys(location.facilities).length);\n\n const mainInfoColumns = MainInfoColumns(data, siteKey, selectedLocationsIds, handleSelect, orderedLocations);\n const economyColumns = EconomyColumns();\n const facilitiesColumns = FacilitiesColumns();\n\n\n return (\n <div className=\"comparison-table\">\n <div className=\"comparison-table__container container\">\n <Table\n columns={mainInfoColumns}\n data={data}\n name=\"mainInfo\" />\n\n <div className=\"comparison-table__section-trigger\"\n onClick={() => setEconomyIsOpen(!economyIsOpen)}\n style={{ marginBottom: economyIsOpen ? '4px' : '0' }}>\n { I18n.t('providers.locations.form.economy') }\n { economyIsOpen\n ? <SvgIco name=\"expand-less\" size={16} />\n : <SvgIco name=\"expand-more\" size={16} />\n }\n </div>\n\n <div className={`comparison-table__dynamic-section-wrapper ${economyIsOpen ? 'open' : 'close'}`}>\n <Table\n columns={economyColumns}\n data={data}\n name=\"economy\" />\n </div>\n\n { showFacilities &&\n <Fragment>\n <div className=\"comparison-table__section-trigger\"\n onClick={() => setFacilitiesIsOpen(!facilitiesIsOpen)}\n style={{ marginBottom: facilitiesIsOpen ? '4px' : '0' }}>\n { I18n.t('apps.lb_showroom.detailed.tabs.facilities') }\n { facilitiesIsOpen\n ? <SvgIco name=\"expand-less\" size={16} />\n : <SvgIco name=\"expand-more\" size={16} />\n }\n </div>\n\n <div className={`comparison-table__dynamic-section-wrapper ${facilitiesIsOpen ? 'open' : 'close'}`}>\n <Table\n alignColumns=\"flex-start\"\n columns={facilitiesColumns}\n data={data}\n name=\"facilities\" />\n </div>\n </Fragment>\n }\n </div>\n </div>\n )\n}\n\nexport default ComparisonTable;\n","import React from 'react';\n// import { useTable } from 'react-table/src/hooks/useTable';\nimport { useTable } from 'react-table';\nimport TableBody from '@material-ui/core/TableBody';\nimport MaUTable from '@material-ui/core/Table';\n\n\nconst Table = ({ columns,\n data,\n name,\n extraClass }) => {\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n prepareRow,\n rows,\n } = useTable(\n {\n columns,\n data,\n },\n );\n\n const locationsLength = data && data.length;\n\n const isEmpty = (value) => !value || !Object.keys(value).length;\n\n\n return (\n <div className={`comparison-table__table ${extraClass}`} id={`${name || ''}TableWrapper`}>\n <MaUTable {...getTableProps()} className=\"table sticky\">\n <TableBody {...getTableBodyProps()}\n // className={`body ${loading ? 'loading' : ''}`}\n >\n { headerGroups.map(headerGroup =>\n headerGroup.headers.map((column, headerIndex) => {\n let emptyCount = 0;\n\n return (\n <tr key={headerIndex}>\n <td style={{ width: `calc(100% / ${locationsLength + 1})` }}>\n { column.render('Header') }\n </td>\n { data.map((item, index) => {\n prepareRow(rows[index]);\n\n const cell = rows[index].cells[headerIndex];\n const cellIsEmpty = isEmpty(cell.value);\n\n cellIsEmpty && (emptyCount = emptyCount + 1);\n\n if (emptyCount === locationsLength) {\n cell.column.toggleHidden();\n emptyCount = 0;\n }\n\n index === locationsLength - 1 && (emptyCount = 0);\n\n return (\n <td {...cell.getCellProps()}\n className={cellIsEmpty ? 'single' : ''}\n style={{ width: `calc(100% / ${locationsLength + 1})`}}>\n { cellIsEmpty ? '-' : cell.render('Cell') }\n </td>\n )\n })}\n </tr>)\n }\n ))\n }\n </TableBody>\n </MaUTable>\n </div>\n );\n};\n\nexport default Table;\n","import React, { useState, useEffect, Fragment } from 'react';\nimport queryString from \"query-string\";\n\nimport { apiProvider } from \"../../api/core\";\nimport httpService from \"../../api/httpService\";\nimport { handleComparableLocationsCounter } from \"../../utils/topBarHelper\";\nimport GetInfoFormModal from \"../SharedComponents/GetInfoFormModal\";\nimport SearchAgentBanner from \"../SharedComponents/SearchAgentBanner\";\nimport { checkOrderedLocation } from \"../helpers/checkOrderedLocation\";\nimport { loadTawkTo } from \"../TawkTo/TawkTo\";\nimport StickyBar from \"../FavoritesPage/StickyBar\";\nimport { SvgIco } from \"../SharedComponents/Icons\";\nimport { FileLoader } from \"../Provider/Loaders\";\nimport ModalWindow from \"../SharedComponents/ModalWindow\";\nimport { sendTrovitLead } from \"../helpers/trovit_analitics\";\nimport ComparisonTable from \"./ComparisonTable\";\n\nimport './index.sass';\n\n\nlet interval;\n\n\nconst LocationsComparison = ({ newSearchAgentPath, createComparisonPdfPath, siteKey }) => {\n\n const locationsKind = queryString.parse(window.location.search).kind;\n\n const [locations, setLocations] = useState([]);\n const [selectedLocationsIds, setSelectedLocationsIds] = useState([]);\n const [comparableLocations, setComparableLocations] = useState([]);\n const [orderedLocations, setOrderedLocations] = useState(null);\n const [loading, setLoading] = useState(false);\n const [deleteButtonsOpen, setDeleteButtonsOpen] = useState(false);\n const [infoFormIsActive, setInfoFormIsActive] = useState(false);\n const [showServerErrorMessage, setShowServerErrorMessage] = useState(false);\n const [submitSuccess, setSubmitSuccess] = useState(false);\n const [isFormLoading, setIsFormLoading] = useState(false);\n const [pdfModalIsOpen, setPdfModalIsOpen] = useState(false);\n const [pdfUrl, setPdfUrl] = useState(null);\n const [pdfReady, setPdfReady] = useState(null);\n\n\n useEffect(() => {\n if (locationsKind) {\n const comparisonLeases = localStorage && JSON.parse(localStorage.getItem(`my.comparable_lease_${siteKey}`)) || {};\n const locationsIds = comparisonLeases[locationsKind];\n const locationsCount = locationsIds && locationsIds.length;\n\n let locationsParamsIds = '';\n locationsCount && locationsIds.map(id => locationsParamsIds = locationsParamsIds + `ids[]=${id}&`);\n setComparableLocations(comparisonLeases);\n\n if (locationsCount) {\n\n setLoading(true);\n\n apiProvider.getAll('/api/compartion_locations/get_by_ids?' + locationsParamsIds)\n .then(response => {\n setLocations(response);\n setLoading(false);\n\n if (response.length !== locationsIds.length) {\n const newComparableLocations = { ...comparisonLeases };\n\n response.length\n ? (newComparableLocations[locationsKind] = response.map(location => location.location_id))\n : (delete newComparableLocations[locationsKind]);\n\n localStorage && localStorage.setItem(`my.comparable_lease_${siteKey}`, JSON.stringify(newComparableLocations));\n setComparableLocations(comparisonLeases);\n handleComparableLocationsCounter(siteKey);\n }\n })\n .catch(error => {\n setLoading(false);\n console.log('Error', error);\n })\n }\n }\n }, []);\n\n useEffect(() => {\n loadTawkTo(siteKey);\n }, []);\n\n useEffect(() => {\n loadTawkTo(siteKey);\n }, [pdfModalIsOpen]);\n\n useEffect(() => {\n if(localStorage) {\n localStorage.getItem('my.ordered_locations')\n ? setOrderedLocations(checkOrderedLocation)\n : localStorage.setItem('my.ordered_locations', JSON.stringify({}));\n }\n }, []);\n\n\n const locationsAvailableForOrder = React.useMemo(\n () => {\n const selectedLocationsList = [];\n\n locations.map(location => {\n\n const { location_id: id } = location;\n\n const {\n address,\n // is_jeudan,\n shown_as_rented_out,\n temporarily_unavailable,\n url,\n uuid\n } = location.data;\n\n selectedLocationsIds.includes(`${id}`)\n && !orderedLocations.includes(uuid)\n && !shown_as_rented_out\n && !temporarily_unavailable\n && selectedLocationsList.push({\n address,\n id,\n url,\n uuid,\n // isJeudan: is_jeudan\n });\n });\n\n return selectedLocationsList;\n },\n [locations, orderedLocations, selectedLocationsIds],\n );\n\n\n const handleSelect = (id) => {\n const updatedSelectedLocation = [ ...selectedLocationsIds ];\n const selectedIndex = updatedSelectedLocation.indexOf(`${id}`);\n\n selectedIndex >= 0\n ? updatedSelectedLocation.splice(selectedIndex, 1)\n : updatedSelectedLocation.push(`${id}`);\n\n setSelectedLocationsIds(updatedSelectedLocation);\n };\n\n\n const deleteAll = () => {\n const newComparableLocations = { ...comparableLocations };\n\n delete newComparableLocations[locationsKind];\n setLocations([]);\n localStorage && localStorage.setItem(`my.comparable_lease_${siteKey}`, JSON.stringify(newComparableLocations));\n handleComparableLocationsCounter(siteKey);\n };\n\n\n const deleteSelected = () => {\n const newComparableLocations = { ...comparableLocations };\n const newLocations = [ ...locations ].filter(location => !selectedLocationsIds.includes(location.location_id));\n const comparableIds = [ ...newComparableLocations[locationsKind] ].filter(id => !selectedLocationsIds.includes(id));\n\n comparableIds.length\n ? (newComparableLocations[locationsKind] = comparableIds)\n : delete newComparableLocations[locationsKind];\n\n setLocations(newLocations);\n setSelectedLocationsIds([]);\n localStorage && localStorage.setItem(`my.comparable_lease_${siteKey}`, JSON.stringify(newComparableLocations));\n handleComparableLocationsCounter(siteKey);\n };\n\n\n const handleOpenButtonsDropdown = () => {\n const isOpen = !deleteButtonsOpen;\n\n setDeleteButtonsOpen(isOpen);\n isOpen\n ? window.addEventListener('click', (e) => handleClickOutside(e))\n : window.removeEventListener('click', (e) => handleClickOutside(e));\n };\n\n\n const handleClickOutside = (e) => {\n const buttonsWrapper = document.getElementById('deleteButtons');\n\n !buttonsWrapper.contains(e.target) && setDeleteButtonsOpen(false);\n };\n\n\n const handleCloseInfoForm = () => {\n setInfoFormIsActive(false);\n setShowServerErrorMessage(false);\n setSubmitSuccess(false);\n };\n\n\n // const showJeudanMessage = () =>\n // !!locationsAvailableForOrder.find(location => location.isJeudan);\n\n\n const multipleOrderSubmit = (params, orderUrl) => {\n const uuids = locationsAvailableForOrder.map(location => location.uuid);\n\n setIsFormLoading(true);\n\n httpService.orderInfoListViewForm(orderUrl, params, uuids)\n .then(response => {\n if (response) {\n const orderedLocations = JSON.parse(localStorage.getItem('my.ordered_locations'));\n uuids.map(uuid => orderedLocations[uuid] = [ { timestamp: new Date().toISOString() } ]);\n\n const updateOrderedLocation = JSON.stringify(orderedLocations);\n localStorage && localStorage.setItem('my.ordered_locations', updateOrderedLocation);\n\n setSubmitSuccess(true);\n setShowServerErrorMessage(false);\n setIsFormLoading(false);\n setOrderedLocations(checkOrderedLocation);\n sendTrovitLead(siteKey);\n\n } else {\n setSubmitSuccess(false);\n setShowServerErrorMessage(true);\n setIsFormLoading(false);\n }\n });\n };\n\n const loadPdf = () => {\n const bodyFormData = new FormData();\n locations.map(location => bodyFormData.append(`location_ids[]`, location.location_id))\n\n apiProvider.post(createComparisonPdfPath, bodyFormData)\n .then(response => {\n const { pdf_url, status_url } = response;\n (interval = setInterval(() => getStatus(status_url, bodyFormData), 2000));\n setPdfUrl(pdf_url);\n })\n .catch(error => console.log('error', error));\n };\n\n const getStatus = (url) =>\n apiProvider.getAll(url)\n .then(response => {\n if (response && response.status === 'finished') {\n clearInterval(interval);\n setPdfReady(true);\n }\n });\n\n const openPdfModal = () => {\n setPdfModalIsOpen(true);\n loadPdf();\n };\n\n const closePdfModal = () => {\n setPdfModalIsOpen(false);\n setTimeout(() => {\n clearInterval(interval);\n setPdfReady(false);\n setPdfUrl(null);\n }, 1000);\n };\n\n\n return (\n <div className=\"locations-comparison\">\n\n <div className=\"locations-comparison__header container\">\n <h1>{ I18n.t('compare.page.headline') }</h1>\n <SvgIco name=\"reports\" width={110} height={76} />\n </div>\n\n { loading &&\n <div className=\"spinner-wrapper\">\n <div className=\"smoothie-spinner\" />\n </div>\n }\n\n { (!locationsKind || (!locations.length && !loading)) &&\n <div className=\"locations-comparison__empty-message\">\n <div className=\"locations-comparison__empty-message-border\" />\n { I18n.t('compare.page.empty_results') }\n </div>\n }\n\n { !!locations.length &&\n\n <Fragment>\n <StickyBar>\n <div className=\"locations-comparison__action-bar container\">\n <div className={`locations-comparison__get-info-button ${!locationsAvailableForOrder.length ? 'inactive' : ''}`}\n onClick={() => setInfoFormIsActive(true)}>\n { I18n.t(\"apps.lb_showroom.detailed.order_form.get_information\") + ` (${locationsAvailableForOrder.length})` }\n </div>\n <div className=\"locations-comparison__action-bar-right\">\n <div id=\"deleteButtons\"\n className=\"locations-comparison__delete-group\"\n onClick={handleOpenButtonsDropdown}>\n <SvgIco name=\"trash\" size={20} />\n <div className={`locations-comparison__action-buttons-wrapper locations-comparison__action-buttons-wrapper--red ${ deleteButtonsOpen ? 'open' : '' }`}>\n <div className=\"locations-comparison__delete-selected-btn\" onClick={deleteSelected}>\n { I18n.t('generic.delete_selected') }\n </div>\n <div className=\"locations-comparison__delete-all-btn\" onClick={deleteAll}>\n { I18n.t('generic.delete_all') }\n </div>\n </div>\n </div>\n <div className=\"locations-comparison__download-btn-wrapper\" onClick={openPdfModal}>\n <div className=\"locations-comparison__download-btn\">\n <SvgIco name=\"download_pdf\" size={29} />\n </div>\n <div className=\"locations-comparison__download-tooltip\">\n { I18n.t('compare.page.download_pdf_tooltip') }\n </div>\n </div>\n\n </div>\n </div>\n </StickyBar>\n\n <ComparisonTable\n handleSelect={handleSelect}\n locations={locations}\n orderedLocations={orderedLocations}\n selectedLocationsIds={selectedLocationsIds}\n siteKey={siteKey} />\n\n <div id=\"getInfoFormComparableWrapperMulti\">\n { infoFormIsActive &&\n <GetInfoFormModal\n gtmClass=\"getInfoFormComparable\"\n handleClose={handleCloseInfoForm}\n // isJeudan={showJeudanMessage()}\n isLoading={isFormLoading}\n isMultiple={true}\n locations={locationsAvailableForOrder}\n orderUrl={'/lease/api/orders'}\n parkingCheckbox={false}\n showServerErrorMessage={showServerErrorMessage}\n siteKey={siteKey}\n submitHandler={multipleOrderSubmit}\n submitSuccess={submitSuccess}\n />\n }\n </div>\n\n </Fragment>\n }\n\n <div className=\"locations-comparison__search-agent-wrapper\">\n <SearchAgentBanner\n newSearchAgentPath={newSearchAgentPath}\n searchAgentText={I18n.t('lb_showroom.detailed.search_agent.description')}\n searchAgentHeadline={I18n.t('lb_showroom.detailed.search_agent.headline')}\n siteKey={siteKey}\n />\n </div>\n\n <ModalWindow\n isOpen={pdfModalIsOpen}\n name=\"pdf-modal\"\n onRequestClose={closePdfModal}>\n <div className=\"pdf-modal__wrapper\">\n <SvgIco name=\"reports\" width={299} height={207} />\n\n { !pdfReady &&\n <Fragment>\n <h3 className=\"pdf-modal__headline\">\n { I18n.t('compare.pdf.modal_preparing_headline') }\n </h3>\n <p>{ I18n.t('views.locations.shared.cart.please_wait') }</p>\n <FileLoader />\n </Fragment>\n }\n\n { pdfReady && pdfUrl &&\n <Fragment>\n <h3 className=\"pdf-modal__headline\">\n { I18n.t('compare.pdf.modal_ready_headline') }\n </h3>\n <a className=\"pdf-modal__button\" href={pdfUrl} download>\n { I18n.t('compare.pdf.modal_button_text') }\n </a>\n </Fragment>\n }\n </div>\n </ModalWindow>\n\n </div>\n )\n}\n\nexport default LocationsComparison;\n","import React, { Component } from 'react';\n\nimport { apiProvider } from '../../api/core';\nimport { loadTawkTo } from '../TawkTo/TawkTo';\nimport ForgotPasswordForm from './ForgotPasswordForm';\n\nimport './ForgotPassword.sass';\n\n\nclass ForgotPassword extends Component {\n state = {\n submitSuccessMessage: false,\n emailServerError: false,\n };\n\n componentDidMount() {\n loadTawkTo(this.props.siteKey);\n };\n\n handleFormSubmit = (values) => {\n const { forgotPasswordUrl } = this.props;\n const bodyFormData = new FormData();\n\n bodyFormData.append(`login`, values.email);\n bodyFormData.append('fifth_element', values.fifth_element);\n\n apiProvider.post(forgotPasswordUrl, bodyFormData, true)\n .then(response => {\n response.success && this.setState({\n submitSuccessMessage: response.success.message || 'Success',\n emailServerError: false,\n });\n response.error &&\n this.setState({\n emailServerError: response.data.error.message || response.statusText,\n submitSuccessMessage: false,\n });\n });\n };\n\n handleError = () => this.setState({ emailServerError: false, submitSuccessMessage: false });\n\n\n render() {\n\n const { submitSuccessMessage, emailServerError } = this.state;\n\n return (\n <div className=\"forgot-password\">\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-12 col-md-9 col-lg-9 col-xl-8\">\n <h1>{ I18n.t('views.sessions.new.login.forgotten_password') }</h1>\n <p>{ I18n.t('providers.sessions.forgot_password.instruction') }</p>\n </div>\n </div>\n <ForgotPasswordForm emailServerError={emailServerError}\n submitSuccessMessage={submitSuccessMessage}\n handleSubmit={this.handleFormSubmit}\n handleError={this.handleError}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default ForgotPassword;\n","import React, { Component } from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\n\nimport SignUp from '../../utils/SignUp';\nimport { validationPatterns } from '../../utils/validationPatterns';\n\nimport './ForgotPassword.sass';\n\n\nclass ForgotPasswordFormWrapper extends Component {\n\n errorValidator = (field) => {\n const { errors, touched, emailServerError } = this.props;\n const fieldError = errors[field] && touched[field] && 'forgot-password-form__form-group-error';\n\n return (emailServerError && 'forgot-password-form__form-group-error') || fieldError;\n };\n\n render() {\n\n const { values, handleChange, handleBlur, errors, handleSubmit, emailServerError, submitSuccessMessage, handleError } = this.props;\n\n\n return (\n <div className=\"row\">\n <div className=\"col-12 col-md-6 col-lg-5 col-xl-4\">\n <div className=\"forgot-password-form\">\n <form name=\"forgotPasswordForm\" className=\"forgot-password-form__form\" onSubmit={ handleSubmit } noValidate>\n <input\n id=\"fifth_element\"\n type=\"text\"\n name=\"fifth_element\"\n className=\"invisible\"\n value={values.fifth_element}\n onPaste={handleChange}\n onChange={handleChange}\n />\n\n { submitSuccessMessage &&\n <div className=\"forgot-password-form__input-tooltip-success\">\n { submitSuccessMessage }\n </div>\n }\n\n <div className={`form-group ${ this.errorValidator('email')}`}>\n <label className=\"forgot-password-form__label\" htmlFor=\"email\">\n <input\n name=\"email\"\n type=\"email\"\n value={values.email}\n id=\"email\"\n onChange={e => {\n handleChange(e);\n (emailServerError || submitSuccessMessage) && handleError();\n }}\n onBlur={handleBlur}\n data-tip={errors.email}\n className={`forgot-password-form__input ${values.email && 'active'}`}\n />\n <span className={`floating-label ${values.email && 'active'}`}>\n { I18n.t('views.sessions.new.login.email') }*\n </span>\n </label>\n <div className=\"forgot-password-form__input-tooltip-error\">\n { errors.email }\n </div>\n { emailServerError &&\n <div className=\"forgot-password-form__input-tooltip-error\">\n { emailServerError }\n </div>\n }\n </div>\n\n <div className=\"form-group form-group--submit\">\n <button type=\"submit\" className=\"b-button\">\n { I18n.t('providers.sessions.forgot_password.send') }\n </button>\n </div>\n </form>\n </div>\n </div>\n </div>\n )\n }\n}\n\nconst { email, fifth_element } = SignUp.getClientInfo();\nconst { emailI18n } = SignUp.getI18nAttrNames();\n\nconst i18nRequiredKey = 'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nInvalidEmailInput = 'apps.lb_showroom.detailed.order_form.validation.wrong_email';\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 100 });\n\nconst ForgotPasswordForm = withFormik({\n mapPropsToValues: () => { return { email, fifth_element }},\n\n validationSchema: Yup.object().shape({\n email: Yup.string()\n .matches(validationPatterns.symbolsEmailLimit, i18nSymbolsEmailLimitErrorMessage)\n .email(I18n.t(i18nInvalidEmailInput))\n .required(I18n.t(i18nRequiredKey, { field: emailI18n })),\n }),\n\n handleSubmit: (values, bag) => {\n bag.props.handleSubmit(values);\n },\n\n displayName: 'LoginForm',\n})(ForgotPasswordFormWrapper);\n\nexport default ForgotPasswordForm;\n","import React, { Component } from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\n\nimport SignUp from '../../utils/SignUp';\nimport { validationPatterns } from '../../utils/validationPatterns';\nimport { SvgIco } from \"../SharedComponents/Icons\";\n\nimport './LoginForm.sass';\n\n\nclass LoginFormWrapper extends Component {\n state = {\n passwordVisibility: false,\n };\n\n togglePasswordVisibility = () => {\n this.setState({\n passwordVisibility: !this.state.passwordVisibility,\n });\n };\n\n errorValidator = (field) => {\n const { errors, touched } = this.props;\n const { errorsOnSubmit } = this.state;\n\n return errors[field] && (touched[field] || errorsOnSubmit) && 'login-form__form-group-error';\n };\n\n render() {\n\n const {\n values,\n handleChange,\n handleBlur,\n errors,\n handleSubmit,\n forgotPasswordLink,\n createAccountLink,\n loginError,\n setFieldValue,\n } = this.props;\n\n const { passwordVisibility } = this.state;\n\n\n return (\n <div className=\"login-form\">\n <h2>{ I18n.t('views.sessions.login_box.login_headline') }</h2>\n\n { loginError &&\n <div className=\"login-form__login-error-message\">\n { loginError }\n </div>\n }\n\n <form name=\"loginForm\" className=\"login-form__form\" onSubmit={ handleSubmit } noValidate>\n <input\n id=\"fifth_element\"\n type=\"text\"\n name=\"fifth_element\"\n className=\"invisible\"\n value={values.fifth_element}\n onPaste={handleChange}\n onChange={handleChange}\n />\n\n <div className={`form-group ${ this.errorValidator('email')}`}>\n <label className=\"login-form__label\" htmlFor=\"email\">\n <input\n name=\"email\"\n type=\"email\"\n value={values.email}\n id=\"email\"\n onChange={handleChange}\n onBlur={handleBlur}\n data-tip={errors.email}\n className={`login-form__input ${values.email && 'active'}`}\n />\n <span className={`login-form__floating-label ${values.email && 'active'}`}>\n { I18n.t('views.sessions.new.login.email') }*\n </span>\n </label>\n <div className=\"login-form__input-tooltip-error\">\n { errors.email }\n </div>\n </div>\n\n <div className={`form-group ${ this.errorValidator('password')}`}>\n <label className=\"login-form__label\" htmlFor=\"password\">\n <input\n name=\"password\"\n type={ passwordVisibility ? 'text' : 'password' }\n value={values.password}\n id=\"password\"\n onChange={(e) => {\n setFieldValue('password', e.target.value.replace(/\\s/g, \"\"))\n }}\n onBlur={handleBlur}\n data-tip={ errors.password }\n className={`login-form__input ${values.password && 'active'}`}\n />\n <span className={`login-form__floating-label ${values.password && 'active'}`}>\n { I18n.t('generic.password') }*\n </span>\n </label>\n\n { passwordVisibility\n ? <SvgIco className=\"password-visibility\" name=\"visibility_filled\" onClick={this.togglePasswordVisibility} size={18} />\n : <SvgIco className=\"password-visibility\" name=\"visibility_off_filled\" onClick={this.togglePasswordVisibility} size={18} />\n }\n\n { !!this.errorValidator('password')\n ? <div className=\"login-form__input-tooltip-error\">{ errors.password }</div>\n : <div className=\"login-form__input-tooltip\">{ I18n.t('signup.new_form.password_tooltip') }</div>\n }\n </div>\n\n <div className=\"form-group form-group--checkbox\">\n <div className=\"login-form__remember-me-label\">\n <label htmlFor=\"remember_me\">\n <input\n name=\"remember_me\"\n type=\"checkbox\"\n value={false}\n id=\"remember_me\"\n onChange={handleChange}\n onBlur={handleBlur}\n data-tip={errors.remember_me}\n />\n <span className=\"checkmark\" />\n <div dangerouslySetInnerHTML={{__html: I18n.t('views.sessions.new.login.remember_me_new')}} />\n </label>\n </div>\n <a href={forgotPasswordLink} className=\"login-form__forgot-password-link\">\n { I18n.t('views.sessions.new.login.forgotten_password_new') }\n </a>\n </div>\n\n <div className=\"form-group form-group--submit\">\n <button type=\"submit\" className=\"b-button\">\n { I18n.t('views.sessions.new.login.button') }\n </button>\n </div>\n </form>\n\n <a href={forgotPasswordLink} className=\"login-form__forgot-password-link login-form__forgot-password-link--mobile\">\n { I18n.t('views.sessions.new.login.forgotten_password_new') }\n </a>\n\n <p className=\"login-form__sign-up-link\">\n <span>{ I18n.t('views.sessions.login_box.sign_up_link_preline') }</span>\n <a href={createAccountLink}>\n { I18n.t('views.sessions.login_box.sign_up_link') }\n </a>\n </p>\n </div>\n )\n }\n}\n\nconst { email, password, fifth_element } = SignUp.getClientInfo();\nconst { emailI18n, passwordI18n } = SignUp.getI18nAttrNames();\n\nconst i18nRequiredKey = 'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nMinNumberKey = 'apps.lb_showroom.detailed.order_form.validation.min_number';\nconst i18nInvalidEmailInput = 'apps.lb_showroom.detailed.order_form.validation.wrong_email';\nconst i18nSymbolsLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 254 });\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 100 });\n\nconst LoginForm = withFormik({\n mapPropsToValues: () => { return { email, password, fifth_element }},\n\n validationSchema: Yup.object().shape({\n email: Yup.string()\n .matches(validationPatterns.symbolsEmailLimit, i18nSymbolsEmailLimitErrorMessage)\n .email(I18n.t(i18nInvalidEmailInput))\n .required(I18n.t(i18nRequiredKey, { field: emailI18n })),\n\n password: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .min(6, I18n.t(i18nMinNumberKey, { field: passwordI18n }))\n .required(I18n.t(i18nRequiredKey, { field: passwordI18n })),\n remember_me: Yup.boolean(),\n }),\n\n handleSubmit: (values, bag) => {\n bag.props.handleSubmit(values);\n },\n\n displayName: 'LoginForm',\n})(LoginFormWrapper);\n\nexport default LoginForm;\n","import React, { Component } from 'react';\n\nimport { apiProvider } from '../../api/core';\nimport { requestBuilder } from '../../api/httpService';\nimport { loadTawkTo } from '../TawkTo/TawkTo';\nimport LoginForm from './LoginForm';\n\nimport './index.sass';\n\n\nclass LoginPage extends Component {\n state = {\n loginError: '',\n };\n\n componentDidMount() {\n loadTawkTo(this.props.siteKey);\n };\n\n handleLoginSubmit = (values) => {\n const { loginPath, formAuthToken: authenticity_token } = this.props;\n const { email: login, password, remember_me, fifth_element } = values;\n const requestParams = {\n login,\n authenticity_token,\n password,\n remember_me,\n fifth_element,\n };\n\n apiProvider.post(loginPath, requestBuilder(requestParams), true)\n .then(response => {\n response.redirect_url\n ? window.location.href = response.redirect_url\n : response.error && this.setState({ loginError: response.data.error.message || response.statusText });\n })\n }\n\n render() {\n\n const { createAccountLink,\n siteKey,\n siteName,\n signupFormPath,\n aboutUsLink,\n contactEmail,\n contactPhone,\n forgotPasswordLink } = this.props;\n\n const phoneNumber = siteKey === 'dk' ? '(+45) 39 45 85 57' : contactPhone;\n\n\n return (\n <div className=\"login\" id='login'>\n <div className=\"login__main-content-wrapper\">\n <div className=\"container\">\n <div className=\"login__main-content row\">\n <div className=\"col-md-6 col-lg-5 col-xl-6\">\n <div className=\"login__top-content\">\n <h1>{ I18n.t('views.sessions.new.headline', { site_name: siteName }) }</h1>\n <p className=\"login__header-paragraph\">\n { I18n.t('views.sessions.new.explain') }\n </p>\n </div>\n <h2>{ I18n.t('views.sessions.login_box.still_not_a_user') }</h2>\n <div dangerouslySetInnerHTML={{__html: I18n.t('views.sessions.login_box.sign_up_teaser_new', {site_name: siteName, create_account_link: signupFormPath})}} />\n <h2>{ I18n.t('views.sessions.login_box.tenant_header') }</h2>\n <div className=\"login__subheader-last-paragraph\" dangerouslySetInnerHTML={{__html: I18n.t('views.sessions.login_box.tenant_paragraph')}} />\n </div>\n <div className=\"col-md-6 col-xl-5 offset-lg-1\">\n <div className=\"login__top-content login__top-content--mobile\">\n <h1>{ I18n.t('views.sessions.new.headline', { site_name: siteName }) }</h1>\n <p className=\"login__header-paragraph\">\n { I18n.t('views.sessions.new.explain') }\n </p>\n </div>\n\n <LoginForm createAccountLink={createAccountLink}\n forgotPasswordLink={forgotPasswordLink}\n loginError={this.state.loginError}\n handleSubmit={this.handleLoginSubmit} />\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"container\">\n <div className=\"login__media-blocks row\">\n <div className=\"login__media-block col-md-12 col-lg-4\">\n <div className=\"login__media-img-wrapper login__media-img-wrapper--first\">\n <img src={require('../../src/images/provider_login/virtual_tour.png')} alt=\"Virtual tour\" />\n </div>\n <div className=\"login__media-block-info\">\n <h2>{ I18n.t('views.sessions.new.virtual_tour_info.headline') }</h2>\n <p>{ I18n.t('views.sessions.new.virtual_tour_info.description') }</p>\n <p>{ I18n.t('views.sessions.new.virtual_tour_info.cta') }</p>\n </div>\n </div>\n <div className=\"login__media-block col-md-12 col-lg-4\">\n <div className=\"login__media-img-wrapper\">\n <img src={require('../../src/images/provider_login/all_team.jpg')} alt=\"Our Team\" />\n </div>\n <div className=\"login__media-block-info\">\n <h2>{ I18n.t('views.sessions.new.we_are_ready_to_help.headline') }</h2>\n <p>{ I18n.t('views.sessions.new.we_are_ready_to_help.description', { site_name: siteName }) }</p>\n <a href={aboutUsLink} target=\"_blank\">{ I18n.t('views.sessions.new.we_are_ready_to_help.cta') }</a>\n </div>\n </div>\n <div className=\"login__media-block col-md-12 col-lg-4\">\n <div className=\"login__media-img-wrapper\">\n <img src={require('../../src/images/provider_login/jakob.jpg')} alt=\"Jakob\" />\n </div>\n <div className=\"login__media-block-info\">\n <h2>{ I18n.t('views.sessions.new.got_an_idea.headline') }</h2>\n <p>{ I18n.t('views.sessions.new.got_an_idea.description_jakob', { site_name: siteName }) }</p>\n <a href={`mailto: ${contactEmail}`}>{ I18n.t('views.sessions.new.got_an_idea.cta_jakob', { email: contactEmail }) }</a>\n </div>\n </div>\n </div>\n\n <div className=\"login__contacts row\">\n <div className=\"col-md-12\">\n <div className=\"login__contacts-wrapper\">\n <div className=\"login__content-wrapper\">\n <h2 className=\"login__contacts-header\">{ I18n.t('views.sessions.new.get_personalized_help.headline') }</h2>\n <p className=\"login__contacts-paragraph\">{ I18n.t('views.sessions.new.get_personalized_help.description') }</p>\n\n { phoneNumber &&\n <a href={`tel: ${phoneNumber}`} className=\"login__contacts-info-link\">\n <img src={require('../../src/images/icons/phone_icon.svg')} alt=\"Phone\" />\n <span>{ phoneNumber }</span>\n </a>\n }\n\n <a href={`mailto: ${contactEmail}`} className=\"login__contacts-info-link\">\n <img src={require('../../src/images/icons/mail.svg')} alt=\"Email\" />\n <span>{ contactEmail }</span>\n </a>\n\n <h3>{ I18n.t('simple_form.labels.parking_lot.opening_hours') }</h3>\n <div className=\"login__working-hours\">\n <div>\n <p>{ I18n.t('views.sessions.new.opening_hours_weekdays') }</p>\n <p>{ I18n.t('views.sessions.new.opening_hours_weekend') }</p>\n </div>\n <div>\n <p>{ siteKey === 'dk' ? '09:00-16:30' : '09:00-17:00' }</p>\n <p>{ I18n.t('generic.closed') }</p>\n </div>\n </div>\n </div>\n <div className=\"login__contacts-img\">\n <img src={require('../../src/images/provider_login/banner_img.svg')} alt=\"Poster\" />\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </div>\n )\n }\n}\n\nexport default LoginPage;\n","import React from 'react';\nimport { compose, withProps } from 'recompose';\nimport { withScriptjs, withGoogleMap } from 'react-google-maps';\n\nimport MainMapWrapper from \"./MainMapWrapper\";\n\nimport './MainMap.sass';\n\nexport const mapApi = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyCB-C2df0QoK2pJ1TnRGKXTOexFZDeHY3U&libraries=geometry,drawing,places';\n\nconst MainMap = compose(\n withProps(props => ({\n googleMapURL: mapApi,\n loadingElement: <div style={{ height: '100%' }} />,\n containerElement: <div className=\"main-map\" id=\"main-map\"/>,\n mapElement: <div style={{ height: '100%' }} />,\n })),\n withScriptjs,\n withGoogleMap,\n)((props) => (\n <MainMapWrapper\n toggleMap={props.toggleMap}\n onMarkerClustererClick={props.onMarkerClustererClick}\n />\n));\n\nexport default MainMap;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { GoogleMap } from 'react-google-maps';\n\nimport { requestBuilder } from '../../api/httpService';\nimport { apiProvider } from '../../api/core';\nimport { SvgIco } from \"../SharedComponents/Icons\";\nimport MapWrapper from './MapWrapper';\n\nimport mapStyles from './style.json';\n\n\nconst url = '/lease/api/frontend/locations/map_markers';\n\n\nclass MainMapWrapper extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n isMapReady: false,\n markersArray: [],\n turnOnDrag: false,\n showLoader: false\n };\n };\n\n\n componentDidMount() {\n if (this.props.mapOptions.root.length === 0) {\n apiProvider.post(this.mapMarkersUrl(), requestBuilder(this.props.requestParams))\n .then((data) => {\n this.setState({ markersArray: data.locations || [] });\n this.boundsMap(data.locations)\n })\n } else {\n this.boundsMap();\n this.setState({markersArray: []})\n }\n\n google.maps.event.addListener(this.map,'idle',function(){\n if(!this.get('dragging') && this.get('oldCenter') && this.get('oldCenter')!== this.getCenter()) {\n }\n if(!this.get('dragging')){\n this.set('oldCenter',this.getCenter())\n }\n });\n\n google.maps.event.addListener(this.map,'dragstart',function(){\n this.set('dragging',true);\n });\n\n google.maps.event.addListener(this.map,'dragend',function(){\n this.set('dragging',false);\n google.maps.event.trigger(this,'idle',{});\n });\n };\n\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.markersArray !== prevProps.markersArray) {\n this.setState({markersArray: this.props.markersArray});\n this.boundsMap(this.props.markersArray)\n }\n };\n\n\n onDragEnd = () => {\n if (this.props.mapOptions.root.length === 0) {\n this.setState({showLoader: true})\n const { requestParams } = this.props;\n let ne = this.map.getBounds().getNorthEast();\n let sw = this.map.getBounds().getSouthWest();\n let viewportString = `${sw.lat()},${sw.lng()},${ne.lat()},${ne.lng()}`;\n const searchData = {...requestParams, viewport_string: viewportString, postal_districts: []};\n\n apiProvider.post(this.mapMarkersUrl(), requestBuilder(searchData))\n .then((data) => {\n this.setState({ showLoader: false });\n data.locations && data.locations.length > 0 && this.setState({ markersArray: data.locations });\n });\n }\n };\n\n\n boundsMap(markersArray) {\n const markers = markersArray ? markersArray : this.props.markersArray;\n if (markers.length > 0) {\n const bounds = new window.google.maps.LatLngBounds();\n\n markers.map((elem) => {\n bounds.extend(new window.google.maps.LatLng(\n elem.location.lat,\n elem.location.lon,\n ));\n return elem;\n });\n if (bounds.getNorthEast().equals(bounds.getSouthWest())) {\n const extendPoint1 = new window.google.maps.LatLng(bounds.getNorthEast().lat() + 0.001,\n bounds.getNorthEast().lng() + 0.001);\n const extendPoint2 = new window.google.maps.LatLng(bounds.getNorthEast().lat() - 0.001,\n bounds.getNorthEast().lng() - 0.001);\n\n bounds.extend(extendPoint1);\n bounds.extend(extendPoint2);\n }\n this.map.fitBounds(bounds);\n }\n };\n\n\n mapMarkersUrl = () => {\n const { countryAlpha2 } = this.props.keywords;\n\n return url + '?country_alpha2=' + countryAlpha2;\n };\n\n\n changeDragAndDropFunction = () => {\n this.setState({turnOnDrag: !this.state.turnOnDrag})\n };\n\n\n render() {\n const markersArray = this.state.markersArray.length > 0 ? this.state.markersArray : this.props.markersArray;\n const defaultCenter = { lat: 0, lng: 0 };\n const onlyAnonymusocation = markersArray.length === 0;\n\n const {\n comparableLocations,\n favouriteLocationsIds,\n section,\n showSearchButton,\n toggleMap,\n updateComparableLocations,\n updateFavouriteLocations,\n } = this.props;\n\n\n return (\n <GoogleMap\n ref={(map) => { this.map = map; }}\n zoom={ !onlyAnonymusocation ? 8 : 2 }\n maxZoom={ 15 }\n defaultOptions={{ mapTypeControl: false }}\n options={{ scrollwheel: true, mapTypeControl: false, gestureHandling: 'greedy', styles: mapStyles }}\n defaultCenter={ defaultCenter }\n onDragEnd={ this.state.turnOnDrag ? this.onDragEnd : () => null}\n onZoomChanged={this.state.turnOnDrag ? this.onDragEnd : () => null}\n >\n <MapWrapper\n markersArray={ markersArray }\n orderUrl={ this.props.keywords.apiCreateOrderPath }\n siteKey={ this.props.keywords.siteKey}\n favouriteLocationsIds={favouriteLocationsIds}\n section={section}\n updateFavouriteLocations={updateFavouriteLocations}\n updateComparableLocations={updateComparableLocations}\n map={this.map}\n comparableLocations={comparableLocations}\n countryAlpha2={this.props.keywords.countryAlpha2}\n />\n\n { !onlyAnonymusocation\n ?\n <div>\n <button className=\"main-map__close-button\" onClick={ toggleMap }>\n <SvgIco name=\"arrow-back\" size={24} />\n { I18n.t(\"generic.back\") }\n </button>\n\n { showSearchButton &&\n <div className={`main-map__search-display-button ${this.state.turnOnDrag ? 'main-map__search-display-button--selected' : ''}`}\n onClick={this.changeDragAndDropFunction}>\n <p>{ I18n.t('generic.search-displayed-area') }</p>\n <SvgIco name=\"check\" size={16} />\n </div>\n }\n\n { this.state.showLoader &&\n <div className=\"spinner-wrapper\">\n <div className=\"smoothie-spinner\" />\n </div>\n }\n </div>\n :\n <button className=\"main-map__close-button\" onClick={ toggleMap }>\n <SvgIco name=\"arrow-back\" size={24} />\n { I18n.t('generic.no-coordinates') }\n </button>\n }\n </GoogleMap>\n );\n }\n}\n\nMainMapWrapper.propTypes = {\n markersArray: PropTypes.arrayOf(PropTypes.shape),\n};\n\nMainMapWrapper.defaultProps = {\n markersArray: [],\n};\n\nexport default MainMapWrapper;\n","import React, { Component } from 'react';\nimport MarkerClusterer from \"react-google-maps/lib/components/addons/MarkerClusterer\";\n\nimport { apiProvider } from '../../api/core';\nimport MarkerWrapper from './MarkerWrapper';\nimport MarkerContent from './MarkerContent';\n\n\nclass MapWrapper extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n markerInfoLocation: false,\n markerFullInfo: null\n };\n }\n\n onMarkerInfoToggle = (locationId, coords) => {\n\n if (locationId === this.state.markerInfoLocation) {\n return this.setState(() => ({\n markerInfoLocation: false,\n markerFullInfo: null,\n }));\n } else {\n this.setState({ markerFullInfo: null });\n\n apiProvider.getAll(`/lease/api/frontend/locations/${locationId}/map_markers_marker_info`)\n .then(response => response && this.setState({ markerFullInfo: response }));\n\n return this.setState(() => ({\n markerInfoLocation: locationId,\n }));\n }\n };\n\n getMarkers() {\n const { markerInfoLocation, markerFullInfo } = this.state;\n return this.props.markersArray.filter(e => (e.location.lat && e.location.lon)).map((data) => {\n const openByClick = (markerInfoLocation === (data.location.id ? data.location.id : data.id));\n\n\n return (\n <MarkerWrapper\n key={ data.location.id ? data.location.id : data.id}\n onInfoToggle={ this.onMarkerInfoToggle }\n locationId={ data.location.id ? data.location.id : data.id }\n lat={ data.location.lat }\n lng={ data.location.lon }\n isActive={ openByClick }\n map={this.props.map}\n >\n { markerFullInfo && (\n <MarkerContent\n address={ markerFullInfo.address_line_1 }\n areaLabel={ markerFullInfo.presenter.area_label }\n area={ markerFullInfo.presenter.area }\n priceLabel={ markerFullInfo.presenter.label }\n price={ markerFullInfo.presenter.price }\n id={ markerFullInfo.id }\n imageUrl={ markerFullInfo.primary_photo_2x }\n kind={ markerFullInfo.kind }\n link={ markerFullInfo.href }\n orderUrl={ markerFullInfo.order_path }\n postalCode={ markerFullInfo.postal_code }\n postalName={ markerFullInfo.postal_name }\n features={ markerFullInfo.features_presence }\n rentedOut={ markerFullInfo.shown_as_rented_out }\n parkingCheckbox={ markerFullInfo.nearby_parking_lot }\n onInfoToggle={ this.onMarkerInfoToggle }\n uuid={ markerFullInfo.uuid }\n isInternal={markerFullInfo.is_internal}\n anonymous={markerFullInfo.anonymous}\n provider={markerFullInfo.provider_name}\n closedMonth={markerFullInfo.closed_month}\n streetName={markerFullInfo.street_name}\n suitableFor={markerFullInfo.suitable_for_kinds}\n secondaryKinds={markerFullInfo.secondary_kinds}\n siteKey={this.props.siteKey}\n section={this.props.section}\n favouriteLocationsIds={this.props.favouriteLocationsIds}\n comparableLocations={this.props.comparableLocations}\n updateFavouriteLocations={this.props.updateFavouriteLocations}\n updateComparableLocations={this.props.updateComparableLocations}\n countryAlpha2={this.props.countryAlpha2}\n areaIcon={markerFullInfo.presenter.area_icon}\n />\n )}\n </MarkerWrapper>\n );\n });\n }\n\n render() {\n const markers = this.getMarkers();\n\n return (\n <MarkerClusterer\n averageCenter\n enableRetinaIcons\n gridSize={60}\n minimumClusterSize={7}\n >\n <div>{ markers }</div>\n </MarkerClusterer>\n );\n }\n}\n\nexport default MapWrapper;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CrawledBadge, RentedOutBadge, AnonymousBadge } from \"../SharedComponents/Badges\";\nimport { mappedMonths } from '../helpers/danishMonths';\nimport FavouriteIcon from '../SharedComponents/FavouriteIcon';\nimport CompareIcon from \"../SharedComponents/CompareIcon\";\nimport Tooltip from '../SharedComponents/Tooltip';\nimport { SvgIco } from \"../SharedComponents/Icons\";\n\nimport './MarkerInfoWindow.sass';\n\n\nclass MarkerContent extends Component {\n\n state ={\n showToolTip: false\n };\n\n showTooltip = () => {\n this.setState({showToolTip: true})\n };\n\n hideTooltip = () => {\n this.setState({showToolTip: false})\n };\n\n render() {\n const {\n address,\n areaIcon,\n anonymous,\n area,\n areaLabel,\n closedMonth,\n comparableLocations,\n favouriteLocationsIds,\n id,\n imageUrl,\n isInternal,\n kind,\n link,\n onInfoToggle,\n postalCode,\n postalName,\n price,\n priceLabel,\n rentedOut,\n secondaryKinds,\n section,\n showFullAddress,\n siteKey,\n streetName,\n suitableFor,\n updateFavouriteLocations,\n updateComparableLocations,\n } = this.props;\n\n const parsedLocImageStyle = { backgroundImage: `url(${imageUrl})` };\n const imageStyle = {\n backgroundImage: `url(${imageUrl})`,\n filter: rentedOut ? 'grayscale(100%)' : 'none',\n };\n\n const closedMonthName = mappedMonths(closedMonth);\n const suitableForList = suitableFor.length ? (suitableFor.length > 1 ? suitableFor.slice(0, 1) : suitableFor) : null;\n const translated = suitableFor.map(elem => I18n.t(`lb_showroom.showroom.suitable.for.mapview.tooltip.${elem}`));\n const updatedTranslation = translated.join(', ');\n\n\n return (\n <div className=\"marker-info-window\">\n <div>\n <button className=\"marker-info-window__close-btn\" onClick={() => onInfoToggle(id)}>\n <SvgIco name=\"close\" size={24} />\n </button>\n\n { section === 'lease' &&\n <CompareIcon\n comparableLocations={comparableLocations}\n kind={kind}\n locationId={id}\n siteKey={siteKey}\n tooltipPosition={'bottom'}\n updateComparableLocations={updateComparableLocations} />\n }\n\n <FavouriteIcon\n favoriteLocations={favouriteLocationsIds}\n locationId={id}\n section={section}\n siteKey={siteKey}\n tooltipPosition={'bottom'}\n updateFavouriteLocations={updateFavouriteLocations} />\n\n <a href={link} target=\"_blank\" className=\"marker-info-window__header\">\n {isInternal ? (\n <div className='parsed-location-placeholder' style={parsedLocImageStyle}>\n {isInternal && <CrawledBadge root='map'/>}\n </div>\n ) : (\n <div className=\"marker-info-window__photo-block\" style={imageStyle}>\n { rentedOut &&\n <RentedOutBadge\n root='grid'\n month={siteKey === 'dk' ? closedMonthName : null}\n sale={section !== 'lease'} />\n }\n {anonymous && <AnonymousBadge root='grid'/>}\n </div>\n )}\n </a>\n <a href={link} target=\"_blank\" className=\"marker-info-window__description-wrapper\">\n <div className=\"marker-info-window__kinds-suitable-for-wrapper\">\n <div className=\"marker-info-window__kinds\">\n <span className=\"marker-info-window__kind\">{I18n.t(`generic.${kind}`)} </span>\n { secondaryKinds.length !== 0 &&\n <div className=\"secondary-kinds\">+ {secondaryKinds.length}</div>\n }\n </div>\n <div className=\"marker-info-window__suitableFor\">\n { suitableForList && suitableForList.map((elem, index) =>\n <div\n onMouseOver={this.showTooltip}\n onMouseLeave={this.hideTooltip}\n className='suitable-for__item' key={index}>\n {/*<img className=\"suitable-for__icon\"*/}\n {/* src={require(`../../src/images/icons/suitable_for/${elem}.svg`)}*/}\n {/* alt={elem}*/}\n {/* height={22}*/}\n {/* width={22}*/}\n {/*/>*/}\n { index === suitableForList.length - 1 && suitableFor.length > 1 &&\n <div className=\"suitable-for__more\">+{suitableFor.length - 1}</div>}\n\n </div>\n )}\n <div className={`tooltip-wrapper ${this.state.showToolTip ? 'tooltip-wrapper-active' : ''}`}>\n <Tooltip tooltipContent={I18n.t(`generic.suitable_for`)} tooltipSuitableForOnly={updatedTranslation}/>\n </div>\n </div>\n </div>\n\n <div className=\"marker-info-window__address\">\n <p className=\"marker-info-window__address-line\">{ `${streetName || address }, ${ showFullAddress ? postalCode + ' ' : '' }${postalName}` }</p>\n </div>\n\n <div className=\"marker-info-window__marker-info\">\n <div className=\"marker-info-window__info-line\">\n {area && (\n <Fragment>\n <span><img src={require(`../../src/images/icons/${areaIcon || 'area'}.svg`)} alt='area label' className=\"lazyload\"\n data-sizes=\"auto\"/>{areaLabel}</span>\n <span>{area}</span>\n </Fragment>\n )}\n </div>\n <div className=\"marker-info-window__info-line\">\n <span>{priceLabel}</span>\n <span>{price}</span>\n </div>\n </div>\n </a>\n </div>\n </div>\n );\n }\n}\n\nMarkerContent.propTypes = {\n address: PropTypes.string,\n area: PropTypes.string,\n areaLabel: PropTypes.string,\n features: PropTypes.object,\n id: PropTypes.number,\n imageUrl: PropTypes.string,\n kind: PropTypes.string,\n link: PropTypes.string,\n postalCode: PropTypes.string,\n postalName: PropTypes.string,\n price: PropTypes.string,\n priceLabel: PropTypes.string,\n rentedOut: PropTypes.bool,\n uuid: PropTypes.string,\n countryAlpha2: PropTypes.string,\n showFullAddress: PropTypes.bool,\n};\n\nMarkerContent.defaultProps = {\n address: '',\n area: '',\n areaLabel: '',\n features: {},\n id: null,\n imageUrl: '',\n kind: '',\n link: '',\n postalCode: '',\n postalName: '',\n price: '',\n priceLabel: '',\n rentedOut: false,\n uuid: '',\n countryAlpha2: '',\n suitableFor: [],\n secondaryKinds: [],\n showFullAddress: false,\n};\n\nexport default React.memo(MarkerContent);\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Marker, InfoWindow } from 'react-google-maps';\nimport { isMobileOnly } from 'react-device-detect';\n\nimport pin from '../../src/images/listview-pin-png.png';\nimport hoverPin from '../../src/images/hover-listview-pin-png.png';\n\n\nclass MarkerWrapper extends Component {\n\n getPixelCoords = (lat, lng) => {\n const { map } = this.props;\n const projection = map.getProjection(),\n topRight = projection.fromLatLngToPoint(map.getBounds().getNorthEast()),\n bottomLeft = projection.fromLatLngToPoint(map.getBounds().getSouthWest()),\n scale = Math.pow(2, map.getZoom());\n\n // Create our point.\n const point = projection.fromLatLngToPoint(new google.maps.LatLng(lat,lng));\n\n // Get the x/y based on the scale.\n const x = Math.floor((point.x - bottomLeft.x) * scale);\n const y = Math.floor((point.y - topRight.y) * scale);\n\n return { x, y };\n }\n\n setMarkerOffset = () => {\n const { lat, lng, map } = this.props;\n\n const windowWidth = Math.floor(window.innerWidth),\n windowHeight = Math.floor(window.innerHeight) - 70,\n topMapOffset = 70, // the distances are different as we have an optional map controls on the top and right parts\n rightMapOffset = 70,\n bottomMapOffset = 30,\n leftMapOffset = 30,\n infoWindowHeight = 342,\n infoWindowWidth = 270,\n topInfoWindowOffset = 23,\n centerPoint = this.getPixelCoords(map.getCenter().lat(), map.getCenter().lng()),\n markerPoint = this.getPixelCoords(lat, lng);\n\n // these are the offsets from central point of the marker to InfoWindow\n // including inner distance inside the image (and 8px padding from img for top and bottom)\n const offsetCoords = {\n top: markerPoint.y - 15 - 8,\n right: markerPoint.x + 20,\n bottom: markerPoint.y + 25,\n left: markerPoint.x - 20 - 8,\n };\n\n // TODO: make it count dynamically\n const infoWindowCenterOffsets = {\n offsetTop: { x: 0, y: 2 },\n offsetRight: { x: 155, y: 201 },\n offsetBottom: { x: 0, y: 400 },\n offsetLeft: { x: -155, y: 201 },\n };\n\n const { top, right, bottom, left } = offsetCoords;\n const { offsetTop, offsetRight, offsetBottom, offsetLeft } = infoWindowCenterOffsets;\n\n const fitTop = (offsetHeight) => top - topMapOffset - offsetHeight > 0,\n fitBottom = (offsetHeight) => bottom + offsetHeight < windowHeight - bottomMapOffset,\n fitLeft = (offsetWidth) => left - leftMapOffset - offsetWidth > 0,\n fitRight = (offsetWidth) => right + offsetWidth < windowWidth - rightMapOffset,\n fitsLeftRight = (offsetWidth) => fitRight(offsetWidth) && fitLeft(offsetWidth),\n fitsTopBottom = (offsetHeight) => fitTop(offsetHeight) && fitBottom(offsetHeight),\n fitCenterTop = () => fitTop(infoWindowHeight) && fitsLeftRight(infoWindowWidth / 2),\n fitCenterBottom = () => fitBottom(infoWindowHeight) && fitsLeftRight(infoWindowWidth / 2),\n fitCenterLeft = () => fitLeft(infoWindowWidth) && fitsTopBottom(infoWindowHeight / 2),\n fitCenterRight = () => fitRight(infoWindowWidth) && fitsTopBottom(infoWindowHeight / 2),\n setInfoWindowOffset = (offset) => new google.maps.Size(offset.x, offset.y);\n\n // In case we dont fit the center position of the InfoWindow against marker pin\n const recalculateOffset = (quadrant) => {\n const topDistance = markerPoint.y - topMapOffset,\n bottomDistance = windowHeight - bottomMapOffset - markerPoint.y;\n\n switch (quadrant) {\n case \"tr\":\n return { x: offsetLeft.x, y: infoWindowHeight - topDistance + topInfoWindowOffset };\n case \"tl\":\n return { x: offsetRight.x, y: infoWindowHeight - topDistance + topInfoWindowOffset };\n case 'br':\n return { x: offsetLeft.x, y: bottomDistance };\n case 'bl':\n return { x: offsetRight.x, y: bottomDistance };\n }\n }\n\n // The quadrant in witch the we have marker\n let quadrant = \"\";\n\n quadrant += (markerPoint.y > centerPoint.y) ? \"b\" : \"t\";\n quadrant += (markerPoint.x < centerPoint.x) ? \"l\" : \"r\";\n\n const offset = () => {\n let offsetCoords;\n\n switch (quadrant) {\n case 'tr':\n offsetCoords = fitCenterTop() ? offsetTop\n : fitCenterBottom() ? offsetBottom\n : fitCenterLeft() ? offsetLeft\n : recalculateOffset('tr');\n break;\n case 'tl':\n offsetCoords = fitCenterTop() ? offsetTop\n : fitCenterBottom() ? offsetBottom\n : fitCenterRight() ? offsetRight\n : recalculateOffset('tl');\n break;\n case \"br\":\n offsetCoords = fitCenterTop() ? offsetTop\n : fitCenterBottom() ? offsetBottom\n : fitCenterLeft() ? offsetLeft\n : recalculateOffset('br');\n break;\n case \"bl\":\n offsetCoords = fitCenterTop() ? offsetTop\n : fitCenterBottom() ? offsetBottom\n : fitCenterRight() ? offsetRight\n : recalculateOffset('bl');\n }\n\n return setInfoWindowOffset(offsetCoords);\n }\n\n return offset();\n }\n\n render() {\n\n const { isActive, lat, lng, children, onInfoToggle, locationId } = this.props;\n const pixelOffset = !isMobileOnly && isActive && this.setMarkerOffset();\n\n const getInfo = () => isActive\n ? <InfoWindow options={ {disableAutoPan: true, pixelOffset } }>\n <div>{ children }</div>\n </InfoWindow>\n : null;\n\n const toggleInfo = () => onInfoToggle(locationId, { lat: lat, lng: lng });\n\n return (\n <Marker\n ref={(marker) => { this.marker = marker; }}\n noRedraw={true}\n position={{ lat, lng }}\n onClick={toggleInfo}\n icon={ isActive\n ? {url: hoverPin, scaledSize: { width: 28, height: 40}, anchor: { x: 15, y: 15 }}\n : {url: pin, scaledSize: { width: 28, height: 40}, anchor: { x: 15, y: 15 }} }\n >\n { getInfo() }\n </Marker>\n )\n }\n}\n\nMarkerWrapper.propTypes = {\n lat: PropTypes.number,\n lng: PropTypes.number,\n children: PropTypes.node,\n isActive: PropTypes.bool,\n locationId: PropTypes.number,\n colsY: PropTypes.number,\n rowX: PropTypes.number,\n onInfoToggle: PropTypes.func,\n};\n\nMarkerWrapper.defaultProps = {\n lat: 0,\n lng: 0,\n children: null,\n isActive: false,\n locationId: 0,\n colsY: 0,\n rowX: 0,\n onInfoToggle: () => true,\n};\n\n\nexport default MarkerWrapper;\n","import React, { Component } from 'react';\nimport { Marker, InfoWindow } from '@react-google-maps/api';\nimport parkingPin from '../../src/images/icons/p_marker.png';\n\nimport './ParkingMarker.sass';\n\n\nclass ParkingMarker extends Component {\n handleClick = (element) => {\n switch (element) {\n case 'marker':\n if(this.props.markerOpenedId == this.props.marker.id) {\n this.props.updateMarkerOpenedId(null);\n } else {\n this.props.updateMarkerOpenedId(this.props.marker.id);\n }\n break;\n case 'close_icon':\n this.props.updateMarkerOpenedId(null);\n break;\n }\n };\n renderPrice = (priceFrom, priceTo) => {\n if (priceFrom && priceTo) {\n return (\n <div className=\"parking-info-window__price\">\n <div className=\"parking-info-window__price-label\">\n {I18n.t(\n 'parking.parking_lots.parking_interval_row.monthly_rent_per_space'\n ) + ': '}\n <div className=\"parking-info-window__price-value\">\n {priceFrom + ' - ' + priceTo}\n </div>\n </div>\n </div>\n );\n } else if (priceFrom && !priceTo) {\n return (\n <div className=\"parking-info-window__price\">\n <div className=\"parking-info-window__price-label\">\n {I18n.t(\n 'parking.parking_lots.parking_interval_row.monthly_rent_per_space'\n ) + ': '}\n <div className=\"parking-info-window__price-value\">{priceFrom}</div>\n </div>\n </div>\n );\n }\n return null;\n };\n render() {\n const position = {\n lat: this.props.marker.latitude,\n lng: this.props.marker.longitude,\n };\n const {\n marker: {\n url,\n title,\n kind,\n monthly_rent_per_space_amount_from,\n monthly_rent_per_space_amount_to,\n primary_photo_url,\n },\n } = this.props;\n return (\n <Marker\n id={this.props.marker.id}\n icon={parkingPin}\n position={position}\n onClick={() => this.handleClick('marker')}\n >\n {this.props.markerOpenedId == this.props.marker.id && (\n <InfoWindow\n position={position}\n onCloseClick={() => this.handleClick('close_icon')}\n options={{ pixelOffset: new google.maps.Size(0, 0) }}\n >\n <div className=\"parking-info-window\">\n <div className=\"parking-info-window__wrapper\">\n <div className=\"parking-info-window__container\">\n <div className=\"parking-info-window__title\">\n <a href={url} className=\"parking-info-window__title-link\">\n {title}\n <span className=\"parking-info-window__block-link\" />\n </a>\n </div>\n <div className=\"parking-info-window__details\">\n <div className=\"parking-info-window__kind\">\n {I18n.t(`parking.generic.${kind}`)}\n </div>\n {this.renderPrice(\n monthly_rent_per_space_amount_from,\n monthly_rent_per_space_amount_to\n )}\n </div>\n </div>\n\n <div className=\"parking-info-window__image-wrapper\">\n <img\n className=\"parking-info-window__image\"\n src={primary_photo_url}\n />\n </div>\n </div>\n </div>\n </InfoWindow>\n )}\n </Marker>\n );\n }\n}\n\nexport default ParkingMarker;\n","import React, { Component } from 'react';\nimport { getParkingLotsNear } from '../../utils/api';\n\nimport BaseMap from './BaseMap';\nimport ParkingMarker from './ParkingMarker';\n\nfunction loadingElement() {\n return <div style={{ height: `100%` }} />;\n}\n\nclass ParkingMarkerMap extends Component {\n updateMarkerOpenedId = (marker_id) => {\n this.setState({ markerOpenedId: marker_id });\n };\n markers = () => {\n return this.state.parkingLots.map(marker => (\n <ParkingMarker marker={marker} key={marker.id} updateMarkerOpenedId={this.updateMarkerOpenedId} markerOpenedId={this.state.markerOpenedId} />\n ));\n };\n\n constructor(props) {\n super(props);\n this.state = {\n parkingLots: [],\n markerOpenedId: null\n };\n }\n\n componentDidMount() {\n const { coordinates: { latitude, longitude }, clickHandler } = this.props;\n\n getParkingLotsNear(latitude, longitude)\n .then(res => {\n const parkingLots = res.data.parking_lots;\n this.setState({ parkingLots });\n })\n .catch(error => {\n console.error(error);\n });\n }\n\n render() {\n const { coordinates: { latitude, longitude }, clickHandler, googleApiKey } = this.props;\n const coordinatesObj = { lat: latitude, lng: longitude };\n\n return (\n <BaseMap\n googleMapURL={`https://maps.googleapis.com/maps/api/js?key=${googleApiKey}&libraries=places`}\n loadingElement={loadingElement()}\n containerElement={<div className=\"bottom-map-container\" />}\n mapElement={<div id=\"location-react-map\" className=\"bottom-location-map\" />}\n coordinates={coordinatesObj}\n markers={this.markers()}\n />\n );\n }\n}\n\nexport default ParkingMarkerMap;\n","import React from 'react';\nimport { GoogleMap, useJsApiLoader, Marker } from '@react-google-maps/api';\n\nimport mapPin from '../../src/images/details-page-pin.svg';\nimport { SvgIco } from '../SharedComponents/Icons';\nimport mapStyles from \"../../src/stylesheets/map_styles.json\";\n\nimport './DetailsMap.sass';\n\n\nfunction DetailMap({ containerClass,\n googleApiKey,\n orientationHorizontalMobile,\n coordinates,\n isFullscreenMobile,\n isGalleryMobileComponent,\n handleFullscreenMobile,\n isMobile,\n markers}) {\n\n const { isLoaded, loadError } = useJsApiLoader({\n googleMapsApiKey: googleApiKey,\n });\n\n const containerStyle = {\n width: '100%',\n height: '100%',\n };\n\n const renderMap = () => {\n\n return (\n <GoogleMap\n mapContainerStyle={containerStyle}\n center={coordinates}\n zoom={15}\n defaultCenter={coordinates}\n onLoad={map => {}}\n mapContainerClassName={containerClass}\n options={{\n gestureHandling: 'cooperative',\n fullscreenControl: !isFullscreenMobile && !isGalleryMobileComponent,\n mapTypeControl: !isFullscreenMobile || !isGalleryMobileComponent,\n streetViewControl: !isFullscreenMobile && !isMobile,\n styles: mapStyles,\n }}\n >\n <div className={`dv-gallery-map-fullscreen-header${isFullscreenMobile && !orientationHorizontalMobile ? ' active' : ''}`}>\n <span>\n { I18n.t('lb_showroom.detailed.asset_box.new_map_button') }\n </span>\n { isGalleryMobileComponent &&\n <div className=\"map-mobile-fullscreen-btn\" onClick={handleFullscreenMobile}>\n { isFullscreenMobile\n ? <SvgIco name=\"close\" size={24} />\n : <SvgIco name=\"crop_free\" size={24} />\n }\n </div>\n }\n </div>\n <Marker icon={{ url: mapPin, scaledSize: { width: 56, height: 56} }} position={coordinates} />\n { markers }\n </GoogleMap>\n )\n };\n\n if (loadError) {\n return <div>Map cannot be loaded right now, sorry.</div>\n }\n\n return isLoaded ? renderMap() : <span>Loading..</span>\n}\n\nexport default DetailMap;\n\n\n","import React, { Component } from 'react';\nimport { isMobile, isTablet } from \"react-device-detect\";\nimport DetailMap from './DetailMap';\n\nclass DetailsMapWrapper extends Component {\n state = {\n isGalleryMobileComponent: false,\n isFullscreenMobile: false,\n orientationHorizontalMobile: false,\n };\n handleFullscreenMobile = () => this.setState({ isFullscreenMobile: !this.state.isFullscreenMobile });\n\n componentDidMount() {\n this.props.isGalleryComponent && isMobile && this.setState({ isGalleryMobileComponent: true });\n }\n\n render() {\n const { latitude, longitude , googleApiKey, orientationHorizontalMobile } = this.props;\n const { isFullscreenMobile, isGalleryMobileComponent } = this.state;\n const coordinatesObj = { lat: latitude, lng: longitude };\n const containerClass = `map-container${isFullscreenMobile ? ' fullscreen-mobile' : ''}`;\n\n\n return (\n <DetailMap\n googleApiKey={googleApiKey}\n containerClass={containerClass}\n coordinates={coordinatesObj}\n isGalleryMobileComponent={isGalleryMobileComponent}\n isMobile={isMobile && !isTablet}\n handleFullscreenMobile={this.handleFullscreenMobile}\n isFullscreenMobile={isFullscreenMobile}\n orientationHorizontalMobile={orientationHorizontalMobile}\n />\n );\n }\n}\n\nexport default DetailsMapWrapper;\n","import React, { Component } from 'react';\nimport { getParkingLotsNear } from '../../utils/api';\n\nimport DetailMap from './DetailMap';\nimport ParkingMarker from '../Map/ParkingMarker';\nimport { isMobile, isTablet } from 'react-device-detect';\n\nclass ParkingMarkerMap extends Component {\n handleOrientationChange = () => {\n this.setState({ orientationHorizontalMobile: !this.state.orientationHorizontalMobile })\n };\n handleFullscreenMobile = () => this.setState({ isFullscreenMobile: !this.state.isFullscreenMobile });\n\n constructor(props) {\n super(props);\n this.state = {\n parkingLots: [],\n markerOpenedId: null,\n isGalleryMobileComponent: false,\n isFullscreenMobile: false,\n orientationHorizontalMobile: false,\n };\n }\n\n componentDidMount() {\n const { coordinates: { latitude, longitude } } = this.props;\n isMobile && this.setState({ isGalleryMobileComponent: true });\n if (isMobile && !isTablet) {\n window.innerHeight < window.innerWidth && this.setState({\n orientationHorizontalMobile: true\n });\n window.addEventListener('orientationchange', this.handleOrientationChange);\n }\n\n getParkingLotsNear(latitude, longitude)\n .then(res => {\n const parkingLots = res.data.parking_lots;\n this.setState({ parkingLots });\n })\n .catch(error => {\n console.error(error);\n });\n }\n\n\n updateMarkerOpenedId = (marker_id) => {\n this.setState({ markerOpenedId: marker_id });\n };\n\n\n markers = () => {\n return this.state.parkingLots.map(marker => (\n <ParkingMarker marker={marker} key={marker.id} updateMarkerOpenedId={this.updateMarkerOpenedId} markerOpenedId={this.state.markerOpenedId} />\n ));\n };\n\n render() {\n const { coordinates: { latitude, longitude }, googleApiKey } = this.props;\n const { isFullscreenMobile, isGalleryMobileComponent, orientationHorizontalMobile } = this.state;\n const coordinatesObj = { lat: latitude, lng: longitude };\n const containerClass = `map-container${isFullscreenMobile ? ' fullscreen-mobile' : ''}`;\n\n return (\n <DetailMap\n googleApiKey={googleApiKey}\n containerElement={<div className=\"bottom-map-container\" />}\n mapElement={<div id=\"location-react-map\" className=\"bottom-location-map\" />}\n coordinates={coordinatesObj}\n markers={this.markers()}\n isGalleryMobileComponent={isGalleryMobileComponent}\n isMobile={isMobile && !isTablet}\n handleFullscreenMobile={this.handleFullscreenMobile}\n isFullscreenMobile={isFullscreenMobile}\n orientationHorizontalMobile={orientationHorizontalMobile}\n containerClass={containerClass}\n />\n );\n }\n}\n\nexport default ParkingMarkerMap;\n","import React from 'react';\n\nimport './styles/virtual-tour.sass';\n\nexport const VirtualTourModal = (props) => {\n return (\n <div onClick={props.toggleModal}>\n { props.isOpen &&\n <div className='virtual-tour-modal'>\n <div className='virtual-tour-modal__iframe'>\n <iframe src={props.src} />\n </div>\n </div>\n }\n </div>\n )\n};\n","import React, { Component, Fragment } from 'react';\nimport axios from 'axios';\n\nimport placeHolderImage from '../../../assets/images/photo_on_its_way.png';\nimport GoogleReviewsWidget from \"../SharedComponents/GoogleReviewsWidget\";\nimport { DetailedViewSet, SvgIco } from '../SharedComponents/Icons';\nimport { loadTawkTo } from '../TawkTo/TawkTo';\nimport { VirtualTourModal } from './VirtualTourModal.jsx';\nimport SearchOfferModal from \"../SharedComponents/SearchOptionsModal\";\n\nimport './styles/style.sass';\n\n\nclass OrderConfirmationContainer extends Component {\n\n state = {\n virtualTourIsOpen: false,\n downloadPdfUrl: \"\",\n statusPdfFile: \"\",\n loadingProspectus: false,\n serverError: false,\n generateButton: true,\n };\n\n\n componentDidMount() {\n loadTawkTo(this.props.siteKey);\n };\n\n\n toggleVirtualTour = () =>\n this.setState({ virtualTourIsOpen: !this.state.virtualTourIsOpen });\n\n\n generateProspectus = () => {\n const { createLocationPatternedPropsectus } = this.props;\n let checkPdf = this.props.locationProspectus || this.state.downloadPdfUrl.length > 0;\n this.setState({generateButton: false})\n\n if (!checkPdf) {\n this.setState({loadingProspectus: true, serverError: false});\n axios({method: \"post\", url: createLocationPatternedPropsectus})\n .then(response => {\n let pdfUrl = response.data.pdf_url;\n let statusUrl = response.data.status_url;\n\n let pdfTimer = () => axios({method: \"get\", url: statusUrl})\n .then(response => {\n if (response.data.status === \"finished\") {\n this.setState({statusPdfFile: response.data.status, downloadPdfUrl: pdfUrl, loadingProspectus: false})\n } else {\n setTimeout(pdfTimer, 7000);\n }\n });\n setTimeout(pdfTimer, 100);\n\n })\n .catch(error => {\n console.log(error)\n this.setState({loadingProspectus: false, serverError: true, generateButton: true});\n });\n }\n };\n\n\n render() {\n\n const { userEmail,\n currency,\n ourEmail,\n googleApiKey,\n locationImage,\n locationAddress,\n locationProspectus,\n virtualTour,\n districtName,\n locationKind,\n locationType,\n linkToListView,\n siteName,\n linkFromEmail,\n siteKey,\n isInternal,\n newSearchAgentPath,\n orderId,\n apiCreateOrderDetailsPath } = this.props;\n\n const { statusPdfFile, downloadPdfUrl, loadingProspectus, serverError, generateButton } = this.state;\n\n let pageTitle;\n let pageTextHint;\n let pageText;\n let prospectusTitle;\n let pageNotFound = false;\n\n switch(this.props.page) {\n case 'order_confirmation':\n pageTitle = `${I18n.t('order_confirmations.show.header')}`;\n pageText = `${I18n.t('order_confirmations.show.status', {'email': userEmail, 'our_email_address': ourEmail})}`;\n prospectusTitle = `${I18n.t('order_confirmations.show.summary')}`;\n break;\n case 'internal_provider_order':\n pageTitle = `${I18n.t('order_confirmations.show.header')}`;\n pageText = `${I18n.t('order_confirmations.show.status', {'email': userEmail, 'our_email_address': ourEmail})}`;\n prospectusTitle = `${I18n.t('order_confirmations.show.summary')}`;\n break;\n case 'provider_messages':\n pageTitle = `${I18n.t('provider_messages.thank_you.header')}`;\n pageText = `${I18n.t('provider_messages.thank_you.status')}`;\n prospectusTitle = `${I18n.t('provider_messages.thank_you.summary')}`;\n break;\n case 'showcase_orders':\n pageTitle = `${I18n.t('showcase_orders.thank_you.header')}`;\n pageTextHint = `${I18n.t('showcase_orders.thank_you.status_warning')}`;\n pageText = `${I18n.t('showcase_orders.thank_you.status', {'email': userEmail})}`;\n prospectusTitle = `${I18n.t('showcase_orders.thank_you.summary')}`;\n break;\n default:\n pageTitle = `${I18n.t('error_pages.404_page.header')}`;\n pageText = `${I18n.t('controllers.location_adverts.flash.location_deactivated')}`;\n pageNotFound = true;\n }\n\n const pageTitleFromEmail = I18n.t(\"order_confirmations.show.header-from-email\");\n const generateProspectusTitle = I18n.t(\"order_confirmations.show.generate-prospectus-location\");\n const checkSiteKey = siteKey === \"dk\" || siteKey === \"global\";\n\n\n const spinner =\n <div className=\"spinner-wrapper\">\n <div className=\"smoothie-spinner\" />\n <p>{I18n.t(\"order_confirmations.show.please-wait-few-seconds\")} ...</p>\n </div>;\n\n\n return (\n <div className='order-conf__page-wrapper container'>\n\n <SearchOfferModal\n apiCreateOrderDetailsPath={apiCreateOrderDetailsPath}\n currency={currency}\n locationKind={locationType}\n orderId={orderId}\n siteKey={siteKey}\n />\n\n <div className='order-conf__body'>\n <div className=\"row\">\n <h1 className='order-conf__header col-xl-12'>{ linkFromEmail ? pageTitleFromEmail : pageTitle }</h1>\n { pageTextHint && <p className='order-conf__main-text-hint col-md-12 col-lg-10 offset-lg-1 col-xl-8 offset-xl-2'>{ pageTextHint }</p> }\n {!linkFromEmail && <p className='tac order-conf__main-text col-md-12 col-lg-10 offset-lg-1 col-xl-8 offset-xl-2'>{ pageText }</p> }\n\n\n { !pageNotFound && (\n <div className='order-conf__cols-wrapper order-conf__propectus-wrapper col-12 col-lg-10 offset-lg-1 col-xl-8 offset-xl-2'>\n <div className='order-conf__col hidden-xs'>\n <div className='order-conf__propectus-image' style={{'backgroundImage': `url(${locationImage || placeHolderImage})`}} />\n </div>\n <div className='order-conf__col'>\n <div className='order-conf__propectus-info'>\n <div className='order-conf__propectus-address'>\n <p>{ linkFromEmail ? generateProspectusTitle : prospectusTitle }</p>\n <b>{ locationAddress }</b>\n </div>\n <div className='order-conf__propectus-actions'>\n {(checkSiteKey && !isInternal) &&\n <Fragment>\n\n {(generateButton && !locationProspectus) &&\n <div className=\"order-conf__prospectus-actions-button\">\n <a onClick={this.generateProspectus}>\n { I18n.t(\"order_confirmations.show.generate-prospectus\") }\n </a>\n </div>}\n\n {serverError && (\n <p>Some server error try later</p>\n )}\n </Fragment>\n }\n\n { loadingProspectus\n ? spinner\n : <Fragment>\n {!isInternal && (locationProspectus || statusPdfFile === \"finished\") && (\n <div className=\"order-conf__prospectus-actions-button\">\n <a href={locationProspectus ? locationProspectus : downloadPdfUrl} target='_blank'>\n <SvgIco name=\"get_app\" size={24} />\n <span>{ I18n.t('order_confirmations.show.download_prospectus') }</span>\n </a>\n </div>\n )}\n </Fragment>\n }\n\n { siteKey !== 'dk' && siteKey !== 'global' && !virtualTour && !locationProspectus && (\n <div className=\"order-conf__other-materials\">\n <b>{ I18n.t('order_confirmations.show.other_materials') }</b>\n <p>{ I18n.t('order_confirmations.show.hint_instead_of_prospectus') }</p>\n </div>\n )}\n\n\n { virtualTour && (\n <a className='virtual-tour-icon' onClick={this.toggleVirtualTour}>\n { DetailedViewSet['virtual_tour'] }\n <span>{ I18n.t('order_confirmations.show.see_virtual_tour') }</span>\n </a>\n )}\n </div>\n </div>\n </div>\n </div>)}\n\n <div className='col-12 col-lg-10 offset-lg-1 col-xl-8 offset-xl-2'>\n <GoogleReviewsWidget\n apiKey={googleApiKey}\n siteKey={siteKey} />\n </div>\n </div>\n\n <div className='order-conf__more-blocks-wrapper row'>\n <div className=\"col-12 col-md-12 col-lg-6 col-xl-6\">\n <div className='order-conf__more-block top'>\n <h2>{ I18n.t('order_confirmations.show.browse_more_header') }</h2>\n <p className='flex-main'>\n { I18n.t('order_confirmations.show.browse_more_in_district', {'district_name': districtName, 'location_kind': locationKind }) }\n </p>\n <div>\n <a href={linkToListView} className='b-button b-button--huge'>\n { I18n.t('order_confirmations.show.browse_more_cta') }\n <SvgIco name=\"keyboard-arrow-right-rounded\" size={34} />\n </a>\n </div>\n </div>\n </div>\n\n <div className=\"col-12 col-md-12 col-lg-6 col-xl-6\">\n <div className='order-conf__more-block'>\n <h2>{ I18n.t('order_confirmations.show.search_agent_header')} </h2>\n <p className='flex-main'>\n { I18n.t('order_confirmations.show.search_agent_benefits', {'site_name': siteName }) }\n </p>\n <div>\n <a href={newSearchAgentPath} className='b-button b-button--huge bg-green'>\n { I18n.t('order_confirmations.show.search_agent_cta') }\n <SvgIco name=\"keyboard-arrow-right-rounded\" size={34} />\n </a>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n <VirtualTourModal src={virtualTour} isOpen={this.state.virtualTourIsOpen} toggleModal={this.toggleVirtualTour} />\n </div>\n )\n }\n}\n\nexport default OrderConfirmationContainer;\n","import React, { Component } from 'react';\nimport Modal from 'react-modal';\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: '9999',\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: 0,\n pointerEvents: 'visible',\n },\n};\n\n\nclass InfoModal extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isShowingModal: this.props.isShowingModal,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState(prevState => ({ isShowingModal: nextProps.isShowingModal }));\n }\n\n render() {\n\n const privacyPolicyPath = 'https://' + window.location.host + '/' + I18n.t('routes.privacy_url');\n\n return (\n <div>\n <Modal\n isOpen={this.state.isShowingModal}\n onAfterOpen={this.afterOpenModal}\n onRequestClose={this.props.handleClose}\n contentLabel=\"Error Modal\"\n ariaHideApp={false}\n style={customStyles}\n closeTimeoutMS={500}\n >\n <div className=\"modal-header\">\n <h2 ref={subtitle => (this.subtitle = subtitle)}>\n {I18n.t('apps.lb_showroom.detailed.order_form.data_protection')}\n </h2>\n </div>\n <div className=\"modal-body\">\n <div className=\"modal-body__content\" dangerouslySetInnerHTML={{ __html: I18n.t('apps.lb_showroom.detailed.order_form.modal.data_protection_body') }}/>\n <div className=\"modal-body__policy-link\">\n <p>{I18n.t('apps.lb_showroom.detailed.order_form.modal.policy_link_preline')}\n <a href={privacyPolicyPath}>{I18n.t('apps.lb_showroom.detailed.order_form.modal.privacy_policy')}</a>.\n </p>\n </div>\n </div>\n <div className=\"modal-footer\">\n <button className=\"close-modal-button\" onClick={this.props.handleClose}>\n {I18n.t('generic.close')}\n </button>\n </div>\n </Modal>\n </div>\n );\n }\n}\n\nexport default InfoModal;\n","import { gql } from \"@apollo/client\";\n\nexport const LOCATION_INFO_FIELDS = gql`\n fragment locationInfoFields on Location {\n address\n areaFrom\n areaTo\n currencyId\n enquiries\n enquiriesCountInteger\n explainLocationIncomplete\n floorPlans { thumbnailW600 }\n floorPlansCount\n infoMessage\n initialState\n isComplete\n latitude\n locationShownDatapoints\n locationUrl\n longitude\n monthlyRentPerSpaceWithCentsFrom\n monthlyRentPerSpaceWithCentsTo\n photos { thumbnailW600 }\n photosCount\n prospectusCount\n scoreInPercents\n scoreItemsList\n section\n sectionTranslated\n state\n stateInfo\n stateTranslated\n vimeoId\n virtualTour\n yearlyRentPerM2WithCentsFrom\n yearlyRentPerM2WithCentsTo\n }\n`;\n","import React, { useEffect } from 'react';\n\n\nexport const InteriorDesignForm = () => {\n\n useEffect(() => {\n (function() {\n let js, q,\n d = document,\n gi = d.getElementById,\n ce = d.createElement,\n gt = d.getElementsByTagName,\n id = \"type_form_share\",\n b = \"https://embed.typeform.com/\";\n\n if (!gi.call(d, id)) {\n js = ce.call(d, \"script\");\n js.id = id;\n js.src = b+ \"embed.js\";\n q = gt.call(d, \"script\")[0];\n q.parentNode.insertBefore(js,q);\n }\n })();\n }, []);\n\n\n return (\n <div className=\"\">\n <a className=\"input-banner__buy-button typeform-share button\" href=\"https://form.typeform.com/to/DwdDoFML?typeform-medium=embed-snippet\"\n data-mode=\"popup\"\n data-size=\"70\" target=\"_blank\">\n { I18n.t('generic.buy_now') }\n </a>\n </div>\n )\n}\n\nexport default InteriorDesignForm;\n","import React, { Component } from 'react';\nimport { apiProvider } from '../../api/core';\nimport { loadTawkTo } from '../TawkTo/TawkTo';\nimport RecoveryPasswordForm from './RecoveryPasswordForm';\nimport './RecoveryPassword.sass';\n\n\nclass ForgotPassword extends Component {\n state = {\n submitSuccess: false,\n errorMessage: false,\n };\n handleFormSubmit = (values) => {\n const { recoveryPasswordUrl } = this.props;\n const bodyFormData = new FormData();\n const searchParams = new URLSearchParams(window.location.search);\n const token = searchParams.get('reset_password_token');\n\n bodyFormData.append('password', values.password);\n bodyFormData.append('reset_password_token', token);\n\n apiProvider.post(recoveryPasswordUrl, bodyFormData, true)\n .then(response => {\n response.success && this.setState({\n submitSuccess: true,\n emailServerError: false,\n });\n response.error &&\n this.setState({\n errorMessage: true,\n submitSuccessMessage: false,\n });\n });\n };\n handleError = () => this.setState({ emailServerError: false, submitSuccess: false });\n\n componentDidMount() {\n loadTawkTo(this.props.siteKey);\n };\n\n render() {\n const {loginUrl} = this.props;\n const { submitSuccess, errorMessage } = this.state;\n\n return (\n <div className=\"recovery-password\">\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-12 col-md-9 col-lg-9 col-xl-8\">\n <h1>{I18n.t('views.sessions.new.login.recovery_password_title')}</h1>\n {submitSuccess &&\n <p>{I18n.t('views.sessions.new.login.recovery_password_success')} <a href={loginUrl}> {I18n.t('views.sessions.new.login.recovery_password_link_login')}</a>\n </p>\n }\n {errorMessage &&\n <p>{I18n.t('views.sessions.new.login.recovery_password_expire')} <a href='/providers/session/forgot_password'> {I18n.t('views.sessions.new.login.recovery_password_link_forgot_page')}</a>\n </p>}\n </div>\n </div>\n <RecoveryPasswordForm\n handleSubmit={this.handleFormSubmit}\n handleError={this.handleError}\n />\n </div>\n </div>\n )\n }\n}\n\nexport default ForgotPassword;\n","import React, { Component } from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\nimport { passwordValidation } from '../SharedComponents/Forms/ValidationSchemaPattern';\nimport { SvgIco } from \"../SharedComponents/Icons\";\n\n\n\nclass RecoveryPasswordFormWrapper extends Component {\n state = {\n passwordVisibility: false,\n };\n\n togglePasswordVisibility = () => {\n this.setState({\n passwordVisibility: !this.state.passwordVisibility,\n });\n };\n\n errorValidator = (field) => {\n const { errors, touched } = this.props;\n const fieldError = errors[field] && touched[field] && 'recovery-password-form__form-group-error';\n\n return fieldError;\n };\n\n render() {\n\n const { values, handleChange, handleBlur, errors, handleSubmit, submitSuccessMessage, handleError, setFieldValue } = this.props;\n const { passwordVisibility } = this.state;\n\n return (\n <div className=\"row\">\n <div className=\"col-12 col-md-6 col-lg-5 col-xl-4\">\n <div className=\"recovery-password-form\">\n <form name=\"forgotPasswordForm\" className=\"recovery-password-form__form\" onSubmit={ handleSubmit } noValidate>\n\n { submitSuccessMessage &&\n <div className=\"recovery-password-form__input-tooltip-success\">\n { submitSuccessMessage }\n </div>\n }\n\n <div className={`form-group ${ this.errorValidator('password')}`}>\n <label className=\"recovery-password-form__label\" htmlFor=\"password\">\n <input\n name=\"password\"\n type={ passwordVisibility ? 'text' : 'password' }\n value={values.password}\n id=\"password\"\n onChange={ e => {\n setFieldValue('password', e.target.value.replace(/\\s/g, \"\"))\n\n }}\n onBlur={handleBlur}\n data-tip={errors.password}\n className={`recovery-password-form__input ${values.password && 'active'}`}\n required\n />\n <span className={`floating-label ${values.password && 'active'}`}>\n { I18n.t('generic.password') }*\n </span>\n </label>\n\n { passwordVisibility\n ? <SvgIco className=\"password-visibility\" name=\"visibility_filled\" onClick={this.togglePasswordVisibility} size={18} />\n : <SvgIco className=\"password-visibility\" name=\"visibility_off_filled\" onClick={this.togglePasswordVisibility} size={18} />\n }\n <div className=\"recovery-password-form__input-tooltip-error\">\n { errors.password }\n </div>\n </div>\n\n <div className=\"form-group form-group--submit\">\n <button type=\"submit\" className=\"b-button\">\n Change password\n {/*{ I18n.t('providers.sessions.forgot_password.send') }*/}\n </button>\n </div>\n </form>\n </div>\n </div>\n </div>\n )\n }\n}\n\nconst RecoveryPasswordForm = withFormik({\n enableReinitialize: true,\n mapPropsToValues: () => ({\n password: '',\n }),\n validationSchema: Yup.object().shape({\n password: passwordValidation\n }),\n\n handleSubmit: (values, bag) => {\n bag.resetForm();\n bag.props.handleSubmit(values);\n },\n\n displayName: 'LoginForm',\n})(RecoveryPasswordFormWrapper);\n\nexport default RecoveryPasswordForm;\n","import React from 'react';\nimport InformationUnavailable from '../SharedComponents/InformationUnavailable';\nimport { loadTawkTo } from '../TawkTo/TawkTo';\n\nclass InformationUnavailablePage extends Component {\n\n componentDidMount() {\n loadTawkTo(this.props.siteKey);\n }\n\n render() {\n const { similarLocationsHeadline, similarLocationsList, siteKey } = this.props;\n const headline = I18n.t('search_agent.information_unavailable.headline');\n const content = I18n.t('search_agent.information_unavailable.content');\n\n\n return (\n <InformationUnavailable\n similarLocationsList={similarLocationsList}\n similarLocationsHeadline={similarLocationsHeadline}\n headline={headline}\n content={content}\n siteKey={siteKey}\n section=\"lease\"\n />\n )\n }\n}\n\nexport default InformationUnavailablePage;\n","import React from 'react';\nimport disposalBadge from '../../src/images/icons/disposal-icon.svg';\n\nimport './Badges.sass';\n\n\nexport const SpecialOffer = ({ root }) =>\n <div className={`special-offer-badge special-offer-badge--${root}-view`}>\n <span>{ I18n.t('generic.special_offer') }</span>\n </div>;\n\nexport const NewBadge = ({ root }) =>\n <div className={`new-badge new-badge--${root}-view`}>\n <span>{ I18n.t(\"apps.lb_showroom.showroom.list.new_item_label\") }</span>\n </div>;\n\nexport const RentedOutBadge = ({ label, root, month, sale }) =>\n <div className={`stripe-badge stripe-badge--${root}-view rented-out`}>\n { label ||\n ( sale\n ? I18n.t('activerecord.attributes.location.states.sold_out')\n : `${ I18n.t('activerecord.attributes.location.states.rented_out', {count: month ? 1 : 0}) } ${ month || '' }`\n )\n }\n </div>;\n\nexport const AnonymousBadge = ({ root }) =>\n <div className={`stripe-badge stripe-badge--${root}-view anonymous`}>\n { I18n.t('generic.anonymous_location.detailed.label') }\n </div>;\n\nexport const CrawledBadge = ({ root, missingImagesUrl }) => {\n const bottomText = root !== 'detail'\n ? I18n.t('generic.photos_are_not_available')\n : I18n.t('generic.parsed_copyright');\n const readMoreLink = root === 'detail'\n ? <span>\n <a href={missingImagesUrl} target=\"_blank\">\n { I18n.t('generic.read_more_about_scraped') }\n </a>\n </span>\n : null;\n\n return (\n <div className={`stripe-badge stripe-badge--${root}-view crawled`}>\n <div className=\"top-wrapper\">\n { I18n.t('generic.parsed_location') }\n </div>\n <div className=\"bottom-wrapper\">\n <p className=\"bottom-wrapper__content\">\n { bottomText } \n { readMoreLink }\n </p>\n </div>\n </div>\n )\n};\n\nexport const DisposalBadge = ({ root }) =>\n <div className={`description-badge description-badge--${root}-view disposal`}>\n <img src={disposalBadge} alt=\"disposal\" className=\"lazyload\" data-sizes=\"auto\" />\n <p>{ I18n.t('generic.disposal') }</p>\n </div>;\n","import React from 'react';\n\nimport './CircularChart.sass';\n\n\nconst CircularChart = ({ percents, color }) => {\n\n return (\n <div className=\"circular-chart-wrapper\">\n <svg viewBox=\"0 0 36 36\" className={`circular-chart ${color || 'green'}`}>\n <path className=\"circle-bg\"\n d=\"M18 2.0845\n a 15.9155 15.9155 0 0 1 0 31.831\n a 15.9155 15.9155 0 0 1 0 -31.831\"\n />\n <path className=\"circle\"\n stroke-dasharray={`${percents}, 100`}\n d=\"M18 2.0845\n a 15.9155 15.9155 0 0 1 0 31.831\n a 15.9155 15.9155 0 0 1 0 -31.831\"\n />\n <text x=\"18\" y=\"20.35\" className=\"percentage\">{percents}</text>\n </svg>\n </div>\n )\n}\n\nexport default CircularChart;\n","import React from 'react';\nimport { Pie, PieChart, Cell } from \"recharts\";\n\nimport './PercentagePieChart.sass';\n\n\nconst PercentagePieChart = ({ filledPercents }) => {\n\n const data = [\n { name: 'filled', value: filledPercents },\n { name: 'empty', value: 100 - filledPercents },\n ];\n\n const RADIAN = Math.PI / 180;\n const renderCustomizedLabel = (props) => {\n const {cx, cy, midAngle, innerRadius, outerRadius, payload} = props;\n\n if (payload && payload.name !== 'empty') {\n const radius = innerRadius + (outerRadius - innerRadius) * 0.4;\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\n\n return (\n <text x={x} y={y}\n fill=\"#77bc1f\"\n textAnchor={x > cx ? 'start' : 'end'}\n dominantBaseline=\"central\"\n fontWeight={900}\n fontSize={34}>\n { filledPercents }%\n </text>\n );\n }\n\n return null;\n };\n\n return (\n <div className=\"pie-chart\">\n <PieChart width={328} height={328}>\n <Pie\n data={data}\n dataKey=\"value\"\n cx={159}\n cy={159}\n startAngle={90}\n endAngle={-360}\n outerRadius={155}\n fill=\"rgba(119, 188, 31, 0.1)\"\n paddingAngle={0}\n label={renderCustomizedLabel}\n stroke={'none'}\n >\n { data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={index === 0 ? 'rgba(119, 188, 31, 0.1)' : 'white'} />\n ))}\n </Pie>\n <Pie\n data={data}\n dataKey=\"value\"\n cx={159}\n cy={159}\n innerRadius={155}\n outerRadius={164}\n startAngle={90}\n endAngle={-360}\n fill=\"#82ca9d\"\n stroke={'none'}>\n { data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={index === 0 ? '#77bc1f' : '#E0E2E2'} />\n ))}\n </Pie>\n </PieChart>\n </div>\n )\n}\n\nexport default PercentagePieChart;\n","import React, { Component } from 'react';\n\nimport './index.sass';\n\n\nclass CollapsibleSection extends Component {\n state = {\n uncollapsed: false,\n };\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.uncollapse !== prevProps.uncollapse) {\n if (this.props.uncollapse) {\n this.setState({ uncollapsed: true }, () =>\n this.collapsibleSection.classList.toggle('uncollapsed'),\n );\n } else {\n this.collapsibleSection.classList.toggle('uncollapsed');\n setTimeout(() => this.setState({ uncollapsed: false }), 400);\n }\n }\n }\n\n render() {\n\n const delimiter = this.props.isRequestFromPrerender ? ' uncollapsed ' : ' ';\n const defaultDelimiter = this.props.isRequestFromPrerender ? ' uncollapsed' : '';\n\n return (\n <div className={`collapsible-section${this.props.classes ? delimiter + this.props.classes : defaultDelimiter}`}\n ref={(el) => (this.collapsibleSection = el)}>\n { (this.state.uncollapsed || this.props.isRequestFromPrerender) && this.props.children }\n </div>\n );\n }\n}\n\nexport default CollapsibleSection;\n","import React from 'react';\nimport cookie from 'react-cookies';\nimport ReactTooltip from 'react-tooltip';\n\nimport { updateComparables } from \"../../../utils/ComparableLocations\";\nimport Portal from '../Portal';\nimport Notification from '../Notification';\nimport { SvgIco } from \"../Icons\";\n\nimport './index.sass';\n\n\nexport class CompareIcon extends React.PureComponent {\n\n handleIsActive = () => {\n const { siteKey, locationId } = this.props;\n const retrievedComparableLocations = localStorage && localStorage.getItem(`my.comparable_lease_${siteKey}`);\n const comparableLocations = JSON.parse(retrievedComparableLocations) || {};\n let allIds = [];\n\n for (let prop in comparableLocations) {\n if (comparableLocations.hasOwnProperty(prop)) {\n allIds = allIds.concat(comparableLocations[prop]);\n }\n }\n const isActive = allIds.indexOf(`${locationId}`) >= 0;\n\n this.setState({ isActive });\n };\n\n componentDidMount() {\n this.handleIsActive();\n };\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n const { comparableLimitExceededError, showLimitExceedMessage } = this.state;\n\n comparableLimitExceededError && comparableLimitExceededError !== prevState.comparableLimitExceededError && this.showLimitExceedMessage();\n this.props.comparableLocations !== prevProps.comparableLocations && this.handleIsActive();\n showLimitExceedMessage && showLimitExceedMessage !== prevState.showLimitExceedMessage && document.addEventListener('click', this.handleClickOutside);\n };\n\n handleClickOutside = () => {\n const { showLimitExceedMessage } = this.state;\n\n document.removeEventListener('click', this.handleClickOutside);\n showLimitExceedMessage && this.hideLimitExceedMessage();\n }\n\n constructor(props) {\n super(props);\n this.typingTimer = null;\n\n this.state = {\n policyIsAccepted: cookie.load('cookie_consent_shown'),\n comparableLimitExceededError: false,\n showLimitExceedMessage: false,\n descriptionPopup: false,\n isActive: false,\n };\n }\n\n\n handleClick = () => {\n const { comparableLimitExceededError, isActive } = this.state;\n const { updateComparableLocations, siteKey, locationId, hideTooltip, kind } = this.props;\n\n if (comparableLimitExceededError && !isActive) {\n this.showLimitExceedMessage();\n } else {\n const showInfoPopup = !(localStorage && localStorage.getItem(`my.comparable_message_shown`));\n const newComparablesList = updateComparables(locationId, siteKey, kind, this.bounce);\n\n showInfoPopup &&\n this.setState({ descriptionPopup: true }, () => {\n clearTimeout(this.typingTimer);\n localStorage && localStorage.setItem(`my.comparable_message_shown`, 'true')\n this.typingTimer = setTimeout(() => this.setState({ descriptionPopup: false }), 6000);\n });\n\n if (newComparablesList.limitExceededError) {\n this.setState({ comparableLimitExceededError: !this.state.comparableLimitExceededError });\n } else {\n const { comparableLocations } = newComparablesList;\n const kindPresent = comparableLocations[kind] && comparableLocations[kind].length;\n\n this.setState({ isActive: kindPresent && comparableLocations[kind].indexOf(`${locationId}`) >= 0 });\n updateComparableLocations && updateComparableLocations(comparableLocations);\n }\n\n !hideTooltip && ReactTooltip.hide(this[`compareIcon${locationId}`]);\n }\n };\n\n\n bounce = () => {\n const iconWrapper = document.getElementById(`iconWrapper${this.props.locationId}`);\n\n iconWrapper.classList.add('bounce');\n setTimeout(() => iconWrapper.classList.remove('bounce'), 1000);\n };\n\n\n showLimitExceedMessage = () =>\n this.setState({ showLimitExceedMessage: true }, () => {\n this.typingTimer = setTimeout(() => this.setState({ showLimitExceedMessage: false }), 6000);\n });\n\n\n hideLimitExceedMessage = () => {\n clearTimeout(this.typingTimer);\n this.setState({ showLimitExceedMessage: false });\n };\n\n\n closeDescriptionPopup = () => {\n clearTimeout(this.typingTimer);\n this.setState({ descriptionPopup: false });\n localStorage && localStorage.setItem(`my.comparable_message_shown`, 'true');\n };\n\n\n render() {\n\n const { descriptionPopup, isActive, policyIsAccepted, showLimitExceedMessage } = this.state;\n const { indentation, locationId, notificationWrapperId, tooltipPosition, withLabel } = this.props;\n const tooltipText = isActive ? I18n.t('compare.icon.tooltip_text.remove') : I18n.t('compare.icon.tooltip_text.add');\n const limitExceedMessage = I18n.t('compare.icon.tooltip_text.limit_exceed_message');\n\n\n return (\n <div className=\"compare-icon\">\n { withLabel\n ?\n <div className=\"compare-icon__with-label\" onClick={this.handleClick}>\n <div className=\"compare-icon__wrapper compare-icon__wrapper--with-label\" id={`iconWrapper${locationId}`}>\n <SvgIco name=\"compare\" size={22} className={isActive ? 'active' : ''}/>\n { isActive &&\n <div className=\"compare-icon__check-wrapper\">\n <SvgIco name=\"check\" size={7} />\n </div>\n }\n </div>\n <span className=\"compare-icon__label\">\n { I18n.t('compare.icon.tooltip_text.add') }\n </span>\n </div>\n :\n <div role=\"button\" className=\"compare-icon__wrapper\" id={`iconWrapper${locationId}`}>\n <div className=\"compare-icon__click-area\"\n role=\"button\"\n onClick={this.handleClick}\n aria-labelledby=\"compare-icon\"\n style={indentation && {top: '32px'}}>\n <div className={`compare-icon__icon${ isActive ? ' active' : '' }`}\n data-tip={ tooltipText }\n data-class=\"compare-icon__tooltip\"\n data-for={'compareIconTooltip' + locationId}\n ref={ el => this[`compareIcon${ locationId }`] = el }>\n <SvgIco name=\"compare\" size={18} />\n </div>\n\n { isActive &&\n <div className=\"compare-icon__check-wrapper\">\n <SvgIco name=\"check\" size={6} />\n </div>\n }\n\n { <ReactTooltip place={ tooltipPosition } effect='solid' id={'compareIconTooltip' + locationId}/> }\n </div>\n </div>\n }\n\n <Portal>\n <div ref={el => this.notificationWrapper = el}\n className=\"notifications-wrapper\"\n id={notificationWrapperId}\n role=\"button\"\n style={{ display: 'flex', justifyContent: 'center' }}>\n\n <Notification\n message={I18n.t('compare.icon.tooltip_text.was_added')}\n visible={descriptionPopup}\n customClass={!policyIsAccepted ? 'with-policy-block bottom-center' : 'bottom-center'}\n handleClose={this.closeDescriptionPopup} />\n\n <Notification\n message={limitExceedMessage}\n visible={showLimitExceedMessage}\n customClass=\"dark bottom-center\"\n handleClose={this.hideLimitExceedMessage} />\n </div>\n </Portal>\n\n </div>\n )\n }\n}\n\n\nexport default CompareIcon;\n","import { handleComparableLocationsCounter } from './topBarHelper';\n\n\nexport const updateComparables = (locationId, siteKey, kind, bounceFunction) => {\n const locationsLimit = 4;\n const locationIdStr = `${locationId}`;\n const comparableLocations = (localStorage && JSON.parse(localStorage.getItem(`my.comparable_lease_${siteKey}`))) || {};\n const comparableCount = comparableLocations && Object.keys(comparableLocations).length;\n const locationKindPresent = comparableCount && comparableLocations[kind];\n const locationIsInTheList = locationKindPresent && comparableLocations[kind].indexOf(locationIdStr) >= 0;\n const limitExceededError = comparableCount && locationKindPresent && comparableLocations[kind].length === locationsLimit && !locationIsInTheList;\n\n if (limitExceededError) {\n return { limitExceededError };\n } else {\n if (locationIsInTheList) {\n comparableLocations[kind].splice(comparableLocations[kind].indexOf(locationIdStr), 1);\n comparableLocations[kind].length === 0 && delete comparableLocations[kind];\n } else {\n bounceFunction && bounceFunction(locationId);\n comparableLocations[kind]\n ? comparableLocations[kind].unshift(locationIdStr)\n : comparableLocations[kind] = [locationIdStr];\n }\n\n localStorage.setItem(`my.comparable_lease_${siteKey}`, JSON.stringify(comparableLocations));\n handleComparableLocationsCounter(siteKey, !locationIsInTheList);\n\n return { comparableLocations };\n }\n};\n","import React, { Component } from 'react';\nimport classNames from 'classnames';\n\nimport { SvgIco } from './Icons';\n\nimport'./DropDownContainer.sass';\n\n\nclass DropDownContainer extends Component {\n constructor(props){\n super(props);\n\n this.state = {\n isOpen: false\n }\n }\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleClickOutside);\n }\n\n handleClickOutside = (event) =>\n this.wrapperRef && !this.wrapperRef.contains(event.target) && this.setState({ isOpen: false });\n\n setWrapperRef = (node) => this.wrapperRef = node;\n\n handleClick = () => this.setState(prevState => ({isOpen: !prevState.isOpen}));\n\n\n render() {\n const { name, text, children, selectedTooltip, isMobileMenu } = this.props;\n const isOpen = !isMobileMenu || this.state.isOpen;\n const placeholderClasses = classNames('dropdown-selector__placeholder', { 'active': isOpen });\n const actionIconClasses = classNames('dropdown-selector__action-icon', { 'open': isOpen });\n const bodyClasses = classNames('dropdown-selector__body', { 'dropdown-selector__body--open': isOpen });\n const triggerClasses = classNames('dropdown-selector__trigger', { 'dropdown-selector__trigger--active': isOpen });\n\n\n return (\n <div className=\"filter-toggle\" ref={this.setWrapperRef}>\n <div className={triggerClasses} onClick={this.handleClick}>\n <div className=\"filter-toggle__icon-wrapper\">\n <SvgIco name={name} size={22}/>\n </div>\n <div className={placeholderClasses}>\n { text }\n </div>\n <div className=\"dropdown-selector__trigger-right\">\n { selectedTooltip.length > 0 &&\n <div className=\"dropdown-selector__selected-tooltip\">\n { selectedTooltip }\n </div>\n }\n <div className={actionIconClasses}>\n { !isOpen ? <SvgIco name=\"expand-more\" size={20} /> : <SvgIco name=\"expand-less\" size={20} /> }\n </div>\n </div>\n </div>\n\n { (isOpen || isMobileMenu) &&\n <div className={bodyClasses}>\n { children }\n </div>\n }\n </div>\n );\n }\n}\n\nexport default DropDownContainer;\n","import React, { Component } from 'react';\nimport Select from 'react-select';\n\nimport { SvgIco } from \"./Icons\";\n\nimport './DropdownWithSearch.sass';\n\n\nclass DropdownSelectWithSearch extends Component {\n\n state = {\n selectedOption: '',\n dropdownIsOpen: false,\n };\n\n componentDidMount() {\n const { options, initialValue, value } = this.props;\n const initialValueId = value || initialValue;\n const defaultValue = options.filter(elem => elem.value === initialValueId);\n\n defaultValue.length && this.setState({ selectedOption: defaultValue[0].label });\n }\n\n handleClickOutside = (e) => {\n const dropdownWithSearch = document.getElementById('dropdownWithSearch');\n\n !dropdownWithSearch.contains(e.target) && this.setState({ dropdownIsOpen: false });\n };\n\n handleSelect = selectedOption => {\n this.setState({ selectedOption: selectedOption.label }, () => this.toggleDropdown());\n this.props.setFieldValue(this.props.field, selectedOption.value);\n };\n\n toggleDropdown = () => {\n const { dropdownIsOpen } = this.state;\n this.setState({ dropdownIsOpen: !dropdownIsOpen }, () => {\n this.state.dropdownIsOpen ? document.addEventListener(\"click\", this.handleClickOutside) : document.removeEventListener(\"click\", this.handleClickOutside);\n });\n };\n\n componentWillUnmount() {\n this.state.dropdownIsOpen && document.removeEventListener(\"click\", this.handleClickOutside);\n }\n\n render() {\n\n const { options, label } = this.props;\n const { selectedOption, dropdownIsOpen } = this.state;\n const inputFieldClass = `dropdown-with-search__input-field ${ selectedOption && 'active' }`;\n\n const customStyles = {\n indicatorsContainer: () => ({\n display: 'none',\n }),\n option: (provided, state) => ({\n ...provided,\n height: '40px',\n padding: '0px 16px',\n display: 'flex',\n alignItems: 'center',\n color: 'black',\n borderRadius: '2px',\n cursor: 'pointer'\n }),\n\n placeholder: () => ({\n display: 'none',\n }),\n control: () => ({\n minHeight: '32px',\n maxHeight: '32px',\n background: 'white',\n border: '1px solid #cccccc',\n borderRadius: '4px',\n margin: '16px 16px 10px'\n }),\n input: () => ({\n height: '30px',\n display: 'flex',\n alignItems: 'center',\n paddingBottom: '5px',\n marginLeft: '-3px',\n }),\n menu: () => ({\n margin: 0,\n maxHeight: '208px',\n overflow: 'hidden',\n background: 'white',\n paddingTop: '0px',\n fontFamily: 'MuseoSans, Helvetica, Arial, sans-serif'\n }),\n menuList: (provided) => ({\n ...provided,\n maxHeight: '208px',\n }),\n };\n\n return (\n <div className=\"dropdown-with-search\" id=\"dropdownWithSearch\">\n <div className=\"dropdown-with-search__wrapper\"\n onClick={ this.toggleDropdown }\n id=\"dropdownWithSearchWrapper\">\n <div className={inputFieldClass}>\n <span className=\"dropdown-with-search__label\">{ label }*</span>\n { selectedOption && <span className=\"dropdown-with-search__selected-option\">{ selectedOption }</span> }\n </div>\n <div className=\"dropdown-with-search__input-toggle\" >\n { dropdownIsOpen\n ? <SvgIco name=\"expand-less\" size={20} />\n : <SvgIco name=\"expand-more\" size={20} />\n }\n </div>\n </div>\n { dropdownIsOpen &&\n <div className=\"dropdown-with-search__select-wrapper\">\n <span className=\"dropdown-with-search__search-icon\" />\n <Select\n value={selectedOption || null}\n onChange={e => this.handleSelect(e)}\n options={options}\n menuIsOpen={true}\n closeMenuOnSelect={false}\n styles={customStyles}\n theme={theme => ({\n ...theme,\n colors: {\n ...theme.colors,\n primary25: '#F6F6F6',\n primary: '#F6F6F6',\n },\n })}\n isClearable\n isSearchable\n />\n </div>\n }\n </div>\n )\n }\n}\n\nexport default DropdownSelectWithSearch;\n","import React, { Component } from 'react';\nimport Yup from 'yup';\nimport { withFormik } from 'formik';\nimport classNames from 'classnames';\n\nimport Client from '../../../utils/Client';\nimport { validationPatterns } from '../../../utils/validationPatterns';\nimport alertErrorIcon from '../../../src/images/icons/alert.svg';\nimport Loader from '../../SharedComponents/Loader';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './index.sass';\n\n\nclass GetInfoFormModalWrapper extends Component {\n\n state = {\n dataProtectionIsOpen: false,\n // jeudanReadMore: false,\n // showJeudanValidationMessage: false,\n locationsListOpen: false,\n };\n\n\n componentDidMount() {\n document.getElementById('top-menu').classList.add('hidden');\n this.infoForm.addEventListener('click', this.handleClickOutside)\n };\n\n\n componentWillUnmount() {\n document.getElementById('top-menu').classList.remove('hidden');\n this.infoForm.removeEventListener('click', this.handleClickOutside)\n };\n\n\n handleClickOutside = (e) => {\n !this.infoFormWrapper.contains(e.target) && this.props.handleClose();\n };\n\n\n toggleDataProtection = () => {\n this.setState({ dataProtectionIsOpen: !this.state.dataProtectionIsOpen }, () => {\n this.state.dataProtectionIsOpen && setTimeout(() => {\n const targetTopCoords = document.getElementById('dataScrollTarget').getBoundingClientRect().top;\n const contentTopCoords = Math.abs(document.getElementById('infoFormContent').getBoundingClientRect().top);\n const targetCoords = Math.floor(targetTopCoords + contentTopCoords);\n this.infoForm.scroll(0, targetCoords);\n }, 300)\n });\n };\n\n\n // openReadMoreJeudan = () =>\n // this.setState({ jeudanReadMore: true });\n\n\n // showJeudanValidationMessage = () =>\n // this.setState({ showJeudanValidationMessage: true });\n\n\n handleSubmit = (e) => {\n e.preventDefault();\n this.props.errors && Object.keys(this.props.errors).length && this.infoForm.scroll(0, 0);\n // this.props.isJeudan && !this.props.values.jeudan_policy && this.showJeudanValidationMessage();\n this.props.handleSubmit();\n };\n\n\n openLocationsList = () => {\n const { locationsListOpen } = this.state;\n\n this.setState({ locationsListOpen: !locationsListOpen }, () => {\n this.state.locationsListOpen\n ? window.addEventListener('click', this.handleLocationsListState)\n : window.removeEventListener('click', this.handleLocationsListState);\n });\n };\n\n\n handleLocationsListState = (e) => {\n const locationsListWrapper = document.getElementById('locationsListWrapper');\n\n !locationsListWrapper.contains(e.target) && this.setState({ locationsListOpen: false });\n };\n\n\n render() {\n const {\n values,\n handleChange,\n touched,\n handleBlur,\n errors,\n parkingCheckbox,\n submitSuccess,\n // isJeudan,\n handleClose,\n address,\n gtmClass,\n showServerErrorMessage,\n isLoading,\n isMultiple,\n locations,\n setFieldValue,\n } = this.props;\n\n const {\n dataProtectionIsOpen,\n // jeudanReadMore,\n // showJeudanValidationMessage,\n locationsListOpen,\n } = this.state;\n\n const privacyPolicyPath = 'https://' + window.location.host + '/' + I18n.t('routes.privacy_url');\n const dataProtectionBodyClasses = classNames('data-protection__body', { 'open': dataProtectionIsOpen });\n const getInfoClasses = classNames(`get-info ${gtmClass}`, {\n 'success': submitSuccess,\n 'flex-start': dataProtectionIsOpen,\n });\n\n // const jeudanValidationMessageClasses = classNames('jeudan-policy-checkbox__validation-message', { 'visible': showJeudanValidationMessage });\n // const checkboxClasses = classNames('jeudan-policy-checkbox__wrapper', {\n // 'checked': values.jeudan_policy,\n // 'error': touched.jeudan_policy && errors.jeudan_policy,\n // });\n\n\n const inputClassBuilder = (fieldName) =>\n classNames({\n 'error': touched[fieldName] && errors[fieldName],\n 'filled': values[fieldName],\n });\n\n const locationsList = isMultiple && locations &&\n <div className=\"get-info__multiple-locations-address\">\n <div className=\"get-info__address-line\">\n <div className={`get-info__address-line-link-wrapper ${ locationsListOpen ? 'open' : '' }`}\n id=\"locationsListWrapper\">\n <div className=\"get-info__address-line-link\" onClick={this.openLocationsList}>\n { I18n.t('apps.lb_showroom.detailed.order_form.selected_locations_list') } ({ locations.length })\n </div>\n <div className=\"get-info__locations-list\">\n { locations.map(location => <a href={location.url} target=\"_blank\">{ location.address }</a>) }\n </div>\n </div>\n </div>\n </div>;\n\n\n return (\n <div ref={el => this.infoForm = el} className={getInfoClasses}>\n <div className=\"get-info__wrapper\" ref={el => this.infoFormWrapper = el}>\n { submitSuccess &&\n <div className=\"get-info__success-wrapper\">\n <SvgIco name=\"close\" size={24} onClick={handleClose} className=\"get-info__close get-info__close--success\" />\n { !isMultiple &&\n <div className=\"get-info__success-address-line\">\n <SvgIco name=\"check\" size={22} />\n <span className=\"get-info__address-line\">{ address }</span>\n </div>\n }\n <h2 className=\"get-info__success-header\">\n { I18n.t('signup.teaser.modal.thank_you.thanks') }\n </h2>\n <p>\n { I18n.t('apps.lb_showroom.detailed.order_form.success_content', { email: values.email }) }\n </p>\n </div>\n }\n { !submitSuccess &&\n <div>\n\n <div className=\"get-info__mobile-header\">\n <SvgIco name=\"arrow-back\" size={24} onClick={handleClose} />\n <h3>{ I18n.t('apps.lb_showroom.detailed.order_form.modal_main_top_title') }</h3>\n <SvgIco name=\"close\" size={24} onClick={handleClose} />\n </div>\n\n <div className=\"get-info__content\" id=\"infoFormContent\">\n <div>\n <div className={`server-error-message ${!showServerErrorMessage ? 'not-showing' : ''}`}>\n <img src={alertErrorIcon} alt=\"alertErrorIcon\"/>\n <p>{ I18n.t('generic.server-error-listview-page') } <a href={window.location.href}>{ I18n.t('general.refresh-page') }</a></p>\n </div>\n </div>\n\n <SvgIco name=\"close\" size={24} onClick={handleClose} className=\"get-info__close mobile-hidden\" />\n\n { isMultiple\n ? locationsList\n : <span className=\"get-info__address-line\">{ address }</span>\n }\n\n <h2 className=\"get-info__title\">{ I18n.t('apps.lb_showroom.detailed.order_form.headline') }</h2>\n <p className=\"get-info__description\">{ I18n.t('apps.lb_showroom.detailed.order_form.description') }</p>\n\n <form\n name=\"getInfoListViewForm\"\n className=\"get-info__form\"\n onSubmit={this.handleSubmit}\n noValidate>\n\n <input\n id=\"fifth_element\"\n type=\"text\"\n name=\"fifth_element\"\n className=\"invisible\"\n value={values.fifth_element}\n onPaste={handleChange}\n onChange={handleChange}\n />\n\n <div>\n <div className=\"form-group\">\n <input\n id=\"name\"\n type=\"text\"\n value={values.name}\n onChange={handleChange}\n onBlur={handleBlur}\n className={inputClassBuilder('name')}\n />\n <span className=\"floating-label\">\n { I18n.t('generic.name') }*\n </span>\n <div className=\"error-tooltip\">{ errors.name }</div>\n </div>\n\n <div className=\"form-group\">\n <input\n id=\"email\"\n type=\"email\"\n value={values.email}\n onChange={handleChange}\n onBlur={handleBlur}\n className={inputClassBuilder('email')}\n />\n <span className={`floating-label ${values.email && 'active'}`}>\n { I18n.t('generic.email') }*\n </span>\n { touched.email && errors.email && <div className=\"error-tooltip\">{ errors.email }</div> }\n </div>\n\n <div className=\"form-group\">\n <input\n name=\"phone\"\n type=\"tel\"\n value={values.phone}\n id=\"phone\"\n onChange={handleChange}\n onChange={(e) => {\n setFieldValue('phone', e.target.value.trimStart().replace(/\\s\\s+/g, ' '))\n }}\n onBlur={handleBlur}\n className={inputClassBuilder('phone')}\n />\n <span className={`floating-label ${values.phone && 'active'}`}>\n { I18n.t('generic.phone') }*\n </span>\n { touched.phone && errors.phone && <div className=\"error-tooltip\">{ errors.phone }</div> }\n </div>\n </div>\n\n <div>\n <div className=\"form-group\">\n <input\n id=\"company\"\n type=\"text\"\n value={values.company}\n onChange={(e) => {\n setFieldValue('company', e.target.value.trimStart().replace(/\\s\\s+/g, ' '))\n }}\n onBlur={handleBlur}\n className={inputClassBuilder('company')}\n />\n <span className={`floating-label ${values.company && 'active'}`}>\n { I18n.t('generic.company_name') }*\n </span>\n { touched.company && errors.company && <div className=\"error-tooltip\">{ errors.company }</div> }\n </div>\n\n <div className=\"form-group\">\n <textarea\n id=\"comment\"\n type=\"text\"\n resize=\"none\"\n value={values.comment}\n onChange={handleChange}\n onBlur={handleBlur}\n className={values.comment ? 'filled' : ''}\n />\n <span className=\"floating-label\">\n { I18n.t('activemodel.attributes.provider_service_request.your_question')} ({I18n.t('activemodel.attributes.provider_service_request.your_option')})\n </span>\n </div>\n <div className=\"form-submit-section\">\n\n {/* TEMPORARY SOLUTION */}\n\n {/*{ parkingCheckbox &&*/}\n {/* <div className=\"parking-section\">*/}\n {/* <div className=\"material-icons parking-icon\">*/}\n {/* local_parking*/}\n {/* </div>*/}\n {/* <label className=\"parking-label\" htmlFor=\"parking\">{I18n.t('apps.lb_showroom.detailed.order_form.send_near_parking_lots')}*/}\n {/* <input*/}\n {/* id=\"option_parking_lots\"*/}\n {/* type=\"checkbox\"*/}\n {/* value={values.option_parking_lots}*/}\n {/* checked={values.option_parking_lots === true}*/}\n {/* onChange={handleChange}*/}\n {/* onBlur={handleBlur}*/}\n {/* />*/}\n {/* </label>*/}\n {/* </div>*/}\n {/*}*/}\n\n {/*{ isJeudan && isMultiple &&*/}\n {/* <div className=\"jeudan-policy-checkbox__multi-tooltip\">*/}\n {/* { I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_notice') }*/}\n {/* </div>*/}\n {/*}*/}\n\n {/*{ isJeudan &&*/}\n {/* <div className=\"form-group jeudan-policy-checkbox\">*/}\n {/* <div className={checkboxClasses}>*/}\n {/* <SvgIco name=\"check\" size={14} />*/}\n {/* <input*/}\n {/* name=\"jeudan_policy\"*/}\n {/* type=\"checkbox\"*/}\n {/* value={values.jeudan_policy}*/}\n {/* id=\"jeudan_policy\"*/}\n {/* onChange={handleChange}*/}\n {/* onBlur={handleBlur}*/}\n {/* />*/}\n\n {/* <div className={`jeudan-policy-checkbox__label ${isMultiple ? 'bold' : ''}`}>*/}\n {/* { jeudanReadMore*/}\n {/* ? <div dangerouslySetInnerHTML={{ __html: I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_full')}}*/}\n {/* className=\"jeudan-policy-checkbox__label-content\" />*/}\n {/* : <div>*/}\n {/* { I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_short') }*/}\n {/* <span onClick={this.openReadMoreJeudan} className=\"jeudan-policy-checkbox__label-read-more-link\">*/}\n {/* { I18n.t('generic.read_more') }.*/}\n {/* </span>*/}\n {/* </div>*/}\n {/* }*/}\n {/* { touched.jeudan_policy && errors.jeudan_policy &&*/}\n {/* <div className={jeudanValidationMessageClasses}>*/}\n {/* { touched.jeudan_policy && errors.jeudan_policy ? errors.jeudan_policy : null }*/}\n {/* </div>*/}\n {/* }*/}\n {/* </div>*/}\n {/* </div>*/}\n {/* </div>*/}\n {/*}*/}\n\n <div className=\"order-button\">\n <button\n disabled={isLoading}\n className={`form-set-info-submit b-button ${ isLoading ? 'loading' : ''}`}\n type=\"submit\">\n <div className=\"form-set-info-submit__wrapper\">\n { isLoading && <Loader size={18} left={-26} top={3}/> }\n <span>{ I18n.t('apps.lb_showroom.detailed.order_form.send_information') }</span>\n </div>\n </button>\n </div>\n\n <div onClick={this.openInfoModal} className=\"data-protection\">\n <div className=\"data-protection__toggle\" onClick={this.toggleDataProtection}>\n <SvgIco name=\"lock\" size={22} className=\"data-protection__info-icon\" />\n <span>{ I18n.t('apps.lb_showroom.detailed.order_form.data_protection') }</span>\n { dataProtectionIsOpen\n ? <SvgIco name=\"expand-less\" size={16} />\n : <SvgIco name=\"expand-more\" size={16} />\n }\n </div>\n\n <div className=\"data-protection__wrapper\">\n <div id=\"dataScrollTarget\" />\n <div className={dataProtectionBodyClasses}>\n <div className=\"data-protection__headline\">{ I18n.t('apps.lb_showroom.detailed.order_form.data_protection') }</div>\n <div className=\"data-protection__content\" dangerouslySetInnerHTML={{ __html: I18n.t('apps.lb_showroom.detailed.order_form.modal.data_protection_body') }} />\n <div className=\"data-protection__policy-link\">\n <p>{ I18n.t('apps.lb_showroom.detailed.order_form.modal.policy_link_preline') }\n \n <a href={privacyPolicyPath}>{ I18n.t('apps.lb_showroom.detailed.order_form.modal.privacy_policy') }</a>.\n </p>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div>\n </form>\n\n <div className=\"data-protection__wrapper mobile-hidden\">\n <div id=\"dataScrollTarget\" />\n <div className={dataProtectionBodyClasses}>\n <div className=\"data-protection__headline\">{ I18n.t('apps.lb_showroom.detailed.order_form.data_protection') }</div>\n <div className=\"data-protection__content\" dangerouslySetInnerHTML={{ __html: I18n.t('apps.lb_showroom.detailed.order_form.modal.data_protection_body') }} />\n <div className=\"data-protection__policy-link\">\n <p>{ I18n.t('apps.lb_showroom.detailed.order_form.modal.policy_link_preline') }\n \n <a href={privacyPolicyPath}>{ I18n.t('apps.lb_showroom.detailed.order_form.modal.privacy_policy') }</a>.\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n );\n }\n}\n\n\nconst { fifth_element, name, phone, email, company, option_parking_lots } = Client.getClientInfo();\nconst { nameI18n, emailI18n, companyI18n, phoneI18n } = Client.getI18nAttrNames();\nconst i18nRequiredKey = 'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nMinNumberKey = 'apps.lb_showroom.detailed.order_form.validation.min_number';\nconst i18nSymbolsLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 254 });\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 100 });\nconst i18nAtLeast8Digits = 'apps.lb_showroom.detailed.order_form.validation.at_least_8_digits';\n\nconst GetInfoFormModal = withFormik({\n mapPropsToValues: (bag) => ({\n name,\n email,\n company,\n phone: phone ? phone : bag.userCountryPhoneCode,\n option_parking_lots,\n fifth_element,\n // jeudan_policy: false,\n // isJeudan: bag.isJeudan\n }),\n validationSchema: Yup.object().shape({\n name: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.name, I18n.t(\"apps.lb_showroom.misc.scoped_form.name.invalid\"))\n .required(I18n.t(i18nRequiredKey, { field: nameI18n })),\n email: Yup.string()\n .matches(validationPatterns.symbolsEmailLimit, i18nSymbolsEmailLimitErrorMessage)\n .email(I18n.t('apps.lb_showroom.detailed.order_form.validation.wrong_email'))\n .required(I18n.t(i18nRequiredKey, { field: emailI18n })),\n company: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .matches(validationPatterns.company, I18n.t(\"apps.lb_showroom.misc.scoped_form.company.invalid\"))\n .required(I18n.t(i18nRequiredKey, { field: companyI18n })),\n phone: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .min(8, I18n.t(i18nMinNumberKey, { field: phoneI18n }))\n .matches(validationPatterns.phone, I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid'))\n .test('minDigitsValidation', I18n.t(i18nAtLeast8Digits), function(value) {\n const { path, createError } = this;\n const phoneIsValid = value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n return phoneIsValid || !value || createError({ path, message: I18n.t(i18nAtLeast8Digits) });\n })\n .required(I18n.t(i18nRequiredKey, { field: phoneI18n })),\n parking: Yup.boolean(),\n // isJeudan: Yup.boolean(),\n // jeudan_policy: Yup.boolean()\n // .when(\"isJeudan\", {\n // is: true,\n // then: Yup.boolean()\n // .required(I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message'))\n // .oneOf([true], I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message')),\n // })\n }),\n\n handleSubmit: (values, bag) => {\n Client.updateClientInfo(values);\n bag.props.submitHandler(values, bag.props.orderUrl);\n },\n\n displayName: 'GetInfoForm',\n})(GetInfoFormModalWrapper);\n\n\nexport default GetInfoFormModal;\n","import React, { useState, useEffect } from 'react';\nimport { useJsApiLoader } from \"@react-google-maps/api\";\n\nimport { SvgIco } from \"../Icons\";\n\nimport './index.sass';\n\n\nconst GoogleReviewsWidget = ({ apiKey, siteKey }) => {\n\n const [currentMap, setCurrentMap] = useState(null);\n const [rating, setRating] = useState(0);\n const [reviewsCount, setReviewsCount] = useState(0);\n const [showWidget, setShowWidget] = useState(null);\n\n const { isLoaded, loadError } = useJsApiLoader({\n googleMapsApiKey: apiKey,\n libraries: ['places']\n });\n\n\n useEffect(() => {\n isLoaded && !loadError && initMap();\n }, [isLoaded, loadError]);\n\n\n useEffect(() => {\n currentMap && getRating();\n }, [currentMap]);\n\n\n const initMap = () =>\n setCurrentMap(new google.maps.Map(document.getElementById('map')));\n\n\n const getRating = () => {\n const request = {\n placeId: siteKey === 'dk' ? 'ChIJb_2a015SUkYRUzw4AsPyuCM' : 'ChIJyWGa015SUkYRtpvXlkhWusk',\n fields: ['rating', 'user_ratings_total'],\n };\n\n let service = new google.maps.places.PlacesService(currentMap);\n service.getDetails(request, callback);\n\n function callback(place, status) {\n if (status == google.maps.places.PlacesServiceStatus.OK) {\n setRating(place.rating);\n setReviewsCount(place.user_ratings_total);\n setShowWidget(true);\n }\n }\n };\n\n\n const renderStarIcons = () => {\n\n const starsList = [];\n\n for (let i = 0; i < 5; i++) {\n const starType = (rating > i && i + 1 > rating) ? 'half' : i >= rating ? 'empty' : 'full';\n\n starsList.push(<SvgIco name={`google_star_${starType}`} size={14} />);\n }\n\n return starsList.map(star => star);\n };\n\n\n return (\n <div className=\"reviews-widget\">\n <div id=\"map\" style={{width: 0, height: 0, overflow: 'hidden'}} />\n { showWidget &&\n <div className=\"reviews-widget__wrapper\">\n <div className=\"reviews-widget__info-wrapper\">\n <div className=\"reviews-widget__logo-wrapper\">\n <SvgIco name=\"google\" width={63} height={32} />\n <div className=\"reviews-widget__logo-headline\">\n { I18n.t('generic.reviews') }\n </div>\n </div>\n <div className=\"reviews-widget__rating-wrapper\">\n <div className=\"reviews-widget__rating\">\n { rating }\n </div>\n <div className=\"reviews-widget__rating-stars\">\n { renderStarIcons() }\n </div>\n <div className=\"reviews-widget__reviews-count\">\n { reviewsCount } { I18n.t('generic.reviews') }\n </div>\n </div>\n </div>\n <a className=\"reviews-widget__button-wrapper\"\n href={siteKey === 'dk' ? 'https://g.page/r/CVM8OALD8rgjEBM/review' : 'https://g.page/r/Cbab15ZIVrrJEB0/review'}\n target=\"_blank\">\n <div className=\"reviews-widget__button\">\n { I18n.t('google_reviews.button_text') }\n </div>\n </a>\n </div>\n }\n </div>\n )\n}\n\nexport default GoogleReviewsWidget;\n","import React from 'react';\n\nimport './index.sass';\n\n\nconst InfoBadges = ({ anonymous,\n closedMonth,\n crawledBottomText,\n hideCrawledBottom,\n isCrawled,\n isRentedOut,\n isNew,\n missingImagesUrl,\n rentedOutLabel,\n sale,\n specialOffer,\n wrapperClass\n }) => {\n return (\n <div className=\"info-badges\">\n { anonymous && <AnonymousBadge wrapperClass={wrapperClass} /> }\n { isCrawled && <CrawledBadge bottomText={crawledBottomText} hideBottomLine={hideCrawledBottom} missingImagesUrl={missingImagesUrl} wrapperClass={wrapperClass} /> }\n { isRentedOut && <RentedOutBadge label={rentedOutLabel} month={closedMonth} sale={sale} wrapperClass={wrapperClass} /> }\n { (isNew || specialOffer) &&\n <div className=\"info-badges__new-special-wrapper\">\n { isNew && <NewBadge wrapperClass={wrapperClass} /> }\n { specialOffer && <SpecialOfferBadge wrapperClass={wrapperClass} /> }\n </div>\n }\n </div>\n )\n};\n\nexport default InfoBadges;\n\n\nexport const SpecialOfferBadge = ({ wrapperClass }) =>\n <div className={`special-offer-badge ${wrapperClass || ''}`}>\n <span>{ I18n.t('generic.special_offer') }</span>\n </div>;\n\n\nexport const NewBadge = ({ wrapperClass }) =>\n <div className={`new-badge ${wrapperClass || ''}`}>\n <span>{ I18n.t(\"apps.lb_showroom.showroom.list.new_item_label\") }</span>\n </div>;\n\n\nexport const RentedOutBadge = ({ label, month, sale, wrapperClass }) =>\n <div className={`rented-out-badge ${wrapperClass || ''}`}>\n { label ||\n ( sale\n ? I18n.t('activerecord.attributes.location.states.sold_out')\n : `${ I18n.t('activerecord.attributes.location.states.rented_out', {count: month ? 1 : 0}) } ${ month || '' }`\n )\n }\n </div>;\n\n\nexport const AnonymousBadge = ({ wrapperClass }) =>\n <div className={`anonymous-badge ${wrapperClass || ''}`}>\n { I18n.t('generic.anonymous_location.detailed.label') }\n </div>;\n\n\nexport const CrawledBadge = ({ bottomText, hideBottomLine, missingImagesUrl, wrapperClass }) =>\n <div className={`crawled-badge ${wrapperClass || ''}`}>\n <div className=\"crawled-badge__top-line\">\n { I18n.t('generic.parsed_location') }\n </div>\n\n { !hideBottomLine &&\n <div className=\"crawled-badge__bottom-line\">\n { bottomText || I18n.t('generic.photos_are_not_available') } \n { missingImagesUrl &&\n <span>\n <a href={missingImagesUrl} target=\"_blank\">\n { I18n.t('generic.read_more_about_scraped') }\n </a>\n </span>\n }\n </div>\n }\n </div>;\n","import React, { Component } from 'react';\nimport { SvgIco } from './Icons';\n\nimport './InfoNotice.sass';\n\nclass InfoNotice extends Component {\n\n state = {\n isShowingInfo: false,\n content: {\n anonymous: {\n title: I18n.t('generic.anonymous_location.detailed.notice'),\n modalTitle: I18n.t('generic.anonymous_location.detailed.notice'),\n modalContent: I18n.t('generic.anonymous_location.detailed.notice_title'),\n },\n parsed: {\n title: I18n.t('generic.found_automatically'),\n modalTitle: I18n.t('generic.title_info_text'),\n modalContent: I18n.t('generic.parsed_info_text'),\n }\n },\n };\n\n toggleInfoModal = () => {\n const { isShowingInfo } = this.state;\n !isShowingInfo\n ? this.setState({ isShowingInfo: true }, () => {\n window.addEventListener('mousedown', this.handleClickOutsideInfoModal);\n const windowHeight = window.innerHeight;\n const modalBottomPos = this.infoModal.getBoundingClientRect().bottom;\n windowHeight < modalBottomPos && window.scroll(0, window.pageYOffset + (modalBottomPos - windowHeight) + 20);\n })\n : this.setState({ isShowingInfo: false }, () => window.removeEventListener('mousedown', this.handleClickOutsideInfoModal));\n };\n\n handleClickOutsideInfoModal = (e) => {\n const target = e.target;\n const noticeWrapperContainsTarget = this.noticeWrapper.contains(target);\n const infoLinkWrapperContainsTarget = this.infoLinkWrapper.contains(target);\n const closeInfoBtnContainsTarget = this.closeButton.contains(target);\n\n if (!infoLinkWrapperContainsTarget && (!noticeWrapperContainsTarget || closeInfoBtnContainsTarget)) {\n this.toggleInfoModal();\n }\n };\n\n render() {\n const { noticeKind, root, id, missingImagesUrl, showCopyright } = this.props;\n const { isShowingInfo } = this.state;\n const { title, modalTitle, modalContent } = this.state.content[noticeKind];\n const wrapperId = id ? `noticeWrapper-${id}`: null;\n\n return (\n <div className={`info-notice ${root}-view`} ref={ wrapper => this.noticeWrapper = wrapper } id={wrapperId}>\n <div className=\"info-notice__wrapper\">\n <div ref={link => this.infoLinkWrapper = link} onClick={this.toggleInfoModal} className=\"info-notice__title\">\n <span> { title } </span>\n <div className={`info-notice__info-icon ${ isShowingInfo && 'active' }`} id=\"info-notice-icon\">\n <SvgIco name=\"info_outline\" size={18} />\n </div>\n </div>\n { isShowingInfo && (\n <div className=\"info-notice__info-modal\" ref={modal => this.infoModal = modal}>\n <div role=\"button\" ref={ btn => this.closeButton = btn } className=\"info-notice__close-modal-btn\">\n <SvgIco name=\"close\" size={24} />\n </div>\n <p className='info-notice__modal-title'>{ modalTitle }</p>\n\n { showCopyright &&\n <p className='info-notice__modal-content copyright' role=\"button\">\n { I18n.t('generic.parsed_copyright') }\n </p>\n }\n\n <p className='info-notice__modal-content' role=\"button\">\n { modalContent } \n { noticeKind === 'parsed' &&\n <a href={missingImagesUrl}\n target=\"_blank\"\n className=\"read-more\"\n id={`infoNoticeLink-${id}`}>\n { I18n.t('generic.read_more') }\n </a>\n }\n </p>\n </div>\n ) }\n </div>\n </div>\n );\n }\n}\n\nexport default InfoNotice;\n","import React from 'react';\n\nimport UnavailableLocationIcon from '../../../src/images/icons/unavaillable-location-icon.svg';\nimport SimilarLocations from '../../SimilarLocations';\n\nimport './index.sass';\n\n\nconst InformationUnavailable = ({ similarLocationsList, similarLocationsHeadline, headline, content, siteKey, section }) =>\n <div className=\"information-unavailable\">\n <div className=\"container\">\n <div className=\"information-unavailable__wrapper row\">\n <div className=\"information-unavailable__img-block col-md-3 col-lg-3 col-xl-2\">\n <img src={ UnavailableLocationIcon }\n alt=\"Location\"\n className=\"information-unavailable__img lazyload\"\n data-sizes=\"auto\"/>\n </div>\n\n <div className=\"information-unavailable__content col-12 col-md-8 col-lg-7 col-xl-6 offset-xl-1\">\n <h2 className=\"information-unavailable__title\">\n { headline }\n </h2>\n <p className=\"information-unavailable__subtitle\">\n { content }\n </p>\n <div className=\"information-unavailable__img-block information-unavailable__img-block--mobile col-6 offset-3\">\n <img src={ UnavailableLocationIcon }\n alt=\"Location\"\n className=\"information-unavailable__img lazyload\"\n data-sizes=\"auto\"/>\n </div>\n </div>\n </div>\n </div>\n\n { similarLocationsList && similarLocationsList.length > 0 &&\n <div className=\"info-sections__block-wrapper\">\n <SimilarLocations\n similarLocationsList={ similarLocationsList }\n similarLocationsHeadline={ similarLocationsHeadline }\n siteKey={siteKey}\n section={section}\n />\n </div>\n }\n </div>;\n\n\nexport default InformationUnavailable;\n","import React from 'react';\n\nimport './AtomLoader.sass';\n\n\nconst AtomLoader = () => {\n return (\n <div className=\"atom-loader\">\n <div className=\"atom-loader__wrapper\">\n <div className=\"atom-loader__inner one\"></div>\n <div className=\"atom-loader__inner two\"></div>\n <div className=\"atom-loader__inner three\"></div>\n </div>\n </div>\n )\n};\n\nexport default AtomLoader;\n","import React from 'react';\n\nimport PulsingLoader from './PulsingLoader';\n\nimport './ModalLoader.sass';\n\n\nconst ModalLoader = () => {\n\n return (\n <div className=\"modal-loader\">\n <PulsingLoader />\n </div>\n )\n};\n\nexport default ModalLoader;\n","import React from 'react';\n\nimport './PulsingLoader.sass';\n\n\nconst PulsingLoader = () => {\n\n return (\n <div className=\"pulsing-loader-wrapper\">\n <div className=\"pulsing-loader\" />\n </div>\n )\n};\n\nexport default PulsingLoader;\n\n","import React, { Component } from 'react';\nimport { isMobileOnly } from \"react-device-detect\";\nimport ReactTooltip from \"react-tooltip\";\n\nimport { mappedMonths } from \"../../helpers/danishMonths\";\nimport FavouriteIcon from '../FavouriteIcon';\nimport CompareIcon from \"../CompareIcon\";\nimport { SvgIco } from '../Icons';\nimport { CrawledBadge, RentedOutBadge } from \"../Badges\";\n\nimport './index.sass';\n\n\nclass LocationTemplate extends Component {\n\n state = {\n favouriteNotificationWrapperId: `${Math.random()}`.split('.')[1],\n comparableNotificationWrapperId: `${Math.random()}`.split('.')[1],\n }\n\n handleClick = (e) => {\n if (!e.ctrlKey && !e.metaKey) {\n e.preventDefault();\n\n const target = e.target;\n const favouriteNotificationWrapper = document.getElementById(this.state.favouriteNotificationWrapperId);\n const comparableNotificationWrapper = document.getElementById(this.state.comparableNotificationWrapperId);\n const isFavouriteNotificationWrapper = favouriteNotificationWrapper && (favouriteNotificationWrapper.contains(target) || target === favouriteNotificationWrapper);\n const isComparableNotificationWrapper = comparableNotificationWrapper && (comparableNotificationWrapper.contains(target) || target === comparableNotificationWrapper);\n const isFavouriteIconWrapper = this.favouriteIconWrapper.contains(target);\n const isComparableIconWrapper = this.comparableIconWrapper.contains(target);\n const isTooltip = this.PersonsTooltipRef && (target === this.PersonsTooltipRef || this.PersonsTooltipRef.contains(target));\n\n !isComparableIconWrapper\n && !isFavouriteIconWrapper\n && !isFavouriteNotificationWrapper\n && !isComparableNotificationWrapper\n && !isTooltip\n && window.open(this.props.data.url, \"_blank\");\n }\n };\n\n handlePersonsTooltip = () => {\n const { showPersonsTooltip } = this.state;\n\n this.setState({ showPersonsTooltip: !showPersonsTooltip }, () =>\n showPersonsTooltip ? ReactTooltip.hide(this.PersonsTooltipRef) : ReactTooltip.show(this.PersonsTooltipRef)\n );\n };\n\n afterHide = () =>\n this.setState({ showPersonsTooltip: false });\n\n\n render() {\n\n const {\n comparableLocations,\n component,\n data,\n showDate,\n favoriteLocations,\n hidePrice,\n section,\n siteKey,\n updateComparableLocations,\n updateFavouriteLocations,\n } = this.props;\n\n const {\n address_line_1,\n closed_month,\n context_info,\n id,\n is_internal,\n photo_alt,\n photo_url,\n postal_code_and_name,\n price_and_area_facts,\n raw_kind,\n secondary_kinds,\n shown_as_rented_out,\n temporarily_unavailable,\n url,\n } = data;\n\n const { area, persons, price } = price_and_area_facts;\n const infoWrapperHeight = { height: showDate ? 'calc(100% - 196px)' : 'calc(100% - 172px)' };\n const closedMonth = mappedMonths(closed_month);\n\n\n return (\n <a className=\"location-template\" href={url} target=\"_blank\" onClick={this.handleClick}>\n\n { showDate && <p className=\"location-template__date\">{ context_info }</p> }\n\n <div className=\"location-template__image-wrapper lazyload\"\n data-bg={photo_url}\n data-sizes=\"auto\"\n role=\"img\"\n aria-label={photo_alt}\n style={shown_as_rented_out || temporarily_unavailable ? { filter: 'grayscale(100%)' } : null}\n >\n { is_internal && <CrawledBadge root=\"grid\" /> }\n </div>\n\n { (shown_as_rented_out || temporarily_unavailable) &&\n <div className={`location-template__badge-wrapper${showDate ? ' with-indentation' : ''}`}>\n <RentedOutBadge\n label={temporarily_unavailable ? I18n.t('activerecord.attributes.location.states.temporarily_unavailable') : null}\n root=\"list\"\n month={siteKey === 'dk' ? closedMonth : null}\n sale={section !== 'lease'}\n />\n </div>\n }\n\n\n <div ref={el => this.comparableIconWrapper = el}>\n { section === 'lease' && !isMobileOnly &&\n <CompareIcon\n component={component}\n comparableLocations={comparableLocations}\n indentation={showDate}\n kind={raw_kind}\n locationId={id}\n notificationWrapperId={this.state.comparableNotificationWrapperId}\n siteKey={siteKey}\n tooltipPosition={'left'}\n updateComparableLocations={updateComparableLocations} />\n }\n </div>\n\n <div ref={el => this.favouriteIconWrapper = el}>\n <FavouriteIcon\n favoriteLocations={favoriteLocations}\n indentation={showDate}\n locationId={id}\n notificationWrapperId={this.state.favouriteNotificationWrapperId}\n section={section}\n siteKey={siteKey}\n tooltipPosition={'left'}\n updateFavouriteLocations={updateFavouriteLocations}\n />\n </div>\n\n <div className=\"location-template__info-block-wrapper\" style={infoWrapperHeight}>\n\n <div className=\"location-template__location-kinds\">\n <span className=\"location-template__location-kind\">\n { I18n.t(`generic.${raw_kind}`) }\n </span>\n { secondary_kinds.length ? <span>+{ secondary_kinds.length }</span> : null }\n </div>\n\n <div className=\"location-template__location-address\">\n <p>{ address_line_1 }</p>\n <p>{ postal_code_and_name }</p>\n </div>\n\n { raw_kind !== 'parking' && raw_kind !== 'virtual_office' && area.value &&\n <div className=\"location-template__info-wrapper location-template__info-row\">\n <p className=\"location-template__info-label\">\n <SvgIco name={persons ? persons.icon : area.icon} size={22} />\n { persons\n ? persons.label\n : area.icon === 'desks'\n ? I18n.t('generic.desks')\n : area.label\n }\n </p>\n <p className=\"location-template__info-value\">\n { persons ? persons.value : area.value } { area.icon !== 'desks' && !persons && area.unit }\n { persons && persons.tooltip &&\n <span className=\"location-template__info-tooltip\"\n data-for={'persons-tooltip-' + id}\n data-tip={persons.tooltip}\n onClick={this.handlePersonsTooltip}\n ref={ref => this.PersonsTooltipRef = ref}>\n <SvgIco name=\"info_outline\" size={14} />\n <ReactTooltip\n afterHide={this.afterHide}\n effect=\"solid\"\n id={'persons-tooltip-' + id}\n place=\"left\"\n className=\"location-template-tooltip\"\n />\n </span>\n }\n </p>\n\n\n </div>\n }\n\n { !hidePrice &&\n <div className=\"location-template__info-wrapper\">\n <div className=\"location-template__info-row\">\n <p className=\"location-template__info-label\">\n { price.label }\n </p>\n <p className=\"location-template__info-value\">\n { price.value } { price.unit }\n </p>\n </div>\n </div>\n }\n </div>\n </a>\n )\n }\n}\n\nexport default LocationTemplate;\n","import React from 'react';\nimport Modal from 'react-modal';\n\nimport './index.sass';\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.6)',\n top: '0',\n overflow: 'auto',\n zIndex: '9999'\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: 0,\n pointerEvents: 'visible',\n background: 'white',\n borderRadius: '4px',\n position: 'absolute',\n width: '400px',\n },\n};\n\n\nconst ModalWindow = ({ children, name, isOpen, onRequestClose }) => {\n\n return (\n <Modal\n isOpen={isOpen}\n onRequestClose={onRequestClose}\n contentLabel={name}\n ariaHideApp={false}\n style={customStyles}\n closeTimeoutMS={100}\n className={name}>\n { children }\n </Modal>\n )\n}\n\nexport default ModalWindow;\n\n","import React, { Component } from 'react';\nimport Nouislider from 'nouislider-react';\nimport \"nouislider/distribute/nouislider.css\";\n\nimport './index.sass';\n\n\nclass NoLinearRangeSlider extends Component {\n state = {\n minInput: 0,\n maxInput: 0,\n employeeMin: Math.round(this.props.value.min / 15),\n employeeMax: Math.round(this.props.value.max / 15),\n activeInput: '',\n maxInputIsFocused: false,\n textValue: null,\n percent: null,\n };\n\n componentDidMount() {\n this.setState({\n minInput: this.props.value.min,\n maxInput: this.props.value.max,\n })\n };\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.value.min !== prevProps.value.min || this.props.value.max !== prevProps.value.max) {\n this.setState({\n minInput: this.props.value.min,\n maxInput: this.props.value.max,\n employeeMin: Math.round(this.props.value.min / 15),\n employeeMax: Math.round(this.props.value.max / 15),\n });\n }\n };\n\n handleChange = (e) =>\n this.setState({ [e.target.id]: e.target.value.replace(/\\D/g, '') });\n\n handleKeyPress = (e, valueChangeFunc) => {\n if (e.key === 'Enter') {\n e.target.blur();\n this.handleValueChange(e, valueChangeFunc);\n }\n };\n\n handleBlur = (e, valueType, valueChangeFunc) => {\n const { value, employeeCalculation } = this.props;\n\n this.handleInputClick(e);\n\n this.setState({ maxInputIsFocused: false });\n e.target.value.replace(/\\D/g,'') === ''\n ? (e.target.value = employeeCalculation ? Math.round(value[valueType] / 15) : value[valueType])\n : this.handleValueChange(e, valueChangeFunc);\n };\n\n handleValueChange = (e, valueChangeFunc) => {\n let currentState = Object.assign({}, this.props.value);\n const targetValue = +e.target.value.replace(/\\D/g,'');\n const value = this.props.employeeCalculation ? targetValue * 15 : targetValue;\n const inputRange = e.target.dataset.range;\n\n if(value !== currentState[inputRange]) {\n currentState[inputRange] = valueChangeFunc(value, currentState);\n this.props.handleSelectorChange(currentState, true);\n }\n };\n minChange = (value, currentState) => {\n const { maxValue, minValue } = this.props;\n\n if(!value) {\n this.setState({ ...this.state, minInput: minValue });\n return minValue;\n } else {\n const maxLimit = value > currentState.max || value > maxValue;\n const minLimit = value < minValue ? minValue : value;\n return maxLimit ? currentState.max : minLimit;\n }\n };\n maxChange = (value, currentState) => {\n const { maxValue, minValue, allowBiggerValue } = this.props;\n const currentValue = +value;\n\n if(!currentValue) {\n this.setState({ maxInput: maxValue });\n return maxValue;\n } else {\n const maxLimit = currentValue > maxValue;\n const minLimit = currentValue < +currentState.min || currentValue < minValue ? +currentState.min : currentValue;\n this.setState({ maxInput: maxLimit ? (allowBiggerValue ? minLimit : maxValue) : minLimit });\n return maxLimit ? (allowBiggerValue ? minLimit : maxValue) : minLimit;\n }\n };\n onSlide = (value) => {\n this.setState({\n minInput: value[0].slice(0, -3),\n maxInput: value[1].slice(0, -3)\n });\n\n this.setState({\n employeeMin: Math.round(value[0].slice(0, -3) / 15),\n employeeMax: Math.round(value[1].slice(0, -3) / 15)\n })\n };\n\n handleChangeComplete = (value, handle) => {\n const { filterType, employeeCalculation, handleSelectorChange } = this.props;\n\n const min = Number(value[0].slice(0, -3));\n const max = Number(value[1].slice(0, -3));\n let currentState = Object.assign({}, this.props.value);\n\n if(max > this.props.maxValue) {\n currentState.max = this.props.maxValue;\n } else if(min < this.props.minValue) {\n currentState.min = this.props.minValue;\n } else {\n currentState.min = min;\n currentState.max = max;\n }\n\n const activeInput = handle === 0\n ? (employeeCalculation ? `employeeMin${filterType}` : `minInput${filterType}`)\n : handle === 1\n ? (employeeCalculation ? `employeeMax${filterType}` : `maxInput${filterType}`)\n : null;\n\n activeInput && this.setState({ activeInput });\n handleSelectorChange(currentState, true);\n\n if (activeInput) {\n const activeInputField = this[activeInput];\n activeInputField.classList.add('outline-none');\n activeInputField.focus();\n }\n };\n\n handleInputClick = (e) => e.target.classList.remove('outline-none');\n\n handleFocus = (e) => {\n const value = e.target.value.replace(/\\D/g,'');\n value === 0 || value === '0' ? e.target.value = '' : null;\n };\n\n handleMaxInputFocus = () => this.setState({ maxInputIsFocused: true });\n\n\n render() {\n const { maxInputIsFocused, maxInput, employeeMax, employeeMin, minInput } = this.state;\n const { minValue, maxValue, dimension, employeeCalculation, showMaxMoreIcon, value, filterType } = this.props;\n\n const locale = I18n.locale === 'en' ? 'fr' : I18n.locale;\n const localizedNumberFormatter = (value) => new Intl.NumberFormat(locale).format(value);\n const selectedMaxValue = (!maxInputIsFocused && showMaxMoreIcon && +maxInput === maxValue) ? localizedNumberFormatter(maxInput) + ' +' : localizedNumberFormatter(maxInput);\n const selectedMaxEmployeeValue = (!maxInputIsFocused && showMaxMoreIcon && +employeeMax === Math.round(maxValue / 15)) ? localizedNumberFormatter(employeeMax) + ' +' : localizedNumberFormatter(employeeMax);\n\n return (\n <div className=\"no-linear-input-range\">\n <div className='input-range__label'>\n <span>{I18n.t('search_agent.selector.from')}</span>\n <span>{I18n.t('search_agent.selector.to')}</span>\n </div>\n\n <Nouislider\n connect\n start={[value.min, value.max]}\n range={{'min': [0, 10], '25%': [100, 20],'50%': [400, 50], 'max': [maxValue]}}\n onSlide={this.onSlide}\n onChange={this.handleChangeComplete}\n />\n\n <form className='input-range__inputs'>\n\n <div className='form-group'>\n <input\n ref={el => this[employeeCalculation ? `employeeMin${filterType}` : `minInput${filterType}`] = el}\n data-range=\"min\"\n type='text'\n id={employeeCalculation ? `employeeMin` : `minInput`}\n min={minValue}\n max={maxValue}\n value={localizedNumberFormatter(employeeCalculation ? employeeMin : minInput)}\n onBlur={e => this.handleBlur(e, 'min', this.minChange)}\n onChange={this.handleChange}\n className='form-control'\n onKeyPress={e => this.handleKeyPress(e, this.minChange)}\n onFocus={this.handleFocus}\n onClick={(e) => this.handleInputClick(e)}\n inputMode=\"numeric\"\n />\n <span className='input-range__dimension'>{ dimension }</span>\n </div>\n\n <div className='form-group'>\n <input\n ref={el => this[employeeCalculation ? `employeeMax${filterType}` : `maxInput${filterType}`] = el}\n data-range=\"max\"\n type='text'\n id={employeeCalculation ? `employeeMax` : `maxInput`}\n min={minValue}\n max={maxValue}\n value={employeeCalculation ? selectedMaxEmployeeValue : selectedMaxValue}\n onBlur={ e => this.handleBlur(e, 'max', this.maxChange)}\n onChange={this.handleChange}\n className='form-control'\n onFocus={this.handleMaxInputFocus}\n onKeyPress={e => this.handleKeyPress(e, this.maxChange)}\n inputMode=\"numeric\"\n />\n <span className='input-range__dimension'>{ dimension }</span>\n </div>\n </form>\n </div>\n );\n }\n}\n\nexport default NoLinearRangeSlider;\n","import React, { Component } from \"react\";\nimport Yup from 'yup';\n\nimport { withFormik } from 'formik';\nimport { validationPatterns } from '../../../utils/validationPatterns';\nimport Client from '../../../utils/Client';\nimport Loader from '../../SharedComponents/Loader';\n\n\nclass RequestFormWrapper extends Component {\n\n\n render() {\n const {\n errors,\n handleBlur,\n handleChange,\n handleSubmit,\n touched,\n values,\n submitError,\n pendingRequest,\n } = this.props;\n\n\n return (\n <form name=\"request-call-form form-inline\"\n className=\"call-modal__form\"\n id=\"call_request\"\n onSubmit={handleSubmit}\n noValidate>\n <div className=\"form-group\">\n <label className=\"call-modal__form-label\" htmlFor=\"email\">\n <input\n id=\"phone\"\n type=\"tel\"\n value={values.phone}\n onChange={handleChange}\n onBlur={handleBlur}\n className={`form-control call-modal__input\n ${values.phone !== '' ? 'not-empty' : 'empty'}\n ${touched.phone ? (errors.phone ? 'error' : 'is-valid') : null}`}\n />\n <span className={`call-modal__form-floating-label ${values.phone && 'active'}`}>\n { I18n.t('activemodel.attributes.provider_service_request.phone_number_order_form') }*\n </span>\n </label>\n <div className=\"call-modal__form-input-tooltip-error\">\n { touched.phone ? errors.phone : null }\n </div>\n\n { submitError && (\n <div className=\"call-modal__servers-error\">\n { submitError }\n </div>\n )}\n </div>\n\n <div className=\"form-group\">\n <input\n type=\"text\"\n name=\"fifth_element\"\n className=\"invisible\"\n value={values.fifth_element}\n onChange={handleChange}\n onBlur={handleBlur}\n />\n </div>\n\n <div className=\"form-group form-group--not-required call-modal__form-btn-submit\">\n <button type=\"submit\" className=\"b-button\" disabled={pendingRequest}>\n <div className=\"button-content\">\n { pendingRequest && <Loader size={18} left={-16} top={0}/> }\n { I18n.t('signup.teaser.modal_close.button') }\n </div>\n </button>\n </div>\n </form>\n )\n }\n}\n\nconst { fifth_element, phone } = Client.getClientInfo();\nconst { phoneI18n } = Client.getI18nAttrNames();\nconst i18nRequiredKey = 'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nMinNumberKey = 'apps.lb_showroom.detailed.order_form.validation.min_number';\nconst i18nSymbolsLimitErrorMessage = I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit: 254 });\nconst i18nAtLeast8Digits = 'apps.lb_showroom.detailed.order_form.validation.at_least_8_digits';\n\nexport const RequestCallForm = withFormik({\n mapPropsToValues: () => ({ fifth_element, phone }),\n\n validationSchema: Yup.object().shape({\n fifth_element: Yup.string(),\n phone: Yup.string()\n .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n .min(8, I18n.t(i18nMinNumberKey, { field: phoneI18n }))\n .matches(validationPatterns.phone, I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid'))\n .test('minDigitsValidation', I18n.t(i18nAtLeast8Digits), function(value) {\n const { path, createError } = this;\n const phoneIsValid = value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n return phoneIsValid || !value || createError({ path, message: I18n.t(i18nAtLeast8Digits) });\n })\n .required(I18n.t(i18nRequiredKey, { field: phoneI18n })),\n }),\n\n handleSubmit: (values, bag) => {\n bag.props.submitHandler(values);\n },\n\n displayName: 'RequestCallForm',\n})(RequestFormWrapper);\n\n\nexport default RequestCallForm;\n","import React, { Fragment } from 'react';\nimport { isMobile, isTablet, isIPad13 } from 'react-device-detect';\nimport Modal from 'react-modal';\n\nimport { apiProvider } from '../../../api/core';\nimport ThankYouIcon from '../../../src/images/list_office/thank_you.svg';\nimport RequestCallForm from './RequestCallForm';\n\nimport './index.sass';\nimport {SvgIco} from \"../../SharedComponents/Icons\";\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.6)',\n top: '0',\n overflow: 'auto',\n zIndex: '9999'\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: 0,\n pointerEvents: 'visible',\n background: 'white',\n borderRadius: '4px',\n position: 'absolute',\n },\n};\n\n\nclass RequestCallModal extends React.PureComponent {\n state = {\n modalWasShown: true,\n modalIsOpen: false,\n mobileModalIsOpen: false,\n requestSuccess: false,\n submitError: false,\n pendingRequest: false,\n };\n\n hideModal = () =>\n this.setState({\n modalWasShown: true,\n modalIsOpen: false,\n mobileModalIsOpen: false\n }, () => {\n document.removeEventListener('unload', this.showModal);\n document.body.removeEventListener('mouseleave', this.showModal);\n });\n\n showModal = () => {\n const getContactFormOpen = document.getElementById('get-contact-form');\n !this.props.hideModal && !this.state.modalWasShown && !getContactFormOpen && this.setState({ modalIsOpen: true });\n };\n\n showMobileModal = () => {\n const getContactFormOpen = document.getElementById('get-contact-form');\n this.props.hideModal\n ? setTimeout(this.showMobileModal, 30000)\n : !getContactFormOpen && this.setState({ mobileModalIsOpen: true });\n };\n\n componentDidMount() {\n setTimeout(this.showMobileModal, 30000);\n setTimeout(() => this.setState({ modalWasShown: false }), 5000);\n document.addEventListener('unload', this.showModal);\n document.body.addEventListener('mouseleave', this.showModal);\n };\n\n handleSubmit = (data) => {\n\n this.setState({ pendingRequest: true });\n\n const url = '/call_request';\n const params = new FormData();\n\n params.append('call_request[phone_number]', data.phone);\n params.append('call_request[ohtrryvhfhruk]', data.fifth_element);\n params.append('button', '');\n\n apiProvider.post(url, params, true)\n .then(response =>\n response.status === 'success'\n ? this.setState({ requestSuccess: true, pendingRequest: false }, () => setTimeout(this.hideModal, 3000))\n : this.setState({ pendingRequest: false })\n );\n }\n\n render() {\n\n const { modalWasShown, modalIsOpen, mobileModalIsOpen, requestSuccess, submitError, pendingRequest } = this.state;\n const isMobileDevice = isMobile || isTablet || isIPad13;\n const showModal = isMobileDevice\n ? !modalWasShown && mobileModalIsOpen\n : !modalWasShown && modalIsOpen;\n\n return (\n <Modal\n isOpen={showModal}\n onRequestClose={this.hideModal}\n contentLabel=\"Request a call modal\"\n ariaHideApp={false}\n style={customStyles}\n closeTimeoutMS={500}\n className=\"call-modal\"\n >\n <div className={`call-modal__wrapper${requestSuccess ? ' call-modal__wrapper--success' : ''}`}>\n <div className=\"call-modal__close-btn\" onClick={this.hideModal}>\n <SvgIco name=\"close\" size={24} />\n </div>\n { requestSuccess\n ? <Fragment>\n <div>\n <h2>{ I18n.t('signup.teaser.modal_close.thank-header') }</h2>\n <p className=\"call-modal__thanks-content\">{ I18n.t('signup.teaser.modal_close.thank-text') }</p>\n <button className=\"call-modal__thank-close-button\" onClick={this.hideModal}>{I18n.t('generic.close')}</button>\n </div>\n <div className=\"call-modal__icon-wrapper\">\n <img src={ThankYouIcon} alt=\"thanks icon\" />\n </div>\n </Fragment>\n : <Fragment>\n <div className=\"call-modal__img\" />\n <div className=\"call-modal__body\">\n <h2>{ I18n.t('signup.teaser.modal_close.header') }</h2>\n <p>{ I18n.t('signup.teaser.modal_close.text') }</p>\n <RequestCallForm submitHandler={this.handleSubmit} submitError={submitError} pendingRequest={pendingRequest}/>\n </div>\n </Fragment>\n }\n </div>\n </Modal>\n )\n }\n}\n\nexport default RequestCallModal;\n","import React, { Fragment, useEffect, useMemo, useState} from 'react';\nimport Modal from \"react-modal\";\nimport DateTimePicker from \"react-datetime-picker\";\n\nimport { placeOrderDetails } from '../../../utils/api';\nimport BasicDropdown from \"../../SharedComponents/Forms/BasicDropdown\";\nimport Input from \"../../SharedComponents/Forms/Input\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { loadTawkTo } from \"../../TawkTo/TawkTo\";\nimport { EllipsisLoader } from \"../../Provider/Loaders\";\n\nimport './index.sass';\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.6)',\n top: '0',\n overflow: 'auto',\n zIndex: '20000000000',\n backdropFilter: 'blur(5px)',\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'visible',\n background: 'white',\n borderRadius: '16px 16px 0px 0px',\n position: 'absolute',\n },\n};\n\nconst kindsOptions = [\n { value: 'open_office', label: I18n.t('order_confirmations.modal.kind.open_office') },\n { value: 'closed_office', label: I18n.t('order_confirmations.modal.kind.closed_office') },\n { value: 'hot_desk', label: I18n.t('order_confirmations.modal.kind.hot_desk') },\n { value: 'assigned_workspace', label: I18n.t('order_confirmations.modal.kind.assigned_workspace') },\n];\n\n\nconst SearchOfferModal = ({ currency, siteKey, locationKind, orderId, apiCreateOrderDetailsPath }) => {\n\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [values, setValues] = useState({ currency_id: currency.id, order_id: orderId });\n const [timeRangeOptional, setTimeRangeOptional] = useState(null);\n const [calendarIsOpen, setCalendarIsOpen] = useState(false);\n const [loading, setLoading] = useState(false);\n const [success, setSuccess] = useState(false);\n\n\n useEffect(() => {\n const showSearchOptionsModal = (locationKind === 'business_center' || locationKind === 'coworking') && siteKey !== 'dk' && orderId && apiCreateOrderDetailsPath && locationKind;\n\n if (showSearchOptionsModal) {\n // Show modal once a day\n const searchOfferModalShown = localStorage && localStorage.getItem('my.search_offer_modal_shown');\n const newDate = new Date();\n\n newDate.setHours(23,59,59,59);\n\n const timestamp = `${newDate.getUTCDate()}_${newDate.getUTCMonth() + 1}_${newDate.getUTCFullYear()}`;\n\n if (!searchOfferModalShown || searchOfferModalShown !== timestamp) {\n setModalIsOpen(true);\n localStorage && localStorage.setItem('my.search_offer_modal_shown', timestamp);\n }\n }\n }, []);\n\n\n const requiredValuesFilled = useMemo(() => {\n const { employee_amount, workplace_type, monthly_budget_min, monthly_budget_max, occupied_at_type, occupied_at_date } = values;\n\n return !!(employee_amount && workplace_type && (monthly_budget_min || monthly_budget_max) && (occupied_at_type || occupied_at_date));\n },[values]);\n\n\n const handleSubmit = () => {\n\n const path = '/lease/api/frontend/order_details';\n\n setLoading(true);\n\n placeOrderDetails(path, values)\n .then((response) => {\n setLoading(false);\n setSuccess(true);\n setTimeout(() => setModalIsOpen(false), 1000);\n })\n .catch((error) => {\n setLoading(false);\n console.error(error);\n });\n };\n\n\n const handleChange = (newValues) =>\n setValues((prevValues) => ({ ...prevValues, ...newValues }));\n\n\n const setTimeRange = (value, isDateOptional) => {\n setTimeRangeOptional(isDateOptional ? value : null);\n handleChange({\n occupied_at_type: isDateOptional ? 'custom_date' : value,\n occupied_at_date: isDateOptional ? value.toLocaleDateString('en-GB').split('/').join('.') : '',\n });\n };\n\n\n const customFormattedDate = timeRangeOptional && timeRangeOptional.toLocaleDateString('en-GB').split('/').join('.');\n\n\n return (\n <Modal\n ariaHideApp={false}\n className={`search-options-modal ${success ? 'success' : ''}`}\n isOpen={modalIsOpen}\n onRequestClose={() => setModalIsOpen(false)}\n style={customStyles}\n >\n <div className=\"search-options-modal__wrapper\">\n\n { success &&\n <div className=\"search-options-modal__success-icon-wrapper\">\n <div className=\"search-options-modal__success-icon\">\n <SvgIco name=\"check\" />\n </div>\n </div>\n }\n\n { !success &&\n <Fragment>\n <div className=\"search-options-modal__close-icon\" onClick={() => setModalIsOpen(false)}>\n <SvgIco name=\"close\" size={24} />\n </div>\n\n <div className=\"search-options-modal__info\">\n <h2>{ I18n.t('order_confirmations.modal.header') }</h2>\n <p>{ I18n.t('order_confirmations.modal.header_info') }</p>\n </div>\n\n <div className=\"search-options-modal__form\">\n\n <div className=\"form-group kinds filled\">\n <div className=\"floating-label\">\n { I18n.t('order_confirmations.modal.kind_label') }\n </div>\n <BasicDropdown\n handleChange={(value) => handleChange({ workplace_type: value })}\n name=\"workplace_type\"\n options={kindsOptions}\n placeholder={I18n.t('apps.lb_showroom.main.kinds_placeholder')}\n value={values.workplace_type || null}\n />\n </div>\n\n <Input\n handleChange={(e) => (/^\\d+$/.test(e.target.value) || !e.target.value) && handleChange({ employee_amount: e.target.value }) }\n inputMode=\"numeric\"\n label={I18n.t('activemodel.attributes.service_request.employee_count')}\n name=\"employee_amount\"\n pattern=\"[0-9]*\"\n placeholder={I18n.t('generic.enter_amount')}\n type=\"number\"\n value={values.employee_amount || ''}\n />\n\n <div className=\"search-options-modal__price-range\">\n <p>{ I18n.t('order_confirmations.modal.price_range_label') }</p>\n\n <div className=\"search-options-modal__price-inputs\">\n <div className=\"search-options-modal__price-input\">\n\n <div className=\"floating-label\">\n { I18n.t('generic.minimum') }\n </div>\n <div className=\"search-options-modal__price-input-bottom\">\n <div className={`search-options-modal__price-currency ${values.monthly_budget_min ? 'active' : ''}`}>\n { currency.formatted }\n </div>\n <Input\n handleBlur={() => values.monthly_budget_max && values.monthly_budget_min && Number(values.monthly_budget_max) < Number(values.monthly_budget_min) && handleChange({ monthly_budget_min: values.monthly_budget_max })}\n handleChange={(e) => (/^\\d+$/.test(e.target.value) || !e.target.value) && handleChange({ monthly_budget_min: e.target.value }) }\n inputMode=\"numeric\"\n name=\"monthly_budget_min\"\n pattern=\"[0-9]*\"\n placeholder=\"0\"\n type=\"number\"\n value={values.monthly_budget_min || ''}\n />\n </div>\n </div>\n\n <div className=\"search-options-modal__price-inputs-separator\" />\n\n <div className=\"search-options-modal__price-input\">\n <div className=\"floating-label\">\n { I18n.t('generic.maximum') }\n </div>\n <div className=\"search-options-modal__price-input-bottom\">\n <div className={`search-options-modal__price-currency ${values.monthly_budget_max ? 'active' : ''}`}>\n { currency.formatted }\n </div>\n <Input\n handleBlur={() => values.monthly_budget_max && values.monthly_budget_min && Number(values.monthly_budget_max) < Number(values.monthly_budget_min) && handleChange({ monthly_budget_max: values.monthly_budget_min })}\n handleChange={(e) => (/^\\d+$/.test(e.target.value) || !e.target.value) && handleChange({ monthly_budget_max: e.target.value })}\n inputMode=\"numeric\"\n name=\"monthly_budget_max\"\n pattern=\"[0-9]*\"\n placeholder=\"0\"\n type=\"number\"\n value={values.monthly_budget_max || ''}\n />\n </div>\n </div>\n </div>\n </div>\n\n\n <div className=\"search-options-modal__time-range\">\n\n <p>{ I18n.t('order_confirmations.modal.occupied_at_label') }</p>\n\n <div className=\"search-options-modal__time-range-row\">\n <div className={`search-options-modal__time-range-trigger ${values.occupied_at_type === 'soonest' ? 'active' : ''}`}\n onClick={() => setTimeRange('soonest')}>\n { I18n.t('order_confirmations.modal.occupied_at_type.soonest') }\n </div>\n\n <div className={`search-options-modal__time-range-trigger ${values.occupied_at_type === 'next_few_weeks' ? 'active' : ''}`}\n onClick={() => setTimeRange('next_few_weeks')}>\n { I18n.t('order_confirmations.modal.occupied_at_type.next_few_weeks') }\n </div>\n </div>\n\n <div className=\"search-options-modal__time-range-row\">\n <div className={`search-options-modal__time-range-trigger ${values.occupied_at_type === 'next_2_3_monthes' ? 'active' : ''}`}\n onClick={() => setTimeRange('next_2_3_monthes')}>\n { I18n.t('order_confirmations.modal.occupied_at_type.next_2_3_monthes') }\n </div>\n\n <div className={`search-options-modal__time-range-trigger search-options-modal__time-range-trigger--calendar ${timeRangeOptional ? 'active' : ''}`}>\n <div className=\"search-options-modal__time-range-label\">\n { customFormattedDate || I18n.t('order_confirmations.modal.occupied_at_type.custom_date') }\n </div>\n <DateTimePicker\n className={calendarIsOpen ? 'calendar-open' : ''}\n disableClock={true}\n format=\"dd-MM-yyyy\"\n minDate={new Date}\n onCalendarClose={() => setCalendarIsOpen(false)}\n onCalendarOpen={() => setCalendarIsOpen(true)}\n onChange={(date) => setTimeRange(date, true)}\n value={timeRangeOptional} />\n </div>\n\n </div>\n </div>\n </div>\n\n <div className=\"search-options-modal__buttons-wrapper\">\n <div className=\"search-options-modal__close-button\" onClick={() => setModalIsOpen(false)}>\n { I18n.t('generic.skip') }\n </div>\n\n <div className={`search-options-modal__submit-button ${!requiredValuesFilled ? 'inactive' : '' } ${loading ? 'loading' : ''}`} onClick={handleSubmit}>\n { loading\n ? <EllipsisLoader />\n : I18n.t('generic.submit')\n }\n </div>\n </div>\n </Fragment>\n }\n\n </div>\n </Modal>\n )\n}\n\nexport default SearchOfferModal;\n","import React, { useState } from 'react';\nimport Modal from \"react-modal\";\nimport ReactTooltip from \"react-tooltip\";\n\nimport RadioButtons from \"../Forms/RadioButtons\";\nimport Checkbox from \"../Forms/CheckBox\";\nimport { SvgIco } from \"../Icons\";\n\nimport './SpaceCalculatorModal.sass';\n\n\nconst SpaceCalculatorModal = ({ isOpen, handleClose }) => {\n\n const [workplaces, setWorkplaces] = useState(1);\n const [workplaceClass, setWorkplaceClass] = useState('workplace_class_comfort');\n const [additionalSpaces, setAdditionalSpaces] = useState({ small_lounge: 0, big_lounge: 0, small_meeting: 0, big_meeting: 0 });\n const [spacesConsiderations, setSpacesConsiderations] = useState([]);\n\n\n const metrics = {\n workplace_class_economy: 9 * workplaces,\n workplace_class_comfort: 14 * workplaces,\n workplace_class_business: 18 * workplaces,\n small_lounge: additionalSpaces.small_lounge ? 15 * additionalSpaces.small_lounge : 15,\n big_lounge: additionalSpaces.big_lounge ? 30 * additionalSpaces.big_lounge : 30,\n small_meeting: additionalSpaces.small_meeting ? 10 * additionalSpaces.small_meeting : 10,\n big_meeting: additionalSpaces.big_meeting ? 30 * additionalSpaces.big_meeting : 30,\n conference: 4 + 2 * workplaces,\n reception: 10,\n break: 7 + 2 * workplaces,\n mail: 10,\n };\n\n\n const workplaceClassOptions = [\n {\n checked: workplaceClass === 'workplace_class_economy',\n label: I18n.t('space_calculator.workplace_class_economy'),\n value: 'workplace_class_economy'\n },\n {\n checked: workplaceClass === 'workplace_class_comfort',\n label: I18n.t('space_calculator.workplace_class_comfort'),\n value: 'workplace_class_comfort'\n },\n {\n checked: workplaceClass === 'workplace_class_business',\n label: I18n.t('space_calculator.workplace_class_business'),\n value: 'workplace_class_business'\n },\n ];\n\n\n const spaceConsiderationsOptions = ['reception', 'break', 'mail'];\n\n\n const chosenCategoriesIds = React.useMemo(\n () => {\n const ids = [workplaceClass, ...spacesConsiderations];\n\n Object.keys(additionalSpaces).map(spaceKind => additionalSpaces[spaceKind] && ids.push(spaceKind));\n\n return ids;\n },\n [additionalSpaces, spacesConsiderations, workplaceClass],\n );\n\n const areaSummary = React.useMemo(\n () => {\n const result = { fullArea: 0 };\n\n chosenCategoriesIds.map(id => metrics[id] && (result.fullArea = result.fullArea + metrics[id]));\n\n if (chosenCategoriesIds.includes('halls')) {\n result.fullArea = Math.round(result.fullArea + (result.fullArea / 5));\n result.halls = Math.round(result.fullArea / 5);\n }\n\n return result;\n },\n [chosenCategoriesIds, workplaces],\n );\n\n\n const handleSpaceConsideration = (e, name) => {\n const newData = [ ...spacesConsiderations ];\n const valueIndex = newData.indexOf(name);\n\n valueIndex >= 0 ? newData.splice(valueIndex, 1) : newData.push(name);\n setSpacesConsiderations(newData);\n };\n\n\n return (\n <Modal\n ariaHideApp={false}\n className=\"space-calculator-modal\"\n isOpen={isOpen}\n onRequestClose={handleClose}\n style={customStyles}\n >\n <div className=\"space-calculator-modal__wrapper\">\n\n <div className=\"space-calculator-modal__headline\">\n { I18n.t('space_calculator.title') }\n </div>\n\n <div className=\"space-calculator-modal__subheader\">\n { I18n.t('space_calculator.subtitle') }\n </div>\n\n <div className=\"space-calculator-modal__close-btn\" onClick={handleClose}>\n <SvgIco name=\"close\" size={24} />\n </div>\n\n <div className=\"row\">\n\n <div className=\"col-12 col-lg-8\">\n <div className=\"space-calculator-modal__option-box\">\n <div className=\"space-calculator-modal__option-box-headline\">\n { I18n.t('space_calculator.workplace_count_label') }\n </div>\n\n <div className=\"space-calculator-modal__option-box-body\">\n\n <div className=\"space-calculator-modal__input-wrapper workplaces\">\n <div className={`space-calculator-modal__number-dropdown__body-input-control decrement ${!workplaces ? 'inactive' : 0}`}\n onClick={() => workplaces ? setWorkplaces(Number(workplaces) - 1) : null}>\n -\n </div>\n\n <input\n className=\"space-calculator-modal__number-dropdown\"\n id=\"workplaces\"\n name=\"workplaces\"\n onChange={(e) => (/^\\d+$/.test(e.target.value) || !e.target.value) && setWorkplaces(Number(e.target.value))}\n placeholder=\"0\"\n type=\"text\"\n value={workplaces}\n />\n\n <div className=\"space-calculator-modal__number-dropdown__body-input-control increment\" onClick={() => setWorkplaces(Number(workplaces) + 1)}>\n +\n </div>\n </div>\n\n </div>\n </div>\n\n <div className=\"space-calculator-modal__option-box\">\n <div className=\"space-calculator-modal__option-box-headline\">\n { I18n.t('space_calculator.workplace_class_label') }\n </div>\n\n <div className=\"space-calculator-modal__option-box-body radio-btns\">\n <RadioButtons\n handleChange={setWorkplaceClass}\n options={workplaceClassOptions}\n wrapperClass={'space-calculator-modal__radio-btns'}\n />\n </div>\n </div>\n\n <div className=\"space-calculator-modal__option-box\">\n <div className=\"space-calculator-modal__option-box-headline\">\n { I18n.t('space_calculator.additional_spaces_label') }\n </div>\n\n <div className=\"space-calculator-modal__option-box-body\">\n\n { Object.keys(additionalSpaces).map(spaceName =>\n <div className=\"space-calculator-modal__input-wrapper\" key={spaceName}>\n <div className={`space-calculator-modal__number-dropdown__body-input-control decrement ${!additionalSpaces[spaceName] ? 'inactive' : 0}`}\n onClick={() => additionalSpaces[spaceName] ? setAdditionalSpaces(prevState => ({ ...prevState, [spaceName]: prevState[spaceName] - 1 })) : null}>\n -\n </div>\n\n <input\n className=\"space-calculator-modal__number-dropdown\"\n name=\"additional_workplaces\"\n onChange={(e) => {\n e.persist();\n (/^\\d+$/.test(e.target.value) || !e.target.value) && setAdditionalSpaces(prevState => ({ ...prevState, [spaceName]: Number(e.target.value) || 0 }));\n }}\n placeholder=\"0\"\n type=\"text\"\n value={additionalSpaces[spaceName]}\n />\n\n <div className=\"space-calculator-modal__number-dropdown__body-input-control increment\" onClick={() => setAdditionalSpaces(prevState => ({ ...prevState, [spaceName]: prevState[spaceName] + 1 }))}>\n +\n </div>\n\n <div className=\"space-calculator-modal__number-dropdown__label\">\n { I18n.t(`space_calculator.additional_spaces_${spaceName}`) }\n </div>\n\n <span\n className=\"space-calculator-modal__tooltip-wrapper\"\n role=\"button\"\n data-tip={I18n.t(`space_calculator.additional_spaces_${spaceName}_tooltip`)}\n data-class=\"space-calculator-modal__tooltip\"\n data-for={'additional_space_tooltip' + spaceName}\n >\n <SvgIco name=\"help_outline\" size={20} />\n </span>\n <ReactTooltip place=\"left\" effect=\"solid\" id={'additional_space_tooltip' + spaceName} />\n </div>\n )}\n\n </div>\n </div>\n\n <div className=\"space-calculator-modal__option-box\">\n <div className=\"space-calculator-modal__option-box-headline\">\n { I18n.t('space_calculator.space_consideration_label') }\n </div>\n\n <div className=\"space-calculator-modal__option-box-body\">\n { spaceConsiderationsOptions.map(spaceType =>\n <div className=\"space-calculator-modal__option-row\" key={spaceType}>\n <div className=\"space-calculator-modal__option-checkbox-wrapper\">\n <Checkbox\n handleChange={handleSpaceConsideration}\n name={spaceType}\n label={I18n.t(`space_calculator.space_consideration_${spaceType}`)}\n value={spacesConsiderations.includes(spaceType)}\n />\n\n <span\n className=\"space-calculator-modal__tooltip-wrapper\"\n role=\"button\"\n data-tip={I18n.t(`space_calculator.space_consideration_${spaceType}_tooltip`)}\n data-class=\"space-calculator-modal__tooltip\"\n data-for={'space_consideration' + spaceType}>\n <SvgIco name=\"help_outline\" size={20} />\n </span>\n <ReactTooltip place=\"bottom\" effect=\"solid\" id={'space_consideration' + spaceType} />\n </div>\n </div>\n )}\n </div>\n </div>\n\n </div>\n\n <div className=\"col-12 col-lg-4\">\n <div className=\"space-calculator-modal__summary-wrapper\">\n\n <div className=\"space-calculator-modal__summary-title\">\n { I18n.t('space_calculator.summary') }:\n </div>\n\n { !!areaSummary.fullArea &&\n <div className=\"space-calculator-modal__summary-list\">\n { workplaces &&\n <div className=\"space-calculator-modal__summary-list-item\">\n <div className=\"space-calculator-modal__summary-list-item-left\">\n <div className=\"space-calculator-modal__summary-list-item-count\">\n { workplaces }\n </div>\n <div className=\"space-calculator-modal__summary-list-item-multiplier\">\n x\n </div>\n <div className=\"space-calculator-modal__summary-list-item-label\">\n <div>{ I18n.t('space_calculator.workplaces') }</div>\n <div> { I18n.t(`space_calculator.${workplaceClass}`) }</div>\n </div>\n </div>\n <div className=\"space-calculator-modal__summary-list-item-area\">\n { metrics[workplaceClass] } m²\n </div>\n </div>\n }\n\n { Object.keys(additionalSpaces).map(spaceType => {\n if (additionalSpaces[spaceType]) {\n return (\n <div className=\"space-calculator-modal__summary-list-item\" key={`summary-${spaceType}`}>\n <div className=\"space-calculator-modal__summary-list-item-left\">\n <div className=\"space-calculator-modal__summary-list-item-count\">\n { additionalSpaces[spaceType] }\n </div>\n <div className=\"space-calculator-modal__summary-list-item-multiplier\">\n x\n </div>\n <div className=\"space-calculator-modal__summary-list-item-label\">\n { I18n.t(`space_calculator.additional_spaces_${spaceType}`) }\n </div>\n </div>\n\n <div className=\"space-calculator-modal__summary-list-item-area\">\n { metrics[spaceType] } m²\n </div>\n </div>\n )\n }\n })}\n\n { spacesConsiderations.map(spaceType =>\n <div className=\"space-calculator-modal__summary-list-item\" key={`summary-${spaceType}`}>\n <div className=\"space-calculator-modal__summary-list-item-left\">\n <div className=\"space-calculator-modal__summary-list-item-count\">\n 1\n </div>\n <div className=\"space-calculator-modal__summary-list-item-multiplier\">\n x\n </div>\n <div className=\"space-calculator-modal__summary-list-item-label\">\n { I18n.t(`space_calculator.space_consideration_${spaceType}`) }\n </div>\n </div>\n\n <div className=\"space-calculator-modal__summary-list-item-area\">\n { spaceType === 'halls' ? areaSummary.halls || 0 : metrics[spaceType] } m²\n </div>\n </div>\n )}\n </div>\n }\n\n <div className=\"space-calculator-modal__summary-total\">\n <div>{ I18n.t('space_calculator.space_total_area') }</div>\n <div>{ areaSummary.fullArea } m²</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </Modal>\n )\n}\n\nexport default SpaceCalculatorModal;\n\n\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.6)',\n top: '0',\n overflow: 'auto',\n zIndex: '9999',\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'visible',\n borderRadius: '8px',\n position: 'absolute',\n },\n};\n","import React, { useEffect, useState, Suspense } from 'react';\n\nimport { SvgIco } from \"../Icons\";\n\nconst SpaceCalculatorModal = React.lazy(() => import('./SpaceCalculatorModal'));\n\nimport './index.sass';\n\n\nconst SpaceCalculator = ({ wrapperClass }) => {\n\n const [isOpen, setIsOpen] = useState(false);\n\n\n useEffect(() => {\n isOpen\n ? document.body.classList.add('modal-active')\n : document.body.classList.remove('modal-active');\n }, [isOpen]);\n\n\n return (\n <div className={`space-calculator ${wrapperClass || ''}`}>\n\n <div className=\"space-calculator__toggle\" onClick={() => setIsOpen(true)}>\n <SvgIco name=\"calculate\" size={24} />\n <div className=\"space-calculator__toggle-label\">\n { I18n.t('space_calculator.toggle_label') }\n </div>\n </div>\n\n { isOpen &&\n <Suspense fallback={''}>\n <SpaceCalculatorModal\n isOpen={isOpen}\n handleClose={() => setIsOpen(false)}\n />\n </Suspense>\n }\n </div>\n )\n};\n\nexport default SpaceCalculator;\n","import React from 'react';\n\nimport './TrustLogos.sass';\n\nconst TrustLogos = ({ trustedLogosUrl, trustedLogos }) => {\n\n return (\n <div className=\"trusted-logos\">\n <div className=\"container\">\n <div className=\"trusted-logos__wrapper\">\n <div className=\"trusted-logos__header\">\n { I18n.t('apps.lb_showroom.detailed.order_form.logos-membership') }\n </div>\n <ul className=\"trusted-logos__list\">\n { trustedLogos.map(logo =>\n <li className=\"trusted-logos__logo-item\" key={logo.image}>\n <a href={trustedLogosUrl} target=\"_blank\" className=\"trusted-logos__logo-link\">\n <img\n data-src={require(`../../src/images/logos/${logo.image}`)}\n alt={logo.image}\n className=\"trusted-logos__logo-img lazyload\"\n height={40}\n data-sizes=\"auto\"\n data-expand=\"100\"\n />\n </a>\n </li>\n )}\n </ul>\n </div>\n </div>\n </div>\n )\n};\n\nexport default TrustLogos;\n","import React from 'react';\n\nconst TypeformButton = ({ className, href, title }) => {\n\n\n return (\n <div>\n <a className={`${className} typeform-share`}\n data-mode=\"drawer_right\"\n data-submit-close-delay=\"5\"\n target=\"_blank\"\n href={href}>\n { title }\n </a>\n {(function() {\n var qs,\n js,\n q,\n s,\n d=document,\n gi=d.getElementById,\n ce=d.createElement,\n gt=d.getElementsByTagName,\n id=\"typef_orm_share\",\n b=\"https://embed.typeform.com/\";\n\n if(!gi.call(d,id)) {\n js=ce.call(d,\"script\");\n js.id=id;\n js.src=b+\"embed.js\";\n q=gt.call(d,\"script\")[0];\n q.parentNode.insertBefore(js,q)\n }\n })()}\n </div>\n )\n};\n\nexport default React.memo(TypeformButton);\n","// this parking only on DK, that why I don't create some keys in phraseapp\nimport React, { Fragment } from 'react';\n\nimport { localizedNumberFormatter } from \"../../../utils/helpers\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\n\nconst BasicParkeringContent = ({ price }) => {\n\n return (\n <Fragment>\n <div className=\"sign-up-modal__header\">\n <h2 className=\"sign-up-modal__header-title\">\n { I18n.t('generic.parking') }\n </h2>\n <div className=\"sign-up-modal__close-btn\" id=\"modalCloseBtn\">\n <SvgIco name=\"close\" size={32}/>\n </div>\n </div>\n <div className=\"sign-up-modal__body\">\n <p className=\"sign-up-modal__pricing-description\" dangerouslySetInnerHTML={{__html: I18n.t('signup.signup_form.parking_price_description')}} />\n <div className=\"sign-up-modal__pricing-table-wrapper\">\n <h3>{ I18n.t('signup.signup_form.parking_price_table_title') }</h3>\n\n <table className=\"sign-up-modal__table sign-up-modal__parkering\">\n <tbody>\n\n <tr className=\"sign-up-modal__table-header\">\n <td>{ I18n.t('signup.signup_form.on_deal.infobox.prices') }</td>\n <td className=\"sign-up-modal__table-td\">{I18n.t('signup.signup_form.parking_basic_parkering')}</td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.signup_form.parking_tabs_block_one') }</td>\n <td>{localizedNumberFormatter(Number(price))} kr.</td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.signup_form.meeting_room.infobox.billing_period.period') }</td>\n <td>{ I18n.t('signup.signup_form.coworking.infobox.billing_period.monthly') }</td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.signup_form.meeting_room.infobox.term.term') }</td>\n <td>{ I18n.t('signup.signup_form.meeting.infobox.term.months_basic') }</td>\n </tr>\n\n <tr className=\"sign-up-modal__table-header\">\n <td>{ I18n.t('signup.signup_form.on_deal.infobox.you_get') }</td>\n <td/>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.greater') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.general_2') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.basic.list_1') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>Har du flere parkeringspladser pÃ¥ samme adresse, betaler du kun for én annonce.</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>Visning af kontaktoplysninger</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.no_cure_no_pay_plus.list_4') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.general_website-link') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.general_contact-person-photo') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.linklist_14') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n </tbody>\n </table>\n </div>\n </div>\n </Fragment>\n )\n};\n\nexport default BasicParkeringContent;\n","import React, { Fragment } from 'react';\nimport { SvgIco } from '../../SharedComponents/Icons';\n\nconst pricesTableSignUpModal = [\n {\n key: '',\n category: \"LejemÃ¥ls m²\",\n basic: \"Basic\",\n basicPlus: \"Basic Plus\",\n premium: \"Premium\",\n premiumPlus: \"Premium +\",\n },\n {\n key: '0..249',\n category: \"0 - 249 m²\",\n basic: \"756 kr.\",\n basicPlus: \"984 kr.\",\n premium: \"1.984 kr.\",\n premiumPlus: \"5.250 kr.\",\n },\n {\n key: '250..499',\n category: \"250 - 499 m²\",\n basic: \"1.259 kr.\",\n basicPlus: \"1.756 kr.\",\n premium: \"2.756 kr.\",\n premiumPlus: \"6.222 kr.\",\n },\n {\n key: '500..999',\n category: \"500 - 999 m²\",\n basic: \"2.336 kr.\",\n basicPlus: \"3.015 kr.\",\n premium: \"4.015 kr.\",\n premiumPlus: \"7.681 kr.\",\n },\n {\n key: '1000..1999',\n category: \"1.000 - 1.999 m²\",\n basic: \"3.642 kr.\",\n basicPlus: \"4.558 kr.\",\n premium: \"5.558 kr.\",\n premiumPlus: \"9.424 kr.\",\n },\n {\n key: '2000..9999',\n category: \"2.000 - 9.999 m²\",\n basic: \"5.522 kr.\",\n basicPlus: \"6.584 kr.\",\n premium: \"7.584 kr.\",\n premiumPlus: \"11.650 kr.\",\n },\n {\n key: 'default',\n category: \"Over 9.999 m²\",\n basic: \"12.339 kr.\",\n basicPlus: \"13.395 kr.\",\n premium: \"14.395 kr.\",\n premiumPlus: \"18.661 kr.\",\n },\n {\n key: '',\n category: \"Det fÃ¥r du\",\n basic: \"\",\n basicPlus: \"\",\n premium: \"\",\n premiumPlus: \"\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_1'),\n basic: \"<span class='check-icon' />\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_2'),\n basic: \"<span class='check-icon' />\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_3'),\n basic: \"<span class='check-icon' />\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_4_new'),\n basic: \"<span class='check-icon' />\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_6'),\n basic: \"<span class='check-icon' />\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_14'),\n basic: \"<span class='check-icon' />\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_7'),\n basic: \"\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_8'),\n basic: \"\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_9'),\n basic: \"\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_10'),\n basic: \"\",\n basicPlus: \"<span class='check-icon' />\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_11_new'),\n basic: \"\",\n basicPlus: \"\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_12_new'),\n basic: \"\",\n basicPlus: \"\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_13'),\n basic: \"\",\n basicPlus: \"\",\n premium: \"<span class='check-icon' />\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_15'),\n basic: \"\",\n basicPlus: \"\",\n premium: \"\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_16'),\n basic: \"\",\n basicPlus: \"\",\n premium: \"\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_17'),\n basic: \"\",\n basicPlus: \"\",\n premium: \"\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n {\n key: '',\n category: I18n.t('signup.teaser.tabs.tab.block.linklist_18'),\n basic: \"\",\n basicPlus: \"\",\n premium: \"\",\n premiumPlus: \"<span class='check-icon' />\",\n },\n];\n\n\nconst BasicPriceContent = ({ advertisementStrategiesPrices }) => {\n\n function generateTableRows() {\n return fillPrices(advertisementStrategiesPrices).map((item, index) => (\n <tr key={index} className={`${index === 0 || index === 7 ? 'sign-up-modal__table-header' : ''}`}>\n <td dangerouslySetInnerHTML={{ __html: item.category }} />\n <td className={`${index === 0 ? 'sign-up-modal__table-td' : ''}`} dangerouslySetInnerHTML={{ __html: item.basic }} />\n <td className={`${index === 0 ? 'sign-up-modal__table-td' : ''}`} dangerouslySetInnerHTML={{ __html: item.basicPlus }} />\n <td className={`${index === 0 ? 'sign-up-modal__table-td' : ''}`} dangerouslySetInnerHTML={{ __html: item.premium }} />\n <td className={`${index === 0 ? 'sign-up-modal__table-td' : ''}`} dangerouslySetInnerHTML={{ __html: item.premiumPlus }} />\n </tr>\n ));\n }\n\n function fillPrices(prices) {\n let strategy_prices = prices['prices'];\n\n pricesTableSignUpModal.forEach((obj) => {\n if(obj.key != '') {\n obj.basic = strategy_prices['basic'][obj.key] + ' kr.';\n obj.basicPlus = strategy_prices['basicPlus'][obj.key] + ' kr.';\n obj.premium = strategy_prices['premium'][obj.key] + ' kr.';\n obj.premiumPlus = strategy_prices['premiumPlus'][obj.key] + ' kr.';\n }\n });\n\n return pricesTableSignUpModal;\n }\n\n return (\n <Fragment>\n <div className=\"sign-up-modal__header\">\n <h2 className=\"sign-up-modal__header-title\">\n { I18n.t('signup.signup_form.basic.infobox.title') }\n </h2>\n <div className=\"sign-up-modal__close-btn\" id=\"modalCloseBtn\">\n <SvgIco name=\"close\" size={32}/>\n </div>\n </div>\n\n <div className=\"sign-up-modal__body highlight-basic\">\n <p className=\"sign-up-modal__pricing-description\" dangerouslySetInnerHTML={{__html: I18n.t('signup.signup_form.basic.infobox.body')}} />\n <div className=\"sign-up-modal__pricing-table-wrapper\">\n <h3>Afregningsmodel (Betal pr. annonce)</h3>\n\n <table className=\"sign-up-modal__table\">\n <tbody>\n { generateTableRows() }\n </tbody>\n </table>\n\n </div>\n </div>\n </Fragment>\n )\n};\n\nexport default BasicPriceContent;\n","import React, { Component } from 'react';\nimport { withFormik } from 'formik';\nimport Modal from 'react-modal';\nimport Yup from 'yup';\nimport { isIPad13, isMobile } from \"react-device-detect\";\nimport postalCodes from \"postal-codes-js\";\n\nimport { addressValidation, cityValidation, eanValidation, passwordValidation, vatIdValidation } from '../../SharedComponents/Forms/ValidationSchemaPattern';\nimport { postalCodeError, requiredFieldError } from \"../../SharedComponents/Forms/ErrorMessages\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport DropdownSelectWithSearch from \"../../SharedComponents/DropdownSelectWithSearch\";\nimport SignUp from '../../../utils/SignUp';\n\nimport './ContinueRegistrationModal.sass';\n\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.6)',\n top: '0',\n overflow: 'auto',\n zIndex: '9999',\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'visible',\n background: 'white',\n borderRadius: '4px',\n position: 'absolute',\n },\n};\n\n\nclass ContinueRegistrationModal extends Component {\n\n state = {\n passwordVisibility: false,\n tooltipVatIsOpen: false,\n };\n\n handleTooltipClick = (e) => {\n e.preventDefault();\n this.setState({tooltipVatIsOpen: !this.state.tooltipVatIsOpen}, () =>\n this.state.tooltipVatIsOpen\n ? window.addEventListener('click', this.handleClickOutside)\n : window.removeEventListener('click', this.handleClickOutside)\n );\n };\n\n handleClickOutside = (e) => {\n e.preventDefault();\n (e.target === this.tooltipContent || !this.tooltipWrapper.contains(e.target)) && this.setState({ tooltipVatIsOpen: false });\n };\n\n togglePasswordVisibility = () => {\n this.setState({\n passwordVisibility: !this.state.passwordVisibility,\n });\n };\n\n handleSubmit = (e) => {\n e.preventDefault();\n\n if(Object.keys(this.props.errors).length) {\n this.setState({ errorsOnSubmit: true }, () => {\n const target = document.querySelector('.sign-up-form__form-group-error');\n const targetCoords = Math.floor(target.getBoundingClientRect().top + window.pageYOffset - (document.getElementById('top-menu').offsetHeight + 48));\n\n window.scroll(0, targetCoords);\n });\n } else {\n this.props.handleSubmit();\n }\n };\n\n errorValidator = (field) => {\n const { errors, touched } = this.props;\n const { errorsOnSubmit } = this.state;\n const fieldError = errors[field] && (touched[field] || errorsOnSubmit) && 'sign-up-form__form-group-error';\n\n return field === 'email'\n ? (this.props.emailAlreadyExist && 'sign-up-form__form-group-error') || fieldError\n : fieldError;\n };\n\n\n render() {\n const {\n countriesSelectOptions,\n currentCountryCode,\n errors,\n handleBlur,\n handleChange,\n handleClose,\n internalError,\n isOpen,\n setFieldValue,\n siteKey,\n toggleTermsModal,\n values,\n } = this.props;\n\n const { passwordVisibility, tooltipVatIsOpen } = this.state;\n\n const countriesOptions = siteKey === 'global' && countriesSelectOptions.map(item => {\n return { value: item[1], label: item[0] }\n });\n\n\n return (\n\n <Modal\n ariaHideApp={false}\n className=\"register-modal\"\n contentLabel=\"register-modal\"\n isOpen={isOpen}\n onRequestClose={handleClose}\n style={customStyles}\n >\n <div className=\"register-modal__wrapper\">\n\n <div className=\"sign-up-form__contact-data-header\">\n <h2>{ I18n.t('signup.new_form.register.user_info') }</h2>\n </div>\n\n { internalError &&\n <div className=\"sign-up-form__input-tooltip-error\" style={{ display: 'block', marginBottom: '8px', marginTop: '-8px' }}>\n { I18n.t('apps.lb_showroom.detailed.order_form.error.message') }\n </div>\n }\n\n <form name=\"continueRegistrationForm\" className=\"continue-registration-form\" onSubmit={this.handleSubmit}>\n\n <input\n id=\"fifth_element\"\n type=\"text\"\n name=\"fifth_element\"\n className=\"invisible\"\n value={values.fifth_element}\n onPaste={handleChange}\n onChange={handleChange}\n />\n\n <div className={`form-group ${siteKey !== 'dk' && 'form-group--not-required'} ${ this.errorValidator('vat_id')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"vat_id\">\n <input\n name=\"vat_id\"\n type=\"text\"\n value={values.vat_id}\n id=\"vat_id\"\n onChange={handleChange}\n onBlur={handleBlur}\n data-tip={errors.vat_id}\n className={`sign-up-form__input ${values.vat_id && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.vat_id && 'active'}`}>\n { I18n.t('signup.new_form.register.vat_id.placeholder') }\n </span>\n\n { isMobile || isIPad13\n ?\n <div className=\"sign-up-form__tooltip\" ref={el => this.tooltipWrapper = el}>\n <SvgIco\n className=\"sign-up-form__tooltip-icon\"\n name=\"help_outline\"\n onClick={(e) => this.handleTooltipClick(e)}\n size={22}\n />\n\n { tooltipVatIsOpen &&\n <div className=\"sign-up-form__tooltip-content-wrapper\" ref={el => this.tooltipContent = el}>\n <div className=\"sign-up-form__tooltip-content\">\n { I18n.t('signup.new_form.register.vat_id.tooltip') }\n <SvgIco\n name=\"close\"\n onClick={(e) => this.handleTooltipClick(e)}\n size={22}\n />\n </div>\n </div>\n }\n </div>\n :\n <div className=\"sign-up-form__tooltip\">\n <SvgIco\n className=\"sign-up-form__tooltip-icon\"\n name=\"help_outline\"\n size={22}\n />\n <div className=\"sign-up-form__tooltip-content-wrapper\">\n <div className=\"sign-up-form__tooltip-content\">\n { I18n.t('signup.new_form.register.vat_id.tooltip') }\n </div>\n </div>\n </div>\n }\n </label>\n <div className=\"sign-up-form__input-tooltip-error\">{ errors.vat_id }</div>\n </div>\n\n { siteKey === 'dk' &&\n <div className={`form-group form-group--not-required ${this.errorValidator('ean')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"ean\">\n <input\n name=\"ean\"\n type=\"text\"\n value={values.ean}\n id=\"ean\"\n onChange={handleChange}\n onBlur={handleBlur}\n data-tip={errors.ean}\n className={`sign-up-form__input ${values.ean && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.ean && 'active'}`}>\n { I18n.t('signup.new_form.register.ean.placeholder') }\n </span>\n </label>\n { !!this.errorValidator('ean')\n ? <div className=\"sign-up-form__input-tooltip-error\">{ errors.ean }</div>\n : <div className=\"sign-up-form__input-tooltip bigger-margin-bottom\">{ I18n.t('signup.new_form.ean_tooltip') }</div>\n }\n </div>\n }\n\n <div className={`form-group ${this.errorValidator('line_1')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"line_1\">\n <input\n name=\"line_1\"\n type=\"text\"\n value={values.line_1}\n id=\"line_1\"\n onChange={handleChange}\n onBlur={handleBlur}\n data-tip={errors.line_1}\n className={`sign-up-form__input ${values.line_1 && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.line_1 && 'active'}`}>\n { I18n.t('signup.new_form.register.line_1.placeholder') }*\n </span>\n </label>\n <div className=\"sign-up-form__input-tooltip-error\">{ errors.line_1 }</div>\n </div>\n\n <div className=\"sign-up-form__inline-group\">\n <div className=\"sign-up-form__inline\">\n <div className={`form-group form-group--short ${this.errorValidator('postal_code')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"postal_code\">\n <input\n name=\"postal_code\"\n type=\"text\"\n value={values.postal_code}\n id=\"postal_code\"\n onChange={handleChange}\n onBlur={handleBlur}\n data-tip={errors.postal_code}\n className={`sign-up-form__input ${values.postal_code && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.postal_code && 'active'}`}>\n { I18n.t('signup.new_form.register.postal_code.placeholder') }*\n </span>\n </label>\n <div className=\"sign-up-form__input-tooltip-error sign-up-form__input-tooltip-postal-error\">{ errors.postal_code }</div>\n </div>\n\n <div className={`form-group form-group--long ${this.errorValidator('city')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"city\">\n <input\n name=\"city\"\n type=\"text\"\n value={values.city}\n id=\"city\"\n onChange={handleChange}\n onBlur={handleBlur}\n data-tip={errors.city}\n className={`sign-up-form__input ${values.city && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.city && 'active'}`}>\n { I18n.t('signup.new_form.register.city.placeholder') }*\n </span>\n </label>\n <div className=\"sign-up-form__input-tooltip-error\">{ errors.city }</div>\n </div>\n </div>\n </div>\n\n { siteKey === 'global' &&\n <DropdownSelectWithSearch\n options={countriesOptions}\n label={I18n.t('apps.lease.goto.types.country')}\n setFieldValue={setFieldValue}\n field={'country_alpha2'}\n initialValue={currentCountryCode}\n value={values.country_alpha2}\n />\n }\n\n <div className={`form-group form-group--password ${this.errorValidator('password')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"password\">\n <input\n name=\"password\"\n type={passwordVisibility ? 'text' : 'password'}\n value={values.password}\n id=\"password\"\n onChange={(e) => setFieldValue('password', e.target.value.replace(/\\s/g, \"\"))}\n onBlur={handleBlur}\n data-tip={errors.password}\n className={`sign-up-form__input ${values.password && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.password && 'active'}`}>\n { I18n.t('signup.new_form.register.password.placeholder') }*\n </span>\n </label>\n\n { passwordVisibility\n ? <SvgIco className=\"password-visibility\" name=\"visibility_filled\" onClick={ this.togglePasswordVisibility } size={18} />\n : <SvgIco className=\"password-visibility\" name=\"visibility_off_filled\" onClick={ this.togglePasswordVisibility } size={18} />\n }\n\n { !!this.errorValidator('password')\n ? <div className=\"sign-up-form__input-tooltip-error\">{ errors.password }</div>\n : <div className=\"sign-up-form__input-tooltip\">{ I18n.t('signup.new_form.password_tooltip') }</div>\n }\n </div>\n\n <div className=\"form-group form-group--checkbox\">\n <div className=\"sign-up-form__terms-conditions-label\">\n <label htmlFor=\"terms_of_service\">\n <input\n required={true}\n name=\"terms_of_service\"\n type=\"checkbox\"\n value={false}\n id=\"terms_of_service\"\n onChange={handleChange}\n onBlur={handleBlur}\n data-tip={errors.terms_of_service}\n />\n <span className=\"checkmark\" />\n <div dangerouslySetInnerHTML={{__html: I18n.t('signup.new_form.register.terms_of_service.placeholder')}} />\n </label>\n <span className=\"sign-up-form__terms-conditions-toggle\" onClick={toggleTermsModal}>\n { I18n.t('signup.new_form.register.terms_link') }\n </span>\n </div>\n </div>\n\n <div className=\"form-group form-group--not-required\">\n <button type=\"submit\" className=\"b-button\">\n { I18n.t('signup.new_form.register.submit') }\n </button>\n <span className=\"sign-up-form__subheading\">\n { I18n.t('signup.new_form.register.notice') }\n </span>\n </div>\n\n </form>\n </div>\n </Modal>\n );\n }\n};\n\n\nconst { postal_codeI18n } = SignUp.getI18nAttrNames();\n\nconst {\n vat_id,\n ean,\n line_1,\n postal_code,\n country_alpha2,\n city,\n password,\n contract_id,\n fifth_element,\n} = SignUp.getClientInfo();\n\nconst ContinueRegistrationForm = withFormik({\n mapPropsToValues: (bag) => {\n return {\n vat_id,\n ean,\n line_1,\n postal_code,\n city,\n password,\n fifth_element,\n contract_id: contract_id || bag.activeContract.contract.id,\n country_alpha2: country_alpha2 || bag.currentCountryCode,\n }},\n\n validationSchema: Yup.object().shape({\n vat_id: vatIdValidation,\n ean: eanValidation,\n line_1: addressValidation,\n city: cityValidation,\n password: passwordValidation,\n postal_code: Yup.string()\n .test('isPostalCode', postalCodeError, function(value) {\n const { path, createError } = this;\n const codeIsValid = postalCodes.validate(this.parent.country_alpha2, value);\n\n return codeIsValid === true || !value || createError({ path, message: postalCodeError });\n })\n .required(requiredFieldError(postal_codeI18n)),\n }),\n\n handleSubmit: (values, bag) => {\n SignUp.updateClientInfo({ ...values, contract_name: bag.props.contractName, active_contract_section: bag.props.activeContractSection});\n bag.props.submitHandler(values, bag.props.signUpFormUrl);\n },\n\n displayName: 'ContinueRegistrationForm',\n})(ContinueRegistrationModal);\n\nexport default ContinueRegistrationForm;\n","import React, { Fragment } from 'react';\n\nimport { localizedNumberFormatter } from \"../../../utils/helpers\";\nimport { SvgIco } from '../../SharedComponents/Icons';\n\n\nconst MeetingRoomsInfoContent = ({ basicPrice, currentCurrency, premiumPrice, siteKey }) => {\n\n return (\n <Fragment>\n <div className=\"sign-up-modal__header\">\n <h2 className=\"sign-up-modal__header-title\">\n { I18n.t('apps.entry_page.entry_pages.show.lease.meeting_rooms') }\n </h2>\n <div className=\"sign-up-modal__close-btn\" id=\"modalCloseBtn\">\n <SvgIco name=\"close\" size={32}/>\n </div>\n </div>\n <div className=\"sign-up-modal__body\">\n <p className=\"sign-up-modal__pricing-description\" dangerouslySetInnerHTML={{__html: I18n.t('signup.signup_form.meeting_room.infobox.body')}} />\n <div className=\"sign-up-modal__pricing-table-wrapper\">\n <h3>{ I18n.t('signup.signup_form.on_deal.infobox.price_model_meeting_rooms') }</h3>\n\n <table className=\"sign-up-modal__table sign-up-modal__meeting-rooms\">\n <tbody>\n\n <tr className=\"sign-up-modal__table-header\">\n <td>{ I18n.t('signup.signup_form.on_deal.infobox.prices') }</td>\n <td className=\"sign-up-modal__table-td\">{ I18n.t('signup.teaser.prices.block.heading.removal_3') }</td>\n <td className=\"sign-up-modal__table-td\">{ I18n.t('signup.teaser.prices.block.heading.removal_4') }</td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.signup_form.meeting_room.infobox.monthly_price') }</td>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.meeteng_room.monthly_fee_new', { price: localizedNumberFormatter(Number(basicPrice)) }) }</td>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.meeteng_room.monthly_fee_premium_new', { price: localizedNumberFormatter(Number(premiumPrice)) }) }</td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.signup_form.meeting_room.infobox.billing_period.period') }</td>\n <td>{ I18n.t('signup.signup_form.meeting_room.infobox.billing_period.yearly') }</td>\n <td>{ I18n.t('signup.signup_form.meeting_room.infobox.billing_period.yearly') }</td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.signup_form.meeting_room.infobox.period_amount.period') }</td>\n <td>{ `${localizedNumberFormatter(Number(basicPrice) * 12)} ${siteKey === 'dk' ? 'kr.' : currentCurrency}` }</td>\n <td>{ `${localizedNumberFormatter(Number(premiumPrice) * 12)} ${siteKey === 'dk' ? 'kr.' : currentCurrency}` }</td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.signup_form.meeting_room.infobox.term.term') }</td>\n <td>{ I18n.t('signup.signup_form.meeting.infobox.term.months_basic') }</td>\n <td>{ I18n.t('signup.signup_form.meeting.infobox.term.months_premium') }</td>\n </tr>\n\n <tr className=\"sign-up-modal__table-header\">\n <td>{ I18n.t('signup.signup_form.on_deal.infobox.you_get') }</td>\n <td/>\n <td/>\n </tr>\n\n <tr>\n <td>{I18n.t('signup.teaser.tabs.tab.block.greater')}</td>\n <td><span className=\"check-icon\" /></td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{I18n.t('signup.teaser.tabs.tab.block.general_2')}</td>\n <td><span className=\"check-icon\" /></td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{I18n.t('signup.teaser.tabs.tab.block.basic.list_1')}</td>\n <td><span className=\"check-icon\" /></td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{I18n.t('signup.teaser.prices.block.list_1')}</td>\n <td><span className=\"check-icon\" /></td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.no_cure_no_pay_plus.list_3') }</td>\n <td><span className=\"check-icon\" /></td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.no_cure_no_pay_plus.list_4') }</td>\n <td><span className=\"check-icon\" /></td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{I18n.t('signup.teaser.tabs.tab.block.general_website-link')}</td>\n <td><span className=\"check-icon\" /></td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n\n <tr>\n <td>{I18n.t('signup.teaser.tabs.tab.block.general_contact-person-photo')}</td>\n <td><span className=\"check-icon\" /></td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n { siteKey === 'dk' &&\n <tr>\n <td>{I18n.t('signup.teaser.tabs.tab.block.linklist_14')}</td>\n <td><span className=\"check-icon\" /></td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n }\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.no_cure_no_pay_premium.list_5') }</td>\n <td/>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.no_cure_no_pay_premium.list_6') }</td>\n <td/>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{I18n.t('signup.teaser.prices.block.list_2_3_new')}</td>\n <td/>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n </tbody>\n </table>\n </div>\n </div>\n </Fragment>\n )\n};\n\nexport default MeetingRoomsInfoContent;\n","import React, { Fragment } from 'react';\nimport { SvgIco } from '../../SharedComponents/Icons';\n\nconst NoCureInfoContent = ({ contractDetailsOnDeal, contractDetailsOnDealBasic, contractDetailsOnDealPremium, siteKey }) => {\n return (\n <Fragment>\n <div className=\"sign-up-modal__header\">\n <h2 className=\"sign-up-modal__header-title\">\n { I18n.t('signup.new_form.plans.block1.title_new') }\n </h2>\n <div className=\"sign-up-modal__close-btn\" id=\"modalCloseBtn\">\n <SvgIco name=\"close\" size={32}/>\n </div>\n </div>\n <div className=\"sign-up-modal__body highlight-basic\">\n <p className=\"sign-up-modal__pricing-description\" dangerouslySetInnerHTML={{__html: I18n.t('signup.signup_form.on_deal.infobox.body_new')}} />\n <div className=\"sign-up-modal__pricing-table-wrapper\">\n <h3>{ I18n.t('signup.signup_form.on_deal.infobox.price_model_business_center') }</h3>\n\n <table className='sign-up-modal__table sign-up-modal__table-global'>\n <tbody>\n\n <tr className=\"sign-up-modal__table-header\">\n <td>{ I18n.t('signup.signup_form.on_deal.infobox.prices') }</td>\n <td className=\"sign-up-modal__table-td\">Basic</td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.signup_form.on_deal.infobox.fee_per_rental') }</td>\n <td>{ contractDetailsOnDeal.table.persentage + I18n.t('signup.teaser.tabs.tab.block.fee') }</td>\n </tr>\n\n\n <tr className=\"sign-up-modal__table-header\">\n <td>{ I18n.t('signup.signup_form.on_deal.infobox.you_get') }</td>\n <td/>\n </tr>\n\n { siteKey === 'dk' ?\n\n <Fragment>\n\n <tr>\n <td>Annonce med kontaktformular</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>FÃ¥ henvendelser via e-mail & SMS</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>Stor synlighed overfor potentielle lejere</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>FÃ¥ gratis â€Til leje†skilte</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>Du betaler kun honorar, hvis du finder en lejer via os</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>Ingen binding. Du kan altid skifte afregningsmodel</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>Personlig hjælp og support via telefon, e-mail og chat</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n </Fragment>\n\n :\n\n <Fragment>\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.no_cure_no_pay.list_2') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.great') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.general_2') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n <tr>\n <td>{ I18n.t('signup.teaser.tabs.tab.block.no_cure_no_pay.list_1') }</td>\n <td><span className=\"check-icon\" /></td>\n </tr>\n\n\n </Fragment>\n }\n </tbody>\n </table>\n\n </div>\n </div>\n </Fragment>\n )\n};\n\nexport default NoCureInfoContent;\n","import React, { Fragment } from 'react';\n\nimport './TermOfServiceContent.sass';\nimport {SvgIco} from \"../../SharedComponents/Icons\";\n\nconst TermsOfServiceContent = ({ activeContract }) => {\n return (\n <Fragment>\n <div className=\"terms-of-service__close-btn\">\n <div className=\"sign-up-modal__close-btn\" id=\"modalCloseBtn\">\n <SvgIco name=\"close\" size={22}/>\n </div>\n </div>\n <div className=\"terms-of-service__header\">\n <h2 className=\"terms-of-service__header-title\">\n { activeContract.title }\n </h2>\n </div>\n <div className=\"terms-of-service__body\" dangerouslySetInnerHTML={{__html: activeContract.body}} />\n </Fragment>\n )\n};\n\nexport default TermsOfServiceContent;\n","import React, { Component } from \"react\";\n\nimport './index.sass';\n\nclass Modal extends Component {\n\n componentDidMount() {\n const modalClassList = document.getElementById(this.props.modalId).classList;\n const initialBodyWidth = document.body.clientWidth;\n\n document.addEventListener('click', this.handleClickOutside);\n document.body.classList.add('modal-active');\n\n if(initialBodyWidth < document.body.clientWidth) {\n document.body.style.marginRight = document.body.clientWidth - initialBodyWidth + 'px';\n }\n\n modalClassList.add('in');\n setTimeout(() => modalClassList.add('active'), 50);\n };\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutside);\n document.body.classList.remove('modal-active');\n document.body.style.marginRight = 'unset';\n }\n\n handleClickOutside = (e) => {\n const { modalId } = this.props;\n\n if (!this.modalWrapper.contains(e.target) || e.target.id === 'modalCloseBtn' || e.target.id === 'modalFooterCloseBtn') {\n document.getElementById(modalId).classList.remove('active', 'in');\n setTimeout(() => this.props.toggleModal(modalId), 100);\n }\n };\n\n render() {\n\n const { modalId, content } = this.props;\n const padding = modalId !== 'termOfService' && { paddingTop: `${document.getElementById('top-menu').clientHeight}px` };\n\n return (\n <div className={`${ modalId === 'termOfService' ? 'terms-of-service ' : '' }sign-up-modal fade `}\n id={ modalId }\n style={ padding || null }\n >\n { modalId !== 'termOfService'\n ? <div className=\"sign-up-modal__wrapper\" ref={ elem => this.modalWrapper = elem }>\n { content }\n </div>\n : <div className=\"sign-up-modal__wrapper container\">\n <div className=\"row\">\n <div className=\"col-12 col-md-12 offset-lg-2 col-lg-8 offset-xl-2 col-xl-8\">\n <div className=\"terms-of-service__content\" ref={ elem => this.modalWrapper = elem }>\n { content }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n )\n }\n}\n\nexport default Modal;\n","import React, { Component } from \"react\";\nimport queryString from 'query-string';\n\nimport { localizedNumberFormatter } from \"../../utils/helpers\";\nimport { SvgIco } from \"../SharedComponents/Icons\";\n\nimport './PaymentModel.sass'\n\n\nclass PaymentModel extends Component {\n\n state = {\n paymentModel: '',\n activePolicyGroup: '',\n activePolicyPlan: '',\n };\n\n componentDidMount() {\n const { invoicingStrategy, name } = this.props.activeContract.contract;\n const policyGroup = invoicingStrategy.includes('coworking') ? 'coworking-policy-group' : 'invoicing-policy-group';\n const policyPlan = name.replace(/_(\\w)/g, (m => m[1].toUpperCase()));\n const parkeringCheck = queryString.parse(window.location.search).contract_name === 'parking' ? 'parkering-policy-group' : null;\n const activePolicyGroup = parkeringCheck ? parkeringCheck : policyGroup;\n const activePolicyPlan = parkeringCheck ? 'basic' : policyPlan;\n\n this.setState({ activePolicyGroup, activePolicyPlan }, () => {\n const policyGroup = document.getElementById(activePolicyGroup);\n const policyPlan = document.getElementById(activePolicyPlan);\n\n policyGroup && policyGroup.classList.add('active');\n policyPlan && policyPlan.classList.add('active');\n this.props.handleContractSelect(activePolicyPlan, activePolicyGroup);\n });\n }\n\n handleMainGroupRadioSelect = (targetGroup) => {\n const { activePolicyGroup, activePolicyPlan } = this.state;\n const targetGroupRadio = document.getElementById(targetGroup);\n const targetPlan = targetGroupRadio.querySelector('.payment-model__sublist').children[1].id;\n\n document.getElementById(targetGroup) && activePolicyGroup !== targetGroup && this.setState({\n activePolicyGroup: targetGroup,\n activePolicyPlan: targetPlan,\n }, () => {\n document.getElementById(activePolicyPlan).classList.remove('active');\n document.getElementById(activePolicyGroup).classList.remove('active');\n document.getElementById(targetPlan).classList.add('active');\n this.props.handleContractSelect(targetPlan, activePolicyGroup);\n setTimeout(() => targetGroupRadio.classList.add('active'), 10);\n });\n };\n\n handlePlanRadioSelect = (targetPlan) => {\n const { activePolicyGroup, activePolicyPlan } = this.state;\n\n document.getElementById(targetPlan) && activePolicyPlan !== targetPlan && this.setState({\n activePolicyPlan: targetPlan,\n }, () => {\n document.getElementById(activePolicyPlan).classList.remove('active');\n document.getElementById(targetPlan).classList.add('active');\n this.props.handleContractSelect(targetPlan, activePolicyGroup);\n })\n };\n\n renderOptionList = (optionListData) => {\n const { activePolicyPlan } = this.state;\n\n return optionListData.map(elem => {\n const activeClass = activePolicyPlan === elem.dataName ? 'active' : '';\n return (\n <li className={`payment-model__sublist-radio-wrapper ${ activeClass }`}\n id={elem.dataName}\n key={elem.dataName}\n data-radio={true}\n onClick={() => this.handlePlanRadioSelect(elem.dataName)}>\n <span className=\"payment-model__sublist-radio\"/>\n <p className=\"payment-model__sublist-radio-label\">\n { elem.label }\n { elem.promotion && <span className=\"payment-model__sublist-radio-promo\">{ elem.promotion }</span> }\n </p>\n </li>\n )\n }\n )\n };\n\n\n render() {\n\n const { contactInfoEmail, contactInfoPhone, currentCurrency, siteKey, toggleModal, advertisementStrategiesPrices } = this.props;\n const margin = { marginBottom: 0 };\n const isDk = siteKey === 'dk';\n const phoneNumber = isDk ? '(+45) 39 45 85 57' : contactInfoPhone;\n const advertisementPrices = advertisementStrategiesPrices['prices'];\n\n const providerDkContractOption =\n isDk\n ? [\n { dataName: 'basic', label: 'Basic - fra ' + advertisementPrices['basic']['0..249'] + ' kr.' },\n { dataName: 'basicPlus', label: 'Basic Plus - fra ' + advertisementPrices['basicPlus']['0..249'] + ' kr.' },\n { dataName: 'premium', label: 'Premium - fra ' + advertisementPrices['premium']['0..249'] + ' kr.' },\n { dataName: 'premiumPlus', label: 'Premium + - fra ' + advertisementPrices['premiumPlus']['0..249'] + ' kr.' }\n ]\n : [];\n\n const providerContractOption = [\n { dataName: 'noCureBasic', label: I18n.t('signup.new_form.plans.block1.nocure_pricer.basic') },\n ];\n\n const providerContractOptionMeetingRoom = [\n { dataName: 'annualRemoval',\n label: I18n.t('signup.new_form.plans.block1.meeting_room_pricer.annual_settlement_new', { price: localizedNumberFormatter(Number(advertisementPrices.meetingRoom.default)) }),\n promotion: I18n.t('signup.meeting_rooms.free_untill')\n },\n { dataName: 'annualRemovalPremium',\n label: I18n.t('signup.new_form.plans.block1.meeting_room_pricer.premium_new', { price: localizedNumberFormatter(Number(advertisementPrices.meetingRoomPremium.default)) }),\n },\n ];\n\n const providerContractOptionParkering =\n isDk\n ? [{ dataName: 'basic', label: `${localizedNumberFormatter(Number(advertisementPrices.parking.default))} kr.` }]\n : [];\n\n\n return (\n <div className=\"payment-model\">\n <ul className=\"payment-model__main-list\">\n\n <li className=\"payment-model__main-list-item\" id=\"invoicing-policy-group\">\n <div className=\"payment-model__main-list-radio-wrapper\"\n data-radio={true}\n onClick={ () => this.handleMainGroupRadioSelect('invoicing-policy-group') }>\n <span className=\"payment-model__main-list-radio\" />\n <p className=\"payment-model__main-list-radio-label\">\n { I18n.t('signup.new_form.plans.block1.title_new') }\n </p>\n </div>\n\n <div className=\"payment-model__collapsible-wrapper\">\n <p className=\"payment-model__subheader\">{ I18n.t('signup.payment_model_top_options_description') }</p>\n { isDk &&\n <ul className=\"payment-model__sublist\" id=\"provider-contract-plan-dk\">\n <p className=\"payment-model__sublist-header\">\n { I18n.t('signup.new_form.plans.block1.basic_pricer.title') }\n <SvgIco name=\"help_outline\" onClick={() => toggleModal('basicPriceInfo')} size={22} />\n </p>\n { this.renderOptionList(providerDkContractOption) }\n </ul>\n }\n <ul className=\"payment-model__sublist\" id=\"provider-contract-plan\">\n <div>\n\n <p className=\"payment-model__sublist-header\">\n { I18n.t('signup.new_form.plans.block1.nocure_pricer.title') }\n <SvgIco name=\"help_outline\" onClick={() => toggleModal('noCureInfo')} size={22} />\n </p>\n\n </div>\n { this.renderOptionList(providerContractOption)}\n </ul>\n </div>\n </li>\n\n <li className=\"payment-model__main-list-item\" id=\"coworking-policy-group\">\n <div className=\"payment-model__main-list-radio-wrapper\"\n data-radio={true}\n onClick={ () => this.handleMainGroupRadioSelect('coworking-policy-group') }>\n <span className=\"payment-model__main-list-radio\" />\n <p className=\"payment-model__main-list-radio-label\">\n { I18n.t('apps.entry_page.entry_pages.show.lease.meeting_rooms') }\n </p>\n </div>\n\n <div className=\"payment-model__collapsible-wrapper\">\n <ul className=\"payment-model__sublist\" id=\"provider-contract-plan-coworking\">\n <p className=\"payment-model__sublist-header\">\n { I18n.t('signup.new_form.plans.block1.meeting_pricer.title') }\n <SvgIco name=\"help_outline\" onClick={() => toggleModal('coworkingInfo')} size={22} />\n </p>\n { this.renderOptionList(providerContractOptionMeetingRoom) }\n </ul>\n </div>\n </li>\n\n { isDk && (\n <li className=\"payment-model__main-list-item\" id=\"parkering-policy-group\">\n <div className=\"payment-model__main-list-radio-wrapper\"\n data-radio={true}\n onClick={ () => this.handleMainGroupRadioSelect('parkering-policy-group') }>\n <span className=\"payment-model__main-list-radio\" />\n <p className=\"payment-model__main-list-radio-label\">\n { I18n.t('generic.parking') }\n </p>\n </div>\n\n <div className=\"payment-model__collapsible-wrapper\">\n <ul className=\"payment-model__sublist\" id=\"provider-contract-plan-parkering\" style={margin}>\n <p className=\"payment-model__sublist-header\">\n { I18n.t('signup.teaser.tabs.tab.left') }\n <SvgIco name=\"help_outline\" onClick={() => toggleModal('basicParking')} size={22} />\n </p>\n { this.renderOptionList(providerContractOptionParkering) }\n </ul>\n </div>\n </li>\n )}\n\n </ul>\n <span className=\"payment-model__notice\">\n { I18n.t('signup.new_form.plans.notes') }\n </span>\n\n { isDk &&\n <div className=\"payment-model__info-block\">\n <div className=\"payment-model__info-title\">\n { I18n.t('signup.teaser.contacts.heading') }\n </div>\n\n <div className=\"payment-model__info-links\">\n { phoneNumber &&\n <div className=\"payment-model__info-phone\">\n <img className=\"lazyload\"\n data-src={require(`../../src/images/list_office/Phone_icon.svg`)}\n alt=\"Phone\"\n data-sizes=\"auto\"\n height={21}\n width={21} />\n <a href={`tel://${phoneNumber}`}>{ phoneNumber }</a>\n </div>\n }\n <div className=\"payment-model__info-email\">\n <img className=\"lazyload\"\n data-src={require(`../../src/images/list_office/Mail_icon.svg`)}\n alt=\"Phone\"\n data-sizes=\"auto\"\n height={17}\n width={21} />\n <a href={`mailto:${contactInfoEmail}`}>{ contactInfoEmail }</a>\n </div>\n </div>\n\n <div className=\"payment-model__working-hours-wrapper\">\n <div className=\"payment-model__info-title-hours\">\n { I18n.t('simple_form.labels.parking_lot.opening_hours') + ':' }\n </div>\n <p className=\"payment-model__working-hours\">\n { I18n.t('views.sessions.new.opening_hours_weekdays') } { isDk ? '09:00-16:30' : '09:00-17:00' }\n </p>\n </div>\n </div>\n }\n\n </div>\n )\n }\n}\n\nexport default PaymentModel;\n","import React, { Component } from \"react\";\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\n\nimport { companyValidation, emailValidation, nameValidation, phoneValidation } from '../SharedComponents/Forms/ValidationSchemaPattern';\nimport SignUp from '../../utils/SignUp';\nimport PaymentModel from \"./PaymentModel\";\n\nimport './SignUpForm.sass';\n\n\nclass SignUpFormWrapper extends Component {\n\n state = {\n emailValueOnError: '',\n errorsOnSubmit: false,\n };\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.emailAlreadyExist !== prevProps.emailAlreadyExist && this.props.emailAlreadyExist) {\n this.setState({ emailValueOnError: this.props.emailAlreadyExist });\n const target = document.getElementById('emailErrorTarget');\n const targetCoords = Math.floor(target.getBoundingClientRect().top + window.pageYOffset - (document.getElementById('top-menu').offsetHeight + 48));\n\n window.scroll(0, targetCoords);\n }\n if (this.props.internalError !== prevProps.internalError && this.props.internalError) {\n const target = document.getElementById('internalErrorTarget');\n const targetCoords = Math.floor(target.getBoundingClientRect().top + window.pageYOffset - (document.getElementById('top-menu').offsetHeight + 48));\n\n window.scroll(0, targetCoords);\n }\n }\n\n handleSubmit = (e) => {\n e.preventDefault();\n\n if(Object.keys(this.props.errors).length) {\n this.setState({ errorsOnSubmit: true }, () => {\n const target = document.querySelector('.sign-up-form__form-group-error');\n const targetCoords = Math.floor(target.getBoundingClientRect().top + window.pageYOffset - (document.getElementById('top-menu').offsetHeight + 48));\n\n window.scroll(0, targetCoords);\n });\n } else {\n this.props.handleSubmit();\n }\n };\n\n handleContractSelect = (id, activeSection) => {\n const { hashedContracts, setFieldValue, setActiveContractValues } = this.props;\n\n setActiveContractValues(hashedContracts[id], id, activeSection);\n setFieldValue('contract_id', hashedContracts[id]);\n };\n\n errorValidator = (field) => {\n const { errors, touched } = this.props;\n const { errorsOnSubmit } = this.state;\n const fieldError = errors[field] && (touched[field] || errorsOnSubmit) && 'sign-up-form__form-group-error';\n\n return field === 'email'\n ? (this.props.emailAlreadyExist && 'sign-up-form__form-group-error') || fieldError\n : fieldError;\n };\n\n handleEmailError = (e) => {\n this.setState({ emailValueOnError: e.target.value }, () => {\n this.props.setFieldValue('email', this.state.emailValueOnError);\n this.props.handleEmailAlreadyExistError()\n });\n };\n\n\n render() {\n\n const {\n activeContract,\n contactInfoEmail,\n contactInfoPhone,\n currentCurrency,\n emailAlreadyExist,\n errors,\n handleBlur,\n handleChange,\n hashedContracts,\n internalError,\n setFieldValue,\n siteKey,\n toggleModal,\n values,\n advertisementStrategiesPrices,\n } = this.props;\n\n const { emailValueOnError } = this.state;\n const internalErrorStyle = { display: 'block', marginTop: '-15px' };\n\n return (\n <div>\n <div className=\"sign-up-form-wrapper\">\n <form name=\"signUpForm\" className=\"sign-up-form\" onSubmit={ this.handleSubmit }>\n\n <input\n id=\"fifth_element\"\n type=\"text\"\n name=\"fifth_element\"\n className=\"invisible\"\n value={values.fifth_element}\n onPaste={handleChange}\n onChange={handleChange}\n />\n\n <div className=\"row\">\n\n <div className=\"sign-up-form__payment-model col-md-6\">\n <h1>{ I18n.t('signup.new_form.title') }</h1>\n <p className=\"sign-up-form__payment-model description\">{ I18n.t('signup.new_form.subheading') }</p>\n\n <div className=\"sign-up-form__payment-model-header\">\n <h2>{ I18n.t('signup.new_form.plans.title') }</h2>\n </div>\n\n <PaymentModel\n activeContract={activeContract}\n contactInfoEmail={contactInfoEmail}\n contactInfoPhone={contactInfoPhone}\n cookiesActiveGroup={active_contract_section}\n cookiesContract={contract_name}\n currentCurrency={currentCurrency}\n hashedContracts={hashedContracts}\n handleContractSelect={this.handleContractSelect}\n setFieldValue={setFieldValue}\n siteKey={siteKey}\n toggleModal={toggleModal}\n advertisementStrategiesPrices={advertisementStrategiesPrices}\n />\n </div>\n\n <div className=\"sign-up-form__contact-data col-md-6 col-lg-5 offset-lg-1\">\n <div className=\"sign-up-form__contact-form-wrapper\">\n\n <div className=\"sign-up-form__contact-data-header\">\n <h2>{ I18n.t('apps.entry_page.entry_pages.become_provider_text.become_provider_now') }</h2>\n </div>\n\n <div id=\"internalErrorTarget\" />\n\n { internalError &&\n <div className=\"sign-up-form__input-tooltip-error\" style={internalErrorStyle}>\n { I18n.t('apps.lb_showroom.detailed.order_form.error.message') }\n </div>\n }\n\n <div className=\"form-inputs\">\n <div className={`form-group ${ this.errorValidator('company_name')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"company_name\">\n <input\n name=\"company_name\"\n type=\"text\"\n value={values.company_name}\n id=\"company_name\"\n onChange={(e) => {\n setFieldValue('company_name', e.target.value.trimStart().replace(/\\s\\s+/g, ' '))\n }}\n onBlur={handleBlur}\n data-tip={errors.company_name}\n className={`sign-up-form__input ${values.company_name && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.company_name && 'active'}`}>\n { I18n.t('signup.new_form.register.company_name.placeholder') }*\n </span>\n </label>\n <div className=\"sign-up-form__input-tooltip-error\">{errors.company_name}</div>\n </div>\n\n <div className={`form-group ${ this.errorValidator('name')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"name\">\n <input\n name=\"name\"\n type=\"text\"\n value={values.name}\n id=\"name\"\n onChange={handleChange}\n onBlur={handleBlur}\n data-tip={ errors.name }\n className={`sign-up-form__input ${values.name && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.name && 'active'}`}>\n { I18n.t('signup.new_form.register.name.placeholder') }*\n </span>\n </label>\n <div className=\"sign-up-form__input-tooltip-error\">{ errors.name }</div>\n </div>\n\n <div id=\"emailErrorTarget\" />\n <div className={`form-group ${ this.errorValidator('email')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"email\">\n <input\n name=\"email\"\n type=\"email\"\n value={emailAlreadyExist ? emailValueOnError : values.email}\n id=\"email\"\n onChange={emailAlreadyExist ? this.handleEmailError : handleChange}\n onBlur={handleBlur}\n data-tip={emailAlreadyExist ? I18n.t('apps.lb_showroom.detailed.order_form.validation.email_already_exists') : errors.email}\n className={`sign-up-form__input ${values.email && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.email && 'active'}`}>\n { I18n.t('signup.new_form.register.email.placeholder') }*\n </span>\n </label>\n <div className=\"sign-up-form__input-tooltip-error\">\n { emailAlreadyExist ? I18n.t('apps.lb_showroom.detailed.order_form.validation.email_already_exists') : errors.email }\n </div>\n </div>\n\n <div className={`form-group ${ this.errorValidator('phone_number')}`}>\n <label className=\"sign-up-form__label\" htmlFor=\"phone_number\">\n <input\n name=\"phone_number\"\n type=\"tel\"\n value={values.phone_number}\n id=\"phone_number\"\n onChange={(e) => {\n setFieldValue('phone_number', e.target.value.trimStart().replace(/\\s\\s+/g, ' '))\n }}\n onBlur={handleBlur}\n data-tip={ errors.phone_number }\n className={`sign-up-form__input ${values.phone_number && 'active'}`}\n />\n <span className={`sign-up-form__floating-label ${values.phone_number && 'active'}`}>\n { I18n.t('signup.new_form.register.phone_number.placeholder') }*\n </span>\n </label>\n <div className=\"sign-up-form__input-tooltip-error\">{ errors.phone_number }</div>\n </div>\n\n <div className=\"form-group form-group--not-required\">\n <button type=\"submit\" className=\"b-button\">\n { I18n.t('apps.entry_page.entry_pages.become_provider_text.become_provider_now') }\n </button>\n </div>\n <span className=\"sign-up-form__subheading\">\n { I18n.t('signup.new_form.register.notice') }\n </span>\n </div>\n </div>\n </div>\n </div>\n\n </form>\n </div>\n </div>\n )\n }\n}\n\nconst {\n company_name,\n name,\n email,\n phone_number,\n fifth_element,\n contract_name,\n active_contract_section,\n} = SignUp.getClientInfo();\n\nconst SignUpForm = withFormik({\n mapPropsToValues: (bag) => {\n return {\n company_name,\n name,\n email,\n phone_number: phone_number ? phone_number : bag.userCountryPhoneCode,\n fifth_element,\n }},\n\n validationSchema: Yup.object().shape({\n company_name: companyValidation,\n name: nameValidation,\n email: emailValidation,\n phone_number: phoneValidation,\n }),\n\n handleSubmit: (values, bag) => {\n SignUp.updateClientInfo({ ...values, contract_name: bag.props.contractName, active_contract_section: bag.props.activeContractSection});\n bag.props.preSubmitHandler(values);\n },\n\n displayName: 'SignUpForm',\n})(SignUpFormWrapper);\n\nexport default SignUpForm;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport queryString from 'query-string';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { apiProvider } from '../../api/core';\nimport { loadTawkTo } from '../TawkTo/TawkTo';\nimport RequestCallModal from \"../SharedComponents/RequestCallModal\";\nimport Modal from \"./Modals\";\nimport SignUpForm from \"./SignUpForm\";\nimport ContinueRegistrationForm from \"./Modals/ContinueRegistrationModal\";\nimport MeetingRoomsInfoContent from \"./Modals/MeetingRoomsInfoContent\";\nimport TermsOfServiceContent from \"./Modals/TermsOfServiceContent\";\nimport BasicPriceContent from \"./Modals/BasicPriceContent\";\nimport NoCureInfoContent from \"./Modals/NoCureInfoContent\";\nimport BasicParkeringContent from './Modals/BasicParkeringContent';\n\nimport './index.sass';\n\n\nclass SignUp extends Component {\n\n state = {\n activeContractId: '',\n contractName: '',\n activeContractSection: '',\n emailAlreadyExist: false,\n internalErrorFirstStep: false,\n internalErrorSecondStep: false,\n registrationModalIsOpen: false,\n activeModal: {\n basicPriceInfo: false,\n noCureInfo: false,\n coworkingInfo: false,\n termOfService: false,\n basicParking: false,\n },\n };\n\n componentDidMount() {\n const { activeContract } = this.props;\n this.setState({\n activeContractId: activeContract && activeContract.contract.id,\n uuid: uuidv4(),\n });\n loadTawkTo(this.props.siteKey);\n }\n\n handleEmailAlreadyExistError = () => this.setState({ emailAlreadyExist: '' });\n\n preSubmitHandler = (params) => {\n\n const { company_name, email, name, phone_number } = params;\n\n delete params.fifth_element;\n\n const providerData = {\n provider:{\n company_name,\n name,\n email,\n phone_number,\n token: this.state.uuid,\n }\n };\n\n apiProvider.withOptions({ url: \"/signup_new_first_step\", method: 'post', data: providerData }, true)\n .then(response => {\n if (response && response.status === 'created') {\n this.setState({ registrationModalIsOpen: true, internalErrorFirstStep: false });\n } else if (response.error) {\n response.status >= 500\n ? this.setState({ internalErrorSecondStep: true })\n : this.setState({ emailAlreadyExist: params.email, internalErrorSecondStep: false });\n }\n });\n };\n\n submitHandler = (params, signUpFormUrl) => {\n let activeContractId = this.state.activeContractId;\n const strategy = activeContractId && this.props.contracts.filter(elem => elem.contract.id === activeContractId)[0].contract.invoicing_strategy;\n const { line_1, postal_code, city, country_alpha2, password } = params;\n\n queryString.parse(window.location.search).contract_name === 'parking' ? activeContractId = 9 : null;\n delete params.fifth_element;\n\n const providerData = {\n provider: {\n ...params,\n strategy,\n terms_of_service: '1',\n contract_id: activeContractId,\n password_confirmation: params.password,\n primary_contact_attributes: { password, password_confirmation: params.password },\n invoicing_policy_attributes: { contract_id: activeContractId, strategy },\n address_attributes: { country_alpha2, line_1, postal_code, city },\n token: this.state.uuid,\n },\n };\n\n apiProvider.withOptions({ url: signUpFormUrl, method: 'post', withCredentials: true, data: providerData }, true)\n .then(response => {\n // change path to welcome page\n // if (response.status === 'created') return window.location.href = '/new_providers/welcome';\n if (response.status === 'created') return window.location.href = response.redirect_path;\n\n if (response.error) {\n response.status >= 500\n ? this.setState({ internalErrorSecondStep: true })\n : this.setState({ emailAlreadyExist: params.email, internalErrorSecondStep: false });\n }\n });\n };\n\n toggleModal = (modal) => {\n this.setState({\n activeModal: {\n ...this.state.activeModal,\n [modal]: !this.state.activeModal[modal],\n }\n })\n };\n\n setActiveContractValues = (id, contractName, activeSection) => {\n this.setState({\n activeContractId: id,\n contractName: contractName,\n activeContractSection: activeSection,\n });\n };\n\n closeRegistrationModal = () =>\n this.setState({ registrationModalIsOpen: false });\n\n\n render() {\n\n const {\n activeContract,\n advertisementStrategiesPrices,\n contractDetailsOnDeal,\n contractDetailsOnDealBasic,\n contractDetailsOnDealPremium,\n contactInfoEmail,\n contactInfoPhone,\n contracts,\n countriesSelectOptions,\n currentCurrency,\n geocoderCountryCode,\n hashedContracts,\n siteKey,\n signUpFormUrl,\n userCountryPhoneCode,\n } = this.props;\n\n const { basicPriceInfo, noCureInfo, coworkingInfo, termOfService, basicParking } = this.state.activeModal;\n const activeContractData = this.state.activeContractId && contracts.filter(elem => elem.contract.id === this.state.activeContractId)[0].contract;\n const { activeContractSection, contractName, emailAlreadyExist, internalErrorFirstStep, internalErrorSecondStep, registrationModalIsOpen } = this.state;\n const advertisementStrategiesPricesPresent = advertisementStrategiesPrices && advertisementStrategiesPrices.prices;\n const parkingPrice =\n ( advertisementStrategiesPricesPresent &&\n advertisementStrategiesPrices.prices.parking &&\n advertisementStrategiesPrices.prices.parking.default)\n || 0;\n const meetingRoomPrice =\n ( advertisementStrategiesPricesPresent &&\n advertisementStrategiesPrices.prices.meetingRoom &&\n advertisementStrategiesPrices.prices.meetingRoom.default)\n || 0;\n const meetingRoomPremiumPrice =\n ( advertisementStrategiesPricesPresent &&\n advertisementStrategiesPrices.prices.meetingRoomPremium &&\n advertisementStrategiesPrices.prices.meetingRoomPremium.default)\n || 0;\n\n\n return (\n <div className=\"sign-up\">\n <div className=\"container\">\n\n <SignUpForm\n activeContract={activeContract}\n activeContractSection={activeContractSection}\n contactInfoEmail={contactInfoEmail}\n contactInfoPhone={contactInfoPhone}\n contractName={contractName}\n currentCurrency={currentCurrency}\n emailAlreadyExist={emailAlreadyExist}\n handleEmailAlreadyExistError={this.handleEmailAlreadyExistError}\n hashedContracts={hashedContracts}\n internalError={internalErrorFirstStep}\n preSubmitHandler={this.preSubmitHandler}\n setActiveContractValues={this.setActiveContractValues}\n siteKey={siteKey}\n toggleModal={this.toggleModal}\n userCountryPhoneCode={userCountryPhoneCode}\n advertisementStrategiesPrices={advertisementStrategiesPrices}\n />\n </div>\n\n { registrationModalIsOpen &&\n <ContinueRegistrationForm\n activeContract={activeContract}\n activeContractSection={activeContractSection}\n contractName={contractName}\n countriesSelectOptions={countriesSelectOptions}\n currentCountryCode={siteKey === 'global' ? geocoderCountryCode : siteKey}\n handleClose={this.closeRegistrationModal}\n internalError={internalErrorSecondStep}\n isOpen={registrationModalIsOpen}\n signUpFormUrl={signUpFormUrl}\n siteKey={siteKey}\n submitHandler={this.submitHandler}\n toggleTermsModal={() => this.toggleModal('termOfService')}\n userCountryPhoneCode={this.userCountryPhoneCode}\n />\n }\n\n { basicPriceInfo &&\n <Modal\n toggleModal={this.toggleModal}\n modalId='basicPriceInfo'\n content={<BasicPriceContent advertisementStrategiesPrices={advertisementStrategiesPrices} />}\n />\n }\n\n { noCureInfo &&\n <Modal\n toggleModal={this.toggleModal}\n modalId='noCureInfo'\n content={\n <NoCureInfoContent\n contractDetailsOnDeal={contractDetailsOnDeal}\n contractDetailsOnDealBasic={contractDetailsOnDealBasic}\n contractDetailsOnDealPremium={contractDetailsOnDealPremium}\n siteKey={siteKey}\n />\n }\n />\n }\n\n { coworkingInfo &&\n <Modal\n toggleModal={this.toggleModal}\n modalId='coworkingInfo'\n content={\n <MeetingRoomsInfoContent\n basicPrice={meetingRoomPrice}\n currentCurrency={currentCurrency}\n premiumPrice={meetingRoomPremiumPrice}\n siteKey={siteKey}\n />\n }\n />\n }\n\n { basicParking &&\n <Modal\n toggleModal={this.toggleModal}\n modalId='basicParking'\n content={\n <BasicParkeringContent price={parkingPrice} />\n }\n />\n }\n\n { termOfService &&\n <Modal\n toggleModal={this.toggleModal}\n modalId='termOfService'\n content={ <TermsOfServiceContent activeContract={activeContractData} /> }\n />\n }\n\n <RequestCallModal hideModal={registrationModalIsOpen} />\n\n </div>\n )\n }\n}\n\nexport default SignUp;\n\nSignUp.propTypes = {\n activeContract: PropTypes.shape({\n contract: PropTypes.object,\n }),\n siteKey: PropTypes.string,\n contracts: PropTypes.arrayOf(PropTypes.object),\n contractCoworkingYearly: PropTypes.shape({\n table: PropTypes.object,\n }),\n contractCoworkingYearlyPremium: PropTypes.shape({\n table: PropTypes.object,\n }),\n contractDetailsOnDeal: PropTypes.shape({\n table: PropTypes.object,\n }),\n contractDetailsOnDealBasic: PropTypes.shape({\n table: PropTypes.object,\n }),\n contractDetailsOnDealPremium: PropTypes.shape({\n table: PropTypes.object,\n }),\n countriesSelectOptions: PropTypes.array,\n hashedContracts: PropTypes.object,\n geocoderCountryCode: PropTypes.string,\n signUpFormUrl: PropTypes.string,\n};\n\n\nSignUpForm.defaultProps = {\n activeContract: {\n contract: {},\n },\n siteKey: '',\n contracts: [],\n contractCoworkingYearly: {\n table: {},\n },\n contractCoworkingYearlyPremium: {\n table: {},\n },\n contractDetailsOnDeal: {\n table: {},\n },\n contractDetailsOnDealBasic: {\n table: {},\n },\n contractDetailsOnDealPremium: {\n table: {},\n },\n countriesSelectOptions: [],\n hashedContracts: {},\n geocoderCountryCode: '',\n signUpFormUrl: PropTypes.string,\n};\n","class NumberFormatter {\n static floatSeperator = '.';\n\n constructor(delimiter, seperator) {\n this.delimiter = delimiter;\n this.seperator = seperator;\n }\n\n numberWithDelimiter(number) {\n let seperatedNumber = String(number).split(NumberFormatter.floatSeperator);\n seperatedNumber[0] = seperatedNumber[0].replace(\n /(\\d)(?=(\\d\\d\\d)+(?!\\d))/g,\n '$1' + this.delimiter\n );\n return seperatedNumber.join(this.seperator);\n }\n}\n\nexport default NumberFormatter;\n","import React, { Component } from 'react';\nimport { fetchSimilarLocations } from '../../utils/api';\nimport NumberFormatter from '../../utils/NumberFormatter';\nimport BaseSlider from '../SharedComponents/BaseSlider';\nimport LocationTemplate from '../SharedComponents/LocationTemplate';\n\nimport './index.sass';\n\n\nclass SimilarLocations extends Component {\n constructor(props) {\n super(props);\n this.state = {\n error: null,\n isLoaded: false,\n items: []\n };\n }\n\n componentDidMount() {\n const { similarLocationsEndpoint, similarLocationsList } = this.props;\n\n similarLocationsList && similarLocationsList.length > 0\n ? this.setState({ isLoaded: true, items: this.handleResult(similarLocationsList) })\n : similarLocationsEndpoint && this.renderSimilarLocations(similarLocationsEndpoint);\n }\n\n renderSimilarLocations(endPoint) {\n return fetchSimilarLocations(endPoint)\n .then(response => response.data)\n .then(responseJSON => {\n this.setState({\n isLoaded: true,\n items: this.handleResult(responseJSON),\n });\n })\n .catch(error => {\n this.setState({\n isLoaded: true,\n error,\n });\n });\n }\n\n handleResult(items) {\n for (let i = 0; i < items.length; i++) {\n items[i].first_spotlight_value_formatted = this.numberFormatter().numberWithDelimiter(\n items[i].first_spotlight_value\n );\n if (items[i].raw_kind === 'parking') {\n items[i].second_spotlight_value_formatted = items[i].second_spotlight_value\n } else {\n items[i].second_spotlight_value_formatted = this.numberFormatter().numberWithDelimiter(\n items[i].second_spotlight_value\n );\n }\n }\n items.length && this.props.handleInit && this.props.handleInit();\n return items;\n }\n\n numberFormatter() {\n return new NumberFormatter('.', ',');\n }\n\n render() {\n const { isLoaded, items } = this.state;\n\n const {\n comparableLocations,\n favouriteLocationsIds,\n locationAvailable,\n section,\n similarLocationsHeadline,\n similarLocationsParagraph,\n siteKey,\n updateComparableLocations,\n updateFavouriteLocations,\n } = this.props;\n\n const wrapperMargin = { marginBottom: locationAvailable ? '23px' : 0 };\n\n\n if (isLoaded && items.length > 0) {\n return (\n <div className=\"similar-locations dv-info-section-wrapper\" style={ wrapperMargin } id=\"similarLocations\">\n <h2 className=\"similar-locations__heading container\">{ similarLocationsHeadline }</h2>\n { similarLocationsParagraph && <p className=\"similar-locations__subheading container\">{ similarLocationsParagraph }</p> }\n <div className=\"similar-locations__slider-wrapper container\">\n <BaseSlider infinite withDots>\n { items.map(item => (\n <LocationTemplate\n component=\"similar\"\n comparableLocations={comparableLocations}\n data={item}\n favoriteLocations={favouriteLocationsIds}\n key={item.uuid}\n section={section}\n siteKey={siteKey}\n updateFavouriteLocations={updateFavouriteLocations}\n updateComparableLocations={updateComparableLocations}\n />\n )) }\n </BaseSlider>\n </div>\n </div>\n )\n } else {\n return null\n }\n }\n}\n\nexport default SimilarLocations;\n","import React, { Component } from 'react';\nimport { SocialIcons } from '../SharedComponents/Icons';\nimport './index.sass';\n\n\nclass SocialMedia extends Component {\n sharePopUp = (url, w, h) => {\n let left, top;\n left = Math.max(screen.width / 2 - w / 2, 0);\n top = Math.max(screen.height / 2 - h / 2, 0);\n window.open(\n url,\n '_blank',\n 'toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=yes, width=' +\n w +\n ', height=' +\n h +\n ', top=' +\n top +\n ', left=' +\n left +\n ''\n );\n return false;\n };\n\n handleClick = e => {\n const shareUrl = e.target.getAttribute('url') + window.location.href;\n const w = e.target.getAttribute('w');\n const h = e.target.getAttribute('h');\n this.sharePopUp(shareUrl, w, h);\n };\n\n render() {\n return (\n <div className=\"social-media__wrapper\">\n <span className=\"text\"> {I18n.t('lb_showroom.detailed.social_share')}</span>\n <span\n w={600}\n h={500}\n url=\"http://www.facebook.com/sharer/sharer.php?u=\"\n className=\"facebook\"\n onClick={this.handleClick}\n >\n {SocialIcons.facebook}\n </span>\n <span\n w={550}\n h={420}\n url=\"https://twitter.com/intent/tweet?url=\"\n className=\"twitter\"\n onClick={this.handleClick}\n >\n {SocialIcons.twitter}\n </span>\n <span\n w={520}\n h={570}\n url=\"https://www.linkedin.com/shareArticle?url=\"\n className=\"linkedin\"\n onClick={this.handleClick}\n >\n {SocialIcons.linkedin}\n </span>\n </div>\n );\n }\n}\n\nexport default SocialMedia;\n","import React, { Component } from 'react';\nimport Flag from 'react-flags';\n\nimport './LanguageSwitcher.sass'\n\nconst customStyles = {\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: '999',\n },\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n transform: 'translate(-50%, -50%)',\n padding: '20px',\n pointerEvents: 'visible',\n height: '80%',\n },\n};\n\n\nclass LanguageSwitcher extends Component {\n\n state = {\n isOpened: false\n };\n\n switchState = (e) => {\n if(this.node) {\n if(this.node.contains(e.target)) {\n this.setState({\n isOpened: !this.state.isOpened\n });\n\n return;\n }\n }\n\n this.setState({ isOpened: false });\n };\n\n componentDidMount() {\n document.addEventListener('click', this.switchState, false)\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.switchState, false)\n }\n\n render() {\n const { availableLocalesLinks, currentLocaleCountry } = this.props;\n\n if (availableLocalesLinks && availableLocalesLinks.length > 0) {\n return (\n <div className='language-switcher'>\n <div ref={node => this.node = node} className='language-switcher__language-selected'>\n <Flag\n basePath=\"/images/flags\"\n name={currentLocaleCountry}\n format=\"png\"\n pngSize={24}\n alt={currentLocaleCountry} />\n <span className='language-switcher__choose-language'>{ I18n.t('generic.choose_your_language') }</span>\n </div>\n { this.state.isOpened && (\n <div className='language-switcher__option-list'>\n { availableLocalesLinks.map(link => (\n <a className='language-switcher__option' key={ link.countryCode } href={ link.href.split('?')[0] + window.location.search }>\n <Flag\n basePath=\"/images/flags\"\n name={link.countryCode}\n format=\"png\"\n pngSize={24}\n alt={link.countryCode} />\n <span className='language-switcher__locale-name'>{link.localeName}</span>\n </a>\n ))}\n </div>\n )}\n </div>\n );\n } else {\n return (null);\n }\n }\n}\n\nexport default React.memo(LanguageSwitcher);\n","import React from 'react';\n\nimport './UnsupportedBrowserMessage.sass'\n\nconst UnsupportedBrowserMessage = ({ browserName, handleClose }) => {\n return (\n <div className=\"unsupported-browser\">\n <div className=\"unsupported-browser__content container\">\n <div className=\"unsupported-browser__message\">\n <p className=\"unsupported-browser__title\">\n { `${ I18n.t('apps.lokalebasen_header.browser_message.title') } ${ browserName }`}\n </p>\n <p className=\"unsupported-browser__message\">\n { I18n.t('apps.lokalebasen_header.browser_message.message') }\n </p>\n </div>\n <div className=\"unsupported-browser__close-btn\" onClick={ handleClose } />\n </div>\n </div>\n )\n};\n\nexport default UnsupportedBrowserMessage;","export const findPos = (obj) => {\n let curtop = 0;\n if (obj.offsetParent) {\n do {\n curtop += obj.offsetTop;\n } while (obj = obj.offsetParent);\n return curtop\n }\n return undefined;\n};","export const numbersLandlords = (siteKey) => {\n let numbersMapped = {\n 'global': 2000,\n 'ch': 100,\n 'de': 350,\n 'dk': 1000,\n 'es': 350,\n 'fi': 100,\n 'no': 100,\n 'nl': 200,\n 'pl': 100,\n 'se': 350,\n 'gb': 500,\n 'ua': 250,\n 'be': 250,\n 'sg': 100,\n 'it': 250,\n 'fr': 250,\n 'lu': 100,\n 'in': 1000,\n 'hk': 150,\n };\n\n return numbersMapped[siteKey] ? numbersMapped[siteKey] : numbersMapped['global']\n}","class SignUp {\n constructor() {\n this.storageKey = 'my.sign_up_client';\n this.clientInfo = {\n fifth_element: '',\n company_name: '',\n ean: '',\n vat_id: '',\n line_1: '', //address\n country_alpha2: '',\n city: '',\n name: '',\n email: '',\n phone_number: '',\n postal_code: '',\n password: '',\n contract_id: '',\n contract_name: '',\n active_contract_section: '',\n };\n }\n\n getClientInfo() {\n if (localStorage && !!localStorage.getItem(this.storageKey)) {\n const storageObj = JSON.parse(localStorage.getItem(this.storageKey));\n this.clientInfo = { ...this.clientInfo, ...storageObj };\n }\n return this.clientInfo;\n }\n\n updateClientInfo(clientUpdatedInfo) {\n if (localStorage) {\n const { company_name, ean, vat_id, line_1, country_alpha2, city, name, email, phone_number, password, postal_code, contract_id, fifth_element, contract_name, active_contract_section } = clientUpdatedInfo;\n const updatedClientObj = {\n ...this.clientInfo,\n ...{ company_name, ean, vat_id, line_1, country_alpha2, city, name, email, phone_number, password, postal_code, contract_id, fifth_element, contract_name, active_contract_section },\n };\n let clientInfoString = JSON.stringify(updatedClientObj);\n localStorage.setItem(this.storageKey, clientInfoString);\n }\n }\n\n getI18nAttrNames() {\n return {\n companyI18n: I18n.t('generic.company'),\n eanI18n: I18n.t('signup.new_form.register.ean.placeholder'),\n vat_idI18n: I18n.t('signup.new_form.register.vat_id.placeholder'),\n line_1I18n: I18n.t('signup.new_form.register.line_1.placeholder'),\n postal_codeI18n: I18n.t('signup.new_form.register.postal_code.placeholder'),\n countryI18n: I18n.t('apps.lease.goto.types.country'),\n cityI18n: I18n.t('signup.new_form.register.city.placeholder'),\n nameI18n: I18n.t('signup.new_form.register.name.placeholder'),\n emailI18n:I18n.t('signup.new_form.register.email.placeholder'),\n phoneI18n: I18n.t('signup.new_form.register.phone_number.placeholder'),\n passwordI18n: I18n.t('signup.new_form.register.password.placeholder'),\n };\n }\n\n setCountryPhone() {}\n}\n\nexport default new SignUp();\n","import { postLocationShown } from './api';\n\nclass Storage {\n constructor() {\n this.locationViewedKey = 'my.viewed_locations';\n this.locationOrderedKey = 'my.ordered_locations';\n this.locationShowcaseKey = 'my.ordered_showcase';\n this.locationContactKey = 'my.contact_locations';\n }\n\n static timestamp() {\n return { timestamp: new Date().toISOString() };\n }\n\n populateStorageItems(key) {\n if (!!localStorage) {\n if (!!localStorage.getItem(key)) {\n this[`${key}Obj`] = JSON.parse(localStorage.getItem(key));\n } else {\n this[`${key}Obj`] = {};\n localStorage.setItem(key, '{}');\n }\n }\n }\n\n isLocationViewed(itemId) {\n // --> TODO: cahnge this to be functional\n this.itemId = itemId;\n this.viewedLocations = localStorage && localStorage.getItem(this.locationViewedKey);\n\n //if (this.viewedLocations != undefined && JSON.parse(this.viewedLocations)[this.itemId] == undefined) {\n postLocationShown(this.itemId)\n //}\n\n this.populateStorageItems(this.locationViewedKey);\n this.updateViewedItem();\n return (\n Object.keys(this[`${this.locationViewedKey}Obj`]).indexOf(this.itemId) !== -1\n );\n }\n\n isLocationOrdered(itemId) {\n // --> TODO: cahnge this to be functional\n let orderLocation;\n let orderedDate;\n let todayDate = new Date();\n let oneWeekAgoDate = new Date(todayDate.getTime() - (60*60*24*7*1000)); // one week ago\n this.itemId = itemId;\n this.populateStorageItems(this.locationOrderedKey);\n orderLocation = localStorage && JSON.parse(localStorage.getItem(\"my.ordered_locations\"))[this.itemId];\n\n if (orderLocation) {\n orderedDate = new Date(orderLocation[0].timestamp);\n\n return oneWeekAgoDate < orderedDate;\n } else {\n return false // location not yet ordered\n }\n }\n\n isShowcaseOrdered(itemId) {\n // --> TODO: cahnge this to be functional\n this.itemId = itemId;\n this.populateStorageItems(this.locationShowcaseKey);\n return (\n Object.keys(this[`${this.locationShowcaseKey}Obj`]).indexOf(\n this.itemId\n ) !== -1\n );\n }\n\n isContactOrdered(itemId) {\n // --> TODO: cahnge this to be functional\n const locationObj = this[`${this.locationContactKey}Obj`] || null;\n\n this.itemId = itemId;\n this.populateStorageItems(this.locationContactKey);\n\n if (locationObj) {\n return (\n Object.keys(this[`${this.locationContactKey}Obj`]).indexOf(\n this.itemId\n ) !== -1\n );\n }\n };\n\n updateViewedItem() {\n this[`${this.locationViewedKey}Obj`][this.itemId] = [\n this.constructor.timestamp(),\n ];\n const viewedLocationStr = JSON.stringify(\n this[`${this.locationViewedKey}Obj`]\n );\n localStorage.setItem(this.locationViewedKey, viewedLocationStr);\n }\n\n updateOrderedItem() {\n // --> TODO: cahnge this to be functional\n this[`${this.locationOrderedKey}Obj`][this.itemId] = [\n this.constructor.timestamp(),\n ];\n const orderedLocationStr = JSON.stringify(\n this[`${this.locationOrderedKey}Obj`]\n );\n localStorage.setItem(this.locationOrderedKey, orderedLocationStr);\n }\n\n updateContactItem() {\n // --> TODO: cahnge this to be functional\n this[`${this.locationContactKey}Obj`][this.itemId] = [\n this.constructor.timestamp(),\n ];\n const orderedLocationStr = JSON.stringify(\n this[`${this.locationContactKey}Obj`]\n );\n localStorage.setItem(this.locationContactKey, orderedLocationStr);\n }\n\n updateShowcaseItem() {\n // --> TODO: cahnge this to be functional\n this[`${this.locationShowcaseKey}Obj`][this.itemId] = [\n this.constructor.timestamp(),\n ];\n const orderedLocationStr = JSON.stringify(\n this[`${this.locationShowcaseKey}Obj`]\n );\n localStorage.setItem(this.locationShowcaseKey, orderedLocationStr);\n }\n}\n\nexport default new Storage();\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","describe","props","breadcrumbs","label","path","wrapper","shallow","React","Breadcrumb","it","expect","find","length","toBe","at","href","toEqual","text","wrapper_blank","ModalGetInfoFormMobile","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","isShowingModal","isSubmitting","validateForm","then","resolved","entries","errors","setState","handleBlur","_createClass","key","value","_this$props","this","values","touched","handleChange","handleSubmit","contactOrdered","state","noErrors","askLandLordButton","mainText","I18n","t","infoSentText","buttonText","buttonIcon","Loader","size","left","top","className","onSubmit","noValidate","type","name","fifth_element","onPaste","onChange","onBlur","handleFieldBlur","error","email","phone","company","resize","comment","onClick","handleSendingData","Component","_Client$getClientInfo","Client","getClientInfo","option_parking_lots","emailI18n","getI18nAttrNames","_Client$getI18nAttrNa2","getI18nAttrNamesMobileModalForm","fullName","phoneNumber","companyName","messageI18n","i18nRequiredStartKey","i18nSymbolsLimitErrorMessage","symbols_limit","i18nSymbolsEmailLimitErrorMessage","i18nAtLeast8Digits","GetInfoFormMobile","withFormik","mapPropsToValues","bag","validationSchema","Yup","shape","matches","validationPatterns","symbolsLimit","required","field","symbolsEmailLimit","min","test","createError","replace","message","updateClientInfo","submitHandler","displayName","customStyles","overlay","backgroundColor","zIndex","padding","content","right","bottom","marginRight","transform","pointerEvents","height","border","borderRadius","_useContext","useContext","Context","contactPath","locationId","locationUuid","modalFormOpen","setContactOrdered","setModalFormOpen","setUpdateAskLandlord","switchSelectedOrderForm","visitorToken","_useState","useState","_useState2","_slicedToArray","modalIsOpen","setModalIsOpen","locationOrdered","Storage","isLocationOrdered","Fragment","InfoModal","handleClose","Modal","ariaHideApp","isOpen","onRequestClose","shouldCloseOnOverlayClick","style","SvgIco","params","user_token","contactProvider","response","updateContactItem","window","location","data","confirmation_page_url","catch","console","prevState","nearbyLocationsLink","similarLocationsLink","width","target","_ref","combinedLocations","isRentIncludeOperationalCost","lease","kind","area","yearlyPricePerM2","addressLine1","contact","siteKey","streetName","isContactsShown","setIsContactsShown","_useState3","_useState4","contactEmail","setContactEmail","address","encodedEmail","iv","CryptoJS","Base64","parse","tag","Utf8","decrypt","ciphertext","mode","CBC","toString","postLocationContactDetailsShown","log","locationClosed","locationContactDetails","partnerBadgeUrl","available","owner","provider","ProviderBadgeSection","partnerBadge","alt","photo","PersonPlaceholder","SmallContactBlock","logo","title","info","postLocationProviderAdvertsShown","dangerouslySetInnerHTML","__html","advertLink","partner","activeTranslatedDescription","setTranslatedDescription","isRequestFromPrerender","_useContext$tabs","tabs","originalDescription","translatedDescriptions","readMore","setReadMore","showOriginalDescription","textLength","description","DescriptionTopMenu","slice","locales","translated","locale","substring","document","addEventListener","hasSomeParentTheClass","switcherClassName","showLocaleSwitcherItems","activeLocale","localesExceptActive","availableLocales","filter","item","setActiveTranslatedDescription","desc","getTranslatedDescription","undefined","translateDescriptionWithGoogle","originalDesc","originalLocale","localeFrom","simplifyLocale","translateDescription","res","push","country","getOriginalLocale","showLocaleSwitcher","isShowingScrapedInfo","clickOutside","_this2","_this$state","toggleLocaleSwitcherItems","index","checked","localesClickHandler","htmlFor","sourceLanguage","googleTranslate","Contacts","DescriptionSection","translatedDescription","showContactsSection","Description","Suspense","fallback","activeKey","columnWrapperClass","handleClick","sectionHeadline","sectionClasses","isMobile","Accordion","defaultActiveKey","Card","Header","Toggle","as","variant","eventKey","Collapse","EconomySection","areaUnit","facts","linkToDisposalPriceInfo","rentedOut","scrollToForm","section","temporarilyUnavailable","economyText","setEconomyText","openAnnualPrice","setOpenAnnualPrice","_useState5","_useState6","openPricePerSquareMeter","setOpenPricePerSquareMeter","_useState7","_useState8","openPricePerHour","setOpenPricePerHour","economy","smartText","disposalPrice","pricePerHour","pricesPerM2","pricesPerYear","price","smartTextEconomy","pricePerM2Present","pricesPerYearPresent","textLines","innerWidth","isDisposalRender","parseInt","showPricePerHour","i18nPricePerHour","i18nAnnualPrices","leftColumnClasses","classNames","leftColumnTitle","askProviderLink","formWrapper","getElementById","classList","remove","setTimeout","add","rightColumnContent","toUnderscore","leftColumnContent","pricePerHourContent","SmartTextTooltip","Truncate","lines","ellipsis","children","SectionRow","ReactTooltip","place","effect","defaultProps","facility","facilities","factAndFacilities","transport","distances","postalDistrict","postalName","icon","unit","DistancesListItem","lazyload","iconPathHandler","iconName","require","backgroundImage","distance","FacilitiesListItem","groupName","items","iconSvg","ParkingListItem","parkingIcon","url","showAllParkings","anonymous","suitableFor","_useContext$tabs$faci","buildRoute","energyRating","energyCertificateLevels","exemptedEnergy","nearbyParkingLots","smartTextFacilities","facilityText","setFacilityText","showAllFacilities","setShowAllFacilities","showAllDistances","setShowAllDistances","showMoreParkings","setShowMoreParkings","collapseDistances","visibleDistancesList","collapsedDistancesList","collapseFacilities","visibleFacilitiesList","collapsedFacilitiesList","collapsedParkings","visibleParkingsList","showMoreLinkText","showMore","showMoreLink","showAll","handleShow","energyCertificateIconHandler","districtUrl","kinds","count","toUpperCase","ExemptedEnergyRatingIcon","certificate","certificateName","src","CollapsibleSection","uncollapse","classes","elem","shortLabel","FixedNavigationBar","_React$PureComponent","activeSection","initialization","isScrollable","navigationListLeftBorder","navigationListRightBorder","showLeftArrow","showRightArrow","topOffset","recalculateNavigationTop","offsetHeight","navigationListFirstChild","navigationLinksList","firstChild","navigationListLastChild","lastChild","Math","round","getBoundingClientRect","handleArrowAppearance","handleNavigationTop","targetName","targetSection","targetRightCoodrs","targetLeftCoords","navigationListRightCoords","navigationListLeftCoords","scrollToRightTarget","scrollToLeftTarget","handleActiveSectionChange","leftBoundary","rightBoundary","scrollToTarget","scrollLeft","offsetWidth","targetLeftScroll","handleHorizontalScroll","removeEventListener","prevProps","snapshot","_this3","showMap","showOrderFormButton","showNavigationMenu","showSimilarLocations","similarLocationsHeadline","showRichSnippets","checkEconomySectionPresent","_this$state2","wrapperTop","ref","el","similarLocations","faq","handleLeftScroll","KeyboardArrowLeftRounded","handleRightScroll","KeyboardArrowRightRounded","VirtualTour","DetailsMapWrapper","activeGallerySection","_useContext$assets","assets","photos","floorPlans","videos","googleApiKey","_useContext$location","latitude","longitude","orientationHorizontalMobile","setOrientationHorizontalMobile","useEffect","isTablet","innerHeight","handleOrientationChange","ImageGalleryWrapper","isDefault","webkitallowfullscreen","mozallowfullscreen","allowFullScreen","frameBorder","isGalleryComponent","Landscape","InteriorDesignBanner","activeSlide","targetTop","targetCoords","floor","scrollY","scroll","Portal","itemType","originalFull","isFullScreen","Label","isActive","_objectWithoutProperties","_excluded","assign","DetailedViewSet","_ref2","counters","switchGallerySection","sorted","virtualTour","forEach","pills","properties","renderPills","InfoBadges","FullscreenGallery","MobileGallery","isScraped","locationRented","missingImagesUrl","setActiveSlide","fullscreenIsOpen","setFullscreenIsOpen","photosCount","useMemo","closedMonth","showNewBanner","specialOffer","closedMonthLiteral","mappedMonths","showBadges","isSaleLocation","enableFullscreen","handleOpenFullscreen","slideIndex","body","infoBadges","crawledBottomText","isCrawled","isRentedOut","isNew","rentedOutLabel","sale","wrapperClass","GalleryImage","withBadges","original","gallery","isMobileOnly","columnsCount","isFullScreenMobile","bannerClasses","handleLandscapeClick","open","landscapeImage","SLIDES","image","EmblaCarousel","carouselName","slides","options","loop","virtualTourOpen","assetsData","setAssetsData","updatedAssets","_objectSpread","showInteriorDesignForm","assetsObj","assetContainerClasses","AssetBlock","GallerySwitcher","InfoNotice","CompareIcon","SpaceCalculator","allKinds","comparableLocations","favouriteLocationsIds","setFavouriteLocationsIds","updateComparableLocations","showAllKinds","setShowAllKinds","persons","showEmployees","visibleKinds","reducedKinds","disposal","sectionTitle","badgesWrapperClasses","bottomBorderClasses","verifiedLabel","pricePerYearM2","pricePerYear","InfoCell","showUnit","isPersons","isArea","tooltip","noticeKind","root","tooltipPosition","withLabel","FavouriteIcon","favoriteLocations","isDetailView","updateFavouriteLocations","ids","pageYOffset","CombinedLeases","SameAddressLocations","BaseSlider","LocationTemplate","SimilarLocations","newSearchAgentPath","richSnippetQuestions","richSnippetQuestionsTitle","sectionType","setComparableLocations","setShowSimilarLocations","similarLocationsEndpoint","viewedLocations","updateViewedLocations","setActiveSection","locationsWithSameAddress","setLocationsWithSameAddress","showNavigationMenuState","setShowNavigationMenuState","scrollTargetsRefs","descriptionRef","useRef","factsRef","economyRef","mapRef","similarLocationsRef","faqRef","postalDistrictId","retrievedFavouriteLocations","localStorage","getItem","retrievedComparableLocations","JSON","apiProvider","getAll","showNavigation","current","debounce","handleActiveAreaSection","sectionsList","querySelectorAll","viewPortBottomBorder","node","nodeName","dataset","nodeTop","nodeBottom","endOfScroll","richSnippetsAvailable","filteredViewedLocations","viewed","showViewedLocations","viewedLocationsWrapperClasses","FactsAndFacilities","MapSection","handleInit","infinite","withDots","component","uuid","SearchAgentBanner","page","searchAgentHeadline","searchAgentText","FAQSection","locationAddress","UnavailableLocationIcon","host","ParkingMarkerMap","staticMapUrl","smartTextLocation","geography","isMapHovering","setIsMapHovering","locationText","setLocationText","staticImageAvailable","setStaticImageAvailable","img","Image","handleMapMouseHover","background","onMouseEnter","onTouchStart","position","objectFit","coordinates","countryAlpha2","orderedLocations","setOrderedLocations","windowWidth","setWindowWidth","handleWindowWidth","checkOrderedLocation","setItem","stringify","ListViewItems","hideMap","locationData","GridViewItem","borderColor","VirtualTourForm","preventDefault","isSubmittingOrder","setFieldValue","infoForm","trimStart","disabled","_Client$getI18nAttrNa","nameI18n","companyI18n","phoneI18n","i18nRequiredKey","Form","isJeudan","jeudan_policy","when","is","oneOf","orderPath","setUpdateOrderForm","showcaseOrdered","updateVirtualTourForm","isOrdered","setIsOrdered","setIsSubmittingOrder","formHasBeenSent","setFormHasBeenSent","submitFormHandler","placeOrder","updateOrderedItem","AskProviderModalForm","ClosedLocationBanner","LocationUnavailable","OrderForm","createContext","DetailedViewHeader","apiCreateOrderPath","apiShowcasePath","locationAvailable","locationIsClosed","setActiveGallerySection","isContactOrdered","_useState9","_useState10","setLocationOrdered","_useState11","_useState12","mapSectionOpen","setMapSectionOpen","_useState13","_useState14","_useState15","_useState16","selectedFormOption","setSelectedFormOption","_useState17","isShowcaseOrdered","_useState18","setShowcaseOrdered","_useState19","_useState20","setViewedLocations","_useState21","_useState22","setVirtualTourOpen","_useState23","_useState24","updateOrderForm","_useState25","_useState26","setUpdateVirtualTourForm","_useState27","_useState28","updateAskLandlord","_useState29","_useState30","loadTawkTo","preventResizeObserverError","targetElem","getViewedLocations","viewedLocationsIds","httpService","getLocationsByIds","contextProps","showCasePath","option","locationIdStr","retrievedViewed","indexOf","pop","unshift","Provider","ErrorBoundary","GallerySection","InfoSections","ToTheTopBtn","DataProtectionModal","NewsletterWidget","specialCharacktersNotMoreThan","atLeastOneLetter","newsletterSubmitHandler","hideSubmitError","resubscribeLink","submitError","submitSuccess","setIsShowingModal","autoComplete","ModalLoader","ErrorModalDialog","errorName","errorInfo","didCatchError","onAfterOpen","afterOpenModal","contentLabel","subtitle","componentStack","AdditionalOption","headline","linkContent","buttonColor","gridClasses","FavoritesItem","isActiveInfoForm","showServerErrorMessage","isLoading","orderId","orderUrl","orderInfoListViewForm","order_uuid","constructor","timestamp","updateOrderedLocation","sendTrovitLead","ctrlKey","metaKey","parentNode","getAttribute","sessionStorage","history","scrollRestoration","_this$props2","currency","handleSelect","hidePrice","isInternal","isSelected","nearbyParkingLot","photoAlt","photoUrl","postalCodeAndName","rawKind","providerName","secondaryKinds","shownAsRentedOut","showNewBadge","imgStyle","rentedOutMonth","showSearchOfferModal","handleItemClick","role","includes","handleOpenInfoForm","GetInfoFormModal","gtmClass","handleCloseInfoForm","parkingCheckbox","infoHandlerSubmit","SearchOfferModal","apiCreateOrderDetailsPath","locationKind","Date","toISOString","favoritesList","handleActiveSection","removeFromFavorite","showSwitchers","leasesTabClasses","salesTabClasses","spinner","address_line_1","closed_month","price_and_area_facts","is_internal","nearby_parking_lot","order_path","photo_alt","photo_url","postal_code_and_name","provider_name","raw_kind","secondary_kinds","show_new_badge","shown_as_rented_out","special_offer","temporarily_unavailable","StickyBar","previousScrollY","showStickyBar","currentScrollY","clientHeight","handleStickyBarRender","Sticky","bottomBoundary","innerZ","enabled","FavoritesPage","selectButtonsOpen","deleteButtonsOpen","isFormLoading","leaseLocationsIds","saleLocationsIds","leaseLocations","saleLocations","leaseSelected","saleSelected","currentLocationsIds","newFavouriteIds","handleFavoriteLocationsCounter","availableSection","requestData","_this$setState3","retrievedFaves","favouriteLocations","selectedGroup","updatedList","updatedStorageList","_this$setState4","updatedSelectedLocation","_toConsumableArray","selectedIndex","splice","buttonsGroup","handleClickOutside","buttonsWrapper","contains","uuids","locationsAvailableForOrder","selectedLocationsIds","favouriteLocationsList","selectedLocationsList","selectedLocationsCount","locationsCount","showLocationsList","locations_count","handleOpenButtonsDropdown","selectAll","deselectAll","cleanAllFavoriteLocations","FavoritesList","isMultiple","locations","multipleOrderSubmit","EmptyPage","contacts","footerBottom","addressLine","postalCodeCity","showCvr","cvr","copyrightUrl","logoUrl","siteLinks","socialLinks","sslLink","supportUrl","link","footer_site_link","SslSecureLogo","getFullYear","footerBoxes","box","footer_box","Markdown","Footer","trustedLogos","trustedLogosUrl","TrustLogos","FooterLinks","FooterBottom","trustedLogosL","backgroundSize","backgroundPosition","crawledFallbackImage","defaultGalleryOptions","lazyLoad","showPlayButton","showBullets","showThumbnails","Gallery","images","thumbnailAlt","thumbnail","thumbnailClass","originalAlt","originalClass","addClass","isFullscreen","fullscreenBtn","querySelector","hidePhotoesIndex","fullScreenOpened","isIOS","Boolean","showInteriorDesignBanner","isLastImage","getCurrentIndex","fullScreen","imagesLength","assetsContainer","handleShowIndex","wrapperId","imageWrapper","activeImage","getElementsByTagName","noFullScreen","hideIndex","setImages","notAvailableFullScreen","onLoad","handleImageOrientation","CrawledLocationImg","other","_classNames","actionIcons","abTestFixedCta","showFullScreenBtn","galleryWrapperClasses","galleryClasses","ImageGallery","renderFullscreenButton","renderItem","_renderItem","bind","renderCustomControls","_renderCustomControls","getOptions","additionalClass","renderRightNav","renderLeftNav","showIndex","handleShowFullScreen","onScreenChange","handleFullScreen","onBeforeSlide","handleOnSlide","disableKeyDown","disableArrow","BenefitsMobile","activeTab","wrapperName","toggle","benefits","virtualTourUrl","from","benefit","toggleDropdownTrigger","BenefitsSection","elm","openPopupWidget","ContactsSection","contactInfoEmail","contactInfoPhone","advertisementStrategiesPrices","contractDetails","contractLink","signupFormPath","settings","adaptiveHeight","arrows","dots","nextArrow","prevArrow","slidesToShow","slidesToScroll","annualRemoval","Slider","TableContent","annual","meetingRoomContracts","prices","meetingRoom","default","rate","tabInfo","tabDataBot","basic","annualRemovalPremium","meetingRoomPremium","premium","contractName","parking","parkering","Phone","Email","overflow","openThankModal","closeTimeoutMS","ThankYouIcon","customStylesMobile","GetContactModalForm","openContactModal","privacyPolicyPath","mobileOrTablet","inputClassBuilder","fieldName","alertErrorIcon","openCollapseMenu","formSent","updateSliderHeight","bodyFormData","FormData","append","post","contactUsFormPath","danishInfoFullPriceList","dropDownPrices","payPerShow","priceSection","checkRate","greenTopLine","enterprise","headerImage","headerText","headerTextLease","linksLease","linksLeaseDk","linksPayPerShow","selectLinks","headertext","shift","textTopGreenLine","closeModalForm","subhead","head","subhead_text_dk_annouce","subhead_text","ContactBlock","heading","onDealBasicPrice","in","openEnterpriceModal","FormSentModalThankyou","ContractsTop","changeState","isDesktop","slider","forceUpdate","strategy","priceTemplate","strategy_prices","obj","contractDetailsBot","formAuthToken","priceDetails","payPerAdvertisementContracts","priceDetailsPremiumPlus","premiumPlus","isDk","basicPayPerShowTable","fillPrices","tabData","basicNoCure","basicPlusPayPerShowTable","basicPlus","basicNoCurePlus","premiumPayPerShowTable","noCurePremium","enterprisePayPerShowTable","basicLeaseTable","noCureNoPayContracts","noCureBasic","enterpriceLeaseTable","noCureEnterprice","changeActiveTab","PaymentTeasers","ProvidersSection","quantity_of_leases","i18nInvalidAddressInput","i18nTooManySimilarSymbols","i18nAtLeastOneLetterIsRequired","ContactForm","isAdviceForm","currentValues","TeaserBlocks","adviceFormIsOpen","realEstateAgentFormIsOpen","thankYouModalIsOpen","modalFormIsOpen","_this$setState","getHelpFormPath","findAgentFormPath","TeaserImgLeft","SeePricesIcon","LogoDk","TeaserImgCenter","openModalForm","GetOfferIcon","TeaserImgRight","ContactUsIcon","RealEstateProvidersLogos","testimonial","authorImg","authorInfo","authorName","companyLogo","testimonials","SlickArrowLeft","currentSlide","slideCount","SlickArrowRight","_excluded2","responsive","breakpoint","TestimonialBlock","TopBanner","AdvBannerDk","CalendlyBlock","ContractsBottom","ListOffice","trustpilotWidget","trustPilotLocale","checkTurkish","Testimonials","TrustBoxContainer","topContracts","bottomContracts","bottomContractForLink","RequestCallModal","dkFullLinksList","bottomText","basic_plus","DropdownSelector","isOpened","event","tagName","wrapperRef","arrayIncludesObject","selectedData","placeholder","selectedCounterPhrase","showCount","showOnlyCountPlaceholder","charAt","itemsArray","selectAction","itemIsSelected","textTransform","dynamicData","isMobileMenu","dropdownBody","generateDropdownBody","triggerClasses","setWrapperRef","renderPlaceholder","join","energyRatings","handleEnergyRatingSelect","requestParams","selectedEnergyRatings","setRequestParams","setSelectedEnergyRatings","energy_rating","energyRatingsOptions","updatedRatings","optionSelectedIndex","prevParams","FacilitiesFilter","clearFacilities","toggleClearFacilitiesFilter","applyFacilitiesFilters","facilitiesList","selectedFacilities","setSelectedFacilities","facilitiesFilterOpen","setFacilitiesFilterOpen","currentSelectedFacilities","setCurrentSelectedFacilities","showMoreIsOpen","setShowMoreIsOpen","filterWrapper","handleApplyFilters","toggleFacilitiesFilter","currentState","handleFacilitiesOpenClick","applyAllFiltersButtonMobile","handleSelectAllFacilities","newList","filterIsOpen","selectedFacilitiesCount","selectedFacilitiesNames","listItem","dynamicList","currentFacilities","showShowMoreLink","valueIndex","handleFacilitiesCheckboxClick","scrollIntoView","_ref$advertismentData","advertismentData","image_text","image_text_bottom","text_on_button","mapIsOpen","rootPath","signupTeaserPath","siteLogoPath","handleListItemClick","DescriptionLine","showMorePhotos","showEnergyRatingTooltip","showPersonsTooltip","abTestParam","stopPropagation","tooltipRef","tooltipShowState","hide","show","hoveredLocationId","setHoveredLocationId","infoSent","userCountryPhoneCode","address_line1","address_title","exempted_energy","is_increased_in_listview","postal_code","postal_name","presenter","price_decrease_percentage","provider_logo","show_full_address","show_price_decrease_label","street_name","suitable_for_kinds","monthly_rent_price","all_photos","first_3_photos","premiumOnlyDK","locationKinds","suitableForItem","locationKindsLength","energyRatingMark","toLowerCase","energyRatingLabel","persons_label","persons_tooltip","formatted_monthly_rent_price","monthly_rent_label","showInfoBadges","getInfoFormGrid","sliderClasses","crawled","styles","itemStyle","iconsBlockStyle","justifyContent","carouselStyle","disableScroll","onMouseLeave","handleMouseLeave","hideCrawledBottom","handleSlideChange","handleTooltip","EnergyRatingRef","afterHide","color","marginTop","area_label","PersonsTooltipRef","display","promotedLInk","provider_url","GridViewSearchAgent","GridViewAdvertisment","keywords","locationsByPostalDistricts","mapOptions","advertisement","NearbyLocationsBanner","grid","search_agent","checkDk","searchAgentBanner","text_above_button","advertismentClass","mainWrap","additionalFormPadding","offset","dataProtectionIsOpen","dataLayer","eventCategory","eventAction","indexing_prohibited","provider_partner","descriptionLines","suitableForList","kindsCountToShow","addressOrStreet","getInfoForm","descriptionClasses","locationClasses","descriptionWrapperClasses","metricsWrapperClasses","rel","r","descriptionStyle","showCopyright","promotedLink","ListViewSearchAgent","ListViewAdvertisment","ListViewItemsList","dynRemarketingId","trackDynamicRemarketing","locationsIds","dynRemData","send_to","listing_id","listing_pagetype","gtag","InfoWrapper","forwardRef","activePlaceId","setActivePlaceId","markerFullInfo","setMarkerFullInfo","windowPosition","setWindowPosition","markersInfo","setMarkersInfo","pos","locationsParamsIds","idsList","sameMarker","every","marker","close","onInfoToggle","useImperativeHandle","InfoWindow","onUnmount","MarkersList","markers","MarkerContent","markerData","clusterer","handleActiveMarker","noClustererRedraw","hovered","setHovered","markerRef","lat","lng","Marker","onMouseOver","onMouseOut","metadata","pinHover","pin","scaledSize","anchor","x","y","boundsTrigger","closeInfoWindow","markersArray","activeCluster","setActiveCluster","infoWindow","clusterWrapper","highlightCluster","clusterIcon","div","currentCluster","clusters","markerClusterer","getClusters","cluster","getMarkers","markersData","lon","MarkerClusterer","averageCenter","enableRetinaIcons","maxZoom","gridSize","clusterClass","MapMarker","showFullAddress","showToolTip","setShowToolTip","imageUrl","primary_photo_2x","area_icon","priceLabel","closedMonthName","updatedTranslation","parsedLocImageStyle","imageStyle","CrawledBadge","RentedOutBadge","month","AnonymousBadge","Tooltip","tooltipContent","tooltipSuitableForOnly","_markers$","boundsTimer","containerStyle","getLocationsByCoords","mapLoaded","loaded","setBoundsTrigger","currentMarkersArray","setCurrentMarkersArray","googleMap","setGoogleMap","mapDragged","setMapDragged","mapZoomed","setMapZoomed","mapBounds","setMapBounds","mapMarkersUrl","updateTrigger","boundsMap","useCallback","requestBuilder","currentMarkers","currentMap","clearTimeout","google","bounds","maps","LatLngBounds","extend","LatLng","getNorthEast","equals","getSouthWest","extendPoint1","extendPoint2","fitBounds","newMarkers","_marker$location","LoadScript","googleMapsApiKey","GoogleMap","mapContainerStyle","mapContainerClassName","zoom","onDragStart","onIdle","changeCoords","googleMapBounds","getBounds","ne","sw","viewport_string","searchData","postal_districts","onDragEnd","onZoomChanged","gestureHandling","mapStyles","scrollwheel","mapTypeControl","fullscreenControl","panControl","streetViewControl","MapWrapper","ProviderLogo","providerLogo","ProviderPartner","MapIcon","_ref3","toggleMap","parent","noticeWrapper","parentElement","_ref4","nearbyLocationsBanner","LokalebasenLogo","MatchofficeLogo","SuitableForFilter","clearSuitableFor","toggleClearSuitableForFilter","applySuitableForFilters","selectedSuitableFor","setSelectedSuitableFor","suitableForStructuredTypes","setFilterIsOpen","currentSelectedSuitableFor","setCurrentSelectedSuitableFor","showSuitableFor","setShowSuitableFor","currentSuitableForList","setCurrentSuitableForList","showSuitableForFunctionality","handleSuitableForList","newSuitableForList","sortedSuitableForByKinds","suitableForKind","sort","a","b","localeCompare","toggleFilter","handleFilterOpenClick","newData","suitable_for","showFilter","selectedSuitableForLabels","handleFilterCheckboxClick","MainInfoColumns","LogoMO","accessor","Cell","cell","_cell$row$original","row","EconomyColumns","monthly_price","price_per_hour","prices_per_m2","price_per_year","electricity_per_m2_per_year","heating_per_m2_per_year","operational_per_m2_per_year","water_per_m2_per_year","prices_per_year","annual_electricity_cost","annual_heating_cost","annual_operational_cost","annual_rent","annual_total_cost","annual_water_cost","FacilitiesColumns","sortedFacilities","facilitiesLength","economyIsOpen","setEconomyIsOpen","facilitiesIsOpen","setFacilitiesIsOpen","location_id","showFacilities","some","mainInfoColumns","economyColumns","facilitiesColumns","Table","columns","marginBottom","alignColumns","extraClass","_useTable","useTable","getTableProps","getTableBodyProps","headerGroups","prepareRow","rows","locationsLength","MaUTable","TableBody","headerGroup","headers","column","headerIndex","emptyCount","render","cells","cellIsEmpty","toggleHidden","getCellProps","interval","createComparisonPdfPath","locationsKind","queryString","search","setLocations","setSelectedLocationsIds","loading","setLoading","setDeleteButtonsOpen","infoFormIsActive","setInfoFormIsActive","setShowServerErrorMessage","setSubmitSuccess","setIsFormLoading","pdfModalIsOpen","setPdfModalIsOpen","pdfUrl","setPdfUrl","pdfReady","setPdfReady","comparisonLeases","newComparableLocations","handleComparableLocationsCounter","_location$data","getStatus","status","clearInterval","newLocations","comparableIds","pdf_url","status_url","setInterval","ComparisonTable","ModalWindow","FileLoader","download","ForgotPassword","submitSuccessMessage","emailServerError","forgotPasswordUrl","success","statusText","ForgotPasswordForm","handleFormSubmit","handleError","ForgotPasswordFormWrapper","fieldError","errorValidator","_SignUp$getClientInfo","SignUp","LoginFormWrapper","passwordVisibility","errorsOnSubmit","forgotPasswordLink","createAccountLink","loginError","password","togglePasswordVisibility","remember_me","_SignUp$getI18nAttrNa","passwordI18n","LoginForm","LoginPage","loginPath","authenticity_token","login","redirect_url","siteName","aboutUsLink","contactPhone","site_name","create_account_link","handleLoginSubmit","mapApi","MainMap","compose","withProps","googleMapURL","loadingElement","containerElement","mapElement","withScriptjs","withGoogleMap","MainMapWrapper","onMarkerClustererClick","showLoader","viewportString","turnOnDrag","isMapReady","addListener","get","getCenter","set","trigger","onlyAnonymusocation","showSearchButton","defaultOptions","defaultCenter","changeDragAndDropFunction","coords","markerInfoLocation","openByClick","MarkerWrapper","onMarkerInfoToggle","areaLabel","postalCode","features","features_presence","areaIcon","minimumClusterSize","showTooltip","hideTooltip","projection","getProjection","topRight","fromLatLngToPoint","bottomLeft","scale","pow","getZoom","point","windowHeight","infoWindowHeight","infoWindowWidth","centerPoint","getPixelCoords","markerPoint","offsetCoords","offsetTop","offsetRight","offsetBottom","offsetLeft","fitTop","fitBottom","fitLeft","fitRight","fitsLeftRight","fitsTopBottom","fitCenterTop","fitCenterBottom","fitCenterLeft","fitCenterRight","recalculateOffset","quadrant","topDistance","bottomDistance","Size","setInfoWindowOffset","pixelOffset","setMarkerOffset","noRedraw","hoverPin","disableAutoPan","colsY","rowX","ParkingMarker","element","markerOpenedId","updateMarkerOpenedId","priceFrom","priceTo","_this$props$marker","monthly_rent_per_space_amount_from","monthly_rent_per_space_amount_to","primary_photo_url","parkingPin","onCloseClick","renderPrice","marker_id","parkingLots","_this$props$coordinat","clickHandler","getParkingLotsNear","parking_lots","_this$props2$coordina","coordinatesObj","BaseMap","containerClass","isFullscreenMobile","isGalleryMobileComponent","handleFullscreenMobile","_useJsApiLoader","useJsApiLoader","isLoaded","loadError","center","mapPin","DetailMap","_this$props$coordinat2","VirtualTourModal","toggleModal","OrderConfirmationContainer","virtualTourIsOpen","downloadPdfUrl","statusPdfFile","loadingProspectus","serverError","generateButton","createLocationPatternedPropsectus","checkPdf","locationProspectus","axios","method","statusUrl","pdfTimer","pageTitle","pageTextHint","pageText","prospectusTitle","userEmail","ourEmail","locationImage","districtName","locationType","linkToListView","linkFromEmail","pageNotFound","pageTitleFromEmail","generateProspectusTitle","checkSiteKey","placeHolderImage","generateProspectus","toggleVirtualTour","GoogleReviewsWidget","apiKey","nextProps","LOCATION_INFO_FIELDS","gql","_templateObject","_taggedTemplateLiteral","InteriorDesignForm","js","q","d","gi","ce","gt","createElement","insertBefore","errorMessage","recoveryPasswordUrl","token","URLSearchParams","loginUrl","RecoveryPasswordForm","RecoveryPasswordFormWrapper","enableReinitialize","passwordValidation","resetForm","InformationUnavailablePage","similarLocationsList","InformationUnavailable","SpecialOffer","NewBadge","_ref5","readMoreLink","DisposalBadge","_ref6","disposalBadge","percents","viewBox","filledPercents","RADIAN","PI","PieChart","Pie","dataKey","cx","cy","startAngle","endAngle","outerRadius","fill","paddingAngle","midAngle","innerRadius","payload","radius","cos","sin","textAnchor","dominantBaseline","fontWeight","fontSize","stroke","entry","uncollapsed","collapsibleSection","delimiter","defaultDelimiter","allIds","prop","hasOwnProperty","showLimitExceedMessage","hideLimitExceedMessage","comparableLimitExceededError","showInfoPopup","newComparablesList","bounceFunction","comparableCount","locationKindPresent","locationIsInTheList","limitExceededError","updateComparables","bounce","descriptionPopup","typingTimer","kindPresent","iconWrapper","policyIsAccepted","cookie","handleIsActive","_this$state3","_this$props3","indentation","notificationWrapperId","tooltipText","limitExceedMessage","notificationWrapper","Notification","visible","customClass","closeDescriptionPopup","DropDownContainer","selectedTooltip","placeholderClasses","actionIconClasses","bodyClasses","DropdownSelectWithSearch","selectedOption","dropdownIsOpen","toggleDropdown","initialValue","initialValueId","defaultValue","inputFieldClass","indicatorsContainer","provided","alignItems","cursor","control","minHeight","maxHeight","margin","input","paddingBottom","marginLeft","menu","paddingTop","fontFamily","menuList","Select","menuIsOpen","closeMenuOnSelect","theme","colors","primary25","primary","isClearable","isSearchable","GetInfoFormModalWrapper","locationsListOpen","infoFormWrapper","targetTopCoords","contentTopCoords","abs","handleLocationsListState","_React$createElement","dataProtectionBodyClasses","getInfoClasses","locationsList","openLocationsList","openInfoModal","toggleDataProtection","setCurrentMap","rating","setRating","reviewsCount","setReviewsCount","showWidget","setShowWidget","libraries","initMap","getRating","Map","request","placeId","fields","places","PlacesService","getDetails","PlacesServiceStatus","OK","user_ratings_total","starsList","i","starType","star","renderStarIcons","hideBottomLine","SpecialOfferBadge","isShowingInfo","modalTitle","modalContent","parsed","handleClickOutsideInfoModal","modalBottomPos","infoModal","noticeWrapperContainsTarget","infoLinkWrapperContainsTarget","infoLinkWrapper","closeInfoBtnContainsTarget","closeButton","toggleInfoModal","_this$state$content$n","modal","btn","PulsingLoader","favouriteNotificationWrapperId","random","split","comparableNotificationWrapperId","favouriteNotificationWrapper","comparableNotificationWrapper","isFavouriteNotificationWrapper","isComparableNotificationWrapper","isFavouriteIconWrapper","favouriteIconWrapper","isComparableIconWrapper","comparableIconWrapper","isTooltip","showDate","context_info","infoWrapperHeight","handlePersonsTooltip","NoLinearRangeSlider","minInput","maxInput","employeeMin","employeeMax","max","activeInput","maxInputIsFocused","textValue","percent","valueChangeFunc","blur","handleValueChange","valueType","employeeCalculation","handleInputClick","targetValue","inputRange","range","handleSelectorChange","maxValue","minValue","minLimit","allowBiggerValue","currentValue","maxLimit","handle","_this$props4","filterType","Number","activeInputField","focus","_this$props5","dimension","showMaxMoreIcon","localizedNumberFormatter","Intl","NumberFormat","format","selectedMaxValue","selectedMaxEmployeeValue","Nouislider","connect","start","onSlide","handleChangeComplete","minChange","onKeyPress","handleKeyPress","onFocus","handleFocus","inputMode","maxChange","handleMaxInputFocus","RequestFormWrapper","pendingRequest","RequestCallForm","modalWasShown","mobileModalIsOpen","requestSuccess","showModal","getContactFormOpen","hideModal","showMobileModal","isIPad13","backdropFilter","kindsOptions","currency_id","order_id","setValues","timeRangeOptional","setTimeRangeOptional","calendarIsOpen","setCalendarIsOpen","setSuccess","searchOfferModalShown","newDate","setHours","getUTCDate","getUTCMonth","getUTCFullYear","requiredValuesFilled","employee_amount","workplace_type","monthly_budget_min","monthly_budget_max","occupied_at_type","occupied_at_date","newValues","prevValues","setTimeRange","isDateOptional","toLocaleDateString","customFormattedDate","BasicDropdown","Input","pattern","formatted","DateTimePicker","disableClock","minDate","onCalendarClose","onCalendarOpen","date","placeOrderDetails","EllipsisLoader","workplaces","setWorkplaces","workplaceClass","setWorkplaceClass","small_lounge","big_lounge","small_meeting","big_meeting","additionalSpaces","setAdditionalSpaces","spacesConsiderations","setSpacesConsiderations","metrics","workplace_class_economy","workplace_class_comfort","workplace_class_business","conference","reception","break","mail","workplaceClassOptions","chosenCategoriesIds","spaceKind","areaSummary","result","fullArea","halls","handleSpaceConsideration","RadioButtons","spaceName","persist","spaceType","Checkbox","SpaceCalculatorModal","setIsOpen","TypeformButton","pricesTableSignUpModal","category","ContinueRegistrationModal","tooltipVatIsOpen","tooltipWrapper","emailAlreadyExist","countriesSelectOptions","currentCountryCode","internalError","toggleTermsModal","countriesOptions","vat_id","handleTooltipClick","ean","line_1","city","country_alpha2","terms_of_service","postal_codeI18n","contract_id","ContinueRegistrationForm","activeContract","contract","vatIdValidation","eanValidation","addressValidation","cityValidation","postalCodeError","postalCodes","requiredFieldError","contract_name","active_contract_section","activeContractSection","signUpFormUrl","basicPrice","currentCurrency","premiumPrice","contractDetailsOnDeal","contractDetailsOnDealBasic","contractDetailsOnDealPremium","table","persentage","modalId","modalWrapper","modalClassList","initialBodyWidth","clientWidth","PaymentModel","paymentModel","activePolicyGroup","activePolicyPlan","targetGroup","targetGroupRadio","targetPlan","handleContractSelect","optionListData","activeClass","dataName","handlePlanRadioSelect","promotion","_this$props$activeCon","invoicingStrategy","policyGroup","policyPlan","m","parkeringCheck","advertisementPrices","providerDkContractOption","providerContractOption","providerContractOptionMeetingRoom","providerContractOptionParkering","handleMainGroupRadioSelect","renderOptionList","SignUpFormWrapper","emailValueOnError","hashedContracts","setActiveContractValues","handleEmailAlreadyExistError","cookiesActiveGroup","cookiesContract","company_name","handleEmailError","phone_number","SignUpForm","companyValidation","nameValidation","emailValidation","phoneValidation","preSubmitHandler","activeContractId","internalErrorFirstStep","internalErrorSecondStep","registrationModalIsOpen","activeModal","basicPriceInfo","noCureInfo","coworkingInfo","termOfService","basicParking","providerData","withOptions","contracts","invoicing_strategy","password_confirmation","primary_contact_attributes","invoicing_policy_attributes","address_attributes","withCredentials","redirect_path","uuidv4","geocoderCountryCode","_this$state$activeMod","activeContractData","advertisementStrategiesPricesPresent","parkingPrice","meetingRoomPrice","meetingRoomPremiumPrice","closeRegistrationModal","BasicPriceContent","NoCureInfoContent","MeetingRoomsInfoContent","BasicParkeringContent","TermsOfServiceContent","contractCoworkingYearly","contractCoworkingYearlyPremium","PropTypes","NumberFormatter","seperator","number","seperatedNumber","String","floatSeperator","handleResult","renderSimilarLocations","endPoint","fetchSimilarLocations","responseJSON","first_spotlight_value_formatted","numberFormatter","numberWithDelimiter","first_spotlight_value","second_spotlight_value_formatted","second_spotlight_value","similarLocationsParagraph","wrapperMargin","SocialMedia","w","h","screen","shareUrl","sharePopUp","SocialIcons","facebook","twitter","linkedin","LanguageSwitcher","switchState","availableLocalesLinks","currentLocaleCountry","Flag","basePath","pngSize","countryCode","localeName","browserName","findPos","curtop","offsetParent","numbersLandlords","numbersMapped","storageKey","clientInfo","storageObj","clientUpdatedInfo","updatedClientObj","clientInfoString","eanI18n","vat_idI18n","line_1I18n","countryI18n","cityI18n","locationViewedKey","locationOrderedKey","locationShowcaseKey","locationContactKey","itemId","postLocationShown","populateStorageItems","updateViewedItem","orderLocation","todayDate","oneWeekAgoDate","getTime","locationObj","viewedLocationStr","orderedLocationStr"],"sourceRoot":""}