{"version":3,"file":"js/index.b120018a.js","mappings":"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AAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,W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","sources":["webpack://propfinder/./src/components/helper/Tab.vue?93f8","webpack://propfinder/./src/components/Header/HeaderComponent.module.scss","webpack://propfinder/./src/components/PanelSystem/PanelSystem.module.scss?b6cf","webpack://propfinder/./src/components/PanelSystem/PanelSystem.module.scss?73c0","webpack://propfinder/./src/components/PanelSystem/PanelSystem.module.scss","webpack://propfinder/./src/components/PropertyDetailsPanel/Demography/DemographyPanel.module.scss","webpack://propfinder/./src/components/Accordion/Accordion.vue?1b51","webpack://propfinder/./src/components/EmptyState/EmptyState.vue?5e4a","webpack://propfinder/./src/components/Graphs/NumberText.vue?ea0b","webpack://propfinder/./src/components/Graphs/VerticalBarChart.vue?df24","webpack://propfinder/./src/components/Onboarding/Onboarding.vue?b6d3","webpack://propfinder/./src/components/PanelSystem/PanelBackButton.vue?e155","webpack://propfinder/./src/components/PanelSystem/PanelColumn.vue?b1f7","webpack://propfinder/./src/components/PanelSystem/PanelHr.vue?1a7a","webpack://propfinder/./src/components/PanelSystem/PanelRow.vue?66d4","webpack://propfinder/./src/components/PanelSystem/PanelSpinner.vue?0e40","webpack://propfinder/./src/components/PanelSystem/PanelTitle.vue?bdec","webpack://propfinder/./src/components/Projects/CreateProject.vue?99a7","webpack://propfinder/./src/components/Projects/ProjectPicker.vue?0d72","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/DownloadLink.vue?83ae","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/List.vue?4c6f","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/ListCollapsibleBlock.vue?d266","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/ListItem.vue?9409","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/BuildingsList.vue?8d61","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/DocumentsList.vue?cdf0","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/OwnerList.vue?c9fe","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/BuildingPanel.vue?3793","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/HeritagePanel.vue?0895","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/PropertyDetails.vue?349f","webpack://propfinder/./src/components/PropertyDetailsPanel/SelectedProperties/SelectedProperties.vue?417d","webpack://propfinder/./src/components/PropertyDetailsPanel/SummaryComponent/Summary.vue?f9a0","webpack://propfinder/./src/components/PropertyDetailsPanel/SummaryComponent/SummaryPropertiesEmptyState.vue?a5c9","webpack://propfinder/./src/components/ValueEstimate/ValueEstimate.vue?c618","webpack://propfinder/./src/components/helper/DataLoader.vue?499b","webpack://propfinder/./src/components/helper/Popover.vue?cf4a","webpack://propfinder/./src/components/helper/Tabs.vue?3bd2","webpack://propfinder/./src/views/NotFoundPage/NotFoundPage.vue?e273","webpack://propfinder/./src/composables/dataTestId.ts","webpack://propfinder/./src/data/Demography.ts","webpack://propfinder/./src/data/wrapper/Address.ts","webpack://propfinder/./src/data/wrapper/Building.ts","webpack://propfinder/./src/data/wrapper/CadastreIdent.ts","webpack://propfinder/./src/data/wrapper/Person.ts","webpack://propfinder/./src/data/wrapper/Ownership.ts","webpack://propfinder/./src/data/wrapper/Cadastre.ts","webpack://propfinder/./src/data/wrapper/Property.ts","webpack://propfinder/./src/components/Onboarding/Onboarding.vue?00de","webpack://propfinder/./src/components/Onboarding/Onboarding.vue","webpack://propfinder/./src/App.vue?2a5e","webpack://propfinder/./src/App.vue","webpack://propfinder/./src/main.ts","webpack://propfinder/./src/components/PropertyDetailsPanel/SummaryComponent/Summary.vue?d6a8","webpack://propfinder/./src/components/PanelSystem/PanelRow.vue?a919","webpack://propfinder/./src/components/PanelSystem/PanelRow.vue?5061","webpack://propfinder/./src/components/PanelSystem/PanelRow.vue","webpack://propfinder/./src/components/PanelSystem/PanelColumn.vue?73ae","webpack://propfinder/./src/components/PanelSystem/PanelColumn.vue?32fc","webpack://propfinder/./src/components/PanelSystem/PanelColumn.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/SelectedProperties/SelectedProperties.vue?7c15","webpack://propfinder/./src/components/PropertyDetailsPanel/SelectedProperties/SelectedProperties.vue?ca0a","webpack://propfinder/./src/components/PropertyDetailsPanel/SelectedProperties/SelectedProperties.vue","webpack://propfinder/./src/components/PanelSystem/PanelHr.vue?0576","webpack://propfinder/./src/components/PanelSystem/PanelHr.vue?2b11","webpack://propfinder/./src/components/PanelSystem/PanelHr.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/SummaryComponent/SummaryPropertiesEmptyState.vue?c61f","webpack://propfinder/./src/components/PropertyDetailsPanel/SummaryComponent/SummaryPropertiesEmptyState.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/SummaryComponent/Summary.vue?fd30","webpack://propfinder/./src/components/PropertyDetailsPanel/SummaryComponent/Summary.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/PropertyDetails.vue?a166","webpack://propfinder/./src/components/PanelSystem/PanelSpinner.vue?6198","webpack://propfinder/./src/components/PanelSystem/PanelSpinner.vue?059f","webpack://propfinder/./src/components/PanelSystem/PanelSpinner.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/BuildingsList.vue?217c","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/ListItem.vue?2816","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/ListItem.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/BuildingListItem.vue?2cbe","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/BuildingListItem.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/ListCollapsibleBlock.vue?60ca","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/ListCollapsibleBlock.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/List.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/List.vue?db98","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/BuildingsList.vue?62e6","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/BuildingsList.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/OwnerList.vue?b3d1","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/OwnerList.vue?eeae","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/OwnerList.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/HeritagesList.vue?53fa","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/HeritagesList.vue?e2fd","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/HeritagesList.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/SectionList.vue?cf96","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/SectionList.vue?f6aa","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/SectionList.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/SoilContaminationList.vue?a32c","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/SoilContaminationList.vue?d0df","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/SoilContaminationList.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/PlanList.vue?0639","webpack://propfinder/./src/data/Geonorge.ts","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/PlanList.vue?3f20","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/PlanList.vue","webpack://propfinder/./src/components/ValueEstimate/ValueEstimate.vue?86b9","webpack://propfinder/./src/assets/img/HjemlaLogoSVG.svg","webpack://propfinder/./src/assets/img/HjemlaLogoSVG.svg?6c71","webpack://propfinder/./src/components/ValueEstimate/ValueEstimate.vue?d1f4","webpack://propfinder/./src/components/ValueEstimate/ValueEstimate.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/DocumentsList.vue?cdba","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/DownloadLink.vue?2a5e","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/DownloadLink.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/DocumentsList.vue?947b","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/DocumentsList.vue","webpack://propfinder/./src/components/PanelSystem/PanelTitle.vue?681d","webpack://propfinder/./src/components/PanelSystem/PanelTitle.vue?e4d5","webpack://propfinder/./src/components/PanelSystem/PanelTitle.vue","webpack://propfinder/./src/components/PanelSystem/PanelGroup.vue?e788","webpack://propfinder/./src/components/PanelSystem/PanelGroup.vue?d4be","webpack://propfinder/./src/components/PanelSystem/PanelGroup.vue","webpack://propfinder/./src/components/PanelSystem/PanelYesNoLabel.vue?72ad","webpack://propfinder/./src/components/PanelSystem/PanelYesNoLabel.vue?38e2","webpack://propfinder/./src/components/PanelSystem/PanelYesNoLabel.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/PropertyDetails.vue?4d14","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/PropertyDetails.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/Demography/DemographyExtentPanel.vue?b108","webpack://propfinder/./src/components/PropertyDetailsPanel/Demography/DemographyExtentPanel.vue?8971","webpack://propfinder/./src/components/PropertyDetailsPanel/Demography/DemographyExtentPanel.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/HeritagePanel.vue?5e52","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/HeritagePanel.vue?224a","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/HeritagePanel.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/SoilContaminationPanel.vue?5cd9","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/SoilContaminationPanel.vue?8bfe","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/SoilContaminationPanel.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/BuildingPanel.vue?b007","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/BuildingPanel.vue?46a4","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/BuildingPanel.vue","webpack://propfinder/./src/views/NotFoundPage/NotFoundPage.vue?1326","webpack://propfinder/./src/views/NotFoundPage/NotFoundPage.vue?b04e","webpack://propfinder/./src/views/NotFoundPage/NotFoundPage.vue","webpack://propfinder/./src/router/index.ts","webpack://propfinder/./src/tours/intro.tour.ts","webpack://propfinder/./src/tours/propertyPanel.tour.ts","webpack://propfinder/./src/tours/tools3d.tour.ts","webpack://propfinder/./src/tours/default.tour.ts","webpack://propfinder/./src/tours/reportGenerator.tour.ts","webpack://propfinder/./src/tours/mapFeatures.ts","webpack://propfinder/./src/tours/index.ts","webpack://propfinder/./src/store/onboarding.ts","webpack://propfinder/./src/symbols.ts","webpack://propfinder/./src/utilities/TextUtil.ts","webpack://propfinder/./src/utilities/iotClient.ts","webpack://propfinder/./src/assets/img/ProjectSaveFirstPropertyEmptyState.svg","webpack://propfinder/./src/assets/img/ProjectSaveFirstPropertyEmptyState.svg?b1a7","webpack://propfinder/./src/components/Accordion/Accordion.vue?1144","webpack://propfinder/./src/components/Accordion/Accordion.vue?6ce0","webpack://propfinder/./src/components/Accordion/Accordion.vue","webpack://propfinder/./src/components/EmptyState/EmptyState.vue?9a08","webpack://propfinder/./src/components/EmptyState/EmptyState.vue?de49","webpack://propfinder/./src/components/EmptyState/EmptyState.vue","webpack://propfinder/./src/components/Header/HeaderComponent.vue?0217","webpack://propfinder/./src/components/Projects/ProjectPicker.vue?1285","webpack://propfinder/./src/components/Projects/ProjectPicker.vue","webpack://propfinder/./src/components/Header/HeaderComponent.vue?d8aa","webpack://propfinder/./src/components/Header/HeaderComponent.vue","webpack://propfinder/./src/components/PanelSystem/PanelBackButton.vue?9253","webpack://propfinder/./src/components/PanelSystem/PanelBackButton.vue?e323","webpack://propfinder/./src/components/PanelSystem/PanelBackButton.vue","webpack://propfinder/./src/components/Projects/CreateProject.vue?863f","webpack://propfinder/./src/components/Projects/CreateProject.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/Demography/Demography.vue?2daf","webpack://propfinder/./src/components/Graphs/VerticalBarChart.vue?db2d","webpack://propfinder/./src/components/Graphs/VerticalBarChart.vue?b90e","webpack://propfinder/./src/components/Graphs/VerticalBarChart.vue","webpack://propfinder/./src/components/Graphs/NumberText.vue?8fae","webpack://propfinder/./src/components/Graphs/NumberText.vue?0501","webpack://propfinder/./src/components/Graphs/NumberText.vue","webpack://propfinder/./src/components/PropertyDetailsPanel/Demography/Demography.vue?51dc","webpack://propfinder/./src/components/PropertyDetailsPanel/Demography/Demography.vue","webpack://propfinder/./src/components/SEO/SEO.vue?699d","webpack://propfinder/./src/components/SEO/SEO.vue?be48","webpack://propfinder/./src/components/SEO/SEO.vue","webpack://propfinder/./src/components/helper/DataLoader.vue?e2d8","webpack://propfinder/./src/components/helper/DataLoader.vue?30ca","webpack://propfinder/./src/components/helper/DataLoader.vue","webpack://propfinder/./src/components/helper/Popover.vue?0ab7","webpack://propfinder/./src/components/helper/Popover.vue?00dc","webpack://propfinder/./src/components/helper/Popover.vue","webpack://propfinder/./src/components/helper/Tab.vue?7a01","webpack://propfinder/./src/components/helper/Tab.vue","webpack://propfinder/./src/components/helper/Tabs.vue?68c3","webpack://propfinder/./src/components/helper/Tabs.vue","webpack://propfinder/./src/components/helper/Tab.vue?76a3","webpack://propfinder/./src/components/Header/HeaderComponent.module.scss?aa3a","webpack://propfinder/./src/components/PanelSystem/PanelSystem.module.scss?6be6","webpack://propfinder/./src/components/PanelSystem/PanelSystem.module.scss?4544","webpack://propfinder/./src/components/PanelSystem/PanelSystem.module.scss?a0d4","webpack://propfinder/./src/components/PropertyDetailsPanel/Demography/DemographyPanel.module.scss?0456","webpack://propfinder/./src/components/Accordion/Accordion.vue?5901","webpack://propfinder/./src/components/EmptyState/EmptyState.vue?6c23","webpack://propfinder/./src/components/Graphs/NumberText.vue?703f","webpack://propfinder/./src/components/Graphs/VerticalBarChart.vue?0859","webpack://propfinder/./src/components/Onboarding/Onboarding.vue?9c53","webpack://propfinder/./src/components/PanelSystem/PanelBackButton.vue?8e86","webpack://propfinder/./src/components/PanelSystem/PanelColumn.vue?09a9","webpack://propfinder/./src/components/PanelSystem/PanelHr.vue?768e","webpack://propfinder/./src/components/PanelSystem/PanelRow.vue?13d7","webpack://propfinder/./src/components/PanelSystem/PanelSpinner.vue?dc03","webpack://propfinder/./src/components/PanelSystem/PanelTitle.vue?413a","webpack://propfinder/./src/components/Projects/CreateProject.vue?61c7","webpack://propfinder/./src/components/Projects/ProjectPicker.vue?e388","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/DownloadLink.vue?fb2a","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/List.vue?1781","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/ListCollapsibleBlock.vue?c217","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Blocks/ListItem.vue?16b3","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/BuildingsList.vue?8eb9","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/DocumentsList.vue?0efa","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/OwnerList.vue?1bca","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/BuildingPanel.vue?81d4","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/Panels/HeritagePanel.vue?ad4f","webpack://propfinder/./src/components/PropertyDetailsPanel/PropertyDetails/PropertyDetails.vue?a7ef","webpack://propfinder/./src/components/PropertyDetailsPanel/SelectedProperties/SelectedProperties.vue?9423","webpack://propfinder/./src/components/PropertyDetailsPanel/SummaryComponent/Summary.vue?b956","webpack://propfinder/./src/components/PropertyDetailsPanel/SummaryComponent/SummaryPropertiesEmptyState.vue?78b2","webpack://propfinder/./src/components/ValueEstimate/ValueEstimate.vue?77f3","webpack://propfinder/./src/components/helper/DataLoader.vue?982d","webpack://propfinder/./src/components/helper/Popover.vue?3215","webpack://propfinder/./src/components/helper/Tabs.vue?3fab","webpack://propfinder/./src/views/NotFoundPage/NotFoundPage.vue?22ab","webpack://propfinder/webpack/bootstrap","webpack://propfinder/webpack/runtime/amd options","webpack://propfinder/webpack/runtime/chunk loaded","webpack://propfinder/webpack/runtime/compat get default export","webpack://propfinder/webpack/runtime/create fake namespace object","webpack://propfinder/webpack/runtime/define property getters","webpack://propfinder/webpack/runtime/ensure chunk","webpack://propfinder/webpack/runtime/get javascript chunk filename","webpack://propfinder/webpack/runtime/global","webpack://propfinder/webpack/runtime/hasOwnProperty shorthand","webpack://propfinder/webpack/runtime/load script","webpack://propfinder/webpack/runtime/make namespace object","webpack://propfinder/webpack/runtime/node module decorator","webpack://propfinder/webpack/runtime/runtimeId","webpack://propfinder/webpack/runtime/publicPath","webpack://propfinder/webpack/runtime/jsonp chunk loading","webpack://propfinder/webpack/startup"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".tab{margin:0;padding:20px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".HeaderComponent-module_container_IufL6{background:#fff;position:absolute;z-index:1;height:3.5625rem;width:100%;overflow:hidden;box-shadow:0 .0625rem 0 0 hsla(0,0%,93%,.5);top:0;transition:top .35s ease-in}.HeaderComponent-module_dark_KhCcN{background-color:#360076}.HeaderComponent-module_dark_KhCcN .HeaderComponent-module_headerUsername_K4DX7{color:#fff}@media(max-width:1200px){.HeaderComponent-module_dark_KhCcN .HeaderComponent-module_headerUsername_K4DX7{display:none}}.HeaderComponent-module_dark_KhCcN .HeaderComponent-module_userIcon_BRUAC{color:#bebebe}.HeaderComponent-module_fullscreen_nkDGI{top:-3.6875rem}.HeaderComponent-module_content_ChLg1{margin-left:4.625rem;display:flex}.HeaderComponent-module_headerText_ZSoXC{line-height:3.75rem;color:#8237dc;font-size:1.75rem;font-weight:500;text-align:left;padding-left:.9375rem;margin-right:auto}.HeaderComponent-module_headerText_ZSoXC img{width:50%;max-width:10rem}.HeaderComponent-module_version_O52LI{color:#bebebe;margin-left:1rem;font-size:1rem}.HeaderComponent-module_headerUsername_K4DX7{vertical-align:middle;padding:0 .5rem;font-size:.875rem;font-weight:500;color:#360076;text-decoration:underline}.HeaderComponent-module_headerUsername_K4DX7,.HeaderComponent-module_menu_mVotN{display:inline-block;margin:0}.HeaderComponent-module_menu_mVotN{text-align:right;list-style:none;padding:0}.HeaderComponent-module_menu_mVotN li{margin-left:.5rem}.HeaderComponent-module_help_XBi_y,.HeaderComponent-module_menu_mVotN li{display:inline-block}.HeaderComponent-module_help_XBi_y{padding-right:.5rem}.HeaderComponent-module_helpTitle_qkQkx{font-size:.875rem;text-transform:uppercase;line-height:3.75rem}.HeaderComponent-module_helpIcon_kTdmV{cursor:pointer;font-weight:400;color:#8237dc;font-size:1.625rem;height:3.5625rem}.HeaderComponent-module_user_Jggue{display:inline-block;padding-right:1.625rem}.HeaderComponent-module_userIcon_BRUAC{color:#8237dc;font-size:1.625rem;height:3.5625rem}.HeaderComponent-module_user_Jggue:hover,.HeaderComponent-module_userIcon_BRUAC{cursor:pointer}.HeaderComponent-module_district_Dzt9Q{display:inline-block;padding:0 10px;line-height:10px;color:#757575;font-weight:400;transition:opacity 2s ease-in}.HeaderComponent-module_districtSeparator_bKtiZ{transform:scale(.7);padding-top:5px}.HeaderComponent-module_districtName_qmD6e{padding:0 10px}.HeaderComponent-module_popover_EvNXq{box-shadow:0 0 10px 5px rgba(0,0,0,.2);padding:0;margin:0;border:none!important;z-index:9998}.HeaderComponent-module_popoverList_jpVrC{padding:0;margin:0!important;width:100%;list-style:none;text-align:left}.HeaderComponent-module_popoverList_jpVrC li{position:relative;margin:0;padding:.6rem 1.8rem;cursor:pointer}.HeaderComponent-module_popoverList_jpVrC li:not(:last-child){border-bottom:1px solid #afafaf}.HeaderComponent-module_popoverList_jpVrC li div{color:#682cb0;text-decoration:underline}.HeaderComponent-module_popoverList_jpVrC li div:hover{color:#8237dc}.HeaderComponent-module_popoverList_jpVrC li div svg{margin-right:.25rem}.HeaderComponent-module_popoverList_jpVrC li:hover{margin:0;width:100%;color:#682cb0;background:rgba(130,55,220,.06)}@media(max-width:600px){.HeaderComponent-module_container_IufL6{height:1.5rem}.HeaderComponent-module_fullscreen_nkDGI{top:-1.625rem}.HeaderComponent-module_content_ChLg1{margin-left:2.3125rem}.HeaderComponent-module_headerText_ZSoXC{line-height:1.5125rem;font-size:.9rem;padding-left:.4688rem}.HeaderComponent-module_version_O52LI{font-size:.5rem}.HeaderComponent-module_headerUsername_K4DX7{padding:0 .25rem;font-size:.436rem}.HeaderComponent-module_help_XBi_y{padding-right:.25rem}.HeaderComponent-module_helpTitle_qkQkx{font-size:.436rem;line-height:1.875rem}.HeaderComponent-module_helpIcon_kTdmV{font-size:.8125rem;height:1.7812rem}.HeaderComponent-module_user_Jggue{padding-right:.45rem}.HeaderComponent-module_userIcon_BRUAC{font-size:.5rem;height:.8rem}}\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"HeaderComponent-module_container_IufL6\",\n\t\"dark\": \"HeaderComponent-module_dark_KhCcN\",\n\t\"headerUsername\": \"HeaderComponent-module_headerUsername_K4DX7\",\n\t\"userIcon\": \"HeaderComponent-module_userIcon_BRUAC\",\n\t\"fullscreen\": \"HeaderComponent-module_fullscreen_nkDGI\",\n\t\"content\": \"HeaderComponent-module_content_ChLg1\",\n\t\"headerText\": \"HeaderComponent-module_headerText_ZSoXC\",\n\t\"version\": \"HeaderComponent-module_version_O52LI\",\n\t\"menu\": \"HeaderComponent-module_menu_mVotN\",\n\t\"help\": \"HeaderComponent-module_help_XBi_y\",\n\t\"helpTitle\": \"HeaderComponent-module_helpTitle_qkQkx\",\n\t\"helpIcon\": \"HeaderComponent-module_helpIcon_kTdmV\",\n\t\"user\": \"HeaderComponent-module_user_Jggue\",\n\t\"district\": \"HeaderComponent-module_district_Dzt9Q\",\n\t\"districtSeparator\": \"HeaderComponent-module_districtSeparator_bKtiZ\",\n\t\"districtName\": \"HeaderComponent-module_districtName_qmD6e\",\n\t\"popover\": \"HeaderComponent-module_popover_EvNXq\",\n\t\"popoverList\": \"HeaderComponent-module_popoverList_jpVrC\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".PanelSystem-module_header_QNSTl,.PanelSystem-module_header_QNSTl a{font-size:1rem;line-height:2rem;font-weight:700;background-color:#e6d7f8;color:#333!important;text-align:left}.PanelSystem-module_errorBanner_ssEEX,.PanelSystem-module_header_QNSTl{margin-bottom:25px;padding:9px 1.8rem}.PanelSystem-module_header_QNSTl a{text-decoration:none}.PanelSystem-module_header_QNSTl a:hover{text-decoration:none!important}.PanelSystem-module_header__id_CWPys{color:#00756f;padding:1rem 1.8rem;width:100%}.PanelSystem-module_notes_owPIE{margin:1rem 1.8rem;text-align:left}.PanelSystem-module_title_yN_GF{font-size:1rem;font-weight:600;color:#333;line-height:1;padding-bottom:5px}.PanelSystem-module_inline__label_mhufz{background:#f2f2f2;color:#555;border-radius:3px;margin:10px;padding:3px 8px;align-self:start}.PanelSystem-module_left__arrow_Zmgen{color:#212529;margin-right:10px;margin-left:10px}.PanelSystem-module_link__back_U2Tue{color:#682cb0;overflow:hidden;white-space:nowrap;font-size:16px;font-weight:500;background:#fafafa;margin:-15px;padding:15px 50px 15px 15px;margin-bottom:15px;text-overflow:ellipsis}.PanelSystem-module_link__back_U2Tue:hover{background:#efefef;color:#682cb0;text-decoration:none}.PanelSystem-module_details_GpW6I{background-color:rgba(130,55,220,.07);position:relative;margin:0 -15px 5px -9px}.PanelSystem-module_details__list_wwJyI,.PanelSystem-module_details__ul_rMXrB{padding:0;text-align:left;transition:all .5s ease-in-out;list-style:none}.PanelSystem-module_details__spacing_jJYPX,.PanelSystem-module_details__ul_rMXrB{margin-top:0;margin-bottom:.4rem}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22,.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22{margin:0;border-top:none}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22 div,.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22 div{display:inline-block;vertical-align:middle}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22 svg:hover,.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22 svg:hover{cursor:pointer}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22 div[class=aux-spinner-label],.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22 div[class=aux-spinner-label]{display:none}.PanelSystem-module_details__list_wwJyI{font-size:14px;line-height:20px;text-transform:capitalize;width:auto;color:#682cb0;border-top:3px solid #fff;margin:0 1.8rem 1rem 1.8rem}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__complex_XUITB,.PanelSystem-module_details__li__item_Ih3sT,.PanelSystem-module_details__list__item__link_ok8k0{font-size:1rem;display:inline-block;text-decoration:none;vertical-align:middle;border:1px solid #c4c4c4;text-align:left}.PanelSystem-module_details__item_Urlg9 a,.PanelSystem-module_details__item_Urlg9 span,.PanelSystem-module_details__item_Urlg9 svg,.PanelSystem-module_details__li__complex_XUITB a,.PanelSystem-module_details__li__complex_XUITB span,.PanelSystem-module_details__li__complex_XUITB svg,.PanelSystem-module_details__li__item_Ih3sT a,.PanelSystem-module_details__li__item_Ih3sT span,.PanelSystem-module_details__li__item_Ih3sT svg,.PanelSystem-module_details__list__item__link_ok8k0 a,.PanelSystem-module_details__list__item__link_ok8k0 span,.PanelSystem-module_details__list__item__link_ok8k0 svg{vertical-align:middle}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__item_Ih3sT,.PanelSystem-module_details__list__item__link_ok8k0{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.PanelSystem-module_details__item_Urlg9 a,.PanelSystem-module_details__item_Urlg9 span,.PanelSystem-module_details__li__item_Ih3sT a,.PanelSystem-module_details__li__item_Ih3sT span,.PanelSystem-module_details__list__item__link_ok8k0 a,.PanelSystem-module_details__list__item__link_ok8k0 span{width:82%;overflow:hidden;text-overflow:ellipsis;display:inline-block}.PanelSystem-module_details__item_Urlg9 .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__li__item_Ih3sT .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__list__item__link_ok8k0 .PanelSystem-module_spinner_qCJ_1{display:inline-block;vertical-align:middle;padding-left:3%}.PanelSystem-module_details__item_Urlg9 .PanelSystem-module_spinner_qCJ_1 div,.PanelSystem-module_details__li__item_Ih3sT .PanelSystem-module_spinner_qCJ_1 div,.PanelSystem-module_details__list__item__link_ok8k0 .PanelSystem-module_spinner_qCJ_1 div{margin:0!important}.PanelSystem-module_details__item_Urlg9 .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__item_Urlg9 svg,.PanelSystem-module_details__li__item_Ih3sT .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__li__item_Ih3sT svg,.PanelSystem-module_details__list__item__link_ok8k0 .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__list__item__link_ok8k0 svg{width:18%}.PanelSystem-module_noBottomSpace_MPNjH{margin-bottom:0!important}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__complex_XUITB,.PanelSystem-module_details__li__item_Ih3sT{width:100%;padding:.5rem 1rem}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__item_Ih3sT{color:#360076}.PanelSystem-module_details__item_Urlg9{margin:.4rem 0}.PanelSystem-module_details__li__complex_XUITB,.PanelSystem-module_details__li__item_Ih3sT{background-color:#d8efee}.PanelSystem-module_details__li__complex_XUITB div{padding-left:0!important;padding-right:0!important;padding-bottom:0!important}.PanelSystem-module_details__li__complex_XUITB p{margin:0!important;hyphens:auto}.PanelSystem-module_details__li__complex_XUITB div[data-columns=\\\"2\\\"]>div{font-size:.85rem;padding-top:.5rem!important}.PanelSystem-module_details__li__complex_XUITB div[data-columns=\\\"2\\\"]>div:first-child{width:35%}.PanelSystem-module_details__li__complex_XUITB div[data-columns=\\\"2\\\"]>div:nth-child(2n){border:none;width:65%}.PanelSystem-module_w20_jvTGX{width:20%}.PanelSystem-module_w25_HNCoG,.PanelSystem-module_w75_k0925{width:25%}.PanelSystem-module_details__li__item_Ih3sT:hover{background-color:#b5e1dd}.PanelSystem-module_details__list__item_G7z3_{border-bottom:3px solid #fff;color:#333;width:100%;position:relative;font-size:16px}.PanelSystem-module_details__list__item__link_ok8k0{margin-right:0;color:#360076;padding:.5rem 1.5rem;width:85%}.PanelSystem-module_details__list__item__link_ok8k0:hover{color:#682cb0;background:#f4ebff;text-decoration:none}.PanelSystem-module_details__collapsed_Edl1o{display:none}.PanelSystem-module_details__green_G9luo{background-color:#ebf7f6}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__list_wwJyI{color:#333}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__list__item__link_ok8k0:hover{background:#dbefee;color:#333}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__title_WnCOU{color:#196f5e}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__title_WnCOU:hover{background:transparent}.PanelSystem-module_empty_ERK22{border-color:#bebebe;color:#afafaf}.PanelSystem-module_empty_ERK22:hover{background-color:#fff!important;color:#afafaf!important}.PanelSystem-module_section_GhhNK{padding:1rem 1.8rem}.PanelSystem-module_section_GhhNK .number-text{width:50%;display:inline-block}.PanelSystem-module_tooltip_pEqZy{width:30%!important;border:none;text-align:right}.PanelSystem-module_tooltip_pEqZy svg{color:#360076}.PanelSystem-module_tooltip_pEqZy:hover{cursor:pointer}.PanelSystem-module_popover_ywCH_{box-shadow:0 0 10px 5px rgba(0,0,0,.2);padding:4%}.PanelSystem-module_report_PFEFO{text-align:center;padding:0 1.8rem}.PanelSystem-module_report_PFEFO svg{padding-right:.5rem}.PanelSystem-module_buttons_BYkkB{margin-left:25px;padding-bottom:.5625rem;display:flex;justify-content:left}\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"header\": \"PanelSystem-module_header_QNSTl\",\n\t\"errorBanner\": \"PanelSystem-module_errorBanner_ssEEX\",\n\t\"header__id\": \"PanelSystem-module_header__id_CWPys\",\n\t\"notes\": \"PanelSystem-module_notes_owPIE\",\n\t\"title\": \"PanelSystem-module_title_yN_GF\",\n\t\"inline__label\": \"PanelSystem-module_inline__label_mhufz\",\n\t\"left__arrow\": \"PanelSystem-module_left__arrow_Zmgen\",\n\t\"link__back\": \"PanelSystem-module_link__back_U2Tue\",\n\t\"details\": \"PanelSystem-module_details_GpW6I\",\n\t\"details__list\": \"PanelSystem-module_details__list_wwJyI\",\n\t\"details__ul\": \"PanelSystem-module_details__ul_rMXrB\",\n\t\"details__spacing\": \"PanelSystem-module_details__spacing_jJYPX\",\n\t\"empty\": \"PanelSystem-module_empty_ERK22\",\n\t\"details__item\": \"PanelSystem-module_details__item_Urlg9\",\n\t\"details__li__complex\": \"PanelSystem-module_details__li__complex_XUITB\",\n\t\"details__li__item\": \"PanelSystem-module_details__li__item_Ih3sT\",\n\t\"details__list__item__link\": \"PanelSystem-module_details__list__item__link_ok8k0\",\n\t\"spinner\": \"PanelSystem-module_spinner_qCJ_1\",\n\t\"noBottomSpace\": \"PanelSystem-module_noBottomSpace_MPNjH\",\n\t\"w20\": \"PanelSystem-module_w20_jvTGX\",\n\t\"w25\": \"PanelSystem-module_w25_HNCoG\",\n\t\"w75\": \"PanelSystem-module_w75_k0925\",\n\t\"details__list__item\": \"PanelSystem-module_details__list__item_G7z3_\",\n\t\"details__collapsed\": \"PanelSystem-module_details__collapsed_Edl1o\",\n\t\"details__green\": \"PanelSystem-module_details__green_G9luo\",\n\t\"details__title\": \"PanelSystem-module_details__title_WnCOU\",\n\t\"section\": \"PanelSystem-module_section_GhhNK\",\n\t\"tooltip\": \"PanelSystem-module_tooltip_pEqZy\",\n\t\"popover\": \"PanelSystem-module_popover_ywCH_\",\n\t\"report\": \"PanelSystem-module_report_PFEFO\",\n\t\"buttons\": \"PanelSystem-module_buttons_BYkkB\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".PanelSystem-module_header_QNSTl,.PanelSystem-module_header_QNSTl a{font-size:1rem;line-height:2rem;font-weight:700;background-color:#e6d7f8;color:#333!important;text-align:left}.PanelSystem-module_errorBanner_ssEEX,.PanelSystem-module_header_QNSTl{margin-bottom:25px;padding:9px 1.8rem}.PanelSystem-module_header_QNSTl a{text-decoration:none}.PanelSystem-module_header_QNSTl a:hover{text-decoration:none!important}.PanelSystem-module_header__id_CWPys{color:#00756f;padding:1rem 1.8rem;width:100%}.PanelSystem-module_notes_owPIE{margin:1rem 1.8rem;text-align:left}.PanelSystem-module_title_yN_GF{font-size:1rem;font-weight:600;color:#333;line-height:1;padding-bottom:5px}.PanelSystem-module_inline__label_mhufz{background:#f2f2f2;color:#555;border-radius:3px;margin:10px;padding:3px 8px;align-self:start}.PanelSystem-module_left__arrow_Zmgen{color:#212529;margin-right:10px;margin-left:10px}.PanelSystem-module_link__back_U2Tue{color:#682cb0;overflow:hidden;white-space:nowrap;font-size:16px;font-weight:500;background:#fafafa;margin:-15px;padding:15px 50px 15px 15px;margin-bottom:15px;text-overflow:ellipsis}.PanelSystem-module_link__back_U2Tue:hover{background:#efefef;color:#682cb0;text-decoration:none}.PanelSystem-module_details_GpW6I{background-color:rgba(130,55,220,.07);position:relative;margin:0 -15px 5px -9px}.PanelSystem-module_details__list_wwJyI,.PanelSystem-module_details__ul_rMXrB{padding:0;text-align:left;transition:all .5s ease-in-out;list-style:none}.PanelSystem-module_details__spacing_jJYPX,.PanelSystem-module_details__ul_rMXrB{margin-top:0;margin-bottom:.4rem}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22,.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22{margin:0;border-top:none}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22 div,.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22 div{display:inline-block;vertical-align:middle}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22 svg:hover,.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22 svg:hover{cursor:pointer}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22 div[class=aux-spinner-label],.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22 div[class=aux-spinner-label]{display:none}.PanelSystem-module_details__list_wwJyI{font-size:14px;line-height:20px;text-transform:capitalize;width:auto;color:#682cb0;border-top:3px solid #fff;margin:0 1.8rem 1rem 1.8rem}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__complex_XUITB,.PanelSystem-module_details__li__item_Ih3sT,.PanelSystem-module_details__list__item__link_ok8k0{font-size:1rem;display:inline-block;text-decoration:none;vertical-align:middle;border:1px solid #c4c4c4;text-align:left}.PanelSystem-module_details__item_Urlg9 a,.PanelSystem-module_details__item_Urlg9 span,.PanelSystem-module_details__item_Urlg9 svg,.PanelSystem-module_details__li__complex_XUITB a,.PanelSystem-module_details__li__complex_XUITB span,.PanelSystem-module_details__li__complex_XUITB svg,.PanelSystem-module_details__li__item_Ih3sT a,.PanelSystem-module_details__li__item_Ih3sT span,.PanelSystem-module_details__li__item_Ih3sT svg,.PanelSystem-module_details__list__item__link_ok8k0 a,.PanelSystem-module_details__list__item__link_ok8k0 span,.PanelSystem-module_details__list__item__link_ok8k0 svg{vertical-align:middle}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__item_Ih3sT,.PanelSystem-module_details__list__item__link_ok8k0{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.PanelSystem-module_details__item_Urlg9 a,.PanelSystem-module_details__item_Urlg9 span,.PanelSystem-module_details__li__item_Ih3sT a,.PanelSystem-module_details__li__item_Ih3sT span,.PanelSystem-module_details__list__item__link_ok8k0 a,.PanelSystem-module_details__list__item__link_ok8k0 span{width:82%;overflow:hidden;text-overflow:ellipsis;display:inline-block}.PanelSystem-module_details__item_Urlg9 .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__li__item_Ih3sT .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__list__item__link_ok8k0 .PanelSystem-module_spinner_qCJ_1{display:inline-block;vertical-align:middle;padding-left:3%}.PanelSystem-module_details__item_Urlg9 .PanelSystem-module_spinner_qCJ_1 div,.PanelSystem-module_details__li__item_Ih3sT .PanelSystem-module_spinner_qCJ_1 div,.PanelSystem-module_details__list__item__link_ok8k0 .PanelSystem-module_spinner_qCJ_1 div{margin:0!important}.PanelSystem-module_details__item_Urlg9 .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__item_Urlg9 svg,.PanelSystem-module_details__li__item_Ih3sT .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__li__item_Ih3sT svg,.PanelSystem-module_details__list__item__link_ok8k0 .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__list__item__link_ok8k0 svg{width:18%}.PanelSystem-module_noBottomSpace_MPNjH{margin-bottom:0!important}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__complex_XUITB,.PanelSystem-module_details__li__item_Ih3sT{width:100%;padding:.5rem 1rem}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__item_Ih3sT{color:#360076}.PanelSystem-module_details__item_Urlg9{margin:.4rem 0}.PanelSystem-module_details__li__complex_XUITB,.PanelSystem-module_details__li__item_Ih3sT{background-color:#d8efee}.PanelSystem-module_details__li__complex_XUITB div{padding-left:0!important;padding-right:0!important;padding-bottom:0!important}.PanelSystem-module_details__li__complex_XUITB p{margin:0!important;hyphens:auto}.PanelSystem-module_details__li__complex_XUITB div[data-columns=\\\"2\\\"]>div{font-size:.85rem;padding-top:.5rem!important}.PanelSystem-module_details__li__complex_XUITB div[data-columns=\\\"2\\\"]>div:first-child{width:35%}.PanelSystem-module_details__li__complex_XUITB div[data-columns=\\\"2\\\"]>div:nth-child(2n){border:none;width:65%}.PanelSystem-module_w20_jvTGX{width:20%}.PanelSystem-module_w25_HNCoG,.PanelSystem-module_w75_k0925{width:25%}.PanelSystem-module_details__li__item_Ih3sT:hover{background-color:#b5e1dd}.PanelSystem-module_details__list__item_G7z3_{border-bottom:3px solid #fff;color:#333;width:100%;position:relative;font-size:16px}.PanelSystem-module_details__list__item__link_ok8k0{margin-right:0;color:#360076;padding:.5rem 1.5rem;width:85%}.PanelSystem-module_details__list__item__link_ok8k0:hover{color:#682cb0;background:#f4ebff;text-decoration:none}.PanelSystem-module_details__collapsed_Edl1o{display:none}.PanelSystem-module_details__green_G9luo{background-color:#ebf7f6}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__list_wwJyI{color:#333}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__list__item__link_ok8k0:hover{background:#dbefee;color:#333}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__title_WnCOU{color:#196f5e}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__title_WnCOU:hover{background:transparent}.PanelSystem-module_empty_ERK22{border-color:#bebebe;color:#afafaf}.PanelSystem-module_empty_ERK22:hover{background-color:#fff!important;color:#afafaf!important}.PanelSystem-module_section_GhhNK{padding:1rem 1.8rem}.PanelSystem-module_section_GhhNK .number-text{width:50%;display:inline-block}.PanelSystem-module_tooltip_pEqZy{width:30%!important;border:none;text-align:right}.PanelSystem-module_tooltip_pEqZy svg{color:#360076}.PanelSystem-module_tooltip_pEqZy:hover{cursor:pointer}.PanelSystem-module_popover_ywCH_{box-shadow:0 0 10px 5px rgba(0,0,0,.2);padding:4%}.PanelSystem-module_report_PFEFO{text-align:center;padding:0 1.8rem}.PanelSystem-module_report_PFEFO svg{padding-right:.5rem}.PanelSystem-module_buttons_BYkkB{margin-left:25px;padding-bottom:.5625rem;display:flex;justify-content:left}\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"header\": \"PanelSystem-module_header_QNSTl\",\n\t\"errorBanner\": \"PanelSystem-module_errorBanner_ssEEX\",\n\t\"header__id\": \"PanelSystem-module_header__id_CWPys\",\n\t\"notes\": \"PanelSystem-module_notes_owPIE\",\n\t\"title\": \"PanelSystem-module_title_yN_GF\",\n\t\"inline__label\": \"PanelSystem-module_inline__label_mhufz\",\n\t\"left__arrow\": \"PanelSystem-module_left__arrow_Zmgen\",\n\t\"link__back\": \"PanelSystem-module_link__back_U2Tue\",\n\t\"details\": \"PanelSystem-module_details_GpW6I\",\n\t\"details__list\": \"PanelSystem-module_details__list_wwJyI\",\n\t\"details__ul\": \"PanelSystem-module_details__ul_rMXrB\",\n\t\"details__spacing\": \"PanelSystem-module_details__spacing_jJYPX\",\n\t\"empty\": \"PanelSystem-module_empty_ERK22\",\n\t\"details__item\": \"PanelSystem-module_details__item_Urlg9\",\n\t\"details__li__complex\": \"PanelSystem-module_details__li__complex_XUITB\",\n\t\"details__li__item\": \"PanelSystem-module_details__li__item_Ih3sT\",\n\t\"details__list__item__link\": \"PanelSystem-module_details__list__item__link_ok8k0\",\n\t\"spinner\": \"PanelSystem-module_spinner_qCJ_1\",\n\t\"noBottomSpace\": \"PanelSystem-module_noBottomSpace_MPNjH\",\n\t\"w20\": \"PanelSystem-module_w20_jvTGX\",\n\t\"w25\": \"PanelSystem-module_w25_HNCoG\",\n\t\"w75\": \"PanelSystem-module_w75_k0925\",\n\t\"details__list__item\": \"PanelSystem-module_details__list__item_G7z3_\",\n\t\"details__collapsed\": \"PanelSystem-module_details__collapsed_Edl1o\",\n\t\"details__green\": \"PanelSystem-module_details__green_G9luo\",\n\t\"details__title\": \"PanelSystem-module_details__title_WnCOU\",\n\t\"section\": \"PanelSystem-module_section_GhhNK\",\n\t\"tooltip\": \"PanelSystem-module_tooltip_pEqZy\",\n\t\"popover\": \"PanelSystem-module_popover_ywCH_\",\n\t\"report\": \"PanelSystem-module_report_PFEFO\",\n\t\"buttons\": \"PanelSystem-module_buttons_BYkkB\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".PanelSystem-module_header_QNSTl,.PanelSystem-module_header_QNSTl a{font-size:1rem;line-height:2rem;font-weight:700;background-color:#e6d7f8;color:#333!important;text-align:left}.PanelSystem-module_errorBanner_ssEEX,.PanelSystem-module_header_QNSTl{margin-bottom:25px;padding:9px 1.8rem}.PanelSystem-module_header_QNSTl a{text-decoration:none}.PanelSystem-module_header_QNSTl a:hover{text-decoration:none!important}.PanelSystem-module_header__id_CWPys{color:#00756f;padding:1rem 1.8rem;width:100%}.PanelSystem-module_notes_owPIE{margin:1rem 1.8rem;text-align:left}.PanelSystem-module_title_yN_GF{font-size:1rem;font-weight:600;color:#333;line-height:1;padding-bottom:5px}.PanelSystem-module_inline__label_mhufz{background:#f2f2f2;color:#555;border-radius:3px;margin:10px;padding:3px 8px;align-self:start}.PanelSystem-module_left__arrow_Zmgen{color:#212529;margin-right:10px;margin-left:10px}.PanelSystem-module_link__back_U2Tue{color:#682cb0;overflow:hidden;white-space:nowrap;font-size:16px;font-weight:500;background:#fafafa;margin:-15px;padding:15px 50px 15px 15px;margin-bottom:15px;text-overflow:ellipsis}.PanelSystem-module_link__back_U2Tue:hover{background:#efefef;color:#682cb0;text-decoration:none}.PanelSystem-module_details_GpW6I{background-color:rgba(130,55,220,.07);position:relative;margin:0 -15px 5px -9px}.PanelSystem-module_details__list_wwJyI,.PanelSystem-module_details__ul_rMXrB{padding:0;text-align:left;transition:all .5s ease-in-out;list-style:none}.PanelSystem-module_details__spacing_jJYPX,.PanelSystem-module_details__ul_rMXrB{margin-top:0;margin-bottom:.4rem}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22,.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22{margin:0;border-top:none}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22 div,.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22 div{display:inline-block;vertical-align:middle}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22 svg:hover,.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22 svg:hover{cursor:pointer}.PanelSystem-module_details__spacing_jJYPX .PanelSystem-module_empty_ERK22 div[class=aux-spinner-label],.PanelSystem-module_details__ul_rMXrB .PanelSystem-module_empty_ERK22 div[class=aux-spinner-label]{display:none}.PanelSystem-module_details__list_wwJyI{font-size:14px;line-height:20px;text-transform:capitalize;width:auto;color:#682cb0;border-top:3px solid #fff;margin:0 1.8rem 1rem 1.8rem}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__complex_XUITB,.PanelSystem-module_details__li__item_Ih3sT,.PanelSystem-module_details__list__item__link_ok8k0{font-size:1rem;display:inline-block;text-decoration:none;vertical-align:middle;border:1px solid #c4c4c4;text-align:left}.PanelSystem-module_details__item_Urlg9 a,.PanelSystem-module_details__item_Urlg9 span,.PanelSystem-module_details__item_Urlg9 svg,.PanelSystem-module_details__li__complex_XUITB a,.PanelSystem-module_details__li__complex_XUITB span,.PanelSystem-module_details__li__complex_XUITB svg,.PanelSystem-module_details__li__item_Ih3sT a,.PanelSystem-module_details__li__item_Ih3sT span,.PanelSystem-module_details__li__item_Ih3sT svg,.PanelSystem-module_details__list__item__link_ok8k0 a,.PanelSystem-module_details__list__item__link_ok8k0 span,.PanelSystem-module_details__list__item__link_ok8k0 svg{vertical-align:middle}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__item_Ih3sT,.PanelSystem-module_details__list__item__link_ok8k0{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.PanelSystem-module_details__item_Urlg9 a,.PanelSystem-module_details__item_Urlg9 span,.PanelSystem-module_details__li__item_Ih3sT a,.PanelSystem-module_details__li__item_Ih3sT span,.PanelSystem-module_details__list__item__link_ok8k0 a,.PanelSystem-module_details__list__item__link_ok8k0 span{width:82%;overflow:hidden;text-overflow:ellipsis;display:inline-block}.PanelSystem-module_details__item_Urlg9 .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__li__item_Ih3sT .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__list__item__link_ok8k0 .PanelSystem-module_spinner_qCJ_1{display:inline-block;vertical-align:middle;padding-left:3%}.PanelSystem-module_details__item_Urlg9 .PanelSystem-module_spinner_qCJ_1 div,.PanelSystem-module_details__li__item_Ih3sT .PanelSystem-module_spinner_qCJ_1 div,.PanelSystem-module_details__list__item__link_ok8k0 .PanelSystem-module_spinner_qCJ_1 div{margin:0!important}.PanelSystem-module_details__item_Urlg9 .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__item_Urlg9 svg,.PanelSystem-module_details__li__item_Ih3sT .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__li__item_Ih3sT svg,.PanelSystem-module_details__list__item__link_ok8k0 .PanelSystem-module_spinner_qCJ_1,.PanelSystem-module_details__list__item__link_ok8k0 svg{width:18%}.PanelSystem-module_noBottomSpace_MPNjH{margin-bottom:0!important}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__complex_XUITB,.PanelSystem-module_details__li__item_Ih3sT{width:100%;padding:.5rem 1rem}.PanelSystem-module_details__item_Urlg9,.PanelSystem-module_details__li__item_Ih3sT{color:#360076}.PanelSystem-module_details__item_Urlg9{margin:.4rem 0}.PanelSystem-module_details__li__complex_XUITB,.PanelSystem-module_details__li__item_Ih3sT{background-color:#d8efee}.PanelSystem-module_details__li__complex_XUITB div{padding-left:0!important;padding-right:0!important;padding-bottom:0!important}.PanelSystem-module_details__li__complex_XUITB p{margin:0!important;hyphens:auto}.PanelSystem-module_details__li__complex_XUITB div[data-columns=\\\"2\\\"]>div{font-size:.85rem;padding-top:.5rem!important}.PanelSystem-module_details__li__complex_XUITB div[data-columns=\\\"2\\\"]>div:first-child{width:35%}.PanelSystem-module_details__li__complex_XUITB div[data-columns=\\\"2\\\"]>div:nth-child(2n){border:none;width:65%}.PanelSystem-module_w20_jvTGX{width:20%}.PanelSystem-module_w25_HNCoG,.PanelSystem-module_w75_k0925{width:25%}.PanelSystem-module_details__li__item_Ih3sT:hover{background-color:#b5e1dd}.PanelSystem-module_details__list__item_G7z3_{border-bottom:3px solid #fff;color:#333;width:100%;position:relative;font-size:16px}.PanelSystem-module_details__list__item__link_ok8k0{margin-right:0;color:#360076;padding:.5rem 1.5rem;width:85%}.PanelSystem-module_details__list__item__link_ok8k0:hover{color:#682cb0;background:#f4ebff;text-decoration:none}.PanelSystem-module_details__collapsed_Edl1o{display:none}.PanelSystem-module_details__green_G9luo{background-color:#ebf7f6}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__list_wwJyI{color:#333}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__list__item__link_ok8k0:hover{background:#dbefee;color:#333}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__title_WnCOU{color:#196f5e}.PanelSystem-module_details__green_G9luo .PanelSystem-module_details__title_WnCOU:hover{background:transparent}.PanelSystem-module_empty_ERK22{border-color:#bebebe;color:#afafaf}.PanelSystem-module_empty_ERK22:hover{background-color:#fff!important;color:#afafaf!important}.PanelSystem-module_section_GhhNK{padding:1rem 1.8rem}.PanelSystem-module_section_GhhNK .number-text{width:50%;display:inline-block}.PanelSystem-module_tooltip_pEqZy{width:30%!important;border:none;text-align:right}.PanelSystem-module_tooltip_pEqZy svg{color:#360076}.PanelSystem-module_tooltip_pEqZy:hover{cursor:pointer}.PanelSystem-module_popover_ywCH_{box-shadow:0 0 10px 5px rgba(0,0,0,.2);padding:4%}.PanelSystem-module_report_PFEFO{text-align:center;padding:0 1.8rem}.PanelSystem-module_report_PFEFO svg{padding-right:.5rem}.PanelSystem-module_buttons_BYkkB{margin-left:25px;padding-bottom:.5625rem;display:flex;justify-content:left}\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"header\": \"PanelSystem-module_header_QNSTl\",\n\t\"errorBanner\": \"PanelSystem-module_errorBanner_ssEEX\",\n\t\"header__id\": \"PanelSystem-module_header__id_CWPys\",\n\t\"notes\": \"PanelSystem-module_notes_owPIE\",\n\t\"title\": \"PanelSystem-module_title_yN_GF\",\n\t\"inline__label\": \"PanelSystem-module_inline__label_mhufz\",\n\t\"left__arrow\": \"PanelSystem-module_left__arrow_Zmgen\",\n\t\"link__back\": \"PanelSystem-module_link__back_U2Tue\",\n\t\"details\": \"PanelSystem-module_details_GpW6I\",\n\t\"details__list\": \"PanelSystem-module_details__list_wwJyI\",\n\t\"details__ul\": \"PanelSystem-module_details__ul_rMXrB\",\n\t\"details__spacing\": \"PanelSystem-module_details__spacing_jJYPX\",\n\t\"empty\": \"PanelSystem-module_empty_ERK22\",\n\t\"details__item\": \"PanelSystem-module_details__item_Urlg9\",\n\t\"details__li__complex\": \"PanelSystem-module_details__li__complex_XUITB\",\n\t\"details__li__item\": \"PanelSystem-module_details__li__item_Ih3sT\",\n\t\"details__list__item__link\": \"PanelSystem-module_details__list__item__link_ok8k0\",\n\t\"spinner\": \"PanelSystem-module_spinner_qCJ_1\",\n\t\"noBottomSpace\": \"PanelSystem-module_noBottomSpace_MPNjH\",\n\t\"w20\": \"PanelSystem-module_w20_jvTGX\",\n\t\"w25\": \"PanelSystem-module_w25_HNCoG\",\n\t\"w75\": \"PanelSystem-module_w75_k0925\",\n\t\"details__list__item\": \"PanelSystem-module_details__list__item_G7z3_\",\n\t\"details__collapsed\": \"PanelSystem-module_details__collapsed_Edl1o\",\n\t\"details__green\": \"PanelSystem-module_details__green_G9luo\",\n\t\"details__title\": \"PanelSystem-module_details__title_WnCOU\",\n\t\"section\": \"PanelSystem-module_section_GhhNK\",\n\t\"tooltip\": \"PanelSystem-module_tooltip_pEqZy\",\n\t\"popover\": \"PanelSystem-module_popover_ywCH_\",\n\t\"report\": \"PanelSystem-module_report_PFEFO\",\n\t\"buttons\": \"PanelSystem-module_buttons_BYkkB\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".DemographyPanel-module_panel_F5D7V .number-text{display:inline-block;padding:2% 4%;width:33.3333%;vertical-align:top}.DemographyPanel-module_panel_F5D7V .AreaSelector{margin:4%}.DemographyPanel-module_panel_F5D7V .tab{margin:4%}.DemographyPanel-module_panel_F5D7V .tab>div:not(:first-child){border-top:.125rem solid #d2d2d2;padding-top:4%}.DemographyPanel-module_panel_F5D7V .VerticalBarChart{border-bottom:.0625rem solid #d2d2d2}.DemographyPanel-module_panel_F5D7V .ToggleSwitchWrap{display:flex;justify-content:flex-end}.DemographyPanel-module_panel_F5D7V .ToggleSwitchWrap .ToggleSwitchPad{flex:1}\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"panel\": \"DemographyPanel-module_panel_F5D7V\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".accordion--large[data-v-917f5b0a]{padding:10px 15px 7px 15px}details[data-v-917f5b0a]{border:1px solid #e1e1e1;padding:4px 10px 2px 10px}[data-v-917f5b0a]:not(details:last-child){margin-bottom:2px}details[open][data-v-917f5b0a]{background:#f5f5f5}details[data-v-917f5b0a] ::-webkit-details-marker,details[data-v-917f5b0a] ::marker{display:none}details summary[data-v-917f5b0a]{display:flex;justify-content:space-between;align-items:center;gap:10px;list-style:none;cursor:pointer;color:#360076;font-weight:500}details summary[data-v-917f5b0a]>*{display:inline}.caret[data-v-917f5b0a]{max-width:20px;width:100%;color:#000;margin-left:auto}details[open] .caret[data-v-917f5b0a]{transform:scale(-1)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".empty-state-wrapper[data-v-cf573668]{text-align:center;width:100%;padding:60px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.illustration-size--large[data-v-cf573668]{max-width:400px}.illustration-size--medium[data-v-cf573668]{max-width:200px}svg[data-v-cf573668]{width:100%;margin-bottom:20px;height:auto}p[data-v-cf573668]{margin:0}.subtitle[data-v-cf573668],p[data-v-cf573668]{max-width:60ch}.subtitle[data-v-cf573668]{margin-bottom:30px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".number-text>div[data-v-5957c644]{padding:.1rem}.number-text-value[data-v-5957c644]{color:#8237dc;font-weight:700;font-size:1.5625rem;line-height:1.875rem}.number-text-description[data-v-5957c644]{font-size:.875rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".vertical-bar-chart[data-v-45db356f]{display:flex;gap:.5rem;align-items:center;align-content:center;font-size:.7rem;justify-content:space-evenly;margin:1% 0}.vertical-bar-chart-bars[data-v-45db356f]{text-align:right;color:#333;flex:1;white-space:nowrap}.vertical-bar-chart-label[data-v-45db356f]{width:20%;text-align:right}.vertical-bar-chart-bar[data-v-45db356f]{display:flex;flex:1}.vertical-bar-chart-bar>div[data-v-45db356f]{line-height:2rem}.vertical-bar-chart-bar>div[data-v-45db356f]:first-child{background-color:#360076}.vertical-bar-chart-bar>div[data-v-45db356f]:last-child{font-weight:550;flex-grow:1;text-align:left;padding:0 1%;min-width:8%}.vertical-bar-chart-bar .vertical-bar-chart-long-label[data-v-45db356f]{min-width:12%!important}.vertical-bar-chart-bold div[data-v-45db356f]:last-child{border-top:.0625rem solid #333;text-align:right;flex:1}.vertical-bar-chart-bold div:last-child span[data-v-45db356f]{text-align:right;width:100%}.vertical-bar-chart-bold[data-v-45db356f]{display:flex;gap:.5rem}.vertical-bar-chart-bold div[data-v-45db356f]{font-weight:600;font-size:.7rem;line-height:2rem;padding:0 1%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".driver-popover{border-radius:3px}.driver-popover .driver-popover-next-btn,.driver-popover .driver-popover-prev-btn{text-shadow:none;font-size:14px;padding:10px}.driver-popover .driver-popover-next-btn{color:#fff}.driver-popover .driver-popover-next-btn,.driver-popover .driver-popover-next-btn:focus{background:#360076}.driver-popover .driver-popover-next-btn:hover{background:#5f3591}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"a[data-v-a87a6632]{position:sticky;z-index:5;top:0;font-size:1rem;display:block;padding:10px 20px;background-color:#e6d7f8;text-align:left;margin-bottom:20px;text-decoration:none;font-weight:700;color:#333;vertical-align:middle}a[data-v-a87a6632]:hover{background-color:#cdaff1;text-decoration:none!important}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".column[data-v-8bb6fdec]{padding:10px 10px;border-left:1px solid #f1f1f1;font-size:1rem;line-height:1.3;font-weight:400;color:#333}.column[data-v-8bb6fdec]:first-child{border-left:none}.title[data-v-8bb6fdec]{font-size:1rem;font-weight:600;color:#333;line-height:1;padding-bottom:5px}.value[data-v-8bb6fdec]{font-weight:400;color:#333;width:100%;padding-left:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".hr[data-v-3e84e83e]{margin:1rem 1.5rem}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".row[data-v-de0bb992]{text-align:left;display:flex;flex-wrap:wrap;margin:0 15px}.row[data-columns=\\\"1\\\"][data-v-de0bb992] .column{width:100%}.row[data-columns=\\\"2\\\"][data-v-de0bb992] .column{width:50%}.row[data-columns=\\\"3\\\"][data-v-de0bb992] .column{width:33%}.row[data-columns=\\\"4\\\"][data-v-de0bb992] .column{width:25%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".loading-indicator[data-v-c19a20e4]{text-align:center;margin:100px auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"h3[data-v-51080cde]{background:#e1e1e1;padding:2px 27px;font-size:14px;font-weight:500}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".aux-banner[data-v-010e650a]{margin-bottom:20px}.createProject[data-v-010e650a]{max-width:60ch}.createProject .buttons[data-v-010e650a]{text-align:right}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".project-name[data-v-533dcff1]{text-decoration:underline;font-weight:700;color:#000}.project-picker .project-name[data-v-533dcff1]{display:inline-block;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.project-picker.dark[data-v-533dcff1]{background-color:#360076;color:#cdaff1}.project-picker.dark .project-name[data-v-533dcff1]{color:#fff}.project-picker.dark .picker-menu svg[data-v-533dcff1]{fill:#fff}.picker-menu[data-v-533dcff1]{cursor:pointer;outline:none}.picker-menu[data-v-533dcff1]:focus{box-shadow:0 0 0 3px #fff,0 0 0 6px #003eff}.picker-menu[data-v-533dcff1]:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 6px #003eff,0 0 0 0 transparent}.aux-validation-wrapper--haserror .picker-menu[data-v-533dcff1]:focus-visible{box-shadow:0 0 0 1px #ac1631,0 0 0 3px #fff,0 0 0 6px #003eff,0 0 0 0 transparent}.picker-menu[data-v-533dcff1]:focus:not(:focus-visible){box-shadow:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".link-block[data-v-56ffaf05]{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;margin-bottom:3px;background:rgba(230,215,248,.4);padding:5px 15px 5px 52px;border:1px solid #cdaff1;font-weight:500;color:#360076;text-decoration:none}.link-block[data-v-56ffaf05]:hover{background:rgba(205,175,241,.6)}.link-block svg[data-v-56ffaf05]{width:20px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ul[data-v-a8a92960]{list-style:none;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"summary[data-v-2a6bc9a0]{padding:10px 15px 7px 15px;margin:0;background:#d8efee}details[data-v-2a6bc9a0] ::-webkit-details-marker,details[data-v-2a6bc9a0] ::marker{display:none}.list-collapsible-block[data-v-2a6bc9a0]{display:flex;gap:10px;margin-bottom:2px}.list-collapsible-block[data-v-2a6bc9a0],.list-collapsible-block--no-items[data-v-2a6bc9a0]{padding:10px 15px 7px 15px;color:#333;border:1px solid #e1e1e1}.list-collapsible-block--error[data-v-2a6bc9a0]{color:#ac1631;font-weight:500}.count-wrapper[data-v-2a6bc9a0]{text-align:right;width:28px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".details-panel-list-item[data-v-81f12532]{width:100%}.details-panel-list-item-link[data-v-81f12532]{display:flex;align-items:center;padding:5px 7px 5px 17px;background:#d8efee;justify-content:space-between;text-decoration:none;font-weight:700;border:1px solid #bebebe}.details-panel-list-item-link[data-v-81f12532]:hover{background:#b5e1dd}.details-panel-list-item-content[data-v-81f12532]{display:flex;flex-direction:column}.details-panel-list-item-subtitle[data-v-81f12532]{font-size:12px;font-weight:500;color:#333}.details-panel-list-item-icon[data-v-81f12532]{width:25px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".subtitle[data-v-7595cdd2]{width:100%;font-size:12px}.item[data-v-7595cdd2]{display:flex;flex-wrap:wrap}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"ul[data-v-df086160]{margin:0 25px;padding:0;list-style:none;line-height:30px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".owner-list--simple ul[data-v-5ae9d6d1]{margin:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".error-banner[data-v-686375a5]{margin:20px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".loading-indicator[data-v-39af0865]{margin:100px auto}.error-banner[data-v-39af0865]{margin:20px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".loading-indicator[data-v-28e22176]{margin:100px auto}.error-banner[data-v-28e22176]{margin:20px}.aux-button+.aux-button[data-v-28e22176]{margin-left:0}.property-details-categories-list[data-v-28e22176]{margin:0 25px}.property-details-header[data-v-28e22176]{display:flex;align-items:center;justify-content:space-between;padding:0 25px}.property-details-button[data-v-28e22176]{margin:0 25px;display:flex;justify-content:space-between}.propertypanel-link-block[data-v-28e22176]{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;margin-bottom:3px;background:rgba(230,215,248,.4);padding:5px 15px 5px 52px;border:1px solid #cdaff1;font-weight:500;color:#360076;text-decoration:none}.propertypanel-link-block[data-v-28e22176]:hover{background:rgba(205,175,241,.6)}.propertypanel-link-block svg[data-v-28e22176]{width:20px}hr[data-v-28e22176]{border-bottom:1px solid #ccc}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".remove-property[data-v-502cf3ea]{width:15%;border:none;display:inline-block;vertical-align:middle;padding:0;text-align:left}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".aux-spinner[data-v-da8f462c]{text-align:center;margin:100px auto 0 auto}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".empty-state-wrapper[data-v-17b520b4]{text-align:center;padding:60px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}svg[data-v-17b520b4]{max-width:400px;width:100%;margin-bottom:20px}p[data-v-17b520b4]{max-width:60ch;margin:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".value-estimate[data-v-0aa630e2]{margin:0 25px}.estimate[data-v-0aa630e2]{font-size:25px;font-weight:700;color:#8237dc;line-height:2}header[data-v-0aa630e2]{display:flex;justify-content:space-between;align-items:flex-end}hr[data-v-0aa630e2]{border-bottom:1px solid #ccc}h3[data-v-0aa630e2]{margin:0;font-size:1rem;font-weight:600;color:#333;line-height:1}.logo[data-v-0aa630e2]{max-width:73px;width:100%}details[data-v-0aa630e2]{padding-left:25px}details[data-v-0aa630e2] ::-webkit-details-marker,details[data-v-0aa630e2] ::marker{display:none}summary[data-v-0aa630e2]{display:flex;list-style:none;padding:0;color:#360076;cursor:pointer;font-weight:500;text-decoration:underline;align-items:center;margin-left:-25px}.caret[data-v-0aa630e2]{max-width:20px;width:100%;color:#000;margin-right:5px}details[open] .caret[data-v-0aa630e2]{transform:scale(-1)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".data-loader-error svg[data-v-2704de74]{cursor:pointer}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".tooltip[data-v-651c3082]{z-index:9999;display:none;background:#fff;color:#000;box-shadow:0 3px 10px 0 rgba(0,0,0,.5)}.tooltip[data-show][data-v-651c3082]{display:block;opacity:1}.arrow[data-v-651c3082],.arrow[data-v-651c3082]:before{position:absolute;width:22px;height:22px;background:inherit;z-index:-1}.arrow[data-v-651c3082]{visibility:hidden}.arrow[data-v-651c3082]:before{visibility:visible;content:\\\"\\\";width:22px;height:22px;transform:rotate(45deg);border-radius:3px}.tooltip[data-popper-placement^=top]>.arrow[data-v-651c3082]{bottom:-11px}.tooltip[data-popper-placement^=bottom]>.arrow[data-v-651c3082]{top:-11px}.tooltip[data-popper-placement^=left]>.arrow[data-v-651c3082]{right:-11px}.tooltip[data-popper-placement^=right]>.arrow[data-v-651c3082]{left:-11px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".tabs{background:#fff}ul.tabs-list{list-style-type:none;margin:0;padding:0;width:100%;display:flex;justify-content:flex-start;border-bottom:.1875rem solid #d2d2d2}ul.tabs-list li{text-align:center;padding:.8125rem 1.25rem .625rem 1.25rem;line-height:1.25rem;font-size:1rem;font-weight:700;color:#333;border-bottom:.1875rem solid hsla(0,0%,100%,0)}ul.tabs-list li:hover:not([aria-disabled=true]){cursor:pointer;background-color:#e6d7f8}ul.tabs-list li:hover:not([aria-disabled=true]),ul.tabs-list li[aria-active=true]{color:#8237dc;border-bottom:.1875rem solid #8237dc}ul.tabs-list li[aria-disabled=true]{background-color:#eee}ul.tabs-list li[aria-disabled=true]:hover{cursor:default}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".wrap[data-v-6ebfe86c]{height:100%;max-height:100vh;overflow-y:scroll}.content[data-v-6ebfe86c]{text-align:left;margin:3.5625rem 0 0 4rem;background-color:#fff;padding:3.125rem}.content p[data-v-6ebfe86c]{margin:1.5625rem 0}@media(max-width:600px){.content[data-v-6ebfe86c]{margin:1.5rem 0 0 2rem}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import { Ref } from 'vue';\n\nexport const DataTestId = (testId: Ref) => {\n const getTestId = (id: string): string | undefined => {\n if (testId.value) {\n return `${testId.value}-${id}`;\n }\n\n return undefined;\n };\n\n return {\n getTestId,\n };\n};\n\nexport default { DataTestId };\n","import Point from '@arcgis/core/geometry/Point';\nimport Multipoint from '@arcgis/core/geometry/Multipoint';\nimport Polyline from '@arcgis/core/geometry/Polyline';\nimport Polygon from '@arcgis/core/geometry/Polygon';\nimport Extent from '@arcgis/core/geometry/Extent';\nimport StatisticDefinition from '@arcgis/core/rest/support/StatisticDefinition';\nimport Logger from '@/utilities/Logger';\nimport { getGeodataToken } from '@/data/xhr/geodataToken';\n\nexport type DemographyArea = 'basicDistrict' | 'municipality' | 'county';\n\nexport interface DemographyQuery {\n where: string;\n text: string;\n objectIds: number[] | '';\n time: string;\n timeRelation:\n | 'esriTimeRelationOverlaps'\n | 'esriTimeRelationOverlapsStartWithinEnd'\n | 'esriTimeRelationAfterStartOverlapsEnd'\n | 'esriTimeRelationWithin';\n geometry: string | Extent | Point | Polyline | Multipoint | Polygon;\n geometryType:\n | 'esriGeometryEnvelope'\n | 'esriGeometryPoint'\n | 'esriGeometryPolyline'\n | 'esriGeometryMultipoint'\n | 'esriGeometryPolygon';\n inSR: string;\n spatialRel:\n | 'esriSpatialRelIntersects'\n | 'esriSpatialRelContains'\n | 'esriSpatialRelCrosses'\n | 'esriSpatialRelEnvelopeIntersects'\n | 'esriSpatialRelIndexIntersects'\n | 'esriSpatialRelOverlaps'\n | 'esriSpatialRelTouches'\n | 'esriSpatialRelWithin'\n | 'esriSpatialRelRelation';\n distance: string;\n units:\n | 'esriSRUnit_Foot'\n | 'esriSRUnit_Meter'\n | 'esriSRUnit_Kilometer'\n | 'esriSRUnit_StatuteMile'\n | 'esriSRUnit_NauticalMile'\n | 'esriSRUnit_USNauticalMile';\n relationParam: '';\n outFields: string;\n returnGeometry: boolean;\n returnTrueCurves: boolean;\n maxAllowableOffset: string;\n geometryPrecision: string;\n outSR: string;\n havingClause: string;\n returnIdsOnly: boolean;\n returnCountOnly: boolean;\n orderByFields: string;\n groupByFieldsForStatistics: string;\n outStatistics: StatisticDefinition[] | '';\n returnZ: boolean;\n returnM: boolean;\n gdbVersion: string;\n historicMoment: string;\n returnDistinctValues: boolean;\n resultOffset: string;\n resultRecordCount: string;\n returnExtentOnly: boolean;\n sqlFormat: 'none' | 'standard' | 'native';\n datumTransformation: string;\n parameterValues: string;\n rangeValues: string;\n quantizationParameters: string;\n featureEncoding: 'esriDefault' | 'esriCompressedShapeBuffer';\n f: 'html' | 'pjson' | 'kmz' | 'geojson' | 'pbf';\n}\n\nexport interface DemographyResult {\n displayFieldName: string;\n features: {\n attributes: Record;\n }[];\n fieldAliases: Record;\n fields: {\n name: string;\n type: string;\n alias: string;\n }[];\n}\n\nexport interface DemographyFiltered {\n numbers: Record;\n text: Record;\n percent: Record;\n}\n\nexport interface DemographyDataField {\n types: {\n basicDistrict: number;\n municipality: number;\n county: number;\n };\n numbers: string[];\n text: string[];\n textAvg?: string[];\n total: string;\n labels: Record;\n units?: Record;\n}\n\nexport interface DemographyAreaNames {\n basicDistrict: string;\n municipality: string;\n county: string;\n}\n\nconst NumberFormat = new Intl.NumberFormat('nb-NO');\n\nexport const DemographyDataFields: Record = {\n age: {\n types: {\n basicDistrict: 57,\n municipality: 38,\n county: 19,\n },\n numbers: [\n 'aldu_5',\n 'ald6_12',\n 'ald13_15',\n 'ald16_18',\n 'ald19_23',\n 'ald24_34',\n 'ald35_44',\n 'ald45_54',\n 'ald55_64',\n 'ald65_74',\n 'ald75_84',\n 'ald85_o',\n ],\n text: ['tot_anta', 'tot_kvinn', 'tot_menn'],\n textAvg: ['snitt_alde', 'snitt_kvinn', 'snitt_menn'],\n total: 'tot_anta',\n labels: {\n aldu_5: '5 år og under',\n ald6_12: '6-12 år',\n ald13_15: '13-15 år',\n ald16_18: '16-18 år',\n ald19_23: '19-23 år',\n ald24_34: '24-34 år',\n ald35_44: '35-44 år',\n ald45_54: '45-54 år',\n ald55_64: '55-64 år',\n ald65_74: '65-74 år',\n ald75_84: '75-84 år',\n ald85_o: '85 år og over',\n tot_anta: 'Totalt antall personer',\n tot_kvinn: 'Totalt antall kvinner',\n tot_menn: 'Totalt antall menn',\n snitt_alde: 'Snittalder',\n snitt_kvinn: 'Snittalder kvinner',\n snitt_menn: 'Snittalder menn',\n },\n units: {\n snitt_alde: ' år',\n snitt_kvinn: ' år',\n snitt_menn: ' år',\n },\n },\n education: {\n types: {\n basicDistrict: 73,\n municipality: 55,\n county: 36,\n },\n numbers: [\n 'grunnskole',\n 'videregaen',\n 'hogskole_u',\n 'hogskole_1',\n 'ingen_uopp',\n ],\n text: ['tot_u_niva'],\n total: 'tot_u_niva',\n labels: {\n grunnskole: 'Grunnskole',\n videregaen: 'Videregående',\n hogskole_u: 'Høgskole/universitet lavere utdanning',\n hogskole_1: 'Høgskole/universitet høyere utdanning',\n ingen_uopp: 'Ingen eller ikke oppgitt',\n tot_u_niva: 'Antall personer med utdanningsnivå',\n },\n },\n educationalField: {\n types: {\n basicDistrict: 72,\n municipality: 54,\n county: 35,\n },\n numbers: [\n 'allmenne_f',\n 'human_este',\n 'larerutdan',\n 'samfunnsfa',\n 'okonomiske',\n 'natvit_han',\n 'helse_sosi',\n 'primarnari',\n 'samferds_s',\n 'uoppgitt',\n ],\n text: ['tot_u_felt'],\n total: 'tot_u_felt',\n labels: {\n allmenne_f: 'Allmenne fag',\n human_este: 'Humanistiske og estetiske fag',\n larerutdan: 'Lærerutdanning',\n samfunnsfa: 'Samfunnsfag',\n okonomiske: 'Økonomiske fag',\n natvit_han: 'Naturvitenskap',\n helse_sosi: 'Helse- og sosialfag',\n primarnari: 'Primærnæringer',\n samferds_s: 'Samferdsel',\n uoppgitt: 'Uoppgitt',\n tot_u_felt: 'Antall personer med utdanningsfelt',\n },\n },\n income: {\n types: {\n basicDistrict: 69,\n municipality: 51,\n county: 32,\n },\n numbers: [\n 'int0',\n 'int0_100',\n 'int100_200',\n 'int200_300',\n 'int300_400',\n 'int400_500',\n 'int500_600',\n 'int600_700',\n 'int700_800',\n 'int800_1000',\n 'int1000_1500',\n 'int1500_',\n ],\n text: ['ant_personer'],\n textAvg: ['snitt_innt'],\n total: 'ant_personer',\n labels: {\n int0: '= 0',\n int0_100: '1 - 99.999',\n int100_200: '100.000 - 199.999',\n int200_300: '200.000 - 299.999',\n int300_400: '299.000 - 399.999',\n int400_500: '400.000 - 499.999',\n int500_600: '500.000 - 599.999',\n int600_700: '600.000 - 699.999',\n int700_800: '700.000 - 799.999',\n int800_1000: '800.000 - 999.999',\n int1000_1500: '1.000.000 - 1.499.999',\n int1500_: '> 1.500.000',\n ant_personer: 'Antall personer med formueinformasjon',\n snitt_innt: 'Gjennomsnittlig inntekt',\n },\n units: {\n snitt_innt: ' kr',\n },\n },\n fortune: {\n types: {\n basicDistrict: 65,\n municipality: 47,\n county: 28,\n },\n numbers: [\n 'for0',\n 'for0_50',\n 'for50_200',\n 'for200_400',\n 'for400_700',\n 'for700_1000',\n 'for1000_2000',\n 'for2000_3000',\n 'for3000_4000',\n 'for4000_',\n ],\n text: ['ant_personer'],\n textAvg: ['snitt_form'],\n total: 'ant_personer',\n labels: {\n for0: '= 0',\n for0_50: '1 - 49.999',\n for50_200: '50.000 - 199.999',\n for200_400: '200.000 - 399.999',\n for400_700: '400.000 - 699.999',\n for700_1000: '700.000 - 999.999',\n for1000_2000: '1.000.000 - 1.999.999',\n for2000_3000: '2.000.000 - 2.999.999',\n for3000_4000: '3.000.000 - 3.999.999',\n for4000_: '> 4.000.000',\n ant_personer: 'Antall personer med formueinformasjon',\n snitt_form: 'Gjennomsnittlig formue',\n },\n units: {\n snitt_form: ' kr',\n },\n },\n maritalStatus: {\n types: {\n basicDistrict: 71,\n municipality: 53,\n county: 34,\n },\n numbers: ['ugift_kvin', 'ugift_mann', 'gift', 'separert_s', 'enke_enkem'],\n text: ['tot_sivil'],\n total: 'tot_sivil',\n labels: {\n ugift_kvin: 'Ugifte kvinner',\n ugift_mann: 'Ugifte menn',\n gift: 'Gifte',\n separert_s: 'Separerte',\n enke_enkem: 'Enker og enkemenn',\n tot_sivil: 'Antall personer med sivilstand',\n },\n },\n houseHolds: {\n types: {\n basicDistrict: 66,\n municipality: 48,\n county: 29,\n },\n numbers: [\n 'flerfamili',\n 'enslig_u_b',\n 'enslig_m_b',\n 'par_u_barn',\n 'par_m_barn',\n ],\n text: ['total_hus', 'par', 'enslig'],\n total: 'total_hus',\n labels: {\n flerfamili: 'Flerfamilier',\n enslig_u_b: 'Enslige uten barn',\n enslig_m_b: 'Enslige med barn',\n par_u_barn: 'Par uten barn',\n par_m_barn: 'Par med barn',\n total_hus: 'Antall personer totalt',\n par: 'Totalt antall par',\n enslig: 'Totalt antall enslige',\n },\n },\n buildingsType: {\n types: {\n basicDistrict: 70,\n municipality: 52,\n county: 33,\n },\n numbers: [\n 'blokk',\n 'bofelleskap',\n 'enebolig',\n 'rekkehus',\n 'tomannsbolig',\n 'annen_bo',\n ],\n text: ['tot_bolig'],\n total: 'tot_bolig',\n labels: {\n blokk: 'Blokk',\n bofelleskap: 'Bofellesskap',\n enebolig: 'Enebolig',\n rekkehus: 'Rekkehus',\n tomannsbolig: 'Tomannsbolig',\n annen_bo: 'Annen bolig',\n tot_bolig: 'Antall personer med boligtype',\n },\n },\n employees: {\n types: {\n basicDistrict: 58,\n municipality: 39,\n county: 20,\n },\n numbers: ['ant_bo', 'ant_arb', 'ant_ut', 'ant_inn', 'bef_dag'],\n text: ['ant_bo', 'ant_arb', 'ant_ut', 'ant_inn', 'bef_dag', 'tot_anta'],\n total: 'tot_anta',\n labels: {\n ant_bo: 'Antall bosatte',\n ant_arb: 'Antall arbeidsplasser',\n ant_ut: `Antall utpendlere`,\n ant_inn: `Antall innpendlere`,\n bef_dag: 'Befolkning dagtid',\n tot_anta: 'Totalt antall personer',\n },\n },\n propertyPrices: {\n types: {\n basicDistrict: 64,\n municipality: 46,\n county: 27,\n },\n numbers: [\n 'eunder_500',\n 'e500_1000',\n 'e1000_1500',\n 'e1500_2000',\n 'e2000_2500',\n 'e2500_3000',\n 'e3000_4000',\n 'e4000_5000',\n 'e5000_6000',\n 'e6000_over',\n ],\n text: ['antall_omsetninger'],\n textAvg: ['snittpris'],\n total: 'antall_omsetninger',\n labels: {\n eunder_500: '< 500.000',\n e500_1000: '500.000 - 1 mill',\n e1000_1500: '1 - 1,5 mill',\n e1500_2000: '1,5 - 2 mill',\n e2000_2500: '2 - 2,5 mill',\n e2500_3000: '2,5 - 3 mill',\n e3000_4000: '3 - 4 mill',\n e4000_5000: '4 - 5 mill',\n e5000_6000: '5 - 6 mill',\n e6000_over: '> 6 mill',\n antall_omsetninger: 'Antall omsetninger totalt',\n snittpris: 'Gjennomsnittlig eiendomspris',\n },\n units: {\n snittpris: ' kr',\n },\n },\n buildingsOwnerType: {\n types: {\n basicDistrict: 63,\n municipality: 45,\n county: 26,\n },\n numbers: ['selveier', 'eier_i_bor', 'leier'],\n text: ['selveier', 'tot_boforhold'],\n total: 'tot_boforhold',\n labels: {\n selveier: 'Selveiere',\n eier_i_bor: 'Borettslag',\n leier: 'Leier',\n tot_boforhold: 'Antall personer totalt',\n },\n },\n buildingsArea: {\n types: {\n basicDistrict: 62,\n municipality: 44,\n county: 25,\n },\n numbers: [\n 'aru_50',\n 'ar50_59',\n 'ar60_79',\n 'ar80_99',\n 'ar100_119',\n 'ar120_139',\n 'ar140_159',\n 'ar160_199',\n 'ar200_249',\n 'ar250_o',\n 'ukjent',\n ],\n text: ['antallboenheterbolig'],\n textAvg: ['snittareal'],\n total: 'antallboenheterbolig',\n labels: {\n aru_50: '<= 50 kvm',\n ar50_59: '50 - 59 kvm',\n ar60_79: '60 - 79 kvm',\n ar80_99: '80 - 99 kvm',\n ar100_119: '100 - 119 kvm',\n ar120_139: '120 - 139 kvm',\n ar140_159: '140 - 159 kvm',\n ar160_199: '160 - 199 kvm',\n ar200_249: '200 - 249 kvm',\n ar250_o: '> 250 kvm',\n ukjent: 'Ukjent',\n antallboenheterbolig: 'Antall boligenheter',\n snittareal: 'Gjennomsnittlig boligareal',\n },\n units: {\n snittareal: 'm²',\n },\n },\n cabinOwners: {\n types: {\n basicDistrict: 67,\n municipality: 49,\n county: 30,\n },\n numbers: ['ant_fjell', 'ant_innland', 'ant_kyst'],\n text: ['tot_eiere', 'tot_andeler'],\n total: 'tot_eiere',\n labels: {\n ant_fjell: 'Fjellhytter',\n ant_innland: 'Innlandshytter',\n ant_kyst: 'Kysthytter',\n tot_eiere: 'Totalt antall hytteeiere',\n tot_andeler: 'Totalt antall hytter eid av hytteeierne',\n },\n },\n cabins: {\n types: {\n basicDistrict: 68,\n municipality: 50,\n county: 31,\n },\n numbers: ['ant_fjell', 'ant_innland', 'ant_kyst'],\n text: ['tot_hytter'],\n total: 'tot_hytter',\n labels: {\n ant_fjell: 'Fjellhytter',\n ant_innland: 'Innlandshytter',\n ant_kyst: 'Kysthytter',\n tot_hytter: 'Totalt antall hytter',\n },\n },\n};\n\nexport function getDemographyBaseQuery(): DemographyQuery {\n return {\n where: '',\n text: '',\n objectIds: '',\n time: '',\n timeRelation: 'esriTimeRelationOverlaps',\n geometry: '',\n geometryType: 'esriGeometryEnvelope',\n inSR: '',\n spatialRel: 'esriSpatialRelIntersects',\n distance: '',\n units: 'esriSRUnit_Meter',\n relationParam: '',\n outFields: '',\n returnGeometry: true,\n returnTrueCurves: false,\n maxAllowableOffset: '',\n geometryPrecision: '',\n outSR: '',\n havingClause: '',\n returnIdsOnly: false,\n returnCountOnly: false,\n orderByFields: '',\n groupByFieldsForStatistics: '',\n outStatistics: '',\n returnZ: false,\n returnM: false,\n gdbVersion: '',\n historicMoment: '',\n returnDistinctValues: false,\n resultOffset: '',\n resultRecordCount: '',\n returnExtentOnly: false,\n sqlFormat: 'none',\n datumTransformation: '',\n parameterValues: '',\n rangeValues: '',\n quantizationParameters: '',\n featureEncoding: 'esriDefault',\n f: 'html',\n };\n}\n\nexport async function queryDemography(\n type: number,\n query: DemographyQuery\n): Promise {\n const data = query as unknown as Record;\n\n data.token = await getGeodataToken();\n const keys = Object.keys(data);\n let url = `${process.env.VUE_APP_DEMOGRAPHY_ENDPOINT}/${encodeURIComponent(\n type\n )}/query?`;\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < keys.length; ++i) {\n if (!Object.prototype.hasOwnProperty.call(data, keys[i])) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (url.substring(url.length - 1) !== '?') {\n url += '&';\n }\n\n url += `${encodeURIComponent(keys[i])}=`;\n\n if (typeof data[keys[i]] === 'object') {\n url += encodeURIComponent(JSON.stringify(data[keys[i]]));\n } else {\n url += encodeURIComponent(String(data[keys[i]]));\n }\n }\n\n return fetch(url).then((response) => {\n if (!response.ok || response.status !== 200) {\n throw new Error(`Failed to fetch demography: ${response.status}`);\n }\n\n return response.json() as unknown as DemographyResult;\n });\n}\n\nexport function filterDemography(\n demography: DemographyResult,\n type: DemographyDataField\n): DemographyFiltered {\n const result: DemographyFiltered = {\n numbers: {},\n text: {},\n percent: {},\n };\n\n const keys = Object.keys(demography.features[0].attributes);\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < keys.length; ++i) {\n if (\n !Object.prototype.hasOwnProperty.call(\n demography.features[0].attributes,\n keys[i]\n )\n ) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const label = type.labels[keys[i]];\n\n if (!label) {\n Logger.warn(`${keys[i]} not in returned Demography data set`);\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const value = Number(demography.features[0].attributes[keys[i]]);\n const total = Number(demography.features[0].attributes[type.total]);\n\n if (Number.isNaN(value)) {\n if (\n keys[i] !== 'grunnkretsnavn' &&\n keys[i] !== 'kommunenavn' &&\n keys[i] !== 'fylkesnavn'\n ) {\n Logger.warn(\n `\"${label}\" value is unexpected NaN: ${\n demography.features[0].attributes[keys[i]]\n } (${value})`\n );\n }\n\n // eslint-disable-next-line no-continue\n continue;\n }\n\n let unit = '';\n\n if (\n type.units &&\n Object.prototype.hasOwnProperty.call(type.units, keys[i])\n ) {\n unit = type.units[keys[i]];\n }\n\n if (type.numbers.indexOf(keys[i]) !== -1) {\n result.numbers[label] = NumberFormat.format(Math.round(value)) + unit;\n result.percent[label] = Math.round((value / total) * 100) || 0;\n }\n\n if (type.text.indexOf(keys[i]) !== -1) {\n result.text[label] = NumberFormat.format(Math.round(value)) + unit;\n }\n\n if (type.textAvg && type.textAvg.indexOf(keys[i]) !== -1) {\n result.text[label] = NumberFormat.format(Math.round(value)) + unit;\n }\n }\n\n return result;\n}\n\nexport async function getDemographyFromExtent(\n type: number,\n fields: string[],\n geometry: Extent,\n outStatistics?: StatisticDefinition[]\n): Promise {\n const query = getDemographyBaseQuery();\n\n query.f = 'pjson';\n query.returnGeometry = false;\n query.outFields = fields.join(',');\n query.geometry = geometry;\n\n if (outStatistics) {\n query.outStatistics = outStatistics;\n }\n\n return queryDemography(type, query);\n}\n\nexport function getDemographyType(\n area: DemographyArea,\n type: DemographyDataField,\n geometry: Extent\n): Promise {\n const fields = [\n ...new Set([...type.numbers, ...type.text, ...(type.textAvg ?? [])]),\n ];\n\n const outStatistics = fields.map((field) => {\n const statisticType = type.textAvg?.includes(field) ? 'avg' : 'sum';\n\n return {\n statisticType,\n onStatisticField: field,\n outStatisticFieldName: field,\n } as StatisticDefinition;\n });\n\n return getDemographyFromExtent(\n type.types[area],\n fields,\n geometry,\n outStatistics\n ).then((result) => filterDemography(result, type));\n}\n\nexport function getDemographyAreaNames(\n geometry: Extent\n): Promise {\n return new Promise((resolve, reject) => {\n // TODO consider the need for this, maybe the area selector is not needed\n getDemographyFromExtent(\n 5,\n ['grunnkretsnavn', 'kommunenavn', 'fylkesnavn'],\n geometry\n )\n .then((result) => {\n const attrs = result.features[0].attributes;\n const response: DemographyAreaNames = {\n basicDistrict: '',\n municipality: '',\n county: '',\n };\n\n if (\n Object.prototype.hasOwnProperty.call(attrs, 'grunnkretsnavn') &&\n typeof attrs.grunnkretsnavn === 'string' &&\n attrs.grunnkretsnavn.length\n ) {\n response.basicDistrict = String(attrs.grunnkretsnavn);\n }\n\n if (\n Object.prototype.hasOwnProperty.call(attrs, 'kommunenavn') &&\n typeof attrs.kommunenavn === 'string' &&\n attrs.kommunenavn.length\n ) {\n response.municipality = String(attrs.kommunenavn);\n }\n\n if (\n Object.prototype.hasOwnProperty.call(attrs, 'fylkesnavn') &&\n typeof attrs.fylkesnavn === 'string' &&\n attrs.fylkesnavn.length\n ) {\n response.county = String(attrs.fylkesnavn);\n }\n\n resolve(response);\n })\n .catch(reject);\n });\n}\n","import TextUtil from '@/utilities/TextUtil';\nimport { LatLngExpression } from 'leaflet';\nimport {\n RealtyPresentationAddress,\n RealtyAddressIdent,\n RealtyDate,\n RealtyMunicipality,\n RealtyFeature,\n RealtyType,\n RealtyStreet,\n RealtyGeoJSON,\n RealtyLink,\n} from '../RealtyTypes';\n\nexport default class Address implements RealtyPresentationAddress {\n public ident: RealtyAddressIdent;\n\n public key: string;\n\n public updatedTime: RealtyDate;\n\n public updatedDate?: RealtyDate;\n\n public addressType: RealtyType;\n\n public municipality: RealtyMunicipality;\n\n public position: RealtyFeature;\n\n public eventStatus: number;\n\n public alternativeAddress: string;\n\n public shortName: string;\n\n public sourceOfAddressName: RealtyType;\n\n public street: RealtyStreet;\n\n public geojson: RealtyGeoJSON;\n\n public hasShare: boolean;\n\n public hasHousing: boolean;\n\n public hasHolidayHome: boolean;\n\n public links: {\n self: RealtyLink;\n cadastres: RealtyLink;\n buildings: RealtyLink;\n units: RealtyLink;\n districts: RealtyLink;\n shares: RealtyLink;\n street: RealtyLink;\n };\n\n constructor(item: RealtyPresentationAddress) {\n this.ident = item.ident;\n this.key = item.key;\n this.updatedTime = item.updatedTime;\n this.updatedDate = item.updatedDate;\n this.addressType = item.addressType;\n this.municipality = item.municipality;\n this.position = item.position;\n this.eventStatus = item.eventStatus;\n this.alternativeAddress = item.alternativeAddress;\n this.shortName = item.shortName;\n this.sourceOfAddressName = item.sourceOfAddressName;\n this.street = item.street;\n this.geojson = item.geojson;\n this.hasShare = item.hasShare;\n this.hasHousing = item.hasHousing;\n this.hasHolidayHome = item.hasHolidayHome;\n this.links = item.links;\n }\n\n public addressText(): string {\n if (this.isMatrikkelAddress()) {\n return this.key || 'Ukjent matrikkel';\n }\n\n let text = this.getStreetName();\n\n if (this.ident?.addressNumber) {\n text += ` ${this.ident.addressNumber}`;\n }\n\n if (this.ident?.letter) {\n text += ` ${this.ident.letter}`;\n }\n\n if (this.street && (this.street.postalCode || this.street.postalPlace)) {\n text += this.getPostalAddress();\n }\n\n return text;\n }\n\n private getStreetName(): string {\n if (this.street?.streetName) {\n return this.street.streetName;\n }\n\n if (this.alternativeAddress) {\n return new TextUtil(this.alternativeAddress).uCaseFirst();\n }\n\n if (this.shortName) {\n return new TextUtil(this.shortName).uCaseFirst();\n }\n\n if (this.key) {\n return this.key;\n }\n\n return 'Ukjent adresse';\n }\n\n public isStreetAddress(): boolean {\n return this?.street !== null && this.street?.ident !== null;\n }\n\n public isMatrikkelAddress(): boolean {\n return !this.isStreetAddress();\n }\n\n public postalPlaceName(): string | boolean {\n if (this.street !== null && this.street.postalPlace !== null) {\n return new TextUtil(this.street.postalPlace).uCaseFirst();\n }\n\n return false;\n }\n\n private getPostalAddress(): string {\n if (this.street.postalPlace && this.street.postalCode) {\n return `, ${this.street.postalCode\n .toString()\n .padStart(4, '0')} ${new TextUtil(\n this.street.postalPlace\n ).uCaseFirst()}`;\n }\n return '';\n }\n\n public latLng(): LatLngExpression {\n const [lng, lat] = this.position.geometry.coordinates;\n\n return {\n lat,\n lng,\n };\n }\n}\n","/* eslint-disable import/no-cycle */\n// @TODO: fix dependency cycle\nimport PropFinderMap from '@/components/Map/PropfinderMap';\n/* eslint-enable import/no-cycle */\n\nimport { LatLngExpression } from 'leaflet';\nimport {\n RealtyBuildings,\n RealtyDate,\n RealtyMunicipality,\n RealtyFeature,\n RealtyGeoJSON,\n RealtyType,\n RealtyFloor,\n RealtyBuildingHistory,\n RealtyLink,\n} from '../RealtyTypes';\n\nexport default class Building implements RealtyBuildings {\n public ident: {\n buildingNumber: number;\n };\n\n public key: string;\n\n public updatedDate: RealtyDate;\n\n public municipalityNumber: number;\n\n public municipality: RealtyMunicipality;\n\n public numberOfUnits: number;\n\n public hasElevator: boolean;\n\n public numberOfFloors: number;\n\n public totalFloorSpace: number;\n\n public totalAreaOfPrimarySpace: number;\n\n public areaOfSecondarySpace: number;\n\n public incompleteArea: boolean;\n\n public builtUpArea: number;\n\n public totalArea: number;\n\n public totalAreaHousing: number;\n\n public totalAlternateArea: number;\n\n public position: RealtyFeature;\n\n public geojson: RealtyGeoJSON;\n\n public buildingStatus: RealtyType;\n\n public typeOfBuilding: RealtyType;\n\n public industryGroup: RealtyType;\n\n public waterSupplyType: RealtyType;\n\n public dischargeType: RealtyType;\n\n public originType: RealtyType;\n\n public heatingType: RealtyType[];\n\n public energySourceType: RealtyType[];\n\n public approvedDate: RealtyDate;\n\n public registeredApprovedDate: RealtyDate;\n\n public startedDate: RealtyDate;\n\n public registeredStartedDate: RealtyDate;\n\n public usedDate: RealtyDate;\n\n public registeredUsedDate: RealtyDate;\n\n public buildingStatusHistory: RealtyBuildingHistory[];\n\n public floors: RealtyFloor[];\n\n public links: {\n self: RealtyLink;\n singleheritages: RealtyLink;\n buildingchanges: RealtyLink;\n culturalheritages: RealtyLink;\n cadastres: RealtyLink;\n addresses: RealtyLink;\n units: RealtyLink;\n contacts: RealtyLink;\n developers: RealtyLink;\n floors: RealtyLink;\n };\n\n constructor(item: RealtyBuildings) {\n this.ident = item.ident;\n this.key = item.key;\n this.updatedDate = item.updatedDate;\n this.municipalityNumber = item.municipalityNumber;\n this.municipality = item.municipality;\n this.numberOfUnits = item.numberOfUnits;\n this.hasElevator = item.hasElevator;\n this.numberOfFloors = item.numberOfFloors;\n this.totalFloorSpace = item.totalFloorSpace;\n this.totalAreaOfPrimarySpace = item.totalAreaOfPrimarySpace;\n this.areaOfSecondarySpace = item.areaOfSecondarySpace;\n this.incompleteArea = item.incompleteArea;\n this.builtUpArea = item.builtUpArea;\n this.totalArea = item.totalArea;\n this.totalAreaHousing = item.totalAreaHousing;\n this.totalAlternateArea = item.totalAlternateArea;\n this.position = item.position;\n this.geojson = item.geojson;\n this.buildingStatus = item.buildingStatus;\n this.typeOfBuilding = item.typeOfBuilding;\n this.industryGroup = item.industryGroup;\n this.waterSupplyType = item.waterSupplyType;\n this.dischargeType = item.dischargeType;\n this.originType = item.originType;\n this.heatingType = item.heatingType;\n this.energySourceType = item.energySourceType;\n this.approvedDate = item.approvedDate;\n this.registeredApprovedDate = item.registeredApprovedDate;\n this.startedDate = item.startedDate;\n this.registeredStartedDate = item.registeredStartedDate;\n this.usedDate = item.usedDate;\n this.registeredUsedDate = item.registeredUsedDate;\n this.buildingStatusHistory = item.buildingStatusHistory;\n this.floors = item.floors;\n this.links = item.links;\n }\n\n public hasRammetillatelse(): boolean {\n return (\n this.buildingStatusHistory.filter(\n (status: RealtyBuildingHistory) => status.buildingStatus.code === 'RA'\n ).length > 0\n );\n }\n\n public hasFerdigattest(): boolean {\n return (\n this.buildingStatusHistory.filter(\n (status: RealtyBuildingHistory) => status.buildingStatus.code === 'FA'\n ).length > 0\n );\n }\n\n public buildingStatusText(): string {\n if (this.buildingStatus === null) {\n return '';\n }\n\n const statusText: string = this.buildingStatus.text;\n\n return (\n statusText.charAt(0).toUpperCase() + statusText.slice(1).toLowerCase()\n );\n }\n\n public industryGroupText(): string {\n if (!this.industryGroup) {\n return 'Ikke registert';\n }\n\n const { text } = this.industryGroup;\n\n return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();\n }\n\n public latLng(): LatLngExpression {\n if (this.position === null) {\n return {\n lat: 0,\n lng: 0,\n };\n }\n\n return {\n lat: this.position.geometry.coordinates[1],\n lng: this.position.geometry.coordinates[0],\n };\n }\n\n static isMainFloor(floor: RealtyFloor): number {\n if (floor.totalUsableArea) {\n return floor.ident.floorLevelCode.code === 'H'\n ? floor.totalUsableArea\n : 0;\n }\n\n return 0;\n }\n\n public getBuiltUpArea(): number {\n let totalArea = 0;\n const boligAreal = this.builtUpArea;\n\n if (\n this.areaOfSecondarySpace > 1 &&\n this.floors &&\n this.floors.length <= 1\n ) {\n totalArea = this.areaOfSecondarySpace;\n } else if (this.builtUpArea > this.areaOfSecondarySpace) {\n totalArea = this.builtUpArea + this.areaOfSecondarySpace;\n } else if (boligAreal) {\n const mainFloor = this.floors.find((floor) =>\n Building.isMainFloor(floor)\n );\n\n if (mainFloor && mainFloor.totalUsableArea) {\n totalArea = mainFloor.totalUsableArea;\n }\n }\n\n if (this.builtUpArea < 2 && this.floors && this.floors.length >= 1) {\n const mainFloor = this.floors.find((floor) =>\n Building.isMainFloor(floor)\n );\n\n if (mainFloor && mainFloor.totalUsableArea) {\n totalArea = mainFloor.totalUsableArea;\n }\n }\n\n return totalArea;\n }\n\n public isNotWithinMap(propFinderMap: PropFinderMap): boolean {\n return !this.isWithinMap(propFinderMap);\n }\n\n public isWithinMap(propFinderMap: PropFinderMap): boolean {\n return propFinderMap.bounds().contains(this.latLng());\n }\n}\n","import { RealtyCadastreIdent } from '@/data/RealtyTypes';\n\nexport default class CadastreIdent implements RealtyCadastreIdent {\n public municipalityNumber: number;\n\n public cadastralUnitNumber: number;\n\n public unitNumber: number;\n\n public leaseholdUnitNumber: number;\n\n public sectionNumber: number;\n\n public section: boolean;\n\n public leasehold: boolean;\n\n constructor(ident: RealtyCadastreIdent) {\n this.municipalityNumber = ident.municipalityNumber;\n this.cadastralUnitNumber = ident.cadastralUnitNumber;\n this.unitNumber = ident.unitNumber;\n this.leaseholdUnitNumber = ident.leaseholdUnitNumber;\n this.sectionNumber = ident.sectionNumber;\n this.section = ident.section;\n this.leasehold = ident.leasehold;\n }\n\n public key(): string {\n return `${this.municipalityNumber}-${this.cadastralUnitNumber}-${this.unitNumber}-${this.leaseholdUnitNumber}-${this.sectionNumber}`;\n }\n\n public matrikkelText(): string {\n return `${this.municipalityNumber}/${this.cadastralUnitNumber}-${this.unitNumber}-${this.leaseholdUnitNumber}-${this.sectionNumber}`;\n }\n}\n","import { LatLngExpression } from 'leaflet';\nimport {\n RealtyPerson,\n RealtyDate,\n RealtyLocation,\n RealtyType,\n RealtyLink,\n} from '../RealtyTypes';\n\nexport default class Person implements RealtyPerson {\n public ident: {\n id: 0;\n };\n\n public key: string;\n\n public birthday: string;\n\n public dateOfBirth: RealtyDate;\n\n public organizationNumber: string;\n\n public personalNumberType: RealtyType;\n\n public sex: string;\n\n public age: number;\n\n public isNorwegianCitizen: boolean;\n\n public personalNumber: string;\n\n public givenName: string;\n\n public middleName: string;\n\n public familyName: string;\n\n public name: string;\n\n public location: RealtyLocation;\n\n public businessAddress: string;\n\n public postalAddress: string;\n\n public businessType: RealtyType;\n\n public industrialClassification: RealtyType[];\n\n public numberMainUnit: number;\n\n public deletionDate: RealtyDate;\n\n public foreignAddress: string;\n\n public dsfState: RealtyType;\n\n public hasProperty: boolean;\n\n public links: {\n self: RealtyLink;\n ownedCadastres: RealtyLink;\n ownedShares: RealtyLink;\n residence: RealtyLink;\n cadastreOwnerships: RealtyLink;\n unregisteredCadastreOwnerships: RealtyLink;\n shareOwnerships: RealtyLink;\n customerScore: RealtyLink;\n homeEquity: RealtyLink;\n };\n\n constructor(item: RealtyPerson) {\n this.ident = item.ident;\n this.key = item.key;\n this.birthday = item.birthday;\n this.dateOfBirth = item.dateOfBirth;\n this.organizationNumber = item.organizationNumber;\n this.personalNumberType = item.personalNumberType;\n this.sex = item.sex;\n this.age = item.age;\n this.isNorwegianCitizen = item.isNorwegianCitizen;\n this.personalNumber = item.personalNumber;\n this.givenName = item.givenName;\n this.middleName = item.middleName;\n this.familyName = item.familyName;\n this.name = item.name;\n this.location = item.location;\n this.businessAddress = item.businessAddress;\n this.postalAddress = item.postalAddress;\n this.businessType = item.businessType;\n this.industrialClassification = item.industrialClassification;\n this.numberMainUnit = item.numberMainUnit;\n this.deletionDate = item.deletionDate;\n this.foreignAddress = item.foreignAddress;\n this.dsfState = item.dsfState;\n this.hasProperty = item.hasProperty;\n this.links = item.links;\n }\n\n public fullName(): string {\n if (!this.isPhysicalPerson()) {\n return this.name;\n }\n\n return [this.givenName, this.middleName, this.familyName]\n .filter((namePart) => namePart)\n .join(' ');\n }\n\n public isPhysicalPerson(): boolean {\n return this.personalNumberType.code === 'F';\n }\n\n public latLng(): LatLngExpression {\n const [first, second] = this.location.position.geometry.coordinates;\n\n return {\n lat: second,\n lng: first,\n };\n }\n\n public locationText(): string {\n if (!this.location) {\n return '';\n }\n\n if (!this.location.street) {\n return this.location.municipality.municipalityName;\n }\n\n return this.addressText();\n }\n\n public addressText(): string {\n const { letter, street, addressNumber, postalPlace } = this.location;\n return [street, addressNumber, letter, postalPlace]\n .filter((part) => part)\n .join(' ');\n }\n}\n","import {\n RealtyOwnerShip,\n RealtyRegisterType,\n RealtyLink,\n RealtyType,\n} from '../RealtyTypes';\nimport CadastreIdent from './CadastreIdent';\nimport Person from './Person';\n\nexport default class Ownership implements RealtyOwnerShip {\n public ident: {\n cadastreIdent: CadastreIdent;\n ownershipNumber: number;\n cadastreLevel: string;\n };\n\n public key: string;\n\n public cadastreLevel: RealtyRegisterType;\n\n public fraction: {\n numerator: number;\n denominator: number;\n };\n\n public links: {\n self: RealtyLink;\n ownedCadastre: RealtyLink;\n owningPerson: RealtyLink;\n owningCadastre: RealtyLink;\n };\n\n public registered: boolean;\n\n public ownedCadastreIdent: CadastreIdent;\n\n public owningCadastreIdent: CadastreIdent | null;\n\n public useOfCadastre: RealtyType;\n\n public dwellingType: RealtyType;\n\n public ownerType: RealtyType;\n\n public owningPerson: Person | null;\n\n public numberOfOwnersOnLevel: number;\n\n public isResidence: boolean;\n\n public objectTypeName: string;\n\n constructor(item: RealtyOwnerShip) {\n this.ident = {\n cadastreIdent: new CadastreIdent(item.ident.cadastreIdent),\n ownershipNumber: item.ident.ownershipNumber,\n cadastreLevel: item.ident.cadastreLevel,\n };\n this.key = item.key;\n this.cadastreLevel = item.cadastreLevel;\n this.fraction = item.fraction;\n this.links = item.links;\n this.registered = item.registered;\n this.ownedCadastreIdent = new CadastreIdent(item.ownedCadastreIdent);\n this.owningCadastreIdent = null;\n this.useOfCadastre = item.useOfCadastre;\n this.dwellingType = item.dwellingType;\n this.ownerType = item.ownerType;\n\n if (item.owningPerson && item.owningPerson !== null) {\n this.owningPerson = new Person(item.owningPerson);\n } else {\n this.owningPerson = null;\n }\n\n if (item.owningCadastreIdent && item.owningCadastreIdent !== null) {\n this.owningCadastreIdent = new CadastreIdent(item.owningCadastreIdent);\n }\n\n this.numberOfOwnersOnLevel = item.numberOfOwnersOnLevel;\n this.isResidence = item.isResidence;\n this.objectTypeName = item.objectTypeName;\n }\n\n public ownerName(): string {\n if (this.ownerType.code === 'PERSON') {\n const person = this.getOwningPerson();\n\n if (person) {\n return person.fullName();\n }\n } else if (this.ownerType.code === 'CADASTRE') {\n const ident = this.getOwningCadastreIdent();\n\n if (ident) {\n return ident.matrikkelText();\n }\n }\n\n return '?';\n }\n\n public getOwnedCadastreIdent(): CadastreIdent {\n return this.ident.cadastreIdent;\n }\n\n public getOwningCadastreIdent(): CadastreIdent | null {\n return this.owningCadastreIdent;\n }\n\n public getOwningPerson(): Person | null {\n return this.owningPerson;\n }\n}\n","import {\n RealtyCadastreItem,\n RealtyFeature,\n RealtyCadastreExtent,\n RealtyGeoJSON,\n RealtyMunicipality,\n RealtyType,\n RealtyDate,\n RealtyCompany,\n RealtyLink,\n} from '../RealtyTypes';\nimport CadastreIdent from './CadastreIdent';\n\nexport default class Cadastre implements RealtyCadastreItem {\n public ident: CadastreIdent;\n\n public key: string;\n\n public position: RealtyFeature;\n\n public extent: RealtyCadastreExtent;\n\n public geojson: RealtyGeoJSON;\n\n public municipality: RealtyMunicipality;\n\n public isSectioned: boolean;\n\n public isHistoricalRegisteredLand: boolean;\n\n public isHistoricalTechnicalRegisteredLand: boolean;\n\n public isRegisteredLand: boolean;\n\n public isTechnicalRegisteredLand: boolean;\n\n public propertyType: RealtyType;\n\n public establishedDate: RealtyDate;\n\n public unitName: string;\n\n public specifiedArea: number;\n\n public areaSource: RealtyType;\n\n public unregisteredFarmCommonsArea: number;\n\n public areaSourceForUnregisteredFarmCommons: RealtyType;\n\n public disputedPlotArea: number;\n\n public areaSourceForDisputedPlot: RealtyType;\n\n public sharedArea: number;\n\n public areaSourceForSharedArea: RealtyType;\n\n public areaMainCadastre: number;\n\n public areaSourceForMainCadastre: RealtyType;\n\n public landTaxation: number;\n\n public pointHitch: boolean;\n\n public newRegistration: boolean;\n\n public agriculturalCadastre: boolean;\n\n public agriculture: {\n updatedDate: RealtyDate;\n agriculturalArea: number;\n otherArea: number;\n forestArea: number;\n fullGrownArea: number;\n cultivatedArea: number;\n pastureArea: number;\n companies: RealtyCompany[];\n };\n\n public industryGroup: RealtyType;\n\n public expired: boolean;\n\n public hasActiveLeasedLand: boolean;\n\n public hasNotedComplaint: boolean;\n\n public hasRegisteredLandAcquisition: boolean;\n\n public hasRegisteredLandConsolidationRequired: boolean;\n\n public hasOldCadastre: boolean;\n\n public includedInTotalRealEstate: boolean;\n\n public hasSingleHeritage: boolean;\n\n public hasSoilContamination: boolean;\n\n public hasHousing: boolean;\n\n public hasHolidayHome: boolean;\n\n public zeroConcession: boolean;\n\n public zeroConcessionMessage: string;\n\n public maxCadastreLevel: RealtyType;\n\n public numberOfPlots: number;\n\n public sourceSystem: RealtyType;\n\n public currentSectioning: {\n fraction: {\n numerator: number;\n denominator: number;\n };\n purpose: RealtyType;\n additionalPart: RealtyType;\n };\n\n public cityDistrict: {\n key: string;\n name: string;\n };\n\n public ownedByCooperative: boolean;\n\n public ownedByCorporation: boolean;\n\n public ownedByHousingCorporation: boolean;\n\n public links: {\n self: RealtyLink;\n owners: RealtyLink;\n buildings: RealtyLink;\n soilContaminations: RealtyLink;\n complaints: RealtyLink;\n sectionings: RealtyLink;\n sections: RealtyLink;\n plots: RealtyLink;\n realtyEstateUnits: RealtyLink;\n conveyances: RealtyLink;\n addresses: RealtyLink;\n units: RealtyLink;\n shares: RealtyLink;\n singleHeritages: RealtyLink;\n ownedByOwnerships: RealtyLink;\n ownershipsOwningThisCadastre: RealtyLink;\n ownedOwnerships: RealtyLink;\n ownershipsOwnedByThisCadastre: RealtyLink;\n unregisteredOwnershipsOwnedByThisCadastre: RealtyLink;\n unregisteredOwnershipsOwningThisCadastre: RealtyLink;\n affairs: RealtyLink;\n cadastrePDF: RealtyLink;\n cadastreWithPrivilegesPDF: RealtyLink;\n historicalCadastrePDF: RealtyLink;\n oldCadastrePDF: RealtyLink;\n technicalPDF: RealtyLink;\n simpleTechnicalPDF: RealtyLink;\n mapPDF: RealtyLink;\n simpleMapPDF: RealtyLink;\n mainCadastres: RealtyLink;\n liensCalculation: RealtyLink;\n housingValue: RealtyLink;\n surroundingHousingValues: RealtyLink;\n presentationAddress: RealtyLink;\n landRegistry: RealtyLink;\n };\n\n constructor(item: RealtyCadastreItem) {\n this.ident = new CadastreIdent(item.ident);\n this.key = item.key;\n this.position = item.position;\n this.extent = item.extent;\n this.geojson = item.geojson;\n this.municipality = item.municipality;\n this.isSectioned = item.isSectioned;\n this.isHistoricalRegisteredLand = item.isHistoricalRegisteredLand;\n this.isHistoricalTechnicalRegisteredLand =\n item.isHistoricalTechnicalRegisteredLand;\n this.isRegisteredLand = item.isRegisteredLand;\n this.isTechnicalRegisteredLand = item.isTechnicalRegisteredLand;\n this.propertyType = item.propertyType;\n this.establishedDate = item.establishedDate;\n this.unitName = item.unitName;\n this.specifiedArea = item.specifiedArea;\n this.areaSource = item.areaSource;\n this.unregisteredFarmCommonsArea = item.unregisteredFarmCommonsArea;\n this.areaSourceForUnregisteredFarmCommons =\n item.areaSourceForUnregisteredFarmCommons;\n this.disputedPlotArea = item.disputedPlotArea;\n this.areaSourceForDisputedPlot = item.areaSourceForDisputedPlot;\n this.sharedArea = item.sharedArea;\n this.areaSourceForSharedArea = item.areaSourceForSharedArea;\n this.areaMainCadastre = item.areaMainCadastre;\n this.areaSourceForMainCadastre = item.areaSourceForMainCadastre;\n this.landTaxation = item.landTaxation;\n this.pointHitch = item.pointHitch;\n this.newRegistration = item.newRegistration;\n this.agriculturalCadastre = item.agriculturalCadastre;\n this.agriculture = item.agriculture;\n this.industryGroup = item.industryGroup;\n this.expired = item.expired;\n this.hasActiveLeasedLand = item.hasActiveLeasedLand;\n this.hasNotedComplaint = item.hasNotedComplaint;\n this.hasRegisteredLandAcquisition = item.hasRegisteredLandAcquisition;\n this.hasRegisteredLandConsolidationRequired =\n item.hasRegisteredLandConsolidationRequired;\n this.hasOldCadastre = item.hasOldCadastre;\n this.includedInTotalRealEstate = item.includedInTotalRealEstate;\n this.hasSingleHeritage = item.hasSingleHeritage;\n this.hasSoilContamination = item.hasSoilContamination;\n this.hasHousing = item.hasHousing;\n this.hasHolidayHome = item.hasHolidayHome;\n this.zeroConcession = item.zeroConcession;\n this.zeroConcessionMessage = item.zeroConcessionMessage;\n this.maxCadastreLevel = item.maxCadastreLevel;\n this.numberOfPlots = item.numberOfPlots;\n this.sourceSystem = item.sourceSystem;\n this.currentSectioning = item.currentSectioning;\n this.cityDistrict = item.cityDistrict;\n this.ownedByCooperative = item.ownedByCooperative;\n this.ownedByCorporation = item.ownedByCorporation;\n this.ownedByHousingCorporation = item.ownedByHousingCorporation;\n this.links = item.links;\n }\n\n public isEierlosOrVannteig(): boolean {\n return this.isEierlos() || this.isVannteig();\n }\n\n public isVannteig(): boolean {\n return this.ident.cadastralUnitNumber === 0 && this.ident.unitNumber === 1;\n }\n\n public isEierlos(): boolean {\n return this.ident.cadastralUnitNumber === 0 && this.ident.unitNumber === 0;\n }\n\n public getCadastreIdent(): CadastreIdent {\n return this.ident;\n }\n\n public matrikkelText(): string {\n return this.getCadastreIdent().matrikkelText();\n }\n}\n","/* eslint-disable max-classes-per-file */\nimport * as RealtyTypes from '@/data/RealtyTypes';\n\n/* eslint-disable import/no-cycle */\n// @TODO: disable dependency cycles\nimport PropFinderMap from '@/components/Map/PropfinderMap';\nimport Building from './Building';\nimport Polygon from './Polygon';\nimport { PropertyData } from '../Realty';\n/* eslint-enable import/no-cycle */\n\nimport Heritage from './Heritage';\nimport SoilContamination from './SoilContamination';\nimport Address from './Address';\nimport Cadastre from './Cadastre';\nimport Ownership from './Ownership';\n\ninterface RealtyType {\n key: string;\n}\n\nclass RealtyFinder {\n // eslint-disable-next-line class-methods-use-this\n public find(objects: Type[] | null, key: string): Type | null {\n if (objects === null || objects.length === 0) {\n return null;\n }\n\n const results = objects.filter((object) => object.key === key);\n\n if (results) {\n return results[0];\n }\n\n return null;\n }\n}\n\nexport default class Property implements PropertyData {\n public polygon: Polygon | null;\n\n public ownerships: Ownership[];\n\n public address: Address | null;\n\n public buildings: Building[] | null;\n\n public latestConveyance: RealtyTypes.RealtyConveyances | null;\n\n public heritages: Heritage[] | null;\n\n public soilContaminations: SoilContamination[] | null;\n\n public cadastre: Cadastre;\n\n constructor(prop: PropertyData) {\n this.polygon = prop.polygon;\n this.ownerships = [];\n this.address =\n prop.address && prop.address !== null ? new Address(prop.address) : null;\n this.buildings = null;\n this.latestConveyance = prop.latestConveyance;\n this.heritages = prop.heritages;\n this.soilContaminations = prop.soilContaminations;\n this.cadastre = new Cadastre(prop.cadastre);\n\n if (this.polygon && (!this.polygon.type || !this.polygon.coordinates)) {\n this.polygon = null;\n }\n\n const buildings = prop.buildings?.map((building) => new Building(building));\n const ownerships = prop.ownerships?.map(\n (ownership) => new Ownership(ownership)\n );\n\n if (buildings) {\n this.buildings = buildings;\n }\n\n if (ownerships) {\n this.ownerships = ownerships;\n }\n }\n\n public isEierlosOrVannteig(): boolean {\n return this.getCadastre().isEierlosOrVannteig();\n }\n\n public getBuilding(key: string): Building | null {\n return new RealtyFinder().find(this.buildings, key);\n }\n\n public getBuildings(): Building[] {\n if (this.buildings === null) {\n return [];\n }\n\n return this.buildings;\n }\n\n public buildingArea(): number {\n return this.getBuildings()\n .map((building) => building.getBuiltUpArea())\n .filter((area) => area > 0)\n .reduce((total, area) => total + area, 0);\n }\n\n public getHeritage(key: string): Heritage | null {\n return new RealtyFinder().find(this.heritages, key);\n }\n\n public getSoilContamination(key: string): SoilContamination | null {\n return new RealtyFinder().find(\n this.soilContaminations,\n key\n );\n }\n\n public getAddress(): Address | null {\n return this.address;\n }\n\n public getCadastre(): Cadastre {\n return this.cadastre;\n }\n\n public getPolygon(): Polygon | null {\n return this.polygon;\n }\n\n public getOwnerships(): Ownership[] {\n if (this.ownerships === null) {\n return [];\n }\n\n return this.ownerships;\n }\n\n public isNotWithinMap(propFinderMap: PropFinderMap): boolean {\n if (this.polygon === null) {\n return true;\n }\n\n return this.polygon.isNotWithinMap(propFinderMap);\n }\n\n public isWithinMap(propFinderMap: PropFinderMap): boolean {\n if (this.polygon === null) {\n return false;\n }\n\n return this.polygon.isWithinMap(propFinderMap);\n }\n\n public addressText(): string {\n const address = this.getAddress();\n\n if (address === null) {\n return this.matrikkelText();\n }\n\n return address.addressText();\n }\n\n public matrikkelText(): string {\n return this.getCadastre().matrikkelText();\n }\n\n public cadastreKey(): string {\n return this.getCadastre().key;\n }\n\n /**\n * Area name of the property: City district (bydel) or municipality name\n * @returns {string|*}\n */\n public areaName(): string {\n const cadastre = this.getCadastre();\n\n if (cadastre.isEierlosOrVannteig()) {\n return '';\n }\n\n if (\n Object.prototype.hasOwnProperty.call(cadastre, 'cityDistrict') &&\n cadastre.cityDistrict\n ) {\n return cadastre.cityDistrict.name;\n }\n\n return cadastre.municipality.municipalityName;\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport { computed, watch } from 'vue';\nimport { Driver, driver } from 'driver.js';\nimport 'driver.js/dist/driver.css';\nimport { useOnboardingStore } from '@/store/onboarding';\nimport PTM from '@/utilities/PTM';\nimport { useRoute } from 'vue-router';\nimport logger from '@/utilities/Logger';\n\nconst EVENT_CATEGORY = 'Onboarding';\n\nenum Actions {\n skip = 'Skipped tour',\n start = 'Start tour',\n newTour = 'Want new tour',\n next = 'View next step',\n previous = 'View previous step',\n completed = 'Completed tour',\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'Onboarding',\n setup(__props) {\n\nconst onboardingStore = useOnboardingStore();\nconst route = useRoute();\nconst getTourID = (id: string) => {\n return `[tour-id=${id}]`;\n};\n\nconst steps = computed(() => {\n return onboardingStore.steps.map((step) => {\n const newStep = structuredClone(step);\n\n if (typeof newStep.element === 'string') {\n newStep.element = getTourID(newStep.element);\n }\n\n return newStep;\n });\n});\n\nconst logProgress = (action: string, driverObj: Driver) => {\n if (onboardingStore.currentTour) {\n const stepName = driverObj.getActiveStep()?.element;\n const stepIndex = driverObj.getActiveIndex() || 0;\n const stepTotal = onboardingStore.steps.length;\n const isDefaultTour = onboardingStore.currentTour === 'defaultTour';\n\n if (stepName === undefined && stepTotal === 0) {\n return;\n }\n\n if (isDefaultTour && action !== Actions.start) {\n return;\n }\n\n if (isDefaultTour) {\n PTM.event(EVENT_CATEGORY, Actions.newTour, route.path);\n } else {\n PTM.event(\n EVENT_CATEGORY,\n onboardingStore.currentTour,\n `${action} - ${stepIndex + 1}/${stepTotal} - ${stepName}`\n );\n }\n }\n};\n\nwatch(\n () => onboardingStore.steps,\n (value) => {\n if (value.length === 0) {\n return;\n }\n\n try {\n const driverObj = driver({\n showProgress: true,\n showButtons: ['next', 'previous', 'close'],\n steps: steps.value,\n nextBtnText: 'Neste',\n prevBtnText: 'Forrige',\n doneBtnText: 'Avslutt',\n progressText: '{{current}} av {{total}}',\n onPopoverRender: () => {\n if (driverObj.getActiveIndex() === 0) {\n logProgress(Actions.start, driverObj);\n }\n },\n onNextClick: () => {\n driverObj.moveNext();\n logProgress(Actions.next, driverObj);\n },\n onPrevClick: () => {\n driverObj.movePrevious();\n logProgress(Actions.previous, driverObj);\n },\n onDestroyStarted: () => {\n if (driverObj.isLastStep()) {\n logProgress(Actions.completed, driverObj);\n onboardingStore.completeCurrentTour();\n } else {\n logProgress(Actions.skip, driverObj);\n onboardingStore.skipCurrentTour();\n }\n\n driverObj.destroy();\n },\n });\n\n driverObj.drive();\n } catch (error) {\n logger.error('Error occured', error);\n }\n }\n);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\"))\n}\n}\n\n})","import script from \"./Onboarding.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Onboarding.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Onboarding.vue?vue&type=style&index=0&id=010546a4&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport Onboarding from '@/components/Onboarding/Onboarding.vue';\nimport { useOnboardingStore } from '@/store/onboarding';\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\nconst onboardingStore = useOnboardingStore();\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(Onboarding, {\n steps: _unref(onboardingStore).steps\n }, null, 8, [\"steps\"]),\n _createVNode(_component_router_view)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { createApp, markRaw } from 'vue';\nimport {\n coreActions,\n coreStore,\n constants,\n} from '@ambita/ambita-components-core';\nimport { AwsRum, AwsRumConfig } from 'aws-rum-web';\nimport { createPinia } from 'pinia';\nimport App from './App.vue';\nimport router from './router';\nimport logger from './utilities/Logger';\nimport '@/css/index.scss';\n\ndeclare module '@vue/runtime-core' {\n export interface ComponentCustomProperties {\n hasTouchScreen: boolean;\n }\n}\n\nconst app = createApp(App);\nconst pinia = createPinia();\napp.config.globalProperties.window = window;\n\n// Remove title to enable SEO component to do it's magic.\ndocument.querySelector('head title')?.remove();\n\nconst { core: coreConstants } = constants;\n\n/* Function based on Mozilla's mobile device detection recommendations */\nfunction hasTouchScreen(): boolean {\n if (Object.prototype.hasOwnProperty.call(navigator, 'maxTouchPoints')) {\n return navigator.maxTouchPoints > 0;\n }\n if (Object.prototype.hasOwnProperty.call(navigator, 'msMaxTouchPoints')) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (navigator as any).msMaxTouchPoints > 0;\n }\n const mQ =\n Object.prototype.hasOwnProperty.call(window, 'matchMedia') &&\n matchMedia('(pointer:coarse)');\n\n if (mQ && mQ.media === '(pointer:coarse)') {\n return !!mQ.matches;\n }\n if (Object.prototype.hasOwnProperty.call(window, 'orientation')) {\n return true; // deprecated, but good fallback\n }\n // Only as a last resort, fall back to user agent sniffing\n const UA = navigator.userAgent;\n return (\n /\\b(BlackBerry|webOS|iPhone|IEMobile)\\b/i.test(UA) ||\n /\\b(Android|Windows Phone|iPad|iPod)\\b/i.test(UA)\n );\n}\n\nnew Promise((resolve) => {\n const onAuthEvent = function authEvent() {\n coreStore.off(coreConstants.USER_CHANGE_EVENT, onAuthEvent);\n coreStore.off(coreConstants.TOKEN_NOT_FOUND_EVENT, onAuthEvent);\n resolve();\n };\n\n coreStore.on(coreConstants.USER_CHANGE_EVENT, onAuthEvent);\n coreStore.on(coreConstants.TOKEN_NOT_FOUND_EVENT, onAuthEvent);\n\n coreActions.changeSettings({\n environment: String(process.env.VUE_APP_CORE_ENV),\n currency: ',-',\n currencySymbolPosition: 'suffix',\n dateFormat: 'shortDate',\n clientId: String(process.env.VUE_APP_CLIENT_ID),\n });\n})\n .then(() => {\n app.config.globalProperties.hasTouchScreen = hasTouchScreen();\n app.use(router);\n\n pinia.use(({ store }) => {\n // eslint-disable-next-line no-param-reassign\n store.router = markRaw(router);\n });\n app.use(pinia);\n\n app.mount('#app');\n })\n .catch((error: Error) => {\n logger.error(error);\n });\n\nif (process.env.NODE_ENV !== 'production') {\n window.addEventListener('unhandledrejection', (promiseRejectionEvent) => {\n logger.warn('Unhandled rejection detected.');\n logger.error(promiseRejectionEvent);\n return false;\n });\n\n window.addEventListener('error', (error) => {\n logger.warn(\n `Unhandled error detected ${error.lineno}@${error.filename} (col: ${error.colno}).`\n );\n logger.error(error);\n return false;\n });\n}\nconst ENVIRONMENT = process.env.NODE_ENV || 'development';\nif (['production', 'beta'].includes(ENVIRONMENT)) {\n const {\n VUE_APP_RUM_ID,\n VUE_APP_RUM_ARN,\n VUE_APP_RUM_IDENTITY_POOL_ID,\n VUE_APP_RUM_REGION,\n VUE_APP_RUM_ENDPOINT,\n VUE_APP_PROPFINDER_VERSION,\n } = process.env;\n\n const listener = (event: Event) => {\n window.removeEventListener('PiwikConsents', listener);\n const e = event as unknown as Record;\n\n if (!e.consents || !e.consents.includes('user_feedback')) {\n return;\n }\n\n try {\n const config: AwsRumConfig = {\n sessionSampleRate: 1,\n guestRoleArn: VUE_APP_RUM_ARN,\n identityPoolId: VUE_APP_RUM_IDENTITY_POOL_ID,\n endpoint: VUE_APP_RUM_ENDPOINT,\n allowCookies: true,\n enableXRay: true,\n telemetries: [\n 'performance',\n 'errors',\n [\n 'http',\n {\n urlsToExclude: [\n /^https:\\/\\/vector\\.services\\.geodataonline\\.no/gm,\n ],\n },\n ],\n ],\n };\n\n const APPLICATION_ID = VUE_APP_RUM_ID || '';\n const APPLICATION_VERSION =\n VUE_APP_PROPFINDER_VERSION || 'NO_VERSION_SET';\n const APPLICATION_REGION = VUE_APP_RUM_REGION || 'eu-west-1';\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const awsRum: AwsRum = new AwsRum(\n APPLICATION_ID,\n APPLICATION_VERSION,\n APPLICATION_REGION,\n config\n );\n } catch (error) {\n // Ignore errors thrown during CloudWatch RUM web client initialization\n }\n };\n\n window.addEventListener('PiwikConsents', listener);\n}\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createVNode as _createVNode, withModifiers as _withModifiers, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, Fragment as _Fragment } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_SummaryPropertiesEmptyState = _resolveComponent(\"SummaryPropertiesEmptyState\")!\n const _component_AuxSpinner = _resolveComponent(\"AuxSpinner\")!\n const _component_printer_icon = _resolveComponent(\"printer-icon\")!\n const _component_panel_hr = _resolveComponent(\"panel-hr\")!\n const _component_panel_column = _resolveComponent(\"panel-column\")!\n const _component_panel_row = _resolveComponent(\"panel-row\")!\n const _component_SelectedProperties = _resolveComponent(\"SelectedProperties\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (\n _ctx.projectStore.selectedCadastres.length === 0 && _ctx.projectStore.projectLoaded\n )\n ? (_openBlock(), _createBlock(_component_SummaryPropertiesEmptyState, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (!_ctx.projectStore.projectLoaded)\n ? (_openBlock(), _createBlock(_component_AuxSpinner, { key: 1 }, {\n default: _withCtx(() => _cache[1] || (_cache[1] = [\n _createTextVNode(\"Laster eiendommer\")\n ])),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (\n _ctx.projectStore.selectedCadastres.length > 0 && _ctx.projectStore.projectLoaded\n )\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 2,\n class: _normalizeClass(_ctx.panelStyle.panel)\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.panelStyle.header)\n }, \"Oppsummert\", 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.panelStyle.report)\n }, [\n _createElementVNode(\"a\", {\n href: \"javascript:void(0)\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(() => _ctx.$emit('generateReport'), [\"prevent\"]))\n }, [\n _createVNode(_component_printer_icon, {\n width: \"32\",\n height: \"32\"\n }),\n _cache[2] || (_cache[2] = _createTextVNode(\"Skriv ut / del rapport \"))\n ])\n ], 2),\n _createVNode(_component_panel_hr),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Total areal\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(`${_ctx.NumberFormat.format(_ctx.projectStore.getTotalSelectedArea)} m²`), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_hr),\n _createVNode(_component_SelectedProperties)\n ], 2))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"data-columns\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"row\",\n \"data-columns\": _ctx.columns\n }, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ], 8, _hoisted_1))\n}","\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n name: 'PanelRow',\n props: {\n columns: {\n type: String,\n required: false,\n default: '1',\n },\n },\n});\n","import { render } from \"./PanelRow.vue?vue&type=template&id=de0bb992&scoped=true&ts=true\"\nimport script from \"./PanelRow.vue?vue&type=script&lang=ts\"\nexport * from \"./PanelRow.vue?vue&type=script&lang=ts\"\n\nimport \"./PanelRow.vue?vue&type=style&index=0&id=de0bb992&lang=scss&scoped=true\"\nconst cssModules = {}\nimport style1 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=1&lang=scss&module=true\"\ncssModules[\"$style\"] = style1\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules],['__scopeId',\"data-v-de0bb992\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"column\" }\nconst _hoisted_2 = { class: \"title\" }\nconst _hoisted_3 = { class: \"value\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.title), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ])\n ]))\n}","\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n name: 'PanelColumn',\n props: {\n title: {\n type: String,\n required: true,\n },\n },\n});\n","import { render } from \"./PanelColumn.vue?vue&type=template&id=8bb6fdec&scoped=true&ts=true\"\nimport script from \"./PanelColumn.vue?vue&type=script&lang=ts\"\nexport * from \"./PanelColumn.vue?vue&type=script&lang=ts\"\n\nimport \"./PanelColumn.vue?vue&type=style&index=0&id=8bb6fdec&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-8bb6fdec\"]])\n\nexport default __exports__","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"index\", \"onMouseenter\", \"onFocus\"]\nconst _hoisted_2 = [\"onClick\"]\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_aux_modal = _resolveComponent(\"aux-modal\")!\n const _component_panel_column = _resolveComponent(\"panel-column\")!\n const _component_panel_row = _resolveComponent(\"panel-row\")!\n const _component_x_icon = _resolveComponent(\"x-icon\")!\n const _component_caret_right_icon = _resolveComponent(\"caret-right-icon\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n (_ctx.state.showDeleteModal)\n ? (_openBlock(), _createBlock(_component_aux_modal, {\n key: 0,\n title: \"Fjern lagrede tomter\",\n size: \"medium\",\n actions: _ctx.modalActions,\n onCloseModal: _ctx.toggleDeletePropertiesDialog,\n onDelete: _ctx.removeAllProperties\n }, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [\n _createTextVNode(\" Er du sikker på at du vil tømme listen over lagrede tomter? Handlingen kan ikke angres. \")\n ])),\n _: 1\n }, 8, [\"actions\", \"onCloseModal\", \"onDelete\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, {\n title: \"\",\n style: {\"width\":\"60%\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", {\n class: _normalizeClass(_ctx.panelStyle.title)\n }, \" Lagrede tomter (\" + _toDisplayString(_ctx.projectStore.selectedCadastres.length) + \") \", 3)\n ]),\n _: 1\n }),\n (_ctx.projectStore.selectedCadastres.length > 0)\n ? (_openBlock(), _createBlock(_component_panel_column, {\n key: 0,\n title: \"\",\n style: {\"width\":\"40%\",\"border\":\"none\"}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: \"javascript:void(0)\",\n class: _normalizeClass(_ctx.panelStyle.title),\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.toggleDeletePropertiesDialog && _ctx.toggleDeletePropertiesDialog(...args)))\n }, \" Fjern alle \", 2)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createElementVNode(\"ul\", {\n class: _normalizeClass(_ctx.panelStyle.details__list)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.projectStore.selectedProperties, (property) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: property.cadastre.key,\n index: property,\n class: _normalizeClass(_ctx.panelStyle.details__list__item),\n onMouseenter: ($event: any) => (_ctx.handleMouseHover(property.cadastre.key)),\n onMouseleave: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.handleMouseOut && _ctx.handleMouseOut(...args))),\n onFocus: ($event: any) => (_ctx.handleMouseHover(property.cadastre.key)),\n onBlur: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.handleMouseOut && _ctx.handleMouseOut(...args)))\n }, [\n _createElementVNode(\"button\", {\n class: \"remove-property\",\n onClick: ($event: any) => (_ctx.removeProperty(property.cadastre.key))\n }, [\n _createVNode(_component_x_icon, {\n width: \"30\",\n height: \"30\"\n })\n ], 8, _hoisted_2),\n _createVNode(_component_router_link, {\n class: _normalizeClass(_ctx.panelStyle.details__list__item__link),\n to: `${_ctx.projectStore.getProjectRoute}/${property.cadastre.key}`,\n onClick: ($event: any) => (_ctx.navigateToProperty(property.cadastre.key))\n }, {\n default: _withCtx(() => [\n (property.address?.street?.streetName)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, _toDisplayString(property.address?.street?.streetName) + \" \" + _toDisplayString(property.address?.ident.addressNumber) + \" \" + _toDisplayString(property.address?.ident.letter), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(property.cadastre.key), 1)),\n _createVNode(_component_caret_right_icon, {\n width: \"30\",\n height: \"30\",\n class: _normalizeClass(_ctx.panelStyle.details__list__item__arrow)\n }, null, 8, [\"class\"])\n ]),\n _: 2\n }, 1032, [\"class\", \"to\", \"onClick\"])\n ], 42, _hoisted_1))\n }), 128))\n ], 2)\n ]))\n}","\nimport { defineComponent, reactive } from 'vue';\nimport { AuxModal } from '@ambita/design-system';\nimport PanelRow from '@/components/PanelSystem/PanelRow.vue';\nimport PanelColumn from '@/components/PanelSystem/PanelColumn.vue';\nimport XIcon from '@icons/regular/x.svg';\nimport CaretRightIcon from '@icons/regular/caret-right.svg';\nimport { useProjectStore } from '@/store/project';\nimport { storeToRefs } from 'pinia';\n\nexport default defineComponent({\n name: 'SelectedProperties',\n components: {\n AuxModal,\n XIcon,\n CaretRightIcon,\n PanelRow,\n PanelColumn,\n },\n setup() {\n const projectStore = useProjectStore();\n const { getCadastres } = storeToRefs(projectStore);\n const state = reactive({\n showDeleteModal: false,\n });\n\n const toggleDeletePropertiesDialog = () => {\n state.showDeleteModal = !state.showDeleteModal;\n };\n\n const removeAllProperties = () => {\n projectStore.removeAllProperties(true);\n state.showDeleteModal = false;\n };\n\n const removeProperty = (cadastreKey: string) => {\n projectStore.removeProperty(cadastreKey);\n projectStore.setHoverProperty(null);\n };\n\n const handleMouseHover = (cadastre: string): void => {\n projectStore.setHoverProperty(cadastre);\n };\n\n const handleMouseOut = (): void => {\n projectStore.setHoverProperty(null);\n };\n\n const navigateToProperty = (cadastreKey: string): void => {\n projectStore.setHoverProperty(null);\n projectStore.setCurrentProperty(cadastreKey);\n };\n\n return {\n state,\n projectStore,\n handleMouseHover,\n handleMouseOut,\n navigateToProperty,\n removeAllProperties,\n removeProperty,\n toggleDeletePropertiesDialog,\n getCadastres,\n modalActions: [\n {\n label: 'Fjern alle lagrede tomter',\n emit: 'delete',\n primary: true,\n },\n {\n label: 'Avbryt',\n emit: 'close-modal',\n },\n ],\n };\n },\n});\n","import { render } from \"./SelectedProperties.vue?vue&type=template&id=502cf3ea&scoped=true&ts=true\"\nimport script from \"./SelectedProperties.vue?vue&type=script&lang=ts\"\nexport * from \"./SelectedProperties.vue?vue&type=script&lang=ts\"\n\nimport \"./SelectedProperties.vue?vue&type=style&index=0&id=502cf3ea&lang=scss&scoped=true\"\nconst cssModules = {}\nimport style1 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=1&lang=scss&module=panelStyle\"\ncssModules[\"panelStyle\"] = style1\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules],['__scopeId',\"data-v-502cf3ea\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"hr\"))\n}","\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({});\n","import { render } from \"./PanelHr.vue?vue&type=template&id=3e84e83e&scoped=true&ts=true\"\nimport script from \"./PanelHr.vue?vue&type=script&lang=ts\"\nexport * from \"./PanelHr.vue?vue&type=script&lang=ts\"\n\nimport \"./PanelHr.vue?vue&type=style&index=0&id=3e84e83e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3e84e83e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, renderSlot as _renderSlot, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport ProjectSaveFirstPropertyEmptyStateSvg from '@/assets/img/ProjectSaveFirstPropertyEmptyState.svg';\nimport EmptyState from '@/components/EmptyState/EmptyState.vue';\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'SummaryPropertiesEmptyState',\n setup(__props) {\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(EmptyState, {\n title: \"Ingen tomt valgt\",\n subtitle: \"Du må velge en tomt i kartet for å kunne se eiendomsinformasjon.\\nDu kan også lagre flere tomter til prosjektet og se de i sammenheng under oppsummeringen.\"\n }, {\n illustration: _withCtx(() => [\n _createVNode(_unref(ProjectSaveFirstPropertyEmptyStateSvg))\n ]),\n cta: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }))\n}\n}\n\n})","import script from \"./SummaryPropertiesEmptyState.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SummaryPropertiesEmptyState.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./SummaryPropertiesEmptyState.vue?vue&type=style&index=0&id=17b520b4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-17b520b4\"]])\n\nexport default __exports__","\nimport { defineComponent, PropType } from 'vue';\nimport PanelRow from '@/components/PanelSystem/PanelRow.vue';\nimport PanelColumn from '@/components/PanelSystem/PanelColumn.vue';\nimport SelectedProperties from '@/components/PropertyDetailsPanel/SelectedProperties/SelectedProperties.vue';\nimport PropertySelection from '@/data/wrapper/PropertySelection';\nimport Polygon from '@/data/wrapper/Polygon';\nimport PrinterIcon from '@icons/regular/printer.svg';\nimport { useProjectStore } from '@/store/project';\nimport PanelHr from '@/components/PanelSystem/PanelHr.vue';\nimport SummaryPropertiesEmptyState from '@/components/PropertyDetailsPanel/SummaryComponent/SummaryPropertiesEmptyState.vue';\nimport { AuxSpinner } from '@ambita/design-system';\n\nexport default defineComponent({\n name: 'Summary',\n inheritAttrs: false,\n components: {\n PanelHr,\n PanelRow,\n PanelColumn,\n SelectedProperties,\n PrinterIcon,\n SummaryPropertiesEmptyState,\n AuxSpinner,\n },\n props: {\n selectedProperties: {\n type: Object as PropType | null,\n default: null,\n },\n },\n emits: [\n 'setHighlightedPolygon',\n 'clearHighlightedPolygon',\n 'removeSelectedProperties',\n 'removeProperty',\n 'moveToSelectedProperties',\n 'generateReport',\n ],\n setup() {\n const projectStore = useProjectStore();\n\n const NumberFormat = new Intl.NumberFormat(['nb-NO']);\n\n return {\n projectStore,\n NumberFormat,\n };\n },\n mounted() {\n this.$emit('moveToSelectedProperties');\n },\n methods: {\n setHighlightedPolygon(pol: Polygon): void {\n this.$emit('setHighlightedPolygon', pol);\n },\n clearHighlightedPolygon(): void {\n this.$emit('clearHighlightedPolygon');\n },\n removeSelectedProperties(): void {\n this.$emit('removeSelectedProperties');\n },\n removeProperty(key: string): void {\n this.$emit('removeProperty', key);\n },\n },\n});\n","import { render } from \"./Summary.vue?vue&type=template&id=da8f462c&scoped=true&ts=true\"\nimport script from \"./Summary.vue?vue&type=script&lang=ts\"\nexport * from \"./Summary.vue?vue&type=script&lang=ts\"\n\nimport \"./Summary.vue?vue&type=style&index=0&id=da8f462c&lang=scss&scoped=true\"\nconst cssModules = {}\nimport style1 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=1&lang=scss&module=panelStyle\"\ncssModules[\"panelStyle\"] = style1\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules],['__scopeId',\"data-v-da8f462c\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, normalizeClass as _normalizeClass, createElementBlock as _createElementBlock, Fragment as _Fragment, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = { class: \"property-details-header\" }\nconst _hoisted_2 = [\"data-testid\"]\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { class: \"property-details-categories-list\" }\nconst _hoisted_5 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PanelBackButton = _resolveComponent(\"PanelBackButton\")!\n const _component_PanelSpinner = _resolveComponent(\"PanelSpinner\")!\n const _component_AuxBanner = _resolveComponent(\"AuxBanner\")!\n const _component_aux_spinner = _resolveComponent(\"aux-spinner\")!\n const _component_star_filled_icon = _resolveComponent(\"star-filled-icon\")!\n const _component_aux_button = _resolveComponent(\"aux-button\")!\n const _component_star_icon = _resolveComponent(\"star-icon\")!\n const _component_aux_banner = _resolveComponent(\"aux-banner\")!\n const _component_printer_icon = _resolveComponent(\"printer-icon\")!\n const _component_arrow_square_icon = _resolveComponent(\"arrow-square-icon\")!\n const _component_crosshair_icon = _resolveComponent(\"crosshair-icon\")!\n const _component_panel_hr = _resolveComponent(\"panel-hr\")!\n const _component_panel_title = _resolveComponent(\"panel-title\")!\n const _component_panel_column = _resolveComponent(\"panel-column\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_panel_row = _resolveComponent(\"panel-row\")!\n const _component_owner_list = _resolveComponent(\"owner-list\")!\n const _component_PanelYesNoLabel = _resolveComponent(\"PanelYesNoLabel\")!\n const _component_panel_group = _resolveComponent(\"panel-group\")!\n const _component_ValueEstimate = _resolveComponent(\"ValueEstimate\")!\n const _component_DocumentsList = _resolveComponent(\"DocumentsList\")!\n const _component_caret_right_icon = _resolveComponent(\"caret-right-icon\")!\n const _component_plan_list = _resolveComponent(\"plan-list\")!\n const _component_section_list = _resolveComponent(\"section-list\")!\n const _component_buildings_list = _resolveComponent(\"buildings-list\")!\n const _component_heritages_list = _resolveComponent(\"heritages-list\")!\n const _component_soil_contaminations = _resolveComponent(\"soil-contaminations\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (!_ctx.isSection())\n ? (_openBlock(), _createBlock(_component_PanelBackButton, {\n key: 0,\n to: `${_ctx.projectStore.getProjectRoute}/valgte`,\n label: \"Oppsummering\",\n onClick: _ctx.removeMarker\n }, null, 8, [\"to\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isSection())\n ? (_openBlock(), _createBlock(_component_PanelBackButton, {\n key: 1,\n to: `${_ctx.projectStore.getProjectRoute}/${_ctx.getMainCadastre()}`,\n label: `Grunneiendom: ${_ctx.getMainCadastre()} `,\n onClick: _ctx.removeMarker\n }, null, 8, [\"to\", \"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isLoading && !_ctx.errorMessage)\n ? (_openBlock(), _createBlock(_component_PanelSpinner, { key: 2 }, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [\n _createTextVNode(\" Henter informasjon om eiendommen \")\n ])),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.errorMessage)\n ? (_openBlock(), _createBlock(_component_AuxBanner, {\n key: 3,\n class: \"error-banner\",\n type: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.errorMessage), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.currentProperty !== null && !_ctx.isLoading)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 4 }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _cache[6] || (_cache[6] = _createElementVNode(\"h4\", null, \"Eiendomsinformasjon\", -1)),\n (_ctx.savingProperty)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass(_ctx.panelStyle.w20)\n }, [\n _createVNode(_component_aux_spinner, { size: \"small\" })\n ], 2))\n : (_ctx.isSaved)\n ? (_openBlock(), _createBlock(_component_aux_button, {\n key: 1,\n onClick: _ctx.deleteProperty,\n size: \"small\",\n \"tour-id\": \"toggle-property-save-state\"\n }, {\n left: _withCtx(() => [\n _createVNode(_component_star_filled_icon, { width: \"1.5em\" })\n ]),\n default: _withCtx(() => [\n _cache[4] || (_cache[4] = _createTextVNode(\" Fjern tomt \"))\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : (_openBlock(), _createBlock(_component_aux_button, {\n key: 2,\n onClick: _ctx.saveProperty,\n size: \"small\",\n \"tour-id\": \"toggle-property-save-state\"\n }, {\n left: _withCtx(() => [\n _createVNode(_component_star_icon, { width: \"1.5em\" })\n ]),\n default: _withCtx(() => [\n _cache[5] || (_cache[5] = _createTextVNode(\" Lagre tomt \"))\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n ]),\n (_ctx.savePropertyError)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass(_ctx.panelStyle.errorBanner)\n }, [\n _createVNode(_component_aux_banner, { type: \"error\" }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [\n _createTextVNode(\"Klarte ikke oppdatere eiendom.\")\n ])),\n _: 1\n })\n ], 2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: \"property-details-button\",\n \"data-testid\": _ctx.getTestid('topBtns')\n }, [\n _createVNode(_component_aux_button, {\n onClick: _cache[0] || (_cache[0] = () => _ctx.$emit('generateReport', _ctx.currentProperty?.cadastreKey())),\n size: \"small\",\n \"tour-id\": \"generate-report\"\n }, {\n left: _withCtx(() => [\n _createVNode(_component_printer_icon)\n ]),\n default: _withCtx(() => [\n _cache[8] || (_cache[8] = _createTextVNode(\" Rapport \"))\n ]),\n _: 1\n }),\n _createVNode(_component_aux_button, {\n onClick: _ctx.goToStreetView,\n size: \"small\"\n }, {\n left: _withCtx(() => [\n _createVNode(_component_arrow_square_icon)\n ]),\n default: _withCtx(() => [\n _cache[9] || (_cache[9] = _createTextVNode(\" Google streetview \"))\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_aux_button, {\n onClick: _ctx.displayPropertyInMap,\n size: \"small\"\n }, {\n left: _withCtx(() => [\n _createVNode(_component_crosshair_icon)\n ]),\n default: _withCtx(() => [\n _cache[10] || (_cache[10] = _createTextVNode(\" Vis i kartet \"))\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ], 8, _hoisted_2),\n _createVNode(_component_panel_hr),\n _createElementVNode(\"div\", null, [\n (_ctx.currentProperty.getPolygon() === null)\n ? (_openBlock(), _createBlock(_component_AuxBanner, {\n key: 0,\n class: \"error-banner\",\n type: \"warning\"\n }, {\n default: _withCtx(() => [\n _cache[11] || (_cache[11] = _createTextVNode(\" Eiendommen kan ikke vises i kartet. \")),\n (_ctx.currentProperty.sections && _ctx.currentProperty.sections.length > 0)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(\" Se seksjon for tilhørende tomtegrenser. \")\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_panel_title, { title: \"Om eiendommen\" }),\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Matrikkelnummer\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.currentProperty.cadastre.key), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"Grunneiendom\" }, {\n default: _withCtx(() => [\n (_ctx.isSection())\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n to: `${_ctx.projectStore.getProjectRoute}/${_ctx.getMainCadastre()}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.getMainCadastre()), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true),\n (\n _ctx.getMainCadastre() === _ctx.currentProperty.cadastre.key ||\n _ctx.getMainCadastre() === null\n )\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, \" Ja \"))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Adresse\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.currentProperty.addressText()\n ? _ctx.currentProperty.addressText()\n : 'Ingen adresse'), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n (\n _ctx.currentProperty.getCadastre() &&\n _ctx.currentProperty.getCadastre().cityDistrict\n )\n ? (_openBlock(), _createBlock(_component_panel_row, { key: 1 }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Område / Bydel\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.currentProperty.getCadastre().cityDistrict.name), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Areal\" }, {\n default: _withCtx(() => [\n (\n _ctx.currentProperty.getCadastre().specifiedArea === 0 ||\n _ctx.currentProperty.getCadastre().specifiedArea === null\n )\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(\"Areal ikke registrert \")\n ], 64))\n : _createCommentVNode(\"\", true),\n (_ctx.currentProperty.getCadastre().specifiedArea !== 0)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(_ctx.NumberFormat.format(_ctx.currentProperty.getCadastre().specifiedArea)) + \" m²\", 1),\n (_ctx.currentProperty.getCadastre().numberOfPlots > 0)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(\" fordelt over \" + _toDisplayString(_ctx.currentProperty.getCadastre().numberOfPlots) + \" \" + _toDisplayString(_ctx.currentProperty.getCadastre().numberOfPlots > 1\n ? 'teiger'\n : 'teig'), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n (\n _ctx.currentProperty.ownerships && _ctx.currentProperty.ownerships.length > 0\n )\n ? (_openBlock(), _createBlock(_component_owner_list, {\n key: 2,\n ownerships: _ctx.currentProperty.ownerships\n }, null, 8, [\"ownerships\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_panel_group, { title: \"Eiendomstype\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_row, { columns: \"3\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Seksjonert\" }, {\n default: _withCtx(() => [\n _createVNode(_component_PanelYesNoLabel, {\n condition: _ctx.currentProperty.cadastre.isSectioned\n }, null, 8, [\"condition\"])\n ]),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"Vannteig\" }, {\n default: _withCtx(() => [\n _createVNode(_component_PanelYesNoLabel, {\n condition: _ctx.currentProperty.getCadastre().isVannteig()\n }, null, 8, [\"condition\"])\n ]),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"Eierløs teig\" }, {\n default: _withCtx(() => [\n _createVNode(_component_PanelYesNoLabel, {\n condition: _ctx.currentProperty.getCadastre().isEierlos()\n }, null, 8, [\"condition\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n (\n _ctx.currentProperty.latestConveyance?.dateRegistered &&\n _ctx.currentProperty.latestConveyance?.conveyanceType\n )\n ? (_openBlock(), _createBlock(_component_panel_group, {\n key: 3,\n title: \"Siste omsetning\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Sist omsatt\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.currentProperty.latestConveyance.dateRegistered.ddmmyyyy), 1)\n ]),\n _: 1\n }),\n (\n _ctx.currentProperty.latestConveyance &&\n _ctx.currentProperty.latestConveyance.purchasePrice > 0\n )\n ? (_openBlock(), _createBlock(_component_panel_column, {\n key: 0,\n title: \"Omsatt for\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(`${_ctx.NumberFormat.format(\n _ctx.currentProperty.latestConveyance.purchasePrice\n )} kr`) + \" \", 1),\n _cache[12] || (_cache[12] = _createElementVNode(\"br\", null, null, -1)),\n _createTextVNode(\" (\" + _toDisplayString(_ctx.conveyanceType) + \") \", 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.showValueEstimate)\n ? (_openBlock(), _createBlock(_component_ValueEstimate, { key: 4 }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_panel_group, {\n title: \"Dokumenter\",\n \"tour-id\": \"documents-accordion\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_DocumentsList, {\n cadastre: _ctx.currentProperty.getCadastre()\n }, null, 8, [\"cadastre\"])\n ]),\n _: 1\n }),\n _createVNode(_component_panel_group, {\n title: \"Mer informasjon\",\n \"tour-id\": \"more-details\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.currentProperty.getCadastre())\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n (_ctx.currentProperty.getCadastre().key)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"propertypanel-link-block\",\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (\n _ctx.$router.push(`./${_ctx.currentProperty?.getCadastre().key}/notater`)\n ), [\"prevent\"]))\n }, [\n _cache[13] || (_cache[13] = _createElementVNode(\"span\", null, \"Notater\", -1)),\n _createVNode(_component_caret_right_icon, {\n width: \"30\",\n height: \"30\",\n class: _normalizeClass(_ctx.panelStyle.details__list__item__arrow)\n }, null, 8, [\"class\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"propertypanel-link-block\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (\n _ctx.$emit('showDemography', _ctx.currentProperty?.getCadastre())\n ), [\"prevent\"]))\n }, [\n _cache[14] || (_cache[14] = _createElementVNode(\"span\", null, \"Demografi\", -1)),\n _createVNode(_component_caret_right_icon, {\n width: \"30\",\n height: \"30\",\n class: _normalizeClass(_ctx.panelStyle.details__list__item__arrow)\n }, null, 8, [\"class\"])\n ]),\n _createElementVNode(\"a\", {\n class: \"propertypanel-link-block\",\n target: \"_blank\",\n href: `https://infoland.ambita.com/#/product?cadastre=${\n _ctx.currentProperty?.getCadastre().key\n }`\n }, [\n _cache[15] || (_cache[15] = _createElementVNode(\"span\", null, \"Åpne eiendom i Infoland\", -1)),\n _createVNode(_component_arrow_square_icon, {\n width: \"30\",\n height: \"30\",\n class: _normalizeClass(_ctx.panelStyle.details__list__item__arrow)\n }, null, 8, [\"class\"])\n ], 8, _hoisted_5)\n ], 64))\n : _createCommentVNode(\"\", true),\n (_ctx.currentProperty.getCadastre())\n ? (_openBlock(), _createBlock(_component_plan_list, {\n key: 1,\n type: \"Kommuneplaner\",\n cadastre: _ctx.currentProperty.getCadastre()\n }, null, 8, [\"cadastre\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentProperty.getCadastre())\n ? (_openBlock(), _createBlock(_component_plan_list, {\n key: 2,\n type: \"Reguleringsplaner\",\n cadastre: _ctx.currentProperty.getCadastre()\n }, null, 8, [\"cadastre\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_section_list, {\n cadastre: _ctx.currentProperty.getCadastre(),\n sections: _ctx.currentProperty.sections || []\n }, null, 8, [\"cadastre\", \"sections\"]),\n _createVNode(_component_buildings_list, {\n cadastre: _ctx.currentProperty.getCadastre(),\n buildings: _ctx.currentProperty.buildings || []\n }, null, 8, [\"cadastre\", \"buildings\"]),\n _createVNode(_component_heritages_list, {\n cadastre: _ctx.currentProperty.getCadastre(),\n heritages: _ctx.currentProperty.heritages || []\n }, null, 8, [\"cadastre\", \"heritages\"]),\n _createVNode(_component_soil_contaminations, {\n cadastre: _ctx.currentProperty.getCadastre(),\n soilContaminations: _ctx.currentProperty?.soilContaminations || []\n }, null, 8, [\"cadastre\", \"soilContaminations\"])\n ])\n ]),\n _: 1\n })\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AuxSpinner = _resolveComponent(\"AuxSpinner\")!\n\n return (_openBlock(), _createBlock(_component_AuxSpinner, { class: \"loading-indicator\" }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ]),\n _: 3\n }))\n}","\nimport { defineComponent } from 'vue';\nimport { AuxSpinner } from '@ambita/design-system';\n\nexport default defineComponent({\n components: {\n AuxSpinner,\n },\n});\n","import { render } from \"./PanelSpinner.vue?vue&type=template&id=c19a20e4&scoped=true&ts=true\"\nimport script from \"./PanelSpinner.vue?vue&type=script&lang=ts\"\nexport * from \"./PanelSpinner.vue?vue&type=script&lang=ts\"\n\nimport \"./PanelSpinner.vue?vue&type=style&index=0&id=c19a20e4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c19a20e4\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_building_list_item = _resolveComponent(\"building-list-item\")!\n const _component_list = _resolveComponent(\"list\")!\n const _component_list_collapsible_block = _resolveComponent(\"list-collapsible-block\")!\n\n return (_openBlock(), _createBlock(_component_list_collapsible_block, {\n label: \"Bygninger\",\n count: _ctx.buildings.length\n }, {\n default: _withCtx(() => [\n _createVNode(_component_list, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.buildings, (building, index) => {\n return (_openBlock(), _createBlock(_component_building_list_item, {\n building: building,\n key: index,\n onActivate: _ctx.handleMouseEnter,\n onDeactivate: _ctx.handleMouseLeave\n }, null, 8, [\"building\", \"onActivate\", \"onDeactivate\"]))\n }), 128))\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"count\"]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"details-panel-list-item\" }\nconst _hoisted_2 = { class: \"details-panel-list-item-content\" }\nconst _hoisted_3 = { class: \"details-panel-list-item-subtitle\" }\n\nimport { computed } from 'vue';\nimport CaretRightIcon from '@ambita/design-system-icons/dist/icons/regular/caret-right.svg';\nimport TextUtil from '@/utilities/TextUtil';\nimport { RouterLink } from 'vue-router';\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'ListItem',\n props: {\n title: {\n type: String,\n required: true,\n },\n subtitle: {\n type: String,\n required: false,\n },\n link: {\n type: String,\n required: true,\n },\n},\n setup(__props) {\n\nconst props = __props;\n\nconst prettyLabel = computed(() => {\n return new TextUtil(props.title).uCaseFirst();\n});\n\nconst prettySubtitle = computed(() => {\n return new TextUtil(props.subtitle).uCaseFirst();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"li\", _hoisted_1, [\n _createVNode(_unref(RouterLink), {\n to: __props.link,\n class: \"details-panel-list-item-link\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(prettyLabel.value) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(prettySubtitle.value), 1)\n ]),\n _createVNode(_unref(CaretRightIcon), { class: \"details-panel-list-item-icon\" })\n ]),\n _: 1\n }, 8, [\"to\"])\n ]))\n}\n}\n\n})","import script from \"./ListItem.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ListItem.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ListItem.vue?vue&type=style&index=0&id=81f12532&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-81f12532\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { computed, PropType } from 'vue';\nimport { useProjectStore } from '@/store/project';\nimport { useRoute } from 'vue-router';\nimport { formatDate } from '@ambita/design-system';\nimport Building from '@/data/wrapper/Building';\nimport ListItem from './Blocks/ListItem.vue';\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BuildingListItem',\n props: {\n building: {\n type: Object as PropType,\n required: true,\n },\n},\n emits: ['activate', 'deactivate'],\n setup(__props) {\n\nconst props = __props;\n\n\n\nconst projectStore = useProjectStore();\nconst router = useRoute();\n\nconst buildingStatus = computed(() => {\n let buildingStatusDate: string | null;\n const label = props.building.buildingStatus.text;\n\n switch (label) {\n case 'RAMMETILLATELSE':\n buildingStatusDate = props.building.approvedDate?.isoDateTime || null;\n break;\n\n case 'IGANGSETTELSESTILLATELSE':\n buildingStatusDate = props.building.startedDate?.isoDateTime || null;\n break;\n\n case 'MIDLERTIDIG BRUKSTILLATELSE':\n case 'TATT I BRUK':\n case 'FERDIGATTEST':\n buildingStatusDate = props.building.usedDate?.isoDateTime || null;\n break;\n\n default:\n buildingStatusDate = null;\n }\n const formattedDate = formatDate(buildingStatusDate, 'date');\n\n return {\n label,\n date: formattedDate,\n };\n});\n\nconst buildingType = computed(() => {\n return props.building.typeOfBuilding.text || 'Ukjent bygningstype';\n});\n\nconst buildingURL = computed(() => {\n return `${projectStore.getProjectRoute}/${router.params.cadastreKey}/bygninger/${props.building.key}`;\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(ListItem, {\n title: buildingType.value,\n subtitle: `${buildingStatus.value.label} ${buildingStatus.value.date}`,\n link: buildingURL.value,\n onMouseover: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$emit('activate', __props.building))),\n onFocus: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$emit('activate', __props.building))),\n onMouseleave: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$emit('deactivate'))),\n onBlur: _cache[3] || (_cache[3] = ($event: any) => (_ctx.$emit('deactivate')))\n }, null, 8, [\"title\", \"subtitle\", \"link\"]))\n}\n}\n\n})","import script from \"./BuildingListItem.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./BuildingListItem.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, mergeProps as _mergeProps, createBlock as _createBlock, createElementVNode as _createElementVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"count-wrapper\"\n}\nconst _hoisted_2 = { class: \"count-wrapper\" }\nconst _hoisted_3 = { class: \"count-wrapper\" }\n\nimport Accordion from '@/components/Accordion/Accordion.vue';\nimport { AuxTag, AuxSpinner } from '@ambita/design-system';\n\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'ListCollapsibleBlock',\n props: {\n label: {\n type: String,\n required: true,\n },\n count: {\n type: Number,\n required: true,\n },\n color: {\n type: String,\n required: false,\n default: 'purple-1',\n },\n loading: {\n type: Boolean,\n default: false,\n },\n error: {\n type: Boolean,\n default: false,\n },\n},\n setup(__props) {\n\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (__props.count > 0 && !__props.loading && !__props.error)\n ? (_openBlock(), _createBlock(Accordion, _mergeProps({\n key: 0,\n size: \"large\"\n }, _ctx.$attrs), {\n summary: _withCtx(() => [\n (__props.count)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_unref(AuxTag), { color: __props.color }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(__props.count), 1)\n ]),\n _: 1\n }, 8, [\"color\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(__props.label), 1)\n ]),\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16))\n : _createCommentVNode(\"\", true),\n (__props.count === 0 && !__props.loading && !__props.error)\n ? (_openBlock(), _createElementBlock(\"div\", _mergeProps({\n key: 1,\n class: \"list-collapsible-block list-collapsible-block--no-items\"\n }, _ctx.$attrs), [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_unref(AuxTag), null, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(__props.count), 1)\n ]),\n _: 1\n })\n ]),\n _createTextVNode(\" \" + _toDisplayString(__props.label), 1)\n ], 16))\n : _createCommentVNode(\"\", true),\n (__props.loading && !__props.error)\n ? (_openBlock(), _createElementBlock(\"div\", _mergeProps({\n key: 2,\n class: \"list-collapsible-block list-collapsible-block--loading-items\"\n }, _ctx.$attrs), [\n _createVNode(_unref(AuxSpinner), { size: \"small\" }),\n _createTextVNode(\" \" + _toDisplayString(__props.label), 1)\n ], 16))\n : _createCommentVNode(\"\", true),\n (__props.error && !__props.loading)\n ? (_openBlock(), _createElementBlock(\"div\", _mergeProps({\n key: 3,\n class: \"list-collapsible-block list-collapsible-block--error\"\n }, _ctx.$attrs), [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(AuxTag), { color: \"red\" }, {\n default: _withCtx(() => _cache[0] || (_cache[0] = [\n _createTextVNode(\"-\")\n ])),\n _: 1\n })\n ]),\n _createTextVNode(\" \" + _toDisplayString(__props.label) + \" \", 1),\n _cache[1] || (_cache[1] = _createElementVNode(\"span\", { class: \"list-collapsible-block-error-label\" }, \"(feil på tjeneste)\", -1))\n ], 16))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./ListCollapsibleBlock.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ListCollapsibleBlock.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ListCollapsibleBlock.vue?vue&type=style&index=0&id=2a6bc9a0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2a6bc9a0\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./List.vue?vue&type=template&id=a8a92960&scoped=true\"\nconst script = {}\n\nimport \"./List.vue?vue&type=style&index=0&id=a8a92960&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a8a92960\"]])\n\nexport default __exports__","\nimport { defineComponent, PropType } from 'vue';\nimport Building from '@/data/wrapper/Building';\nimport Cadastre from '@/data/wrapper/Cadastre';\nimport { useProjectStore } from '@/store/project';\nimport BuildingListItem from './BuildingListItem.vue';\nimport ListCollapsibleBlock from './Blocks/ListCollapsibleBlock.vue';\nimport List from './Blocks/List.vue';\n\nexport default defineComponent({\n name: 'Buildings',\n components: {\n BuildingListItem,\n ListCollapsibleBlock,\n List,\n },\n props: {\n buildings: {\n type: Object as PropType,\n required: true,\n },\n cadastre: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const projectStore = useProjectStore();\n\n // TODO: move to composable\n const handleMouseEnter = (building: Building) => {\n if (building?.position.geometry.coordinates) {\n const [lng, lat] = building.position.geometry.coordinates;\n\n projectStore.movePointer(lat, lng);\n }\n };\n\n const handleMouseLeave = (): void => {\n projectStore.removePointer();\n };\n\n return {\n handleMouseEnter,\n handleMouseLeave,\n };\n },\n});\n","import { render } from \"./BuildingsList.vue?vue&type=template&id=7595cdd2&scoped=true&ts=true\"\nimport script from \"./BuildingsList.vue?vue&type=script&lang=ts\"\nexport * from \"./BuildingsList.vue?vue&type=script&lang=ts\"\n\nconst cssModules = {}\nimport style0 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=0&lang=scss&module=panelStyle\"\ncssModules[\"panelStyle\"] = style0\nimport \"./BuildingsList.vue?vue&type=style&index=1&id=7595cdd2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules],['__scopeId',\"data-v-7595cdd2\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, withCtx as _withCtx, createVNode as _createVNode, resolveDynamicComponent as _resolveDynamicComponent, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { key: 1 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_list_item = _resolveComponent(\"list-item\")!\n const _component_list = _resolveComponent(\"list\")!\n const _component_panel_column = _resolveComponent(\"panel-column\")!\n const _component_panel_row = _resolveComponent(\"panel-row\")!\n\n return (_ctx.ownerships)\n ? (_openBlock(), _createBlock(_component_panel_row, { key: 0 }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Eiere\" }, {\n default: _withCtx(() => [\n (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.expandable ? 'list-collapsible-block' : 'div'), {\n label: \"Eiere\",\n class: _normalizeClass({\n 'owner-list--complex': _ctx.expandable,\n 'owner-list--simple': !_ctx.expandable,\n }),\n count: _ctx.ownerships.length\n }, {\n default: _withCtx(() => [\n _createVNode(_component_list, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.ownerships, (owner) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: owner }, [\n (owner.ownerType.code === 'CADASTRE')\n ? (_openBlock(), _createBlock(_component_list_item, {\n key: 0,\n title: owner.ownerName(),\n link: `${_ctx.projectStore.getProjectRoute}/${owner\n .getOwningCadastreIdent()\n .key()}`\n }, null, 8, [\"title\", \"link\"]))\n : (_openBlock(), _createElementBlock(\"li\", _hoisted_1, _toDisplayString(owner.ownerName()), 1))\n ], 64))\n }), 128))\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"class\", \"count\"]))\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n}","\nimport { defineComponent, PropType } from 'vue';\nimport PanelRow from '@/components/PanelSystem/PanelRow.vue';\nimport PanelColumn from '@/components/PanelSystem/PanelColumn.vue';\nimport Ownership from '@/data/wrapper/Ownership';\nimport { useProjectStore } from '@/store/project';\nimport List from './Blocks/List.vue';\nimport ListCollapsibleBlock from './Blocks/ListCollapsibleBlock.vue';\nimport ListItem from './Blocks/ListItem.vue';\n\nexport default defineComponent({\n name: 'Owners',\n components: {\n PanelRow,\n PanelColumn,\n List,\n ListCollapsibleBlock,\n ListItem,\n },\n props: {\n ownerships: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const projectStore = useProjectStore();\n\n return {\n projectStore,\n };\n },\n computed: {\n expandable(): boolean {\n return this.ownerships.length > 5;\n },\n },\n});\n","import { render } from \"./OwnerList.vue?vue&type=template&id=5ae9d6d1&scoped=true&ts=true\"\nimport script from \"./OwnerList.vue?vue&type=script&lang=ts\"\nexport * from \"./OwnerList.vue?vue&type=script&lang=ts\"\n\nimport \"./OwnerList.vue?vue&type=style&index=0&id=5ae9d6d1&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5ae9d6d1\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_list_item = _resolveComponent(\"list-item\")!\n const _component_list = _resolveComponent(\"list\")!\n const _component_list_collapsible_block = _resolveComponent(\"list-collapsible-block\")!\n\n return (_openBlock(), _createBlock(_component_list_collapsible_block, {\n label: \"Kulturminner\",\n count: _ctx.heritages.length\n }, {\n default: _withCtx(() => [\n _createVNode(_component_list, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.heritages, (heritage, index) => {\n return (_openBlock(), _createBlock(_component_list_item, {\n key: index,\n title: heritage.heritageType.text,\n link: `${_ctx.projectStore.getProjectRoute}/${_ctx.$route.params.cadastreKey}/kulturminner/${heritage.key}`\n }, null, 8, [\"title\", \"link\"]))\n }), 128))\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"count\"]))\n}","\nimport { defineComponent, PropType } from 'vue';\nimport Heritage from '@/data/wrapper/Heritage';\nimport Cadastre from '@/data/wrapper/Cadastre';\nimport { useProjectStore } from '@/store/project';\nimport ListCollapsibleBlock from './Blocks/ListCollapsibleBlock.vue';\nimport List from './Blocks/List.vue';\nimport ListItem from './Blocks/ListItem.vue';\n\nexport default defineComponent({\n name: 'HeritagesList',\n components: {\n ListCollapsibleBlock,\n List,\n ListItem,\n },\n props: {\n heritages: {\n type: Object as PropType,\n required: true,\n },\n cadastre: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const projectStore = useProjectStore();\n return {\n projectStore,\n };\n },\n});\n","import { render } from \"./HeritagesList.vue?vue&type=template&id=17254ea0&ts=true\"\nimport script from \"./HeritagesList.vue?vue&type=script&lang=ts\"\nexport * from \"./HeritagesList.vue?vue&type=script&lang=ts\"\n\nconst cssModules = {}\nimport style0 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=0&lang=scss&module=panelStyle\"\ncssModules[\"panelStyle\"] = style0\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_list_item = _resolveComponent(\"list-item\")!\n const _component_list = _resolveComponent(\"list\")!\n const _component_list_collapsible_block = _resolveComponent(\"list-collapsible-block\")!\n\n return (_openBlock(), _createBlock(_component_list_collapsible_block, {\n label: \"Seksjoner\",\n count: _ctx.sections.length,\n loading: _ctx.loadStatus === 'loading',\n error: _ctx.loadStatus === 'error'\n }, {\n default: _withCtx(() => [\n _createVNode(_component_list, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sections, (section) => {\n return (_openBlock(), _createBlock(_component_list_item, {\n title: section.key,\n link: `${_ctx.projectStore.getProjectRoute}/${section.key}`,\n key: section.key\n }, null, 8, [\"title\", \"link\"]))\n }), 128))\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"count\", \"loading\", \"error\"]))\n}","\nimport { defineComponent, PropType, ref } from 'vue';\nimport Cadastre from '@/data/wrapper/Cadastre';\nimport { useProjectStore } from '@/store/project';\nimport { RealtyCadastreItem } from '@/data/RealtyTypes';\nimport Realty from '@/data/Realty';\nimport ListCollapsibleBlock from './Blocks/ListCollapsibleBlock.vue';\nimport List from './Blocks/List.vue';\nimport ListItem from './Blocks/ListItem.vue';\n\nexport default defineComponent({\n name: 'SectionsList',\n components: {\n ListCollapsibleBlock,\n List,\n ListItem,\n },\n props: {\n cadastre: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const projectStore = useProjectStore();\n const sections = ref([]);\n const loadStatus = ref('loading');\n\n Realty.getSections(props.cadastre.key)\n .then((response) => {\n sections.value = response.items;\n loadStatus.value = 'success';\n })\n .catch(() => {\n loadStatus.value = 'error';\n });\n\n return {\n projectStore,\n sections,\n loadStatus,\n };\n },\n});\n","import { render } from \"./SectionList.vue?vue&type=template&id=3da826c8&ts=true\"\nimport script from \"./SectionList.vue?vue&type=script&lang=ts\"\nexport * from \"./SectionList.vue?vue&type=script&lang=ts\"\n\nconst cssModules = {}\nimport style0 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=0&lang=scss&module=panelStyle\"\ncssModules[\"panelStyle\"] = style0\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_list_item = _resolveComponent(\"list-item\")!\n const _component_list = _resolveComponent(\"list\")!\n const _component_list_collapsible_block = _resolveComponent(\"list-collapsible-block\")!\n\n return (_openBlock(), _createBlock(_component_list_collapsible_block, {\n label: \"Grunnforurensning\",\n count: _ctx.soilContaminations.length\n }, {\n default: _withCtx(() => [\n _createVNode(_component_list, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.soilContaminations, (soilContamination) => {\n return (_openBlock(), _createBlock(_component_list_item, {\n title: soilContamination.localityName,\n subtitle: soilContamination.degreeOfImpactType.text,\n link: `${_ctx.projectStore.getProjectRoute}/${_ctx.cadastre.key}/grunnforurensning/${soilContamination.key}`,\n key: soilContamination.key\n }, null, 8, [\"title\", \"subtitle\", \"link\"]))\n }), 128))\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"count\"]))\n}","\nimport { defineComponent, PropType } from 'vue';\nimport SoilContamination from '@/data/wrapper/SoilContamination';\nimport Cadastre from '@/data/wrapper/Cadastre';\nimport { useProjectStore } from '@/store/project';\nimport ListCollapsibleBlock from './Blocks/ListCollapsibleBlock.vue';\nimport List from './Blocks/List.vue';\nimport ListItem from './Blocks/ListItem.vue';\n\nexport default defineComponent({\n name: 'SoilContaminations',\n components: {\n ListCollapsibleBlock,\n List,\n ListItem,\n },\n props: {\n soilContaminations: {\n type: Object as PropType,\n required: true,\n },\n cadastre: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const projectStore = useProjectStore();\n return { projectStore };\n },\n});\n","import { render } from \"./SoilContaminationList.vue?vue&type=template&id=7f2da605&ts=true\"\nimport script from \"./SoilContaminationList.vue?vue&type=script&lang=ts\"\nexport * from \"./SoilContaminationList.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = [\"index\"]\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_panel_column = _resolveComponent(\"panel-column\")!\n const _component_panel_row = _resolveComponent(\"panel-row\")!\n const _component_arrow_square_out_icon = _resolveComponent(\"arrow-square-out-icon\")!\n const _component_list = _resolveComponent(\"list\")!\n const _component_list_collapsible_block = _resolveComponent(\"list-collapsible-block\")!\n\n return (_openBlock(), _createBlock(_component_list_collapsible_block, {\n label: _ctx.type,\n count: _ctx.plans.length,\n loading: _ctx.loading\n }, {\n default: _withCtx(() => [\n _createVNode(_component_list, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.plans, (plan) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: plan,\n index: plan.planID,\n class: _normalizeClass(_ctx.panelStyle.details__li__complex)\n }, [\n _createElementVNode(\"strong\", null, _toDisplayString(plan.planName ? plan.planName : 'Ukjent plan'), 1),\n (plan.planID)\n ? (_openBlock(), _createBlock(_component_panel_row, {\n key: 0,\n columns: \"2\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => [\n (plan.planID)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_2, _cache[0] || (_cache[0] = [\n _createElementVNode(\"strong\", null, \"Plan ID:\", -1)\n ])))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024),\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => [\n (plan.planID)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_3, _toDisplayString(plan.planID), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024))\n : _createCommentVNode(\"\", true),\n (plan.planType)\n ? (_openBlock(), _createBlock(_component_panel_row, {\n key: 1,\n columns: \"2\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => _cache[1] || (_cache[1] = [\n _createElementVNode(\"p\", null, [\n _createElementVNode(\"strong\", null, \"Type:\")\n ], -1)\n ])),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(plan.planType), 1)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024))\n : _createCommentVNode(\"\", true),\n (plan.planDecision)\n ? (_openBlock(), _createBlock(_component_panel_row, {\n key: 2,\n columns: \"2\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => _cache[2] || (_cache[2] = [\n _createElementVNode(\"p\", null, [\n _createElementVNode(\"strong\", null, \"Bestmls.:\")\n ], -1)\n ])),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(plan.planDecision), 1)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024))\n : _createCommentVNode(\"\", true),\n (plan.planStatus)\n ? (_openBlock(), _createBlock(_component_panel_row, {\n key: 3,\n columns: \"2\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [\n _createElementVNode(\"p\", null, [\n _createElementVNode(\"strong\", null, \"Status:\")\n ], -1)\n ])),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(plan.planStatus), 1)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024))\n : _createCommentVNode(\"\", true),\n (plan.lawReference)\n ? (_openBlock(), _createBlock(_component_panel_row, {\n key: 4,\n columns: \"2\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => _cache[4] || (_cache[4] = [\n _createElementVNode(\"p\", null, [\n _createElementVNode(\"strong\", null, \"Lovref.:\")\n ], -1)\n ])),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(plan.lawReference), 1)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024))\n : _createCommentVNode(\"\", true),\n (plan.updatedDate)\n ? (_openBlock(), _createBlock(_component_panel_row, {\n key: 5,\n columns: \"2\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => _cache[5] || (_cache[5] = [\n _createElementVNode(\"p\", null, [\n _createElementVNode(\"strong\", null, \"Oppdatert:\")\n ], -1)\n ])),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(plan.updatedDate), 1)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024))\n : _createCommentVNode(\"\", true),\n (plan.link)\n ? (_openBlock(), _createBlock(_component_panel_row, { key: 6 }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: _ctx.sanitizeLink(plan.link),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, [\n _createVNode(_component_arrow_square_out_icon, {\n width: \"18\",\n height: \"18\"\n }),\n _cache[6] || (_cache[6] = _createTextVNode(\"Ekstern lenke til planen \"))\n ], 8, _hoisted_4)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024))\n : _createCommentVNode(\"\", true)\n ], 10, _hoisted_1))\n }), 128))\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"label\", \"count\", \"loading\"]))\n}","import { LoadingEvent } from '@/utilities/CustomEvents';\n\nconst DATUM = 'EPSG:4326';\nconst ENDPOINT = 'https://wfs.geonorge.no/skwms1/wfs.planomriss';\n\nfunction createFilter(lat: number, long: number): string {\n let gml =\n '';\n gml += '';\n gml += 'område';\n gml += ``;\n gml += `${long},${lat}`;\n gml += '';\n gml += '';\n gml += '';\n\n return encodeURIComponent(gml);\n}\n\nfunction createParams(type: string, filter: string): string {\n return (\n '?outputformat=text/xml;%20subtype=gml/3.2.1&service=WFS&request=GetFeature&version=1.1.0' +\n `&typename=${encodeURIComponent(type)}&srsname=${DATUM}&FILTER=${filter}`\n );\n}\n\nfunction get(type: string, lat: number, long: number): Promise {\n const url = `${ENDPOINT}${createParams(type, createFilter(lat, long))}`;\n\n return new Promise((resolve, reject) => {\n fetch(url, {\n method: 'GET',\n mode: 'cors',\n headers: {\n Accept: 'text/xml',\n },\n })\n .then((response) => response.text())\n .then((xmlString) => {\n const parser = new DOMParser();\n const dom = parser.parseFromString(xmlString, 'text/xml');\n\n if (\n dom.documentElement.nodeName === 'parsererror' &&\n dom.firstElementChild?.nodeName !== 'gml:FeatureCollection'\n ) {\n throw new Error(`Failed to parse XML: ${xmlString}`);\n }\n\n resolve(dom);\n })\n .catch((e) => {\n const loadingErrorEvent = new LoadingEvent('loadingError');\n loadingErrorEvent.details = Object.prototype.hasOwnProperty.call(\n e,\n 'message'\n )\n ? e.message\n : `${e}`;\n document.dispatchEvent(loadingErrorEvent);\n\n reject(e);\n });\n });\n}\n\nfunction getFirstElementFromDOM(\n DOM: Element,\n element: string,\n prefix = 'app:'\n): string | null {\n const match = DOM.getElementsByTagName(`${prefix}${element}`);\n\n if (match && match.length > 0 && match[0]) {\n return match[0].innerHTML;\n }\n\n return null;\n}\n\nexport interface GeonorgePlan {\n type: string;\n firstDigitalizationDate: string | null;\n updatedDate: string | null;\n link: string | null;\n municipalityNumber: string | null;\n planID: string | null;\n planType: string | null;\n planStatus: string | null;\n planDecision: string | null;\n lawReference: string | null;\n planName: string | null;\n}\n\nfunction getPlans(xml: Document, root: string, type: string): GeonorgePlan[] {\n const plans = xml.getElementsByTagName(root);\n const result: GeonorgePlan[] = [];\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < plans.length; ++i) {\n result.push({\n type,\n firstDigitalizationDate: getFirstElementFromDOM(\n plans[i],\n 'førsteDigitaliseringsdato'\n ),\n updatedDate: getFirstElementFromDOM(plans[i], 'oppdateringsdato'),\n link: getFirstElementFromDOM(plans[i], 'link'),\n municipalityNumber: getFirstElementFromDOM(plans[i], 'kommunenummer'),\n planID: getFirstElementFromDOM(plans[i], 'planidentifikasjon'),\n planType: getFirstElementFromDOM(plans[i], 'plantype'),\n planStatus: getFirstElementFromDOM(plans[i], 'planstatus'),\n planDecision: getFirstElementFromDOM(plans[i], 'planbestemmelse'),\n lawReference: getFirstElementFromDOM(plans[i], 'lovreferanse'),\n planName: getFirstElementFromDOM(plans[i], 'plannavn'),\n });\n }\n\n return result;\n}\n\ninterface GeoCache {\n promise: Promise;\n data: Array;\n}\n\nconst geoCache: Record = {};\n\nfunction getCached(key: string): GeoCache | null {\n if (Object.prototype.hasOwnProperty.call(geoCache, key)) {\n return geoCache[key];\n }\n\n return null;\n}\n\nfunction getPlan(\n selector: string,\n lat: number,\n long: number,\n title: string\n): Promise {\n const key = `${selector}-${lat}-${long}`;\n const geo = getCached(key);\n\n if (geo) {\n return geo.promise\n .then(() => {\n if (geo && geo.data) {\n return Promise.resolve>(geo.data.map((d) => d));\n }\n\n return Promise.resolve([]);\n })\n .catch((error) => Promise.reject(error));\n }\n\n geoCache[key] = {\n promise: new Promise((resolve, reject) => {\n get(selector, lat, long)\n .then((xml) => {\n geoCache[key].data = getPlans(xml, selector, title);\n resolve(geoCache[key].data.map((d) => d));\n })\n .catch((error) => {\n delete geoCache[key];\n reject(error);\n });\n }),\n data: [],\n };\n\n return geoCache[key].promise;\n}\n\nexport function getMunicipalityPlans(\n lat: number,\n long: number\n): Promise {\n return getPlan('app:KpOmråde', lat, long, 'Kommuneplan');\n}\n\nexport function getZoningPlans(\n lat: number,\n long: number\n): Promise {\n return getPlan('app:RpOmråde', lat, long, 'Reguleringsplan');\n}\n","\nimport { defineComponent, PropType } from 'vue';\nimport ArrowSquareOutIcon from '@icons/regular/arrow-square-out.svg';\nimport PanelRow from '@/components/PanelSystem/PanelRow.vue';\nimport PanelColumn from '@/components/PanelSystem/PanelColumn.vue';\nimport {\n GeonorgePlan,\n getMunicipalityPlans,\n getZoningPlans,\n} from '@/data/Geonorge';\nimport Cadastre from '@/data/wrapper/Cadastre';\nimport GisUtil from '@/utilities/GisUtil';\nimport List from './Blocks/List.vue';\nimport ListCollapsibleBlock from './Blocks/ListCollapsibleBlock.vue';\n\nexport function mockOsloPlan(\n cadastre: Cadastre,\n type: string\n): Promise> {\n let odFeatures = [9];\n\n if (type === 'Kommuneplaner') {\n odFeatures = [9, 1, 15, 16, 17, 18, 82, 84, 85];\n }\n const [lng, lat] = cadastre.position.geometry.coordinates;\n\n const point = GisUtil.latLngToUtmPoint({\n lat,\n lng,\n });\n\n return Promise.resolve([\n {\n type: type.substring(0, type.length - 2),\n firstDigitalizationDate: null,\n updatedDate: null,\n link: `https://od2.pbe.oslo.kommune.no/kart/#${point[0]},${\n point[1]\n },${odFeatures.join(',')}`,\n municipalityNumber: '301',\n planID: null,\n planType: null,\n planStatus: null,\n planDecision: null,\n lawReference: null,\n planName: 'Se Oslo kommunes ressurs for eiendommen',\n },\n ]);\n}\n\nexport default defineComponent({\n name: 'Plans',\n components: {\n ArrowSquareOutIcon,\n PanelRow,\n PanelColumn,\n List,\n ListCollapsibleBlock,\n },\n props: {\n type: {\n type: String,\n required: true,\n },\n cadastre: {\n type: Object as PropType,\n required: true,\n },\n },\n data() {\n return {\n isActive: false,\n loading: true,\n error: null as null | Error,\n plans: [] as Array,\n };\n },\n watch: {\n cadastre() {\n this.loadPlans();\n },\n },\n created() {\n this.loadPlans();\n },\n methods: {\n sanitizeLink(url: string): string {\n return url.replaceAll(/&/gi, '&');\n },\n loadPlans(): void {\n if (!this.cadastre?.position?.geometry?.coordinates) {\n this.loading = false;\n return;\n }\n\n let promise: Promise;\n this.loading = true;\n\n const isOslo = this.cadastre.municipality?.municipalityNumber === 301;\n const [lng, lat] = this.cadastre.position.geometry.coordinates;\n\n if (isOslo) {\n promise = mockOsloPlan(this.cadastre, this.type);\n } else if (this.type === 'Kommuneplaner') {\n promise = getMunicipalityPlans(lat, lng);\n } else if (this.type === 'Reguleringsplaner') {\n promise = getZoningPlans(lat, lng);\n } else {\n this.loading = false;\n this.error = new Error(`Unsupported plan type ${this.type}`);\n return;\n }\n\n promise\n .then((plans) => {\n this.plans = plans;\n })\n .catch((e) => {\n this.plans = [];\n this.error = e;\n })\n .finally(() => {\n this.loading = false;\n });\n },\n },\n});\n","import { render } from \"./PlanList.vue?vue&type=template&id=57a2ce50&ts=true\"\nimport script from \"./PlanList.vue?vue&type=script&lang=ts\"\nexport * from \"./PlanList.vue?vue&type=script&lang=ts\"\n\nconst cssModules = {}\nimport style0 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=0&lang=scss&module=panelStyle\"\ncssModules[\"panelStyle\"] = style0\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"value-estimate\"\n}\nconst _hoisted_2 = [\"href\"]\nconst _hoisted_3 = { class: \"estimate\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_HjemlaLogo = _resolveComponent(\"HjemlaLogo\")!\n const _component_CaretDownIcon = _resolveComponent(\"CaretDownIcon\")!\n\n return (_ctx.estimate !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _cache[4] || (_cache[4] = _createElementVNode(\"hr\", null, null, -1)),\n _createElementVNode(\"header\", null, [\n _cache[1] || (_cache[1] = _createElementVNode(\"h3\", null, \"Verdiestimat\", -1)),\n _createElementVNode(\"a\", {\n href: _ctx.hjemlaUrl,\n target: \"_blank\"\n }, [\n _createVNode(_component_HjemlaLogo, {\n class: \"logo\",\n alt: \"Hjemla logo\"\n }),\n _cache[0] || (_cache[0] = _createElementVNode(\"span\", { class: \"sr-only\" }, \"Hjemla.no\", -1))\n ], 8, _hoisted_2)\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.estimateFormatted), 1),\n _createElementVNode(\"details\", null, [\n _createElementVNode(\"summary\", null, [\n _createVNode(_component_CaretDownIcon, { class: \"caret\" }),\n _cache[2] || (_cache[2] = _createTextVNode(\"Om verdiestimatet\"))\n ]),\n _cache[3] || (_cache[3] = _createElementVNode(\"p\", null, [\n _createTextVNode(\" Treffsikkerheten til verdiestimatet avhenger av hvor mye data som er tilgjengelig for boligen og for det aktuelle området. Noen områder har mer detaljert boliginformasjon tilgjengelig - for eksempel flere omsetninger, informasjon om størrelse på boligene, antall soverom osv. Generelt sett vil treffsikkerheten være høyere for boliger hvor man har mer data tilgjengelig. \"),\n _createElementVNode(\"br\"),\n _createElementVNode(\"a\", {\n href: \"https://support.hjemla.no/hc/no/sections/11314511508242-Verdiestimatet\",\n target: \"_blank\"\n }, \" Les mer om verdiestimatet på hjemla.no \")\n ], -1))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}","","import { render } from \"./HjemlaLogoSVG.svg?vue&type=template&id=96351330\"\nconst script = {}\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { defineComponent, ref, computed, watch } from 'vue';\nimport { formatNumber } from '@ambita/design-system';\nimport HjemlaLogo from '@/assets/img/HjemlaLogoSVG.svg';\nimport CaretDownIcon from '@icons/regular/caret-down.svg';\nimport { useRouter } from 'vue-router';\nimport { useProjectStore } from '@/store/project';\nimport Realty from '@/data/Realty';\nimport { useMapStore } from '@/store/map';\n\nexport default defineComponent({\n setup() {\n const router = useRouter();\n const projectStore = useProjectStore();\n const mapStore = useMapStore();\n\n const estimate = ref(null);\n\n const estimateFormatted = computed(() =>\n formatNumber(estimate.value, { decimals: 0 })\n );\n\n const hjemlaUrl = computed(() => {\n const hjemlaBaseURL = 'https://www.hjemla.no/boligkart';\n const point = projectStore.getCurrentCadastresCenterPointsLatLng;\n\n if (point !== null) {\n return `${hjemlaBaseURL}?z=18&lng=${point.lat}&lat=${point.lng}`;\n }\n return hjemlaBaseURL;\n });\n\n watch(\n () => router.currentRoute.value.params.cadastreKey,\n (cadastreKey) => {\n estimate.value = null;\n if (!cadastreKey) {\n return;\n }\n\n Realty.getEstimatedValue(cadastreKey as string).then(\n (response: {\n item: { calculatedValue: number; isCalculable: boolean };\n }) => {\n if (response.item?.isCalculable) {\n estimate.value = response.item.calculatedValue;\n }\n }\n );\n },\n { immediate: true }\n );\n\n return {\n hjemlaUrl,\n estimate,\n estimateFormatted,\n };\n },\n components: {\n HjemlaLogo,\n CaretDownIcon,\n },\n});\n","import { render } from \"./ValueEstimate.vue?vue&type=template&id=0aa630e2&scoped=true&ts=true\"\nimport script from \"./ValueEstimate.vue?vue&type=script&lang=ts\"\nexport * from \"./ValueEstimate.vue?vue&type=script&lang=ts\"\n\nimport \"./ValueEstimate.vue?vue&type=style&index=0&id=0aa630e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0aa630e2\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_DownloadLink = _resolveComponent(\"DownloadLink\")!\n\n return (_openBlock(), _createElementBlock(\"ul\", null, [\n _createElementVNode(\"li\", null, [\n _createVNode(_component_DownloadLink, {\n label: \"Matrikkelrapport\",\n link: _ctx.getReportUrl('simpletechnicalcadastrepdf'),\n \"file-name\": _ctx.getReportFileName('Simple_Technical_Land_Registry')\n }, null, 8, [\"link\", \"file-name\"])\n ]),\n _createElementVNode(\"li\", null, [\n _createVNode(_component_DownloadLink, {\n label: \"Grunnbokskopi\",\n link: _ctx.getReportUrl('cadastrewithprivilegespdf'),\n \"file-name\": _ctx.getReportFileName('Cadastre_With_Privileges')\n }, null, 8, [\"link\", \"file-name\"])\n ]),\n (_ctx.cadastre.hasOldCadastre)\n ? (_openBlock(), _createElementBlock(\"li\", _hoisted_1, [\n _createVNode(_component_DownloadLink, {\n label: \"Gammel grunnbok\",\n link: _ctx.getOldCadastreReportUrl(),\n \"file-name\": _ctx.getReportFileName('Old_Cadastre')\n }, null, 8, [\"link\", \"file-name\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, createVNode as _createVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"href\"]\n\n\nimport DownloadIcon from '@icons/regular/download-simple.svg';\nimport { GetAuthToken } from '@/data/xhr';\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'DownloadLink',\n props: {\n link: {\n type: String,\n required: true,\n },\n fileName: {\n type: String,\n required: true,\n },\n label: {\n type: String,\n required: true,\n },\n},\n setup(__props) {\n\nconst props = __props;\n\nconst getAuthToken = async () => {\n return encodeURIComponent(await GetAuthToken());\n};\n\nconst onDownload = () => {\n getAuthToken().then((authToken) => {\n const a = document.createElement('a');\n\n a.style.display = 'none';\n a.href = `${props.link}?authorization=${authToken}&download=true`;\n a.download = props.fileName;\n\n if (typeof a.download === 'undefined') {\n a.setAttribute('target', '_blank');\n }\n\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n });\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"a\", {\n class: \"link-block\",\n href: __props.link,\n onClick: _withModifiers(onDownload, [\"prevent\"])\n }, [\n _createTextVNode(_toDisplayString(__props.label) + \" \", 1),\n _createVNode(_unref(DownloadIcon))\n ], 8, _hoisted_1))\n}\n}\n\n})","import script from \"./DownloadLink.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DownloadLink.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./DownloadLink.vue?vue&type=style&index=0&id=56ffaf05&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-56ffaf05\"]])\n\nexport default __exports__","\nimport { defineComponent, PropType, ref, onBeforeUnmount } from 'vue';\nimport Cadastre from '@/data/wrapper/Cadastre';\nimport DownloadLink from './Blocks/DownloadLink.vue';\n\nexport default defineComponent({\n name: 'Documents',\n components: {\n DownloadLink,\n },\n props: {\n cadastre: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props, { emit }) {\n const isActive = ref(false);\n\n const getReportUrl = (reportName: string) => {\n return `${process.env.VUE_APP_AMBITA_API}/realty/v1/cadastres/${props.cadastre.key}/${reportName}/`;\n };\n const getOldCadastreReportUrl = () => {\n return `${process.env.VUE_APP_AMBITA_API}/realty/v1/pdfs/oldcadastre/${props.cadastre.key}`;\n };\n const getReportFileName = (reportName: string) => {\n return `${reportName}-${props.cadastre.key}`;\n };\n\n const activateList = () => {\n isActive.value = !isActive.value;\n };\n\n onBeforeUnmount(() => {\n emit('closeProductsModal');\n });\n\n return {\n getReportUrl,\n getOldCadastreReportUrl,\n getReportFileName,\n activateList,\n isActive,\n };\n },\n});\n","import { render } from \"./DocumentsList.vue?vue&type=template&id=df086160&scoped=true&ts=true\"\nimport script from \"./DocumentsList.vue?vue&type=script&lang=ts\"\nexport * from \"./DocumentsList.vue?vue&type=script&lang=ts\"\n\nimport \"./DocumentsList.vue?vue&type=style&index=0&id=df086160&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-df086160\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"h3\", null, _toDisplayString(_ctx.title), 1))\n}","\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n props: {\n title: {\n type: String,\n required: true,\n },\n },\n});\n","import { render } from \"./PanelTitle.vue?vue&type=template&id=51080cde&scoped=true&ts=true\"\nimport script from \"./PanelTitle.vue?vue&type=script&lang=ts\"\nexport * from \"./PanelTitle.vue?vue&type=script&lang=ts\"\n\nimport \"./PanelTitle.vue?vue&type=style&index=0&id=51080cde&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-51080cde\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"panel-group\" }\nconst _hoisted_2 = { class: \"panel-group-content\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PanelTitle = _resolveComponent(\"PanelTitle\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_PanelTitle, { title: _ctx.title }, null, 8, [\"title\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\nimport { defineComponent } from 'vue';\nimport PanelTitle from './PanelTitle.vue';\n\nexport default defineComponent({\n props: {\n title: {\n type: String,\n required: true,\n },\n },\n components: { PanelTitle },\n});\n","import { render } from \"./PanelGroup.vue?vue&type=template&id=31ce31de&ts=true\"\nimport script from \"./PanelGroup.vue?vue&type=script&lang=ts\"\nexport * from \"./PanelGroup.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_ctx.isConditional !== null)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(_toDisplayString(_ctx.condition ? 'Ja' : 'Nei'), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n}","\nimport { defineComponent, computed } from 'vue';\n\nexport default defineComponent({\n props: {\n condition: {\n type: Boolean,\n required: true,\n },\n },\n setup(props) {\n const isConditional = computed(() => {\n if (typeof props.condition !== 'boolean') {\n console.warn(\n 'Invalid conditional value, did you forget to call a function?'\n );\n return null;\n }\n return props.condition;\n });\n return { isConditional };\n },\n});\n","import { render } from \"./PanelYesNoLabel.vue?vue&type=template&id=786d3ca2&ts=true\"\nimport script from \"./PanelYesNoLabel.vue?vue&type=script&lang=ts\"\nexport * from \"./PanelYesNoLabel.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { AuxBanner, AuxButton, AuxSpinner } from '@ambita/design-system';\nimport { defineComponent, inject, ref, watch, computed } from 'vue';\n\nimport { StoredCadastreKey, DefaultStoredCadastre } from '@/symbols';\nimport PanelRow from '@/components/PanelSystem/PanelRow.vue';\nimport PanelColumn from '@/components/PanelSystem/PanelColumn.vue';\nimport PanelSpinner from '@/components/PanelSystem/PanelSpinner.vue';\nimport BuildingsList from '@/components/PropertyDetailsPanel/PropertyDetails/BuildingsList.vue';\nimport OwnerList from '@/components/PropertyDetailsPanel/PropertyDetails/OwnerList.vue';\nimport HeritagesList from '@/components/PropertyDetailsPanel/PropertyDetails/HeritagesList.vue';\nimport SectionList from '@/components/PropertyDetailsPanel/PropertyDetails/SectionList.vue';\nimport SoilContaminations from '@/components/PropertyDetailsPanel/PropertyDetails/SoilContaminationList.vue';\nimport PlanList from '@/components/PropertyDetailsPanel/PropertyDetails/PlanList.vue';\nimport CaretRightIcon from '@icons/regular/caret-right.svg';\nimport Property from '@/data/wrapper/Property';\nimport StarIcon from '@icons/regular/star.svg';\nimport StarFilledIcon from '@icons/fill/star-fill.svg';\nimport TextUtil from '@/utilities/TextUtil';\nimport { LatLngExpression } from 'leaflet';\nimport { useProjectStore } from '@/store/project';\nimport { useMapStore } from '@/store/map';\nimport Realty from '@/data/Realty';\nimport { useRouter } from 'vue-router';\nimport PrinterIcon from '@icons/regular/printer.svg';\nimport ArrowSquareIcon from '@icons/regular/arrow-square-out.svg';\nimport CrosshairIcon from '@icons/regular/crosshair.svg';\nimport PanelBackButton from '@/components/PanelSystem/PanelBackButton.vue';\nimport ValueEstimate from '@/components/ValueEstimate/ValueEstimate.vue';\nimport PanelHr from '@/components/PanelSystem/PanelHr.vue';\nimport DocumentsList from '@/components/PropertyDetailsPanel/PropertyDetails/DocumentsList.vue';\nimport PanelTitle from '@/components/PanelSystem/PanelTitle.vue';\nimport PanelGroup from '@/components/PanelSystem/PanelGroup.vue';\nimport PanelYesNoLabel from '@/components/PanelSystem/PanelYesNoLabel.vue';\nimport { useOnboardingStore } from '@/store/onboarding';\nimport GisUtil from '@/utilities/GisUtil';\n\nconst NumberFormat = new Intl.NumberFormat(['nb-NO']);\n\nexport default defineComponent({\n name: 'PropertyDetails',\n components: {\n AuxBanner,\n AuxButton,\n AuxSpinner,\n ValueEstimate,\n PanelSpinner,\n PanelRow,\n PanelColumn,\n PanelBackButton,\n BuildingsList,\n OwnerList,\n HeritagesList,\n SectionList,\n SoilContaminations,\n PlanList,\n DocumentsList,\n CaretRightIcon,\n StarIcon,\n StarFilledIcon,\n PrinterIcon,\n CrosshairIcon,\n ArrowSquareIcon,\n PanelHr,\n PanelTitle,\n PanelGroup,\n PanelYesNoLabel,\n },\n inheritAttrs: false,\n props: {\n dataTestid: {\n type: String,\n required: false,\n },\n },\n setup() {\n const router = useRouter();\n const projectStore = useProjectStore();\n const onboardingStore = useOnboardingStore();\n const mapStore = useMapStore();\n const savingProperty = ref(false);\n const savePropertyError = ref(false);\n const showValueEstimate = ref(\n process.env.VUE_APP_SHOW_VALUE_ESTIMATE?.toLowerCase() === 'true'\n );\n const currentProperty = ref(null);\n const isLoading = ref(true);\n const errorMessage = ref(null);\n const getProperty = () => {\n isLoading.value = true;\n const { cadastreKey } = router.currentRoute.value.params;\n\n if (typeof cadastreKey === 'string') {\n Realty.getProperty(cadastreKey)\n .then((result) => {\n currentProperty.value = new Property(result);\n projectStore.viewProperty(result.cadastre.key, result);\n })\n .catch(() => {\n errorMessage.value = `Fant ikke ${cadastreKey}`;\n })\n .finally(() => {\n isLoading.value = false;\n });\n }\n };\n\n const isSection = () => {\n if (typeof router.currentRoute.value.params.cadastreKey === 'string') {\n return (\n router.currentRoute.value.params.cadastreKey.split('-').pop() !== '0'\n );\n }\n return false;\n };\n\n const getMainCadastre = () => {\n if (typeof router.currentRoute.value.params.cadastreKey === 'string') {\n const [knr, gnr, bnr, fnr] =\n router.currentRoute.value.params.cadastreKey.split('-');\n\n return `${knr}-${gnr}-${bnr}-${fnr}-0`;\n }\n return null;\n };\n\n const addressText = computed(() => {\n let text = '';\n const address = currentProperty.value?.getAddress() || '';\n\n if (!address) {\n return 'Ingen adresse';\n }\n\n if (address.isMatrikkelAddress()) {\n text = 'Matrikkeladresse: ';\n }\n\n return text + address.addressText();\n });\n\n const getLatLng = computed(() => {\n let lat: number | undefined;\n let lng: number | undefined;\n lat = currentProperty.value?.cadastre?.position?.geometry?.coordinates[0];\n\n lng = currentProperty.value?.cadastre?.position?.geometry?.coordinates[1];\n\n const boundingBox = currentProperty.value?.cadastre?.geojson.bbox;\n if ((!lat || !lng) && boundingBox) {\n // if polygon does not exist, fall back to deprecated boundingbox.\n const center = GisUtil.utmBboxToLatLngBounds(boundingBox).getCenter();\n lat = center.lng;\n lng = center.lat;\n }\n\n return { lat, lng };\n });\n\n const displayPropertyInMap = () => {\n const { lat, lng } = getLatLng.value;\n\n if (lat && lng) {\n mapStore.setMapCenterLatLng(lat, lng);\n }\n };\n\n const getStreetViewLink = computed(() => {\n const { lat, lng } = getLatLng.value;\n\n return `http://maps.google.com/maps?q=&layer=c&cbll=${lng},${lat}`;\n });\n\n const goToStreetView = () => {\n window.open(getStreetViewLink.value);\n };\n\n const conveyanceType = computed(() => {\n if (\n currentProperty.value?.latestConveyance === null ||\n !currentProperty.value?.latestConveyance ||\n currentProperty.value?.latestConveyance.conveyanceType === null ||\n !currentProperty.value?.latestConveyance.conveyanceType\n ) {\n return '';\n }\n\n return new TextUtil(\n currentProperty.value?.latestConveyance.conveyanceType.text\n ).uCaseFirst();\n });\n\n watch(() => router.currentRoute.value.params.cadastreKey, getProperty, {\n immediate: true,\n });\n\n onboardingStore.startTour('reportGenerator', 1500);\n onboardingStore.startTour('propertyPanel', 1500);\n\n return {\n router,\n getStreetViewLink,\n getMainCadastre,\n goToStreetView,\n displayPropertyInMap,\n errorMessage,\n isLoading,\n addressText,\n conveyanceType,\n savingProperty,\n savePropertyError,\n projectStore,\n mapStore,\n currentProperty,\n NumberFormat,\n isSection,\n showValueEstimate,\n cadastreStage: inject(StoredCadastreKey, DefaultStoredCadastre),\n };\n },\n\n unmounted() {\n if (\n !this.$route.params.soilContaminationKey &&\n !this.$route.params.heritageKey &&\n !this.$route.params.buildingKey\n ) {\n this.clearCurrentProperty();\n }\n },\n\n emits: [\n 'retrievePropertyByKeyAndShow',\n 'moveMarkerToPosition',\n 'removeMarker',\n 'clearCurrentProperty',\n 'setCurrentPolygon',\n 'showRegistryModal',\n 'closeRegistryModal',\n 'closeProductsModal',\n 'generateReport',\n 'showDemography',\n ],\n methods: {\n getTestid(id: string): string | undefined {\n if (this.dataTestid) {\n return `${this.dataTestid}-${id}`;\n }\n\n return undefined;\n },\n\n moveMarkerToPosition(latlng: LatLngExpression): void {\n this.$emit('moveMarkerToPosition', latlng);\n },\n\n removeMarker(): void {\n this.$emit('removeMarker');\n },\n\n clearCurrentProperty(): void {\n this.projectStore.setCurrentProperty(null);\n },\n\n deleteProperty(): void {\n if (this.currentProperty) {\n this.projectStore.removeProperty(this.currentProperty.cadastre.key);\n }\n },\n\n saveProperty(): void {\n if (this.currentProperty) {\n this.projectStore.addProperty(\n this.currentProperty.cadastre.key,\n this.currentProperty,\n true\n );\n }\n },\n },\n computed: {\n isSaved(): boolean {\n return (\n this.projectStore.selectedCadastres.filter((cadastre) => {\n return cadastre === String(this.$route.params.cadastreKey);\n }).length > 0\n );\n },\n },\n});\n","import { render } from \"./PropertyDetails.vue?vue&type=template&id=28e22176&scoped=true&ts=true\"\nimport script from \"./PropertyDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./PropertyDetails.vue?vue&type=script&lang=ts\"\n\nimport \"./PropertyDetails.vue?vue&type=style&index=0&id=28e22176&lang=scss&scoped=true\"\nconst cssModules = {}\nimport style1 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=1&lang=scss&module=panelStyle\"\ncssModules[\"panelStyle\"] = style1\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules],['__scopeId',\"data-v-28e22176\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createElementBlock as _createElementBlock, Fragment as _Fragment } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PanelBackButton = _resolveComponent(\"PanelBackButton\")!\n const _component_PanelSpinner = _resolveComponent(\"PanelSpinner\")!\n const _component_demography = _resolveComponent(\"demography\")!\n const _component_tab = _resolveComponent(\"tab\")!\n const _component_tabs = _resolveComponent(\"tabs\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_PanelBackButton, {\n to: `${_ctx.projectStore.getProjectRoute}/valgte`,\n label: \"Oppsummering\"\n }, null, 8, [\"to\"]),\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_PanelSpinner, { key: 0 }, {\n default: _withCtx(() => _cache[0] || (_cache[0] = [\n _createTextVNode(\" Henter informasjon om demografi \")\n ])),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.isLoading)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass(_ctx.panel.panel)\n }, [\n _createVNode(_component_tabs, { defaultIndex: 0 }, {\n default: _withCtx(() => [\n _createVNode(_component_tab, { title: \"Mennesker\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Aldersfordeling\",\n area: \"basicDistrict\",\n type: _ctx.types.age,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Utdanning\",\n area: \"basicDistrict\",\n type: _ctx.types.education,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Utdanningsfelt\",\n area: \"basicDistrict\",\n type: _ctx.types.educationalField,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Inntekt\",\n area: \"basicDistrict\",\n type: _ctx.types.income,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Formue\",\n area: \"basicDistrict\",\n type: _ctx.types.fortune,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Sivilstand\",\n area: \"basicDistrict\",\n type: _ctx.types.maritalStatus,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Husholdninger\",\n area: \"basicDistrict\",\n type: _ctx.types.houseHolds,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_tab, { title: \"Boliger\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Boligtype\",\n area: \"basicDistrict\",\n type: _ctx.types.buildingsType,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Bo- & arbeidsfordeling\",\n area: \"basicDistrict\",\n type: _ctx.types.employees,\n geometry: _ctx.geometry,\n \"hide-graph\": \"\"\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Eiendomspriser\",\n area: \"basicDistrict\",\n type: _ctx.types.propertyPrices,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Eiertype\",\n area: \"basicDistrict\",\n type: _ctx.types.buildingsOwnerType,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Boligareal\",\n area: \"basicDistrict\",\n type: _ctx.types.buildingsArea,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_tab, { title: \"Hytter\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Hytteeiere\",\n area: \"basicDistrict\",\n type: _ctx.types.cabinOwners,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_demography, {\n title: \"Hytter\",\n area: \"basicDistrict\",\n type: _ctx.types.cabins,\n geometry: _ctx.geometry\n }, null, 8, [\"type\", \"geometry\"])\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ], 2))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","\nimport { defineComponent, onMounted, ref } from 'vue';\nimport Extent from '@arcgis/core/geometry/Extent';\nimport { DemographyDataFields } from '@/data/Demography';\nimport Tabs from '@/components/helper/Tabs.vue';\nimport Tab from '@/components/helper/Tab.vue';\nimport Demography from '@/components/PropertyDetailsPanel/Demography/Demography.vue';\nimport PanelBackButton from '@/components/PanelSystem/PanelBackButton.vue';\nimport PanelSpinner from '@/components/PanelSystem/PanelSpinner.vue';\nimport { useMapStore } from '@/store/map';\nimport { useProjectStore } from '@/store/project';\n\nexport default defineComponent({\n name: 'DemographyExtentPanel',\n components: {\n PanelSpinner,\n PanelBackButton,\n Tabs,\n Tab,\n Demography,\n },\n setup() {\n const mapStore = useMapStore();\n const projectStore = useProjectStore();\n const isLoading = ref(true);\n const geometry = ref({});\n\n onMounted(() => {\n if (\n !mapStore.extent.xmin ||\n !mapStore.extent.xmax ||\n !mapStore.extent.ymin ||\n !mapStore.extent.ymax\n ) {\n return;\n }\n\n geometry.value = {\n xmin: mapStore.extent.xmin,\n xmax: mapStore.extent.xmax,\n ymin: mapStore.extent.ymin,\n ymax: mapStore.extent.ymax,\n } as Extent;\n\n isLoading.value = false;\n });\n\n mapStore.$onAction(({ name, after }) => {\n if (name === 'setExtent') {\n isLoading.value = true;\n\n after(() => {\n geometry.value = {\n xmin: mapStore.extent.xmin,\n xmax: mapStore.extent.xmax,\n ymin: mapStore.extent.ymin,\n ymax: mapStore.extent.ymax,\n } as Extent;\n\n isLoading.value = false;\n });\n }\n });\n\n return {\n geometry,\n types: DemographyDataFields,\n projectStore,\n isLoading,\n };\n },\n});\n","import { render } from \"./DemographyExtentPanel.vue?vue&type=template&id=132feaad&ts=true\"\nimport script from \"./DemographyExtentPanel.vue?vue&type=script&lang=ts\"\nexport * from \"./DemographyExtentPanel.vue?vue&type=script&lang=ts\"\n\nconst cssModules = {}\nimport style0 from \"./DemographyPanel.module.scss?vue&type=style&index=0&lang=scss&module=panel\"\ncssModules[\"panel\"] = style0\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PanelBackButton = _resolveComponent(\"PanelBackButton\")!\n const _component_PanelSpinner = _resolveComponent(\"PanelSpinner\")!\n const _component_AuxBanner = _resolveComponent(\"AuxBanner\")!\n const _component_panel_column = _resolveComponent(\"panel-column\")!\n const _component_panel_row = _resolveComponent(\"panel-row\")!\n const _component_arrow_square_out_icon = _resolveComponent(\"arrow-square-out-icon\")!\n const _component_PanelGroup = _resolveComponent(\"PanelGroup\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_PanelBackButton, {\n to: _ctx.$route.path.replace(`/kulturminner/${_ctx.heritageKey}`, ''),\n label: _ctx.cadastreKey\n }, null, 8, [\"to\", \"label\"]),\n (_ctx.isLoading && !_ctx.errorMessage)\n ? (_openBlock(), _createBlock(_component_PanelSpinner, { key: 0 }, {\n default: _withCtx(() => _cache[0] || (_cache[0] = [\n _createTextVNode(\" Henter informasjon om kulturminnet \")\n ])),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.errorMessage)\n ? (_openBlock(), _createBlock(_component_AuxBanner, {\n key: 1,\n class: \"error-banner\",\n type: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.errorMessage), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.heritage)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _createVNode(_component_PanelGroup, { title: \"Kulturminne\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Kategori\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.heritageType), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"Funn ID\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.heritage.key), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Kategorikode\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.heritage.categoryCode.text.toLowerCase()), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Vernetype\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.heritage.preservationTypeCode.text.toLowerCase()), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Ekstern kilde\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: _ctx.heritage.links.singleHeritageWebpage.href,\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, [\n _cache[1] || (_cache[1] = _createTextVNode(\" Les mer hos Riksantikvaren \")),\n _createVNode(_component_arrow_square_out_icon, {\n width: \"18\",\n height: \"18\"\n })\n ], 8, _hoisted_1)\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_PanelGroup, { title: \"Hendelsesdatoer\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Sist oppdatert\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.heritage.lastUpdatedDate.ddmmyyyy), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"Registreringsdato\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.heritage.registeredDate.ddmmyyyy), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","\nimport { defineComponent, PropType, ref, watch } from 'vue';\nimport { AuxBanner } from '@ambita/design-system';\n\nimport PanelRow from '@/components/PanelSystem/PanelRow.vue';\nimport PanelColumn from '@/components/PanelSystem/PanelColumn.vue';\nimport ArrowSquareOutIcon from '@icons/regular/arrow-square-out.svg';\nimport Property from '@/data/wrapper/Property';\nimport Heritage from '@/data/wrapper/Heritage';\nimport PropertySelection from '@/data/wrapper/PropertySelection';\nimport TextUtil from '@/utilities/TextUtil';\nimport Realty from '@/data/Realty';\nimport { useRoute } from 'vue-router';\nimport PanelBackButton from '@/components/PanelSystem/PanelBackButton.vue';\nimport PanelSpinner from '@/components/PanelSystem/PanelSpinner.vue';\nimport PanelGroup from '@/components/PanelSystem/PanelGroup.vue';\n\nexport default defineComponent({\n name: 'Heritage',\n components: {\n PanelBackButton,\n PanelRow,\n PanelColumn,\n ArrowSquareOutIcon,\n AuxBanner,\n PanelSpinner,\n PanelGroup,\n },\n props: {\n heritageKey: {\n type: String,\n required: true,\n },\n cadastreKey: {\n type: String,\n required: true,\n },\n property: {\n type: Object as PropType | null,\n default: null,\n },\n selectedProperties: {\n type: Object as PropType,\n default: null,\n },\n },\n setup(props) {\n const route = useRoute();\n const heritage = ref(null);\n const isLoading = ref(false);\n const errorMessage = ref(null);\n\n const getHeritage = () => {\n if (route.params.heritageKey) {\n isLoading.value = true;\n errorMessage.value = null;\n Realty.getSingleHeritage(props.heritageKey)\n .then((result) => {\n heritage.value = result;\n isLoading.value = false;\n })\n .catch(() => {\n errorMessage.value = `Klarte ikke hente informasjon om bygning ${props.heritageKey}`;\n });\n }\n };\n\n watch(() => props.heritageKey, getHeritage, { immediate: true });\n\n return { heritage, isLoading, errorMessage };\n },\n computed: {\n heritageType(): string {\n if (this.heritage === null) {\n return '';\n }\n\n return new TextUtil(this.heritage.heritageType.text).uCaseFirst();\n },\n },\n});\n","import { render } from \"./HeritagePanel.vue?vue&type=template&id=39af0865&scoped=true&ts=true\"\nimport script from \"./HeritagePanel.vue?vue&type=script&lang=ts\"\nexport * from \"./HeritagePanel.vue?vue&type=script&lang=ts\"\n\nimport \"./HeritagePanel.vue?vue&type=style&index=0&id=39af0865&lang=scss&scoped=true\"\nconst cssModules = {}\nimport style1 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=1&lang=scss&module=panelStyle\"\ncssModules[\"panelStyle\"] = style1\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules],['__scopeId',\"data-v-39af0865\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PanelBackButton = _resolveComponent(\"PanelBackButton\")!\n const _component_panel_column = _resolveComponent(\"panel-column\")!\n const _component_panel_row = _resolveComponent(\"panel-row\")!\n const _component_arrow_square_out_icon = _resolveComponent(\"arrow-square-out-icon\")!\n const _component_PanelGroup = _resolveComponent(\"PanelGroup\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_PanelBackButton, {\n to: \n _ctx.$route.path.replace(\n `/grunnforurensning/${_ctx.$route.params.soilContaminationKey}`,\n ''\n )\n ,\n label: _ctx.$route.params.cadastreKey as string\n }, null, 8, [\"to\", \"label\"]),\n (_ctx.soilContamination)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass(_ctx.panelStyle.panel)\n }, [\n _createVNode(_component_PanelGroup, { title: \"Grunnforurensning\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Lokalitetnavn\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.soilContamination.localityName.toLowerCase()), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Påvirkningsgrad\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.soilContamination.degreeOfImpactType.text.toLowerCase()), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Ekstern kilde\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: _ctx.soilContamination.links.soilContaminationWebpage.href,\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, [\n _cache[0] || (_cache[0] = _createTextVNode(\" Les mer hos Miljødirektoratet \")),\n _createVNode(_component_arrow_square_out_icon, {\n width: \"18\",\n height: \"18\"\n })\n ], 8, _hoisted_1)\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_PanelGroup, { title: \"Hendelsesdatoer\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Sist oppdatert\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.soilContamination.lastUpdatedDate.ddmmyyyy), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"Registreringsdato\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.soilContamination.registeredDate.ddmmyyyy), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ], 2))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","\nimport { defineComponent, PropType, ref, watch } from 'vue';\nimport Property from '@/data/wrapper/Property';\nimport SoilContamination from '@/data/wrapper/SoilContamination';\nimport PropertySelection from '@/data/wrapper/PropertySelection';\nimport PanelRow from '@/components/PanelSystem/PanelRow.vue';\nimport PanelColumn from '@/components/PanelSystem/PanelColumn.vue';\nimport ArrowSquareOutIcon from '@icons/regular/arrow-square-out.svg';\nimport PanelBackButton from '@/components/PanelSystem/PanelBackButton.vue';\nimport Realty from '@/data/Realty';\nimport { useRoute } from 'vue-router';\nimport PanelGroup from '@/components/PanelSystem/PanelGroup.vue';\n\nexport default defineComponent({\n name: 'SoilContaminationPanel',\n components: {\n PanelRow,\n PanelColumn,\n PanelBackButton,\n ArrowSquareOutIcon,\n PanelGroup,\n },\n props: {\n cadastreKey: {\n type: String,\n required: true,\n },\n soilContaminationKey: {\n type: String,\n required: true,\n },\n property: {\n type: Object as PropType | null,\n default: null,\n },\n selectedProperties: {\n type: Object as PropType,\n default: null,\n },\n },\n setup(props) {\n const route = useRoute();\n const soilContamination = ref(null);\n const isLoading = ref(false);\n const errorMessage = ref(null);\n\n const getSoilContamination = () => {\n if (route.params.soilContaminationKey) {\n isLoading.value = true;\n errorMessage.value = null;\n Realty.getSoilContamination(props.soilContaminationKey)\n .then((result) => {\n soilContamination.value = result;\n isLoading.value = false;\n })\n .catch(() => {\n errorMessage.value = `Klarte ikke hente informasjon om bygning ${props.soilContaminationKey}`;\n });\n }\n };\n\n watch(() => props.soilContaminationKey, getSoilContamination, {\n immediate: true,\n });\n\n return { soilContamination, isLoading, errorMessage };\n },\n\n emits: ['retrievePropertyByKeyAndShow', 'removeMarker'],\n});\n","import { render } from \"./SoilContaminationPanel.vue?vue&type=template&id=403173da&ts=true\"\nimport script from \"./SoilContaminationPanel.vue?vue&type=script&lang=ts\"\nexport * from \"./SoilContaminationPanel.vue?vue&type=script&lang=ts\"\n\nconst cssModules = {}\nimport style0 from \"@/components/PanelSystem/PanelSystem.module.scss?vue&type=style&index=0&lang=scss&module=panelStyle\"\ncssModules[\"panelStyle\"] = style0\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PanelBackButton = _resolveComponent(\"PanelBackButton\")!\n const _component_PanelSpinner = _resolveComponent(\"PanelSpinner\")!\n const _component_AuxBanner = _resolveComponent(\"AuxBanner\")!\n const _component_panel_column = _resolveComponent(\"panel-column\")!\n const _component_panel_row = _resolveComponent(\"panel-row\")!\n const _component_PanelTitle = _resolveComponent(\"PanelTitle\")!\n const _component_PanelYesNoLabel = _resolveComponent(\"PanelYesNoLabel\")!\n const _component_PanelGroup = _resolveComponent(\"PanelGroup\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_PanelBackButton, {\n to: _ctx.$route.path.replace(`/bygninger/${_ctx.buildingKey}`, ''),\n label: _ctx.cadastreKey as string\n }, null, 8, [\"to\", \"label\"]),\n (_ctx.isLoading && !_ctx.errorMessage)\n ? (_openBlock(), _createBlock(_component_PanelSpinner, { key: 0 }, {\n default: _withCtx(() => _cache[0] || (_cache[0] = [\n _createTextVNode(\" Henter informasjon om bygningen \")\n ])),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.errorMessage)\n ? (_openBlock(), _createBlock(_component_AuxBanner, {\n key: 1,\n class: \"error-banner\",\n type: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.errorMessage), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.building !== null)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Bygningsnummer\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.building.key), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Bygningstype\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.buildingType), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Næringsgruppe\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.building.industryGroupText()), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_PanelTitle, { title: \"Areal\" }),\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Bruksareal (BRA)\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.building.totalFloorSpace\n ? `${_ctx.NumberFormat.format(_ctx.building.totalFloorSpace)} m²`\n : 'Ikke registrert'), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"Grunnflateareal\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.builtUpArea > 0\n ? `${_ctx.NumberFormat.format(_ctx.builtUpArea)} m²`\n : 'Ikke registrert'), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Etasjer\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.building.numberOfFloors), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_panel_column, { title: \"Heis\" }, {\n default: _withCtx(() => [\n _createVNode(_component_PanelYesNoLabel, {\n condition: _ctx.building.hasElevator\n }, null, 8, [\"condition\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Boenheter\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.building.numberOfUnits), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row),\n _createVNode(_component_PanelGroup, { title: \"Bygningsstatus\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_row, null, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Bygningsstatus\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.building.buildingStatusText()), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Ferdigattest\" }, {\n default: _withCtx(() => [\n _createVNode(_component_PanelYesNoLabel, {\n condition: _ctx.building.hasFerdigattest()\n }, null, 8, [\"condition\"])\n ]),\n _: 1\n }),\n (_ctx.building.usedDate)\n ? (_openBlock(), _createBlock(_component_panel_column, {\n key: 0,\n title: \"Tatt i bruk\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.building.usedDate.ddmmyyyy), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createVNode(_component_panel_row, { columns: \"2\" }, {\n default: _withCtx(() => [\n _createVNode(_component_panel_column, { title: \"Rammetillatelse\" }, {\n default: _withCtx(() => [\n _createVNode(_component_PanelYesNoLabel, {\n condition: _ctx.building.hasRammetillatelse()\n }, null, 8, [\"condition\"])\n ]),\n _: 1\n }),\n (_ctx.building.approvedDate)\n ? (_openBlock(), _createBlock(_component_panel_column, {\n key: 0,\n title: \"Rammetillatelse gitt\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.building.approvedDate.ddmmyyyy\n ? _ctx.building.approvedDate.ddmmyyyy\n : 'Ikke registert'), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","\nimport { defineComponent, watch, onUnmounted, ref } from 'vue';\nimport PanelRow from '@/components/PanelSystem/PanelRow.vue';\nimport PanelColumn from '@/components/PanelSystem/PanelColumn.vue';\nimport Building from '@/data/wrapper/Building';\nimport TextUtil from '@/utilities/TextUtil';\nimport PanelBackButton from '@/components/PanelSystem/PanelBackButton.vue';\nimport { useProjectStore } from '@/store/project';\nimport Realty from '@/data/Realty';\nimport { AuxBanner } from '@ambita/design-system';\nimport PanelSpinner from '@/components/PanelSystem/PanelSpinner.vue';\nimport PanelTitle from '@/components/PanelSystem/PanelTitle.vue';\nimport PanelYesNoLabel from '@/components/PanelSystem/PanelYesNoLabel.vue';\nimport PanelGroup from '@/components/PanelSystem/PanelGroup.vue';\n\nexport default defineComponent({\n name: 'BuildingPanel',\n components: {\n PanelRow,\n PanelColumn,\n PanelBackButton,\n AuxBanner,\n PanelSpinner,\n PanelTitle,\n PanelYesNoLabel,\n PanelGroup,\n },\n inheritAttrs: false,\n props: {\n cadastreKey: {\n type: String,\n required: true,\n },\n buildingKey: {\n type: String,\n required: true,\n },\n },\n\n setup(props) {\n const projectStore = useProjectStore();\n const NumberFormat = new Intl.NumberFormat('nb-NO');\n\n const building = ref(null);\n const isLoading = ref(false);\n const errorMessage = ref(null);\n\n const getBuilding = () => {\n if (props.buildingKey) {\n isLoading.value = true;\n errorMessage.value = null;\n\n Realty.getBuilding(props.buildingKey as string)\n .then((result) => {\n building.value = new Building(result);\n isLoading.value = false;\n })\n .catch(() => {\n errorMessage.value = `Klarte ikke hente informasjon om bygning ${props.buildingKey}`;\n });\n }\n };\n\n getBuilding();\n\n watch(() => props.buildingKey, getBuilding);\n watch(\n () => building,\n () => {\n if (building.value?.position?.geometry?.coordinates) {\n const lat = building.value?.position.geometry.coordinates[1];\n const lng = building.value?.position.geometry.coordinates[0];\n\n projectStore.movePointer(lat, lng);\n }\n }\n );\n onUnmounted(() => {\n projectStore.removePointer();\n });\n\n return {\n NumberFormat,\n building,\n isLoading,\n errorMessage,\n };\n },\n computed: {\n builtUpArea(): number {\n if (this.building === null) {\n return 0;\n }\n\n return this.building.getBuiltUpArea();\n },\n buildingType(): string {\n if (\n this.building === null ||\n !this.building.typeOfBuilding ||\n !this.building.typeOfBuilding.text\n ) {\n return 'Ukjent bygning';\n }\n\n return new TextUtil(this.building.typeOfBuilding.text).uCaseFirst();\n },\n },\n});\n","import { render } from \"./BuildingPanel.vue?vue&type=template&id=686375a5&scoped=true&ts=true\"\nimport script from \"./BuildingPanel.vue?vue&type=script&lang=ts\"\nexport * from \"./BuildingPanel.vue?vue&type=script&lang=ts\"\n\nimport \"./BuildingPanel.vue?vue&type=style&index=0&id=686375a5&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-686375a5\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"404\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_seo = _resolveComponent(\"seo\")!\n const _component_pf_header = _resolveComponent(\"pf-header\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_seo, { title: 404 }),\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_pf_header),\n _cache[0] || (_cache[0] = _createElementVNode(\"div\", { class: \"wrap\" }, [\n _createElementVNode(\"div\", { class: \"content\" }, \"404 - Klarte ikke finne siden\")\n ], -1))\n ])\n ], 64))\n}","\nimport { defineComponent } from 'vue';\nimport Seo from '@/components/SEO/SEO.vue';\nimport PfHeader from '@/components/Header/HeaderComponent.vue';\n\nexport default defineComponent({\n name: 'not-found',\n components: {\n Seo,\n PfHeader,\n },\n});\n","import { render } from \"./NotFoundPage.vue?vue&type=template&id=6ebfe86c&scoped=true&ts=true\"\nimport script from \"./NotFoundPage.vue?vue&type=script&lang=ts\"\nexport * from \"./NotFoundPage.vue?vue&type=script&lang=ts\"\n\nimport \"./NotFoundPage.vue?vue&type=style&index=0&id=6ebfe86c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6ebfe86c\"]])\n\nexport default __exports__","import {\n createRouter,\n createWebHistory,\n NavigationGuardNext,\n RouteLocationNormalized,\n RouteRecordRaw,\n} from 'vue-router';\nimport Summary from '@/components/PropertyDetailsPanel/SummaryComponent/Summary.vue';\nimport PropertyDetails from '@/components/PropertyDetailsPanel/PropertyDetails/PropertyDetails.vue';\nimport DemographyExtentPanel from '@/components/PropertyDetailsPanel/Demography/DemographyExtentPanel.vue';\nimport Heritage from '@/components/PropertyDetailsPanel/PropertyDetails/Panels/HeritagePanel.vue';\nimport SoilContamination from '@/components/PropertyDetailsPanel/PropertyDetails/Panels/SoilContaminationPanel.vue';\nimport Building from '@/components/PropertyDetailsPanel/PropertyDetails/Panels/BuildingPanel.vue';\nimport { coreStore } from '@ambita/ambita-components-core';\nimport PTM from '@/utilities/PTM';\nimport NotFoundPage from '@/views/NotFoundPage/NotFoundPage.vue';\nimport { iotClient } from '@/utilities/iotClient';\n\nconst getUserType = (): string => {\n if (coreStore.isAuthenticatedNotAnonymousCustomer() !== true) {\n return 'unauthenticated';\n }\n\n const state = coreStore.getState();\n\n if (\n state !== null &&\n state.user &&\n state.user.organization.orgnr === '945811714'\n ) {\n return 'internal';\n }\n\n return 'external';\n};\n\ncoreStore.on('LOGIN_SUCCESS_EVENT', (): void => {\n PTM.event_old('LogIn', { event_key: getUserType() });\n iotClient.connect();\n});\n\ncoreStore.on('LOGOUT_EVENT', (): void => {\n iotClient.disconnect();\n});\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Frontpage',\n redirect: '/prosjekter',\n },\n {\n path: '/informasjonskapsler',\n name: 'Informasjonskapsler',\n component: () =>\n import(\n /* webpackChunkName: \"Redirect\" */ '../views/Redirect/Redirect.vue'\n ),\n props: {\n location: `${process.env.VUE_APP_LANDING_PAGE}/informasjonskapsler`,\n },\n },\n {\n path: '/betalingsvilkår',\n name: 'Betalingsvilkår',\n component: () =>\n import(\n /* webpackChunkName: \"Redirect\" */ '../views/Redirect/Redirect.vue'\n ),\n props: {\n location: `${process.env.VUE_APP_LANDING_PAGE}/betalingsvilk%C3%A5r`,\n },\n alias: ['/betalingsvilk%C3%A5r', '/betalingsvilkar', '/betalingsvilkaar'],\n },\n {\n path: '/beta-tilgang',\n name: 'Betatilgang',\n component: () =>\n import(\n /* webpackChunkName: \"Redirect\" */ '../views/Redirect/Redirect.vue'\n ),\n props: {\n location: `${process.env.VUE_APP_LANDING_PAGE}/bli-kunde`,\n },\n alias: [\n '/bli-kunde',\n '/bli-kunde/innmelding',\n '/beta-tilgang/innmelding',\n '/bli-kunde/takk-for-henvendelsen',\n '/beta-tilgang/takk-for-henvendelsen',\n ],\n },\n {\n path: '/prosjekter/:projectId/kart',\n name: 'PropFinder',\n component: () =>\n import(\n /* webpackChunkName: \"PropertyFinder\" */ '../views/PropertyFinder/PropertyFinder.vue'\n ),\n meta: {\n authenticated: true,\n },\n children: [\n {\n path: 'valgte',\n component: Summary,\n props: true,\n },\n {\n path: 'demografi',\n component: DemographyExtentPanel,\n props: false,\n },\n {\n path: ':cadastreKey',\n component: PropertyDetails,\n props: true,\n },\n {\n path: ':cadastreKey/kulturminner/:heritageKey',\n component: Heritage,\n props: true,\n },\n {\n path: ':cadastreKey/grunnforurensning/:soilContaminationKey',\n component: SoilContamination,\n props: true,\n },\n {\n path: ':cadastreKey/bygninger/:buildingKey',\n component: Building,\n props: true,\n },\n {\n path: ':cadastreKey/notater',\n component: () =>\n import(\n /* webpackChunkName: \"Notes\" */ '../components/PropertyDetailsPanel/Notes/Notes.vue'\n ),\n props: true,\n },\n ],\n },\n {\n path: '/prosjekter',\n name: 'Prosjekter',\n meta: {\n authenticated: true,\n },\n component: () =>\n import(\n /* webpackChunkName: \"ProjectIndex\" */ '../views/Projects/index.vue'\n ),\n children: [\n {\n name: 'prosjekter-noname',\n path: '',\n component: () =>\n import(\n /* webpackChunkName: \"Projects\" */ '../views/Projects/Projects.vue'\n ),\n },\n {\n path: ':projectId/:activeTab?',\n component: () =>\n import(\n /* webpackChunkName: \"Project\" */ '../views/Projects/Project.vue'\n ),\n props: true,\n },\n ],\n },\n {\n path: '/logg-inn',\n name: 'Logg inn',\n component: () =>\n import(/* webpackChunkName: \"Login\" */ '../views/Login/Login.vue'),\n alias: [\n '/login',\n '/logginn',\n '/Logg-Inn',\n '/Logg-inn',\n '/LoggInn',\n '/LogIn',\n ],\n },\n {\n path: '/logg-inn',\n name: 'Logg inn',\n component: () =>\n import(/* webpackChunkName: \"Login\" */ '../views/Login/Login.vue'),\n alias: [\n '/login',\n '/logginn',\n '/Logg-Inn',\n '/Logg-inn',\n '/LoggInn',\n '/LogIn',\n ],\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'NotFound',\n component: NotFoundPage,\n },\n];\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n});\n\nrouter.beforeEach(\n (\n to: RouteLocationNormalized,\n from: RouteLocationNormalized,\n next: NavigationGuardNext\n ) => {\n if (to.matched.length === 0) {\n return next({ path: '/404' });\n }\n if (to.matched.some((record) => record.meta.authenticated)) {\n if (coreStore.isAuthenticatedNotAnonymousCustomer() === true) {\n return next();\n }\n\n return next({ path: '/logg-inn' });\n }\n\n return next();\n }\n);\n\nrouter.afterEach((to) => {\n PTM.routeChange(to.fullPath, getUserType());\n window.scrollTo(0, 0);\n});\n\nexport default router;\n","import { DriveStep } from 'driver.js';\n\nconst tourSteps: DriveStep[] = [\n {\n element: 'search',\n popover: {\n title: 'Søk etter tomt eller område',\n description:\n 'Hvis du vet hvor du vil, kommer du raskt til riktig sted ved å søke på adresse, eller matrikkel',\n side: 'right',\n align: 'start',\n },\n },\n {\n element: 'filter',\n popover: {\n title: 'Se kun tomter som er aktuelle',\n description:\n 'Finn en tomt som passer dine krav ved å definere hva du ser etter i filteret',\n side: 'right',\n align: 'start',\n },\n },\n {\n element: 'map-2D',\n popover: {\n title: 'Se resultatene og grav dypere på en enkelt eiendom',\n description: 'Trykk på en tomt for å vise mer informasjon om tomten',\n side: 'right',\n align: 'start',\n },\n },\n {\n element: 'map-layer-picker',\n popover: {\n title: 'Vis kartlag',\n description:\n 'Se hvilke interessepunkter, risikoelementer og andre faktorer som berører tomten eller området rundt',\n side: 'right',\n align: 'start',\n },\n },\n {\n element: 'toggle-3d',\n popover: {\n title: 'Se på utsikten og solforholdene i 3D',\n description:\n 'Vurder tomtens potensiale i 3D. Du kan fjerne eksisterende bygg, tegne nytt eller importerte en ferdig tegnet 3D-modell',\n side: 'right',\n align: 'start',\n },\n },\n {\n element: 'demography-toggle',\n popover: {\n title: 'Demografianalyse',\n description:\n 'Se alder, inntekt, sivilstand, formue m.m. for utsnittet i kartet',\n side: 'right',\n align: 'start',\n },\n },\n {\n element: 'tour-trigger',\n popover: {\n title: 'Få hjelp når du trenger det',\n description:\n 'Ønsker du en ny intro kan du klikke på infoikonet og bli guidet gjennom relevante introer på nytt',\n side: 'right',\n align: 'start',\n },\n },\n];\n\nexport default tourSteps;\n","import { DriveStep } from 'driver.js';\n\nconst steps: DriveStep[] = [\n {\n element: 'toggle-property-save-state',\n popover: {\n title: 'Lagre tomt til senere',\n description:\n 'Virker tomten interessant og relevant - lagre den til senere i prosjektet',\n side: 'right',\n align: 'start',\n },\n },\n {\n element: 'generate-report',\n popover: {\n title: 'Rapport',\n description:\n 'Last ned rapport for tomten som kan deles med andre involverte',\n side: 'right',\n align: 'start',\n },\n },\n {\n element: 'documents-accordion',\n popover: {\n title: 'Dokumenter',\n description:\n 'Last ned servitutter (grunnbok), gammel grunnbok og matrikkelrapport for eiendommen. Ingen skjulte overraskelser',\n side: 'right',\n align: 'start',\n },\n },\n {\n element: 'more-details',\n popover: {\n title: 'Regulering, plan m.m.',\n description:\n 'Se gjeldende planer, seksjoner, bygningsinformasjon, kulturminner og grunnforurensning for eiendommen',\n side: 'right',\n align: 'start',\n },\n },\n];\n\nexport default steps;\n","import { DriveStep } from 'driver.js';\n\nconst tourSteps: DriveStep[] = [\n {\n element: 'sun-shade-analysis',\n popover: {\n title: 'Se hvordan solen faller på tomten',\n description:\n 'Spol gjennom et helt døgn eller se hvordan sommersolen ser ut på tomten.',\n side: 'bottom',\n align: 'start',\n },\n },\n {\n element: 'sight-lines',\n popover: {\n title: 'Sjekk utsikten',\n description:\n 'Tegn siktlinjer fra et utkikkspunkt og se om noe blokkerer for utsikten',\n side: 'bottom',\n align: 'start',\n },\n },\n {\n element: 'height-curve',\n popover: {\n title: 'Mål høyder',\n description: 'Mål høydeforskjell mellom to punkter, og se høydekurver',\n side: 'bottom',\n align: 'start',\n },\n },\n {\n element: 'length-measurement',\n popover: {\n title: 'Mål lengder',\n description: 'Tegn en linje mellom to punkter og få ut mål i meter',\n side: 'bottom',\n align: 'start',\n },\n },\n {\n element: 'area-measurement',\n popover: {\n title: 'Mål areal og omkrets',\n description: 'Tegn en flate og beregn flatens areal og omkrets',\n side: 'bottom',\n align: 'start',\n },\n },\n {\n element: 'insert-building',\n popover: {\n title: 'Visualiser ditt prosjekt på tomten',\n description:\n 'Sett inn ditt nye hus (IFC BIM-modell), skjul eksisterende bygninger og ta skjermbilder til presentasjoner',\n side: 'right',\n align: 'start',\n },\n },\n];\n\nexport default tourSteps;\n","import { DriveStep } from 'driver.js';\n\nconst tourSteps: DriveStep[] = [\n {\n element: 'body',\n popover: {\n title: 'Ingen produkt guide for denne siden enda.',\n description:\n 'Vi har registert interessen og jobber aktivt med å legge til nye.',\n side: 'right',\n align: 'start',\n },\n },\n];\n\nexport default tourSteps;\n","import { DriveStep } from 'driver.js';\n\nconst steps: DriveStep[] = [\n {\n element: 'generate-report',\n popover: {\n title: 'Nyhet',\n description:\n '
    ' +\n '
  • Du kan bruke grensesnittet mens rapporten genereres i bakgrunn.
  • ' +\n '
  • Du blir varslet nÃ¥r rapporten er klar.
  • ' +\n '
  • Vi har gjort forbedringer i utformingen av rapporten.
  • ' +\n '
  • Vi har økt kvaliteten av skjermbilder.
  • ' +\n '
  • Du fÃ¥r nÃ¥ et skjermbilde av eiendommen i 3D.
  • ' +\n '
  • Vi har lagt ved beskrivelse og tegnforklaring under kartlag skjermbilder.
  • ' +\n '
',\n side: 'right',\n align: 'start',\n },\n },\n];\n\nexport default steps;\n","import { DriveStep } from 'driver.js';\n\nconst steps: DriveStep[] = [\n {\n element: 'map-2D',\n popover: {\n title: 'Nyhet',\n description:\n '
' +\n '

Nå kan du få mer informasjon om punkter i kartet. ' +\n 'Dette gjør du ved å klikke på et punkt fra et valgt kartlag som deretter vil vise deg detaljert informasjon.
' +\n 'F.eks. kan du se informasjon om freda bygninger:

' +\n \"map_feature_list\" +\n '
',\n side: 'right',\n align: 'start',\n },\n },\n];\n\nexport default steps;\n","import intro from './intro.tour';\nimport propertyPanel from './propertyPanel.tour';\nimport tools3d from './tools3d.tour';\nimport defaultTour from './default.tour';\nimport reportGenerator from './reportGenerator.tour';\nimport mapFeatures from './mapFeatures';\n\nexport default {\n intro,\n propertyPanel,\n tools3d,\n defaultTour,\n reportGenerator,\n mapFeatures,\n};\n","import { defineStore } from 'pinia';\nimport { ref, watch, computed } from 'vue';\nimport { DriveStep } from 'driver.js';\nimport tours from '@/tours';\n\ntype TourType = typeof tours;\ntype TourNames = keyof TourType;\nconst TOUR_STORAGE_KEY = 'pf-onboarding-tours';\nconst WEEK_IN_MS = 1000 * 60 * 60 * 24 * 7;\n\nexport const useOnboardingStore = defineStore('onboarding', () => {\n const tourState = ref<{\n [key: string]: {\n state: 'complete' | 'skipped' | 'started';\n modifiedDate: number;\n count: number;\n };\n }>({});\n const steps = ref([]);\n const currentTour = ref(null);\n\n const _loadTourState = (() => {\n const storageValue = localStorage.getItem(TOUR_STORAGE_KEY);\n if (storageValue) {\n tourState.value = JSON.parse(storageValue);\n } else {\n tourState.value = {};\n }\n })();\n\n const getTourList = computed(() => {\n return Object.keys(tours) as TourNames[];\n });\n\n const completeTour = (tourname: string) => {\n steps.value = [];\n\n tourState.value[tourname] = {\n count: 1,\n state: 'complete',\n modifiedDate: Date.now(),\n };\n };\n\n const skipTour = (tourname: string) => {\n let tourStatus = tourState.value[tourname];\n\n if (!tourStatus) {\n tourStatus = {\n count: 0,\n state: 'skipped',\n modifiedDate: Date.now(),\n };\n }\n\n tourStatus.count += 1;\n\n steps.value = [];\n tourState.value[tourname] = tourStatus;\n };\n\n const skipCurrentTour = () => {\n if (currentTour.value) {\n skipTour(currentTour.value);\n } else {\n steps.value = [];\n }\n };\n\n const completeCurrentTour = () => {\n if (currentTour.value) {\n completeTour(currentTour.value);\n } else {\n steps.value = [];\n }\n };\n\n const forceStartTour = (tourName: T): void => {\n currentTour.value = tourName;\n steps.value = tours[tourName];\n };\n\n const startTour = (\n tourName?: T,\n delayInMs = 0\n ): void => {\n const nowInMS = Date.now();\n if (tourName) {\n let tourStatus = tourState.value[tourName];\n\n if (!tourStatus) {\n tourStatus = {\n count: 0,\n state: 'started',\n modifiedDate: nowInMS,\n };\n }\n\n const restartSchedulePassed =\n nowInMS - tourStatus.modifiedDate > WEEK_IN_MS;\n\n const shouldSkipBecauseOfTime =\n tourStatus.state === 'skipped' && !restartSchedulePassed;\n const skipCountOverThreadshold =\n tourStatus.state === 'skipped' && tourStatus.count >= 2;\n const hasCompleted = tourStatus.state === 'complete';\n if (\n !hasCompleted &&\n !shouldSkipBecauseOfTime &&\n !skipCountOverThreadshold\n ) {\n setTimeout(() => {\n forceStartTour(tourName);\n }, delayInMs);\n }\n }\n };\n\n watch(tourState.value, () => {\n localStorage.setItem(TOUR_STORAGE_KEY, JSON.stringify(tourState.value));\n });\n\n return {\n steps,\n currentTour,\n startTour,\n completeCurrentTour,\n skipCurrentTour,\n forceStartTour,\n completeTour,\n skipTour,\n getTourList,\n };\n});\n","import { InjectionKey, Ref, ref } from 'vue';\nimport logger from '@/utilities/Logger';\n\nexport interface ProjectStage {\n activeProject: Readonly<\n Ref<{ readonly [x: string]: Readonly } | undefined>\n >;\n setActiveProject: (project?: Record) => void;\n}\n\nexport interface StoredCadastre {\n key: string;\n status: string;\n position?: number[];\n}\n\nexport interface CadastreStage {\n storedCadastres: Readonly>;\n reload: () => Promise;\n}\n\nexport const ActiveProjectKey: InjectionKey =\n Symbol('ActiveProject');\nexport const DefaultActiveProject: Readonly = {\n activeProject: ref(undefined),\n setActiveProject: () => {\n logger.error('No project injected by app.');\n },\n};\nexport const StoredCadastreKey: InjectionKey =\n Symbol('StoredCadastre');\nexport const DefaultStoredCadastre: Readonly = {\n storedCadastres: ref([]),\n reload: () => Promise.resolve(),\n};\n\nexport default {\n ActiveProjectKey,\n DefaultActiveProject,\n StoredCadastreKey,\n DefaultStoredCadastre,\n};\n","export default class TextUtil {\n public string: string;\n\n constructor(string?: string) {\n this.string = string || '';\n }\n\n public uCaseFirst(): string {\n if (this.string) {\n return (\n this.string.charAt(0).toUpperCase() + this.string.slice(1).toLowerCase()\n );\n }\n\n return '';\n }\n\n public numberCount(): number {\n if (!this.string) {\n return 0;\n }\n\n const pattern = /\\d+/g;\n const match = this.string.match(pattern);\n\n if (!match) {\n return 0;\n }\n\n return match.length;\n }\n\n public nonNumericCount(): number {\n if (!this.string) {\n return 0;\n }\n\n let string = this.string.replace(' ', '');\n string = string.replace('.', '');\n\n const pattern = /[^0-9]/g;\n const match = string.match(pattern);\n\n if (!match) {\n return 0;\n }\n\n return match.length;\n }\n\n public ifNull(valueIfNull: string): string {\n if (!this.string) {\n return valueIfNull;\n }\n\n return this.string;\n }\n}\n","/* eslint-disable max-classes-per-file */\nimport { iot, mqtt5 } from 'aws-iot-device-sdk-v2/lib/browser';\nimport { coreStore } from '@ambita/ambita-components-core';\nimport logger from '@/utilities/Logger';\n\nconst REPORT_TOPIC = 'propfinder/report';\n\nenum IoTConnectionState {\n Disconnected,\n Connecting,\n Connected,\n}\n\nexport enum ReportStatus {\n Started = 'STARTED',\n Processing = 'PROCESSING',\n Error = 'ERROR',\n Finished = 'FINISHED',\n}\n\nexport interface IoTData {\n data: string;\n status: ReportStatus;\n}\n\nexport class IoTEvent extends Event {\n readonly data: IoTData;\n\n constructor(type: string, data: IoTData) {\n super(type);\n this.data = data;\n }\n}\n\nclass IoTClient {\n private client: mqtt5.Mqtt5Client | undefined;\n\n private state = IoTConnectionState.Disconnected;\n\n private decoder = new TextDecoder();\n\n async connect(): Promise {\n if (this.state !== IoTConnectionState.Disconnected) {\n return Promise.resolve(false);\n }\n\n logger.debug('IoT client connecting');\n\n const tokenOrPromise = coreStore.getAccessToken();\n\n const tokenPromise = new Promise((resolve, reject) => {\n if (typeof tokenOrPromise === 'string') {\n resolve(tokenOrPromise);\n } else {\n tokenOrPromise.then(resolve).catch(reject);\n }\n });\n\n return tokenPromise\n .then((token) => this.connectMqtt(coreStore.getLogonIdent(), token))\n .then(() => {\n return Promise.resolve(true);\n });\n }\n\n disconnect() {\n logger.debug('IoT client disconnect');\n this.client?.stop();\n this.state = IoTConnectionState.Disconnected;\n }\n\n private async connectMqtt(userId: string, token: string) {\n if (!process.env.VUE_APP_CORE_ENV) {\n logger.error('Application core env not defined');\n return;\n }\n\n const AUTHORIZER_NAME = `report-iot-authorizer-${process.env.VUE_APP_CORE_ENV}`;\n\n const customAuthConfig: iot.MqttConnectCustomAuthConfig = {\n username: userId,\n authorizerName: encodeURIComponent(AUTHORIZER_NAME),\n tokenKeyName: encodeURIComponent('propfinder'),\n tokenValue: token,\n tokenSignature: '-',\n };\n\n const iotHost = process.env.VUE_APP_REPORT_IOT_HOST;\n if (!iotHost) {\n logger.error('IoT host name not defined');\n return;\n }\n logger.debug(`Connect MQTT to endpoint ${iotHost}`);\n\n const builder =\n iot.AwsIotMqtt5ClientConfigBuilder.newWebsocketMqttBuilderWithCustomAuth(\n iotHost,\n customAuthConfig\n );\n\n try {\n this.state = IoTConnectionState.Connecting;\n\n const client: mqtt5.Mqtt5Client = new mqtt5.Mqtt5Client(builder.build());\n\n client.on('error', (error) => {\n logger.error(`MQTT error event: ${error.toString()}`);\n });\n\n client.on('messageReceived', (event) =>\n this.handleMessageReceived(event)\n );\n\n client.on('connectionFailure', (event: mqtt5.ConnectionFailureEvent) => {\n logger.error(`MQTT client connection failure: ${event.error}`);\n this.state = IoTConnectionState.Disconnected;\n });\n\n client.on('connectionSuccess', (event: mqtt5.ConnectionSuccessEvent) => {\n logger.info('MQTT client connected');\n\n const topicFilter = `${REPORT_TOPIC}/${userId.toLowerCase()}`;\n client.subscribe({\n subscriptions: [\n {\n qos: mqtt5.QoS.AtLeastOnce,\n topicFilter,\n },\n ],\n });\n logger.info(`subscribed to topic ${topicFilter}`);\n this.state = IoTConnectionState.Connected;\n });\n\n client.on('disconnection', (event: mqtt5.DisconnectionEvent) => {\n logger.info('mqttClient disconnected');\n this.state = IoTConnectionState.Disconnected;\n });\n\n this.client = client;\n this.client.start();\n } catch (error) {\n logger.error('IoT error', error);\n }\n }\n\n private handleMessageReceived(eventData: mqtt5.MessageReceivedEvent) {\n logger.info(`IoT message received`);\n\n if (eventData.message.payload) {\n const json = this.decoder.decode(\n eventData.message.payload as ArrayBuffer\n );\n const iotData = JSON.parse(json) as IoTData;\n logger.debug(`With payload: ${JSON.stringify(iotData)}`);\n\n document.dispatchEvent(new IoTEvent('iotMessageReceived', iotData));\n }\n }\n}\n\nexport const iotClient: IoTClient = new IoTClient();\n","","import { render } from \"./ProjectSaveFirstPropertyEmptyState.svg?vue&type=template&id=545581a6\"\nconst script = {}\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AngleIcon = _resolveComponent(\"AngleIcon\")!\n\n return (_openBlock(), _createElementBlock(\"details\", {\n class: _normalizeClass({\n accordion: true,\n [`accordion--${_ctx.size}`]: true,\n })\n }, [\n _createElementVNode(\"summary\", null, [\n _renderSlot(_ctx.$slots, \"summary\", {}, undefined, true),\n _createVNode(_component_AngleIcon, { class: \"caret\" })\n ]),\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ], 2))\n}","\nimport { defineComponent } from 'vue';\nimport AngleIcon from '@icons/regular/caret-down.svg';\n\nexport default defineComponent({\n props: {\n size: {\n type: String,\n default: 'medium',\n required: false,\n },\n },\n components: {\n AngleIcon,\n },\n});\n","import { render } from \"./Accordion.vue?vue&type=template&id=917f5b0a&scoped=true&ts=true\"\nimport script from \"./Accordion.vue?vue&type=script&lang=ts\"\nexport * from \"./Accordion.vue?vue&type=script&lang=ts\"\n\nimport \"./Accordion.vue?vue&type=style&index=0&id=917f5b0a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-917f5b0a\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"empty-state-wrapper\" }\nconst _hoisted_2 = {\n key: 1,\n class: \"subtitle\"\n}\nconst _hoisted_3 = {\n key: 2,\n class: \"cta\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.$slots.illustration)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass({\n [`illustration-size--${_ctx.illustrationSize}`]: true,\n })\n }, [\n _renderSlot(_ctx.$slots, \"illustration\", {}, undefined, true)\n ], 2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.title), 1),\n (_ctx.subtitle)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_2, _toDisplayString(_ctx.subtitle), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.$slots.cta)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"cta\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n props: {\n title: {\n type: String,\n required: true,\n },\n subtitle: {\n type: String,\n required: false,\n },\n illustrationSize: {\n type: String,\n required: false,\n default: 'large',\n },\n },\n});\n","import { render } from \"./EmptyState.vue?vue&type=template&id=cf573668&scoped=true&ts=true\"\nimport script from \"./EmptyState.vue?vue&type=script&lang=ts\"\nexport * from \"./EmptyState.vue?vue&type=script&lang=ts\"\n\nimport \"./EmptyState.vue?vue&type=style&index=0&id=cf573668&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-cf573668\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, vShow as _vShow, withDirectives as _withDirectives, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withKeys as _withKeys, withCtx as _withCtx, createBlock as _createBlock, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n src: \"/img/propfinder_logo_light.svg\",\n alt: \"PropFinder\"\n}\nconst _hoisted_2 = {\n key: 1,\n src: \"/img/propfinder_logo_dark.svg\",\n alt: \"PropFinder\"\n}\nconst _hoisted_3 = [\"href\"]\nconst _hoisted_4 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_project_picker = _resolveComponent(\"project-picker\")!\n const _component_user_circle_icon = _resolveComponent(\"user-circle-icon\")!\n const _component_sign_out_icon = _resolveComponent(\"sign-out-icon\")!\n const _component_popover = _resolveComponent(\"popover\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_icon_plus = _resolveComponent(\"icon-plus\")!\n const _component_create_project = _resolveComponent(\"create-project\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\n _ctx.$style.container,\n _ctx.fullscreen ? _ctx.$style.fullscreen : '',\n _ctx.isProjectsView ? _ctx.$style.dark : '',\n ])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.$style.content)\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.$style.headerText)\n }, [\n (_ctx.isProjectsView)\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_1))\n : (_openBlock(), _createElementBlock(\"img\", _hoisted_2))\n ], 2),\n _createElementVNode(\"ul\", {\n class: _normalizeClass(_ctx.$style.menu)\n }, [\n _withDirectives(_createElementVNode(\"li\", {\n id: \"picker-menu\",\n class: _normalizeClass(_ctx.$style.user)\n }, [\n _createVNode(_component_project_picker, { dark: _ctx.isProjectsView }, null, 8, [\"dark\"])\n ], 2), [\n [_vShow, _ctx.$router.currentRoute.value.params.projectId]\n ]),\n _createElementVNode(\"li\", {\n id: \"headerUserBtn\",\n class: _normalizeClass(_ctx.$style.user)\n }, [\n _createVNode(_component_user_circle_icon, {\n class: _normalizeClass(_ctx.$style.userIcon),\n width: \"1.25em\",\n height: \"1.25em\"\n }, null, 8, [\"class\"]),\n _createElementVNode(\"h5\", {\n class: _normalizeClass(_ctx.$style.headerUsername)\n }, _toDisplayString(_ctx.getUser()), 3)\n ], 2)\n ], 2)\n ], 2)\n ], 2),\n _createVNode(_component_popover, {\n target: \"headerUserBtn\",\n class: _normalizeClass(_ctx.$style.popover),\n arrow: true,\n toggleListeners: ['click'],\n options: { placement: 'bottom' },\n modifiers: [{ name: 'offset', options: { offset: [-30, -6] } }]\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"ul\", {\n class: _normalizeClass(_ctx.$style.popoverList)\n }, [\n _createElementVNode(\"li\", null, [\n _createElementVNode(\"a\", {\n href: `https://infoland.ambita.com/#/bruker/${_ctx.getUserLogonIdent()}`,\n target: \"_blank\"\n }, \" Min side \", 8, _hoisted_3)\n ]),\n _createElementVNode(\"li\", null, [\n _createElementVNode(\"div\", {\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.logOut && _ctx.logOut(...args))),\n onKeyup: [\n _cache[1] || (_cache[1] = _withKeys(\n//@ts-ignore\n(...args) => (_ctx.logOut && _ctx.logOut(...args)), [\"enter\"])),\n _cache[2] || (_cache[2] = _withKeys(\n//@ts-ignore\n(...args) => (_ctx.logOut && _ctx.logOut(...args)), [\"space\"]))\n ]\n }, [\n _createVNode(_component_sign_out_icon, {\n class: _normalizeClass(_ctx.$style.popoverListIcon),\n width: \"22\",\n height: \"22\"\n }, null, 8, [\"class\"]),\n _cache[6] || (_cache[6] = _createTextVNode(\" Logg ut \"))\n ], 32)\n ])\n ], 2)\n ]),\n _: 1\n }, 8, [\"class\"]),\n _createVNode(_component_popover, {\n target: \"picker-menu\",\n class: _normalizeClass(_ctx.$style.popover),\n arrow: true,\n toggleListeners: ['click'],\n options: { placement: 'bottom' },\n modifiers: [{ name: 'offset', options: { offset: [0, 11] } }]\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"ul\", {\n class: _normalizeClass(_ctx.$style.popoverList)\n }, [\n (_ctx.projectStore.projectId)\n ? (_openBlock(), _createElementBlock(\"li\", _hoisted_4, [\n _createVNode(_component_router_link, {\n to: `/prosjekter/${_ctx.projectStore.projectId}/Prosjektoversikt`\n }, {\n default: _withCtx(() => _cache[7] || (_cache[7] = [\n _createTextVNode(\" Prosjektoversikt \")\n ])),\n _: 1\n }, 8, [\"to\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"li\", null, [\n _createVNode(_component_router_link, { to: \"/prosjekter\" }, {\n default: _withCtx(() => _cache[8] || (_cache[8] = [\n _createTextVNode(\"Alle prosjekter\")\n ])),\n _: 1\n })\n ]),\n _createElementVNode(\"li\", null, [\n _createElementVNode(\"div\", {\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.showCreateProjectModal && _ctx.showCreateProjectModal(...args))),\n onKeyup: [\n _cache[4] || (_cache[4] = _withKeys(\n//@ts-ignore\n(...args) => (_ctx.showCreateProjectModal && _ctx.showCreateProjectModal(...args)), [\"enter\"])),\n _cache[5] || (_cache[5] = _withKeys(\n//@ts-ignore\n(...args) => (_ctx.showCreateProjectModal && _ctx.showCreateProjectModal(...args)), [\"space\"]))\n ]\n }, [\n _createVNode(_component_icon_plus, {\n class: _normalizeClass(_ctx.$style.popoverListIcon),\n width: \"22\",\n height: \"22\"\n }, null, 8, [\"class\"]),\n _cache[9] || (_cache[9] = _createTextVNode(\" Nytt prosjekt \"))\n ], 32)\n ])\n ], 2)\n ]),\n _: 1\n }, 8, [\"class\"]),\n (_ctx.isProjectModalOpen)\n ? (_openBlock(), _createBlock(_component_create_project, {\n key: 0,\n onCloseModal: _ctx.closeCreateProjectModal,\n onCreate: _ctx.createProject\n }, null, 8, [\"onCloseModal\", \"onCreate\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = [\"data-testid\"]\nconst _hoisted_2 = [\"data-testid\"]\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = [\"data-testid\"]\n\nimport { DataTestId } from '@/composables';\nimport IconCaretDown from '@icons/regular/caret-down.svg';\nimport { Ref, toRef } from 'vue';\nimport { useProjectStore } from '@/store/project';\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'ProjectPicker',\n props: {\n dataTestid: {},\n dark: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst projectStore = useProjectStore();\nconst props = __props;\n\nconst { getTestId } = DataTestId(\n toRef(props, 'dataTestid') as Ref\n);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n \"data-testid\": _ctx.dataTestid,\n class: _normalizeClass({ 'project-picker': true, dark: _ctx.dark })\n }, [\n (_unref(projectStore).project)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _cache[0] || (_cache[0] = _createTextVNode(\" Valgt prosjekt: \")),\n _createElementVNode(\"span\", {\n class: \"project-name\",\n \"data-testid\": _unref(getTestId)('anchor')\n }, _toDisplayString(_unref(projectStore).project?.Name), 9, _hoisted_2)\n ], 64))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_3, \"Prosjektverktøy\")),\n _createElementVNode(\"span\", {\n \"data-testid\": _unref(getTestId)('caret'),\n class: \"picker-menu\",\n \"aria-label\": \"Undermeny\",\n tabindex: \"0\"\n }, [\n _createVNode(_unref(IconCaretDown), {\n width: \"1em\",\n height: \"1em\"\n })\n ], 8, _hoisted_4)\n ], 10, _hoisted_1))\n}\n}\n\n})","import script from \"./ProjectPicker.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ProjectPicker.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./ProjectPicker.vue?vue&type=style&index=0&id=533dcff1&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-533dcff1\"]])\n\nexport default __exports__","\nimport { defineComponent, ref } from 'vue';\nimport ProjectPicker from '@/components/Projects/ProjectPicker.vue';\nimport router from '@/router';\nimport IconPlus from '@icons/regular/plus.svg';\nimport UserCircleIcon from '@icons/regular/user-circle.svg';\nimport SignOutIcon from '@icons/regular/sign-out.svg';\nimport { coreStore, coreActions } from '@ambita/ambita-components-core';\nimport Popover from '@/components/helper/Popover.vue';\nimport { useProjectStore } from '@/store/project';\nimport CreateProject from '../Projects/CreateProject.vue';\n\nexport default defineComponent({\n name: 'Header',\n components: {\n IconPlus,\n UserCircleIcon,\n SignOutIcon,\n Popover,\n ProjectPicker,\n CreateProject,\n },\n setup() {\n const projectStore = useProjectStore();\n const isProjectModalOpen = ref(false);\n\n const showCreateProjectModal = () => {\n isProjectModalOpen.value = true;\n };\n\n const closeCreateProjectModal = () => {\n isProjectModalOpen.value = true;\n };\n\n const createProject = (id: string) => {\n closeCreateProjectModal();\n router.push(`/prosjekter/${id}/Prosjektoversikt`);\n };\n\n return {\n isProjectModalOpen,\n projectStore,\n createProject,\n closeCreateProjectModal,\n showCreateProjectModal,\n };\n },\n props: {\n fullscreen: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n data() {\n return {\n isProjectsView: this.$route.path.indexOf('prosjekt') !== -1,\n };\n },\n methods: {\n getUser(): string {\n return coreStore.getUserName();\n },\n getUserLogonIdent(): string {\n return coreStore.getUser().logonIdent;\n },\n logOut(): void {\n coreActions.logout();\n\n router.push('/logg-inn');\n },\n },\n});\n","import { render } from \"./HeaderComponent.vue?vue&type=template&id=483d73d0&ts=true\"\nimport script from \"./HeaderComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./HeaderComponent.vue?vue&type=script&lang=ts\"\n\nconst cssModules = {}\nimport style0 from \"./HeaderComponent.module.scss?vue&type=style&index=0&lang=scss&module=true\"\ncssModules[\"$style\"] = style0\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_caret_left_icon = _resolveComponent(\"caret-left-icon\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createBlock(_component_router_link, { to: _ctx.to }, {\n default: _withCtx(() => [\n _createVNode(_component_caret_left_icon, {\n width: \"30\",\n height: \"30\"\n }),\n _createTextVNode(\" \" + _toDisplayString(_ctx.label), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n}","\nimport { defineComponent } from 'vue';\nimport CaretLeftIcon from '@icons/regular/caret-left.svg';\n\nexport default defineComponent({\n props: {\n to: {\n type: String,\n required: true,\n },\n label: {\n type: String,\n required: true,\n },\n },\n components: {\n CaretLeftIcon,\n },\n});\n","import { render } from \"./PanelBackButton.vue?vue&type=template&id=a87a6632&scoped=true&ts=true\"\nimport script from \"./PanelBackButton.vue?vue&type=script&lang=ts\"\nexport * from \"./PanelBackButton.vue?vue&type=script&lang=ts\"\n\nimport \"./PanelBackButton.vue?vue&type=style&index=0&id=a87a6632&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a87a6632\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createTextVNode as _createTextVNode, unref as _unref, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode } from \"vue\"\n\n\nimport { CreateProject } from '@/data/Projects';\nimport { defineComponent, ref } from 'vue';\nimport Logger from '@/utilities/Logger';\nimport {\n AuxInput,\n AuxSpinner,\n AuxModal,\n AuxValidationWrapper,\n} from '@ambita/design-system';\n\nconst __default__ = defineComponent({\n name: 'CreateProject',\n});\n\nexport default /*@__PURE__*/_defineComponent({\n ...__default__,\n emits: [\"create\", \"close-modal\"],\n setup(__props, { emit: __emit }) {\n\nconst name = ref('');\nconst error = ref([]);\nconst loading = ref(false);\nconst emits = __emit;\n\nconst onInput = (input: string): void => {\n name.value = input;\n};\n\nconst onSubmit = (): void => {\n loading.value = true;\n error.value = [];\n CreateProject(name.value)\n .then((result) => {\n Logger.info(`Project created: ${result}`);\n emits('create', result);\n })\n .catch((e: Error) => {\n if (e && e.name === 'InvalidParameterError') {\n error.value.push('Ugyldig prosjektnavn');\n } else {\n Logger.error(e);\n error.value.push('Klarte ikke opprette prosjekt.');\n }\n })\n .finally(() => {\n loading.value = false;\n });\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_unref(AuxModal), {\n title: \"Nytt prosjekt\",\n size: \"small\",\n onCreateProject: onSubmit,\n onCloseModal: _cache[0] || (_cache[0] = ($event: any) => (emits('close-modal'))),\n actions: [\n {\n label: 'Opprett prosjekt',\n emit: 'create-project',\n primary: true,\n },\n {\n label: 'Avbryt',\n emit: 'close-modal',\n },\n ]\n }, {\n default: _withCtx(() => [\n (loading.value)\n ? (_openBlock(), _createBlock(_unref(AuxSpinner), {\n key: 0,\n size: \"medium\"\n }, {\n default: _withCtx(() => _cache[1] || (_cache[1] = [\n _createTextVNode(\"Laster\")\n ])),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_unref(AuxValidationWrapper), { errorMessages: error.value }, {\n default: _withCtx(() => [\n (!loading.value)\n ? (_openBlock(), _createBlock(_unref(AuxInput), {\n key: 0,\n label: \"Prosjektnavn\",\n onInput: onInput,\n value: name.value\n }, null, 8, [\"value\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"errorMessages\"])\n ]),\n _: 1\n }))\n}\n}\n\n})","import script from \"./CreateProject.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CreateProject.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CreateProject.vue?vue&type=style&index=0&id=010e650a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-010e650a\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = { class: \"ToggleSwitchWrap\" }\nconst _hoisted_2 = { class: \"ToggleSwitchPad\" }\nconst _hoisted_3 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_aux_toggle = _resolveComponent(\"aux-toggle\")!\n const _component_vertical_bar_chart = _resolveComponent(\"vertical-bar-chart\")!\n const _component_number_text = _resolveComponent(\"number-text\")!\n const _component_data_loader = _resolveComponent(\"data-loader\")!\n\n return (_openBlock(), _createBlock(_component_data_loader, {\n loading: _ctx.loading,\n error: _ctx.error,\n onLoad: _ctx.load\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.title)\n ? (_openBlock(), _createElementBlock(\"h5\", _hoisted_3, _toDisplayString(_ctx.title), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.hideGraph)\n ? (_openBlock(), _createBlock(_component_aux_toggle, {\n key: 0,\n checked: _ctx.displayNumbers,\n label: \"Vis verdier i:\",\n offLabel: \"Prosent\",\n onLabel: \"Antall\",\n onChange: _cache[0] || (_cache[0] = () => _ctx.toggleMode())\n }, null, 8, [\"checked\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.hideGraph)\n ? (_openBlock(), _createBlock(_component_vertical_bar_chart, {\n key: 0,\n percent: _ctx.percentData,\n numbers: _ctx.numberData,\n showNumbers: _ctx.displayNumbers\n }, null, 8, [\"percent\", \"numbers\", \"showNumbers\"]))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.keys(_ctx.textData), (key, index) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: index }, [\n (Object.prototype.hasOwnProperty.call(_ctx.textData, key))\n ? (_openBlock(), _createBlock(_component_number_text, {\n key: 0,\n number: _ctx.textData[key],\n text: key\n }, null, 8, [\"number\", \"text\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 128))\n ]),\n _: 1\n }, 8, [\"loading\", \"error\", \"onLoad\"]))\n}","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"VerticalBarChart\" }\nconst _hoisted_2 = { class: \"vertical-bar-chart-label\" }\nconst _hoisted_3 = { class: \"vertical-bar-chart-bar\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"vertical-bar-chart-bold\"\n}\nconst _hoisted_5 = { class: \"vertical-bar-chart-bar\" }\nconst _hoisted_6 = {\n key: 1,\n class: \"vertical-bar-chart-bold\"\n}\nconst _hoisted_7 = { class: \"vertical-bar-chart-bar\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.values, (val, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"vertical-bar-chart\",\n key: `bc${index}`\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(val.description), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n style: _normalizeStyle(`width: ${val.barWidth}%;`)\n }, null, 4),\n (_ctx.showNumbers)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass({\n 'vertical-bar-chart-long-label': String(val.number).length > 4,\n })\n }, _toDisplayString(val.number), 3))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass({ 'vertical-bar-chart-long-label': val.percent.length > 4 })\n }, _toDisplayString(val.percent), 3))\n ])\n ]))\n }), 128)),\n (_ctx.showNumbers)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _cache[0] || (_cache[0] = _createElementVNode(\"div\", { class: \"vertical-bar-chart-label\" }, \"0\", -1)),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.maxNum), 1)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _cache[1] || (_cache[1] = _createElementVNode(\"div\", { class: \"vertical-bar-chart-label\" }, \"0%\", -1)),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.max) + \"%\", 1)\n ])\n ]))\n ]))\n}","\nimport { defineComponent, PropType } from 'vue';\n\nexport default defineComponent({\n name: 'VerticalBarChart',\n props: {\n percent: {\n type: Object as PropType>,\n required: true,\n },\n numbers: {\n type: Object as PropType>,\n required: true,\n },\n showNumbers: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n max(): number {\n let max = Number.NEGATIVE_INFINITY;\n const keys = Object.keys(this.percent);\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < keys.length; ++i) {\n if (Object.prototype.hasOwnProperty.call(this.percent, keys[i])) {\n max = Math.max(this.percent[keys[i]], max);\n }\n }\n\n return max;\n },\n maxNum(): number {\n let max = Number.NEGATIVE_INFINITY;\n const keys = Object.keys(this.numbers);\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < keys.length; ++i) {\n if (Object.prototype.hasOwnProperty.call(this.numbers, keys[i])) {\n max = Math.max(this.numbers[keys[i]], max);\n }\n }\n\n return max;\n },\n values(): Record[] {\n const numberKeys = this.numbers ? Object.keys(this.numbers) : [];\n const percentKeys = this.percent ? Object.keys(this.percent) : [];\n const result: Record[] = [];\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < percentKeys.length; ++i) {\n const hasKey = Object.prototype.hasOwnProperty.call(\n this.percent,\n percentKeys[i]\n );\n\n if (hasKey) {\n let number: number | string = '?';\n\n if (numberKeys.length > i) {\n number = this.numbers[numberKeys[i]];\n }\n\n result.push({\n description: percentKeys[i],\n percent: `${this.percent[percentKeys[i]]}%`,\n number,\n barWidth: Math.round(\n (this.percent[percentKeys[i]] / this.max) * 100\n ),\n });\n }\n }\n\n return result;\n },\n },\n});\n","import { render } from \"./VerticalBarChart.vue?vue&type=template&id=45db356f&scoped=true&ts=true\"\nimport script from \"./VerticalBarChart.vue?vue&type=script&lang=ts\"\nexport * from \"./VerticalBarChart.vue?vue&type=script&lang=ts\"\n\nimport \"./VerticalBarChart.vue?vue&type=style&index=0&id=45db356f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-45db356f\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"number-text\" }\nconst _hoisted_2 = { class: \"number-text-value\" }\nconst _hoisted_3 = { class: \"number-text-description\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.number), 1),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.text), 1)\n ]))\n}","\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n name: 'NumberText',\n props: {\n number: {\n type: String,\n required: true,\n },\n text: {\n type: String,\n default: '',\n },\n },\n});\n","import { render } from \"./NumberText.vue?vue&type=template&id=5957c644&scoped=true&ts=true\"\nimport script from \"./NumberText.vue?vue&type=script&lang=ts\"\nexport * from \"./NumberText.vue?vue&type=script&lang=ts\"\n\nimport \"./NumberText.vue?vue&type=style&index=0&id=5957c644&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5957c644\"]])\n\nexport default __exports__","\nimport { defineComponent, PropType } from 'vue';\nimport DataLoader from '@/components/helper/DataLoader.vue';\nimport { AuxToggle } from '@ambita/design-system';\nimport VerticalBarChart from '@/components/Graphs/VerticalBarChart.vue';\nimport NumberText from '@/components/Graphs/NumberText.vue';\nimport {\n DemographyDataField,\n DemographyArea,\n getDemographyType,\n} from '@/data/Demography';\nimport Extent from '@arcgis/core/geometry/Extent';\nimport Logger from '@/utilities/Logger';\n\nexport default defineComponent({\n name: 'Demography',\n components: {\n DataLoader,\n AuxToggle,\n VerticalBarChart,\n NumberText,\n },\n props: {\n title: {\n type: String,\n default: undefined,\n },\n geometry: {\n type: Object as PropType,\n required: true,\n },\n area: {\n type: String as PropType,\n required: true,\n },\n type: {\n type: Object as PropType,\n required: true,\n },\n hideGraph: {\n type: Boolean,\n default: false,\n },\n },\n data() {\n return {\n loading: true,\n displayNumbers: false,\n error: null as string | null,\n percentData: {} as Record,\n textData: {} as Record,\n numberData: {} as Record,\n };\n },\n mounted() {\n this.load();\n },\n watch: {\n area(): void {\n this.load();\n },\n type(): void {\n this.load();\n },\n geometry(): void {\n this.load();\n },\n },\n methods: {\n load(): void {\n if (!this.geometry) {\n this.error = 'Point not loaded';\n this.loading = false;\n return;\n }\n\n this.loading = true;\n this.error = null;\n\n getDemographyType(this.area, this.type, this.geometry)\n .then((filtered) => {\n this.numberData = filtered.numbers;\n this.textData = filtered.text;\n this.percentData = filtered.percent;\n })\n .catch((e) => {\n const msg = Object.prototype.hasOwnProperty.call(e, 'message')\n ? e.message\n : String(e);\n\n Logger.error(\n `Failed to load demography type ${this.type.types.basicDistrict}: ${msg}`\n );\n this.error = 'Feil ved innlasting';\n })\n .finally(() => {\n this.loading = false;\n });\n },\n toggleMode(): void {\n this.displayNumbers = !this.displayNumbers;\n },\n },\n});\n","import { render } from \"./Demography.vue?vue&type=template&id=5bb06df2&ts=true\"\nimport script from \"./Demography.vue?vue&type=script&lang=ts\"\nexport * from \"./Demography.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, Teleport as _Teleport, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = [\"href\"]\nconst _hoisted_2 = [\"content\"]\nconst _hoisted_3 = [\"content\"]\nconst _hoisted_4 = [\"content\"]\nconst _hoisted_5 = [\"content\"]\nconst _hoisted_6 = [\"content\"]\nconst _hoisted_7 = [\"content\"]\nconst _hoisted_8 = [\"content\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createBlock(_Teleport, { to: \"head\" }, [\n _createElementVNode(\"title\", null, _toDisplayString(_ctx.pageTitle), 1),\n _createElementVNode(\"link\", {\n rel: \"canonical\",\n href: _ctx.canonical\n }, null, 8, _hoisted_1),\n _cache[0] || (_cache[0] = _createElementVNode(\"meta\", {\n name: \"theme-color\",\n content: \"#2B3342\"\n }, null, -1)),\n _cache[1] || (_cache[1] = _createElementVNode(\"meta\", {\n name: \"copyright\",\n content: \"Copyright (c) 2024 Ambita AS, all rights reserved.\"\n }, null, -1)),\n _createElementVNode(\"meta\", {\n name: \"description\",\n content: _ctx.description\n }, null, 8, _hoisted_2),\n _createElementVNode(\"meta\", {\n property: \"og:title\",\n content: _ctx.pageTitle\n }, null, 8, _hoisted_3),\n _createElementVNode(\"meta\", {\n property: \"og:url\",\n content: _ctx.base_url\n }, null, 8, _hoisted_4),\n _cache[2] || (_cache[2] = _createElementVNode(\"meta\", {\n property: \"og:image\",\n content: \"\"\n }, null, -1)),\n _cache[3] || (_cache[3] = _createElementVNode(\"meta\", {\n property: \"og:type\",\n content: \"website\"\n }, null, -1)),\n _createElementVNode(\"meta\", {\n property: \"og:site_name\",\n content: _ctx.pageTitle\n }, null, 8, _hoisted_5),\n _createElementVNode(\"meta\", {\n property: \"og:description\",\n content: _ctx.description\n }, null, 8, _hoisted_6),\n _cache[4] || (_cache[4] = _createElementVNode(\"meta\", {\n name: \"twitter:card\",\n content: \"summary\"\n }, null, -1)),\n _cache[5] || (_cache[5] = _createElementVNode(\"meta\", {\n name: \"twitter:site\",\n content: \"@ambitaas\"\n }, null, -1)),\n _createElementVNode(\"meta\", {\n name: \"twitter:title\",\n content: _ctx.pageTitle\n }, null, 8, _hoisted_7),\n _createElementVNode(\"meta\", {\n name: \"twitter:description\",\n content: _ctx.description\n }, null, 8, _hoisted_8),\n _cache[6] || (_cache[6] = _createElementVNode(\"meta\", {\n name: \"twitter:image\",\n content: \"\"\n }, null, -1))\n ]))\n}","\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n name: 'SEO',\n components: {},\n props: {\n title: {\n type: String,\n default: '',\n },\n canonical: {\n type: String,\n default: '',\n },\n description: {\n type: String,\n default: '',\n },\n },\n setup() {\n return {\n base_url: process.env.BASE_URL,\n };\n },\n computed: {\n pageTitle(): string {\n let pageTitle = String(process.env.VUE_APP_PAGE_TITLE);\n\n if (this.title && this.title.length) {\n pageTitle = `${this.title} | ${pageTitle}`;\n }\n\n return pageTitle;\n },\n },\n});\n","import { render } from \"./SEO.vue?vue&type=template&id=faf734e2&ts=true\"\nimport script from \"./SEO.vue?vue&type=script&lang=ts\"\nexport * from \"./SEO.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementBlock as _createElementBlock, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = { class: \"data-loader\" }\nconst _hoisted_2 = {\n key: 1,\n class: \"data-loader-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_aux_spinner = _resolveComponent(\"aux-spinner\")!\n const _component_arrow_clockwise_icon = _resolveComponent(\"arrow-clockwise-icon\")!\n const _component_aux_definition = _resolveComponent(\"aux-definition\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.loading)\n ? (_openBlock(), _createBlock(_component_aux_spinner, {\n key: 0,\n size: \"medium\"\n }, {\n default: _withCtx(() => _cache[1] || (_cache[1] = [\n _createTextVNode(\" Laster \")\n ])),\n _: 1\n }))\n : (_ctx.error)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(_component_aux_definition, { label: _ctx.error }, {\n default: _withCtx(() => [\n _createVNode(_component_arrow_clockwise_icon, {\n width: \"26\",\n height: \"26\",\n fill: \"#000000\",\n onClick: _cache[0] || (_cache[0] = () => _ctx.$emit('load'))\n })\n ]),\n _: 1\n }, 8, [\"label\"])\n ]))\n : _renderSlot(_ctx.$slots, \"default\", { key: 2 }, undefined, true)\n ]))\n}","\nimport { defineComponent } from 'vue';\nimport { AuxSpinner, AuxDefinition } from '@ambita/design-system';\nimport ArrowClockwiseIcon from '@icons/bold/arrow-clockwise-bold.svg';\n\nexport default defineComponent({\n name: 'DataLoader',\n components: {\n AuxSpinner,\n AuxDefinition,\n ArrowClockwiseIcon,\n },\n props: {\n loading: {\n type: Boolean,\n default: true,\n },\n error: {\n type: String,\n default: null,\n },\n },\n emits: ['load'],\n});\n","import { render } from \"./DataLoader.vue?vue&type=template&id=2704de74&scoped=true&ts=true\"\nimport script from \"./DataLoader.vue?vue&type=script&lang=ts\"\nexport * from \"./DataLoader.vue?vue&type=script&lang=ts\"\n\nimport \"./DataLoader.vue?vue&type=style&index=0&id=2704de74&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2704de74\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = [\"id\"]\nconst _hoisted_2 = [\"id\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n id: _ctx.id,\n class: \"tooltip\",\n role: \"tooltip\"\n }, [\n (_ctx.arrow)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"arrow\",\n id: _ctx.arrowId,\n \"data-popper-arrow\": \"\"\n }, null, 8, _hoisted_2))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ], 8, _hoisted_1))\n}","\nimport { defineComponent, PropType } from 'vue';\nimport { createPopper, Instance, OptionsGeneric } from '@popperjs/core';\nimport type { StrictModifiers } from '@popperjs/core';\n\nfunction getUniqueId(base = 'uid', maxAttempts = 10): string {\n let id = base;\n let elem = document.getElementById(id);\n let attempts = 0;\n\n while (elem !== null) {\n attempts += 1;\n\n if (attempts === maxAttempts) {\n throw new Error('Max unique attempts reached');\n }\n\n id += Math.floor(Math.random() * 10).toString();\n elem = document.getElementById(id);\n }\n\n return id;\n}\n\nexport default defineComponent({\n name: 'Popover',\n props: {\n target: {\n type: String,\n required: true,\n },\n arrow: {\n type: Boolean,\n default: false,\n },\n options: {\n type: Object as PropType>> | null,\n default: null,\n },\n modifiers: {\n type: Object as PropType | null,\n default: null,\n },\n toggleListeners: {\n type: Array as PropType,\n default: () => [],\n },\n showListeners: {\n type: Array as PropType,\n default: () => [],\n },\n hideListeners: {\n type: Array as PropType,\n default: () => [],\n },\n },\n setup(props) {\n const id = getUniqueId(`${props.target}Popover`);\n\n return {\n id: getUniqueId(`${props.target}Popover`),\n arrowId: getUniqueId(`${id}Arrow`),\n };\n },\n data() {\n return {\n tooltipDOM: null as HTMLDivElement | null,\n arrowDOM: null as HTMLDivElement | null,\n targetDOM: null as HTMLElement | null,\n popperInstance: null as Instance | null,\n configuredListeners: {} as Record void)[]>,\n };\n },\n mounted() {\n this.targetDOM = document.getElementById(this.target);\n const tooltipDOM = document.getElementById(this.id);\n\n if (this.targetDOM === null) {\n throw new Error(`Tooltip target DOM #${this.target} does not exist`);\n }\n\n if (tooltipDOM === null) {\n throw new Error(`Tooltip DOM #${this.id} does not exist`);\n } else {\n this.tooltipDOM = tooltipDOM as HTMLDivElement;\n }\n\n if (this.arrow) {\n const arrowDOM = document.getElementById(this.arrowId);\n\n if (arrowDOM !== null) {\n this.arrowDOM = arrowDOM as HTMLDivElement;\n }\n }\n\n let { options } = this;\n let { modifiers } = this;\n const hasModifiers = Object.prototype.hasOwnProperty.call(\n options,\n 'modifiers'\n );\n\n if (options === null) {\n options = {};\n }\n\n if (hasModifiers && options.modifiers) {\n if (modifiers === null) {\n modifiers = options.modifiers;\n } else {\n modifiers = { ...options.modifiers, ...modifiers };\n }\n\n delete options.modifiers;\n }\n\n if (modifiers == null) {\n modifiers = [];\n }\n\n this.popperInstance = createPopper(\n this.targetDOM,\n tooltipDOM,\n {\n ...options,\n modifiers: [\n ...modifiers,\n {\n name: 'eventListeners',\n enabled: false,\n },\n ],\n }\n );\n\n this.toggleListeners.forEach((event) => {\n this.addListener(event, (e?: Event) => {\n if (e) {\n e.stopPropagation();\n }\n\n this.toggle();\n });\n });\n\n this.showListeners.forEach((event) => {\n this.addListener(event, (e?: Event) => {\n if (e) {\n e.stopPropagation();\n }\n\n this.show();\n });\n });\n\n this.hideListeners.forEach((event) => {\n this.addListener(event, (e?: Event) => {\n if (e) {\n e.stopPropagation();\n }\n\n this.hide();\n });\n });\n },\n beforeUnmount() {\n if (this.targetDOM === null || !this.targetDOM) {\n return;\n }\n\n if (this.isVisible()) {\n this.hide();\n }\n\n Object.keys(this.configuredListeners).forEach((event) => {\n const hasEvent = Object.prototype.hasOwnProperty.call(\n this.configuredListeners,\n event\n );\n\n if (hasEvent) {\n this.configuredListeners[event].map((fn) =>\n this.targetDOM?.removeEventListener(event, fn)\n );\n }\n });\n },\n methods: {\n addListener(event: string, listener: (e?: Event) => void): void {\n if (this.targetDOM === null || !this.targetDOM) {\n return;\n }\n\n this.targetDOM.addEventListener(event, listener);\n\n const hasEvent = Object.prototype.hasOwnProperty.call(\n this.configuredListeners,\n event\n );\n\n if (!hasEvent) {\n this.configuredListeners[event] = [listener];\n } else {\n this.configuredListeners[event].push(listener);\n }\n },\n show(): void {\n this.tooltipDOM?.setAttribute('data-show', '');\n\n // Enable the event listeners\n this.popperInstance?.setOptions((options) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const i in options.modifiers) {\n if (Object.prototype.hasOwnProperty.call(options.modifiers, i)) {\n const idx = parseInt(i, 10);\n\n if (options.modifiers[idx].name === 'eventListeners') {\n // eslint-disable-next-line no-param-reassign\n options.modifiers[idx].enabled = true;\n }\n }\n }\n\n return options;\n });\n\n this.popperInstance?.update();\n\n document.addEventListener('click', this.clickOutsideListener);\n document.addEventListener('keydown', this.escKeyListener);\n },\n hide(): void {\n document.removeEventListener('keydown', this.escKeyListener);\n document.removeEventListener('click', this.clickOutsideListener);\n\n this.tooltipDOM?.removeAttribute('data-show');\n\n // Disable the event listeners\n this.popperInstance?.setOptions((options) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const i in options.modifiers) {\n if (Object.prototype.hasOwnProperty.call(options.modifiers, i)) {\n const idx = parseInt(i, 10);\n\n if (options.modifiers[idx].name === 'eventListeners') {\n // eslint-disable-next-line no-param-reassign\n options.modifiers[idx].enabled = false;\n }\n }\n }\n\n return options;\n });\n },\n toggle(): void {\n if (this.isVisible()) {\n this.hide();\n } else {\n this.show();\n }\n },\n isVisible(): boolean {\n if (this.tooltipDOM === null || !this.tooltipDOM) {\n return false;\n }\n\n return this.tooltipDOM.hasAttribute('data-show');\n },\n clickOutsideListener(e: MouseEvent): void {\n const withinPopover = this.tooltipDOM?.contains(e.target as HTMLElement);\n\n if (!withinPopover && this.isVisible()) {\n this.hide();\n }\n },\n escKeyListener(e: KeyboardEvent): void {\n if (e.key === 'Escape' && this.isVisible()) {\n e.stopPropagation();\n this.hide();\n }\n },\n },\n});\n","import { render } from \"./Popover.vue?vue&type=template&id=651c3082&scoped=true&ts=true\"\nimport script from \"./Popover.vue?vue&type=script&lang=ts\"\nexport * from \"./Popover.vue?vue&type=script&lang=ts\"\n\nimport \"./Popover.vue?vue&type=style&index=0&id=651c3082&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src1596697643/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-651c3082\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"tab\"\n}\n\nimport { inject, ref, toRefs, computed } from 'vue';\n\nexport interface Props {\n title: string;\n disabled?: boolean;\n}\n\n\nconst __default__ = {\n name: 'Tab',\n inheritAttrs: false,\n customOptions: {},\n};\n\nexport default /*@__PURE__*/_defineComponent({\n ...__default__,\n props: {\n title: { default: 'Tab' },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\n/**\n * eslint does not understand the necessary script separations, and crashes if\n *