) {\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 = \"\"","module.exports = \"\"","import fonts from \"../style/base/_fonts.scss\";\n\nexport const getFocusableElementsInsideElement = (element: HTMLElement) => {\n return element.querySelectorAll('button, [href], input, [tabindex=\"0\"]');\n};\n\nexport const addGlobalStylesheet = (styleElementId: string, styles: string) => {\n const style = document.createElement(\"style\");\n style.setAttribute(\"id\", styleElementId);\n style.textContent = styles;\n if (!document.getElementById(styleElementId)) {\n document.head.appendChild(style);\n }\n};\n\nexport const addGlobalFonts = () => {\n const style = document.createElement(\"style\");\n style.setAttribute(\"id\", \"fonts-styles\");\n style.textContent = fonts;\n if (!document.getElementById(\"fonts-styles\")) {\n document.head.appendChild(style);\n }\n};\n\nexport const removeInnerHTML = (element: HTMLElement) => {\n while (element.firstChild) {\n element.removeChild(element.firstChild);\n }\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 ? `${searchResult.Title}`\n : `${searchResult.Title}`\n\n}","// Dependencies\nimport {\n Component,\n CustomElement,\n CustomElementOptions,\n Prop,\n Watch,\n getShadowRootElement,\n Toggle\n} from \"super-custom-elements\";\n\n// Helpers\nimport { getGeonorgeUrl } from \"../../functions/urlHelpers\";\nimport { addGlobalFonts, removeInnerHTML } from \"../../functions/guiHelpers\";\n\n// Assets\nimport GeonorgeLogo from \"../../assets/svg/geonorge-logo.svg\";\nimport KartverketLogo from \"../../assets/svg/kartverket-logo.svg\";\n\ninterface StandardButtonOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"geonorge-footer\",\n template: import(\"./geonorge-footer.html\"),\n style: import(\"./geonorge-footer.scss\")\n})\nexport class GeonorgeFooter extends CustomElement {\n private static readonly elementSelector = \"geonorge-footer\";\n private geonorgeFooterElement: HTMLButtonElement;\n private versionTextElement: HTMLDivElement;\n private geonorgeLogoElement: HTMLDivElement;\n private kartverketLogoElement: HTMLDivElement;\n private linkListElement: HTMLUListElement;\n private aboutSiteHeader: HTMLHeadingElement;\n private contactHeader: HTMLHeadingElement;\n private aSolutionByText: HTMLParagraphElement;\n private contactInfoText: HTMLParagraphElement;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Prop() version: string;\n @Prop() language: string;\n @Prop() accessibilitystatementurl: string;\n @Prop() privacyurl: string;\n @Toggle() hideaccessibilitystatementlink: boolean;\n @Toggle() hideprivacylink: boolean;\n\n constructor() {\n super();\n addGlobalFonts();\n }\n\n setup(options?: StandardButtonOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n addLinkListContent(\n linkListElement: HTMLUListElement,\n language: string,\n environment: string,\n accessibilitystatementurl: string,\n privacyurl: string,\n hideaccessibilitystatementlink: boolean,\n hideprivacylink: boolean\n ) {\n const geonorgeUrl = getGeonorgeUrl(language, environment);\n\n const whatIsGeonorgeLinkListElement = document.createElement(\"li\");\n const whatIsGeonorgeLinkElement = document.createElement(\"a\");\n whatIsGeonorgeLinkElement.innerText = language === \"en\" ? \"What is Geonorge\" : \"Om Geonorge\";\n whatIsGeonorgeLinkElement.href =\n language === \"en\" ? `${geonorgeUrl}about/what-is-geonorge/` : `${geonorgeUrl}aktuelt/om-geonorge/`;\n whatIsGeonorgeLinkListElement.appendChild(whatIsGeonorgeLinkElement);\n\n removeInnerHTML(linkListElement);\n linkListElement.appendChild(whatIsGeonorgeLinkListElement);\n\n if (!hideaccessibilitystatementlink) {\n const accessibilityStatementLinkListElement = document.createElement(\"li\");\n const accessibilityStatementLinkElement = document.createElement(\"a\");\n accessibilityStatementLinkElement.innerText =\n language === \"en\" ? \"Accessibility statement (in Norwegian)\" : \"Tilgjengelighetserklæring\";\n accessibilityStatementLinkElement.href = accessibilitystatementurl?.length\n ? accessibilitystatementurl\n : \"https://uustatus.no/nb/erklaringer/publisert/8f3210cf-aa22-4d32-9fda-4460e3c3e05a\";\n accessibilityStatementLinkElement.target = \"_blank\";\n accessibilityStatementLinkElement.rel = \"noopener noreferrer\";\n accessibilityStatementLinkListElement.appendChild(accessibilityStatementLinkElement);\n linkListElement.appendChild(accessibilityStatementLinkListElement);\n }\n\n if (!hideprivacylink) {\n const privacyLinkListElement = document.createElement(\"li\");\n const privacyLinkElement = document.createElement(\"a\");\n privacyLinkElement.innerText =\n language === \"en\" ? \"Data Protection Policy (in Norwegian)\" : \"Personvern og bruk av cookies\";\n privacyLinkElement.href = privacyurl?.length\n ? privacyurl\n : \"https://www.geonorge.no/aktuelt/Se-siste-nyheter/nyheter2/annet/personvern-og-bruk-av-cookies/\";\n privacyLinkElement.target = \"_blank\";\n privacyLinkElement.rel = \"noopener noreferrer\";\n privacyLinkListElement.appendChild(privacyLinkElement);\n linkListElement.appendChild(privacyLinkListElement);\n }\n\n return linkListElement;\n }\n\n getContactInfoText(language: string, environment: string) {\n if (language === \"en\") {\n return `\n \n Telephone: +47 32 11 80 00
\n post@norgedigitalt.no
\n Org. nr.: 971 040 238\n
\n `;\n } else {\n return `\n \n Telefon: 32 11 80 00
\n post@norgedigitalt.no
\n Org. nr.: 971 040 238\n
\n `;\n }\n }\n\n shouldHideAccessibilityStatementLink(hideaccessibilitystatementlink) {\n return (\n hideaccessibilitystatementlink?.toString() === \"\" || hideaccessibilitystatementlink?.toString() === \"true\"\n );\n }\n\n shouldHidePrivacyLink(hideprivacylink) {\n return hideprivacylink?.toString() === \"\" || hideprivacylink?.toString() === \"true\";\n }\n\n renderLinkList() {\n const shouldHideAccessibilityStatementLink = this.shouldHideAccessibilityStatementLink(\n this.hideaccessibilitystatementlink\n );\n const shouldHidePrivacyLink = this.shouldHidePrivacyLink(this.hideprivacylink);\n this.linkListElement = this.addLinkListContent(\n this.linkListElement,\n this.language,\n this.environment,\n this.accessibilitystatementurl,\n this.privacyurl,\n shouldHideAccessibilityStatementLink,\n shouldHidePrivacyLink\n );\n }\n\n connectedCallback() {\n this.geonorgeFooterElement = getShadowRootElement(this, \"#geonorge-footer\");\n this.versionTextElement = getShadowRootElement(this, \"#version-text\");\n this.geonorgeLogoElement = getShadowRootElement(this, \"#geonorge-logo\");\n this.kartverketLogoElement = getShadowRootElement(this, \"#kartverket-logo\");\n this.linkListElement = getShadowRootElement(this, \"#link-list\");\n this.aboutSiteHeader = getShadowRootElement(this, \"#about-site-header\");\n this.contactHeader = getShadowRootElement(this, \"#contact-header\");\n this.aSolutionByText = getShadowRootElement(this, \"#a-solution-by-text\");\n this.contactInfoText = getShadowRootElement(this, \"#contact-info-text\");\n\n this.geonorgeFooterElement.setAttribute(\"environment\", this.environment);\n\n if (this.version?.length) {\n this.versionTextElement.innerText =\n this.language === \"en\" ? `Version ${this.version}` : `Versjon ${this.version}`;\n }\n\n this.geonorgeLogoElement.innerHTML = GeonorgeLogo;\n this.kartverketLogoElement.innerHTML = KartverketLogo;\n\n this.renderLinkList();\n\n this.contactInfoText.innerHTML = this.getContactInfoText(this.language, this.environment);\n this.aboutSiteHeader.innerText = this.language === \"en\" ? \"About\" : \"Om nettstedet\";\n this.contactHeader.innerText = this.language === \"en\" ? \"Contact\" : \"Kontakt\";\n this.aSolutionByText.innerText = this.language === \"en\" ? \"A solution by\" : \"Kontakt\";\n }\n\n @Watch(\"language\")\n languageChanged() {\n this.renderLinkList();\n this.contactInfoText.innerHTML = this.getContactInfoText(this.language, this.environment);\n this.aboutSiteHeader.innerText = this.language === \"en\" ? \"About\" : \"Om nettstedet\";\n this.contactHeader.innerText = this.language === \"en\" ? \"Contact\" : \"Kontakt\";\n this.aSolutionByText.innerText = this.language === \"en\" ? \"A solution by\" : \"En løsning fra\";\n if (this.version?.length) {\n this.versionTextElement.innerText =\n this.language === \"en\" ? `Version ${this.version}` : `Versjon ${this.version}`;\n }\n }\n\n @Watch(\"hideaccessibilitystatementlink\")\n hideaccessibilitystatementlinkChanged() {\n this.renderLinkList();\n }\n\n @Watch(\"accessibilitystatementurl\")\n accessibilitystatementurlChanged() {\n this.renderLinkList();\n }\n\n @Watch(\"privacyurl\")\n privacyurlChanged() {\n this.renderLinkList();\n }\n\n @Watch(\"hideprivacylink\")\n hideprivacylinkChanged() {\n this.renderLinkList();\n }\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// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\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};","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t78: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","// 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__(1640);\n"],"names":["root","factory","exports","module","define","amd","self","___CSS_LOADER_EXPORT___","push","id","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_URL_IMPORT_19___","___CSS_LOADER_URL_IMPORT_20___","___CSS_LOADER_URL_IMPORT_21___","___CSS_LOADER_URL_IMPORT_22___","___CSS_LOADER_URL_IMPORT_23___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","___CSS_LOADER_URL_REPLACEMENT_19___","___CSS_LOADER_URL_REPLACEMENT_20___","___CSS_LOADER_URL_REPLACEMENT_21___","___CSS_LOADER_URL_REPLACEMENT_22___","___CSS_LOADER_URL_REPLACEMENT_23___","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","url","options","String","__esModule","default","test","slice","hash","needQuotes","replace","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","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","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","evtName","toDotCase","dispatchEvent","CustomEvent","Prop","propName","attrName","getAttribute","value","tryParseInt","setAttribute","hasAttribute","prop","plainAttributes","forEach","v","cycleProps","getProps","attribValue","Toggle","attrValue","console","warn","removeAttribute","str","toLowerCase","m","toUpperCase","parseInt","NaN","parseFloat","Watch","getFocusableElementsInsideElement","element","querySelectorAll","addGlobalStylesheet","styleElementId","styles","textContent","getElementById","head","addGlobalFonts","removeInnerHTML","removeChild","getKartkatalogUrl","environment","getGeonorgeUrl","language","getGeonorgeNedlastingUrl","replaceAndAddSpace","text","replaceWith","RegExp","convertTextToUrlSlug","handleSearchResultsClick","searchString","pushToDataLayer","event","category","activity","renderDropdownResultLink","searchResult","resultType","ShowDetailsUrl","Title","Uuid","GeonorgeFooter","setup","container","addLinkListContent","linkListElement","accessibilitystatementurl","privacyurl","hideaccessibilitystatementlink","hideprivacylink","geonorgeUrl","whatIsGeonorgeLinkListElement","whatIsGeonorgeLinkElement","innerText","href","accessibilityStatementLinkListElement","accessibilityStatementLinkElement","rel","privacyLinkListElement","privacyLinkElement","getContactInfoText","shouldHideAccessibilityStatementLink","shouldHidePrivacyLink","renderLinkList","geonorgeFooterElement","versionTextElement","geonorgeLogoElement","kartverketLogoElement","aboutSiteHeader","contactHeader","aSolutionByText","contactInfoText","version","languageChanged","hideaccessibilitystatementlinkChanged","accessibilitystatementurlChanged","privacyurlChanged","hideprivacylinkChanged","elementSelector","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","d","a","definition","key","o","enumerable","obj","hasOwnProperty","r","Symbol","toStringTag","b","baseURI","location"],"sourceRoot":""}