{"version":3,"file":"js/index.cd90a257.js","mappings":"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W,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,KAC9hQ,C,eCJAnC,EAAoBuC,EAAI,WACvB,GAA0B,kBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAO3lC,MAAQ,IAAI4lC,SAAS,cAAb,EAChB,CAAE,MAAOxwB,GACR,GAAsB,kBAAX9C,OAAqB,OAAOA,MACxC,CACA,CAPuB,E,eCAxB6wB,EAAoBgC,EAAI,SAAST,EAAKv4B,GAAQ,OAAO/P,OAAOK,UAAUC,eAAeC,KAAK+nC,EAAKv4B,EAAO,C,eCAtG,IAAI05B,EAAa,CAAC,EACdC,EAAoB,cAExB3C,EAAoB4C,EAAI,SAAS1pC,EAAK2pC,EAAM9lC,EAAKolC,GAChD,GAAGO,EAAWxpC,GAAQwpC,EAAWxpC,GAAK3M,KAAKs2C,OAA3C,CACA,IAAI5jB,EAAQ6jB,EACZ,QAAW52B,IAARnP,EAEF,IADA,IAAIgmC,EAAU3zB,SAAS0T,qBAAqB,UACpC1pB,EAAI,EAAGA,EAAI2pC,EAAQ1pC,OAAQD,IAAK,CACvC,IAAI4pC,EAAID,EAAQ3pC,GAChB,GAAG4pC,EAAEC,aAAa,QAAU/pC,GAAO8pC,EAAEC,aAAa,iBAAmBN,EAAoB5lC,EAAK,CAAEkiB,EAAS+jB,EAAG,KAAO,CACpH,CAEG/jB,IACH6jB,GAAa,EACb7jB,EAAS7P,SAASsX,cAAc,UAEhCzH,EAAOikB,QAAU,QACjBjkB,EAAOkkB,QAAU,IACbnD,EAAoBoD,IACvBnkB,EAAO4H,aAAa,QAASmZ,EAAoBoD,IAElDnkB,EAAO4H,aAAa,eAAgB8b,EAAoB5lC,GAExDkiB,EAAOqW,IAAMp8B,GAEdwpC,EAAWxpC,GAAO,CAAC2pC,GACnB,IAAIQ,EAAmB,SAASC,EAAMj3B,GAErC4S,EAAOskB,QAAUtkB,EAAOukB,OAAS,KACjCC,aAAaN,GACb,IAAIO,EAAUhB,EAAWxpC,GAIzB,UAHOwpC,EAAWxpC,GAClB+lB,EAAO0kB,YAAc1kB,EAAO0kB,WAAW1c,YAAYhI,GACnDykB,GAAWA,EAAQpG,SAAQ,SAASS,GAAM,OAAOA,EAAG1xB,EAAQ,IACzDi3B,EAAM,OAAOA,EAAKj3B,EACtB,EACI82B,EAAUjS,WAAWmS,EAAiBO,KAAK,UAAM13B,EAAW,CAAEvT,KAAM,UAAWukB,OAAQ+B,IAAW,MACtGA,EAAOskB,QAAUF,EAAiBO,KAAK,KAAM3kB,EAAOskB,SACpDtkB,EAAOukB,OAASH,EAAiBO,KAAK,KAAM3kB,EAAOukB,QACnDV,GAAc1zB,SAASy0B,KAAK9c,YAAY9H,EApCkB,CAqC3D,C,eCxCA+gB,EAAoBiB,EAAI,SAASpB,GACX,qBAAXxO,QAA0BA,OAAOyS,aAC1C7qC,OAAOgpC,eAAepC,EAASxO,OAAOyS,YAAa,CAAEh3C,MAAO,WAE7DmM,OAAOgpC,eAAepC,EAAS,aAAc,CAAE/yC,OAAO,GACvD,C,eCNAkzC,EAAoB+D,IAAM,SAASv3C,GAGlC,OAFAA,EAAOw3C,MAAQ,GACVx3C,EAAOmhC,WAAUnhC,EAAOmhC,SAAW,IACjCnhC,CACR,C,eCJAwzC,EAAoBc,EAAI,I,eCAxBd,EAAoBiE,EAAI,G,eCAxBjE,EAAoBkE,EAAI90B,SAAS+0B,SAAWC,KAAK/gC,SAASuR,KAK1D,IAAIyvB,EAAkB,CACrB,KAAM,GAGPrE,EAAoBxnC,EAAEsoC,EAAI,SAASqB,EAASE,GAE1C,IAAIiC,EAAqBtE,EAAoBgC,EAAEqC,EAAiBlC,GAAWkC,EAAgBlC,QAAWj2B,EACtG,GAA0B,IAAvBo4B,EAGF,GAAGA,EACFjC,EAAS91C,KAAK+3C,EAAmB,QAC3B,CAGL,IAAI7gB,EAAU,IAAIxnB,SAAQ,SAASC,EAASC,GAAUmoC,EAAqBD,EAAgBlC,GAAW,CAACjmC,EAASC,EAAS,IACzHkmC,EAAS91C,KAAK+3C,EAAmB,GAAK7gB,GAGtC,IAAIvqB,EAAM8mC,EAAoBiE,EAAIjE,EAAoBsC,EAAEH,GAEpDp0B,EAAQ,IAAI7T,MACZqqC,EAAe,SAASl4B,GAC3B,GAAG2zB,EAAoBgC,EAAEqC,EAAiBlC,KACzCmC,EAAqBD,EAAgBlC,GACX,IAAvBmC,IAA0BD,EAAgBlC,QAAWj2B,GACrDo4B,GAAoB,CACtB,IAAIE,EAAYn4B,IAAyB,SAAfA,EAAM1T,KAAkB,UAAY0T,EAAM1T,MAChE8rC,EAAUp4B,GAASA,EAAM6Q,QAAU7Q,EAAM6Q,OAAOoY,IACpDvnB,EAAMyU,QAAU,iBAAmB2f,EAAU,cAAgBqC,EAAY,KAAOC,EAAU,IAC1F12B,EAAM3K,KAAO,iBACb2K,EAAMpV,KAAO6rC,EACbz2B,EAAM22B,QAAUD,EAChBH,EAAmB,GAAGv2B,EACvB,CAEF,EACAiyB,EAAoB4C,EAAE1pC,EAAKqrC,EAAc,SAAWpC,EAASA,EAE/D,CAEH,EAUAnC,EAAoBQ,EAAEM,EAAI,SAASqB,GAAW,OAAoC,IAA7BkC,EAAgBlC,EAAgB,EAGrF,IAAIwC,EAAuB,SAASC,EAA4B/rC,GAC/D,IAKIonC,EAAUkC,EALV1B,EAAW5nC,EAAK,GAChBgsC,EAAchsC,EAAK,GACnBisC,EAAUjsC,EAAK,GAGIO,EAAI,EAC3B,GAAGqnC,EAASjS,MAAK,SAAS/hC,GAAM,OAA+B,IAAxB43C,EAAgB53C,EAAW,IAAI,CACrE,IAAIwzC,KAAY4E,EACZ7E,EAAoBgC,EAAE6C,EAAa5E,KACrCD,EAAoBK,EAAEJ,GAAY4E,EAAY5E,IAGhD,GAAG6E,EAAS,IAAIxqC,EAASwqC,EAAQ9E,EAClC,CAEA,IADG4E,GAA4BA,EAA2B/rC,GACrDO,EAAIqnC,EAASpnC,OAAQD,IACzB+oC,EAAU1B,EAASrnC,GAChB4mC,EAAoBgC,EAAEqC,EAAiBlC,IAAYkC,EAAgBlC,IACrEkC,EAAgBlC,GAAS,KAE1BkC,EAAgBlC,GAAW,EAE5B,OAAOnC,EAAoBQ,EAAElmC,EAC9B,EAEIyqC,EAAqBX,KAAK,0BAA4BA,KAAK,2BAA6B,GAC5FW,EAAmBzH,QAAQqH,EAAqBf,KAAK,KAAM,IAC3DmB,EAAmBx4C,KAAOo4C,EAAqBf,KAAK,KAAMmB,EAAmBx4C,KAAKq3C,KAAKmB,G,ICpFvF,IAAIC,EAAsBhF,EAAoBQ,OAAEt0B,EAAW,CAAC,IAAI,MAAM,WAAa,OAAO8zB,EAAoB,MAAQ,IACtHgF,EAAsBhF,EAAoBQ,EAAEwE,E","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?c6c1","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?bc00","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?c08e","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?ec2b","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?05b5","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?d877","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-8d9d64ea]{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-52c311af]{margin:100px auto}.error-banner[data-v-52c311af]{margin:20px}.aux-button+.aux-button[data-v-52c311af]{margin-left:0}.property-details-categories-list[data-v-52c311af]{margin:0 25px}.property-details-header[data-v-52c311af]{display:flex;align-items:center;justify-content:space-between;padding:0 25px}.property-details-button[data-v-52c311af]{margin:0 25px;display:flex;justify-content:space-between}.propertypanel-link-block[data-v-52c311af]{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-52c311af]:hover{background:rgba(205,175,241,.6)}.propertypanel-link-block svg[data-v-52c311af]{width:20px}hr[data-v-52c311af]{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","import { 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","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) {\n this.owningPerson = new Person(item.owningPerson);\n } else {\n this.owningPerson = null;\n }\n\n if (item.owningCadastreIdent) {\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 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 = prop.address ? 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 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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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 (_ctx.ownerships.length > 0)\n ? (_openBlock(), _createBlock(_component_owner_list, {\n key: 2,\n title: \"Hjemmelshaver\",\n ownerships: _ctx.ownerships\n }, null, 8, [\"ownerships\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.tenants.length > 0)\n ? (_openBlock(), _createBlock(_component_owner_list, {\n key: 3,\n title: \"Fester\",\n ownerships: _ctx.tenants\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: 4,\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: 5 }))\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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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: _ctx.title }, {\n default: _withCtx(() => [\n (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.expandable ? 'list-collapsible-block' : 'div'), {\n label: _ctx.title,\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, [\"label\", \"class\", \"count\"]))\n ]),\n _: 1\n }, 8, [\"title\"])\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 title: {\n type: String,\n required: true,\n },\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=8d9d64ea&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=8d9d64ea&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src3802154307/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-8d9d64ea\"]])\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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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';\nimport Ownership from '@/data/wrapper/Ownership';\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\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 ownerships(): Ownership[] {\n if (\n this.currentProperty?.ownerships &&\n this.currentProperty.ownerships.length > 0\n ) {\n return this.currentProperty.ownerships.filter(\n (ownership) => ownership.cadastreLevel.registerCode === 'E'\n );\n }\n return [];\n },\n tenants(): Ownership[] {\n if (\n this.currentProperty?.ownerships &&\n this.currentProperty.ownerships.length > 0\n ) {\n return this.currentProperty.ownerships.filter(\n (ownership) => ownership.cadastreLevel.registerCode === 'F'\n );\n }\n return [];\n },\n },\n});\n","import { render } from \"./PropertyDetails.vue?vue&type=template&id=52c311af&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=52c311af&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/src3802154307/src/propfinder-frontend/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__cssModules',cssModules],['__scopeId',\"data-v-52c311af\"]])\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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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/src3802154307/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 *