@oslokommune/punkt-elements 16.7.1 → 16.7.4

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 (286) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/accordion-BB1JrONI.cjs +34 -0
  3. package/dist/accordion-nNH87Y60.js +130 -0
  4. package/dist/alert-BEEnTiCb.cjs +33 -0
  5. package/dist/alert-ePJuDtmm.js +171 -0
  6. package/dist/async-directive-B9P1Qa0k.cjs +1 -0
  7. package/dist/async-directive-CaQiqjyV.js +55 -0
  8. package/dist/backlink-Ba03LlbB.cjs +13 -0
  9. package/dist/backlink-CiwXrQYD.js +38 -0
  10. package/dist/booleanish-BmcOU-43.js +11 -0
  11. package/dist/booleanish-jJLlnr6-.cjs +1 -0
  12. package/dist/breadcrumbs-CD1zib3s.cjs +43 -0
  13. package/dist/breadcrumbs-CpuVqWhF.js +76 -0
  14. package/dist/button-BIpd1xJh.js +95 -0
  15. package/dist/button-D-TOBaJB.cjs +27 -0
  16. package/dist/calendar-BzEtOJla.js +2031 -0
  17. package/dist/calendar-E5jJLt8D.cjs +90 -0
  18. package/dist/card-BYJu1MYm.js +339 -0
  19. package/dist/card-CUFhMVim.cjs +87 -0
  20. package/dist/checkbox-BARDb9iV.cjs +31 -0
  21. package/dist/checkbox-Cspxcvt_.js +111 -0
  22. package/dist/class-map-C8HuhNzZ.js +27 -0
  23. package/dist/class-map-CJ-msbHs.cjs +1 -0
  24. package/dist/classutils-DEL164Ur.js +7 -0
  25. package/dist/classutils-z8YsPlOf.cjs +1 -0
  26. package/dist/combobox-BcdLZRDU.js +984 -0
  27. package/dist/combobox-CGbFTWq_.cjs +135 -0
  28. package/dist/consent-DeB_5sWH.js +197 -0
  29. package/dist/consent-hwu7pp3S.cjs +11 -0
  30. package/dist/datepicker-DpmlsnH_.cjs +273 -0
  31. package/dist/datepicker-OVd8pmnZ.js +1125 -0
  32. package/dist/dialog-polyfill.esm-1hPr0gl9.js +280 -0
  33. package/dist/dialog-polyfill.esm-D3Oinvk0.cjs +1 -0
  34. package/dist/directive-3THFsVew.js +28 -0
  35. package/dist/directive-CJ2giQBZ.cjs +1 -0
  36. package/dist/directive-helpers-D1QSxY17.cjs +1 -0
  37. package/dist/directive-helpers-Dkv2gKgs.js +25 -0
  38. package/dist/element-DjtxO-1r.cjs +2 -0
  39. package/dist/element-cZ85T_aa.js +693 -0
  40. package/dist/element-with-slot-4J2o3SeU.js +166 -0
  41. package/dist/element-with-slot-CWoTGA1B.cjs +1 -0
  42. package/dist/header-DWgPgGfS.cjs +304 -0
  43. package/dist/header-a6ztVNp3.js +782 -0
  44. package/dist/heading-BgSWIRii.cjs +1 -0
  45. package/dist/heading-DiQLPxdf.js +73 -0
  46. package/dist/helptext-CCBKKLus.js +65 -0
  47. package/dist/helptext-D-3QfZv5.cjs +24 -0
  48. package/dist/icon-Co72KtgF.js +86 -0
  49. package/dist/icon-Dr8sfT2X.cjs +1 -0
  50. package/dist/if-defined-Cjj8qN-Z.js +5 -0
  51. package/dist/if-defined-XKOD_t_V.cjs +1 -0
  52. package/dist/index.d.ts +1 -2
  53. package/dist/input-element-B1yxcfz4.cjs +1 -0
  54. package/dist/input-element-Bw1s6NlF.js +643 -0
  55. package/dist/input-wrapper-BRuVELpK.cjs +54 -0
  56. package/dist/input-wrapper-CDyHTR1V.js +164 -0
  57. package/dist/input-wrapper-Dwd-_sKm.cjs +1 -0
  58. package/dist/input-wrapper-YfTmpSSY.js +117 -0
  59. package/dist/link-CKAFMz9j.js +89 -0
  60. package/dist/link-CyTCpI0k.cjs +7 -0
  61. package/dist/linkcard-B0KOGaGj.js +55 -0
  62. package/dist/linkcard-BE4-FewK.cjs +13 -0
  63. package/dist/listbox-DCA2JoPV.cjs +106 -0
  64. package/dist/listbox-DuBgTFvH.js +397 -0
  65. package/dist/loader-6kFZUErT.js +66 -0
  66. package/dist/loader-CX2rsC01.cjs +16 -0
  67. package/dist/messagebox-Cwlg5sOr.js +110 -0
  68. package/dist/messagebox-Din9X53b.cjs +13 -0
  69. package/dist/modal-C_wtsh9m.js +209 -0
  70. package/dist/modal-DS_wUOIv.cjs +36 -0
  71. package/dist/pkt-accordion.cjs +1 -1
  72. package/dist/pkt-accordion.js +2 -7
  73. package/dist/pkt-alert.cjs +1 -1
  74. package/dist/pkt-alert.js +2 -6
  75. package/dist/pkt-backlink.cjs +1 -1
  76. package/dist/pkt-backlink.js +2 -6
  77. package/dist/pkt-breadcrumbs.cjs +1 -43
  78. package/dist/pkt-breadcrumbs.js +2 -79
  79. package/dist/pkt-button.cjs +1 -1
  80. package/dist/pkt-button.js +2 -6
  81. package/dist/pkt-calendar.cjs +1 -1
  82. package/dist/pkt-calendar.js +2 -6
  83. package/dist/pkt-card.cjs +1 -1
  84. package/dist/pkt-card.js +2 -6
  85. package/dist/pkt-checkbox.cjs +1 -1
  86. package/dist/pkt-checkbox.js +2 -6
  87. package/dist/pkt-combobox.cjs +1 -1
  88. package/dist/pkt-combobox.js +2 -6
  89. package/dist/pkt-consent.cjs +1 -1
  90. package/dist/pkt-consent.js +2 -6
  91. package/dist/pkt-datepicker.cjs +1 -1
  92. package/dist/pkt-datepicker.js +5 -10
  93. package/dist/pkt-header.cjs +1 -304
  94. package/dist/pkt-header.js +2 -855
  95. package/dist/pkt-heading.cjs +1 -1
  96. package/dist/pkt-heading.js +2 -6
  97. package/dist/pkt-helptext.cjs +1 -1
  98. package/dist/pkt-helptext.js +2 -6
  99. package/dist/pkt-icon.cjs +1 -1
  100. package/dist/pkt-icon.js +2 -6
  101. package/dist/pkt-index.cjs +1 -1
  102. package/dist/pkt-index.js +30 -66
  103. package/dist/pkt-input-wrapper.cjs +1 -1
  104. package/dist/pkt-input-wrapper.js +2 -6
  105. package/dist/pkt-link.cjs +1 -1
  106. package/dist/pkt-link.js +2 -6
  107. package/dist/pkt-linkcard.cjs +1 -1
  108. package/dist/pkt-linkcard.js +2 -6
  109. package/dist/pkt-listbox.cjs +1 -1
  110. package/dist/pkt-listbox.js +2 -6
  111. package/dist/pkt-loader.cjs +1 -1
  112. package/dist/pkt-loader.js +2 -6
  113. package/dist/pkt-messagebox.cjs +1 -1
  114. package/dist/pkt-messagebox.js +2 -6
  115. package/dist/pkt-modal.cjs +1 -1
  116. package/dist/pkt-modal.js +2 -6
  117. package/dist/pkt-options-controller-CRrI6WMk.js +43 -0
  118. package/dist/pkt-options-controller-CXUGx134.cjs +1 -0
  119. package/dist/pkt-progressbar.cjs +1 -1
  120. package/dist/pkt-progressbar.js +2 -6
  121. package/dist/pkt-radiobutton.cjs +1 -1
  122. package/dist/pkt-radiobutton.js +2 -6
  123. package/dist/pkt-select.cjs +1 -1
  124. package/dist/pkt-select.js +2 -6
  125. package/dist/pkt-tabs.cjs +1 -1
  126. package/dist/pkt-tabs.js +2 -7
  127. package/dist/pkt-tag.cjs +1 -1
  128. package/dist/pkt-tag.js +2 -6
  129. package/dist/pkt-textarea.cjs +1 -1
  130. package/dist/pkt-textarea.js +2 -6
  131. package/dist/pkt-textinput.cjs +1 -1
  132. package/dist/pkt-textinput.js +2 -6
  133. package/dist/pkt-timepicker.cjs +1 -191
  134. package/dist/pkt-timepicker.js +2 -558
  135. package/dist/progressbar-CdXtmOBb.cjs +17 -0
  136. package/dist/progressbar-Dy9AiYQz.js +113 -0
  137. package/dist/radiobutton-GOnpUbCW.cjs +31 -0
  138. package/dist/radiobutton-V_KPbup_.js +84 -0
  139. package/dist/ref-BaJ0mBT_.cjs +1 -0
  140. package/dist/ref-RS8Uv6uC.js +30 -0
  141. package/dist/repeat-Cepr3469.js +57 -0
  142. package/dist/repeat-CqcDYBxr.cjs +1 -0
  143. package/dist/select-BSAFd8Wa.js +164 -0
  144. package/dist/select-C2i8sOk5.cjs +49 -0
  145. package/dist/tabs-D8nL9rWx.cjs +37 -0
  146. package/dist/tabs-Y7utmJi9.js +318 -0
  147. package/dist/tag-DLthw5b4.cjs +27 -0
  148. package/dist/tag-VwykmuQR.js +179 -0
  149. package/dist/textarea-D7aGOyDf.cjs +46 -0
  150. package/dist/textarea-DYOBhJrN.js +115 -0
  151. package/dist/textinput-BUgntXnM.js +124 -0
  152. package/dist/textinput-DFh8_9cx.cjs +70 -0
  153. package/dist/timepicker-BIfE7KKJ.cjs +191 -0
  154. package/dist/timepicker-DaSwn1FA.js +503 -0
  155. package/dist/utils-CUqCKGvp.js +7 -0
  156. package/dist/utils-CjAbIttF.cjs +1 -0
  157. package/package.json +6 -6
  158. package/src/components/accordion/accordion.ts +6 -1
  159. package/src/components/accordion/accordionitem.ts +6 -1
  160. package/src/components/alert/alert.test.ts +1 -1
  161. package/src/components/alert/alert.ts +12 -7
  162. package/src/components/backlink/backlink.ts +6 -1
  163. package/src/components/breadcrumbs/breadcrumbs.ts +6 -1
  164. package/src/components/button/button.ts +6 -1
  165. package/src/components/calendar/calendar.ts +6 -1
  166. package/src/components/card/card.ts +6 -1
  167. package/src/components/checkbox/checkbox.ts +6 -1
  168. package/src/components/combobox/combobox.ts +6 -1
  169. package/src/components/consent/consent.ts +6 -1
  170. package/src/components/datepicker/date-tags.ts +6 -1
  171. package/src/components/datepicker/datepicker-multiple.ts +6 -1
  172. package/src/components/datepicker/datepicker-popup.ts +6 -1
  173. package/src/components/datepicker/datepicker-range.ts +6 -1
  174. package/src/components/datepicker/datepicker-single.ts +6 -1
  175. package/src/components/datepicker/datepicker-utils.test.ts +16 -23
  176. package/src/components/datepicker/datepicker.ts +6 -1
  177. package/src/components/header/header-service.ts +6 -1
  178. package/src/components/header/header-user-menu.ts +6 -1
  179. package/src/components/header/header.ts +6 -1
  180. package/src/components/heading/heading.ts +6 -1
  181. package/src/components/helptext/helptext.ts +6 -1
  182. package/src/components/icon/icon.ts +6 -1
  183. package/src/components/input-wrapper/input-wrapper.ts +6 -1
  184. package/src/components/link/link.ts +6 -1
  185. package/src/components/linkcard/linkcard.ts +6 -1
  186. package/src/components/listbox/listbox.ts +6 -1
  187. package/src/components/loader/loader.ts +6 -1
  188. package/src/components/messagebox/messagebox.ts +6 -1
  189. package/src/components/modal/modal.ts +6 -1
  190. package/src/components/progressbar/progressbar.ts +6 -1
  191. package/src/components/radiobutton/radiobutton.ts +6 -1
  192. package/src/components/select/select.ts +6 -1
  193. package/src/components/tabs/tabitem.ts +6 -1
  194. package/src/components/tabs/tabs.ts +6 -1
  195. package/src/components/tag/tag.ts +6 -1
  196. package/src/components/textarea/textarea.ts +6 -1
  197. package/src/components/textinput/textinput.ts +6 -1
  198. package/src/components/timepicker/timepicker.ts +6 -1
  199. package/dist/accordionitem-D1Agl1bB.cjs +0 -34
  200. package/dist/accordionitem-ZlaXvjt5.js +0 -138
  201. package/dist/alert-BuAXrnKl.js +0 -115
  202. package/dist/alert-DFkFNTxh.cjs +0 -33
  203. package/dist/async-directive-CMzWMlZ5.js +0 -65
  204. package/dist/async-directive-DoMuclel.cjs +0 -5
  205. package/dist/backlink-EiAXUUZP.cjs +0 -13
  206. package/dist/backlink-V4DAt17e.js +0 -47
  207. package/dist/booleanish-BKVonob4.cjs +0 -1
  208. package/dist/booleanish-C9R0tdXH.js +0 -11
  209. package/dist/button-DEyvt1LI.js +0 -137
  210. package/dist/button-DYv5Dg4M.cjs +0 -27
  211. package/dist/calendar-HIE9nxcc.cjs +0 -90
  212. package/dist/calendar-S63oreVW.js +0 -2138
  213. package/dist/card-CyeH6l1c.cjs +0 -87
  214. package/dist/card-DDiLfuO4.js +0 -231
  215. package/dist/checkbox-BLlwTABj.cjs +0 -31
  216. package/dist/checkbox-ejBUa5qQ.js +0 -145
  217. package/dist/class-map-CEnykyO_.js +0 -34
  218. package/dist/class-map-CsENJXf1.cjs +0 -5
  219. package/dist/classutils-BwNK82ZQ.cjs +0 -1
  220. package/dist/classutils-RQs1k6D9.js +0 -7
  221. package/dist/combobox-BmxSecfE.js +0 -818
  222. package/dist/combobox-Hb2V-fPX.cjs +0 -135
  223. package/dist/consent-iXyx5v6J.js +0 -173
  224. package/dist/consent-ruWAEVXW.cjs +0 -11
  225. package/dist/datepicker-CZl7b8Na.js +0 -1158
  226. package/dist/datepicker-D2H7U6MS.cjs +0 -273
  227. package/dist/dialog-polyfill.esm-CPKZe7AL.cjs +0 -1
  228. package/dist/dialog-polyfill.esm-CbjBMXAG.js +0 -395
  229. package/dist/directive-C7oCP5Bh.cjs +0 -5
  230. package/dist/directive-helpers-BP2WOx60.cjs +0 -5
  231. package/dist/directive-helpers-rm-28gIj.js +0 -38
  232. package/dist/directive-oAbCiebi.js +0 -27
  233. package/dist/element-CPpT3rFQ.js +0 -638
  234. package/dist/element-gR_VtSiD.cjs +0 -27
  235. package/dist/element-with-slot-Dqk6-TRR.js +0 -240
  236. package/dist/element-with-slot-ZX-up7jO.cjs +0 -1
  237. package/dist/heading-CKt7cVn7.js +0 -101
  238. package/dist/heading-Cvz8m1xL.cjs +0 -1
  239. package/dist/helptext-5Mzp65-F.cjs +0 -24
  240. package/dist/helptext-jIoWRcCF.js +0 -80
  241. package/dist/icon-BlKA8YuW.js +0 -103
  242. package/dist/icon-Bqj9oBbl.cjs +0 -9
  243. package/dist/if-defined-B0krMLad.js +0 -10
  244. package/dist/if-defined-BOW3ODSj.cjs +0 -5
  245. package/dist/input-element-8nLwuQS4.js +0 -837
  246. package/dist/input-element-DdVhUvva.cjs +0 -1
  247. package/dist/input-wrapper-B0MkQ0IZ.cjs +0 -54
  248. package/dist/input-wrapper-B2JpK016.js +0 -179
  249. package/dist/input-wrapper-CDgenrYA.js +0 -6
  250. package/dist/input-wrapper-EoSAbU-U.cjs +0 -1
  251. package/dist/link-R_lNhViF.cjs +0 -7
  252. package/dist/link-Z_GizclR.js +0 -53
  253. package/dist/linkcard-BlQvdB1a.js +0 -54
  254. package/dist/linkcard-C7HbSLlX.cjs +0 -13
  255. package/dist/listbox-BQKDZvZn.js +0 -438
  256. package/dist/listbox-CGgV9MAe.cjs +0 -106
  257. package/dist/loader-Ci3CHU8k.js +0 -93
  258. package/dist/loader-e2gs_1xz.cjs +0 -16
  259. package/dist/messagebox-Bf-XMlvW.js +0 -69
  260. package/dist/messagebox-D67w71VX.cjs +0 -13
  261. package/dist/modal-CyvEkbfQ.cjs +0 -36
  262. package/dist/modal-DzGe1g8Z.js +0 -154
  263. package/dist/pkt-options-controller-5LXbEzuk.cjs +0 -1
  264. package/dist/pkt-options-controller-B5YalfCb.js +0 -39
  265. package/dist/progressbar-By7e0lEI.js +0 -162
  266. package/dist/progressbar-DsJ2B9Vm.cjs +0 -21
  267. package/dist/radiobutton-6frNG9J_.js +0 -111
  268. package/dist/radiobutton-Bv-BZ1Hw.cjs +0 -31
  269. package/dist/ref-Bg_Swj5w.js +0 -42
  270. package/dist/ref-CL-Xk9Xm.cjs +0 -5
  271. package/dist/repeat-BD8TKgJb.js +0 -61
  272. package/dist/repeat-Cfq8CDlf.cjs +0 -5
  273. package/dist/select-CXZt1nHS.js +0 -228
  274. package/dist/select-WFhS4Vfp.cjs +0 -49
  275. package/dist/state-C_1EOo3D.js +0 -12
  276. package/dist/state-Dg-53wQ8.cjs +0 -5
  277. package/dist/tabitem-CB8wkKmv.js +0 -332
  278. package/dist/tabitem-DZpspU4Q.cjs +0 -65
  279. package/dist/tag-BuCpqaks.js +0 -115
  280. package/dist/tag-X6xdjR0N.cjs +0 -27
  281. package/dist/textarea-Bzuymclz.js +0 -131
  282. package/dist/textarea-DoeHJ7HR.cjs +0 -50
  283. package/dist/textinput-9lHjs4ce.js +0 -150
  284. package/dist/textinput-BNsLd26i.cjs +0 -70
  285. package/dist/utils-DznhwRXm.js +0 -8
  286. package/dist/utils-byXsEz1u.cjs +0 -1
@@ -0,0 +1,273 @@
1
+ const e=require(`./element-DjtxO-1r.cjs`),t=require(`./class-map-CJ-msbHs.cjs`),n=require(`./element-with-slot-CWoTGA1B.cjs`);require(`./icon-Dr8sfT2X.cjs`);const r=require(`./if-defined-XKOD_t_V.cjs`),i=require(`./ref-BaJ0mBT_.cjs`),a=require(`./calendar-E5jJLt8D.cjs`);require(`./tag-DLthw5b4.cjs`);const o=require(`./repeat-CqcDYBxr.cjs`),s=require(`./utils-CjAbIttF.cjs`),c=require(`./input-element-B1yxcfz4.cjs`);require(`./input-wrapper-BRuVELpK.cjs`);var l={calendar:{buttonAltText:`Åpne kalender`}},u={calendar:{buttonAltText:`Åpne kalender`},generic:{from:`Fra`,to:`Til`}},d=class extends e.t{constructor(...e){super(...e),this.dates=[],this.dateformat=`dd.MM.yyyy`,this.className=`pkt-datepicker__tags`,this.idBase=s.n()}render(){return this.classes={"pkt-date-tags":!0,[this.className]:!0},e.d`
2
+ <div class=${t.t(this.classes)} aria-live="polite">
3
+ ${Array.isArray(this.dates)&&this.dates[0]?o.t(a.p((this.dates??[]).filter(Boolean)),e=>e,t=>e.d` <pkt-tag
4
+ id=${this.idBase+t+`-tag`}
5
+ closeTag
6
+ @close=${()=>{this.dispatchEvent(new CustomEvent(`date-tag-removed`,{detail:t}))}}
7
+ .ariaLabel=${`${this.strings?.calendar.deleteDate} ${a.l(t,this.dateformat)}`}
8
+ >
9
+ <time datetime=${t}>${a.l(t,this.dateformat)}</time>
10
+ </pkt-tag>`):e.l}
11
+ </div>
12
+ `}};e.r([e.s({type:Array})],d.prototype,`dates`,void 0),e.r([e.s({type:String})],d.prototype,`dateformat`,void 0),e.r([e.s({type:String,attribute:`class`})],d.prototype,`className`,void 0),e.r([e.s({type:String,attribute:`id-base`})],d.prototype,`idBase`,void 0);try{e.c(`pkt-date-tags`)(d)}catch{console.warn(`Forsøker å definere <pkt-date-tags>, men den er allerede definert`)}var f={name:`pkt-datepicker`,react:`PktDatepicker`,"css-class":`pkt-datepicker`,isElement:!0,isPureReact:!0,"dark-mode":!0,props:{name:{type:`string`,name:`Navn for innsending`,category:`tech`},label:{type:`string`,name:`Tekst/label`,category:`contents`},helptext:{type:`string`,name:`Hjelpetekst`,category:`contents`},helptextDropdown:{type:`string`,name:`Utvidet hjelpetekst`,description:`Hjelpetekst som vises i en lukket boks man kan åpne`,category:`contents`},helptextDropdownButton:{type:`string`,name:`Knappetekst for utvidet hjelpetekst`,default:`Les mer`,category:`contents`},dateformat:{name:`Datoformat for tags i flervalg`,type:`string`,default:`dd.MM.yyyy`,category:`tech`},currentmonth:{name:`Måned som vises i datovelgeren`,type:`ISOdatestring`,category:`tech`},value:{name:`Verdi (kommaseparert ved flervalg)`,type:`ISOdatestring`,variant:`multiple`,category:`tech`},excludeweekdays:{name:`Utelat ukedager`,type:`string`,description:`Kommaseparert liste over ukedager (1-7) som skal ekskluderes`,category:`functionality`},excludedates:{name:`Utelat datoer (Kommaseparerte ISO-datoer)`,type:`ISOdatestring`,variant:`multiple`,category:`functionality`},min:{name:`Tidligst tillatte dato`,type:`ISOdatestring`,default:null,category:`functionality`},max:{name:`Senest tillatte dato`,type:`ISOdatestring`,default:null,category:`functionality`},weeknumbers:{name:`Vis ukenummer`,type:`boolean`,reflect:!0,default:!1,category:`ui`},withcontrols:{name:`Med velgere for måned/år`,type:`boolean`,reflect:!0,default:!1,category:`ui`},multiple:{name:`Flervalg`,type:`boolean`,reflect:!0,default:!1,category:`functionality`},maxlength:{name:`Maks antall datoer i flervalg`,type:`number`,category:`functionality`,showIf:{multiple:!0}},range:{name:`Datotidsrom (fra og til)`,type:`boolean`,reflect:!0,default:!1,category:`functionality`},showRangeLabels:{attribute:`show-range-labels`,name:`Vis fra/til-etiketter`,type:`boolean`,default:!1,category:`ui`,showIf:{range:!0}},today:{name:`Dagens dato (overstyring)`,type:`ISOdatestring`,description:`ISO-datostreng som overstyrer dagens dato i kalenderen. Nyttig for snapshot-tester.`,category:`tech`},calendarOpen:{attribute:`calendar-open`,name:`Kalender åpen`,type:`boolean`,reflect:!0,default:!1,category:`ui`},hasError:{type:`boolean`,name:`Feil`,default:!1,category:`ui`},errorMessage:{type:`string`,name:`Feilmelding ved feil`,category:`contents`},disabled:{type:`boolean`,name:`Deaktivert`,default:!1,reflect:!0,category:`tech`},fullwidth:{type:`boolean`,name:`Full bredde`,default:!1,reflect:!0,category:`ui`},required:{type:`boolean`,name:`Påkrevd`,default:!1,reflect:!0,category:`tech`},requiredTag:{type:`boolean`,name:`Vise påkrevd-merking`,default:!1,category:`ui`},requiredText:{type:`string`,name:`Påkrevd-tekst`,default:`Må fylles ut`,category:`contents`},optionalTag:{type:`boolean`,name:`Vise valgfritt-merking`,default:!1,category:`ui`},optionalText:{type:`string`,name:`Valgfritt-tekst`,default:`Valgfritt`,category:`contents`},tagText:{type:`string`,name:`Tag-tekst`,description:`Tekst som vises i en tag ved siden av label`,category:`ui`},useWrapper:{type:`boolean`,name:`Bruk wrapper`,description:`Indikerer at feltet skal ha synlig label og hjelpetekst`,displayAsFalse:!0,default:!0,category:`ui`},id:{type:`string`,name:`ID`,description:`Unik identifikasjon for datovelgeren`,category:`tech`},ariaDescribedby:{attribute:`aria-describedby`,name:`aria-describedby`,description:`Spesifiserer ID-en til elementet som beskriver feltet.`,type:`string`,category:`accessibility`}},events:{change:{type:`Event`,name:`change (Elements)`,description:`Returnerer valgt dato som streng i ISO-format. I range-modus utløses kun når begge datoer er valgt.`},"value-change":{type:`CustomEvent`,name:`value-change (Elements)`,description:`Returnerer en <code>array</code> med valgte datoer i ISO-format. I range-modus utløses kun når begge datoer er valgt.`},toggleHelpText:{type:`CustomEvent`,description:`Returnerer <code>event.detail { isOpen: true }</code> eller <code>event.detail { isOpen: false }</code> når hjelpeteksten åpnes eller lukkes`},onChange:{type:`Event`,name:`onChange (React)`,reactOnly:!0,description:`Utløses når en dato velges. <code>e.target.value</code> inneholder kommaseparerte ISO-datoer. I range-modus utløses kun når begge datoer er valgt.`},onValueChange:{type:`string[]`,name:`onValueChange (React)`,reactOnly:!0,description:`Returnerer en <code>string[]</code> med valgte datoer i ISO-format. I range-modus utløses kun når begge datoer er valgt.`}}},p=()=>{let e=navigator.userAgent;return!!(/iP(hone|od|ad)/.test(e)||/Macintosh/.test(e)&&`ontouchend`in document)},m=()=>p()?`text`:`date`,h=e=>!e||e.length!==2?!0:a.u(e[0],e[1]),g=e=>a.p(e),_=(e,t,n,r,i)=>a.o(e,t,n,r,i),v=(e,t,n,r,i,a)=>({"pkt-input":!0,"pkt-datepicker__input":!0,"pkt-input--fullwidth":e,"pkt-datepicker--hasrangelabels":t,"pkt-datepicker--multiple":n,"pkt-datepicker--range":r,"ios-readonly-hack":i===!1&&a===`text`}),y=()=>({"pkt-input-icon":!0,"pkt-btn":!0,"pkt-btn--icon-only":!0,"pkt-btn--tertiary":!0,"pkt-datepicker__calendar-button":!0}),b=e=>({"pkt-input-prefix":e,"pkt-hide":!e}),x=(e,t,n)=>!t&&!n?Array.isArray(e)?e[0]||``:e:Array.isArray(e)?e.join(`,`):e,S=(e,t,n=!1)=>{if(!e||!t)return;let r=t.parentElement?.getBoundingClientRect()||t.getBoundingClientRect(),i=n?r.height+30:r.height,a=e.getBoundingClientRect().height,o=n?`calc(100% - 30px)`:`100%`;r&&r.top+a>window.innerHeight&&r.top-a>0&&(o=`calc(100% - ${i}px - ${a}px)`),e.style.top=o},C=(e,t,n,r,i,a)=>{let{key:o}=e;o===`,`&&(e.preventDefault(),a?a(e):i&&i()),(o===`Space`||o===` `)&&(e.preventDefault(),t(e)),o===`Enter`&&(e.preventDefault(),n?n():r?r():i&&i())},w=(e,t)=>{let{key:n}=e;(n===`Enter`||n===` `||n===`Space`)&&(e.preventDefault(),t(e))},T={validateRangeOrder:h,sortDates:g,filterSelectableDates:_},E={getInputType:m},D={submitForm(e){let t=e.internals?.form;t&&t.requestSubmit()},submitFormOrFallback(e,t){let n=e?.form;n?n.requestSubmit():t()},validateDateInput(e,t,n,r,i){let a=e.value;a&&(n&&n>a?t.setValidity({rangeUnderflow:!0},i?.forms?.messages?.rangeUnderflow||`Value is below minimum`,e):r&&r<a&&t.setValidity({rangeOverflow:!0},i?.forms?.messages?.rangeOverflow||`Value is above maximum`,e))}},O={addToSelected(e,t,n,r){let i=e.target;if(!i.value)return;let o=n?a.d(n):null,s=r?a.d(r):null,c=a.d(i.value.split(`,`)[0]);c&&!isNaN(c.getTime())&&(!o||c>=o)&&(!s||c<=s)&&t.value&&t.value.handleDateSelect(c),i.value=``},handleCalendarPosition(e,t,n=!1){S(e.value??null,t.value??null,n)}},k={getInputClasses:v,getButtonClasses:y,getRangeLabelClasses:b},A={processDateSelection:x,updateInputValues(e,t,n,r,i,a){e.value&&(r&&t?.value?(e.value.value=n[0]??``,t.value.value=n[1]??``,a(e.value),a(t.value)):i||(e.value.value=n.length?n[0]:``,a(e.value)))},processRangeBlur(e,t,n,r,i){let o=e.target;if(o.value){i(o);let e=a.c(o.value);e&&n?.value?.handleDateSelect(e)}else t[0]&&r()}},j={handleInputKeydown:C,handleButtonKeydown:w},M=class extends e.t{constructor(...e){super(...e),this.open=!1,this.multiple=!1,this.range=!1,this.weeknumbers=!1,this.withcontrols=!1,this.maxMultiple=null,this.selected=[],this.earliest=null,this.latest=null,this.excludedates=[],this.excludeweekdays=[],this.currentmonth=null,this.today=null,this._hasBeenOpened=!1,this.popupRef=i.t(),this.calendarRef=i.t(),this.handleDocumentClick=e=>{if(!this.open)return;let t=e.composedPath(),n=this.parentElement,r=this.popupRef.value;!t.includes(this)&&!t.includes(r)&&!(n&&t.includes(n))&&(this.hide(),this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0})))},this.handleDocumentKeydown=e=>{this.open&&e.key===`Escape`&&(this.hide(),this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0})))}}firstUpdated(){this.calRef=this.calendarRef}updated(e){super.updated(e),e.has(`open`)&&(this.open?(this._hasBeenOpened=!0,document.addEventListener(`keydown`,this.handleDocumentKeydown),document.addEventListener(`click`,this.handleDocumentClick)):(document.removeEventListener(`click`,this.handleDocumentClick),document.removeEventListener(`keydown`,this.handleDocumentKeydown)))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`click`,this.handleDocumentClick),document.removeEventListener(`keydown`,this.handleDocumentKeydown)}show(){this.open=!0,this.calendarRef.value?.focus()}hide(){this.open=!1}toggle(){this.open?this.hide():this.show()}contains(e){return!!e&&!!this.popupRef.value?.contains(e)}focusOnCurrentDate(){let e=this.calendarRef.value;e&&typeof e.focusOnCurrentDate==`function`&&e.focusOnCurrentDate()}addToSelected(e,t,n){if(this.calendarRef.value&&typeof O.addToSelected==`function`)return O.addToSelected(e,this.calendarRef,t,n);let r=e.target;if(!r.value)return;let i=t?a.d(t):null,o=n?a.d(n):null,s=a.d(r.value.split(`,`)[0]);s&&!isNaN(s.getTime())&&(!i||s>=i)&&(!o||s<=o)&&this.handleDateSelect(s),r.value=``}handleDateSelect(e){let t=this.calendarRef.value;if(t&&typeof t.handleDateSelect==`function`)return t.handleDateSelect(e);let n=a.s(e),r=this.selected.indexOf(n)>=0?this.selected.filter(e=>e!==n):[...this.selected,n];this.selected=r,this.dispatchEvent(new CustomEvent(`date-selected`,{detail:r,bubbles:!0,composed:!0}))}render(){return e.d`
13
+ <div
14
+ class="${t.t({"pkt-calendar-popup":!0,show:this.open,hide:!this.open})}"
15
+ ${i.n(this.popupRef)}
16
+ id="date-popup"
17
+ ?hidden=${!this.open}
18
+ aria-hidden="${!this.open}"
19
+ >
20
+ ${this.open||this._hasBeenOpened?e.d`<pkt-calendar
21
+ ${i.n(this.calendarRef)}
22
+ ?multiple=${this.multiple}
23
+ ?range=${this.range}
24
+ ?weeknumbers=${this.weeknumbers}
25
+ ?withcontrols=${this.withcontrols}
26
+ .maxMultiple=${this.maxMultiple}
27
+ .selected=${this.selected}
28
+ .earliest=${this.earliest}
29
+ .latest=${this.latest}
30
+ .excludedates=${this.excludedates}
31
+ .excludeweekdays=${this.excludeweekdays}
32
+ .currentmonth=${this.currentmonth}
33
+ .today=${this.today}
34
+ @date-selected=${e=>{this.selected=e.detail,this.dispatchEvent(new CustomEvent(`date-selected`,{detail:e.detail,bubbles:!0,composed:!0}))}}
35
+ @close=${()=>{this.hide(),this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0}))}}
36
+ ></pkt-calendar>`:e.l}
37
+ </div>
38
+ `}};e.r([e.s({type:Boolean,reflect:!0})],M.prototype,`open`,void 0),e.r([e.s({type:Boolean})],M.prototype,`multiple`,void 0),e.r([e.s({type:Boolean})],M.prototype,`range`,void 0),e.r([e.s({type:Boolean})],M.prototype,`weeknumbers`,void 0),e.r([e.s({type:Boolean})],M.prototype,`withcontrols`,void 0),e.r([e.s({type:Number})],M.prototype,`maxMultiple`,void 0),e.r([e.s({type:Array})],M.prototype,`selected`,void 0),e.r([e.s({type:String})],M.prototype,`earliest`,void 0),e.r([e.s({type:String})],M.prototype,`latest`,void 0),e.r([e.s({type:Array})],M.prototype,`excludedates`,void 0),e.r([e.s({type:Array})],M.prototype,`excludeweekdays`,void 0),e.r([e.s({type:String})],M.prototype,`currentmonth`,void 0),e.r([e.s({type:String})],M.prototype,`today`,void 0),e.r([e.o()],M.prototype,`_hasBeenOpened`,void 0);try{e.c(`pkt-datepicker-popup`)(M)}catch{console.warn(`Forsøker å definere <pkt-datepicker-popup>, men den er allerede definert`)}var N=class extends e.t{constructor(...e){super(...e),this.inputType=`date`,this.id=``,this.readonly=!1,this.disabled=!1,this.inputClasses={},this.inputRef=i.t(),this.btnRef=i.t()}get inputElement(){return this.inputRef.value}get buttonElement(){return this.btnRef.value}get isInputReadonly(){return this.readonly||this.inputType===`text`}dispatchToggleCalendar(e){this.readonly||this.dispatchEvent(new CustomEvent(`toggle-calendar`,{detail:e,bubbles:!0,composed:!0}))}dispatchInput(e){this.dispatchEvent(new CustomEvent(`input-change`,{detail:e,bubbles:!0,composed:!0}))}dispatchFocus(){this.dispatchEvent(new CustomEvent(`input-focus`,{bubbles:!0,composed:!0}))}dispatchBlur(e){this.dispatchEvent(new CustomEvent(`input-blur`,{detail:e,bubbles:!0,composed:!0}))}dispatchChange(e){this.dispatchEvent(new CustomEvent(`input-changed`,{detail:e,bubbles:!0,composed:!0}))}renderCalendarButton(){return e.d`
39
+ <button
40
+ class="${t.t(k.getButtonClasses())}"
41
+ type="button"
42
+ @click=${e=>this.dispatchToggleCalendar(e)}
43
+ @keydown=${e=>{let{key:t}=e;(t===`Enter`||t===` `||t===`Space`)&&(e.preventDefault(),this.dispatchToggleCalendar(e))}}
44
+ ?disabled=${this.disabled}
45
+ ${this.btnRef}
46
+ >
47
+ <pkt-icon name="calendar"></pkt-icon>
48
+ <span class="pkt-btn__text">${this.strings.calendar?.buttonAltText||`Åpne kalender`}</span>
49
+ </button>
50
+ `}createRenderRoot(){return this}};e.r([e.s({type:String})],N.prototype,`inputType`,void 0),e.r([e.s({type:String})],N.prototype,`id`,void 0),e.r([e.s({type:String})],N.prototype,`min`,void 0),e.r([e.s({type:String})],N.prototype,`max`,void 0),e.r([e.s({type:String})],N.prototype,`placeholder`,void 0),e.r([e.s({type:Boolean})],N.prototype,`readonly`,void 0),e.r([e.s({type:Boolean})],N.prototype,`disabled`,void 0),e.r([e.s({type:Object})],N.prototype,`inputClasses`,void 0),e.r([e.s({type:Object})],N.prototype,`internals`,void 0);var P=class extends N{constructor(...e){super(...e),this.value=``,this.strings=l}dispatchManageValidity(e){this.dispatchEvent(new CustomEvent(`manage-validity`,{detail:e,bubbles:!0,composed:!0}))}render(){return e.d`
51
+ <div class="pkt-input__container">
52
+ <input
53
+ class="${t.t(this.inputClasses)}"
54
+ .type=${this.inputType}
55
+ id="${this.id}-input"
56
+ .value=${this.value}
57
+ min=${r.t(this.min)}
58
+ max=${r.t(this.max)}
59
+ placeholder=${r.t(this.placeholder)}
60
+ ?readonly=${this.isInputReadonly}
61
+ aria-describedby="${this.id}-helptext"
62
+ @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
63
+ @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
64
+ ?disabled=${this.disabled}
65
+ @keydown=${e=>j.handleInputKeydown(e,e=>this.dispatchToggleCalendar(e),()=>D.submitFormOrFallback(this.internals,()=>this.inputRef.value?.blur()),void 0,()=>this.inputRef.value?.blur())}
66
+ @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
67
+ @focus=${()=>{this.dispatchFocus(),p()&&this.dispatchToggleCalendar(new Event(`focus`))}}
68
+ @blur=${e=>{this.dispatchBlur(e),this.dispatchManageValidity(e.target),this.dispatchEvent(new CustomEvent(`value-change`,{detail:e.target.value,bubbles:!0,composed:!0}))}}
69
+ @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
70
+ ${i.n(this.inputRef)}
71
+ />
72
+ ${this.renderCalendarButton()}
73
+ </div>
74
+ `}};e.r([e.s({type:String})],P.prototype,`value`,void 0),e.r([e.s({type:Object})],P.prototype,`strings`,void 0);try{e.c(`pkt-datepicker-single`)(P)}catch{console.warn(`Forsøker å definere <pkt-datepicker-single>, men den er allerede definert`)}var F=class extends N{constructor(...e){super(...e),this.value=[],this.label=``,this.showRangeLabels=!1,this.strings=u,this.inputRefTo=i.t()}get inputElementTo(){return this.inputRefTo.value}render(){let n=k.getRangeLabelClasses(this.showRangeLabels);return e.d`
75
+ <div class="pkt-input__container">
76
+ ${this.showRangeLabels?e.d` <div class="pkt-input-prefix">${this.strings.generic?.from}</div> `:e.l}
77
+ <input
78
+ class=${t.t(this.inputClasses)}
79
+ .type=${this.inputType}
80
+ id="${this.id}-input"
81
+ aria-label="${this.label} ${this.strings.generic?.from??`Fra`}"
82
+ .value=${this.value[0]??``}
83
+ min=${r.t(this.min)}
84
+ max=${r.t(this.max)}
85
+ placeholder=${r.t(this.placeholder)}
86
+ ?readonly=${this.isInputReadonly}
87
+ ?disabled=${this.disabled}
88
+ @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
89
+ @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
90
+ @keydown=${e=>j.handleInputKeydown(e,e=>this.dispatchToggleCalendar(e),()=>D.submitFormOrFallback(this.internals,()=>this.inputRefTo.value?.focus()),()=>this.inputRefTo.value?.focus(),()=>this.inputRef.value?.blur())}
91
+ @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
92
+ @focus=${()=>{this.dispatchFocus(),p()&&this.dispatchToggleCalendar(new Event(`focus`))}}
93
+ @blur=${e=>{this.dispatchBlur(e),this.dispatchEvent(new CustomEvent(`range-blur`,{detail:{event:e,values:this.value,inputType:`from`},bubbles:!0,composed:!0}))}}
94
+ @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
95
+ ${i.n(this.inputRef)}
96
+ />
97
+ <div class="${t.t(n)}" id="${this.id}-to-label">
98
+ ${this.strings.generic?.to}
99
+ </div>
100
+ ${this.showRangeLabels?e.l:e.d` <div class="pkt-input-separator">–</div> `}
101
+ <input
102
+ class=${t.t(this.inputClasses)}
103
+ .type=${this.inputType}
104
+ id="${this.id}-to"
105
+ aria-label="${this.label} ${this.strings.generic?.to??`Til`}"
106
+ .value=${this.value[1]??``}
107
+ min=${r.t(this.min)}
108
+ max=${r.t(this.max)}
109
+ placeholder=${r.t(this.placeholder)}
110
+ ?readonly=${this.isInputReadonly}
111
+ ?disabled=${this.disabled}
112
+ @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
113
+ @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
114
+ @keydown=${e=>j.handleInputKeydown(e,e=>this.dispatchToggleCalendar(e),()=>D.submitFormOrFallback(this.internals,()=>this.inputRefTo.value?.blur()),void 0,()=>this.inputRefTo.value?.blur())}
115
+ @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
116
+ @focus=${()=>{this.dispatchFocus(),p()&&this.dispatchToggleCalendar(new Event(`focus`))}}
117
+ @blur=${e=>{this.dispatchBlur(e),this.dispatchEvent(new CustomEvent(`range-blur`,{detail:{event:e,values:this.value,inputType:`to`},bubbles:!0,composed:!0}))}}
118
+ @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
119
+ ${i.n(this.inputRefTo)}
120
+ />
121
+ ${this.renderCalendarButton()}
122
+ </div>
123
+ `}};e.r([e.s({type:Array})],F.prototype,`value`,void 0),e.r([e.s({type:String})],F.prototype,`label`,void 0),e.r([e.s({type:Boolean})],F.prototype,`showRangeLabels`,void 0),e.r([e.s({type:Object})],F.prototype,`strings`,void 0);try{e.c(`pkt-datepicker-range`)(F)}catch{console.warn(`Forsøker å definere <pkt-datepicker-range>, men den er allerede definert`)}var I=class extends N{constructor(...e){super(...e),this.value=[],this.strings=l}get isInputDisabled(){return this.disabled||this.maxlength!==void 0&&this.maxlength!==null&&this.value.length>=this.maxlength}dispatchAddToSelected(e){this.dispatchEvent(new CustomEvent(`add-to-selected`,{detail:e,bubbles:!0,composed:!0}))}render(){return e.d`
124
+ <div class="pkt-input__container">
125
+ <input
126
+ class=${t.t(this.inputClasses)}
127
+ .type=${this.inputType}
128
+ id="${this.id}-input"
129
+ min=${r.t(this.min)}
130
+ max=${r.t(this.max)}
131
+ placeholder=${r.t(this.placeholder)}
132
+ ?readonly=${this.isInputReadonly}
133
+ ?disabled=${this.isInputDisabled}
134
+ @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
135
+ @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
136
+ @blur=${e=>{this.dispatchBlur(e),this.dispatchAddToSelected(e)}}
137
+ @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
138
+ @focus=${()=>{this.dispatchFocus(),p()&&this.dispatchToggleCalendar(new Event(`focus`))}}
139
+ @keydown=${e=>j.handleInputKeydown(e,e=>this.dispatchToggleCalendar(e),()=>D.submitFormOrFallback(this.internals,()=>this.inputRef.value?.blur()),void 0,void 0,e=>this.dispatchAddToSelected(e))}
140
+ @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
141
+ ${i.n(this.inputRef)}
142
+ />
143
+ ${this.renderCalendarButton()}
144
+ </div>
145
+ `}};e.r([e.s({type:Array})],I.prototype,`value`,void 0),e.r([e.s({type:Number})],I.prototype,`maxlength`,void 0),e.r([e.s({type:Object})],I.prototype,`strings`,void 0);try{e.c(`pkt-datepicker-multiple`)(I)}catch{console.warn(`Forsøker å definere <pkt-datepicker-multiple>, men den er allerede definert`)}var L=class extends c.t{constructor(...e){super(...e),this._valueProperty=``,this._valueProcessing=!1,this.datepickerPopupRef=i.t(),this._value=[],this.label=`Datovelger`,this.dateformat=f.props.dateformat.default,this.multiple=f.props.multiple.default,this.maxlength=null,this.range=f.props.range.default,this.showRangeLabels=!1,this.min=null,this.max=null,this.weeknumbers=f.props.weeknumbers.default,this.withcontrols=f.props.withcontrols.default,this.excludedates=[],this.excludeweekdays=[],this.currentmonth=null,this.today=null,this.calendarOpen=!1,this.timezone=`Europe/Oslo`,this.inputClasses={},this.calRef=i.t(),this.popupRef=i.t(),this.singleInputRef=i.t(),this.rangeInputRef=i.t(),this.multipleInputRef=i.t(),this.addToSelected=e=>{let t=this.datepickerPopupRef.value;return t&&typeof t.addToSelected==`function`?t.addToSelected(e,this.min,this.max):O.addToSelected(e,this.calRef,this.min,this.max)}}get value(){return this._valueProperty}set value(e){let t=this._valueProperty;this._valueProperty=Array.isArray(e)?e.join(`,`):e||``,this.valueChanged(this._valueProperty,t),this.requestUpdate(`value`,t)}get inputType(){return E.getInputType()}connectedCallback(){super.connectedCallback(),this.timezone&&this.timezone!==window.pktTz&&(window.pktTz=this.timezone)}disconnectedCallback(){super.disconnectedCallback()}onInput(){this.dispatchEvent(new Event(`input`,{bubbles:!0}))}valueChanged(e,t){if(!(this._valueProcessing||e===t)){this._valueProcessing=!0;try{let n=a.a(e),r=this.multiple&&n.length>1?T.filterSelectableDates(n,this.min,this.max,this.excludedates,this.excludeweekdays):n;if(this.range&&!T.validateRangeOrder(r)){this._value=[],this._valueProperty=``,super.valueChanged(``,t);return}this._value=r;let i=a.i(r);if(this._valueProperty!==i&&(this._valueProperty=i),this.range&&r.length<2)return;super.valueChanged(i,t)}finally{this._valueProcessing=!1}}}attributeChangedCallback(e,t,n){e===`value`&&this.value!==t&&this.valueChanged(n,t),e===`excludedates`&&typeof this.excludedates==`string`&&(this.excludedates=a.a(n||``)),e===`excludeweekdays`&&typeof this.excludeweekdays==`string`&&(this.excludeweekdays=a.a(n||``)),super.attributeChangedCallback(e,t,n)}updated(e){if(e.has(`value`)&&(e.has(`multiple`)||e.has(`range`))){let t=Array.isArray(this.value)?this.value.join(`,`):this.value,n=e.get(`value`),r=Array.isArray(n)?n.join(`,`):n;this.valueChanged(t,r)}e.has(`multiple`)&&(this.multiple&&!Array.isArray(this._value)?this._value=a.a(this.value):!this.multiple&&Array.isArray(this._value)&&(this._value=this._value.filter(Boolean)),!this.multiple&&!this.range&&Array.isArray(this._value)&&(this._value=[this._value[0]??``])),super.updated(e)}get inputRef(){return{value:this.currentInputElement}}get inputRefTo(){return{value:this.currentInputElementTo}}get currentInputElement(){return this.multiple?this.multipleInputRef.value?.inputElement:this.range?this.rangeInputRef.value?.inputElement:this.singleInputRef.value?.inputElement}get currentInputElementTo(){if(this.range)return this.rangeInputRef.value?.inputElementTo}get currentButtonElement(){return this.multiple?this.multipleInputRef.value?.buttonElement:this.range?this.rangeInputRef.value?.buttonElement:this.singleInputRef.value?.buttonElement}get btnRef(){return{value:this.currentButtonElement}}renderInput(){return e.d`
146
+ <pkt-datepicker-single
147
+ .value=${this._value[0]??``}
148
+ .inputType=${this.inputType}
149
+ .id=${this.id}
150
+ .min=${this.min}
151
+ .max=${this.max}
152
+ .placeholder=${this.placeholder}
153
+ .readonly=${this.readonly}
154
+ .disabled=${this.disabled}
155
+ .inputClasses=${this.inputClasses}
156
+ .internals=${this.internals}
157
+ .strings=${this.strings}
158
+ @toggle-calendar=${e=>this.toggleCalendar(e.detail)}
159
+ @input-change=${()=>this.onInput()}
160
+ @input-focus=${()=>this.onFocus()}
161
+ @input-blur=${e=>{this.calRef.value?.contains(e.detail.relatedTarget)||this.onBlur()}}
162
+ @manage-validity=${e=>this.manageValidity(e.detail)}
163
+ @value-change=${e=>{this.value=e.detail}}
164
+ @input-changed=${()=>{this.touched=!0}}
165
+ ${i.n(this.singleInputRef)}
166
+ ></pkt-datepicker-single>
167
+ `}renderRangeInput(){return e.d`
168
+ <pkt-datepicker-range
169
+ .value=${this._value}
170
+ .inputType=${this.inputType}
171
+ .id=${this.id}
172
+ .label=${this.label}
173
+ .min=${this.min}
174
+ .max=${this.max}
175
+ .placeholder=${this.placeholder}
176
+ .readonly=${this.readonly}
177
+ .disabled=${this.disabled}
178
+ .showRangeLabels=${this.showRangeLabels}
179
+ .inputClasses=${this.inputClasses}
180
+ .internals=${this.internals}
181
+ .strings=${this.strings}
182
+ @toggle-calendar=${e=>this.toggleCalendar(e.detail)}
183
+ @input-change=${()=>this.onInput()}
184
+ @input-focus=${()=>this.onFocus()}
185
+ @input-blur=${e=>{this.calRef.value?.contains(e.detail.relatedTarget)||this.onBlur()}}
186
+ @range-blur=${e=>{let t=this.currentInputElement,n=this.currentInputElementTo;if(t&&n){let e=t.value,r=n.value;if(e&&r&&e>r)n.value=``,this._value=[e],this.value=e;else{let t=[e,r].filter(Boolean);t.length>0&&(t[0]!==this._value[0]||t[1]!==this._value[1])&&(this._value=t,this.value=t.join(`,`))}}A.processRangeBlur(e.detail.event,e.detail.values,this.calRef,()=>this.clearInputValue(),e=>this.manageValidity(e))}}
187
+ @manage-validity=${e=>this.manageValidity(e.detail)}
188
+ @validate-date-input=${e=>{D.validateDateInput(e.detail,this.internals,this.min,this.max,this.strings)}}
189
+ @handle-date-select=${e=>{let t=a.c(e.detail);if(t){let e=a.s(t);this._value[0]!==e&&this._value[1]!==e&&this.calRef?.value?.handleDateSelect(t)}}}
190
+ @input-changed=${()=>{this.touched=!0}}
191
+ ${i.n(this.rangeInputRef)}
192
+ ></pkt-datepicker-range>
193
+ `}renderMultipleInput(){return e.d`
194
+ <pkt-datepicker-multiple
195
+ .value=${this._value}
196
+ .inputType=${this.inputType}
197
+ .id=${this.id}
198
+ .min=${this.min}
199
+ .max=${this.max}
200
+ .placeholder=${this.placeholder}
201
+ .readonly=${this.readonly}
202
+ .disabled=${this.disabled}
203
+ .maxlength=${this.maxlength}
204
+ .inputClasses=${this.inputClasses}
205
+ .internals=${this.internals}
206
+ .strings=${this.strings}
207
+ @toggle-calendar=${e=>this.toggleCalendar(e.detail)}
208
+ @input-change=${()=>this.onInput()}
209
+ @input-focus=${()=>this.onFocus()}
210
+ @input-blur=${e=>{this.calRef.value?.contains(e.detail.relatedTarget)||this.onBlur()}}
211
+ @add-to-selected=${e=>this.addToSelected(e.detail)}
212
+ @input-changed=${()=>{this.touched=!0}}
213
+ ${i.n(this.multipleInputRef)}
214
+ ></pkt-datepicker-multiple>
215
+ `}renderCalendar(){return e.d`
216
+ <pkt-datepicker-popup
217
+ class="pkt-contents"
218
+ ?open=${this.calendarOpen}
219
+ ?multiple=${this.multiple}
220
+ ?range=${this.range}
221
+ ?weeknumbers=${this.weeknumbers}
222
+ ?withcontrols=${this.withcontrols}
223
+ .maxMultiple=${this.maxlength}
224
+ .selected=${this._value}
225
+ .earliest=${this.min}
226
+ .latest=${this.max}
227
+ .excludedates=${Array.isArray(this.excludedates)?this.excludedates:this.excludedates.split(`,`)}
228
+ .excludeweekdays=${this.excludeweekdays}
229
+ .currentmonth=${this.currentmonth?a.f(this.currentmonth):null}
230
+ .today=${this.today}
231
+ @date-selected=${e=>{this.value=A.processDateSelection(e.detail,this.multiple,this.range),this._value=e.detail,A.updateInputValues(this.inputRef,this.inputRefTo,this._value,this.range,this.multiple,e=>this.manageValidity(e))}}
232
+ @close=${()=>{this.onBlur(),this.hideCalendar()}}
233
+ ${i.n(this.datepickerPopupRef)}
234
+ ></pkt-datepicker-popup>
235
+ `}render(){return this.inputClasses=k.getInputClasses(this.fullwidth,this.showRangeLabels,this.multiple,this.range,this.readonly,this.inputType),e.d`
236
+ <pkt-input-wrapper
237
+ label="${this.label}"
238
+ forId="${this.id}-input"
239
+ ?counter=${this.multiple&&!!this.maxlength}
240
+ .counterCurrent=${this.value?this._value.length:0}
241
+ .counterMaxLength=${this.maxlength}
242
+ ?disabled=${this.disabled}
243
+ ?hasError=${this.hasError}
244
+ ?hasFieldset=${this.hasFieldset}
245
+ ?inline=${this.inline}
246
+ ?required=${this.required}
247
+ ?optionalTag=${this.optionalTag}
248
+ ?requiredTag=${this.requiredTag}
249
+ useWrapper=${this.useWrapper}
250
+ .optionalText=${this.optionalText}
251
+ .requiredText=${this.requiredText}
252
+ .tagText=${this.tagText}
253
+ .errorMessage=${this.errorMessage}
254
+ .helptext=${this.helptext}
255
+ .helptextDropdown=${this.helptextDropdown}
256
+ .helptextDropdownButton=${this.helptextDropdownButton}
257
+ .ariaDescribedBy=${this.ariaDescribedBy}
258
+ class="pkt-datepicker"
259
+ >
260
+ <div class="pkt-contents" slot="helptext">${n.n(this,`helptext`)}</div>
261
+ ${this.multiple?e.d`<pkt-date-tags
262
+ .dates=${this._value}
263
+ dateformat=${this.dateformat}
264
+ strings=${this.strings}
265
+ id-base=${this.id}
266
+ @date-tag-removed=${e=>{let t=this.datepickerPopupRef.value,n=a.c(e.detail);t&&n&&typeof t.handleDateSelect==`function`?t.handleDateSelect(n):this.calRef.value?.handleDateSelect(n)}}
267
+ ></pkt-date-tags>`:e.l}
268
+ <div class="pkt-datepicker__inputs ${this.range?`pkt-input__range-inputs`:``}">
269
+ ${this.range?this.renderRangeInput():this.multiple?this.renderMultipleInput():this.renderInput()}
270
+ </div>
271
+ </pkt-input-wrapper>
272
+ ${this.renderCalendar()}
273
+ `}handleCalendarPosition(){let e=this.multiple&&!!this.maxlength;O.handleCalendarPosition(this.popupRef,this.inputRef,e)}async showCalendar(){let e=this.datepickerPopupRef.value;if(this.calendarOpen=!0,e&&typeof e.show==`function`){e.show(),p()&&e.focusOnCurrentDate();return}await s.t(20),this.handleCalendarPosition(),p()&&this.calRef.value?.focusOnCurrentDate()}hideCalendar(){let e=this.datepickerPopupRef.value;if(this.calendarOpen=!1,e&&typeof e.hide==`function`)return e.hide()}async toggleCalendar(e){e.preventDefault();let t=this.datepickerPopupRef.value;if(t&&typeof t.toggle==`function`){let e=!!t.open;t.toggle(),this.calendarOpen=!e;return}this.calendarOpen?this.hideCalendar():this.showCalendar()}clearInputValue(){this._value=[],this.value=``,this.internals.setFormValue(this.value),this.dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`value-change`,{detail:this._value,bubbles:!0,composed:!0}))}};e.r([e.s({type:String,reflect:!0})],L.prototype,`value`,null),e.r([e.s({type:String,reflect:!0})],L.prototype,`label`,void 0),e.r([e.s({type:String})],L.prototype,`dateformat`,void 0),e.r([e.s({type:Boolean,reflect:!0})],L.prototype,`multiple`,void 0),e.r([e.s({type:Number,reflect:!0})],L.prototype,`maxlength`,void 0),e.r([e.s({type:Boolean,reflect:!0})],L.prototype,`range`,void 0),e.r([e.s({type:Boolean,attribute:`show-range-labels`})],L.prototype,`showRangeLabels`,void 0),e.r([e.s({type:String,reflect:!0})],L.prototype,`min`,void 0),e.r([e.s({type:String,reflect:!0})],L.prototype,`max`,void 0),e.r([e.s({type:Boolean})],L.prototype,`weeknumbers`,void 0),e.r([e.s({type:Boolean,reflect:!0})],L.prototype,`withcontrols`,void 0),e.r([e.s({converter:a.r.csvToArray})],L.prototype,`excludedates`,void 0),e.r([e.s({converter:a.r.csvToArray})],L.prototype,`excludeweekdays`,void 0),e.r([e.s({type:String})],L.prototype,`currentmonth`,void 0),e.r([e.s({type:String})],L.prototype,`today`,void 0),e.r([e.s({type:Boolean,reflect:!0,attribute:`calendar-open`})],L.prototype,`calendarOpen`,void 0),e.r([e.s({type:String})],L.prototype,`timezone`,void 0),e.r([e.o()],L.prototype,`inputClasses`,void 0);try{e.c(`pkt-datepicker`)(L)}catch{console.warn(`Forsøker å definere <pkt-datepicker>, men den er allerede definert`)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return L}});