@kartverket/geonorge-web-components 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/GeonorgeFooter.js +1 -1
- package/GeonorgeFooter.js.map +1 -1
- package/MainNavigation.js +1 -1
- package/MainNavigation.js.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
package/MainNavigation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainNavigation.js","mappings":"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","sources":["webpack://geonorge/webpack/universalModuleDefinition","webpack://geonorge/./custom-elements/main-navigation/download-items/download-items.scss","webpack://geonorge/./custom-elements/main-navigation/main-menu/main-menu.scss","webpack://geonorge/./custom-elements/main-navigation/main-navigation.scss","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.scss","webpack://geonorge/./custom-elements/main-navigation/map-items/map-items.scss","webpack://geonorge/./custom-elements/main-navigation/search-type-selector/search-type-selector.scss","webpack://geonorge/./custom-elements/main-navigation/download-items/download-items.html","webpack://geonorge/./custom-elements/main-navigation/main-menu/main-menu.html","webpack://geonorge/./custom-elements/main-navigation/main-navigation.html","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.html","webpack://geonorge/./custom-elements/main-navigation/map-items/map-items.html","webpack://geonorge/./custom-elements/main-navigation/search-type-selector/search-type-selector.html","webpack://geonorge/../node_modules/css-loader/dist/runtime/api.js","webpack://geonorge/../node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://geonorge/../node_modules/super-custom-elements/src/component.ts","webpack://geonorge/../node_modules/super-custom-elements/src/custom-element.ts","webpack://geonorge/../node_modules/super-custom-elements/src/helpers.ts","webpack://geonorge/../node_modules/super-custom-elements/src/index.ts","webpack://geonorge/../node_modules/super-custom-elements/src/listen.ts","webpack://geonorge/../node_modules/super-custom-elements/src/prop.ts","webpack://geonorge/../node_modules/super-custom-elements/src/toggle.ts","webpack://geonorge/../node_modules/super-custom-elements/src/util.ts","webpack://geonorge/../node_modules/super-custom-elements/src/watch.ts","webpack://geonorge/./assets/svg/close-icon.svg","webpack://geonorge/./assets/svg/download-icon.svg","webpack://geonorge/./assets/svg/geonorge-navbar-logo.svg","webpack://geonorge/./assets/svg/geonorge-navbar-logo_dev.svg","webpack://geonorge/./assets/svg/geonorge-navbar-logo_test.svg","webpack://geonorge/./assets/svg/map-icon.svg","webpack://geonorge/./assets/svg/menu-icon.svg","webpack://geonorge/./assets/svg/search-icon.svg","webpack://geonorge/./assets/svg/trash-icon.svg","webpack://geonorge/./custom-elements/main-navigation/download-items/download-items.ts","webpack://geonorge/./custom-elements/main-navigation/main-menu/main-menu.ts","webpack://geonorge/./custom-elements/main-navigation/main-navigation.ts","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.ts","webpack://geonorge/./custom-elements/main-navigation/map-items/map-items.ts","webpack://geonorge/./custom-elements/main-navigation/search-type-selector/search-type-selector.ts","webpack://geonorge/./functions/apiHelpers.ts","webpack://geonorge/./functions/cookieHelpers.ts","webpack://geonorge/./functions/downloadItemHelpers.ts","webpack://geonorge/./functions/mapItemHelpers.ts","webpack://geonorge/./functions/urlHelpers.ts","webpack://geonorge/webpack/bootstrap","webpack://geonorge/webpack/runtime/compat get default export","webpack://geonorge/webpack/runtime/define property getters","webpack://geonorge/webpack/runtime/hasOwnProperty shorthand","webpack://geonorge/webpack/runtime/make namespace object","webpack://geonorge/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"geonorge\"] = factory();\n\telse\n\t\troot[\"geonorge\"] = root[\"geonorge\"] || {}, root[\"geonorge\"][\"MainNavigation\"] = factory();\n})(self, () => {\nreturn ","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}.download-items-container .icon-toggle-button{-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;border:none;background:rgba(0,0,0,0);color:#7d746d;padding:0;cursor:pointer}@media(min-width: 37.5em){.download-items-container .icon-toggle-button{padding:0 4px}}.download-items-container .icon-toggle-button.open{color:#414042}.download-items-container .icon-toggle-button .counter{background-color:#fe5000;border-radius:50%;color:#fff;margin-top:-0.25em;margin-left:-0.2em;position:absolute;text-align:center;width:1.4em;line-height:1.4;height:1.4em;font-size:.9em}@media(min-width: 37.5em){.download-items-container .icon-toggle-button .counter{height:1.5em;width:1.5em;line-height:1.5;font-size:1em}}.download-items-container .icon-toggle-button .counter.hidden{display:none}.download-items-container .icon-toggle-button .download-icon svg{width:45px;height:32px}@media(min-width: 37.5em){.download-items-container .icon-toggle-button .download-icon svg{width:52px;height:37px}}.download-items-container .download-item-list-wrapper{position:absolute}.download-items-container .download-item-list-wrapper .download-item-list-container{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;box-sizing:border-box;overflow:hidden;max-height:0;position:relative;top:10px;background-color:#fbfcfd;right:205px;width:260px}@media(min-width: 37.5em){.download-items-container .download-item-list-wrapper .download-item-list-container{right:245px;width:300px}}@media print{.download-items-container .download-item-list-wrapper .download-item-list-container{display:none}}.download-items-container .download-item-list-wrapper .download-item-list-container.open{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);height:auto;max-height:300px;overflow:auto}.download-items-container .download-item-list-wrapper .download-item-list-container .page-link-element{display:block;text-align:center;padding:8px 16px;color:#3767c7;text-decoration:none;cursor:pointer}.download-items-container .download-item-list-wrapper .download-item-list-container .page-link-element:hover{text-decoration:underline;color:#0056b3}.download-items-container .download-item-list-wrapper .download-item-list-container ul{list-style:none;padding:0;margin:0}.download-items-container .download-item-list-wrapper .download-item-list-container ul li{-moz-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:space-between;padding:8px 16px}.download-items-container .download-item-list-wrapper .download-item-list-container ul li:hover{background-color:rgba(0,0,0,.05)}.download-items-container .download-item-list-wrapper .download-item-list-container ul li .list-icon{margin-left:8px;cursor:pointer;background:none;border:none}.download-items-container .download-item-list-wrapper .download-item-list-container ul li .list-icon svg{color:#e00d0d;width:20px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/download-items/download-items.scss\",\"webpack://./style/mixins/_transition.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/variables/_colors.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/mixins/_box-shadow.scss\"],\"names\":[],\"mappings\":\"AAEA,EACI,qBAAA,CAIA,8CCNA,mCDOI,CCNJ,iCDMI,CCLJ,sCDKI,CCJJ,8BDII,CACA,WAAA,CACA,wBAAA,CACA,aAAA,CACA,SAAA,CAIA,cAAA,CEFA,0BFPJ,8CAOQ,aAAA,CAAA,CAGJ,mDACI,aAAA,CAEJ,uDACI,wBGZI,CHaJ,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,kBAAA,CACA,iBAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,cAAA,CEjBJ,0BFMA,uDAaQ,YAAA,CACA,WAAA,CACA,eAAA,CACA,aAAA,CAAA,CAEJ,8DACI,YAAA,CAIJ,iEACI,UAAA,CACA,WAAA,CE/BR,0BF6BI,iEAIQ,UAAA,CACA,WAAA,CAAA,CAKhB,sDACI,iBAAA,CACA,oFItDN,iCJuDiC,CItDjC,yBJsDiC,CCvD/B,mCDwDQ,CCvDR,iCDuDQ,CCtDR,sCDsDQ,CCrDR,8BDqDQ,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,iBAAA,CACA,QAAA,CACA,wBAAA,CACA,WAAA,CACA,WAAA,CEnDJ,0BFyCA,oFAYQ,WAAA,CACA,WAAA,CAAA,CAEJ,aAfJ,oFAgBQ,YAAA,CAAA,CAEJ,yFKxER,8GLyEY,CKxEZ,2GLwEY,CKvEZ,sGLuEY,CAKA,WAAA,CACA,gBAAA,CACA,aAAA,CAEJ,uGACI,aAAA,CACA,iBAAA,CACA,gBAAA,CACA,aGzED,CH0EC,oBAAA,CACA,cAAA,CACA,6GACI,yBAAA,CACA,aG7EA,CHgFR,uFACI,eAAA,CACA,SAAA,CACA,QAAA,CACA,0FClGZ,oCDmGgB,CClGhB,kCDkGgB,CCjGhB,uCDiGgB,CChGhB,+BDgGgB,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,gBAAA,CACA,gGACI,gCGxGL,CH0GC,qGACI,eAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,yGACI,aGrFd,CHsFc,UAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.download-items-container {\\n .icon-toggle-button {\\n @include transition(all 0.1s ease-in-out);\\n border: none;\\n background: transparent;\\n color: #7d746d;\\n padding: 0;\\n @include breakpoint(phablet) {\\n padding: 0 4px;\\n }\\n cursor: pointer;\\n &.open {\\n color: #414042;\\n }\\n .counter {\\n background-color: $primary-brand;\\n border-radius: 50%;\\n color: #fff;\\n margin-top: -0.25em;\\n margin-left: -0.2em;\\n position: absolute;\\n text-align: center;\\n width: 1.4em;\\n line-height: 1.4;\\n height: 1.4em;\\n font-size: 0.9em;\\n @include breakpoint(phablet) {\\n height: 1.5em;\\n width: 1.5em;\\n line-height: 1.5;\\n font-size: 1em;\\n }\\n &.hidden {\\n display: none;\\n }\\n }\\n .download-icon {\\n svg {\\n width: 45px;\\n height: 32px;\\n @include breakpoint(phablet) {\\n width: 52px;\\n height: 37px;\\n }\\n }\\n }\\n }\\n .download-item-list-wrapper {\\n position: absolute;\\n .download-item-list-container {\\n @include border-radius(0 0 3px 3px);\\n @include transition(all 0.1s ease-in-out);\\n box-sizing: border-box;\\n overflow: hidden;\\n max-height: 0;\\n position: relative;\\n top: 10px;\\n background-color: #fbfcfd;\\n right: 205px;\\n width: 260px;\\n @include breakpoint(phablet) {\\n right: 245px;\\n width: 300px;\\n }\\n @media print {\\n display: none;\\n }\\n &.open {\\n @include box-shadow(\\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\\n );\\n height: auto;\\n max-height: 300px;\\n overflow: auto;\\n }\\n .page-link-element {\\n display: block;\\n text-align: center;\\n padding: 8px 16px;\\n color: $primary-text;\\n text-decoration: none;\\n cursor: pointer;\\n &:hover {\\n text-decoration: underline;\\n color: $primary-text-hover;\\n }\\n }\\n ul {\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n li {\\n @include transition(all 0.15s ease-in-out);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 8px 16px;\\n &:hover {\\n background-color: $hover-background;\\n }\\n .list-icon {\\n margin-left: 8px;\\n cursor: pointer;\\n background: none;\\n border: none;\\n svg {\\n color: $danger-text;\\n width: 20px;\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"@mixin transition($transition...) {\\n -moz-transition: $transition;\\n -o-transition: $transition;\\n -webkit-transition: $transition;\\n transition: $transition;\\n}\\n\\n@mixin transition-property($property...) {\\n -moz-transition-property: $property;\\n -o-transition-property: $property;\\n -webkit-transition-property: $property;\\n transition-property: $property;\\n}\\n\\n@mixin transition-duration($duration...) {\\n -moz-transition-property: $duration;\\n -o-transition-property: $duration;\\n -webkit-transition-property: $duration;\\n transition-property: $duration;\\n}\\n\\n@mixin transition-timing-function($timing...) {\\n -moz-transition-timing-function: $timing;\\n -o-transition-timing-function: $timing;\\n -webkit-transition-timing-function: $timing;\\n transition-timing-function: $timing;\\n}\\n\\n@mixin transition-delay($delay...) {\\n -moz-transition-delay: $delay;\\n -o-transition-delay: $delay;\\n -webkit-transition-delay: $delay;\\n transition-delay: $delay;\\n}\\n\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}button.menu-toggle-button{border:none;background:rgba(0,0,0,0);background-color:#7d746d;border-radius:2px;color:#fff;cursor:pointer;width:40px;height:32px;margin-left:4px}@media(min-width: 37.5em){button.menu-toggle-button{width:45px;height:37px}}@media(min-width: 992px){button.menu-toggle-button{width:98px;background-color:#7d746d;color:#fff}}button.menu-toggle-button.open{background-color:#414042}button.menu-toggle-button span{font-size:1.2em;font-weight:700;padding:2px 1px;vertical-align:middle}button.menu-toggle-button span.menu-title{display:none}@media(min-width: 992px){button.menu-toggle-button span.menu-title{display:inline-block}}button.menu-toggle-button span.hidden{display:none}button.menu-toggle-button svg{height:24px;width:24px;padding:2px;vertical-align:middle}@media(min-width: 37.5em){button.menu-toggle-button svg{height:29px;width:29px}}.menu-wrapper{position:absolute;left:0;width:100%}.menu-wrapper .menu-container{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;box-sizing:border-box;width:100%;background-color:#dfdcda;margin:auto;position:relative;top:56px}@media(min-width: 37.5em){.menu-wrapper .menu-container{top:15px}}@media(min-width: 768px){.menu-wrapper .menu-container{width:750px}}@media(min-width: 992px){.menu-wrapper .menu-container{width:970px}}@media(min-width: 1200px){.menu-wrapper .menu-container{width:1170px}}@media print{.menu-wrapper .menu-container{display:none}}.menu-wrapper .menu-container.open{-webkit-box-shadow:0 5px 5px -2px rgba(0,0,0,.26);-moz-box-shadow:0 5px 5px -2px rgba(0,0,0,.26);box-shadow:0 5px 5px -2px rgba(0,0,0,.26);height:auto}.menu-wrapper .menu-container .menu-item-list-container{-moz-transition:max-height .3s ease-in-out;-o-transition:max-height .3s ease-in-out;-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:0}.menu-wrapper .menu-container .menu-item-list-container.open{max-height:300px;overflow:auto}@media(min-width: 37.5em){.menu-wrapper .menu-container .menu-item-list-container.open{max-height:450px}}@media(min-width: 992px){.menu-wrapper .menu-container .menu-item-list-container.open{max-height:300px}}.menu-wrapper .menu-container .menu-item-list-container .menuItemList{list-style:none;margin:15px;color:#414042}.menu-wrapper .menu-container .menu-item-list-container .menuItemList:first-child{padding:15px 0 0}.menu-wrapper .menu-container .menu-item-list-container .menuItemList a{color:#414042;text-decoration:none}.menu-wrapper .menu-container .menu-item-list-container .menuItemList a:hover{text-decoration:underline}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0{display:flex;flex-wrap:wrap}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li{flex:1 0 100%}@media(min-width: 37.5em){.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li{flex:1 0 50%}}@media(min-width: 992px){.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li{flex:1}}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li>a{border-bottom:1px solid #b6afa8;font-weight:700;padding-bottom:.75em;margin-bottom:.75em;display:block}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li>ul{padding:0}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li>ul li{margin-bottom:12px}.menu-wrapper .menu-container .menu-actions-row{-moz-transition:max-height .3s ease-in-out;-o-transition:max-height .3s ease-in-out;-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;text-align:right;background-color:#d2cecb;max-height:0;overflow:hidden}.menu-wrapper .menu-container .menu-actions-row.open{max-height:56px}.menu-wrapper .menu-container .menu-actions-row a,.menu-wrapper .menu-container .menu-actions-row span{display:inline-block;padding:.25em 1em .25em 1.1em;margin:15px 0;text-decoration:none;color:#414042;cursor:pointer}.menu-wrapper .menu-container .menu-actions-row a:hover,.menu-wrapper .menu-container .menu-actions-row span:hover{text-decoration:underline}.menu-wrapper .menu-container .menu-actions-row a:not(:first-child),.menu-wrapper .menu-container .menu-actions-row span:not(:first-child){border-left:1px solid #b6afa8}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/main-menu/main-menu.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/mixins/_transition.scss\"],\"names\":[],\"mappings\":\"AAEA,EACI,qBAAA,CAGJ,0BACI,WAAA,CACA,wBAAA,CACA,wBAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CCDI,0BDRR,0BAWQ,UAAA,CACA,WAAA,CAAA,CCZA,yBAAA,0BDeA,UAAA,CACA,wBAAA,CACA,UAAA,CAAA,CAEJ,+BACI,wBAAA,CAEJ,+BACI,eAAA,CACA,eAAA,CACA,eAAA,CACA,qBAAA,CACA,0CACI,YAAA,CC5BJ,yBD2BA,0CAGQ,oBAAA,CAAA,CAGR,sCACI,YAAA,CAGR,8BACI,WAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CCjCA,0BD6BJ,8BAMQ,WAAA,CACA,UAAA,CAAA,CAIZ,cACI,iBAAA,CACA,MAAA,CACA,UAAA,CAEA,8BE1DF,iCF2D6B,CE1D7B,yBF0D6B,CACvB,qBAAA,CACA,UAAA,CACA,wBAAA,CACA,WAAA,CACA,iBAAA,CACA,QAAA,CCpDA,0BD6CJ,8BASQ,QAAA,CAAA,CC1DJ,yBDiDJ,8BAaQ,WAAA,CAAA,CClEJ,yBDqDJ,8BAgBQ,WAAA,CAAA,CCzEJ,0BDyDJ,8BAmBQ,YAAA,CAAA,CAEJ,aArBJ,8BAsBQ,YAAA,CAAA,CAGJ,mCGnFJ,iDHoFQ,CGnFR,8CHmFQ,CGlFR,yCHkFQ,CACA,WAAA,CAEJ,wDIvFJ,0CJwFQ,CIvFR,wCJuFQ,CItFR,6CJsFQ,CIrFR,qCJqFQ,CACA,eAAA,CACA,YAAA,CACA,6DACI,gBAAA,CACA,aAAA,CChFR,0BD8EI,6DAIQ,gBAAA,CAAA,CC1FZ,yBDsFI,6DAOQ,gBAAA,CAAA,CAIR,sEACI,eAAA,CACA,WAAA,CACA,aAAA,CACA,kFACI,gBAAA,CAEJ,wEACI,aAAA,CACA,oBAAA,CACA,8EACI,yBAAA,CAGR,wFACI,YAAA,CACA,cAAA,CACA,2FACI,aAAA,CC3GhB,0BD0GY,2FAGQ,YAAA,CAAA,CCrHpB,yBDkHY,2FAMQ,MAAA,CAAA,CAEJ,6FACI,+BAAA,CACA,eAAA,CACA,oBAAA,CACA,mBAAA,CACA,aAAA,CAEJ,8FACI,SAAA,CACA,iGACI,kBAAA,CAOxB,gDIhJJ,0CJiJQ,CIhJR,wCJgJQ,CI/IR,6CJ+IQ,CI9IR,qCJ8IQ,CACA,gBAAA,CACA,wBAAA,CACA,YAAA,CACA,eAAA,CACA,qDACI,eAAA,CAEJ,uGACI,oBAAA,CACA,6BAAA,CACA,aAAA,CACA,oBAAA,CACA,aAAA,CACA,cAAA,CACA,mHACI,yBAAA,CAEJ,2IACI,6BAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\nbutton.menu-toggle-button {\\n border: none;\\n background: transparent;\\n background-color: rgb(125, 116, 109);\\n border-radius: 2px;\\n color: rgb(255, 255, 255);\\n cursor: pointer;\\n width: 40px;\\n height: 32px;\\n margin-left: 4px;\\n @include breakpoint(phablet) {\\n width: 45px;\\n height: 37px;\\n }\\n @include breakpoint(laptop) {\\n width: 98px;\\n background-color: rgb(125, 116, 109);\\n color: #fff;\\n }\\n &.open {\\n background-color: #414042;\\n }\\n span {\\n font-size: 1.2em;\\n font-weight: 700;\\n padding: 2px 1px;\\n vertical-align: middle;\\n &.menu-title {\\n display: none;\\n @include breakpoint(laptop) {\\n display: inline-block;\\n }\\n }\\n &.hidden {\\n display: none;\\n }\\n }\\n svg {\\n height: 24px;\\n width: 24px;\\n padding: 2px;\\n vertical-align: middle;\\n @include breakpoint(phablet) {\\n height: 29px;\\n width: 29px;\\n }\\n }\\n}\\n.menu-wrapper {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n\\n .menu-container {\\n @include border-radius(0 0 3px 3px);\\n box-sizing: border-box;\\n width: 100%;\\n background-color: #dfdcda;\\n margin: auto;\\n position: relative;\\n top: 56px;\\n @include breakpoint(phablet) {\\n top: 15px;\\n }\\n\\n @include breakpoint(tablet) {\\n width: 750px;\\n }\\n @include breakpoint(laptop) {\\n width: 970px;\\n }\\n @include breakpoint(desktop) {\\n width: 1170px;\\n }\\n @media print {\\n display: none;\\n }\\n\\n &.open {\\n @include box-shadow(0 5px 5px -2px rgba(0, 0, 0, 0.26));\\n height: auto;\\n }\\n .menu-item-list-container {\\n @include transition(max-height 0.3s ease-in-out);\\n overflow: hidden;\\n max-height: 0;\\n &.open {\\n max-height: 300px;\\n overflow: auto;\\n @include breakpoint(phablet) {\\n max-height: 450px;\\n }\\n @include breakpoint(laptop) {\\n max-height: 300px;\\n }\\n }\\n\\n .menuItemList {\\n list-style: none;\\n margin: 15px;\\n color: #414042;\\n &:first-child {\\n padding: 15px 0 0;\\n }\\n a {\\n color: #414042;\\n text-decoration: none;\\n &:hover {\\n text-decoration: underline;\\n }\\n }\\n &.hierarchy-level-0 {\\n display: flex;\\n flex-wrap: wrap;\\n > li {\\n flex: 1 0 100%;\\n @include breakpoint(phablet) {\\n flex: 1 0 50%;\\n }\\n @include breakpoint(laptop) {\\n flex: 1;\\n }\\n > a {\\n border-bottom: 1px solid #b6afa8;\\n font-weight: 700;\\n padding-bottom: 0.75em;\\n margin-bottom: 0.75em;\\n display: block;\\n }\\n > ul {\\n padding: 0;\\n li {\\n margin-bottom: 12px;\\n }\\n }\\n }\\n }\\n }\\n }\\n .menu-actions-row {\\n @include transition(max-height 0.3s ease-in-out);\\n text-align: right;\\n background-color: #d2cecb;\\n max-height: 0;\\n overflow: hidden;\\n &.open {\\n max-height: 56px;\\n }\\n a, span {\\n display: inline-block;\\n padding: 0.25em 1em 0.25em 1.1em;\\n margin: 15px 0;\\n text-decoration: none;\\n color: #414042;\\n cursor: pointer;\\n &:hover {\\n text-decoration: underline;\\n }\\n &:not(:first-child) {\\n border-left: 1px solid #b6afa8;\\n }\\n }\\n }\\n }\\n}\\n\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\",\"@mixin transition($transition...) {\\n -moz-transition: $transition;\\n -o-transition: $transition;\\n -webkit-transition: $transition;\\n transition: $transition;\\n}\\n\\n@mixin transition-property($property...) {\\n -moz-transition-property: $property;\\n -o-transition-property: $property;\\n -webkit-transition-property: $property;\\n transition-property: $property;\\n}\\n\\n@mixin transition-duration($duration...) {\\n -moz-transition-property: $duration;\\n -o-transition-property: $duration;\\n -webkit-transition-property: $duration;\\n transition-property: $duration;\\n}\\n\\n@mixin transition-timing-function($timing...) {\\n -moz-transition-timing-function: $timing;\\n -o-transition-timing-function: $timing;\\n -webkit-transition-timing-function: $timing;\\n transition-timing-function: $timing;\\n}\\n\\n@mixin transition-delay($delay...) {\\n -moz-transition-delay: $delay;\\n -o-transition-delay: $delay;\\n -webkit-transition-delay: $delay;\\n transition-delay: $delay;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}div.main-navigation{-webkit-box-shadow:0 2px 5px rgba(0,0,0,.26);-moz-box-shadow:0 2px 5px rgba(0,0,0,.26);box-shadow:0 2px 5px rgba(0,0,0,.26);background-color:#f7f7f7;font-family:\\\"Open Sans\\\",sans-serif;position:fixed;width:100%;top:0;left:0;z-index:2}@media print{div.main-navigation{position:relative;margin-bottom:-100px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}}div.main-navigation.static-position{position:static}div.main-navigation.no-shadow{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}div.main-navigation .main-navigation-container{margin:auto}@media(min-width: 768px){div.main-navigation .main-navigation-container{width:750px}}@media(min-width: 992px){div.main-navigation .main-navigation-container{width:970px}}@media(min-width: 1200px){div.main-navigation .main-navigation-container{width:1170px}}div.main-navigation .main-navigation-container .main-navigation-content{display:flex;flex-wrap:wrap;align-items:center;padding:10px 15px}@media(min-width: 37.5em){div.main-navigation .main-navigation-container .main-navigation-content{flex-wrap:nowrap}}div.main-navigation .main-navigation-container .main-navigation-content .logo{flex:1}div.main-navigation .main-navigation-container .main-navigation-content .logo a{display:inline-block}div.main-navigation .main-navigation-container .main-navigation-content .logo svg{height:37px;width:200px}@media(min-width: 37.5em){div.main-navigation .main-navigation-container .main-navigation-content .logo svg{width:200px}}@media(min-width: 992px){div.main-navigation .main-navigation-container .main-navigation-content .logo svg{width:248px}}div.main-navigation .main-navigation-container .main-navigation-content .search-container{order:3;width:100%;display:flex;flex-direction:column}@media print{div.main-navigation .main-navigation-container .main-navigation-content .search-container{display:none}}@media(min-width: 37.5em){div.main-navigation .main-navigation-container .main-navigation-content .search-container{order:0;padding:0 1em}}@media(min-width: 768px){div.main-navigation .main-navigation-container .main-navigation-content .search-container{flex-direction:row}}div.main-navigation .main-navigation-container .main-navigation-content .button-row{width:130px;display:flex;justify-content:space-between}@media(min-width: 37.5em){div.main-navigation .main-navigation-container .main-navigation-content .button-row{width:155px}}@media(min-width: 992px){div.main-navigation .main-navigation-container .main-navigation-content .button-row{width:210px}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/main-navigation.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/variables/_colors.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/mixins/_breakpoints.scss\"],\"names\":[],\"mappings\":\"AAEA,EACI,qBAAA,CAGJ,oBCLI,4CDMA,CCLA,yCDKA,CCJA,oCDIA,CACA,wBEPyB,CFQzB,kCGTW,CHUX,cAAA,CACA,UAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,aATJ,oBAUQ,iBAAA,CACA,oBAAA,CACA,uBAAA,CACA,oBAAA,CACA,eAAA,CAAA,CAGJ,oCACI,eAAA,CAGJ,8BC1BA,uBD2BI,CC1BJ,oBD0BI,CCzBJ,eDyBI,CAGJ,+CACI,WAAA,CItBA,yBJqBJ,+CAIQ,WAAA,CAAA,CI7BJ,yBJyBJ,+CAOQ,WAAA,CAAA,CIpCJ,0BJ6BJ,+CAUQ,YAAA,CAAA,CAEJ,wEACI,YAAA,CACA,cAAA,CACA,kBAAA,CACA,iBAAA,CIjCJ,0BJ6BA,wEAMQ,gBAAA,CAAA,CAGJ,8EACI,MAAA,CACA,gFACI,oBAAA,CAEJ,kFACI,WAAA,CACA,WAAA,CI7CZ,0BJ2CQ,kFAIQ,WAAA,CAAA,CIvDhB,yBJmDQ,kFAOQ,WAAA,CAAA,CAIZ,0FAII,OAAA,CACA,UAAA,CACA,YAAA,CACA,qBAAA,CANA,aADJ,0FAEQ,YAAA,CAAA,CIxDZ,0BJsDI,0FASQ,OAAA,CACA,aAAA,CAAA,CIpEZ,yBJ0DI,0FAaQ,kBAAA,CAAA,CAGR,oFACI,WAAA,CACA,YAAA,CACA,6BAAA,CIzER,0BJsEI,oFAKQ,WAAA,CAAA,CInFZ,yBJ8EI,oFAQQ,WAAA,CAAA\",\"sourcesContent\":[\"@import \\\"../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.main-navigation {\\n @include box-shadow(0 2px 5px rgba(0, 0, 0, 0.26));\\n background-color: $navigation-bar-background;\\n font-family: $default-font;\\n position: fixed;\\n width: 100%;\\n top: 0;\\n left: 0;\\n z-index: 2;\\n @media print {\\n position: relative;\\n margin-bottom: -100px;\\n -webkit-box-shadow: none;\\n -moz-box-shadow: none;\\n box-shadow: none;\\n }\\n\\n &.static-position {\\n position: static;\\n }\\n\\n &.no-shadow {\\n @include box-shadow(none);\\n }\\n\\n .main-navigation-container {\\n margin: auto;\\n\\n @include breakpoint(tablet) {\\n width: 750px;\\n }\\n @include breakpoint(laptop) {\\n width: 970px;\\n }\\n @include breakpoint(desktop) {\\n width: 1170px;\\n }\\n .main-navigation-content {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n padding: 10px 15px;\\n @include breakpoint(phablet) {\\n flex-wrap: nowrap;\\n }\\n\\n .logo {\\n flex: 1;\\n a {\\n display: inline-block;\\n }\\n svg {\\n height: 37px;\\n width: 200px;\\n @include breakpoint(phablet) {\\n width: 200px;\\n }\\n @include breakpoint(laptop) {\\n width: 248px;\\n }\\n }\\n }\\n .search-container {\\n @media print {\\n display: none;\\n }\\n order: 3;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n @include breakpoint(phablet) {\\n order: 0;\\n padding: 0 1em;\\n }\\n @include breakpoint(tablet) {\\n flex-direction: row;\\n }\\n }\\n .button-row {\\n width: 130px;\\n display: flex;\\n justify-content: space-between;\\n @include breakpoint(phablet) {\\n width: 155px;\\n }\\n @include breakpoint(laptop) {\\n width: 210px;\\n }\\n }\\n }\\n }\\n}\\n\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\";\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}div.main-search-field{font-family:\\\"Open Sans\\\",sans-serif;display:flex;height:37px;margin-top:.25em;position:relative;width:100%}@media(min-width: 37.5em){div.main-search-field{margin-top:0}}div.main-search-field .mainSearchLabel{width:0;height:0;overflow:hidden;opacity:0}div.main-search-field input{height:37px;width:100%;outline-offset:-2px;-webkit-appearance:none;background:#fff;border:1px solid #dfdcda;border-right:0;border-radius:2px 0 0 2px;font-size:1.2em;flex:1;margin:0;padding:0 .75em}div.main-search-field button{margin:0;-webkit-appearance:button;background:#fff;border:1px solid #dfdcda;border-left:0;border-radius:0 2px 2px 0;display:inline-block;padding:0 .75em;height:100%}div.main-search-field button svg{height:22px;width:21px}div.search-results-container{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;position:absolute;background:#fbfcfd;display:none;top:37px;z-index:1}div.search-results-container.open{display:block;width:100%;overflow-y:auto}div.search-results-container a{color:#3767c7;text-decoration:none}div.search-results-container a:hover{color:#0056b3;text-decoration:underline}div.search-results-container div.search-results-for-type:nth-child(odd){background-color:#fbfcfd}div.search-results-container div.search-results-for-type:nth-child(even){background-color:#f5f6f7}div.search-results-container div.search-results-for-type a.search-results-for-type-title{padding:8px 16px;font-size:1.2em;display:inline-block}div.search-results-container div.search-results-for-type a.search-results-for-type-title span.search-results-for-type-number-badge{-webkit-border-radius:6px;border-radius:6px;padding:2px 4px;color:#fff;background-color:#fe5000;display:inline-block;font-size:.8em;vertical-align:text-bottom}div.search-results-container div.search-results-for-type ul.search-results-for-type-list{list-style:none;padding:0 16px 8px 32px;margin:0}div.search-results-container div.search-results-for-type ul.search-results-for-type-list li a{padding:4px 0;display:block}.hidden{height:0;width:0;position:absolute;color:rgba(0,0,0,0);overflow:hidden}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/main-search-field/main-search-field.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAEA,EACE,qBAAA,CAGF,sBACE,kCCPa,CDQb,YAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,UAAA,CEEM,0BFRR,sBAQI,YAAA,CAAA,CAGF,uCACE,OAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CAGF,4BACE,WAAA,CACA,UAAA,CACA,mBAAA,CACA,uBAAA,CACA,eAAA,CACA,wBAAA,CACA,cAAA,CACA,yBAAA,CACA,eAAA,CACA,MAAA,CACA,QAAA,CACA,eAAA,CAGF,6BACE,QAAA,CACA,yBAAA,CACA,eAAA,CACA,wBAAA,CACA,aAAA,CACA,yBAAA,CACA,oBAAA,CACA,eAAA,CACA,WAAA,CAEA,iCACE,WAAA,CACA,UAAA,CAKN,6BGxDI,8GHyDF,CGxDE,2GHwDF,CGvDE,sGHuDF,CIzDA,iCJ8DuB,CI7DvB,yBJ6DuB,CACvB,iBAAA,CACA,kBAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CAEA,kCACE,aAAA,CACA,UAAA,CACA,eAAA,CAGF,+BACE,aK/DW,CLgEX,oBAAA,CACA,qCACE,aKjEc,CLkEd,yBAAA,CAKF,wEACE,wBAAA,CAEF,yEACE,wBAAA,CAEF,yFACE,gBAAA,CACA,eAAA,CACA,oBAAA,CACA,mII/FJ,yBJgG6B,CI/F7B,iBJ+F6B,CACvB,eAAA,CACA,UAAA,CACA,wBK3FQ,CL4FR,oBAAA,CACA,cAAA,CACA,0BAAA,CAGJ,yFACE,eAAA,CACA,uBAAA,CACA,QAAA,CAEE,8FACE,aAAA,CACA,aAAA,CAOV,QACE,QAAA,CACA,OAAA,CACA,iBAAA,CACA,mBAAA,CACA,eAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.main-search-field {\\n font-family: $default-font;\\n display: flex;\\n height: 37px;\\n margin-top: 0.25em;\\n position: relative;\\n width: 100%;\\n @include breakpoint(phablet) {\\n margin-top: 0;\\n }\\n\\n .mainSearchLabel {\\n width: 0;\\n height: 0;\\n overflow: hidden;\\n opacity: 0;\\n }\\n\\n input {\\n height: 37px;\\n width: 100%;\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-right: 0;\\n border-radius: 2px 0 0 2px;\\n font-size: 1.2em;\\n flex: 1;\\n margin: 0;\\n padding: 0 0.75em;\\n }\\n\\n button {\\n margin: 0;\\n -webkit-appearance: button;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-left: 0;\\n border-radius: 0 2px 2px 0;\\n display: inline-block;\\n padding: 0 0.75em;\\n height: 100%;\\n\\n svg {\\n height: 22px;\\n width: 21px;\\n }\\n }\\n}\\n\\ndiv.search-results-container {\\n @include box-shadow(\\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\\n );\\n @include border-radius(0 0 3px 3px);\\n position: absolute;\\n background: #fbfcfd;\\n display: none;\\n top: 37px;\\n z-index: 1;\\n\\n &.open {\\n display: block;\\n width: 100%;\\n overflow-y: auto;\\n }\\n\\n a {\\n color: $primary-text;\\n text-decoration: none;\\n &:hover {\\n color: $primary-text-hover;\\n text-decoration: underline;\\n }\\n }\\n\\n div.search-results-for-type {\\n &:nth-child(odd) {\\n background-color: #fbfcfd;\\n }\\n &:nth-child(even) {\\n background-color: #f5f6f7;\\n }\\n a.search-results-for-type-title {\\n padding: 8px 16px;\\n font-size: 1.2em;\\n display: inline-block;\\n span.search-results-for-type-number-badge {\\n @include border-radius(6px);\\n padding: 2px 4px;\\n color: #fff;\\n background-color: $primary-brand;\\n display: inline-block;\\n font-size: 0.8em;\\n vertical-align: text-bottom;\\n }\\n }\\n ul.search-results-for-type-list {\\n list-style: none;\\n padding: 0 16px 8px 32px;\\n margin: 0;\\n li {\\n a {\\n padding: 4px 0;\\n display: block;\\n }\\n }\\n }\\n }\\n}\\n\\n.hidden {\\n height: 0;\\n width: 0;\\n position: absolute;\\n color: transparent;\\n overflow: hidden;\\n}\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\";\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}div.map-items-container .icon-toggle-button{-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;border:none;background:rgba(0,0,0,0);color:#7d746d;cursor:pointer;padding:0}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button{padding:0 4px}}div.map-items-container .icon-toggle-button.open{color:#414042}div.map-items-container .icon-toggle-button .counter{background-color:#fe5000;border-radius:50%;color:#fff;margin-top:-0.25em;margin-left:-0.2em;position:absolute;text-align:center;width:1.4em;line-height:1.4;height:1.4em;font-size:.9em}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button .counter{height:1.5em;width:1.5em;line-height:1.5;font-size:1em}}div.map-items-container .icon-toggle-button .counter.hidden{display:none}div.map-items-container .icon-toggle-button .map-icon svg{width:31px;height:32px}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button .map-icon svg{width:36px;height:37px}}div.map-items-container .map-item-list-wrapper{position:absolute}div.map-items-container .map-item-list-wrapper .map-item-list-container{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;box-sizing:border-box;overflow:hidden;max-height:0;position:relative;top:10px;background-color:#fbfcfd;right:205px;width:260px}@media(min-width: 37.5em){div.map-items-container .map-item-list-wrapper .map-item-list-container{right:245px;width:300px}}@media print{div.map-items-container .map-item-list-wrapper .map-item-list-container{display:none}}div.map-items-container .map-item-list-wrapper .map-item-list-container.open{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);height:auto;max-height:300px;overflow:auto}div.map-items-container .map-item-list-wrapper .map-item-list-container .page-link-element{display:block;text-align:center;padding:8px 16px;color:#3767c7;text-decoration:none;cursor:pointer}div.map-items-container .map-item-list-wrapper .map-item-list-container .page-link-element:hover{text-decoration:underline;color:#0056b3}div.map-items-container .map-item-list-wrapper .map-item-list-container ul{list-style:none;padding:0;margin:0}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li{-moz-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:space-between;padding:8px 16px}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li:hover{background-color:rgba(0,0,0,.05)}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li .list-icon{margin-left:8px;cursor:pointer;background:none;border:none}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li .list-icon svg{color:#e00d0d;width:20px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/map-items/map-items.scss\",\"webpack://./style/mixins/_transition.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/variables/_colors.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/mixins/_box-shadow.scss\"],\"names\":[],\"mappings\":\"AAEA,EACI,qBAAA,CAIA,4CCNA,mCDOI,CCNJ,iCDMI,CCLJ,sCDKI,CCJJ,8BDII,CACA,WAAA,CACA,wBAAA,CACA,aAAA,CACA,cAAA,CACA,SAAA,CECA,0BFPJ,4CAQQ,aAAA,CAAA,CAEJ,iDACI,aAAA,CAEJ,qDACI,wBGZI,CHaJ,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,kBAAA,CACA,iBAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,cAAA,CEjBJ,0BFMA,qDAaQ,YAAA,CACA,WAAA,CACA,eAAA,CACA,aAAA,CAAA,CAEJ,4DACI,YAAA,CAIJ,0DACI,UAAA,CACA,WAAA,CE/BR,0BF6BI,0DAIQ,UAAA,CACA,WAAA,CAAA,CAKhB,+CACI,iBAAA,CACA,wEItDN,iCJuDiC,CItDjC,yBJsDiC,CCvD/B,mCDwDQ,CCvDR,iCDuDQ,CCtDR,sCDsDQ,CCrDR,8BDqDQ,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,iBAAA,CACA,QAAA,CACA,wBAAA,CACA,WAAA,CACA,WAAA,CEnDJ,0BFyCA,wEAYQ,WAAA,CACA,WAAA,CAAA,CAEJ,aAfJ,wEAgBQ,YAAA,CAAA,CAEJ,6EKxER,8GLyEY,CKxEZ,2GLwEY,CKvEZ,sGLuEY,CAKA,WAAA,CACA,gBAAA,CACA,aAAA,CAEJ,2FACI,aAAA,CACA,iBAAA,CACA,gBAAA,CACA,aGzED,CH0EC,oBAAA,CACA,cAAA,CACA,iGACI,yBAAA,CACA,aG7EA,CHgFR,2EACI,eAAA,CACA,SAAA,CACA,QAAA,CACA,8EClGZ,oCDmGgB,CClGhB,kCDkGgB,CCjGhB,uCDiGgB,CChGhB,+BDgGgB,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,gBAAA,CACA,oFACI,gCGxGL,CH0GC,yFACI,eAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,6FACI,aGrFd,CHsFc,UAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.map-items-container {\\n .icon-toggle-button {\\n @include transition(all 0.1s ease-in-out);\\n border: none;\\n background: transparent;\\n color: #7d746d;\\n cursor: pointer;\\n padding: 0;\\n @include breakpoint(phablet) {\\n padding: 0 4px;\\n }\\n &.open {\\n color: #414042;\\n }\\n .counter {\\n background-color: $primary-brand;\\n border-radius: 50%;\\n color: #fff;\\n margin-top: -0.25em;\\n margin-left: -0.2em;\\n position: absolute;\\n text-align: center;\\n width: 1.4em;\\n line-height: 1.4;\\n height: 1.4em;\\n font-size: 0.9em;\\n @include breakpoint(phablet) {\\n height: 1.5em;\\n width: 1.5em;\\n line-height: 1.5;\\n font-size: 1em;\\n }\\n &.hidden {\\n display: none;\\n }\\n }\\n .map-icon {\\n svg {\\n width: 31px;\\n height: 32px;\\n @include breakpoint(phablet) {\\n width: 36px;\\n height: 37px;\\n }\\n }\\n }\\n }\\n .map-item-list-wrapper {\\n position: absolute;\\n .map-item-list-container {\\n @include border-radius(0 0 3px 3px);\\n @include transition(all 0.1s ease-in-out);\\n box-sizing: border-box;\\n overflow: hidden;\\n max-height: 0;\\n position: relative;\\n top: 10px;\\n background-color: #fbfcfd;\\n right: 205px;\\n width: 260px;\\n @include breakpoint(phablet) {\\n right: 245px;\\n width: 300px;\\n }\\n @media print {\\n display: none;\\n }\\n &.open {\\n @include box-shadow(\\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\\n );\\n height: auto;\\n max-height: 300px;\\n overflow: auto;\\n }\\n .page-link-element {\\n display: block;\\n text-align: center;\\n padding: 8px 16px;\\n color: $primary-text;\\n text-decoration: none;\\n cursor: pointer;\\n &:hover {\\n text-decoration: underline;\\n color: $primary-text-hover;\\n }\\n }\\n ul {\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n li {\\n @include transition(all 0.15s ease-in-out);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 8px 16px;\\n &:hover {\\n background-color: $hover-background;\\n }\\n .list-icon {\\n margin-left: 8px;\\n cursor: pointer;\\n background: none;\\n border: none;\\n svg {\\n color: $danger-text;\\n width: 20px;\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"@mixin transition($transition...) {\\n -moz-transition: $transition;\\n -o-transition: $transition;\\n -webkit-transition: $transition;\\n transition: $transition;\\n}\\n\\n@mixin transition-property($property...) {\\n -moz-transition-property: $property;\\n -o-transition-property: $property;\\n -webkit-transition-property: $property;\\n transition-property: $property;\\n}\\n\\n@mixin transition-duration($duration...) {\\n -moz-transition-property: $duration;\\n -o-transition-property: $duration;\\n -webkit-transition-property: $duration;\\n transition-property: $duration;\\n}\\n\\n@mixin transition-timing-function($timing...) {\\n -moz-transition-timing-function: $timing;\\n -o-transition-timing-function: $timing;\\n -webkit-transition-timing-function: $timing;\\n transition-timing-function: $timing;\\n}\\n\\n@mixin transition-delay($delay...) {\\n -moz-transition-delay: $delay;\\n -o-transition-delay: $delay;\\n -webkit-transition-delay: $delay;\\n transition-delay: $delay;\\n}\\n\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"div.search-type-selector{width:180px}div.search-type-selector label{font-size:14px;display:block;cursor:pointer}div.search-type-selector label input[type=radio]{vertical-align:middle;margin:0;width:14px;height:14px}div.search-type-selector label .search-type-counter{font-size:.9em}div.search-type-selector label .search-type-counter::before{content:\\\"(\\\"}div.search-type-selector label .search-type-counter::after{content:\\\")\\\"}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/search-type-selector/search-type-selector.scss\"],\"names\":[],\"mappings\":\"AAAA,yBACI,WAAA,CACA,+BACI,cAAA,CACA,aAAA,CACA,cAAA,CACA,iDACI,qBAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAEJ,oDACI,cAAA,CACA,4DACI,WAAA,CAEJ,2DACI,WAAA\",\"sourcesContent\":[\"div.search-type-selector{\\n width: 180px;\\n label {\\n font-size: 14px;\\n display: block;\\n cursor: pointer;\\n input[type=\\\"radio\\\"]{\\n vertical-align: middle;\\n margin: 0;\\n width: 14px;\\n height: 14px;\\n }\\n .search-type-counter {\\n font-size: .9em;\\n &::before{\\n content: \\\"(\\\";\\n }\\n &::after{\\n content: \\\")\\\";\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export default \"<template>\\n <div class=\\\"download-items-container\\\">\\n <button id=\\\"download-toggle-button\\\" class=\\\"icon-toggle-button\\\">\\n <span id=\\\"download-toggle-button-counter\\\" class=\\\"counter\\\"></span>\\n <span id=\\\"download-toggle-button-icon\\\" class=\\\"download-icon\\\"></span>\\n </button>\\n <div class=\\\"download-item-list-wrapper\\\">\\n <div id=\\\"download-item-list-container\\\" class=\\\"download-item-list-container\\\"></div>\\n </div>\\n </div>\\n</template>\";","export default \"<template>\\n <button id=\\\"menu-toggle-button\\\" class=\\\"menu-toggle-button\\\">\\n <span id=\\\"menu-title\\\" class=\\\"menu-title\\\">\\n Meny\\n </span>\\n <span id=\\\"menu-icon\\\"></span>\\n <span id=\\\"close-icon\\\"></span>\\n </button>\\n <div id=\\\"menu-wrapper\\\" class=\\\"menu-wrapper\\\">\\n <div id=\\\"menu-container\\\" class=\\\"menu-container open\\\">\\n <div id=\\\"menu-item-list-container\\\" class=\\\"menu-item-list-container\\\"></div>\\n <div id=\\\"menu-actions-row\\\" class=\\\"menu-actions-row\\\"></div>\\n </div>\\n </div>\\n</template>\";","export default \"<template>\\n <div id=\\\"main-navigation\\\" class=\\\"main-navigation\\\">\\n <div class=\\\"main-navigation-container\\\">\\n <div class=\\\"main-navigation-content\\\">\\n <a id=\\\"main-navigation-logo\\\" class=\\\"logo\\\"></a>\\n <main-search-field class=\\\"search-container\\\"></main-search-field>\\n <div class=\\\"button-row\\\">\\n <map-items id=\\\"map-items\\\"></map-items>\\n <download-items id=\\\"download-items\\\"></download-items>\\n <main-menu id=\\\"main-menu\\\"></main-menu>\\n </div>\\n </div>\\n </div>\\n </div>\\n</template>\";","export default \"<template>\\n <div class=\\\"main-search-field\\\">\\n <label id=\\\"main-search-input-label\\\" for=\\\"main-search-input\\\" class=\\\"hidden\\\">søk</label>\\n <input id=\\\"main-search-input\\\" autocomplete=\\\"off\\\" type=\\\"search\\\" value=\\\"\\\" />\\n <button id=\\\"search-submit-button\\\"></button>\\n <div id=\\\"search-results-container\\\" class=\\\"search-results-container\\\">\\n \\n </div>\\n </div>\\n </template>\";","export default \"<template>\\n <div class=\\\"map-items-container\\\">\\n <button id=\\\"map-toggle-button\\\" class=\\\"icon-toggle-button\\\">\\n <span id=\\\"map-toggle-button-counter\\\" class=\\\"counter\\\"></span>\\n <span id=\\\"map-toggle-button-icon\\\" class=\\\"map-icon\\\"></span>\\n </button>\\n <div class=\\\"map-item-list-wrapper\\\">\\n <div id=\\\"map-item-list-container\\\" class=\\\"map-item-list-container\\\"></div>\\n </div>\\n </div>\\n</template>\";","export default \"<template>\\n <div id=\\\"search-type-selector\\\" class=\\\"search-type-selector\\\">\\n <label for=\\\"search-type-metadata\\\">\\n <input name=\\\"search-type\\\" type=\\\"radio\\\" id=\\\"search-type-metadata\\\" value=\\\"metadata\\\" />\\n <span id=\\\"search-type-metadata-name\\\">Kartkatalogen</span>\\n <span id=\\\"search-type-metadata-counter\\\" class=\\\"search-type-counter\\\"></span>\\n </label>\\n <label for=\\\"search-type-article\\\">\\n <input name=\\\"search-type\\\" type=\\\"radio\\\" id=\\\"search-type-article\\\" value=\\\"articles\\\" />\\n <span id=\\\"search-type-article-name\\\">Artikler</span>\\n <span id=\\\"search-type-article-counter\\\" class=\\\"search-type-counter\\\"></span>\\n </label>\\n </div>\\n</template>\";","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","import { addEventListeners, ListenerMetadata } from './listen';\r\nimport { initializeProps } from './prop';\r\nimport { ComponentMetadata, KeyValue } from './types';\r\nimport { toKebabCase, toCamelCase } from './util';\r\n\r\nexport const Component = (args: ComponentMetadata) => {\r\n return (target: any) => {\r\n const tag: string = args.tag || toKebabCase(target.prototype.constructor.name);\r\n const customElement: any = class extends (target as { new(): any }) {\r\n protected static __connected: boolean = false;\r\n protected static propsInit: KeyValue;\r\n protected static watchAttributes: KeyValue;\r\n protected static listeners: ListenerMetadata[];\r\n protected static ready: Promise<boolean> = new Promise((resolve, _) => resolve(true));\r\n public props: KeyValue = {};\r\n private showShadowRoot: boolean;\r\n\r\n public static get observedAttributes(): string[] {\r\n return Object.keys(this.propsInit || {}).map(x => toKebabCase(x));\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n this.showShadowRoot = args.shadow == null ? true : args.shadow;\r\n\r\n if (!this.shadowRoot && this.showShadowRoot) {\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n this.onAttributeChange(name, oldValue, newValue);\r\n }\r\n\r\n public onAttributeChange(name: string, oldValue: string, newValue: string, set: boolean = true): void {\r\n if (oldValue != newValue) {\r\n if (set) { this[toCamelCase(name)] = newValue; }\r\n const watchAttributes: KeyValue = (this.constructor as any).watchAttributes;\r\n if (watchAttributes && watchAttributes[name]) {\r\n const methodToCall: string = watchAttributes[name];\r\n if (this.__connected) {\r\n if (typeof this[methodToCall] == 'function') {\r\n this[methodToCall]({ old: oldValue, new: newValue });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async connectedCallback(): Promise<void> {\r\n await this.render();\r\n super.connectedCallback && super.connectedCallback();\r\n this.__connected = true;\r\n\r\n addEventListeners(this);\r\n initializeProps(this);\r\n }\r\n\r\n private async render(): Promise<void> {\r\n if (this.__connected) {\r\n return;\r\n }\r\n\r\n const template = document.createElement('template');\r\n template.innerHTML = await this.getStyle();\r\n\r\n if (args.template instanceof Promise) {\r\n template.content.appendChild(await this.getExternalTemplate());\r\n } else if (typeof args.template === 'string') {\r\n template.innerHTML += args.template;\r\n }\r\n\r\n (this.showShadowRoot ? this.shadowRoot : this).appendChild(template.content.cloneNode(true));\r\n }\r\n\r\n private async getExternalTemplate(): Promise<DocumentFragment> {\r\n const templateModule = await (args.template as Promise<typeof import('*.html')>);\r\n const markup = templateModule.default.toString();\r\n const fragment = document.createRange().createContextualFragment(markup);\r\n\r\n if (fragment.children.length === 1 && fragment.children[0].nodeName === 'TEMPLATE') {\r\n return (fragment.firstChild as HTMLTemplateElement).content;\r\n }\r\n return fragment;\r\n }\r\n\r\n private async getStyle(): Promise<string> {\r\n let css: string;\r\n\r\n if (args.style instanceof Promise) {\r\n const styleModule = await args.style;\r\n css = styleModule.default.toString();\r\n } else if (typeof args.style === 'string') {\r\n css = args.style;\r\n }\r\n\r\n return `${css ? `<style>${css}</style>` : ''}`\r\n }\r\n };\r\n\r\n if (!customElements.get(tag)) {\r\n customElements.define(tag, customElement);\r\n }\r\n\r\n return customElement;\r\n };\r\n};\r\n\r\n\r\n","import { CustomElementOptions } from \"./types\";\r\n\r\nexport abstract class CustomElement extends HTMLElement {\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected abstract setup(options?: CustomElementOptions): void;\r\n\r\n protected connect(selector: string): void {\r\n if (!this.isConnected) {\r\n document.querySelector(selector).appendChild(this);\r\n }\r\n }\r\n}\r\n","export const getElement = <T extends HTMLElement>(selector: string): T => {\r\n return document.querySelector(selector);\r\n};\r\n\r\nexport const getShadowRootElement = <T extends HTMLElement>(customElement: HTMLElement, selector: string): T => {\r\n return customElement.shadowRoot.querySelector(selector);\r\n};","export * from './component';\r\nexport * from './custom-element';\r\nexport * from './helpers';\r\nexport * from './listen';\r\nexport * from './prop';\r\nexport * from './toggle';\r\nexport * from './types';\r\nexport * from './watch';","import { toDotCase } from './util';\r\n\r\ninterface ListenerMetadata {\r\n eventName: string;\r\n handler: Function;\r\n selector?: string;\r\n}\r\n\r\ninterface CustomEventOptions {\r\n bubbles?: boolean;\r\n composed?: boolean;\r\n detail?: any;\r\n}\r\n\r\ninterface DispatchEmitter {\r\n emit(options?: CustomEventOptions): void;\r\n}\r\n\r\nconst Listen = (eventName: string, selector?: string) => {\r\n return (target: any, methodName: string) => {\r\n if (!target.constructor.listeners) {\r\n target.constructor.listeners = [];\r\n }\r\n target.constructor.listeners.push({ selector: selector, eventName: eventName, handler: target[methodName] });\r\n };\r\n};\r\n\r\nconst addEventListeners = (target: any) => {\r\n if (target.constructor.listeners) {\r\n const targetRoot: any = target.shadowRoot || target;\r\n for (const listener of target.constructor.listeners as Array<ListenerMetadata>) {\r\n const eventTarget = (listener.selector)\r\n ? targetRoot.querySelector(listener.selector)\r\n ? targetRoot.querySelector(listener.selector) : null\r\n : target;\r\n if (eventTarget) {\r\n eventTarget.addEventListener(listener.eventName, (e: CustomEvent) => {\r\n listener.handler.call(target, e);\r\n });\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst Dispatch = (eventName?: string) => {\r\n return (target: HTMLElement, propertyName: string) => {\r\n function get() {\r\n const self: EventTarget = this as EventTarget;\r\n return {\r\n emit(options?: CustomEventOptions) {\r\n const evtName = (eventName) ? eventName : toDotCase(propertyName);\r\n self.dispatchEvent(new CustomEvent(evtName, options));\r\n }\r\n };\r\n }\r\n Object.defineProperty(target, propertyName, { get });\r\n };\r\n};\r\n\r\nexport { Listen, addEventListeners, DispatchEmitter, Dispatch, CustomEventOptions, ListenerMetadata };","import { toKebabCase, tryParseInt } from './util';\r\n\r\nexport const Prop = (): any => {\r\n return (target: any, propName: any) => {\r\n const attrName = toKebabCase(propName);\r\n function get() {\r\n if (this.props[propName]) {\r\n return this.props[propName];\r\n }\r\n return this.getAttribute(attrName);\r\n }\r\n function set(value: any) {\r\n if (this.__connected) {\r\n const oldValue = this.props[propName];\r\n this.props[propName] = tryParseInt(value);\r\n if (typeof value != 'object') {\r\n this.setAttribute(attrName, value);\r\n } else {\r\n this.onAttributeChange(attrName, oldValue, value, false);\r\n }\r\n } else {\r\n if (!this.hasAttribute(toKebabCase(propName))) {\r\n this.constructor.propsInit[propName] = value;\r\n }\r\n }\r\n }\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[propName] = null;\r\n Object.defineProperty(target, propName, { get, set });\r\n };\r\n};\r\n\r\nconst getProps = (target: any) => {\r\n const watchAttributes = target.constructor.watchAttributes;\r\n const plainAttributes = { ...watchAttributes };\r\n Object.keys(plainAttributes).forEach(v => plainAttributes[v] = '');\r\n const cycleProps = { ...plainAttributes, ...target.constructor.propsInit };\r\n return Object.keys(cycleProps);\r\n};\r\n\r\nexport const initializeProps = (target: any) => {\r\n const watchAttributes = target.constructor.watchAttributes;\r\n for (let prop of getProps(target)) {\r\n if (watchAttributes) {\r\n if (watchAttributes[toKebabCase(prop)] == null) {\r\n watchAttributes[toKebabCase(prop)] = '';\r\n } else {\r\n const attribValue = target.props[prop] || target.getAttribute(toKebabCase(prop));\r\n if (typeof target[watchAttributes[prop]] == 'function') {\r\n target[watchAttributes[prop]]({ new: attribValue });\r\n }\r\n }\r\n }\r\n if (target.constructor.propsInit[prop]) {\r\n if (!target.hasAttribute(toKebabCase(prop))) {\r\n target[prop] = target.constructor.propsInit[prop];\r\n }\r\n }\r\n }\r\n};","import { toKebabCase } from './util';\r\n\r\nexport const Toggle = (): any => {\r\n return (target: any, propName: any) => {\r\n function get() {\r\n const getAttribute = (propName: string) => {\r\n if (this.hasAttribute(propName)) {\r\n const attrValue = this.getAttribute(propName);\r\n if (/^(true|false|^$)$/.test(attrValue)) {\r\n return attrValue == 'true' || attrValue == '';\r\n } else {\r\n return false;\r\n }\r\n }\r\n return false;\r\n };\r\n return getAttribute(propName);\r\n }\r\n function set(value: any) {\r\n const oldValue = value;\r\n if (value != undefined) {\r\n switch (typeof value) {\r\n case 'boolean':\r\n break;\r\n case 'string':\r\n if (/^(true|false|^$)$/.test(value)) {\r\n value = oldValue == 'true' || oldValue == '';\r\n } else {\r\n console.warn(`TypeError: Cannot set boolean toggle property '${propName}' to '${value}'`);\r\n value = false;\r\n }\r\n break;\r\n default:\r\n throw (`TypeError: Cannot set boolean toggle property '${propName}' to '${value}'`);\r\n }\r\n }\r\n if (this.__connected) {\r\n this.props[propName] = value || false;\r\n if (oldValue !== '' && oldValue !== null) {\r\n this.setAttribute(propName, value);\r\n } else {\r\n if (value) {\r\n this.setAttribute(propName, '');\r\n } else {\r\n this.removeAttribute(propName);\r\n }\r\n }\r\n } else {\r\n if (!this.hasAttribute(toKebabCase(propName))) {\r\n this.constructor.propsInit[propName] = value;\r\n }\r\n }\r\n }\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[propName] = null;\r\n Object.defineProperty(target, propName, { get, set });\r\n };\r\n};\r\n","export const toKebabCase = (str: string) => {\r\n return str\r\n .replace(/([a-z])([A-Z])/g, '$1-$2')\r\n .replace(/[\\s_]+/g, '-')\r\n .toLowerCase();\r\n};\r\n\r\nexport const toCamelCase = (str: string) => {\r\n return str\r\n .toLowerCase()\r\n .replace(/(\\-\\w)/g, (m) => m[1].toUpperCase());\r\n};\r\n\r\nexport const toDotCase = (str: string) => {\r\n return str.replace(/(?!^)([A-Z])/g, ' $1')\r\n .replace(/[_\\s]+(?=[a-zA-Z])/g, '.')\r\n .toLowerCase();\r\n};\r\n\r\nexport const tryParseInt = (value: any) => {\r\n return (parseInt(value) == value && parseFloat(value) !== NaN) ? parseInt(value) : value;\r\n};\r\n","import { toKebabCase } from './util';\r\n\r\nexport const Watch = (attrName: string) => {\r\n return (target: any, propertyName: string) => {\r\n if (!target.constructor.watchAttributes) {\r\n target.constructor.watchAttributes = {};\r\n }\r\n target.constructor.watchAttributes[toKebabCase(attrName)] = propertyName;\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[attrName] = null;\r\n };\r\n};","module.exports = \"<svg aria-labelledby=\\\"svg-inline--fa-title-DQErafiATQyz\\\" data-prefix=\\\"fas\\\" data-icon=\\\"times\\\" class=\\\"__2_2taji__svg-inline--fa __2_2taji__fa-times __2_2taji__fa-w-11 __2_2taji__ \\\" role=\\\"img\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 352 512\\\"><title id=\\\"svg-inline--fa-title-DQErafiATQyz\\\">Vis meny</title><path fill=\\\"#fff\\\" d=\\\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\\\"></path></svg>\"","module.exports = \"<svg viewBox=\\\"0 0 48 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><g stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><g transform=\\\"translate(-1.000000, -9.000000)\\\" fill=\\\"currentColor\\\" class=\\\"__176tcrb__downloads__cloud \\\"><path d=\\\"M25,9 C19.22,9 14.2,12.28 11.7,17.08 C5.68,17.72 1,22.82 1,29 C1,35.62 6.38,41 13,41 L39,41 C44.52,41 49,36.52 49,31 C49,25.72 44.9,21.44 39.7,21.08 C38.34,14.18 32.28,9 25,9 Z M35,27 L25,37 L15,27 L21,27 L21,19 L29,19 L29,27 L35,27 L35,27 Z\\\" id=\\\"Shape\\\"></path></g></g></svg>\"","module.exports = \"<svg id=\\\"Layer_1\\\" data-name=\\\"Layer 1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 415.11 55\\\"><defs><style>.__1td2xJy__cls-1{fill:#4d4d4f;}.__1td2xJy__cls-2{fill:#a6a8ab;}.__1td2xJy__cls-3{fill:#bbbdbf;}.__1td2xJy__cls-4{fill:#6d6e70;}.__1td2xJy__cls-5{fill:#929497;}.__1td2xJy__cls-6{fill:#fe5000;}.__1td2xJy__cls-7{fill:#404041;}</style></defs><title>Artboard 1</title><polygon class=\\\"__1td2xJy__cls-1 \\\" points=\\\"20.9 30.4 20.9 54.5 0 42.4 20.9 30.4\\\"></polygon><polygon class=\\\"__1td2xJy__cls-2 \\\" points=\\\"20.9 6.3 20.9 30.4 0 18.3 20.9 6.3\\\"></polygon><polyline class=\\\"__1td2xJy__cls-3 \\\" points=\\\"20.9 30.4 41.8 42.4 41.8 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1td2xJy__cls-4 \\\" points=\\\"20.9 30.4 0 42.4 0 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1td2xJy__cls-5 \\\" points=\\\"20.9 30.4 20.9 54.5 41.8 42.4 20.9 30.4\\\"></polyline><path class=\\\"__1td2xJy__cls-6 \\\" d=\\\"M24.5,9.1a8.08,8.08,0,0,1,1.2-4.7,8.78,8.78,0,0,1,15.2,8.8,9.49,9.49,0,0,1-3.5,3.4L24.5,24Zm13,2.1a4.8,4.8,0,0,0-1.8-6.7A4.93,4.93,0,0,0,29,6.3a4.84,4.84,0,0,0-.7,2.6A5,5,0,0,0,30.8,13a4.84,4.84,0,0,0,4.8.1A3.9,3.9,0,0,0,37.5,11.2Z\\\"></path><path class=\\\"__1td2xJy__cls-7 \\\" d=\\\"M274.2,48.7h4.6c.2,0,.3-.2.4-.3s.1-.2,0-.2c-.8-1.6-5.2-10.2-6.6-12.8l-.1-.3.3-.1a9.48,9.48,0,0,0,2.7-1.7,11,11,0,0,0,3.3-5.8,12.47,12.47,0,0,0,.1-4.7,10.29,10.29,0,0,0-4.1-6.7,9.75,9.75,0,0,0-5.1-1.9H253.3c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V35.8h5.7a.87.87,0,0,1,.9.5c.1.2.9,1.7,1.8,3.6,1.3,2.6,3.1,6.1,4.1,8a1.16,1.16,0,0,0,1.2.8ZM259,29.9V20h9.2a4.27,4.27,0,0,1,4.1,3.3,6.65,6.65,0,0,1-.2,4.2,3.84,3.84,0,0,1-3.6,2.5h0Z\\\"></path><path class=\\\"__1td2xJy__cls-7 \\\" d=\\\"M104.6,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7H127c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H110.3V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H110.3V20H127c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H104.6Z\\\"></path><path class=\\\"__1td2xJy__cls-7 \\\" d=\\\"M326.9,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h22.4c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H332.6V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H332.6V20h16.7c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H326.9Z\\\"></path><path class=\\\"__1td2xJy__cls-7 \\\" d=\\\"M149.7,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,149.7,13.8Zm0,29.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S155.9,43.3,149.7,43.3Z\\\"></path><path class=\\\"__1td2xJy__cls-7 \\\" d=\\\"M228.2,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,228.2,13.8Zm0,29.5C222,43.3,217,38,217,31.5s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S234.4,43.3,228.2,43.3Z\\\"></path><path class=\\\"__1td2xJy__cls-7 \\\" d=\\\"M80.2,13.8A17.7,17.7,0,1,0,97.8,31.5V29.4c0-.6-.1-.7-.7-.7H79.6c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1H91.1l-.1.6a11.38,11.38,0,0,1-10.8,8.5C74.1,43.3,69,38,69,31.5s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A17.53,17.53,0,0,0,80.2,13.8Z\\\"></path><path class=\\\"__1td2xJy__cls-7 \\\" d=\\\"M302.6,13.8a17.7,17.7,0,1,0,17.6,17.7V29.4c0-.6-.1-.7-.7-.7H302c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1h11.5l-.1.6a11.38,11.38,0,0,1-10.8,8.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A18.16,18.16,0,0,0,302.6,13.8Z\\\"></path><path class=\\\"__1td2xJy__cls-7 \\\" d=\\\"M180.9,26c.1,0,.1,0,.2.1,2.2,1.4,12.7,8.3,15.6,10.2a1.25,1.25,0,0,1,.6,1.1V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7v-33c0-.6-.1-.7-.7-.7h-5c-.6,0-.7.1-.7.7V29.3L174.8,14.1a.76.76,0,0,0-.4-.1.52.52,0,0,0-.2.4V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V26Z\\\"></path></svg>\"","module.exports = \"<svg id=\\\"Layer_1\\\" data-name=\\\"Layer 1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 415.11 55\\\"><defs><style>.__1SuVD_7__cls-1{fill:#4d4d4f;}.__1SuVD_7__cls-2{fill:#a6a8ab;}.__1SuVD_7__cls-3{fill:#bbbdbf;}.__1SuVD_7__cls-4{fill:#6d6e70;}.__1SuVD_7__cls-5{fill:#929497;}.__1SuVD_7__cls-6{fill:#fe5000;}.__1SuVD_7__cls-7{fill:#404041;}.__1SuVD_7__cls-8{fill:#ee432a;}.__1SuVD_7__cls-9{font-size:21px;fill:#fff;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><title>Artboard 1</title><polygon class=\\\"__1SuVD_7__cls-1 \\\" points=\\\"20.9 30.4 20.9 54.5 0 42.4 20.9 30.4\\\"></polygon><polygon class=\\\"__1SuVD_7__cls-2 \\\" points=\\\"20.9 6.3 20.9 30.4 0 18.3 20.9 6.3\\\"></polygon><polyline class=\\\"__1SuVD_7__cls-3 \\\" points=\\\"20.9 30.4 41.8 42.4 41.8 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1SuVD_7__cls-4 \\\" points=\\\"20.9 30.4 0 42.4 0 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1SuVD_7__cls-5 \\\" points=\\\"20.9 30.4 20.9 54.5 41.8 42.4 20.9 30.4\\\"></polyline><path class=\\\"__1SuVD_7__cls-6 \\\" d=\\\"M24.5,9.1a8.08,8.08,0,0,1,1.2-4.7,8.78,8.78,0,0,1,15.2,8.8,9.49,9.49,0,0,1-3.5,3.4L24.5,24Zm13,2.1a4.8,4.8,0,0,0-1.8-6.7A4.93,4.93,0,0,0,29,6.3a4.84,4.84,0,0,0-.7,2.6A5,5,0,0,0,30.8,13a4.84,4.84,0,0,0,4.8.1A3.9,3.9,0,0,0,37.5,11.2Z\\\"></path><path class=\\\"__1SuVD_7__cls-7 \\\" d=\\\"M274.2,48.7h4.6c.2,0,.3-.2.4-.3s.1-.2,0-.2c-.8-1.6-5.2-10.2-6.6-12.8l-.1-.3.3-.1a9.48,9.48,0,0,0,2.7-1.7,11,11,0,0,0,3.3-5.8,12.47,12.47,0,0,0,.1-4.7,10.29,10.29,0,0,0-4.1-6.7,9.75,9.75,0,0,0-5.1-1.9H253.3c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V35.8h5.7a.87.87,0,0,1,.9.5c.1.2.9,1.7,1.8,3.6,1.3,2.6,3.1,6.1,4.1,8a1.16,1.16,0,0,0,1.2.8ZM259,29.9V20h9.2a4.27,4.27,0,0,1,4.1,3.3,6.65,6.65,0,0,1-.2,4.2,3.84,3.84,0,0,1-3.6,2.5h0Z\\\"></path><path class=\\\"__1SuVD_7__cls-7 \\\" d=\\\"M104.6,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7H127c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H110.3V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H110.3V20H127c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H104.6Z\\\"></path><path class=\\\"__1SuVD_7__cls-7 \\\" d=\\\"M326.9,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h22.4c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H332.6V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H332.6V20h16.7c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H326.9Z\\\"></path><path class=\\\"__1SuVD_7__cls-7 \\\" d=\\\"M149.7,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,149.7,13.8Zm0,29.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S155.9,43.3,149.7,43.3Z\\\"></path><path class=\\\"__1SuVD_7__cls-7 \\\" d=\\\"M228.2,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,228.2,13.8Zm0,29.5C222,43.3,217,38,217,31.5s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S234.4,43.3,228.2,43.3Z\\\"></path><path class=\\\"__1SuVD_7__cls-7 \\\" d=\\\"M80.2,13.8A17.7,17.7,0,1,0,97.8,31.5V29.4c0-.6-.1-.7-.7-.7H79.6c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1H91.1l-.1.6a11.38,11.38,0,0,1-10.8,8.5C74.1,43.3,69,38,69,31.5s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A17.53,17.53,0,0,0,80.2,13.8Z\\\"></path><path class=\\\"__1SuVD_7__cls-7 \\\" d=\\\"M302.6,13.8a17.7,17.7,0,1,0,17.6,17.7V29.4c0-.6-.1-.7-.7-.7H302c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1h11.5l-.1.6a11.38,11.38,0,0,1-10.8,8.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A18.16,18.16,0,0,0,302.6,13.8Z\\\"></path><path class=\\\"__1SuVD_7__cls-7 \\\" d=\\\"M180.9,26c.1,0,.1,0,.2.1,2.2,1.4,12.7,8.3,15.6,10.2a1.25,1.25,0,0,1,.6,1.1V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7v-33c0-.6-.1-.7-.7-.7h-5c-.6,0-.7.1-.7.7V29.3L174.8,14.1a.76.76,0,0,0-.4-.1.52.52,0,0,0-.2.4V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V26Z\\\"></path><rect class=\\\"__1SuVD_7__cls-8 \\\" x=\\\"353.52\\\" y=\\\"0.02\\\" width=\\\"61.59\\\" height=\\\"22.72\\\" rx=\\\"4.67\\\"></rect><text class=\\\"__1SuVD_7__cls-9 \\\" transform=\\\"translate(363.76 19)\\\">DEV</text></svg>\"","module.exports = \"<svg id=\\\"Layer_1\\\" data-name=\\\"Layer 1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 415.11 55\\\"><defs><style>.__1s39F6O__cls-1{fill:#4d4d4f;}.__1s39F6O__cls-2{fill:#a6a8ab;}.__1s39F6O__cls-3{fill:#bbbdbf;}.__1s39F6O__cls-4{fill:#6d6e70;}.__1s39F6O__cls-5{fill:#929497;}.__1s39F6O__cls-6{fill:#fe5000;}.__1s39F6O__cls-7{fill:#404041;}.__1s39F6O__cls-8{fill:#36c545;}.__1s39F6O__cls-9{font-size:21px;fill:#fff;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><title>Artboard 1</title><polygon class=\\\"__1s39F6O__cls-1 \\\" points=\\\"20.9 30.4 20.9 54.5 0 42.4 20.9 30.4\\\"></polygon><polygon class=\\\"__1s39F6O__cls-2 \\\" points=\\\"20.9 6.3 20.9 30.4 0 18.3 20.9 6.3\\\"></polygon><polyline class=\\\"__1s39F6O__cls-3 \\\" points=\\\"20.9 30.4 41.8 42.4 41.8 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1s39F6O__cls-4 \\\" points=\\\"20.9 30.4 0 42.4 0 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1s39F6O__cls-5 \\\" points=\\\"20.9 30.4 20.9 54.5 41.8 42.4 20.9 30.4\\\"></polyline><path class=\\\"__1s39F6O__cls-6 \\\" d=\\\"M24.5,9.1a8.08,8.08,0,0,1,1.2-4.7,8.78,8.78,0,0,1,15.2,8.8,9.49,9.49,0,0,1-3.5,3.4L24.5,24Zm13,2.1a4.8,4.8,0,0,0-1.8-6.7A4.93,4.93,0,0,0,29,6.3a4.84,4.84,0,0,0-.7,2.6A5,5,0,0,0,30.8,13a4.84,4.84,0,0,0,4.8.1A3.9,3.9,0,0,0,37.5,11.2Z\\\"></path><path class=\\\"__1s39F6O__cls-7 \\\" d=\\\"M274.2,48.7h4.6c.2,0,.3-.2.4-.3s.1-.2,0-.2c-.8-1.6-5.2-10.2-6.6-12.8l-.1-.3.3-.1a9.48,9.48,0,0,0,2.7-1.7,11,11,0,0,0,3.3-5.8,12.47,12.47,0,0,0,.1-4.7,10.29,10.29,0,0,0-4.1-6.7,9.75,9.75,0,0,0-5.1-1.9H253.3c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V35.8h5.7a.87.87,0,0,1,.9.5c.1.2.9,1.7,1.8,3.6,1.3,2.6,3.1,6.1,4.1,8a1.16,1.16,0,0,0,1.2.8ZM259,29.9V20h9.2a4.27,4.27,0,0,1,4.1,3.3,6.65,6.65,0,0,1-.2,4.2,3.84,3.84,0,0,1-3.6,2.5h0Z\\\"></path><path class=\\\"__1s39F6O__cls-7 \\\" d=\\\"M104.6,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7H127c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H110.3V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H110.3V20H127c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H104.6Z\\\"></path><path class=\\\"__1s39F6O__cls-7 \\\" d=\\\"M326.9,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h22.4c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H332.6V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H332.6V20h16.7c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H326.9Z\\\"></path><path class=\\\"__1s39F6O__cls-7 \\\" d=\\\"M149.7,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,149.7,13.8Zm0,29.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S155.9,43.3,149.7,43.3Z\\\"></path><path class=\\\"__1s39F6O__cls-7 \\\" d=\\\"M228.2,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,228.2,13.8Zm0,29.5C222,43.3,217,38,217,31.5s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S234.4,43.3,228.2,43.3Z\\\"></path><path class=\\\"__1s39F6O__cls-7 \\\" d=\\\"M80.2,13.8A17.7,17.7,0,1,0,97.8,31.5V29.4c0-.6-.1-.7-.7-.7H79.6c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1H91.1l-.1.6a11.38,11.38,0,0,1-10.8,8.5C74.1,43.3,69,38,69,31.5s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A17.53,17.53,0,0,0,80.2,13.8Z\\\"></path><path class=\\\"__1s39F6O__cls-7 \\\" d=\\\"M302.6,13.8a17.7,17.7,0,1,0,17.6,17.7V29.4c0-.6-.1-.7-.7-.7H302c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1h11.5l-.1.6a11.38,11.38,0,0,1-10.8,8.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A18.16,18.16,0,0,0,302.6,13.8Z\\\"></path><path class=\\\"__1s39F6O__cls-7 \\\" d=\\\"M180.9,26c.1,0,.1,0,.2.1,2.2,1.4,12.7,8.3,15.6,10.2a1.25,1.25,0,0,1,.6,1.1V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7v-33c0-.6-.1-.7-.7-.7h-5c-.6,0-.7.1-.7.7V29.3L174.8,14.1a.76.76,0,0,0-.4-.1.52.52,0,0,0-.2.4V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V26Z\\\"></path><rect class=\\\"__1s39F6O__cls-8 \\\" x=\\\"353.52\\\" y=\\\"0.02\\\" width=\\\"61.59\\\" height=\\\"22.72\\\" rx=\\\"4.67\\\"></rect><text class=\\\"__1s39F6O__cls-9 \\\" transform=\\\"translate(358.52 19)\\\">TEST</text></svg>\"","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 22 22\\\" style=\\\"enable-background:new 0 0 22 22;\\\" xml:space=\\\"preserve\\\"><style type=\\\"text/css\\\"> .__158ibJ0__st0{fill:currentColor;} </style><path class=\\\"__158ibJ0__st0 \\\" d=\\\"M5.2,11.2C4.4,10.1,4,8.8,4,7.3C4,3.3,7.3,0,11.4,0s7.3,3.3,7.3,7.3c0,1.5-0.4,2.8-1.1,3.9L11.4,22L5.2,11.2z M15.5,7.3c0-2.3-1.9-4.2-4.2-4.2S7.2,5.1,7.2,7.3c0,0.8,0.2,1.5,0.7,2.2c0.7,1.1,2,2,3.5,2s2.8-0.7,3.5-2 C15.3,8.9,15.5,8.1,15.5,7.3z\\\"></path></svg>\"","module.exports = \"<svg aria-labelledby=\\\"svg-inline--fa-title-rqezCtUcjPlp\\\" data-prefix=\\\"fas\\\" data-icon=\\\"bars\\\" class=\\\"__1-Ii6EJ__svg-inline--fa __1-Ii6EJ__fa-bars __1-Ii6EJ__fa-w-14 __1-Ii6EJ__ \\\" role=\\\"img\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><title id=\\\"svg-inline--fa-title-rqezCtUcjPlp\\\">Vis meny</title><path fill=\\\"#fff\\\" d=\\\"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\\\"></path></svg>\"","module.exports = \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 34 35\\\" style=\\\"enable-background:new 0 0 34 35;\\\" xml:space=\\\"preserve\\\"><style type=\\\"text/css\\\"> .__24nL31r__st0{fill:#B0A9A2;} </style><g><path class=\\\"__24nL31r__st0 \\\" d=\\\"M23.6,22.8c2.2-2.4,3.6-5.7,3.6-9.2C27.2,6.1,21.1,0,13.6,0C6.1,0,0,6.1,0,13.6c0,7.5,6.1,13.6,13.6,13.6 c3.1,0,5.9-1,8.1-2.7l10.1,10.1c0.2,0.2,0.6,0.4,0.9,0.4c0.3,0,0.6-0.1,0.9-0.4c0.5-0.5,0.5-1.3,0-1.7L23.6,22.8z M2.5,13.6 c0-6.1,5-11.1,11.1-11.1c6.1,0,11.1,5,11.1,11.1s-5,11.1-11.1,11.1S2.5,19.7,2.5,13.6L2.5,13.6z\\\"></path></g></svg>\"","module.exports = \"<svg aria-hidden=\\\"true\\\" focusable=\\\"false\\\" data-prefix=\\\"far\\\" data-icon=\\\"trash\\\" class=\\\"__2fgqV-u__svg-inline--fa __2fgqV-u__fa-trash __2fgqV-u__fa-w-14 __2fgqV-u__ \\\" role=\\\"img\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path fill=\\\"currentColor\\\" d=\\\"M432 80h-82.4l-34-56.7A48 48 0 0 0 274.4 0H173.6a48 48 0 0 0-41.2 23.3L98.4 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16l21.2 339a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM173.6 48h100.8l19.2 32H154.4zm173.3 416H101.11l-21-336h287.8z\\\"></path></svg>\"","// Dependencies\nimport {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n\n// Assets\nimport DownloadIcon from 'assets/svg/download-icon.svg';\nimport TrashIcon from 'assets/svg/trash-icon.svg';\n\n// Functions\nimport { getDownloadItems, getDownloadItemsCount, getDownloadItemMetadata, removeDownloadItem } from 'functions/downloadItemHelpers';\nimport { getKartkatalogUrl } from 'functions/urlHelpers';\n\n\ninterface DownloadItem extends Object {\n name: string,\n organizationName: string,\n uuid: string\n}\n\ninterface DownloadItemsOptions extends CustomElementOptions {\n active?: boolean\n}\n\n@Component({\n tag: 'download-items',\n template: import('./download-items.html'),\n style: import('./download-items.scss')\n})\n\nexport class DownloadItems extends CustomElement {\n private static readonly elementSelector = 'download-items';\n private downloadButton: HTMLButtonElement;\n private downloadIcon: HTMLElement;\n private downloadIconCounter: HTMLSpanElement;\n private downloadItemListContainer: HTMLDivElement;\n private downloadItems: Array<DownloadItem>;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Prop() language: string;\n @Toggle() showList: boolean;\n @Toggle() preventRedirect: boolean;\n @Dispatch('onOpenEmptyDownloadItemsList') onOpenEmptyDownloadItemsList: DispatchEmitter;\n\n constructor() {\n super();\n this.clickOutsideDownloadItemsContainer = this.clickOutsideDownloadItemsContainer.bind(this);\n this.updateDomElements = this.updateDomElements.bind(this);\n this.getUpdatedDownloadItems = this.getUpdatedDownloadItems.bind(this);\n }\n\n setup(options?: DownloadItemsOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.downloadButton = getShadowRootElement(this, '#download-toggle-button');\n this.downloadIcon = getShadowRootElement(this, '#download-toggle-button-icon');\n this.downloadIconCounter = getShadowRootElement(this, '#download-toggle-button-counter');\n this.downloadItemListContainer = getShadowRootElement(this, '#download-item-list-container');\n\n this.getUpdatedDownloadItems();\n this.downloadIcon.innerHTML = DownloadIcon;\n this.renderDownloadItemsCounter();\n\n document.addEventListener('click', this.clickOutsideDownloadItemsContainer);\n document.addEventListener('downloadItemsChanged', this.updateDomElements);\n }\n\n updateDomElements() {\n this.getUpdatedDownloadItems();\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n }\n\n getUpdatedDownloadItems() {\n const downloadItemUuids = getDownloadItems();\n this.downloadItems = downloadItemUuids.map(uuid => {\n return getDownloadItemMetadata(uuid);\n }).filter(downloadItem => { return downloadItem });\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideDownloadItemsContainer);\n }\n\n hideListContainer = () => {\n this.showList = false;\n }\n\n clickOutsideDownloadItemsContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n if (targetElement.closest('#download-item-list-container') || targetElement.closest('#download-toggle-button')) return\n this.hideListContainer();\n }\n\n renderDownloadItemsCounter() {\n const downloadItemsCount = getDownloadItemsCount();\n if (downloadItemsCount) {\n this.downloadIconCounter.innerHTML = downloadItemsCount.toString();\n this.downloadIconCounter.classList.remove('hidden');\n this.downloadButton.setAttribute('aria-label', this.language === 'en' ? 'Show download item list' : 'Vis liste med elementer til nedlasting');\n } else {\n this.downloadIconCounter.innerHTML = '';\n this.downloadIconCounter.classList.add('hidden');\n this.downloadButton.setAttribute('aria-label', this.language === 'en' ? 'Go to download page' : 'Gå til nedlastingsside');\n }\n }\n\n renderDownloadItems = (downloadItems: Array<DownloadItem>) => {\n const downloadItemsListElement = downloadItems.map((downloadItem: DownloadItem) => {\n if (downloadItem) {\n const downloadItemElement = document.createElement('span');\n downloadItemElement.innerText = downloadItem.name;\n\n const removeDownloadItemElement = document.createElement('button');\n removeDownloadItemElement.classList.add('list-icon');\n removeDownloadItemElement.innerHTML = TrashIcon;\n removeDownloadItemElement.dataset['downloadItem'] = JSON.stringify(downloadItem);\n removeDownloadItemElement.setAttribute('aria-label', this.language === 'en' ? `Remove ${downloadItem.name} from downloads` : `Fjern ${downloadItem.name} fra kurv`);\n downloadItemElement.appendChild(removeDownloadItemElement);\n\n return `<li>${downloadItemElement.innerHTML}</li>`;\n } else return null;\n }).filter(downloadItem => { return downloadItem }).join('');\n\n let downloadItemLinkElement;\n if (this.preventRedirect) {\n downloadItemLinkElement = document.createElement('span');\n downloadItemLinkElement.addEventListener(\"click\", () => {\n this.onOpenEmptyDownloadItemsList.emit();\n });\n } else {\n downloadItemLinkElement = document.createElement('a');\n downloadItemLinkElement.href = `${getKartkatalogUrl(this.environment)}/nedlasting`;\n }\n downloadItemLinkElement.innerText = this.language === 'en' ? 'Go to download' : 'Til nedlasting';\n downloadItemLinkElement.classList.add('page-link-element');\n this.downloadItemListContainer.innerHTML = `<ul>${downloadItemsListElement}</ul>`;\n this.downloadItemListContainer.prepend(downloadItemLinkElement);\n }\n\n @Listen('click', '#download-toggle-button')\n buttonClicked(event: MouseEvent) {\n if (this.downloadItems && this.downloadItems.length) {\n this.showList = !this.showList;\n } else {\n this.showList = false;\n if (this.preventRedirect) {\n this.onOpenEmptyDownloadItemsList.emit();\n } else {\n window.location.href = `${getKartkatalogUrl(this.environment)}/nedlasting`\n }\n }\n }\n\n @Listen('click', '#download-item-list-container')\n removeDownloadItemClicked(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n targetElement.closest('#menu-container');\n const removeDownloadItemButtonElement = targetElement.closest('button');\n\n if (removeDownloadItemButtonElement) {\n const downloadItem = removeDownloadItemButtonElement.dataset && removeDownloadItemButtonElement.dataset.downloadItem ? JSON.parse(removeDownloadItemButtonElement.dataset.downloadItem) : null;\n if (downloadItem) {\n event.stopPropagation();\n removeDownloadItem(downloadItem);\n this.getUpdatedDownloadItems();\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n if (!this.downloadItems || !this.downloadItems.length) {\n this.showList = false;\n }\n }\n }\n }\n\n @Watch('showlist')\n showMenuChanged() {\n this.showList ? this.downloadItemListContainer.classList.add('open') : this.downloadItemListContainer.classList.remove('open');\n this.showList ? this.downloadButton.classList.add('open') : this.downloadButton.classList.remove('open');\n }\n\n @Watch('downloadItems')\n downloadItemsChanged() {\n if (this.downloadItems && this.downloadItems.length) {\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n }\n }\n\n @Watch('language')\n languageChanged() {\n if (this.downloadItems && this.downloadItems.length) {\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n }\n }\n\n @Watch('preventredirect')\n preventRedirectChanged() {\n if (this.downloadItems && this.downloadItems.length) {\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n }\n }\n\n public static setup(selector: string, options: DownloadItemsOptions) {\n const element = getElement<DownloadItems>(selector);\n if (options.active) {\n element.showList = options.active;\n }\n }\n}\n","// Dependencies\nimport {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n\n// Assets\nimport MenuIcon from 'assets/svg/menu-icon.svg';\nimport CloseIcon from 'assets/svg/close-icon.svg';\n\n// Functions\nimport { fetchMenuItems } from 'functions/apiHelpers';\n\ninterface MainMenuOptions extends CustomElementOptions {\n active?: boolean,\n onClick?: () => void,\n onSignInClick?: () => void,\n onSignOutClick?: () => void,\n onNorwegianLanguageSelect?: () => void,\n onEnglishLanguageSelect?: () => void\n}\n\ninterface MenuItem extends Object {\n Name: string,\n SubMenuItem: Array<MenuItem>,\n Url: string\n}\n\n@Component({\n tag: 'main-menu',\n template: import('./main-menu.html'),\n style: import('./main-menu.scss')\n})\n\nexport class MainMenu extends CustomElement {\n private static readonly elementSelector = 'main-menu';\n private menuButton: HTMLButtonElement;\n private menuTitle: HTMLSpanElement;\n private menuIcon: HTMLSpanElement;\n private closeIcon: HTMLSpanElement;\n private menuContainer: HTMLElement;\n private menuItemListContainer: HTMLElement;\n private menuActionsRow: HTMLElement;\n\n @Prop() id: string;\n @Prop() language: string;\n @Prop() environment: string;\n @Prop() signinurl: string;\n @Prop() signouturl: string;\n @Prop() norwegianurl: string;\n @Prop() englishurl: string;\n @Toggle() isloggedin: boolean;\n @Toggle() showmenu: boolean;\n @Toggle() hasAuthenticationFunction: boolean;\n @Toggle() hasLanguageSelectFunctions: boolean;\n @Prop() menuitems: Array<MenuItem>;\n @Dispatch('onSignInClick') onSignInClick: DispatchEmitter;\n @Dispatch('onSignOutClick') onSignOutClick: DispatchEmitter;\n @Dispatch('onNorwegianLanguageSelect') onNorwegianLanguageSelect: DispatchEmitter;\n @Dispatch('onEnglishLanguageSelect') onEnglishLanguageSelect: DispatchEmitter;\n\n\n constructor() {\n super();\n this.clickOutsideMenuContainer = this.clickOutsideMenuContainer.bind(this);\n }\n\n setup(options?: MainMenuOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.menuButton = getShadowRootElement(this, '#menu-toggle-button');\n this.menuTitle = getShadowRootElement(this, '#menu-title');\n this.menuIcon = getShadowRootElement(this, '#menu-icon');\n this.closeIcon = getShadowRootElement(this, '#close-icon');\n this.menuContainer = getShadowRootElement(this, '#menu-container');\n this.menuItemListContainer = getShadowRootElement(this, '#menu-item-list-container');\n this.menuActionsRow = getShadowRootElement(this, '#menu-actions-row');\n this.menuIcon.innerHTML = MenuIcon;\n this.closeIcon.innerHTML = CloseIcon;\n\n this.showmenu ? this.menuIcon.classList.add('hidden') : this.closeIcon.classList.add('hidden');\n\n fetchMenuItems(this.language, this.environment).then(menuItems => {\n this.menuitems = menuItems;\n });\n\n this.menuButton.setAttribute('aria-label', this.language === 'en' ? 'Show menu' : 'Vis meny');\n\n if (this.menuTitle) {\n this.menuTitle.innerText = this.language === 'en' ? 'Menu' : 'Meny';\n }\n\n const hasAuthenticationUrls = this.signinurl && this.signouturl;\n if (hasAuthenticationUrls) {\n this.addAuthenticationLinks();\n }\n\n const supportsLanguages = this.englishurl && this.norwegianurl;\n if (supportsLanguages) {\n this.addLanguageSelectLinks();\n\n }\n document.addEventListener('click', this.clickOutsideMenuContainer);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideMenuContainer);\n }\n\n hideMenuContainer = () => {\n this.showmenu = false;\n }\n\n\n clickOutsideMenuContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n targetElement.closest('#menu-container');\n if (targetElement.closest('#menu-container') || targetElement.closest('#menu-toggle-button')) return\n this.hideMenuContainer();\n }\n\n renderMenuItems = (menuItems: Array<MenuItem>, hierarchyLevel: number = 0, maxHierarchyLevel: number = 1) => {\n const menuItemsListElement = menuItems.map((menuItem: MenuItem) => {\n const subItems = menuItem.SubMenuItem && menuItem.SubMenuItem.length ? menuItem.SubMenuItem : null;\n const menuItemElement = `<a href=\"${menuItem.Url}\">${menuItem.Name}</a>`;\n const subItemElements = subItems && hierarchyLevel + 1 <= maxHierarchyLevel ? this.renderMenuItems(subItems, hierarchyLevel + 1, maxHierarchyLevel) : '';\n return `<li>${menuItemElement}${subItemElements}</li>`;\n }).join('');\n return `<ul class=\"menuItemList hierarchy-level-${hierarchyLevel}\">${menuItemsListElement}</ul>`;\n }\n\n addAuthenticationLinks(hasAuthenticationFunction = false) {\n let loginToggleElement;\n const hasAuthenticationLinks = this.signouturl && this.signinurl;\n\n if (!hasAuthenticationLinks && !hasAuthenticationFunction) {\n return '';\n }\n\n if (hasAuthenticationFunction) {\n loginToggleElement = document.createElement(\"span\");\n loginToggleElement.addEventListener(\"click\", () => {\n this.isloggedin ? this.onSignOutClick.emit() : this.onSignInClick.emit();\n });\n } else {\n loginToggleElement = document.createElement(\"a\");\n loginToggleElement.href = this.isloggedin ? this.signouturl : this.signinurl;\n }\n const logInString = this.language === 'en' ? 'Log in' : 'Logg inn';\n const logOutString = this.language === 'en' ? 'Log out' : 'Logg ut';\n loginToggleElement.innerText = this.isloggedin ? logOutString : logInString\n loginToggleElement.id = 'authentication-toggle-element';\n\n // Remove previously added login toggle element if exists\n for (const childElement of this.menuActionsRow.children) {\n if (childElement.getAttribute('id') === loginToggleElement.id) {\n childElement.remove()\n }\n }\n\n // Add login toggle element\n this.menuActionsRow.appendChild(loginToggleElement);\n }\n\n addLanguageSelectLinks(hasLanguageSelectFunctions = false) {\n let languageToggleElement;\n const hasLanguageSelectLinks = this.norwegianurl && this.englishurl;\n\n if (!hasLanguageSelectLinks && !hasLanguageSelectFunctions) {\n return '';\n }\n\n if (hasLanguageSelectFunctions) {\n languageToggleElement = document.createElement(\"span\");\n languageToggleElement.addEventListener(\"click\", () => {\n this.language === 'en' ? this.onNorwegianLanguageSelect.emit() : this.onEnglishLanguageSelect.emit();\n });\n } else {\n languageToggleElement = document.createElement(\"a\");\n languageToggleElement.href = this.language === 'en' ? this.norwegianurl : this.englishurl;\n }\n\n languageToggleElement.innerText = this.language === 'en' ? 'Norsk' : 'English';\n languageToggleElement.id = 'language-toggle-element';\n\n // Remove previously added language toggle element if exists\n for (const childElement of this.menuActionsRow.children) {\n if (childElement.getAttribute('id') === languageToggleElement.id) {\n childElement.remove()\n }\n }\n\n // Add language toggle element\n this.menuActionsRow.appendChild(languageToggleElement);\n }\n\n @Listen('click', '#menu-toggle-button')\n buttonClicked(event: MouseEvent) {\n this.showmenu = !this.showmenu;\n }\n\n @Watch('hasauthenticationfunction')\n hasAuthenticationFunctionChanged() {\n if (this.hasAuthenticationFunction) {\n this.addAuthenticationLinks(true);\n }\n }\n\n @Watch('isloggedin')\n isLoggedInChanged() {\n this.addAuthenticationLinks(this.hasAuthenticationFunction);\n }\n\n @Watch('haslanguageselectfunctions')\n hasLanguageSelectFunctionsChanged() {\n if (this.hasLanguageSelectFunctions) {\n this.addLanguageSelectLinks(true);\n }\n }\n\n @Watch('language')\n languageChanged() {\n this.addAuthenticationLinks(this.hasAuthenticationFunction);\n this.addLanguageSelectLinks(this.hasLanguageSelectFunctions);\n fetchMenuItems(this.language, this.environment).then(menuItems => {\n this.menuitems = menuItems;\n });\n if (this.menuTitle) {\n this.menuTitle.innerText = this.language === 'en' ? 'Menu' : 'Meny';\n }\n this.menuButton.setAttribute('aria-label', this.language === 'en' ? 'Show menu' : 'Vis meny');\n }\n\n @Watch('showmenu')\n showMenuChanged() {\n this.showmenu ? this.menuContainer.classList.add('open') : this.menuContainer.classList.remove('open');\n this.showmenu ? this.menuButton.classList.add('open') : this.menuButton.classList.remove('open');\n this.showmenu ? this.menuItemListContainer.classList.add('open') : this.menuItemListContainer.classList.remove('open');\n this.showmenu ? this.menuActionsRow.classList.add('open') : this.menuActionsRow.classList.remove('open');\n this.showmenu ? this.menuIcon.classList.add('hidden') : this.menuIcon.classList.remove('hidden');\n this.showmenu ? this.closeIcon.classList.remove('hidden') : this.closeIcon.classList.add('hidden');\n }\n\n @Watch('menuitems')\n menuItemsChanged() {\n if (this.menuitems && this.menuitems.length) {\n this.menuItemListContainer.innerHTML = this.renderMenuItems(this.menuitems);\n }\n }\n\n public static setup(selector: string, options: MainMenuOptions) {\n const element = getElement<MainMenu>(selector);\n\n if (options.onClick) {\n element.addEventListener('menuButtonClick', options.onClick);\n }\n if (options.active) {\n element.showmenu = options.active;\n }\n }\n}\n","// Dependencies\nimport {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n// Components\nimport { MainSearchField } from 'custom-elements/main-navigation/main-search-field/main-search-field';\nimport { SearchTypeSelector } from 'custom-elements/main-navigation/search-type-selector/search-type-selector';\nimport { DownloadItems } from 'custom-elements/main-navigation/download-items/download-items';\nimport { MapItems } from 'custom-elements/main-navigation/map-items/map-items';\nimport { MainMenu } from 'custom-elements/main-navigation/main-menu/main-menu';\n\n// Assets\nimport GeonorgeLogo from 'assets/svg/geonorge-navbar-logo.svg';\nimport GeonorgeLogoTest from 'assets/svg/geonorge-navbar-logo_test.svg';\nimport GeonorgeLogoDev from 'assets/svg/geonorge-navbar-logo_dev.svg';\n\n// Functions\nimport { getGeonorgeUrl } from 'functions/urlHelpers';\nimport { getLanguage } from 'functions/cookieHelpers';\n\n\n\ninterface MainNavigationOptions extends CustomElementOptions {\n active?: boolean,\n onClick?: () => void,\n onSearch?: () => void,\n onOpenEmptyMapItemsList?: () => void,\n onOpenEmptyDownloadItemsList?: () => void,\n onSearchTypeChange?: () => void,\n onSignInClick?: () => void,\n onSignOutClick?: () => void,\n onNorwegianLanguageSelect?: () => void,\n onEnglishLanguageSelect?: () => void\n}\n\ninterface MenuItem extends Object {\n Name: string,\n SubMenuItem: Array<MenuItem>,\n Url: string\n}\n\n@Component({\n tag: 'main-navigation',\n template: import('./main-navigation.html'),\n style: import('./main-navigation.scss')\n})\n\nexport class MainNavigation extends CustomElement {\n private static readonly elementSelector = 'main-navigation';\n private searchField: HTMLInputElement;\n private searchTypeSelector: HTMLElement;\n private logoElement: HTMLAnchorElement;\n private mainMenu: HTMLElement;\n private mapItemsElement: HTMLElement;\n private downloadItemsElement: HTMLElement;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Prop() language: string;\n @Prop() searchstring: string;\n @Prop() searchtype: string;\n @Prop() metadataresultsfound: string;\n @Prop() articlesresultsfound: string;\n @Prop() signinurl: string;\n @Prop() signouturl: string;\n @Prop() englishurl: string;\n @Prop() norwegianurl: string;\n @Toggle() isloggedin: boolean;\n @Toggle() showmenu: boolean;\n @Toggle() showSearchTypeSelector: boolean;\n @Toggle() staticposition: boolean;\n @Toggle() noshadow: boolean;\n @Dispatch('onSearch') onSearch: DispatchEmitter;\n @Dispatch('onSearchTypeChange') onSearchTypeChange: DispatchEmitter;\n @Dispatch('onSignInClick') onSignInClick: DispatchEmitter;\n @Dispatch('onSignOutClick') onSignOutClick: DispatchEmitter;\n @Dispatch('onNorwegianLanguageSelect') onNorwegianLanguageSelect: DispatchEmitter;\n @Dispatch('onEnglishLanguageSelect') onEnglishLanguageSelect: DispatchEmitter;\n\n constructor() {\n super();\n }\n\n setup(options?: MainNavigationOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n getGeonorgeLogoVariant(environment: string) {\n switch (environment) {\n case 'dev':\n return GeonorgeLogoDev\n case 'test':\n return GeonorgeLogoTest\n default:\n return GeonorgeLogo\n }\n }\n\n connectedCallback() {\n this.logoElement = getShadowRootElement(this, '#main-navigation-logo');\n this.searchField = getShadowRootElement(this, 'main-search-field');\n this.mainMenu = getShadowRootElement(this, '#main-menu');\n this.mapItemsElement = getShadowRootElement(this, '#map-items');\n this.downloadItemsElement = getShadowRootElement(this, '#download-items');\n\n if (this.searchField) {\n this.searchField.setAttribute('searchstring', this.searchstring && this.searchstring.length ? this.searchstring : '');\n this.searchField.setAttribute('environment', this.environment);\n this.searchField.setAttribute('language', this.language);\n }\n\n this.mapItemsElement.setAttribute('environment', this.environment);\n this.mapItemsElement.setAttribute('language', this.language);\n\n this.downloadItemsElement.setAttribute('environment', this.environment);\n this.downloadItemsElement.setAttribute('language', this.language);\n\n this.logoElement.innerHTML = this.getGeonorgeLogoVariant(this.environment);\n this.logoElement.href = getGeonorgeUrl(this.language, this.environment);\n\n\n if (this.staticposition) {\n getShadowRootElement(this, '#main-navigation').classList.add('static-position');\n getShadowRootElement(this, 'main-menu').setAttribute('staticposition', '');\n }\n\n if (this.noshadow) {\n getShadowRootElement(this, '#main-navigation').classList.add('no-shadow');\n }\n\n // Pass properties\n const language = this.language ? this.language : getLanguage();\n if (language) { this.mainMenu.setAttribute('language', language); }\n if (this.environment) { this.mainMenu.setAttribute('environment', this.environment); }\n if (this.englishurl) { this.mainMenu.setAttribute('englishurl', this.englishurl); }\n if (this.norwegianurl) { this.mainMenu.setAttribute('norwegianurl', this.norwegianurl); }\n if (this.signinurl) { this.mainMenu.setAttribute('signinurl', this.signinurl); }\n if (this.signouturl) { this.mainMenu.setAttribute('signouturl', this.signouturl); }\n if (this.isloggedin) { this.mainMenu.setAttribute('isLoggedIn', ''); }\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector = document.createElement('search-type-selector');\n if (this.metadataresultsfound) { this.searchTypeSelector.setAttribute('metadataresultsfound', this.metadataresultsfound); }\n if (this.articlesresultsfound) { this.searchTypeSelector.setAttribute('articlesresultsfound', this.articlesresultsfound); }\n if (this.searchtype) { this.searchTypeSelector.setAttribute('searchtype', this.searchtype); }\n if (language) { this.searchTypeSelector.setAttribute('language', language); }\n this.searchField.parentNode.insertBefore(this.searchTypeSelector, this.searchField.nextSibling);\n const searchTypeSelector = new SearchTypeSelector();\n }\n\n\n const mapItems = new MapItems();\n const downloadItemsElement = new DownloadItems();\n const mainSearchField = new MainSearchField();\n const mainMenu = new MainMenu();\n\n }\n\n @Watch('isloggedin')\n isLoggedInChanged() {\n if (this.isloggedin) {\n this.mainMenu.setAttribute('isLoggedIn', '');\n }\n }\n\n @Watch('language')\n languageChanged() {\n this.mainMenu.setAttribute('language', this.language);\n this.mapItemsElement.setAttribute('language', this.language);\n this.downloadItemsElement.setAttribute('language', this.language);\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector.setAttribute('language', this.language);\n }\n if (this.searchField) {\n this.searchField.setAttribute('language', this.language);\n }\n }\n\n @Watch('metadataresultsfound')\n metadataResultsFoundChanged() {\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector.setAttribute('metadataresultsfound', this.metadataresultsfound);\n }\n }\n\n @Watch('articlesresultsfound')\n articlesResultsFoundChanged() {\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector.setAttribute('articlesresultsfound', this.articlesresultsfound);\n }\n }\n\n @Watch('searchtype')\n searchTypeChanged() {\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector.setAttribute('searchtype', this.searchtype);\n }\n }\n\n @Watch('searchstring')\n searchStringChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('searchstring', this.searchstring && this.searchstring.length ? this.searchstring : '');\n }\n }\n\n public static setup(selector: string, options: MainNavigationOptions) {\n const element = getElement<MainNavigation>(selector);\n if (options.onSearch) {\n setTimeout(() => {\n const mainSearchField = getShadowRootElement<MainSearchField>(element, 'main-search-field');\n mainSearchField.addEventListener('onSearch', options.onSearch);\n mainSearchField.setAttribute('preventRedirect', '');\n })\n }\n if (options.onOpenEmptyMapItemsList) {\n setTimeout(() => {\n const mapItemsElement = getShadowRootElement<MapItems>(element, 'map-items');\n mapItemsElement.addEventListener('onOpenEmptyMapItemsList', options.onOpenEmptyMapItemsList);\n mapItemsElement.setAttribute('preventRedirect', '');\n })\n }\n if (options.onOpenEmptyDownloadItemsList) {\n setTimeout(() => {\n const downloadItemsElement = getShadowRootElement<DownloadItems>(element, 'download-items');\n downloadItemsElement.addEventListener('onOpenEmptyDownloadItemsList', options.onOpenEmptyDownloadItemsList);\n downloadItemsElement.setAttribute('preventRedirect', '');\n })\n }\n if (options.onSearchTypeChange) {\n setTimeout(() => {\n const searchTypeSelector = getShadowRootElement<SearchTypeSelector>(element, 'search-type-selector');\n searchTypeSelector.addEventListener('onSearchTypeChange', options.onSearchTypeChange);\n })\n }\n if (options.onSignInClick && options.onSignOutClick) {\n setTimeout(() => {\n const mainMenu = getShadowRootElement<MainMenu>(element, 'main-menu');\n mainMenu.setAttribute('hasAuthenticationFunction', '');\n mainMenu.addEventListener('onSignInClick', options.onSignInClick);\n mainMenu.addEventListener('onSignOutClick', options.onSignOutClick);\n })\n }\n if (options.onNorwegianLanguageSelect) {\n setTimeout(() => {\n const mainMenu = getShadowRootElement<MainMenu>(element, 'main-menu');\n mainMenu.setAttribute('hasLanguageSelectFunctions', '');\n mainMenu.addEventListener('onNorwegianLanguageSelect', options.onNorwegianLanguageSelect);\n })\n }\n if (options.onEnglishLanguageSelect) {\n setTimeout(() => {\n const mainMenu = getShadowRootElement<MainMenu>(element, 'main-menu');\n mainMenu.setAttribute('hasLanguageSelectFunctions', '');\n mainMenu.addEventListener('onEnglishLanguageSelect', options.onEnglishLanguageSelect);\n })\n }\n }\n}\n","import {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n// Interfaces\nimport { SearchResultsForType, SearchResultsResponseForType } from 'interfaces/search';\n\n// Functions\nimport { fetchDropdownSearchResults } from 'functions/apiHelpers';\nimport { renderDropdownResultLink, getKartkatalogUrl } from 'functions/urlHelpers';\n\n// Assets\nimport SearchIcon from 'assets/svg/search-icon.svg';\n\ninterface MainSearchFieldOptions extends CustomElementOptions {\n active?: boolean,\n value?: string,\n onSearchStringChange?: () => void,\n onClick?: () => void,\n onSearch?: () => void\n}\n\n@Component({\n tag: 'main-search-field',\n template: import('./main-search-field.html'),\n style: import('./main-search-field.scss')\n})\n\nexport class MainSearchField extends CustomElement {\n private static readonly elementSelector = 'main-search-field';\n private searchField: HTMLInputElement;\n private searchFieldLabel: HTMLInputElement;\n private searchButton: HTMLInputElement;\n private searchResultsContainer: HTMLInputElement;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Toggle() showSearchResults: boolean;\n @Toggle() preventRedirect: boolean;\n @Prop() searchstring: string = '';\n @Prop() language: string;\n @Prop() searchResultsResponses: Array<SearchResultsResponseForType>;\n @Dispatch('searchResultsChanged') onTextChanged: DispatchEmitter;\n @Dispatch('onSearchStringChange') onSearchStringChange: DispatchEmitter;\n @Dispatch('onSearch') onSearch: DispatchEmitter;\n\n constructor() {\n super();\n this.clickOutsideSearchResultsContainer = this.clickOutsideSearchResultsContainer.bind(this);\n }\n\n setup(options?: MainSearchFieldOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.searchField = getShadowRootElement(this, '#main-search-input');\n this.searchFieldLabel = getShadowRootElement(this, '#main-search-input-label');\n this.searchButton = getShadowRootElement(this, '#search-submit-button');\n\n this.searchFieldLabel.innerHTML = this.language === 'en' ? 'Search' : 'Søk';\n\n this.searchButton.innerHTML = SearchIcon;\n\n this.searchResultsContainer = getShadowRootElement(this, '#search-results-container');\n this.searchResultsContainer.style.maxHeight = `${window.innerHeight - 61}px`;\n if (this.searchField && this.searchstring) {\n this.searchField.setAttribute('value', this.searchstring);\n }\n document.addEventListener('click', this.clickOutsideSearchResultsContainer);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideSearchResultsContainer);\n }\n\n renderSearchResultsForType = (searchResultsResponseForType: SearchResultsResponseForType) => {\n const searchResultsTypeName = searchResultsResponseForType.Results[0].TypeTranslated;\n const searchResultsType = searchResultsResponseForType.searchResultsType;\n const searchResultsListElements = searchResultsResponseForType.Results.map((searchResult: SearchResultsForType) => {\n return `<li>${renderDropdownResultLink(searchResult, searchResultsType, this.searchstring, this.environment)}</li>`;\n }).join('');\n\n const searchResultsTypeLink = searchResultsType === 'articles'\n ? `${getKartkatalogUrl(this.environment)}/articles?text=${this.searchstring}`\n : `${getKartkatalogUrl(this.environment)}/metadata?text=${this.searchstring}&type=${searchResultsType}`;\n\n return `\n <div class=\"search-results-for-type\">\n <a href=\"${searchResultsTypeLink}\" class=\"search-results-for-type-title\">\n ${searchResultsTypeName}\n <span class=\"search-results-for-type-number-badge\">\n ${searchResultsResponseForType.NumFound}\n </span>\n </a>\n <ul class=\"search-results-for-type-list\">\n ${searchResultsListElements}\n </ul>\n </div>`;\n }\n\n renderSearchResults = (searchResultsResponses: Array<SearchResultsResponseForType>) => {\n const searchResultsListElements = searchResultsResponses.map((searchResultsResponseForType: SearchResultsResponseForType) => {\n return this.renderSearchResultsForType(searchResultsResponseForType);\n }).join('');\n return `<div>${searchResultsListElements}</div>`;\n }\n\n hideSearchResultsContainer = () => {\n this.showSearchResults = false;\n }\n\n clickOutsideSearchResultsContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n if (targetElement.closest('#search-results-container') || targetElement.closest('#main-search-input')) {\n const closestLink = targetElement.closest('a');\n if (closestLink?.href?.length) {\n this.hideSearchResultsContainer();\n }\n return\n }\n this.hideSearchResultsContainer();\n }\n\n submitSearch() {\n this.hideSearchResultsContainer();\n if (this.preventRedirect) {\n this.onSearch.emit({\n detail: {\n searchString: this.searchstring\n }\n });\n } else {\n window.location.href = `${getKartkatalogUrl(this.environment)}/metadata?text=${this.searchstring}`\n }\n\n }\n\n @Listen('keyup', 'input')\n searchFieldKeyUp(event: KeyboardEvent) {\n if (event.key && event.key === 'Enter' && this.searchstring?.toString().length) {\n this.submitSearch()\n } else {\n this.searchstring = this.searchField?.value?.toString() || '';\n }\n }\n\n @Listen('click', '#search-submit-button')\n onSearchSubmitted(event: MouseEvent) {\n this.submitSearch();\n }\n\n\n @Watch('searchstring')\n searchStringChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('value', this.searchstring)\n }\n fetchDropdownSearchResults(this.searchstring, this.language, this.environment).then(searchResultsResponses => {\n this.searchResultsResponses = searchResultsResponses;\n });\n }\n\n @Watch('language')\n languageChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('aria-label', this.language === 'en' ? 'Enter your search query' : 'Skriv inn det du vil søke etter');\n }\n if (this.searchFieldLabel) {\n this.searchFieldLabel.innerText = this.language === 'en' ? 'Search' : 'Søk';\n }\n if (this.searchButton) {\n this.searchButton.setAttribute('aria-label', this.language === 'en' ? 'Search' : 'Søk');\n }\n }\n\n\n @Watch('showsearchresults')\n showSearchResultsChanged() {\n this.showSearchResults ? this.searchResultsContainer.classList.add('open') : this.searchResultsContainer.classList.remove('open');\n }\n\n @Watch('searchResultsResponses')\n searchResultsResponseChanged() {\n const searchResults = this.searchResultsResponses && this.searchResultsResponses.length ? this.searchResultsResponses.filter(searchResultsResponseForType => {\n return searchResultsResponseForType.NumFound > 0\n }) : [];\n this.searchResultsContainer.innerHTML = searchResults.length ? this.renderSearchResults(searchResults) : '';\n this.showSearchResults = searchResults.length ? true : false;\n }\n\n public static setup(selector: string, options: MainSearchFieldOptions) {\n const element = getElement<MainSearchField>(selector);\n\n if (options.onClick) {\n element.addEventListener('searchButtonClick', options.onClick);\n }\n if (options.active) {\n element.showSearchResults = options.active;\n }\n }\n}\n","// Dependencies\nimport {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n\n// Assets\nimport MapIcon from 'assets/svg/map-icon.svg';\nimport TrashIcon from 'assets/svg/trash-icon.svg';\n\n// Functions\nimport { getMapItems, getMapItemsCount, removeMapItem } from 'functions/mapItemHelpers';\nimport { getKartkatalogUrl } from 'functions/urlHelpers';\n\ninterface MapItem extends Object {\n Title: string,\n Uuid: string\n}\n\ninterface MapItemsOptions extends CustomElementOptions {\n active?: boolean\n}\n\n@Component({\n tag: 'map-items',\n template: import('./map-items.html'),\n style: import('./map-items.scss')\n})\n\nexport class MapItems extends CustomElement {\n private static readonly elementSelector = 'map-items';\n private mapButton: HTMLButtonElement;\n private mapIcon: HTMLElement;\n private mapIconCounter: HTMLSpanElement;\n private mapItemListContainer: HTMLDivElement;\n private mapItems: Array<MapItem>;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Prop() language: string;\n @Toggle() showList: boolean;\n @Toggle() preventRedirect: boolean;\n @Dispatch('onOpenEmptyMapItemsList') onOpenEmptyMapItemsList: DispatchEmitter;\n\n constructor() {\n super();\n this.clickOutsideMapItemsContainer = this.clickOutsideMapItemsContainer.bind(this);\n this.updateDomElements = this.updateDomElements.bind(this);\n this.getUpdatedMapItems = this.getUpdatedMapItems.bind(this);\n }\n\n setup(options?: MapItemsOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.mapButton = getShadowRootElement(this, '#map-toggle-button');\n this.mapIcon = getShadowRootElement(this, '#map-toggle-button-icon');\n this.mapIconCounter = getShadowRootElement(this, '#map-toggle-button-counter');\n this.mapItemListContainer = getShadowRootElement(this, '#map-item-list-container');\n\n this.getUpdatedMapItems();\n this.mapIcon.innerHTML = MapIcon;\n this.renderMapItemsCounter();\n\n document.addEventListener('click', this.clickOutsideMapItemsContainer);\n document.addEventListener('mapItemsChanged', this.updateDomElements);\n }\n\n updateDomElements() {\n this.getUpdatedMapItems();\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n }\n\n getUpdatedMapItems() {\n this.mapItems = getMapItems();\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideMapItemsContainer);\n }\n\n hideListContainer = () => {\n this.showList = false;\n }\n\n clickOutsideMapItemsContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n if (targetElement.closest('#map-item-list-container') || targetElement.closest('#map-toggle-button')) return\n this.hideListContainer();\n }\n\n renderMapItemsCounter() {\n const mapItemsCount = getMapItemsCount();\n if (mapItemsCount) {\n this.mapIconCounter.innerHTML = mapItemsCount.toString();\n this.mapIconCounter.classList.remove('hidden');\n this.mapButton.setAttribute('aria-label', this.language === 'en' ? 'Show map item list' : 'Vis liste med elementer lagt til i kart');\n\n } else {\n this.mapIconCounter.innerHTML = '';\n this.mapIconCounter.classList.add('hidden');\n this.mapButton.setAttribute('aria-label', this.language === 'en' ? 'Show map' : 'Vis kart');\n }\n }\n\n renderMapItems = (mapItems: Array<MapItem>) => {\n const mapItemsListElement = mapItems.map((mapItem: MapItem) => {\n if (mapItem) {\n const mapItemElement = document.createElement('span');\n mapItemElement.innerText = mapItem.Title;\n\n const removeMapItemElement = document.createElement('button');\n removeMapItemElement.classList.add('list-icon');\n removeMapItemElement.innerHTML = TrashIcon;\n removeMapItemElement.dataset['mapItem'] = JSON.stringify(mapItem);\n removeMapItemElement.setAttribute('aria-label', this.language === 'en' ? `Remove ${mapItem.Title} from map` : `Fjern ${mapItem.Title} fra kart`);\n mapItemElement.appendChild(removeMapItemElement);\n\n return `<li>${mapItemElement.innerHTML}</li>`;\n } else return null;\n }).filter(mapItem => { return mapItem }).join('');\n let mapItemLinkElement;\n if (this.preventRedirect) {\n mapItemLinkElement = document.createElement('span');\n mapItemLinkElement.addEventListener(\"click\", () => {\n this.onOpenEmptyMapItemsList.emit();\n });\n } else {\n mapItemLinkElement = document.createElement('a');\n mapItemLinkElement.href = `${getKartkatalogUrl(this.environment)}/kart`;\n }\n mapItemLinkElement.innerText = this.language === 'en' ? 'Show map' : 'Vis kart';\n mapItemLinkElement.classList.add('page-link-element');\n this.mapItemListContainer.innerHTML = `<ul>${mapItemsListElement}</ul>`;\n this.mapItemListContainer.prepend(mapItemLinkElement);\n }\n\n @Listen('click', '#map-toggle-button')\n buttonClicked(event: MouseEvent) {\n\n if (this.mapItems && this.mapItems.length) {\n this.showList = !this.showList;\n } else {\n this.showList = false;\n if (this.preventRedirect) {\n this.onOpenEmptyMapItemsList.emit();\n } else {\n window.location.href = `${getKartkatalogUrl(this.environment)}/kart`\n }\n }\n }\n\n @Listen('click', '#map-item-list-container')\n removeMapItemClicked(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n targetElement.closest('#menu-container');\n const removeMapItemButtonElement = targetElement.closest('button');\n\n if (removeMapItemButtonElement) {\n const mapItem = removeMapItemButtonElement.dataset && removeMapItemButtonElement.dataset.mapItem ? JSON.parse(removeMapItemButtonElement.dataset.mapItem) : null;\n if (mapItem) {\n event.stopPropagation();\n removeMapItem(mapItem);\n this.getUpdatedMapItems();\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n if (!this.mapItems || !this.mapItems.length) {\n this.showList = false;\n }\n }\n }\n }\n\n @Watch('showlist')\n showMenuChanged() {\n this.showList ? this.mapItemListContainer.classList.add('open') : this.mapItemListContainer.classList.remove('open');\n this.showList ? this.mapButton.classList.add('open') : this.mapButton.classList.remove('open');\n }\n\n @Watch('mapItems')\n mapItemsChanged() {\n if (this.mapItems && this.mapItems.length) {\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n }\n }\n\n @Watch('language')\n languageChanged() {\n if (this.mapItems && this.mapItems.length) {\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n }\n }\n\n @Watch('preventredirect')\n preventRedirectChanged() {\n if (this.mapItems && this.mapItems.length) {\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n }\n }\n\n public static setup(selector: string, options: MapItemsOptions) {\n const element = getElement<MapItems>(selector);\n if (options.active) {\n element.showList = options.active;\n }\n }\n}\n","import {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n\ninterface SearchTypeSelectorOptions extends CustomElementOptions {\n onSearchTypeChange?: () => void\n}\n\n@Component({\n tag: 'search-type-selector',\n template: import('./search-type-selector.html'),\n style: import('./search-type-selector.scss')\n})\n\nexport class SearchTypeSelector extends CustomElement {\n private static readonly elementSelector = 'search-type-selector';\n private searchTypeSelector: HTMLDivElement;\n private metadataNameElement: HTMLSpanElement;\n private metadataCounterElement: HTMLSpanElement;\n private articleNameElement: HTMLSpanElement;\n private articleCounterElement: HTMLSpanElement;\n\n @Prop() id: string;\n @Prop() metadataresultsfound: string;\n @Prop() articlesresultsfound: string;\n @Prop() language: string;\n @Prop() searchtype: string;\n @Dispatch('onSearchTypeChange') onSearchTypeChange: DispatchEmitter;\n\n constructor() {\n super();\n this.handleSearchTypeOnChange = this.handleSearchTypeOnChange.bind(this);\n\n }\n\n setup(options?: SearchTypeSelectorOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.searchTypeSelector = getShadowRootElement(this, '#search-type-selector');\n\n this.metadataNameElement = getShadowRootElement(this, '#search-type-metadata-name');\n this.metadataCounterElement = getShadowRootElement(this, '#search-type-metadata-counter');\n this.articleNameElement = getShadowRootElement(this, '#search-type-article-name');\n this.articleCounterElement = getShadowRootElement(this, '#search-type-article-counter');\n\n this.searchTypeSelector.querySelectorAll('input[name=search-type]').forEach((element: HTMLInputElement) => {\n element.onchange = this.handleSearchTypeOnChange;\n });\n const selectedSearchTypeSelector = this.searchTypeSelector.querySelector(`input[value=${this.searchtype}]`);\n }\n\n disconnectedCallback() {\n }\n\n updateNameElements(language: string) {\n this.metadataNameElement.innerHTML = language === 'en' ? 'Map catalog' : 'Kartkatalogen';\n this.articleNameElement.innerHTML = language === 'en' ? 'Articles' : 'Artikler';\n }\n\n handleSearchTypeOnChange(event: InputEvent) {\n if (this.onSearchTypeChange) {\n const selectedElement = event.composedPath()[0] as HTMLInputElement;\n this.onSearchTypeChange.emit({\n detail: {\n value: selectedElement.value\n }\n });\n }\n }\n\n @Watch('language')\n languageChanged() {\n this.updateNameElements(this.language);\n }\n\n @Watch('metadataresultsfound')\n metadataResultsFoundChanged() {\n this.metadataCounterElement.innerHTML = this.metadataresultsfound;\n }\n\n @Watch('articlesresultsfound')\n articlesResultsFoundChanged() {\n this.articleCounterElement.innerHTML = this.articlesresultsfound;\n }\n\n @Watch('searchtype')\n searchTypeChanged() {\n const selectedSearchTypeSelector = <HTMLInputElement>this.searchTypeSelector.querySelector(`input[value=${this.searchtype}]`);\n if (selectedSearchTypeSelector){\n selectedSearchTypeSelector.checked = true;\n }\n }\n\n public static setup(selector: string, options: SearchTypeSelectorOptions) {\n const element = getElement<SearchTypeSelector>(selector);\n\n }\n}\n","export const getKartkatalogApiUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://kartkatalog.${environmentSlug}geonorge.no/api`;\n};\n\nexport const getGeonorgeMenuUrl = (language: string, environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n const selectedLanguageSlug = language === 'en' ? 'en/' : '';\n return `https://www.${environmentSlug}geonorge.no/${selectedLanguageSlug}api/menu/get?omitLinks=1`;\n};\n\nexport const fetchMenuItems = (language: string = \"no\", environment: string = \"\") => {\n const apiUrl = getGeonorgeMenuUrl(language, environment);\n return fetch(apiUrl).then(res => res.json()).then(menuItems => {\n return menuItems;\n });\n}\n\nexport const fetchDropdownSearchResults = async (searchString: string = \"\", language: string = \"no\", environment: string = '') => {\n searchString = searchString.toString();\n const urlParameterStrings = {\n dataset: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=dataset`,\n series: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=series`,\n service: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=service`,\n servicelayer: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=servicelayer`,\n software: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=software`,\n articles: `articles?text=${searchString}`\n };\n const fetchOptions = {\n headers: new Headers({\n 'Accept-Language': language\n })\n };\n const limitParameterString = 'limit=5';\n\n return searchString && searchString.length ? await Promise.all(Object.keys(urlParameterStrings).map(async (searchResultsType) => {\n const kartkatalogApiUrl = getKartkatalogApiUrl(environment);\n let urlParameterString = urlParameterStrings[searchResultsType];\n return fetch(`${kartkatalogApiUrl}/${urlParameterString}&${limitParameterString}`, fetchOptions)\n .then(res => res.json())\n .then(searchResults => {\n return {\n ...searchResults,\n searchResultsType\n };\n })\n })) : null;\n};","export const getCookie = (cname: string) => {\n const name = `${cname}=`;\n const decodedCookie = decodeURIComponent(document.cookie);\n const ca = decodedCookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return \"\";\n}\n\nexport const setCookie = (cname: string, cvalue: string, exdays: number) => {\n let expireDate = new Date();\n expireDate.setTime(expireDate.getTime() + (exdays * 24 * 60 * 60 * 1000));\n const expires = `expires=${expireDate.toUTCString()}`;\n const domain = window.location.hostname === 'localhost' ? '' : 'domain=-geonorge.no';\n document.cookie = `${cname}=${cvalue};${expires};path=/;${domain}`;\n}\n\nexport const getLanguage = () => {\n return getCookie('_culture');\n}\n\nexport const setLanguage = (language: string) => {\n setCookie('_culture', language, 7);\n}\n","// Functions\nimport { getCookie } from 'functions/cookieHelpers';\n\nexport const getDownloadItems = () => {\n return localStorage.orderItems && Array.isArray(JSON.parse(localStorage.orderItems))\n ? JSON.parse(localStorage.orderItems).filter(mapItem => {return mapItem})\n : [];\n}\n\nexport const getDownloadItemsCount = () => {\n const isKartkatalog = window.location.hostname.toLowerCase().indexOf('kartkatalog') !== -1;\n const isLocalKartkatalogEnvironment = window.sessionStorage.isLocalKartkatalogEnvironment;\n if (isKartkatalog || isLocalKartkatalogEnvironment) {\n return getDownloadItems().length;\n } else {\n const downloadItemsCount = parseInt(getCookie('orderItems'));\n return downloadItemsCount && !isNaN(downloadItemsCount) ? downloadItemsCount : 0;\n }\n}\n\nexport const getDownloadItemMetadata = (itemUuid: string) => {\n return localStorage[itemUuid + '.metadata']\n ? JSON.parse(localStorage[itemUuid + '.metadata'])\n : null;\n}\n\nexport const removeDownloadItem = (itemToRemove) => {\n let selectedItems = localStorage.orderItems && Array.isArray(JSON.parse(localStorage.orderItems))\n ? JSON.parse(localStorage.orderItems)\n : [];\n localStorage.orderItems = JSON.stringify(selectedItems.filter(itemToKeep => itemToKeep !== itemToRemove.uuid));\n localStorage.removeItem(itemToRemove.uuid + \".metadata\")\n}\n","// Functions\nimport { getCookie } from 'functions/cookieHelpers';\n\nexport const getMapItems = () => {\n return localStorage.mapItems && Array.isArray(JSON.parse(localStorage.mapItems))\n ? JSON.parse(localStorage.mapItems).filter(mapItem => {return mapItem})\n : [];\n}\n\nexport const getMapItemsCount = () => {\n const isKartkatalog = window.location.hostname.toLowerCase().indexOf('kartkatalog') !== -1;\n const isLocalKartkatalogEnvironment = window.sessionStorage.isLocalKartkatalogEnvironment;\n if (isKartkatalog || isLocalKartkatalogEnvironment) {\n return getMapItems().length;\n } else {\n const mapItemsCount = parseInt(getCookie('mapItems'));\n return mapItemsCount && !isNaN(mapItemsCount) ? mapItemsCount : 0;\n }\n}\n\nexport const removeMapItem = (itemToRemove) => {\n let selectedItems = localStorage.mapItems && Array.isArray(JSON.parse(localStorage.mapItems))\n ? JSON.parse(localStorage.mapItems)\n : [];\n localStorage.mapItems = JSON.stringify(selectedItems.filter(itemToKeep => itemToKeep.Uuid !== itemToRemove.Uuid));\n}\n","// Interfaces\nimport { SearchResultsForType } from 'interfaces/search';\n\nexport const getKartkatalogUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://kartkatalog.${environmentSlug}geonorge.no`;\n};\n\nexport const getGeonorgeUrl = (language: string, environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n const selectedLanguageSlug = language === 'en' ? 'en/' : '';\n return `https://www.${environmentSlug}geonorge.no/${selectedLanguageSlug}`;\n};\n\nexport const getGeonorgeNedlastingUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n return `https://nedlasting.${environmentSlug}geonorge.no`;\n};\n\n\n\nconst replaceAndAddSpace = (text: string, replace: string, replaceWith: string) => {\n text = text.replace(new RegExp(`([^s])([${replace}])([^s])`, 'ig'), `$1 ${replaceWith} $3`); // Character right before and after\n text = text.replace(new RegExp(`([^s])([${replace}])`, 'ig'), `$1 ${replaceWith}`); // Character right before\n text = text.replace(new RegExp(`([${replace}])([^s])`, 'ig'), `${replaceWith} $2`); // Character right after\n text = text.replace(new RegExp(`[${replace}]`, 'ig'), replaceWith); // No character right before or after\n \n return text;\n }\n\nexport const convertTextToUrlSlug = (text: string = '') => {\n // To lower case\n text = text.toLowerCase();\n\n // Character replace\n text = replaceAndAddSpace(text, \"&\", \"and\");\n text = replaceAndAddSpace(text, \"+\", \"plus\");\n text = text.replace(\"æ\", \"ae\");\n text = text.replace(\"ä\", \"ae\");\n text = text.replace(\"ø\", \"oe\");\n text = text.replace(\"ö\", \"oe\");\n text = text.replace(\"å\", \"aa\");\n\n // Whitespace replace\n text = text.replace(/( - )/g, \"-\");\n text = text.replace(/[\\s]+/g, \"-\");\n\n // Unwated character replace\n text = text.replace(/[^a-z0-9-]+/ig, \"\");\n\n // Remove any character before first and after last A-Z or 0-9\n text = text.replace(/^[^A-Z0-9]*|[^a-z0-9]*$/ig, \"\");\n\n return text;\n}\n\nconst handleSearchResultsClick = (searchString: string, pushToDataLayer?: Function) => {\n if (pushToDataLayer) {\n pushToDataLayer({\n event: 'updateSearchString',\n category: 'metadataSearch',\n activity: 'dropDownResultsClick',\n searchString: searchString\n });\n } else return false;\n}\n\nexport const renderDropdownResultLink = (searchResult: SearchResultsForType, resultType: string, searchString: string, environment: string, pushToDataLayer?: Function) => {\n return resultType === 'articles'\n ? `<a onClick=\"${handleSearchResultsClick(searchString, pushToDataLayer)}\" href=\"${searchResult.ShowDetailsUrl ? searchResult.ShowDetailsUrl : '#'}\">${searchResult.Title}</a>`\n : `<a onClick=\"${handleSearchResultsClick(searchString, pushToDataLayer)}\" href=\"${getKartkatalogUrl(environment)}/metadata/${convertTextToUrlSlug(searchResult.Title)}/${searchResult.Uuid}\">${searchResult.Title}</a>`\n\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(2930);\n"],"names":["root","factory","exports","module","define","amd","self","___CSS_LOADER_EXPORT___","push","id","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","Component","args","target","tag","toKebabCase","prototype","constructor","name","customElement","super","props","showShadowRoot","shadow","shadowRoot","attachShadow","mode","observedAttributes","Object","keys","propsInit","x","attributeChangedCallback","oldValue","newValue","onAttributeChange","set","toCamelCase","watchAttributes","methodToCall","__connected","old","new","connectedCallback","render","addEventListeners","initializeProps","template","document","createElement","innerHTML","getStyle","Promise","appendChild","getExternalTemplate","cloneNode","markup","default","fragment","createRange","createContextualFragment","children","nodeName","firstChild","css","style","ready","resolve","_","customElements","get","CustomElement","HTMLElement","connect","selector","isConnected","querySelector","getElement","getShadowRootElement","Listen","eventName","methodName","listeners","handler","targetRoot","listener","eventTarget","addEventListener","e","call","Dispatch","propertyName","defineProperty","emit","options","evtName","toDotCase","dispatchEvent","CustomEvent","Prop","propName","attrName","getAttribute","value","tryParseInt","setAttribute","hasAttribute","prop","plainAttributes","forEach","v","cycleProps","getProps","attribValue","Toggle","attrValue","test","console","warn","removeAttribute","str","replace","toLowerCase","m","toUpperCase","parseInt","NaN","parseFloat","Watch","DownloadItems","hideListContainer","showList","renderDownloadItems","downloadItems","downloadItemsListElement","downloadItem","downloadItemElement","innerText","removeDownloadItemElement","classList","add","dataset","language","filter","downloadItemLinkElement","preventRedirect","onOpenEmptyDownloadItemsList","href","getKartkatalogUrl","environment","downloadItemListContainer","prepend","clickOutsideDownloadItemsContainer","bind","updateDomElements","getUpdatedDownloadItems","setup","container","downloadButton","downloadIcon","downloadIconCounter","renderDownloadItemsCounter","downloadItemUuids","getDownloadItems","uuid","getDownloadItemMetadata","disconnectedCallback","removeEventListener","event","targetElement","composedPath","closest","downloadItemsCount","getDownloadItemsCount","remove","buttonClicked","window","location","removeDownloadItemClicked","removeDownloadItemButtonElement","parse","stopPropagation","removeDownloadItem","showMenuChanged","downloadItemsChanged","languageChanged","preventRedirectChanged","static","element","active","elementSelector","MainMenu","hideMenuContainer","showmenu","renderMenuItems","menuItems","hierarchyLevel","maxHierarchyLevel","menuItemsListElement","menuItem","subItems","SubMenuItem","Url","Name","clickOutsideMenuContainer","menuButton","menuTitle","menuIcon","closeIcon","menuContainer","menuItemListContainer","menuActionsRow","fetchMenuItems","then","menuitems","signinurl","signouturl","addAuthenticationLinks","englishurl","norwegianurl","addLanguageSelectLinks","hasAuthenticationFunction","loginToggleElement","isloggedin","onSignOutClick","onSignInClick","logInString","logOutString","childElement","hasLanguageSelectFunctions","languageToggleElement","onNorwegianLanguageSelect","onEnglishLanguageSelect","hasAuthenticationFunctionChanged","isLoggedInChanged","hasLanguageSelectFunctionsChanged","menuItemsChanged","onClick","MainNavigation","getGeonorgeLogoVariant","logoElement","searchField","mainMenu","mapItemsElement","downloadItemsElement","searchstring","getGeonorgeUrl","staticposition","noshadow","getLanguage","showSearchTypeSelector","searchTypeSelector","metadataresultsfound","articlesresultsfound","searchtype","parentNode","insertBefore","nextSibling","SearchTypeSelector","MapItems","MainSearchField","metadataResultsFoundChanged","articlesResultsFoundChanged","searchTypeChanged","searchStringChanged","onSearch","setTimeout","mainSearchField","onOpenEmptyMapItemsList","onSearchTypeChange","renderSearchResultsForType","searchResultsResponseForType","searchResultsTypeName","Results","TypeTranslated","searchResultsType","searchResultsListElements","searchResult","renderDropdownResultLink","NumFound","renderSearchResults","searchResultsResponses","hideSearchResultsContainer","showSearchResults","clickOutsideSearchResultsContainer","searchFieldLabel","searchButton","searchResultsContainer","maxHeight","innerHeight","closestLink","submitSearch","detail","searchString","searchFieldKeyUp","key","onSearchSubmitted","fetchDropdownSearchResults","showSearchResultsChanged","searchResultsResponseChanged","searchResults","renderMapItems","mapItems","mapItemsListElement","mapItem","mapItemElement","Title","removeMapItemElement","mapItemLinkElement","mapItemListContainer","clickOutsideMapItemsContainer","getUpdatedMapItems","mapButton","mapIcon","mapIconCounter","renderMapItemsCounter","getMapItems","mapItemsCount","getMapItemsCount","removeMapItemClicked","removeMapItemButtonElement","removeMapItem","mapItemsChanged","handleSearchTypeOnChange","metadataNameElement","metadataCounterElement","articleNameElement","articleCounterElement","querySelectorAll","onchange","updateNameElements","selectedElement","selectedSearchTypeSelector","checked","getKartkatalogApiUrl","getGeonorgeMenuUrl","apiUrl","fetch","res","json","urlParameterStrings","series","service","servicelayer","software","articles","fetchOptions","headers","Headers","all","kartkatalogApiUrl","getCookie","cname","ca","decodeURIComponent","cookie","split","c","charAt","substring","indexOf","setCookie","cvalue","exdays","expireDate","Date","setTime","getTime","expires","toUTCString","domain","hostname","setLanguage","localStorage","orderItems","Array","isArray","isKartkatalog","isLocalKartkatalogEnvironment","sessionStorage","isNaN","itemUuid","itemToRemove","selectedItems","itemToKeep","removeItem","Uuid","getGeonorgeNedlastingUrl","replaceAndAddSpace","text","replaceWith","RegExp","convertTextToUrlSlug","handleSearchResultsClick","pushToDataLayer","category","activity","resultType","ShowDetailsUrl","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","enumerable","obj","hasOwnProperty","r","Symbol","toStringTag"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"MainNavigation.js","mappings":"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","sources":["webpack://geonorge/webpack/universalModuleDefinition","webpack://geonorge/./custom-elements/main-navigation/download-items/download-items.scss","webpack://geonorge/./custom-elements/main-navigation/main-menu/main-menu.scss","webpack://geonorge/./custom-elements/main-navigation/main-navigation.scss","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.scss","webpack://geonorge/./custom-elements/main-navigation/map-items/map-items.scss","webpack://geonorge/./custom-elements/main-navigation/search-type-selector/search-type-selector.scss","webpack://geonorge/./custom-elements/main-navigation/download-items/download-items.html","webpack://geonorge/./custom-elements/main-navigation/main-menu/main-menu.html","webpack://geonorge/./custom-elements/main-navigation/main-navigation.html","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.html","webpack://geonorge/./custom-elements/main-navigation/map-items/map-items.html","webpack://geonorge/./custom-elements/main-navigation/search-type-selector/search-type-selector.html","webpack://geonorge/../node_modules/css-loader/dist/runtime/api.js","webpack://geonorge/../node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://geonorge/../node_modules/super-custom-elements/src/component.ts","webpack://geonorge/../node_modules/super-custom-elements/src/custom-element.ts","webpack://geonorge/../node_modules/super-custom-elements/src/helpers.ts","webpack://geonorge/../node_modules/super-custom-elements/src/index.ts","webpack://geonorge/../node_modules/super-custom-elements/src/listen.ts","webpack://geonorge/../node_modules/super-custom-elements/src/prop.ts","webpack://geonorge/../node_modules/super-custom-elements/src/toggle.ts","webpack://geonorge/../node_modules/super-custom-elements/src/util.ts","webpack://geonorge/../node_modules/super-custom-elements/src/watch.ts","webpack://geonorge/./assets/svg/close-icon.svg","webpack://geonorge/./assets/svg/download-icon.svg","webpack://geonorge/./assets/svg/geonorge-navbar-logo.svg","webpack://geonorge/./assets/svg/geonorge-navbar-logo_dev.svg","webpack://geonorge/./assets/svg/geonorge-navbar-logo_test.svg","webpack://geonorge/./assets/svg/map-icon.svg","webpack://geonorge/./assets/svg/menu-icon.svg","webpack://geonorge/./assets/svg/search-icon.svg","webpack://geonorge/./assets/svg/trash-icon.svg","webpack://geonorge/./custom-elements/main-navigation/download-items/download-items.ts","webpack://geonorge/./custom-elements/main-navigation/main-menu/main-menu.ts","webpack://geonorge/./custom-elements/main-navigation/main-navigation.ts","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.ts","webpack://geonorge/./custom-elements/main-navigation/map-items/map-items.ts","webpack://geonorge/./custom-elements/main-navigation/search-type-selector/search-type-selector.ts","webpack://geonorge/./functions/apiHelpers.ts","webpack://geonorge/./functions/cookieHelpers.ts","webpack://geonorge/./functions/downloadItemHelpers.ts","webpack://geonorge/./functions/mapItemHelpers.ts","webpack://geonorge/./functions/urlHelpers.ts","webpack://geonorge/webpack/bootstrap","webpack://geonorge/webpack/runtime/compat get default export","webpack://geonorge/webpack/runtime/define property getters","webpack://geonorge/webpack/runtime/hasOwnProperty shorthand","webpack://geonorge/webpack/runtime/make namespace object","webpack://geonorge/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"geonorge\"] = factory();\n\telse\n\t\troot[\"geonorge\"] = root[\"geonorge\"] || {}, root[\"geonorge\"][\"MainNavigation\"] = factory();\n})(self, () => {\nreturn ","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}.download-items-container .icon-toggle-button{-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;border:none;background:rgba(0,0,0,0);color:#7d746d;padding:0;cursor:pointer}@media(min-width: 37.5em){.download-items-container .icon-toggle-button{padding:0 4px}}.download-items-container .icon-toggle-button.open{color:#414042}.download-items-container .icon-toggle-button .counter{background-color:#fe5000;border-radius:50%;color:#fff;margin-top:-0.25em;margin-left:-0.2em;position:absolute;text-align:center;width:1.4em;line-height:1.4;height:1.4em;font-size:.9em}@media(min-width: 37.5em){.download-items-container .icon-toggle-button .counter{height:1.5em;width:1.5em;line-height:1.5;font-size:1em}}.download-items-container .icon-toggle-button .counter.hidden{display:none}.download-items-container .icon-toggle-button .download-icon svg{width:45px;height:32px}@media(min-width: 37.5em){.download-items-container .icon-toggle-button .download-icon svg{width:52px;height:37px}}.download-items-container .download-item-list-wrapper{position:absolute}.download-items-container .download-item-list-wrapper .download-item-list-container{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;box-sizing:border-box;overflow:hidden;max-height:0;position:relative;top:10px;background-color:#fbfcfd;right:205px;width:260px}@media(min-width: 37.5em){.download-items-container .download-item-list-wrapper .download-item-list-container{right:245px;width:300px}}@media print{.download-items-container .download-item-list-wrapper .download-item-list-container{display:none}}.download-items-container .download-item-list-wrapper .download-item-list-container.open{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);height:auto;max-height:300px;overflow:auto}.download-items-container .download-item-list-wrapper .download-item-list-container .page-link-element{display:block;text-align:center;padding:8px 16px;color:#3767c7;text-decoration:none;cursor:pointer}.download-items-container .download-item-list-wrapper .download-item-list-container .page-link-element:hover{text-decoration:underline;color:#0056b3}.download-items-container .download-item-list-wrapper .download-item-list-container ul{list-style:none;padding:0;margin:0}.download-items-container .download-item-list-wrapper .download-item-list-container ul li{-moz-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:space-between;padding:8px 16px}.download-items-container .download-item-list-wrapper .download-item-list-container ul li:hover{background-color:rgba(0,0,0,.05)}.download-items-container .download-item-list-wrapper .download-item-list-container ul li .list-icon{margin-left:8px;cursor:pointer;background:none;border:none}.download-items-container .download-item-list-wrapper .download-item-list-container ul li .list-icon svg{color:#e00d0d;width:20px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/download-items/download-items.scss\",\"webpack://./style/mixins/_transition.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/variables/_colors.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/mixins/_box-shadow.scss\"],\"names\":[],\"mappings\":\"AAEA,EACI,qBAAA,CAIA,8CCNA,mCDOI,CCNJ,iCDMI,CCLJ,sCDKI,CCJJ,8BDII,CACA,WAAA,CACA,wBAAA,CACA,aAAA,CACA,SAAA,CAIA,cAAA,CEFA,0BFPJ,8CAOQ,aAAA,CAAA,CAGJ,mDACI,aAAA,CAEJ,uDACI,wBGZI,CHaJ,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,kBAAA,CACA,iBAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,cAAA,CEjBJ,0BFMA,uDAaQ,YAAA,CACA,WAAA,CACA,eAAA,CACA,aAAA,CAAA,CAEJ,8DACI,YAAA,CAIJ,iEACI,UAAA,CACA,WAAA,CE/BR,0BF6BI,iEAIQ,UAAA,CACA,WAAA,CAAA,CAKhB,sDACI,iBAAA,CACA,oFItDN,iCJuDiC,CItDjC,yBJsDiC,CCvD/B,mCDwDQ,CCvDR,iCDuDQ,CCtDR,sCDsDQ,CCrDR,8BDqDQ,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,iBAAA,CACA,QAAA,CACA,wBAAA,CACA,WAAA,CACA,WAAA,CEnDJ,0BFyCA,oFAYQ,WAAA,CACA,WAAA,CAAA,CAEJ,aAfJ,oFAgBQ,YAAA,CAAA,CAEJ,yFKxER,8GLyEY,CKxEZ,2GLwEY,CKvEZ,sGLuEY,CAKA,WAAA,CACA,gBAAA,CACA,aAAA,CAEJ,uGACI,aAAA,CACA,iBAAA,CACA,gBAAA,CACA,aGzED,CH0EC,oBAAA,CACA,cAAA,CACA,6GACI,yBAAA,CACA,aG7EA,CHgFR,uFACI,eAAA,CACA,SAAA,CACA,QAAA,CACA,0FClGZ,oCDmGgB,CClGhB,kCDkGgB,CCjGhB,uCDiGgB,CChGhB,+BDgGgB,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,gBAAA,CACA,gGACI,gCGxGL,CH0GC,qGACI,eAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,yGACI,aGrFd,CHsFc,UAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\n.download-items-container {\\n .icon-toggle-button {\\n @include transition(all 0.1s ease-in-out);\\n border: none;\\n background: transparent;\\n color: #7d746d;\\n padding: 0;\\n @include breakpoint(phablet) {\\n padding: 0 4px;\\n }\\n cursor: pointer;\\n &.open {\\n color: #414042;\\n }\\n .counter {\\n background-color: $primary-brand;\\n border-radius: 50%;\\n color: #fff;\\n margin-top: -0.25em;\\n margin-left: -0.2em;\\n position: absolute;\\n text-align: center;\\n width: 1.4em;\\n line-height: 1.4;\\n height: 1.4em;\\n font-size: 0.9em;\\n @include breakpoint(phablet) {\\n height: 1.5em;\\n width: 1.5em;\\n line-height: 1.5;\\n font-size: 1em;\\n }\\n &.hidden {\\n display: none;\\n }\\n }\\n .download-icon {\\n svg {\\n width: 45px;\\n height: 32px;\\n @include breakpoint(phablet) {\\n width: 52px;\\n height: 37px;\\n }\\n }\\n }\\n }\\n .download-item-list-wrapper {\\n position: absolute;\\n .download-item-list-container {\\n @include border-radius(0 0 3px 3px);\\n @include transition(all 0.1s ease-in-out);\\n box-sizing: border-box;\\n overflow: hidden;\\n max-height: 0;\\n position: relative;\\n top: 10px;\\n background-color: #fbfcfd;\\n right: 205px;\\n width: 260px;\\n @include breakpoint(phablet) {\\n right: 245px;\\n width: 300px;\\n }\\n @media print {\\n display: none;\\n }\\n &.open {\\n @include box-shadow(\\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\\n );\\n height: auto;\\n max-height: 300px;\\n overflow: auto;\\n }\\n .page-link-element {\\n display: block;\\n text-align: center;\\n padding: 8px 16px;\\n color: $primary-text;\\n text-decoration: none;\\n cursor: pointer;\\n &:hover {\\n text-decoration: underline;\\n color: $primary-text-hover;\\n }\\n }\\n ul {\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n li {\\n @include transition(all 0.15s ease-in-out);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 8px 16px;\\n &:hover {\\n background-color: $hover-background;\\n }\\n .list-icon {\\n margin-left: 8px;\\n cursor: pointer;\\n background: none;\\n border: none;\\n svg {\\n color: $danger-text;\\n width: 20px;\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"@mixin transition($transition...) {\\n -moz-transition: $transition;\\n -o-transition: $transition;\\n -webkit-transition: $transition;\\n transition: $transition;\\n}\\n\\n@mixin transition-property($property...) {\\n -moz-transition-property: $property;\\n -o-transition-property: $property;\\n -webkit-transition-property: $property;\\n transition-property: $property;\\n}\\n\\n@mixin transition-duration($duration...) {\\n -moz-transition-property: $duration;\\n -o-transition-property: $duration;\\n -webkit-transition-property: $duration;\\n transition-property: $duration;\\n}\\n\\n@mixin transition-timing-function($timing...) {\\n -moz-transition-timing-function: $timing;\\n -o-transition-timing-function: $timing;\\n -webkit-transition-timing-function: $timing;\\n transition-timing-function: $timing;\\n}\\n\\n@mixin transition-delay($delay...) {\\n -moz-transition-delay: $delay;\\n -o-transition-delay: $delay;\\n -webkit-transition-delay: $delay;\\n transition-delay: $delay;\\n}\\n\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}button.menu-toggle-button{border:none;background:rgba(0,0,0,0);background-color:#7d746d;border-radius:2px;color:#fff;cursor:pointer;width:40px;height:32px;margin-left:4px}@media(min-width: 37.5em){button.menu-toggle-button{width:45px;height:37px}}@media(min-width: 992px){button.menu-toggle-button{width:98px;background-color:#7d746d;color:#fff}}button.menu-toggle-button.open{background-color:#414042}button.menu-toggle-button span{font-size:1.2em;font-weight:700;padding:2px 1px;vertical-align:middle}button.menu-toggle-button span.menu-title{display:none}@media(min-width: 992px){button.menu-toggle-button span.menu-title{display:inline-block}}button.menu-toggle-button span.hidden{display:none}button.menu-toggle-button svg{height:24px;width:24px;padding:2px;vertical-align:middle}@media(min-width: 37.5em){button.menu-toggle-button svg{height:29px;width:29px}}.menu-wrapper{position:absolute;left:0;width:100%}.menu-wrapper .menu-container{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;box-sizing:border-box;width:100%;background-color:#dfdcda;margin:auto;position:relative;top:56px}@media(min-width: 37.5em){.menu-wrapper .menu-container{top:15px}}@media(min-width: 768px){.menu-wrapper .menu-container{width:750px}}@media(min-width: 992px){.menu-wrapper .menu-container{width:970px}}@media(min-width: 1200px){.menu-wrapper .menu-container{width:1170px}}@media print{.menu-wrapper .menu-container{display:none}}.menu-wrapper .menu-container.open{-webkit-box-shadow:0 5px 5px -2px rgba(0,0,0,.26);-moz-box-shadow:0 5px 5px -2px rgba(0,0,0,.26);box-shadow:0 5px 5px -2px rgba(0,0,0,.26);height:auto}.menu-wrapper .menu-container .menu-item-list-container{-moz-transition:max-height .3s ease-in-out;-o-transition:max-height .3s ease-in-out;-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:0}.menu-wrapper .menu-container .menu-item-list-container.open{max-height:300px;overflow:auto}@media(min-width: 37.5em){.menu-wrapper .menu-container .menu-item-list-container.open{max-height:450px}}@media(min-width: 992px){.menu-wrapper .menu-container .menu-item-list-container.open{max-height:300px}}.menu-wrapper .menu-container .menu-item-list-container .menuItemList{list-style:none;margin:15px;color:#414042}.menu-wrapper .menu-container .menu-item-list-container .menuItemList:first-child{padding:15px 0 0}.menu-wrapper .menu-container .menu-item-list-container .menuItemList a{color:#414042;text-decoration:none}.menu-wrapper .menu-container .menu-item-list-container .menuItemList a:hover{text-decoration:underline}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0{display:flex;flex-wrap:wrap}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li{flex:1 0 100%}@media(min-width: 37.5em){.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li{flex:1 0 50%}}@media(min-width: 992px){.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li{flex:1}}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li>a{border-bottom:1px solid #b6afa8;font-weight:700;padding-bottom:.75em;margin-bottom:.75em;display:block}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li>ul{padding:0}.menu-wrapper .menu-container .menu-item-list-container .menuItemList.hierarchy-level-0>li>ul li{margin-bottom:12px}.menu-wrapper .menu-container .menu-actions-row{-moz-transition:max-height .3s ease-in-out;-o-transition:max-height .3s ease-in-out;-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;text-align:right;background-color:#d2cecb;max-height:0;overflow:hidden}.menu-wrapper .menu-container .menu-actions-row.open{max-height:56px}.menu-wrapper .menu-container .menu-actions-row a,.menu-wrapper .menu-container .menu-actions-row span{display:inline-block;padding:.25em 1em .25em 1.1em;margin:15px 0;text-decoration:none;color:#414042;cursor:pointer}.menu-wrapper .menu-container .menu-actions-row a:hover,.menu-wrapper .menu-container .menu-actions-row span:hover{text-decoration:underline}.menu-wrapper .menu-container .menu-actions-row a:not(:first-child),.menu-wrapper .menu-container .menu-actions-row span:not(:first-child){border-left:1px solid #b6afa8}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/main-menu/main-menu.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/mixins/_transition.scss\"],\"names\":[],\"mappings\":\"AAEA,EACI,qBAAA,CAGJ,0BACI,WAAA,CACA,wBAAA,CACA,wBAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CCDI,0BDRR,0BAWQ,UAAA,CACA,WAAA,CAAA,CCZA,yBAAA,0BDeA,UAAA,CACA,wBAAA,CACA,UAAA,CAAA,CAEJ,+BACI,wBAAA,CAEJ,+BACI,eAAA,CACA,eAAA,CACA,eAAA,CACA,qBAAA,CACA,0CACI,YAAA,CC5BJ,yBD2BA,0CAGQ,oBAAA,CAAA,CAGR,sCACI,YAAA,CAGR,8BACI,WAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CCjCA,0BD6BJ,8BAMQ,WAAA,CACA,UAAA,CAAA,CAIZ,cACI,iBAAA,CACA,MAAA,CACA,UAAA,CAEA,8BE1DF,iCF2D6B,CE1D7B,yBF0D6B,CACvB,qBAAA,CACA,UAAA,CACA,wBAAA,CACA,WAAA,CACA,iBAAA,CACA,QAAA,CCpDA,0BD6CJ,8BASQ,QAAA,CAAA,CC1DJ,yBDiDJ,8BAaQ,WAAA,CAAA,CClEJ,yBDqDJ,8BAgBQ,WAAA,CAAA,CCzEJ,0BDyDJ,8BAmBQ,YAAA,CAAA,CAEJ,aArBJ,8BAsBQ,YAAA,CAAA,CAGJ,mCGnFJ,iDHoFQ,CGnFR,8CHmFQ,CGlFR,yCHkFQ,CACA,WAAA,CAEJ,wDIvFJ,0CJwFQ,CIvFR,wCJuFQ,CItFR,6CJsFQ,CIrFR,qCJqFQ,CACA,eAAA,CACA,YAAA,CACA,6DACI,gBAAA,CACA,aAAA,CChFR,0BD8EI,6DAIQ,gBAAA,CAAA,CC1FZ,yBDsFI,6DAOQ,gBAAA,CAAA,CAIR,sEACI,eAAA,CACA,WAAA,CACA,aAAA,CACA,kFACI,gBAAA,CAEJ,wEACI,aAAA,CACA,oBAAA,CACA,8EACI,yBAAA,CAGR,wFACI,YAAA,CACA,cAAA,CACA,2FACI,aAAA,CC3GhB,0BD0GY,2FAGQ,YAAA,CAAA,CCrHpB,yBDkHY,2FAMQ,MAAA,CAAA,CAEJ,6FACI,+BAAA,CACA,eAAA,CACA,oBAAA,CACA,mBAAA,CACA,aAAA,CAEJ,8FACI,SAAA,CACA,iGACI,kBAAA,CAOxB,gDIhJJ,0CJiJQ,CIhJR,wCJgJQ,CI/IR,6CJ+IQ,CI9IR,qCJ8IQ,CACA,gBAAA,CACA,wBAAA,CACA,YAAA,CACA,eAAA,CACA,qDACI,eAAA,CAEJ,uGACI,oBAAA,CACA,6BAAA,CACA,aAAA,CACA,oBAAA,CACA,aAAA,CACA,cAAA,CACA,mHACI,yBAAA,CAEJ,2IACI,6BAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\nbutton.menu-toggle-button {\\n border: none;\\n background: transparent;\\n background-color: rgb(125, 116, 109);\\n border-radius: 2px;\\n color: rgb(255, 255, 255);\\n cursor: pointer;\\n width: 40px;\\n height: 32px;\\n margin-left: 4px;\\n @include breakpoint(phablet) {\\n width: 45px;\\n height: 37px;\\n }\\n @include breakpoint(laptop) {\\n width: 98px;\\n background-color: rgb(125, 116, 109);\\n color: #fff;\\n }\\n &.open {\\n background-color: #414042;\\n }\\n span {\\n font-size: 1.2em;\\n font-weight: 700;\\n padding: 2px 1px;\\n vertical-align: middle;\\n &.menu-title {\\n display: none;\\n @include breakpoint(laptop) {\\n display: inline-block;\\n }\\n }\\n &.hidden {\\n display: none;\\n }\\n }\\n svg {\\n height: 24px;\\n width: 24px;\\n padding: 2px;\\n vertical-align: middle;\\n @include breakpoint(phablet) {\\n height: 29px;\\n width: 29px;\\n }\\n }\\n}\\n.menu-wrapper {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n\\n .menu-container {\\n @include border-radius(0 0 3px 3px);\\n box-sizing: border-box;\\n width: 100%;\\n background-color: #dfdcda;\\n margin: auto;\\n position: relative;\\n top: 56px;\\n @include breakpoint(phablet) {\\n top: 15px;\\n }\\n\\n @include breakpoint(tablet) {\\n width: 750px;\\n }\\n @include breakpoint(laptop) {\\n width: 970px;\\n }\\n @include breakpoint(desktop) {\\n width: 1170px;\\n }\\n @media print {\\n display: none;\\n }\\n\\n &.open {\\n @include box-shadow(0 5px 5px -2px rgba(0, 0, 0, 0.26));\\n height: auto;\\n }\\n .menu-item-list-container {\\n @include transition(max-height 0.3s ease-in-out);\\n overflow: hidden;\\n max-height: 0;\\n &.open {\\n max-height: 300px;\\n overflow: auto;\\n @include breakpoint(phablet) {\\n max-height: 450px;\\n }\\n @include breakpoint(laptop) {\\n max-height: 300px;\\n }\\n }\\n\\n .menuItemList {\\n list-style: none;\\n margin: 15px;\\n color: #414042;\\n &:first-child {\\n padding: 15px 0 0;\\n }\\n a {\\n color: #414042;\\n text-decoration: none;\\n &:hover {\\n text-decoration: underline;\\n }\\n }\\n &.hierarchy-level-0 {\\n display: flex;\\n flex-wrap: wrap;\\n > li {\\n flex: 1 0 100%;\\n @include breakpoint(phablet) {\\n flex: 1 0 50%;\\n }\\n @include breakpoint(laptop) {\\n flex: 1;\\n }\\n > a {\\n border-bottom: 1px solid #b6afa8;\\n font-weight: 700;\\n padding-bottom: 0.75em;\\n margin-bottom: 0.75em;\\n display: block;\\n }\\n > ul {\\n padding: 0;\\n li {\\n margin-bottom: 12px;\\n }\\n }\\n }\\n }\\n }\\n }\\n .menu-actions-row {\\n @include transition(max-height 0.3s ease-in-out);\\n text-align: right;\\n background-color: #d2cecb;\\n max-height: 0;\\n overflow: hidden;\\n &.open {\\n max-height: 56px;\\n }\\n a, span {\\n display: inline-block;\\n padding: 0.25em 1em 0.25em 1.1em;\\n margin: 15px 0;\\n text-decoration: none;\\n color: #414042;\\n cursor: pointer;\\n &:hover {\\n text-decoration: underline;\\n }\\n &:not(:first-child) {\\n border-left: 1px solid #b6afa8;\\n }\\n }\\n }\\n }\\n}\\n\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\",\"@mixin transition($transition...) {\\n -moz-transition: $transition;\\n -o-transition: $transition;\\n -webkit-transition: $transition;\\n transition: $transition;\\n}\\n\\n@mixin transition-property($property...) {\\n -moz-transition-property: $property;\\n -o-transition-property: $property;\\n -webkit-transition-property: $property;\\n transition-property: $property;\\n}\\n\\n@mixin transition-duration($duration...) {\\n -moz-transition-property: $duration;\\n -o-transition-property: $duration;\\n -webkit-transition-property: $duration;\\n transition-property: $duration;\\n}\\n\\n@mixin transition-timing-function($timing...) {\\n -moz-transition-timing-function: $timing;\\n -o-transition-timing-function: $timing;\\n -webkit-transition-timing-function: $timing;\\n transition-timing-function: $timing;\\n}\\n\\n@mixin transition-delay($delay...) {\\n -moz-transition-delay: $delay;\\n -o-transition-delay: $delay;\\n -webkit-transition-delay: $delay;\\n transition-delay: $delay;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}div.main-navigation{-webkit-box-shadow:0 2px 5px rgba(0,0,0,.26);-moz-box-shadow:0 2px 5px rgba(0,0,0,.26);box-shadow:0 2px 5px rgba(0,0,0,.26);background-color:#f7f7f7;font-family:\\\"Open Sans\\\",sans-serif;position:fixed;width:100%;top:0;left:0;z-index:2}@media print{div.main-navigation{position:relative;margin-bottom:-100px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}}div.main-navigation.static-position{position:static}div.main-navigation.no-shadow{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}div.main-navigation .main-navigation-container{margin:auto}@media(min-width: 768px){div.main-navigation .main-navigation-container{width:750px}}@media(min-width: 992px){div.main-navigation .main-navigation-container{width:970px}}@media(min-width: 1200px){div.main-navigation .main-navigation-container{width:1170px}}div.main-navigation .main-navigation-container .main-navigation-content{display:flex;flex-wrap:wrap;align-items:center;padding:10px 15px}@media(min-width: 37.5em){div.main-navigation .main-navigation-container .main-navigation-content{flex-wrap:nowrap}}div.main-navigation .main-navigation-container .main-navigation-content .logo{flex:1}div.main-navigation .main-navigation-container .main-navigation-content .logo a{display:inline-block}div.main-navigation .main-navigation-container .main-navigation-content .logo svg{height:37px;width:200px}@media(min-width: 37.5em){div.main-navigation .main-navigation-container .main-navigation-content .logo svg{width:200px}}@media(min-width: 992px){div.main-navigation .main-navigation-container .main-navigation-content .logo svg{width:248px}}div.main-navigation .main-navigation-container .main-navigation-content .search-container{order:3;width:100%;display:flex;flex-direction:column}@media print{div.main-navigation .main-navigation-container .main-navigation-content .search-container{display:none}}@media(min-width: 37.5em){div.main-navigation .main-navigation-container .main-navigation-content .search-container{order:0;padding:0 1em}}@media(min-width: 768px){div.main-navigation .main-navigation-container .main-navigation-content .search-container{flex-direction:row}}div.main-navigation .main-navigation-container .main-navigation-content .button-row{width:130px;display:flex;justify-content:space-between}@media(min-width: 37.5em){div.main-navigation .main-navigation-container .main-navigation-content .button-row{width:155px}}@media(min-width: 992px){div.main-navigation .main-navigation-container .main-navigation-content .button-row{width:210px}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/main-navigation.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/variables/_colors.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/mixins/_breakpoints.scss\"],\"names\":[],\"mappings\":\"AAEA,EACI,qBAAA,CAGJ,oBCLI,4CDMA,CCLA,yCDKA,CCJA,oCDIA,CACA,wBEPyB,CFQzB,kCGTW,CHUX,cAAA,CACA,UAAA,CACA,KAAA,CACA,MAAA,CACA,SAAA,CACA,aATJ,oBAUQ,iBAAA,CACA,oBAAA,CACA,uBAAA,CACA,oBAAA,CACA,eAAA,CAAA,CAGJ,oCACI,eAAA,CAGJ,8BC1BA,uBD2BI,CC1BJ,oBD0BI,CCzBJ,eDyBI,CAGJ,+CACI,WAAA,CItBA,yBJqBJ,+CAIQ,WAAA,CAAA,CI7BJ,yBJyBJ,+CAOQ,WAAA,CAAA,CIpCJ,0BJ6BJ,+CAUQ,YAAA,CAAA,CAEJ,wEACI,YAAA,CACA,cAAA,CACA,kBAAA,CACA,iBAAA,CIjCJ,0BJ6BA,wEAMQ,gBAAA,CAAA,CAGJ,8EACI,MAAA,CACA,gFACI,oBAAA,CAEJ,kFACI,WAAA,CACA,WAAA,CI7CZ,0BJ2CQ,kFAIQ,WAAA,CAAA,CIvDhB,yBJmDQ,kFAOQ,WAAA,CAAA,CAIZ,0FAII,OAAA,CACA,UAAA,CACA,YAAA,CACA,qBAAA,CANA,aADJ,0FAEQ,YAAA,CAAA,CIxDZ,0BJsDI,0FASQ,OAAA,CACA,aAAA,CAAA,CIpEZ,yBJ0DI,0FAaQ,kBAAA,CAAA,CAGR,oFACI,WAAA,CACA,YAAA,CACA,6BAAA,CIzER,0BJsEI,oFAKQ,WAAA,CAAA,CInFZ,yBJ8EI,oFAQQ,WAAA,CAAA\",\"sourcesContent\":[\"@import \\\"../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.main-navigation {\\n @include box-shadow(0 2px 5px rgba(0, 0, 0, 0.26));\\n background-color: $navigation-bar-background;\\n font-family: $default-font;\\n position: fixed;\\n width: 100%;\\n top: 0;\\n left: 0;\\n z-index: 2;\\n @media print {\\n position: relative;\\n margin-bottom: -100px;\\n -webkit-box-shadow: none;\\n -moz-box-shadow: none;\\n box-shadow: none;\\n }\\n\\n &.static-position {\\n position: static;\\n }\\n\\n &.no-shadow {\\n @include box-shadow(none);\\n }\\n\\n .main-navigation-container {\\n margin: auto;\\n\\n @include breakpoint(tablet) {\\n width: 750px;\\n }\\n @include breakpoint(laptop) {\\n width: 970px;\\n }\\n @include breakpoint(desktop) {\\n width: 1170px;\\n }\\n .main-navigation-content {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n padding: 10px 15px;\\n @include breakpoint(phablet) {\\n flex-wrap: nowrap;\\n }\\n\\n .logo {\\n flex: 1;\\n a {\\n display: inline-block;\\n }\\n svg {\\n height: 37px;\\n width: 200px;\\n @include breakpoint(phablet) {\\n width: 200px;\\n }\\n @include breakpoint(laptop) {\\n width: 248px;\\n }\\n }\\n }\\n .search-container {\\n @media print {\\n display: none;\\n }\\n order: 3;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n @include breakpoint(phablet) {\\n order: 0;\\n padding: 0 1em;\\n }\\n @include breakpoint(tablet) {\\n flex-direction: row;\\n }\\n }\\n .button-row {\\n width: 130px;\\n display: flex;\\n justify-content: space-between;\\n @include breakpoint(phablet) {\\n width: 155px;\\n }\\n @include breakpoint(laptop) {\\n width: 210px;\\n }\\n }\\n }\\n }\\n}\\n\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\";\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}div.main-search-field{font-family:\\\"Open Sans\\\",sans-serif;display:flex;height:37px;margin-top:.25em;position:relative;width:100%}@media(min-width: 37.5em){div.main-search-field{margin-top:0}}div.main-search-field .mainSearchLabel{width:0;height:0;overflow:hidden;opacity:0}div.main-search-field input{height:37px;width:100%;outline-offset:-2px;-webkit-appearance:none;background:#fff;border:1px solid #dfdcda;border-right:0;border-radius:2px 0 0 2px;font-size:1.2em;flex:1;margin:0;padding:0 .75em}div.main-search-field button{margin:0;-webkit-appearance:button;background:#fff;border:1px solid #dfdcda;border-left:0;border-radius:0 2px 2px 0;display:inline-block;padding:0 .75em;height:100%}div.main-search-field button svg{height:22px;width:21px}div.search-results-container{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;position:absolute;background:#fbfcfd;display:none;top:37px;z-index:1}div.search-results-container.open{display:block;width:100%;overflow-y:auto}div.search-results-container a{color:#3767c7;text-decoration:none}div.search-results-container a:hover{color:#0056b3;text-decoration:underline}div.search-results-container div.search-results-for-type:nth-child(odd){background-color:#fbfcfd}div.search-results-container div.search-results-for-type:nth-child(even){background-color:#f5f6f7}div.search-results-container div.search-results-for-type a.search-results-for-type-title{padding:8px 16px;font-size:1.2em;display:inline-block}div.search-results-container div.search-results-for-type a.search-results-for-type-title span.search-results-for-type-number-badge{-webkit-border-radius:6px;border-radius:6px;padding:2px 4px;color:#fff;background-color:#fe5000;display:inline-block;font-size:.8em;vertical-align:text-bottom}div.search-results-container div.search-results-for-type ul.search-results-for-type-list{list-style:none;padding:0 16px 8px 32px;margin:0}div.search-results-container div.search-results-for-type ul.search-results-for-type-list li a{padding:4px 0;display:block}.hidden{height:0;width:0;position:absolute;color:rgba(0,0,0,0);overflow:hidden}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/main-search-field/main-search-field.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAEA,EACE,qBAAA,CAGF,sBACE,kCCPa,CDQb,YAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,UAAA,CEEM,0BFRR,sBAQI,YAAA,CAAA,CAGF,uCACE,OAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CAGF,4BACE,WAAA,CACA,UAAA,CACA,mBAAA,CACA,uBAAA,CACA,eAAA,CACA,wBAAA,CACA,cAAA,CACA,yBAAA,CACA,eAAA,CACA,MAAA,CACA,QAAA,CACA,eAAA,CAGF,6BACE,QAAA,CACA,yBAAA,CACA,eAAA,CACA,wBAAA,CACA,aAAA,CACA,yBAAA,CACA,oBAAA,CACA,eAAA,CACA,WAAA,CAEA,iCACE,WAAA,CACA,UAAA,CAKN,6BGxDI,8GHyDF,CGxDE,2GHwDF,CGvDE,sGHuDF,CIzDA,iCJ8DuB,CI7DvB,yBJ6DuB,CACvB,iBAAA,CACA,kBAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CAEA,kCACE,aAAA,CACA,UAAA,CACA,eAAA,CAGF,+BACE,aK/DW,CLgEX,oBAAA,CACA,qCACE,aKjEc,CLkEd,yBAAA,CAKF,wEACE,wBAAA,CAEF,yEACE,wBAAA,CAEF,yFACE,gBAAA,CACA,eAAA,CACA,oBAAA,CACA,mII/FJ,yBJgG6B,CI/F7B,iBJ+F6B,CACvB,eAAA,CACA,UAAA,CACA,wBK3FQ,CL4FR,oBAAA,CACA,cAAA,CACA,0BAAA,CAGJ,yFACE,eAAA,CACA,uBAAA,CACA,QAAA,CAEE,8FACE,aAAA,CACA,aAAA,CAOV,QACE,QAAA,CACA,OAAA,CACA,iBAAA,CACA,mBAAA,CACA,eAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.main-search-field {\\n font-family: $default-font;\\n display: flex;\\n height: 37px;\\n margin-top: 0.25em;\\n position: relative;\\n width: 100%;\\n @include breakpoint(phablet) {\\n margin-top: 0;\\n }\\n\\n .mainSearchLabel {\\n width: 0;\\n height: 0;\\n overflow: hidden;\\n opacity: 0;\\n }\\n\\n input {\\n height: 37px;\\n width: 100%;\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-right: 0;\\n border-radius: 2px 0 0 2px;\\n font-size: 1.2em;\\n flex: 1;\\n margin: 0;\\n padding: 0 0.75em;\\n }\\n\\n button {\\n margin: 0;\\n -webkit-appearance: button;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-left: 0;\\n border-radius: 0 2px 2px 0;\\n display: inline-block;\\n padding: 0 0.75em;\\n height: 100%;\\n\\n svg {\\n height: 22px;\\n width: 21px;\\n }\\n }\\n}\\n\\ndiv.search-results-container {\\n @include box-shadow(\\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\\n );\\n @include border-radius(0 0 3px 3px);\\n position: absolute;\\n background: #fbfcfd;\\n display: none;\\n top: 37px;\\n z-index: 1;\\n\\n &.open {\\n display: block;\\n width: 100%;\\n overflow-y: auto;\\n }\\n\\n a {\\n color: $primary-text;\\n text-decoration: none;\\n &:hover {\\n color: $primary-text-hover;\\n text-decoration: underline;\\n }\\n }\\n\\n div.search-results-for-type {\\n &:nth-child(odd) {\\n background-color: #fbfcfd;\\n }\\n &:nth-child(even) {\\n background-color: #f5f6f7;\\n }\\n a.search-results-for-type-title {\\n padding: 8px 16px;\\n font-size: 1.2em;\\n display: inline-block;\\n span.search-results-for-type-number-badge {\\n @include border-radius(6px);\\n padding: 2px 4px;\\n color: #fff;\\n background-color: $primary-brand;\\n display: inline-block;\\n font-size: 0.8em;\\n vertical-align: text-bottom;\\n }\\n }\\n ul.search-results-for-type-list {\\n list-style: none;\\n padding: 0 16px 8px 32px;\\n margin: 0;\\n li {\\n a {\\n padding: 4px 0;\\n display: block;\\n }\\n }\\n }\\n }\\n}\\n\\n.hidden {\\n height: 0;\\n width: 0;\\n position: absolute;\\n color: transparent;\\n overflow: hidden;\\n}\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\";\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}div.map-items-container .icon-toggle-button{-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;border:none;background:rgba(0,0,0,0);color:#7d746d;cursor:pointer;padding:0}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button{padding:0 4px}}div.map-items-container .icon-toggle-button.open{color:#414042}div.map-items-container .icon-toggle-button .counter{background-color:#fe5000;border-radius:50%;color:#fff;margin-top:-0.25em;margin-left:-0.2em;position:absolute;text-align:center;width:1.4em;line-height:1.4;height:1.4em;font-size:.9em}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button .counter{height:1.5em;width:1.5em;line-height:1.5;font-size:1em}}div.map-items-container .icon-toggle-button .counter.hidden{display:none}div.map-items-container .icon-toggle-button .map-icon svg{width:31px;height:32px}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button .map-icon svg{width:36px;height:37px}}div.map-items-container .map-item-list-wrapper{position:absolute}div.map-items-container .map-item-list-wrapper .map-item-list-container{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;box-sizing:border-box;overflow:hidden;max-height:0;position:relative;top:10px;background-color:#fbfcfd;right:205px;width:260px}@media(min-width: 37.5em){div.map-items-container .map-item-list-wrapper .map-item-list-container{right:245px;width:300px}}@media print{div.map-items-container .map-item-list-wrapper .map-item-list-container{display:none}}div.map-items-container .map-item-list-wrapper .map-item-list-container.open{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);height:auto;max-height:300px;overflow:auto}div.map-items-container .map-item-list-wrapper .map-item-list-container .page-link-element{display:block;text-align:center;padding:8px 16px;color:#3767c7;text-decoration:none;cursor:pointer}div.map-items-container .map-item-list-wrapper .map-item-list-container .page-link-element:hover{text-decoration:underline;color:#0056b3}div.map-items-container .map-item-list-wrapper .map-item-list-container ul{list-style:none;padding:0;margin:0}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li{-moz-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:space-between;padding:8px 16px}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li:hover{background-color:rgba(0,0,0,.05)}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li .list-icon{margin-left:8px;cursor:pointer;background:none;border:none}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li .list-icon svg{color:#e00d0d;width:20px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/map-items/map-items.scss\",\"webpack://./style/mixins/_transition.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/variables/_colors.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/mixins/_box-shadow.scss\"],\"names\":[],\"mappings\":\"AAEA,EACI,qBAAA,CAIA,4CCNA,mCDOI,CCNJ,iCDMI,CCLJ,sCDKI,CCJJ,8BDII,CACA,WAAA,CACA,wBAAA,CACA,aAAA,CACA,cAAA,CACA,SAAA,CECA,0BFPJ,4CAQQ,aAAA,CAAA,CAEJ,iDACI,aAAA,CAEJ,qDACI,wBGZI,CHaJ,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,kBAAA,CACA,iBAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,cAAA,CEjBJ,0BFMA,qDAaQ,YAAA,CACA,WAAA,CACA,eAAA,CACA,aAAA,CAAA,CAEJ,4DACI,YAAA,CAIJ,0DACI,UAAA,CACA,WAAA,CE/BR,0BF6BI,0DAIQ,UAAA,CACA,WAAA,CAAA,CAKhB,+CACI,iBAAA,CACA,wEItDN,iCJuDiC,CItDjC,yBJsDiC,CCvD/B,mCDwDQ,CCvDR,iCDuDQ,CCtDR,sCDsDQ,CCrDR,8BDqDQ,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,iBAAA,CACA,QAAA,CACA,wBAAA,CACA,WAAA,CACA,WAAA,CEnDJ,0BFyCA,wEAYQ,WAAA,CACA,WAAA,CAAA,CAEJ,aAfJ,wEAgBQ,YAAA,CAAA,CAEJ,6EKxER,8GLyEY,CKxEZ,2GLwEY,CKvEZ,sGLuEY,CAKA,WAAA,CACA,gBAAA,CACA,aAAA,CAEJ,2FACI,aAAA,CACA,iBAAA,CACA,gBAAA,CACA,aGzED,CH0EC,oBAAA,CACA,cAAA,CACA,iGACI,yBAAA,CACA,aG7EA,CHgFR,2EACI,eAAA,CACA,SAAA,CACA,QAAA,CACA,8EClGZ,oCDmGgB,CClGhB,kCDkGgB,CCjGhB,uCDiGgB,CChGhB,+BDgGgB,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,gBAAA,CACA,oFACI,gCGxGL,CH0GC,yFACI,eAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,6FACI,aGrFd,CHsFc,UAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.map-items-container {\\n .icon-toggle-button {\\n @include transition(all 0.1s ease-in-out);\\n border: none;\\n background: transparent;\\n color: #7d746d;\\n cursor: pointer;\\n padding: 0;\\n @include breakpoint(phablet) {\\n padding: 0 4px;\\n }\\n &.open {\\n color: #414042;\\n }\\n .counter {\\n background-color: $primary-brand;\\n border-radius: 50%;\\n color: #fff;\\n margin-top: -0.25em;\\n margin-left: -0.2em;\\n position: absolute;\\n text-align: center;\\n width: 1.4em;\\n line-height: 1.4;\\n height: 1.4em;\\n font-size: 0.9em;\\n @include breakpoint(phablet) {\\n height: 1.5em;\\n width: 1.5em;\\n line-height: 1.5;\\n font-size: 1em;\\n }\\n &.hidden {\\n display: none;\\n }\\n }\\n .map-icon {\\n svg {\\n width: 31px;\\n height: 32px;\\n @include breakpoint(phablet) {\\n width: 36px;\\n height: 37px;\\n }\\n }\\n }\\n }\\n .map-item-list-wrapper {\\n position: absolute;\\n .map-item-list-container {\\n @include border-radius(0 0 3px 3px);\\n @include transition(all 0.1s ease-in-out);\\n box-sizing: border-box;\\n overflow: hidden;\\n max-height: 0;\\n position: relative;\\n top: 10px;\\n background-color: #fbfcfd;\\n right: 205px;\\n width: 260px;\\n @include breakpoint(phablet) {\\n right: 245px;\\n width: 300px;\\n }\\n @media print {\\n display: none;\\n }\\n &.open {\\n @include box-shadow(\\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\\n );\\n height: auto;\\n max-height: 300px;\\n overflow: auto;\\n }\\n .page-link-element {\\n display: block;\\n text-align: center;\\n padding: 8px 16px;\\n color: $primary-text;\\n text-decoration: none;\\n cursor: pointer;\\n &:hover {\\n text-decoration: underline;\\n color: $primary-text-hover;\\n }\\n }\\n ul {\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n li {\\n @include transition(all 0.15s ease-in-out);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 8px 16px;\\n &:hover {\\n background-color: $hover-background;\\n }\\n .list-icon {\\n margin-left: 8px;\\n cursor: pointer;\\n background: none;\\n border: none;\\n svg {\\n color: $danger-text;\\n width: 20px;\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"@mixin transition($transition...) {\\n -moz-transition: $transition;\\n -o-transition: $transition;\\n -webkit-transition: $transition;\\n transition: $transition;\\n}\\n\\n@mixin transition-property($property...) {\\n -moz-transition-property: $property;\\n -o-transition-property: $property;\\n -webkit-transition-property: $property;\\n transition-property: $property;\\n}\\n\\n@mixin transition-duration($duration...) {\\n -moz-transition-property: $duration;\\n -o-transition-property: $duration;\\n -webkit-transition-property: $duration;\\n transition-property: $duration;\\n}\\n\\n@mixin transition-timing-function($timing...) {\\n -moz-transition-timing-function: $timing;\\n -o-transition-timing-function: $timing;\\n -webkit-transition-timing-function: $timing;\\n transition-timing-function: $timing;\\n}\\n\\n@mixin transition-delay($delay...) {\\n -moz-transition-delay: $delay;\\n -o-transition-delay: $delay;\\n -webkit-transition-delay: $delay;\\n transition-delay: $delay;\\n}\\n\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"div.search-type-selector{width:180px}div.search-type-selector label{font-size:14px;display:block;cursor:pointer}div.search-type-selector label input[type=radio]{vertical-align:middle;margin:0;width:14px;height:14px}div.search-type-selector label .search-type-counter{font-size:.9em}div.search-type-selector label .search-type-counter::before{content:\\\"(\\\"}div.search-type-selector label .search-type-counter::after{content:\\\")\\\"}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/search-type-selector/search-type-selector.scss\"],\"names\":[],\"mappings\":\"AAAA,yBACI,WAAA,CACA,+BACI,cAAA,CACA,aAAA,CACA,cAAA,CACA,iDACI,qBAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CAEJ,oDACI,cAAA,CACA,4DACI,WAAA,CAEJ,2DACI,WAAA\",\"sourcesContent\":[\"div.search-type-selector{\\n width: 180px;\\n label {\\n font-size: 14px;\\n display: block;\\n cursor: pointer;\\n input[type=\\\"radio\\\"]{\\n vertical-align: middle;\\n margin: 0;\\n width: 14px;\\n height: 14px;\\n }\\n .search-type-counter {\\n font-size: .9em;\\n &::before{\\n content: \\\"(\\\";\\n }\\n &::after{\\n content: \\\")\\\";\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export default \"<template>\\n <div class=\\\"download-items-container\\\">\\n <button id=\\\"download-toggle-button\\\" class=\\\"icon-toggle-button\\\">\\n <span id=\\\"download-toggle-button-counter\\\" class=\\\"counter\\\"></span>\\n <span id=\\\"download-toggle-button-icon\\\" class=\\\"download-icon\\\"></span>\\n </button>\\n <div class=\\\"download-item-list-wrapper\\\">\\n <div id=\\\"download-item-list-container\\\" class=\\\"download-item-list-container\\\"></div>\\n </div>\\n </div>\\n</template>\";","export default \"<template>\\n <button id=\\\"menu-toggle-button\\\" class=\\\"menu-toggle-button\\\">\\n <span id=\\\"menu-title\\\" class=\\\"menu-title\\\">\\n Meny\\n </span>\\n <span id=\\\"menu-icon\\\"></span>\\n <span id=\\\"close-icon\\\"></span>\\n </button>\\n <div id=\\\"menu-wrapper\\\" class=\\\"menu-wrapper\\\">\\n <div id=\\\"menu-container\\\" class=\\\"menu-container open\\\">\\n <div id=\\\"menu-item-list-container\\\" class=\\\"menu-item-list-container\\\"></div>\\n <div id=\\\"menu-actions-row\\\" class=\\\"menu-actions-row\\\"></div>\\n </div>\\n </div>\\n</template>\";","export default \"<template>\\n <div id=\\\"main-navigation\\\" class=\\\"main-navigation\\\">\\n <div class=\\\"main-navigation-container\\\">\\n <div class=\\\"main-navigation-content\\\">\\n <a id=\\\"main-navigation-logo\\\" class=\\\"logo\\\"></a>\\n <main-search-field class=\\\"search-container\\\"></main-search-field>\\n <div class=\\\"button-row\\\">\\n <map-items id=\\\"map-items\\\"></map-items>\\n <download-items id=\\\"download-items\\\"></download-items>\\n <main-menu id=\\\"main-menu\\\"></main-menu>\\n </div>\\n </div>\\n </div>\\n </div>\\n</template>\";","export default \"<template>\\n <div class=\\\"main-search-field\\\">\\n <label id=\\\"main-search-input-label\\\" for=\\\"main-search-input\\\" class=\\\"hidden\\\">søk</label>\\n <input id=\\\"main-search-input\\\" autocomplete=\\\"off\\\" type=\\\"search\\\" value=\\\"\\\" />\\n <button id=\\\"search-submit-button\\\"></button>\\n <div id=\\\"search-results-container\\\" class=\\\"search-results-container\\\">\\n \\n </div>\\n </div>\\n </template>\";","export default \"<template>\\n <div class=\\\"map-items-container\\\">\\n <button id=\\\"map-toggle-button\\\" class=\\\"icon-toggle-button\\\">\\n <span id=\\\"map-toggle-button-counter\\\" class=\\\"counter\\\"></span>\\n <span id=\\\"map-toggle-button-icon\\\" class=\\\"map-icon\\\"></span>\\n </button>\\n <div class=\\\"map-item-list-wrapper\\\">\\n <div id=\\\"map-item-list-container\\\" class=\\\"map-item-list-container\\\"></div>\\n </div>\\n </div>\\n</template>\";","export default \"<template>\\n <div id=\\\"search-type-selector\\\" class=\\\"search-type-selector\\\">\\n <label for=\\\"search-type-metadata\\\">\\n <input name=\\\"search-type\\\" type=\\\"radio\\\" id=\\\"search-type-metadata\\\" value=\\\"metadata\\\" />\\n <span id=\\\"search-type-metadata-name\\\">Kartkatalogen</span>\\n <span id=\\\"search-type-metadata-counter\\\" class=\\\"search-type-counter\\\"></span>\\n </label>\\n <label for=\\\"search-type-article\\\">\\n <input name=\\\"search-type\\\" type=\\\"radio\\\" id=\\\"search-type-article\\\" value=\\\"articles\\\" />\\n <span id=\\\"search-type-article-name\\\">Artikler</span>\\n <span id=\\\"search-type-article-counter\\\" class=\\\"search-type-counter\\\"></span>\\n </label>\\n </div>\\n</template>\";","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","import { addEventListeners, ListenerMetadata } from './listen';\r\nimport { initializeProps } from './prop';\r\nimport { ComponentMetadata, KeyValue } from './types';\r\nimport { toKebabCase, toCamelCase } from './util';\r\n\r\nexport const Component = (args: ComponentMetadata) => {\r\n return (target: any) => {\r\n const tag: string = args.tag || toKebabCase(target.prototype.constructor.name);\r\n const customElement: any = class extends (target as { new(): any }) {\r\n protected static __connected: boolean = false;\r\n protected static propsInit: KeyValue;\r\n protected static watchAttributes: KeyValue;\r\n protected static listeners: ListenerMetadata[];\r\n protected static ready: Promise<boolean> = new Promise((resolve, _) => resolve(true));\r\n public props: KeyValue = {};\r\n private showShadowRoot: boolean;\r\n\r\n public static get observedAttributes(): string[] {\r\n return Object.keys(this.propsInit || {}).map(x => toKebabCase(x));\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n this.showShadowRoot = args.shadow == null ? true : args.shadow;\r\n\r\n if (!this.shadowRoot && this.showShadowRoot) {\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n this.onAttributeChange(name, oldValue, newValue);\r\n }\r\n\r\n public onAttributeChange(name: string, oldValue: string, newValue: string, set: boolean = true): void {\r\n if (oldValue != newValue) {\r\n if (set) { this[toCamelCase(name)] = newValue; }\r\n const watchAttributes: KeyValue = (this.constructor as any).watchAttributes;\r\n if (watchAttributes && watchAttributes[name]) {\r\n const methodToCall: string = watchAttributes[name];\r\n if (this.__connected) {\r\n if (typeof this[methodToCall] == 'function') {\r\n this[methodToCall]({ old: oldValue, new: newValue });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async connectedCallback(): Promise<void> {\r\n await this.render();\r\n super.connectedCallback && super.connectedCallback();\r\n this.__connected = true;\r\n\r\n addEventListeners(this);\r\n initializeProps(this);\r\n }\r\n\r\n private async render(): Promise<void> {\r\n if (this.__connected) {\r\n return;\r\n }\r\n\r\n const template = document.createElement('template');\r\n template.innerHTML = await this.getStyle();\r\n\r\n if (args.template instanceof Promise) {\r\n template.content.appendChild(await this.getExternalTemplate());\r\n } else if (typeof args.template === 'string') {\r\n template.innerHTML += args.template;\r\n }\r\n\r\n (this.showShadowRoot ? this.shadowRoot : this).appendChild(template.content.cloneNode(true));\r\n }\r\n\r\n private async getExternalTemplate(): Promise<DocumentFragment> {\r\n const templateModule = await (args.template as Promise<typeof import('*.html')>);\r\n const markup = templateModule.default.toString();\r\n const fragment = document.createRange().createContextualFragment(markup);\r\n\r\n if (fragment.children.length === 1 && fragment.children[0].nodeName === 'TEMPLATE') {\r\n return (fragment.firstChild as HTMLTemplateElement).content;\r\n }\r\n return fragment;\r\n }\r\n\r\n private async getStyle(): Promise<string> {\r\n let css: string;\r\n\r\n if (args.style instanceof Promise) {\r\n const styleModule = await args.style;\r\n css = styleModule.default.toString();\r\n } else if (typeof args.style === 'string') {\r\n css = args.style;\r\n }\r\n\r\n return `${css ? `<style>${css}</style>` : ''}`\r\n }\r\n };\r\n\r\n if (!customElements.get(tag)) {\r\n customElements.define(tag, customElement);\r\n }\r\n\r\n return customElement;\r\n };\r\n};\r\n\r\n\r\n","import { CustomElementOptions } from \"./types\";\r\n\r\nexport abstract class CustomElement extends HTMLElement {\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected abstract setup(options?: CustomElementOptions): void;\r\n\r\n protected connect(selector: string): void {\r\n if (!this.isConnected) {\r\n document.querySelector(selector).appendChild(this);\r\n }\r\n }\r\n}\r\n","export const getElement = <T extends HTMLElement>(selector: string): T => {\r\n return document.querySelector(selector);\r\n};\r\n\r\nexport const getShadowRootElement = <T extends HTMLElement>(customElement: HTMLElement, selector: string): T => {\r\n return customElement.shadowRoot.querySelector(selector);\r\n};","export * from './component';\r\nexport * from './custom-element';\r\nexport * from './helpers';\r\nexport * from './listen';\r\nexport * from './prop';\r\nexport * from './toggle';\r\nexport * from './types';\r\nexport * from './watch';","import { toDotCase } from './util';\r\n\r\ninterface ListenerMetadata {\r\n eventName: string;\r\n handler: Function;\r\n selector?: string;\r\n}\r\n\r\ninterface CustomEventOptions {\r\n bubbles?: boolean;\r\n composed?: boolean;\r\n detail?: any;\r\n}\r\n\r\ninterface DispatchEmitter {\r\n emit(options?: CustomEventOptions): void;\r\n}\r\n\r\nconst Listen = (eventName: string, selector?: string) => {\r\n return (target: any, methodName: string) => {\r\n if (!target.constructor.listeners) {\r\n target.constructor.listeners = [];\r\n }\r\n target.constructor.listeners.push({ selector: selector, eventName: eventName, handler: target[methodName] });\r\n };\r\n};\r\n\r\nconst addEventListeners = (target: any) => {\r\n if (target.constructor.listeners) {\r\n const targetRoot: any = target.shadowRoot || target;\r\n for (const listener of target.constructor.listeners as Array<ListenerMetadata>) {\r\n const eventTarget = (listener.selector)\r\n ? targetRoot.querySelector(listener.selector)\r\n ? targetRoot.querySelector(listener.selector) : null\r\n : target;\r\n if (eventTarget) {\r\n eventTarget.addEventListener(listener.eventName, (e: CustomEvent) => {\r\n listener.handler.call(target, e);\r\n });\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst Dispatch = (eventName?: string) => {\r\n return (target: HTMLElement, propertyName: string) => {\r\n function get() {\r\n const self: EventTarget = this as EventTarget;\r\n return {\r\n emit(options?: CustomEventOptions) {\r\n const evtName = (eventName) ? eventName : toDotCase(propertyName);\r\n self.dispatchEvent(new CustomEvent(evtName, options));\r\n }\r\n };\r\n }\r\n Object.defineProperty(target, propertyName, { get });\r\n };\r\n};\r\n\r\nexport { Listen, addEventListeners, DispatchEmitter, Dispatch, CustomEventOptions, ListenerMetadata };","import { toKebabCase, tryParseInt } from './util';\r\n\r\nexport const Prop = (): any => {\r\n return (target: any, propName: any) => {\r\n const attrName = toKebabCase(propName);\r\n function get() {\r\n if (this.props[propName]) {\r\n return this.props[propName];\r\n }\r\n return this.getAttribute(attrName);\r\n }\r\n function set(value: any) {\r\n if (this.__connected) {\r\n const oldValue = this.props[propName];\r\n this.props[propName] = tryParseInt(value);\r\n if (typeof value != 'object') {\r\n this.setAttribute(attrName, value);\r\n } else {\r\n this.onAttributeChange(attrName, oldValue, value, false);\r\n }\r\n } else {\r\n if (!this.hasAttribute(toKebabCase(propName))) {\r\n this.constructor.propsInit[propName] = value;\r\n }\r\n }\r\n }\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[propName] = null;\r\n Object.defineProperty(target, propName, { get, set });\r\n };\r\n};\r\n\r\nconst getProps = (target: any) => {\r\n const watchAttributes = target.constructor.watchAttributes;\r\n const plainAttributes = { ...watchAttributes };\r\n Object.keys(plainAttributes).forEach(v => plainAttributes[v] = '');\r\n const cycleProps = { ...plainAttributes, ...target.constructor.propsInit };\r\n return Object.keys(cycleProps);\r\n};\r\n\r\nexport const initializeProps = (target: any) => {\r\n const watchAttributes = target.constructor.watchAttributes;\r\n for (let prop of getProps(target)) {\r\n if (watchAttributes) {\r\n if (watchAttributes[toKebabCase(prop)] == null) {\r\n watchAttributes[toKebabCase(prop)] = '';\r\n } else {\r\n const attribValue = target.props[prop] || target.getAttribute(toKebabCase(prop));\r\n if (typeof target[watchAttributes[prop]] == 'function') {\r\n target[watchAttributes[prop]]({ new: attribValue });\r\n }\r\n }\r\n }\r\n if (target.constructor.propsInit[prop]) {\r\n if (!target.hasAttribute(toKebabCase(prop))) {\r\n target[prop] = target.constructor.propsInit[prop];\r\n }\r\n }\r\n }\r\n};","import { toKebabCase } from './util';\r\n\r\nexport const Toggle = (): any => {\r\n return (target: any, propName: any) => {\r\n function get() {\r\n const getAttribute = (propName: string) => {\r\n if (this.hasAttribute(propName)) {\r\n const attrValue = this.getAttribute(propName);\r\n if (/^(true|false|^$)$/.test(attrValue)) {\r\n return attrValue == 'true' || attrValue == '';\r\n } else {\r\n return false;\r\n }\r\n }\r\n return false;\r\n };\r\n return getAttribute(propName);\r\n }\r\n function set(value: any) {\r\n const oldValue = value;\r\n if (value != undefined) {\r\n switch (typeof value) {\r\n case 'boolean':\r\n break;\r\n case 'string':\r\n if (/^(true|false|^$)$/.test(value)) {\r\n value = oldValue == 'true' || oldValue == '';\r\n } else {\r\n console.warn(`TypeError: Cannot set boolean toggle property '${propName}' to '${value}'`);\r\n value = false;\r\n }\r\n break;\r\n default:\r\n throw (`TypeError: Cannot set boolean toggle property '${propName}' to '${value}'`);\r\n }\r\n }\r\n if (this.__connected) {\r\n this.props[propName] = value || false;\r\n if (oldValue !== '' && oldValue !== null) {\r\n this.setAttribute(propName, value);\r\n } else {\r\n if (value) {\r\n this.setAttribute(propName, '');\r\n } else {\r\n this.removeAttribute(propName);\r\n }\r\n }\r\n } else {\r\n if (!this.hasAttribute(toKebabCase(propName))) {\r\n this.constructor.propsInit[propName] = value;\r\n }\r\n }\r\n }\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[propName] = null;\r\n Object.defineProperty(target, propName, { get, set });\r\n };\r\n};\r\n","export const toKebabCase = (str: string) => {\r\n return str\r\n .replace(/([a-z])([A-Z])/g, '$1-$2')\r\n .replace(/[\\s_]+/g, '-')\r\n .toLowerCase();\r\n};\r\n\r\nexport const toCamelCase = (str: string) => {\r\n return str\r\n .toLowerCase()\r\n .replace(/(\\-\\w)/g, (m) => m[1].toUpperCase());\r\n};\r\n\r\nexport const toDotCase = (str: string) => {\r\n return str.replace(/(?!^)([A-Z])/g, ' $1')\r\n .replace(/[_\\s]+(?=[a-zA-Z])/g, '.')\r\n .toLowerCase();\r\n};\r\n\r\nexport const tryParseInt = (value: any) => {\r\n return (parseInt(value) == value && parseFloat(value) !== NaN) ? parseInt(value) : value;\r\n};\r\n","import { toKebabCase } from './util';\r\n\r\nexport const Watch = (attrName: string) => {\r\n return (target: any, propertyName: string) => {\r\n if (!target.constructor.watchAttributes) {\r\n target.constructor.watchAttributes = {};\r\n }\r\n target.constructor.watchAttributes[toKebabCase(attrName)] = propertyName;\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[attrName] = null;\r\n };\r\n};","module.exports = \"<svg aria-labelledby=\\\"svg-inline--fa-title-DQErafiATQyz\\\" data-prefix=\\\"fas\\\" data-icon=\\\"times\\\" class=\\\"__2_2taji__svg-inline--fa __2_2taji__fa-times __2_2taji__fa-w-11 __2_2taji__ \\\" role=\\\"img\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 352 512\\\"><title id=\\\"svg-inline--fa-title-DQErafiATQyz\\\">Vis meny</title><path fill=\\\"#fff\\\" d=\\\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\\\"></path></svg>\"","module.exports = \"<svg viewBox=\\\"0 0 48 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"><g stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><g transform=\\\"translate(-1.000000, -9.000000)\\\" fill=\\\"currentColor\\\" class=\\\"__176tcrb__downloads__cloud \\\"><path d=\\\"M25,9 C19.22,9 14.2,12.28 11.7,17.08 C5.68,17.72 1,22.82 1,29 C1,35.62 6.38,41 13,41 L39,41 C44.52,41 49,36.52 49,31 C49,25.72 44.9,21.44 39.7,21.08 C38.34,14.18 32.28,9 25,9 Z M35,27 L25,37 L15,27 L21,27 L21,19 L29,19 L29,27 L35,27 L35,27 Z\\\" id=\\\"Shape\\\"></path></g></g></svg>\"","module.exports = \"<svg id=\\\"Layer_1\\\" data-name=\\\"Layer 1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 415.11 55\\\" role=\\\"img\\\" aria-labelledby=\\\"logoTitle\\\"><title id=\\\"logoTitle\\\">Geonorge logo</title><defs><style>.__1FGTMuY__cls-1{fill:#4d4d4f;}.__1FGTMuY__cls-2{fill:#a6a8ab;}.__1FGTMuY__cls-3{fill:#bbbdbf;}.__1FGTMuY__cls-4{fill:#6d6e70;}.__1FGTMuY__cls-5{fill:#929497;}.__1FGTMuY__cls-6{fill:#fe5000;}.__1FGTMuY__cls-7{fill:#404041;}</style></defs><title>Artboard 1</title><polygon class=\\\"__1FGTMuY__cls-1 \\\" points=\\\"20.9 30.4 20.9 54.5 0 42.4 20.9 30.4\\\"></polygon><polygon class=\\\"__1FGTMuY__cls-2 \\\" points=\\\"20.9 6.3 20.9 30.4 0 18.3 20.9 6.3\\\"></polygon><polyline class=\\\"__1FGTMuY__cls-3 \\\" points=\\\"20.9 30.4 41.8 42.4 41.8 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1FGTMuY__cls-4 \\\" points=\\\"20.9 30.4 0 42.4 0 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1FGTMuY__cls-5 \\\" points=\\\"20.9 30.4 20.9 54.5 41.8 42.4 20.9 30.4\\\"></polyline><path class=\\\"__1FGTMuY__cls-6 \\\" d=\\\"M24.5,9.1a8.08,8.08,0,0,1,1.2-4.7,8.78,8.78,0,0,1,15.2,8.8,9.49,9.49,0,0,1-3.5,3.4L24.5,24Zm13,2.1a4.8,4.8,0,0,0-1.8-6.7A4.93,4.93,0,0,0,29,6.3a4.84,4.84,0,0,0-.7,2.6A5,5,0,0,0,30.8,13a4.84,4.84,0,0,0,4.8.1A3.9,3.9,0,0,0,37.5,11.2Z\\\"></path><path class=\\\"__1FGTMuY__cls-7 \\\" d=\\\"M274.2,48.7h4.6c.2,0,.3-.2.4-.3s.1-.2,0-.2c-.8-1.6-5.2-10.2-6.6-12.8l-.1-.3.3-.1a9.48,9.48,0,0,0,2.7-1.7,11,11,0,0,0,3.3-5.8,12.47,12.47,0,0,0,.1-4.7,10.29,10.29,0,0,0-4.1-6.7,9.75,9.75,0,0,0-5.1-1.9H253.3c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V35.8h5.7a.87.87,0,0,1,.9.5c.1.2.9,1.7,1.8,3.6,1.3,2.6,3.1,6.1,4.1,8a1.16,1.16,0,0,0,1.2.8ZM259,29.9V20h9.2a4.27,4.27,0,0,1,4.1,3.3,6.65,6.65,0,0,1-.2,4.2,3.84,3.84,0,0,1-3.6,2.5h0Z\\\"></path><path class=\\\"__1FGTMuY__cls-7 \\\" d=\\\"M104.6,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7H127c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H110.3V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H110.3V20H127c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H104.6Z\\\"></path><path class=\\\"__1FGTMuY__cls-7 \\\" d=\\\"M326.9,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h22.4c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H332.6V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H332.6V20h16.7c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H326.9Z\\\"></path><path class=\\\"__1FGTMuY__cls-7 \\\" d=\\\"M149.7,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,149.7,13.8Zm0,29.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S155.9,43.3,149.7,43.3Z\\\"></path><path class=\\\"__1FGTMuY__cls-7 \\\" d=\\\"M228.2,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,228.2,13.8Zm0,29.5C222,43.3,217,38,217,31.5s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S234.4,43.3,228.2,43.3Z\\\"></path><path class=\\\"__1FGTMuY__cls-7 \\\" d=\\\"M80.2,13.8A17.7,17.7,0,1,0,97.8,31.5V29.4c0-.6-.1-.7-.7-.7H79.6c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1H91.1l-.1.6a11.38,11.38,0,0,1-10.8,8.5C74.1,43.3,69,38,69,31.5s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A17.53,17.53,0,0,0,80.2,13.8Z\\\"></path><path class=\\\"__1FGTMuY__cls-7 \\\" d=\\\"M302.6,13.8a17.7,17.7,0,1,0,17.6,17.7V29.4c0-.6-.1-.7-.7-.7H302c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1h11.5l-.1.6a11.38,11.38,0,0,1-10.8,8.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A18.16,18.16,0,0,0,302.6,13.8Z\\\"></path><path class=\\\"__1FGTMuY__cls-7 \\\" d=\\\"M180.9,26c.1,0,.1,0,.2.1,2.2,1.4,12.7,8.3,15.6,10.2a1.25,1.25,0,0,1,.6,1.1V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7v-33c0-.6-.1-.7-.7-.7h-5c-.6,0-.7.1-.7.7V29.3L174.8,14.1a.76.76,0,0,0-.4-.1.52.52,0,0,0-.2.4V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V26Z\\\"></path></svg>\"","module.exports = \"<svg id=\\\"Layer_1\\\" data-name=\\\"Layer 1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 415.11 55\\\" role=\\\"img\\\" aria-labelledby=\\\"GeonorgeNavbarDevLogoTitle\\\"><title id=\\\"GeonorgeNavbarDevLogoTitle\\\">Geonorge logo for utviklingsmiljø</title><defs><style>.__1VEHdQg__cls-1{fill:#4d4d4f;}.__1VEHdQg__cls-2{fill:#a6a8ab;}.__1VEHdQg__cls-3{fill:#bbbdbf;}.__1VEHdQg__cls-4{fill:#6d6e70;}.__1VEHdQg__cls-5{fill:#929497;}.__1VEHdQg__cls-6{fill:#fe5000;}.__1VEHdQg__cls-7{fill:#404041;}.__1VEHdQg__cls-8{fill:#ee432a;}.__1VEHdQg__cls-9{font-size:21px;fill:#fff;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><title>Artboard 1</title><polygon class=\\\"__1VEHdQg__cls-1 \\\" points=\\\"20.9 30.4 20.9 54.5 0 42.4 20.9 30.4\\\"></polygon><polygon class=\\\"__1VEHdQg__cls-2 \\\" points=\\\"20.9 6.3 20.9 30.4 0 18.3 20.9 6.3\\\"></polygon><polyline class=\\\"__1VEHdQg__cls-3 \\\" points=\\\"20.9 30.4 41.8 42.4 41.8 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1VEHdQg__cls-4 \\\" points=\\\"20.9 30.4 0 42.4 0 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1VEHdQg__cls-5 \\\" points=\\\"20.9 30.4 20.9 54.5 41.8 42.4 20.9 30.4\\\"></polyline><path class=\\\"__1VEHdQg__cls-6 \\\" d=\\\"M24.5,9.1a8.08,8.08,0,0,1,1.2-4.7,8.78,8.78,0,0,1,15.2,8.8,9.49,9.49,0,0,1-3.5,3.4L24.5,24Zm13,2.1a4.8,4.8,0,0,0-1.8-6.7A4.93,4.93,0,0,0,29,6.3a4.84,4.84,0,0,0-.7,2.6A5,5,0,0,0,30.8,13a4.84,4.84,0,0,0,4.8.1A3.9,3.9,0,0,0,37.5,11.2Z\\\"></path><path class=\\\"__1VEHdQg__cls-7 \\\" d=\\\"M274.2,48.7h4.6c.2,0,.3-.2.4-.3s.1-.2,0-.2c-.8-1.6-5.2-10.2-6.6-12.8l-.1-.3.3-.1a9.48,9.48,0,0,0,2.7-1.7,11,11,0,0,0,3.3-5.8,12.47,12.47,0,0,0,.1-4.7,10.29,10.29,0,0,0-4.1-6.7,9.75,9.75,0,0,0-5.1-1.9H253.3c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V35.8h5.7a.87.87,0,0,1,.9.5c.1.2.9,1.7,1.8,3.6,1.3,2.6,3.1,6.1,4.1,8a1.16,1.16,0,0,0,1.2.8ZM259,29.9V20h9.2a4.27,4.27,0,0,1,4.1,3.3,6.65,6.65,0,0,1-.2,4.2,3.84,3.84,0,0,1-3.6,2.5h0Z\\\"></path><path class=\\\"__1VEHdQg__cls-7 \\\" d=\\\"M104.6,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7H127c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H110.3V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H110.3V20H127c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H104.6Z\\\"></path><path class=\\\"__1VEHdQg__cls-7 \\\" d=\\\"M326.9,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h22.4c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H332.6V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H332.6V20h16.7c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H326.9Z\\\"></path><path class=\\\"__1VEHdQg__cls-7 \\\" d=\\\"M149.7,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,149.7,13.8Zm0,29.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S155.9,43.3,149.7,43.3Z\\\"></path><path class=\\\"__1VEHdQg__cls-7 \\\" d=\\\"M228.2,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,228.2,13.8Zm0,29.5C222,43.3,217,38,217,31.5s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S234.4,43.3,228.2,43.3Z\\\"></path><path class=\\\"__1VEHdQg__cls-7 \\\" d=\\\"M80.2,13.8A17.7,17.7,0,1,0,97.8,31.5V29.4c0-.6-.1-.7-.7-.7H79.6c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1H91.1l-.1.6a11.38,11.38,0,0,1-10.8,8.5C74.1,43.3,69,38,69,31.5s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A17.53,17.53,0,0,0,80.2,13.8Z\\\"></path><path class=\\\"__1VEHdQg__cls-7 \\\" d=\\\"M302.6,13.8a17.7,17.7,0,1,0,17.6,17.7V29.4c0-.6-.1-.7-.7-.7H302c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1h11.5l-.1.6a11.38,11.38,0,0,1-10.8,8.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A18.16,18.16,0,0,0,302.6,13.8Z\\\"></path><path class=\\\"__1VEHdQg__cls-7 \\\" d=\\\"M180.9,26c.1,0,.1,0,.2.1,2.2,1.4,12.7,8.3,15.6,10.2a1.25,1.25,0,0,1,.6,1.1V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7v-33c0-.6-.1-.7-.7-.7h-5c-.6,0-.7.1-.7.7V29.3L174.8,14.1a.76.76,0,0,0-.4-.1.52.52,0,0,0-.2.4V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V26Z\\\"></path><rect class=\\\"__1VEHdQg__cls-8 \\\" x=\\\"353.52\\\" y=\\\"0.02\\\" width=\\\"61.59\\\" height=\\\"22.72\\\" rx=\\\"4.67\\\"></rect><text class=\\\"__1VEHdQg__cls-9 \\\" transform=\\\"translate(363.76 19)\\\">DEV</text></svg>\"","module.exports = \"<svg id=\\\"Layer_1\\\" data-name=\\\"Layer 1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 415.11 55\\\" role=\\\"img\\\" aria-labelledby=\\\"GeonorgeNavbarTestLogoTitle\\\"><title id=\\\"GeonorgeNavbarTestLogoTitle\\\">Geonorge logo for testmiljø</title><defs><style>.__1OLSYtO__cls-1{fill:#4d4d4f;}.__1OLSYtO__cls-2{fill:#a6a8ab;}.__1OLSYtO__cls-3{fill:#bbbdbf;}.__1OLSYtO__cls-4{fill:#6d6e70;}.__1OLSYtO__cls-5{fill:#929497;}.__1OLSYtO__cls-6{fill:#fe5000;}.__1OLSYtO__cls-7{fill:#404041;}.__1OLSYtO__cls-8{fill:#36c545;}.__1OLSYtO__cls-9{font-size:21px;fill:#fff;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><title>Artboard 1</title><polygon class=\\\"__1OLSYtO__cls-1 \\\" points=\\\"20.9 30.4 20.9 54.5 0 42.4 20.9 30.4\\\"></polygon><polygon class=\\\"__1OLSYtO__cls-2 \\\" points=\\\"20.9 6.3 20.9 30.4 0 18.3 20.9 6.3\\\"></polygon><polyline class=\\\"__1OLSYtO__cls-3 \\\" points=\\\"20.9 30.4 41.8 42.4 41.8 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1OLSYtO__cls-4 \\\" points=\\\"20.9 30.4 0 42.4 0 18.3 20.9 30.4\\\"></polyline><polyline class=\\\"__1OLSYtO__cls-5 \\\" points=\\\"20.9 30.4 20.9 54.5 41.8 42.4 20.9 30.4\\\"></polyline><path class=\\\"__1OLSYtO__cls-6 \\\" d=\\\"M24.5,9.1a8.08,8.08,0,0,1,1.2-4.7,8.78,8.78,0,0,1,15.2,8.8,9.49,9.49,0,0,1-3.5,3.4L24.5,24Zm13,2.1a4.8,4.8,0,0,0-1.8-6.7A4.93,4.93,0,0,0,29,6.3a4.84,4.84,0,0,0-.7,2.6A5,5,0,0,0,30.8,13a4.84,4.84,0,0,0,4.8.1A3.9,3.9,0,0,0,37.5,11.2Z\\\"></path><path class=\\\"__1OLSYtO__cls-7 \\\" d=\\\"M274.2,48.7h4.6c.2,0,.3-.2.4-.3s.1-.2,0-.2c-.8-1.6-5.2-10.2-6.6-12.8l-.1-.3.3-.1a9.48,9.48,0,0,0,2.7-1.7,11,11,0,0,0,3.3-5.8,12.47,12.47,0,0,0,.1-4.7,10.29,10.29,0,0,0-4.1-6.7,9.75,9.75,0,0,0-5.1-1.9H253.3c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V35.8h5.7a.87.87,0,0,1,.9.5c.1.2.9,1.7,1.8,3.6,1.3,2.6,3.1,6.1,4.1,8a1.16,1.16,0,0,0,1.2.8ZM259,29.9V20h9.2a4.27,4.27,0,0,1,4.1,3.3,6.65,6.65,0,0,1-.2,4.2,3.84,3.84,0,0,1-3.6,2.5h0Z\\\"></path><path class=\\\"__1OLSYtO__cls-7 \\\" d=\\\"M104.6,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7H127c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H110.3V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H110.3V20H127c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H104.6Z\\\"></path><path class=\\\"__1OLSYtO__cls-7 \\\" d=\\\"M326.9,14.2c-.6,0-.7.1-.7.7v33c0,.6.1.7.7.7h22.4c.6,0,.7-.1.7-.7V43.6c0-.6-.1-.7-.7-.7H332.6V34.2h13.3c.6,0,.7-.1.7-.7V29.4c0-.6-.1-.7-.7-.7H332.6V20h16.7c.6,0,.7-.1.7-.7V15c0-.6-.1-.7-.7-.7H326.9Z\\\"></path><path class=\\\"__1OLSYtO__cls-7 \\\" d=\\\"M149.7,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,149.7,13.8Zm0,29.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S155.9,43.3,149.7,43.3Z\\\"></path><path class=\\\"__1OLSYtO__cls-7 \\\" d=\\\"M228.2,13.8a17.7,17.7,0,1,0,17.6,17.7A17.65,17.65,0,0,0,228.2,13.8Zm0,29.5C222,43.3,217,38,217,31.5s5-11.9,11.2-11.9,11.2,5.3,11.2,11.9S234.4,43.3,228.2,43.3Z\\\"></path><path class=\\\"__1OLSYtO__cls-7 \\\" d=\\\"M80.2,13.8A17.7,17.7,0,1,0,97.8,31.5V29.4c0-.6-.1-.7-.7-.7H79.6c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1H91.1l-.1.6a11.38,11.38,0,0,1-10.8,8.5C74.1,43.3,69,38,69,31.5s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A17.53,17.53,0,0,0,80.2,13.8Z\\\"></path><path class=\\\"__1OLSYtO__cls-7 \\\" d=\\\"M302.6,13.8a17.7,17.7,0,1,0,17.6,17.7V29.4c0-.6-.1-.7-.7-.7H302c-.6,0-.7.1-.7.7v4.1c0,.3,0,.5.1.6s.3.1.6.1h11.5l-.1.6a11.38,11.38,0,0,1-10.8,8.5c-6.2,0-11.2-5.3-11.2-11.9s5-11.9,11.2-11.9a10.91,10.91,0,0,1,7.3,2.8c.5.5.7.5,1.1,0l3.2-3.2c.5-.5.5-.6,0-1.1A18.16,18.16,0,0,0,302.6,13.8Z\\\"></path><path class=\\\"__1OLSYtO__cls-7 \\\" d=\\\"M180.9,26c.1,0,.1,0,.2.1,2.2,1.4,12.7,8.3,15.6,10.2a1.25,1.25,0,0,1,.6,1.1V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7v-33c0-.6-.1-.7-.7-.7h-5c-.6,0-.7.1-.7.7V29.3L174.8,14.1a.76.76,0,0,0-.4-.1.52.52,0,0,0-.2.4V48.1c0,.6.1.7.7.7h5c.6,0,.7-.1.7-.7V26Z\\\"></path><rect class=\\\"__1OLSYtO__cls-8 \\\" x=\\\"353.52\\\" y=\\\"0.02\\\" width=\\\"61.59\\\" height=\\\"22.72\\\" rx=\\\"4.67\\\"></rect><text class=\\\"__1OLSYtO__cls-9 \\\" transform=\\\"translate(358.52 19)\\\">TEST</text></svg>\"","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 22 22\\\" style=\\\"enable-background:new 0 0 22 22;\\\" xml:space=\\\"preserve\\\"><style type=\\\"text/css\\\"> .__158ibJ0__st0{fill:currentColor;} </style><path class=\\\"__158ibJ0__st0 \\\" d=\\\"M5.2,11.2C4.4,10.1,4,8.8,4,7.3C4,3.3,7.3,0,11.4,0s7.3,3.3,7.3,7.3c0,1.5-0.4,2.8-1.1,3.9L11.4,22L5.2,11.2z M15.5,7.3c0-2.3-1.9-4.2-4.2-4.2S7.2,5.1,7.2,7.3c0,0.8,0.2,1.5,0.7,2.2c0.7,1.1,2,2,3.5,2s2.8-0.7,3.5-2 C15.3,8.9,15.5,8.1,15.5,7.3z\\\"></path></svg>\"","module.exports = \"<svg aria-labelledby=\\\"svg-inline--fa-title-rqezCtUcjPlp\\\" data-prefix=\\\"fas\\\" data-icon=\\\"bars\\\" class=\\\"__1-Ii6EJ__svg-inline--fa __1-Ii6EJ__fa-bars __1-Ii6EJ__fa-w-14 __1-Ii6EJ__ \\\" role=\\\"img\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><title id=\\\"svg-inline--fa-title-rqezCtUcjPlp\\\">Vis meny</title><path fill=\\\"#fff\\\" d=\\\"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\\\"></path></svg>\"","module.exports = \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 34 35\\\" style=\\\"enable-background:new 0 0 34 35;\\\" xml:space=\\\"preserve\\\"><style type=\\\"text/css\\\"> .__24nL31r__st0{fill:#B0A9A2;} </style><g><path class=\\\"__24nL31r__st0 \\\" d=\\\"M23.6,22.8c2.2-2.4,3.6-5.7,3.6-9.2C27.2,6.1,21.1,0,13.6,0C6.1,0,0,6.1,0,13.6c0,7.5,6.1,13.6,13.6,13.6 c3.1,0,5.9-1,8.1-2.7l10.1,10.1c0.2,0.2,0.6,0.4,0.9,0.4c0.3,0,0.6-0.1,0.9-0.4c0.5-0.5,0.5-1.3,0-1.7L23.6,22.8z M2.5,13.6 c0-6.1,5-11.1,11.1-11.1c6.1,0,11.1,5,11.1,11.1s-5,11.1-11.1,11.1S2.5,19.7,2.5,13.6L2.5,13.6z\\\"></path></g></svg>\"","module.exports = \"<svg aria-hidden=\\\"true\\\" focusable=\\\"false\\\" data-prefix=\\\"far\\\" data-icon=\\\"trash\\\" class=\\\"__2fgqV-u__svg-inline--fa __2fgqV-u__fa-trash __2fgqV-u__fa-w-14 __2fgqV-u__ \\\" role=\\\"img\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path fill=\\\"currentColor\\\" d=\\\"M432 80h-82.4l-34-56.7A48 48 0 0 0 274.4 0H173.6a48 48 0 0 0-41.2 23.3L98.4 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16l21.2 339a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM173.6 48h100.8l19.2 32H154.4zm173.3 416H101.11l-21-336h287.8z\\\"></path></svg>\"","// Dependencies\nimport {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n\n// Assets\nimport DownloadIcon from 'assets/svg/download-icon.svg';\nimport TrashIcon from 'assets/svg/trash-icon.svg';\n\n// Functions\nimport { getDownloadItems, getDownloadItemsCount, getDownloadItemMetadata, removeDownloadItem } from 'functions/downloadItemHelpers';\nimport { getKartkatalogUrl } from 'functions/urlHelpers';\n\n\ninterface DownloadItem extends Object {\n name: string,\n organizationName: string,\n uuid: string\n}\n\ninterface DownloadItemsOptions extends CustomElementOptions {\n active?: boolean\n}\n\n@Component({\n tag: 'download-items',\n template: import('./download-items.html'),\n style: import('./download-items.scss')\n})\n\nexport class DownloadItems extends CustomElement {\n private static readonly elementSelector = 'download-items';\n private downloadButton: HTMLButtonElement;\n private downloadIcon: HTMLElement;\n private downloadIconCounter: HTMLSpanElement;\n private downloadItemListContainer: HTMLDivElement;\n private downloadItems: Array<DownloadItem>;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Prop() language: string;\n @Toggle() showList: boolean;\n @Toggle() preventRedirect: boolean;\n @Dispatch('onOpenEmptyDownloadItemsList') onOpenEmptyDownloadItemsList: DispatchEmitter;\n\n constructor() {\n super();\n this.clickOutsideDownloadItemsContainer = this.clickOutsideDownloadItemsContainer.bind(this);\n this.updateDomElements = this.updateDomElements.bind(this);\n this.getUpdatedDownloadItems = this.getUpdatedDownloadItems.bind(this);\n }\n\n setup(options?: DownloadItemsOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.downloadButton = getShadowRootElement(this, '#download-toggle-button');\n this.downloadIcon = getShadowRootElement(this, '#download-toggle-button-icon');\n this.downloadIconCounter = getShadowRootElement(this, '#download-toggle-button-counter');\n this.downloadItemListContainer = getShadowRootElement(this, '#download-item-list-container');\n\n this.getUpdatedDownloadItems();\n this.downloadIcon.innerHTML = DownloadIcon;\n this.renderDownloadItemsCounter();\n\n document.addEventListener('click', this.clickOutsideDownloadItemsContainer);\n document.addEventListener('downloadItemsChanged', this.updateDomElements);\n }\n\n updateDomElements() {\n this.getUpdatedDownloadItems();\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n }\n\n getUpdatedDownloadItems() {\n const downloadItemUuids = getDownloadItems();\n this.downloadItems = downloadItemUuids.map(uuid => {\n return getDownloadItemMetadata(uuid);\n }).filter(downloadItem => { return downloadItem });\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideDownloadItemsContainer);\n }\n\n hideListContainer = () => {\n this.showList = false;\n }\n\n clickOutsideDownloadItemsContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n if (targetElement.closest('#download-item-list-container') || targetElement.closest('#download-toggle-button')) return\n this.hideListContainer();\n }\n\n renderDownloadItemsCounter() {\n const downloadItemsCount = getDownloadItemsCount();\n if (downloadItemsCount) {\n this.downloadIconCounter.innerHTML = downloadItemsCount.toString();\n this.downloadIconCounter.classList.remove('hidden');\n this.downloadButton.setAttribute('aria-label', this.language === 'en' ? 'Show download item list' : 'Vis liste med elementer til nedlasting');\n } else {\n this.downloadIconCounter.innerHTML = '';\n this.downloadIconCounter.classList.add('hidden');\n this.downloadButton.setAttribute('aria-label', this.language === 'en' ? 'Go to download page' : 'Gå til nedlastingsside');\n }\n }\n\n renderDownloadItems = (downloadItems: Array<DownloadItem>) => {\n const downloadItemsListElement = downloadItems.map((downloadItem: DownloadItem) => {\n if (downloadItem) {\n const downloadItemElement = document.createElement('span');\n downloadItemElement.innerText = downloadItem.name;\n\n const removeDownloadItemElement = document.createElement('button');\n removeDownloadItemElement.classList.add('list-icon');\n removeDownloadItemElement.innerHTML = TrashIcon;\n removeDownloadItemElement.dataset['downloadItem'] = JSON.stringify(downloadItem);\n removeDownloadItemElement.setAttribute('aria-label', this.language === 'en' ? `Remove ${downloadItem.name} from downloads` : `Fjern ${downloadItem.name} fra kurv`);\n downloadItemElement.appendChild(removeDownloadItemElement);\n\n return `<li>${downloadItemElement.innerHTML}</li>`;\n } else return null;\n }).filter(downloadItem => { return downloadItem }).join('');\n\n let downloadItemLinkElement;\n if (this.preventRedirect) {\n downloadItemLinkElement = document.createElement('span');\n downloadItemLinkElement.addEventListener(\"click\", () => {\n this.onOpenEmptyDownloadItemsList.emit();\n });\n } else {\n downloadItemLinkElement = document.createElement('a');\n downloadItemLinkElement.href = `${getKartkatalogUrl(this.environment)}/nedlasting`;\n }\n downloadItemLinkElement.innerText = this.language === 'en' ? 'Go to download' : 'Til nedlasting';\n downloadItemLinkElement.classList.add('page-link-element');\n this.downloadItemListContainer.innerHTML = `<ul>${downloadItemsListElement}</ul>`;\n this.downloadItemListContainer.prepend(downloadItemLinkElement);\n }\n\n @Listen('click', '#download-toggle-button')\n buttonClicked(event: MouseEvent) {\n if (this.downloadItems && this.downloadItems.length) {\n this.showList = !this.showList;\n } else {\n this.showList = false;\n if (this.preventRedirect) {\n this.onOpenEmptyDownloadItemsList.emit();\n } else {\n window.location.href = `${getKartkatalogUrl(this.environment)}/nedlasting`\n }\n }\n }\n\n @Listen('click', '#download-item-list-container')\n removeDownloadItemClicked(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n targetElement.closest('#menu-container');\n const removeDownloadItemButtonElement = targetElement.closest('button');\n\n if (removeDownloadItemButtonElement) {\n const downloadItem = removeDownloadItemButtonElement.dataset && removeDownloadItemButtonElement.dataset.downloadItem ? JSON.parse(removeDownloadItemButtonElement.dataset.downloadItem) : null;\n if (downloadItem) {\n event.stopPropagation();\n removeDownloadItem(downloadItem);\n this.getUpdatedDownloadItems();\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n if (!this.downloadItems || !this.downloadItems.length) {\n this.showList = false;\n }\n }\n }\n }\n\n @Watch('showlist')\n showMenuChanged() {\n this.showList ? this.downloadItemListContainer.classList.add('open') : this.downloadItemListContainer.classList.remove('open');\n this.showList ? this.downloadButton.classList.add('open') : this.downloadButton.classList.remove('open');\n }\n\n @Watch('downloadItems')\n downloadItemsChanged() {\n if (this.downloadItems && this.downloadItems.length) {\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n }\n }\n\n @Watch('language')\n languageChanged() {\n if (this.downloadItems && this.downloadItems.length) {\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n }\n }\n\n @Watch('preventredirect')\n preventRedirectChanged() {\n if (this.downloadItems && this.downloadItems.length) {\n this.renderDownloadItems(this.downloadItems);\n this.renderDownloadItemsCounter();\n }\n }\n\n public static setup(selector: string, options: DownloadItemsOptions) {\n const element = getElement<DownloadItems>(selector);\n if (options.active) {\n element.showList = options.active;\n }\n }\n}\n","// Dependencies\nimport {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n\n// Assets\nimport MenuIcon from 'assets/svg/menu-icon.svg';\nimport CloseIcon from 'assets/svg/close-icon.svg';\n\n// Functions\nimport { fetchMenuItems } from 'functions/apiHelpers';\n\ninterface MainMenuOptions extends CustomElementOptions {\n active?: boolean,\n onClick?: () => void,\n onSignInClick?: () => void,\n onSignOutClick?: () => void,\n onNorwegianLanguageSelect?: () => void,\n onEnglishLanguageSelect?: () => void\n}\n\ninterface MenuItem extends Object {\n Name: string,\n SubMenuItem: Array<MenuItem>,\n Url: string\n}\n\n@Component({\n tag: 'main-menu',\n template: import('./main-menu.html'),\n style: import('./main-menu.scss')\n})\n\nexport class MainMenu extends CustomElement {\n private static readonly elementSelector = 'main-menu';\n private menuButton: HTMLButtonElement;\n private menuTitle: HTMLSpanElement;\n private menuIcon: HTMLSpanElement;\n private closeIcon: HTMLSpanElement;\n private menuContainer: HTMLElement;\n private menuItemListContainer: HTMLElement;\n private menuActionsRow: HTMLElement;\n\n @Prop() id: string;\n @Prop() language: string;\n @Prop() environment: string;\n @Prop() signinurl: string;\n @Prop() signouturl: string;\n @Prop() norwegianurl: string;\n @Prop() englishurl: string;\n @Toggle() isloggedin: boolean;\n @Toggle() showmenu: boolean;\n @Toggle() hasAuthenticationFunction: boolean;\n @Toggle() hasLanguageSelectFunctions: boolean;\n @Prop() menuitems: Array<MenuItem>;\n @Dispatch('onSignInClick') onSignInClick: DispatchEmitter;\n @Dispatch('onSignOutClick') onSignOutClick: DispatchEmitter;\n @Dispatch('onNorwegianLanguageSelect') onNorwegianLanguageSelect: DispatchEmitter;\n @Dispatch('onEnglishLanguageSelect') onEnglishLanguageSelect: DispatchEmitter;\n\n\n constructor() {\n super();\n this.clickOutsideMenuContainer = this.clickOutsideMenuContainer.bind(this);\n }\n\n setup(options?: MainMenuOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.menuButton = getShadowRootElement(this, '#menu-toggle-button');\n this.menuTitle = getShadowRootElement(this, '#menu-title');\n this.menuIcon = getShadowRootElement(this, '#menu-icon');\n this.closeIcon = getShadowRootElement(this, '#close-icon');\n this.menuContainer = getShadowRootElement(this, '#menu-container');\n this.menuItemListContainer = getShadowRootElement(this, '#menu-item-list-container');\n this.menuActionsRow = getShadowRootElement(this, '#menu-actions-row');\n this.menuIcon.innerHTML = MenuIcon;\n this.closeIcon.innerHTML = CloseIcon;\n\n this.showmenu ? this.menuIcon.classList.add('hidden') : this.closeIcon.classList.add('hidden');\n\n fetchMenuItems(this.language, this.environment).then(menuItems => {\n this.menuitems = menuItems;\n });\n\n this.menuButton.setAttribute('aria-label', this.language === 'en' ? 'Show menu' : 'Vis meny');\n\n if (this.menuTitle) {\n this.menuTitle.innerText = this.language === 'en' ? 'Menu' : 'Meny';\n }\n\n const hasAuthenticationUrls = this.signinurl && this.signouturl;\n if (hasAuthenticationUrls) {\n this.addAuthenticationLinks();\n }\n\n const supportsLanguages = this.englishurl && this.norwegianurl;\n if (supportsLanguages) {\n this.addLanguageSelectLinks();\n\n }\n document.addEventListener('click', this.clickOutsideMenuContainer);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideMenuContainer);\n }\n\n hideMenuContainer = () => {\n this.showmenu = false;\n }\n\n\n clickOutsideMenuContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n targetElement.closest('#menu-container');\n if (targetElement.closest('#menu-container') || targetElement.closest('#menu-toggle-button')) return\n this.hideMenuContainer();\n }\n\n renderMenuItems = (menuItems: Array<MenuItem>, hierarchyLevel: number = 0, maxHierarchyLevel: number = 1) => {\n const menuItemsListElement = menuItems.map((menuItem: MenuItem) => {\n const subItems = menuItem.SubMenuItem && menuItem.SubMenuItem.length ? menuItem.SubMenuItem : null;\n const menuItemElement = `<a href=\"${menuItem.Url}\">${menuItem.Name}</a>`;\n const subItemElements = subItems && hierarchyLevel + 1 <= maxHierarchyLevel ? this.renderMenuItems(subItems, hierarchyLevel + 1, maxHierarchyLevel) : '';\n return `<li>${menuItemElement}${subItemElements}</li>`;\n }).join('');\n return `<ul class=\"menuItemList hierarchy-level-${hierarchyLevel}\">${menuItemsListElement}</ul>`;\n }\n\n addAuthenticationLinks(hasAuthenticationFunction = false) {\n let loginToggleElement;\n const hasAuthenticationLinks = this.signouturl && this.signinurl;\n\n if (!hasAuthenticationLinks && !hasAuthenticationFunction) {\n return '';\n }\n\n if (hasAuthenticationFunction) {\n loginToggleElement = document.createElement(\"span\");\n loginToggleElement.addEventListener(\"click\", () => {\n this.isloggedin ? this.onSignOutClick.emit() : this.onSignInClick.emit();\n });\n } else {\n loginToggleElement = document.createElement(\"a\");\n loginToggleElement.href = this.isloggedin ? this.signouturl : this.signinurl;\n }\n const logInString = this.language === 'en' ? 'Log in' : 'Logg inn';\n const logOutString = this.language === 'en' ? 'Log out' : 'Logg ut';\n loginToggleElement.innerText = this.isloggedin ? logOutString : logInString\n loginToggleElement.id = 'authentication-toggle-element';\n\n // Remove previously added login toggle element if exists\n for (const childElement of this.menuActionsRow.children) {\n if (childElement.getAttribute('id') === loginToggleElement.id) {\n childElement.remove()\n }\n }\n\n // Add login toggle element\n this.menuActionsRow.appendChild(loginToggleElement);\n }\n\n addLanguageSelectLinks(hasLanguageSelectFunctions = false) {\n let languageToggleElement;\n const hasLanguageSelectLinks = this.norwegianurl && this.englishurl;\n\n if (!hasLanguageSelectLinks && !hasLanguageSelectFunctions) {\n return '';\n }\n\n if (hasLanguageSelectFunctions) {\n languageToggleElement = document.createElement(\"span\");\n languageToggleElement.addEventListener(\"click\", () => {\n this.language === 'en' ? this.onNorwegianLanguageSelect.emit() : this.onEnglishLanguageSelect.emit();\n });\n } else {\n languageToggleElement = document.createElement(\"a\");\n languageToggleElement.href = this.language === 'en' ? this.norwegianurl : this.englishurl;\n }\n\n languageToggleElement.innerText = this.language === 'en' ? 'Norsk' : 'English';\n languageToggleElement.id = 'language-toggle-element';\n\n // Remove previously added language toggle element if exists\n for (const childElement of this.menuActionsRow.children) {\n if (childElement.getAttribute('id') === languageToggleElement.id) {\n childElement.remove()\n }\n }\n\n // Add language toggle element\n this.menuActionsRow.appendChild(languageToggleElement);\n }\n\n @Listen('click', '#menu-toggle-button')\n buttonClicked(event: MouseEvent) {\n this.showmenu = !this.showmenu;\n }\n\n @Watch('hasauthenticationfunction')\n hasAuthenticationFunctionChanged() {\n if (this.hasAuthenticationFunction) {\n this.addAuthenticationLinks(true);\n }\n }\n\n @Watch('isloggedin')\n isLoggedInChanged() {\n this.addAuthenticationLinks(this.hasAuthenticationFunction);\n }\n\n @Watch('haslanguageselectfunctions')\n hasLanguageSelectFunctionsChanged() {\n if (this.hasLanguageSelectFunctions) {\n this.addLanguageSelectLinks(true);\n }\n }\n\n @Watch('language')\n languageChanged() {\n this.addAuthenticationLinks(this.hasAuthenticationFunction);\n this.addLanguageSelectLinks(this.hasLanguageSelectFunctions);\n fetchMenuItems(this.language, this.environment).then(menuItems => {\n this.menuitems = menuItems;\n });\n if (this.menuTitle) {\n this.menuTitle.innerText = this.language === 'en' ? 'Menu' : 'Meny';\n }\n this.menuButton.setAttribute('aria-label', this.language === 'en' ? 'Show menu' : 'Vis meny');\n }\n\n @Watch('showmenu')\n showMenuChanged() {\n this.showmenu ? this.menuContainer.classList.add('open') : this.menuContainer.classList.remove('open');\n this.showmenu ? this.menuButton.classList.add('open') : this.menuButton.classList.remove('open');\n this.showmenu ? this.menuItemListContainer.classList.add('open') : this.menuItemListContainer.classList.remove('open');\n this.showmenu ? this.menuActionsRow.classList.add('open') : this.menuActionsRow.classList.remove('open');\n this.showmenu ? this.menuIcon.classList.add('hidden') : this.menuIcon.classList.remove('hidden');\n this.showmenu ? this.closeIcon.classList.remove('hidden') : this.closeIcon.classList.add('hidden');\n }\n\n @Watch('menuitems')\n menuItemsChanged() {\n if (this.menuitems && this.menuitems.length) {\n this.menuItemListContainer.innerHTML = this.renderMenuItems(this.menuitems);\n }\n }\n\n public static setup(selector: string, options: MainMenuOptions) {\n const element = getElement<MainMenu>(selector);\n\n if (options.onClick) {\n element.addEventListener('menuButtonClick', options.onClick);\n }\n if (options.active) {\n element.showmenu = options.active;\n }\n }\n}\n","// Dependencies\nimport {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n// Components\nimport { MainSearchField } from 'custom-elements/main-navigation/main-search-field/main-search-field';\nimport { SearchTypeSelector } from 'custom-elements/main-navigation/search-type-selector/search-type-selector';\nimport { DownloadItems } from 'custom-elements/main-navigation/download-items/download-items';\nimport { MapItems } from 'custom-elements/main-navigation/map-items/map-items';\nimport { MainMenu } from 'custom-elements/main-navigation/main-menu/main-menu';\n\n// Assets\nimport GeonorgeLogo from 'assets/svg/geonorge-navbar-logo.svg';\nimport GeonorgeLogoTest from 'assets/svg/geonorge-navbar-logo_test.svg';\nimport GeonorgeLogoDev from 'assets/svg/geonorge-navbar-logo_dev.svg';\n\n// Functions\nimport { getGeonorgeUrl } from 'functions/urlHelpers';\nimport { getLanguage } from 'functions/cookieHelpers';\n\n\n\ninterface MainNavigationOptions extends CustomElementOptions {\n active?: boolean,\n onClick?: () => void,\n onSearch?: () => void,\n onOpenEmptyMapItemsList?: () => void,\n onOpenEmptyDownloadItemsList?: () => void,\n onSearchTypeChange?: () => void,\n onSignInClick?: () => void,\n onSignOutClick?: () => void,\n onNorwegianLanguageSelect?: () => void,\n onEnglishLanguageSelect?: () => void\n}\n\ninterface MenuItem extends Object {\n Name: string,\n SubMenuItem: Array<MenuItem>,\n Url: string\n}\n\n@Component({\n tag: 'main-navigation',\n template: import('./main-navigation.html'),\n style: import('./main-navigation.scss')\n})\n\nexport class MainNavigation extends CustomElement {\n private static readonly elementSelector = 'main-navigation';\n private searchField: HTMLInputElement;\n private searchTypeSelector: HTMLElement;\n private logoElement: HTMLAnchorElement;\n private mainMenu: HTMLElement;\n private mapItemsElement: HTMLElement;\n private downloadItemsElement: HTMLElement;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Prop() language: string;\n @Prop() searchstring: string;\n @Prop() searchtype: string;\n @Prop() metadataresultsfound: string;\n @Prop() articlesresultsfound: string;\n @Prop() signinurl: string;\n @Prop() signouturl: string;\n @Prop() englishurl: string;\n @Prop() norwegianurl: string;\n @Toggle() isloggedin: boolean;\n @Toggle() showmenu: boolean;\n @Toggle() showSearchTypeSelector: boolean;\n @Toggle() staticposition: boolean;\n @Toggle() noshadow: boolean;\n @Dispatch('onSearch') onSearch: DispatchEmitter;\n @Dispatch('onSearchTypeChange') onSearchTypeChange: DispatchEmitter;\n @Dispatch('onSignInClick') onSignInClick: DispatchEmitter;\n @Dispatch('onSignOutClick') onSignOutClick: DispatchEmitter;\n @Dispatch('onNorwegianLanguageSelect') onNorwegianLanguageSelect: DispatchEmitter;\n @Dispatch('onEnglishLanguageSelect') onEnglishLanguageSelect: DispatchEmitter;\n\n constructor() {\n super();\n }\n\n setup(options?: MainNavigationOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n getGeonorgeLogoVariant(environment: string) {\n switch (environment) {\n case 'dev':\n return GeonorgeLogoDev\n case 'test':\n return GeonorgeLogoTest\n default:\n return GeonorgeLogo\n }\n }\n\n connectedCallback() {\n this.logoElement = getShadowRootElement(this, '#main-navigation-logo');\n this.searchField = getShadowRootElement(this, 'main-search-field');\n this.mainMenu = getShadowRootElement(this, '#main-menu');\n this.mapItemsElement = getShadowRootElement(this, '#map-items');\n this.downloadItemsElement = getShadowRootElement(this, '#download-items');\n\n if (this.searchField) {\n this.searchField.setAttribute('searchstring', this.searchstring && this.searchstring.length ? this.searchstring : '');\n this.searchField.setAttribute('environment', this.environment);\n this.searchField.setAttribute('language', this.language);\n }\n\n this.mapItemsElement.setAttribute('environment', this.environment);\n this.mapItemsElement.setAttribute('language', this.language);\n\n this.downloadItemsElement.setAttribute('environment', this.environment);\n this.downloadItemsElement.setAttribute('language', this.language);\n\n this.logoElement.innerHTML = this.getGeonorgeLogoVariant(this.environment);\n this.logoElement.href = getGeonorgeUrl(this.language, this.environment);\n\n\n if (this.staticposition) {\n getShadowRootElement(this, '#main-navigation').classList.add('static-position');\n getShadowRootElement(this, 'main-menu').setAttribute('staticposition', '');\n }\n\n if (this.noshadow) {\n getShadowRootElement(this, '#main-navigation').classList.add('no-shadow');\n }\n\n // Pass properties\n const language = this.language ? this.language : getLanguage();\n if (language) { this.mainMenu.setAttribute('language', language); }\n if (this.environment) { this.mainMenu.setAttribute('environment', this.environment); }\n if (this.englishurl) { this.mainMenu.setAttribute('englishurl', this.englishurl); }\n if (this.norwegianurl) { this.mainMenu.setAttribute('norwegianurl', this.norwegianurl); }\n if (this.signinurl) { this.mainMenu.setAttribute('signinurl', this.signinurl); }\n if (this.signouturl) { this.mainMenu.setAttribute('signouturl', this.signouturl); }\n if (this.isloggedin) { this.mainMenu.setAttribute('isLoggedIn', ''); }\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector = document.createElement('search-type-selector');\n if (this.metadataresultsfound) { this.searchTypeSelector.setAttribute('metadataresultsfound', this.metadataresultsfound); }\n if (this.articlesresultsfound) { this.searchTypeSelector.setAttribute('articlesresultsfound', this.articlesresultsfound); }\n if (this.searchtype) { this.searchTypeSelector.setAttribute('searchtype', this.searchtype); }\n if (language) { this.searchTypeSelector.setAttribute('language', language); }\n this.searchField.parentNode.insertBefore(this.searchTypeSelector, this.searchField.nextSibling);\n const searchTypeSelector = new SearchTypeSelector();\n }\n\n\n const mapItems = new MapItems();\n const downloadItemsElement = new DownloadItems();\n const mainSearchField = new MainSearchField();\n const mainMenu = new MainMenu();\n\n }\n\n @Watch('isloggedin')\n isLoggedInChanged() {\n if (this.isloggedin) {\n this.mainMenu.setAttribute('isLoggedIn', '');\n }\n }\n\n @Watch('language')\n languageChanged() {\n this.mainMenu.setAttribute('language', this.language);\n this.mapItemsElement.setAttribute('language', this.language);\n this.downloadItemsElement.setAttribute('language', this.language);\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector.setAttribute('language', this.language);\n }\n if (this.searchField) {\n this.searchField.setAttribute('language', this.language);\n }\n }\n\n @Watch('metadataresultsfound')\n metadataResultsFoundChanged() {\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector.setAttribute('metadataresultsfound', this.metadataresultsfound);\n }\n }\n\n @Watch('articlesresultsfound')\n articlesResultsFoundChanged() {\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector.setAttribute('articlesresultsfound', this.articlesresultsfound);\n }\n }\n\n @Watch('searchtype')\n searchTypeChanged() {\n if (this.showSearchTypeSelector) {\n this.searchTypeSelector.setAttribute('searchtype', this.searchtype);\n }\n }\n\n @Watch('searchstring')\n searchStringChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('searchstring', this.searchstring && this.searchstring.length ? this.searchstring : '');\n }\n }\n\n public static setup(selector: string, options: MainNavigationOptions) {\n const element = getElement<MainNavigation>(selector);\n if (options.onSearch) {\n setTimeout(() => {\n const mainSearchField = getShadowRootElement<MainSearchField>(element, 'main-search-field');\n mainSearchField.addEventListener('onSearch', options.onSearch);\n mainSearchField.setAttribute('preventRedirect', '');\n })\n }\n if (options.onOpenEmptyMapItemsList) {\n setTimeout(() => {\n const mapItemsElement = getShadowRootElement<MapItems>(element, 'map-items');\n mapItemsElement.addEventListener('onOpenEmptyMapItemsList', options.onOpenEmptyMapItemsList);\n mapItemsElement.setAttribute('preventRedirect', '');\n })\n }\n if (options.onOpenEmptyDownloadItemsList) {\n setTimeout(() => {\n const downloadItemsElement = getShadowRootElement<DownloadItems>(element, 'download-items');\n downloadItemsElement.addEventListener('onOpenEmptyDownloadItemsList', options.onOpenEmptyDownloadItemsList);\n downloadItemsElement.setAttribute('preventRedirect', '');\n })\n }\n if (options.onSearchTypeChange) {\n setTimeout(() => {\n const searchTypeSelector = getShadowRootElement<SearchTypeSelector>(element, 'search-type-selector');\n searchTypeSelector.addEventListener('onSearchTypeChange', options.onSearchTypeChange);\n })\n }\n if (options.onSignInClick && options.onSignOutClick) {\n setTimeout(() => {\n const mainMenu = getShadowRootElement<MainMenu>(element, 'main-menu');\n mainMenu.setAttribute('hasAuthenticationFunction', '');\n mainMenu.addEventListener('onSignInClick', options.onSignInClick);\n mainMenu.addEventListener('onSignOutClick', options.onSignOutClick);\n })\n }\n if (options.onNorwegianLanguageSelect) {\n setTimeout(() => {\n const mainMenu = getShadowRootElement<MainMenu>(element, 'main-menu');\n mainMenu.setAttribute('hasLanguageSelectFunctions', '');\n mainMenu.addEventListener('onNorwegianLanguageSelect', options.onNorwegianLanguageSelect);\n })\n }\n if (options.onEnglishLanguageSelect) {\n setTimeout(() => {\n const mainMenu = getShadowRootElement<MainMenu>(element, 'main-menu');\n mainMenu.setAttribute('hasLanguageSelectFunctions', '');\n mainMenu.addEventListener('onEnglishLanguageSelect', options.onEnglishLanguageSelect);\n })\n }\n }\n}\n","import {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n// Interfaces\nimport { SearchResultsForType, SearchResultsResponseForType } from 'interfaces/search';\n\n// Functions\nimport { fetchDropdownSearchResults } from 'functions/apiHelpers';\nimport { renderDropdownResultLink, getKartkatalogUrl } from 'functions/urlHelpers';\n\n// Assets\nimport SearchIcon from 'assets/svg/search-icon.svg';\n\ninterface MainSearchFieldOptions extends CustomElementOptions {\n active?: boolean,\n value?: string,\n onSearchStringChange?: () => void,\n onClick?: () => void,\n onSearch?: () => void\n}\n\n@Component({\n tag: 'main-search-field',\n template: import('./main-search-field.html'),\n style: import('./main-search-field.scss')\n})\n\nexport class MainSearchField extends CustomElement {\n private static readonly elementSelector = 'main-search-field';\n private searchField: HTMLInputElement;\n private searchFieldLabel: HTMLInputElement;\n private searchButton: HTMLInputElement;\n private searchResultsContainer: HTMLInputElement;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Toggle() showSearchResults: boolean;\n @Toggle() preventRedirect: boolean;\n @Prop() searchstring: string = '';\n @Prop() language: string;\n @Prop() searchResultsResponses: Array<SearchResultsResponseForType>;\n @Dispatch('searchResultsChanged') onTextChanged: DispatchEmitter;\n @Dispatch('onSearchStringChange') onSearchStringChange: DispatchEmitter;\n @Dispatch('onSearch') onSearch: DispatchEmitter;\n\n constructor() {\n super();\n this.clickOutsideSearchResultsContainer = this.clickOutsideSearchResultsContainer.bind(this);\n }\n\n setup(options?: MainSearchFieldOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.searchField = getShadowRootElement(this, '#main-search-input');\n this.searchFieldLabel = getShadowRootElement(this, '#main-search-input-label');\n this.searchButton = getShadowRootElement(this, '#search-submit-button');\n\n this.searchFieldLabel.innerHTML = this.language === 'en' ? 'Search' : 'Søk';\n\n this.searchButton.innerHTML = SearchIcon;\n\n this.searchResultsContainer = getShadowRootElement(this, '#search-results-container');\n this.searchResultsContainer.style.maxHeight = `${window.innerHeight - 61}px`;\n if (this.searchField && this.searchstring) {\n this.searchField.setAttribute('value', this.searchstring);\n }\n document.addEventListener('click', this.clickOutsideSearchResultsContainer);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideSearchResultsContainer);\n }\n\n renderSearchResultsForType = (searchResultsResponseForType: SearchResultsResponseForType) => {\n const searchResultsTypeName = searchResultsResponseForType.Results[0].TypeTranslated;\n const searchResultsType = searchResultsResponseForType.searchResultsType;\n const searchResultsListElements = searchResultsResponseForType.Results.map((searchResult: SearchResultsForType) => {\n return `<li>${renderDropdownResultLink(searchResult, searchResultsType, this.searchstring, this.environment)}</li>`;\n }).join('');\n\n const searchResultsTypeLink = searchResultsType === 'articles'\n ? `${getKartkatalogUrl(this.environment)}/articles?text=${this.searchstring}`\n : `${getKartkatalogUrl(this.environment)}/metadata?text=${this.searchstring}&type=${searchResultsType}`;\n\n return `\n <div class=\"search-results-for-type\">\n <a href=\"${searchResultsTypeLink}\" class=\"search-results-for-type-title\">\n ${searchResultsTypeName}\n <span class=\"search-results-for-type-number-badge\">\n ${searchResultsResponseForType.NumFound}\n </span>\n </a>\n <ul class=\"search-results-for-type-list\">\n ${searchResultsListElements}\n </ul>\n </div>`;\n }\n\n renderSearchResults = (searchResultsResponses: Array<SearchResultsResponseForType>) => {\n const searchResultsListElements = searchResultsResponses.map((searchResultsResponseForType: SearchResultsResponseForType) => {\n return this.renderSearchResultsForType(searchResultsResponseForType);\n }).join('');\n return `<div>${searchResultsListElements}</div>`;\n }\n\n hideSearchResultsContainer = () => {\n this.showSearchResults = false;\n }\n\n clickOutsideSearchResultsContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n if (targetElement.closest('#search-results-container') || targetElement.closest('#main-search-input')) {\n const closestLink = targetElement.closest('a');\n if (closestLink?.href?.length) {\n this.hideSearchResultsContainer();\n }\n return\n }\n this.hideSearchResultsContainer();\n }\n\n submitSearch() {\n this.hideSearchResultsContainer();\n if (this.preventRedirect) {\n this.onSearch.emit({\n detail: {\n searchString: this.searchstring\n }\n });\n } else {\n window.location.href = `${getKartkatalogUrl(this.environment)}/metadata?text=${this.searchstring}`\n }\n\n }\n\n @Listen('keyup', 'input')\n searchFieldKeyUp(event: KeyboardEvent) {\n if (event.key && event.key === 'Enter' && this.searchstring?.toString().length) {\n this.submitSearch()\n } else {\n this.searchstring = this.searchField?.value?.toString() || '';\n }\n }\n\n @Listen('click', '#search-submit-button')\n onSearchSubmitted(event: MouseEvent) {\n this.submitSearch();\n }\n\n\n @Watch('searchstring')\n searchStringChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('value', this.searchstring)\n }\n fetchDropdownSearchResults(this.searchstring, this.language, this.environment).then(searchResultsResponses => {\n this.searchResultsResponses = searchResultsResponses;\n });\n }\n\n @Watch('language')\n languageChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('aria-label', this.language === 'en' ? 'Enter your search query' : 'Skriv inn det du vil søke etter');\n }\n if (this.searchFieldLabel) {\n this.searchFieldLabel.innerText = this.language === 'en' ? 'Search' : 'Søk';\n }\n if (this.searchButton) {\n this.searchButton.setAttribute('aria-label', this.language === 'en' ? 'Search' : 'Søk');\n }\n }\n\n\n @Watch('showsearchresults')\n showSearchResultsChanged() {\n this.showSearchResults ? this.searchResultsContainer.classList.add('open') : this.searchResultsContainer.classList.remove('open');\n }\n\n @Watch('searchResultsResponses')\n searchResultsResponseChanged() {\n const searchResults = this.searchResultsResponses && this.searchResultsResponses.length ? this.searchResultsResponses.filter(searchResultsResponseForType => {\n return searchResultsResponseForType.NumFound > 0\n }) : [];\n this.searchResultsContainer.innerHTML = searchResults.length ? this.renderSearchResults(searchResults) : '';\n this.showSearchResults = searchResults.length ? true : false;\n }\n\n public static setup(selector: string, options: MainSearchFieldOptions) {\n const element = getElement<MainSearchField>(selector);\n\n if (options.onClick) {\n element.addEventListener('searchButtonClick', options.onClick);\n }\n if (options.active) {\n element.showSearchResults = options.active;\n }\n }\n}\n","// Dependencies\nimport {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n\n// Assets\nimport MapIcon from 'assets/svg/map-icon.svg';\nimport TrashIcon from 'assets/svg/trash-icon.svg';\n\n// Functions\nimport { getMapItems, getMapItemsCount, removeMapItem } from 'functions/mapItemHelpers';\nimport { getKartkatalogUrl } from 'functions/urlHelpers';\n\ninterface MapItem extends Object {\n Title: string,\n Uuid: string\n}\n\ninterface MapItemsOptions extends CustomElementOptions {\n active?: boolean\n}\n\n@Component({\n tag: 'map-items',\n template: import('./map-items.html'),\n style: import('./map-items.scss')\n})\n\nexport class MapItems extends CustomElement {\n private static readonly elementSelector = 'map-items';\n private mapButton: HTMLButtonElement;\n private mapIcon: HTMLElement;\n private mapIconCounter: HTMLSpanElement;\n private mapItemListContainer: HTMLDivElement;\n private mapItems: Array<MapItem>;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Prop() language: string;\n @Toggle() showList: boolean;\n @Toggle() preventRedirect: boolean;\n @Dispatch('onOpenEmptyMapItemsList') onOpenEmptyMapItemsList: DispatchEmitter;\n\n constructor() {\n super();\n this.clickOutsideMapItemsContainer = this.clickOutsideMapItemsContainer.bind(this);\n this.updateDomElements = this.updateDomElements.bind(this);\n this.getUpdatedMapItems = this.getUpdatedMapItems.bind(this);\n }\n\n setup(options?: MapItemsOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.mapButton = getShadowRootElement(this, '#map-toggle-button');\n this.mapIcon = getShadowRootElement(this, '#map-toggle-button-icon');\n this.mapIconCounter = getShadowRootElement(this, '#map-toggle-button-counter');\n this.mapItemListContainer = getShadowRootElement(this, '#map-item-list-container');\n\n this.getUpdatedMapItems();\n this.mapIcon.innerHTML = MapIcon;\n this.renderMapItemsCounter();\n\n document.addEventListener('click', this.clickOutsideMapItemsContainer);\n document.addEventListener('mapItemsChanged', this.updateDomElements);\n }\n\n updateDomElements() {\n this.getUpdatedMapItems();\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n }\n\n getUpdatedMapItems() {\n this.mapItems = getMapItems();\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideMapItemsContainer);\n }\n\n hideListContainer = () => {\n this.showList = false;\n }\n\n clickOutsideMapItemsContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n if (targetElement.closest('#map-item-list-container') || targetElement.closest('#map-toggle-button')) return\n this.hideListContainer();\n }\n\n renderMapItemsCounter() {\n const mapItemsCount = getMapItemsCount();\n if (mapItemsCount) {\n this.mapIconCounter.innerHTML = mapItemsCount.toString();\n this.mapIconCounter.classList.remove('hidden');\n this.mapButton.setAttribute('aria-label', this.language === 'en' ? 'Show map item list' : 'Vis liste med elementer lagt til i kart');\n\n } else {\n this.mapIconCounter.innerHTML = '';\n this.mapIconCounter.classList.add('hidden');\n this.mapButton.setAttribute('aria-label', this.language === 'en' ? 'Show map' : 'Vis kart');\n }\n }\n\n renderMapItems = (mapItems: Array<MapItem>) => {\n const mapItemsListElement = mapItems.map((mapItem: MapItem) => {\n if (mapItem) {\n const mapItemElement = document.createElement('span');\n mapItemElement.innerText = mapItem.Title;\n\n const removeMapItemElement = document.createElement('button');\n removeMapItemElement.classList.add('list-icon');\n removeMapItemElement.innerHTML = TrashIcon;\n removeMapItemElement.dataset['mapItem'] = JSON.stringify(mapItem);\n removeMapItemElement.setAttribute('aria-label', this.language === 'en' ? `Remove ${mapItem.Title} from map` : `Fjern ${mapItem.Title} fra kart`);\n mapItemElement.appendChild(removeMapItemElement);\n\n return `<li>${mapItemElement.innerHTML}</li>`;\n } else return null;\n }).filter(mapItem => { return mapItem }).join('');\n let mapItemLinkElement;\n if (this.preventRedirect) {\n mapItemLinkElement = document.createElement('span');\n mapItemLinkElement.addEventListener(\"click\", () => {\n this.onOpenEmptyMapItemsList.emit();\n });\n } else {\n mapItemLinkElement = document.createElement('a');\n mapItemLinkElement.href = `${getKartkatalogUrl(this.environment)}/kart`;\n }\n mapItemLinkElement.innerText = this.language === 'en' ? 'Show map' : 'Vis kart';\n mapItemLinkElement.classList.add('page-link-element');\n this.mapItemListContainer.innerHTML = `<ul>${mapItemsListElement}</ul>`;\n this.mapItemListContainer.prepend(mapItemLinkElement);\n }\n\n @Listen('click', '#map-toggle-button')\n buttonClicked(event: MouseEvent) {\n\n if (this.mapItems && this.mapItems.length) {\n this.showList = !this.showList;\n } else {\n this.showList = false;\n if (this.preventRedirect) {\n this.onOpenEmptyMapItemsList.emit();\n } else {\n window.location.href = `${getKartkatalogUrl(this.environment)}/kart`\n }\n }\n }\n\n @Listen('click', '#map-item-list-container')\n removeMapItemClicked(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n targetElement.closest('#menu-container');\n const removeMapItemButtonElement = targetElement.closest('button');\n\n if (removeMapItemButtonElement) {\n const mapItem = removeMapItemButtonElement.dataset && removeMapItemButtonElement.dataset.mapItem ? JSON.parse(removeMapItemButtonElement.dataset.mapItem) : null;\n if (mapItem) {\n event.stopPropagation();\n removeMapItem(mapItem);\n this.getUpdatedMapItems();\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n if (!this.mapItems || !this.mapItems.length) {\n this.showList = false;\n }\n }\n }\n }\n\n @Watch('showlist')\n showMenuChanged() {\n this.showList ? this.mapItemListContainer.classList.add('open') : this.mapItemListContainer.classList.remove('open');\n this.showList ? this.mapButton.classList.add('open') : this.mapButton.classList.remove('open');\n }\n\n @Watch('mapItems')\n mapItemsChanged() {\n if (this.mapItems && this.mapItems.length) {\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n }\n }\n\n @Watch('language')\n languageChanged() {\n if (this.mapItems && this.mapItems.length) {\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n }\n }\n\n @Watch('preventredirect')\n preventRedirectChanged() {\n if (this.mapItems && this.mapItems.length) {\n this.renderMapItems(this.mapItems);\n this.renderMapItemsCounter();\n }\n }\n\n public static setup(selector: string, options: MapItemsOptions) {\n const element = getElement<MapItems>(selector);\n if (options.active) {\n element.showList = options.active;\n }\n }\n}\n","import {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n\ninterface SearchTypeSelectorOptions extends CustomElementOptions {\n onSearchTypeChange?: () => void\n}\n\n@Component({\n tag: 'search-type-selector',\n template: import('./search-type-selector.html'),\n style: import('./search-type-selector.scss')\n})\n\nexport class SearchTypeSelector extends CustomElement {\n private static readonly elementSelector = 'search-type-selector';\n private searchTypeSelector: HTMLDivElement;\n private metadataNameElement: HTMLSpanElement;\n private metadataCounterElement: HTMLSpanElement;\n private articleNameElement: HTMLSpanElement;\n private articleCounterElement: HTMLSpanElement;\n\n @Prop() id: string;\n @Prop() metadataresultsfound: string;\n @Prop() articlesresultsfound: string;\n @Prop() language: string;\n @Prop() searchtype: string;\n @Dispatch('onSearchTypeChange') onSearchTypeChange: DispatchEmitter;\n\n constructor() {\n super();\n this.handleSearchTypeOnChange = this.handleSearchTypeOnChange.bind(this);\n\n }\n\n setup(options?: SearchTypeSelectorOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.searchTypeSelector = getShadowRootElement(this, '#search-type-selector');\n\n this.metadataNameElement = getShadowRootElement(this, '#search-type-metadata-name');\n this.metadataCounterElement = getShadowRootElement(this, '#search-type-metadata-counter');\n this.articleNameElement = getShadowRootElement(this, '#search-type-article-name');\n this.articleCounterElement = getShadowRootElement(this, '#search-type-article-counter');\n\n this.searchTypeSelector.querySelectorAll('input[name=search-type]').forEach((element: HTMLInputElement) => {\n element.onchange = this.handleSearchTypeOnChange;\n });\n const selectedSearchTypeSelector = this.searchTypeSelector.querySelector(`input[value=${this.searchtype}]`);\n }\n\n disconnectedCallback() {\n }\n\n updateNameElements(language: string) {\n this.metadataNameElement.innerHTML = language === 'en' ? 'Map catalog' : 'Kartkatalogen';\n this.articleNameElement.innerHTML = language === 'en' ? 'Articles' : 'Artikler';\n }\n\n handleSearchTypeOnChange(event: InputEvent) {\n if (this.onSearchTypeChange) {\n const selectedElement = event.composedPath()[0] as HTMLInputElement;\n this.onSearchTypeChange.emit({\n detail: {\n value: selectedElement.value\n }\n });\n }\n }\n\n @Watch('language')\n languageChanged() {\n this.updateNameElements(this.language);\n }\n\n @Watch('metadataresultsfound')\n metadataResultsFoundChanged() {\n this.metadataCounterElement.innerHTML = this.metadataresultsfound;\n }\n\n @Watch('articlesresultsfound')\n articlesResultsFoundChanged() {\n this.articleCounterElement.innerHTML = this.articlesresultsfound;\n }\n\n @Watch('searchtype')\n searchTypeChanged() {\n const selectedSearchTypeSelector = <HTMLInputElement>this.searchTypeSelector.querySelector(`input[value=${this.searchtype}]`);\n if (selectedSearchTypeSelector){\n selectedSearchTypeSelector.checked = true;\n }\n }\n\n public static setup(selector: string, options: SearchTypeSelectorOptions) {\n const element = getElement<SearchTypeSelector>(selector);\n\n }\n}\n","export const getKartkatalogApiUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://kartkatalog.${environmentSlug}geonorge.no/api`;\n};\n\nexport const getGeonorgeMenuUrl = (language: string, environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n const selectedLanguageSlug = language === 'en' ? 'en/' : '';\n return `https://www.${environmentSlug}geonorge.no/${selectedLanguageSlug}api/menu/get?omitLinks=1`;\n};\n\nexport const fetchMenuItems = (language: string = \"no\", environment: string = \"\") => {\n const apiUrl = getGeonorgeMenuUrl(language, environment);\n return fetch(apiUrl).then(res => res.json()).then(menuItems => {\n return menuItems;\n });\n}\n\nexport const fetchDropdownSearchResults = async (searchString: string = \"\", language: string = \"no\", environment: string = '') => {\n searchString = searchString.toString();\n const urlParameterStrings = {\n dataset: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=dataset`,\n series: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=series`,\n service: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=service`,\n servicelayer: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=servicelayer`,\n software: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=software`,\n articles: `articles?text=${searchString}`\n };\n const fetchOptions = {\n headers: new Headers({\n 'Accept-Language': language\n })\n };\n const limitParameterString = 'limit=5';\n\n return searchString && searchString.length ? await Promise.all(Object.keys(urlParameterStrings).map(async (searchResultsType) => {\n const kartkatalogApiUrl = getKartkatalogApiUrl(environment);\n let urlParameterString = urlParameterStrings[searchResultsType];\n return fetch(`${kartkatalogApiUrl}/${urlParameterString}&${limitParameterString}`, fetchOptions)\n .then(res => res.json())\n .then(searchResults => {\n return {\n ...searchResults,\n searchResultsType\n };\n })\n })) : null;\n};","export const getCookie = (cname: string) => {\n const name = `${cname}=`;\n const decodedCookie = decodeURIComponent(document.cookie);\n const ca = decodedCookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return \"\";\n}\n\nexport const setCookie = (cname: string, cvalue: string, exdays: number) => {\n let expireDate = new Date();\n expireDate.setTime(expireDate.getTime() + (exdays * 24 * 60 * 60 * 1000));\n const expires = `expires=${expireDate.toUTCString()}`;\n const domain = window.location.hostname === 'localhost' ? '' : 'domain=-geonorge.no';\n document.cookie = `${cname}=${cvalue};${expires};path=/;${domain}`;\n}\n\nexport const getLanguage = () => {\n return getCookie('_culture');\n}\n\nexport const setLanguage = (language: string) => {\n setCookie('_culture', language, 7);\n}\n","// Functions\nimport { getCookie } from 'functions/cookieHelpers';\n\nexport const getDownloadItems = () => {\n return localStorage.orderItems && Array.isArray(JSON.parse(localStorage.orderItems))\n ? JSON.parse(localStorage.orderItems).filter(mapItem => {return mapItem})\n : [];\n}\n\nexport const getDownloadItemsCount = () => {\n const isKartkatalog = window.location.hostname.toLowerCase().indexOf('kartkatalog') !== -1;\n const isLocalKartkatalogEnvironment = window.sessionStorage.isLocalKartkatalogEnvironment;\n if (isKartkatalog || isLocalKartkatalogEnvironment) {\n return getDownloadItems().length;\n } else {\n const downloadItemsCount = parseInt(getCookie('orderItems'));\n return downloadItemsCount && !isNaN(downloadItemsCount) ? downloadItemsCount : 0;\n }\n}\n\nexport const getDownloadItemMetadata = (itemUuid: string) => {\n return localStorage[itemUuid + '.metadata']\n ? JSON.parse(localStorage[itemUuid + '.metadata'])\n : null;\n}\n\nexport const removeDownloadItem = (itemToRemove) => {\n let selectedItems = localStorage.orderItems && Array.isArray(JSON.parse(localStorage.orderItems))\n ? JSON.parse(localStorage.orderItems)\n : [];\n localStorage.orderItems = JSON.stringify(selectedItems.filter(itemToKeep => itemToKeep !== itemToRemove.uuid));\n localStorage.removeItem(itemToRemove.uuid + \".metadata\")\n}\n","// Functions\nimport { getCookie } from 'functions/cookieHelpers';\n\nexport const getMapItems = () => {\n return localStorage.mapItems && Array.isArray(JSON.parse(localStorage.mapItems))\n ? JSON.parse(localStorage.mapItems).filter(mapItem => {return mapItem})\n : [];\n}\n\nexport const getMapItemsCount = () => {\n const isKartkatalog = window.location.hostname.toLowerCase().indexOf('kartkatalog') !== -1;\n const isLocalKartkatalogEnvironment = window.sessionStorage.isLocalKartkatalogEnvironment;\n if (isKartkatalog || isLocalKartkatalogEnvironment) {\n return getMapItems().length;\n } else {\n const mapItemsCount = parseInt(getCookie('mapItems'));\n return mapItemsCount && !isNaN(mapItemsCount) ? mapItemsCount : 0;\n }\n}\n\nexport const removeMapItem = (itemToRemove) => {\n let selectedItems = localStorage.mapItems && Array.isArray(JSON.parse(localStorage.mapItems))\n ? JSON.parse(localStorage.mapItems)\n : [];\n localStorage.mapItems = JSON.stringify(selectedItems.filter(itemToKeep => itemToKeep.Uuid !== itemToRemove.Uuid));\n}\n","// Interfaces\nimport { SearchResultsForType } from 'interfaces/search';\n\nexport const getKartkatalogUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://kartkatalog.${environmentSlug}geonorge.no`;\n};\n\nexport const getGeonorgeUrl = (language: string, environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n const selectedLanguageSlug = language === 'en' ? 'en/' : '';\n return `https://www.${environmentSlug}geonorge.no/${selectedLanguageSlug}`;\n};\n\nexport const getGeonorgeNedlastingUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n return `https://nedlasting.${environmentSlug}geonorge.no`;\n};\n\n\n\nconst replaceAndAddSpace = (text: string, replace: string, replaceWith: string) => {\n text = text.replace(new RegExp(`([^s])([${replace}])([^s])`, 'ig'), `$1 ${replaceWith} $3`); // Character right before and after\n text = text.replace(new RegExp(`([^s])([${replace}])`, 'ig'), `$1 ${replaceWith}`); // Character right before\n text = text.replace(new RegExp(`([${replace}])([^s])`, 'ig'), `${replaceWith} $2`); // Character right after\n text = text.replace(new RegExp(`[${replace}]`, 'ig'), replaceWith); // No character right before or after\n \n return text;\n }\n\nexport const convertTextToUrlSlug = (text: string = '') => {\n // To lower case\n text = text.toLowerCase();\n\n // Character replace\n text = replaceAndAddSpace(text, \"&\", \"and\");\n text = replaceAndAddSpace(text, \"+\", \"plus\");\n text = text.replace(\"æ\", \"ae\");\n text = text.replace(\"ä\", \"ae\");\n text = text.replace(\"ø\", \"oe\");\n text = text.replace(\"ö\", \"oe\");\n text = text.replace(\"å\", \"aa\");\n\n // Whitespace replace\n text = text.replace(/( - )/g, \"-\");\n text = text.replace(/[\\s]+/g, \"-\");\n\n // Unwated character replace\n text = text.replace(/[^a-z0-9-]+/ig, \"\");\n\n // Remove any character before first and after last A-Z or 0-9\n text = text.replace(/^[^A-Z0-9]*|[^a-z0-9]*$/ig, \"\");\n\n return text;\n}\n\nconst handleSearchResultsClick = (searchString: string, pushToDataLayer?: Function) => {\n if (pushToDataLayer) {\n pushToDataLayer({\n event: 'updateSearchString',\n category: 'metadataSearch',\n activity: 'dropDownResultsClick',\n searchString: searchString\n });\n } else return false;\n}\n\nexport const renderDropdownResultLink = (searchResult: SearchResultsForType, resultType: string, searchString: string, environment: string, pushToDataLayer?: Function) => {\n return resultType === 'articles'\n ? `<a onClick=\"${handleSearchResultsClick(searchString, pushToDataLayer)}\" href=\"${searchResult.ShowDetailsUrl ? searchResult.ShowDetailsUrl : '#'}\">${searchResult.Title}</a>`\n : `<a onClick=\"${handleSearchResultsClick(searchString, pushToDataLayer)}\" href=\"${getKartkatalogUrl(environment)}/metadata/${convertTextToUrlSlug(searchResult.Title)}/${searchResult.Uuid}\">${searchResult.Title}</a>`\n\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(2930);\n"],"names":["root","factory","exports","module","define","amd","self","___CSS_LOADER_EXPORT___","push","id","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","Component","args","target","tag","toKebabCase","prototype","constructor","name","customElement","super","props","showShadowRoot","shadow","shadowRoot","attachShadow","mode","observedAttributes","Object","keys","propsInit","x","attributeChangedCallback","oldValue","newValue","onAttributeChange","set","toCamelCase","watchAttributes","methodToCall","__connected","old","new","connectedCallback","render","addEventListeners","initializeProps","template","document","createElement","innerHTML","getStyle","Promise","appendChild","getExternalTemplate","cloneNode","markup","default","fragment","createRange","createContextualFragment","children","nodeName","firstChild","css","style","ready","resolve","_","customElements","get","CustomElement","HTMLElement","connect","selector","isConnected","querySelector","getElement","getShadowRootElement","Listen","eventName","methodName","listeners","handler","targetRoot","listener","eventTarget","addEventListener","e","call","Dispatch","propertyName","defineProperty","emit","options","evtName","toDotCase","dispatchEvent","CustomEvent","Prop","propName","attrName","getAttribute","value","tryParseInt","setAttribute","hasAttribute","prop","plainAttributes","forEach","v","cycleProps","getProps","attribValue","Toggle","attrValue","test","console","warn","removeAttribute","str","replace","toLowerCase","m","toUpperCase","parseInt","NaN","parseFloat","Watch","DownloadItems","hideListContainer","showList","renderDownloadItems","downloadItems","downloadItemsListElement","downloadItem","downloadItemElement","innerText","removeDownloadItemElement","classList","add","dataset","language","filter","downloadItemLinkElement","preventRedirect","onOpenEmptyDownloadItemsList","href","getKartkatalogUrl","environment","downloadItemListContainer","prepend","clickOutsideDownloadItemsContainer","bind","updateDomElements","getUpdatedDownloadItems","setup","container","downloadButton","downloadIcon","downloadIconCounter","renderDownloadItemsCounter","downloadItemUuids","getDownloadItems","uuid","getDownloadItemMetadata","disconnectedCallback","removeEventListener","event","targetElement","composedPath","closest","downloadItemsCount","getDownloadItemsCount","remove","buttonClicked","window","location","removeDownloadItemClicked","removeDownloadItemButtonElement","parse","stopPropagation","removeDownloadItem","showMenuChanged","downloadItemsChanged","languageChanged","preventRedirectChanged","static","element","active","elementSelector","MainMenu","hideMenuContainer","showmenu","renderMenuItems","menuItems","hierarchyLevel","maxHierarchyLevel","menuItemsListElement","menuItem","subItems","SubMenuItem","Url","Name","clickOutsideMenuContainer","menuButton","menuTitle","menuIcon","closeIcon","menuContainer","menuItemListContainer","menuActionsRow","fetchMenuItems","then","menuitems","signinurl","signouturl","addAuthenticationLinks","englishurl","norwegianurl","addLanguageSelectLinks","hasAuthenticationFunction","loginToggleElement","isloggedin","onSignOutClick","onSignInClick","logInString","logOutString","childElement","hasLanguageSelectFunctions","languageToggleElement","onNorwegianLanguageSelect","onEnglishLanguageSelect","hasAuthenticationFunctionChanged","isLoggedInChanged","hasLanguageSelectFunctionsChanged","menuItemsChanged","onClick","MainNavigation","getGeonorgeLogoVariant","logoElement","searchField","mainMenu","mapItemsElement","downloadItemsElement","searchstring","getGeonorgeUrl","staticposition","noshadow","getLanguage","showSearchTypeSelector","searchTypeSelector","metadataresultsfound","articlesresultsfound","searchtype","parentNode","insertBefore","nextSibling","SearchTypeSelector","MapItems","MainSearchField","metadataResultsFoundChanged","articlesResultsFoundChanged","searchTypeChanged","searchStringChanged","onSearch","setTimeout","mainSearchField","onOpenEmptyMapItemsList","onSearchTypeChange","renderSearchResultsForType","searchResultsResponseForType","searchResultsTypeName","Results","TypeTranslated","searchResultsType","searchResultsListElements","searchResult","renderDropdownResultLink","NumFound","renderSearchResults","searchResultsResponses","hideSearchResultsContainer","showSearchResults","clickOutsideSearchResultsContainer","searchFieldLabel","searchButton","searchResultsContainer","maxHeight","innerHeight","closestLink","submitSearch","detail","searchString","searchFieldKeyUp","key","onSearchSubmitted","fetchDropdownSearchResults","showSearchResultsChanged","searchResultsResponseChanged","searchResults","renderMapItems","mapItems","mapItemsListElement","mapItem","mapItemElement","Title","removeMapItemElement","mapItemLinkElement","mapItemListContainer","clickOutsideMapItemsContainer","getUpdatedMapItems","mapButton","mapIcon","mapIconCounter","renderMapItemsCounter","getMapItems","mapItemsCount","getMapItemsCount","removeMapItemClicked","removeMapItemButtonElement","removeMapItem","mapItemsChanged","handleSearchTypeOnChange","metadataNameElement","metadataCounterElement","articleNameElement","articleCounterElement","querySelectorAll","onchange","updateNameElements","selectedElement","selectedSearchTypeSelector","checked","getKartkatalogApiUrl","getGeonorgeMenuUrl","apiUrl","fetch","res","json","urlParameterStrings","series","service","servicelayer","software","articles","fetchOptions","headers","Headers","all","kartkatalogApiUrl","getCookie","cname","ca","decodeURIComponent","cookie","split","c","charAt","substring","indexOf","setCookie","cvalue","exdays","expireDate","Date","setTime","getTime","expires","toUTCString","domain","hostname","setLanguage","localStorage","orderItems","Array","isArray","isKartkatalog","isLocalKartkatalogEnvironment","sessionStorage","isNaN","itemUuid","itemToRemove","selectedItems","itemToKeep","removeItem","Uuid","getGeonorgeNedlastingUrl","replaceAndAddSpace","text","replaceWith","RegExp","convertTextToUrlSlug","handleSearchResultsClick","pushToDataLayer","category","activity","resultType","ShowDetailsUrl","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","enumerable","obj","hasOwnProperty","r","Symbol","toStringTag"],"sourceRoot":""}
|