@oslokommune/punkt-elements 17.1.2 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/{accordion-BeLvLPrB.js → accordion-1_pdxTgJ.js} +27 -27
  3. package/dist/{accordion-B3GBlvUC.cjs → accordion-DobbH-Sv.cjs} +5 -5
  4. package/dist/{alert-Cs4Rmq_J.cjs → alert-COeHz6o2.cjs} +6 -6
  5. package/dist/{alert-DKK_Tb9J.js → alert-xspFetQ8.js} +26 -26
  6. package/dist/{async-directive-Da7TJpnq.cjs → async-directive-B5pcIMfO.cjs} +1 -1
  7. package/dist/{async-directive-BPf6K-V2.js → async-directive-D2Sht790.js} +5 -5
  8. package/dist/{backlink-D1y26pj3.js → backlink-C0jZFnZ2.js} +8 -8
  9. package/dist/{backlink-CMmrKTe4.cjs → backlink-ZMhqHaVs.cjs} +3 -3
  10. package/dist/base-elements/element.d.ts +13 -1
  11. package/dist/base-elements/input-element.d.ts +4 -2
  12. package/dist/{breadcrumbs-B6JGhJgC.cjs → breadcrumbs-BS64xd1s.cjs} +7 -7
  13. package/dist/{breadcrumbs-CcTQ3Grm.js → breadcrumbs-BvMownZN.js} +16 -16
  14. package/dist/{button-2-OSPJkj.js → button-C44vNLFC.js} +28 -28
  15. package/dist/{button-CE97NQIk.cjs → button-CR4CXtnj.cjs} +7 -7
  16. package/dist/{calendar-kn4SrtJy.cjs → calendar-DQ4byeom.cjs} +28 -27
  17. package/dist/{calendar-pOW3R5Pw.js → calendar-DgjCKMMV.js} +82 -68
  18. package/dist/{card-zQ0eKRMV.js → card-DhHqC265.js} +44 -44
  19. package/dist/{card-CETDFkxR.cjs → card-Dpqi6HVt.cjs} +26 -26
  20. package/dist/{checkbox-CH7NpINF.js → checkbox-BQ1K57AB.js} +23 -23
  21. package/dist/{checkbox-CQNr_sEg.cjs → checkbox-CXQxbiaX.cjs} +11 -11
  22. package/dist/{class-map-BeimMvPv.cjs → class-map-CzCE5pqG.cjs} +1 -1
  23. package/dist/{class-map-CnWCnBSX.js → class-map-F1DJHyb7.js} +3 -3
  24. package/dist/{combobox-Bvg0UO9w.cjs → combobox-BV4oDiII.cjs} +19 -18
  25. package/dist/{combobox-CRdYYlxu.js → combobox-DPck39I2.js} +55 -54
  26. package/dist/components/calendar/calendar.d.ts +21 -6
  27. package/dist/components/checkbox/checkbox.d.ts +4 -2
  28. package/dist/components/combobox/combobox-base.d.ts +2 -1
  29. package/dist/components/consent/strings.d.ts +1 -85
  30. package/dist/components/datepicker/datepicker-base.d.ts +0 -3
  31. package/dist/components/datepicker/datepicker-multiple.d.ts +0 -2
  32. package/dist/components/datepicker/datepicker-range.d.ts +0 -2
  33. package/dist/components/datepicker/datepicker-single.d.ts +0 -2
  34. package/dist/components/datepicker/datepicker-utils.d.ts +2 -1
  35. package/dist/components/fileupload/fileupload-base.d.ts +3 -2
  36. package/dist/components/header/header-service.d.ts +3 -1
  37. package/dist/components/header/header.d.ts +2 -1
  38. package/dist/components/helptext/helptext.d.ts +2 -1
  39. package/dist/components/index.d.ts +2 -0
  40. package/dist/components/input-wrapper/input-wrapper.d.ts +4 -2
  41. package/dist/components/radiobutton/radiobutton.d.ts +4 -2
  42. package/dist/components/searchinput/searchinput.d.ts +2 -1
  43. package/dist/{consent-DZEkhgJ1.js → consent-BneInZov.js} +10 -10
  44. package/dist/{consent-CyY3RyoC.cjs → consent-_N9foluG.cjs} +5 -5
  45. package/dist/controllers/strings-controller.d.ts +27 -0
  46. package/dist/{datepicker-VTqSDQk5.cjs → datepicker-9NX5qt2z.cjs} +38 -37
  47. package/dist/{datepicker-ButIas85.js → datepicker-nSSSr1U7.js} +104 -104
  48. package/dist/{directive-helpers-CI8YZqku.js → directive-helpers-BARw3nEZ.js} +1 -1
  49. package/dist/{directive-helpers-BlAV5EQD.cjs → directive-helpers-D6AAMFKs.cjs} +1 -1
  50. package/dist/docs/components/fileupload.d.ts +1 -0
  51. package/dist/element-B8OGznK0.cjs +2 -0
  52. package/dist/{element-ChsFgr_B.js → element-BKSPVgs2.js} +240 -100
  53. package/dist/{element-with-slot-Bj7nm7fO.cjs → element-with-slot-DTxILHVv.cjs} +1 -1
  54. package/dist/{element-with-slot-BvG9ctC-.js → element-with-slot-YUAUFRqw.js} +4 -4
  55. package/dist/fileupload-D05VSbEP.cjs +402 -0
  56. package/dist/{fileupload-D5IQ9HDe.js → fileupload-E0LGGNgj.js} +370 -380
  57. package/dist/{footer-DbYQUYNR.cjs → footer-DBApIdGh.cjs} +32 -32
  58. package/dist/{footer-DrR64HiK.js → footer-DYilVBMC.js} +91 -91
  59. package/dist/format-B8meU8Tm.cjs +1 -0
  60. package/dist/format-BTeSVkED.js +18 -0
  61. package/dist/{header-ClgIac6n.cjs → header-B7tbX-Ok.cjs} +84 -84
  62. package/dist/{header-menu-BAsUNKSx.cjs → header-menu-1FFWhvNc.cjs} +24 -24
  63. package/dist/{header-menu-hVPXsb8g.js → header-menu-D522-VTV.js} +75 -75
  64. package/dist/{header-KvJ1mGwA.js → header-v3GWAzOK.js} +267 -264
  65. package/dist/{heading-CFmiSuCQ.cjs → heading-CvytvcL7.cjs} +1 -1
  66. package/dist/{heading-g-_IUB5T.js → heading-rx_oSCqe.js} +16 -16
  67. package/dist/helptext-DYFdcylX.cjs +27 -0
  68. package/dist/{helptext-DZng1D5i.js → helptext-LShGPm-b.js} +18 -19
  69. package/dist/{icon-9iwd2F2l.cjs → icon-BmMC09mi.cjs} +1 -1
  70. package/dist/{icon-D-LA22xD.js → icon-HYU1f54x.js} +17 -17
  71. package/dist/{if-defined-CGzIlZ9-.js → if-defined-BF8XcDi5.js} +1 -1
  72. package/dist/if-defined-CVYApOgK.cjs +1 -0
  73. package/dist/{input-element-DBMNBplu.js → input-element-D07DmR34.js} +121 -120
  74. package/dist/input-element-DumGj_oJ.cjs +1 -0
  75. package/dist/input-wrapper-Cci_wTvD.js +308 -0
  76. package/dist/input-wrapper-DDfapoRX.cjs +58 -0
  77. package/dist/{link-DK7gvmnj.cjs → link-11g2ZNin.cjs} +4 -4
  78. package/dist/{link-D-Eqm5KH.js → link-CQK0SH4H.js} +13 -13
  79. package/dist/{linkcard-zqbg7Oqm.js → linkcard-B4GlmjJ6.js} +16 -16
  80. package/dist/linkcard-DNYsVlV6.cjs +13 -0
  81. package/dist/{listbox-Dc4rGdPi.cjs → listbox-BlFRhyI7.cjs} +15 -15
  82. package/dist/{listbox-va_E8afs.js → listbox-wd_OofyF.js} +100 -99
  83. package/dist/{loader-D_RDICnw.js → loader-0C3qVk16.js} +14 -14
  84. package/dist/{loader-CMUkVJmE.cjs → loader-B9u2qUlR.cjs} +5 -5
  85. package/dist/{messagebox-Cv8LaSxv.cjs → messagebox-BD5tGmT-.cjs} +5 -5
  86. package/dist/{messagebox-Cw-OWDya.js → messagebox-C-y1ICmr.js} +15 -15
  87. package/dist/{modal-BtInv031.cjs → modal-BzPGQYCs.cjs} +8 -8
  88. package/dist/{modal-D0t_X2dX.js → modal-Cghs3w-d.js} +20 -20
  89. package/dist/pkt-accordion.cjs +1 -1
  90. package/dist/pkt-accordion.js +1 -1
  91. package/dist/pkt-alert.cjs +1 -1
  92. package/dist/pkt-alert.js +1 -1
  93. package/dist/pkt-backlink.cjs +1 -1
  94. package/dist/pkt-backlink.js +1 -1
  95. package/dist/pkt-breadcrumbs.cjs +1 -1
  96. package/dist/pkt-breadcrumbs.js +1 -1
  97. package/dist/pkt-button.cjs +1 -1
  98. package/dist/pkt-button.js +1 -1
  99. package/dist/pkt-calendar.cjs +1 -1
  100. package/dist/pkt-calendar.js +1 -1
  101. package/dist/pkt-card.cjs +1 -1
  102. package/dist/pkt-card.js +1 -1
  103. package/dist/pkt-checkbox.cjs +1 -1
  104. package/dist/pkt-checkbox.js +1 -1
  105. package/dist/pkt-combobox.cjs +1 -1
  106. package/dist/pkt-combobox.js +1 -1
  107. package/dist/pkt-consent.cjs +1 -1
  108. package/dist/pkt-consent.js +1 -1
  109. package/dist/pkt-datepicker.cjs +1 -1
  110. package/dist/pkt-datepicker.js +1 -1
  111. package/dist/pkt-fileupload.cjs +1 -1
  112. package/dist/pkt-fileupload.js +1 -1
  113. package/dist/pkt-footer.cjs +1 -1
  114. package/dist/pkt-footer.js +1 -1
  115. package/dist/pkt-header-menu.cjs +1 -1
  116. package/dist/pkt-header-menu.js +1 -1
  117. package/dist/pkt-header.cjs +1 -1
  118. package/dist/pkt-header.js +1 -1
  119. package/dist/pkt-heading.cjs +1 -1
  120. package/dist/pkt-heading.js +1 -1
  121. package/dist/pkt-helptext.cjs +1 -1
  122. package/dist/pkt-helptext.js +1 -1
  123. package/dist/pkt-icon.cjs +1 -1
  124. package/dist/pkt-icon.js +1 -1
  125. package/dist/pkt-index.cjs +1 -1
  126. package/dist/pkt-index.js +35 -34
  127. package/dist/pkt-input-wrapper.cjs +1 -1
  128. package/dist/pkt-input-wrapper.js +1 -1
  129. package/dist/pkt-link.cjs +1 -1
  130. package/dist/pkt-link.js +1 -1
  131. package/dist/pkt-linkcard.cjs +1 -1
  132. package/dist/pkt-linkcard.js +1 -1
  133. package/dist/pkt-listbox.cjs +1 -1
  134. package/dist/pkt-listbox.js +1 -1
  135. package/dist/pkt-loader.cjs +1 -1
  136. package/dist/pkt-loader.js +1 -1
  137. package/dist/pkt-messagebox.cjs +1 -1
  138. package/dist/pkt-messagebox.js +1 -1
  139. package/dist/pkt-modal.cjs +1 -1
  140. package/dist/pkt-modal.js +1 -1
  141. package/dist/{pkt-options-controller-C5EBX2T0.cjs → pkt-options-controller-CEEAqXaB.cjs} +1 -1
  142. package/dist/{pkt-options-controller-B77vH3PE.js → pkt-options-controller-PtjhmTGk.js} +1 -1
  143. package/dist/pkt-progressbar.cjs +1 -1
  144. package/dist/pkt-progressbar.js +1 -1
  145. package/dist/pkt-radiobutton.cjs +1 -1
  146. package/dist/pkt-radiobutton.js +1 -1
  147. package/dist/pkt-searchinput.cjs +1 -1
  148. package/dist/pkt-searchinput.js +1 -1
  149. package/dist/pkt-select.cjs +1 -1
  150. package/dist/pkt-select.js +1 -1
  151. package/dist/pkt-tabs.cjs +1 -1
  152. package/dist/pkt-tabs.js +1 -1
  153. package/dist/pkt-tag.cjs +1 -1
  154. package/dist/pkt-tag.js +1 -1
  155. package/dist/pkt-textarea.cjs +1 -1
  156. package/dist/pkt-textarea.js +1 -1
  157. package/dist/pkt-textinput.cjs +1 -1
  158. package/dist/pkt-textinput.js +1 -1
  159. package/dist/pkt-timepicker.cjs +1 -1
  160. package/dist/pkt-timepicker.js +1 -1
  161. package/dist/{progressbar-CbcfLerF.js → progressbar-BexQQw1o.js} +21 -21
  162. package/dist/{progressbar-D5MmnQId.cjs → progressbar-X9mSvpjw.cjs} +5 -5
  163. package/dist/{radiobutton-BUnf3EPi.js → radiobutton-CkhTasn4.js} +24 -24
  164. package/dist/{radiobutton-DpsO1F-8.cjs → radiobutton-ln29Ad3U.cjs} +8 -8
  165. package/dist/{ref-CQoEIIp0.cjs → ref-CHbJYtKE.cjs} +1 -1
  166. package/dist/{ref-CWD6PjVd.js → ref-Chc_DZAb.js} +2 -2
  167. package/dist/{repeat-sY6B7fAT.cjs → repeat-CHDs__rN.cjs} +1 -1
  168. package/dist/{repeat-C02g7d5S.js → repeat-P9SMlKd5.js} +4 -4
  169. package/dist/searchinput-CPgMEAZZ.cjs +60 -0
  170. package/dist/{searchinput-DwnjsvJ1.js → searchinput-Da7dKHBH.js} +43 -43
  171. package/dist/{select-BOJi6H6T.cjs → select-DCuvdAuK.cjs} +4 -3
  172. package/dist/{select-DMre80qs.js → select-jabMSjft.js} +21 -20
  173. package/dist/shared-strings/consent.d.ts +71 -0
  174. package/dist/shared-strings/format.d.ts +21 -0
  175. package/dist/shared-strings/index.d.ts +14 -0
  176. package/dist/shared-strings/nb.d.ts +118 -0
  177. package/dist/shared-strings/resolve.d.ts +12 -0
  178. package/dist/shared-strings/store.d.ts +27 -0
  179. package/dist/shared-strings/types.d.ts +29 -0
  180. package/dist/shared-types/fileupload.d.ts +0 -27
  181. package/dist/shared-types/index.d.ts +1 -2
  182. package/dist/shared-utils/combobox/index.d.ts +1 -0
  183. package/dist/shared-utils/combobox/input-utils.d.ts +2 -1
  184. package/dist/shared-utils/combobox/messages.d.ts +7 -0
  185. package/dist/shared-utils/combobox/option-utils.d.ts +2 -1
  186. package/dist/shared-utils/combobox/selection-manager.d.ts +3 -2
  187. package/dist/{tabs-Cf9ai0FD.cjs → tabs-DV5CQNDL.cjs} +7 -7
  188. package/dist/{tabs-TvxgbrCF.js → tabs-D_hoi1zu.js} +32 -32
  189. package/dist/tag-BxYulmZn.cjs +27 -0
  190. package/dist/{tag-Ds6n1LIs.js → tag-DK5SgKry.js} +33 -32
  191. package/dist/tests/strings-override.test.d.ts +0 -0
  192. package/dist/{textarea-vfzIcXhX.js → textarea-BR7Riace.js} +30 -29
  193. package/dist/{textarea-BydiLM9Z.cjs → textarea-ffBD_VHq.cjs} +3 -2
  194. package/dist/{textinput-CMP2jPP_.js → textinput-CRNrsRNV.js} +28 -27
  195. package/dist/{textinput-DGdicNSx.cjs → textinput-CtHFzAux.cjs} +13 -12
  196. package/dist/timepicker-AfgJipo6.cjs +196 -0
  197. package/dist/{timepicker-ClwgYywH.js → timepicker-ixs_E5RY.js} +67 -64
  198. package/package.json +3 -3
  199. package/src/components/backlink/backlink.ts +1 -1
  200. package/src/components/breadcrumbs/breadcrumbs.ts +1 -1
  201. package/src/components/calendar/calendar.ts +56 -26
  202. package/src/components/checkbox/checkbox.test.ts +0 -2
  203. package/src/components/checkbox/checkbox.ts +8 -4
  204. package/src/components/combobox/combobox-base.ts +2 -1
  205. package/src/components/combobox/combobox-value.ts +10 -9
  206. package/src/components/combobox/combobox.selection.test.ts +5 -1
  207. package/src/components/combobox/combobox.ts +4 -1
  208. package/src/components/consent/strings.ts +1 -125
  209. package/src/components/datepicker/date-tags.ts +4 -1
  210. package/src/components/datepicker/datepicker-base.ts +2 -6
  211. package/src/components/datepicker/datepicker-multiple.ts +0 -3
  212. package/src/components/datepicker/datepicker-range.ts +4 -7
  213. package/src/components/datepicker/datepicker-single.ts +0 -3
  214. package/src/components/datepicker/datepicker-utils.test.ts +5 -5
  215. package/src/components/datepicker/datepicker-utils.ts +6 -11
  216. package/src/components/datepicker/datepicker.ts +8 -1
  217. package/src/components/fileupload/fileupload-base.ts +25 -16
  218. package/src/components/fileupload/fileupload-renderers.ts +2 -1
  219. package/src/components/fileupload/fileupload.test.ts +16 -0
  220. package/src/components/fileupload/fileupload.ts +19 -15
  221. package/src/components/header/header-global.ts +3 -3
  222. package/src/components/header/header-service.ts +13 -8
  223. package/src/components/header/header.ts +2 -1
  224. package/src/components/helptext/helptext.test.ts +1 -1
  225. package/src/components/helptext/helptext.ts +3 -3
  226. package/src/components/index.ts +9 -0
  227. package/src/components/input-wrapper/input-wrapper.ts +18 -10
  228. package/src/components/listbox/listbox.ts +3 -3
  229. package/src/components/radiobutton/radiobutton.ts +8 -4
  230. package/src/components/searchinput/searchinput.ts +5 -3
  231. package/src/components/select/select.ts +1 -0
  232. package/src/components/tag/tag.ts +2 -1
  233. package/src/components/textarea/textarea.ts +1 -0
  234. package/src/components/textinput/textinput.ts +1 -0
  235. package/src/components/timepicker/timepicker.ts +23 -21
  236. package/dist/element-BA8v6S7z.cjs +0 -2
  237. package/dist/fileupload-BeWiTAoW.cjs +0 -401
  238. package/dist/helptext-CTtKJcML.cjs +0 -27
  239. package/dist/if-defined-B89_ZeCj.cjs +0 -1
  240. package/dist/input-element-DYmQw-fH.cjs +0 -1
  241. package/dist/input-wrapper-BmxNvznr.js +0 -128
  242. package/dist/input-wrapper-D-fPaTbY.js +0 -176
  243. package/dist/input-wrapper-D5PR0rJn.cjs +0 -1
  244. package/dist/input-wrapper-Q-B-aBeb.cjs +0 -54
  245. package/dist/linkcard-B29cmZqh.cjs +0 -13
  246. package/dist/searchinput-Bh975rjX.cjs +0 -60
  247. package/dist/tag-CzojNU7z.cjs +0 -27
  248. package/dist/timepicker-DYrnLHqN.cjs +0 -195
  249. package/dist/translations/no.json.d.ts +0 -94
@@ -0,0 +1,308 @@
1
+ import { _ as e, d as t, h as n, n as r, u as i } from "./element-BKSPVgs2.js";
2
+ import { t as a } from "./format-BTeSVkED.js";
3
+ import { n as o, t as s } from "./element-with-slot-YUAUFRqw.js";
4
+ import "./alert-xspFetQ8.js";
5
+ import { r as c } from "./icon-HYU1f54x.js";
6
+ import { t as l } from "./if-defined-BF8XcDi5.js";
7
+ import { n as u } from "./utils-BwF4QSrq.js";
8
+ import { t as d } from "./booleanish-OQJTYSrw.js";
9
+ import "./helptext-LShGPm-b.js";
10
+ import { t as f } from "./focus-modality-controller-Dc2S-KqR.js";
11
+ //#region ../../shared-utils/forms/described-by.ts
12
+ var p = (e) => {
13
+ let t = [];
14
+ return e.hasHelptext && t.push(`${e.id}-helptext`), e.hasCounter && t.push(`${e.id}-counter-status`), e.ariaDescribedby && t.push(e.ariaDescribedby), t.length ? t.join(" ") : void 0;
15
+ }, m = (e) => `${e}-counter-status`, h = (e, t) => !!t && t > 0 && (e ?? 0) > t, g = {
16
+ name: "pkt-input-wrapper",
17
+ react: "PktInputWrapper",
18
+ "css-class": "pkt-inputwrapper",
19
+ isElement: !0,
20
+ isPureReact: !0,
21
+ events: { toggleHelpText: { description: "Event for å vise eller skjule hjelpetekst i dropdown" } },
22
+ slots: { default: { description: "Innholdet i input-wrapperen, som kan være et skjemaelement eller en annen komponent" } },
23
+ props: {
24
+ forId: {
25
+ name: "For ID",
26
+ description: "Id-en til skjemaelementet som dette wrapper rundt",
27
+ type: "string",
28
+ required: !0,
29
+ category: "tech"
30
+ },
31
+ label: {
32
+ name: "Merkelapp",
33
+ description: "Merkelapp for skjemaelementet",
34
+ type: "string",
35
+ required: !0,
36
+ category: "contents"
37
+ },
38
+ helptext: {
39
+ name: "Hjelpetekst",
40
+ description: "Hjelpetekst for skjemaelementet",
41
+ type: "string",
42
+ category: "contents"
43
+ },
44
+ helptextDropdown: {
45
+ name: "Hjelpetekst i dropdown",
46
+ description: "Hjelpetekst som vises i ekspanderende felt",
47
+ type: "string",
48
+ category: "contents"
49
+ },
50
+ helptextDropdownButton: {
51
+ name: "Tekst i hjelpetekst-knapp",
52
+ description: "Tekst som vises i knappen for å vise hjelpetekst i dropdown",
53
+ default: "Les mer <span class='pkt-sr-only'>om feltet</span>",
54
+ type: "string",
55
+ category: "contents"
56
+ },
57
+ ariaDescribedby: {
58
+ name: "aria-describedby",
59
+ description: "Id-en til elementet som beskriver skjemaelementet",
60
+ type: "string",
61
+ category: "accessibility"
62
+ },
63
+ counter: {
64
+ name: "Teller",
65
+ description: "Teller for antall tegn i skjemaelementet",
66
+ type: "boolean",
67
+ default: !1,
68
+ category: "ui"
69
+ },
70
+ counterCurrent: {
71
+ name: "Tellerverdi",
72
+ description: "Tellerens nåværende verdi",
73
+ type: "number",
74
+ category: "ui",
75
+ showIf: { counter: !0 }
76
+ },
77
+ counterMaxLength: {
78
+ name: "Maks tegn i teller",
79
+ description: "Maks antall tegn som kan skrives i skjemaelementet",
80
+ type: "number",
81
+ category: "ui",
82
+ showIf: { counter: !0 }
83
+ },
84
+ counterPosition: {
85
+ name: "Tellerplassering",
86
+ description: "Telleren sin plassering i forhold til elementet",
87
+ type: ["top", "bottom"],
88
+ default: "bottom",
89
+ category: "ui",
90
+ showIf: { counter: !0 }
91
+ },
92
+ optionalTag: {
93
+ name: "Vise valgfritt-merking",
94
+ description: "Viser en merking som indikerer at feltet er valgfritt",
95
+ type: "boolean",
96
+ default: !1,
97
+ category: "ui"
98
+ },
99
+ optionalText: {
100
+ name: "Valgfritt-tekst",
101
+ description: "Tekst som vises i valgfritt-merkingen",
102
+ type: "string",
103
+ default: "Valgfritt",
104
+ category: "contents"
105
+ },
106
+ requiredTag: {
107
+ name: "Vise påkrevd-merking",
108
+ description: "Viser en merking som indikerer at feltet er påkrevd",
109
+ type: "boolean",
110
+ default: !1,
111
+ category: "ui"
112
+ },
113
+ requiredText: {
114
+ name: "Påkrevd-tekst",
115
+ description: "Tekst som vises i påkrevd-merkingen",
116
+ type: "string",
117
+ default: "Må fylles ut",
118
+ category: "contents"
119
+ },
120
+ tagText: {
121
+ type: "string",
122
+ name: "Tag-tekst",
123
+ description: "Tekst som vises i en tag ved siden av label",
124
+ category: "ui"
125
+ },
126
+ hasError: {
127
+ name: "Feil",
128
+ description: "Indikerer at skjemaelementet har en feil",
129
+ type: "boolean",
130
+ default: !1,
131
+ category: "ui"
132
+ },
133
+ errorMessage: {
134
+ name: "Feilmelding",
135
+ description: "Feilmelding som vises når skjemaelementet har en feil",
136
+ type: "string",
137
+ category: "contents"
138
+ },
139
+ disabled: {
140
+ name: "Deaktivert",
141
+ description: "Indikerer at skjemaelementet er deaktivert",
142
+ type: "boolean",
143
+ default: !1,
144
+ category: "tech"
145
+ },
146
+ inline: {
147
+ name: "Inline",
148
+ description: "Indikerer at skjemaelementet skal flyte sammen med sidens innhold",
149
+ type: "boolean",
150
+ default: !1,
151
+ category: "ui"
152
+ },
153
+ hasFieldset: {
154
+ name: "Er fieldset",
155
+ description: "Indikerer at innholdet er et fieldset",
156
+ type: "boolean",
157
+ default: !1,
158
+ category: "ui"
159
+ },
160
+ useWrapper: {
161
+ name: "Bruk wrapper",
162
+ description: "Indikerer om skjemaelementet skal bruke en wrapper",
163
+ type: "boolean",
164
+ displayAsFalse: !0,
165
+ default: !0,
166
+ category: "ui"
167
+ },
168
+ role: {
169
+ name: "Rolle",
170
+ description: "ARIA-rolle på wrapperen. Settes ikke som standard. Bruk hasFieldset for reelle grupper.",
171
+ type: "string",
172
+ default: null,
173
+ category: "accessibility"
174
+ },
175
+ size: {
176
+ name: "Størrelse",
177
+ description: "Visuell størrelse. small: kompakt wrapper og felt (42px). xsmall: samme wrapper som small, felt 36px.",
178
+ attribute: "input-wrapper-size",
179
+ type: [
180
+ "small",
181
+ "medium",
182
+ "xsmall"
183
+ ],
184
+ default: "medium",
185
+ category: "ui"
186
+ }
187
+ }
188
+ }, _ = class extends s {
189
+ constructor(...e) {
190
+ super(...e), this.forId = u(), this.label = "", this.helptext = null, this.helptextDropdown = null, this.helptextDropdownButton = null, this.counter = g.props.counter.default, this.counterCurrent = 0, this.counterMaxLength = 0, this.counterError = null, this.counterPosition = "bottom", this.optionalTag = g.props.optionalTag.default, this.requiredTag = g.props.requiredTag.default, this.tagText = null, this.hasError = g.props.hasError.default, this.errorMessage = "", this.disabled = g.props.disabled.default, this.inline = g.props.inline.default, this.ariaDescribedby = void 0, this.hasFieldset = g.props.hasFieldset.default, this.role = null, this.useWrapper = g.props.useWrapper.default, this.size = "medium", this.focusModality = new f(this);
191
+ }
192
+ updated(e) {
193
+ super.updated(e), this.classList.add("pkt-inputwrapper"), this.classList.toggle("pkt-inputwrapper--error", this.hasError), this.classList.toggle("pkt-inputwrapper--disabled", this.disabled), this.classList.toggle("pkt-inputwrapper--inline", this.inline), this.classList.toggle("pkt-inputwrapper--medium", this.size === "medium"), this.classList.toggle("pkt-inputwrapper--small", this.size === "small"), this.classList.toggle("pkt-inputwrapper--xsmall", this.size === "xsmall"), this.role ? this.setAttribute("aria-labelledby", `${this.forId}-label`) : this.removeAttribute("aria-labelledby");
194
+ }
195
+ render() {
196
+ let t = "pkt-tag pkt-tag--small pkt-tag--thin-text", r = this.ariaDescribedby ? this.ariaDescribedby : this.helptext ? `${this.forId}-helptext` : n, i = this.pktStrings.get("forms"), s = () => e`
197
+ ${this.tagText ? e`<span class=${t + " pkt-tag--gray"}>${this.tagText}</span>` : n}
198
+ ${this.optionalTag ? e`<span class=${t + " pkt-tag--blue-light"}
199
+ >${this.optionalText ?? i.optional}</span
200
+ >` : n}
201
+ ${this.requiredTag ? e`<span class=${t + " pkt-tag--beige"}
202
+ >${this.requiredText ?? i.required}</span
203
+ >` : n}
204
+ `, u = () => this.useWrapper ? this.hasFieldset ? e`<legend
205
+ class="pkt-inputwrapper__legend"
206
+ id="${this.forId}-label"
207
+ @click=${this.handleLabelClick}
208
+ >
209
+ ${this.label} ${s()}
210
+ </legend>` : e`<label
211
+ class="pkt-inputwrapper__label"
212
+ for="${this.forId}"
213
+ id="${this.forId}-label"
214
+ @click=${this.handleLabelClick}
215
+ >${this.label}${s()}</label
216
+ >` : e`<label for="${this.forId}" class="pkt-sr-only" id="${this.forId}-label">
217
+ ${this.label}
218
+ </label>`, d = () => e`
219
+ <pkt-helptext
220
+ class="${l(this.useWrapper ? void 0 : "pkt-hide")}"
221
+ .forId=${this.forId}
222
+ .helptext=${this.helptext}
223
+ .helptextDropdown=${this.helptextDropdown}
224
+ .helptextDropdownButton=${this.helptextDropdownButton ?? i.readMore}
225
+ @toggleHelpText=${(e) => {
226
+ this.toggleDropdown(e);
227
+ }}
228
+ >${o(this, "helptext")}</pkt-helptext
229
+ >
230
+ `, f = () => {
231
+ if (!this.counter) return n;
232
+ let t = h(this.counterCurrent, this.counterMaxLength);
233
+ return e`<div class="pkt-input__counter" aria-hidden="true">
234
+ ${this.counterError ? this.counterError : n} ${this.counterCurrent || 0}
235
+ ${this.counterMaxLength ? `/${this.counterMaxLength}` : n}
236
+ </div>
237
+ <div class="pkt-sr-only" id=${m(this.forId)} aria-live="polite">
238
+ ${t ? a(this.pktStrings.get("validation").counterExceeded, {
239
+ current: this.counterCurrent ?? 0,
240
+ max: this.counterMaxLength
241
+ }) : ""}
242
+ </div>`;
243
+ }, p = () => {
244
+ if (this.hasError && this.errorMessage) {
245
+ let t = this.size === "medium" ? "small" : "xsmall";
246
+ return e`<div class="pkt-inputwrapper__alert-wrapper">
247
+ <pkt-alert
248
+ skin="error"
249
+ .size=${t}
250
+ id=${`${this.forId}-error`}
251
+ aria-live="assertive"
252
+ aria-atomic="true"
253
+ >
254
+ ${c(this.errorMessage)}
255
+ </pkt-alert>
256
+ </div>`;
257
+ }
258
+ return n;
259
+ }, g = () => e`
260
+ ${u()}
261
+ ${d()}
262
+ ${this.counterPosition === "top" ? f() : n}
263
+ <div class="pkt-contents">${o(this)}</div>
264
+ ${this.counterPosition === "bottom" ? f() : n}
265
+ ${p()}
266
+ `;
267
+ return this.hasFieldset ? e`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${r}">
268
+ ${g()}
269
+ </fieldset>` : e`<div class="pkt-inputwrapper__fieldset">${g()}</div>`;
270
+ }
271
+ toggleDropdown(e) {
272
+ this.dispatchEvent(new CustomEvent("toggleHelpText", {
273
+ bubbles: !1,
274
+ detail: { isOpen: e.detail.isOpen }
275
+ }));
276
+ }
277
+ handleLabelClick() {
278
+ this.dispatchEvent(new CustomEvent("labelClick", {
279
+ bubbles: !0,
280
+ composed: !0,
281
+ detail: "label clicked"
282
+ }));
283
+ }
284
+ };
285
+ r([i({ type: String })], _.prototype, "forId", void 0), r([i({ type: String })], _.prototype, "label", void 0), r([i({ type: String })], _.prototype, "helptext", void 0), r([i({ type: String })], _.prototype, "helptextDropdown", void 0), r([i({ type: String })], _.prototype, "helptextDropdownButton", void 0), r([i({ type: Boolean })], _.prototype, "counter", void 0), r([i({ type: Number })], _.prototype, "counterCurrent", void 0), r([i({ type: Number })], _.prototype, "counterMaxLength", void 0), r([i({ type: String })], _.prototype, "counterError", void 0), r([i({
286
+ type: String,
287
+ reflect: !1
288
+ })], _.prototype, "counterPosition", void 0), r([i({ type: Boolean })], _.prototype, "optionalTag", void 0), r([i({ type: String })], _.prototype, "optionalText", void 0), r([i({ type: Boolean })], _.prototype, "requiredTag", void 0), r([i({ type: String })], _.prototype, "requiredText", void 0), r([i({ type: String })], _.prototype, "tagText", void 0), r([i({ type: Boolean })], _.prototype, "hasError", void 0), r([i({ type: String })], _.prototype, "errorMessage", void 0), r([i({ type: Boolean })], _.prototype, "disabled", void 0), r([i({ type: Boolean })], _.prototype, "inline", void 0), r([i({ type: String })], _.prototype, "ariaDescribedby", void 0), r([i({ type: Boolean })], _.prototype, "hasFieldset", void 0), r([i({
289
+ type: String,
290
+ reflect: !0
291
+ })], _.prototype, "role", void 0), r([i({
292
+ type: Boolean,
293
+ reflect: !0,
294
+ converter: d
295
+ })], _.prototype, "useWrapper", void 0), r([i({
296
+ type: String,
297
+ attribute: "input-wrapper-size"
298
+ })], _.prototype, "size", void 0);
299
+ try {
300
+ t("pkt-input-wrapper")(_);
301
+ } catch {
302
+ console.warn("Forsøker å definere <pkt-input-wrapper>, men den er allerede definert");
303
+ }
304
+ //#endregion
305
+ //#region src/components/input-wrapper/index.ts
306
+ var v = _;
307
+ //#endregion
308
+ export { _ as n, p as r, v as t };
@@ -0,0 +1,58 @@
1
+ const e=require("./element-B8OGznK0.cjs"),t=require("./format-B8meU8Tm.cjs"),n=require("./element-with-slot-DTxILHVv.cjs");require("./alert-COeHz6o2.cjs");const r=require("./icon-BmMC09mi.cjs"),i=require("./if-defined-CVYApOgK.cjs"),a=require("./utils-63cRpWut.cjs"),o=require("./booleanish-BF8l4scU.cjs");require("./helptext-DYFdcylX.cjs");const s=require("./focus-modality-controller-C1ocyv2J.cjs");var c=e=>{let t=[];return e.hasHelptext&&t.push(`${e.id}-helptext`),e.hasCounter&&t.push(`${e.id}-counter-status`),e.ariaDescribedby&&t.push(e.ariaDescribedby),t.length?t.join(` `):void 0},l=e=>`${e}-counter-status`,u=(e,t)=>!!t&&t>0&&(e??0)>t,d={name:`pkt-input-wrapper`,react:`PktInputWrapper`,"css-class":`pkt-inputwrapper`,isElement:!0,isPureReact:!0,events:{toggleHelpText:{description:`Event for å vise eller skjule hjelpetekst i dropdown`}},slots:{default:{description:`Innholdet i input-wrapperen, som kan være et skjemaelement eller en annen komponent`}},props:{forId:{name:`For ID`,description:`Id-en til skjemaelementet som dette wrapper rundt`,type:`string`,required:!0,category:`tech`},label:{name:`Merkelapp`,description:`Merkelapp for skjemaelementet`,type:`string`,required:!0,category:`contents`},helptext:{name:`Hjelpetekst`,description:`Hjelpetekst for skjemaelementet`,type:`string`,category:`contents`},helptextDropdown:{name:`Hjelpetekst i dropdown`,description:`Hjelpetekst som vises i ekspanderende felt`,type:`string`,category:`contents`},helptextDropdownButton:{name:`Tekst i hjelpetekst-knapp`,description:`Tekst som vises i knappen for å vise hjelpetekst i dropdown`,default:`Les mer <span class='pkt-sr-only'>om feltet</span>`,type:`string`,category:`contents`},ariaDescribedby:{name:`aria-describedby`,description:`Id-en til elementet som beskriver skjemaelementet`,type:`string`,category:`accessibility`},counter:{name:`Teller`,description:`Teller for antall tegn i skjemaelementet`,type:`boolean`,default:!1,category:`ui`},counterCurrent:{name:`Tellerverdi`,description:`Tellerens nåværende verdi`,type:`number`,category:`ui`,showIf:{counter:!0}},counterMaxLength:{name:`Maks tegn i teller`,description:`Maks antall tegn som kan skrives i skjemaelementet`,type:`number`,category:`ui`,showIf:{counter:!0}},counterPosition:{name:`Tellerplassering`,description:`Telleren sin plassering i forhold til elementet`,type:[`top`,`bottom`],default:`bottom`,category:`ui`,showIf:{counter:!0}},optionalTag:{name:`Vise valgfritt-merking`,description:`Viser en merking som indikerer at feltet er valgfritt`,type:`boolean`,default:!1,category:`ui`},optionalText:{name:`Valgfritt-tekst`,description:`Tekst som vises i valgfritt-merkingen`,type:`string`,default:`Valgfritt`,category:`contents`},requiredTag:{name:`Vise påkrevd-merking`,description:`Viser en merking som indikerer at feltet er påkrevd`,type:`boolean`,default:!1,category:`ui`},requiredText:{name:`Påkrevd-tekst`,description:`Tekst som vises i påkrevd-merkingen`,type:`string`,default:`Må fylles ut`,category:`contents`},tagText:{type:`string`,name:`Tag-tekst`,description:`Tekst som vises i en tag ved siden av label`,category:`ui`},hasError:{name:`Feil`,description:`Indikerer at skjemaelementet har en feil`,type:`boolean`,default:!1,category:`ui`},errorMessage:{name:`Feilmelding`,description:`Feilmelding som vises når skjemaelementet har en feil`,type:`string`,category:`contents`},disabled:{name:`Deaktivert`,description:`Indikerer at skjemaelementet er deaktivert`,type:`boolean`,default:!1,category:`tech`},inline:{name:`Inline`,description:`Indikerer at skjemaelementet skal flyte sammen med sidens innhold`,type:`boolean`,default:!1,category:`ui`},hasFieldset:{name:`Er fieldset`,description:`Indikerer at innholdet er et fieldset`,type:`boolean`,default:!1,category:`ui`},useWrapper:{name:`Bruk wrapper`,description:`Indikerer om skjemaelementet skal bruke en wrapper`,type:`boolean`,displayAsFalse:!0,default:!0,category:`ui`},role:{name:`Rolle`,description:`ARIA-rolle på wrapperen. Settes ikke som standard. Bruk hasFieldset for reelle grupper.`,type:`string`,default:null,category:`accessibility`},size:{name:`Størrelse`,description:`Visuell størrelse. small: kompakt wrapper og felt (42px). xsmall: samme wrapper som small, felt 36px.`,attribute:`input-wrapper-size`,type:[`small`,`medium`,`xsmall`],default:`medium`,category:`ui`}}},f=class extends n.t{constructor(...e){super(...e),this.forId=a.n(),this.label=``,this.helptext=null,this.helptextDropdown=null,this.helptextDropdownButton=null,this.counter=d.props.counter.default,this.counterCurrent=0,this.counterMaxLength=0,this.counterError=null,this.counterPosition=`bottom`,this.optionalTag=d.props.optionalTag.default,this.requiredTag=d.props.requiredTag.default,this.tagText=null,this.hasError=d.props.hasError.default,this.errorMessage=``,this.disabled=d.props.disabled.default,this.inline=d.props.inline.default,this.ariaDescribedby=void 0,this.hasFieldset=d.props.hasFieldset.default,this.role=null,this.useWrapper=d.props.useWrapper.default,this.size=`medium`,this.focusModality=new s.t(this)}updated(e){super.updated(e),this.classList.add(`pkt-inputwrapper`),this.classList.toggle(`pkt-inputwrapper--error`,this.hasError),this.classList.toggle(`pkt-inputwrapper--disabled`,this.disabled),this.classList.toggle(`pkt-inputwrapper--inline`,this.inline),this.classList.toggle(`pkt-inputwrapper--medium`,this.size===`medium`),this.classList.toggle(`pkt-inputwrapper--small`,this.size===`small`),this.classList.toggle(`pkt-inputwrapper--xsmall`,this.size===`xsmall`),this.role?this.setAttribute(`aria-labelledby`,`${this.forId}-label`):this.removeAttribute(`aria-labelledby`)}render(){let a=`pkt-tag pkt-tag--small pkt-tag--thin-text`,o=this.ariaDescribedby?this.ariaDescribedby:this.helptext?`${this.forId}-helptext`:e.h,s=this.pktStrings.get(`forms`),c=()=>e._`
2
+ ${this.tagText?e._`<span class=${a+` pkt-tag--gray`}>${this.tagText}</span>`:e.h}
3
+ ${this.optionalTag?e._`<span class=${a+` pkt-tag--blue-light`}
4
+ >${this.optionalText??s.optional}</span
5
+ >`:e.h}
6
+ ${this.requiredTag?e._`<span class=${a+` pkt-tag--beige`}
7
+ >${this.requiredText??s.required}</span
8
+ >`:e.h}
9
+ `,d=()=>this.useWrapper?this.hasFieldset?e._`<legend
10
+ class="pkt-inputwrapper__legend"
11
+ id="${this.forId}-label"
12
+ @click=${this.handleLabelClick}
13
+ >
14
+ ${this.label} ${c()}
15
+ </legend>`:e._`<label
16
+ class="pkt-inputwrapper__label"
17
+ for="${this.forId}"
18
+ id="${this.forId}-label"
19
+ @click=${this.handleLabelClick}
20
+ >${this.label}${c()}</label
21
+ >`:e._`<label for="${this.forId}" class="pkt-sr-only" id="${this.forId}-label">
22
+ ${this.label}
23
+ </label>`,f=()=>e._`
24
+ <pkt-helptext
25
+ class="${i.t(this.useWrapper?void 0:`pkt-hide`)}"
26
+ .forId=${this.forId}
27
+ .helptext=${this.helptext}
28
+ .helptextDropdown=${this.helptextDropdown}
29
+ .helptextDropdownButton=${this.helptextDropdownButton??s.readMore}
30
+ @toggleHelpText=${e=>{this.toggleDropdown(e)}}
31
+ >${n.n(this,`helptext`)}</pkt-helptext
32
+ >
33
+ `,p=()=>{if(!this.counter)return e.h;let n=u(this.counterCurrent,this.counterMaxLength);return e._`<div class="pkt-input__counter" aria-hidden="true">
34
+ ${this.counterError?this.counterError:e.h} ${this.counterCurrent||0}
35
+ ${this.counterMaxLength?`/${this.counterMaxLength}`:e.h}
36
+ </div>
37
+ <div class="pkt-sr-only" id=${l(this.forId)} aria-live="polite">
38
+ ${n?t.t(this.pktStrings.get(`validation`).counterExceeded,{current:this.counterCurrent??0,max:this.counterMaxLength}):``}
39
+ </div>`},m=()=>{if(this.hasError&&this.errorMessage){let t=this.size===`medium`?`small`:`xsmall`;return e._`<div class="pkt-inputwrapper__alert-wrapper">
40
+ <pkt-alert
41
+ skin="error"
42
+ .size=${t}
43
+ id=${`${this.forId}-error`}
44
+ aria-live="assertive"
45
+ aria-atomic="true"
46
+ >
47
+ ${r.r(this.errorMessage)}
48
+ </pkt-alert>
49
+ </div>`}return e.h},h=()=>e._`
50
+ ${d()}
51
+ ${f()}
52
+ ${this.counterPosition===`top`?p():e.h}
53
+ <div class="pkt-contents">${n.n(this)}</div>
54
+ ${this.counterPosition===`bottom`?p():e.h}
55
+ ${m()}
56
+ `;return this.hasFieldset?e._`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${o}">
57
+ ${h()}
58
+ </fieldset>`:e._`<div class="pkt-inputwrapper__fieldset">${h()}</div>`}toggleDropdown(e){this.dispatchEvent(new CustomEvent(`toggleHelpText`,{bubbles:!1,detail:{isOpen:e.detail.isOpen}}))}handleLabelClick(){this.dispatchEvent(new CustomEvent(`labelClick`,{bubbles:!0,composed:!0,detail:`label clicked`}))}};e.n([e.u({type:String})],f.prototype,`forId`,void 0),e.n([e.u({type:String})],f.prototype,`label`,void 0),e.n([e.u({type:String})],f.prototype,`helptext`,void 0),e.n([e.u({type:String})],f.prototype,`helptextDropdown`,void 0),e.n([e.u({type:String})],f.prototype,`helptextDropdownButton`,void 0),e.n([e.u({type:Boolean})],f.prototype,`counter`,void 0),e.n([e.u({type:Number})],f.prototype,`counterCurrent`,void 0),e.n([e.u({type:Number})],f.prototype,`counterMaxLength`,void 0),e.n([e.u({type:String})],f.prototype,`counterError`,void 0),e.n([e.u({type:String,reflect:!1})],f.prototype,`counterPosition`,void 0),e.n([e.u({type:Boolean})],f.prototype,`optionalTag`,void 0),e.n([e.u({type:String})],f.prototype,`optionalText`,void 0),e.n([e.u({type:Boolean})],f.prototype,`requiredTag`,void 0),e.n([e.u({type:String})],f.prototype,`requiredText`,void 0),e.n([e.u({type:String})],f.prototype,`tagText`,void 0),e.n([e.u({type:Boolean})],f.prototype,`hasError`,void 0),e.n([e.u({type:String})],f.prototype,`errorMessage`,void 0),e.n([e.u({type:Boolean})],f.prototype,`disabled`,void 0),e.n([e.u({type:Boolean})],f.prototype,`inline`,void 0),e.n([e.u({type:String})],f.prototype,`ariaDescribedby`,void 0),e.n([e.u({type:Boolean})],f.prototype,`hasFieldset`,void 0),e.n([e.u({type:String,reflect:!0})],f.prototype,`role`,void 0),e.n([e.u({type:Boolean,reflect:!0,converter:o.t})],f.prototype,`useWrapper`,void 0),e.n([e.u({type:String,attribute:`input-wrapper-size`})],f.prototype,`size`,void 0);try{e.d(`pkt-input-wrapper`)(f)}catch{console.warn(`Forsøker å definere <pkt-input-wrapper>, men den er allerede definert`)}var p=f;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return p}});
@@ -1,7 +1,7 @@
1
- const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),n=require("./element-with-slot-Bj7nm7fO.cjs");require("./icon-9iwd2F2l.cjs");var r={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:{name:`Egendefinert lenkekomponent`,description:`React: Funksjon for å rendre en egendefinert lenkekomponent (f.eks. Next.js Link eller React Router Link). Mottar et objekt med href, className, children og props. Standard er et vanlig <a>-element.`,type:`function`,required:!1,category:`tech`,reactOnly:!0}},slots:{default:{description:`Innholdet i lenken`}}},i=class extends n.t{constructor(...e){super(...e),this.href=r.props.href.default,this.iconName=void 0,this.iconPosition=void 0,this.external=!1,this.target=r.props.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};return e.p`<a
1
+ const e=require("./element-B8OGznK0.cjs"),t=require("./class-map-CzCE5pqG.cjs"),n=require("./element-with-slot-DTxILHVv.cjs");require("./icon-BmMC09mi.cjs");var r={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:{name:`Egendefinert lenkekomponent`,description:`React: Funksjon for å rendre en egendefinert lenkekomponent (f.eks. Next.js Link eller React Router Link). Mottar et objekt med href, className, children og props. Standard er et vanlig <a>-element.`,type:`function`,required:!1,category:`tech`,reactOnly:!0}},slots:{default:{description:`Innholdet i lenken`}}},i=class extends n.t{constructor(...e){super(...e),this.href=r.props.href.default,this.iconName=void 0,this.iconPosition=void 0,this.external=!1,this.target=r.props.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};return e._`<a
2
2
  class=${t.t(r)}
3
3
  href=${this.href}
4
4
  .target=${this.target}
5
- .rel=${this.external?`noopener noreferrer`:e.d}
6
- >${this.iconName?e.p`<pkt-icon name=${this.iconName} class="pkt-link__icon"></pkt-icon>`:``} <span>${n.n(this)}</span></a
7
- >`}};e.n([e.o({type:String,reflect:!0})],i.prototype,`href`,void 0),e.n([e.o({type:String,reflect:!0})],i.prototype,`iconName`,void 0),e.n([e.o({type:String,reflect:!0})],i.prototype,`iconPosition`,void 0),e.n([e.o({type:Boolean,reflect:!0})],i.prototype,`external`,void 0),e.n([e.o({type:String,reflect:!0})],i.prototype,`target`,void 0);try{e.s(`pkt-link`)(i)}catch{console.warn(`Forsøker å definere <pkt-link>, men den er allerede definert`)}var a=i;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
5
+ .rel=${this.external?`noopener noreferrer`:e.h}
6
+ >${this.iconName?e._`<pkt-icon name=${this.iconName} class="pkt-link__icon"></pkt-icon>`:``} <span>${n.n(this)}</span></a
7
+ >`}};e.n([e.u({type:String,reflect:!0})],i.prototype,`href`,void 0),e.n([e.u({type:String,reflect:!0})],i.prototype,`iconName`,void 0),e.n([e.u({type:String,reflect:!0})],i.prototype,`iconPosition`,void 0),e.n([e.u({type:Boolean,reflect:!0})],i.prototype,`external`,void 0),e.n([e.u({type:String,reflect:!0})],i.prototype,`target`,void 0);try{e.d(`pkt-link`)(i)}catch{console.warn(`Forsøker å definere <pkt-link>, men den er allerede definert`)}var a=i;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
@@ -1,7 +1,7 @@
1
- import { d as e, n as t, o as n, p as r, s as i } from "./element-ChsFgr_B.js";
2
- import { t as a } from "./class-map-CnWCnBSX.js";
3
- import { n as o, t as s } from "./element-with-slot-BvG9ctC-.js";
4
- import "./icon-D-LA22xD.js";
1
+ import { _ as e, d as t, h as n, n as r, u as i } from "./element-BKSPVgs2.js";
2
+ import { t as a } from "./class-map-F1DJHyb7.js";
3
+ import { n as o, t as s } from "./element-with-slot-YUAUFRqw.js";
4
+ import "./icon-HYU1f54x.js";
5
5
  var c = {
6
6
  name: "pkt-link",
7
7
  react: "PktLink",
@@ -61,33 +61,33 @@ var c = {
61
61
  "pkt-link--icon-right": !!this.iconName && this.iconPosition === "right",
62
62
  "pkt-link--external": this.external
63
63
  };
64
- return r`<a
64
+ return e`<a
65
65
  class=${a(t)}
66
66
  href=${this.href}
67
67
  .target=${this.target}
68
- .rel=${this.external ? "noopener noreferrer" : e}
69
- >${this.iconName ? r`<pkt-icon name=${this.iconName} class="pkt-link__icon"></pkt-icon>` : ""} <span>${o(this)}</span></a
68
+ .rel=${this.external ? "noopener noreferrer" : n}
69
+ >${this.iconName ? e`<pkt-icon name=${this.iconName} class="pkt-link__icon"></pkt-icon>` : ""} <span>${o(this)}</span></a
70
70
  >`;
71
71
  }
72
72
  };
73
- t([n({
73
+ r([i({
74
74
  type: String,
75
75
  reflect: !0
76
- })], l.prototype, "href", void 0), t([n({
76
+ })], l.prototype, "href", void 0), r([i({
77
77
  type: String,
78
78
  reflect: !0
79
- })], l.prototype, "iconName", void 0), t([n({
79
+ })], l.prototype, "iconName", void 0), r([i({
80
80
  type: String,
81
81
  reflect: !0
82
- })], l.prototype, "iconPosition", void 0), t([n({
82
+ })], l.prototype, "iconPosition", void 0), r([i({
83
83
  type: Boolean,
84
84
  reflect: !0
85
- })], l.prototype, "external", void 0), t([n({
85
+ })], l.prototype, "external", void 0), r([i({
86
86
  type: String,
87
87
  reflect: !0
88
88
  })], l.prototype, "target", void 0);
89
89
  try {
90
- i("pkt-link")(l);
90
+ t("pkt-link")(l);
91
91
  } catch {
92
92
  console.warn("Forsøker å definere <pkt-link>, men den er allerede definert");
93
93
  }
@@ -1,50 +1,50 @@
1
- import { n as e, o as t, p as n, s as r } from "./element-ChsFgr_B.js";
2
- import { n as i, t as a } from "./element-with-slot-BvG9ctC-.js";
3
- import "./icon-D-LA22xD.js";
4
- import { t as o } from "./if-defined-CGzIlZ9-.js";
1
+ import { _ as e, d as t, n, u as r } from "./element-BKSPVgs2.js";
2
+ import { n as i, t as a } from "./element-with-slot-YUAUFRqw.js";
3
+ import "./icon-HYU1f54x.js";
4
+ import { t as o } from "./if-defined-BF8XcDi5.js";
5
5
  //#region src/components/linkcard/linkcard.ts
6
6
  var s = class extends a {
7
7
  constructor(...e) {
8
8
  super(...e), this.title = "", this.href = "#", this.iconName = "", this.external = !1, this.openInNewTab = !1, this.skin = "normal";
9
9
  }
10
10
  render() {
11
- let e = ["pkt-linkcard", this.skin && `pkt-linkcard--${this.skin}`].filter(Boolean).join(" "), t = ["pkt-linkcard__title", this.external && "pkt-link pkt-link--external"].filter(Boolean).join(" ");
12
- return n`
11
+ let t = ["pkt-linkcard", this.skin && `pkt-linkcard--${this.skin}`].filter(Boolean).join(" "), n = ["pkt-linkcard__title", this.external && "pkt-link pkt-link--external"].filter(Boolean).join(" ");
12
+ return e`
13
13
  <a
14
14
  href=${this.href}
15
- class=${e}
15
+ class=${t}
16
16
  target=${this.openInNewTab ? "_blank" : "_self"}
17
17
  rel=${o(this.openInNewTab ? "noopener noreferrer" : void 0)}
18
18
  >
19
- ${this.iconName && n`<pkt-icon class="pkt-link__icon" name="${this.iconName}" />`}
20
- ${this.title && n`<div class=${t}>${this.title}</div>`}
19
+ ${this.iconName && e`<pkt-icon class="pkt-link__icon" name="${this.iconName}" />`}
20
+ ${this.title && e`<div class=${n}>${this.title}</div>`}
21
21
 
22
22
  <div class="pkt-linkcard__text">${i(this)}</div>
23
23
  </a>
24
24
  `;
25
25
  }
26
26
  };
27
- e([t({
27
+ n([r({
28
28
  type: String,
29
29
  reflect: !0
30
- })], s.prototype, "title", void 0), e([t({
30
+ })], s.prototype, "title", void 0), n([r({
31
31
  type: String,
32
32
  reflect: !0
33
- })], s.prototype, "href", void 0), e([t({
33
+ })], s.prototype, "href", void 0), n([r({
34
34
  type: String,
35
35
  reflect: !0
36
- })], s.prototype, "iconName", void 0), e([t({
36
+ })], s.prototype, "iconName", void 0), n([r({
37
37
  type: Boolean,
38
38
  reflect: !0
39
- })], s.prototype, "external", void 0), e([t({
39
+ })], s.prototype, "external", void 0), n([r({
40
40
  type: Boolean,
41
41
  reflect: !0
42
- })], s.prototype, "openInNewTab", void 0), e([t({
42
+ })], s.prototype, "openInNewTab", void 0), n([r({
43
43
  type: String,
44
44
  reflect: !0
45
45
  })], s.prototype, "skin", void 0);
46
46
  try {
47
- r("pkt-linkcard")(s);
47
+ t("pkt-linkcard")(s);
48
48
  } catch {
49
49
  console.warn("Forsøker å definere <pkt-linkcard>, men den er allerede definert");
50
50
  }
@@ -0,0 +1,13 @@
1
+ const e=require("./element-B8OGznK0.cjs"),t=require("./element-with-slot-DTxILHVv.cjs");require("./icon-BmMC09mi.cjs");const n=require("./if-defined-CVYApOgK.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=`normal`}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(` `);return e._`
2
+ <a
3
+ href=${this.href}
4
+ class=${r}
5
+ target=${this.openInNewTab?`_blank`:`_self`}
6
+ rel=${n.t(this.openInNewTab?`noopener noreferrer`:void 0)}
7
+ >
8
+ ${this.iconName&&e._`<pkt-icon class="pkt-link__icon" name="${this.iconName}" />`}
9
+ ${this.title&&e._`<div class=${i}>${this.title}</div>`}
10
+
11
+ <div class="pkt-linkcard__text">${t.n(this)}</div>
12
+ </a>
13
+ `}};e.n([e.u({type:String,reflect:!0})],r.prototype,`title`,void 0),e.n([e.u({type:String,reflect:!0})],r.prototype,`href`,void 0),e.n([e.u({type:String,reflect:!0})],r.prototype,`iconName`,void 0),e.n([e.u({type:Boolean,reflect:!0})],r.prototype,`external`,void 0),e.n([e.u({type:Boolean,reflect:!0})],r.prototype,`openInNewTab`,void 0),e.n([e.u({type:String,reflect:!0})],r.prototype,`skin`,void 0);try{e.d(`pkt-linkcard`)(r)}catch{console.warn(`Forsøker å definere <pkt-linkcard>, men den er allerede definert`)}var i=r;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});