@oslokommune/punkt-elements 14.5.4 → 15.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 (123) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/{accordionitem-DB3tAjIZ.js → accordionitem-BbeS44TD.js} +1 -1
  3. package/dist/{accordionitem-DHYmPA-o.cjs → accordionitem-DUWhTUEI.cjs} +1 -1
  4. package/dist/{alert-DVCenNTM.cjs → alert-B9flMht5.cjs} +1 -1
  5. package/dist/{alert-Cc5FtxHN.js → alert-BpFxQviu.js} +2 -2
  6. package/dist/{button-Ju4zPhVx.cjs → button-BgCKV0zW.cjs} +1 -1
  7. package/dist/{button-DrTXtc-n.js → button-CKgpX5QA.js} +1 -1
  8. package/dist/{calendar-CTx8PD1L.js → calendar-BMarIeVp.js} +332 -325
  9. package/dist/calendar-C6xgAJ7Z.cjs +90 -0
  10. package/dist/{card-DvHL7pNu.cjs → card-DI3KodEc.cjs} +1 -1
  11. package/dist/{card-CTtmPB2n.js → card-h8ekgJRr.js} +2 -2
  12. package/dist/{checkbox-B-0FOdwi.cjs → checkbox-B2t7wfxe.cjs} +1 -1
  13. package/dist/{checkbox-CkAwPK_E.js → checkbox-BJ9pz3kV.js} +1 -1
  14. package/dist/{combobox-DNPfpTjW.js → combobox-BjAvk8Y-.js} +5 -5
  15. package/dist/{combobox-DvL3SKz2.cjs → combobox-HNN7GTzh.cjs} +1 -1
  16. package/dist/{consent-DJW7YEat.cjs → consent-C37tuFwZ.cjs} +1 -1
  17. package/dist/{consent-OdhmtIK-.js → consent-DAk2BJ7I.js} +1 -1
  18. package/dist/datepicker-2bneToiA.cjs +275 -0
  19. package/dist/datepicker-DvcH2QD9.js +1160 -0
  20. package/dist/{helptext-7fyVJK2C.cjs → helptext-BG1P_9j0.cjs} +1 -1
  21. package/dist/{helptext-CfR0SYe9.js → helptext-Cm6FLBVf.js} +1 -1
  22. package/dist/index.d.ts +10 -42
  23. package/dist/input-element-BBv4xjPb.cjs +1 -0
  24. package/dist/{input-element-DVZhYDJ_.js → input-element-CbjYtVou.js} +143 -147
  25. package/dist/{input-wrapper-DVUh5rxv.js → input-wrapper-Bwmva-69.js} +3 -3
  26. package/dist/{input-wrapper-Bta4FZe3.cjs → input-wrapper-CJqmwe3I.cjs} +1 -1
  27. package/dist/{link-40XAFlYS.js → link-BKnT-97D.js} +1 -1
  28. package/dist/{link-CBQ7uKqb.cjs → link-DRPFqqEn.cjs} +1 -1
  29. package/dist/{linkcard-D8hxLedl.cjs → linkcard-02fxYQ2g.cjs} +1 -1
  30. package/dist/{linkcard-Opb42K2k.js → linkcard-C2UENcqo.js} +1 -1
  31. package/dist/{loader-Bv1R6-AA.js → loader-BW-AWQiE.js} +1 -1
  32. package/dist/{loader-Dh_5sihO.cjs → loader-Cj4kUNRE.cjs} +1 -1
  33. package/dist/{messagebox-B9MCodIz.cjs → messagebox-CK0sSRep.cjs} +1 -1
  34. package/dist/{messagebox-DEXCTOrz.js → messagebox-DB8tEXrV.js} +1 -1
  35. package/dist/{modal-Bw61rVrQ.cjs → modal-BzVQSQy2.cjs} +1 -1
  36. package/dist/{modal-B4adxB6X.js → modal-ClYfWW2a.js} +1 -1
  37. package/dist/pkt-accordion.cjs +1 -1
  38. package/dist/pkt-accordion.js +2 -2
  39. package/dist/pkt-alert.cjs +1 -1
  40. package/dist/pkt-alert.js +1 -1
  41. package/dist/pkt-button.cjs +1 -1
  42. package/dist/pkt-button.js +1 -1
  43. package/dist/pkt-calendar.cjs +1 -1
  44. package/dist/pkt-calendar.js +1 -1
  45. package/dist/pkt-card.cjs +1 -1
  46. package/dist/pkt-card.js +1 -1
  47. package/dist/pkt-checkbox.cjs +1 -1
  48. package/dist/pkt-checkbox.js +1 -1
  49. package/dist/pkt-combobox.cjs +1 -1
  50. package/dist/pkt-combobox.js +1 -1
  51. package/dist/pkt-consent.cjs +1 -1
  52. package/dist/pkt-consent.js +1 -1
  53. package/dist/pkt-datepicker.cjs +1 -1
  54. package/dist/pkt-datepicker.js +2 -2
  55. package/dist/pkt-header.cjs +1 -1
  56. package/dist/pkt-header.js +4 -4
  57. package/dist/pkt-helptext.cjs +1 -1
  58. package/dist/pkt-helptext.js +1 -1
  59. package/dist/pkt-index.cjs +1 -1
  60. package/dist/pkt-index.js +22 -22
  61. package/dist/pkt-input-wrapper.cjs +1 -1
  62. package/dist/pkt-input-wrapper.js +1 -1
  63. package/dist/pkt-link.cjs +1 -1
  64. package/dist/pkt-link.js +1 -1
  65. package/dist/pkt-linkcard.cjs +1 -1
  66. package/dist/pkt-linkcard.js +1 -1
  67. package/dist/pkt-loader.cjs +1 -1
  68. package/dist/pkt-loader.js +1 -1
  69. package/dist/pkt-messagebox.cjs +1 -1
  70. package/dist/pkt-messagebox.js +1 -1
  71. package/dist/pkt-modal.cjs +1 -1
  72. package/dist/pkt-modal.js +1 -1
  73. package/dist/{pkt-options-controller-zn5cmMvL.js → pkt-options-controller-BcGywCmf.js} +1 -1
  74. package/dist/{pkt-options-controller-DjBCEHU4.cjs → pkt-options-controller-BnTmkl3g.cjs} +1 -1
  75. package/dist/pkt-radiobutton.cjs +1 -1
  76. package/dist/pkt-radiobutton.js +1 -1
  77. package/dist/pkt-select.cjs +1 -1
  78. package/dist/pkt-select.js +1 -1
  79. package/dist/pkt-slot-controller-D4nKlom5.cjs +1 -0
  80. package/dist/{pkt-slot-controller-BPGj-LC5.js → pkt-slot-controller-D7CrjM52.js} +27 -25
  81. package/dist/pkt-tabs.cjs +1 -1
  82. package/dist/pkt-tabs.js +2 -2
  83. package/dist/pkt-tag.cjs +1 -1
  84. package/dist/pkt-tag.js +1 -1
  85. package/dist/pkt-textarea.cjs +1 -1
  86. package/dist/pkt-textarea.js +1 -1
  87. package/dist/pkt-textinput.cjs +1 -1
  88. package/dist/pkt-textinput.js +1 -1
  89. package/dist/{radiobutton-oA20HijB.js → radiobutton-CvKKNFMd.js} +1 -1
  90. package/dist/{radiobutton-iHuLnuAn.cjs → radiobutton-DWoYQn8H.cjs} +1 -1
  91. package/dist/{select--wvwpJ0_.cjs → select-BQUp88lY.cjs} +1 -1
  92. package/dist/{select-DfsNb_Yi.js → select-CFkxir_l.js} +4 -4
  93. package/dist/{tabitem-CypTmORF.js → tabitem-C8-tZyc_.js} +1 -1
  94. package/dist/{tabitem-CtltSqDK.cjs → tabitem-DaYfUaxw.cjs} +1 -1
  95. package/dist/{tag-Cw3OQqLW.js → tag-DIJMJhyp.js} +1 -1
  96. package/dist/{tag-P9lfQZbM.cjs → tag-h0vD2Na0.cjs} +1 -1
  97. package/dist/{textarea-CM_bj81t.js → textarea-CMuiBUee.js} +3 -3
  98. package/dist/{textarea-DcEKhXia.cjs → textarea-DcCOfNlr.cjs} +1 -1
  99. package/dist/{textinput-AVll6Nh7.js → textinput-D30TCADP.js} +3 -3
  100. package/dist/{textinput-BzuYzKZ6.cjs → textinput-DR3aaHTH.cjs} +1 -1
  101. package/package.json +4 -4
  102. package/src/components/calendar/calendar.core.test.ts +1 -1
  103. package/src/components/calendar/calendar.selection.test.ts +1 -1
  104. package/src/components/calendar/calendar.ts +32 -22
  105. package/src/components/datepicker/datepicker-popup.test.ts +1 -1
  106. package/src/components/datepicker/datepicker-popup.ts +73 -30
  107. package/src/components/datepicker/datepicker-range.ts +5 -1
  108. package/src/components/datepicker/datepicker-types.ts +4 -54
  109. package/src/components/datepicker/datepicker-utils.ts +38 -517
  110. package/src/components/datepicker/datepicker.core.test.ts +12 -10
  111. package/src/components/datepicker/datepicker.selection.test.ts +8 -6
  112. package/src/components/datepicker/datepicker.ts +26 -7
  113. package/src/components/icon/icon.test.ts +8 -8
  114. package/dist/calendar-5Obd0ZT3.cjs +0 -90
  115. package/dist/datepicker-CTCaZuZU.cjs +0 -271
  116. package/dist/datepicker-t0W9fA1e.js +0 -1444
  117. package/dist/input-element-RBQVA8i0.cjs +0 -1
  118. package/dist/pkt-slot-controller-BzddBp7z.cjs +0 -1
  119. package/src/components/calendar/helpers/calendar-grid.ts +0 -93
  120. package/src/components/calendar/helpers/date-validation.ts +0 -86
  121. package/src/components/calendar/helpers/index.ts +0 -49
  122. package/src/components/calendar/helpers/keyboard-navigation.ts +0 -54
  123. package/src/components/calendar/helpers/selection-manager.ts +0 -184
package/CHANGELOG.md CHANGED
@@ -5,6 +5,39 @@ og skriver commits ca etter [Conventional Commits](https://conventionalcommits.o
5
5
 
6
6
  ---
7
7
 
8
+ ## [15.0.0](https://github.com/oslokommune/punkt/compare/14.5.4...15.0.0) (2026-02-12)
9
+
10
+ ### ⚠ BREAKING CHANGES
11
+ * PktDatepicker er nå en ren React-komponent - pluss endringer i Elements pkt-datepicker (#3241). BREAKING CHANGE: **React datepicker bruker ikke Custom Event i onValueChange, men returnerer array direkte**
12
+
13
+ BREAKING CHANGE: **Endringer i HTML-attributter for Punkt Elements `<pkt-datepicker>`**
14
+
15
+ `showRangeLabels` er nå `show-range-labels`
16
+ `calendarOpen` er nå `calendar-open`
17
+
18
+ JavaScript-properties og React-props (`showRangeLabels`, `calendarOpen`) er uendret — kun HTML-attributtene i Punkt Elements-varianten er endret.
19
+
20
+ **Andre endringer:**
21
+
22
+ Lagt til til en metode for å overstyre `today`, slik at dagens dato i kalenderen kan være markert som en annen dato enn dagens faktiske dato (nyttig om man har snapshot-tester som daglig vil vike fra gårsdagens snapshots.
23
+
24
+ Fikset en drøss med små visuelle bugs som er rapportert fra brukere og designer.
25
+
26
+ Datepicker støtter endelig attributten `fullwidth`.
27
+
28
+
29
+ ### Features
30
+ Ingen
31
+
32
+ ### Bug Fixes
33
+ Ingen
34
+
35
+ ### Chores
36
+ Ingen
37
+
38
+ ---
39
+
40
+
8
41
  ## [14.5.4](https://github.com/oslokommune/punkt/compare/14.5.3...14.5.4) (2026-02-12)
9
42
 
10
43
  ### ⚠ BREAKING CHANGES
@@ -1,6 +1,6 @@
1
1
  import { i as k, x as f, n as r, t as u, P as _ } from "./element-BXsf_NlG.js";
2
2
  import { e as y } from "./class-map-Dt2jXOlF.js";
3
- import { P as v } from "./pkt-slot-controller-BPGj-LC5.js";
3
+ import { P as v } from "./pkt-slot-controller-D7CrjM52.js";
4
4
  import { e as m, n as h } from "./ref-BxiKhrfa.js";
5
5
  import { o as $ } from "./if-defined-CxHgig4I.js";
6
6
  var b = Object.defineProperty, P = Object.getOwnPropertyDescriptor, d = (t, e, a, o) => {
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("./element-aUzIoa1s.cjs"),u=require("./class-map-CApIYSRo.cjs"),h=require("./pkt-slot-controller-BzddBp7z.cjs"),m=require("./ref-C5iJMIE1.cjs"),f=require("./if-defined-BElHLTlB.cjs");var y=Object.defineProperty,k=Object.getOwnPropertyDescriptor,d=(t,i,n,r)=>{for(var o=r>1?void 0:r?k(i,n):i,c=t.length-1,a;c>=0;c--)(a=t[c])&&(o=(r?a(i,n,o):a(o))||o);return r&&o&&y(i,n,o),o};let p=class extends e.i{constructor(){super(...arguments),this.ariaLabelledBy="",this.compact=!1,this.skin="borderless",this.name=""}updated(t){t.has("skin")&&this.requestUpdate(),t.has("name")&&this.updateAccordionItemNames()}updateAccordionItemNames(){var t;if(this.name){const i=(t=this.renderRoot)==null?void 0:t.querySelector("slot");i&&i.assignedElements().forEach(r=>{r.tagName.toLowerCase()==="pkt-accordion-item"&&(r.hasAttribute("name")||r.setAttribute("name",this.name))})}}firstUpdated(){var i;const t=(i=this.renderRoot)==null?void 0:i.querySelector("slot");t&&t.addEventListener("slotchange",()=>{this.updateAccordionItemNames()})}render(){const t={"pkt-accordion":!0,"pkt-accordion--compact":this.compact,[`pkt-accordion--${this.skin}`]:this.skin};return e.x`
1
+ "use strict";const e=require("./element-aUzIoa1s.cjs"),u=require("./class-map-CApIYSRo.cjs"),h=require("./pkt-slot-controller-D4nKlom5.cjs"),m=require("./ref-C5iJMIE1.cjs"),f=require("./if-defined-BElHLTlB.cjs");var y=Object.defineProperty,k=Object.getOwnPropertyDescriptor,d=(t,i,n,r)=>{for(var o=r>1?void 0:r?k(i,n):i,c=t.length-1,a;c>=0;c--)(a=t[c])&&(o=(r?a(i,n,o):a(o))||o);return r&&o&&y(i,n,o),o};let p=class extends e.i{constructor(){super(...arguments),this.ariaLabelledBy="",this.compact=!1,this.skin="borderless",this.name=""}updated(t){t.has("skin")&&this.requestUpdate(),t.has("name")&&this.updateAccordionItemNames()}updateAccordionItemNames(){var t;if(this.name){const i=(t=this.renderRoot)==null?void 0:t.querySelector("slot");i&&i.assignedElements().forEach(r=>{r.tagName.toLowerCase()==="pkt-accordion-item"&&(r.hasAttribute("name")||r.setAttribute("name",this.name))})}}firstUpdated(){var i;const t=(i=this.renderRoot)==null?void 0:i.querySelector("slot");t&&t.addEventListener("slotchange",()=>{this.updateAccordionItemNames()})}render(){const t={"pkt-accordion":!0,"pkt-accordion--compact":this.compact,[`pkt-accordion--${this.skin}`]:this.skin};return e.x`
2
2
  <div
3
3
  part="container"
4
4
  class=${u.e(t)}
@@ -1,4 +1,4 @@
1
- "use strict";const c=require("./class-map-CApIYSRo.cjs"),t=require("./element-aUzIoa1s.cjs"),d=require("./state-GDzxl12x.cjs"),h=require("./pkt-slot-controller-BzddBp7z.cjs"),u=require("./ref-C5iJMIE1.cjs"),k=require("./classutils-BwNK82ZQ.cjs");require("./icon-n4-ve48P.cjs");require("./button-Ju4zPhVx.cjs");const v={skin:{default:"info"},ariaLive:{default:"polite"},compact:{default:!1},closeAlert:{default:!1}},a={props:v};var f=Object.defineProperty,_=Object.getOwnPropertyDescriptor,i=(o,e,s,l)=>{for(var r=l>1?void 0:l?_(e,s):e,p=o.length-1,n;p>=0;p--)(n=o[p])&&(r=(l?n(e,s,r):n(r))||r);return l&&r&&f(e,s,r),r};exports.PktAlert=class extends t.PktElement{constructor(){super(),this.defaultSlot=u.e(),this.compact=a.props.compact.default,this.title="",this.skin=a.props.skin.default,this.ariaLive=a.props.ariaLive.default,this["aria-live"]=null,this.closeAlert=a.props.closeAlert.default,this.date=null,this.role="status",this._isClosed=!1,this.close=e=>{this._isClosed=!0,this.dispatchEvent(new CustomEvent("close",{detail:{origin:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("on-close",{detail:{origin:e},bubbles:!0,composed:!0}))},this.slotController=new h.PktSlotController(this,this.defaultSlot),this._isClosed=!1}connectedCallback(){super.connectedCallback(),this["aria-live"]=this.getAttribute("aria-live")||this.ariaLive}attributeChangedCallback(e,s,l){e==="ariaLive"&&(this["aria-live"]=l),super.attributeChangedCallback(e,s,l)}updated(e){super.updated(e),e.has("ariaLive")&&(this["aria-live"]=this.ariaLive),e.has("_isClosed")&&k.updateClassAttribute(this,"pkt-hide",this._isClosed)}render(){const e={"pkt-alert":!0,"pkt-alert--compact":this.compact,[`pkt-alert--${this.skin}`]:this.skin,"pkt-hide":this._isClosed},s={"pkt-alert__grid":!0,"pkt-alert__noTitle":!this.title,"pkt-alert__noDate":!this.date};return t.x`
1
+ "use strict";const c=require("./class-map-CApIYSRo.cjs"),t=require("./element-aUzIoa1s.cjs"),d=require("./state-GDzxl12x.cjs"),h=require("./pkt-slot-controller-D4nKlom5.cjs"),u=require("./ref-C5iJMIE1.cjs"),k=require("./classutils-BwNK82ZQ.cjs");require("./icon-n4-ve48P.cjs");require("./button-BgCKV0zW.cjs");const v={skin:{default:"info"},ariaLive:{default:"polite"},compact:{default:!1},closeAlert:{default:!1}},a={props:v};var f=Object.defineProperty,_=Object.getOwnPropertyDescriptor,i=(o,e,s,l)=>{for(var r=l>1?void 0:l?_(e,s):e,p=o.length-1,n;p>=0;p--)(n=o[p])&&(r=(l?n(e,s,r):n(r))||r);return l&&r&&f(e,s,r),r};exports.PktAlert=class extends t.PktElement{constructor(){super(),this.defaultSlot=u.e(),this.compact=a.props.compact.default,this.title="",this.skin=a.props.skin.default,this.ariaLive=a.props.ariaLive.default,this["aria-live"]=null,this.closeAlert=a.props.closeAlert.default,this.date=null,this.role="status",this._isClosed=!1,this.close=e=>{this._isClosed=!0,this.dispatchEvent(new CustomEvent("close",{detail:{origin:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("on-close",{detail:{origin:e},bubbles:!0,composed:!0}))},this.slotController=new h.PktSlotController(this,this.defaultSlot),this._isClosed=!1}connectedCallback(){super.connectedCallback(),this["aria-live"]=this.getAttribute("aria-live")||this.ariaLive}attributeChangedCallback(e,s,l){e==="ariaLive"&&(this["aria-live"]=l),super.attributeChangedCallback(e,s,l)}updated(e){super.updated(e),e.has("ariaLive")&&(this["aria-live"]=this.ariaLive),e.has("_isClosed")&&k.updateClassAttribute(this,"pkt-hide",this._isClosed)}render(){const e={"pkt-alert":!0,"pkt-alert--compact":this.compact,[`pkt-alert--${this.skin}`]:this.skin,"pkt-hide":this._isClosed},s={"pkt-alert__grid":!0,"pkt-alert__noTitle":!this.title,"pkt-alert__noDate":!this.date};return t.x`
2
2
  <div class=${c.e(e)} aria-live=${this["aria-live"]}>
3
3
  <div class=${c.e(s)}>
4
4
  <pkt-icon
@@ -1,11 +1,11 @@
1
1
  import { e as h } from "./class-map-Dt2jXOlF.js";
2
2
  import { P as f, E as u, x as p, n as a, t as v } from "./element-BXsf_NlG.js";
3
3
  import { r as k } from "./state-DgnkjP0q.js";
4
- import { P as m } from "./pkt-slot-controller-BPGj-LC5.js";
4
+ import { P as m } from "./pkt-slot-controller-D7CrjM52.js";
5
5
  import { e as _, n as b } from "./ref-BxiKhrfa.js";
6
6
  import { u as y } from "./classutils-RQs1k6D9.js";
7
7
  import "./icon-DBZvMard.js";
8
- import "./button-DrTXtc-n.js";
8
+ import "./button-CKgpX5QA.js";
9
9
  const C = { skin: { default: "info" }, ariaLive: { default: "polite" }, compact: { default: !1 }, closeAlert: { default: !1 } }, c = {
10
10
  props: C
11
11
  };
@@ -1,4 +1,4 @@
1
- "use strict";const t=require("./element-aUzIoa1s.cjs"),h=require("./pkt-slot-controller-BzddBp7z.cjs"),u=require("./class-map-CApIYSRo.cjs"),a=require("./if-defined-BElHLTlB.cjs"),d=require("./ref-C5iJMIE1.cjs");require("./icon-n4-ve48P.cjs");var c=Object.defineProperty,k=Object.getOwnPropertyDescriptor,e=(r,i,o,n)=>{for(var s=n>1?void 0:n?k(i,o):i,l=r.length-1,p;l>=0;l--)(p=r[l])&&(s=(n?p(i,o,s):p(s))||s);return n&&s&&c(i,o,s),s};window.pktAnimationPath=window.pktAnimationPath||"https://punkt-cdn.oslo.kommune.no/latest/animations/";exports.PktButton=class extends t.PktElement{constructor(){super(),this.defaultSlot=d.e(),this.iconName="user",this.secondIconName="user",this.mode="light",this.size="medium",this.fullWidth=!1,this.fullWidthOnMobile=!1,this.skin="primary",this.variant="label-only",this.state="normal",this.type="button",this.form=void 0,this.isLoading=!1,this.disabled=!1,this.loadingAnimationPath=window.pktAnimationPath,this.slotController=new h.PktSlotController(this,this.defaultSlot)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",i=>{(this.disabled||this.hasAttribute("disabled")||this.isLoading)&&(i.preventDefault(),i.stopImmediatePropagation())},!0),this.addEventListener("keydown",i=>{(this.disabled||this.hasAttribute("disabled")||this.isLoading)&&(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),i.stopImmediatePropagation())},!0)}attributeChangedCallback(i,o,n){super.attributeChangedCallback(i,o,n),i==="disabled"&&n==="false"&&(this.disabled=!1),(i==="isloading"||i==="isLoading")&&n==="false"&&(this.isLoading=!1)}firstUpdated(i){super.firstUpdated(i),this.disabled==="false"&&(this.disabled=!1),this.isLoading==="false"&&(this.isLoading=!1)}render(){const i=this.form??this.getAttribute("form")??void 0,o={"pkt-btn":!0,[`pkt-btn--${this.size}`]:!!this.size,[`pkt-btn--${this.skin}`]:!!this.skin,[`pkt-btn--${this.variant}`]:!!this.variant,[`pkt-btn--${this.color}`]:!!this.color,[`pkt-btn--${this.state}`]:!!this.state,"pkt-btn--full":!!this.fullWidth,"pkt-btn--full-small":!!this.fullWidthOnMobile,"pkt-btn--disabled":!!this.disabled,"pkt-btn--isLoading":!!this.isLoading};return t.x`
1
+ "use strict";const t=require("./element-aUzIoa1s.cjs"),h=require("./pkt-slot-controller-D4nKlom5.cjs"),u=require("./class-map-CApIYSRo.cjs"),a=require("./if-defined-BElHLTlB.cjs"),d=require("./ref-C5iJMIE1.cjs");require("./icon-n4-ve48P.cjs");var c=Object.defineProperty,k=Object.getOwnPropertyDescriptor,e=(r,i,o,n)=>{for(var s=n>1?void 0:n?k(i,o):i,l=r.length-1,p;l>=0;l--)(p=r[l])&&(s=(n?p(i,o,s):p(s))||s);return n&&s&&c(i,o,s),s};window.pktAnimationPath=window.pktAnimationPath||"https://punkt-cdn.oslo.kommune.no/latest/animations/";exports.PktButton=class extends t.PktElement{constructor(){super(),this.defaultSlot=d.e(),this.iconName="user",this.secondIconName="user",this.mode="light",this.size="medium",this.fullWidth=!1,this.fullWidthOnMobile=!1,this.skin="primary",this.variant="label-only",this.state="normal",this.type="button",this.form=void 0,this.isLoading=!1,this.disabled=!1,this.loadingAnimationPath=window.pktAnimationPath,this.slotController=new h.PktSlotController(this,this.defaultSlot)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",i=>{(this.disabled||this.hasAttribute("disabled")||this.isLoading)&&(i.preventDefault(),i.stopImmediatePropagation())},!0),this.addEventListener("keydown",i=>{(this.disabled||this.hasAttribute("disabled")||this.isLoading)&&(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),i.stopImmediatePropagation())},!0)}attributeChangedCallback(i,o,n){super.attributeChangedCallback(i,o,n),i==="disabled"&&n==="false"&&(this.disabled=!1),(i==="isloading"||i==="isLoading")&&n==="false"&&(this.isLoading=!1)}firstUpdated(i){super.firstUpdated(i),this.disabled==="false"&&(this.disabled=!1),this.isLoading==="false"&&(this.isLoading=!1)}render(){const i=this.form??this.getAttribute("form")??void 0,o={"pkt-btn":!0,[`pkt-btn--${this.size}`]:!!this.size,[`pkt-btn--${this.skin}`]:!!this.skin,[`pkt-btn--${this.variant}`]:!!this.variant,[`pkt-btn--${this.color}`]:!!this.color,[`pkt-btn--${this.state}`]:!!this.state,"pkt-btn--full":!!this.fullWidth,"pkt-btn--full-small":!!this.fullWidthOnMobile,"pkt-btn--disabled":!!this.disabled,"pkt-btn--isLoading":!!this.isLoading};return t.x`
2
2
  <button
3
3
  class=${u.e(o)}
4
4
  type=${this.type}
@@ -1,5 +1,5 @@
1
1
  import { P as f, E as c, x as l, n as s, t as b } from "./element-BXsf_NlG.js";
2
- import { P as u } from "./pkt-slot-controller-BPGj-LC5.js";
2
+ import { P as u } from "./pkt-slot-controller-D7CrjM52.js";
3
3
  import { e as m } from "./class-map-Dt2jXOlF.js";
4
4
  import { o as r } from "./if-defined-CxHgig4I.js";
5
5
  import { e as y, n as k } from "./ref-BxiKhrfa.js";