@oslokommune/punkt-elements 17.1.2 → 18.0.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 (249) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/{accordion-BeLvLPrB.js → accordion-1_pdxTgJ.js} +27 -27
  3. package/dist/{accordion-B3GBlvUC.cjs → accordion-DobbH-Sv.cjs} +5 -5
  4. package/dist/{alert-Cs4Rmq_J.cjs → alert-COeHz6o2.cjs} +6 -6
  5. package/dist/{alert-DKK_Tb9J.js → alert-xspFetQ8.js} +26 -26
  6. package/dist/{async-directive-Da7TJpnq.cjs → async-directive-B5pcIMfO.cjs} +1 -1
  7. package/dist/{async-directive-BPf6K-V2.js → async-directive-D2Sht790.js} +5 -5
  8. package/dist/{backlink-D1y26pj3.js → backlink-C0jZFnZ2.js} +8 -8
  9. package/dist/{backlink-CMmrKTe4.cjs → backlink-ZMhqHaVs.cjs} +3 -3
  10. package/dist/base-elements/element.d.ts +13 -1
  11. package/dist/base-elements/input-element.d.ts +4 -2
  12. package/dist/{breadcrumbs-B6JGhJgC.cjs → breadcrumbs-BS64xd1s.cjs} +7 -7
  13. package/dist/{breadcrumbs-CcTQ3Grm.js → breadcrumbs-BvMownZN.js} +16 -16
  14. package/dist/{button-2-OSPJkj.js → button-C44vNLFC.js} +28 -28
  15. package/dist/{button-CE97NQIk.cjs → button-CR4CXtnj.cjs} +7 -7
  16. package/dist/{calendar-kn4SrtJy.cjs → calendar-DQ4byeom.cjs} +28 -27
  17. package/dist/{calendar-pOW3R5Pw.js → calendar-DgjCKMMV.js} +82 -68
  18. package/dist/{card-zQ0eKRMV.js → card-DhHqC265.js} +44 -44
  19. package/dist/{card-CETDFkxR.cjs → card-Dpqi6HVt.cjs} +26 -26
  20. package/dist/{checkbox-CH7NpINF.js → checkbox-BQ1K57AB.js} +23 -23
  21. package/dist/{checkbox-CQNr_sEg.cjs → checkbox-CXQxbiaX.cjs} +11 -11
  22. package/dist/{class-map-BeimMvPv.cjs → class-map-CzCE5pqG.cjs} +1 -1
  23. package/dist/{class-map-CnWCnBSX.js → class-map-F1DJHyb7.js} +3 -3
  24. package/dist/{combobox-Bvg0UO9w.cjs → combobox-BV4oDiII.cjs} +19 -18
  25. package/dist/{combobox-CRdYYlxu.js → combobox-DPck39I2.js} +55 -54
  26. package/dist/components/calendar/calendar.d.ts +21 -6
  27. package/dist/components/checkbox/checkbox.d.ts +4 -2
  28. package/dist/components/combobox/combobox-base.d.ts +2 -1
  29. package/dist/components/consent/strings.d.ts +1 -85
  30. package/dist/components/datepicker/datepicker-base.d.ts +0 -3
  31. package/dist/components/datepicker/datepicker-multiple.d.ts +0 -2
  32. package/dist/components/datepicker/datepicker-range.d.ts +0 -2
  33. package/dist/components/datepicker/datepicker-single.d.ts +0 -2
  34. package/dist/components/datepicker/datepicker-utils.d.ts +2 -1
  35. package/dist/components/fileupload/fileupload-base.d.ts +3 -2
  36. package/dist/components/header/header-service.d.ts +3 -1
  37. package/dist/components/header/header.d.ts +2 -1
  38. package/dist/components/helptext/helptext.d.ts +2 -1
  39. package/dist/components/index.d.ts +2 -0
  40. package/dist/components/input-wrapper/input-wrapper.d.ts +4 -2
  41. package/dist/components/radiobutton/radiobutton.d.ts +4 -2
  42. package/dist/components/searchinput/searchinput.d.ts +2 -1
  43. package/dist/{consent-DZEkhgJ1.js → consent-BneInZov.js} +10 -10
  44. package/dist/{consent-CyY3RyoC.cjs → consent-_N9foluG.cjs} +5 -5
  45. package/dist/controllers/strings-controller.d.ts +27 -0
  46. package/dist/{datepicker-VTqSDQk5.cjs → datepicker-9NX5qt2z.cjs} +38 -37
  47. package/dist/{datepicker-ButIas85.js → datepicker-nSSSr1U7.js} +104 -104
  48. package/dist/{directive-helpers-CI8YZqku.js → directive-helpers-BARw3nEZ.js} +1 -1
  49. package/dist/{directive-helpers-BlAV5EQD.cjs → directive-helpers-D6AAMFKs.cjs} +1 -1
  50. package/dist/docs/components/fileupload.d.ts +1 -0
  51. package/dist/element-B8OGznK0.cjs +2 -0
  52. package/dist/{element-ChsFgr_B.js → element-BKSPVgs2.js} +240 -100
  53. package/dist/{element-with-slot-Bj7nm7fO.cjs → element-with-slot-DTxILHVv.cjs} +1 -1
  54. package/dist/{element-with-slot-BvG9ctC-.js → element-with-slot-YUAUFRqw.js} +4 -4
  55. package/dist/fileupload-D05VSbEP.cjs +402 -0
  56. package/dist/{fileupload-D5IQ9HDe.js → fileupload-E0LGGNgj.js} +370 -380
  57. package/dist/{footer-DbYQUYNR.cjs → footer-DBApIdGh.cjs} +32 -32
  58. package/dist/{footer-DrR64HiK.js → footer-DYilVBMC.js} +91 -91
  59. package/dist/format-B8meU8Tm.cjs +1 -0
  60. package/dist/format-BTeSVkED.js +18 -0
  61. package/dist/{header-ClgIac6n.cjs → header-B7tbX-Ok.cjs} +84 -84
  62. package/dist/{header-menu-BAsUNKSx.cjs → header-menu-1FFWhvNc.cjs} +24 -24
  63. package/dist/{header-menu-hVPXsb8g.js → header-menu-D522-VTV.js} +75 -75
  64. package/dist/{header-KvJ1mGwA.js → header-v3GWAzOK.js} +267 -264
  65. package/dist/{heading-CFmiSuCQ.cjs → heading-CvytvcL7.cjs} +1 -1
  66. package/dist/{heading-g-_IUB5T.js → heading-rx_oSCqe.js} +16 -16
  67. package/dist/helptext-DYFdcylX.cjs +27 -0
  68. package/dist/{helptext-DZng1D5i.js → helptext-LShGPm-b.js} +18 -19
  69. package/dist/{icon-9iwd2F2l.cjs → icon-BmMC09mi.cjs} +1 -1
  70. package/dist/{icon-D-LA22xD.js → icon-HYU1f54x.js} +17 -17
  71. package/dist/{if-defined-CGzIlZ9-.js → if-defined-BF8XcDi5.js} +1 -1
  72. package/dist/if-defined-CVYApOgK.cjs +1 -0
  73. package/dist/{input-element-DBMNBplu.js → input-element-D07DmR34.js} +121 -120
  74. package/dist/input-element-DumGj_oJ.cjs +1 -0
  75. package/dist/input-wrapper-Cci_wTvD.js +308 -0
  76. package/dist/input-wrapper-DDfapoRX.cjs +58 -0
  77. package/dist/{link-DK7gvmnj.cjs → link-11g2ZNin.cjs} +4 -4
  78. package/dist/{link-D-Eqm5KH.js → link-CQK0SH4H.js} +13 -13
  79. package/dist/{linkcard-zqbg7Oqm.js → linkcard-B4GlmjJ6.js} +16 -16
  80. package/dist/linkcard-DNYsVlV6.cjs +13 -0
  81. package/dist/{listbox-Dc4rGdPi.cjs → listbox-BlFRhyI7.cjs} +15 -15
  82. package/dist/{listbox-va_E8afs.js → listbox-wd_OofyF.js} +100 -99
  83. package/dist/{loader-D_RDICnw.js → loader-0C3qVk16.js} +14 -14
  84. package/dist/{loader-CMUkVJmE.cjs → loader-B9u2qUlR.cjs} +5 -5
  85. package/dist/{messagebox-Cv8LaSxv.cjs → messagebox-BD5tGmT-.cjs} +5 -5
  86. package/dist/{messagebox-Cw-OWDya.js → messagebox-C-y1ICmr.js} +15 -15
  87. package/dist/{modal-BtInv031.cjs → modal-BzPGQYCs.cjs} +8 -8
  88. package/dist/{modal-D0t_X2dX.js → modal-Cghs3w-d.js} +20 -20
  89. package/dist/pkt-accordion.cjs +1 -1
  90. package/dist/pkt-accordion.js +1 -1
  91. package/dist/pkt-alert.cjs +1 -1
  92. package/dist/pkt-alert.js +1 -1
  93. package/dist/pkt-backlink.cjs +1 -1
  94. package/dist/pkt-backlink.js +1 -1
  95. package/dist/pkt-breadcrumbs.cjs +1 -1
  96. package/dist/pkt-breadcrumbs.js +1 -1
  97. package/dist/pkt-button.cjs +1 -1
  98. package/dist/pkt-button.js +1 -1
  99. package/dist/pkt-calendar.cjs +1 -1
  100. package/dist/pkt-calendar.js +1 -1
  101. package/dist/pkt-card.cjs +1 -1
  102. package/dist/pkt-card.js +1 -1
  103. package/dist/pkt-checkbox.cjs +1 -1
  104. package/dist/pkt-checkbox.js +1 -1
  105. package/dist/pkt-combobox.cjs +1 -1
  106. package/dist/pkt-combobox.js +1 -1
  107. package/dist/pkt-consent.cjs +1 -1
  108. package/dist/pkt-consent.js +1 -1
  109. package/dist/pkt-datepicker.cjs +1 -1
  110. package/dist/pkt-datepicker.js +1 -1
  111. package/dist/pkt-fileupload.cjs +1 -1
  112. package/dist/pkt-fileupload.js +1 -1
  113. package/dist/pkt-footer.cjs +1 -1
  114. package/dist/pkt-footer.js +1 -1
  115. package/dist/pkt-header-menu.cjs +1 -1
  116. package/dist/pkt-header-menu.js +1 -1
  117. package/dist/pkt-header.cjs +1 -1
  118. package/dist/pkt-header.js +1 -1
  119. package/dist/pkt-heading.cjs +1 -1
  120. package/dist/pkt-heading.js +1 -1
  121. package/dist/pkt-helptext.cjs +1 -1
  122. package/dist/pkt-helptext.js +1 -1
  123. package/dist/pkt-icon.cjs +1 -1
  124. package/dist/pkt-icon.js +1 -1
  125. package/dist/pkt-index.cjs +1 -1
  126. package/dist/pkt-index.js +35 -34
  127. package/dist/pkt-input-wrapper.cjs +1 -1
  128. package/dist/pkt-input-wrapper.js +1 -1
  129. package/dist/pkt-link.cjs +1 -1
  130. package/dist/pkt-link.js +1 -1
  131. package/dist/pkt-linkcard.cjs +1 -1
  132. package/dist/pkt-linkcard.js +1 -1
  133. package/dist/pkt-listbox.cjs +1 -1
  134. package/dist/pkt-listbox.js +1 -1
  135. package/dist/pkt-loader.cjs +1 -1
  136. package/dist/pkt-loader.js +1 -1
  137. package/dist/pkt-messagebox.cjs +1 -1
  138. package/dist/pkt-messagebox.js +1 -1
  139. package/dist/pkt-modal.cjs +1 -1
  140. package/dist/pkt-modal.js +1 -1
  141. package/dist/{pkt-options-controller-C5EBX2T0.cjs → pkt-options-controller-CEEAqXaB.cjs} +1 -1
  142. package/dist/{pkt-options-controller-B77vH3PE.js → pkt-options-controller-PtjhmTGk.js} +1 -1
  143. package/dist/pkt-progressbar.cjs +1 -1
  144. package/dist/pkt-progressbar.js +1 -1
  145. package/dist/pkt-radiobutton.cjs +1 -1
  146. package/dist/pkt-radiobutton.js +1 -1
  147. package/dist/pkt-searchinput.cjs +1 -1
  148. package/dist/pkt-searchinput.js +1 -1
  149. package/dist/pkt-select.cjs +1 -1
  150. package/dist/pkt-select.js +1 -1
  151. package/dist/pkt-tabs.cjs +1 -1
  152. package/dist/pkt-tabs.js +1 -1
  153. package/dist/pkt-tag.cjs +1 -1
  154. package/dist/pkt-tag.js +1 -1
  155. package/dist/pkt-textarea.cjs +1 -1
  156. package/dist/pkt-textarea.js +1 -1
  157. package/dist/pkt-textinput.cjs +1 -1
  158. package/dist/pkt-textinput.js +1 -1
  159. package/dist/pkt-timepicker.cjs +1 -1
  160. package/dist/pkt-timepicker.js +1 -1
  161. package/dist/{progressbar-CbcfLerF.js → progressbar-BexQQw1o.js} +21 -21
  162. package/dist/{progressbar-D5MmnQId.cjs → progressbar-X9mSvpjw.cjs} +5 -5
  163. package/dist/{radiobutton-BUnf3EPi.js → radiobutton-CkhTasn4.js} +24 -24
  164. package/dist/{radiobutton-DpsO1F-8.cjs → radiobutton-ln29Ad3U.cjs} +8 -8
  165. package/dist/{ref-CQoEIIp0.cjs → ref-CHbJYtKE.cjs} +1 -1
  166. package/dist/{ref-CWD6PjVd.js → ref-Chc_DZAb.js} +2 -2
  167. package/dist/{repeat-sY6B7fAT.cjs → repeat-CHDs__rN.cjs} +1 -1
  168. package/dist/{repeat-C02g7d5S.js → repeat-P9SMlKd5.js} +4 -4
  169. package/dist/searchinput-CPgMEAZZ.cjs +60 -0
  170. package/dist/{searchinput-DwnjsvJ1.js → searchinput-Da7dKHBH.js} +43 -43
  171. package/dist/{select-BOJi6H6T.cjs → select-DCuvdAuK.cjs} +4 -3
  172. package/dist/{select-DMre80qs.js → select-jabMSjft.js} +21 -20
  173. package/dist/shared-strings/consent.d.ts +71 -0
  174. package/dist/shared-strings/format.d.ts +21 -0
  175. package/dist/shared-strings/index.d.ts +14 -0
  176. package/dist/shared-strings/nb.d.ts +118 -0
  177. package/dist/shared-strings/resolve.d.ts +12 -0
  178. package/dist/shared-strings/store.d.ts +27 -0
  179. package/dist/shared-strings/types.d.ts +29 -0
  180. package/dist/shared-types/fileupload.d.ts +0 -27
  181. package/dist/shared-types/index.d.ts +1 -2
  182. package/dist/shared-utils/combobox/index.d.ts +1 -0
  183. package/dist/shared-utils/combobox/input-utils.d.ts +2 -1
  184. package/dist/shared-utils/combobox/messages.d.ts +7 -0
  185. package/dist/shared-utils/combobox/option-utils.d.ts +2 -1
  186. package/dist/shared-utils/combobox/selection-manager.d.ts +3 -2
  187. package/dist/{tabs-Cf9ai0FD.cjs → tabs-DV5CQNDL.cjs} +7 -7
  188. package/dist/{tabs-TvxgbrCF.js → tabs-D_hoi1zu.js} +32 -32
  189. package/dist/tag-BxYulmZn.cjs +27 -0
  190. package/dist/{tag-Ds6n1LIs.js → tag-DK5SgKry.js} +33 -32
  191. package/dist/tests/strings-override.test.d.ts +0 -0
  192. package/dist/{textarea-vfzIcXhX.js → textarea-BR7Riace.js} +30 -29
  193. package/dist/{textarea-BydiLM9Z.cjs → textarea-ffBD_VHq.cjs} +3 -2
  194. package/dist/{textinput-CMP2jPP_.js → textinput-CRNrsRNV.js} +28 -27
  195. package/dist/{textinput-DGdicNSx.cjs → textinput-CtHFzAux.cjs} +13 -12
  196. package/dist/timepicker-AfgJipo6.cjs +196 -0
  197. package/dist/{timepicker-ClwgYywH.js → timepicker-ixs_E5RY.js} +67 -64
  198. package/package.json +3 -3
  199. package/src/components/backlink/backlink.ts +1 -1
  200. package/src/components/breadcrumbs/breadcrumbs.ts +1 -1
  201. package/src/components/calendar/calendar.ts +56 -26
  202. package/src/components/checkbox/checkbox.test.ts +0 -2
  203. package/src/components/checkbox/checkbox.ts +8 -4
  204. package/src/components/combobox/combobox-base.ts +2 -1
  205. package/src/components/combobox/combobox-value.ts +10 -9
  206. package/src/components/combobox/combobox.selection.test.ts +5 -1
  207. package/src/components/combobox/combobox.ts +4 -1
  208. package/src/components/consent/strings.ts +1 -125
  209. package/src/components/datepicker/date-tags.ts +4 -1
  210. package/src/components/datepicker/datepicker-base.ts +2 -6
  211. package/src/components/datepicker/datepicker-multiple.ts +0 -3
  212. package/src/components/datepicker/datepicker-range.ts +4 -7
  213. package/src/components/datepicker/datepicker-single.ts +0 -3
  214. package/src/components/datepicker/datepicker-utils.test.ts +5 -5
  215. package/src/components/datepicker/datepicker-utils.ts +6 -11
  216. package/src/components/datepicker/datepicker.ts +8 -1
  217. package/src/components/fileupload/fileupload-base.ts +25 -16
  218. package/src/components/fileupload/fileupload-renderers.ts +2 -1
  219. package/src/components/fileupload/fileupload.test.ts +16 -0
  220. package/src/components/fileupload/fileupload.ts +19 -15
  221. package/src/components/header/header-global.ts +3 -3
  222. package/src/components/header/header-service.ts +13 -8
  223. package/src/components/header/header.ts +2 -1
  224. package/src/components/helptext/helptext.test.ts +1 -1
  225. package/src/components/helptext/helptext.ts +3 -3
  226. package/src/components/index.ts +9 -0
  227. package/src/components/input-wrapper/input-wrapper.ts +18 -10
  228. package/src/components/listbox/listbox.ts +3 -3
  229. package/src/components/radiobutton/radiobutton.ts +8 -4
  230. package/src/components/searchinput/searchinput.ts +5 -3
  231. package/src/components/select/select.ts +1 -0
  232. package/src/components/tag/tag.ts +2 -1
  233. package/src/components/textarea/textarea.ts +1 -0
  234. package/src/components/textinput/textinput.ts +1 -0
  235. package/src/components/timepicker/timepicker.ts +23 -21
  236. package/dist/element-BA8v6S7z.cjs +0 -2
  237. package/dist/fileupload-BeWiTAoW.cjs +0 -401
  238. package/dist/helptext-CTtKJcML.cjs +0 -27
  239. package/dist/if-defined-B89_ZeCj.cjs +0 -1
  240. package/dist/input-element-DYmQw-fH.cjs +0 -1
  241. package/dist/input-wrapper-BmxNvznr.js +0 -128
  242. package/dist/input-wrapper-D-fPaTbY.js +0 -176
  243. package/dist/input-wrapper-D5PR0rJn.cjs +0 -1
  244. package/dist/input-wrapper-Q-B-aBeb.cjs +0 -54
  245. package/dist/linkcard-B29cmZqh.cjs +0 -13
  246. package/dist/searchinput-Bh975rjX.cjs +0 -60
  247. package/dist/tag-CzojNU7z.cjs +0 -27
  248. package/dist/timepicker-DYrnLHqN.cjs +0 -195
  249. package/dist/translations/no.json.d.ts +0 -94
@@ -1,4 +1,4 @@
1
- const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),n=require("./if-defined-B89_ZeCj.cjs"),r=require("./repeat-sY6B7fAT.cjs"),i=require("./utils-63cRpWut.cjs");var a=(e,t)=>t&&(e.find(e=>e.value===t)||e.find(e=>e.label===t))||null,o=(e,t)=>{if(!t)return-1;let n=e.findIndex(e=>e.value===t);return n>=0?n:e.findIndex(e=>e.label===t)},s=(e,t)=>{if(!t)return[...e];let n=t.toLowerCase();return e.filter(e=>(e.fulltext||e.value+(e.label||``)+(e.prefix||``)).toLowerCase().includes(n))},c=e=>e.value+(e.label||``)+(e.prefix||``),l=(e,t)=>t!==null&&e>=t,u=(e,t)=>{if(!t)return{filtered:[...e],suggestion:null};let n=t.toLowerCase(),r=e.filter(e=>e.fulltext?.toLowerCase().includes(n));return{filtered:r,suggestion:r.find(e=>!e.selected&&e.label?.toLowerCase().startsWith(n))||null}},d=(e,t,n,r)=>{if(!e.trim())return{addValueText:null,userInfoMessage:``};let i=e.trim().toLowerCase(),a=t.find(e=>e.toLowerCase()===i),o=n.filter(e=>e.label?.toLowerCase().includes(i)||e.value.toLowerCase().includes(i)),s=o.find(e=>e.label?.toLowerCase()===i||e.value.toLowerCase()===i);return(o.length===0||!s)&&r?{addValueText:e,userInfoMessage:``}:o.length===0&&!r?{addValueText:null,userInfoMessage:`Ingen treff i søket`}:a?{addValueText:null,userInfoMessage:`Verdien er allerede valgt`}:{addValueText:null,userInfoMessage:``}},f=e=>/^[\p{L} ]$/u.test(e),p=(e=500)=>{let t=``,n;return{append:r=>(t+=r.toLowerCase(),n!==void 0&&clearTimeout(n),n=setTimeout(()=>{t=``},e),t),reset:()=>{t=``,n!==void 0&&(clearTimeout(n),n=void 0)},getBuffer:()=>t}},m=(e,t)=>{let n=t.toLowerCase();return e.findIndex(e=>e.textContent?.trim().toLowerCase().startsWith(n))},h=e=>{e.scrollIntoView({block:`nearest`}),window.setTimeout(()=>e.focus(),0)},g=e=>Array.from(e.querySelectorAll(`[role="option"]:not([data-disabled])`)||[]),_=e=>{let t=e.nextElementSibling;t&&h(t)},v=(e,t,n)=>{let r=e.previousElementSibling;if(e.dataset.index===`0`&&n){let e=t.querySelector(`[role="searchbox"]`);e&&h(e)}else r&&h(r)},y=e=>{let t=g(e);t[0]&&h(t[0])},b=e=>{let t=g(e),n=t[t.length-1];n&&h(n)},x=(e,t)=>{if(t.disabled)return;let n=g(e);if(t.allowUserInput&&t.customUserInput){let t=e.querySelector(`[data-type="new-option"]`);if(t){h(t);return}}let r=n.find(e=>e.dataset.selected===`true`);if(r){h(r);return}if(t.includeSearch&&!(document.activeElement instanceof HTMLInputElement)){let t=e.querySelector(`[role="searchbox"]`);if(t){window.setTimeout(()=>t.focus(),0);return}}n[0]&&h(n[0])},S=class extends e.t{constructor(...e){super(...e),this.id=i.n(),this.label=null,this.options=[],this.isOpen=!1,this.disabled=!1,this.includeSearch=!1,this.isMultiSelect=!1,this.allowUserInput=!1,this.maxIsReached=!1,this.customUserInput=null,this.searchPlaceholder=null,this.searchValue=null,this.maxLength=0,this.userMessage=null,this._selectedOptions=0,this.typeahead=p(),this._filteredOptions=[]}connectedCallback(){super.connectedCallback(),this.includeSearch&&!this.searchValue&&(this.searchValue=``),this.options.length>0&&this.filterOptions(),this.setAttribute(`tabindex`,`-1`),this.addEventListener(`focus`,this.focusFirstOrSelectedOption)}disconnectedCallback(){super.disconnectedCallback(),this.typeahead.reset()}updated(e){(e.has(`options`)||e.has(`searchValue`))&&this.filterOptions(),super.updated(e)}attributeChangedCallback(e,t,n){(e===`options`||e===`search-value`)&&this.filterOptions(),super.attributeChangedCallback(e,t,n)}get _hasOptions(){return this._filteredOptions.length>0||this.options.length>0}render(){return e.p`
1
+ const e=require("./element-B8OGznK0.cjs"),t=require("./class-map-CzCE5pqG.cjs"),n=require("./if-defined-CVYApOgK.cjs"),r=require("./repeat-CHDs__rN.cjs"),i=require("./utils-63cRpWut.cjs");var a=(e,t)=>t&&(e.find(e=>e.value===t)||e.find(e=>e.label===t))||null,o=(e,t)=>{if(!t)return-1;let n=e.findIndex(e=>e.value===t);return n>=0?n:e.findIndex(e=>e.label===t)},s=(e,t)=>{if(!t)return[...e];let n=t.toLowerCase();return e.filter(e=>(e.fulltext||e.value+(e.label||``)+(e.prefix||``)).toLowerCase().includes(n))},c=e=>e.value+(e.label||``)+(e.prefix||``),l=(e,t)=>t!==null&&e>=t,u=(e,t)=>{if(!t)return{filtered:[...e],suggestion:null};let n=t.toLowerCase(),r=e.filter(e=>e.fulltext?.toLowerCase().includes(n));return{filtered:r,suggestion:r.find(e=>!e.selected&&e.label?.toLowerCase().startsWith(n))||null}},d=(e,t,n,r)=>{if(!e.trim())return{addValueText:null,userInfoMessage:``};let i=e.trim().toLowerCase(),a=t.find(e=>e.toLowerCase()===i),o=n.filter(e=>e.label?.toLowerCase().includes(i)||e.value.toLowerCase().includes(i)),s=o.find(e=>e.label?.toLowerCase()===i||e.value.toLowerCase()===i);return(o.length===0||!s)&&r?{addValueText:e,userInfoMessage:``}:o.length===0&&!r?{addValueText:null,userInfoMessage:`noResults`}:a?{addValueText:null,userInfoMessage:`alreadySelected`}:{addValueText:null,userInfoMessage:``}},f=e=>/^[\p{L} ]$/u.test(e),p=(e=500)=>{let t=``,n;return{append:r=>(t+=r.toLowerCase(),n!==void 0&&clearTimeout(n),n=setTimeout(()=>{t=``},e),t),reset:()=>{t=``,n!==void 0&&(clearTimeout(n),n=void 0)},getBuffer:()=>t}},m=(e,t)=>{let n=t.toLowerCase();return e.findIndex(e=>e.textContent?.trim().toLowerCase().startsWith(n))},h=e=>{e.scrollIntoView({block:`nearest`}),window.setTimeout(()=>e.focus(),0)},g=e=>Array.from(e.querySelectorAll(`[role="option"]:not([data-disabled])`)||[]),_=e=>{let t=e.nextElementSibling;t&&h(t)},v=(e,t,n)=>{let r=e.previousElementSibling;if(e.dataset.index===`0`&&n){let e=t.querySelector(`[role="searchbox"]`);e&&h(e)}else r&&h(r)},y=e=>{let t=g(e);t[0]&&h(t[0])},b=e=>{let t=g(e),n=t[t.length-1];n&&h(n)},x=(e,t)=>{if(t.disabled)return;let n=g(e);if(t.allowUserInput&&t.customUserInput){let t=e.querySelector(`[data-type="new-option"]`);if(t){h(t);return}}let r=n.find(e=>e.dataset.selected===`true`);if(r){h(r);return}if(t.includeSearch&&!(document.activeElement instanceof HTMLInputElement)){let t=e.querySelector(`[role="searchbox"]`);if(t){window.setTimeout(()=>t.focus(),0);return}}n[0]&&h(n[0])},S=class extends e.t{constructor(...e){super(...e),this.id=i.n(),this.label=null,this.options=[],this.isOpen=!1,this.disabled=!1,this.includeSearch=!1,this.isMultiSelect=!1,this.allowUserInput=!1,this.maxIsReached=!1,this.customUserInput=null,this.searchPlaceholder=null,this.searchValue=null,this.maxLength=0,this.userMessage=null,this._selectedOptions=0,this.typeahead=p(),this._filteredOptions=[]}connectedCallback(){super.connectedCallback(),this.includeSearch&&!this.searchValue&&(this.searchValue=``),this.options.length>0&&this.filterOptions(),this.setAttribute(`tabindex`,`-1`),this.addEventListener(`focus`,this.focusFirstOrSelectedOption)}disconnectedCallback(){super.disconnectedCallback(),this.typeahead.reset()}updated(e){(e.has(`options`)||e.has(`searchValue`))&&this.filterOptions(),super.updated(e)}attributeChangedCallback(e,t,n){(e===`options`||e===`search-value`)&&this.filterOptions(),super.attributeChangedCallback(e,t,n)}get _hasOptions(){return this._filteredOptions.length>0||this.options.length>0}render(){return e._`
2
2
  <div
3
3
  class=${t.t({"pkt-listbox":!0,"pkt-listbox__open":this.isOpen,"pkt-txt-16-light":!0})}
4
4
  role=${n.t(this._hasOptions?`listbox`:void 0)}
@@ -14,7 +14,7 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
14
14
  </ul>
15
15
  </div>
16
16
  <div aria-live="polite" class="pkt-visually-hidden">${this.userMessage}</div>
17
- `}renderCheckboxOrCheckIcon(t,n){return this.isMultiSelect?e.p`
17
+ `}renderCheckboxOrCheckIcon(t,n){return this.isMultiSelect?e._`
18
18
  <input
19
19
  class="pkt-input-check__input-checkbox"
20
20
  type="checkbox"
@@ -26,15 +26,15 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
26
26
  aria-labelledby=${this.id+`-option-label-`+n}
27
27
  ?disabled=${this.disabled||t.disabled||this.maxIsReached&&!t.selected}
28
28
  />
29
- `:t.selected?e.p`<pkt-icon name="check-big"></pkt-icon>`:e.d}renderEmptyMessage(){return this.options.length>0||this._filteredOptions.length>0||this.userMessage?e.d:e.p`<div class="pkt-listbox__banner pkt-listbox__banner--empty">
29
+ `:t.selected?e._`<pkt-icon name="check-big"></pkt-icon>`:e.h}renderEmptyMessage(){return this.options.length>0||this._filteredOptions.length>0||this.userMessage?e.h:e._`<div class="pkt-listbox__banner pkt-listbox__banner--empty">
30
30
  <pkt-icon
31
31
  class="pkt-listbox__banner-icon"
32
32
  name="exclamation-mark-circle"
33
33
  size="large"
34
34
  ></pkt-icon>
35
35
  Tom liste
36
- </div>`}renderList(){return e.p`
37
- ${r.t(this._filteredOptions,e=>e.value,(n,r)=>e.p`
36
+ </div>`}renderList(){return e._`
37
+ ${r.t(this._filteredOptions,e=>e.value,(n,r)=>e._`
38
38
  <li
39
39
  @click=${()=>{this.toggleOption(n)}}
40
40
  aria-selected=${n.selected?`true`:`false`}
@@ -51,15 +51,15 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
51
51
  >
52
52
  ${this.renderCheckboxOrCheckIcon(n,r)}
53
53
  <span class="pkt-listbox__option-label" id=${this.id+`-option-label-`+r}>
54
- ${n.prefix?e.p`<span class="pkt-listbox__option-prefix">${n.prefix}</span>`:e.d}
54
+ ${n.prefix?e._`<span class="pkt-listbox__option-prefix">${n.prefix}</span>`:e.h}
55
55
  ${n.label||n.value}
56
56
  </span>
57
- ${n.description?e.p`<span class="pkt-listbox__option-description pkt-txt-14-light"
57
+ ${n.description?e._`<span class="pkt-listbox__option-description pkt-txt-14-light"
58
58
  >${n.description}</span
59
- >`:e.d}
59
+ >`:e.h}
60
60
  </li>
61
61
  `)}
62
- `}renderNewOptionBanner(){return this.allowUserInput&&this.customUserInput?e.p`
62
+ `}renderNewOptionBanner(){return this.allowUserInput&&this.customUserInput?e._`
63
63
  <div
64
64
  class="pkt-listbox__banner pkt-listbox__banner--new-option pkt-listbox__option"
65
65
  data-type="new-option"
@@ -72,18 +72,18 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
72
72
  <pkt-icon class="pkt-listbox__banner-icon" name="plus-sign" size="large"></pkt-icon>
73
73
  Legg til "${this.customUserInput}"
74
74
  </div>
75
- `:e.d}renderMaximumReachedBanner(){return this._selectedOptions=this.options.filter(e=>e.selected).length,this.isMultiSelect&&this._selectedOptions>0&&this.maxLength>0?e.p`
75
+ `:e.h}renderMaximumReachedBanner(){return this._selectedOptions=this.options.filter(e=>e.selected).length,this.isMultiSelect&&this._selectedOptions>0&&this.maxLength>0?e._`
76
76
  <div class="pkt-listbox__banner pkt-listbox__banner--maximum-reached">
77
77
  ${this._selectedOptions} av maks ${this.maxLength} mulige er valgt.
78
78
  </div>
79
- `:e.d}renderUserMessage(){return this.userMessage?e.p`<div class="pkt-listbox__banner pkt-listbox__banner--user-message">
79
+ `:e.h}renderUserMessage(){return this.userMessage?e._`<div class="pkt-listbox__banner pkt-listbox__banner--user-message">
80
80
  <pkt-icon
81
81
  class="pkt-listbox__banner-icon"
82
82
  name="exclamation-mark-circle"
83
83
  size="large"
84
84
  ></pkt-icon>
85
85
  ${this.userMessage}
86
- </div>`:e.d}renderSearch(){return this.includeSearch?e.p`
86
+ </div>`:e.h}renderSearch(){let t=this.pktStrings.get(`listbox`);return this.includeSearch?e._`
87
87
  <div class="pkt-listbox__search">
88
88
  <span class="pkt-listbox__search-icon">
89
89
  <pkt-icon name="magnifying-glass-small" size="large"></pkt-icon>
@@ -91,9 +91,9 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
91
91
  <input
92
92
  class="pkt-txt-16-light"
93
93
  type="text"
94
- aria-label="Søk i listen"
94
+ aria-label=${t.searchLabel}
95
95
  form=""
96
- placeholder=${this.searchPlaceholder||e.r.forms.search.placeholder}
96
+ placeholder=${this.searchPlaceholder??t.searchPlaceholder}
97
97
  @input=${this.handleSearchInput}
98
98
  @keydown=${this.handleSearchKeydown}
99
99
  .value=${this.searchValue}
@@ -103,4 +103,4 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
103
103
  role="searchbox"
104
104
  />
105
105
  </div>
106
- `:e.d}handleSearchInput(e){this.searchValue=e.target.value,this.dispatchEvent(new CustomEvent(`search`,{detail:this.searchValue,bubbles:!1}))}handleSearchKeydown(e){switch(e.key){case`Enter`:e.preventDefault();break;case`ArrowUp`:case`Escape`:this.closeOptions(),e.preventDefault();break;case`ArrowDown`:this.focusFirstOrSelectedOption();break;case`Tab`:this.tabClose()}}handleOptionKeydown(e){let t=e.currentTarget,n=t.dataset.value,r=t.dataset.type,i=t.dataset.selected===`true`;if(!(!g(this).length&&(!this.customUserInput||!this.allowUserInput&&this.customUserInput)&&r!==`new-option`&&r!==`searchbox`))switch(e.key){case` `:case`Enter`:this.toggleOption(t),e.preventDefault();break;case`Backspace`:n&&(i?this.toggleOption(t):this.closeOptions()),e.preventDefault();break;case`Escape`:this.closeOptions(),e.preventDefault();break;case`Tab`:this.tabClose();break;case`ArrowDown`:e.altKey?b(this):r===`searchbox`||r===`new-option`?y(this):_(t),e.preventDefault();break;case`ArrowUp`:if(e.altKey)y(this);else if(t.dataset.index===`0`&&this.includeSearch){let e=this.querySelector(`[role="searchbox"]`);e&&e.focus()}else if(t.dataset.index===`0`&&this.customUserInput){let e=this.querySelector(`[data-type="new-option"]`);e&&e.focus()}else v(t,this,this.includeSearch);e.preventDefault();break;case`Home`:y(this),e.preventDefault();break;case`End`:b(this),e.preventDefault();break;default:(e.metaKey||e.ctrlKey)&&e.key===`a`&&(this.selectAll(),e.preventDefault()),f(e.key)&&(this.handleTypeAhead(e.key),e.preventDefault())}}focusFirstOrSelectedOption(){x(this,{disabled:this.disabled,allowUserInput:this.allowUserInput,customUserInput:this.customUserInput,includeSearch:this.includeSearch})}toggleOption(e){let t=e instanceof HTMLElement?e.dataset.disabled:e.disabled;if(this.disabled||t)return;let n=e instanceof HTMLElement?e.dataset.value:e.value;this.dispatchEvent(new CustomEvent(`option-toggle`,{detail:n,bubbles:!1}))}selectAll(){this.dispatchEvent(new CustomEvent(`select-all`,{bubbles:!1}))}closeOptions(){this.dispatchEvent(new CustomEvent(`close-options`,{bubbles:!1}))}tabClose(){this.dispatchEvent(new CustomEvent(`tab-close`,{bubbles:!1}))}filterOptions(){this._filteredOptions=s(this.options,this.searchValue)}handleTypeAhead(e){let t=this.typeahead.append(e),n=g(this),r=m(n,t);r>=0&&h(n[r])}};e.n([e.o({type:String})],S.prototype,`id`,void 0),e.n([e.o({type:String})],S.prototype,`label`,void 0),e.n([e.o({type:Array})],S.prototype,`options`,void 0),e.n([e.o({type:Boolean,reflect:!0,attribute:`is-open`})],S.prototype,`isOpen`,void 0),e.n([e.o({type:Boolean})],S.prototype,`disabled`,void 0),e.n([e.o({type:Boolean,attribute:`include-search`})],S.prototype,`includeSearch`,void 0),e.n([e.o({type:Boolean,attribute:`is-multi-select`})],S.prototype,`isMultiSelect`,void 0),e.n([e.o({type:Boolean,attribute:`allow-user-input`})],S.prototype,`allowUserInput`,void 0),e.n([e.o({type:Boolean,attribute:`max-is-reached`})],S.prototype,`maxIsReached`,void 0),e.n([e.o({type:String,attribute:`custom-user-input`})],S.prototype,`customUserInput`,void 0),e.n([e.o({type:String,attribute:`search-placeholder`})],S.prototype,`searchPlaceholder`,void 0),e.n([e.o({type:String,attribute:`search-value`})],S.prototype,`searchValue`,void 0),e.n([e.o({type:Number,attribute:`max-length`})],S.prototype,`maxLength`,void 0),e.n([e.o({type:String,attribute:`user-message`})],S.prototype,`userMessage`,void 0),e.n([e.a()],S.prototype,`_filteredOptions`,void 0);try{e.s(`pkt-listbox`)(S)}catch{console.warn(`Forsøker å definere <pkt-listbox>, men den er allerede definert`)}var C=S;Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}});
106
+ `:e.h}handleSearchInput(e){this.searchValue=e.target.value,this.dispatchEvent(new CustomEvent(`search`,{detail:this.searchValue,bubbles:!1}))}handleSearchKeydown(e){switch(e.key){case`Enter`:e.preventDefault();break;case`ArrowUp`:case`Escape`:this.closeOptions(),e.preventDefault();break;case`ArrowDown`:this.focusFirstOrSelectedOption();break;case`Tab`:this.tabClose()}}handleOptionKeydown(e){let t=e.currentTarget,n=t.dataset.value,r=t.dataset.type,i=t.dataset.selected===`true`;if(!(!g(this).length&&(!this.customUserInput||!this.allowUserInput&&this.customUserInput)&&r!==`new-option`&&r!==`searchbox`))switch(e.key){case` `:case`Enter`:this.toggleOption(t),e.preventDefault();break;case`Backspace`:n&&(i?this.toggleOption(t):this.closeOptions()),e.preventDefault();break;case`Escape`:this.closeOptions(),e.preventDefault();break;case`Tab`:this.tabClose();break;case`ArrowDown`:e.altKey?b(this):r===`searchbox`||r===`new-option`?y(this):_(t),e.preventDefault();break;case`ArrowUp`:if(e.altKey)y(this);else if(t.dataset.index===`0`&&this.includeSearch){let e=this.querySelector(`[role="searchbox"]`);e&&e.focus()}else if(t.dataset.index===`0`&&this.customUserInput){let e=this.querySelector(`[data-type="new-option"]`);e&&e.focus()}else v(t,this,this.includeSearch);e.preventDefault();break;case`Home`:y(this),e.preventDefault();break;case`End`:b(this),e.preventDefault();break;default:(e.metaKey||e.ctrlKey)&&e.key===`a`&&(this.selectAll(),e.preventDefault()),f(e.key)&&(this.handleTypeAhead(e.key),e.preventDefault())}}focusFirstOrSelectedOption(){x(this,{disabled:this.disabled,allowUserInput:this.allowUserInput,customUserInput:this.customUserInput,includeSearch:this.includeSearch})}toggleOption(e){let t=e instanceof HTMLElement?e.dataset.disabled:e.disabled;if(this.disabled||t)return;let n=e instanceof HTMLElement?e.dataset.value:e.value;this.dispatchEvent(new CustomEvent(`option-toggle`,{detail:n,bubbles:!1}))}selectAll(){this.dispatchEvent(new CustomEvent(`select-all`,{bubbles:!1}))}closeOptions(){this.dispatchEvent(new CustomEvent(`close-options`,{bubbles:!1}))}tabClose(){this.dispatchEvent(new CustomEvent(`tab-close`,{bubbles:!1}))}filterOptions(){this._filteredOptions=s(this.options,this.searchValue)}handleTypeAhead(e){let t=this.typeahead.append(e),n=g(this),r=m(n,t);r>=0&&h(n[r])}};e.n([e.u({type:String})],S.prototype,`id`,void 0),e.n([e.u({type:String})],S.prototype,`label`,void 0),e.n([e.u({type:Array})],S.prototype,`options`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`is-open`})],S.prototype,`isOpen`,void 0),e.n([e.u({type:Boolean})],S.prototype,`disabled`,void 0),e.n([e.u({type:Boolean,attribute:`include-search`})],S.prototype,`includeSearch`,void 0),e.n([e.u({type:Boolean,attribute:`is-multi-select`})],S.prototype,`isMultiSelect`,void 0),e.n([e.u({type:Boolean,attribute:`allow-user-input`})],S.prototype,`allowUserInput`,void 0),e.n([e.u({type:Boolean,attribute:`max-is-reached`})],S.prototype,`maxIsReached`,void 0),e.n([e.u({type:String,attribute:`custom-user-input`})],S.prototype,`customUserInput`,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:`max-length`})],S.prototype,`maxLength`,void 0),e.n([e.u({type:String,attribute:`user-message`})],S.prototype,`userMessage`,void 0),e.n([e.l()],S.prototype,`_filteredOptions`,void 0);try{e.d(`pkt-listbox`)(S)}catch{console.warn(`Forsøker å definere <pkt-listbox>, men den er allerede definert`)}var C=S;Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}});
@@ -1,18 +1,18 @@
1
- import { a as e, d as t, n, o as r, p as i, r as a, s as o, t as s } from "./element-ChsFgr_B.js";
2
- import { t as c } from "./class-map-CnWCnBSX.js";
3
- import { t as l } from "./if-defined-CGzIlZ9-.js";
4
- import { t as u } from "./repeat-C02g7d5S.js";
5
- import { n as d } from "./utils-BwF4QSrq.js";
1
+ import { _ as e, d as t, h as n, l as r, n as i, t as a, u as o } from "./element-BKSPVgs2.js";
2
+ import { t as s } from "./class-map-F1DJHyb7.js";
3
+ import { t as c } from "./if-defined-BF8XcDi5.js";
4
+ import { t as l } from "./repeat-P9SMlKd5.js";
5
+ import { n as u } from "./utils-BwF4QSrq.js";
6
6
  //#region ../../shared-utils/combobox/option-utils.ts
7
- var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label === t)) || null, p = (e, t) => {
7
+ var d = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label === t)) || null, f = (e, t) => {
8
8
  if (!t) return -1;
9
9
  let n = e.findIndex((e) => e.value === t);
10
10
  return n >= 0 ? n : e.findIndex((e) => e.label === t);
11
- }, m = (e, t) => {
11
+ }, p = (e, t) => {
12
12
  if (!t) return [...e];
13
13
  let n = t.toLowerCase();
14
14
  return e.filter((e) => (e.fulltext || e.value + (e.label || "") + (e.prefix || "")).toLowerCase().includes(n));
15
- }, h = (e) => e.value + (e.label || "") + (e.prefix || ""), g = (e, t) => t !== null && e >= t, _ = (e, t) => {
15
+ }, m = (e) => e.value + (e.label || "") + (e.prefix || ""), h = (e, t) => t !== null && e >= t, g = (e, t) => {
16
16
  if (!t) return {
17
17
  filtered: [...e],
18
18
  suggestion: null
@@ -22,7 +22,7 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
22
22
  filtered: r,
23
23
  suggestion: r.find((e) => !e.selected && e.label?.toLowerCase().startsWith(n)) || null
24
24
  };
25
- }, v = (e, t, n, r) => {
25
+ }, _ = (e, t, n, r) => {
26
26
  if (!e.trim()) return {
27
27
  addValueText: null,
28
28
  userInfoMessage: ""
@@ -33,15 +33,15 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
33
33
  userInfoMessage: ""
34
34
  } : o.length === 0 && !r ? {
35
35
  addValueText: null,
36
- userInfoMessage: "Ingen treff i søket"
36
+ userInfoMessage: "noResults"
37
37
  } : a ? {
38
38
  addValueText: null,
39
- userInfoMessage: "Verdien er allerede valgt"
39
+ userInfoMessage: "alreadySelected"
40
40
  } : {
41
41
  addValueText: null,
42
42
  userInfoMessage: ""
43
43
  };
44
- }, y = (e) => /^[\p{L} ]$/u.test(e), b = (e = 500) => {
44
+ }, v = (e) => /^[\p{L} ]$/u.test(e), y = (e = 500) => {
45
45
  let t = "", n;
46
46
  return {
47
47
  append: (r) => (t += r.toLowerCase(), n !== void 0 && clearTimeout(n), n = setTimeout(() => {
@@ -52,39 +52,39 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
52
52
  },
53
53
  getBuffer: () => t
54
54
  };
55
- }, x = (e, t) => {
55
+ }, b = (e, t) => {
56
56
  let n = t.toLowerCase();
57
57
  return e.findIndex((e) => e.textContent?.trim().toLowerCase().startsWith(n));
58
- }, S = (e) => {
58
+ }, x = (e) => {
59
59
  e.scrollIntoView({ block: "nearest" }), window.setTimeout(() => e.focus(), 0);
60
- }, C = (e) => Array.from(e.querySelectorAll("[role=\"option\"]:not([data-disabled])") || []), w = (e) => {
60
+ }, S = (e) => Array.from(e.querySelectorAll("[role=\"option\"]:not([data-disabled])") || []), C = (e) => {
61
61
  let t = e.nextElementSibling;
62
- t && S(t);
63
- }, T = (e, t, n) => {
62
+ t && x(t);
63
+ }, w = (e, t, n) => {
64
64
  let r = e.previousElementSibling;
65
65
  if (e.dataset.index === "0" && n) {
66
66
  let e = t.querySelector("[role=\"searchbox\"]");
67
- e && S(e);
68
- } else r && S(r);
67
+ e && x(e);
68
+ } else r && x(r);
69
+ }, T = (e) => {
70
+ let t = S(e);
71
+ t[0] && x(t[0]);
69
72
  }, E = (e) => {
70
- let t = C(e);
71
- t[0] && S(t[0]);
72
- }, D = (e) => {
73
- let t = C(e), n = t[t.length - 1];
74
- n && S(n);
75
- }, O = (e, t) => {
73
+ let t = S(e), n = t[t.length - 1];
74
+ n && x(n);
75
+ }, D = (e, t) => {
76
76
  if (t.disabled) return;
77
- let n = C(e);
77
+ let n = S(e);
78
78
  if (t.allowUserInput && t.customUserInput) {
79
79
  let t = e.querySelector("[data-type=\"new-option\"]");
80
80
  if (t) {
81
- S(t);
81
+ x(t);
82
82
  return;
83
83
  }
84
84
  }
85
85
  let r = n.find((e) => e.dataset.selected === "true");
86
86
  if (r) {
87
- S(r);
87
+ x(r);
88
88
  return;
89
89
  }
90
90
  if (t.includeSearch && !(document.activeElement instanceof HTMLInputElement)) {
@@ -94,10 +94,10 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
94
94
  return;
95
95
  }
96
96
  }
97
- n[0] && S(n[0]);
98
- }, k = class extends s {
97
+ n[0] && x(n[0]);
98
+ }, O = class extends a {
99
99
  constructor(...e) {
100
- super(...e), this.id = d(), this.label = null, this.options = [], this.isOpen = !1, this.disabled = !1, this.includeSearch = !1, this.isMultiSelect = !1, this.allowUserInput = !1, this.maxIsReached = !1, this.customUserInput = null, this.searchPlaceholder = null, this.searchValue = null, this.maxLength = 0, this.userMessage = null, this._selectedOptions = 0, this.typeahead = b(), this._filteredOptions = [];
100
+ super(...e), this.id = u(), this.label = null, this.options = [], this.isOpen = !1, this.disabled = !1, this.includeSearch = !1, this.isMultiSelect = !1, this.allowUserInput = !1, this.maxIsReached = !1, this.customUserInput = null, this.searchPlaceholder = null, this.searchValue = null, this.maxLength = 0, this.userMessage = null, this._selectedOptions = 0, this.typeahead = y(), this._filteredOptions = [];
101
101
  }
102
102
  connectedCallback() {
103
103
  super.connectedCallback(), this.includeSearch && !this.searchValue && (this.searchValue = ""), this.options.length > 0 && this.filterOptions(), this.setAttribute("tabindex", "-1"), this.addEventListener("focus", this.focusFirstOrSelectedOption);
@@ -115,16 +115,16 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
115
115
  return this._filteredOptions.length > 0 || this.options.length > 0;
116
116
  }
117
117
  render() {
118
- return i`
118
+ return e`
119
119
  <div
120
- class=${c({
120
+ class=${s({
121
121
  "pkt-listbox": !0,
122
122
  "pkt-listbox__open": this.isOpen,
123
123
  "pkt-txt-16-light": !0
124
124
  })}
125
- role=${l(this._hasOptions ? "listbox" : void 0)}
126
- aria-multiselectable=${l(this._hasOptions && this.isMultiSelect ? "true" : void 0)}
127
- aria-label=${l(this._hasOptions ? this.label ?? void 0 : void 0)}
125
+ role=${c(this._hasOptions ? "listbox" : void 0)}
126
+ aria-multiselectable=${c(this._hasOptions && this.isMultiSelect ? "true" : void 0)}
127
+ aria-label=${c(this._hasOptions ? this.label ?? void 0 : void 0)}
128
128
  >
129
129
  <div class="pkt-listbox__banners">
130
130
  ${this.renderSearch()} ${this.renderMaximumReachedBanner()} ${this.renderUserMessage()}
@@ -137,25 +137,25 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
137
137
  <div aria-live="polite" class="pkt-visually-hidden">${this.userMessage}</div>
138
138
  `;
139
139
  }
140
- renderCheckboxOrCheckIcon(e, n) {
141
- return this.isMultiSelect ? i`
140
+ renderCheckboxOrCheckIcon(t, r) {
141
+ return this.isMultiSelect ? e`
142
142
  <input
143
143
  class="pkt-input-check__input-checkbox"
144
144
  type="checkbox"
145
145
  role="presentation"
146
146
  tabindex="-1"
147
- value=${e.value}
147
+ value=${t.value}
148
148
  @change=${(e) => {
149
149
  e.stopPropagation();
150
150
  }}
151
- .checked=${e.selected}
152
- aria-labelledby=${this.id + "-option-label-" + n}
153
- ?disabled=${this.disabled || e.disabled || this.maxIsReached && !e.selected}
151
+ .checked=${t.selected}
152
+ aria-labelledby=${this.id + "-option-label-" + r}
153
+ ?disabled=${this.disabled || t.disabled || this.maxIsReached && !t.selected}
154
154
  />
155
- ` : e.selected ? i`<pkt-icon name="check-big"></pkt-icon>` : t;
155
+ ` : t.selected ? e`<pkt-icon name="check-big"></pkt-icon>` : n;
156
156
  }
157
157
  renderEmptyMessage() {
158
- return this.options.length > 0 || this._filteredOptions.length > 0 || this.userMessage ? t : i`<div class="pkt-listbox__banner pkt-listbox__banner--empty">
158
+ return this.options.length > 0 || this._filteredOptions.length > 0 || this.userMessage ? n : e`<div class="pkt-listbox__banner pkt-listbox__banner--empty">
159
159
  <pkt-icon
160
160
  class="pkt-listbox__banner-icon"
161
161
  name="exclamation-mark-circle"
@@ -165,42 +165,42 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
165
165
  </div>`;
166
166
  }
167
167
  renderList() {
168
- return i`
169
- ${u(this._filteredOptions, (e) => e.value, (e, n) => i`
168
+ return e`
169
+ ${l(this._filteredOptions, (e) => e.value, (t, r) => e`
170
170
  <li
171
171
  @click=${() => {
172
- this.toggleOption(e);
172
+ this.toggleOption(t);
173
173
  }}
174
- aria-selected=${e.selected ? "true" : "false"}
174
+ aria-selected=${t.selected ? "true" : "false"}
175
175
  @keydown=${this.handleOptionKeydown}
176
- class=${c({
176
+ class=${s({
177
177
  "pkt-listbox__option": !0,
178
- "pkt-listbox__option--selected": !!(!this.isMultiSelect && e.selected),
178
+ "pkt-listbox__option--selected": !!(!this.isMultiSelect && t.selected),
179
179
  "pkt-listbox__option--checkBox": this.isMultiSelect
180
180
  })}
181
- tabindex="${this.disabled || e.disabled ? "-1" : "0"}"
182
- data-index=${n}
183
- data-value=${e.value}
184
- data-selected=${e.selected ? "true" : "false"}
185
- ?data-disabled=${this.disabled || e.disabled || this.maxIsReached && !e.selected}
186
- aria-disabled=${this.disabled || e.disabled || this.maxIsReached && !e.selected ? "true" : "false"}
181
+ tabindex="${this.disabled || t.disabled ? "-1" : "0"}"
182
+ data-index=${r}
183
+ data-value=${t.value}
184
+ data-selected=${t.selected ? "true" : "false"}
185
+ ?data-disabled=${this.disabled || t.disabled || this.maxIsReached && !t.selected}
186
+ aria-disabled=${this.disabled || t.disabled || this.maxIsReached && !t.selected ? "true" : "false"}
187
187
  role="option"
188
- id=${`${this.id}-${n}`}
188
+ id=${`${this.id}-${r}`}
189
189
  >
190
- ${this.renderCheckboxOrCheckIcon(e, n)}
191
- <span class="pkt-listbox__option-label" id=${this.id + "-option-label-" + n}>
192
- ${e.prefix ? i`<span class="pkt-listbox__option-prefix">${e.prefix}</span>` : t}
193
- ${e.label || e.value}
190
+ ${this.renderCheckboxOrCheckIcon(t, r)}
191
+ <span class="pkt-listbox__option-label" id=${this.id + "-option-label-" + r}>
192
+ ${t.prefix ? e`<span class="pkt-listbox__option-prefix">${t.prefix}</span>` : n}
193
+ ${t.label || t.value}
194
194
  </span>
195
- ${e.description ? i`<span class="pkt-listbox__option-description pkt-txt-14-light"
196
- >${e.description}</span
197
- >` : t}
195
+ ${t.description ? e`<span class="pkt-listbox__option-description pkt-txt-14-light"
196
+ >${t.description}</span
197
+ >` : n}
198
198
  </li>
199
199
  `)}
200
200
  `;
201
201
  }
202
202
  renderNewOptionBanner() {
203
- return this.allowUserInput && this.customUserInput ? i`
203
+ return this.allowUserInput && this.customUserInput ? e`
204
204
  <div
205
205
  class="pkt-listbox__banner pkt-listbox__banner--new-option pkt-listbox__option"
206
206
  data-type="new-option"
@@ -213,27 +213,28 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
213
213
  <pkt-icon class="pkt-listbox__banner-icon" name="plus-sign" size="large"></pkt-icon>
214
214
  Legg til "${this.customUserInput}"
215
215
  </div>
216
- ` : t;
216
+ ` : n;
217
217
  }
218
218
  renderMaximumReachedBanner() {
219
- return this._selectedOptions = this.options.filter((e) => e.selected).length, this.isMultiSelect && this._selectedOptions > 0 && this.maxLength > 0 ? i`
219
+ return this._selectedOptions = this.options.filter((e) => e.selected).length, this.isMultiSelect && this._selectedOptions > 0 && this.maxLength > 0 ? e`
220
220
  <div class="pkt-listbox__banner pkt-listbox__banner--maximum-reached">
221
221
  ${this._selectedOptions} av maks ${this.maxLength} mulige er valgt.
222
222
  </div>
223
- ` : t;
223
+ ` : n;
224
224
  }
225
225
  renderUserMessage() {
226
- return this.userMessage ? i`<div class="pkt-listbox__banner pkt-listbox__banner--user-message">
226
+ return this.userMessage ? e`<div class="pkt-listbox__banner pkt-listbox__banner--user-message">
227
227
  <pkt-icon
228
228
  class="pkt-listbox__banner-icon"
229
229
  name="exclamation-mark-circle"
230
230
  size="large"
231
231
  ></pkt-icon>
232
232
  ${this.userMessage}
233
- </div>` : t;
233
+ </div>` : n;
234
234
  }
235
235
  renderSearch() {
236
- return this.includeSearch ? i`
236
+ let t = this.pktStrings.get("listbox");
237
+ return this.includeSearch ? e`
237
238
  <div class="pkt-listbox__search">
238
239
  <span class="pkt-listbox__search-icon">
239
240
  <pkt-icon name="magnifying-glass-small" size="large"></pkt-icon>
@@ -241,9 +242,9 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
241
242
  <input
242
243
  class="pkt-txt-16-light"
243
244
  type="text"
244
- aria-label="Søk i listen"
245
+ aria-label=${t.searchLabel}
245
246
  form=""
246
- placeholder=${this.searchPlaceholder || a.forms.search.placeholder}
247
+ placeholder=${this.searchPlaceholder ?? t.searchPlaceholder}
247
248
  @input=${this.handleSearchInput}
248
249
  @keydown=${this.handleSearchKeydown}
249
250
  .value=${this.searchValue}
@@ -253,7 +254,7 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
253
254
  role="searchbox"
254
255
  />
255
256
  </div>
256
- ` : t;
257
+ ` : n;
257
258
  }
258
259
  handleSearchInput(e) {
259
260
  this.searchValue = e.target.value, this.dispatchEvent(new CustomEvent("search", {
@@ -278,7 +279,7 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
278
279
  }
279
280
  handleOptionKeydown(e) {
280
281
  let t = e.currentTarget, n = t.dataset.value, r = t.dataset.type, i = t.dataset.selected === "true";
281
- if (!(!C(this).length && (!this.customUserInput || !this.allowUserInput && this.customUserInput) && r !== "new-option" && r !== "searchbox")) switch (e.key) {
282
+ if (!(!S(this).length && (!this.customUserInput || !this.allowUserInput && this.customUserInput) && r !== "new-option" && r !== "searchbox")) switch (e.key) {
282
283
  case " ":
283
284
  case "Enter":
284
285
  this.toggleOption(t), e.preventDefault();
@@ -293,30 +294,30 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
293
294
  this.tabClose();
294
295
  break;
295
296
  case "ArrowDown":
296
- e.altKey ? D(this) : r === "searchbox" || r === "new-option" ? E(this) : w(t), e.preventDefault();
297
+ e.altKey ? E(this) : r === "searchbox" || r === "new-option" ? T(this) : C(t), e.preventDefault();
297
298
  break;
298
299
  case "ArrowUp":
299
- if (e.altKey) E(this);
300
+ if (e.altKey) T(this);
300
301
  else if (t.dataset.index === "0" && this.includeSearch) {
301
302
  let e = this.querySelector("[role=\"searchbox\"]");
302
303
  e && e.focus();
303
304
  } else if (t.dataset.index === "0" && this.customUserInput) {
304
305
  let e = this.querySelector("[data-type=\"new-option\"]");
305
306
  e && e.focus();
306
- } else T(t, this, this.includeSearch);
307
+ } else w(t, this, this.includeSearch);
307
308
  e.preventDefault();
308
309
  break;
309
310
  case "Home":
310
- E(this), e.preventDefault();
311
+ T(this), e.preventDefault();
311
312
  break;
312
313
  case "End":
313
- D(this), e.preventDefault();
314
+ E(this), e.preventDefault();
314
315
  break;
315
- default: (e.metaKey || e.ctrlKey) && e.key === "a" && (this.selectAll(), e.preventDefault()), y(e.key) && (this.handleTypeAhead(e.key), e.preventDefault());
316
+ default: (e.metaKey || e.ctrlKey) && e.key === "a" && (this.selectAll(), e.preventDefault()), v(e.key) && (this.handleTypeAhead(e.key), e.preventDefault());
316
317
  }
317
318
  }
318
319
  focusFirstOrSelectedOption() {
319
- O(this, {
320
+ D(this, {
320
321
  disabled: this.disabled,
321
322
  allowUserInput: this.allowUserInput,
322
323
  customUserInput: this.customUserInput,
@@ -342,52 +343,52 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
342
343
  this.dispatchEvent(new CustomEvent("tab-close", { bubbles: !1 }));
343
344
  }
344
345
  filterOptions() {
345
- this._filteredOptions = m(this.options, this.searchValue);
346
+ this._filteredOptions = p(this.options, this.searchValue);
346
347
  }
347
348
  handleTypeAhead(e) {
348
- let t = this.typeahead.append(e), n = C(this), r = x(n, t);
349
- r >= 0 && S(n[r]);
349
+ let t = this.typeahead.append(e), n = S(this), r = b(n, t);
350
+ r >= 0 && x(n[r]);
350
351
  }
351
352
  };
352
- n([r({ type: String })], k.prototype, "id", void 0), n([r({ type: String })], k.prototype, "label", void 0), n([r({ type: Array })], k.prototype, "options", void 0), n([r({
353
+ i([o({ type: String })], O.prototype, "id", void 0), i([o({ type: String })], O.prototype, "label", void 0), i([o({ type: Array })], O.prototype, "options", void 0), i([o({
353
354
  type: Boolean,
354
355
  reflect: !0,
355
356
  attribute: "is-open"
356
- })], k.prototype, "isOpen", void 0), n([r({ type: Boolean })], k.prototype, "disabled", void 0), n([r({
357
+ })], O.prototype, "isOpen", void 0), i([o({ type: Boolean })], O.prototype, "disabled", void 0), i([o({
357
358
  type: Boolean,
358
359
  attribute: "include-search"
359
- })], k.prototype, "includeSearch", void 0), n([r({
360
+ })], O.prototype, "includeSearch", void 0), i([o({
360
361
  type: Boolean,
361
362
  attribute: "is-multi-select"
362
- })], k.prototype, "isMultiSelect", void 0), n([r({
363
+ })], O.prototype, "isMultiSelect", void 0), i([o({
363
364
  type: Boolean,
364
365
  attribute: "allow-user-input"
365
- })], k.prototype, "allowUserInput", void 0), n([r({
366
+ })], O.prototype, "allowUserInput", void 0), i([o({
366
367
  type: Boolean,
367
368
  attribute: "max-is-reached"
368
- })], k.prototype, "maxIsReached", void 0), n([r({
369
+ })], O.prototype, "maxIsReached", void 0), i([o({
369
370
  type: String,
370
371
  attribute: "custom-user-input"
371
- })], k.prototype, "customUserInput", void 0), n([r({
372
+ })], O.prototype, "customUserInput", void 0), i([o({
372
373
  type: String,
373
374
  attribute: "search-placeholder"
374
- })], k.prototype, "searchPlaceholder", void 0), n([r({
375
+ })], O.prototype, "searchPlaceholder", void 0), i([o({
375
376
  type: String,
376
377
  attribute: "search-value"
377
- })], k.prototype, "searchValue", void 0), n([r({
378
+ })], O.prototype, "searchValue", void 0), i([o({
378
379
  type: Number,
379
380
  attribute: "max-length"
380
- })], k.prototype, "maxLength", void 0), n([r({
381
+ })], O.prototype, "maxLength", void 0), i([o({
381
382
  type: String,
382
383
  attribute: "user-message"
383
- })], k.prototype, "userMessage", void 0), n([e()], k.prototype, "_filteredOptions", void 0);
384
+ })], O.prototype, "userMessage", void 0), i([r()], O.prototype, "_filteredOptions", void 0);
384
385
  try {
385
- o("pkt-listbox")(k);
386
+ t("pkt-listbox")(O);
386
387
  } catch {
387
388
  console.warn("Forsøker å definere <pkt-listbox>, men den er allerede definert");
388
389
  }
389
390
  //#endregion
390
391
  //#region src/components/listbox/index.ts
391
- var A = k;
392
+ var k = O;
392
393
  //#endregion
393
- export { p as a, g as c, f as i, k as n, _ as o, h as r, v as s, A as t };
394
+ export { f as a, h as c, d as i, O as n, g as o, m as r, _ as s, k as t };
@@ -1,7 +1,7 @@
1
- import { a as e, d as t, n, o as r, p as i, s as a } from "./element-ChsFgr_B.js";
2
- import { t as o } from "./class-map-CnWCnBSX.js";
3
- import { n as s, t as c } from "./element-with-slot-BvG9ctC-.js";
4
- import "./icon-D-LA22xD.js";
1
+ import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-BKSPVgs2.js";
2
+ import { t as o } from "./class-map-F1DJHyb7.js";
3
+ import { n as s, t as c } from "./element-with-slot-YUAUFRqw.js";
4
+ import "./icon-HYU1f54x.js";
5
5
  //#region src/components/loader/loader.ts
6
6
  var l = "https://punkt-cdn.oslo.kommune.no/latest/animations/";
7
7
  typeof window < "u" && (window.pktAnimationPath = window.pktAnimationPath || l);
@@ -16,29 +16,29 @@ var u = class extends c {
16
16
  e.has("delay") && this.setupLoader();
17
17
  }
18
18
  render() {
19
- let e = o({
19
+ let t = o({
20
20
  "pkt-loader": !0,
21
21
  [`pkt-loader--${this.inline ? "inline" : "box"}`]: !0,
22
22
  [`pkt-loader--${this.size}`]: !0
23
- }), n = o({
23
+ }), r = o({
24
24
  "pkt-contents": !0,
25
25
  "pkt-hide": this.isLoading
26
26
  });
27
- return i`<div
27
+ return e`<div
28
28
  role="status"
29
29
  aria-live="polite"
30
30
  aria-busy=${this.isLoading ? "true" : "false"}
31
- class=${e}
31
+ class=${t}
32
32
  >
33
- ${this.isLoading && this._shouldDisplayLoader ? i`<div class="pkt-loader__spinner">
33
+ ${this.isLoading && this._shouldDisplayLoader ? e`<div class="pkt-loader__spinner">
34
34
  <pkt-icon
35
35
  name=${this.getVariant(this.variant)}
36
36
  path=${this.loadingAnimationPath}
37
37
  class="pkt-loader__svg pkt-loader__${this.variant}"
38
38
  ></pkt-icon>
39
- ${this.message && i`<p>${this.message}</p>`}
40
- </div>` : t}
41
- <div class=${n}>${s(this)}</div>
39
+ ${this.message && e`<p>${this.message}</p>`}
40
+ </div>` : n}
41
+ <div class=${r}>${s(this)}</div>
42
42
  </div>`;
43
43
  }
44
44
  getVariant(e) {
@@ -54,9 +54,9 @@ var u = class extends c {
54
54
  }, this.delay));
55
55
  }
56
56
  };
57
- n([r({ type: Number })], u.prototype, "delay", void 0), n([r({ type: Boolean })], u.prototype, "inline", void 0), n([r({ type: Boolean })], u.prototype, "isLoading", void 0), n([r({ type: String })], u.prototype, "message", void 0), n([r({ type: String })], u.prototype, "size", void 0), n([r({ type: String })], u.prototype, "variant", void 0), n([r({ type: String })], u.prototype, "loadingAnimationPath", void 0), n([e()], u.prototype, "_shouldDisplayLoader", void 0);
57
+ i([a({ type: Number })], u.prototype, "delay", void 0), i([a({ type: Boolean })], u.prototype, "inline", void 0), i([a({ type: Boolean })], u.prototype, "isLoading", void 0), i([a({ type: String })], u.prototype, "message", void 0), i([a({ type: String })], u.prototype, "size", void 0), i([a({ type: String })], u.prototype, "variant", void 0), i([a({ type: String })], u.prototype, "loadingAnimationPath", void 0), i([r()], u.prototype, "_shouldDisplayLoader", void 0);
58
58
  try {
59
- a("pkt-loader")(u);
59
+ t("pkt-loader")(u);
60
60
  } catch {
61
61
  console.warn("Forsøker å definere <pkt-loader>, men den er allerede definert");
62
62
  }
@@ -1,16 +1,16 @@
1
- const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),n=require("./element-with-slot-Bj7nm7fO.cjs");require("./icon-9iwd2F2l.cjs");var r=`https://punkt-cdn.oslo.kommune.no/latest/animations/`;typeof window<`u`&&(window.pktAnimationPath=window.pktAnimationPath||r);var i=class extends n.t{constructor(...e){super(...e),this.delay=0,this.inline=!1,this.isLoading=!0,this.message=null,this.size=`medium`,this.variant=`shapes`,this.loadingAnimationPath=typeof window<`u`?window.pktAnimationPath:r,this._shouldDisplayLoader=!1}connectedCallback(){super.connectedCallback(),this._shouldDisplayLoader=this.delay===0,this.delay>0&&this.setupLoader()}updated(e){e.has(`delay`)&&this.setupLoader()}render(){let r=t.t({"pkt-loader":!0,[`pkt-loader--${this.inline?`inline`:`box`}`]:!0,[`pkt-loader--${this.size}`]:!0}),i=t.t({"pkt-contents":!0,"pkt-hide":this.isLoading});return e.p`<div
1
+ const e=require("./element-B8OGznK0.cjs"),t=require("./class-map-CzCE5pqG.cjs"),n=require("./element-with-slot-DTxILHVv.cjs");require("./icon-BmMC09mi.cjs");var r=`https://punkt-cdn.oslo.kommune.no/latest/animations/`;typeof window<`u`&&(window.pktAnimationPath=window.pktAnimationPath||r);var i=class extends n.t{constructor(...e){super(...e),this.delay=0,this.inline=!1,this.isLoading=!0,this.message=null,this.size=`medium`,this.variant=`shapes`,this.loadingAnimationPath=typeof window<`u`?window.pktAnimationPath:r,this._shouldDisplayLoader=!1}connectedCallback(){super.connectedCallback(),this._shouldDisplayLoader=this.delay===0,this.delay>0&&this.setupLoader()}updated(e){e.has(`delay`)&&this.setupLoader()}render(){let r=t.t({"pkt-loader":!0,[`pkt-loader--${this.inline?`inline`:`box`}`]:!0,[`pkt-loader--${this.size}`]:!0}),i=t.t({"pkt-contents":!0,"pkt-hide":this.isLoading});return e._`<div
2
2
  role="status"
3
3
  aria-live="polite"
4
4
  aria-busy=${this.isLoading?`true`:`false`}
5
5
  class=${r}
6
6
  >
7
- ${this.isLoading&&this._shouldDisplayLoader?e.p`<div class="pkt-loader__spinner">
7
+ ${this.isLoading&&this._shouldDisplayLoader?e._`<div class="pkt-loader__spinner">
8
8
  <pkt-icon
9
9
  name=${this.getVariant(this.variant)}
10
10
  path=${this.loadingAnimationPath}
11
11
  class="pkt-loader__svg pkt-loader__${this.variant}"
12
12
  ></pkt-icon>
13
- ${this.message&&e.p`<p>${this.message}</p>`}
14
- </div>`:e.d}
13
+ ${this.message&&e._`<p>${this.message}</p>`}
14
+ </div>`:e.h}
15
15
  <div class=${i}>${n.n(this)}</div>
16
- </div>`}getVariant(e){switch(e){case`blue`:return`spinner-blue`;case`rainbow`:return`spinner`;default:return`loader`}}setupLoader(){this.delay>0&&(this._shouldDisplayLoader=!1,setTimeout(()=>{this._shouldDisplayLoader=!0,this.requestUpdate()},this.delay))}};e.n([e.o({type:Number})],i.prototype,`delay`,void 0),e.n([e.o({type:Boolean})],i.prototype,`inline`,void 0),e.n([e.o({type:Boolean})],i.prototype,`isLoading`,void 0),e.n([e.o({type:String})],i.prototype,`message`,void 0),e.n([e.o({type:String})],i.prototype,`size`,void 0),e.n([e.o({type:String})],i.prototype,`variant`,void 0),e.n([e.o({type:String})],i.prototype,`loadingAnimationPath`,void 0),e.n([e.a()],i.prototype,`_shouldDisplayLoader`,void 0);try{e.s(`pkt-loader`)(i)}catch{console.warn(`Forsøker å definere <pkt-loader>, men den er allerede definert`)}var a=i;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
16
+ </div>`}getVariant(e){switch(e){case`blue`:return`spinner-blue`;case`rainbow`:return`spinner`;default:return`loader`}}setupLoader(){this.delay>0&&(this._shouldDisplayLoader=!1,setTimeout(()=>{this._shouldDisplayLoader=!0,this.requestUpdate()},this.delay))}};e.n([e.u({type:Number})],i.prototype,`delay`,void 0),e.n([e.u({type:Boolean})],i.prototype,`inline`,void 0),e.n([e.u({type:Boolean})],i.prototype,`isLoading`,void 0),e.n([e.u({type:String})],i.prototype,`message`,void 0),e.n([e.u({type:String})],i.prototype,`size`,void 0),e.n([e.u({type:String})],i.prototype,`variant`,void 0),e.n([e.u({type:String})],i.prototype,`loadingAnimationPath`,void 0),e.n([e.l()],i.prototype,`_shouldDisplayLoader`,void 0);try{e.d(`pkt-loader`)(i)}catch{console.warn(`Forsøker å definere <pkt-loader>, men den er allerede definert`)}var a=i;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});