@oslokommune/punkt-elements 18.3.1 → 18.5.0

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.
Files changed (154) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/{accordion-4eAsO-Sr.js → accordion-D814csFx.js} +6 -6
  3. package/dist/{accordion-DOa5vubf.cjs → accordion-E0-pLzBq.cjs} +6 -6
  4. package/dist/{alert-DKNJTlMQ.js → alert-DNZtr3gd.js} +39 -31
  5. package/dist/alert-DqM9l5as.cjs +40 -0
  6. package/dist/{backlink-CA5R69FX.cjs → backlink-DYO8qA9C.cjs} +1 -1
  7. package/dist/{button-Dqolsuwj.js → button-Drwt7Qe5.js} +29 -26
  8. package/dist/button-jJfzE9C7.cjs +32 -0
  9. package/dist/{card-DgRvtnnk.js → card-BhmJZOGh.js} +90 -70
  10. package/dist/card-D-1JMn_h.cjs +64 -0
  11. package/dist/{combobox-q8kzy-S_.js → combobox-BNstYIC5.js} +20 -20
  12. package/dist/{combobox-D3zyAi_o.cjs → combobox-CRdBlMz1.cjs} +17 -17
  13. package/dist/components/alert/alert.d.ts +2 -0
  14. package/dist/components/button/button.d.ts +4 -21
  15. package/dist/components/button/index.d.ts +1 -1
  16. package/dist/components/card/card.d.ts +12 -3
  17. package/dist/components/index.d.ts +1 -1
  18. package/dist/components/linkcard/linkcard.d.ts +1 -1
  19. package/dist/components/loader/loader.d.ts +2 -2
  20. package/dist/components/messagebox/messagebox.d.ts +1 -1
  21. package/dist/components/progressbar/progressbar.d.ts +2 -6
  22. package/dist/{consent-Cqetmc5Q.cjs → consent-DaOFbopy.cjs} +1 -1
  23. package/dist/{consent-Dkyp-UbI.js → consent-Yvw7gZI_.js} +1 -1
  24. package/dist/{datepicker-8KnaI9Xj.cjs → datepicker-DjvL_Nb8.cjs} +16 -16
  25. package/dist/{datepicker-9ulmApjN.js → datepicker-DzTdWHkX.js} +3 -3
  26. package/dist/docs/components/button.d.ts +0 -1
  27. package/dist/{fileupload-XQAilDRd.js → fileupload-B8Uhfx2d.js} +24 -24
  28. package/dist/{fileupload-EWBE4h3V.cjs → fileupload-BJVYPl8u.cjs} +15 -15
  29. package/dist/{footer-BpuYmm5V.cjs → footer-BGC5PkLa.cjs} +1 -1
  30. package/dist/{footer-BXmN43ol.js → footer-BPxKLaut.js} +2 -2
  31. package/dist/{header-BPQHiw4v.js → header-BPzlBRhY.js} +30 -30
  32. package/dist/{header-BQ32MqUl.cjs → header-CAqegPzW.cjs} +34 -34
  33. package/dist/{header-menu-DpQbRKcm.cjs → header-menu-DBy7Yrd_.cjs} +1 -1
  34. package/dist/{header-menu-Dgem4HO9.js → header-menu-DWiPoQ58.js} +1 -1
  35. package/dist/{helptext-Ds8Q9IGV.cjs → helptext-BwDhf6VB.cjs} +2 -2
  36. package/dist/{helptext-BzLJKMMO.js → helptext-mf-67-fv.js} +2 -2
  37. package/dist/{input-wrapper-DzEgz7nZ.js → input-wrapper-BetB7OLQ.js} +16 -15
  38. package/dist/{input-wrapper-B0eSdZs3.cjs → input-wrapper-CS0qrYcm.cjs} +8 -7
  39. package/dist/{link-CpwR3BLX.cjs → link-DXnoMJIo.cjs} +3 -3
  40. package/dist/{link-C9xAIILf.js → link-DkO7a3Fs.js} +3 -3
  41. package/dist/{linkcard-Bzv3CEw5.cjs → linkcard-2l6z1M2U.cjs} +3 -3
  42. package/dist/{linkcard-C6ljKc0B.js → linkcard-aVKL5JPP.js} +8 -8
  43. package/dist/{loader-D6dau_7w.js → loader-CRVUJ-HU.js} +1 -1
  44. package/dist/{loader-Bv-1vwju.cjs → loader-D23kzlaR.cjs} +1 -1
  45. package/dist/{messagebox-CmhjIh0n.js → messagebox-CqI6_Ah7.js} +2 -2
  46. package/dist/{messagebox-DNUfv2FN.cjs → messagebox-DP06cyqc.cjs} +1 -1
  47. package/dist/pkt-accordion.cjs +1 -1
  48. package/dist/pkt-accordion.js +1 -1
  49. package/dist/pkt-alert.cjs +1 -1
  50. package/dist/pkt-alert.js +1 -1
  51. package/dist/pkt-backlink.cjs +1 -1
  52. package/dist/pkt-backlink.js +1 -1
  53. package/dist/pkt-button.cjs +1 -1
  54. package/dist/pkt-button.js +1 -1
  55. package/dist/pkt-card.cjs +1 -1
  56. package/dist/pkt-card.js +1 -1
  57. package/dist/pkt-combobox.cjs +1 -1
  58. package/dist/pkt-combobox.js +1 -1
  59. package/dist/pkt-consent.cjs +1 -1
  60. package/dist/pkt-consent.js +1 -1
  61. package/dist/pkt-datepicker.cjs +1 -1
  62. package/dist/pkt-datepicker.js +1 -1
  63. package/dist/pkt-fileupload.cjs +1 -1
  64. package/dist/pkt-fileupload.js +1 -1
  65. package/dist/pkt-footer.cjs +1 -1
  66. package/dist/pkt-footer.js +1 -1
  67. package/dist/pkt-header-menu.cjs +1 -1
  68. package/dist/pkt-header-menu.js +1 -1
  69. package/dist/pkt-header.cjs +1 -1
  70. package/dist/pkt-header.js +1 -1
  71. package/dist/pkt-helptext.cjs +1 -1
  72. package/dist/pkt-helptext.js +1 -1
  73. package/dist/pkt-index.cjs +1 -1
  74. package/dist/pkt-index.js +31 -31
  75. package/dist/pkt-input-wrapper.cjs +1 -1
  76. package/dist/pkt-input-wrapper.js +1 -1
  77. package/dist/pkt-link.cjs +1 -1
  78. package/dist/pkt-link.js +1 -1
  79. package/dist/pkt-linkcard.cjs +1 -1
  80. package/dist/pkt-linkcard.js +1 -1
  81. package/dist/pkt-loader.cjs +1 -1
  82. package/dist/pkt-loader.js +1 -1
  83. package/dist/pkt-messagebox.cjs +1 -1
  84. package/dist/pkt-messagebox.js +1 -1
  85. package/dist/pkt-progressbar.cjs +1 -1
  86. package/dist/pkt-progressbar.js +1 -1
  87. package/dist/pkt-radiobutton.cjs +1 -1
  88. package/dist/pkt-radiobutton.js +1 -1
  89. package/dist/pkt-searchinput.cjs +1 -1
  90. package/dist/pkt-searchinput.js +1 -1
  91. package/dist/pkt-select.cjs +1 -1
  92. package/dist/pkt-select.js +1 -1
  93. package/dist/pkt-tabs.cjs +1 -1
  94. package/dist/pkt-tabs.js +1 -1
  95. package/dist/pkt-tag.cjs +1 -1
  96. package/dist/pkt-tag.js +1 -1
  97. package/dist/pkt-textarea.cjs +1 -1
  98. package/dist/pkt-textarea.js +1 -1
  99. package/dist/pkt-textinput.cjs +1 -1
  100. package/dist/pkt-textinput.js +1 -1
  101. package/dist/pkt-timepicker.cjs +1 -1
  102. package/dist/pkt-timepicker.js +1 -1
  103. package/dist/progressbar-BPHLC7ce.js +117 -0
  104. package/dist/progressbar-BpcsDCnG.cjs +31 -0
  105. package/dist/{radiobutton-B_j_nYCC.js → radiobutton-B2e9Vyp8.js} +0 -1
  106. package/dist/{radiobutton-DsL-FNDd.cjs → radiobutton-C3nmL9rA.cjs} +0 -1
  107. package/dist/{searchinput-Dm3T0tGS.cjs → searchinput-CiPB8xvh.cjs} +3 -2
  108. package/dist/{searchinput-D7Dd2W2z.js → searchinput-DrUcPajl.js} +14 -12
  109. package/dist/{select-BqAZsLKy.js → select-B7TvZGIL.js} +15 -16
  110. package/dist/{select-VqzZdE-T.cjs → select-qxjHJ8bu.cjs} +13 -14
  111. package/dist/shared-types/button.d.ts +45 -0
  112. package/dist/shared-types/index.d.ts +2 -0
  113. package/dist/{tabs-DPdDkHSk.js → tabs-C_tCCdBK.js} +18 -18
  114. package/dist/{tabs-nvIpMwHK.cjs → tabs-DBanbSG1.cjs} +15 -15
  115. package/dist/tag-BDlwKjgT.cjs +27 -0
  116. package/dist/{tag-DBCzfbPE.js → tag-CdiDs9zb.js} +10 -10
  117. package/dist/{textarea-D17CiySU.cjs → textarea-DgFwd2LY.cjs} +10 -10
  118. package/dist/{textarea-C0a-K05x.js → textarea-YL6JYsB5.js} +14 -14
  119. package/dist/{textinput-D0QasOZ9.cjs → textinput-CIxMtaIo.cjs} +10 -10
  120. package/dist/{textinput-DKl04Y3e.js → textinput-CrJYDOHb.js} +12 -12
  121. package/dist/{timepicker-DVvI4uEk.js → timepicker-BHWOqlr8.js} +11 -11
  122. package/dist/{timepicker-BcnFL6Bj.cjs → timepicker-avaMu1hN.cjs} +8 -8
  123. package/package.json +2 -2
  124. package/src/components/accordion/accordion.ts +2 -1
  125. package/src/components/alert/alert.test.ts +2 -1
  126. package/src/components/alert/alert.ts +21 -3
  127. package/src/components/button/button.test.ts +0 -3
  128. package/src/components/button/button.ts +57 -62
  129. package/src/components/button/index.ts +0 -2
  130. package/src/components/card/card.test.ts +7 -7
  131. package/src/components/card/card.ts +99 -80
  132. package/src/components/helptext/helptext.ts +2 -2
  133. package/src/components/index.ts +0 -2
  134. package/src/components/input-wrapper/input-wrapper.ts +1 -0
  135. package/src/components/link/link.ts +4 -2
  136. package/src/components/linkcard/linkcard.test.ts +3 -3
  137. package/src/components/linkcard/linkcard.ts +1 -1
  138. package/src/components/loader/loader.test.ts +1 -1
  139. package/src/components/loader/loader.ts +3 -3
  140. package/src/components/messagebox/messagebox.test.ts +1 -1
  141. package/src/components/messagebox/messagebox.ts +2 -2
  142. package/src/components/progressbar/progressbar.test.ts +10 -8
  143. package/src/components/progressbar/progressbar.ts +63 -84
  144. package/src/components/radiobutton/radiobutton.ts +0 -1
  145. package/src/components/searchinput/searchinput.ts +3 -1
  146. package/src/components/select/select.test.ts +2 -1
  147. package/src/components/select/select.ts +0 -1
  148. package/dist/alert-BlHM1zEi.cjs +0 -35
  149. package/dist/button-CVMhQT3X.cjs +0 -30
  150. package/dist/card-DMKvuvNv.cjs +0 -87
  151. package/dist/progressbar-Bk_RsEjW.js +0 -112
  152. package/dist/progressbar-T5_MpZGN.cjs +0 -17
  153. package/dist/tag-Bp9gJnYh.cjs +0 -27
  154. package/dist/{backlink-BYUtL8cO.js → backlink-BHtxOlTw.js} +1 -1
@@ -1,4 +1,4 @@
1
- const e=require("./element-DRc10X2R.cjs");require("./consent-Cqetmc5Q.cjs"),require("./icon-DBFTFd-J.cjs");const t=require("./if-defined-BeVQnl3C.cjs"),n=require("./booleanish-BF8l4scU.cjs"),r=require("./fetch-header-footer-data-CUKV0biS.cjs");var i=`oslo.kommune.no`,a=/\.(?:co|com|org|net|gov|edu|ac|kommune)\.[a-z]{2}$/i;function o(e){let t=e.toLowerCase().replace(/\.$/,``),n=t.split(`.`);return n.length<=2?t:n.slice(a.test(t)?-3:-2).join(`.`)}function s(e){if(!e)return;let t;try{t=new URL(e)}catch{return}if(t.protocol===`http:`||t.protocol===`https:`)return o(t.hostname.toLowerCase().replace(/\.$/,``))}function c(e,t=i){if(!e)return;let n;try{n=new URL(e)}catch{return}if(n.protocol!==`http:`&&n.protocol!==`https:`)return;let r=n.hostname.toLowerCase().replace(/\.$/,``),a=t.toLowerCase();if(!(r===a||r.endsWith(`.${a}`)))return o(r)}var l=`#cb-trigger`,u=class extends e.t{constructor(...e){super(...e),this.locale=`nb-NO`,this.skipGlobal=!1,this.openLinksInNewTab=!1,this.includeConsent=!1,this.hotjarId=null,this.googleAnalyticsId=null,this.devMode=!1,this.cookieDomain=null,this.cookieSecure=null,this.cookieExpiryDays=null}connectedCallback(){super.connectedCallback(),!this.data&&!this.skipGlobal&&this.loadData()}disconnectedCallback(){super.disconnectedCallback(),this.abortController?.abort()}updated(e){super.updated(e),e.has(`dataUrl`)&&e.get(`dataUrl`)!==void 0&&!this.data&&this.loadData()}async loadData(){this.abortController?.abort(),this.abortController=new AbortController;try{this.fetchedData=await r.t(this.dataUrl,this.abortController.signal)}catch(e){if(e.name===`AbortError`)return;console.warn(`Failed to fetch header/footer data:`,e),this.dispatchEvent(new CustomEvent(`data-error`,{detail:{error:e},bubbles:!0,composed:!0}))}}get globalFooterData(){return r.n(this.data??this.fetchedData,this.locale)?.footer}linkTarget(e){return e.openInNewTab||this.openLinksInNewTab?{target:`_blank`,rel:`noopener noreferrer`}:{target:`_self`}}renderLinkDomain(t,n=`pkt-footer__link-domain`){if(!t.external)return e.h;let r=s(t.href);return r?e._` <span class=${n}>(${r})</span>`:e.h}renderCustomLink(n){let{target:r,rel:i}=this.linkTarget(n);return e._`
1
+ const e=require("./element-DRc10X2R.cjs"),t=require("./if-defined-BeVQnl3C.cjs");require("./consent-DaOFbopy.cjs"),require("./icon-DBFTFd-J.cjs");const n=require("./booleanish-BF8l4scU.cjs"),r=require("./fetch-header-footer-data-CUKV0biS.cjs");var i=`oslo.kommune.no`,a=/\.(?:co|com|org|net|gov|edu|ac|kommune)\.[a-z]{2}$/i;function o(e){let t=e.toLowerCase().replace(/\.$/,``),n=t.split(`.`);return n.length<=2?t:n.slice(a.test(t)?-3:-2).join(`.`)}function s(e){if(!e)return;let t;try{t=new URL(e)}catch{return}if(t.protocol===`http:`||t.protocol===`https:`)return o(t.hostname.toLowerCase().replace(/\.$/,``))}function c(e,t=i){if(!e)return;let n;try{n=new URL(e)}catch{return}if(n.protocol!==`http:`&&n.protocol!==`https:`)return;let r=n.hostname.toLowerCase().replace(/\.$/,``),a=t.toLowerCase();if(!(r===a||r.endsWith(`.${a}`)))return o(r)}var l=`#cb-trigger`,u=class extends e.t{constructor(...e){super(...e),this.locale=`nb-NO`,this.skipGlobal=!1,this.openLinksInNewTab=!1,this.includeConsent=!1,this.hotjarId=null,this.googleAnalyticsId=null,this.devMode=!1,this.cookieDomain=null,this.cookieSecure=null,this.cookieExpiryDays=null}connectedCallback(){super.connectedCallback(),!this.data&&!this.skipGlobal&&this.loadData()}disconnectedCallback(){super.disconnectedCallback(),this.abortController?.abort()}updated(e){super.updated(e),e.has(`dataUrl`)&&e.get(`dataUrl`)!==void 0&&!this.data&&this.loadData()}async loadData(){this.abortController?.abort(),this.abortController=new AbortController;try{this.fetchedData=await r.t(this.dataUrl,this.abortController.signal)}catch(e){if(e.name===`AbortError`)return;console.warn(`Failed to fetch header/footer data:`,e),this.dispatchEvent(new CustomEvent(`data-error`,{detail:{error:e},bubbles:!0,composed:!0}))}}get globalFooterData(){return r.n(this.data??this.fetchedData,this.locale)?.footer}linkTarget(e){return e.openInNewTab||this.openLinksInNewTab?{target:`_blank`,rel:`noopener noreferrer`}:{target:`_self`}}renderLinkDomain(t,n=`pkt-footer__link-domain`){if(!t.external)return e.h;let r=s(t.href);return r?e._` <span class=${n}>(${r})</span>`:e.h}renderCustomLink(n){let{target:r,rel:i}=this.linkTarget(n);return e._`
2
2
  <a href=${n.href} target=${r} rel=${t.t(i)}
3
3
  >${n.text}${this.renderLinkDomain(n)}</a
4
4
  >
@@ -1,7 +1,7 @@
1
1
  import { _ as e, d as t, h as n, l as r, n as i, t as a, u as o } from "./element-e2MAMNEP.js";
2
- import "./consent-Dkyp-UbI.js";
3
- import "./icon-jEFbKTB_.js";
4
2
  import { t as s } from "./if-defined-r8tKY4tG.js";
3
+ import "./consent-Yvw7gZI_.js";
4
+ import "./icon-jEFbKTB_.js";
5
5
  import { t as c } from "./booleanish-OQJTYSrw.js";
6
6
  import { n as l, r as u, t as d } from "./fetch-header-footer-data-Pc32etrk.js";
7
7
  //#region ../../shared-utils/header-footer/external-domain.ts
@@ -1,18 +1,18 @@
1
1
  import { _ as e, d as t, h as n, l as r, n as i, t as a, u as o } from "./element-e2MAMNEP.js";
2
2
  import { t as s } from "./class-map-BL_YL_Ed.js";
3
- import { n as c, t as l } from "./element-with-slot-COOwQUxM.js";
3
+ import { t as c } from "./if-defined-r8tKY4tG.js";
4
+ import { n as l, t as u } from "./element-with-slot-COOwQUxM.js";
4
5
  import "./icon-jEFbKTB_.js";
5
- import { t as u } from "./if-defined-r8tKY4tG.js";
6
- import "./button-Dqolsuwj.js";
6
+ import "./button-Drwt7Qe5.js";
7
7
  import { n as d, t as f } from "./ref-lE1mGUOL.js";
8
8
  import { t as p } from "./booleanish-OQJTYSrw.js";
9
9
  import { n as m, o as h, t as g } from "./fetch-header-footer-data-Pc32etrk.js";
10
10
  import { n as _, t as v } from "./focus-trap-DG3pEuyJ.js";
11
11
  import { n as y, t as b } from "./scroll-lock-DAbNKAUy.js";
12
- import "./link-C9xAIILf.js";
13
- import "./textinput-DKl04Y3e.js";
14
- import "./searchinput-D7Dd2W2z.js";
15
- import "./header-menu-Dgem4HO9.js";
12
+ import "./link-DkO7a3Fs.js";
13
+ import "./textinput-CrJYDOHb.js";
14
+ import "./searchinput-DrUcPajl.js";
15
+ import "./header-menu-DWiPoQ58.js";
16
16
  //#region ../../shared-types/header.ts
17
17
  var x = (e) => typeof e.target == "string" ? {
18
18
  title: e.title,
@@ -223,7 +223,7 @@ try {
223
223
  //#region src/components/header/header-service.ts
224
224
  var E = "https://punkt-cdn.oslo.kommune.no/latest/logos/";
225
225
  typeof window < "u" && (window.pktLogoPath = window.pktLogoPath || E);
226
- var D = class extends l {
226
+ var D = class extends u {
227
227
  constructor(...e) {
228
228
  super(...e), this.logoLink = h, this.logoPath = typeof window < "u" ? window.pktLogoPath : E, this.searchValue = "", this.mobileBreakpoint = 768, this.tabletBreakpoint = 1280, this.openedMenu = "none", this.logOutButtonPlacement = "none", this.position = "fixed", this.scrollBehavior = "hide", this.slotMenuVariant = "icon-only", this.slotMenuText = "Meny", this.hideLogo = !1, this.compact = !1, this.showSearch = !1, this.canChangeRepresentation = !1, this.hasLogOut = !1, this.openMenu = "none", this.alignSlotRight = !1, this.alignSearchRight = !1, this.headerRef = f(), this.userContainerRef = f(), this.slotContainerRef = f(), this.searchContainerRef = f(), this.slotContentRef = f(), this.searchMenuRef = f(), this.chrome = new w(this, () => ({
229
229
  mobileBreakpoint: this.mobileBreakpoint,
@@ -430,7 +430,7 @@ var D = class extends l {
430
430
  @click=${this.handleSlotContentClick}
431
431
  ${d(this.slotContentRef)}
432
432
  >
433
- ${c(this)}
433
+ ${l(this)}
434
434
  </div>
435
435
  </div>
436
436
  `;
@@ -852,7 +852,7 @@ var k = "pkt-header-global-menu", A = "pkt-header-global-menu-toggle", j = "pkt-
852
852
  }
853
853
  renderLogo() {
854
854
  let t = e`
855
- <pkt-icon name="oslologo" aria-hidden="true" path=${u(this.logoPath)}></pkt-icon>
855
+ <pkt-icon name="oslologo" aria-hidden="true" path=${c(this.logoPath)}></pkt-icon>
856
856
  `;
857
857
  return e`
858
858
  <span class="pkt-header-global__logo">
@@ -874,9 +874,9 @@ var k = "pkt-header-global-menu", A = "pkt-header-global-menu-toggle", j = "pkt-
874
874
  input-size=${this.isTablet ? "small" : "medium"}
875
875
  fullwidth
876
876
  id=${r.input.id || "pkt-header-global-search"}
877
- name=${u(r.input.name)}
878
- placeholder=${u(i)}
879
- aria-label=${u(t.i18n?.search)}
877
+ name=${c(r.input.name)}
878
+ placeholder=${c(i)}
879
+ aria-label=${c(t.i18n?.search)}
880
880
  action=${r.endpoint}
881
881
  method="get"
882
882
  @pkt-search=${(e) => this.handleSearch(e.detail.value)}
@@ -931,7 +931,7 @@ var k = "pkt-header-global-menu", A = "pkt-header-global-menu-toggle", j = "pkt-
931
931
  id=${M}
932
932
  class="pkt-header-global__search-toggle"
933
933
  skin="primary"
934
- color=${u(r ? void 0 : "yellow")}
934
+ color=${c(r ? void 0 : "yellow")}
935
935
  variant="icon-only"
936
936
  iconName=${r ? "close" : "magnifying-glass-big"}
937
937
  size=${this.isMobile ? "small" : "medium"}
@@ -958,9 +958,9 @@ var k = "pkt-header-global-menu", A = "pkt-header-global-menu-toggle", j = "pkt-
958
958
  appearance="global"
959
959
  fullwidth
960
960
  id=${r.input.id || "pkt-header-global-search"}
961
- name=${u(r.input.name)}
962
- placeholder=${u(i)}
963
- aria-label=${u(t.i18n?.search || this.pktStrings.get("header").search)}
961
+ name=${c(r.input.name)}
962
+ placeholder=${c(i)}
963
+ aria-label=${c(t.i18n?.search || this.pktStrings.get("header").search)}
964
964
  action=${r.endpoint}
965
965
  method="get"
966
966
  @pkt-search=${(e) => this.handleSearch(e.detail.value)}
@@ -1140,7 +1140,7 @@ try {
1140
1140
  }
1141
1141
  //#endregion
1142
1142
  //#region src/components/header/header.ts
1143
- var P = class extends l {
1143
+ var P = class extends u {
1144
1144
  constructor(...e) {
1145
1145
  super(...e), this.type = "service", this.searchValue = "", this.mobileBreakpoint = 768, this.tabletBreakpoint = 1280, this.openedMenu = "none", this.logOutButtonPlacement = "none", this.position = "fixed", this.scrollBehavior = "hide", this.slotMenuVariant = "icon-only", this.slotMenuText = "Meny", this.hideLogo = !1, this.compact = !1, this.canChangeRepresentation = !1, this.hasLogOut = !1, this.showContact = !0;
1146
1146
  }
@@ -1161,13 +1161,13 @@ var P = class extends l {
1161
1161
  renderGlobal() {
1162
1162
  return e`
1163
1163
  <pkt-header-global
1164
- data-url=${u(this.dataUrl)}
1165
- locale=${u(this.locale)}
1166
- logo-link=${u(this.logoLink)}
1167
- logo-path=${u(this.logoPath)}
1168
- search-placeholder=${u(this.hasAttribute("search-placeholder") ? this.searchPlaceholder : void 0)}
1169
- mobile-breakpoint=${u(this.hasAttribute("mobile-breakpoint") ? this.mobileBreakpoint : void 0)}
1170
- tablet-breakpoint=${u(this.hasAttribute("tablet-breakpoint") ? this.tabletBreakpoint : void 0)}
1164
+ data-url=${c(this.dataUrl)}
1165
+ locale=${c(this.locale)}
1166
+ logo-link=${c(this.logoLink)}
1167
+ logo-path=${c(this.logoPath)}
1168
+ search-placeholder=${c(this.hasAttribute("search-placeholder") ? this.searchPlaceholder : void 0)}
1169
+ mobile-breakpoint=${c(this.hasAttribute("mobile-breakpoint") ? this.mobileBreakpoint : void 0)}
1170
+ tablet-breakpoint=${c(this.hasAttribute("tablet-breakpoint") ? this.tabletBreakpoint : void 0)}
1171
1171
  log-out-button-placement=${this.logOutButtonPlacement}
1172
1172
  position=${this.position}
1173
1173
  scroll-behavior=${this.scrollBehavior}
@@ -1185,10 +1185,10 @@ var P = class extends l {
1185
1185
  render() {
1186
1186
  return this.type === "global" ? this.renderGlobal() : e`
1187
1187
  <pkt-header-service
1188
- service-name=${u(this.serviceName)}
1189
- service-link=${u(this.serviceLink)}
1190
- logo-link=${u(this.logoLink)}
1191
- logo-path=${u(this.logoPath)}
1188
+ service-name=${c(this.serviceName)}
1189
+ service-link=${c(this.serviceLink)}
1190
+ logo-link=${c(this.logoLink)}
1191
+ logo-path=${c(this.logoPath)}
1192
1192
  search-placeholder=${this.searchPlaceholder}
1193
1193
  search-value=${this.searchValue}
1194
1194
  mobile-breakpoint=${this.mobileBreakpoint}
@@ -1208,7 +1208,7 @@ var P = class extends l {
1208
1208
  .userMenu=${this.effectiveUserMenu}
1209
1209
  .representing=${this.representing}
1210
1210
  >
1211
- ${this.hasSlotContent() ? e`<div class="pkt-contents">${c(this)}</div>` : n}
1211
+ ${this.hasSlotContent() ? e`<div class="pkt-contents">${l(this)}</div>` : n}
1212
1212
  </pkt-header-service>
1213
1213
  `;
1214
1214
  }
@@ -1,4 +1,4 @@
1
- const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),n=require("./element-with-slot-MkibfzHp.cjs");require("./icon-DBFTFd-J.cjs");const r=require("./if-defined-BeVQnl3C.cjs");require("./button-CVMhQT3X.cjs");const i=require("./ref-BkV4Cd8U.cjs"),a=require("./booleanish-BF8l4scU.cjs"),o=require("./fetch-header-footer-data-CUKV0biS.cjs"),s=require("./focus-trap-DSv4Ifqm.cjs"),c=require("./scroll-lock-BN8lOhV5.cjs");require("./link-CpwR3BLX.cjs"),require("./textinput-D0QasOZ9.cjs"),require("./searchinput-Dm3T0tGS.cjs"),require("./header-menu-DpQbRKcm.cjs");var l=e=>typeof e.target==`string`?{title:e.title,iconName:e.iconName,href:e.target}:{title:e.title,iconName:e.iconName,onClick:e.target},u=e=>l(e),d=e=>{if(!e)return;let t=typeof e==`string`?new Date(e):e;if(!isNaN(t.getTime()))return t.toLocaleDateString(`nb-NO`,{day:`numeric`,month:`long`,year:`numeric`,hour:`2-digit`,minute:`2-digit`})},f=class{constructor(e,t){this.isMobile=!1,this.isTablet=!1,this.isHidden=!1,this.pauseScrollHide=!1,this.componentWidth=typeof window<`u`?window.innerWidth:0,this.lastScrollPosition=0,this.scrollLockToken=c.t(),this.lastFocusedElement=null,this.shouldRestoreFocus=!1,this.handleScroll=()=>{if(this.getOptions().scrollBehavior!==`hide`||this.pauseScrollHide)return;let e=window.pageYOffset||document.documentElement.scrollTop;if(e<0||Math.abs(e-this.lastScrollPosition)<60)return;let t=e>this.lastScrollPosition;this.lastScrollPosition=e,t!==this.isHidden&&(this.isHidden=t,this.host.requestUpdate())},this.host=e,this.getOptions=t,e.addController(this)}hostConnected(){window.addEventListener(`scroll`,this.handleScroll)}hostDisconnected(){this.resizeObserver?.disconnect(),window.removeEventListener(`scroll`,this.handleScroll),c.n(this.scrollLockToken,!1)}observe(e){e&&(this.componentWidth=e.offsetWidth,this.refreshBreakpoints(),this.resizeObserver=new ResizeObserver(e=>{for(let t of e)this.componentWidth=t.borderBoxSize&&t.borderBoxSize.length>0?t.borderBoxSize[0].inlineSize:t.contentRect.width,this.refreshBreakpoints()}),this.resizeObserver.observe(e))}refreshBreakpoints(){let{mobileBreakpoint:e,tabletBreakpoint:t}=this.getOptions(),n=this.componentWidth<e,r=this.componentWidth<t;(n!==this.isMobile||r!==this.isTablet)&&(this.isMobile=n,this.isTablet=r,this.host.requestUpdate())}setScrollLock(e){c.n(this.scrollLockToken,e)}captureFocus(){this.lastFocusedElement=document.activeElement}flagRestoreFocus(){this.shouldRestoreFocus=!0}restoreFocus(){this.shouldRestoreFocus&&this.lastFocusedElement&&document.contains(this.lastFocusedElement)&&this.lastFocusedElement.focus(),this.lastFocusedElement=null,this.shouldRestoreFocus=!1}},p=class extends e.t{constructor(...e){super(...e),this.canChangeRepresentation=!1,this.logoutOnClick=!1}handleChangeRepresentation(){this.dispatchEvent(new CustomEvent(`change-representation`,{bubbles:!0,composed:!0}))}handleLogout(){this.dispatchEvent(new CustomEvent(`log-out`,{bubbles:!0,composed:!0}))}handleMenuItemClick(e){`onClick`in e&&typeof e.onClick==`function`&&e.onClick()}renderLinkOrButton(n,r){let i=`href`in n,a=t.t({"pkt-user-menu__link":!0,"pkt-link-button":!i,"pkt-link":!i,"pkt-link--icon-left":!i,[r||``]:!!r});return i?e._`
1
+ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),n=require("./if-defined-BeVQnl3C.cjs"),r=require("./element-with-slot-MkibfzHp.cjs");require("./icon-DBFTFd-J.cjs"),require("./button-jJfzE9C7.cjs");const i=require("./ref-BkV4Cd8U.cjs"),a=require("./booleanish-BF8l4scU.cjs"),o=require("./fetch-header-footer-data-CUKV0biS.cjs"),s=require("./focus-trap-DSv4Ifqm.cjs"),c=require("./scroll-lock-BN8lOhV5.cjs");require("./link-DXnoMJIo.cjs"),require("./textinput-CIxMtaIo.cjs"),require("./searchinput-CiPB8xvh.cjs"),require("./header-menu-DBy7Yrd_.cjs");var l=e=>typeof e.target==`string`?{title:e.title,iconName:e.iconName,href:e.target}:{title:e.title,iconName:e.iconName,onClick:e.target},u=e=>l(e),d=e=>{if(!e)return;let t=typeof e==`string`?new Date(e):e;if(!isNaN(t.getTime()))return t.toLocaleDateString(`nb-NO`,{day:`numeric`,month:`long`,year:`numeric`,hour:`2-digit`,minute:`2-digit`})},f=class{constructor(e,t){this.isMobile=!1,this.isTablet=!1,this.isHidden=!1,this.pauseScrollHide=!1,this.componentWidth=typeof window<`u`?window.innerWidth:0,this.lastScrollPosition=0,this.scrollLockToken=c.t(),this.lastFocusedElement=null,this.shouldRestoreFocus=!1,this.handleScroll=()=>{if(this.getOptions().scrollBehavior!==`hide`||this.pauseScrollHide)return;let e=window.pageYOffset||document.documentElement.scrollTop;if(e<0||Math.abs(e-this.lastScrollPosition)<60)return;let t=e>this.lastScrollPosition;this.lastScrollPosition=e,t!==this.isHidden&&(this.isHidden=t,this.host.requestUpdate())},this.host=e,this.getOptions=t,e.addController(this)}hostConnected(){window.addEventListener(`scroll`,this.handleScroll)}hostDisconnected(){this.resizeObserver?.disconnect(),window.removeEventListener(`scroll`,this.handleScroll),c.n(this.scrollLockToken,!1)}observe(e){e&&(this.componentWidth=e.offsetWidth,this.refreshBreakpoints(),this.resizeObserver=new ResizeObserver(e=>{for(let t of e)this.componentWidth=t.borderBoxSize&&t.borderBoxSize.length>0?t.borderBoxSize[0].inlineSize:t.contentRect.width,this.refreshBreakpoints()}),this.resizeObserver.observe(e))}refreshBreakpoints(){let{mobileBreakpoint:e,tabletBreakpoint:t}=this.getOptions(),n=this.componentWidth<e,r=this.componentWidth<t;(n!==this.isMobile||r!==this.isTablet)&&(this.isMobile=n,this.isTablet=r,this.host.requestUpdate())}setScrollLock(e){c.n(this.scrollLockToken,e)}captureFocus(){this.lastFocusedElement=document.activeElement}flagRestoreFocus(){this.shouldRestoreFocus=!0}restoreFocus(){this.shouldRestoreFocus&&this.lastFocusedElement&&document.contains(this.lastFocusedElement)&&this.lastFocusedElement.focus(),this.lastFocusedElement=null,this.shouldRestoreFocus=!1}},p=class extends e.t{constructor(...e){super(...e),this.canChangeRepresentation=!1,this.logoutOnClick=!1}handleChangeRepresentation(){this.dispatchEvent(new CustomEvent(`change-representation`,{bubbles:!0,composed:!0}))}handleLogout(){this.dispatchEvent(new CustomEvent(`log-out`,{bubbles:!0,composed:!0}))}handleMenuItemClick(e){`onClick`in e&&typeof e.onClick==`function`&&e.onClick()}renderLinkOrButton(n,r){let i=`href`in n,a=t.t({"pkt-user-menu__link":!0,"pkt-link-button":!i,"pkt-link":!i,"pkt-link--icon-left":!i,[r||``]:!!r});return i?e._`
2
2
  <pkt-link
3
3
  icon-name=${n.iconName||e.h}
4
4
  href=${n.href}
@@ -79,7 +79,7 @@ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),
79
79
  `:e.h}
80
80
  </ul>
81
81
  </nav>
82
- `}};e.n([e.u({type:Object})],p.prototype,`user`,void 0),e.n([e.u({type:String,attribute:`formatted-last-logged-in`})],p.prototype,`formattedLastLoggedIn`,void 0),e.n([e.u({type:Object})],p.prototype,`representing`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],p.prototype,`userMenu`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],p.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`logout-on-click`,converter:a.t})],p.prototype,`logoutOnClick`,void 0);try{e.d(`pkt-header-user-menu`)(p)}catch{console.warn(`Forsøker å definere <pkt-header-user-menu>, men den er allerede definert`)}var m=`https://punkt-cdn.oslo.kommune.no/latest/logos/`;typeof window<`u`&&(window.pktLogoPath=window.pktLogoPath||m);var h=class extends n.t{constructor(...e){super(...e),this.logoLink=o.o,this.logoPath=typeof window<`u`?window.pktLogoPath:m,this.searchValue=``,this.mobileBreakpoint=768,this.tabletBreakpoint=1280,this.openedMenu=`none`,this.logOutButtonPlacement=`none`,this.position=`fixed`,this.scrollBehavior=`hide`,this.slotMenuVariant=`icon-only`,this.slotMenuText=`Meny`,this.hideLogo=!1,this.compact=!1,this.showSearch=!1,this.canChangeRepresentation=!1,this.hasLogOut=!1,this.openMenu=`none`,this.alignSlotRight=!1,this.alignSearchRight=!1,this.headerRef=i.t(),this.userContainerRef=i.t(),this.slotContainerRef=i.t(),this.searchContainerRef=i.t(),this.slotContentRef=i.t(),this.searchMenuRef=i.t(),this.chrome=new f(this,()=>({mobileBreakpoint:this.mobileBreakpoint,tabletBreakpoint:this.tabletBreakpoint,position:this.position,scrollBehavior:this.scrollBehavior})),this.handleClickOutside=e=>{let t=e.target;this.user&&this.openMenu===`user`&&!t.closest(`.pkt-header-service__user-container`)&&(this.openMenu=`none`),this.openMenu===`slot`&&!t.closest(`.pkt-header-service__slot-container`)&&(this.openMenu=`none`),this.openMenu===`search`&&!t.closest(`.pkt-header-service__search-container`)&&!t.closest(`.pkt-header-service__search-input`)&&(this.openMenu=`none`)},this.handleSlotContentClick=e=>{if(!this.isTablet||this.openMenu!==`slot`)return;let t=e.target.closest(`a[href], button, [role="link"], [role="button"], [role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]`);!t||!this.slotContentRef.value?.contains(t)||t.closest(`[data-pkt-header-keep-open]`)||t.disabled||t.getAttribute(`aria-disabled`)===`true`||(this.openMenu=`none`)},this.handleFocusOut=(e,t)=>{let n=e.relatedTarget,r;switch(t){case`user`:r=this.userContainerRef;break;case`slot`:r=this.slotContainerRef;break;case`search`:r=this.searchContainerRef;break;default:return}let i=r.value;i&&(!n||!i.contains(n))&&(this.openMenu=`none`)},this.handleEscapeKey=e=>{e.key===`Escape`&&this.openMenu!==`none`&&(e.preventDefault(),this.chrome.flagRestoreFocus(),this.openMenu=`none`)}}get isMobile(){return this.chrome.isMobile}get isTablet(){return this.chrome.isTablet}get isHidden(){return this.chrome.isHidden}firstUpdated(){this.chrome.observe(this.headerRef.value)}updated(e){if(super.updated(e),e.has(`openedMenu`)&&this.openedMenu!==this.openMenu&&(this.openMenu=this.openedMenu),(e.has(`mobileBreakpoint`)||e.has(`tabletBreakpoint`))&&this.chrome.refreshBreakpoints(),e.has(`openMenu`)){let t=e.get(`openMenu`);this.openMenu!==`none`&&(t===`none`||t===void 0)?(document.addEventListener(`mousedown`,this.handleClickOutside),document.addEventListener(`keydown`,this.handleEscapeKey),(this.openMenu===`slot`||this.openMenu===`search`)&&requestAnimationFrame(()=>{this.checkDropdownAlignment(this.openMenu)})):this.openMenu===`none`&&t!==`none`&&(document.removeEventListener(`mousedown`,this.handleClickOutside),document.removeEventListener(`keydown`,this.handleEscapeKey),this.chrome.restoreFocus())}this.chrome.setScrollLock((this.isFixed||this.isSticky)&&this.isMobile&&this.openMenu!==`none`)}checkDropdownAlignment(e){let t=e===`slot`?this.slotContainerRef:this.searchContainerRef,n=e===`slot`?this.slotContentRef:this.searchMenuRef;if(!t.value||!n.value||!this.isTablet||this.isMobile)return;let r=t.value.getBoundingClientRect(),i=n.value.offsetWidth,a=r.left+i>window.innerWidth;e===`slot`?this.alignSlotRight=a:this.alignSearchRight=a}handleMenuToggle(e){this.openMenu===`none`?(this.chrome.captureFocus(),this.openMenu=e):this.openMenu=`none`}handleLogoClick(e){this.dispatchEvent(new CustomEvent(`logo-click`,{bubbles:!0,composed:!0,detail:{originalEvent:e}}))}handleServiceClick(e){this.dispatchEvent(new CustomEvent(`service-click`,{bubbles:!0,composed:!0,detail:{originalEvent:e}}))}handleLogout(){this.dispatchEvent(new CustomEvent(`log-out`,{bubbles:!0,composed:!0}))}handleSearch(e){this.dispatchEvent(new CustomEvent(`search`,{detail:{query:e},bubbles:!0,composed:!0}))}handleSearchChange(e){this.dispatchEvent(new CustomEvent(`search-change`,{detail:{query:e},bubbles:!0,composed:!0}))}handleSearchInputChange(e){let t=e.target.value;this.handleSearchChange(t)}handleSearchKeyDown(e){e.key===`Enter`&&this.handleSearch(e.target.value)}get formattedLastLoggedIn(){return d(this.user?.lastLoggedIn)}get isFixed(){return this.position===`fixed`}get isSticky(){return this.position===`sticky`}get shouldHideOnScroll(){return this.scrollBehavior===`hide`}get showLogoutInHeader(){return this.hasLogOut&&(this.logOutButtonPlacement===`header`||this.logOutButtonPlacement===`both`)}get showLogoutInUserMenu(){return this.hasLogOut&&(this.logOutButtonPlacement===`userMenu`||this.logOutButtonPlacement===`both`)}get headerStrings(){return this.pktStrings.get(`header`)}renderLogo(){if(this.hideLogo)return e.h;let t=e._`
82
+ `}};e.n([e.u({type:Object})],p.prototype,`user`,void 0),e.n([e.u({type:String,attribute:`formatted-last-logged-in`})],p.prototype,`formattedLastLoggedIn`,void 0),e.n([e.u({type:Object})],p.prototype,`representing`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],p.prototype,`userMenu`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],p.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`logout-on-click`,converter:a.t})],p.prototype,`logoutOnClick`,void 0);try{e.d(`pkt-header-user-menu`)(p)}catch{console.warn(`Forsøker å definere <pkt-header-user-menu>, men den er allerede definert`)}var m=`https://punkt-cdn.oslo.kommune.no/latest/logos/`;typeof window<`u`&&(window.pktLogoPath=window.pktLogoPath||m);var h=class extends r.t{constructor(...e){super(...e),this.logoLink=o.o,this.logoPath=typeof window<`u`?window.pktLogoPath:m,this.searchValue=``,this.mobileBreakpoint=768,this.tabletBreakpoint=1280,this.openedMenu=`none`,this.logOutButtonPlacement=`none`,this.position=`fixed`,this.scrollBehavior=`hide`,this.slotMenuVariant=`icon-only`,this.slotMenuText=`Meny`,this.hideLogo=!1,this.compact=!1,this.showSearch=!1,this.canChangeRepresentation=!1,this.hasLogOut=!1,this.openMenu=`none`,this.alignSlotRight=!1,this.alignSearchRight=!1,this.headerRef=i.t(),this.userContainerRef=i.t(),this.slotContainerRef=i.t(),this.searchContainerRef=i.t(),this.slotContentRef=i.t(),this.searchMenuRef=i.t(),this.chrome=new f(this,()=>({mobileBreakpoint:this.mobileBreakpoint,tabletBreakpoint:this.tabletBreakpoint,position:this.position,scrollBehavior:this.scrollBehavior})),this.handleClickOutside=e=>{let t=e.target;this.user&&this.openMenu===`user`&&!t.closest(`.pkt-header-service__user-container`)&&(this.openMenu=`none`),this.openMenu===`slot`&&!t.closest(`.pkt-header-service__slot-container`)&&(this.openMenu=`none`),this.openMenu===`search`&&!t.closest(`.pkt-header-service__search-container`)&&!t.closest(`.pkt-header-service__search-input`)&&(this.openMenu=`none`)},this.handleSlotContentClick=e=>{if(!this.isTablet||this.openMenu!==`slot`)return;let t=e.target.closest(`a[href], button, [role="link"], [role="button"], [role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]`);!t||!this.slotContentRef.value?.contains(t)||t.closest(`[data-pkt-header-keep-open]`)||t.disabled||t.getAttribute(`aria-disabled`)===`true`||(this.openMenu=`none`)},this.handleFocusOut=(e,t)=>{let n=e.relatedTarget,r;switch(t){case`user`:r=this.userContainerRef;break;case`slot`:r=this.slotContainerRef;break;case`search`:r=this.searchContainerRef;break;default:return}let i=r.value;i&&(!n||!i.contains(n))&&(this.openMenu=`none`)},this.handleEscapeKey=e=>{e.key===`Escape`&&this.openMenu!==`none`&&(e.preventDefault(),this.chrome.flagRestoreFocus(),this.openMenu=`none`)}}get isMobile(){return this.chrome.isMobile}get isTablet(){return this.chrome.isTablet}get isHidden(){return this.chrome.isHidden}firstUpdated(){this.chrome.observe(this.headerRef.value)}updated(e){if(super.updated(e),e.has(`openedMenu`)&&this.openedMenu!==this.openMenu&&(this.openMenu=this.openedMenu),(e.has(`mobileBreakpoint`)||e.has(`tabletBreakpoint`))&&this.chrome.refreshBreakpoints(),e.has(`openMenu`)){let t=e.get(`openMenu`);this.openMenu!==`none`&&(t===`none`||t===void 0)?(document.addEventListener(`mousedown`,this.handleClickOutside),document.addEventListener(`keydown`,this.handleEscapeKey),(this.openMenu===`slot`||this.openMenu===`search`)&&requestAnimationFrame(()=>{this.checkDropdownAlignment(this.openMenu)})):this.openMenu===`none`&&t!==`none`&&(document.removeEventListener(`mousedown`,this.handleClickOutside),document.removeEventListener(`keydown`,this.handleEscapeKey),this.chrome.restoreFocus())}this.chrome.setScrollLock((this.isFixed||this.isSticky)&&this.isMobile&&this.openMenu!==`none`)}checkDropdownAlignment(e){let t=e===`slot`?this.slotContainerRef:this.searchContainerRef,n=e===`slot`?this.slotContentRef:this.searchMenuRef;if(!t.value||!n.value||!this.isTablet||this.isMobile)return;let r=t.value.getBoundingClientRect(),i=n.value.offsetWidth,a=r.left+i>window.innerWidth;e===`slot`?this.alignSlotRight=a:this.alignSearchRight=a}handleMenuToggle(e){this.openMenu===`none`?(this.chrome.captureFocus(),this.openMenu=e):this.openMenu=`none`}handleLogoClick(e){this.dispatchEvent(new CustomEvent(`logo-click`,{bubbles:!0,composed:!0,detail:{originalEvent:e}}))}handleServiceClick(e){this.dispatchEvent(new CustomEvent(`service-click`,{bubbles:!0,composed:!0,detail:{originalEvent:e}}))}handleLogout(){this.dispatchEvent(new CustomEvent(`log-out`,{bubbles:!0,composed:!0}))}handleSearch(e){this.dispatchEvent(new CustomEvent(`search`,{detail:{query:e},bubbles:!0,composed:!0}))}handleSearchChange(e){this.dispatchEvent(new CustomEvent(`search-change`,{detail:{query:e},bubbles:!0,composed:!0}))}handleSearchInputChange(e){let t=e.target.value;this.handleSearchChange(t)}handleSearchKeyDown(e){e.key===`Enter`&&this.handleSearch(e.target.value)}get formattedLastLoggedIn(){return d(this.user?.lastLoggedIn)}get isFixed(){return this.position===`fixed`}get isSticky(){return this.position===`sticky`}get shouldHideOnScroll(){return this.scrollBehavior===`hide`}get showLogoutInHeader(){return this.hasLogOut&&(this.logOutButtonPlacement===`header`||this.logOutButtonPlacement===`both`)}get showLogoutInUserMenu(){return this.hasLogOut&&(this.logOutButtonPlacement===`userMenu`||this.logOutButtonPlacement===`both`)}get headerStrings(){return this.pktStrings.get(`header`)}renderLogo(){if(this.hideLogo)return e.h;let t=e._`
83
83
  <pkt-icon name="oslologo" aria-hidden="true" path=${this.logoPath}></pkt-icon>
84
84
  `;return e._`
85
85
  <span class="pkt-header-service__logo">
@@ -114,9 +114,9 @@ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),
114
114
  >
115
115
  <span class="pkt-header-service__service-link">${this.serviceName}</span>
116
116
  </span>
117
- `:e.h}renderSlotContainer(){if(!this.hasSlotContent())return e.h;let r=t.t({"pkt-header-service__slot-container":!0,"is-open":this.openMenu===`slot`}),a=t.t({"pkt-header-service__slot-content":!0,"align-right":this.alignSlotRight});return e._`
117
+ `:e.h}renderSlotContainer(){if(!this.hasSlotContent())return e.h;let n=t.t({"pkt-header-service__slot-container":!0,"is-open":this.openMenu===`slot`}),a=t.t({"pkt-header-service__slot-content":!0,"align-right":this.alignSlotRight});return e._`
118
118
  <div
119
- class=${r}
119
+ class=${n}
120
120
  @focusout=${e=>this.handleFocusOut(e,`slot`)}
121
121
  ${i.n(this.slotContainerRef)}
122
122
  >
@@ -143,7 +143,7 @@ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),
143
143
  @click=${this.handleSlotContentClick}
144
144
  ${i.n(this.slotContentRef)}
145
145
  >
146
- ${n.n(this)}
146
+ ${r.n(this)}
147
147
  </div>
148
148
  </div>
149
149
  `}renderSearch(){if(!this.showSearch)return e.h;if(this.isTablet){let n=t.t({"pkt-header-service__search-container":!0,"is-open":this.openMenu===`search`}),r=t.t({"pkt-header-service__mobile-menu":!0,"is-open":this.openMenu===`search`,"align-right":this.alignSearchRight});return e._`
@@ -268,24 +268,24 @@ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),
268
268
  <div class=${r}></div>
269
269
  </div>
270
270
  `}return n}};e.n([e.u({type:String,attribute:`service-name`})],h.prototype,`serviceName`,void 0),e.n([e.u({type:String,attribute:`service-link`})],h.prototype,`serviceLink`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],h.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],h.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],h.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String,attribute:`search-value`})],h.prototype,`searchValue`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],h.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],h.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`opened-menu`})],h.prototype,`openedMenu`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],h.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:String})],h.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],h.prototype,`scrollBehavior`,void 0),e.n([e.u({type:String,attribute:`slot-menu-variant`})],h.prototype,`slotMenuVariant`,void 0),e.n([e.u({type:String,attribute:`slot-menu-text`})],h.prototype,`slotMenuText`,void 0),e.n([e.u({type:Boolean,attribute:`hide-logo`,converter:a.t})],h.prototype,`hideLogo`,void 0),e.n([e.u({type:Boolean,converter:a.t})],h.prototype,`compact`,void 0),e.n([e.u({type:Boolean,attribute:`show-search`,converter:a.t})],h.prototype,`showSearch`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],h.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`has-log-out`,converter:a.t})],h.prototype,`hasLogOut`,void 0),e.n([e.u({type:Object})],h.prototype,`user`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],h.prototype,`userMenu`,void 0),e.n([e.u({type:Object})],h.prototype,`representing`,void 0),e.n([e.l()],h.prototype,`openMenu`,void 0),e.n([e.l()],h.prototype,`alignSlotRight`,void 0),e.n([e.l()],h.prototype,`alignSearchRight`,void 0);try{e.d(`pkt-header-service`)(h)}catch{console.warn(`Forsøker å definere <pkt-header-service>, men den er allerede definert`)}var g=`https://punkt-cdn.oslo.kommune.no/latest/logos/`;typeof window<`u`&&(window.pktLogoPath=window.pktLogoPath||g);var _=`pkt-header-global-menu`,v=`pkt-header-global-menu-toggle`,y=`pkt-header-global-search-panel`,b=`pkt-header-global-search-toggle`,x=class extends e.t{constructor(...e){super(...e),this.locale=`nb-NO`,this.logoLink=o.o,this.logoPath=typeof window<`u`?window.pktLogoPath:g,this.position=`fixed`,this.scrollBehavior=`hide`,this.mobileBreakpoint=768,this.tabletBreakpoint=1024,this.logOutButtonPlacement=`none`,this.showSearch=!0,this.showContact=!0,this.canChangeRepresentation=!1,this.hasLogOut=!1,this.openMenu=`none`,this.loadError=!1,this.headerAnchor={top:0,left:0,width:0},this.headerRef=i.t(),this.menuContainerRef=i.t(),this.userContainerRef=i.t(),this.chrome=new f(this,()=>({mobileBreakpoint:this.mobileBreakpoint,tabletBreakpoint:this.tabletBreakpoint,position:this.position,scrollBehavior:this.scrollBehavior})),this.handleClickOutside=e=>{let t=e.target;this.openMenu===`user`&&!t.closest(`.pkt-header-global__user-container`)&&!t.closest(`.pkt-header-global__user-menu`)&&(this.openMenu=`none`),this.openMenu===`menu`&&!t.closest(`.pkt-header-menu`)&&!t.closest(`#${v}`)&&(this.openMenu=`none`),this.openMenu===`search`&&!t.closest(`.pkt-header-global__search-panel-inner`)&&!t.closest(`#${b}`)&&(this.openMenu=`none`)},this.handleEscapeKey=e=>{e.key===`Escape`&&this.openMenu!==`none`&&(e.preventDefault(),this.chrome.flagRestoreFocus(),this.openMenu=`none`)},this.handleOverlayKeydown=e=>{if(e.key!==`Tab`)return;let t=this.activeOverlay;if(!t||!t.panel||!t.toggle)return;let{panel:n,toggle:r}=t,i=s.n(n),a=s.t();if(a&&r.contains(a)){!e.shiftKey&&i.length>0&&(e.preventDefault(),i[0].focus());return}if(i.length===0)return;let o=i[0],c=i[i.length-1],l=!e.shiftKey&&a===c,u=e.shiftKey&&a===o;(l||u)&&(e.preventDefault(),this.openMenu=`none`,this.focusToggle(r))},this.handleOverlayFocusIn=e=>{let t=this.activeOverlay;if(!t||!t.panel)return;let n=e.target;n&&(t.panel.contains(n)||t.toggle?.contains(n)||(this.openMenu=`none`))}}get isMobile(){return this.chrome.isMobile}get isTablet(){return this.chrome.isTablet}get isHidden(){return this.chrome.isHidden}connectedCallback(){super.connectedCallback(),this.classList.add(`pkt-header-global-host`),this.data?this.emitDataLoaded(this.data):this.loadData()}disconnectedCallback(){super.disconnectedCallback(),this.abortController?.abort(),document.removeEventListener(`mousedown`,this.handleClickOutside),document.removeEventListener(`keydown`,this.handleEscapeKey),document.removeEventListener(`keydown`,this.handleOverlayKeydown),document.removeEventListener(`focusin`,this.handleOverlayFocusIn)}firstUpdated(){this.chrome.observe(this.headerRef.value)}willUpdate(e){if(super.willUpdate(e),this.openMenu===`menu`||this.openMenu===`search`){let e=this.headerRef.value?.getBoundingClientRect();e&&(this.headerAnchor={top:e.top,left:e.left,width:e.width})}}get overlayAnchorStyle(){let{top:e,left:t,width:n}=this.headerAnchor;return`--pkt-header-global-top: ${e}px; --pkt-header-global-left: ${t}px; --pkt-header-global-width: ${n}px`}updated(e){if(super.updated(e),(e.has(`mobileBreakpoint`)||e.has(`tabletBreakpoint`))&&this.chrome.refreshBreakpoints(),e.has(`dataUrl`)&&e.get(`dataUrl`)!==void 0&&!this.data&&this.loadData(),e.has(`data`)&&this.data&&this.emitDataLoaded(this.data),e.has(`openMenu`)){let t=e.get(`openMenu`);this.openMenu!==`none`&&(t===`none`||t===void 0)?(document.addEventListener(`mousedown`,this.handleClickOutside),document.addEventListener(`keydown`,this.handleEscapeKey)):this.openMenu===`none`&&t&&t!==`none`&&(document.removeEventListener(`mousedown`,this.handleClickOutside),document.removeEventListener(`keydown`,this.handleEscapeKey),this.chrome.restoreFocus());let n=t===`menu`||t===`search`,r=this.openMenu===`menu`||this.openMenu===`search`;r&&!n?(document.addEventListener(`keydown`,this.handleOverlayKeydown),document.addEventListener(`focusin`,this.handleOverlayFocusIn)):!r&&n&&(document.removeEventListener(`keydown`,this.handleOverlayKeydown),document.removeEventListener(`focusin`,this.handleOverlayFocusIn)),this.openMenu===`search`&&t!==`search`&&requestAnimationFrame(()=>{this.querySelector(`#${y} input`)?.focus()}),this.chrome.pauseScrollHide=this.openMenu!==`none`,this.chrome.setScrollLock(this.openMenu===`menu`||this.openMenu===`search`)}}async loadData(){this.abortController?.abort(),this.abortController=new AbortController,this.loadError=!1;try{let e=await o.t(this.dataUrl,this.abortController.signal);this.fetchedData=e,this.emitDataLoaded(e)}catch(e){if(e.name===`AbortError`)return;this.loadError=!0,this.dispatchEvent(new CustomEvent(`data-error`,{detail:{error:e},bubbles:!0,composed:!0}))}}emitDataLoaded(e){this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:e},bubbles:!0,composed:!0}))}get effectiveData(){return this.data??this.fetchedData}get localeData(){return o.n(this.effectiveData,this.locale)}get shouldHideOnScroll(){return this.scrollBehavior===`hide`}get isFixed(){return this.position===`fixed`}get isSticky(){return this.position===`sticky`}toggleMenu(e){this.openMenu===e?this.openMenu=`none`:(this.chrome.captureFocus(),this.openMenu=e)}get activeOverlay(){return this.openMenu===`menu`?{panel:this.menuContainerRef.value??null,toggle:this.querySelector(`#${v}`)}:this.openMenu===`search`?{panel:this.querySelector(`#${y}`),toggle:this.querySelector(`#${b}`)}:null}focusToggle(e){(e?.querySelector(`button`)??e)?.focus()}handleSearch(e){this.dispatchEvent(new CustomEvent(`search`,{detail:{query:e},bubbles:!0,composed:!0}))}handleLogout(){this.dispatchEvent(new CustomEvent(`log-out`,{bubbles:!0,composed:!0}))}handleChangeRepresentation(){this.dispatchEvent(new CustomEvent(`change-representation`,{bubbles:!0,composed:!0}))}get formattedLastLoggedIn(){return d(this.user?.lastLoggedIn)}get showLogoutInUserMenu(){return this.hasLogOut&&(this.logOutButtonPlacement===`userMenu`||this.logOutButtonPlacement===`both`)}handleLogoClick(e){this.dispatchEvent(new CustomEvent(`logo-click`,{bubbles:!0,composed:!0,detail:{originalEvent:e}}))}renderLogo(){let t=e._`
271
- <pkt-icon name="oslologo" aria-hidden="true" path=${r.t(this.logoPath)}></pkt-icon>
271
+ <pkt-icon name="oslologo" aria-hidden="true" path=${n.t(this.logoPath)}></pkt-icon>
272
272
  `;return e._`
273
273
  <span class="pkt-header-global__logo">
274
274
  <a href=${this.logoLink} aria-label="Til hovedsiden" @click=${this.handleLogoClick}>
275
275
  ${t}
276
276
  </a>
277
277
  </span>
278
- `}renderSearch(t){if(!this.showSearch)return e.h;let n=t.search;if(!n)return e.h;let i=this.searchPlaceholder??n.input.placeholder;return e._`
278
+ `}renderSearch(t){if(!this.showSearch)return e.h;let r=t.search;if(!r)return e.h;let i=this.searchPlaceholder??r.input.placeholder;return e._`
279
279
  <div class="pkt-header-global__search">
280
280
  <pkt-searchinput
281
281
  appearance="global"
282
282
  input-size=${this.isTablet?`small`:`medium`}
283
283
  fullwidth
284
- id=${n.input.id||`pkt-header-global-search`}
285
- name=${r.t(n.input.name)}
286
- placeholder=${r.t(i)}
287
- aria-label=${r.t(t.i18n?.search)}
288
- action=${n.endpoint}
284
+ id=${r.input.id||`pkt-header-global-search`}
285
+ name=${n.t(r.input.name)}
286
+ placeholder=${n.t(i)}
287
+ aria-label=${n.t(t.i18n?.search)}
288
+ action=${r.endpoint}
289
289
  method="get"
290
290
  @pkt-search=${e=>this.handleSearch(e.detail.value)}
291
291
  ></pkt-searchinput>
@@ -310,32 +310,32 @@ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),
310
310
  >
311
311
  ${n}
312
312
  </pkt-button>
313
- `}renderSearchToggle(t){if(!this.showSearch||!t.search)return e.h;let n=this.openMenu===`search`;return e._`
313
+ `}renderSearchToggle(t){if(!this.showSearch||!t.search)return e.h;let r=this.openMenu===`search`;return e._`
314
314
  <pkt-button
315
315
  id=${b}
316
316
  class="pkt-header-global__search-toggle"
317
317
  skin="primary"
318
- color=${r.t(n?void 0:`yellow`)}
318
+ color=${n.t(r?void 0:`yellow`)}
319
319
  variant="icon-only"
320
- iconName=${n?`close`:`magnifying-glass-big`}
320
+ iconName=${r?`close`:`magnifying-glass-big`}
321
321
  size=${this.isMobile?`small`:`medium`}
322
- state=${n?`active`:`normal`}
323
- aria-expanded=${n}
322
+ state=${r?`active`:`normal`}
323
+ aria-expanded=${r}
324
324
  aria-controls=${y}
325
325
  @click=${()=>this.toggleMenu(`search`)}
326
326
  >
327
327
  ${t.i18n?.search||this.pktStrings.get(`header`).search}
328
328
  </pkt-button>
329
- `}renderSearchPanel(n){let i=n.search;if(this.openMenu!==`search`||!this.showSearch||!i)return e.h;let a=this.searchPlaceholder??i.input.placeholder,o=t.t({"pkt-header-global__search-panel":!0,[`pkt-header-global__search-panel--${this.overlayBreakpointClass}`]:!!this.overlayBreakpointClass});return e._`
329
+ `}renderSearchPanel(r){let i=r.search;if(this.openMenu!==`search`||!this.showSearch||!i)return e.h;let a=this.searchPlaceholder??i.input.placeholder,o=t.t({"pkt-header-global__search-panel":!0,[`pkt-header-global__search-panel--${this.overlayBreakpointClass}`]:!!this.overlayBreakpointClass});return e._`
330
330
  <div class=${o} id=${y} style=${this.overlayAnchorStyle}>
331
331
  <div class="pkt-header-global__search-panel-inner">
332
332
  <pkt-searchinput
333
333
  appearance="global"
334
334
  fullwidth
335
335
  id=${i.input.id||`pkt-header-global-search`}
336
- name=${r.t(i.input.name)}
337
- placeholder=${r.t(a)}
338
- aria-label=${r.t(n.i18n?.search||this.pktStrings.get(`header`).search)}
336
+ name=${n.t(i.input.name)}
337
+ placeholder=${n.t(a)}
338
+ aria-label=${n.t(r.i18n?.search||this.pktStrings.get(`header`).search)}
339
339
  action=${i.endpoint}
340
340
  method="get"
341
341
  @pkt-search=${e=>this.handleSearch(e.detail.value)}
@@ -414,15 +414,15 @@ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),
414
414
  <div class=${r}></div>
415
415
  ${a}${i}
416
416
  </div>
417
- `}return e._`${n}${a}${i}`}};e.n([e.u({type:String,attribute:`data-url`})],x.prototype,`dataUrl`,void 0),e.n([e.u({type:Object,attribute:!1})],x.prototype,`data`,void 0),e.n([e.u({type:String})],x.prototype,`locale`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],x.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],x.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],x.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String})],x.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],x.prototype,`scrollBehavior`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],x.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],x.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],x.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:Boolean,attribute:`show-search`,converter:a.t})],x.prototype,`showSearch`,void 0),e.n([e.u({type:Boolean,attribute:`show-contact`,converter:a.t})],x.prototype,`showContact`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],x.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`has-log-out`,converter:a.t})],x.prototype,`hasLogOut`,void 0),e.n([e.u({type:Object})],x.prototype,`user`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],x.prototype,`userMenu`,void 0),e.n([e.u({type:Object})],x.prototype,`representing`,void 0),e.n([e.l()],x.prototype,`openMenu`,void 0),e.n([e.l()],x.prototype,`fetchedData`,void 0),e.n([e.l()],x.prototype,`loadError`,void 0),e.n([e.l()],x.prototype,`headerAnchor`,void 0);try{e.d(`pkt-header-global`)(x)}catch{console.warn(`Forsøker å definere <pkt-header-global>, men den er allerede definert`)}var S=class extends n.t{constructor(...e){super(...e),this.type=`service`,this.searchValue=``,this.mobileBreakpoint=768,this.tabletBreakpoint=1280,this.openedMenu=`none`,this.logOutButtonPlacement=`none`,this.position=`fixed`,this.scrollBehavior=`hide`,this.slotMenuVariant=`icon-only`,this.slotMenuText=`Meny`,this.hideLogo=!1,this.compact=!1,this.canChangeRepresentation=!1,this.hasLogOut=!1,this.showContact=!0}firstUpdated(e){super.firstUpdated(e),this.emitDeprecationWarnings()}emitDeprecationWarnings(){this.userMenuFooter!==void 0&&console.warn(`[PktHeader] userMenuFooter is deprecated. Use userMenu instead.`),this.userOptions!==void 0&&console.warn(`[PktHeader] userOptions is deprecated. Use userMenu instead.`)}get effectiveUserMenu(){let e=this.userMenu||[],t=this.userMenuFooter||[],n=this.userOptions||[];return t.length||n.length?[...e,...n,...t]:this.userMenu}renderGlobal(){return e._`
417
+ `}return e._`${n}${a}${i}`}};e.n([e.u({type:String,attribute:`data-url`})],x.prototype,`dataUrl`,void 0),e.n([e.u({type:Object,attribute:!1})],x.prototype,`data`,void 0),e.n([e.u({type:String})],x.prototype,`locale`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],x.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],x.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],x.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String})],x.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],x.prototype,`scrollBehavior`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],x.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],x.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],x.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:Boolean,attribute:`show-search`,converter:a.t})],x.prototype,`showSearch`,void 0),e.n([e.u({type:Boolean,attribute:`show-contact`,converter:a.t})],x.prototype,`showContact`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],x.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`has-log-out`,converter:a.t})],x.prototype,`hasLogOut`,void 0),e.n([e.u({type:Object})],x.prototype,`user`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],x.prototype,`userMenu`,void 0),e.n([e.u({type:Object})],x.prototype,`representing`,void 0),e.n([e.l()],x.prototype,`openMenu`,void 0),e.n([e.l()],x.prototype,`fetchedData`,void 0),e.n([e.l()],x.prototype,`loadError`,void 0),e.n([e.l()],x.prototype,`headerAnchor`,void 0);try{e.d(`pkt-header-global`)(x)}catch{console.warn(`Forsøker å definere <pkt-header-global>, men den er allerede definert`)}var S=class extends r.t{constructor(...e){super(...e),this.type=`service`,this.searchValue=``,this.mobileBreakpoint=768,this.tabletBreakpoint=1280,this.openedMenu=`none`,this.logOutButtonPlacement=`none`,this.position=`fixed`,this.scrollBehavior=`hide`,this.slotMenuVariant=`icon-only`,this.slotMenuText=`Meny`,this.hideLogo=!1,this.compact=!1,this.canChangeRepresentation=!1,this.hasLogOut=!1,this.showContact=!0}firstUpdated(e){super.firstUpdated(e),this.emitDeprecationWarnings()}emitDeprecationWarnings(){this.userMenuFooter!==void 0&&console.warn(`[PktHeader] userMenuFooter is deprecated. Use userMenu instead.`),this.userOptions!==void 0&&console.warn(`[PktHeader] userOptions is deprecated. Use userMenu instead.`)}get effectiveUserMenu(){let e=this.userMenu||[],t=this.userMenuFooter||[],n=this.userOptions||[];return t.length||n.length?[...e,...n,...t]:this.userMenu}renderGlobal(){return e._`
418
418
  <pkt-header-global
419
- data-url=${r.t(this.dataUrl)}
420
- locale=${r.t(this.locale)}
421
- logo-link=${r.t(this.logoLink)}
422
- logo-path=${r.t(this.logoPath)}
423
- search-placeholder=${r.t(this.hasAttribute(`search-placeholder`)?this.searchPlaceholder:void 0)}
424
- mobile-breakpoint=${r.t(this.hasAttribute(`mobile-breakpoint`)?this.mobileBreakpoint:void 0)}
425
- tablet-breakpoint=${r.t(this.hasAttribute(`tablet-breakpoint`)?this.tabletBreakpoint:void 0)}
419
+ data-url=${n.t(this.dataUrl)}
420
+ locale=${n.t(this.locale)}
421
+ logo-link=${n.t(this.logoLink)}
422
+ logo-path=${n.t(this.logoPath)}
423
+ search-placeholder=${n.t(this.hasAttribute(`search-placeholder`)?this.searchPlaceholder:void 0)}
424
+ mobile-breakpoint=${n.t(this.hasAttribute(`mobile-breakpoint`)?this.mobileBreakpoint:void 0)}
425
+ tablet-breakpoint=${n.t(this.hasAttribute(`tablet-breakpoint`)?this.tabletBreakpoint:void 0)}
426
426
  log-out-button-placement=${this.logOutButtonPlacement}
427
427
  position=${this.position}
428
428
  scroll-behavior=${this.scrollBehavior}
@@ -437,10 +437,10 @@ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),
437
437
  ></pkt-header-global>
438
438
  `}render(){return this.type===`global`?this.renderGlobal():e._`
439
439
  <pkt-header-service
440
- service-name=${r.t(this.serviceName)}
441
- service-link=${r.t(this.serviceLink)}
442
- logo-link=${r.t(this.logoLink)}
443
- logo-path=${r.t(this.logoPath)}
440
+ service-name=${n.t(this.serviceName)}
441
+ service-link=${n.t(this.serviceLink)}
442
+ logo-link=${n.t(this.logoLink)}
443
+ logo-path=${n.t(this.logoPath)}
444
444
  search-placeholder=${this.searchPlaceholder}
445
445
  search-value=${this.searchValue}
446
446
  mobile-breakpoint=${this.mobileBreakpoint}
@@ -460,6 +460,6 @@ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),
460
460
  .userMenu=${this.effectiveUserMenu}
461
461
  .representing=${this.representing}
462
462
  >
463
- ${this.hasSlotContent()?e._`<div class="pkt-contents">${n.n(this)}</div>`:e.h}
463
+ ${this.hasSlotContent()?e._`<div class="pkt-contents">${r.n(this)}</div>`:e.h}
464
464
  </pkt-header-service>
465
465
  `}};e.n([e.u({type:String})],S.prototype,`type`,void 0),e.n([e.u({type:String,attribute:`service-name`})],S.prototype,`serviceName`,void 0),e.n([e.u({type:String,attribute:`service-link`})],S.prototype,`serviceLink`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],S.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],S.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],S.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String,attribute:`search-value`})],S.prototype,`searchValue`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],S.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],S.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`opened-menu`})],S.prototype,`openedMenu`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],S.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:String})],S.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],S.prototype,`scrollBehavior`,void 0),e.n([e.u({type:String,attribute:`slot-menu-variant`})],S.prototype,`slotMenuVariant`,void 0),e.n([e.u({type:String,attribute:`slot-menu-text`})],S.prototype,`slotMenuText`,void 0),e.n([e.u({type:Boolean,attribute:`hide-logo`,converter:a.t})],S.prototype,`hideLogo`,void 0),e.n([e.u({type:Boolean,converter:a.t})],S.prototype,`compact`,void 0),e.n([e.u({type:Boolean,attribute:`show-search`,converter:a.t})],S.prototype,`showSearch`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],S.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`has-log-out`,converter:a.t})],S.prototype,`hasLogOut`,void 0),e.n([e.u({type:Object})],S.prototype,`user`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],S.prototype,`userMenu`,void 0),e.n([e.u({type:Object})],S.prototype,`representing`,void 0),e.n([e.u({type:String,attribute:`data-url`})],S.prototype,`dataUrl`,void 0),e.n([e.u({type:Object,attribute:!1})],S.prototype,`data`,void 0),e.n([e.u({type:String})],S.prototype,`locale`,void 0),e.n([e.u({type:Boolean,attribute:`show-contact`,converter:a.t})],S.prototype,`showContact`,void 0),e.n([e.u({type:Array,attribute:`user-menu-footer`})],S.prototype,`userMenuFooter`,void 0),e.n([e.u({type:Array,attribute:`user-options`})],S.prototype,`userOptions`,void 0);try{e.d(`pkt-header`)(S)}catch{console.warn(`Forsøker å definere <pkt-header>, men den er allerede definert`)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return S}});
@@ -1,4 +1,4 @@
1
- const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs");require("./icon-DBFTFd-J.cjs"),require("./accordion-DOa5vubf.cjs");const n=require("./booleanish-BF8l4scU.cjs"),r=require("./fetch-header-footer-data-CUKV0biS.cjs");var i=class extends e.t{constructor(...e){super(...e),this.dataUrl=r.a,this.locale=`nb-NO`,this.open=!1,this.mobileBreakpoint=768,this.loadState=`idle`,this.isMobile=!1,this.menuWidth=0}connectedCallback(){super.connectedCallback(),this.classList.add(`pkt-header-menu`),this.updateOpenClass(),this.observeWidth(),this.data?(this.loadState=`ready`,this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:this.data},bubbles:!0,composed:!0}))):this.loadData()}updateOpenClass(){this.classList.toggle(`pkt-header-menu--open`,!!this.open)}disconnectedCallback(){super.disconnectedCallback(),this.abortController?.abort(),this.resizeObserver?.disconnect(),this.resizeObserver=void 0}updated(e){super.updated(e),e.has(`open`)&&this.updateOpenClass(),e.has(`mobileBreakpoint`)&&e.get(`mobileBreakpoint`)!==void 0&&this.refreshIsMobile(),e.has(`dataUrl`)&&e.get(`dataUrl`)!==void 0&&!this.data&&this.loadData(),e.has(`data`)&&e.get(`data`)!==void 0&&this.data&&(this.loadState=`ready`,this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:this.data},bubbles:!0,composed:!0})))}observeWidth(){typeof ResizeObserver>`u`||(this.menuWidth=this.offsetWidth,this.refreshIsMobile(),this.resizeObserver=new ResizeObserver(e=>{for(let t of e)this.menuWidth=t.borderBoxSize&&t.borderBoxSize.length>0?t.borderBoxSize[0].inlineSize:t.contentRect.width,this.refreshIsMobile()}),this.resizeObserver.observe(this))}refreshIsMobile(){this.isMobile=this.menuWidth<this.mobileBreakpoint}async loadData(){this.abortController?.abort(),this.abortController=new AbortController,this.loadState=`loading`;try{let e=await r.t(this.dataUrl,this.abortController.signal);this.fetchedData=e,this.loadState=`ready`,this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:e},bubbles:!0,composed:!0}))}catch(e){if(e.name===`AbortError`)return;this.loadState=`error`,this.dispatchEvent(new CustomEvent(`data-error`,{detail:{error:e},bubbles:!0,composed:!0}))}}get effectiveData(){return this.data??this.fetchedData}get localeData(){return r.n(this.effectiveData,this.locale)}render(){if(this.loadState===`loading`)return e._`
1
+ const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs");require("./icon-DBFTFd-J.cjs"),require("./accordion-E0-pLzBq.cjs");const n=require("./booleanish-BF8l4scU.cjs"),r=require("./fetch-header-footer-data-CUKV0biS.cjs");var i=class extends e.t{constructor(...e){super(...e),this.dataUrl=r.a,this.locale=`nb-NO`,this.open=!1,this.mobileBreakpoint=768,this.loadState=`idle`,this.isMobile=!1,this.menuWidth=0}connectedCallback(){super.connectedCallback(),this.classList.add(`pkt-header-menu`),this.updateOpenClass(),this.observeWidth(),this.data?(this.loadState=`ready`,this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:this.data},bubbles:!0,composed:!0}))):this.loadData()}updateOpenClass(){this.classList.toggle(`pkt-header-menu--open`,!!this.open)}disconnectedCallback(){super.disconnectedCallback(),this.abortController?.abort(),this.resizeObserver?.disconnect(),this.resizeObserver=void 0}updated(e){super.updated(e),e.has(`open`)&&this.updateOpenClass(),e.has(`mobileBreakpoint`)&&e.get(`mobileBreakpoint`)!==void 0&&this.refreshIsMobile(),e.has(`dataUrl`)&&e.get(`dataUrl`)!==void 0&&!this.data&&this.loadData(),e.has(`data`)&&e.get(`data`)!==void 0&&this.data&&(this.loadState=`ready`,this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:this.data},bubbles:!0,composed:!0})))}observeWidth(){typeof ResizeObserver>`u`||(this.menuWidth=this.offsetWidth,this.refreshIsMobile(),this.resizeObserver=new ResizeObserver(e=>{for(let t of e)this.menuWidth=t.borderBoxSize&&t.borderBoxSize.length>0?t.borderBoxSize[0].inlineSize:t.contentRect.width,this.refreshIsMobile()}),this.resizeObserver.observe(this))}refreshIsMobile(){this.isMobile=this.menuWidth<this.mobileBreakpoint}async loadData(){this.abortController?.abort(),this.abortController=new AbortController,this.loadState=`loading`;try{let e=await r.t(this.dataUrl,this.abortController.signal);this.fetchedData=e,this.loadState=`ready`,this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:e},bubbles:!0,composed:!0}))}catch(e){if(e.name===`AbortError`)return;this.loadState=`error`,this.dispatchEvent(new CustomEvent(`data-error`,{detail:{error:e},bubbles:!0,composed:!0}))}}get effectiveData(){return this.data??this.fetchedData}get localeData(){return r.n(this.effectiveData,this.locale)}render(){if(this.loadState===`loading`)return e._`
2
2
  <nav aria-busy="true">
3
3
  <p class="pkt-header-menu__loading">Laster meny…</p>
4
4
  </nav>
@@ -1,7 +1,7 @@
1
1
  import { _ as e, d as t, h as n, l as r, n as i, t as a, u as o } from "./element-e2MAMNEP.js";
2
2
  import { t as s } from "./class-map-BL_YL_Ed.js";
3
3
  import "./icon-jEFbKTB_.js";
4
- import "./accordion-4eAsO-Sr.js";
4
+ import "./accordion-D814csFx.js";
5
5
  import { t as c } from "./booleanish-OQJTYSrw.js";
6
6
  import { a as l, i as u, n as d, r as f, t as p } from "./fetch-header-footer-data-Pc32etrk.js";
7
7
  //#region src/components/header-menu/header-menu.ts
@@ -1,7 +1,7 @@
1
1
  const e=require("./element-DRc10X2R.cjs"),t=require("./class-map-BEib48YL.cjs"),n=require("./element-with-slot-MkibfzHp.cjs"),r=require("./icon-DBFTFd-J.cjs"),i=require("./utils-63cRpWut.cjs");var a=class extends n.t{constructor(...e){super(...e),this.forId=i.n(),this.helptext=``,this.helptextDropdown=``,this.isHelpTextOpen=!1}render(){let i=()=>{let e=!this.isHelpTextOpen;this.isHelpTextOpen=e,this.dispatchEvent(new CustomEvent(`toggleHelpText`,{bubbles:!0,detail:{isOpen:e}}))},a=t.t({"pkt-inputwrapper__helptext-container":!0,"pkt-inputwrapper__has-helptext":this.helptext||this.helptextDropdown||this.hasSlotContent()});return e._`${e._`<div class="${a}">
2
2
  <div class="pkt-inputwrapper__helptext" id="${this.forId}-helptext">
3
- <div class="pkt-contents" name="helptext">${n.n(this)}</div>
4
- ${this.helptext&&r.r(this.helptext)}
3
+ <div class="pkt-contents">${n.n(this)}</div>
4
+ ${this.helptext?e._`<span>${r.r(this.helptext)}</span>`:e.h}
5
5
  </div>
6
6
  ${this.helptextDropdown?e._`<div class="pkt-inputwrapper__helptext-expandable">
7
7
  <button
@@ -21,8 +21,8 @@ var d = class extends c {
21
21
  });
22
22
  return e`${e`<div class="${r}">
23
23
  <div class="pkt-inputwrapper__helptext" id="${this.forId}-helptext">
24
- <div class="pkt-contents" name="helptext">${s(this)}</div>
25
- ${this.helptext && l(this.helptext)}
24
+ <div class="pkt-contents">${s(this)}</div>
25
+ ${this.helptext ? e`<span>${l(this.helptext)}</span>` : n}
26
26
  </div>
27
27
  ${this.helptextDropdown ? e`<div class="pkt-inputwrapper__helptext-expandable">
28
28
  <button
@@ -1,12 +1,12 @@
1
1
  import { _ as e, d as t, h as n, n as r, u as i } from "./element-e2MAMNEP.js";
2
- import { t as a } from "./format-BTeSVkED.js";
3
- import { n as o, t as s } from "./element-with-slot-COOwQUxM.js";
4
- import "./alert-DKNJTlMQ.js";
5
- import { r as c } from "./icon-jEFbKTB_.js";
6
- import { t as l } from "./if-defined-r8tKY4tG.js";
2
+ import { t as a } from "./if-defined-r8tKY4tG.js";
3
+ import { t as o } from "./format-BTeSVkED.js";
4
+ import { n as s, t as c } from "./element-with-slot-COOwQUxM.js";
5
+ import "./alert-DNZtr3gd.js";
6
+ import { r as l } from "./icon-jEFbKTB_.js";
7
7
  import { n as u } from "./utils-BwF4QSrq.js";
8
8
  import { t as d } from "./booleanish-OQJTYSrw.js";
9
- import "./helptext-BzLJKMMO.js";
9
+ import "./helptext-mf-67-fv.js";
10
10
  import { t as f } from "./focus-modality-controller-Dc2S-KqR.js";
11
11
  //#region ../../shared-utils/forms/described-by.ts
12
12
  var p = (e) => {
@@ -185,7 +185,7 @@ var p = (e) => {
185
185
  category: "ui"
186
186
  }
187
187
  }
188
- }, _ = class extends s {
188
+ }, _ = class extends c {
189
189
  constructor(...e) {
190
190
  super(...e), this.forId = u(), this.label = "", this.helptext = null, this.helptextDropdown = null, this.helptextDropdownButton = null, this.counter = g.props.counter.default, this.counterCurrent = 0, this.counterMaxLength = 0, this.counterError = null, this.counterPosition = "bottom", this.optionalTag = g.props.optionalTag.default, this.requiredTag = g.props.requiredTag.default, this.tagText = null, this.hasError = g.props.hasError.default, this.errorMessage = "", this.disabled = g.props.disabled.default, this.inline = g.props.inline.default, this.ariaDescribedby = void 0, this.hasFieldset = g.props.hasFieldset.default, this.role = null, this.useWrapper = g.props.useWrapper.default, this.size = "medium", this.focusModality = new f(this);
191
191
  }
@@ -193,7 +193,7 @@ var p = (e) => {
193
193
  super.updated(e), this.classList.add("pkt-inputwrapper"), this.classList.toggle("pkt-inputwrapper--error", this.hasError), this.classList.toggle("pkt-inputwrapper--disabled", this.disabled), this.classList.toggle("pkt-inputwrapper--inline", this.inline), this.classList.toggle("pkt-inputwrapper--medium", this.size === "medium"), this.classList.toggle("pkt-inputwrapper--small", this.size === "small"), this.classList.toggle("pkt-inputwrapper--xsmall", this.size === "xsmall"), this.role ? this.setAttribute("aria-labelledby", `${this.forId}-label`) : this.removeAttribute("aria-labelledby");
194
194
  }
195
195
  render() {
196
- let t = "pkt-tag pkt-tag--small pkt-tag--thin-text", r = this.ariaDescribedby ? this.ariaDescribedby : this.helptext ? `${this.forId}-helptext` : n, i = this.pktStrings.get("forms"), s = () => e`
196
+ let t = "pkt-tag pkt-tag--small pkt-tag--thin-text", r = this.ariaDescribedby ? this.ariaDescribedby : this.helptext ? `${this.forId}-helptext` : n, i = this.pktStrings.get("forms"), c = () => e`
197
197
  ${this.tagText ? e`<span class=${t + " pkt-tag--gray"}>${this.tagText}</span>` : n}
198
198
  ${this.optionalTag ? e`<span class=${t + " pkt-tag--blue-light"}
199
199
  >${this.optionalText ?? i.optional}</span
@@ -206,18 +206,18 @@ var p = (e) => {
206
206
  id="${this.forId}-label"
207
207
  @click=${this.handleLabelClick}
208
208
  >
209
- ${this.label} ${s()}
209
+ ${this.label} ${c()}
210
210
  </legend>` : e`<label
211
211
  class="pkt-inputwrapper__label"
212
212
  for="${this.forId}"
213
213
  id="${this.forId}-label"
214
214
  @click=${this.handleLabelClick}
215
- >${this.label}${s()}</label
215
+ >${this.label}${c()}</label
216
216
  >` : e`<label for="${this.forId}" class="pkt-sr-only" id="${this.forId}-label">
217
217
  ${this.label}
218
218
  </label>`, d = () => e`
219
219
  <pkt-helptext
220
- class="${l(this.useWrapper ? void 0 : "pkt-hide")}"
220
+ class="${a(this.useWrapper ? void 0 : "pkt-hide")}"
221
221
  .forId=${this.forId}
222
222
  .helptext=${this.helptext}
223
223
  .helptextDropdown=${this.helptextDropdown}
@@ -225,7 +225,7 @@ var p = (e) => {
225
225
  @toggleHelpText=${(e) => {
226
226
  this.toggleDropdown(e);
227
227
  }}
228
- >${o(this, "helptext")}</pkt-helptext
228
+ >${s(this, "helptext")}</pkt-helptext
229
229
  >
230
230
  `, f = () => {
231
231
  if (!this.counter) return n;
@@ -235,7 +235,7 @@ var p = (e) => {
235
235
  ${this.counterMaxLength ? `/${this.counterMaxLength}` : n}
236
236
  </div>
237
237
  <div class="pkt-sr-only" id=${m(this.forId)} aria-live="polite">
238
- ${t ? a(this.pktStrings.get("validation").counterExceeded, {
238
+ ${t ? o(this.pktStrings.get("validation").counterExceeded, {
239
239
  current: this.counterCurrent ?? 0,
240
240
  max: this.counterMaxLength
241
241
  }) : ""}
@@ -247,11 +247,12 @@ var p = (e) => {
247
247
  <pkt-alert
248
248
  skin="error"
249
249
  .size=${t}
250
+ .role=${"alert"}
250
251
  id=${`${this.forId}-error`}
251
252
  aria-live="assertive"
252
253
  aria-atomic="true"
253
254
  >
254
- ${c(this.errorMessage)}
255
+ ${l(this.errorMessage)}
255
256
  </pkt-alert>
256
257
  </div>`;
257
258
  }
@@ -260,7 +261,7 @@ var p = (e) => {
260
261
  ${u()}
261
262
  ${d()}
262
263
  ${this.counterPosition === "top" ? f() : n}
263
- <div class="pkt-contents">${o(this)}</div>
264
+ <div class="pkt-contents">${s(this)}</div>
264
265
  ${this.counterPosition === "bottom" ? f() : n}
265
266
  ${p()}
266
267
  `;