@kartverket/geonorge-web-components 4.0.10 → 4.0.12
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/DownloadItem.js +1 -1
- package/DownloadItem.js.map +1 -1
- package/GeonorgeFooter.js +1 -1
- package/GeonorgeFooter.js.map +1 -1
- package/GnShortcutButton.js +1 -1
- package/GnShortcutButton.js.map +1 -1
- package/MainMenu.js +1 -1
- package/MainMenu.js.map +1 -1
- package/MainNavigation.js +1 -1
- package/MainNavigation.js.map +1 -1
- package/MainSearchField.js +1 -1
- package/MainSearchField.js.map +1 -1
- package/MapItem.js +1 -1
- package/MapItem.js.map +1 -1
- package/UserAccount.js +1 -1
- package/UserAccount.js.map +1 -1
- package/config.d.ts +9 -0
- package/index.css +1 -1
- package/index.css.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
package/MainSearchField.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.geonorge=t():(e.geonorge=e.geonorge||{},e.geonorge.MainSearchField=t())}(self,(()=>(()=>{var e={5533(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5052),s=n.n(r),o=n(164),i=n.n(o)()(s());i.push([e.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%;max-width:440px}@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{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;height:37px;width:100%;outline-offset:-2px;background:#fff;border:1px solid #dfdcda;border-right:0;font-family:"Open Sans",sans-serif;font-size:18px;font-weight:normal;flex:1;margin:0;padding:0 .75em}div.main-search-field button{-webkit-appearance:button;-moz-appearance:button;appearance:button;-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;margin:0;background:#fff;border:1px solid #dfdcda;border-left: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{font-family:"Open Sans",sans-serif;padding:6px 16px;font-size:18px;display:inline-block;font-weight:normal}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:1px 4px;color:#fff;background-color:#fe5000;display:inline-block;font-size:.7em;vertical-align:middle;text-align:center;min-width:24px;font-weight:bold}div.search-results-container div.search-results-for-type ul.search-results-for-type-list{list-style:none;padding:0 16px 12px 32px;margin:0}div.search-results-container div.search-results-for-type ul.search-results-for-type-list li a{font-family:"Open Sans",sans-serif;padding:2px 0;display:block;font-size:14px;font-weight:normal}.hidden{height:0;width:0;position:absolute;color:rgba(0,0,0,0);overflow:hidden}',"",{version:3,sources:["webpack://./stories/main-navigation/main-search-field/main-search-field.scss","webpack://./style/variables/_typography.scss","webpack://./style/mixins/_breakpoints.scss","webpack://./style/mixins/_appearance.scss","webpack://./style/mixins/_border-radius.scss","webpack://./style/mixins/_box-shadow.scss","webpack://./style/variables/_colors.scss"],names:[],mappings:"AAOA,EACE,qBAAA,CAGF,sBACE,kCCZa,CDab,YAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,UAAA,CACA,eAAA,CEFM,0BFLR,sBAUI,YAAA,CAAA,CAGF,uCACE,OAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CAGF,4BG9BE,uBH+B+B,CG9B/B,oBH8B+B,CG7B/B,eH6B+B,CI/BjC,iCJgCuC,CI/BvC,yBJ+BuC,CACrC,WAAA,CACA,UAAA,CACA,mBAAA,CACA,eAAA,CACA,wBAAA,CACA,cAAA,CACA,kCCxCW,CDyCX,cAAA,CACA,kBAAA,CACA,MAAA,CACA,QAAA,CACA,eAAA,CAGF,6BG/CE,yBHgD+B,CG/C/B,sBH+C+B,CG9C/B,iBH8C+B,CIhDjC,iCJiDuC,CIhDvC,yBJgDuC,CACrC,QAAA,CACA,eAAA,CACA,wBAAA,CACA,aAAA,CACA,oBAAA,CACA,eAAA,CACA,WAAA,CAEA,iCACE,WAAA,CACA,UAAA,CAKN,6BKjEI,8GLkEF,CKjEE,2GLiEF,CKhEE,sGLgEF,CIlEA,iCJuEqC,CItErC,yBJsEqC,CACrC,iBAAA,CACA,kBAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CAEA,kCACE,aAAA,CACA,UAAA,CACA,eAAA,CAGF,+BACE,aMvEW,CNwEX,oBAAA,CACA,qCACE,aMzEc,CN0Ed,yBAAA,CAKF,wEACE,wBAAA,CAEF,yEACE,wBAAA,CAEF,yFACE,kCCtGS,CDuGT,gBAAA,CACA,cAAA,CACA,oBAAA,CACA,kBAAA,CACA,mII1GJ,yBJ2G2C,CI1G3C,iBJ0G2C,CACrC,eAAA,CACA,UAAA,CACA,wBMpGQ,CNqGR,oBAAA,CACA,cAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,gBAAA,CAGJ,yFACE,eAAA,CACA,wBAAA,CACA,QAAA,CAEE,8FACE,kCC9HK,CD+HL,aAAA,CACA,aAAA,CACA,cAAA,CACA,kBAAA,CAOV,QACE,QAAA,CACA,OAAA,CACA,iBAAA,CACA,mBAAA,CACA,eAAA",sourcesContent:['@use "../../../style/mixins/appearance";\n@use "../../../style/mixins/border-radius";\n@use "../../../style/mixins/box-shadow";\n@use "../../../style/mixins/breakpoints";\n@use "../../../style/variables/colors";\n@use "../../../style/variables/typography";\n\n* {\n box-sizing: border-box;\n}\n\ndiv.main-search-field {\n font-family: typography.$default-font;\n display: flex;\n height: 37px;\n margin-top: 0.25em;\n position: relative;\n width: 100%;\n max-width: 440px;\n\n @include breakpoints.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 @include appearance.appearance(none);\n @include border-radius.border-radius(4px 0 0 4px);\n height: 37px;\n width: 100%;\n outline-offset: -2px;\n background: #fff;\n border: 1px solid #dfdcda;\n border-right: 0;\n font-family: typography.$default-font;\n font-size: 18px;\n font-weight: normal;\n flex: 1;\n margin: 0;\n padding: 0 0.75em;\n }\n\n button {\n @include appearance.appearance(button);\n @include border-radius.border-radius(0 4px 4px 0);\n margin: 0;\n background: #fff;\n border: 1px solid #dfdcda;\n border-left: 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.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.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: colors.$primary-text;\n text-decoration: none;\n &:hover {\n color: colors.$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 font-family: typography.$default-font;\n padding: 6px 16px;\n font-size: 18px;\n display: inline-block;\n font-weight: normal;\n span.search-results-for-type-number-badge {\n @include border-radius.border-radius(6px);\n padding: 1px 4px;\n color: #fff;\n background-color: colors.$primary-brand;\n display: inline-block;\n font-size: 0.7em;\n vertical-align: middle;\n text-align: center;\n min-width: 24px;\n font-weight: bold;\n }\n }\n ul.search-results-for-type-list {\n list-style: none;\n padding: 0 16px 12px 32px;\n margin: 0;\n li {\n a {\n font-family: typography.$default-font;\n padding: 2px 0;\n display: block;\n font-size: 14px;\n font-weight: normal;\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", sans-serif;\n$default-font-size: 15px;\n','@use "../variables/breakpoints";\n\n@mixin breakpoint($point) {\n @if $point == desktop {\n @media (min-width: breakpoints.$screen-desktop) {\n @content;\n }\n } @else if $point == laptop {\n @media (min-width: breakpoints.$screen-laptop) {\n @content;\n }\n } @else if $point == tablet {\n @media (min-width: breakpoints.$screen-tablet) {\n @content;\n }\n } @else if $point == phablet {\n @media (min-width: breakpoints.$screen-phablet) {\n @content;\n }\n }\n}\n',"\ufeff@mixin appearance ($value) {\n -webkit-appearance: $value;\n -moz-appearance: $value;\n appearance: $value;\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}","\ufeff@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$light-gray: #f6f5f4;\n\n$primary-brand: #FE5000;\n\n$primary-background: #3767C7;\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: #f4f4f4;\n$disabled-border: #dedede;\n$disabled-text: #707070;\n\n\n$light-green: #8fff33;\n$light-yellow: #ffEb3b;\n$light-red: #ff4a2e;\n"],sourceRoot:""}]);const a=i},2979(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>r});const r='<template>\n <div class="main-search-field" id="main-search-content">\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 </div>\n </div>\n </template>'},164(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,s,o){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(i[c]=!0)}for(var l=0;l<e.length;l++){var d=[].concat(e[l]);r&&i[d[0]]||(void 0!==o&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=o),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),s&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=s):d[4]="".concat(s)),t.push(d))}},t}},5052(e){"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),o="/*# ".concat(s," */");return[t].concat([o]).join("\n")}return[t].join("\n")}},8631(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(s,o){function i(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.Component=void 0;const s=n(169),o=n(6999),i=n(2466);t.Component=e=>t=>{var n;const a=e.tag||i.toKebabCase(t.prototype.constructor.name),c=((n=class extends t{constructor(){super(),this.props={},this.showShadowRoot=null==e.shadow||e.shadow,!this.shadowRoot&&this.showShadowRoot&&this.attachShadow({mode:"open"})}static get observedAttributes(){return Object.keys(this.propsInit||{}).map((e=>i.toKebabCase(e)))}attributeChangedCallback(e,t,n){this.onAttributeChange(e,t,n)}onAttributeChange(e,t,n,r=!0){if(t!=n){r&&(this[i.toCamelCase(e)]=n);const s=this.constructor.watchAttributes;if(s&&s[e]){const r=s[e];this.__connected&&"function"==typeof this[r]&&this[r]({old:t,new:n})}}}connectedCallback(){const e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return r(this,void 0,void 0,(function*(){yield this.render(),e.connectedCallback&&e.connectedCallback.call(this),this.__connected=!0,s.addEventListeners(this),o.initializeProps(this)}))}render(){return r(this,void 0,void 0,(function*(){if(this.__connected)return;const t=document.createElement("template");t.innerHTML=yield this.getStyle(),e.template instanceof Promise?t.content.appendChild(yield this.getExternalTemplate()):"string"==typeof e.template&&(t.innerHTML+=e.template),(this.showShadowRoot?this.shadowRoot:this).appendChild(t.content.cloneNode(!0))}))}getExternalTemplate(){return r(this,void 0,void 0,(function*(){const t=(yield e.template).default.toString(),n=document.createRange().createContextualFragment(t);return 1===n.children.length&&"TEMPLATE"===n.children[0].nodeName?n.firstChild.content:n}))}getStyle(){return r(this,void 0,void 0,(function*(){let t;return e.style instanceof Promise?t=(yield e.style).default.toString():"string"==typeof e.style&&(t=e.style),t?`<style>${t}</style>`:""}))}}).__connected=!1,n.ready=new Promise(((e,t)=>e(!0))),n);return customElements.get(a)||customElements.define(a,c),c}},3704(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CustomElement=void 0;class n extends HTMLElement{constructor(){super()}connect(e){this.isConnected||document.querySelector(e).appendChild(this)}}t.CustomElement=n},3365(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getShadowRootElement=t.getElement=void 0,t.getElement=e=>document.querySelector(e),t.getShadowRootElement=(e,t)=>e.shadowRoot.querySelector(t)},3128(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),s(n(8631),t),s(n(3704),t),s(n(3365),t),s(n(169),t),s(n(6999),t),s(n(3982),t),s(n(8861),t),s(n(1063),t)},169(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dispatch=t.addEventListeners=t.Listen=void 0;const r=n(2466);t.Listen=(e,t)=>(n,r)=>{n.constructor.listeners||(n.constructor.listeners=[]),n.constructor.listeners.push({selector:t,eventName:e,handler:n[r]})},t.addEventListeners=e=>{if(e.constructor.listeners){const t=e.shadowRoot||e;for(const n of e.constructor.listeners){const r=n.selector?t.querySelector(n.selector)?t.querySelector(n.selector):null:e;r&&r.addEventListener(n.eventName,(t=>{n.handler.call(e,t)}))}}},t.Dispatch=e=>(t,n)=>{Object.defineProperty(t,n,{get:function(){const t=this;return{emit(s){const o=e||r.toDotCase(n);t.dispatchEvent(new CustomEvent(o,s))}}}})}},6999(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initializeProps=t.Prop=void 0;const r=n(2466);t.Prop=()=>(e,t)=>{const n=r.toKebabCase(t);e.constructor.propsInit||(e.constructor.propsInit={}),e.constructor.propsInit[t]=null,Object.defineProperty(e,t,{get:function(){return this.props[t]?this.props[t]:this.getAttribute(n)},set:function(e){if(this.__connected){const s=this.props[t];this.props[t]=r.tryParseInt(e),"object"!=typeof e?this.setAttribute(n,e):this.onAttributeChange(n,s,e,!1)}else this.hasAttribute(r.toKebabCase(t))||(this.constructor.propsInit[t]=e)}})},t.initializeProps=e=>{const t=e.constructor.watchAttributes;for(let n of(e=>{const t=e.constructor.watchAttributes,n=Object.assign({},t);Object.keys(n).forEach((e=>n[e]=""));const r=Object.assign(Object.assign({},n),e.constructor.propsInit);return Object.keys(r)})(e)){if(t)if(null==t[r.toKebabCase(n)])t[r.toKebabCase(n)]="";else{const s=e.props[n]||e.getAttribute(r.toKebabCase(n));"function"==typeof e[t[n]]&&e[t[n]]({new:s})}e.constructor.propsInit[n]&&(e.hasAttribute(r.toKebabCase(n))||(e[n]=e.constructor.propsInit[n]))}}},3982(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Toggle=void 0;const r=n(2466);t.Toggle=()=>(e,t)=>{e.constructor.propsInit||(e.constructor.propsInit={}),e.constructor.propsInit[t]=null,Object.defineProperty(e,t,{get:function(){return(e=>{if(this.hasAttribute(e)){const t=this.getAttribute(e);return!!/^(true|false|^$)$/.test(t)&&("true"==t||""==t)}return!1})(t)},set:function(e){const n=e;if(null!=e)switch(typeof e){case"boolean":break;case"string":/^(true|false|^$)$/.test(e)?e="true"==n||""==n:(console.warn(`TypeError: Cannot set boolean toggle property '${t}' to '${e}'`),e=!1);break;default:throw`TypeError: Cannot set boolean toggle property '${t}' to '${e}'`}this.__connected?(this.props[t]=e||!1,""!==n&&null!==n?this.setAttribute(t,e):e?this.setAttribute(t,""):this.removeAttribute(t)):this.hasAttribute(r.toKebabCase(t))||(this.constructor.propsInit[t]=e)}})}},8861(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2466(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tryParseInt=t.toDotCase=t.toCamelCase=t.toKebabCase=void 0,t.toKebabCase=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),t.toCamelCase=e=>e.toLowerCase().replace(/(\-\w)/g,(e=>e[1].toUpperCase())),t.toDotCase=e=>e.replace(/(?!^)([A-Z])/g," $1").replace(/[_\s]+(?=[a-zA-Z])/g,".").toLowerCase(),t.tryParseInt=e=>parseInt(e)==e&&NaN!==parseFloat(e)?parseInt(e):e},1063(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Watch=void 0;const r=n(2466);t.Watch=e=>(t,n)=>{t.constructor.watchAttributes||(t.constructor.watchAttributes={}),t.constructor.watchAttributes[r.toKebabCase(e)]=n,t.constructor.propsInit||(t.constructor.propsInit={}),t.constructor.propsInit[e]=null}},8289(e){e.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>'},8914(e,t){"use strict";var n=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(s,o){function i(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchDropdownSearchResults=t.fetchMenuItems=t.getGeonorgeMenuUrl=t.deleteShortcutItem=t.postShortcutItem=t.fetchShortcutItem=t.getMinSideShortcutUrl=t.getMinSideShortcutApiUrl=t.getKartkatalogApiUrl=void 0,t.getKartkatalogApiUrl=e=>`https://kartkatalog.${"dev"===e||"test"===e?e+".":""}geonorge.no/api`,t.getMinSideShortcutApiUrl=(e,t)=>`https://minside.${"dev"===e||"test"===e?e+".":""}geonorge.no/api/shortcut${(null==t?void 0:t.length)?`?${new URLSearchParams({url:t}).toString()}`:""}`,t.getMinSideShortcutUrl=e=>`https://minside.${"dev"===e||"test"===e?e+".":""}geonorge.no/shortcuts`,t.fetchShortcutItem=(...e)=>n(void 0,[...e],void 0,(function*(e="",n,r){const s=(0,t.getMinSideShortcutApiUrl)(e,r),o={method:"GET",headers:new Headers({Authorization:`Bearer ${n}`})};try{return fetch(s,o).then((e=>200===e.status?e.json().then((e=>e)):null))}catch(e){return console.error("Error fetching shortcut items:",e),null}})),t.postShortcutItem=(...e)=>n(void 0,[...e],void 0,(function*(e="",n,r){const s=(0,t.getMinSideShortcutApiUrl)(e),o={method:"POST",headers:new Headers({Authorization:`Bearer ${n}`,"Content-Type":"application/json"}),body:JSON.stringify(r)};return fetch(s,o).then((e=>e.json())).then((e=>e))})),t.deleteShortcutItem=(...e)=>n(void 0,[...e],void 0,(function*(e="",n,r){const s=(0,t.getMinSideShortcutApiUrl)(e),o={method:"DELETE",headers:new Headers({Authorization:`Bearer ${n}`,"Content-Type":"application/json"}),body:JSON.stringify(r)};return fetch(s,o)})),t.getGeonorgeMenuUrl=(e,t)=>"dev"===t?"https://dev.geonorge.no/menu.xml":`https://www.${"dev"===t||"test"===t?"test.":""}geonorge.no/${"en"===e?"en/":""}api/menu/get?omitLinks=1`,t.fetchMenuItems=(e="no",n="")=>{const r=(0,t.getGeonorgeMenuUrl)(e,n);return fetch(r).then((e=>e.json())).then((e=>e))},t.fetchDropdownSearchResults=(...e)=>n(void 0,[...e],void 0,(function*(e="",r="no",s=""){const o={dataset:`search?text=${e=e.toString()}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=dataset`,series:`search?text=${e}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=series`,service:`search?text=${e}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=service`,servicelayer:`search?text=${e}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=servicelayer`,software:`search?text=${e}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=software`,articles:`articles?text=${e}`},i={headers:new Headers({"Accept-Language":r})};return e&&e.length?yield Promise.all(Object.keys(o).map((e=>n(void 0,void 0,void 0,(function*(){const n=(0,t.getKartkatalogApiUrl)(s);return fetch(`${n}/${o[e]}&limit=5`,i).then((e=>e.json())).then((t=>Object.assign(Object.assign({},t),{searchResultsType:e})))}))))):null}))},2781(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.renderDropdownResultLink=t.convertTextToUrlSlug=t.getGeonorgeNedlastingUrl=t.getGeonorgeUrl=t.getMinsideUrl=t.getKartkatalogUrl=void 0,t.getKartkatalogUrl=e=>`https://kartkatalog.${"dev"===e||"test"===e?e+".":""}geonorge.no`,t.getMinsideUrl=e=>`https://minside.${"dev"===e||"test"===e?e+".":""}geonorge.no`,t.getGeonorgeUrl=(e,t)=>`https://www.${"dev"===t||"test"===t?"test.":""}geonorge.no/${"en"===e?"en/":""}`,t.getGeonorgeNedlastingUrl=e=>`https://nedlasting.${"dev"===e||"test"===e?"test.":""}geonorge.no`;const n=(e,t,n)=>(e=(e=(e=e.replace(new RegExp(`([^s])([${t}])([^s])`,"ig"),`$1 ${n} $3`)).replace(new RegExp(`([^s])([${t}])`,"ig"),`$1 ${n}`)).replace(new RegExp(`([${t}])([^s])`,"ig"),`${n} $2`)).replace(new RegExp(`[${t}]`,"ig"),n);t.convertTextToUrlSlug=(e="")=>(e=e.toLowerCase(),e=n(e,"&","and"),(e=(e=(e=(e=(e=(e=(e=(e=(e=n(e,"+","plus")).replace("æ","ae")).replace("ä","ae")).replace("ø","oe")).replace("ö","oe")).replace("å","aa")).replace(/( - )/g,"-")).replace(/[\s]+/g,"-")).replace(/[^a-z0-9-]+/gi,"")).replace(/^[^A-Z0-9]*|[^a-z0-9]*$/gi,""));const r=(e,t)=>{if(!t)return!1;t({event:"updateSearchString",category:"metadataSearch",activity:"dropDownResultsClick",searchString:e})};t.renderDropdownResultLink=(e,n,s,o,i)=>"articles"===n?`<a onClick="${r(s,i)}" href="${e.ShowDetailsUrl?e.ShowDetailsUrl:"#"}">${e.Title}</a>`:`<a onClick="${r(s,i)}" href="${(0,t.getKartkatalogUrl)(o)}/metadata/${(0,t.convertTextToUrlSlug)(e.Title)}/${e.Uuid}?search=${s}">${e.Title}</a>`},1517(e,t,n){"use strict";var r,s=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__decorate||function(e,t,n,r){var s,o=arguments.length,i=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,n,i):s(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i},a=this&&this.__importStar||(r=function(e){return r=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},r(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=r(e),i=0;i<n.length;i++)"default"!==n[i]&&s(t,e,n[i]);return o(t,e),t}),c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MainSearchField=void 0;const l=n(3128),d=n(8914),u=n(2781),h=c(n(8289));let p=class extends l.CustomElement{constructor(){super(),this.searchstring="",this.renderSearchResultsForType=e=>{const t=e.Results[0].TypeTranslated,n=e.searchResultsType,r=e.Results.map((e=>`<li>${(0,u.renderDropdownResultLink)(e,n,this.searchstring,this.environment)}</li>`)).join("");return`\n <div class="search-results-for-type">\n <a href="${"articles"===n?`${(0,u.getKartkatalogUrl)(this.environment)}/articles?text=${this.searchstring}`:`${(0,u.getKartkatalogUrl)(this.environment)}/metadata?text=${this.searchstring}&type=${n}`}" class="search-results-for-type-title">\n ${t}\n <span class="search-results-for-type-number-badge">\n ${e.NumFound}\n </span>\n </a>\n <ul class="search-results-for-type-list">\n ${r}\n </ul>\n </div>`},this.renderSearchResults=e=>`<div>${e.map((e=>this.renderSearchResultsForType(e))).join("")}</div>`,this.hideSearchResultsContainer=()=>{this.showSearchResults=!1},this.clickOutsideSearchResultsContainer=this.clickOutsideSearchResultsContainer.bind(this)}setup(e){this.connect(e.container),e.id&&(this.id=e.id)}connectedCallback(){this.searchField=(0,l.getShadowRootElement)(this,"#main-search-input"),this.searchFieldLabel=(0,l.getShadowRootElement)(this,"#main-search-input-label"),this.searchButton=(0,l.getShadowRootElement)(this,"#search-submit-button"),this.searchFieldLabel.innerHTML="en"===this.language?"Search":"Søk",this.searchButton.innerHTML=h.default,this.searchResultsContainer=(0,l.getShadowRootElement)(this,"#search-results-container"),this.searchResultsContainer.style.maxHeight=window.innerHeight-61+"px",this.searchField&&this.searchstring&&this.searchField.setAttribute("value",this.searchstring),document.addEventListener("click",this.clickOutsideSearchResultsContainer)}disconnectedCallback(){document.removeEventListener("click",this.clickOutsideSearchResultsContainer)}clickOutsideSearchResultsContainer(e){var t;const n=e.composedPath()[0];if(n.closest("#search-results-container")||n.closest("#main-search-input")){const e=n.closest("a");(null===(t=null==e?void 0:e.href)||void 0===t?void 0:t.length)&&this.hideSearchResultsContainer()}else this.hideSearchResultsContainer()}submitSearch(){var e;this.hideSearchResultsContainer(),this.preventRedirect?this.onSearch.emit({detail:{searchString:this.searchstring}}):window.location.href=`${(0,u.getKartkatalogUrl)(this.environment)}/metadata?text=${(null===(e=this.searchstring)||void 0===e?void 0:e.length)?encodeURI(this.searchstring.toString()):""}`}searchFieldKeyUp(e){var t,n,r;e.key&&"Enter"===e.key&&(null===(t=this.searchstring)||void 0===t?void 0:t.toString().length)?this.submitSearch():this.searchstring=(null===(r=null===(n=this.searchField)||void 0===n?void 0:n.value)||void 0===r?void 0:r.toString())||""}onSearchSubmitted(e){this.submitSearch()}searchStringChanged(){this.searchField&&this.searchField.setAttribute("value",this.searchstring),(0,d.fetchDropdownSearchResults)(this.searchstring,this.language,this.environment).then((e=>{this.searchResultsResponses=e}))}languageChanged(){this.searchField&&this.searchField.setAttribute("aria-label","en"===this.language?"Enter your search query":"Skriv inn det du vil søke etter"),this.searchFieldLabel&&(this.searchFieldLabel.innerText="en"===this.language?"Search":"Søk"),this.searchButton&&this.searchButton.setAttribute("aria-label","en"===this.language?"Search":"Søk")}showSearchResultsChanged(){this.showSearchResults?this.searchResultsContainer.classList.add("open"):this.searchResultsContainer.classList.remove("open")}searchResultsResponseChanged(){const e=this.searchResultsResponses&&this.searchResultsResponses.length?this.searchResultsResponses.filter((e=>e.NumFound>0)):[];this.searchResultsContainer.innerHTML=e.length?this.renderSearchResults(e):"",this.showSearchResults=!!e.length}static setup(e,t){const n=(0,l.getElement)(e);t.onClick&&n.addEventListener("searchButtonClick",t.onClick),t.active&&(n.showSearchResults=t.active)}};t.MainSearchField=p,p.elementSelector="main-search-field",i([(0,l.Prop)()],p.prototype,"id",void 0),i([(0,l.Prop)()],p.prototype,"environment",void 0),i([(0,l.Toggle)()],p.prototype,"showSearchResults",void 0),i([(0,l.Toggle)()],p.prototype,"preventRedirect",void 0),i([(0,l.Prop)()],p.prototype,"searchstring",void 0),i([(0,l.Prop)()],p.prototype,"language",void 0),i([(0,l.Prop)()],p.prototype,"searchResultsResponses",void 0),i([(0,l.Dispatch)("searchResultsChanged")],p.prototype,"onTextChanged",void 0),i([(0,l.Dispatch)("onSearchStringChange")],p.prototype,"onSearchStringChange",void 0),i([(0,l.Dispatch)("onSearch")],p.prototype,"onSearch",void 0),i([(0,l.Listen)("keyup","input")],p.prototype,"searchFieldKeyUp",null),i([(0,l.Listen)("click","#search-submit-button")],p.prototype,"onSearchSubmitted",null),i([(0,l.Watch)("searchstring")],p.prototype,"searchStringChanged",null),i([(0,l.Watch)("language")],p.prototype,"languageChanged",null),i([(0,l.Watch)("showsearchresults")],p.prototype,"showSearchResultsChanged",null),i([(0,l.Watch)("searchResultsResponses")],p.prototype,"searchResultsResponseChanged",null),t.MainSearchField=p=i([(0,l.Component)({tag:"main-search-field",template:Promise.resolve().then((()=>a(n(2979)))),style:Promise.resolve().then((()=>a(n(5533))))})],p)}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={id:r,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}return n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(1517)})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.geonorge=t():(e.geonorge=e.geonorge||{},e.geonorge.MainSearchField=t())}(self,(()=>(()=>{var e={5533(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5052),s=n.n(r),o=n(164),i=n.n(o)()(s());i.push([e.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%;max-width:440px}@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{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;height:37px;width:100%;outline-offset:-2px;background:#fff;border:1px solid #dfdcda;border-right:0;font-family:"Open Sans",sans-serif;font-size:18px;font-weight:normal;flex:1;margin:0;padding:0 .75em}div.main-search-field button{-webkit-appearance:button;-moz-appearance:button;appearance:button;-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;margin:0;background:#fff;border:1px solid #dfdcda;border-left: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{font-family:"Open Sans",sans-serif;padding:6px 16px;font-size:18px;display:inline-block;font-weight:normal}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:1px 4px;color:#fff;background-color:#fe5000;display:inline-block;font-size:.7em;vertical-align:middle;text-align:center;min-width:24px;font-weight:bold}div.search-results-container div.search-results-for-type ul.search-results-for-type-list{list-style:none;padding:0 16px 12px 32px;margin:0}div.search-results-container div.search-results-for-type ul.search-results-for-type-list li a{font-family:"Open Sans",sans-serif;padding:2px 0;display:block;font-size:14px;font-weight:normal}.hidden{height:0;width:0;position:absolute;color:rgba(0,0,0,0);overflow:hidden}',"",{version:3,sources:["webpack://./stories/main-navigation/main-search-field/main-search-field.scss","webpack://./style/variables/_typography.scss","webpack://./style/mixins/_breakpoints.scss","webpack://./style/mixins/_appearance.scss","webpack://./style/mixins/_border-radius.scss","webpack://./style/mixins/_box-shadow.scss","webpack://./style/variables/_colors.scss"],names:[],mappings:"AAOA,EACE,qBAAA,CAGF,sBACE,kCCZa,CDab,YAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,UAAA,CACA,eAAA,CEFM,0BFLR,sBAUI,YAAA,CAAA,CAGF,uCACE,OAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CAGF,4BG9BE,uBH+B+B,CG9B/B,oBH8B+B,CG7B/B,eH6B+B,CI/BjC,iCJgCuC,CI/BvC,yBJ+BuC,CACrC,WAAA,CACA,UAAA,CACA,mBAAA,CACA,eAAA,CACA,wBAAA,CACA,cAAA,CACA,kCCxCW,CDyCX,cAAA,CACA,kBAAA,CACA,MAAA,CACA,QAAA,CACA,eAAA,CAGF,6BG/CE,yBHgD+B,CG/C/B,sBH+C+B,CG9C/B,iBH8C+B,CIhDjC,iCJiDuC,CIhDvC,yBJgDuC,CACrC,QAAA,CACA,eAAA,CACA,wBAAA,CACA,aAAA,CACA,oBAAA,CACA,eAAA,CACA,WAAA,CAEA,iCACE,WAAA,CACA,UAAA,CAKN,6BKjEI,8GLkEF,CKjEE,2GLiEF,CKhEE,sGLgEF,CIlEA,iCJuEqC,CItErC,yBJsEqC,CACrC,iBAAA,CACA,kBAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CAEA,kCACE,aAAA,CACA,UAAA,CACA,eAAA,CAGF,+BACE,aMvEW,CNwEX,oBAAA,CACA,qCACE,aMzEc,CN0Ed,yBAAA,CAKF,wEACE,wBAAA,CAEF,yEACE,wBAAA,CAEF,yFACE,kCCtGS,CDuGT,gBAAA,CACA,cAAA,CACA,oBAAA,CACA,kBAAA,CACA,mII1GJ,yBJ2G2C,CI1G3C,iBJ0G2C,CACrC,eAAA,CACA,UAAA,CACA,wBMpGQ,CNqGR,oBAAA,CACA,cAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,gBAAA,CAGJ,yFACE,eAAA,CACA,wBAAA,CACA,QAAA,CAEE,8FACE,kCC9HK,CD+HL,aAAA,CACA,aAAA,CACA,cAAA,CACA,kBAAA,CAOV,QACE,QAAA,CACA,OAAA,CACA,iBAAA,CACA,mBAAA,CACA,eAAA",sourcesContent:['@use "../../../style/mixins/appearance";\n@use "../../../style/mixins/border-radius";\n@use "../../../style/mixins/box-shadow";\n@use "../../../style/mixins/breakpoints";\n@use "../../../style/variables/colors";\n@use "../../../style/variables/typography";\n\n* {\n box-sizing: border-box;\n}\n\ndiv.main-search-field {\n font-family: typography.$default-font;\n display: flex;\n height: 37px;\n margin-top: 0.25em;\n position: relative;\n width: 100%;\n max-width: 440px;\n\n @include breakpoints.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 @include appearance.appearance(none);\n @include border-radius.border-radius(4px 0 0 4px);\n height: 37px;\n width: 100%;\n outline-offset: -2px;\n background: #fff;\n border: 1px solid #dfdcda;\n border-right: 0;\n font-family: typography.$default-font;\n font-size: 18px;\n font-weight: normal;\n flex: 1;\n margin: 0;\n padding: 0 0.75em;\n }\n\n button {\n @include appearance.appearance(button);\n @include border-radius.border-radius(0 4px 4px 0);\n margin: 0;\n background: #fff;\n border: 1px solid #dfdcda;\n border-left: 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.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.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: colors.$primary-text;\n text-decoration: none;\n &:hover {\n color: colors.$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 font-family: typography.$default-font;\n padding: 6px 16px;\n font-size: 18px;\n display: inline-block;\n font-weight: normal;\n span.search-results-for-type-number-badge {\n @include border-radius.border-radius(6px);\n padding: 1px 4px;\n color: #fff;\n background-color: colors.$primary-brand;\n display: inline-block;\n font-size: 0.7em;\n vertical-align: middle;\n text-align: center;\n min-width: 24px;\n font-weight: bold;\n }\n }\n ul.search-results-for-type-list {\n list-style: none;\n padding: 0 16px 12px 32px;\n margin: 0;\n li {\n a {\n font-family: typography.$default-font;\n padding: 2px 0;\n display: block;\n font-size: 14px;\n font-weight: normal;\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", sans-serif;\n$default-font-size: 15px;\n','@use "../variables/breakpoints";\n\n@mixin breakpoint($point) {\n @if $point == desktop {\n @media (min-width: breakpoints.$screen-desktop) {\n @content;\n }\n } @else if $point == laptop {\n @media (min-width: breakpoints.$screen-laptop) {\n @content;\n }\n } @else if $point == tablet {\n @media (min-width: breakpoints.$screen-tablet) {\n @content;\n }\n } @else if $point == phablet {\n @media (min-width: breakpoints.$screen-phablet) {\n @content;\n }\n }\n}\n',"\ufeff@mixin appearance ($value) {\n -webkit-appearance: $value;\n -moz-appearance: $value;\n appearance: $value;\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}","\ufeff@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$light-gray: #f6f5f4;\n\n$primary-brand: #FE5000;\n\n$primary-background: #3767C7;\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: #f4f4f4;\n$disabled-border: #dedede;\n$disabled-text: #707070;\n\n\n$light-green: #8fff33;\n$light-yellow: #ffEb3b;\n$light-red: #ff4a2e;\n"],sourceRoot:""}]);const a=i},2979(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>r});const r='<template>\n <div class="main-search-field" id="main-search-content">\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 </div>\n </div>\n </template>'},164(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,s,o){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(i[c]=!0)}for(var l=0;l<e.length;l++){var d=[].concat(e[l]);r&&i[d[0]]||(void 0!==o&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=o),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),s&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=s):d[4]="".concat(s)),t.push(d))}},t}},5052(e){"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),o="/*# ".concat(s," */");return[t].concat([o]).join("\n")}return[t].join("\n")}},8631(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(s,o){function i(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.Component=void 0;const s=n(169),o=n(6999),i=n(2466);t.Component=e=>t=>{var n;const a=e.tag||i.toKebabCase(t.prototype.constructor.name),c=((n=class extends t{constructor(){super(),this.props={},this.showShadowRoot=null==e.shadow||e.shadow,!this.shadowRoot&&this.showShadowRoot&&this.attachShadow({mode:"open"})}static get observedAttributes(){return Object.keys(this.propsInit||{}).map((e=>i.toKebabCase(e)))}attributeChangedCallback(e,t,n){this.onAttributeChange(e,t,n)}onAttributeChange(e,t,n,r=!0){if(t!=n){r&&(this[i.toCamelCase(e)]=n);const s=this.constructor.watchAttributes;if(s&&s[e]){const r=s[e];this.__connected&&"function"==typeof this[r]&&this[r]({old:t,new:n})}}}connectedCallback(){const e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return r(this,void 0,void 0,(function*(){yield this.render(),e.connectedCallback&&e.connectedCallback.call(this),this.__connected=!0,s.addEventListeners(this),o.initializeProps(this)}))}render(){return r(this,void 0,void 0,(function*(){if(this.__connected)return;const t=document.createElement("template");t.innerHTML=yield this.getStyle(),e.template instanceof Promise?t.content.appendChild(yield this.getExternalTemplate()):"string"==typeof e.template&&(t.innerHTML+=e.template),(this.showShadowRoot?this.shadowRoot:this).appendChild(t.content.cloneNode(!0))}))}getExternalTemplate(){return r(this,void 0,void 0,(function*(){const t=(yield e.template).default.toString(),n=document.createRange().createContextualFragment(t);return 1===n.children.length&&"TEMPLATE"===n.children[0].nodeName?n.firstChild.content:n}))}getStyle(){return r(this,void 0,void 0,(function*(){let t;return e.style instanceof Promise?t=(yield e.style).default.toString():"string"==typeof e.style&&(t=e.style),t?`<style>${t}</style>`:""}))}}).__connected=!1,n.ready=new Promise(((e,t)=>e(!0))),n);return customElements.get(a)||customElements.define(a,c),c}},3704(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CustomElement=void 0;class n extends HTMLElement{constructor(){super()}connect(e){this.isConnected||document.querySelector(e).appendChild(this)}}t.CustomElement=n},3365(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getShadowRootElement=t.getElement=void 0,t.getElement=e=>document.querySelector(e),t.getShadowRootElement=(e,t)=>e.shadowRoot.querySelector(t)},3128(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),s(n(8631),t),s(n(3704),t),s(n(3365),t),s(n(169),t),s(n(6999),t),s(n(3982),t),s(n(8861),t),s(n(1063),t)},169(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dispatch=t.addEventListeners=t.Listen=void 0;const r=n(2466);t.Listen=(e,t)=>(n,r)=>{n.constructor.listeners||(n.constructor.listeners=[]),n.constructor.listeners.push({selector:t,eventName:e,handler:n[r]})},t.addEventListeners=e=>{if(e.constructor.listeners){const t=e.shadowRoot||e;for(const n of e.constructor.listeners){const r=n.selector?t.querySelector(n.selector)?t.querySelector(n.selector):null:e;r&&r.addEventListener(n.eventName,(t=>{n.handler.call(e,t)}))}}},t.Dispatch=e=>(t,n)=>{Object.defineProperty(t,n,{get:function(){const t=this;return{emit(s){const o=e||r.toDotCase(n);t.dispatchEvent(new CustomEvent(o,s))}}}})}},6999(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initializeProps=t.Prop=void 0;const r=n(2466);t.Prop=()=>(e,t)=>{const n=r.toKebabCase(t);e.constructor.propsInit||(e.constructor.propsInit={}),e.constructor.propsInit[t]=null,Object.defineProperty(e,t,{get:function(){return this.props[t]?this.props[t]:this.getAttribute(n)},set:function(e){if(this.__connected){const s=this.props[t];this.props[t]=r.tryParseInt(e),"object"!=typeof e?this.setAttribute(n,e):this.onAttributeChange(n,s,e,!1)}else this.hasAttribute(r.toKebabCase(t))||(this.constructor.propsInit[t]=e)}})},t.initializeProps=e=>{const t=e.constructor.watchAttributes;for(let n of(e=>{const t=e.constructor.watchAttributes,n=Object.assign({},t);Object.keys(n).forEach((e=>n[e]=""));const r=Object.assign(Object.assign({},n),e.constructor.propsInit);return Object.keys(r)})(e)){if(t)if(null==t[r.toKebabCase(n)])t[r.toKebabCase(n)]="";else{const s=e.props[n]||e.getAttribute(r.toKebabCase(n));"function"==typeof e[t[n]]&&e[t[n]]({new:s})}e.constructor.propsInit[n]&&(e.hasAttribute(r.toKebabCase(n))||(e[n]=e.constructor.propsInit[n]))}}},3982(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Toggle=void 0;const r=n(2466);t.Toggle=()=>(e,t)=>{e.constructor.propsInit||(e.constructor.propsInit={}),e.constructor.propsInit[t]=null,Object.defineProperty(e,t,{get:function(){return(e=>{if(this.hasAttribute(e)){const t=this.getAttribute(e);return!!/^(true|false|^$)$/.test(t)&&("true"==t||""==t)}return!1})(t)},set:function(e){const n=e;if(null!=e)switch(typeof e){case"boolean":break;case"string":/^(true|false|^$)$/.test(e)?e="true"==n||""==n:(console.warn(`TypeError: Cannot set boolean toggle property '${t}' to '${e}'`),e=!1);break;default:throw`TypeError: Cannot set boolean toggle property '${t}' to '${e}'`}this.__connected?(this.props[t]=e||!1,""!==n&&null!==n?this.setAttribute(t,e):e?this.setAttribute(t,""):this.removeAttribute(t)):this.hasAttribute(r.toKebabCase(t))||(this.constructor.propsInit[t]=e)}})}},8861(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2466(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tryParseInt=t.toDotCase=t.toCamelCase=t.toKebabCase=void 0,t.toKebabCase=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),t.toCamelCase=e=>e.toLowerCase().replace(/(\-\w)/g,(e=>e[1].toUpperCase())),t.toDotCase=e=>e.replace(/(?!^)([A-Z])/g," $1").replace(/[_\s]+(?=[a-zA-Z])/g,".").toLowerCase(),t.tryParseInt=e=>parseInt(e)==e&&NaN!==parseFloat(e)?parseInt(e):e},1063(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Watch=void 0;const r=n(2466);t.Watch=e=>(t,n)=>{t.constructor.watchAttributes||(t.constructor.watchAttributes={}),t.constructor.watchAttributes[r.toKebabCase(e)]=n,t.constructor.propsInit||(t.constructor.propsInit={}),t.constructor.propsInit[e]=null}},8289(e){e.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>'},8914(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(s,o){function i(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchDropdownSearchResults=t.fetchMenuItems=t.getGeonorgeMenuUrl=t.deleteShortcutItem=t.postShortcutItem=t.fetchShortcutItem=t.getMinSideShortcutUrl=t.getMinSideShortcutApiUrl=t.getKartkatalogApiUrl=void 0;const s=n(8245);t.getKartkatalogApiUrl=e=>{const t=(0,s.getConfig)();return t.kartkatalogApiUrl?t.kartkatalogApiUrl:`https://kartkatalog.${"dev"===e||"test"===e?e+".":""}geonorge.no/api`},t.getMinSideShortcutApiUrl=(e,t)=>{const n=(0,s.getConfig)(),r=(null==t?void 0:t.length)?`?${new URLSearchParams({url:t}).toString()}`:"";return n.minsideUrl?`${n.minsideUrl}/api/shortcut${r}`:`https://minside.${"dev"===e||"test"===e?e+".":""}geonorge.no/api/shortcut${r}`},t.getMinSideShortcutUrl=e=>{const t=(0,s.getConfig)();return t.minsideUrl?`${t.minsideUrl}/shortcuts`:`https://minside.${"dev"===e||"test"===e?e+".":""}geonorge.no/shortcuts`},t.fetchShortcutItem=(...e)=>r(void 0,[...e],void 0,(function*(e="",n,r){const s=(0,t.getMinSideShortcutApiUrl)(e,r),o={method:"GET",headers:new Headers({Authorization:`Bearer ${n}`})};try{return fetch(s,o).then((e=>200===e.status?e.json().then((e=>e)):null))}catch(e){return console.error("Error fetching shortcut items:",e),null}})),t.postShortcutItem=(...e)=>r(void 0,[...e],void 0,(function*(e="",n,r){const s=(0,t.getMinSideShortcutApiUrl)(e),o={method:"POST",headers:new Headers({Authorization:`Bearer ${n}`,"Content-Type":"application/json"}),body:JSON.stringify(r)};return fetch(s,o).then((e=>e.json())).then((e=>e))})),t.deleteShortcutItem=(...e)=>r(void 0,[...e],void 0,(function*(e="",n,r){const s=(0,t.getMinSideShortcutApiUrl)(e),o={method:"DELETE",headers:new Headers({Authorization:`Bearer ${n}`,"Content-Type":"application/json"}),body:JSON.stringify(r)};return fetch(s,o)})),t.getGeonorgeMenuUrl=(e,t)=>{const n=(0,s.getConfig)(),r="en"===e?"en/":"";return n.geonorgeUrl?`${n.geonorgeUrl}/${r}api/menu/get?omitLinks=1`:"dev"===t?"https://dev.geonorge.no/menu.xml":`https://www.${"dev"===t||"test"===t?"test.":""}geonorge.no/${r}api/menu/get?omitLinks=1`},t.fetchMenuItems=(e="no",n="")=>{const r=(0,t.getGeonorgeMenuUrl)(e,n);return fetch(r).then((e=>e.json())).then((e=>e))},t.fetchDropdownSearchResults=(...e)=>r(void 0,[...e],void 0,(function*(e="",n="no",s=""){const o={dataset:`search?text=${e=e.toString()}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=dataset`,series:`search?text=${e}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=series`,service:`search?text=${e}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=service`,servicelayer:`search?text=${e}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=servicelayer`,software:`search?text=${e}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=software`,articles:`articles?text=${e}`},i={headers:new Headers({"Accept-Language":n})};return e&&e.length?yield Promise.all(Object.keys(o).map((e=>r(void 0,void 0,void 0,(function*(){const n=(0,t.getKartkatalogApiUrl)(s);return fetch(`${n}/${o[e]}&limit=5`,i).then((e=>e.json())).then((t=>Object.assign(Object.assign({},t),{searchResultsType:e})))}))))):null}))},8245(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getConfig=t.configure=void 0;let n={};t.configure=e=>{n=Object.assign(Object.assign({},n),e)},t.getConfig=()=>n},2781(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.renderDropdownResultLink=t.convertTextToUrlSlug=t.getGeonorgeNedlastingUrl=t.getGeonorgeUrl=t.getMinsideUrl=t.getKartkatalogUrl=void 0;const r=n(8245);t.getKartkatalogUrl=e=>{const t=(0,r.getConfig)();return t.kartkatalogUrl?t.kartkatalogUrl:`https://kartkatalog.${"dev"===e||"test"===e?e+".":""}geonorge.no`},t.getMinsideUrl=e=>{const t=(0,r.getConfig)();return t.minsideUrl?t.minsideUrl:`https://minside.${"dev"===e||"test"===e?e+".":""}geonorge.no`},t.getGeonorgeUrl=(e,t)=>{const n=(0,r.getConfig)();if(n.geonorgeUrl){const t="en"===e?"en/":"";return`${n.geonorgeUrl}/${t}`}return`https://www.${"dev"===t||"test"===t?"test.":""}geonorge.no/${"en"===e?"en/":""}`},t.getGeonorgeNedlastingUrl=e=>{const t=(0,r.getConfig)();return t.nedlastingUrl?t.nedlastingUrl:`https://nedlasting.${"dev"===e||"test"===e?"test.":""}geonorge.no`};const s=(e,t,n)=>(e=(e=(e=e.replace(new RegExp(`([^s])([${t}])([^s])`,"ig"),`$1 ${n} $3`)).replace(new RegExp(`([^s])([${t}])`,"ig"),`$1 ${n}`)).replace(new RegExp(`([${t}])([^s])`,"ig"),`${n} $2`)).replace(new RegExp(`[${t}]`,"ig"),n);t.convertTextToUrlSlug=(e="")=>(e=e.toLowerCase(),e=s(e,"&","and"),(e=(e=(e=(e=(e=(e=(e=(e=(e=s(e,"+","plus")).replace("æ","ae")).replace("ä","ae")).replace("ø","oe")).replace("ö","oe")).replace("å","aa")).replace(/( - )/g,"-")).replace(/[\s]+/g,"-")).replace(/[^a-z0-9-]+/gi,"")).replace(/^[^A-Z0-9]*|[^a-z0-9]*$/gi,""));const o=(e,t)=>{if(!t)return!1;t({event:"updateSearchString",category:"metadataSearch",activity:"dropDownResultsClick",searchString:e})};t.renderDropdownResultLink=(e,n,r,s,i)=>"articles"===n?`<a onClick="${o(r,i)}" href="${e.ShowDetailsUrl?e.ShowDetailsUrl:"#"}">${e.Title}</a>`:`<a onClick="${o(r,i)}" href="${(0,t.getKartkatalogUrl)(s)}/metadata/${(0,t.convertTextToUrlSlug)(e.Title)}/${e.Uuid}?search=${r}">${e.Title}</a>`},1517(e,t,n){"use strict";var r,s=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__decorate||function(e,t,n,r){var s,o=arguments.length,i=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,n,i):s(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i},a=this&&this.__importStar||(r=function(e){return r=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},r(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=r(e),i=0;i<n.length;i++)"default"!==n[i]&&s(t,e,n[i]);return o(t,e),t}),c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MainSearchField=void 0;const l=n(3128),d=n(8914),u=n(2781),h=c(n(8289));let p=class extends l.CustomElement{constructor(){super(),this.searchstring="",this.renderSearchResultsForType=e=>{const t=e.Results[0].TypeTranslated,n=e.searchResultsType,r=e.Results.map((e=>`<li>${(0,u.renderDropdownResultLink)(e,n,this.searchstring,this.environment)}</li>`)).join("");return`\n <div class="search-results-for-type">\n <a href="${"articles"===n?`${(0,u.getKartkatalogUrl)(this.environment)}/articles?text=${this.searchstring}`:`${(0,u.getKartkatalogUrl)(this.environment)}/metadata?text=${this.searchstring}&type=${n}`}" class="search-results-for-type-title">\n ${t}\n <span class="search-results-for-type-number-badge">\n ${e.NumFound}\n </span>\n </a>\n <ul class="search-results-for-type-list">\n ${r}\n </ul>\n </div>`},this.renderSearchResults=e=>`<div>${e.map((e=>this.renderSearchResultsForType(e))).join("")}</div>`,this.hideSearchResultsContainer=()=>{this.showSearchResults=!1},this.clickOutsideSearchResultsContainer=this.clickOutsideSearchResultsContainer.bind(this)}setup(e){this.connect(e.container),e.id&&(this.id=e.id)}connectedCallback(){this.searchField=(0,l.getShadowRootElement)(this,"#main-search-input"),this.searchFieldLabel=(0,l.getShadowRootElement)(this,"#main-search-input-label"),this.searchButton=(0,l.getShadowRootElement)(this,"#search-submit-button"),this.searchFieldLabel.innerHTML="en"===this.language?"Search":"Søk",this.searchButton.innerHTML=h.default,this.searchResultsContainer=(0,l.getShadowRootElement)(this,"#search-results-container"),this.searchResultsContainer.style.maxHeight=window.innerHeight-61+"px",this.searchField&&this.searchstring&&this.searchField.setAttribute("value",this.searchstring),document.addEventListener("click",this.clickOutsideSearchResultsContainer)}disconnectedCallback(){document.removeEventListener("click",this.clickOutsideSearchResultsContainer)}clickOutsideSearchResultsContainer(e){var t;const n=e.composedPath()[0];if(n.closest("#search-results-container")||n.closest("#main-search-input")){const e=n.closest("a");(null===(t=null==e?void 0:e.href)||void 0===t?void 0:t.length)&&this.hideSearchResultsContainer()}else this.hideSearchResultsContainer()}submitSearch(){var e;this.hideSearchResultsContainer(),this.preventRedirect?this.onSearch.emit({detail:{searchString:this.searchstring}}):window.location.href=`${(0,u.getKartkatalogUrl)(this.environment)}/metadata?text=${(null===(e=this.searchstring)||void 0===e?void 0:e.length)?encodeURI(this.searchstring.toString()):""}`}searchFieldKeyUp(e){var t,n,r;e.key&&"Enter"===e.key&&(null===(t=this.searchstring)||void 0===t?void 0:t.toString().length)?this.submitSearch():this.searchstring=(null===(r=null===(n=this.searchField)||void 0===n?void 0:n.value)||void 0===r?void 0:r.toString())||""}onSearchSubmitted(e){this.submitSearch()}searchStringChanged(){this.searchField&&this.searchField.setAttribute("value",this.searchstring),(0,d.fetchDropdownSearchResults)(this.searchstring,this.language,this.environment).then((e=>{this.searchResultsResponses=e}))}languageChanged(){this.searchField&&this.searchField.setAttribute("aria-label","en"===this.language?"Enter your search query":"Skriv inn det du vil søke etter"),this.searchFieldLabel&&(this.searchFieldLabel.innerText="en"===this.language?"Search":"Søk"),this.searchButton&&this.searchButton.setAttribute("aria-label","en"===this.language?"Search":"Søk")}showSearchResultsChanged(){this.showSearchResults?this.searchResultsContainer.classList.add("open"):this.searchResultsContainer.classList.remove("open")}searchResultsResponseChanged(){const e=this.searchResultsResponses&&this.searchResultsResponses.length?this.searchResultsResponses.filter((e=>e.NumFound>0)):[];this.searchResultsContainer.innerHTML=e.length?this.renderSearchResults(e):"",this.showSearchResults=!!e.length}static setup(e,t){const n=(0,l.getElement)(e);t.onClick&&n.addEventListener("searchButtonClick",t.onClick),t.active&&(n.showSearchResults=t.active)}};t.MainSearchField=p,p.elementSelector="main-search-field",i([(0,l.Prop)()],p.prototype,"id",void 0),i([(0,l.Prop)()],p.prototype,"environment",void 0),i([(0,l.Toggle)()],p.prototype,"showSearchResults",void 0),i([(0,l.Toggle)()],p.prototype,"preventRedirect",void 0),i([(0,l.Prop)()],p.prototype,"searchstring",void 0),i([(0,l.Prop)()],p.prototype,"language",void 0),i([(0,l.Prop)()],p.prototype,"searchResultsResponses",void 0),i([(0,l.Dispatch)("searchResultsChanged")],p.prototype,"onTextChanged",void 0),i([(0,l.Dispatch)("onSearchStringChange")],p.prototype,"onSearchStringChange",void 0),i([(0,l.Dispatch)("onSearch")],p.prototype,"onSearch",void 0),i([(0,l.Listen)("keyup","input")],p.prototype,"searchFieldKeyUp",null),i([(0,l.Listen)("click","#search-submit-button")],p.prototype,"onSearchSubmitted",null),i([(0,l.Watch)("searchstring")],p.prototype,"searchStringChanged",null),i([(0,l.Watch)("language")],p.prototype,"languageChanged",null),i([(0,l.Watch)("showsearchresults")],p.prototype,"showSearchResultsChanged",null),i([(0,l.Watch)("searchResultsResponses")],p.prototype,"searchResultsResponseChanged",null),t.MainSearchField=p=i([(0,l.Component)({tag:"main-search-field",template:Promise.resolve().then((()=>a(n(2979)))),style:Promise.resolve().then((()=>a(n(5533))))})],p)}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={id:r,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}return n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(1517)})()));
|
|
2
2
|
//# sourceMappingURL=MainSearchField.js.map
|
package/MainSearchField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainSearchField.js","mappings":"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","sources":["webpack://geonorge/webpack/universalModuleDefinition","webpack://geonorge/./stories/main-navigation/main-search-field/main-search-field.scss","webpack://geonorge/./stories/main-navigation/main-search-field/main-search-field.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/search-icon.svg","webpack://geonorge/./functions/apiHelpers.ts","webpack://geonorge/./functions/urlHelpers.ts","webpack://geonorge/./stories/main-navigation/main-search-field/main-search-field.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\"][\"MainSearchField\"] = 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}div.main-search-field{font-family:\"Open Sans\",sans-serif;display:flex;height:37px;margin-top:.25em;position:relative;width:100%;max-width:440px}@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{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;height:37px;width:100%;outline-offset:-2px;background:#fff;border:1px solid #dfdcda;border-right:0;font-family:\"Open Sans\",sans-serif;font-size:18px;font-weight:normal;flex:1;margin:0;padding:0 .75em}div.main-search-field button{-webkit-appearance:button;-moz-appearance:button;appearance:button;-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;margin:0;background:#fff;border:1px solid #dfdcda;border-left: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{font-family:\"Open Sans\",sans-serif;padding:6px 16px;font-size:18px;display:inline-block;font-weight:normal}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:1px 4px;color:#fff;background-color:#fe5000;display:inline-block;font-size:.7em;vertical-align:middle;text-align:center;min-width:24px;font-weight:bold}div.search-results-container div.search-results-for-type ul.search-results-for-type-list{list-style:none;padding:0 16px 12px 32px;margin:0}div.search-results-container div.search-results-for-type ul.search-results-for-type-list li a{font-family:\"Open Sans\",sans-serif;padding:2px 0;display:block;font-size:14px;font-weight:normal}.hidden{height:0;width:0;position:absolute;color:rgba(0,0,0,0);overflow:hidden}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/main-navigation/main-search-field/main-search-field.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_appearance.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAOA,EACE,qBAAA,CAGF,sBACE,kCCZa,CDab,YAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,UAAA,CACA,eAAA,CEFM,0BFLR,sBAUI,YAAA,CAAA,CAGF,uCACE,OAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CAGF,4BG9BE,uBH+B+B,CG9B/B,oBH8B+B,CG7B/B,eH6B+B,CI/BjC,iCJgCuC,CI/BvC,yBJ+BuC,CACrC,WAAA,CACA,UAAA,CACA,mBAAA,CACA,eAAA,CACA,wBAAA,CACA,cAAA,CACA,kCCxCW,CDyCX,cAAA,CACA,kBAAA,CACA,MAAA,CACA,QAAA,CACA,eAAA,CAGF,6BG/CE,yBHgD+B,CG/C/B,sBH+C+B,CG9C/B,iBH8C+B,CIhDjC,iCJiDuC,CIhDvC,yBJgDuC,CACrC,QAAA,CACA,eAAA,CACA,wBAAA,CACA,aAAA,CACA,oBAAA,CACA,eAAA,CACA,WAAA,CAEA,iCACE,WAAA,CACA,UAAA,CAKN,6BKjEI,8GLkEF,CKjEE,2GLiEF,CKhEE,sGLgEF,CIlEA,iCJuEqC,CItErC,yBJsEqC,CACrC,iBAAA,CACA,kBAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CAEA,kCACE,aAAA,CACA,UAAA,CACA,eAAA,CAGF,+BACE,aMvEW,CNwEX,oBAAA,CACA,qCACE,aMzEc,CN0Ed,yBAAA,CAKF,wEACE,wBAAA,CAEF,yEACE,wBAAA,CAEF,yFACE,kCCtGS,CDuGT,gBAAA,CACA,cAAA,CACA,oBAAA,CACA,kBAAA,CACA,mII1GJ,yBJ2G2C,CI1G3C,iBJ0G2C,CACrC,eAAA,CACA,UAAA,CACA,wBMpGQ,CNqGR,oBAAA,CACA,cAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,gBAAA,CAGJ,yFACE,eAAA,CACA,wBAAA,CACA,QAAA,CAEE,8FACE,kCC9HK,CD+HL,aAAA,CACA,aAAA,CACA,cAAA,CACA,kBAAA,CAOV,QACE,QAAA,CACA,OAAA,CACA,iBAAA,CACA,mBAAA,CACA,eAAA\",\"sourcesContent\":[\"@use \\\"../../../style/mixins/appearance\\\";\\n@use \\\"../../../style/mixins/border-radius\\\";\\n@use \\\"../../../style/mixins/box-shadow\\\";\\n@use \\\"../../../style/mixins/breakpoints\\\";\\n@use \\\"../../../style/variables/colors\\\";\\n@use \\\"../../../style/variables/typography\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.main-search-field {\\n font-family: typography.$default-font;\\n display: flex;\\n height: 37px;\\n margin-top: 0.25em;\\n position: relative;\\n width: 100%;\\n max-width: 440px;\\n\\n @include breakpoints.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 @include appearance.appearance(none);\\n @include border-radius.border-radius(4px 0 0 4px);\\n height: 37px;\\n width: 100%;\\n outline-offset: -2px;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-right: 0;\\n font-family: typography.$default-font;\\n font-size: 18px;\\n font-weight: normal;\\n flex: 1;\\n margin: 0;\\n padding: 0 0.75em;\\n }\\n\\n button {\\n @include appearance.appearance(button);\\n @include border-radius.border-radius(0 4px 4px 0);\\n margin: 0;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-left: 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.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.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: colors.$primary-text;\\n text-decoration: none;\\n &:hover {\\n color: colors.$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 font-family: typography.$default-font;\\n padding: 6px 16px;\\n font-size: 18px;\\n display: inline-block;\\n font-weight: normal;\\n span.search-results-for-type-number-badge {\\n @include border-radius.border-radius(6px);\\n padding: 1px 4px;\\n color: #fff;\\n background-color: colors.$primary-brand;\\n display: inline-block;\\n font-size: 0.7em;\\n vertical-align: middle;\\n text-align: center;\\n min-width: 24px;\\n font-weight: bold;\\n }\\n }\\n ul.search-results-for-type-list {\\n list-style: none;\\n padding: 0 16px 12px 32px;\\n margin: 0;\\n li {\\n a {\\n font-family: typography.$default-font;\\n padding: 2px 0;\\n display: block;\\n font-size: 14px;\\n font-weight: normal;\\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\\\", sans-serif;\\n$default-font-size: 15px;\\n\",\"@use \\\"../variables/breakpoints\\\";\\n\\n@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: breakpoints.$screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: breakpoints.$screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: breakpoints.$screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: breakpoints.$screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin appearance ($value) {\\n -webkit-appearance: $value;\\n -moz-appearance: $value;\\n appearance: $value;\\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\",\"$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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export default \"<template>\\n <div class=\\\"main-search-field\\\" id=\\\"main-search-content\\\">\\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 </div>\\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 = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\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 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 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 list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\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 return [content].concat([sourceMapping]).join(\"\\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 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>\"","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 getMinSideShortcutApiUrl = (environment: string, shortcutUrl?: string) => {\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? environment + \".\" : \"\";\n const urlParameterString = shortcutUrl?.length ? `?${new URLSearchParams({ url: shortcutUrl }).toString()}` : \"\";\n return `https://minside.${environmentSlug}geonorge.no/api/shortcut${urlParameterString}`;\n};\nexport const getMinSideShortcutUrl = (environment: string) => {\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? environment + \".\" : \"\";\n return `https://minside.${environmentSlug}geonorge.no/shortcuts`;\n};\n\nexport const fetchShortcutItem = async (environment: string = \"\", token: string, shortcutUrl: string) => {\n const apiUrl = getMinSideShortcutApiUrl(environment, shortcutUrl);\n const fetchOptions = {\n method: \"GET\",\n headers: new Headers({\n Authorization: `Bearer ${token}`\n })\n };\n try {\n return fetch(apiUrl, fetchOptions).then((res) => {\n if (res.status === 200) {\n return res.json().then((shortcutItem) => {\n return shortcutItem;\n });\n } else {\n return null;\n }\n });\n } catch (error) {\n console.error(\"Error fetching shortcut items:\", error);\n return null;\n }\n};\n\nexport const postShortcutItem = async (\n environment: string = \"\",\n token: string,\n shortcutItem: { name: string; url: string }\n) => {\n const apiUrl = getMinSideShortcutApiUrl(environment);\n const fetchOptions = {\n method: \"POST\",\n headers: new Headers({\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\"\n }),\n body: JSON.stringify(shortcutItem)\n };\n return fetch(apiUrl, fetchOptions)\n .then((res) => res.json())\n .then((shortcutItem) => {\n return shortcutItem;\n });\n};\n\nexport const deleteShortcutItem = async (environment: string = \"\", token: string, shortcutItem: { url: string }) => {\n const apiUrl = getMinSideShortcutApiUrl(environment);\n const fetchOptions = {\n method: \"DELETE\",\n headers: new Headers({\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\"\n }),\n body: JSON.stringify(shortcutItem)\n };\n return fetch(apiUrl, fetchOptions);\n};\n\nexport const getGeonorgeMenuUrl = (language: string, environment: string) => {\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? \"test.\" : \"\";\n const selectedLanguageSlug = language === \"en\" ? \"en/\" : \"\";\n if (environment === \"dev\") return `https://dev.geonorge.no/menu.xml`;\n else 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)\n .then((res) => res.json())\n .then((menuItems) => {\n return menuItems;\n });\n};\n\nexport const fetchDropdownSearchResults = async (\n searchString: string = \"\",\n language: string = \"no\",\n environment: string = \"\"\n) => {\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\n ? await Promise.all(\n 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 })\n )\n : null;\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};\nexport const getMinsideUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://minside.${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}?search=${searchString}\">${searchResult.Title}</a>`\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?.length ? encodeURI(this.searchstring.toString()) : ''}`\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","// 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__(1517);\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","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","getKartkatalogApiUrl","environment","getMinSideShortcutApiUrl","shortcutUrl","URLSearchParams","url","getMinSideShortcutUrl","fetchShortcutItem","token","apiUrl","fetchOptions","method","headers","Headers","Authorization","fetch","then","res","status","json","shortcutItem","error","postShortcutItem","body","deleteShortcutItem","getGeonorgeMenuUrl","language","fetchMenuItems","menuItems","fetchDropdownSearchResults","searchString","urlParameterStrings","dataset","series","service","servicelayer","software","articles","all","searchResultsType","kartkatalogApiUrl","searchResults","getKartkatalogUrl","getMinsideUrl","getGeonorgeUrl","getGeonorgeNedlastingUrl","replaceAndAddSpace","text","replaceWith","RegExp","convertTextToUrlSlug","handleSearchResultsClick","pushToDataLayer","event","category","activity","renderDropdownResultLink","searchResult","resultType","ShowDetailsUrl","Title","Uuid","MainSearchField","searchstring","renderSearchResultsForType","searchResultsResponseForType","searchResultsTypeName","Results","TypeTranslated","searchResultsListElements","NumFound","renderSearchResults","searchResultsResponses","hideSearchResultsContainer","showSearchResults","clickOutsideSearchResultsContainer","bind","setup","container","searchField","searchFieldLabel","searchButton","searchResultsContainer","maxHeight","window","innerHeight","disconnectedCallback","removeEventListener","targetElement","composedPath","closest","closestLink","href","submitSearch","preventRedirect","onSearch","detail","location","encodeURI","searchFieldKeyUp","key","onSearchSubmitted","searchStringChanged","languageChanged","innerText","showSearchResultsChanged","classList","add","remove","searchResultsResponseChanged","filter","element","onClick","active","elementSelector","__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":"MainSearchField.js","mappings":"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","sources":["webpack://geonorge/webpack/universalModuleDefinition","webpack://geonorge/./stories/main-navigation/main-search-field/main-search-field.scss","webpack://geonorge/./stories/main-navigation/main-search-field/main-search-field.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/search-icon.svg","webpack://geonorge/./functions/apiHelpers.ts","webpack://geonorge/./functions/config.ts","webpack://geonorge/./functions/urlHelpers.ts","webpack://geonorge/./stories/main-navigation/main-search-field/main-search-field.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\"][\"MainSearchField\"] = 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}div.main-search-field{font-family:\"Open Sans\",sans-serif;display:flex;height:37px;margin-top:.25em;position:relative;width:100%;max-width:440px}@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{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;height:37px;width:100%;outline-offset:-2px;background:#fff;border:1px solid #dfdcda;border-right:0;font-family:\"Open Sans\",sans-serif;font-size:18px;font-weight:normal;flex:1;margin:0;padding:0 .75em}div.main-search-field button{-webkit-appearance:button;-moz-appearance:button;appearance:button;-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;margin:0;background:#fff;border:1px solid #dfdcda;border-left: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{font-family:\"Open Sans\",sans-serif;padding:6px 16px;font-size:18px;display:inline-block;font-weight:normal}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:1px 4px;color:#fff;background-color:#fe5000;display:inline-block;font-size:.7em;vertical-align:middle;text-align:center;min-width:24px;font-weight:bold}div.search-results-container div.search-results-for-type ul.search-results-for-type-list{list-style:none;padding:0 16px 12px 32px;margin:0}div.search-results-container div.search-results-for-type ul.search-results-for-type-list li a{font-family:\"Open Sans\",sans-serif;padding:2px 0;display:block;font-size:14px;font-weight:normal}.hidden{height:0;width:0;position:absolute;color:rgba(0,0,0,0);overflow:hidden}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/main-navigation/main-search-field/main-search-field.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_appearance.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAOA,EACE,qBAAA,CAGF,sBACE,kCCZa,CDab,YAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,UAAA,CACA,eAAA,CEFM,0BFLR,sBAUI,YAAA,CAAA,CAGF,uCACE,OAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CAGF,4BG9BE,uBH+B+B,CG9B/B,oBH8B+B,CG7B/B,eH6B+B,CI/BjC,iCJgCuC,CI/BvC,yBJ+BuC,CACrC,WAAA,CACA,UAAA,CACA,mBAAA,CACA,eAAA,CACA,wBAAA,CACA,cAAA,CACA,kCCxCW,CDyCX,cAAA,CACA,kBAAA,CACA,MAAA,CACA,QAAA,CACA,eAAA,CAGF,6BG/CE,yBHgD+B,CG/C/B,sBH+C+B,CG9C/B,iBH8C+B,CIhDjC,iCJiDuC,CIhDvC,yBJgDuC,CACrC,QAAA,CACA,eAAA,CACA,wBAAA,CACA,aAAA,CACA,oBAAA,CACA,eAAA,CACA,WAAA,CAEA,iCACE,WAAA,CACA,UAAA,CAKN,6BKjEI,8GLkEF,CKjEE,2GLiEF,CKhEE,sGLgEF,CIlEA,iCJuEqC,CItErC,yBJsEqC,CACrC,iBAAA,CACA,kBAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CAEA,kCACE,aAAA,CACA,UAAA,CACA,eAAA,CAGF,+BACE,aMvEW,CNwEX,oBAAA,CACA,qCACE,aMzEc,CN0Ed,yBAAA,CAKF,wEACE,wBAAA,CAEF,yEACE,wBAAA,CAEF,yFACE,kCCtGS,CDuGT,gBAAA,CACA,cAAA,CACA,oBAAA,CACA,kBAAA,CACA,mII1GJ,yBJ2G2C,CI1G3C,iBJ0G2C,CACrC,eAAA,CACA,UAAA,CACA,wBMpGQ,CNqGR,oBAAA,CACA,cAAA,CACA,qBAAA,CACA,iBAAA,CACA,cAAA,CACA,gBAAA,CAGJ,yFACE,eAAA,CACA,wBAAA,CACA,QAAA,CAEE,8FACE,kCC9HK,CD+HL,aAAA,CACA,aAAA,CACA,cAAA,CACA,kBAAA,CAOV,QACE,QAAA,CACA,OAAA,CACA,iBAAA,CACA,mBAAA,CACA,eAAA\",\"sourcesContent\":[\"@use \\\"../../../style/mixins/appearance\\\";\\n@use \\\"../../../style/mixins/border-radius\\\";\\n@use \\\"../../../style/mixins/box-shadow\\\";\\n@use \\\"../../../style/mixins/breakpoints\\\";\\n@use \\\"../../../style/variables/colors\\\";\\n@use \\\"../../../style/variables/typography\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.main-search-field {\\n font-family: typography.$default-font;\\n display: flex;\\n height: 37px;\\n margin-top: 0.25em;\\n position: relative;\\n width: 100%;\\n max-width: 440px;\\n\\n @include breakpoints.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 @include appearance.appearance(none);\\n @include border-radius.border-radius(4px 0 0 4px);\\n height: 37px;\\n width: 100%;\\n outline-offset: -2px;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-right: 0;\\n font-family: typography.$default-font;\\n font-size: 18px;\\n font-weight: normal;\\n flex: 1;\\n margin: 0;\\n padding: 0 0.75em;\\n }\\n\\n button {\\n @include appearance.appearance(button);\\n @include border-radius.border-radius(0 4px 4px 0);\\n margin: 0;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-left: 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.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.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: colors.$primary-text;\\n text-decoration: none;\\n &:hover {\\n color: colors.$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 font-family: typography.$default-font;\\n padding: 6px 16px;\\n font-size: 18px;\\n display: inline-block;\\n font-weight: normal;\\n span.search-results-for-type-number-badge {\\n @include border-radius.border-radius(6px);\\n padding: 1px 4px;\\n color: #fff;\\n background-color: colors.$primary-brand;\\n display: inline-block;\\n font-size: 0.7em;\\n vertical-align: middle;\\n text-align: center;\\n min-width: 24px;\\n font-weight: bold;\\n }\\n }\\n ul.search-results-for-type-list {\\n list-style: none;\\n padding: 0 16px 12px 32px;\\n margin: 0;\\n li {\\n a {\\n font-family: typography.$default-font;\\n padding: 2px 0;\\n display: block;\\n font-size: 14px;\\n font-weight: normal;\\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\\\", sans-serif;\\n$default-font-size: 15px;\\n\",\"@use \\\"../variables/breakpoints\\\";\\n\\n@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: breakpoints.$screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: breakpoints.$screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: breakpoints.$screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: breakpoints.$screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin appearance ($value) {\\n -webkit-appearance: $value;\\n -moz-appearance: $value;\\n appearance: $value;\\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\",\"$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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export default \"<template>\\n <div class=\\\"main-search-field\\\" id=\\\"main-search-content\\\">\\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 </div>\\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 = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\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 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 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 list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\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 return [content].concat([sourceMapping]).join(\"\\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 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>\"","import { getConfig } from './config';\n\nexport const getKartkatalogApiUrl = (environment: string) => {\n const config = getConfig();\n if (config.kartkatalogApiUrl) return config.kartkatalogApiUrl;\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? environment + \".\" : \"\";\n return `https://kartkatalog.${environmentSlug}geonorge.no/api`;\n};\n\nexport const getMinSideShortcutApiUrl = (environment: string, shortcutUrl?: string) => {\n const config = getConfig();\n const urlParameterString = shortcutUrl?.length ? `?${new URLSearchParams({ url: shortcutUrl }).toString()}` : \"\";\n if (config.minsideUrl) return `${config.minsideUrl}/api/shortcut${urlParameterString}`;\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? environment + \".\" : \"\";\n return `https://minside.${environmentSlug}geonorge.no/api/shortcut${urlParameterString}`;\n};\nexport const getMinSideShortcutUrl = (environment: string) => {\n const config = getConfig();\n if (config.minsideUrl) return `${config.minsideUrl}/shortcuts`;\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? environment + \".\" : \"\";\n return `https://minside.${environmentSlug}geonorge.no/shortcuts`;\n};\n\nexport const fetchShortcutItem = async (environment: string = \"\", token: string, shortcutUrl: string) => {\n const apiUrl = getMinSideShortcutApiUrl(environment, shortcutUrl);\n const fetchOptions = {\n method: \"GET\",\n headers: new Headers({\n Authorization: `Bearer ${token}`\n })\n };\n try {\n return fetch(apiUrl, fetchOptions).then((res) => {\n if (res.status === 200) {\n return res.json().then((shortcutItem) => {\n return shortcutItem;\n });\n } else {\n return null;\n }\n });\n } catch (error) {\n console.error(\"Error fetching shortcut items:\", error);\n return null;\n }\n};\n\nexport const postShortcutItem = async (\n environment: string = \"\",\n token: string,\n shortcutItem: { name: string; url: string }\n) => {\n const apiUrl = getMinSideShortcutApiUrl(environment);\n const fetchOptions = {\n method: \"POST\",\n headers: new Headers({\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\"\n }),\n body: JSON.stringify(shortcutItem)\n };\n return fetch(apiUrl, fetchOptions)\n .then((res) => res.json())\n .then((shortcutItem) => {\n return shortcutItem;\n });\n};\n\nexport const deleteShortcutItem = async (environment: string = \"\", token: string, shortcutItem: { url: string }) => {\n const apiUrl = getMinSideShortcutApiUrl(environment);\n const fetchOptions = {\n method: \"DELETE\",\n headers: new Headers({\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\"\n }),\n body: JSON.stringify(shortcutItem)\n };\n return fetch(apiUrl, fetchOptions);\n};\n\nexport const getGeonorgeMenuUrl = (language: string, environment: string) => {\n const config = getConfig();\n const selectedLanguageSlug = language === \"en\" ? \"en/\" : \"\";\n if (config.geonorgeUrl) return `${config.geonorgeUrl}/${selectedLanguageSlug}api/menu/get?omitLinks=1`;\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? \"test.\" : \"\";\n if (environment === \"dev\") return `https://dev.geonorge.no/menu.xml`;\n else 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)\n .then((res) => res.json())\n .then((menuItems) => {\n return menuItems;\n });\n};\n\nexport const fetchDropdownSearchResults = async (\n searchString: string = \"\",\n language: string = \"no\",\n environment: string = \"\"\n) => {\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\n ? await Promise.all(\n 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 })\n )\n : null;\n};\n","export interface GeonorgeConfig {\n kartkatalogUrl?: string;\n kartkatalogApiUrl?: string;\n minsideUrl?: string;\n geonorgeUrl?: string;\n nedlastingUrl?: string;\n}\n\nlet currentConfig: GeonorgeConfig = {};\n\nexport const configure = (config: Partial<GeonorgeConfig>) => {\n currentConfig = { ...currentConfig, ...config };\n};\n\nexport const getConfig = (): GeonorgeConfig => currentConfig;\n","// Interfaces\nimport { SearchResultsForType } from 'interfaces/search';\nimport { getConfig } from './config';\n\nexport const getKartkatalogUrl = (environment: string) => {\n const config = getConfig();\n if (config.kartkatalogUrl) return config.kartkatalogUrl;\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://kartkatalog.${environmentSlug}geonorge.no`;\n};\nexport const getMinsideUrl = (environment: string) => {\n const config = getConfig();\n if (config.minsideUrl) return config.minsideUrl;\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://minside.${environmentSlug}geonorge.no`;\n};\n\nexport const getGeonorgeUrl = (language: string, environment: string) => {\n const config = getConfig();\n if (config.geonorgeUrl) {\n const selectedLanguageSlug = language === 'en' ? 'en/' : '';\n return `${config.geonorgeUrl}/${selectedLanguageSlug}`;\n }\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 config = getConfig();\n if (config.nedlastingUrl) return config.nedlastingUrl;\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}?search=${searchString}\">${searchResult.Title}</a>`\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?.length ? encodeURI(this.searchstring.toString()) : ''}`\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","// 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__(1517);\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","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","getKartkatalogApiUrl","environment","config","getConfig","kartkatalogApiUrl","getMinSideShortcutApiUrl","shortcutUrl","urlParameterString","URLSearchParams","url","minsideUrl","getMinSideShortcutUrl","fetchShortcutItem","token","apiUrl","fetchOptions","method","headers","Headers","Authorization","fetch","then","res","status","json","shortcutItem","error","postShortcutItem","body","deleteShortcutItem","getGeonorgeMenuUrl","language","selectedLanguageSlug","geonorgeUrl","fetchMenuItems","menuItems","fetchDropdownSearchResults","searchString","urlParameterStrings","dataset","series","service","servicelayer","software","articles","all","searchResultsType","searchResults","currentConfig","configure","getKartkatalogUrl","kartkatalogUrl","getMinsideUrl","getGeonorgeUrl","getGeonorgeNedlastingUrl","nedlastingUrl","replaceAndAddSpace","text","replaceWith","RegExp","convertTextToUrlSlug","handleSearchResultsClick","pushToDataLayer","event","category","activity","renderDropdownResultLink","searchResult","resultType","ShowDetailsUrl","Title","Uuid","MainSearchField","searchstring","renderSearchResultsForType","searchResultsResponseForType","searchResultsTypeName","Results","TypeTranslated","searchResultsListElements","NumFound","renderSearchResults","searchResultsResponses","hideSearchResultsContainer","showSearchResults","clickOutsideSearchResultsContainer","bind","setup","container","searchField","searchFieldLabel","searchButton","searchResultsContainer","maxHeight","window","innerHeight","disconnectedCallback","removeEventListener","targetElement","composedPath","closest","closestLink","href","submitSearch","preventRedirect","onSearch","detail","location","encodeURI","searchFieldKeyUp","key","onSearchSubmitted","searchStringChanged","languageChanged","innerText","showSearchResultsChanged","classList","add","remove","searchResultsResponseChanged","filter","element","onClick","active","elementSelector","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","enumerable","obj","hasOwnProperty","r","Symbol","toStringTag"],"sourceRoot":""}
|