@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
@@ -1,11 +1,11 @@
1
- import { a as e, d as t, n, o as r, p as i, s as a } from "./element-ChsFgr_B.js";
2
- import { t as o } from "./class-map-CnWCnBSX.js";
3
- import { n as s } from "./element-with-slot-BvG9ctC-.js";
4
- import "./icon-D-LA22xD.js";
5
- import { t as c } from "./if-defined-CGzIlZ9-.js";
6
- import { n as l, t as u } from "./ref-CWD6PjVd.js";
7
- import { t as d } from "./input-element-DBMNBplu.js";
8
- import { r as f } from "./input-wrapper-BmxNvznr.js";
1
+ import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-BKSPVgs2.js";
2
+ import { t as o } from "./class-map-F1DJHyb7.js";
3
+ import { n as s } from "./element-with-slot-YUAUFRqw.js";
4
+ import "./icon-HYU1f54x.js";
5
+ import { t as c } from "./if-defined-BF8XcDi5.js";
6
+ import { n as l, t as u } from "./ref-Chc_DZAb.js";
7
+ import { t as d } from "./input-element-D07DmR34.js";
8
+ import { r as f } from "./input-wrapper-Cci_wTvD.js";
9
9
  //#region src/components/textinput/textinput.ts
10
10
  var p = class extends d {
11
11
  constructor(...e) {
@@ -18,16 +18,17 @@ var p = class extends d {
18
18
  super.updated(e), this.classList.add("pkt-textinput"), e.has("value") && (this.counterCurrent = this.value?.length || 0, this.valueChanged(this.value, e.get("value"))), e.has("id") && !this.name && this.id && (this.name = this.id);
19
19
  }
20
20
  render() {
21
- let e = this.type === "search" && !this.iconNameRight && !this.omitSearchIcon, n = this.effectiveCounter(this.counterMaxLength > 0), r = o({
21
+ let t = this.type === "search" && !this.iconNameRight && !this.omitSearchIcon, r = this.effectiveCounter(this.counterMaxLength > 0), i = o({
22
22
  "pkt-input": !0,
23
23
  [`pkt-input--${this.inputSize}`]: !0,
24
24
  "pkt-input--fullwidth": this.fullwidth,
25
- "pkt-input--counter-error": n && this.counterMaxLength > 0 && this.value.length > this.counterMaxLength
25
+ "pkt-input--counter-error": r && this.counterMaxLength > 0 && this.value.length > this.counterMaxLength
26
26
  }), a = this.ariaLabelledby || `${this.id}-input-label`;
27
- return i`
27
+ return e`
28
28
  <pkt-input-wrapper
29
+ .strings=${this.strings}
29
30
  label="${this.label}"
30
- ?counter=${n}
31
+ ?counter=${r}
31
32
  ?hasFieldset=${this.effectiveHasFieldset(!1)}
32
33
  ?disabled=${this.disabled}
33
34
  ?hasError=${this.hasError}
@@ -51,10 +52,10 @@ var p = class extends d {
51
52
  >
52
53
  <div class="pkt-contents" slot="helptext">${s(this, "helptext")}</div>
53
54
  <div class=${`pkt-input__container pkt-input__container--${this.inputSize}`}>
54
- ${this.prefix ? i`<div class="pkt-input-prefix">${this.prefix}</div>` : t}
55
+ ${this.prefix ? e`<div class="pkt-input-prefix">${this.prefix}</div>` : n}
55
56
  <input
56
57
  ${l(this.inputRef)}
57
- class=${r}
58
+ class=${i}
58
59
  type=${this.type}
59
60
  name=${(this.name || this.id) + "-input"}
60
61
  id=${this.id + "-input"}
@@ -67,7 +68,7 @@ var p = class extends d {
67
68
  max=${c(this.max || void 0)}
68
69
  step=${c(this.step || void 0)}
69
70
  ?readonly=${this.readonly}
70
- size=${this.size || t}
71
+ size=${this.size || n}
71
72
  .value=${this.value}
72
73
  ?disabled=${this.disabled}
73
74
  aria-invalid=${this.hasError}
@@ -75,7 +76,7 @@ var p = class extends d {
75
76
  aria-describedby=${c(f({
76
77
  id: this.id + "-input",
77
78
  hasHelptext: !!this.helptext,
78
- hasCounter: n,
79
+ hasCounter: r,
79
80
  ariaDescribedby: this.ariaDescribedby
80
81
  }))}
81
82
  @input=${(e) => {
@@ -97,30 +98,30 @@ var p = class extends d {
97
98
  }
98
99
  }}
99
100
  />
100
- ${this.suffix ? i`<div class="pkt-input-suffix">
101
+ ${this.suffix ? e`<div class="pkt-input-suffix">
101
102
  ${this.suffix}
102
- ${this.iconNameRight ? i`<pkt-icon
103
+ ${this.iconNameRight ? e`<pkt-icon
103
104
  class="pkt-input-suffix-icon"
104
105
  name=${this.iconNameRight}
105
- ></pkt-icon>` : t}
106
- ${e ? i`<pkt-icon
106
+ ></pkt-icon>` : n}
107
+ ${t ? e`<pkt-icon
107
108
  class="pkt-input-suffix-icon"
108
109
  name="magnifying-glass-big"
109
- ></pkt-icon>` : t}
110
- </div>` : t}
111
- ${!this.suffix && this.iconNameRight ? i`<pkt-icon class="pkt-input-icon" name=${this.iconNameRight}></pkt-icon>` : t}
112
- ${!this.suffix && e ? i`<pkt-icon class="pkt-input-icon" name="magnifying-glass-big"></pkt-icon>` : t}
110
+ ></pkt-icon>` : n}
111
+ </div>` : n}
112
+ ${!this.suffix && this.iconNameRight ? e`<pkt-icon class="pkt-input-icon" name=${this.iconNameRight}></pkt-icon>` : n}
113
+ ${!this.suffix && t ? e`<pkt-icon class="pkt-input-icon" name="magnifying-glass-big"></pkt-icon>` : n}
113
114
  </div>
114
115
  </pkt-input-wrapper>
115
116
  `;
116
117
  }
117
118
  };
118
- n([r({
119
+ i([a({
119
120
  type: String,
120
121
  reflect: !0
121
- })], p.prototype, "value", void 0), n([r({ type: String })], p.prototype, "type", void 0), n([r({ type: Number })], p.prototype, "size", void 0), n([r({ type: String })], p.prototype, "autocomplete", void 0), n([r({ type: String })], p.prototype, "iconNameRight", void 0), n([r({ type: String })], p.prototype, "prefix", void 0), n([r({ type: String })], p.prototype, "suffix", void 0), n([r({ type: Boolean })], p.prototype, "omitSearchIcon", void 0), n([e()], p.prototype, "counterCurrent", void 0);
122
+ })], p.prototype, "value", void 0), i([a({ type: String })], p.prototype, "type", void 0), i([a({ type: Number })], p.prototype, "size", void 0), i([a({ type: String })], p.prototype, "autocomplete", void 0), i([a({ type: String })], p.prototype, "iconNameRight", void 0), i([a({ type: String })], p.prototype, "prefix", void 0), i([a({ type: String })], p.prototype, "suffix", void 0), i([a({ type: Boolean })], p.prototype, "omitSearchIcon", void 0), i([r()], p.prototype, "counterCurrent", void 0);
122
123
  try {
123
- a("pkt-textinput")(p);
124
+ t("pkt-textinput")(p);
124
125
  } catch {
125
126
  console.warn("Forsøker å definere <pkt-textinput>, men den er allerede definert");
126
127
  }
@@ -1,5 +1,6 @@
1
- const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),n=require("./element-with-slot-Bj7nm7fO.cjs");require("./icon-9iwd2F2l.cjs");const r=require("./if-defined-B89_ZeCj.cjs"),i=require("./ref-CQoEIIp0.cjs"),a=require("./input-element-DYmQw-fH.cjs"),o=require("./input-wrapper-Q-B-aBeb.cjs");var s=class extends a.t{constructor(...e){super(...e),this.inputRef=i.t(),this.value=``,this.type=`text`,this.size=null,this.autocomplete=null,this.iconNameRight=null,this.prefix=null,this.suffix=null,this.omitSearchIcon=!1,this.counterCurrent=0}attributeChangedCallback(e,t,n){e===`value`&&this.value!==t&&(this.counterCurrent=n?n.length:0),super.attributeChangedCallback(e,t,n)}updated(e){super.updated(e),this.classList.add(`pkt-textinput`),e.has(`value`)&&(this.counterCurrent=this.value?.length||0,this.valueChanged(this.value,e.get(`value`))),e.has(`id`)&&!this.name&&this.id&&(this.name=this.id)}render(){let a=this.type===`search`&&!this.iconNameRight&&!this.omitSearchIcon,s=this.effectiveCounter(this.counterMaxLength>0),c=t.t({"pkt-input":!0,[`pkt-input--${this.inputSize}`]:!0,"pkt-input--fullwidth":this.fullwidth,"pkt-input--counter-error":s&&this.counterMaxLength>0&&this.value.length>this.counterMaxLength}),l=this.ariaLabelledby||`${this.id}-input-label`;return e.p`
1
+ const e=require("./element-B8OGznK0.cjs"),t=require("./class-map-CzCE5pqG.cjs"),n=require("./element-with-slot-DTxILHVv.cjs");require("./icon-BmMC09mi.cjs");const r=require("./if-defined-CVYApOgK.cjs"),i=require("./ref-CHbJYtKE.cjs"),a=require("./input-element-DumGj_oJ.cjs"),o=require("./input-wrapper-DDfapoRX.cjs");var s=class extends a.t{constructor(...e){super(...e),this.inputRef=i.t(),this.value=``,this.type=`text`,this.size=null,this.autocomplete=null,this.iconNameRight=null,this.prefix=null,this.suffix=null,this.omitSearchIcon=!1,this.counterCurrent=0}attributeChangedCallback(e,t,n){e===`value`&&this.value!==t&&(this.counterCurrent=n?n.length:0),super.attributeChangedCallback(e,t,n)}updated(e){super.updated(e),this.classList.add(`pkt-textinput`),e.has(`value`)&&(this.counterCurrent=this.value?.length||0,this.valueChanged(this.value,e.get(`value`))),e.has(`id`)&&!this.name&&this.id&&(this.name=this.id)}render(){let a=this.type===`search`&&!this.iconNameRight&&!this.omitSearchIcon,s=this.effectiveCounter(this.counterMaxLength>0),c=t.t({"pkt-input":!0,[`pkt-input--${this.inputSize}`]:!0,"pkt-input--fullwidth":this.fullwidth,"pkt-input--counter-error":s&&this.counterMaxLength>0&&this.value.length>this.counterMaxLength}),l=this.ariaLabelledby||`${this.id}-input-label`;return e._`
2
2
  <pkt-input-wrapper
3
+ .strings=${this.strings}
3
4
  label="${this.label}"
4
5
  ?counter=${s}
5
6
  ?hasFieldset=${this.effectiveHasFieldset(!1)}
@@ -25,7 +26,7 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
25
26
  >
26
27
  <div class="pkt-contents" slot="helptext">${n.n(this,`helptext`)}</div>
27
28
  <div class=${`pkt-input__container pkt-input__container--${this.inputSize}`}>
28
- ${this.prefix?e.p`<div class="pkt-input-prefix">${this.prefix}</div>`:e.d}
29
+ ${this.prefix?e._`<div class="pkt-input-prefix">${this.prefix}</div>`:e.h}
29
30
  <input
30
31
  ${i.n(this.inputRef)}
31
32
  class=${c}
@@ -41,7 +42,7 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
41
42
  max=${r.t(this.max||void 0)}
42
43
  step=${r.t(this.step||void 0)}
43
44
  ?readonly=${this.readonly}
44
- size=${this.size||e.d}
45
+ size=${this.size||e.h}
45
46
  .value=${this.value}
46
47
  ?disabled=${this.disabled}
47
48
  aria-invalid=${this.hasError}
@@ -53,19 +54,19 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
53
54
  @blur=${e=>{this.value=e.target.value,this.onBlur(),e.stopImmediatePropagation()}}
54
55
  @keydown=${e=>{if(e.key===`Enter`){let e=this.internals.form;e?e.requestSubmit():this.inputRef.value?.blur()}}}
55
56
  />
56
- ${this.suffix?e.p`<div class="pkt-input-suffix">
57
+ ${this.suffix?e._`<div class="pkt-input-suffix">
57
58
  ${this.suffix}
58
- ${this.iconNameRight?e.p`<pkt-icon
59
+ ${this.iconNameRight?e._`<pkt-icon
59
60
  class="pkt-input-suffix-icon"
60
61
  name=${this.iconNameRight}
61
- ></pkt-icon>`:e.d}
62
- ${a?e.p`<pkt-icon
62
+ ></pkt-icon>`:e.h}
63
+ ${a?e._`<pkt-icon
63
64
  class="pkt-input-suffix-icon"
64
65
  name="magnifying-glass-big"
65
- ></pkt-icon>`:e.d}
66
- </div>`:e.d}
67
- ${!this.suffix&&this.iconNameRight?e.p`<pkt-icon class="pkt-input-icon" name=${this.iconNameRight}></pkt-icon>`:e.d}
68
- ${!this.suffix&&a?e.p`<pkt-icon class="pkt-input-icon" name="magnifying-glass-big"></pkt-icon>`:e.d}
66
+ ></pkt-icon>`:e.h}
67
+ </div>`:e.h}
68
+ ${!this.suffix&&this.iconNameRight?e._`<pkt-icon class="pkt-input-icon" name=${this.iconNameRight}></pkt-icon>`:e.h}
69
+ ${!this.suffix&&a?e._`<pkt-icon class="pkt-input-icon" name="magnifying-glass-big"></pkt-icon>`:e.h}
69
70
  </div>
70
71
  </pkt-input-wrapper>
71
- `}};e.n([e.o({type:String,reflect:!0})],s.prototype,`value`,void 0),e.n([e.o({type:String})],s.prototype,`type`,void 0),e.n([e.o({type:Number})],s.prototype,`size`,void 0),e.n([e.o({type:String})],s.prototype,`autocomplete`,void 0),e.n([e.o({type:String})],s.prototype,`iconNameRight`,void 0),e.n([e.o({type:String})],s.prototype,`prefix`,void 0),e.n([e.o({type:String})],s.prototype,`suffix`,void 0),e.n([e.o({type:Boolean})],s.prototype,`omitSearchIcon`,void 0),e.n([e.a()],s.prototype,`counterCurrent`,void 0);try{e.s(`pkt-textinput`)(s)}catch{console.warn(`Forsøker å definere <pkt-textinput>, men den er allerede definert`)}var c=s;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return c}});
72
+ `}};e.n([e.u({type:String,reflect:!0})],s.prototype,`value`,void 0),e.n([e.u({type:String})],s.prototype,`type`,void 0),e.n([e.u({type:Number})],s.prototype,`size`,void 0),e.n([e.u({type:String})],s.prototype,`autocomplete`,void 0),e.n([e.u({type:String})],s.prototype,`iconNameRight`,void 0),e.n([e.u({type:String})],s.prototype,`prefix`,void 0),e.n([e.u({type:String})],s.prototype,`suffix`,void 0),e.n([e.u({type:Boolean})],s.prototype,`omitSearchIcon`,void 0),e.n([e.l()],s.prototype,`counterCurrent`,void 0);try{e.d(`pkt-textinput`)(s)}catch{console.warn(`Forsøker å definere <pkt-textinput>, men den er allerede definert`)}var c=s;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return c}});
@@ -0,0 +1,196 @@
1
+ const e=require("./element-B8OGznK0.cjs"),t=require("./class-map-CzCE5pqG.cjs"),n=require("./format-B8meU8Tm.cjs"),r=require("./element-with-slot-DTxILHVv.cjs");require("./icon-BmMC09mi.cjs");const i=require("./if-defined-CVYApOgK.cjs"),a=require("./ref-CHbJYtKE.cjs"),o=require("./input-element-DumGj_oJ.cjs");require("./input-wrapper-DDfapoRX.cjs");var s=e=>/^\d{2}:\d{2}$/.test(e)&&parseInt(e.slice(0,2),10)<=23&&parseInt(e.slice(3),10)<=59,c=e=>{let[t,n]=e.split(`:`).map(Number);return t*60+n},l=e=>e?Math.max(1,Math.round(e/60)):1,u=(e,t)=>{let n=e?parseInt(String(e).split(`:`)[0],10):0,r=t?parseInt(String(t).split(`:`)[0],10):23;return Array.from({length:r-n+1},(e,t)=>t+n)},d=e=>{let t=l(e);return Array.from({length:Math.floor(60/t)},(e,n)=>n*t)},f=(e,t,n,r)=>{let i=e===``?n===1?0:23:parseInt(e,10),a=t===``?n===1?0:Math.floor(59/r)*r:parseInt(t,10);return a+=n*r,a>59?(a=0,i=(i+1)%24):a<0&&(a=Math.floor(59/r)*r,i=(i-1+24)%24),{hours:String(i).padStart(2,`0`),minutes:String(a).padStart(2,`0`)}},p=class extends o.t{constructor(...e){super(...e),this.hiddenInputRef=a.t(),this.hoursInputRef=a.t(),this.minutesInputRef=a.t(),this.buttonRef=a.t(),this.value=``,this.hidePicker=!1,this.stepArrows=!1,this._hours=``,this._minutes=``,this._isOpen=!1,this._hoursDigitCount=0,this._hoursFirstDigit=-1,this._minutesDigitCount=0,this._minutesFirstDigit=-1,this._hasFocus=!1,this._outsideClickHandler=e=>{this.contains(e.target)||this._closePopup()},this._handleComponentFocusIn=()=>{this._hasFocus||(this._hasFocus=!0,this.onFocus())},this._handleComponentFocusOut=e=>{this.contains(e.relatedTarget)||(this._hasFocus=!1,this.onBlur())},this._handleHoursKeydown=e=>{let t=e.target;switch(e.key){case`ArrowUp`:{e.preventDefault();let t=this._hours===``?0:parseInt(this._hours,10);this._hours=String((t+1)%24).padStart(2,`0`),this._syncValueFromDisplay(),this.onInput();break}case`ArrowDown`:{e.preventDefault();let t=this._hours===``?0:parseInt(this._hours,10);this._hours=String((t-1+24)%24).padStart(2,`0`),this._syncValueFromDisplay(),this.onInput();break}case`ArrowRight`:e.preventDefault(),this.minutesInputRef.value?.focus();break;case`Backspace`:case`Delete`:this._hoursDigitCount=0,this._hoursFirstDigit=-1;break;case`Tab`:break;case`Enter`:{e.preventDefault();let n=this.internals.form;n?n.requestSubmit():t.blur();break}default:if(/^\d$/.test(e.key)){e.preventDefault();let t=parseInt(e.key,10);if(this._hoursDigitCount===0)this._hoursFirstDigit=t,this._hours=String(t).padStart(2,`0`),this._hoursDigitCount=1,this.onInput(),t>=3&&(this._hoursFirstDigit=-1,this._hoursDigitCount=0,this._syncValueFromDisplay(),this.minutesInputRef.value?.focus());else{let e=this._hoursFirstDigit*10+t;this._hours=e<=23?String(e).padStart(2,`0`):String(t).padStart(2,`0`),this._hoursFirstDigit=-1,this._hoursDigitCount=0,this._syncValueFromDisplay(),this.onInput(),this.minutesInputRef.value?.focus()}}else e.preventDefault()}},this._handleHoursBlur=()=>{this._hours!==``&&(this._hours=String(parseInt(this._hours,10)).padStart(2,`0`)),this._hoursDigitCount=0,this._hoursFirstDigit=-1,this._syncValueFromDisplay()},this._handleMinutesKeydown=e=>{let t=e.target;switch(e.key){case`ArrowUp`:{e.preventDefault();let t=this._minutes===``?0:parseInt(this._minutes,10);this._minutes=String((t+this._minuteStep)%60).padStart(2,`0`),this._syncValueFromDisplay(),this.onInput();break}case`ArrowDown`:{e.preventDefault();let t=this._minutes===``?0:parseInt(this._minutes,10);this._minutes=String((t-this._minuteStep+60)%60).padStart(2,`0`),this._syncValueFromDisplay(),this.onInput();break}case`ArrowLeft`:e.preventDefault(),this.hoursInputRef.value?.focus();break;case`Backspace`:case`Delete`:this._minutesDigitCount=0,this._minutesFirstDigit=-1;break;case`Tab`:break;case`Enter`:{e.preventDefault();let n=this.internals.form;n?n.requestSubmit():t.blur();break}default:if(/^\d$/.test(e.key)){e.preventDefault();let t=parseInt(e.key,10);if(this._minutesDigitCount===0)this._minutesFirstDigit=t,this._minutes=String(t).padStart(2,`0`),this._minutesDigitCount=1,this.onInput(),t>=6&&(this._minutesFirstDigit=-1,this._minutesDigitCount=0,this._syncValueFromDisplay());else{let e=this._minutesFirstDigit*10+t;this._minutes=e<=59?String(e).padStart(2,`0`):String(t).padStart(2,`0`),this._minutesFirstDigit=-1,this._minutesDigitCount=0,this._syncValueFromDisplay(),this.onInput()}}else e.preventDefault()}},this._handleMinutesBlur=()=>{this._minutes!==``&&(this._minutes=String(parseInt(this._minutes,10)).padStart(2,`0`)),this._minutesDigitCount=0,this._minutesFirstDigit=-1,this._syncValueFromDisplay()},this._handlePopupKeydown=e=>{let t=document.activeElement,n=t.closest(`.pkt-timepicker-popup__col`);if(!n)return;let r=Array.from(n.querySelectorAll(`.pkt-timepicker-popup__option`)),i=r.indexOf(t),a=t.dataset.type??``;switch(e.key){case`ArrowDown`:e.preventDefault(),this._focusOptionAndSync(r[Math.min(i+1,r.length-1)],a);break;case`ArrowUp`:e.preventDefault(),this._focusOptionAndSync(r[Math.max(i-1,0)],a);break;case`Home`:e.preventDefault(),this._focusOptionAndSync(r[0],a);break;case`End`:e.preventDefault(),this._focusOptionAndSync(r[r.length-1],a);break;case`ArrowRight`:e.preventDefault(),a===`hour`&&(this._focusOptionAndSync(t,a),this.updateComplete.then(()=>{this._scrollToSelected(),this._focusSelectedOrFirst(`minute`)}));break;case`ArrowLeft`:e.preventDefault(),a===`minute`&&(this._focusOptionAndSync(t,a),this.updateComplete.then(()=>{this._scrollToSelected(),this._focusSelectedOrFirst(`hour`)}));break;case`Enter`:case` `:e.preventDefault(),t.click();break;case`Escape`:e.preventDefault(),this._closePopup(),this.buttonRef.value?.focus()}}}get inputRef(){return this.hiddenInputRef}manageValidity(e){let t=this.hoursInputRef.value;if(!t)return;let r=this.pktStrings.get(`validation`);if(this.required&&!this.value){this.internals.setValidity({valueMissing:!0},r.valueMissing,t),this._setAriaInvalid(!0);return}if(!this.value){this.internals.setValidity({}),this._setAriaInvalid(!1);return}let i=c(this.value),a=l(this.step);if(this.min&&i<c(String(this.min))){this.internals.setValidity({rangeUnderflow:!0},n.t(r.rangeUnderflowMin,{min:String(this.min)}),t),this._setAriaInvalid(!0);return}if(this.max&&i>c(String(this.max))){this.internals.setValidity({rangeOverflow:!0},n.t(r.rangeOverflowMax,{max:String(this.max)}),t),this._setAriaInvalid(!0);return}if(this.step&&i%a!==0){let e=a===60?r.timeStepMismatchHour:a===30?r.timeStepMismatchHalfHour:n.t(r.timeStepMismatch,{step:`${a}, ${a*2}, ${a*3}`});this.internals.setValidity({stepMismatch:!0},e,t),this._setAriaInvalid(!0);return}this.internals.setValidity({}),this._setAriaInvalid(!1)}_setAriaInvalid(e){if(!this.touched&&e)return;let t=this.hoursInputRef.value,n=this.minutesInputRef.value;if(e)t?.setAttribute(`aria-invalid`,`true`),n?.setAttribute(`aria-invalid`,`true`);else{if(this.hasError)return;t?.removeAttribute(`aria-invalid`),n?.removeAttribute(`aria-invalid`)}}connectedCallback(){super.connectedCallback(),this.addEventListener(`focusin`,this._handleComponentFocusIn),this.addEventListener(`focusout`,this._handleComponentFocusOut),document.addEventListener(`click`,this._outsideClickHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`focusin`,this._handleComponentFocusIn),this.removeEventListener(`focusout`,this._handleComponentFocusOut),document.removeEventListener(`click`,this._outsideClickHandler)}willUpdate(e){super.willUpdate(e),e.has(`value`)&&this._syncDisplayFromValue()}updated(e){super.updated(e),this.classList.add(`pkt-timepicker`),this.classList.toggle(`pkt-timepicker--stepper`,this.stepArrows),this.classList.toggle(`pkt-timepicker--fullwidth`,this.fullwidth),this.classList.toggle(`pkt-timepicker--medium`,this.inputSize===`medium`),this.classList.toggle(`pkt-timepicker--small`,this.inputSize===`small`),this.classList.toggle(`pkt-timepicker--xsmall`,this.inputSize===`xsmall`),e.has(`step`)&&this.step!==null&&!this._isValidStep(this.step)&&console.warn(`pkt-timepicker: step="${this.step}" er ikke en gyldig verdi. Step må være et multiplum av 60 (hele minutter) eller nøyaktig 3600 (hel time).`)}formResetCallback(){super.formResetCallback(),this._hours=``,this._minutes=``,this._isOpen=!1}_isValidStep(e){return e===3600||e<3600&&3600%e==0&&e%60==0}_syncDisplayFromValue(){let e=s(this.value)?this.value.split(`:`):null;e?(this._hours=e[0],this._minutes=e[1]):(this._hours=``,this._minutes=``)}_syncValueFromDisplay(){if(this._hours!==``&&this._minutes!==``){let e=`${this._hours}:${this._minutes}`;e!==this.value&&(this.value=e,this.onChange(e))}else this.value!==``&&(this.value=``,this.onChange(``))}get _minuteStep(){return l(this.step)}get _hourOptions(){return u(this.min,this.max)}get _minuteOptions(){return d(this.step)}_openPopup(){this._isOpen=!0,this.updateComplete.then(()=>{this._scrollToSelected(),this._focusSelectedOrFirst(`hour`)})}_closePopup(){this._isOpen=!1,this._syncValueFromDisplay()}_togglePopup(){this._isOpen?this._closePopup():this._openPopup()}_scrollToSelected(){let e=this.querySelector(`.pkt-timepicker-popup`);e&&e.querySelectorAll(`.pkt-timepicker-popup__col`).forEach(e=>{let t=e.querySelector(`.pkt-timepicker-popup__option--selected`);t&&t.scrollIntoView({block:`center`})})}_focusSelectedOrFirst(e){let t=this.querySelector(`.pkt-timepicker-popup`);if(!t)return;let n=t.querySelectorAll(`.pkt-timepicker-popup__col`),r=e===`hour`?n[0]:n[1];if(!r)return;let i=r.querySelector(`.pkt-timepicker-popup__option--selected`),a=r.querySelector(`.pkt-timepicker-popup__option`);(i||a)?.focus()}_handleOptionClick(e,t){let n=String(e).padStart(2,`0`);t===`hour`?(this._hours=n,this.updateComplete.then(()=>this._focusSelectedOrFirst(`minute`))):(this._minutes=n,this._closePopup(),this.buttonRef.value?.focus())}_focusOptionAndSync(e,t){if(!e)return;let n=parseInt(e.dataset.value??`0`,10);t===`hour`?this._hours=String(n).padStart(2,`0`):this._minutes=String(n).padStart(2,`0`),e.focus()}_stepTime(e){let t=f(this._hours,this._minutes,e,this._minuteStep);this._hours=t.hours,this._minutes=t.minutes,this._syncValueFromDisplay()}_renderOption(n,r){let i=String(n).padStart(2,`0`),a=n===(r===`hour`?this._hours===``?NaN:parseInt(this._hours,10):this._minutes===``?NaN:parseInt(this._minutes,10));return e._`
2
+ <button
3
+ class=${t.t({"pkt-btn":!0,"pkt-btn--tertiary":!0,"pkt-btn--small":!0,"pkt-btn--label-only":!0,"pkt-timepicker-popup__option":!0,"pkt-timepicker-popup__option--selected":a})}
4
+ type="button"
5
+ role="option"
6
+ aria-selected=${a?`true`:`false`}
7
+ tabindex=${a?`0`:`-1`}
8
+ data-type=${r}
9
+ data-value=${n}
10
+ @click=${e=>{e.stopImmediatePropagation(),this._handleOptionClick(n,r)}}
11
+ >
12
+ <span class="pkt-btn__text pkt-txt-14-light">${i}</span>
13
+ </button>
14
+ `}_renderPopup(){return e._`
15
+ <div
16
+ class="pkt-timepicker-popup"
17
+ id=${this.id+`-popup`}
18
+ ?hidden=${!this._isOpen}
19
+ role="group"
20
+ aria-label=${this.pktStrings.get(`timepicker`).selectTime}
21
+ @keydown=${this._handlePopupKeydown}
22
+ @focusout=${e=>{this.querySelector(`.pkt-timepicker-popup`)?.contains(e.relatedTarget)||this._closePopup()}}
23
+ >
24
+ <div
25
+ class="pkt-timepicker-popup__col"
26
+ role="listbox"
27
+ aria-label=${this.pktStrings.get(`timepicker`).hours}
28
+ aria-orientation="vertical"
29
+ >
30
+ ${this._hourOptions.map(e=>this._renderOption(e,`hour`))}
31
+ </div>
32
+ <div
33
+ class="pkt-timepicker-popup__col"
34
+ role="listbox"
35
+ aria-label=${this.pktStrings.get(`timepicker`).minutes}
36
+ aria-orientation="vertical"
37
+ >
38
+ ${this._minuteOptions.map(e=>this._renderOption(e,`minute`))}
39
+ </div>
40
+ </div>
41
+ `}_renderContainer(){let t=this.pktStrings.get(`timepicker`).hours,n=this.pktStrings.get(`timepicker`).minutes,r=this.label?`${t}, ${this.label}`:t,o=this.label?`${n}, ${this.label}`:n;return e._`
42
+ <div
43
+ class="pkt-input__container pkt-input__container--${this.inputSize}"
44
+ @click=${e=>{e.target.closest(`button, input`)||this.hoursInputRef.value?.focus()}}
45
+ >
46
+ ${this.stepArrows?e._`
47
+ <button
48
+ class="pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-btn--${this.inputSize} pkt-timepicker__button pkt-timepicker__button--prev"
49
+ type="button"
50
+ aria-label=${this.pktStrings.get(`timepicker`).prevTime}
51
+ ?disabled=${this.disabled}
52
+ @click=${()=>this._stepTime(-1)}
53
+ >
54
+ <pkt-icon name="chevron-thin-left"></pkt-icon>
55
+ <span class="pkt-btn__text"
56
+ >${this.pktStrings.get(`timepicker`).prevTime}</span
57
+ >
58
+ </button>
59
+ `:e.h}
60
+ <input
61
+ ${a.n(this.hoursInputRef)}
62
+ type="text"
63
+ inputmode="numeric"
64
+ maxlength="2"
65
+ size="2"
66
+ class="pkt-input pkt-input--${this.inputSize} pkt-timepicker__input"
67
+ id=${this.id+`-hours`}
68
+ data-min="0"
69
+ data-max="23"
70
+ .value=${this._hours}
71
+ placeholder="––"
72
+ aria-label=${r}
73
+ role="spinbutton"
74
+ aria-invalid=${this.hasError?`true`:e.h}
75
+ aria-errormessage=${this.hasError?`${this.id}-hours-error`:e.h}
76
+ aria-valuemin="0"
77
+ aria-valuemax="23"
78
+ aria-valuenow=${this._hours===``?e.h:this._hours}
79
+ aria-valuetext=${this._hours===``?e.h:`${this._hours} ${t.toLowerCase()}`}
80
+ autocomplete="off"
81
+ ?disabled=${this.disabled}
82
+ @keydown=${this._handleHoursKeydown}
83
+ @blur=${this._handleHoursBlur}
84
+ @focus=${e=>{e.target.select(),e.stopImmediatePropagation()}}
85
+ />
86
+ <span class="pkt-timepicker__separator">:</span>
87
+ <input
88
+ ${a.n(this.minutesInputRef)}
89
+ type="text"
90
+ inputmode="numeric"
91
+ maxlength="2"
92
+ size="2"
93
+ class="pkt-input pkt-input--${this.inputSize} pkt-timepicker__input"
94
+ id=${this.id+`-minutes`}
95
+ data-min="0"
96
+ data-max="59"
97
+ .value=${this._minutes}
98
+ placeholder="––"
99
+ aria-label=${o}
100
+ role="spinbutton"
101
+ aria-invalid=${this.hasError?`true`:e.h}
102
+ aria-errormessage=${this.hasError?`${this.id}-hours-error`:e.h}
103
+ aria-valuemin="0"
104
+ aria-valuemax="59"
105
+ aria-valuenow=${this._minutes===``?e.h:this._minutes}
106
+ aria-valuetext=${this._minutes===``?e.h:`${this._minutes} ${n.toLowerCase()}`}
107
+ autocomplete="off"
108
+ ?disabled=${this.disabled}
109
+ @keydown=${this._handleMinutesKeydown}
110
+ @blur=${this._handleMinutesBlur}
111
+ @focus=${e=>{e.target.select(),e.stopImmediatePropagation()}}
112
+ />
113
+ ${this.hidePicker&&!this.stepArrows?e._`<pkt-icon
114
+ class="pkt-input-icon pkt-timepicker__icon"
115
+ name="clock"
116
+ aria-hidden="true"
117
+ ></pkt-icon>`:e.h}
118
+ ${!this.hidePicker&&!this.stepArrows?e._`
119
+ <button
120
+ ${a.n(this.buttonRef)}
121
+ class="pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-btn--${this.inputSize} pkt-timepicker__button"
122
+ type="button"
123
+ aria-label=${this.pktStrings.get(`timepicker`).openPicker}
124
+ aria-haspopup="listbox"
125
+ aria-expanded=${this._isOpen?`true`:`false`}
126
+ aria-controls=${this.id+`-popup`}
127
+ ?disabled=${this.disabled}
128
+ @click=${this._togglePopup}
129
+ >
130
+ <pkt-icon name="clock"></pkt-icon>
131
+ <span class="pkt-btn__text"
132
+ >${this.pktStrings.get(`timepicker`).openPicker}</span
133
+ >
134
+ </button>
135
+ `:e.h}
136
+ ${this.stepArrows?e._`
137
+ <button
138
+ class="pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-btn--${this.inputSize} pkt-timepicker__button pkt-timepicker__button--next"
139
+ type="button"
140
+ aria-label=${this.pktStrings.get(`timepicker`).nextTime}
141
+ ?disabled=${this.disabled}
142
+ @click=${()=>this._stepTime(1)}
143
+ >
144
+ <pkt-icon name="chevron-thin-right"></pkt-icon>
145
+ <span class="pkt-btn__text"
146
+ >${this.pktStrings.get(`timepicker`).nextTime}</span
147
+ >
148
+ </button>
149
+ `:e.h}
150
+ <input
151
+ ${a.n(this.hiddenInputRef)}
152
+ type="time"
153
+ hidden
154
+ name=${this.name||this.id}
155
+ id=${this.id+`-input`}
156
+ .value=${this.value}
157
+ min=${i.t(this.min??void 0)}
158
+ max=${i.t(this.max??void 0)}
159
+ step=${i.t(this.step??void 0)}
160
+ ?required=${this.required}
161
+ ?disabled=${this.disabled}
162
+ tabindex="-1"
163
+ />
164
+ </div>
165
+ `}render(){return e._`
166
+ <pkt-input-wrapper
167
+ .strings=${this.strings}
168
+ label="${this.label}"
169
+ ?disabled=${this.disabled}
170
+ ?fullwidth=${this.fullwidth}
171
+ ?hasError=${this.hasError}
172
+ ?hasFieldset=${this.effectiveHasFieldset(!1)}
173
+ ?inline=${this.inline}
174
+ ?optionalTag=${this.optionalTag}
175
+ ?required=${this.required}
176
+ ?requiredTag=${this.requiredTag}
177
+ useWrapper=${this.useWrapper}
178
+ .ariaDescribedby=${this.ariaDescribedby}
179
+ .errorMessage=${this.errorMessage}
180
+ .forId="${this.id+`-hours`}"
181
+ .helptext=${this.helptext}
182
+ .helptextDropdown=${this.helptextDropdown}
183
+ .helptextDropdownButton=${this.helptextDropdownButton}
184
+ .optionalText=${this.optionalText}
185
+ .requiredText=${this.requiredText}
186
+ .tagText=${this.tagText}
187
+ .size=${this.inputSize}
188
+ >
189
+ <div class="pkt-contents" slot="helptext">${r.n(this,`helptext`)}</div>
190
+ ${!this.hidePicker&&!this.stepArrows?e._`
191
+ <div class="pkt-timepicker__anchor">
192
+ ${this._renderContainer()} ${this._renderPopup()}
193
+ </div>
194
+ `:this._renderContainer()}
195
+ </pkt-input-wrapper>
196
+ `}};e.n([e.u({type:String,reflect:!0})],p.prototype,`value`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`hide-picker`})],p.prototype,`hidePicker`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`step-arrows`})],p.prototype,`stepArrows`,void 0),e.n([e.l()],p.prototype,`_hours`,void 0),e.n([e.l()],p.prototype,`_minutes`,void 0),e.n([e.l()],p.prototype,`_isOpen`,void 0);try{e.d(`pkt-timepicker`)(p)}catch{console.warn(`Forsøker å definere <pkt-timepicker>, men den er allerede definert`)}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return p}});