@oslokommune/punkt-elements 19.15.3 → 19.17.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 (174) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/{accordion-BlsqYbJf.js → accordion-B0zAUNUV.js} +5 -5
  3. package/dist/{accordion-DukAa2ED.cjs → accordion-Cx-Gh3hc.cjs} +1 -1
  4. package/dist/{alert-CuXM6TnC.cjs → alert-BRZDpVMt.cjs} +1 -1
  5. package/dist/{alert-Xt26J9yX.js → alert-JnRrtTOW.js} +5 -5
  6. package/dist/{async-directive-yh8hG41Q.js → async-directive-C4LocQwR.js} +2 -2
  7. package/dist/{backlink-ogvv493Y.js → backlink-D8Rv46lA.js} +3 -3
  8. package/dist/{breadcrumbs-53QVnTFP.js → breadcrumbs-ybOBe_op.js} +2 -2
  9. package/dist/{button-BFG-7bDB.cjs → button-Ca_V13cQ.cjs} +1 -1
  10. package/dist/{button-DhCqyX4D.js → button-ChdHZYBF.js} +5 -5
  11. package/dist/{calendar-CtWc545R.js → calendar-BQCjUQvP.js} +7 -11
  12. package/dist/{calendar-5XCeDtZX.cjs → calendar-CFTrX0C5.cjs} +2 -2
  13. package/dist/{card-Diivw_vm.cjs → card-COseC8ZL.cjs} +1 -1
  14. package/dist/{card-DCc3wfUb.js → card-DSTEL8Kv.js} +6 -6
  15. package/dist/{checkbox-BDwOYcNM.js → checkbox-CKYNnLDh.js} +5 -9
  16. package/dist/{checkbox-BwI9QNSh.cjs → checkbox-DkFswqr-.cjs} +2 -2
  17. package/dist/{checkbox-group-Bum7k828.js → checkbox-group-1ghi5uHp.js} +3 -3
  18. package/dist/{checkbox-group-BLurd7sf.cjs → checkbox-group-lcxR3cYR.cjs} +1 -1
  19. package/dist/{class-map-Bf-QzUpN.js → class-map-BkEYw5uE.js} +1 -1
  20. package/dist/combobox-CaWnlvTX.cjs +139 -0
  21. package/dist/{combobox-C7tUHbG4.js → combobox-iXYiaWbN.js} +63 -96
  22. package/dist/components/index.d.ts +1 -0
  23. package/dist/components/input-wrapper/index.d.ts +1 -0
  24. package/dist/components/input-wrapper/input-wrapper.d.ts +13 -6
  25. package/dist/{consent-DBYZaCTp.cjs → consent-CxcKuGi9.cjs} +1 -1
  26. package/dist/{consent-BUS6GEUu.js → consent-D2nfauO8.js} +3 -3
  27. package/dist/converters-CW6SN0TT.cjs +1 -0
  28. package/dist/{converters-CkjLSYpa.js → converters-CYgQrWVm.js} +138 -141
  29. package/dist/{datepicker-CJLcIDVk.js → datepicker-DTcow1ih.js} +15 -25
  30. package/dist/{datepicker-DmZi4CNk.cjs → datepicker-Da8SfyVG.cjs} +3 -3
  31. package/dist/{dialog-polyfill.esm-B-g35ove.cjs → dialog-polyfill.esm-CW51hN2p.cjs} +1 -1
  32. package/dist/{dialog-polyfill.esm-DHSvqor8.js → dialog-polyfill.esm-D39dWbRt.js} +2 -2
  33. package/dist/{directive-helpers-CwxFepWh.js → directive-helpers-BAinC437.js} +1 -1
  34. package/dist/{element-DBugHPKM.js → element-ckeMVgMz.js} +1 -1
  35. package/dist/{element-with-slot-CVmm0_IE.js → element-with-slot-C0bH0T0H.js} +27 -38
  36. package/dist/element-with-slot-DkyaNnm0.cjs +1 -0
  37. package/dist/{fileupload-DehKWas6.js → fileupload-BNAQ9tNR.js} +16 -23
  38. package/dist/{fileupload-A_suUEPU.cjs → fileupload-Cb1c7ul0.cjs} +3 -3
  39. package/dist/{footer-C6ajmlq2.cjs → footer-Box90zhr.cjs} +1 -1
  40. package/dist/{footer-L2vhQTAS.js → footer-D2RpIbsD.js} +4 -4
  41. package/dist/{header-BzAPmAsZ.cjs → header-CvER8wo6.cjs} +2 -2
  42. package/dist/{header-C6xhv3Ib.js → header-Cwr995oK.js} +13 -13
  43. package/dist/{header-menu-F3tZZ5vO.js → header-menu-CsL4DZE2.js} +5 -5
  44. package/dist/{header-menu-Cz7G7Q2R.cjs → header-menu-D-wOwG1V.cjs} +1 -1
  45. package/dist/{heading-BluavR6A.cjs → heading-D4Kkb6-N.cjs} +1 -1
  46. package/dist/{heading-y72aIgB8.js → heading-DhTyaJms.js} +2 -2
  47. package/dist/{helptext-Dujce_W9.js → helptext-DN0jjgVu.js} +4 -4
  48. package/dist/{helptext-Bdv80rcs.cjs → helptext-p0nwJsyf.cjs} +1 -1
  49. package/dist/{icon-Bao96Zb8.js → icon-CLMJYuTL.js} +1 -1
  50. package/dist/{if-defined-O59_I-e-.js → if-defined-D18nY_K_.js} +1 -1
  51. package/dist/{input-element-mTphzs9b.js → input-element-0yYtRu0p.js} +3 -3
  52. package/dist/{input-element-BjnKPikY.cjs → input-element-BOi7rBbw.cjs} +1 -1
  53. package/dist/input-wrapper-4PTk8aX3.cjs +62 -0
  54. package/dist/{input-wrapper-xRJo_iVf.js → input-wrapper-BSjQc4Vx.js} +29 -197
  55. package/dist/{link-sO401Ieh.js → link-39EvU2ng.js} +5 -5
  56. package/dist/{link-CRLAhYi0.cjs → link-Dj6SbcaD.cjs} +1 -1
  57. package/dist/{linkcard-DnZgMzqL.cjs → linkcard-BoQIfci8.cjs} +1 -1
  58. package/dist/{linkcard-DdmGxzAP.js → linkcard-K9vvKg1u.js} +4 -4
  59. package/dist/{listbox-CvduK_YU.cjs → listbox-BbdUu-IV.cjs} +3 -3
  60. package/dist/{listbox-BDesthOp.js → listbox-DFd-1faX.js} +15 -16
  61. package/dist/{loader-Zo_VSsNw.cjs → loader-BRYL5kTN.cjs} +1 -1
  62. package/dist/{loader-Di5kHEQ4.js → loader-MoI2VRFr.js} +4 -4
  63. package/dist/{messagebox-CR59jv8N.cjs → messagebox-CiOQUt0C.cjs} +1 -1
  64. package/dist/{messagebox-CzaFlrYz.js → messagebox-Dr-k3pnZ.js} +4 -4
  65. package/dist/{modal-wEEmCcUx.cjs → modal-DGiq84MG.cjs} +1 -1
  66. package/dist/{modal-0D0paY70.js → modal-DbzEnZNF.js} +8 -8
  67. package/dist/option-group-element-CH0sgVIl.cjs +23 -0
  68. package/dist/{option-group-element-fpMneBWa.js → option-group-element-DC364Rw_.js} +3 -3
  69. package/dist/pkt-accordion.cjs +1 -1
  70. package/dist/pkt-accordion.js +1 -2
  71. package/dist/pkt-alert.cjs +1 -1
  72. package/dist/pkt-alert.js +1 -2
  73. package/dist/pkt-backlink.js +1 -2
  74. package/dist/pkt-breadcrumbs.js +1 -2
  75. package/dist/pkt-button.cjs +1 -1
  76. package/dist/pkt-button.js +1 -2
  77. package/dist/pkt-calendar.cjs +1 -1
  78. package/dist/pkt-calendar.js +1 -2
  79. package/dist/pkt-card.cjs +1 -1
  80. package/dist/pkt-card.js +1 -2
  81. package/dist/pkt-checkbox-group.cjs +1 -1
  82. package/dist/pkt-checkbox-group.js +1 -2
  83. package/dist/pkt-checkbox.cjs +1 -1
  84. package/dist/pkt-checkbox.js +1 -2
  85. package/dist/pkt-combobox.cjs +1 -1
  86. package/dist/pkt-combobox.js +1 -2
  87. package/dist/pkt-consent.cjs +1 -1
  88. package/dist/pkt-consent.js +1 -2
  89. package/dist/pkt-datepicker.cjs +1 -1
  90. package/dist/pkt-datepicker.js +1 -1
  91. package/dist/pkt-fileupload.cjs +1 -1
  92. package/dist/pkt-fileupload.js +1 -2
  93. package/dist/pkt-footer.cjs +1 -1
  94. package/dist/pkt-footer.js +1 -2
  95. package/dist/pkt-header-menu.cjs +1 -1
  96. package/dist/pkt-header-menu.js +1 -2
  97. package/dist/pkt-header.cjs +1 -1
  98. package/dist/pkt-header.js +1 -2
  99. package/dist/pkt-heading.cjs +1 -1
  100. package/dist/pkt-heading.js +1 -2
  101. package/dist/pkt-helptext.cjs +1 -1
  102. package/dist/pkt-helptext.js +1 -2
  103. package/dist/pkt-icon.js +1 -2
  104. package/dist/pkt-index.cjs +1 -1
  105. package/dist/pkt-index.js +37 -37
  106. package/dist/pkt-input-wrapper.cjs +1 -1
  107. package/dist/pkt-input-wrapper.js +1 -2
  108. package/dist/pkt-link.cjs +1 -1
  109. package/dist/pkt-link.js +1 -2
  110. package/dist/pkt-linkcard.cjs +1 -1
  111. package/dist/pkt-linkcard.js +1 -2
  112. package/dist/pkt-listbox.cjs +1 -1
  113. package/dist/pkt-listbox.js +1 -2
  114. package/dist/pkt-loader.cjs +1 -1
  115. package/dist/pkt-loader.js +1 -2
  116. package/dist/pkt-messagebox.cjs +1 -1
  117. package/dist/pkt-messagebox.js +1 -2
  118. package/dist/pkt-modal.cjs +1 -1
  119. package/dist/pkt-modal.js +1 -2
  120. package/dist/{pkt-options-controller-CHosj1Oo.js → pkt-options-controller-BikFfGcZ.js} +1 -1
  121. package/dist/{pkt-options-controller-139UsV4h.cjs → pkt-options-controller-D1sKTkbR.cjs} +1 -1
  122. package/dist/pkt-progressbar.js +1 -2
  123. package/dist/pkt-radio-group.cjs +1 -1
  124. package/dist/pkt-radio-group.js +1 -2
  125. package/dist/pkt-radiobutton.cjs +1 -1
  126. package/dist/pkt-radiobutton.js +1 -2
  127. package/dist/pkt-searchinput.js +1 -2
  128. package/dist/pkt-select.cjs +1 -1
  129. package/dist/pkt-select.js +1 -2
  130. package/dist/pkt-tabs.cjs +1 -1
  131. package/dist/pkt-tabs.js +1 -2
  132. package/dist/pkt-tag.cjs +1 -1
  133. package/dist/pkt-tag.js +1 -2
  134. package/dist/pkt-textarea.cjs +1 -1
  135. package/dist/pkt-textarea.js +1 -2
  136. package/dist/pkt-textinput.cjs +1 -1
  137. package/dist/pkt-textinput.js +1 -2
  138. package/dist/pkt-timepicker.cjs +1 -1
  139. package/dist/pkt-timepicker.js +1 -2
  140. package/dist/{progressbar-DZHiq7B0.js → progressbar-t0zgEke0.js} +5 -5
  141. package/dist/{radio-group-BmJ3kcba.js → radio-group-DJikniZi.js} +3 -3
  142. package/dist/{radio-group-Q75EtJzu.cjs → radio-group-XCYKqoLD.cjs} +1 -1
  143. package/dist/{radiobutton-DwDErNo5.cjs → radiobutton-DgkML7sd.cjs} +1 -1
  144. package/dist/{radiobutton-BK-V6Itu.js → radiobutton-PYQKVnNQ.js} +4 -4
  145. package/dist/{ref-y_5qv9vU.js → ref-D4OwQYdf.js} +2 -2
  146. package/dist/{repeat-CV9S4zya.js → repeat-BGbBqnfz.js} +2 -2
  147. package/dist/{scroll-lock-BALd8hF9.js → scroll-lock-CR-g54ai.js} +1 -1
  148. package/dist/{scroll-lock-B46ur0FF.cjs → scroll-lock-x0VxhKWZ.cjs} +1 -1
  149. package/dist/{searchinput-Bkcr3Fby.js → searchinput-BzYifHBf.js} +4 -4
  150. package/dist/{select-ByPSk9WT.js → select-CorofYxz.js} +21 -21
  151. package/dist/{select-CCY2_EbI.cjs → select-D8TC1msV.cjs} +14 -14
  152. package/dist/shared-types/icon.d.ts +2 -0
  153. package/dist/shared-types/index.d.ts +3 -1
  154. package/dist/shared-types/input-wrapper.d.ts +59 -0
  155. package/dist/{tabs-R1Jzzj3-.cjs → tabs-B63J6MXb.cjs} +2 -2
  156. package/dist/{tabs-DBW3P90Z.js → tabs-DDakCTkY.js} +7 -15
  157. package/dist/{tag-BMtnaJ1A.cjs → tag-6IPe9bwQ.cjs} +1 -1
  158. package/dist/{tag-uVXp7uP-.js → tag-BPvGZcKf.js} +5 -5
  159. package/dist/{textarea-DB7FMtTf.js → textarea-BZCUHjEj.js} +19 -19
  160. package/dist/{textarea-D9RWiR6u.cjs → textarea-BiCZBjOe.cjs} +10 -10
  161. package/dist/{textinput-l31MdBd4.cjs → textinput-BZPGcxZV.cjs} +12 -12
  162. package/dist/{textinput-Djl_yr1D.js → textinput-D_oEaI41.js} +19 -19
  163. package/dist/{timepicker-Bw8zkwV9.cjs → timepicker-C0d92R8u.cjs} +12 -12
  164. package/dist/{timepicker-D_gNCZ2v.js → timepicker-JBOeZg-7.js} +24 -32
  165. package/package.json +2 -2
  166. package/src/components/index.ts +1 -0
  167. package/src/components/input-wrapper/index.ts +1 -0
  168. package/src/components/input-wrapper/input-wrapper.ts +36 -17
  169. package/src/components/input-wrapper/wrapper-parity.test.ts +4 -2
  170. package/dist/combobox-BsXDULXd.cjs +0 -139
  171. package/dist/converters-BJ9Fe0kW.cjs +0 -1
  172. package/dist/element-with-slot-CcJPCLgn.cjs +0 -1
  173. package/dist/input-wrapper-BEmV0DGo.cjs +0 -62
  174. package/dist/option-group-element-A2cOZRWA.cjs +0 -23
@@ -1,201 +1,33 @@
1
- import { _ as e, d as t, h as n, n as r, u as i } from "./element-DBugHPKM.js";
1
+ import { _ as e, d as t, h as n, n as r, u as i } from "./element-ckeMVgMz.js";
2
2
  import { t as a } from "./format-BTeSVkED.js";
3
- import { i as o, n as s, t as c } from "./element-with-slot-CVmm0_IE.js";
3
+ import { i as o, n as s, t as c } from "./element-with-slot-C0bH0T0H.js";
4
4
  import { t as l } from "./booleanish-OQJTYSrw.js";
5
- import "./alert-Xt26J9yX.js";
6
- import { r as u } from "./icon-Bao96Zb8.js";
7
- import { t as d } from "./if-defined-O59_I-e-.js";
5
+ import "./alert-JnRrtTOW.js";
6
+ import { r as u } from "./icon-CLMJYuTL.js";
7
+ import { t as d } from "./if-defined-D18nY_K_.js";
8
8
  import { n as f } from "./utils-BwF4QSrq.js";
9
- import "./helptext-Dujce_W9.js";
9
+ import "./helptext-DN0jjgVu.js";
10
10
  import { t as p } from "./focus-modality-controller-Dc2S-KqR.js";
11
- //#region ../../shared-utils/forms/described-by.ts
12
- var m = (e) => {
11
+ //#region ../../shared-types/input-wrapper.ts
12
+ var m = {
13
+ counter: !1,
14
+ counterCurrent: 0,
15
+ counterPosition: "bottom",
16
+ optionalTag: !1,
17
+ requiredTag: !1,
18
+ hasError: !1,
19
+ disabled: !1,
20
+ inline: !1,
21
+ hasFieldset: !1,
22
+ layout: "vertical",
23
+ useWrapper: !0,
24
+ size: "medium"
25
+ }, h = (e) => {
13
26
  let t = [];
14
27
  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
- }, h = (e) => `${e}-counter-status`, g = (e, t) => !!t && t > 0 && (e ?? 0) > t, _ = {
16
- name: "pkt-input-wrapper",
17
- react: "PktInputWrapper",
18
- "css-class": "pkt-inputwrapper",
19
- isElement: !0,
20
- isPureReact: !0,
21
- "dark-mode": !0,
22
- events: { toggleHelpText: { description: "Event for å vise eller skjule hjelpetekst i dropdown" } },
23
- slots: { default: { description: "Innholdet i input-wrapperen, som kan være et skjemaelement eller en annen komponent" } },
24
- props: {
25
- forId: {
26
- name: "For ID",
27
- description: "Id-en til skjemaelementet som dette wrapper rundt",
28
- type: "string",
29
- required: !0,
30
- category: "tech"
31
- },
32
- label: {
33
- name: "Merkelapp",
34
- description: "Merkelapp for skjemaelementet",
35
- type: "string",
36
- required: !0,
37
- category: "contents"
38
- },
39
- helptext: {
40
- name: "Hjelpetekst",
41
- description: "Hjelpetekst for skjemaelementet",
42
- type: "string",
43
- category: "contents"
44
- },
45
- helptextDropdown: {
46
- name: "Hjelpetekst i dropdown",
47
- description: "Hjelpetekst som vises i ekspanderende felt",
48
- type: "string",
49
- category: "contents"
50
- },
51
- helptextDropdownButton: {
52
- name: "Tekst i hjelpetekst-knapp",
53
- description: "Tekst som vises i knappen for å vise hjelpetekst i dropdown",
54
- default: "Les mer <span class='pkt-sr-only'>om feltet</span>",
55
- type: "string",
56
- category: "contents"
57
- },
58
- ariaDescribedby: {
59
- name: "aria-describedby",
60
- description: "Id-en til elementet som beskriver skjemaelementet",
61
- type: "string",
62
- category: "accessibility"
63
- },
64
- counter: {
65
- name: "Teller",
66
- description: "Teller for antall tegn i skjemaelementet",
67
- type: "boolean",
68
- default: !1,
69
- category: "ui"
70
- },
71
- counterCurrent: {
72
- name: "Tellerverdi",
73
- description: "Tellerens nåværende verdi",
74
- type: "number",
75
- category: "ui",
76
- showIf: { counter: !0 }
77
- },
78
- counterMaxLength: {
79
- name: "Maks tegn i teller",
80
- description: "Maks antall tegn som kan skrives i skjemaelementet",
81
- type: "number",
82
- category: "ui",
83
- showIf: { counter: !0 }
84
- },
85
- counterPosition: {
86
- name: "Tellerplassering",
87
- description: "Telleren sin plassering i forhold til elementet",
88
- type: ["top", "bottom"],
89
- default: "bottom",
90
- category: "ui",
91
- showIf: { counter: !0 }
92
- },
93
- optionalTag: {
94
- name: "Vise valgfritt-merking",
95
- description: "Viser en merking som indikerer at feltet er valgfritt",
96
- type: "boolean",
97
- default: !1,
98
- category: "ui"
99
- },
100
- optionalText: {
101
- name: "Valgfritt-tekst",
102
- description: "Tekst som vises i valgfritt-merkingen",
103
- type: "string",
104
- default: "Valgfritt",
105
- category: "contents"
106
- },
107
- requiredTag: {
108
- name: "Vise påkrevd-merking",
109
- description: "Viser en merking som indikerer at feltet er påkrevd",
110
- type: "boolean",
111
- default: !1,
112
- category: "ui"
113
- },
114
- requiredText: {
115
- name: "Påkrevd-tekst",
116
- description: "Tekst som vises i påkrevd-merkingen",
117
- type: "string",
118
- default: "Må fylles ut",
119
- category: "contents"
120
- },
121
- tagText: {
122
- type: "string",
123
- name: "Tag-tekst",
124
- description: "Tekst som vises i en tag ved siden av label",
125
- category: "ui"
126
- },
127
- hasError: {
128
- name: "Feil",
129
- description: "Indikerer at skjemaelementet har en feil",
130
- type: "boolean",
131
- default: !1,
132
- category: "ui"
133
- },
134
- errorMessage: {
135
- name: "Feilmelding",
136
- description: "Feilmelding som vises når skjemaelementet har en feil",
137
- type: "string",
138
- category: "contents"
139
- },
140
- disabled: {
141
- name: "Deaktivert",
142
- description: "Indikerer at skjemaelementet er deaktivert. Med hasFieldset blir fieldset deaktivert, slik at alle skjemaelementene i den blir deaktivert, som med <fieldset disabled>",
143
- type: "boolean",
144
- default: !1,
145
- category: "tech"
146
- },
147
- inline: {
148
- name: "Inline",
149
- description: "Indikerer at skjemaelementet skal flyte sammen med sidens innhold",
150
- type: "boolean",
151
- default: !1,
152
- category: "ui"
153
- },
154
- hasFieldset: {
155
- name: "Er fieldset",
156
- description: "Indikerer at innholdet er et fieldset",
157
- type: "boolean",
158
- default: !1,
159
- category: "ui"
160
- },
161
- layout: {
162
- name: "Layout",
163
- description: "Retning for alternativene i en gruppe. Avstanden mellom dem følger størrelsen (16, 12 og 8px)",
164
- type: ["vertical", "horizontal"],
165
- default: "vertical",
166
- category: "ui"
167
- },
168
- useWrapper: {
169
- name: "Bruk wrapper",
170
- description: "Indikerer om skjemaelementet skal bruke en wrapper",
171
- type: "boolean",
172
- displayAsFalse: !0,
173
- default: !0,
174
- category: "ui"
175
- },
176
- role: {
177
- name: "Rolle",
178
- description: "ARIA-rolle på wrapperen. Settes ikke som standard. Bruk hasFieldset for reelle grupper.",
179
- type: "string",
180
- default: null,
181
- category: "accessibility"
182
- },
183
- size: {
184
- name: "Størrelse",
185
- description: "Visuell størrelse. small: kompakt wrapper og felt (42px). xsmall: samme wrapper som small, felt 36px.",
186
- attribute: "input-wrapper-size",
187
- type: [
188
- "small",
189
- "medium",
190
- "xsmall"
191
- ],
192
- default: "medium",
193
- category: "ui"
194
- }
195
- }
196
- }, v = class extends c {
28
+ }, g = (e) => `${e}-counter-status`, _ = (e, t) => !!t && t > 0 && (e ?? 0) > t, v = class extends c {
197
29
  constructor(...e) {
198
- 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.layout = _.props.layout.default, this.role = null, this.useWrapper = _.props.useWrapper.default, this.size = "medium", this.focusModality = new p(this);
30
+ super(...e), this.forId = f(), this.label = "", this.helptext = null, this.helptextDropdown = null, this.helptextDropdownButton = null, this.counter = m.counter, this.counterCurrent = m.counterCurrent, this.counterMaxLength = 0, this.counterError = null, this.counterPosition = m.counterPosition, this.optionalTag = m.optionalTag, this.requiredTag = m.requiredTag, this.tagText = null, this.hasError = m.hasError, this.errorMessage = "", this.disabled = m.disabled, this.inline = m.inline, this.ariaDescribedby = void 0, this.hasFieldset = m.hasFieldset, this.layout = m.layout, this.role = null, this.useWrapper = m.useWrapper, this.size = m.size, this.focusModality = new p(this);
199
31
  }
200
32
  updated(e) {
201
33
  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");
@@ -235,13 +67,13 @@ var m = (e) => {
235
67
  this.toggleDropdown(e);
236
68
  }}
237
69
  ></pkt-helptext>
238
- `, _ = () => {
70
+ `, h = () => {
239
71
  if (!this.counter) return n;
240
- let t = g(this.counterCurrent, this.counterMaxLength), r = `${this.counterCurrent || 0}${this.counterMaxLength ? `/${this.counterMaxLength}` : ""}`;
72
+ let t = _(this.counterCurrent, this.counterMaxLength), r = `${this.counterCurrent || 0}${this.counterMaxLength ? `/${this.counterMaxLength}` : ""}`;
241
73
  return e`<div class="pkt-input__counter" aria-hidden="true">
242
74
  ${this.counterError ? `${this.counterError} ` : n}${r}
243
75
  </div>
244
- <div class="pkt-sr-only" id=${h(this.forId)} aria-live="polite">
76
+ <div class="pkt-sr-only" id=${g(this.forId)} aria-live="polite">
245
77
  ${t ? a(this.pktStrings.get("validation").counterExceeded, {
246
78
  current: this.counterCurrent ?? 0,
247
79
  max: this.counterMaxLength
@@ -267,9 +99,9 @@ var m = (e) => {
267
99
  }, y = () => e`
268
100
  ${p()}
269
101
  ${m()}
270
- ${this.counterPosition === "top" ? _() : n}
102
+ ${this.counterPosition === "top" ? h() : n}
271
103
  <div class=${this.optionsClass()}>${o(this)}</div>
272
- ${this.counterPosition === "bottom" ? _() : n}
104
+ ${this.counterPosition === "bottom" ? h() : n}
273
105
  ${v()}
274
106
  `;
275
107
  return this.hasFieldset ? e`<fieldset
@@ -320,4 +152,4 @@ try {
320
152
  //#region src/components/input-wrapper/index.ts
321
153
  var y = v;
322
154
  //#endregion
323
- export { v as n, m as r, y as t };
155
+ export { v as n, h as r, y as t };
@@ -1,7 +1,7 @@
1
- import { _ as e, d as t, h as n, n as r, u as i } from "./element-DBugHPKM.js";
2
- import { t as a } from "./class-map-Bf-QzUpN.js";
3
- import { i as o, t as s } from "./element-with-slot-CVmm0_IE.js";
4
- import "./icon-Bao96Zb8.js";
1
+ import { _ as e, d as t, h as n, n as r, u as i } from "./element-ckeMVgMz.js";
2
+ import { t as a } from "./class-map-BkEYw5uE.js";
3
+ import { i as o, t as s } from "./element-with-slot-C0bH0T0H.js";
4
+ import "./icon-CLMJYuTL.js";
5
5
  import { t as c } from "./define-component-spec-BYOSeplU.js";
6
6
  //#endregion
7
7
  //#region src/components/link/link.ts
@@ -90,7 +90,7 @@ var l = c({
90
90
  render() {
91
91
  let t = {
92
92
  "pkt-link": !0,
93
- "pkt-link--icon-left": !!this.iconName && this.iconPosition === "left" || !!(this.iconName && !this.iconPosition),
93
+ "pkt-link--icon-left": !!this.iconName && this.iconPosition === "left" || !(!this.iconName || this.iconPosition),
94
94
  "pkt-link--icon-right": !!this.iconName && this.iconPosition === "right",
95
95
  "pkt-link--external": this.external
96
96
  }, r = this.target && this.target !== "_self" ? this.target : n;
@@ -1,4 +1,4 @@
1
- const e=require("./element-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./element-with-slot-CcJPCLgn.cjs");require("./icon-jPhyZD1z.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-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./element-with-slot-DkyaNnm0.cjs");require("./icon-jPhyZD1z.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}
@@ -1,4 +1,4 @@
1
- const e=require("./element-C6WTyJFE.cjs"),t=require("./element-with-slot-CcJPCLgn.cjs");require("./icon-jPhyZD1z.cjs");const n=require("./if-defined-CiML3MTM.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._`
1
+ const e=require("./element-C6WTyJFE.cjs"),t=require("./element-with-slot-DkyaNnm0.cjs");require("./icon-jPhyZD1z.cjs");const n=require("./if-defined-CiML3MTM.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}
@@ -1,7 +1,7 @@
1
- import { _ as e, d as t, n, u as r } from "./element-DBugHPKM.js";
2
- import { i, t as a } from "./element-with-slot-CVmm0_IE.js";
3
- import "./icon-Bao96Zb8.js";
4
- import { t as o } from "./if-defined-O59_I-e-.js";
1
+ import { _ as e, d as t, n, u as r } from "./element-ckeMVgMz.js";
2
+ import { i, t as a } from "./element-with-slot-C0bH0T0H.js";
3
+ import "./icon-CLMJYuTL.js";
4
+ import { t as o } from "./if-defined-D18nY_K_.js";
5
5
  //#region src/components/linkcard/linkcard.ts
6
6
  var s = class extends a {
7
7
  constructor(...e) {
@@ -1,4 +1,4 @@
1
- const e=require("./element-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./format-B8meU8Tm.cjs"),r=require("./if-defined-CiML3MTM.cjs"),i=require("./repeat-CnnigVcj.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-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./format-B8meU8Tm.cjs"),r=require("./if-defined-CiML3MTM.cjs"),i=require("./repeat-CnnigVcj.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);else{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})}
@@ -41,7 +41,7 @@ const e=require("./element-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),
41
41
  @click=${()=>{this.toggleOption(n)}}
42
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&&n.selected),"pkt-listbox__option--checkBox":this.isMultiSelect})}
44
+ class=${t.t({"pkt-listbox__option":!0,"pkt-listbox__option--selected":!(this.isMultiSelect||!n.selected),"pkt-listbox__option--checkBox":this.isMultiSelect})}
45
45
  tabindex="${this.disabled||n.disabled?`-1`:`0`}"
46
46
  data-index=${i}
47
47
  data-value=${n.value}
@@ -108,4 +108,4 @@ const e=require("./element-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),
108
108
  role="searchbox"
109
109
  />
110
110
  </div>
111
- `:e.h}handleSearchInput(e){this.searchValue=e.target.value,this.dispatchEvent(new CustomEvent(`search`,{detail:this.searchValue,bubbles:!1}))}handleSearchKeydown(e){switch(e.key){case`Enter`:e.preventDefault();break;case`ArrowUp`:case`Escape`:this.closeOptions(),e.preventDefault();break;case`ArrowDown`:this.focusFirstOrSelectedOption();break;case`Tab`:this.tabClose()}}handleOptionKeydown(e){let t=e.currentTarget,n=t.dataset.value,r=t.dataset.type,i=t.dataset.selected===`true`;if(!(!y(this).length&&(!this.customUserInput||!this.allowUserInput&&this.customUserInput)&&r!==`new-option`&&r!==`searchbox`))switch(e.key){case` `:case`Enter`:this.toggleOption(t),e.preventDefault();break;case`Backspace`:n&&(i?this.toggleOption(t):this.closeOptions()),e.preventDefault();break;case`Escape`:this.closeOptions(),e.preventDefault();break;case`Tab`:this.tabClose();break;case`ArrowDown`:e.altKey?C(this):r===`searchbox`||r===`new-option`?S(this):b(t),e.preventDefault();break;case`ArrowUp`:if(e.altKey)S(this);else if(t.dataset.index===`0`&&this.includeSearch){let e=this.querySelector(`[role="searchbox"]`);e&&e.focus()}else if(t.dataset.index===`0`&&this.customUserInput){let e=this.querySelector(`[data-type="new-option"]`);e&&e.focus()}else x(t,this,this.includeSearch);e.preventDefault();break;case`Home`:S(this),e.preventDefault();break;case`End`:C(this),e.preventDefault();break;default:(e.metaKey||e.ctrlKey)&&e.key===`a`&&(this.selectAll(),e.preventDefault()),h(e.key)&&(this.handleTypeAhead(e.key),e.preventDefault())}}focusFirstOrSelectedOption(){w(this,{disabled:this.disabled,allowUserInput:this.allowUserInput,customUserInput:this.customUserInput,includeSearch:this.includeSearch})}toggleOption(e){let t=e instanceof HTMLElement?e.dataset.disabled:e.disabled;if(this.disabled||t)return;let n=e instanceof HTMLElement?e.dataset.value:e.value;this.dispatchEvent(new CustomEvent(`option-toggle`,{detail:n,bubbles:!1}))}selectAll(){this.dispatchEvent(new CustomEvent(`select-all`,{bubbles:!1}))}closeOptions(){this.dispatchEvent(new CustomEvent(`close-options`,{bubbles:!1}))}tabClose(){this.dispatchEvent(new CustomEvent(`tab-close`,{bubbles:!1}))}filterOptions(){this._filteredOptions=u(this.options,this.searchValue)}handleTypeAhead(e){let t=this.typeahead.append(e),n=y(this),r=_(n,t);r>=0&&v(n[r])}};e.n([e.u({type:String})],T.prototype,`id`,void 0),e.n([e.l()],T.prototype,`_listboxId`,void 0),e.n([e.u({type:String})],T.prototype,`label`,void 0),e.n([e.u({type:Array})],T.prototype,`options`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`is-open`})],T.prototype,`isOpen`,void 0),e.n([e.u({type:Boolean})],T.prototype,`disabled`,void 0),e.n([e.u({type:Boolean,attribute:`include-search`})],T.prototype,`includeSearch`,void 0),e.n([e.u({type:Boolean,attribute:`is-multi-select`})],T.prototype,`isMultiSelect`,void 0),e.n([e.u({type:Boolean,attribute:`allow-user-input`})],T.prototype,`allowUserInput`,void 0),e.n([e.u({type:Boolean,attribute:`max-is-reached`})],T.prototype,`maxIsReached`,void 0),e.n([e.u({type:String,attribute:`custom-user-input`})],T.prototype,`customUserInput`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],T.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String,attribute:`search-value`})],T.prototype,`searchValue`,void 0),e.n([e.u({type:Number,attribute:`max-length`})],T.prototype,`maxLength`,void 0),e.n([e.u({type:String,attribute:`user-message`})],T.prototype,`userMessage`,void 0),e.n([e.l()],T.prototype,`_filteredOptions`,void 0);try{e.d(`pkt-listbox`)(T)}catch{console.warn(`Forsøker å definere <pkt-listbox>, men den er allerede definert`)}var E=T;Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return E}});
111
+ `:e.h}handleSearchInput(e){this.searchValue=e.target.value,this.dispatchEvent(new CustomEvent(`search`,{detail:this.searchValue,bubbles:!1}))}handleSearchKeydown(e){switch(e.key){case`Enter`:e.preventDefault();break;case`ArrowUp`:case`Escape`:this.closeOptions(),e.preventDefault();break;case`ArrowDown`:this.focusFirstOrSelectedOption();break;case`Tab`:this.tabClose()}}handleOptionKeydown(e){let t=e.currentTarget,n=t.dataset.value,r=t.dataset.type,i=t.dataset.selected===`true`;if(y(this).length||this.customUserInput&&(this.allowUserInput||!this.customUserInput)||r===`new-option`||r===`searchbox`)switch(e.key){case` `:case`Enter`:this.toggleOption(t),e.preventDefault();break;case`Backspace`:n&&(i?this.toggleOption(t):this.closeOptions()),e.preventDefault();break;case`Escape`:this.closeOptions(),e.preventDefault();break;case`Tab`:this.tabClose();break;case`ArrowDown`:e.altKey?C(this):r===`searchbox`||r===`new-option`?S(this):b(t),e.preventDefault();break;case`ArrowUp`:if(e.altKey)S(this);else if(t.dataset.index===`0`&&this.includeSearch){let e=this.querySelector(`[role="searchbox"]`);e&&e.focus()}else if(t.dataset.index===`0`&&this.customUserInput){let e=this.querySelector(`[data-type="new-option"]`);e&&e.focus()}else x(t,this,this.includeSearch);e.preventDefault();break;case`Home`:S(this),e.preventDefault();break;case`End`:C(this),e.preventDefault();break;default:(e.metaKey||e.ctrlKey)&&e.key===`a`&&(this.selectAll(),e.preventDefault()),h(e.key)&&(this.handleTypeAhead(e.key),e.preventDefault())}}focusFirstOrSelectedOption(){w(this,{disabled:this.disabled,allowUserInput:this.allowUserInput,customUserInput:this.customUserInput,includeSearch:this.includeSearch})}toggleOption(e){let t=e instanceof HTMLElement?e.dataset.disabled:e.disabled;if(this.disabled||t)return;let n=e instanceof HTMLElement?e.dataset.value:e.value;this.dispatchEvent(new CustomEvent(`option-toggle`,{detail:n,bubbles:!1}))}selectAll(){this.dispatchEvent(new CustomEvent(`select-all`,{bubbles:!1}))}closeOptions(){this.dispatchEvent(new CustomEvent(`close-options`,{bubbles:!1}))}tabClose(){this.dispatchEvent(new CustomEvent(`tab-close`,{bubbles:!1}))}filterOptions(){this._filteredOptions=u(this.options,this.searchValue)}handleTypeAhead(e){let t=this.typeahead.append(e),n=y(this),r=_(n,t);r>=0&&v(n[r])}};e.n([e.u({type:String})],T.prototype,`id`,void 0),e.n([e.l()],T.prototype,`_listboxId`,void 0),e.n([e.u({type:String})],T.prototype,`label`,void 0),e.n([e.u({type:Array})],T.prototype,`options`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`is-open`})],T.prototype,`isOpen`,void 0),e.n([e.u({type:Boolean})],T.prototype,`disabled`,void 0),e.n([e.u({type:Boolean,attribute:`include-search`})],T.prototype,`includeSearch`,void 0),e.n([e.u({type:Boolean,attribute:`is-multi-select`})],T.prototype,`isMultiSelect`,void 0),e.n([e.u({type:Boolean,attribute:`allow-user-input`})],T.prototype,`allowUserInput`,void 0),e.n([e.u({type:Boolean,attribute:`max-is-reached`})],T.prototype,`maxIsReached`,void 0),e.n([e.u({type:String,attribute:`custom-user-input`})],T.prototype,`customUserInput`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],T.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String,attribute:`search-value`})],T.prototype,`searchValue`,void 0),e.n([e.u({type:Number,attribute:`max-length`})],T.prototype,`maxLength`,void 0),e.n([e.u({type:String,attribute:`user-message`})],T.prototype,`userMessage`,void 0),e.n([e.l()],T.prototype,`_filteredOptions`,void 0);try{e.d(`pkt-listbox`)(T)}catch{console.warn(`Forsøker å definere <pkt-listbox>, men den er allerede definert`)}var E=T;Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return E}});
@@ -1,8 +1,8 @@
1
- import { _ as e, d as t, h as n, l as r, n as i, t as a, u as o } from "./element-DBugHPKM.js";
2
- import { t as s } from "./class-map-Bf-QzUpN.js";
1
+ import { _ as e, d as t, h as n, l as r, n as i, t as a, u as o } from "./element-ckeMVgMz.js";
2
+ import { t as s } from "./class-map-BkEYw5uE.js";
3
3
  import { t as c } from "./format-BTeSVkED.js";
4
- import { t as l } from "./if-defined-O59_I-e-.js";
5
- import { t as u } from "./repeat-CV9S4zya.js";
4
+ import { t as l } from "./if-defined-D18nY_K_.js";
5
+ import { t as u } from "./repeat-BGbBqnfz.js";
6
6
  import { n as d } from "./utils-BwF4QSrq.js";
7
7
  //#region ../../shared-utils/combobox/option-utils.ts
8
8
  var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label === t)) || null, p = (e, t) => {
@@ -91,18 +91,17 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
91
91
  }
92
92
  }
93
93
  let r = n.find((e) => e.dataset.selected === "true");
94
- if (r) {
95
- w(r);
96
- return;
97
- }
98
- if (t.includeSearch && !(document.activeElement instanceof HTMLInputElement)) {
99
- let t = e.querySelector("[role=\"searchbox\"]");
100
- if (t) {
101
- window.setTimeout(() => t.focus(), 0);
102
- return;
94
+ if (r) w(r);
95
+ else {
96
+ if (t.includeSearch && !(document.activeElement instanceof HTMLInputElement)) {
97
+ let t = e.querySelector("[role=\"searchbox\"]");
98
+ if (t) {
99
+ window.setTimeout(() => t.focus(), 0);
100
+ return;
101
+ }
103
102
  }
103
+ n[0] && w(n[0]);
104
104
  }
105
- n[0] && w(n[0]);
106
105
  }, j = class extends a {
107
106
  constructor(...e) {
108
107
  super(...e), this.id = d(), this._listboxId = d(), this.label = null, this.options = [], this.isOpen = !1, this.disabled = !1, this.includeSearch = !1, this.isMultiSelect = !1, this.allowUserInput = !1, this.maxIsReached = !1, this.customUserInput = null, this.searchPlaceholder = null, this.searchValue = null, this.maxLength = 0, this.userMessage = null, this._selectedOptions = 0, this.typeahead = S(), this._filteredOptions = [];
@@ -190,7 +189,7 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
190
189
  @keydown=${this.handleOptionKeydown}
191
190
  class=${s({
192
191
  "pkt-listbox__option": !0,
193
- "pkt-listbox__option--selected": !!(!this.isMultiSelect && t.selected),
192
+ "pkt-listbox__option--selected": !(this.isMultiSelect || !t.selected),
194
193
  "pkt-listbox__option--checkBox": this.isMultiSelect
195
194
  })}
196
195
  tabindex="${this.disabled || t.disabled ? "-1" : "0"}"
@@ -300,7 +299,7 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
300
299
  }
301
300
  handleOptionKeydown(e) {
302
301
  let t = e.currentTarget, n = t.dataset.value, r = t.dataset.type, i = t.dataset.selected === "true";
303
- if (!(!T(this).length && (!this.customUserInput || !this.allowUserInput && this.customUserInput) && r !== "new-option" && r !== "searchbox")) switch (e.key) {
302
+ if (T(this).length || this.customUserInput && (this.allowUserInput || !this.customUserInput) || r === "new-option" || r === "searchbox") switch (e.key) {
304
303
  case " ":
305
304
  case "Enter":
306
305
  this.toggleOption(t), e.preventDefault();
@@ -1,4 +1,4 @@
1
- const e=require("./element-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./element-with-slot-CcJPCLgn.cjs");require("./icon-jPhyZD1z.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-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./element-with-slot-DkyaNnm0.cjs");require("./icon-jPhyZD1z.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`}
@@ -1,7 +1,7 @@
1
- import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-DBugHPKM.js";
2
- import { t as o } from "./class-map-Bf-QzUpN.js";
3
- import { i as s, t as c } from "./element-with-slot-CVmm0_IE.js";
4
- import "./icon-Bao96Zb8.js";
1
+ import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-ckeMVgMz.js";
2
+ import { t as o } from "./class-map-BkEYw5uE.js";
3
+ import { i as s, t as c } from "./element-with-slot-C0bH0T0H.js";
4
+ import "./icon-CLMJYuTL.js";
5
5
  //#region src/components/loader/loader.ts
6
6
  var l = "https://punkt-cdn.oslo.kommune.no/latest/animations/";
7
7
  typeof window < "u" && (window.pktAnimationPath = window.pktAnimationPath || l);
@@ -1,4 +1,4 @@
1
- const e=require("./element-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./element-with-slot-CcJPCLgn.cjs");require("./icon-jPhyZD1z.cjs");const r=require("./classutils-CbklAJDe.cjs");var i={skin:`beige`,compact:!1,closable:!1},a=class extends n.t{constructor(){super(),this.closable=i.closable,this.compact=i.compact,this.title=``,this.skin=i.skin,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-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./element-with-slot-DkyaNnm0.cjs");require("./icon-jPhyZD1z.cjs");const r=require("./classutils-CbklAJDe.cjs");var i={skin:`beige`,compact:!1,closable:!1},a=class extends n.t{constructor(){super(),this.closable=i.closable,this.compact=i.compact,this.title=``,this.skin=i.skin,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}
@@ -1,7 +1,7 @@
1
- import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-DBugHPKM.js";
2
- import { t as o } from "./class-map-Bf-QzUpN.js";
3
- import { i as s, t as c } from "./element-with-slot-CVmm0_IE.js";
4
- import "./icon-Bao96Zb8.js";
1
+ import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-ckeMVgMz.js";
2
+ import { t as o } from "./class-map-BkEYw5uE.js";
3
+ import { i as s, t as c } from "./element-with-slot-C0bH0T0H.js";
4
+ import "./icon-CLMJYuTL.js";
5
5
  import { t as l } from "./classutils-DcYnSgfc.js";
6
6
  //#region ../../shared-types/messagebox.ts
7
7
  var u = {
@@ -1,4 +1,4 @@
1
- const e=require("./element-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./element-with-slot-CcJPCLgn.cjs");require("./icon-jPhyZD1z.cjs");const r=require("./if-defined-CiML3MTM.cjs"),i=require("./ref-CB7e9nMY.cjs"),a=require("./utils-63cRpWut.cjs"),o=require("./scroll-lock-B46ur0FF.cjs");var s={name:`pkt-modal`,react:`PktModal`,"css-class":`pkt-modal`,isElement:!0,isPureReact:!0,events:{"background-click":{description:`Event som trigges når bakgrunnen trykkes på`},close:{description:`Event som trigges når meldingsboksen lukkes`}},props:{open:{name:`Åpen`,description:`Deklarativ styring av modalens åpen/lukket-tilstand. Kan brukes i stedet for showModal()/close()-metodene.`,type:`boolean`,category:`tech`,default:!1},headingText:{name:`Heading text`,description:`Heading tekst på modalen`,type:`string`,category:`contents`},headingIconName:{name:`Ikon i overskriften`,description:`Navn på ikonet som vises foran overskriften. Vises bare når headingText er satt.`,type:`icon`,category:`ui`},headingIconPath:{name:`Ikon-sti for overskriften`,description:`Overstyr stien til ikonet i overskriften. Kan også settes globalt med window.pktIconPath.`,type:`string`,category:`tech`},hideCloseButton:{name:`Gjem 'Lukk'-knapp`,description:`Gjemmer lukkeknappen. Dersom denne er satt til true, vil ikke lukkeknappen vises, og dermed er det viktig at man tilbyr en annen måte som f.eks. en knapp for å lukke modalen på.`,type:`boolean`,category:`ui`,default:!1},closeOnBackdropClick:{name:`Lukk modalen når bakgrunnen trykkes på`,description:`Lukk modalen når bakgrunnen trykkes på`,type:`boolean`,category:`tech`,default:!1},closeButtonSkin:{name:`Stil på lukkeknappen`,description:`Stil på lukkeknappen`,type:[`blue`,`yellow-filled`],category:`ui`,default:`blue`},size:{name:`Størrelse`,description:`Størrelsen på modalen`,type:[`small`,`medium`,`large`,`fit-content`],category:`ui`,default:`medium`},variant:{name:`Variant`,description:`Standard dialog eller skuff`,type:[`dialog`,`drawer`],category:`ui`,default:`dialog`},drawerPosition:{name:`Skuffposisjon`,description:`Posisjonen til skuffen`,type:[`left`,`right`],category:`ui`,default:`right`},transparentBackdrop:{name:`Gjennomsiktig bakgrunn`,description:`Bakgrunnen er gjennomsiktig`,type:`boolean`,category:`ui`,default:!1},removePadding:{name:`Fjern padding`,description:`Fjerner paddingen rundt innholdet i modalen`,type:`boolean`,category:`ui`,default:!1}},slots:{default:{description:`Innholdet i meldingen. Her tilbyr vi støtteklasser for å style 1-3 knapper i modalen.`}}},c=class extends n.t{constructor(){super(),this.open=!1,this.headingText=``,this.removePadding=!1,this.hideCloseButton=s.props.hideCloseButton.default,this.closeOnBackdropClick=s.props.closeOnBackdropClick.default,this.closeButtonSkin=`blue`,this.size=s.props.size.default,this.variant=`dialog`,this.drawerPosition=`right`,this.transparentBackdrop=!1,this.dialogRef=i.t(),this._scrollLockToken=o.t(),this._idSuffix=a.n(),this._headingId=`pkt-modal__headingText-${this._idSuffix}`,this._contentId=`pkt-modal__content-${this._idSuffix}`,this._isOpen=!1,this.close=(e,t=!1)=>{if(!this._isOpen)return;this._isOpen=!1,this.open=!1,o.n(this._scrollLockToken,!1);let n=document.activeElement;n&&!this.isElementInViewport(n)&&n.scrollIntoView({behavior:`smooth`,block:`nearest`}),this.dispatchEvent(new CustomEvent(`close`,{detail:{origin:e},bubbles:!0,composed:!0})),t||this.dialogRef.value?.close(),this.requestUpdate()},this.showModal=(e=null)=>{this._isOpen=!0,this.open=!0,this.dialogRef.value?.showModal(),o.n(this._scrollLockToken,!0),this.dispatchEvent(new CustomEvent(`showModal`,{detail:{origin:e},bubbles:!0,composed:!0})),this.requestUpdate()},this._isOpen=!1}async connectedCallback(){super.connectedCallback(),document.addEventListener(`keydown`,this.handleKeyDown.bind(this)),document.addEventListener(`click`,this.handleBackdropClick.bind(this))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`keydown`,this.handleKeyDown),document.removeEventListener(`click`,this.handleBackdropClick),o.n(this._scrollLockToken,!1)}updated(e){super.updated(e),e.has(`open`)&&(this.open&&!this._isOpen?this.showModal():!this.open&&this._isOpen&&this.close(new Event(`close`),!1))}async firstUpdated(e){super.firstUpdated(e),this.dialogRef.value&&!window.HTMLDialogElement&&!this.dialogRef.value.showModal&&(`document`in window&&`createElement`in document&&(await Promise.resolve().then(()=>require("./dialog-polyfill.esm-B-g35ove.cjs")).then(e=>e.default)).registerDialog(this.dialogRef.value),this.dialogRef.value.addEventListener(`close`,()=>{this.close(new Event(`close`),!0)}))}handleKeyDown(e){e.key===`Escape`&&this.close(e)}handleBackdropClick(e){this.closeOnBackdropClick&&e.target===this.dialogRef?.value&&this.close(e)}isElementInViewport(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}render(){let a={"pkt-modal":!0,"pkt-modal--removePadding":this.removePadding??!1,"pkt-modal--noHeadingText":this.headingText===``||this.headingText===void 0,"pkt-modal--noShadow":this.closeButtonSkin===`yellow-filled`,"pkt-modal--transparentBackdrop":this.transparentBackdrop??!1,[`pkt-modal--${this.size}`]:this.size!==void 0,[`pkt-modal__${this.variant}`]:this.variant!==void 0,[`pkt-modal__drawer--${this.drawerPosition}`]:this.variant===`drawer`},o={"pkt-modal__headingText":!0,"pkt-txt-24":!0,"pkt-modal__headingText--hasIcon":!!this.headingIconName},s=this.headingIconName?e._`<pkt-icon
1
+ const e=require("./element-C6WTyJFE.cjs"),t=require("./class-map-Bh6toDeV.cjs"),n=require("./element-with-slot-DkyaNnm0.cjs");require("./icon-jPhyZD1z.cjs");const r=require("./if-defined-CiML3MTM.cjs"),i=require("./ref-CB7e9nMY.cjs"),a=require("./utils-63cRpWut.cjs"),o=require("./scroll-lock-x0VxhKWZ.cjs");var s={name:`pkt-modal`,react:`PktModal`,"css-class":`pkt-modal`,isElement:!0,isPureReact:!0,events:{"background-click":{description:`Event som trigges når bakgrunnen trykkes på`},close:{description:`Event som trigges når meldingsboksen lukkes`}},props:{open:{name:`Åpen`,description:`Deklarativ styring av modalens åpen/lukket-tilstand. Kan brukes i stedet for showModal()/close()-metodene.`,type:`boolean`,category:`tech`,default:!1},headingText:{name:`Heading text`,description:`Heading tekst på modalen`,type:`string`,category:`contents`},headingIconName:{name:`Ikon i overskriften`,description:`Navn på ikonet som vises foran overskriften. Vises bare når headingText er satt.`,type:`icon`,category:`ui`},headingIconPath:{name:`Ikon-sti for overskriften`,description:`Overstyr stien til ikonet i overskriften. Kan også settes globalt med window.pktIconPath.`,type:`string`,category:`tech`},hideCloseButton:{name:`Gjem 'Lukk'-knapp`,description:`Gjemmer lukkeknappen. Dersom denne er satt til true, vil ikke lukkeknappen vises, og dermed er det viktig at man tilbyr en annen måte som f.eks. en knapp for å lukke modalen på.`,type:`boolean`,category:`ui`,default:!1},closeOnBackdropClick:{name:`Lukk modalen når bakgrunnen trykkes på`,description:`Lukk modalen når bakgrunnen trykkes på`,type:`boolean`,category:`tech`,default:!1},closeButtonSkin:{name:`Stil på lukkeknappen`,description:`Stil på lukkeknappen`,type:[`blue`,`yellow-filled`],category:`ui`,default:`blue`},size:{name:`Størrelse`,description:`Størrelsen på modalen`,type:[`small`,`medium`,`large`,`fit-content`],category:`ui`,default:`medium`},variant:{name:`Variant`,description:`Standard dialog eller skuff`,type:[`dialog`,`drawer`],category:`ui`,default:`dialog`},drawerPosition:{name:`Skuffposisjon`,description:`Posisjonen til skuffen`,type:[`left`,`right`],category:`ui`,default:`right`},transparentBackdrop:{name:`Gjennomsiktig bakgrunn`,description:`Bakgrunnen er gjennomsiktig`,type:`boolean`,category:`ui`,default:!1},removePadding:{name:`Fjern padding`,description:`Fjerner paddingen rundt innholdet i modalen`,type:`boolean`,category:`ui`,default:!1}},slots:{default:{description:`Innholdet i meldingen. Her tilbyr vi støtteklasser for å style 1-3 knapper i modalen.`}}},c=class extends n.t{constructor(){super(),this.open=!1,this.headingText=``,this.removePadding=!1,this.hideCloseButton=s.props.hideCloseButton.default,this.closeOnBackdropClick=s.props.closeOnBackdropClick.default,this.closeButtonSkin=`blue`,this.size=s.props.size.default,this.variant=`dialog`,this.drawerPosition=`right`,this.transparentBackdrop=!1,this.dialogRef=i.t(),this._scrollLockToken=o.t(),this._idSuffix=a.n(),this._headingId=`pkt-modal__headingText-${this._idSuffix}`,this._contentId=`pkt-modal__content-${this._idSuffix}`,this._isOpen=!1,this.close=(e,t=!1)=>{if(!this._isOpen)return;this._isOpen=!1,this.open=!1,o.n(this._scrollLockToken,!1);let n=document.activeElement;n&&!this.isElementInViewport(n)&&n.scrollIntoView({behavior:`smooth`,block:`nearest`}),this.dispatchEvent(new CustomEvent(`close`,{detail:{origin:e},bubbles:!0,composed:!0})),t||this.dialogRef.value?.close(),this.requestUpdate()},this.showModal=(e=null)=>{this._isOpen=!0,this.open=!0,this.dialogRef.value?.showModal(),o.n(this._scrollLockToken,!0),this.dispatchEvent(new CustomEvent(`showModal`,{detail:{origin:e},bubbles:!0,composed:!0})),this.requestUpdate()},this._isOpen=!1}async connectedCallback(){super.connectedCallback(),document.addEventListener(`keydown`,this.handleKeyDown.bind(this)),document.addEventListener(`click`,this.handleBackdropClick.bind(this))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`keydown`,this.handleKeyDown),document.removeEventListener(`click`,this.handleBackdropClick),o.n(this._scrollLockToken,!1)}updated(e){super.updated(e),e.has(`open`)&&(this.open&&!this._isOpen?this.showModal():!this.open&&this._isOpen&&this.close(new Event(`close`),!1))}async firstUpdated(e){super.firstUpdated(e),this.dialogRef.value&&!window.HTMLDialogElement&&!this.dialogRef.value.showModal&&(`document`in window&&`createElement`in document&&(await Promise.resolve().then(()=>require("./dialog-polyfill.esm-CW51hN2p.cjs")).then(e=>e.default)).registerDialog(this.dialogRef.value),this.dialogRef.value.addEventListener(`close`,()=>{this.close(new Event(`close`),!0)}))}handleKeyDown(e){e.key===`Escape`&&this.close(e)}handleBackdropClick(e){this.closeOnBackdropClick&&e.target===this.dialogRef?.value&&this.close(e)}isElementInViewport(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}render(){let a={"pkt-modal":!0,"pkt-modal--removePadding":this.removePadding??!1,"pkt-modal--noHeadingText":this.headingText===``||this.headingText===void 0,"pkt-modal--noShadow":this.closeButtonSkin===`yellow-filled`,"pkt-modal--transparentBackdrop":this.transparentBackdrop??!1,[`pkt-modal--${this.size}`]:this.size!==void 0,[`pkt-modal__${this.variant}`]:this.variant!==void 0,[`pkt-modal__drawer--${this.drawerPosition}`]:this.variant===`drawer`},o={"pkt-modal__headingText":!0,"pkt-txt-24":!0,"pkt-modal__headingText--hasIcon":!!this.headingIconName},s=this.headingIconName?e._`<pkt-icon
2
2
  class="pkt-modal__headingIcon"
3
3
  name=${this.headingIconName}
4
4
  path=${r.t(this.headingIconPath)}
@@ -1,11 +1,11 @@
1
- import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-DBugHPKM.js";
2
- import { t as o } from "./class-map-Bf-QzUpN.js";
3
- import { i as s, t as c } from "./element-with-slot-CVmm0_IE.js";
4
- import "./icon-Bao96Zb8.js";
5
- import { t as l } from "./if-defined-O59_I-e-.js";
6
- import { n as u, t as d } from "./ref-y_5qv9vU.js";
1
+ import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-ckeMVgMz.js";
2
+ import { t as o } from "./class-map-BkEYw5uE.js";
3
+ import { i as s, t as c } from "./element-with-slot-C0bH0T0H.js";
4
+ import "./icon-CLMJYuTL.js";
5
+ import { t as l } from "./if-defined-D18nY_K_.js";
6
+ import { n as u, t as d } from "./ref-D4OwQYdf.js";
7
7
  import { n as f } from "./utils-BwF4QSrq.js";
8
- import { n as p, t as m } from "./scroll-lock-BALd8hF9.js";
8
+ import { n as p, t as m } from "./scroll-lock-CR-g54ai.js";
9
9
  var h = {
10
10
  name: "pkt-modal",
11
11
  react: "PktModal",
@@ -137,7 +137,7 @@ var h = {
137
137
  super.updated(e), e.has("open") && (this.open && !this._isOpen ? this.showModal() : !this.open && this._isOpen && this.close(new Event("close"), !1));
138
138
  }
139
139
  async firstUpdated(e) {
140
- super.firstUpdated(e), this.dialogRef.value && !window.HTMLDialogElement && !this.dialogRef.value.showModal && ("document" in window && "createElement" in document && (await import("./dialog-polyfill.esm-DHSvqor8.js").then((e) => e.default)).registerDialog(this.dialogRef.value), this.dialogRef.value.addEventListener("close", () => {
140
+ super.firstUpdated(e), this.dialogRef.value && !window.HTMLDialogElement && !this.dialogRef.value.showModal && ("document" in window && "createElement" in document && (await import("./dialog-polyfill.esm-D39dWbRt.js").then((e) => e.default)).registerDialog(this.dialogRef.value), this.dialogRef.value.addEventListener("close", () => {
141
141
  this.close(new Event("close"), !0);
142
142
  }));
143
143
  }
@@ -0,0 +1,23 @@
1
+ const e=require("./element-C6WTyJFE.cjs"),t=require("./element-with-slot-DkyaNnm0.cjs"),n=require("./booleanish-BF8l4scU.cjs");require("./input-wrapper-4PTk8aX3.cjs");const r=require("./utils-63cRpWut.cjs");var i={layout:`vertical`,inputSize:`medium`,hasTile:!1,required:!1,disabled:!1,hasError:!1,useWrapper:!0,requiredTag:!1,optionalTag:!1},a=[`change`,`input`,`value-change`,`focus`,`blur`];function o(e){return e.checked===void 0?e.hasAttribute(`checked`):e.checked===!0||e.checked===``||e.checked===`true`}function s(e){return(typeof e.value==`string`?e.value:e.getAttribute(`value`))||`on`}function c(e){return e.hasAttribute(`disabled`)||e.matches(`:disabled`)}var l=class extends t.t{get groupName(){return this.name||this.id||this.generatedId}options(){return Array.from(this.querySelectorAll(this.optionSelector))}createGroupContext(){return{name:this.groupName,hasTile:this.hasTile,hasError:this.hasError}}syncValidity(){}constructor(){super(),this.name=``,this.label=``,this.helptext=``,this.helptextDropdown=``,this.helptextDropdownButton=null,this.hasError=i.hasError,this.errorMessage=``,this.disabled=i.disabled,this.required=i.required,this.hasTile=i.hasTile,this.layout=i.layout,this.inputSize=i.inputSize,this.useWrapper=i.useWrapper,this.optionalTag=i.optionalTag,this.requiredTag=i.requiredTag,this.tagText=null,this.generatedId=r.n(),this.knownOptions=new Set,this.resetForm=null,this.handleFormReset=()=>{setTimeout(()=>{this.hasStoredValue&&this.storeCurrentValue(),this.syncValidity()})},this.relayOptionEvent=e=>{let t=e.target;if(!t||t===this||!t.matches(this.optionSelector))return;e.stopImmediatePropagation();let n={bubbles:!0,composed:!0};e.type===`change`?(this.storeCurrentValue(),this.syncValidity(),this.dispatchEvent(new Event(`change`,n))):e.type===`input`?this.dispatchEvent(new InputEvent(`input`,n)):e.type===`value-change`&&this.dispatchEvent(new CustomEvent(`value-change`,{...n,detail:this.value}))},this.handleFocusIn=e=>{this.contains(e.relatedTarget)||this.dispatchEvent(new FocusEvent(`focus`,{bubbles:!0,composed:!0,relatedTarget:e.relatedTarget}))},this.handleFocusOut=e=>{this.contains(e.relatedTarget)||this.dispatchEvent(new FocusEvent(`blur`,{bubbles:!0,composed:!0,relatedTarget:e.relatedTarget}))};for(let e of a)this.addEventListener(e,this.relayOptionEvent);this.addEventListener(`focusin`,this.handleFocusIn),this.addEventListener(`focusout`,this.handleFocusOut)}disconnectedCallback(){super.disconnectedCallback(),this.watchFormReset(null)}focus(e){let t=this.options();(t.find(e=>o(e)&&!c(e))??t.find(e=>!c(e)))?.querySelector(`input`)?.focus(e)}willUpdate(e){super.willUpdate(e);let t=this.createGroupContext(),n=this.groupContext;(!n||Object.keys(t).some(e=>t[e]!==n[e]))&&(this.groupContext=t)}updated(e){super.updated(e);let t=this.options(),n=t.filter(e=>!this.knownOptions.has(e));this.knownOptions=new Set(t),this.hasStoredValue&&n.length&&this.applyStoredValue(n),this.syncValidity(),this.watchFormReset(t[0]?.form??null)}watchFormReset(e){e!==this.resetForm&&(this.resetForm?.removeEventListener(`reset`,this.handleFormReset),this.resetForm=e,this.resetForm?.addEventListener(`reset`,this.handleFormReset))}render(){return e._`
2
+ <pkt-input-wrapper
3
+ ${t.n(this,[null,`helptext`])}
4
+ .strings=${this.strings}
5
+ label=${this.label}
6
+ hasFieldset
7
+ ?disabled=${this.disabled}
8
+ ?hasError=${this.hasError}
9
+ ?optionalTag=${this.optionalTag}
10
+ ?requiredTag=${this.requiredTag}
11
+ useWrapper=${this.useWrapper}
12
+ .errorMessage=${this.errorMessage}
13
+ .forId=${this.id||this.generatedId}
14
+ .helptext=${this.helptext}
15
+ .helptextDropdown=${this.helptextDropdown}
16
+ .helptextDropdownButton=${this.helptextDropdownButton}
17
+ .layout=${this.layout}
18
+ .optionalText=${this.optionalText}
19
+ .requiredText=${this.requiredText}
20
+ .tagText=${this.tagText}
21
+ .size=${this.inputSize}
22
+ ></pkt-input-wrapper>
23
+ `}};e.n([e.u({type:String})],l.prototype,`name`,void 0),e.n([e.u({type:String})],l.prototype,`label`,void 0),e.n([e.u({type:String})],l.prototype,`helptext`,void 0),e.n([e.u({type:String})],l.prototype,`helptextDropdown`,void 0),e.n([e.u({type:String})],l.prototype,`helptextDropdownButton`,void 0),e.n([e.u({type:Boolean})],l.prototype,`hasError`,void 0),e.n([e.u({type:String})],l.prototype,`errorMessage`,void 0),e.n([e.u({type:Boolean})],l.prototype,`disabled`,void 0),e.n([e.u({type:Boolean})],l.prototype,`required`,void 0),e.n([e.u({type:Boolean})],l.prototype,`hasTile`,void 0),e.n([e.u({type:String})],l.prototype,`layout`,void 0),e.n([e.u({type:String,attribute:`input-size`})],l.prototype,`inputSize`,void 0),e.n([e.u({type:Boolean,converter:n.t})],l.prototype,`useWrapper`,void 0),e.n([e.u({type:Boolean})],l.prototype,`optionalTag`,void 0),e.n([e.u({type:String})],l.prototype,`optionalText`,void 0),e.n([e.u({type:Boolean})],l.prototype,`requiredTag`,void 0),e.n([e.u({type:String})],l.prototype,`requiredText`,void 0),e.n([e.u({type:String})],l.prototype,`tagText`,void 0),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}});
@@ -1,8 +1,8 @@
1
- import { _ as e, n as t, u as n } from "./element-DBugHPKM.js";
2
- import { n as r, t as i } from "./element-with-slot-CVmm0_IE.js";
1
+ import { _ as e, n as t, u as n } from "./element-ckeMVgMz.js";
2
+ import { n as r, t as i } from "./element-with-slot-C0bH0T0H.js";
3
3
  import { t as a } from "./booleanish-OQJTYSrw.js";
4
+ import "./input-wrapper-BSjQc4Vx.js";
4
5
  import { n as o } from "./utils-BwF4QSrq.js";
5
- import "./input-wrapper-xRJo_iVf.js";
6
6
  //#region ../../shared-types/option-group.ts
7
7
  var s = {
8
8
  layout: "vertical",
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./accordion-DukAa2ED.cjs");exports.PktAccordion=e.r,exports.PktAccordionItem=e.n,exports.default=e.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./accordion-Cx-Gh3hc.cjs");exports.PktAccordion=e.r,exports.PktAccordionItem=e.n,exports.default=e.t;
@@ -1,2 +1 @@
1
- import { n as e, r as t, t as n } from "./accordion-BlsqYbJf.js";
2
- export { t as PktAccordion, e as PktAccordionItem, n as default };
1
+ export { r as PktAccordion, n as PktAccordionItem, t as default } from "./accordion-B0zAUNUV.js";
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./alert-CuXM6TnC.cjs");exports.PktAlert=e.n,exports.default=e.t;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./alert-BRZDpVMt.cjs");exports.PktAlert=e.n,exports.default=e.t;
package/dist/pkt-alert.js CHANGED
@@ -1,2 +1 @@
1
- import { n as e, t } from "./alert-Xt26J9yX.js";
2
- export { e as PktAlert, t as default };
1
+ export { n as PktAlert, t as default } from "./alert-JnRrtTOW.js";
@@ -1,2 +1 @@
1
- import { n as e, t } from "./backlink-ogvv493Y.js";
2
- export { e as PktBackLink, t as default };
1
+ export { n as PktBackLink, t as default } from "./backlink-D8Rv46lA.js";