@oslokommune/punkt-elements 19.5.0 → 19.5.2

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 (162) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{accordion-CZ0O4c0_.cjs → accordion-5lSFQToJ.cjs} +6 -6
  3. package/dist/{accordion-DFcdonl-.js → accordion-BJh6X1Ek.js} +6 -6
  4. package/dist/{alert-CUOWdvit.js → alert-C0PiYnot.js} +28 -35
  5. package/dist/alert-IaZzEgyI.cjs +39 -0
  6. package/dist/{backlink-vLhK1hsj.cjs → backlink-BRqhwUr2.cjs} +1 -1
  7. package/dist/base-elements/checkable-native-parity.test.d.ts +0 -0
  8. package/dist/base-elements/form-disabled.test.d.ts +0 -0
  9. package/dist/base-elements/input-element.d.ts +10 -1
  10. package/dist/{button-B0uSFQVn.js → button-B78im4wB.js} +15 -15
  11. package/dist/button-BNVTj7nB.cjs +32 -0
  12. package/dist/{card-CfFW7_-K.js → card-CYKhPUNI.js} +11 -11
  13. package/dist/{card-C15acwk4.cjs → card-CaLEuumN.cjs} +10 -10
  14. package/dist/{checkbox-B2O0fkh9.js → checkbox-Bbxt-tVW.js} +8 -8
  15. package/dist/checkbox-_NnoYkue.cjs +40 -0
  16. package/dist/{combobox-DvsnfA0c.cjs → combobox-BBx87DCG.cjs} +27 -27
  17. package/dist/{combobox-Bhfh04Su.js → combobox-CjLX_Gfd.js} +41 -41
  18. package/dist/components/alert/alert.d.ts +0 -2
  19. package/dist/{consent-_DBvIRT2.js → consent-CleJMbVH.js} +1 -1
  20. package/dist/{consent-BfLkJbOk.cjs → consent-Dl-R0iC3.cjs} +1 -1
  21. package/dist/{datepicker-Cg-iueRC.cjs → datepicker-Bk-m5Zaa.cjs} +31 -31
  22. package/dist/{datepicker-BY2IKrPk.js → datepicker-CFCRxFQL.js} +13 -13
  23. package/dist/directives/slot-content.d.ts +36 -1
  24. package/dist/element-with-slot-D7sTqOr3.cjs +1 -0
  25. package/dist/{element-with-slot-FD826ooP.js → element-with-slot-DQv0cbbD.js} +80 -21
  26. package/dist/{fileupload-iuXrgrog.js → fileupload-B2606SvG.js} +31 -31
  27. package/dist/{fileupload-Djp6VJYY.cjs → fileupload-COAxc3sX.cjs} +21 -21
  28. package/dist/{footer-BCdb0wlF.js → footer-DdLls3F-.js} +13 -13
  29. package/dist/{footer-bTpLxigB.cjs → footer-vy9NqT65.cjs} +9 -9
  30. package/dist/{header-2fF-Zu5T.js → header-BQdc29IO.js} +55 -55
  31. package/dist/{header-DbSSOX-h.cjs → header-BhM7FRoC.cjs} +50 -50
  32. package/dist/{header-menu-DVYLZyez.js → header-menu-ANj5nL2M.js} +1 -1
  33. package/dist/{header-menu-ChDMnWhW.cjs → header-menu-BfkCp8jw.cjs} +1 -1
  34. package/dist/{heading-BRHCV_5J.js → heading-CUrZvkrM.js} +1 -1
  35. package/dist/{heading-u9Arof4p.cjs → heading-zoz-QZJ9.cjs} +1 -1
  36. package/dist/{helptext-CmsuAXSE.cjs → helptext-BCkwSz1m.cjs} +2 -2
  37. package/dist/{helptext-4TAHKV5_.js → helptext-DCT_9dw1.js} +1 -1
  38. package/dist/input-element-CSfDGslx.cjs +1 -0
  39. package/dist/{input-element-B1BntJeJ.js → input-element-lLzfwdim.js} +198 -173
  40. package/dist/{input-wrapper-B5rqKWSB.cjs → input-wrapper-BBG8EXQ8.cjs} +28 -28
  41. package/dist/{input-wrapper-CaMP5-Vm.js → input-wrapper-Bz9GwYrn.js} +46 -46
  42. package/dist/{link-CCFAmhL5.js → link-CmZwAw5u.js} +1 -1
  43. package/dist/{link-Bo2o0Akv.cjs → link-LO_5_La8.cjs} +2 -2
  44. package/dist/{linkcard-9L6QF7US.js → linkcard-CQluSyJJ.js} +7 -7
  45. package/dist/{linkcard-D7NbrluR.cjs → linkcard-UKsxADrP.cjs} +3 -3
  46. package/dist/{listbox-DEzd-dxF.js → listbox-Ct9jIV_5.js} +8 -8
  47. package/dist/{listbox-BoBwzL4p.cjs → listbox-g-vHHLkD.cjs} +20 -20
  48. package/dist/{loader-CQaGvyF9.cjs → loader-C_PH05aw.cjs} +2 -2
  49. package/dist/{loader-RQQ_o2aR.js → loader-DzctJ9jW.js} +1 -1
  50. package/dist/{messagebox-C-BQREWz.js → messagebox-DPFBuisE.js} +1 -1
  51. package/dist/{messagebox-BRqI3DW2.cjs → messagebox-JWKMJEFc.cjs} +2 -2
  52. package/dist/{modal-BGTTVHeW.cjs → modal-BymjMIJi.cjs} +2 -2
  53. package/dist/{modal-DCwqqNQc.js → modal-CELmA0-8.js} +1 -1
  54. package/dist/pkt-accordion.cjs +1 -1
  55. package/dist/pkt-accordion.js +1 -1
  56. package/dist/pkt-alert.cjs +1 -1
  57. package/dist/pkt-alert.js +1 -1
  58. package/dist/pkt-backlink.cjs +1 -1
  59. package/dist/pkt-backlink.js +1 -1
  60. package/dist/pkt-button.cjs +1 -1
  61. package/dist/pkt-button.js +1 -1
  62. package/dist/pkt-card.cjs +1 -1
  63. package/dist/pkt-card.js +1 -1
  64. package/dist/pkt-checkbox.cjs +1 -1
  65. package/dist/pkt-checkbox.js +1 -1
  66. package/dist/pkt-combobox.cjs +1 -1
  67. package/dist/pkt-combobox.js +1 -1
  68. package/dist/pkt-consent.cjs +1 -1
  69. package/dist/pkt-consent.js +1 -1
  70. package/dist/pkt-datepicker.cjs +1 -1
  71. package/dist/pkt-datepicker.js +1 -1
  72. package/dist/pkt-fileupload.cjs +1 -1
  73. package/dist/pkt-fileupload.js +1 -1
  74. package/dist/pkt-footer.cjs +1 -1
  75. package/dist/pkt-footer.js +1 -1
  76. package/dist/pkt-header-menu.cjs +1 -1
  77. package/dist/pkt-header-menu.js +1 -1
  78. package/dist/pkt-header.cjs +1 -1
  79. package/dist/pkt-header.js +1 -1
  80. package/dist/pkt-heading.cjs +1 -1
  81. package/dist/pkt-heading.js +1 -1
  82. package/dist/pkt-helptext.cjs +1 -1
  83. package/dist/pkt-helptext.js +1 -1
  84. package/dist/pkt-index.cjs +1 -1
  85. package/dist/pkt-index.js +30 -30
  86. package/dist/pkt-input-wrapper.cjs +1 -1
  87. package/dist/pkt-input-wrapper.js +1 -1
  88. package/dist/pkt-link.cjs +1 -1
  89. package/dist/pkt-link.js +1 -1
  90. package/dist/pkt-linkcard.cjs +1 -1
  91. package/dist/pkt-linkcard.js +1 -1
  92. package/dist/pkt-listbox.cjs +1 -1
  93. package/dist/pkt-listbox.js +1 -1
  94. package/dist/pkt-loader.cjs +1 -1
  95. package/dist/pkt-loader.js +1 -1
  96. package/dist/pkt-messagebox.cjs +1 -1
  97. package/dist/pkt-messagebox.js +1 -1
  98. package/dist/pkt-modal.cjs +1 -1
  99. package/dist/pkt-modal.js +1 -1
  100. package/dist/{pkt-options-controller-Dz-rYCG1.cjs → pkt-options-controller-CpEZcomb.cjs} +1 -1
  101. package/dist/{pkt-options-controller-sUzxHa5A.js → pkt-options-controller-D7l18Iw0.js} +1 -1
  102. package/dist/pkt-progressbar.cjs +1 -1
  103. package/dist/pkt-progressbar.js +1 -1
  104. package/dist/pkt-radiobutton.cjs +1 -1
  105. package/dist/pkt-radiobutton.js +1 -1
  106. package/dist/pkt-searchinput.cjs +1 -1
  107. package/dist/pkt-searchinput.js +1 -1
  108. package/dist/pkt-select.cjs +1 -1
  109. package/dist/pkt-select.js +1 -1
  110. package/dist/pkt-tabs.cjs +1 -1
  111. package/dist/pkt-tabs.js +1 -1
  112. package/dist/pkt-tag.cjs +1 -1
  113. package/dist/pkt-tag.js +1 -1
  114. package/dist/pkt-textarea.cjs +1 -1
  115. package/dist/pkt-textarea.js +1 -1
  116. package/dist/pkt-textinput.cjs +1 -1
  117. package/dist/pkt-textinput.js +1 -1
  118. package/dist/pkt-timepicker.cjs +1 -1
  119. package/dist/pkt-timepicker.js +1 -1
  120. package/dist/{progressbar-CAEQkFpP.cjs → progressbar-CIXNSwTy.cjs} +2 -3
  121. package/dist/{progressbar-DzX0p2vn.js → progressbar-DH5lIBpx.js} +6 -4
  122. package/dist/{radiobutton-Cv1BlwLV.cjs → radiobutton-C3kEjvHQ.cjs} +2 -2
  123. package/dist/{radiobutton-B0V-jSEX.js → radiobutton-D9htviZG.js} +5 -5
  124. package/dist/{searchinput-D6vtMUHw.cjs → searchinput-CbClDE-d.cjs} +1 -1
  125. package/dist/{select-C0GafKtu.js → select-BizHes0n.js} +20 -20
  126. package/dist/{select-Bd6Gg4Ar.cjs → select-BuQxosyi.cjs} +15 -15
  127. package/dist/{tabs-B134M9k2.js → tabs-B8blHQrL.js} +18 -18
  128. package/dist/{tabs-Dw9E06fL.cjs → tabs-CjX-GWvM.cjs} +15 -15
  129. package/dist/tag-B5dUg7AD.cjs +27 -0
  130. package/dist/{tag-CvFakm1k.js → tag-Bns7Xj1O.js} +10 -10
  131. package/dist/{textarea-CeqScqQa.cjs → textarea-BXadsEdL.cjs} +12 -12
  132. package/dist/{textarea-BZ2ufamc.js → textarea-CL1yUDVL.js} +18 -18
  133. package/dist/{textinput-DI8Tgmep.js → textinput-Csil0Zda.js} +16 -16
  134. package/dist/{textinput-L218fT2-.cjs → textinput-qi0f5NZH.cjs} +12 -12
  135. package/dist/{timepicker-ZSHZt0aW.cjs → timepicker-CvL2-Siz.cjs} +17 -17
  136. package/dist/{timepicker-CgXpmG3h.js → timepicker-DNoYMBAL.js} +22 -22
  137. package/package.json +2 -2
  138. package/src/components/alert/alert.test.ts +15 -0
  139. package/src/components/alert/alert.ts +0 -12
  140. package/src/components/checkbox/checkbox.ts +6 -9
  141. package/src/components/combobox/combobox-handlers.ts +6 -6
  142. package/src/components/combobox/combobox-value.ts +1 -1
  143. package/src/components/combobox/combobox.ts +8 -8
  144. package/src/components/datepicker/datepicker.ts +9 -9
  145. package/src/components/helptext/helptext-association.test.ts +79 -0
  146. package/src/components/input-wrapper/input-wrapper.test.ts +85 -0
  147. package/src/components/input-wrapper/input-wrapper.ts +17 -8
  148. package/src/components/progressbar/progressbar.test.ts +19 -0
  149. package/src/components/progressbar/progressbar.ts +2 -6
  150. package/src/components/radiobutton/radiobutton.ts +3 -6
  151. package/src/components/select/select.ts +5 -5
  152. package/src/components/textarea/textarea.ts +5 -5
  153. package/src/components/textinput/textinput.ts +5 -5
  154. package/src/components/timepicker/timepicker.ts +10 -10
  155. package/dist/alert-DcyO0WfW.cjs +0 -40
  156. package/dist/button-PcKtiNGS.cjs +0 -32
  157. package/dist/checkbox-C0zLtnCI.cjs +0 -40
  158. package/dist/element-with-slot-2PHu2w7O.cjs +0 -1
  159. package/dist/input-element-W6Gklt2E.cjs +0 -1
  160. package/dist/tag--kFPXNaj.cjs +0 -27
  161. package/dist/{backlink-DdyQq62f.js → backlink-BslFewn-.js} +1 -1
  162. package/dist/{searchinput-DyjUl08X.js → searchinput-Co8tcq-l.js} +1 -1
@@ -1,42 +1,42 @@
1
- const e=require("./element-BOmr9YLv.cjs"),t=require("./if-defined-2mkIDgOm.cjs"),n=require("./format-B8meU8Tm.cjs"),r=require("./element-with-slot-2PHu2w7O.cjs"),i=require("./booleanish-BF8l4scU.cjs");require("./alert-DcyO0WfW.cjs");const a=require("./icon-Dnv6LtPC.cjs"),o=require("./utils-63cRpWut.cjs");require("./helptext-CmsuAXSE.cjs");const s=require("./focus-modality-controller-C1ocyv2J.cjs");var c=e=>{let t=[];return e.hasHelptext&&t.push(`${e.id}-helptext`),e.hasCounter&&t.push(`${e.id}-counter-status`),e.ariaDescribedby&&t.push(e.ariaDescribedby),t.length?t.join(` `):void 0},l=e=>`${e}-counter-status`,u=(e,t)=>!!t&&t>0&&(e??0)>t,d={name:`pkt-input-wrapper`,react:`PktInputWrapper`,"css-class":`pkt-inputwrapper`,isElement:!0,isPureReact:!0,"dark-mode":!0,events:{toggleHelpText:{description:`Event for å vise eller skjule hjelpetekst i dropdown`}},slots:{default:{description:`Innholdet i input-wrapperen, som kan være et skjemaelement eller en annen komponent`}},props:{forId:{name:`For ID`,description:`Id-en til skjemaelementet som dette wrapper rundt`,type:`string`,required:!0,category:`tech`},label:{name:`Merkelapp`,description:`Merkelapp for skjemaelementet`,type:`string`,required:!0,category:`contents`},helptext:{name:`Hjelpetekst`,description:`Hjelpetekst for skjemaelementet`,type:`string`,category:`contents`},helptextDropdown:{name:`Hjelpetekst i dropdown`,description:`Hjelpetekst som vises i ekspanderende felt`,type:`string`,category:`contents`},helptextDropdownButton:{name:`Tekst i hjelpetekst-knapp`,description:`Tekst som vises i knappen for å vise hjelpetekst i dropdown`,default:`Les mer <span class='pkt-sr-only'>om feltet</span>`,type:`string`,category:`contents`},ariaDescribedby:{name:`aria-describedby`,description:`Id-en til elementet som beskriver skjemaelementet`,type:`string`,category:`accessibility`},counter:{name:`Teller`,description:`Teller for antall tegn i skjemaelementet`,type:`boolean`,default:!1,category:`ui`},counterCurrent:{name:`Tellerverdi`,description:`Tellerens nåværende verdi`,type:`number`,category:`ui`,showIf:{counter:!0}},counterMaxLength:{name:`Maks tegn i teller`,description:`Maks antall tegn som kan skrives i skjemaelementet`,type:`number`,category:`ui`,showIf:{counter:!0}},counterPosition:{name:`Tellerplassering`,description:`Telleren sin plassering i forhold til elementet`,type:[`top`,`bottom`],default:`bottom`,category:`ui`,showIf:{counter:!0}},optionalTag:{name:`Vise valgfritt-merking`,description:`Viser en merking som indikerer at feltet er valgfritt`,type:`boolean`,default:!1,category:`ui`},optionalText:{name:`Valgfritt-tekst`,description:`Tekst som vises i valgfritt-merkingen`,type:`string`,default:`Valgfritt`,category:`contents`},requiredTag:{name:`Vise påkrevd-merking`,description:`Viser en merking som indikerer at feltet er påkrevd`,type:`boolean`,default:!1,category:`ui`},requiredText:{name:`Påkrevd-tekst`,description:`Tekst som vises i påkrevd-merkingen`,type:`string`,default:`Må fylles ut`,category:`contents`},tagText:{type:`string`,name:`Tag-tekst`,description:`Tekst som vises i en tag ved siden av label`,category:`ui`},hasError:{name:`Feil`,description:`Indikerer at skjemaelementet har en feil`,type:`boolean`,default:!1,category:`ui`},errorMessage:{name:`Feilmelding`,description:`Feilmelding som vises når skjemaelementet har en feil`,type:`string`,category:`contents`},disabled:{name:`Deaktivert`,description:`Indikerer at skjemaelementet er deaktivert`,type:`boolean`,default:!1,category:`tech`},inline:{name:`Inline`,description:`Indikerer at skjemaelementet skal flyte sammen med sidens innhold`,type:`boolean`,default:!1,category:`ui`},hasFieldset:{name:`Er fieldset`,description:`Indikerer at innholdet er et fieldset`,type:`boolean`,default:!1,category:`ui`},useWrapper:{name:`Bruk wrapper`,description:`Indikerer om skjemaelementet skal bruke en wrapper`,type:`boolean`,displayAsFalse:!0,default:!0,category:`ui`},role:{name:`Rolle`,description:`ARIA-rolle på wrapperen. Settes ikke som standard. Bruk hasFieldset for reelle grupper.`,type:`string`,default:null,category:`accessibility`},size:{name:`Størrelse`,description:`Visuell størrelse. small: kompakt wrapper og felt (42px). xsmall: samme wrapper som small, felt 36px.`,attribute:`input-wrapper-size`,type:[`small`,`medium`,`xsmall`],default:`medium`,category:`ui`}}},f=class extends r.t{constructor(...e){super(...e),this.forId=o.n(),this.label=``,this.helptext=null,this.helptextDropdown=null,this.helptextDropdownButton=null,this.counter=d.props.counter.default,this.counterCurrent=0,this.counterMaxLength=0,this.counterError=null,this.counterPosition=`bottom`,this.optionalTag=d.props.optionalTag.default,this.requiredTag=d.props.requiredTag.default,this.tagText=null,this.hasError=d.props.hasError.default,this.errorMessage=``,this.disabled=d.props.disabled.default,this.inline=d.props.inline.default,this.ariaDescribedby=void 0,this.hasFieldset=d.props.hasFieldset.default,this.role=null,this.useWrapper=d.props.useWrapper.default,this.size=`medium`,this.focusModality=new s.t(this)}updated(e){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`)}render(){let i=`pkt-tag pkt-tag--small pkt-tag--thin-text`,o=this.ariaDescribedby?this.ariaDescribedby:this.helptext?`${this.forId}-helptext`:e.h,s=this.pktStrings.get(`forms`),c=()=>e._`
2
- ${this.tagText?e._`<span class=${i+` pkt-tag--gray`}>${this.tagText}</span>`:e.h}
3
- ${this.optionalTag?e._`<span class=${i+` pkt-tag--blue-light`}
4
- >${this.optionalText??s.optional}</span
1
+ const e=require("./element-BOmr9YLv.cjs"),t=require("./format-B8meU8Tm.cjs"),n=require("./element-with-slot-D7sTqOr3.cjs"),r=require("./booleanish-BF8l4scU.cjs");require("./alert-IaZzEgyI.cjs");const i=require("./icon-Dnv6LtPC.cjs"),a=require("./if-defined-2mkIDgOm.cjs"),o=require("./utils-63cRpWut.cjs");require("./helptext-BCkwSz1m.cjs");const s=require("./focus-modality-controller-C1ocyv2J.cjs");var c=e=>{let t=[];return e.hasHelptext&&t.push(`${e.id}-helptext`),e.hasCounter&&t.push(`${e.id}-counter-status`),e.ariaDescribedby&&t.push(e.ariaDescribedby),t.length?t.join(` `):void 0},l=e=>`${e}-counter-status`,u=(e,t)=>!!t&&t>0&&(e??0)>t,d={name:`pkt-input-wrapper`,react:`PktInputWrapper`,"css-class":`pkt-inputwrapper`,isElement:!0,isPureReact:!0,"dark-mode":!0,events:{toggleHelpText:{description:`Event for å vise eller skjule hjelpetekst i dropdown`}},slots:{default:{description:`Innholdet i input-wrapperen, som kan være et skjemaelement eller en annen komponent`}},props:{forId:{name:`For ID`,description:`Id-en til skjemaelementet som dette wrapper rundt`,type:`string`,required:!0,category:`tech`},label:{name:`Merkelapp`,description:`Merkelapp for skjemaelementet`,type:`string`,required:!0,category:`contents`},helptext:{name:`Hjelpetekst`,description:`Hjelpetekst for skjemaelementet`,type:`string`,category:`contents`},helptextDropdown:{name:`Hjelpetekst i dropdown`,description:`Hjelpetekst som vises i ekspanderende felt`,type:`string`,category:`contents`},helptextDropdownButton:{name:`Tekst i hjelpetekst-knapp`,description:`Tekst som vises i knappen for å vise hjelpetekst i dropdown`,default:`Les mer <span class='pkt-sr-only'>om feltet</span>`,type:`string`,category:`contents`},ariaDescribedby:{name:`aria-describedby`,description:`Id-en til elementet som beskriver skjemaelementet`,type:`string`,category:`accessibility`},counter:{name:`Teller`,description:`Teller for antall tegn i skjemaelementet`,type:`boolean`,default:!1,category:`ui`},counterCurrent:{name:`Tellerverdi`,description:`Tellerens nåværende verdi`,type:`number`,category:`ui`,showIf:{counter:!0}},counterMaxLength:{name:`Maks tegn i teller`,description:`Maks antall tegn som kan skrives i skjemaelementet`,type:`number`,category:`ui`,showIf:{counter:!0}},counterPosition:{name:`Tellerplassering`,description:`Telleren sin plassering i forhold til elementet`,type:[`top`,`bottom`],default:`bottom`,category:`ui`,showIf:{counter:!0}},optionalTag:{name:`Vise valgfritt-merking`,description:`Viser en merking som indikerer at feltet er valgfritt`,type:`boolean`,default:!1,category:`ui`},optionalText:{name:`Valgfritt-tekst`,description:`Tekst som vises i valgfritt-merkingen`,type:`string`,default:`Valgfritt`,category:`contents`},requiredTag:{name:`Vise påkrevd-merking`,description:`Viser en merking som indikerer at feltet er påkrevd`,type:`boolean`,default:!1,category:`ui`},requiredText:{name:`Påkrevd-tekst`,description:`Tekst som vises i påkrevd-merkingen`,type:`string`,default:`Må fylles ut`,category:`contents`},tagText:{type:`string`,name:`Tag-tekst`,description:`Tekst som vises i en tag ved siden av label`,category:`ui`},hasError:{name:`Feil`,description:`Indikerer at skjemaelementet har en feil`,type:`boolean`,default:!1,category:`ui`},errorMessage:{name:`Feilmelding`,description:`Feilmelding som vises når skjemaelementet har en feil`,type:`string`,category:`contents`},disabled:{name:`Deaktivert`,description:`Indikerer at skjemaelementet er deaktivert`,type:`boolean`,default:!1,category:`tech`},inline:{name:`Inline`,description:`Indikerer at skjemaelementet skal flyte sammen med sidens innhold`,type:`boolean`,default:!1,category:`ui`},hasFieldset:{name:`Er fieldset`,description:`Indikerer at innholdet er et fieldset`,type:`boolean`,default:!1,category:`ui`},useWrapper:{name:`Bruk wrapper`,description:`Indikerer om skjemaelementet skal bruke en wrapper`,type:`boolean`,displayAsFalse:!0,default:!0,category:`ui`},role:{name:`Rolle`,description:`ARIA-rolle på wrapperen. Settes ikke som standard. Bruk hasFieldset for reelle grupper.`,type:`string`,default:null,category:`accessibility`},size:{name:`Størrelse`,description:`Visuell størrelse. small: kompakt wrapper og felt (42px). xsmall: samme wrapper som small, felt 36px.`,attribute:`input-wrapper-size`,type:[`small`,`medium`,`xsmall`],default:`medium`,category:`ui`}}},f=class extends n.t{constructor(...e){super(...e),this.forId=o.n(),this.label=``,this.helptext=null,this.helptextDropdown=null,this.helptextDropdownButton=null,this.counter=d.props.counter.default,this.counterCurrent=0,this.counterMaxLength=0,this.counterError=null,this.counterPosition=`bottom`,this.optionalTag=d.props.optionalTag.default,this.requiredTag=d.props.requiredTag.default,this.tagText=null,this.hasError=d.props.hasError.default,this.errorMessage=``,this.disabled=d.props.disabled.default,this.inline=d.props.inline.default,this.ariaDescribedby=void 0,this.hasFieldset=d.props.hasFieldset.default,this.role=null,this.useWrapper=d.props.useWrapper.default,this.size=`medium`,this.focusModality=new s.t(this)}updated(e){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`)}render(){let r=`pkt-tag pkt-tag--small pkt-tag--thin-text`,o=!!this.helptext||this.hasSlotContent(`helptext`),s=new Set([this.ariaDescribedby||(o?`${this.forId}-helptext`:``),this.hasError&&this.errorMessage?`${this.forId}-error`:``].join(` `).split(` `).filter(Boolean)),c=s.size?[...s].join(` `):e.h,d=this.pktStrings.get(`forms`),f=()=>e._`
2
+ ${this.tagText?e._`<span class=${r+` pkt-tag--gray`}>${this.tagText}</span>`:e.h}
3
+ ${this.optionalTag?e._`<span class=${r+` pkt-tag--blue-light`}
4
+ >${this.optionalText??d.optional}</span
5
5
  >`:e.h}
6
- ${this.requiredTag?e._`<span class=${i+` pkt-tag--beige`}
7
- >${this.requiredText??s.required}</span
6
+ ${this.requiredTag?e._`<span class=${r+` pkt-tag--beige`}
7
+ >${this.requiredText??d.required}</span
8
8
  >`:e.h}
9
- `,d=()=>this.useWrapper?this.hasFieldset?e._`<legend
9
+ `,p=()=>this.useWrapper?this.hasFieldset?e._`<legend
10
10
  class="pkt-inputwrapper__legend"
11
11
  id="${this.forId}-label"
12
12
  @click=${this.handleLabelClick}
13
13
  >
14
- ${this.label} ${c()}
14
+ ${this.label} ${f()}
15
15
  </legend>`:e._`<label
16
16
  class="pkt-inputwrapper__label"
17
17
  for="${this.forId}"
18
18
  id="${this.forId}-label"
19
19
  @click=${this.handleLabelClick}
20
- >${this.label}${c()}</label
21
- >`:e._`<label for="${this.forId}" class="pkt-sr-only" id="${this.forId}-label">
20
+ >${this.label}${f()}</label
21
+ >`:this.hasFieldset?e._`<legend class="pkt-sr-only" id="${this.forId}-label">${this.label}</legend>`:e._`<label for="${this.forId}" class="pkt-sr-only" id="${this.forId}-label">
22
22
  ${this.label}
23
- </label>`,f=()=>e._`
23
+ </label>`,m=()=>!o&&!this.helptextDropdown?e.h:e._`
24
24
  <pkt-helptext
25
- class="${t.t(this.useWrapper?void 0:`pkt-hide`)}"
25
+ ${n.n(this,{helptext:null})}
26
+ class="${a.t(this.useWrapper?void 0:`pkt-hide`)}"
26
27
  .forId=${this.forId}
27
28
  .helptext=${this.helptext}
28
29
  .helptextDropdown=${this.helptextDropdown}
29
- .helptextDropdownButton=${this.helptextDropdownButton??s.readMore}
30
+ .helptextDropdownButton=${this.helptextDropdownButton??d.readMore}
30
31
  @toggleHelpText=${e=>{this.toggleDropdown(e)}}
31
- >${r.r(this,`helptext`)}</pkt-helptext
32
- >
33
- `,p=()=>{if(!this.counter)return e.h;let t=u(this.counterCurrent,this.counterMaxLength);return e._`<div class="pkt-input__counter" aria-hidden="true">
32
+ ></pkt-helptext>
33
+ `,h=()=>{if(!this.counter)return e.h;let n=u(this.counterCurrent,this.counterMaxLength);return e._`<div class="pkt-input__counter" aria-hidden="true">
34
34
  ${this.counterError?this.counterError:e.h} ${this.counterCurrent||0}
35
35
  ${this.counterMaxLength?`/${this.counterMaxLength}`:e.h}
36
36
  </div>
37
37
  <div class="pkt-sr-only" id=${l(this.forId)} aria-live="polite">
38
- ${t?n.t(this.pktStrings.get(`validation`).counterExceeded,{current:this.counterCurrent??0,max:this.counterMaxLength}):``}
39
- </div>`},m=()=>{if(this.hasError&&this.errorMessage){let t=this.size===`medium`?`small`:`xsmall`;return e._`<div class="pkt-inputwrapper__alert-wrapper">
38
+ ${n?t.t(this.pktStrings.get(`validation`).counterExceeded,{current:this.counterCurrent??0,max:this.counterMaxLength}):``}
39
+ </div>`},g=()=>{if(this.hasError&&this.errorMessage){let t=this.size===`medium`?`small`:`xsmall`;return e._`<div class="pkt-inputwrapper__alert-wrapper">
40
40
  <pkt-alert
41
41
  skin="error"
42
42
  .size=${t}
@@ -45,15 +45,15 @@ const e=require("./element-BOmr9YLv.cjs"),t=require("./if-defined-2mkIDgOm.cjs")
45
45
  aria-live="assertive"
46
46
  aria-atomic="true"
47
47
  >
48
- ${a.r(this.errorMessage)}
48
+ ${i.r(this.errorMessage)}
49
49
  </pkt-alert>
50
- </div>`}return e.h},h=()=>e._`
51
- ${d()}
52
- ${f()}
53
- ${this.counterPosition===`top`?p():e.h}
54
- <div class="pkt-contents">${r.r(this)}</div>
55
- ${this.counterPosition===`bottom`?p():e.h}
50
+ </div>`}return e.h},_=()=>e._`
51
+ ${p()}
56
52
  ${m()}
57
- `;return this.hasFieldset?e._`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${o}">
58
- ${h()}
59
- </fieldset>`:e._`<div class="pkt-inputwrapper__fieldset">${h()}</div>`}toggleDropdown(e){this.dispatchEvent(new CustomEvent(`toggleHelpText`,{bubbles:!1,detail:{isOpen:e.detail.isOpen}}))}handleLabelClick(){this.dispatchEvent(new CustomEvent(`labelClick`,{bubbles:!0,composed:!0,detail:`label clicked`}))}};e.n([e.u({type:String})],f.prototype,`forId`,void 0),e.n([e.u({type:String})],f.prototype,`label`,void 0),e.n([e.u({type:String})],f.prototype,`helptext`,void 0),e.n([e.u({type:String})],f.prototype,`helptextDropdown`,void 0),e.n([e.u({type:String})],f.prototype,`helptextDropdownButton`,void 0),e.n([e.u({type:Boolean})],f.prototype,`counter`,void 0),e.n([e.u({type:Number})],f.prototype,`counterCurrent`,void 0),e.n([e.u({type:Number})],f.prototype,`counterMaxLength`,void 0),e.n([e.u({type:String})],f.prototype,`counterError`,void 0),e.n([e.u({type:String,reflect:!1})],f.prototype,`counterPosition`,void 0),e.n([e.u({type:Boolean})],f.prototype,`optionalTag`,void 0),e.n([e.u({type:String})],f.prototype,`optionalText`,void 0),e.n([e.u({type:Boolean})],f.prototype,`requiredTag`,void 0),e.n([e.u({type:String})],f.prototype,`requiredText`,void 0),e.n([e.u({type:String})],f.prototype,`tagText`,void 0),e.n([e.u({type:Boolean})],f.prototype,`hasError`,void 0),e.n([e.u({type:String})],f.prototype,`errorMessage`,void 0),e.n([e.u({type:Boolean})],f.prototype,`disabled`,void 0),e.n([e.u({type:Boolean})],f.prototype,`inline`,void 0),e.n([e.u({type:String})],f.prototype,`ariaDescribedby`,void 0),e.n([e.u({type:Boolean})],f.prototype,`hasFieldset`,void 0),e.n([e.u({type:String,reflect:!0})],f.prototype,`role`,void 0),e.n([e.u({type:Boolean,reflect:!0,converter:i.t})],f.prototype,`useWrapper`,void 0),e.n([e.u({type:String,attribute:`input-wrapper-size`})],f.prototype,`size`,void 0);try{e.d(`pkt-input-wrapper`)(f)}catch{console.warn(`Forsøker å definere <pkt-input-wrapper>, men den er allerede definert`)}var p=f;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return p}});
53
+ ${this.counterPosition===`top`?h():e.h}
54
+ <div class="pkt-contents">${n.i(this)}</div>
55
+ ${this.counterPosition===`bottom`?h():e.h}
56
+ ${g()}
57
+ `;return this.hasFieldset?e._`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${c}">
58
+ ${_()}
59
+ </fieldset>`:e._`<div class="pkt-inputwrapper__fieldset">${_()}</div>`}toggleDropdown(e){this.dispatchEvent(new CustomEvent(`toggleHelpText`,{bubbles:!1,detail:{isOpen:e.detail.isOpen}}))}handleLabelClick(){this.dispatchEvent(new CustomEvent(`labelClick`,{bubbles:!0,composed:!0,detail:`label clicked`}))}};e.n([e.u({type:String})],f.prototype,`forId`,void 0),e.n([e.u({type:String})],f.prototype,`label`,void 0),e.n([e.u({type:String})],f.prototype,`helptext`,void 0),e.n([e.u({type:String})],f.prototype,`helptextDropdown`,void 0),e.n([e.u({type:String})],f.prototype,`helptextDropdownButton`,void 0),e.n([e.u({type:Boolean})],f.prototype,`counter`,void 0),e.n([e.u({type:Number})],f.prototype,`counterCurrent`,void 0),e.n([e.u({type:Number})],f.prototype,`counterMaxLength`,void 0),e.n([e.u({type:String})],f.prototype,`counterError`,void 0),e.n([e.u({type:String,reflect:!1})],f.prototype,`counterPosition`,void 0),e.n([e.u({type:Boolean})],f.prototype,`optionalTag`,void 0),e.n([e.u({type:String})],f.prototype,`optionalText`,void 0),e.n([e.u({type:Boolean})],f.prototype,`requiredTag`,void 0),e.n([e.u({type:String})],f.prototype,`requiredText`,void 0),e.n([e.u({type:String})],f.prototype,`tagText`,void 0),e.n([e.u({type:Boolean})],f.prototype,`hasError`,void 0),e.n([e.u({type:String})],f.prototype,`errorMessage`,void 0),e.n([e.u({type:Boolean})],f.prototype,`disabled`,void 0),e.n([e.u({type:Boolean})],f.prototype,`inline`,void 0),e.n([e.u({type:String})],f.prototype,`ariaDescribedby`,void 0),e.n([e.u({type:Boolean})],f.prototype,`hasFieldset`,void 0),e.n([e.u({type:String,reflect:!0})],f.prototype,`role`,void 0),e.n([e.u({type:Boolean,reflect:!0,converter:r.t})],f.prototype,`useWrapper`,void 0),e.n([e.u({type:String,attribute:`input-wrapper-size`})],f.prototype,`size`,void 0);try{e.d(`pkt-input-wrapper`)(f)}catch{console.warn(`Forsøker å definere <pkt-input-wrapper>, men den er allerede definert`)}var p=f;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return p}});
@@ -1,18 +1,18 @@
1
1
  import { _ as e, d as t, h as n, n as r, u as i } from "./element-mwwC2Rra.js";
2
- import { t as a } from "./if-defined-Bebu3LXY.js";
3
- import { t as o } from "./format-BTeSVkED.js";
4
- import { r as s, t as c } from "./element-with-slot-FD826ooP.js";
2
+ import { t as a } from "./format-BTeSVkED.js";
3
+ import { i as o, n as s, t as c } from "./element-with-slot-DQv0cbbD.js";
5
4
  import { t as l } from "./booleanish-OQJTYSrw.js";
6
- import "./alert-CUOWdvit.js";
5
+ import "./alert-C0PiYnot.js";
7
6
  import { r as u } from "./icon-JigbxxF7.js";
8
- import { n as d } from "./utils-BwF4QSrq.js";
9
- import "./helptext-4TAHKV5_.js";
10
- import { t as f } from "./focus-modality-controller-Dc2S-KqR.js";
7
+ import { t as d } from "./if-defined-Bebu3LXY.js";
8
+ import { n as f } from "./utils-BwF4QSrq.js";
9
+ import "./helptext-DCT_9dw1.js";
10
+ import { t as p } from "./focus-modality-controller-Dc2S-KqR.js";
11
11
  //#region ../../shared-utils/forms/described-by.ts
12
- var p = (e) => {
12
+ var m = (e) => {
13
13
  let t = [];
14
14
  return e.hasHelptext && t.push(`${e.id}-helptext`), e.hasCounter && t.push(`${e.id}-counter-status`), e.ariaDescribedby && t.push(e.ariaDescribedby), t.length ? t.join(" ") : void 0;
15
- }, m = (e) => `${e}-counter-status`, h = (e, t) => !!t && t > 0 && (e ?? 0) > t, g = {
15
+ }, h = (e) => `${e}-counter-status`, g = (e, t) => !!t && t > 0 && (e ?? 0) > t, _ = {
16
16
  name: "pkt-input-wrapper",
17
17
  react: "PktInputWrapper",
18
18
  "css-class": "pkt-inputwrapper",
@@ -186,62 +186,62 @@ var p = (e) => {
186
186
  category: "ui"
187
187
  }
188
188
  }
189
- }, _ = class extends c {
189
+ }, v = class extends c {
190
190
  constructor(...e) {
191
- super(...e), this.forId = d(), 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
+ super(...e), this.forId = f(), this.label = "", this.helptext = null, this.helptextDropdown = null, this.helptextDropdownButton = null, this.counter = _.props.counter.default, this.counterCurrent = 0, this.counterMaxLength = 0, this.counterError = null, this.counterPosition = "bottom", this.optionalTag = _.props.optionalTag.default, this.requiredTag = _.props.requiredTag.default, this.tagText = null, this.hasError = _.props.hasError.default, this.errorMessage = "", this.disabled = _.props.disabled.default, this.inline = _.props.inline.default, this.ariaDescribedby = void 0, this.hasFieldset = _.props.hasFieldset.default, this.role = null, this.useWrapper = _.props.useWrapper.default, this.size = "medium", this.focusModality = new p(this);
192
192
  }
193
193
  updated(e) {
194
194
  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");
195
195
  }
196
196
  render() {
197
- 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
+ let t = "pkt-tag pkt-tag--small pkt-tag--thin-text", r = !!this.helptext || this.hasSlotContent("helptext"), i = new Set([this.ariaDescribedby || (r ? `${this.forId}-helptext` : ""), this.hasError && this.errorMessage ? `${this.forId}-error` : ""].join(" ").split(" ").filter(Boolean)), c = i.size ? [...i].join(" ") : n, l = this.pktStrings.get("forms"), f = () => e`
198
198
  ${this.tagText ? e`<span class=${t + " pkt-tag--gray"}>${this.tagText}</span>` : n}
199
199
  ${this.optionalTag ? e`<span class=${t + " pkt-tag--blue-light"}
200
- >${this.optionalText ?? i.optional}</span
200
+ >${this.optionalText ?? l.optional}</span
201
201
  >` : n}
202
202
  ${this.requiredTag ? e`<span class=${t + " pkt-tag--beige"}
203
- >${this.requiredText ?? i.required}</span
203
+ >${this.requiredText ?? l.required}</span
204
204
  >` : n}
205
- `, l = () => this.useWrapper ? this.hasFieldset ? e`<legend
205
+ `, p = () => this.useWrapper ? this.hasFieldset ? e`<legend
206
206
  class="pkt-inputwrapper__legend"
207
207
  id="${this.forId}-label"
208
208
  @click=${this.handleLabelClick}
209
209
  >
210
- ${this.label} ${c()}
210
+ ${this.label} ${f()}
211
211
  </legend>` : e`<label
212
212
  class="pkt-inputwrapper__label"
213
213
  for="${this.forId}"
214
214
  id="${this.forId}-label"
215
215
  @click=${this.handleLabelClick}
216
- >${this.label}${c()}</label
217
- >` : e`<label for="${this.forId}" class="pkt-sr-only" id="${this.forId}-label">
216
+ >${this.label}${f()}</label
217
+ >` : this.hasFieldset ? e`<legend class="pkt-sr-only" id="${this.forId}-label">${this.label}</legend>` : e`<label for="${this.forId}" class="pkt-sr-only" id="${this.forId}-label">
218
218
  ${this.label}
219
- </label>`, d = () => e`
219
+ </label>`, m = () => !r && !this.helptextDropdown ? n : e`
220
220
  <pkt-helptext
221
- class="${a(this.useWrapper ? void 0 : "pkt-hide")}"
221
+ ${s(this, { helptext: null })}
222
+ class="${d(this.useWrapper ? void 0 : "pkt-hide")}"
222
223
  .forId=${this.forId}
223
224
  .helptext=${this.helptext}
224
225
  .helptextDropdown=${this.helptextDropdown}
225
- .helptextDropdownButton=${this.helptextDropdownButton ?? i.readMore}
226
+ .helptextDropdownButton=${this.helptextDropdownButton ?? l.readMore}
226
227
  @toggleHelpText=${(e) => {
227
228
  this.toggleDropdown(e);
228
229
  }}
229
- >${s(this, "helptext")}</pkt-helptext
230
- >
231
- `, f = () => {
230
+ ></pkt-helptext>
231
+ `, _ = () => {
232
232
  if (!this.counter) return n;
233
- let t = h(this.counterCurrent, this.counterMaxLength);
233
+ let t = g(this.counterCurrent, this.counterMaxLength);
234
234
  return e`<div class="pkt-input__counter" aria-hidden="true">
235
235
  ${this.counterError ? this.counterError : n} ${this.counterCurrent || 0}
236
236
  ${this.counterMaxLength ? `/${this.counterMaxLength}` : n}
237
237
  </div>
238
- <div class="pkt-sr-only" id=${m(this.forId)} aria-live="polite">
239
- ${t ? o(this.pktStrings.get("validation").counterExceeded, {
238
+ <div class="pkt-sr-only" id=${h(this.forId)} aria-live="polite">
239
+ ${t ? a(this.pktStrings.get("validation").counterExceeded, {
240
240
  current: this.counterCurrent ?? 0,
241
241
  max: this.counterMaxLength
242
242
  }) : ""}
243
243
  </div>`;
244
- }, p = () => {
244
+ }, v = () => {
245
245
  if (this.hasError && this.errorMessage) {
246
246
  let t = this.size === "medium" ? "small" : "xsmall";
247
247
  return e`<div class="pkt-inputwrapper__alert-wrapper">
@@ -258,17 +258,17 @@ var p = (e) => {
258
258
  </div>`;
259
259
  }
260
260
  return n;
261
- }, g = () => e`
262
- ${l()}
263
- ${d()}
264
- ${this.counterPosition === "top" ? f() : n}
265
- <div class="pkt-contents">${s(this)}</div>
266
- ${this.counterPosition === "bottom" ? f() : n}
267
- ${p()}
261
+ }, y = () => e`
262
+ ${p()}
263
+ ${m()}
264
+ ${this.counterPosition === "top" ? _() : n}
265
+ <div class="pkt-contents">${o(this)}</div>
266
+ ${this.counterPosition === "bottom" ? _() : n}
267
+ ${v()}
268
268
  `;
269
- return this.hasFieldset ? e`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${r}">
270
- ${g()}
271
- </fieldset>` : e`<div class="pkt-inputwrapper__fieldset">${g()}</div>`;
269
+ return this.hasFieldset ? e`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${c}">
270
+ ${y()}
271
+ </fieldset>` : e`<div class="pkt-inputwrapper__fieldset">${y()}</div>`;
272
272
  }
273
273
  toggleDropdown(e) {
274
274
  this.dispatchEvent(new CustomEvent("toggleHelpText", {
@@ -284,27 +284,27 @@ var p = (e) => {
284
284
  }));
285
285
  }
286
286
  };
287
- r([i({ type: String })], _.prototype, "forId", void 0), r([i({ type: String })], _.prototype, "label", void 0), r([i({ type: String })], _.prototype, "helptext", void 0), r([i({ type: String })], _.prototype, "helptextDropdown", void 0), r([i({ type: String })], _.prototype, "helptextDropdownButton", void 0), r([i({ type: Boolean })], _.prototype, "counter", void 0), r([i({ type: Number })], _.prototype, "counterCurrent", void 0), r([i({ type: Number })], _.prototype, "counterMaxLength", void 0), r([i({ type: String })], _.prototype, "counterError", void 0), r([i({
287
+ r([i({ type: String })], v.prototype, "forId", void 0), r([i({ type: String })], v.prototype, "label", void 0), r([i({ type: String })], v.prototype, "helptext", void 0), r([i({ type: String })], v.prototype, "helptextDropdown", void 0), r([i({ type: String })], v.prototype, "helptextDropdownButton", void 0), r([i({ type: Boolean })], v.prototype, "counter", void 0), r([i({ type: Number })], v.prototype, "counterCurrent", void 0), r([i({ type: Number })], v.prototype, "counterMaxLength", void 0), r([i({ type: String })], v.prototype, "counterError", void 0), r([i({
288
288
  type: String,
289
289
  reflect: !1
290
- })], _.prototype, "counterPosition", void 0), r([i({ type: Boolean })], _.prototype, "optionalTag", void 0), r([i({ type: String })], _.prototype, "optionalText", void 0), r([i({ type: Boolean })], _.prototype, "requiredTag", void 0), r([i({ type: String })], _.prototype, "requiredText", void 0), r([i({ type: String })], _.prototype, "tagText", void 0), r([i({ type: Boolean })], _.prototype, "hasError", void 0), r([i({ type: String })], _.prototype, "errorMessage", void 0), r([i({ type: Boolean })], _.prototype, "disabled", void 0), r([i({ type: Boolean })], _.prototype, "inline", void 0), r([i({ type: String })], _.prototype, "ariaDescribedby", void 0), r([i({ type: Boolean })], _.prototype, "hasFieldset", void 0), r([i({
290
+ })], v.prototype, "counterPosition", void 0), r([i({ type: Boolean })], v.prototype, "optionalTag", void 0), r([i({ type: String })], v.prototype, "optionalText", void 0), r([i({ type: Boolean })], v.prototype, "requiredTag", void 0), r([i({ type: String })], v.prototype, "requiredText", void 0), r([i({ type: String })], v.prototype, "tagText", void 0), r([i({ type: Boolean })], v.prototype, "hasError", void 0), r([i({ type: String })], v.prototype, "errorMessage", void 0), r([i({ type: Boolean })], v.prototype, "disabled", void 0), r([i({ type: Boolean })], v.prototype, "inline", void 0), r([i({ type: String })], v.prototype, "ariaDescribedby", void 0), r([i({ type: Boolean })], v.prototype, "hasFieldset", void 0), r([i({
291
291
  type: String,
292
292
  reflect: !0
293
- })], _.prototype, "role", void 0), r([i({
293
+ })], v.prototype, "role", void 0), r([i({
294
294
  type: Boolean,
295
295
  reflect: !0,
296
296
  converter: l
297
- })], _.prototype, "useWrapper", void 0), r([i({
297
+ })], v.prototype, "useWrapper", void 0), r([i({
298
298
  type: String,
299
299
  attribute: "input-wrapper-size"
300
- })], _.prototype, "size", void 0);
300
+ })], v.prototype, "size", void 0);
301
301
  try {
302
- t("pkt-input-wrapper")(_);
302
+ t("pkt-input-wrapper")(v);
303
303
  } catch {
304
304
  console.warn("Forsøker å definere <pkt-input-wrapper>, men den er allerede definert");
305
305
  }
306
306
  //#endregion
307
307
  //#region src/components/input-wrapper/index.ts
308
- var v = _;
308
+ var y = v;
309
309
  //#endregion
310
- export { _ as n, p as r, v as t };
310
+ export { v as n, m as r, y as t };
@@ -1,6 +1,6 @@
1
1
  import { _ as e, d as t, h as n, n as r, u as i } from "./element-mwwC2Rra.js";
2
2
  import { t as a } from "./class-map-C4hdfSfY.js";
3
- import { r as o, t as s } from "./element-with-slot-FD826ooP.js";
3
+ import { i as o, t as s } from "./element-with-slot-DQv0cbbD.js";
4
4
  import "./icon-JigbxxF7.js";
5
5
  import { t as c } from "./define-component-spec-BYOSeplU.js";
6
6
  //#endregion
@@ -1,7 +1,7 @@
1
- const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),n=require("./element-with-slot-2PHu2w7O.cjs");require("./icon-Dnv6LtPC.cjs");const r=require("./define-component-spec-DBNd2FJY.cjs");var i={href:{type:`string`,description:`Mål-URL for lenken.`,required:!0,reactOnly:!0},className:{type:`string`,description:`CSS-klasser Punkt har satt på lenken.`,required:!0,reactOnly:!0},children:{type:`ReactNode`,description:`Innhold/label som skal rendres inni lenken.`,required:!0,reactOnly:!0},props:{type:`AnchorHTMLAttributes<HTMLAnchorElement>`,description:`Resten av anchor-attributter (f.eks. <code>onClick</code>, <code>aria-*</code>) som skal spreades på lenken.`,required:!0,reactOnly:!0}},a={name:`Egendefinert lenkekomponent`,description:`React: Funksjon for å rendre en egendefinert lenkekomponent (f.eks. Next.js Link eller React Router Link). Mottar et <code>IRenderLink</code>-objekt med href, className, children og props. Standard er et vanlig <code>&lt;a&gt;</code>-element.`,type:`(args: IRenderLink) => ReactNode`,relatedTypes:[`IRenderLink`],category:`tech`,reactOnly:!0},o={IRenderLink:{title:`IRenderLink`,description:`Objektet som sendes til <code>renderLink</code> i Link, BackLink og Breadcrumbs. Kun React — brukes til å bytte ut standard <code>&lt;a&gt;</code> med f.eks. Next.js Link eller React Router Link.`,properties:i}},s=r.t({name:`pkt-link`,react:`PktLink`,"css-class":`pkt-link`,"dark-mode":!0,isElement:!0,props:{href:{name:`URL`,description:`URL til lenken`,type:`string`,default:`#`,category:`contents`},target:{name:`Mål`,description:`Mål for lenken`,type:[`_blank`,`_self`,`_parent`,`_top`],default:`_self`,category:`tech`},iconName:{name:`Ikon`,description:`Ikon som skal vises ved siden av lenketeksten`,type:`icon`,category:`ui`},iconPosition:{name:`Ikonposisjon`,description:`Posisjonen til ikonet i forhold til lenketeksten`,type:[`left`,`right`],category:`ui`},renderLink:a},types:{...o},slots:{default:{description:`Innholdet i lenken`}}}).props,c=class extends n.t{constructor(...e){super(...e),this.href=s.href.default,this.iconName=void 0,this.iconPosition=void 0,this.external=!1,this.target=s.target.default}render(){let r={"pkt-link":!0,"pkt-link--icon-left":!!this.iconName&&this.iconPosition===`left`||!!(this.iconName&&!this.iconPosition),"pkt-link--icon-right":!!this.iconName&&this.iconPosition===`right`,"pkt-link--external":this.external},i=this.target&&this.target!==`_self`?this.target:e.h;return e._`<a
1
+ const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),n=require("./element-with-slot-D7sTqOr3.cjs");require("./icon-Dnv6LtPC.cjs");const r=require("./define-component-spec-DBNd2FJY.cjs");var i={href:{type:`string`,description:`Mål-URL for lenken.`,required:!0,reactOnly:!0},className:{type:`string`,description:`CSS-klasser Punkt har satt på lenken.`,required:!0,reactOnly:!0},children:{type:`ReactNode`,description:`Innhold/label som skal rendres inni lenken.`,required:!0,reactOnly:!0},props:{type:`AnchorHTMLAttributes<HTMLAnchorElement>`,description:`Resten av anchor-attributter (f.eks. <code>onClick</code>, <code>aria-*</code>) som skal spreades på lenken.`,required:!0,reactOnly:!0}},a={name:`Egendefinert lenkekomponent`,description:`React: Funksjon for å rendre en egendefinert lenkekomponent (f.eks. Next.js Link eller React Router Link). Mottar et <code>IRenderLink</code>-objekt med href, className, children og props. Standard er et vanlig <code>&lt;a&gt;</code>-element.`,type:`(args: IRenderLink) => ReactNode`,relatedTypes:[`IRenderLink`],category:`tech`,reactOnly:!0},o={IRenderLink:{title:`IRenderLink`,description:`Objektet som sendes til <code>renderLink</code> i Link, BackLink og Breadcrumbs. Kun React — brukes til å bytte ut standard <code>&lt;a&gt;</code> med f.eks. Next.js Link eller React Router Link.`,properties:i}},s=r.t({name:`pkt-link`,react:`PktLink`,"css-class":`pkt-link`,"dark-mode":!0,isElement:!0,props:{href:{name:`URL`,description:`URL til lenken`,type:`string`,default:`#`,category:`contents`},target:{name:`Mål`,description:`Mål for lenken`,type:[`_blank`,`_self`,`_parent`,`_top`],default:`_self`,category:`tech`},iconName:{name:`Ikon`,description:`Ikon som skal vises ved siden av lenketeksten`,type:`icon`,category:`ui`},iconPosition:{name:`Ikonposisjon`,description:`Posisjonen til ikonet i forhold til lenketeksten`,type:[`left`,`right`],category:`ui`},renderLink:a},types:{...o},slots:{default:{description:`Innholdet i lenken`}}}).props,c=class extends n.t{constructor(...e){super(...e),this.href=s.href.default,this.iconName=void 0,this.iconPosition=void 0,this.external=!1,this.target=s.target.default}render(){let r={"pkt-link":!0,"pkt-link--icon-left":!!this.iconName&&this.iconPosition===`left`||!!(this.iconName&&!this.iconPosition),"pkt-link--icon-right":!!this.iconName&&this.iconPosition===`right`,"pkt-link--external":this.external},i=this.target&&this.target!==`_self`?this.target:e.h;return e._`<a
2
2
  class=${t.t(r)}
3
3
  href=${this.href}
4
4
  target=${i}
5
5
  .rel=${this.external?`noopener noreferrer`:e.h}
6
- >${this.iconName?e._`<pkt-icon name=${this.iconName} class="pkt-link__icon"></pkt-icon>`:``}${n.r(this)}</a
6
+ >${this.iconName?e._`<pkt-icon name=${this.iconName} class="pkt-link__icon"></pkt-icon>`:``}${n.i(this)}</a
7
7
  >`}};e.n([e.u({type:String,reflect:!0})],c.prototype,`href`,void 0),e.n([e.u({type:String,reflect:!0})],c.prototype,`iconName`,void 0),e.n([e.u({type:String,reflect:!0})],c.prototype,`iconPosition`,void 0),e.n([e.u({type:Boolean,reflect:!0})],c.prototype,`external`,void 0),e.n([e.u({type:String,reflect:!0})],c.prototype,`target`,void 0);try{e.d(`pkt-link`)(c)}catch{console.warn(`Forsøker å definere <pkt-link>, men den er allerede definert`)}var l=c;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}});
@@ -1,26 +1,26 @@
1
1
  import { _ as e, d as t, n, u as r } from "./element-mwwC2Rra.js";
2
- import { t as i } from "./if-defined-Bebu3LXY.js";
3
- import { r as a, t as o } from "./element-with-slot-FD826ooP.js";
2
+ import { i, t as a } from "./element-with-slot-DQv0cbbD.js";
4
3
  import "./icon-JigbxxF7.js";
4
+ import { t as o } from "./if-defined-Bebu3LXY.js";
5
5
  //#region src/components/linkcard/linkcard.ts
6
- var s = class extends o {
6
+ var s = class extends a {
7
7
  constructor(...e) {
8
8
  super(...e), this.title = "", this.href = "#", this.iconName = "", this.external = !1, this.openInNewTab = !1, this.skin = void 0;
9
9
  }
10
10
  render() {
11
- let t = ["pkt-linkcard", this.skin && `pkt-linkcard--${this.skin}`].filter(Boolean).join(" "), n = ["pkt-linkcard__title", this.external && "pkt-link pkt-link--external"].filter(Boolean).join(" "), r = this.pktStrings.get("linkcard"), o = this.openInNewTab ? r.openInNewTab : "";
11
+ let t = ["pkt-linkcard", this.skin && `pkt-linkcard--${this.skin}`].filter(Boolean).join(" "), n = ["pkt-linkcard__title", this.external && "pkt-link pkt-link--external"].filter(Boolean).join(" "), r = this.pktStrings.get("linkcard"), a = this.openInNewTab ? r.openInNewTab : "";
12
12
  return e`
13
13
  <a
14
14
  href=${this.href}
15
15
  class=${t}
16
16
  target=${this.openInNewTab ? "_blank" : "_self"}
17
- rel=${i(this.openInNewTab ? "noopener noreferrer" : void 0)}
17
+ rel=${o(this.openInNewTab ? "noopener noreferrer" : void 0)}
18
18
  >
19
19
  ${this.iconName && e`<pkt-icon class="pkt-link__icon" name="${this.iconName}" />`}
20
20
  ${this.title && e`<div class=${n}>${this.title}</div>`}
21
- ${o ? e`<span class="pkt-sr-only">${o}</span>` : ""}
21
+ ${a ? e`<span class="pkt-sr-only">${a}</span>` : ""}
22
22
 
23
- <div class="pkt-linkcard__text">${a(this)}</div>
23
+ <div class="pkt-linkcard__text">${i(this)}</div>
24
24
  </a>
25
25
  `;
26
26
  }
@@ -1,14 +1,14 @@
1
- const e=require("./element-BOmr9YLv.cjs"),t=require("./if-defined-2mkIDgOm.cjs"),n=require("./element-with-slot-2PHu2w7O.cjs");require("./icon-Dnv6LtPC.cjs");var r=class extends n.t{constructor(...e){super(...e),this.title=``,this.href=`#`,this.iconName=``,this.external=!1,this.openInNewTab=!1,this.skin=void 0}render(){let r=[`pkt-linkcard`,this.skin&&`pkt-linkcard--${this.skin}`].filter(Boolean).join(` `),i=[`pkt-linkcard__title`,this.external&&`pkt-link pkt-link--external`].filter(Boolean).join(` `),a=this.pktStrings.get(`linkcard`),o=this.openInNewTab?a.openInNewTab:``;return e._`
1
+ const e=require("./element-BOmr9YLv.cjs"),t=require("./element-with-slot-D7sTqOr3.cjs");require("./icon-Dnv6LtPC.cjs");const n=require("./if-defined-2mkIDgOm.cjs");var r=class extends t.t{constructor(...e){super(...e),this.title=``,this.href=`#`,this.iconName=``,this.external=!1,this.openInNewTab=!1,this.skin=void 0}render(){let r=[`pkt-linkcard`,this.skin&&`pkt-linkcard--${this.skin}`].filter(Boolean).join(` `),i=[`pkt-linkcard__title`,this.external&&`pkt-link pkt-link--external`].filter(Boolean).join(` `),a=this.pktStrings.get(`linkcard`),o=this.openInNewTab?a.openInNewTab:``;return e._`
2
2
  <a
3
3
  href=${this.href}
4
4
  class=${r}
5
5
  target=${this.openInNewTab?`_blank`:`_self`}
6
- rel=${t.t(this.openInNewTab?`noopener noreferrer`:void 0)}
6
+ rel=${n.t(this.openInNewTab?`noopener noreferrer`:void 0)}
7
7
  >
8
8
  ${this.iconName&&e._`<pkt-icon class="pkt-link__icon" name="${this.iconName}" />`}
9
9
  ${this.title&&e._`<div class=${i}>${this.title}</div>`}
10
10
  ${o?e._`<span class="pkt-sr-only">${o}</span>`:``}
11
11
 
12
- <div class="pkt-linkcard__text">${n.r(this)}</div>
12
+ <div class="pkt-linkcard__text">${t.i(this)}</div>
13
13
  </a>
14
14
  `}};e.n([e.u({type:String,reflect:!0})],r.prototype,`title`,void 0),e.n([e.u({type:String,reflect:!0})],r.prototype,`href`,void 0),e.n([e.u({type:String,reflect:!0})],r.prototype,`iconName`,void 0),e.n([e.u({type:Boolean,reflect:!0})],r.prototype,`external`,void 0),e.n([e.u({type:Boolean,reflect:!0})],r.prototype,`openInNewTab`,void 0),e.n([e.u({type:String,reflect:!0})],r.prototype,`skin`,void 0);try{e.d(`pkt-linkcard`)(r)}catch{console.warn(`Forsøker å definere <pkt-linkcard>, men den er allerede definert`)}var i=r;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
@@ -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-mwwC2Rra.js";
2
2
  import { t as s } from "./class-map-C4hdfSfY.js";
3
- import { t as c } from "./if-defined-Bebu3LXY.js";
4
- import { t as l } from "./format-BTeSVkED.js";
3
+ import { t as c } from "./format-BTeSVkED.js";
4
+ import { t as l } from "./if-defined-Bebu3LXY.js";
5
5
  import { t as u } from "./repeat-CdxGS-_3.js";
6
6
  import { n as d } from "./utils-BwF4QSrq.js";
7
7
  //#region ../../shared-utils/combobox/option-utils.ts
@@ -136,9 +136,9 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
136
136
  "pkt-listbox__open": this.isOpen,
137
137
  "pkt-txt-16-light": !0
138
138
  })}
139
- role=${c(this._hasOptions ? "listbox" : void 0)}
140
- aria-multiselectable=${c(this._hasOptions && this.isMultiSelect ? "true" : void 0)}
141
- aria-label=${c(this._hasOptions ? this.label ?? void 0 : void 0)}
139
+ role=${l(this._hasOptions ? "listbox" : void 0)}
140
+ aria-multiselectable=${l(this._hasOptions && this.isMultiSelect ? "true" : void 0)}
141
+ aria-label=${l(this._hasOptions ? this.label ?? void 0 : void 0)}
142
142
  >
143
143
  <div class="pkt-listbox__banners">
144
144
  ${this.renderSearch()} ${this.renderMaximumReachedBanner()} ${this.renderUserMessage()}
@@ -197,7 +197,7 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
197
197
  data-index=${r}
198
198
  data-value=${t.value}
199
199
  data-selected=${t.selected ? "true" : "false"}
200
- data-disabled=${c(this.disabled || t.disabled || this.maxIsReached && !t.selected ? "true" : void 0)}
200
+ data-disabled=${l(this.disabled || t.disabled || this.maxIsReached && !t.selected ? "true" : void 0)}
201
201
  aria-disabled=${this.disabled || t.disabled || this.maxIsReached && !t.selected ? "true" : "false"}
202
202
  role="option"
203
203
  id=${`${this._listboxId}-${r}`}
@@ -229,14 +229,14 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
229
229
  @keydown=${this.handleOptionKeydown}
230
230
  >
231
231
  <pkt-icon class="pkt-listbox__banner-icon" name="plus-sign" size="large"></pkt-icon>
232
- ${l(this.pktStrings.get("listbox").addValue, { value: this.customUserInput ?? "" })}
232
+ ${c(this.pktStrings.get("listbox").addValue, { value: this.customUserInput ?? "" })}
233
233
  </div>
234
234
  ` : n;
235
235
  }
236
236
  renderMaximumReachedBanner() {
237
237
  return this._selectedOptions = this.options.filter((e) => e.selected).length, this.isMultiSelect && this._selectedOptions > 0 && this.maxLength > 0 ? e`
238
238
  <div class="pkt-listbox__banner pkt-listbox__banner--maximum-reached">
239
- ${l(this.pktStrings.get("listbox").maxReached, {
239
+ ${c(this.pktStrings.get("listbox").maxReached, {
240
240
  selected: this._selectedOptions,
241
241
  max: this.maxLength
242
242
  })}
@@ -1,10 +1,10 @@
1
- const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),n=require("./if-defined-2mkIDgOm.cjs"),r=require("./format-B8meU8Tm.cjs"),i=require("./repeat-Dh9YKoeV.cjs"),a=require("./utils-63cRpWut.cjs");var o=(e,t)=>t&&(e.find(e=>e.value===t)||e.find(e=>e.label===t))||null,s=(e,t)=>{if(!t)return-1;let n=e.findIndex(e=>e.value===t);return n>=0?n:e.findIndex(e=>e.label===t)},c=e=>e.value+(e.label||``)+(e.prefix||``),l=(e,t)=>(e.fulltext||c(e)).toLowerCase().includes(t),u=(e,t)=>{if(!t)return[...e];let n=t.toLowerCase();return e.filter(e=>l(e,n))},d=(e,t)=>t!==null&&e>=t,f=(e,t)=>{if(!e)return``;switch(t){case`prefixAndValue`:return`${e.prefix||``} ${e.value}`.trim();case`value`:return e.value;default:return e.label||e.value}},p=(e,t)=>{if(!t)return{filtered:[...e],suggestion:null};let n=t.toLowerCase(),r=e.filter(e=>l(e,n));return{filtered:r,suggestion:r.find(e=>!e.selected&&e.label?.toLowerCase().startsWith(n))||null}},m=(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:``}},h=e=>/^[\p{L} ]$/u.test(e),g=(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}},_=(e,t)=>{let n=t.toLowerCase();return e.findIndex(e=>e.textContent?.trim().toLowerCase().startsWith(n))},v=e=>{e.scrollIntoView({block:`nearest`}),window.setTimeout(()=>e.focus(),0)},y=e=>Array.from(e.querySelectorAll(`[role="option"]:not([data-disabled])`)||[]),b=e=>{let t=e.nextElementSibling;t&&v(t)},x=(e,t,n)=>{let r=e.previousElementSibling;if(e.dataset.index===`0`&&n){let e=t.querySelector(`[role="searchbox"]`);e&&v(e)}else r&&v(r)},S=e=>{let t=y(e);t[0]&&v(t[0])},C=e=>{let t=y(e),n=t[t.length-1];n&&v(n)},w=(e,t)=>{if(t.disabled)return;let n=y(e);if(t.allowUserInput&&t.customUserInput){let t=e.querySelector(`[data-type="new-option"]`);if(t){v(t);return}}let r=n.find(e=>e.dataset.selected===`true`);if(r){v(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]&&v(n[0])},T=class extends e.t{constructor(...e){super(...e),this.id=a.n(),this._listboxId=a.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=g(),this._filteredOptions=[]}connectedCallback(){super.connectedCallback();let e=this.getAttribute(`id`);e?this.adoptHostId(e):this.id&&(this._listboxId=this.id),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()}attributeChangedCallback(e,t,n){(e===`options`||e===`search-value`)&&this.filterOptions(),super.attributeChangedCallback(e,t,n),e===`id`&&n&&this.adoptHostId(n)}get _hasOptions(){return this._filteredOptions.length>0||this.options.length>0}adoptHostId(e){this._listboxId=e,this.removeAttribute(`id`)}willUpdate(e){super.willUpdate(e),(e.has(`options`)||e.has(`searchValue`))&&this.filterOptions()}render(){return e._`
1
+ const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),n=require("./format-B8meU8Tm.cjs"),r=require("./if-defined-2mkIDgOm.cjs"),i=require("./repeat-Dh9YKoeV.cjs"),a=require("./utils-63cRpWut.cjs");var o=(e,t)=>t&&(e.find(e=>e.value===t)||e.find(e=>e.label===t))||null,s=(e,t)=>{if(!t)return-1;let n=e.findIndex(e=>e.value===t);return n>=0?n:e.findIndex(e=>e.label===t)},c=e=>e.value+(e.label||``)+(e.prefix||``),l=(e,t)=>(e.fulltext||c(e)).toLowerCase().includes(t),u=(e,t)=>{if(!t)return[...e];let n=t.toLowerCase();return e.filter(e=>l(e,n))},d=(e,t)=>t!==null&&e>=t,f=(e,t)=>{if(!e)return``;switch(t){case`prefixAndValue`:return`${e.prefix||``} ${e.value}`.trim();case`value`:return e.value;default:return e.label||e.value}},p=(e,t)=>{if(!t)return{filtered:[...e],suggestion:null};let n=t.toLowerCase(),r=e.filter(e=>l(e,n));return{filtered:r,suggestion:r.find(e=>!e.selected&&e.label?.toLowerCase().startsWith(n))||null}},m=(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:``}},h=e=>/^[\p{L} ]$/u.test(e),g=(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}},_=(e,t)=>{let n=t.toLowerCase();return e.findIndex(e=>e.textContent?.trim().toLowerCase().startsWith(n))},v=e=>{e.scrollIntoView({block:`nearest`}),window.setTimeout(()=>e.focus(),0)},y=e=>Array.from(e.querySelectorAll(`[role="option"]:not([data-disabled])`)||[]),b=e=>{let t=e.nextElementSibling;t&&v(t)},x=(e,t,n)=>{let r=e.previousElementSibling;if(e.dataset.index===`0`&&n){let e=t.querySelector(`[role="searchbox"]`);e&&v(e)}else r&&v(r)},S=e=>{let t=y(e);t[0]&&v(t[0])},C=e=>{let t=y(e),n=t[t.length-1];n&&v(n)},w=(e,t)=>{if(t.disabled)return;let n=y(e);if(t.allowUserInput&&t.customUserInput){let t=e.querySelector(`[data-type="new-option"]`);if(t){v(t);return}}let r=n.find(e=>e.dataset.selected===`true`);if(r){v(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]&&v(n[0])},T=class extends e.t{constructor(...e){super(...e),this.id=a.n(),this._listboxId=a.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=g(),this._filteredOptions=[]}connectedCallback(){super.connectedCallback();let e=this.getAttribute(`id`);e?this.adoptHostId(e):this.id&&(this._listboxId=this.id),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()}attributeChangedCallback(e,t,n){(e===`options`||e===`search-value`)&&this.filterOptions(),super.attributeChangedCallback(e,t,n),e===`id`&&n&&this.adoptHostId(n)}get _hasOptions(){return this._filteredOptions.length>0||this.options.length>0}adoptHostId(e){this._listboxId=e,this.removeAttribute(`id`)}willUpdate(e){super.willUpdate(e),(e.has(`options`)||e.has(`searchValue`))&&this.filterOptions()}render(){return e._`
2
2
  <div
3
3
  id=${this._listboxId}
4
4
  class=${t.t({"pkt-listbox":!0,"pkt-listbox__open":this.isOpen,"pkt-txt-16-light":!0})}
5
- role=${n.t(this._hasOptions?`listbox`:void 0)}
6
- aria-multiselectable=${n.t(this._hasOptions&&this.isMultiSelect?`true`:void 0)}
7
- aria-label=${n.t(this._hasOptions?this.label??void 0:void 0)}
5
+ role=${r.t(this._hasOptions?`listbox`:void 0)}
6
+ aria-multiselectable=${r.t(this._hasOptions&&this.isMultiSelect?`true`:void 0)}
7
+ aria-label=${r.t(this._hasOptions?this.label??void 0:void 0)}
8
8
  >
9
9
  <div class="pkt-listbox__banners">
10
10
  ${this.renderSearch()} ${this.renderMaximumReachedBanner()} ${this.renderUserMessage()}
@@ -36,31 +36,31 @@ const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),
36
36
  ></pkt-icon>
37
37
  ${this.pktStrings.get(`listbox`).empty}
38
38
  </div>`}renderList(){return e._`
39
- ${i.t(this._filteredOptions,e=>e.value,(r,i)=>e._`
39
+ ${i.t(this._filteredOptions,e=>e.value,(n,i)=>e._`
40
40
  <li
41
- @click=${()=>{this.toggleOption(r)}}
42
- aria-selected=${r.selected?`true`:`false`}
41
+ @click=${()=>{this.toggleOption(n)}}
42
+ aria-selected=${n.selected?`true`:`false`}
43
43
  @keydown=${this.handleOptionKeydown}
44
- class=${t.t({"pkt-listbox__option":!0,"pkt-listbox__option--selected":!!(!this.isMultiSelect&&r.selected),"pkt-listbox__option--checkBox":this.isMultiSelect})}
45
- tabindex="${this.disabled||r.disabled?`-1`:`0`}"
44
+ class=${t.t({"pkt-listbox__option":!0,"pkt-listbox__option--selected":!!(!this.isMultiSelect&&n.selected),"pkt-listbox__option--checkBox":this.isMultiSelect})}
45
+ tabindex="${this.disabled||n.disabled?`-1`:`0`}"
46
46
  data-index=${i}
47
- data-value=${r.value}
48
- data-selected=${r.selected?`true`:`false`}
49
- data-disabled=${n.t(this.disabled||r.disabled||this.maxIsReached&&!r.selected?`true`:void 0)}
50
- aria-disabled=${this.disabled||r.disabled||this.maxIsReached&&!r.selected?`true`:`false`}
47
+ data-value=${n.value}
48
+ data-selected=${n.selected?`true`:`false`}
49
+ data-disabled=${r.t(this.disabled||n.disabled||this.maxIsReached&&!n.selected?`true`:void 0)}
50
+ aria-disabled=${this.disabled||n.disabled||this.maxIsReached&&!n.selected?`true`:`false`}
51
51
  role="option"
52
52
  id=${`${this._listboxId}-${i}`}
53
53
  >
54
- ${this.renderCheckboxOrCheckIcon(r)}
54
+ ${this.renderCheckboxOrCheckIcon(n)}
55
55
  <span
56
56
  class="pkt-listbox__option-label"
57
57
  id=${this._listboxId+`-option-label-`+i}
58
58
  >
59
- ${r.prefix?e._`<span class="pkt-listbox__option-prefix">${r.prefix}</span>`:e.h}
60
- ${r.label||r.value}
59
+ ${n.prefix?e._`<span class="pkt-listbox__option-prefix">${n.prefix}</span>`:e.h}
60
+ ${n.label||n.value}
61
61
  </span>
62
- ${r.description?e._`<span class="pkt-listbox__option-description pkt-txt-14-light"
63
- >${r.description}</span
62
+ ${n.description?e._`<span class="pkt-listbox__option-description pkt-txt-14-light"
63
+ >${n.description}</span
64
64
  >`:e.h}
65
65
  </li>
66
66
  `)}
@@ -75,11 +75,11 @@ const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),
75
75
  @keydown=${this.handleOptionKeydown}
76
76
  >
77
77
  <pkt-icon class="pkt-listbox__banner-icon" name="plus-sign" size="large"></pkt-icon>
78
- ${r.t(this.pktStrings.get(`listbox`).addValue,{value:this.customUserInput??``})}
78
+ ${n.t(this.pktStrings.get(`listbox`).addValue,{value:this.customUserInput??``})}
79
79
  </div>
80
80
  `:e.h}renderMaximumReachedBanner(){return this._selectedOptions=this.options.filter(e=>e.selected).length,this.isMultiSelect&&this._selectedOptions>0&&this.maxLength>0?e._`
81
81
  <div class="pkt-listbox__banner pkt-listbox__banner--maximum-reached">
82
- ${r.t(this.pktStrings.get(`listbox`).maxReached,{selected:this._selectedOptions,max:this.maxLength})}
82
+ ${n.t(this.pktStrings.get(`listbox`).maxReached,{selected:this._selectedOptions,max:this.maxLength})}
83
83
  </div>
84
84
  `:e.h}renderUserMessage(){return this.userMessage?e._`<div class="pkt-listbox__banner pkt-listbox__banner--user-message">
85
85
  <pkt-icon
@@ -1,4 +1,4 @@
1
- const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),n=require("./element-with-slot-2PHu2w7O.cjs");require("./icon-Dnv6LtPC.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=`rainbow`,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
1
+ const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),n=require("./element-with-slot-D7sTqOr3.cjs");require("./icon-Dnv6LtPC.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=`rainbow`,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`}
@@ -12,5 +12,5 @@ const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),
12
12
  ></pkt-icon>
13
13
  ${this.message&&e._`<p>${this.message}</p>`}
14
14
  </div>`:e.h}
15
- <div class=${i}>${n.r(this)}</div>
15
+ <div class=${i}>${n.i(this)}</div>
16
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}});
@@ -1,6 +1,6 @@
1
1
  import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-mwwC2Rra.js";
2
2
  import { t as o } from "./class-map-C4hdfSfY.js";
3
- import { r as s, t as c } from "./element-with-slot-FD826ooP.js";
3
+ import { i as s, t as c } from "./element-with-slot-DQv0cbbD.js";
4
4
  import "./icon-JigbxxF7.js";
5
5
  //#region src/components/loader/loader.ts
6
6
  var l = "https://punkt-cdn.oslo.kommune.no/latest/animations/";
@@ -1,6 +1,6 @@
1
1
  import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-mwwC2Rra.js";
2
2
  import { t as o } from "./class-map-C4hdfSfY.js";
3
- import { r as s, t as c } from "./element-with-slot-FD826ooP.js";
3
+ import { i as s, t as c } from "./element-with-slot-DQv0cbbD.js";
4
4
  import "./icon-JigbxxF7.js";
5
5
  import { t as l } from "./classutils-DcYnSgfc.js";
6
6
  var u = {
@@ -1,4 +1,4 @@
1
- const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),n=require("./element-with-slot-2PHu2w7O.cjs");require("./icon-Dnv6LtPC.cjs");const r=require("./classutils-CbklAJDe.cjs");var i={name:`pkt-messagebox`,react:`PktMessagebox`,"css-class":`pkt-messagebox`,isElement:!0,isPureReact:!0,events:{onClose:{description:`React: Event som trigges når meldingsboksen lukkes`},"on-close":{description:`Elements: Event som trigges når meldingsboksen lukkes`}},props:{title:{name:`Tittel`,description:`Tittelen på meldingsboksen`,type:`string`,category:`contents`},skin:{name:`Utseende`,description:`Velg farge på meldingsboksen`,type:[`beige`,`blue`,`red`,`green`],category:`ui`,default:`beige`},compact:{name:`Kompakt`,description:`Gjør meldingsboksen mindre`,type:`boolean`,category:`ui`,default:!1},closable:{name:`Kan lukkes`,description:`Viser lukkeknapp`,type:`boolean`,category:`ui`,default:!1}},slots:{default:{description:`Innholdet i meldingsboksen`}}},a=class extends n.t{constructor(){super(),this.closable=i.props.closable.default,this.compact=i.props.compact.default,this.title=``,this.skin=void 0,this._isClosed=!1,this.close=e=>{this._isClosed=!0,this.dispatchEvent(new CustomEvent(`close`,{detail:{origin:e},bubbles:!0})),this.dispatchEvent(new CustomEvent(`on-close`,{detail:{origin:e},bubbles:!0}))},this._isClosed=!1}updated(e){super.updated(e),e.has(`_isClosed`)&&r.t(this,`pkt-hide`,this._isClosed)}render(){let r={"pkt-messagebox":!0,"pkt-messagebox--compact":this.compact,[`pkt-messagebox--${this.skin}`]:!!this.skin,"pkt-messagebox--closable":this.closable,"pkt-hide":this._isClosed};return e._`<div class=${t.t(r)}>
1
+ const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),n=require("./element-with-slot-D7sTqOr3.cjs");require("./icon-Dnv6LtPC.cjs");const r=require("./classutils-CbklAJDe.cjs");var i={name:`pkt-messagebox`,react:`PktMessagebox`,"css-class":`pkt-messagebox`,isElement:!0,isPureReact:!0,events:{onClose:{description:`React: Event som trigges når meldingsboksen lukkes`},"on-close":{description:`Elements: Event som trigges når meldingsboksen lukkes`}},props:{title:{name:`Tittel`,description:`Tittelen på meldingsboksen`,type:`string`,category:`contents`},skin:{name:`Utseende`,description:`Velg farge på meldingsboksen`,type:[`beige`,`blue`,`red`,`green`],category:`ui`,default:`beige`},compact:{name:`Kompakt`,description:`Gjør meldingsboksen mindre`,type:`boolean`,category:`ui`,default:!1},closable:{name:`Kan lukkes`,description:`Viser lukkeknapp`,type:`boolean`,category:`ui`,default:!1}},slots:{default:{description:`Innholdet i meldingsboksen`}}},a=class extends n.t{constructor(){super(),this.closable=i.props.closable.default,this.compact=i.props.compact.default,this.title=``,this.skin=void 0,this._isClosed=!1,this.close=e=>{this._isClosed=!0,this.dispatchEvent(new CustomEvent(`close`,{detail:{origin:e},bubbles:!0})),this.dispatchEvent(new CustomEvent(`on-close`,{detail:{origin:e},bubbles:!0}))},this._isClosed=!1}updated(e){super.updated(e),e.has(`_isClosed`)&&r.t(this,`pkt-hide`,this._isClosed)}render(){let r={"pkt-messagebox":!0,"pkt-messagebox--compact":this.compact,[`pkt-messagebox--${this.skin}`]:!!this.skin,"pkt-messagebox--closable":this.closable,"pkt-hide":this._isClosed};return e._`<div class=${t.t(r)}>
2
2
  ${this.closable?e._`<div class="pkt-messagebox__close">
3
3
  <button
4
4
  @click=${this.close}
@@ -9,5 +9,5 @@ const e=require("./element-BOmr9YLv.cjs"),t=require("./class-map-Drv0_anQ.cjs"),
9
9
  </button>
10
10
  </div>`:e.h}
11
11
  ${this.title?e._`<div class="pkt-messagebox__title">${this.title}</div>`:e.h}
12
- <div class="pkt-messagebox__text">${n.r(this)}</div>
12
+ <div class="pkt-messagebox__text">${n.i(this)}</div>
13
13
  </div>`}};e.n([e.u({type:Boolean,reflect:!0})],a.prototype,`closable`,void 0),e.n([e.u({type:Boolean,reflect:!0})],a.prototype,`compact`,void 0),e.n([e.u({type:String,reflect:!0})],a.prototype,`title`,void 0),e.n([e.u({type:String,reflect:!0})],a.prototype,`skin`,void 0),e.n([e.l()],a.prototype,`_isClosed`,void 0);try{e.d(`pkt-messagebox`)(a)}catch{console.warn(`Forsøker å definere <pkt-messagebox>, men den er allerede definert`)}var o=a;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});