@fremtind/jokul 0.20.0 → 0.21.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 (241) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/packages/jokul/src/components/card/documentation/examples/FakturainfoExample.d.ts +4 -0
  3. package/build/packages/jokul/src/components/card/documentation/examples/InfoCardExample.d.ts +3 -0
  4. package/build/packages/jokul/src/components/card/documentation/examples/NavCardExample.d.ts +3 -0
  5. package/build/packages/jokul/src/components/card/documentation/examples/StatuskortExample.d.ts +4 -0
  6. package/build/packages/jokul/src/components/card/documentation/examples/TaskCardExample.d.ts +3 -0
  7. package/build/packages/jokul/src/components/card/documentation/examples/TopExample.d.ts +3 -0
  8. package/build/packages/jokul/src/components/card/documentation/examples/cardExampleProps.d.ts +13 -0
  9. package/build/packages/jokul/src/components/icon/documentation/internal/AnimatedIcon.d.ts +7 -0
  10. package/build/packages/jokul/src/components/icon/documentation/internal/IconExample.d.ts +7 -0
  11. package/build/packages/jokul/src/components/icon/documentation/internal/IconsExampleGrid.d.ts +8 -0
  12. package/build/packages/jokul/src/components/image/documentation/internal/props.d.ts +5 -0
  13. package/package.json +2 -2
  14. package/src/components/button/styles/button.css +10 -2
  15. package/src/components/button/styles/button.min.css +1 -1
  16. package/src/components/button/styles/button.scss +5 -0
  17. package/src/components/card/styles/card.css +2 -0
  18. package/src/components/card/styles/card.min.css +1 -1
  19. package/src/components/checkbox/styles/checkbox.css +4 -4
  20. package/src/components/checkbox/styles/checkbox.min.css +1 -1
  21. package/src/components/combobox/styles/combobox.css +2 -0
  22. package/src/components/combobox/styles/combobox.min.css +1 -1
  23. package/src/components/cookie-consent/styles/cookie-consent.css +4 -0
  24. package/src/components/cookie-consent/styles/cookie-consent.min.css +1 -1
  25. package/src/components/datepicker/styles/datepicker.css +6 -0
  26. package/src/components/datepicker/styles/datepicker.min.css +1 -1
  27. package/src/components/feedback/styles/feedback.css +2 -2
  28. package/src/components/feedback/styles/feedback.min.css +1 -1
  29. package/src/components/icon/styles/icon.css +5 -5
  30. package/src/components/icon/styles/icon.min.css +1 -1
  31. package/src/components/icon/styles/icon.scss +5 -5
  32. package/src/components/input-group/styles/input-group.css +2 -2
  33. package/src/components/input-group/styles/input-group.min.css +1 -1
  34. package/src/components/loader/styles/loader.css +6 -6
  35. package/src/components/loader/styles/loader.min.css +1 -1
  36. package/src/components/loader/styles/skeleton-loader.css +5 -5
  37. package/src/components/loader/styles/skeleton-loader.min.css +1 -1
  38. package/src/components/message/styles/message.css +2 -2
  39. package/src/components/message/styles/message.min.css +1 -1
  40. package/src/components/progress-bar/styles/progress-bar.css +2 -2
  41. package/src/components/progress-bar/styles/progress-bar.min.css +1 -1
  42. package/src/components/radio-button/styles/radio-button.css +2 -2
  43. package/src/components/radio-button/styles/radio-button.min.css +1 -1
  44. package/src/components/select/styles/select.css +2 -0
  45. package/src/components/select/styles/select.min.css +1 -1
  46. package/src/components/system-message/styles/system-message.css +2 -2
  47. package/src/components/system-message/styles/system-message.min.css +1 -1
  48. package/src/components/table/styles/table.css +4 -0
  49. package/src/components/table/styles/table.min.css +1 -1
  50. package/src/components/tag/styles/tag.css +2 -0
  51. package/src/components/tag/styles/tag.min.css +1 -1
  52. package/src/components/text-input/styles/text-input.css +2 -0
  53. package/src/components/text-input/styles/text-input.min.css +1 -1
  54. package/src/components/toast/styles/toast.css +4 -4
  55. package/src/components/toast/styles/toast.min.css +1 -1
  56. package/src/components/tooltip/styles/tooltip.css +2 -0
  57. package/src/components/tooltip/styles/tooltip.min.css +1 -1
  58. package/src/core/jkl/_typography.scss +19 -0
  59. package/src/core/styles/core.css +32 -0
  60. package/src/core/styles/core.min.css +1 -1
  61. package/src/core/styles/vind.css +14 -0
  62. package/src/core/styles/vind.min.css +1 -1
  63. package/src/styles/styles.css +72 -38
  64. package/src/styles/styles.min.css +1 -1
  65. package/build/cjs/components/accordion/documentation/Example.js +0 -2
  66. package/build/cjs/components/accordion/documentation/Example.js.map +0 -1
  67. package/build/cjs/components/accordion/documentation/main.js +0 -2
  68. package/build/cjs/components/accordion/documentation/main.js.map +0 -1
  69. package/build/cjs/components/accordion/documentation/vite.dev.config.js +0 -2
  70. package/build/cjs/components/accordion/documentation/vite.dev.config.js.map +0 -1
  71. package/build/cjs/components/breadcrumb/documentation/Example.js +0 -2
  72. package/build/cjs/components/breadcrumb/documentation/Example.js.map +0 -1
  73. package/build/cjs/components/breadcrumb/documentation/main.js +0 -2
  74. package/build/cjs/components/breadcrumb/documentation/main.js.map +0 -1
  75. package/build/cjs/components/breadcrumb/documentation/vite.dev.config.js +0 -2
  76. package/build/cjs/components/breadcrumb/documentation/vite.dev.config.js.map +0 -1
  77. package/build/cjs/components/button/documentation/Example.js +0 -2
  78. package/build/cjs/components/button/documentation/Example.js.map +0 -1
  79. package/build/cjs/components/button/documentation/main.js +0 -2
  80. package/build/cjs/components/button/documentation/main.js.map +0 -1
  81. package/build/cjs/components/button/documentation/vite.dev.config.js +0 -2
  82. package/build/cjs/components/button/documentation/vite.dev.config.js.map +0 -1
  83. package/build/cjs/components/card/documentation/Example.js +0 -2
  84. package/build/cjs/components/card/documentation/Example.js.map +0 -1
  85. package/build/cjs/components/card/documentation/main.js +0 -2
  86. package/build/cjs/components/card/documentation/main.js.map +0 -1
  87. package/build/cjs/components/card/documentation/vite.dev.config.js +0 -2
  88. package/build/cjs/components/card/documentation/vite.dev.config.js.map +0 -1
  89. package/build/cjs/components/combobox/documentation/ComboboxExample.js +0 -2
  90. package/build/cjs/components/combobox/documentation/ComboboxExample.js.map +0 -1
  91. package/build/cjs/components/combobox/documentation/Example.js +0 -2
  92. package/build/cjs/components/combobox/documentation/Example.js.map +0 -1
  93. package/build/cjs/components/combobox/documentation/main.js +0 -2
  94. package/build/cjs/components/combobox/documentation/main.js.map +0 -1
  95. package/build/cjs/components/combobox/documentation/vite.dev.config.js +0 -2
  96. package/build/cjs/components/combobox/documentation/vite.dev.config.js.map +0 -1
  97. package/build/cjs/components/flex/documentation/Example.js +0 -2
  98. package/build/cjs/components/flex/documentation/Example.js.map +0 -1
  99. package/build/cjs/components/flex/documentation/FlexExample.js +0 -2
  100. package/build/cjs/components/flex/documentation/FlexExample.js.map +0 -1
  101. package/build/cjs/components/flex/documentation/main.js +0 -2
  102. package/build/cjs/components/flex/documentation/main.js.map +0 -1
  103. package/build/cjs/components/flex/documentation/vite.dev.config.js +0 -2
  104. package/build/cjs/components/flex/documentation/vite.dev.config.js.map +0 -1
  105. package/build/cjs/components/link/documentation/Example.js +0 -2
  106. package/build/cjs/components/link/documentation/Example.js.map +0 -1
  107. package/build/cjs/components/link/documentation/main.js +0 -2
  108. package/build/cjs/components/link/documentation/main.js.map +0 -1
  109. package/build/cjs/components/link/documentation/vite.dev.config.js +0 -2
  110. package/build/cjs/components/link/documentation/vite.dev.config.js.map +0 -1
  111. package/build/cjs/components/loader/documentation/Example.js +0 -2
  112. package/build/cjs/components/loader/documentation/Example.js.map +0 -1
  113. package/build/cjs/components/loader/documentation/main.js +0 -2
  114. package/build/cjs/components/loader/documentation/main.js.map +0 -1
  115. package/build/cjs/components/loader/documentation/vite.dev.config.js +0 -2
  116. package/build/cjs/components/loader/documentation/vite.dev.config.js.map +0 -1
  117. package/build/cjs/components/toggle-switch/documentation/Example.js +0 -2
  118. package/build/cjs/components/toggle-switch/documentation/Example.js.map +0 -1
  119. package/build/cjs/components/toggle-switch/documentation/main.js +0 -2
  120. package/build/cjs/components/toggle-switch/documentation/main.js.map +0 -1
  121. package/build/cjs/components/toggle-switch/documentation/vite.dev.config.js +0 -2
  122. package/build/cjs/components/toggle-switch/documentation/vite.dev.config.js.map +0 -1
  123. package/build/cjs/components/tooltip/documentation/Example.js +0 -2
  124. package/build/cjs/components/tooltip/documentation/Example.js.map +0 -1
  125. package/build/cjs/components/tooltip/documentation/main.js +0 -2
  126. package/build/cjs/components/tooltip/documentation/main.js.map +0 -1
  127. package/build/cjs/components/tooltip/documentation/vite.dev.config.js +0 -2
  128. package/build/cjs/components/tooltip/documentation/vite.dev.config.js.map +0 -1
  129. package/build/copy-jkl-fonts-BEH11kbT.cjs +0 -2
  130. package/build/copy-jkl-fonts-BEH11kbT.cjs.map +0 -1
  131. package/build/copy-jkl-fonts-Yd-mZnP9.js +0 -2
  132. package/build/copy-jkl-fonts-Yd-mZnP9.js.map +0 -1
  133. package/build/es/components/accordion/documentation/Example.js +0 -2
  134. package/build/es/components/accordion/documentation/Example.js.map +0 -1
  135. package/build/es/components/accordion/documentation/main.js +0 -2
  136. package/build/es/components/accordion/documentation/main.js.map +0 -1
  137. package/build/es/components/accordion/documentation/vite.dev.config.js +0 -2
  138. package/build/es/components/accordion/documentation/vite.dev.config.js.map +0 -1
  139. package/build/es/components/breadcrumb/documentation/Example.js +0 -2
  140. package/build/es/components/breadcrumb/documentation/Example.js.map +0 -1
  141. package/build/es/components/breadcrumb/documentation/main.js +0 -2
  142. package/build/es/components/breadcrumb/documentation/main.js.map +0 -1
  143. package/build/es/components/breadcrumb/documentation/vite.dev.config.js +0 -2
  144. package/build/es/components/breadcrumb/documentation/vite.dev.config.js.map +0 -1
  145. package/build/es/components/button/documentation/Example.js +0 -2
  146. package/build/es/components/button/documentation/Example.js.map +0 -1
  147. package/build/es/components/button/documentation/main.js +0 -2
  148. package/build/es/components/button/documentation/main.js.map +0 -1
  149. package/build/es/components/button/documentation/vite.dev.config.js +0 -2
  150. package/build/es/components/button/documentation/vite.dev.config.js.map +0 -1
  151. package/build/es/components/card/documentation/Example.js +0 -2
  152. package/build/es/components/card/documentation/Example.js.map +0 -1
  153. package/build/es/components/card/documentation/main.js +0 -2
  154. package/build/es/components/card/documentation/main.js.map +0 -1
  155. package/build/es/components/card/documentation/vite.dev.config.js +0 -2
  156. package/build/es/components/card/documentation/vite.dev.config.js.map +0 -1
  157. package/build/es/components/combobox/documentation/ComboboxExample.js +0 -2
  158. package/build/es/components/combobox/documentation/ComboboxExample.js.map +0 -1
  159. package/build/es/components/combobox/documentation/Example.js +0 -2
  160. package/build/es/components/combobox/documentation/Example.js.map +0 -1
  161. package/build/es/components/combobox/documentation/main.js +0 -2
  162. package/build/es/components/combobox/documentation/main.js.map +0 -1
  163. package/build/es/components/combobox/documentation/vite.dev.config.js +0 -2
  164. package/build/es/components/combobox/documentation/vite.dev.config.js.map +0 -1
  165. package/build/es/components/flex/documentation/Example.js +0 -2
  166. package/build/es/components/flex/documentation/Example.js.map +0 -1
  167. package/build/es/components/flex/documentation/FlexExample.js +0 -2
  168. package/build/es/components/flex/documentation/FlexExample.js.map +0 -1
  169. package/build/es/components/flex/documentation/main.js +0 -2
  170. package/build/es/components/flex/documentation/main.js.map +0 -1
  171. package/build/es/components/flex/documentation/vite.dev.config.js +0 -2
  172. package/build/es/components/flex/documentation/vite.dev.config.js.map +0 -1
  173. package/build/es/components/link/documentation/Example.js +0 -2
  174. package/build/es/components/link/documentation/Example.js.map +0 -1
  175. package/build/es/components/link/documentation/main.js +0 -2
  176. package/build/es/components/link/documentation/main.js.map +0 -1
  177. package/build/es/components/link/documentation/vite.dev.config.js +0 -2
  178. package/build/es/components/link/documentation/vite.dev.config.js.map +0 -1
  179. package/build/es/components/loader/documentation/Example.js +0 -2
  180. package/build/es/components/loader/documentation/Example.js.map +0 -1
  181. package/build/es/components/loader/documentation/main.js +0 -2
  182. package/build/es/components/loader/documentation/main.js.map +0 -1
  183. package/build/es/components/loader/documentation/vite.dev.config.js +0 -2
  184. package/build/es/components/loader/documentation/vite.dev.config.js.map +0 -1
  185. package/build/es/components/toggle-switch/documentation/Example.js +0 -2
  186. package/build/es/components/toggle-switch/documentation/Example.js.map +0 -1
  187. package/build/es/components/toggle-switch/documentation/main.js +0 -2
  188. package/build/es/components/toggle-switch/documentation/main.js.map +0 -1
  189. package/build/es/components/toggle-switch/documentation/vite.dev.config.js +0 -2
  190. package/build/es/components/toggle-switch/documentation/vite.dev.config.js.map +0 -1
  191. package/build/es/components/tooltip/documentation/Example.js +0 -2
  192. package/build/es/components/tooltip/documentation/Example.js.map +0 -1
  193. package/build/es/components/tooltip/documentation/main.js +0 -2
  194. package/build/es/components/tooltip/documentation/main.js.map +0 -1
  195. package/build/es/components/tooltip/documentation/vite.dev.config.js +0 -2
  196. package/build/es/components/tooltip/documentation/vite.dev.config.js.map +0 -1
  197. package/build/formatCode-B1ZAd2W_.cjs +0 -2
  198. package/build/formatCode-B1ZAd2W_.cjs.map +0 -1
  199. package/build/formatCode-BmwUqfvZ.js +0 -2
  200. package/build/formatCode-BmwUqfvZ.js.map +0 -1
  201. package/build/index-DfJVVJQd.js +0 -2
  202. package/build/index-DfJVVJQd.js.map +0 -1
  203. package/build/index-FB51rnXC.cjs +0 -2
  204. package/build/index-FB51rnXC.cjs.map +0 -1
  205. package/build/packages/jokul/src/components/accordion/documentation/Example.d.ts +0 -2
  206. package/build/packages/jokul/src/components/accordion/documentation/main.d.ts +0 -1
  207. package/build/packages/jokul/src/components/accordion/documentation/vite.dev.config.d.ts +0 -2
  208. package/build/packages/jokul/src/components/breadcrumb/documentation/Example.d.ts +0 -2
  209. package/build/packages/jokul/src/components/breadcrumb/documentation/main.d.ts +0 -1
  210. package/build/packages/jokul/src/components/breadcrumb/documentation/vite.dev.config.d.ts +0 -2
  211. package/build/packages/jokul/src/components/button/documentation/Example.d.ts +0 -2
  212. package/build/packages/jokul/src/components/button/documentation/main.d.ts +0 -1
  213. package/build/packages/jokul/src/components/button/documentation/vite.dev.config.d.ts +0 -2
  214. package/build/packages/jokul/src/components/card/documentation/Example.d.ts +0 -2
  215. package/build/packages/jokul/src/components/card/documentation/main.d.ts +0 -1
  216. package/build/packages/jokul/src/components/card/documentation/vite.dev.config.d.ts +0 -2
  217. package/build/packages/jokul/src/components/combobox/documentation/ComboboxExample.d.ts +0 -5
  218. package/build/packages/jokul/src/components/combobox/documentation/Example.d.ts +0 -2
  219. package/build/packages/jokul/src/components/combobox/documentation/main.d.ts +0 -1
  220. package/build/packages/jokul/src/components/combobox/documentation/vite.dev.config.d.ts +0 -2
  221. package/build/packages/jokul/src/components/flex/documentation/Example.d.ts +0 -2
  222. package/build/packages/jokul/src/components/flex/documentation/FlexExample.d.ts +0 -5
  223. package/build/packages/jokul/src/components/flex/documentation/main.d.ts +0 -1
  224. package/build/packages/jokul/src/components/flex/documentation/vite.dev.config.d.ts +0 -2
  225. package/build/packages/jokul/src/components/link/documentation/Example.d.ts +0 -2
  226. package/build/packages/jokul/src/components/link/documentation/main.d.ts +0 -1
  227. package/build/packages/jokul/src/components/link/documentation/vite.dev.config.d.ts +0 -2
  228. package/build/packages/jokul/src/components/loader/documentation/Example.d.ts +0 -2
  229. package/build/packages/jokul/src/components/loader/documentation/main.d.ts +0 -1
  230. package/build/packages/jokul/src/components/loader/documentation/vite.dev.config.d.ts +0 -2
  231. package/build/packages/jokul/src/components/toggle-switch/documentation/Example.d.ts +0 -2
  232. package/build/packages/jokul/src/components/toggle-switch/documentation/main.d.ts +0 -1
  233. package/build/packages/jokul/src/components/toggle-switch/documentation/vite.dev.config.d.ts +0 -2
  234. package/build/packages/jokul/src/components/tooltip/documentation/Example.d.ts +0 -2
  235. package/build/packages/jokul/src/components/tooltip/documentation/main.d.ts +0 -1
  236. package/build/packages/jokul/src/components/tooltip/documentation/vite.dev.config.d.ts +0 -2
  237. package/build/style.css +0 -1
  238. package/build/styles-DZZT66cq.js +0 -2
  239. package/build/styles-DZZT66cq.js.map +0 -1
  240. package/build/styles-Dd1xoGpc.cjs +0 -2
  241. package/build/styles-Dd1xoGpc.cjs.map +0 -1
@@ -1,2 +0,0 @@
1
- import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import a,{useState as o,useReducer as l,useEffect as r,useRef as c,useCallback as s,forwardRef as i,useImperativeHandle as d,createContext as u,useContext as p,useMemo as m,StrictMode as h}from"react";import g from"classnames";import{useFloating as f,autoUpdate as b,offset as v,flip as k,shift as y,arrow as E,useRole as w,useDismiss as x,useClick as _,useHover as j,useFocus as N,useInteractions as C,useMergeRefs as F,FloatingPortal as S}from"@floating-ui/react";import{LazyMotion as A,domAnimation as O,AnimatePresence as D,m as L}from"framer-motion";import{PrismLight as R}from"react-syntax-highlighter";import M from"react-syntax-highlighter/dist/esm/languages/prism/diff";import P from"react-syntax-highlighter/dist/esm/languages/prism/sass";import H from"react-syntax-highlighter/dist/esm/languages/prism/scss";import T from"react-syntax-highlighter/dist/esm/languages/prism/shell-session";import B from"react-syntax-highlighter/dist/esm/languages/prism/tsx";function I(e){return"string"==typeof e?{value:e,label:e}:e}const V=Object.freeze({standard:"ease",entrance:"ease-out",exit:"ease-in",easeInBounceOut:"cubic-bezier(0, 0, 0.375, 1.17)",focus:"cubic-bezier(0.6, 0.2, 0.35, 1)"}),z=Object.freeze({energetic:"75ms",snappy:"100ms",productive:"150ms",expressive:"250ms",lazy:"400ms"}),G=({children:e,showOnFocus:t,...n})=>a.createElement("span",{...n,className:"jkl-sr-only".concat(t?" jkl-sr-only--focusable":"")},e);function $(e){return!!window.matchMedia&&window.matchMedia(e).matches}function W(e,t){typeof e.addEventListener<"u"?e.addEventListener("change",t):e.addListener(t)}function U(e,t){typeof e.removeEventListener<"u"?e.removeEventListener("change",t):e.removeListener(t)}const q="(prefers-reduced-motion: reduce)",K="(prefers-color-scheme: light)",J="(forced-colors: active)",Q={prefersReducedMotion:!1,prefersColorScheme:"light",forcedColors:!1},X=(e,t)=>{switch(t.type){case"COLOR_SCHEME_CHANGED":return{...e,prefersColorScheme:t.value};case"REDUCED_MOTION_CHANGED":return{...e,prefersReducedMotion:t.value};case"FORCED_COLORS_CHANGED":return{...e,forcedColors:t.value};default:return e}},Y=e=>{const t=c();return r((()=>{t.current=e})),t.current};function Z(e,t){const n=Y(e),a=(null==t?void 0:t.easing)||"standard",i=(null==t?void 0:t.timing)||"productive",d=(null==t?void 0:t.display)||"block",u="".concat(z[i]," height ").concat(V[a]),{prefersReducedMotion:p}=(()=>{const[e,t]=o(!1),[n,a]=l(X,Q);return r((()=>{t(!0);const e=$(q),n=$(K)?"light":"dark",o=$(J);a({type:"REDUCED_MOTION_CHANGED",value:e}),a({type:"COLOR_SCHEME_CHANGED",value:n}),a({type:"FORCED_COLORS_CHANGED",value:o})}),[]),r((()=>{if(!e||!window.matchMedia)return;const t=e=>{a({type:"REDUCED_MOTION_CHANGED",value:e.matches})},n=e=>{a({type:"COLOR_SCHEME_CHANGED",value:e.matches?"light":"dark"})},o=e=>{a({type:"FORCED_COLORS_CHANGED",value:e.matches})};return W(window.matchMedia(q),t),W(window.matchMedia(K),n),W(window.matchMedia(J),o),()=>{U(window.matchMedia(q),t),U(window.matchMedia(K),n),U(window.matchMedia(J),o)}}),[e]),{...n}})(),m=c(),h=c(),g=c(null);function f(n){var a;const o=g.current;o&&n.target===o&&(e?o.removeAttribute("style"):(o.removeAttribute("style"),o.style.display="none"),null==(a=null==t?void 0:t.onTransitionEnd)||a.call(t,e,g))}const b=s((()=>{var a,o,l,r;const c=g.current;if(c&&void 0!==n){if(e){if(e&&n)return}else if(c.style.display="none",!n)return;if(null==(a=null==t?void 0:t.onTransitionStart)||a.call(t,e,g),p)return c.removeAttribute("style"),e&&(null==(o=null==t?void 0:t.onFirstVisible)||o.call(t,e,g)),void(null==(l=null==t?void 0:t.onTransitionEnd)||l.call(t,e,g));if(c.style.transition=u,c.style.display=d,c.style.overflow="hidden",e)null==(r=null==t?void 0:t.onFirstVisible)||r.call(t,e,g),c.style.height="0",c.style.height="".concat(c.scrollHeight,"px");else{if(0===c.scrollHeight)return void c.removeAttribute("style");c.style.height="".concat(c.scrollHeight,"px"),m.current=requestAnimationFrame((()=>{h.current=requestAnimationFrame((()=>{c.style.height="".concat(0,"px")}))}))}}}),[e,t,n,u,p,d]);return r((()=>{b()}),[e,b]),r((()=>{const e=g.current;return e&&e.addEventListener("transitionend",f),()=>{e&&e.removeEventListener("transitionend",f)}}),[e]),r((()=>{const e=m.current,t=h.current;return()=>{e&&cancelAnimationFrame(e),t&&cancelAnimationFrame(t)}}),[m,h]),[g,b]}const ee=a.useId,te={generateSuffix:!0},ne=typeof ee<"u"?(e,t=te)=>{const n=ee();let o=e;e&&t.generateSuffix&&(o="".concat(e,"-").concat(n));const[l]=a.useState(o||n);return l}:(e,t=te)=>{const n=((e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")),""))(8);let o=e;e&&t.generateSuffix&&(o="".concat(e,"-").concat(n));const[l]=a.useState(o||n);return l};function ae({ref:e}){r((()=>{const t={keys:""},n=e.current,a=e=>{n&&function({list:e,event:t,search:n,searchResetTimer:a}){const{key:o,target:l}=t,r={event:t,list:e,currentFocus:l};switch(o){case"ArrowUp":oe("prev",r);break;case"ArrowDown":oe("next",r);break;case"Home":oe("first",r);break;case"End":oe("last",r);break;case"Tab":t.preventDefault();break;case"Enter":break;default:if(void 0!==n){const t=function({list:e,key:t,search:n,searchResetTimer:a}){const o=e.querySelectorAll('[role="option"]');if(!o.length)return null;if(n){n.keys=n.keys.concat(t),function(e,t){t&&(clearTimeout(t),t=void 0),t=setTimeout((()=>{e?e.keys="":e={keys:""},t=void 0}),500,e,t)}(n,a);for(let e=0;e<o.length;e++){const t=o[e].innerText;if(t&&0===t.toLowerCase().indexOf(n.keys))return o[e]}}return null}({list:e,key:o,search:n,searchResetTimer:a});t&&t.focus()}}}({list:n,event:e,search:t,searchResetTimer:undefined})};return n&&n.addEventListener("keydown",a),()=>{n&&n.removeEventListener("keydown",a)}}),[e])}function oe(e,{event:t,list:n,currentFocus:a}){t.preventDefault(),function(e,t,n){const a=n;switch(e){case"prev":const e=a&&a.previousElementSibling;e&&e.focus();break;case"next":const n=a&&a.nextElementSibling;n&&n.focus();break;case"first":const o=t.querySelector('[role="option"]');o&&o.focus();break;case"last":const l=t.querySelectorAll('[role="option"]');l.length&&l[l.length-1].focus()}}(e,n,a)}const le=({onOpenChange:e,isExpanded:t})=>{const n=c(null),a=c(null),l=c(null),s=c(null),[i,d]=o(!1),[u,p]=o(!1);r((()=>{m(t)}),[t]);const m=e=>{n.current&&a.current&&(n.current.open=e,s.current=null,d(!1),p(!1),n.current.style.overflow="",n.current.style.height="")};return{detailsRef:n,summaryRef:a,contentRef:l,onSummaryClick:t=>{t.preventDefault(),n.current&&a.current&&(n.current.style.overflow="hidden",i||!n.current.open?(t=>{n.current&&a.current&&(n.current.style.height="".concat(n.current.offsetHeight,"px"),n.current.open=!0,requestAnimationFrame((()=>{if(n.current&&a.current&&l.current){p(!0),e(!0,t);const o=n.current.offsetHeight,r=a.current.offsetHeight+l.current.offsetHeight;s.current&&s.current.cancel(),n.current.animate&&(s.current=n.current.animate({height:["".concat(o,"px"),"".concat(r,"px")]},{duration:150,easing:"ease"}),s.current.onfinish=()=>m(!0),s.current.oncancel=()=>p(!1))}})))})(t):(u||n.current.open)&&(t=>{if(n.current&&a.current){d(!0),e(!1,t);const o=n.current.offsetHeight,l=a.current.offsetHeight;s.current&&s.current.cancel(),n.current.animate&&(s.current=n.current.animate({height:["".concat(o,"px"),"".concat(l,"px")]},{duration:150,easing:"ease"}),s.current.onfinish=()=>m(!1),s.current.oncancel=()=>d(!1))}})(t))}}},re=(e,t)=>{const[n,a]=o((()=>typeof window>"u"||!localStorage?t:JSON.parse(localStorage.getItem(e)||"null")||t));return[n,s((t=>{a(t),typeof window<"u"&&localStorage&&localStorage.setItem(e,JSON.stringify(t))}),[e])]},ce=i(((e,t)=>{const{id:n,children:o,invalid:l,className:s,inline:i=!1,density:u,"data-testautoid":p,checked:m,indeterminate:h,...f}=e,b=c(null);d(t,(()=>b.current),[]);const v=ne(n||"jkl-checkbox",{generateSuffix:!n});return r((()=>{!0===m&&!0===h&&console.warn("A Checkbox can not be both checked and indeterminate, and will be treated as checked"),b.current&&(b.current.indeterminate=!m&&!!h)}),[m,h]),a.createElement("div",{className:g("jkl-checkbox",s,{"jkl-checkbox--inline":i,"jkl-checkbox--error":l}),"data-density":u},a.createElement("input",{id:v,ref:b,className:"jkl-checkbox__input","data-testid":"jkl-checkbox-input","aria-invalid":l,type:"checkbox","data-testautoid":p,checked:m,...f}),a.createElement("label",{htmlFor:v,className:"jkl-checkbox__label"},a.createElement("span",{className:"jkl-checkbox__mark"},a.createElement("span",{className:"jkl-checkbox__indeterminate-mark"}),a.createElement("span",{className:"jkl-checkbox__check-mark"})),a.createElement("span",{className:"jkl-checkbox__text"},o)))}));ce.displayName="Checkbox";const se=u(null),ie=se.Provider,de=()=>{const e=p(se);if(null===e)throw new Error("Tooltip-komponentene kan kun brukes inne i <Tooltip />");return e},ue=({children:e,...t})=>{const n=(({initialOpen:e=!1,placement:t="top",delay:n=250,triggerOn:a="hover"})=>{const[l,r]=o(e),s=c(null),i=c(null),d=f({open:l,onOpenChange:r,placement:t,whileElementsMounted:b,middleware:[v(16),k(),y({padding:16}),E({element:s,padding:20})]}),u=w(d.context,{role:"tooltip"}),p=x(d.context,{referencePress:!1}),m=_(d.context,{enabled:"click"===a&&!l}),h=j(d.context,{enabled:"hover"===a,delay:l?0:n}),g=N(d.context,{enabled:"click"!==a||l}),F=C([p,g,u,m,h]);return{triggerOn:a,isOpen:l,setOpen:r,arrowElement:s,...d,refs:{...d.refs,description:i,setDescription:e=>i.current=e},...F}})(t);return a.createElement(ie,{value:n},e)};function pe(e,t=8){switch(!0){case e.startsWith("top"):return{top:t};case e.startsWith("left"):return{left:t,right:-t};case e.startsWith("bottom"):return{top:-t};case e.startsWith("right"):return{left:-t,right:t};default:return{top:t}}}const me=i((function({className:e,children:t,...n},o){const{triggerOn:l,arrowElement:r,isOpen:c,getFloatingProps:s,placement:i,isPositioned:d,middlewareData:{arrow:u},floatingStyles:p,refs:m}=de(),h=F([o,m.setFloating]),f=ne("jkl-tooltip-content"),{density:b,theme:v}=(e=>{if(!e)return{};const t=getComputedStyle(e);return{theme:parseInt(t.getPropertyValue("--jkl-background-color").replace("#",""),16)<8388607.5?"dark":"light",density:'"compact"'===t.getPropertyValue("--jkl-density")?"compact":"comfortable"}})(m.reference.current);return a.createElement(S,null,a.createElement(A,{features:O},a.createElement(D,null,"hover"===l&&a.createElement("span",{ref:m.setDescription,hidden:!0,key:"".concat(f,"-trigger")},t),c&&a.createElement("span",{className:"jkl",key:"".concat(f,"-wrapper")},a.createElement(L.span,{key:f,ref:h,initial:{opacity:0,...pe(i,5)},animate:{opacity:1,...pe(i,0)},exit:{opacity:0,...pe(i,-5),transition:{ease:"easeIn",duration:.15}},transition:{ease:"easeOut",duration:.25},"data-placement":i,"aria-live":"click"===l?"assertive":void 0,className:g("jkl-tooltip-content",e),...s({...n,id:f}),style:{...p},"data-theme":v,"data-layout-density":b},t,a.createElement("span",{"aria-hidden":!0,className:"jkl-tooltip-content__arrow",ref:r,style:{left:d?"".concat(null==u?void 0:u.x,"px"):"",top:d?"".concat(null==u?void 0:u.y,"px"):""}}))))))})),he=i((function({children:e,className:t,...n},o){var l,r;const{isOpen:c,setOpen:s,getReferenceProps:i,refs:d,triggerOn:u}=de(),p=e.ref,m=F([p,d.setReference,o]),h=()=>{"click"===u&&s(!1)},f=[null==(l=d.reference.current)?void 0:l.textContent,null==(r=d.description.current)?void 0:r.textContent].filter(Boolean).join(". ");return a.isValidElement(e)?a.cloneElement(e,i({ref:m,"aria-label":f,...e.props,...n,className:g(e.props.className,t),"data-tooltip-shown":c,style:{...e.props.style},tabIndex:"click"===u?0:void 0,onBlur:()=>{e.props.onBlur&&e.props.onBlur(),h()}})):a.createElement("button",{"data-tooltip-shown":c,...i({className:g(t,"jkl-tooltip-trigger"),type:"button",ref:m,onBlur:h,"aria-label":f,...n})},e)})),ge=a.forwardRef((function(e,t){const{bold:n,children:o,className:l,filled:r,variant:c,...s}=e;return a.createElement("span",{"aria-hidden":!0,ref:t,className:g("jkl-icon",l,{"jkl-icon--filled":r,"jkl-icon--bold":n,["jkl-icon--".concat(c)]:!!c}),...s},o)})),fe=e=>a.createElement(ge,{...e},"");fe.displayName="ArrowDownIcon";const be=e=>a.createElement(ge,{...e},"");be.displayName="ArrowUpIcon";const ve=({className:e,pointingDown:t,variant:n="inherit",bold:o=!1,...l})=>a.createElement("div",{...l,className:g("jkl-icon","jkl-icon--animated","jkl-icon--".concat(n),{"jkl-icon--bold":o},"jkl-animated-vertical-arrows",e)},a.createElement("div",{className:"jkl-animated-vertical-arrows__slider","data-show":t?"down":"up"},a.createElement(be,{className:"jkl-animated-vertical-arrows__arrow",variant:n,bold:o}),a.createElement(fe,{className:"jkl-animated-vertical-arrows__arrow",variant:n,bold:o})));ve.displayName="ArrowVerticalAnimated";const ke=e=>a.createElement(ge,{bold:!0,filled:!0,...e},"");ke.displayName="ErrorIcon";const ye=e=>a.createElement(ge,{...e},"");ye.displayName="QuestionIcon";const Ee=e=>a.createElement(ge,{bold:!0,filled:!0,...e},"");Ee.displayName="SuccessIcon";const we=e=>a.createElement(ge,{bold:!0,filled:!0,...e},"");we.displayName="WarningIcon";const xe=({content:e,triggerProps:t,...n})=>{const[l,r]=o(!1);return a.createElement(ue,{triggerOn:"click",...n},a.createElement(he,null,a.createElement("button",{...t,onFocus:e=>{var n;r(!0),null==(n=null==t?void 0:t.onFocus)||n.call(t,e)},onBlur:e=>{var n;r(!1),null==(n=null==t?void 0:t.onBlur)||n.call(t,e)},type:"button",className:g("jkl-tooltip-question-button",null==t?void 0:t.className),"data-testid":"jkl-tooltip-question-button"},a.createElement(ye,{variant:"inherit",bold:l}),a.createElement("span",{className:"jkl-sr-only"},"Vis hjelpetekst"))),a.createElement(me,null,e))},_e=({variant:e="small",density:t,srOnly:n,children:o,standAlone:l,htmlFor:r,className:c="",...s})=>{const i=g("jkl-label",c,{["jkl-label--".concat(e)]:e,"jkl-label--sr-only":n}),d=l?"label":"span";return!l&&r&&(r=void 0,console.warn("WARNING: The standard Label component renders as a <span> element, which does not take a htmlFor prop. If you want the Label to belong to a specific input, use the standAlone prop, which renders as a <label> element instead. In most cases the Label component should not be used directly, as it is part of all our input components.")),a.createElement(d,{...s,className:i,htmlFor:r,"data-density":t},o)},je=({id:e,helpLabel:t,errorLabel:n,label:o,labelType:l="help",density:r,className:c,srOnly:s,...i})=>{const d=n||t||o,u="error"===l,p="success"===l,m=d?g("jkl-form-support-label",c,{"jkl-form-support-label--sr-only":s,"jkl-form-support-label--help":"help"===l||t&&!n,"jkl-form-support-label--error":u,"jkl-form-support-label--warning":"warning"===l||n,"jkl-form-support-label--success":p}):"jkl-dormant-form-support-label",h=d?i:{},f=u?ke:p?Ee:we;return a.createElement("span",{id:e,className:m,...h,"data-density":r},a.createElement(f,{variant:"small",className:"jkl-form-support-label__icon"}),a.createElement("span",null,n||t||o))},Ne=e=>{const{id:t,legend:n,labelProps:o,supportLabelProps:l,tooltipProps:r,className:c,children:s,helpLabel:i,errorLabel:d,density:u,"data-testautoid":p,...m}=e,h=ne(t||"jkl-field-group",{generateSuffix:!t}),f="".concat(h,"_support-label"),b=d||i,v=d?"error":i?"help":void 0,k=b?f:void 0;return a.createElement("fieldset",{id:h,className:g("jkl-field-group",c),"data-testautoid":p,...m,"aria-describedby":k,"data-density":u},a.createElement("legend",{className:"jkl-field-group__legend"},a.createElement(_e,{...o,density:u},!r&&n,r&&a.createElement(a.Fragment,null,a.createElement("span",{style:{whiteSpace:"normal"}},n)," ",a.createElement(xe,{...r})))),s,(i||d)&&a.createElement(je,{...l,label:b,labelType:v,id:f,density:u}))},Ce=i(((e,t)=>{const{className:n,children:o,density:l,errorLabel:r,helpLabel:c,inline:s,label:i,labelProps:d,render:u,supportLabelProps:p,tooltipProps:m,id:h,...f}=e,b=ne(h||"jkl-input",{generateSuffix:!h}),v=ne("jkl-support-label"),k=r||c,y=r?"error":c?"help":void 0,E={"aria-describedby":k?v:void 0,"aria-invalid":!!r||void 0,id:b},w=u?()=>u(E):()=>{const t=a.Children.toArray(e.children)[0];if(a.isValidElement(t))return a.cloneElement(t,{...E,...t.props})};return a.createElement("div",{ref:t,className:g(n,"jkl-input-group",{"jkl-input-group--inline":s}),"data-density":l,...f},a.createElement(_e,{standAlone:!0,htmlFor:b,srOnly:s,...d,style:{whiteSpace:m?"nowrap":void 0,...null==d?void 0:d.style},density:l},!m&&i,m&&a.createElement(a.Fragment,null,a.createElement("span",{style:{whiteSpace:"normal"}},i)," ",a.createElement(xe,{...m}))),w(),a.createElement(je,{srOnly:s,...p,label:k,labelType:y,id:v,density:l}))}));Ce.displayName="InputGroup";const Fe=i(((e,t)=>{const{id:n,className:o,checked:l,children:r,label:c,density:s,inline:i,invalid:d,name:u,value:p,onChange:m,...h}=e,f=ne(n||"jkl-radio-button",{generateSuffix:!n});return a.createElement("div",{className:g("jkl-radio-button",o,{"jkl-radio-button--inline":i,"jkl-radio-button--error":d}),"data-density":s},a.createElement("input",{name:u,ref:t,...h,id:f,className:"jkl-radio-button__input",type:"radio",onChange:m,value:p,checked:l}),a.createElement("label",{"data-testid":"jkl-radio-button__label-tag",htmlFor:f,className:"jkl-radio-button__label"},a.createElement("span",{"aria-hidden":!0,className:"jkl-radio-button__dot"}),a.createElement("span",{className:"jkl-radio-button__text"},c||r)))}));Fe.displayName="BaseRadioButton";const Se=u({name:void 0,value:void 0,onChange:()=>{},inline:!1,density:void 0,invalid:!1}),Ae=({state:e,children:t})=>a.createElement(Se.Provider,{value:e},t),Oe=i(((e,t)=>{const{checked:n,value:o,supportLabelProps:l,helpLabel:r,...c}=e,{value:s,density:i,...d}=p(Se),u=ne("jkl-support-label");return a.createElement(a.Fragment,null,a.createElement(Fe,{...d,...c,ref:t,checked:typeof n<"u"?n:typeof s<"u"?o===s:void 0,value:o,"aria-describedby":r?u:void 0}),a.createElement(je,{...l,label:r,labelType:"help",id:u,density:i}))}));Oe.displayName="RadioButton";const De=e=>{const{name:t,value:n,onChange:o,errorLabel:l,inline:r=!1,density:c,labelProps:s={variant:"medium"},...i}=e;return a.createElement(Ae,{state:{onChange:o,value:n,name:t,invalid:!!l,inline:r,density:c}},a.createElement(Ne,{errorLabel:l,labelProps:s,"data-testid":"jkl-radio-button-group",density:c,...i,role:"radiogroup","aria-invalid":!!l}))};function Le(e=""){return e.toLowerCase().replace(/[\W_]+/g,"")}function Re(e,t){let n=null;t&&(n=e.querySelector('[aria-selected="true"]:not([hidden])')),(!t||!n)&&(n=e.querySelector('[role="option"]')),null==n||n.focus(),e.scrollTop=(null==n?void 0:n.offsetTop)||0}const Me=()=>{},Pe=i(((e,t)=>{const{id:n,name:l,items:i,value:d,label:u,labelProps:p,onChange:h,onBlur:f,onFocus:b,className:v,helpLabel:k,errorLabel:y,invalid:E,searchable:w=!1,inline:x=!1,defaultPrompt:_="Velg",density:j,width:N,maxShownOptions:C=5,style:F,tooltipProps:S,...A}=e,O=ne(n||"jkl-select",{generateSuffix:!n}),D="".concat(O,"_label"),L="".concat(O,"_button"),R="".concat(O,"_search-input"),[M,P]=o(!1),H=s((()=>{P((e=>!e))}),[]),T=!!w,B=T&&M,[V,z]=o(""),G=s((e=>!!e.label.toLowerCase().includes(V.toLowerCase())||"function"==typeof w&&w(V,e)),[w,V]),$=m((()=>i.map(I).map((e=>{const t=!T||""===V||G(e);return{...e,visible:t}}))),[i,T,V,G]),W=m((()=>!(typeof d>"u")&&i.some((e=>"string"==typeof e?e===d:e.value===d))),[d,i]),[U,q]=o(W&&void 0!==d?d:""),K=""!==U,J=m((()=>{var e;return(null==(e=$.find((e=>e.value===U)))?void 0:e.label)||_}),[$,U,_]),Q=c(null),X=s((e=>{Q.current=e,t&&("function"==typeof t?t(e):t.current=e),e&&q(e.value)}),[Q,t]),ee=Y(d);r((()=>{d!==ee&&q(typeof d>"u"||!W?"":d)}),[q,d,ee,W]);const te=s((e=>{const t=e.value;z(""),q(t),H()}),[z,q,H]),oe=Y(U);r((()=>{typeof oe>"u"||oe===U||U===d||(h&&h({type:"change",target:{name:l,value:U}}),Q.current&&Q.current.dispatchEvent(new Event("change",{bubbles:!0})))}),[h,l,d,U,oe]);const le=c(null),re=c(!1),ce=c(null),se=c(null),ie=s(((e,t)=>{if(e&&!T){const e=t.current;e&&Re(e,U)}else e?ce.current&&ce.current.focus():re.current&&se.current&&se.current.focus()}),[T,U]),[de]=Z(M,{onFirstVisible:ie,onTransitionEnd:ie});ae({ref:de});const ue=s((()=>{var e;T&&z(""),f&&(f({type:"blur",target:{name:l,value:U}}),null==(e=Q.current)||e.dispatchEvent(new Event("focusout",{bubbles:!0}))),re.current=!1,P(!1)}),[f,z,P,T,l,U]),pe=s((e=>{const t=le.current;t&&t.contains(e.relatedTarget)||ue()}),[ue]),me=s((()=>{re.current||(b&&b({type:"change",target:{name:l,value:U}}),re.current=!0)}),[b,U,l]),he=s((e=>{e.target.focus({preventScroll:!0})}),[]);r((()=>{const e=Q.current,t=ce.current,n=se.current,a=le.current;return null==e||e.addEventListener("focus",(()=>{B?null==t||t.focus():null==n||n.focus()})),null==e||e.addEventListener("blur",(function(e){a&&a.contains(e.relatedTarget)&&e.preventDefault()})),()=>{null==e||e.removeEventListener("focus",(()=>{B?null==t||t.focus():null==n||n.focus()})),null==e||e.removeEventListener("blur",(function(e){a&&a.contains(e.relatedTarget)&&e.preventDefault()}))}}),[B]);const ge=s((e=>{"ArrowDown"!==e.key&&" "!==e.key||M?"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),P(!1)):(e.preventDefault(),e.stopPropagation(),P(!0))}),[P,M]),fe=s((e=>{if("ArrowDown"===e.key){e.preventDefault(),e.stopPropagation();const t=de.current;t&&Re(t,T?void 0:U)}else if("Escape"===e.key)e.preventDefault(),e.stopPropagation(),P(!1);else if("Tab"!==e.key||e.shiftKey)"Enter"===e.key&&M&&(e.preventDefault(),e.stopPropagation());else{const t=de.current;t&&(e.preventDefault(),e.stopPropagation(),Re(t,U))}}),[P,de,U,T,M]),be=s((e=>{if("Tab"===e.key)e.preventDefault(),e.stopPropagation(),e.shiftKey&&ce.current?ce.current.focus():se.current&&(q(e.currentTarget.value),P(!1),se.current.focus());else if("ArrowUp"===e.key&&de.current&&ce.current){const t=de.current.querySelector('[role="option"]:not([hidden])');e.currentTarget.id===(null==t?void 0:t.id)&&ce.current&&ce.current.focus()}}),[P,de]);return r((()=>{const e=e=>{"Escape"===e.key&&M&&P(!1)};return typeof window<"u"&&M&&window.addEventListener("keydown",e),()=>{typeof window<"u"&&window.removeEventListener("keydown",e)}}),[P,M]),a.createElement(a.Fragment,null,a.createElement("select",{name:l,tabIndex:-1,"data-testid":"jkl-native-select",className:"jkl-sr-only","aria-hidden":!0,ref:X,value:U,onChange:Me},a.createElement("option",{value:""})," ",$.map((e=>a.createElement("option",{key:"".concat(O,"-opt-").concat(e.value),hidden:!e.visible,value:e.value},e.label)))),a.createElement(Ce,{ref:le,"data-testid":"jkl-select",className:g("jkl-select",v,{"jkl-select--inline":x,"jkl-select--open":M&&$.some((e=>e.visible)),"jkl-select--no-value":!K,"jkl-select--invalid":!!y||E}),tooltipProps:S&&{...S,triggerProps:{...S.triggerProps,onFocus:e=>{var t,n;null==(n=null==(t=S.triggerProps)?void 0:t.onFocus)||n.call(t,e),ue()}}},...A,id:T?R:L,style:{"--jkl-select-max-shown-options":C,...F},density:j,label:u,labelProps:{id:D,srOnly:x,...p,htmlFor:T?R:L},helpLabel:k,errorLabel:y,render:e=>a.createElement("div",{className:"jkl-select__outer-wrapper",style:{width:N}},T&&a.createElement("input",{...e,id:R,hidden:!B,ref:ce,placeholder:"Søk",value:V,onChange:e=>z(e.target.value),"data-testid":"jkl-select__search-input",className:"jkl-select__search-input","aria-autocomplete":"list","aria-activedescendant":K?"".concat(O,"__").concat(Le(U)):void 0,"aria-controls":O,"aria-expanded":M,role:"combobox",onKeyDown:fe,onBlur:pe,onFocus:me,onClick:e=>{e.stopPropagation()}}),a.createElement("button",{...e,id:L,ref:se,hidden:B,type:"button",name:"".concat(l,"-btn"),className:g("jkl-select__button",{"jkl-select__button--active-value":!!U}),"data-testid":"jkl-select__button","aria-label":"".concat(J||"Velg",",").concat(u),"aria-expanded":M,"aria-controls":O,onBlur:pe,onFocus:me,onKeyDown:ge,onClick:H,onMouseDown:e=>{var t;e.preventDefault(),null==(t=se.current)||t.focus()}},J),a.createElement("div",{id:O,ref:de,role:"listbox",className:"jkl-select__options-menu",hidden:!M||$.every((e=>!e.visible)),"aria-labelledby":D,tabIndex:-1,"data-focus":"controlled"},$.map(((e,t)=>e.visible?a.createElement("button",{key:"".concat(O,"-").concat(e.value),hidden:!e.visible,type:"button",id:"".concat(O,"__").concat(Le(e.value)),className:"jkl-select__option","data-testid":"jkl-select__option","aria-selected":e.value===U,role:"option",value:e.value,"data-testautoid":"jkl-select__option-".concat(t),onBlur:pe,onFocus:me,onKeyDown:be,onClick:t=>{t.preventDefault(),te(e)},onMouseOver:he},e.label,e.description?a.createElement("span",{className:"jkl-select__option-description"},e.description):null):null))),a.createElement(ve,{variant:"medium",pointingDown:!M,className:"jkl-select__arrow"}))}))}));function He(e){return!!window.matchMedia&&window.matchMedia(e).matches}function Te(e,t){typeof e.addEventListener<"u"?e.addEventListener("change",t):e.addListener(t)}function Be(e,t){typeof e.removeEventListener<"u"?e.removeEventListener("change",t):e.removeListener(t)}Pe.displayName="Select";const Ie="(prefers-reduced-motion: reduce)",Ve="(prefers-color-scheme: light)",ze="(forced-colors: active)",Ge={prefersReducedMotion:!1,prefersColorScheme:"light",forcedColors:!1},$e=(e,t)=>{switch(t.type){case"COLOR_SCHEME_CHANGED":return{...e,prefersColorScheme:t.value};case"REDUCED_MOTION_CHANGED":return{...e,prefersReducedMotion:t.value};case"FORCED_COLORS_CHANGED":return{...e,forcedColors:t.value};default:return e}},We={'code[class*="language-"]':{color:"black",background:"none",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{lineHeight:"1.4"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#68563E"},prolog:{color:"#68563E"},doctype:{color:"#68563E"},cdata:{color:"#68563E"},punctuation:{color:"#525252"},".namespace":{opacity:".7"},property:{color:"#AA1F23"},tag:{color:"#AA1F23"},boolean:{color:"#AA1F23"},number:{color:"#AA1F23"},constant:{color:"#AA1F23"},symbol:{color:"#AA1F23"},deleted:{color:"#AA1F23"},selector:{color:"#287E68"},"attr-name":{color:"#287E68"},string:{color:"#287E68"},char:{color:"#287E68"},builtin:{color:"#287E68"},inserted:{color:"#287E68"},operator:{color:"#9a6e3a",background:"transparent"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#000AFA"},"attr-value":{color:"#000AFA"},keyword:{color:"#000AFA"},function:{color:"#cb252b"},"class-name":{color:"#cb252b"},regex:{color:"#9f5704"},important:{color:"#9f5704",fontWeight:"bold"},variable:{color:"#9f5704"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},Ue={'code[class*="language-"]':{color:"black",background:"none",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{lineHeight:"1.4"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#999999"},prolog:{color:"#999999"},doctype:{color:"#999999"},cdata:{color:"#999999"},punctuation:{color:"#D6D6D6"},".namespace":{opacity:".7"},property:{color:"#FF8B79"},tag:{color:"#FF8B79"},boolean:{color:"#FF8B79"},number:{color:"#FF8B79"},constant:{color:"#FF8B79"},symbol:{color:"#FF8B79"},deleted:{color:"#FF8B79"},selector:{color:"#5EFFA0"},"attr-name":{color:"#5EFFA0"},string:{color:"#5EFFA0"},char:{color:"#5EFFA0"},builtin:{color:"#5EFFA0"},inserted:{color:"#5EFFA0"},operator:{color:"#9a6e3a",background:"transparent"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#00FAFF"},"attr-value":{color:"#00FAFF"},keyword:{color:"#00FAFF"},function:{color:"#ff644d"},"class-name":{color:"#ff644d"},regex:{color:"#FEC97B"},important:{color:"#FEC97B",fontWeight:"bold"},variable:{color:"#FEC97B"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}};R.registerLanguage("diff",M),R.registerLanguage("sass",P),R.registerLanguage("scss",H),R.registerLanguage("shell-session",T),R.registerLanguage("tsx",B);const qe=({language:t,children:n})=>{const{prefersColorScheme:a}=(()=>{const[e,t]=o(!1),[n,a]=l($e,Ge);return r((()=>{t(!0);const e=He(Ie),n=He(Ve)?"light":"dark",o=He(ze);a({type:"REDUCED_MOTION_CHANGED",value:e}),a({type:"COLOR_SCHEME_CHANGED",value:n}),a({type:"FORCED_COLORS_CHANGED",value:o})}),[]),r((()=>{if(!e||!window.matchMedia)return;const t=e=>{a({type:"REDUCED_MOTION_CHANGED",value:e.matches})},n=e=>{a({type:"COLOR_SCHEME_CHANGED",value:e.matches?"light":"dark"})},o=e=>{a({type:"FORCED_COLORS_CHANGED",value:e.matches})};return Te(window.matchMedia(Ie),t),Te(window.matchMedia(Ve),n),Te(window.matchMedia(ze),o),()=>{Be(window.matchMedia(Ie),t),Be(window.matchMedia(Ve),n),Be(window.matchMedia(ze),o)}}),[e]),{...n}})(),[c,s]=o(We);return r((()=>s("dark"===a?Ue:We)),[a]),e(R,{className:"jkl-portal-code-block",style:c,codeTagProps:{style:{},className:"jkl-portal-code-block__code",tabIndex:0},language:t,"data-language":t||void 0,children:n})},Ke=a.forwardRef((({as:e="button",className:t,children:n,density:o,expandDirection:l="down",isExpanded:r=!1,hideLabel:c=!1,...s},i)=>{const d=c?G:a.Fragment,u="down"===l?!r:r,p=e,m="button"===p?"button":void 0;return a.createElement(p,{"aria-expanded":r,"data-testid":"jkl-expand-button",type:m,className:g("jkl-expand-button",t,{"jkl-expand-button--expanded":r,"jkl-expand-button--icon-only":!n}),...s,"data-density":o,ref:i},n&&a.createElement(d,null,a.createElement("span",{className:"jkl-expand-button__text"},n)),a.createElement(ve,{className:"jkl-expand-button__arrow",variant:"inherit",pointingDown:u,bold:r}))}));Ke.displayName="ExpandButton";const Je=({children:e,className:t,expandButtonProps:n,isExpanded:l=!1,density:c,onClick:s,title:i,useAnimatedHeightOptions:d,...u})=>{const[p,m]=o(l);r((()=>{m(l)}),[l]);const{detailsRef:h,summaryRef:f,contentRef:b,onSummaryClick:v}=le({onOpenChange:(e,t)=>{m(e),s&&s(t,e)},isExpanded:l});return a.createElement("details",{"data-testid":"jkl-expand-section",className:g("jkl-expand-section",t),...u,ref:h},a.createElement(Ke,{as:"summary",...n,density:c,isExpanded:p,onClick:v,ref:f},i),a.createElement("div",{"data-testid":"jkl-expand-section__content-wrapper",className:"jkl-expand-section__content-wrapper",ref:b},a.createElement("div",{className:"jkl-expand-section__content"},e)))},Qe=({className:t,children:n})=>{const[a,l]=o("Vis kode");return e(Je,{className:t,title:a,onClick:(e,t)=>l(t?"Skjul kode":"Vis kode"),children:n})},Xe=u({density:"comfortable",theme:"light"}),Ye=({state:t,children:n})=>e(Xe.Provider,{value:t,children:n}),Ze=e=>e.replace(/\ ./,(e=>`-${e.slice(-1)}`)).toLowerCase(),et=({component:a,knobs:l,noDensity:c=!1,title:s="Komponent",codeExample:i,scrollable:d,style:u,isWide:p})=>{var h,g,f;const b=ne("example"),[v,k]=re("jkl-example-theme","light"),[y,E]=re("jkl-example-density","comfortable"),[w,x]=o(!1),[_,j]=o((null==(h=null==l?void 0:l.boolProps)?void 0:h.reduce(((e,t)=>"string"==typeof t?{...e,[t]:!1}:{...e,[t.prop]:t.defaultValue}),{}))||{}),[N,C]=o((null==(g=null==l?void 0:l.choiceProps)?void 0:g.reduce(((e,{name:t,values:n,defaultValue:a})=>({...e,[t]:n[a]})),{}))||{}),F=(null==(f=null==l?void 0:l.choiceProps)?void 0:f.reduce(((e,{name:t,values:n})=>({...e,[t]:n})),{}))||{},S=(e,t)=>C((n=>({...n,[e]:t}))),A=m((()=>e(a,{boolValues:_,choiceValues:N,displayValues:{density:y,theme:v}})),[a,_,N,y,v]),[O,D]=o(!1);return r((()=>{D(!0)}),[]),O?t(Ye,{state:{theme:v,density:y},children:[e("button",{id:"screenshot-mode-toggle",hidden:!0,onClick:()=>x(!w)}),t("div",{className:"mb-64",children:[t("section",{className:"jkl-portal-component-example "+(p?"jkl-portal-component-example--is-wide":""),children:[e("div",{id:Ze(s),"data-layout-density":y,"data-theme":v,"data-example-text":s,className:`jkl jkl-portal-component-example__example-wrapper ${"dark"===v?"jkl-portal-component-example__example-wrapper--dark":""} ${d?"jkl-portal-component-example__example-wrapper--scrollable":""} ${"comfortable"===y?"jkl-body":""} ${"compact"===y?"jkl-small":""}`.trim(),style:u,"data-test-mode":w?"e2e-screenshot":null,children:A}),e("aside",{"data-layout-density":"compact",className:"jkl-portal-component-example__example-options",children:t(n,{children:[((null==l?void 0:l.boolProps)||(null==l?void 0:l.choiceProps))&&t(Ne,{legend:"Egenskaper",labelProps:{variant:"medium"},className:"jkl-portal-component-example__example-options-header",children:[(null==l?void 0:l.boolProps)&&e(n,{children:Object.entries(_).map((([t,n])=>e(ce,{name:`${b}-${Ze(t)}`,value:t,checked:n,onChange:e=>((e,t)=>j((n=>({...n,[e]:t}))))(t,e.target.checked),children:t},`${b}-${Ze(t)}`)))}),(null==l?void 0:l.choiceProps)&&e(n,{children:Object.entries(N).map((([t,n])=>{var a;return F[t].length<4?e(De,{className:"mt-8",name:`${b}-${Ze(t)}`,legend:t,value:n,labelProps:{variant:"small"},onChange:e=>S(t,e.target.value),children:null==(a=F[t])?void 0:a.map((t=>e(Oe,{value:t,children:t},t)))},`${b}-${Ze(t)}`):e(Pe,{className:"mt-8",value:n,onChange:e=>S(t,e.target.value),label:t,width:"100%",name:t,items:F[t]},`${b}-${Ze(t)}`)}))})]}),t(Ne,{legend:"Visning",labelProps:{variant:"medium"},className:"jkl-portal-component-example__example-options-header",children:[t(De,{name:`${b}-theme`,legend:"Tema",value:v,labelProps:{variant:"small"},onChange:e=>k(e.target.value),children:[e(Oe,{value:"light",children:"Light"}),e(Oe,{value:"dark",children:"Dark"})]}),c?null:t(De,{className:"mt-8",name:`${b}-density`,legend:"Tetthet",value:y,labelProps:{variant:"small"},onChange:e=>E(e.target.value),children:[e(Oe,{value:"comfortable",children:"Default"}),e(Oe,{value:"compact",children:"Compact"})]})]})]})})]}),O&&i&&e(Qe,{className:"mt-16",children:e(qe,{language:"tsx",children:"string"==typeof i?i.trim():i({boolValues:_,choiceValues:N}).trim()})})]})]}):null},tt=({component:t,...n})=>{const a=t;return e(et,{component:({boolValues:t,choiceValues:n,displayValues:o})=>e(a,{boolValues:t,choiceValues:n,displayValues:o}),...n})},nt=t=>e(h,{children:e("div",{className:"jkl-dev-example",children:e(tt,{...t})})});export{nt as D};
2
- //# sourceMappingURL=styles-DZZT66cq.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles-DZZT66cq.js","sources":["../../core/build/esm/utils/getValuePair.js","../../core/build/esm/utils/motion.js","../../core/build/esm/components/ScreenReaderOnly.js","../../react-hooks/build/esm/mediaQueryUtils.js","../../react-hooks/build/esm/useBrowserPreferences/useBrowserPreferences.js","../../react-hooks/build/esm/usePreviousValue/usePreviousValue.js","../../react-hooks/build/esm/useAnimatedHeight/useAnimatedHeight.js","../../react-hooks/build/esm/useId.js","../../../node_modules/.pnpm/nanoid@3.3.6/node_modules/nanoid/index.browser.js","../../react-hooks/build/esm/useListNavigation.js","../../react-hooks/build/esm/useAnimatedDetails/useAnimatedDetails.js","../../react-hooks/build/esm/useLocalStorage/useLocalStorage.js","../../checkbox-react/build/esm/Checkbox.js","../../tooltip-react/build/esm/Tooltip.js","../../tooltip-react/build/esm/TooltipContent.js","../../core/build/esm/utils/getThemeAndDensity.js","../../tooltip-react/build/esm/TooltipTrigger.js","../../icons-react/build/esm/Icon.js","../../icons-react/build/esm/icons/ArrowDownIcon.js","../../icons-react/build/esm/icons/ArrowUpIcon.js","../../icons-react/build/esm/icons/animated/ArrowVerticalAnimated.js","../../icons-react/build/esm/icons/ErrorIcon.js","../../icons-react/build/esm/icons/QuestionIcon.js","../../icons-react/build/esm/icons/SuccessIcon.js","../../icons-react/build/esm/icons/WarningIcon.js","../../tooltip-react/build/esm/PopupTip.js","../../input-group-react/build/esm/Label.js","../../input-group-react/build/esm/SupportLabel.js","../../input-group-react/build/esm/FieldGroup.js","../../input-group-react/build/esm/InputGroup.js","../../radio-button-react/build/esm/BaseRadioButton.js","../../radio-button-react/build/esm/radioGroupContext.js","../../radio-button-react/build/esm/RadioButton.js","../../radio-button-react/build/esm/RadioButtonGroup.js","../../select-react/build/esm/select-utils.js","../../select-react/build/esm/Select.js","../../react-hooks/src/mediaQueryUtils.ts","../../react-hooks/src/useBrowserPreferences/useBrowserPreferences.tsx","../../../doc-utils/CodeBlock/fremtindTheme.ts","../../../doc-utils/CodeBlock/fremtindThemeDark.ts","../../../doc-utils/CodeBlock/CodeBlock.tsx","../../expand-button-react/build/esm/ExpandButton.js","../../expand-button-react/build/esm/ExpandSection.js","../../../doc-utils/CodeSection.tsx","../../../doc-utils/exampleContext.tsx","../../../doc-utils/internal/hypenate.ts","../../../doc-utils/ExampleBase.tsx","../../../doc-utils/ComponentExample.tsx","../../../doc-utils/DevExample.tsx"],"sourcesContent":["function getValuePair(item) {\n return typeof item === \"string\" ? { value: item, label: item } : item;\n}\nexport {\n getValuePair\n};\n//# sourceMappingURL=getValuePair.js.map\n","const easings = Object.freeze({\n standard: \"ease\",\n entrance: \"ease-out\",\n exit: \"ease-in\",\n easeInBounceOut: \"cubic-bezier(0, 0, 0.375, 1.17)\",\n focus: \"cubic-bezier(0.6, 0.2, 0.35, 1)\"\n});\nconst timings = Object.freeze({\n energetic: \"75ms\",\n snappy: \"100ms\",\n productive: \"150ms\",\n expressive: \"250ms\",\n lazy: \"400ms\"\n});\nexport {\n easings,\n timings\n};\n//# sourceMappingURL=motion.js.map\n","import React from \"react\";\nconst ScreenReaderOnly = ({ children, showOnFocus, ...rest }) => /* @__PURE__ */ React.createElement(\"span\", { ...rest, className: \"jkl-sr-only\".concat(showOnFocus ? \" jkl-sr-only--focusable\" : \"\") }, children);\nvar ScreenReaderOnly_default = ScreenReaderOnly;\nexport {\n ScreenReaderOnly,\n ScreenReaderOnly_default as default\n};\n//# sourceMappingURL=ScreenReaderOnly.js.map\n","function getInitialMediaQueryMatch(mediaQuery) {\n if (!window.matchMedia) {\n return false;\n }\n return window.matchMedia(mediaQuery).matches;\n}\nfunction addMediaQueryListener(queryList, callback) {\n if (typeof queryList.addEventListener !== \"undefined\") {\n queryList.addEventListener(\"change\", callback);\n } else {\n queryList.addListener(callback);\n }\n}\nfunction removeMediaQueryListener(queryList, callback) {\n if (typeof queryList.removeEventListener !== \"undefined\") {\n queryList.removeEventListener(\"change\", callback);\n } else {\n queryList.removeListener(callback);\n }\n}\nexport {\n addMediaQueryListener,\n getInitialMediaQueryMatch,\n removeMediaQueryListener\n};\n//# sourceMappingURL=mediaQueryUtils.js.map\n","import { useEffect, useReducer, useState } from \"react\";\nimport { addMediaQueryListener, getInitialMediaQueryMatch, removeMediaQueryListener } from \"../mediaQueryUtils\";\nvar ActionType = /* @__PURE__ */ ((ActionType2) => {\n ActionType2[\"PrefersColorScheme\"] = \"COLOR_SCHEME_CHANGED\";\n ActionType2[\"PrefersReducedMotion\"] = \"REDUCED_MOTION_CHANGED\";\n ActionType2[\"ForcedColors\"] = \"FORCED_COLORS_CHANGED\";\n return ActionType2;\n})(ActionType || {});\nconst PREFERS_REDUCED_MOTION = \"(prefers-reduced-motion: reduce)\";\nconst PREFERS_LIGHT_COLOR_SCHEME = \"(prefers-color-scheme: light)\";\nconst FORCED_COLORS = \"(forced-colors: active)\";\nconst initialState = {\n prefersReducedMotion: false,\n prefersColorScheme: \"light\",\n forcedColors: false\n};\nconst reducer = (state, action) => {\n switch (action.type) {\n case \"COLOR_SCHEME_CHANGED\" /* PrefersColorScheme */:\n return {\n ...state,\n prefersColorScheme: action.value\n };\n case \"REDUCED_MOTION_CHANGED\" /* PrefersReducedMotion */:\n return {\n ...state,\n prefersReducedMotion: action.value\n };\n case \"FORCED_COLORS_CHANGED\" /* ForcedColors */:\n return {\n ...state,\n forcedColors: action.value\n };\n default:\n return state;\n }\n};\nconst useBrowserPreferences = () => {\n const [hasMounted, setHasMounted] = useState(false);\n const [state, dispatch] = useReducer(reducer, initialState);\n useEffect(() => {\n setHasMounted(true);\n const prefersReducedMotion = getInitialMediaQueryMatch(PREFERS_REDUCED_MOTION);\n const prefersColorScheme = getInitialMediaQueryMatch(PREFERS_LIGHT_COLOR_SCHEME) ? \"light\" : \"dark\";\n const forcedColors = getInitialMediaQueryMatch(FORCED_COLORS);\n dispatch({ type: \"REDUCED_MOTION_CHANGED\" /* PrefersReducedMotion */, value: prefersReducedMotion });\n dispatch({ type: \"COLOR_SCHEME_CHANGED\" /* PrefersColorScheme */, value: prefersColorScheme });\n dispatch({ type: \"FORCED_COLORS_CHANGED\" /* ForcedColors */, value: forcedColors });\n }, []);\n useEffect(() => {\n if (!hasMounted || !window.matchMedia) {\n return;\n }\n const onPrefersReducedMotionChange = (e) => {\n dispatch({ type: \"REDUCED_MOTION_CHANGED\" /* PrefersReducedMotion */, value: e.matches });\n };\n const onPrefersColorSchemeChange = (e) => {\n dispatch({ type: \"COLOR_SCHEME_CHANGED\" /* PrefersColorScheme */, value: e.matches ? \"light\" : \"dark\" });\n };\n const onForcedColorsChange = (e) => {\n dispatch({ type: \"FORCED_COLORS_CHANGED\" /* ForcedColors */, value: e.matches });\n };\n addMediaQueryListener(window.matchMedia(PREFERS_REDUCED_MOTION), onPrefersReducedMotionChange);\n addMediaQueryListener(window.matchMedia(PREFERS_LIGHT_COLOR_SCHEME), onPrefersColorSchemeChange);\n addMediaQueryListener(window.matchMedia(FORCED_COLORS), onForcedColorsChange);\n return () => {\n removeMediaQueryListener(window.matchMedia(PREFERS_REDUCED_MOTION), onPrefersReducedMotionChange);\n removeMediaQueryListener(window.matchMedia(PREFERS_LIGHT_COLOR_SCHEME), onPrefersColorSchemeChange);\n removeMediaQueryListener(window.matchMedia(FORCED_COLORS), onForcedColorsChange);\n };\n }, [hasMounted]);\n return { ...state };\n};\nexport {\n useBrowserPreferences\n};\n//# sourceMappingURL=useBrowserPreferences.js.map\n","import { useEffect, useRef } from \"react\";\nconst usePreviousValue = (value) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nexport {\n usePreviousValue\n};\n//# sourceMappingURL=usePreviousValue.js.map\n","import { easings, timings } from \"@fremtind/jkl-core\";\nimport { useCallback, useEffect, useRef } from \"react\";\nimport { useBrowserPreferences } from \"../useBrowserPreferences/useBrowserPreferences\";\nimport { usePreviousValue } from \"../usePreviousValue/usePreviousValue\";\nconst defaultDisplay = \"block\";\nconst defaultEasing = \"standard\";\nconst defaultTiming = \"productive\";\nfunction useAnimatedHeight(isOpen, options) {\n const wasOpen = usePreviousValue(isOpen);\n const easing = (options == null ? void 0 : options.easing) || defaultEasing;\n const timing = (options == null ? void 0 : options.timing) || defaultTiming;\n const display = (options == null ? void 0 : options.display) || defaultDisplay;\n const transition = \"\".concat(timings[timing], \" height \").concat(easings[easing]);\n const { prefersReducedMotion } = useBrowserPreferences();\n const raf1 = useRef();\n const raf2 = useRef();\n const elementRef = useRef(null);\n function handleTransitionEnd(event) {\n var _a;\n const element = elementRef.current;\n if (element && event.target === element) {\n if (isOpen) {\n element.removeAttribute(\"style\");\n } else {\n element.removeAttribute(\"style\");\n element.style.display = \"none\";\n }\n (_a = options == null ? void 0 : options.onTransitionEnd) == null ? void 0 : _a.call(options, isOpen, elementRef);\n }\n }\n const runAnimation = useCallback(() => {\n var _a, _b, _c, _d;\n const element = elementRef.current;\n if (!element || wasOpen === void 0) {\n return;\n }\n if (!isOpen) {\n element.style.display = \"none\";\n if (!wasOpen) {\n return;\n }\n } else if (isOpen && wasOpen) {\n return;\n }\n (_a = options == null ? void 0 : options.onTransitionStart) == null ? void 0 : _a.call(options, isOpen, elementRef);\n if (prefersReducedMotion) {\n element.removeAttribute(\"style\");\n if (isOpen) {\n (_b = options == null ? void 0 : options.onFirstVisible) == null ? void 0 : _b.call(options, isOpen, elementRef);\n }\n (_c = options == null ? void 0 : options.onTransitionEnd) == null ? void 0 : _c.call(options, isOpen, elementRef);\n return;\n }\n element.style.transition = transition;\n element.style.display = display;\n element.style.overflow = \"hidden\";\n if (isOpen) {\n (_d = options == null ? void 0 : options.onFirstVisible) == null ? void 0 : _d.call(options, isOpen, elementRef);\n element.style.height = \"0\";\n element.style.height = \"\".concat(element.scrollHeight, \"px\");\n } else {\n if (element.scrollHeight === 0) {\n element.removeAttribute(\"style\");\n return;\n }\n element.style.height = \"\".concat(element.scrollHeight, \"px\");\n raf1.current = requestAnimationFrame(() => {\n raf2.current = requestAnimationFrame(() => {\n element.style.height = \"\".concat(0, \"px\");\n });\n });\n }\n }, [isOpen, options, wasOpen, transition, prefersReducedMotion, display]);\n useEffect(() => {\n runAnimation();\n }, [isOpen, runAnimation]);\n useEffect(() => {\n const element = elementRef.current;\n if (element) {\n element.addEventListener(\"transitionend\", handleTransitionEnd);\n }\n return () => {\n if (element) {\n element.removeEventListener(\"transitionend\", handleTransitionEnd);\n }\n };\n }, [isOpen]);\n useEffect(() => {\n const r1 = raf1.current;\n const r2 = raf2.current;\n return () => {\n r1 && cancelAnimationFrame(r1);\n r2 && cancelAnimationFrame(r2);\n };\n }, [raf1, raf2]);\n return [elementRef, runAnimation];\n}\nexport {\n useAnimatedHeight\n};\n//# sourceMappingURL=useAnimatedHeight.js.map\n","import { nanoid } from \"nanoid\";\nimport React from \"react\";\nconst useReactId = React.useId;\nconst defaultOptions = {\n generateSuffix: true\n};\nconst useLegacyId = (id, options = defaultOptions) => {\n const uid = nanoid(8);\n let elementId = id;\n if (id && options.generateSuffix) {\n elementId = \"\".concat(id, \"-\").concat(uid);\n }\n const [elId] = React.useState(elementId || uid);\n return elId;\n};\nconst useModernId = (id, options = defaultOptions) => {\n const uid = useReactId();\n let elementId = id;\n if (id && options.generateSuffix) {\n elementId = \"\".concat(id, \"-\").concat(uid);\n }\n const [elId] = React.useState(elementId || uid);\n return elId;\n};\nconst useId = typeof useReactId !== \"undefined\" ? useModernId : useLegacyId;\nexport {\n useId\n};\n//# sourceMappingURL=useId.js.map\n","import { urlAlphabet } from './url-alphabet/index.js'\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nlet customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size, random)\nlet nanoid = (size = 21) =>\n crypto.getRandomValues(new Uint8Array(size)).reduce((id, byte) => {\n byte &= 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte > 62) {\n id += '-'\n } else {\n id += '_'\n }\n return id\n }, '')\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","import { useEffect } from \"react\";\nfunction useListNavigation({ ref }) {\n useEffect(() => {\n let searchResetTimer;\n const search = { keys: \"\" };\n const list = ref.current;\n const handler = (event) => {\n if (list) {\n handleListKeyNav({ list, event, search, searchResetTimer });\n }\n };\n if (list) {\n list.addEventListener(\"keydown\", handler);\n }\n return () => {\n if (list) {\n list.removeEventListener(\"keydown\", handler);\n }\n };\n }, [ref]);\n}\nfunction handleMoveTo(direction, { event, list, currentFocus }) {\n event.preventDefault();\n moveFocusTo(direction, list, currentFocus);\n}\nfunction handleListKeyNav({ list, event, search, searchResetTimer }) {\n const { key, target } = event;\n const currentFocus = target;\n const moveDetails = {\n event,\n list,\n currentFocus\n };\n switch (key) {\n case \"ArrowUp\":\n handleMoveTo(\"prev\", moveDetails);\n break;\n case \"ArrowDown\":\n handleMoveTo(\"next\", moveDetails);\n break;\n case \"Home\":\n handleMoveTo(\"first\", moveDetails);\n break;\n case \"End\":\n handleMoveTo(\"last\", moveDetails);\n break;\n case \"Tab\":\n event.preventDefault();\n break;\n case \"Enter\":\n break;\n default:\n if (search !== void 0) {\n const searchResult = findItem({ list, key, search, searchResetTimer });\n if (searchResult) {\n searchResult.focus();\n }\n }\n break;\n }\n}\nfunction moveFocusTo(direction, list, current) {\n const thisOption = current;\n switch (direction) {\n case \"prev\":\n const prevOption = thisOption && thisOption.previousElementSibling;\n if (prevOption) {\n prevOption.focus();\n }\n break;\n case \"next\":\n const nextOption = thisOption && thisOption.nextElementSibling;\n if (nextOption) {\n nextOption.focus();\n }\n break;\n case \"first\":\n const firstItem = list.querySelector('[role=\"option\"]');\n if (firstItem) {\n firstItem.focus();\n }\n break;\n case \"last\":\n const listItems = list.querySelectorAll('[role=\"option\"]');\n if (listItems.length) {\n listItems[listItems.length - 1].focus();\n }\n break;\n }\n}\nfunction findItem({ list, key, search, searchResetTimer }) {\n const listItems = list.querySelectorAll('[role=\"option\"]');\n if (!listItems.length)\n return null;\n if (search) {\n search.keys = search.keys.concat(key);\n resetWhenIdle(search, searchResetTimer);\n for (let n = 0; n < listItems.length; n++) {\n const label = listItems[n].innerText;\n if (label && label.toLowerCase().indexOf(search.keys) === 0) {\n return listItems[n];\n }\n }\n }\n return null;\n}\nfunction resetWhenIdle(search, timer) {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n timer = setTimeout(\n () => {\n search ? search.keys = \"\" : search = { keys: \"\" };\n timer = void 0;\n },\n 500,\n search,\n timer\n );\n}\nexport {\n useListNavigation\n};\n//# sourceMappingURL=useListNavigation.js.map\n","import { useEffect, useRef, useState } from \"react\";\nconst useAnimatedDetails = ({\n onOpenChange,\n isExpanded\n}) => {\n const detailsRef = useRef(null);\n const summaryRef = useRef(null);\n const contentRef = useRef(null);\n const animation = useRef(null);\n const [isClosing, setIsClosing] = useState(false);\n const [isExpanding, setIsExpanding] = useState(false);\n useEffect(() => {\n onAnimationFinish(isExpanded);\n }, [isExpanded]);\n const onAnimationFinish = (open2) => {\n if (detailsRef.current && summaryRef.current) {\n detailsRef.current.open = open2;\n animation.current = null;\n setIsClosing(false);\n setIsExpanding(false);\n detailsRef.current.style.overflow = \"\";\n detailsRef.current.style.height = \"\";\n }\n };\n const open = (e) => {\n if (detailsRef.current && summaryRef.current) {\n detailsRef.current.style.height = \"\".concat(detailsRef.current.offsetHeight, \"px\");\n detailsRef.current.open = true;\n requestAnimationFrame(() => {\n if (detailsRef.current && summaryRef.current && contentRef.current) {\n setIsExpanding(true);\n onOpenChange(true, e);\n const startHeight = detailsRef.current.offsetHeight;\n const endHeight = summaryRef.current.offsetHeight + contentRef.current.offsetHeight;\n if (animation.current) {\n animation.current.cancel();\n }\n if (detailsRef.current.animate) {\n animation.current = detailsRef.current.animate(\n {\n height: [\"\".concat(startHeight, \"px\"), \"\".concat(endHeight, \"px\")]\n },\n {\n duration: 150,\n easing: \"ease\"\n }\n );\n animation.current.onfinish = () => onAnimationFinish(true);\n animation.current.oncancel = () => setIsExpanding(false);\n }\n }\n });\n }\n };\n const close = (e) => {\n if (detailsRef.current && summaryRef.current) {\n setIsClosing(true);\n onOpenChange(false, e);\n const startHeight = detailsRef.current.offsetHeight;\n const endHeight = summaryRef.current.offsetHeight;\n if (animation.current) {\n animation.current.cancel();\n }\n if (detailsRef.current.animate) {\n animation.current = detailsRef.current.animate(\n {\n height: [\"\".concat(startHeight, \"px\"), \"\".concat(endHeight, \"px\")]\n },\n {\n duration: 150,\n easing: \"ease\"\n }\n );\n animation.current.onfinish = () => onAnimationFinish(false);\n animation.current.oncancel = () => setIsClosing(false);\n }\n }\n };\n const onSummaryClick = (e) => {\n e.preventDefault();\n if (detailsRef.current && summaryRef.current) {\n detailsRef.current.style.overflow = \"hidden\";\n if (isClosing || !detailsRef.current.open) {\n open(e);\n } else if (isExpanding || detailsRef.current.open) {\n close(e);\n }\n }\n };\n return { detailsRef, summaryRef, contentRef, onSummaryClick };\n};\nexport {\n useAnimatedDetails\n};\n//# sourceMappingURL=useAnimatedDetails.js.map\n","import { useCallback, useState } from \"react\";\nconst useLocalStorage = (key, defaultValue) => {\n const [state, setState] = useState(() => {\n if (typeof window === \"undefined\" || !localStorage) {\n return defaultValue;\n }\n const storedValue = JSON.parse(localStorage.getItem(key) || \"null\");\n return storedValue || defaultValue;\n });\n const updateState = useCallback(\n (newValue) => {\n setState(newValue);\n if (typeof window !== \"undefined\" && localStorage) {\n localStorage.setItem(key, JSON.stringify(newValue));\n }\n },\n [key]\n );\n return [state, updateState];\n};\nexport {\n useLocalStorage\n};\n//# sourceMappingURL=useLocalStorage.js.map\n","import { useId } from \"@fremtind/jkl-react-hooks\";\nimport cn from \"classnames\";\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef\n} from \"react\";\nconst Checkbox = forwardRef((props, ref) => {\n const {\n id,\n children,\n invalid,\n className,\n inline = false,\n density,\n \"data-testautoid\": testAutoId,\n checked,\n indeterminate,\n ...rest\n } = props;\n const inputRef = useRef(null);\n useImperativeHandle(ref, () => inputRef.current, []);\n const inputId = useId(id || \"jkl-checkbox\", { generateSuffix: !id });\n useEffect(() => {\n if (checked === true && indeterminate === true && true) {\n console.warn(\"A Checkbox can not be both checked and indeterminate, and will be treated as checked\");\n }\n if (inputRef.current) {\n inputRef.current.indeterminate = !checked && !!indeterminate;\n }\n }, [checked, indeterminate]);\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: cn(\"jkl-checkbox\", className, {\n \"jkl-checkbox--inline\": inline,\n \"jkl-checkbox--error\": invalid\n }),\n \"data-density\": density\n },\n /* @__PURE__ */ React.createElement(\n \"input\",\n {\n id: inputId,\n ref: inputRef,\n className: \"jkl-checkbox__input\",\n \"data-testid\": \"jkl-checkbox-input\",\n \"aria-invalid\": invalid,\n type: \"checkbox\",\n \"data-testautoid\": testAutoId,\n checked,\n ...rest\n }\n ),\n /* @__PURE__ */ React.createElement(\"label\", { htmlFor: inputId, className: \"jkl-checkbox__label\" }, /* @__PURE__ */ React.createElement(\"span\", { className: \"jkl-checkbox__mark\" }, /* @__PURE__ */ React.createElement(\"span\", { className: \"jkl-checkbox__indeterminate-mark\" }), /* @__PURE__ */ React.createElement(\"span\", { className: \"jkl-checkbox__check-mark\" })), /* @__PURE__ */ React.createElement(\"span\", { className: \"jkl-checkbox__text\" }, children))\n );\n});\nCheckbox.displayName = \"Checkbox\";\nexport {\n Checkbox\n};\n//# sourceMappingURL=Checkbox.js.map\n","import {\n arrow,\n autoUpdate,\n flip,\n offset,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n useRole\n} from \"@floating-ui/react\";\nimport React, { createContext, useContext, useRef, useState } from \"react\";\nconst useTooltip = ({\n initialOpen = false,\n placement = \"top\",\n delay = 250,\n triggerOn = \"hover\"\n}) => {\n const [isOpen, setOpen] = useState(initialOpen);\n const arrowElement = useRef(null);\n const description = useRef(null);\n const setDescription = (element) => description.current = element;\n const data = useFloating({\n open: isOpen,\n onOpenChange: setOpen,\n placement,\n whileElementsMounted: autoUpdate,\n middleware: [offset(16), flip(), shift({ padding: 16 }), arrow({ element: arrowElement, padding: 20 })]\n });\n const role = useRole(data.context, { role: \"tooltip\" });\n const dismiss = useDismiss(data.context, { referencePress: false });\n const click = useClick(data.context, { enabled: triggerOn === \"click\" && !isOpen });\n const hover = useHover(data.context, { enabled: triggerOn === \"hover\", delay: isOpen ? 0 : delay });\n const focus = useFocus(data.context, { enabled: triggerOn === \"click\" ? isOpen : true });\n const interactions = useInteractions([dismiss, focus, role, click, hover]);\n return {\n triggerOn,\n isOpen,\n setOpen,\n arrowElement,\n ...data,\n refs: {\n ...data.refs,\n description,\n setDescription\n },\n ...interactions\n };\n};\nconst tooltipContext = createContext(null);\nconst TooltipProvider = tooltipContext.Provider;\nconst useTooltipContext = () => {\n const context = useContext(tooltipContext);\n if (context === null) {\n throw new Error(\"Tooltip-komponentene kan kun brukes inne i <Tooltip />\");\n }\n return context;\n};\nconst Tooltip = ({ children, ...options }) => {\n const tooltip = useTooltip(options);\n return /* @__PURE__ */ React.createElement(TooltipProvider, { value: tooltip }, children);\n};\nexport {\n Tooltip,\n TooltipProvider,\n useTooltip,\n useTooltipContext\n};\n//# sourceMappingURL=Tooltip.js.map\n","import { useMergeRefs, FloatingPortal } from \"@floating-ui/react\";\nimport { getThemeAndDensity } from \"@fremtind/jkl-core\";\nimport { useId } from \"@fremtind/jkl-react-hooks\";\nimport cn from \"classnames\";\nimport { AnimatePresence, LazyMotion, domAnimation, m } from \"framer-motion\";\nimport React, { forwardRef } from \"react\";\nimport { useTooltipContext } from \"./Tooltip\";\nfunction getPositionAnimation(placement, value = 8) {\n switch (true) {\n case placement.startsWith(\"top\"):\n return {\n top: value\n };\n case placement.startsWith(\"left\"):\n return {\n left: value,\n right: -value\n };\n case placement.startsWith(\"bottom\"):\n return {\n top: -value\n };\n case placement.startsWith(\"right\"):\n return {\n left: -value,\n right: value\n };\n default:\n return {\n top: value\n };\n }\n}\nconst TooltipContent = forwardRef(function TooltipContent2({ className, children, ...props }, forwardedRef) {\n const {\n triggerOn,\n arrowElement,\n isOpen,\n getFloatingProps,\n placement,\n isPositioned,\n middlewareData: { arrow },\n floatingStyles,\n refs\n } = useTooltipContext();\n const ref = useMergeRefs([forwardedRef, refs.setFloating]);\n const contentId = useId(\"jkl-tooltip-content\");\n const { density, theme } = getThemeAndDensity(refs.reference.current);\n return /* @__PURE__ */ React.createElement(FloatingPortal, null, /* @__PURE__ */ React.createElement(LazyMotion, { features: domAnimation }, /* @__PURE__ */ React.createElement(AnimatePresence, null, triggerOn === \"hover\" && /* @__PURE__ */ React.createElement(\"span\", { ref: refs.setDescription, hidden: true, key: \"\".concat(contentId, \"-trigger\") }, children), isOpen && /* @__PURE__ */ React.createElement(\"span\", { className: \"jkl\", key: \"\".concat(contentId, \"-wrapper\") }, /* @__PURE__ */ React.createElement(\n m.span,\n {\n key: contentId,\n ref,\n initial: { opacity: 0, ...getPositionAnimation(placement, 5) },\n animate: { opacity: 1, ...getPositionAnimation(placement, 0) },\n exit: {\n opacity: 0,\n ...getPositionAnimation(placement, -5),\n transition: { ease: \"easeIn\", duration: 0.15 }\n },\n transition: { ease: \"easeOut\", duration: 0.25 },\n \"data-placement\": placement,\n \"aria-live\": triggerOn === \"click\" ? \"assertive\" : void 0,\n className: cn(\"jkl-tooltip-content\", className),\n ...getFloatingProps({ ...props, id: contentId }),\n style: { ...floatingStyles },\n \"data-theme\": theme,\n \"data-layout-density\": density\n },\n children,\n /* @__PURE__ */ React.createElement(\n \"span\",\n {\n \"aria-hidden\": true,\n className: \"jkl-tooltip-content__arrow\",\n ref: arrowElement,\n style: {\n left: isPositioned ? \"\".concat(arrow == null ? void 0 : arrow.x, \"px\") : \"\",\n top: isPositioned ? \"\".concat(arrow == null ? void 0 : arrow.y, \"px\") : \"\"\n }\n }\n )\n )))));\n});\nexport {\n TooltipContent\n};\n//# sourceMappingURL=TooltipContent.js.map\n","const getThemeAndDensity = (element) => {\n if (!element)\n return {};\n const computedStyles = getComputedStyle(element);\n const theme = parseInt(computedStyles.getPropertyValue(\"--jkl-background-color\").replace(\"#\", \"\"), 16) < 16777215 / 2 ? \"dark\" : \"light\";\n const density = computedStyles.getPropertyValue(\"--jkl-density\") === '\"compact\"' ? \"compact\" : \"comfortable\";\n return { theme, density };\n};\nexport {\n getThemeAndDensity\n};\n//# sourceMappingURL=getThemeAndDensity.js.map\n","import { useMergeRefs } from \"@floating-ui/react\";\nimport cn from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { useTooltipContext } from \"./Tooltip\";\nconst TooltipTrigger = forwardRef(function TooltipTrigger2({ children, className, ...props }, forwardedRef) {\n var _a, _b;\n const { isOpen, setOpen, getReferenceProps, refs, triggerOn } = useTooltipContext();\n const childrenRef = children.ref;\n const ref = useMergeRefs([childrenRef, refs.setReference, forwardedRef]);\n const handleBlur = () => {\n triggerOn === \"click\" && setOpen(false);\n };\n const ariaLabel = [\n (_a = refs.reference.current) == null ? void 0 : _a.textContent,\n (_b = refs.description.current) == null ? void 0 : _b.textContent\n ].filter(Boolean).join(\". \");\n if (React.isValidElement(children)) {\n return React.cloneElement(\n children,\n getReferenceProps({\n ref,\n \"aria-label\": ariaLabel,\n ...children.props,\n ...props,\n className: cn(children.props.className, className),\n \"data-tooltip-shown\": isOpen,\n style: { ...children.props.style },\n tabIndex: triggerOn === \"click\" ? 0 : void 0,\n onBlur: () => {\n children.props.onBlur && children.props.onBlur();\n handleBlur();\n }\n })\n );\n }\n return /* @__PURE__ */ React.createElement(\n \"button\",\n {\n \"data-tooltip-shown\": isOpen,\n ...getReferenceProps({\n className: cn(className, \"jkl-tooltip-trigger\"),\n // Sørg for at vi ikke sender inn skjemaer ved klikk på knappen\n type: \"button\",\n ref,\n onBlur: handleBlur,\n \"aria-label\": ariaLabel,\n ...props\n })\n },\n children\n );\n});\nexport {\n TooltipTrigger\n};\n//# sourceMappingURL=TooltipTrigger.js.map\n","import cn from \"classnames\";\nimport React from \"react\";\nconst Icon = React.forwardRef(function Icon2(props, ref) {\n const { bold, children, className, filled, variant, ...iconProps } = props;\n return /* @__PURE__ */ React.createElement(\n \"span\",\n {\n \"aria-hidden\": true,\n ref,\n className: cn(\"jkl-icon\", className, {\n \"jkl-icon--filled\": filled,\n \"jkl-icon--bold\": bold,\n [\"jkl-icon--\".concat(variant)]: !!variant\n }),\n ...iconProps\n },\n children\n );\n});\nexport {\n Icon\n};\n//# sourceMappingURL=Icon.js.map\n","import React from \"react\";\nimport { Icon } from \"../Icon\";\nconst ArrowDownIcon = (props) => /* @__PURE__ */ React.createElement(Icon, { ...props }, \"\\uE5DB\");\nArrowDownIcon.displayName = \"ArrowDownIcon\";\nexport {\n ArrowDownIcon\n};\n//# sourceMappingURL=ArrowDownIcon.js.map\n","import React from \"react\";\nimport { Icon } from \"../Icon\";\nconst ArrowUpIcon = (props) => /* @__PURE__ */ React.createElement(Icon, { ...props }, \"\\uE5D8\");\nArrowUpIcon.displayName = \"ArrowUpIcon\";\nexport {\n ArrowUpIcon\n};\n//# sourceMappingURL=ArrowUpIcon.js.map\n","import cn from \"classnames\";\nimport React from \"react\";\nimport { ArrowDownIcon } from \"../ArrowDownIcon\";\nimport { ArrowUpIcon } from \"../ArrowUpIcon\";\nconst ArrowVerticalAnimated = ({\n className,\n pointingDown,\n variant = \"inherit\",\n bold = false,\n ...rest\n}) => /* @__PURE__ */ React.createElement(\n \"div\",\n {\n ...rest,\n className: cn(\n \"jkl-icon\",\n \"jkl-icon--animated\",\n \"jkl-icon--\".concat(variant),\n { \"jkl-icon--bold\": bold },\n \"jkl-animated-vertical-arrows\",\n className\n )\n },\n /* @__PURE__ */ React.createElement(\"div\", { className: \"jkl-animated-vertical-arrows__slider\", \"data-show\": pointingDown ? \"down\" : \"up\" }, /* @__PURE__ */ React.createElement(ArrowUpIcon, { className: \"jkl-animated-vertical-arrows__arrow\", variant, bold }), /* @__PURE__ */ React.createElement(ArrowDownIcon, { className: \"jkl-animated-vertical-arrows__arrow\", variant, bold }))\n);\nArrowVerticalAnimated.displayName = \"ArrowVerticalAnimated\";\nexport {\n ArrowVerticalAnimated\n};\n//# sourceMappingURL=ArrowVerticalAnimated.js.map\n","import React from \"react\";\nimport { Icon } from \"../Icon\";\nconst ErrorIcon = (props) => /* @__PURE__ */ React.createElement(Icon, { bold: true, filled: true, ...props }, \"\\uF8B6\");\nErrorIcon.displayName = \"ErrorIcon\";\nexport {\n ErrorIcon\n};\n//# sourceMappingURL=ErrorIcon.js.map\n","import React from \"react\";\nimport { Icon } from \"../Icon\";\nconst QuestionIcon = (props) => /* @__PURE__ */ React.createElement(Icon, { ...props }, \"\\uE8FD\");\nQuestionIcon.displayName = \"QuestionIcon\";\nexport {\n QuestionIcon\n};\n//# sourceMappingURL=QuestionIcon.js.map\n","import React from \"react\";\nimport { Icon } from \"../Icon\";\nconst SuccessIcon = (props) => /* @__PURE__ */ React.createElement(Icon, { bold: true, filled: true, ...props }, \"\\uF0BE\");\nSuccessIcon.displayName = \"SuccessIcon\";\nexport {\n SuccessIcon\n};\n//# sourceMappingURL=SuccessIcon.js.map\n","import React from \"react\";\nimport { Icon } from \"../Icon\";\nconst WarningIcon = (props) => /* @__PURE__ */ React.createElement(Icon, { bold: true, filled: true, ...props }, \"\\uF083\");\nWarningIcon.displayName = \"WarningIcon\";\nexport {\n WarningIcon\n};\n//# sourceMappingURL=WarningIcon.js.map\n","import { QuestionIcon } from \"@fremtind/jkl-icons-react\";\nimport cn from \"classnames\";\nimport React, { useState } from \"react\";\nimport { Tooltip } from \"./Tooltip\";\nimport { TooltipContent } from \"./TooltipContent\";\nimport { TooltipTrigger } from \"./TooltipTrigger\";\nconst PopupTip = ({ content, triggerProps, ...tooltipProps }) => {\n const [isBold, setIsBold] = useState(false);\n const handleFocus = (event) => {\n var _a;\n setIsBold(true);\n (_a = triggerProps == null ? void 0 : triggerProps.onFocus) == null ? void 0 : _a.call(triggerProps, event);\n };\n const handleBlur = (event) => {\n var _a;\n setIsBold(false);\n (_a = triggerProps == null ? void 0 : triggerProps.onBlur) == null ? void 0 : _a.call(triggerProps, event);\n };\n return /* @__PURE__ */ React.createElement(Tooltip, { triggerOn: \"click\", ...tooltipProps }, /* @__PURE__ */ React.createElement(TooltipTrigger, null, /* @__PURE__ */ React.createElement(\n \"button\",\n {\n ...triggerProps,\n onFocus: handleFocus,\n onBlur: handleBlur,\n type: \"button\",\n className: cn(\"jkl-tooltip-question-button\", triggerProps == null ? void 0 : triggerProps.className),\n \"data-testid\": \"jkl-tooltip-question-button\"\n },\n /* @__PURE__ */ React.createElement(QuestionIcon, { variant: \"inherit\", bold: isBold }),\n /* @__PURE__ */ React.createElement(\"span\", { className: \"jkl-sr-only\" }, \"Vis hjelpetekst\")\n )), /* @__PURE__ */ React.createElement(TooltipContent, null, content));\n};\nexport {\n PopupTip\n};\n//# sourceMappingURL=PopupTip.js.map\n","import classNames from \"classnames\";\nimport React from \"react\";\nconst Label = ({\n variant = \"small\",\n density,\n srOnly,\n children,\n standAlone,\n htmlFor,\n className = \"\",\n ...rest\n}) => {\n const labelClassNames = classNames(\"jkl-label\", className, {\n [\"jkl-label--\".concat(variant)]: variant,\n \"jkl-label--sr-only\": srOnly\n });\n const C = standAlone ? \"label\" : \"span\";\n if (!standAlone && htmlFor) {\n htmlFor = void 0;\n if (true) {\n console.warn(\n \"WARNING: The standard Label component renders as a <span> element, which does not take a htmlFor prop. If you want the Label to belong to a specific input, use the standAlone prop, which renders as a <label> element instead. In most cases the Label component should not be used directly, as it is part of all our input components.\"\n );\n }\n }\n return /* @__PURE__ */ React.createElement(C, { ...rest, className: labelClassNames, htmlFor, \"data-density\": density }, children);\n};\nexport {\n Label\n};\n//# sourceMappingURL=Label.js.map\n","import { ErrorIcon, SuccessIcon, WarningIcon } from \"@fremtind/jkl-icons-react\";\nimport cn from \"classnames\";\nimport React from \"react\";\nconst SupportLabel = ({\n id,\n helpLabel,\n errorLabel,\n label,\n labelType = \"help\",\n density,\n className,\n srOnly,\n ...rest\n}) => {\n const hasLabel = errorLabel || helpLabel || label;\n const isHelp = labelType === \"help\" || helpLabel && !errorLabel;\n const isWarning = labelType === \"warning\" || errorLabel;\n const isError = labelType === \"error\";\n const isSuccess = labelType === \"success\";\n const componentClassName = hasLabel ? cn(\"jkl-form-support-label\", className, {\n \"jkl-form-support-label--sr-only\": srOnly,\n \"jkl-form-support-label--help\": isHelp,\n \"jkl-form-support-label--error\": isError,\n \"jkl-form-support-label--warning\": isWarning,\n \"jkl-form-support-label--success\": isSuccess\n }) : \"jkl-dormant-form-support-label\";\n const restProps = hasLabel ? rest : {};\n const Icon = isError ? ErrorIcon : isSuccess ? SuccessIcon : WarningIcon;\n return /* @__PURE__ */ React.createElement(\"span\", { id, className: componentClassName, ...restProps, \"data-density\": density }, /* @__PURE__ */ React.createElement(Icon, { variant: \"small\", className: \"jkl-form-support-label__icon\" }), /* @__PURE__ */ React.createElement(\"span\", null, errorLabel || helpLabel || label));\n};\nexport {\n SupportLabel\n};\n//# sourceMappingURL=SupportLabel.js.map\n","import { useId } from \"@fremtind/jkl-react-hooks\";\nimport { PopupTip } from \"@fremtind/jkl-tooltip-react\";\nimport cn from \"classnames\";\nimport React from \"react\";\nimport { Label } from \"./Label\";\nimport { SupportLabel } from \"./SupportLabel\";\nconst FieldGroup = (props) => {\n const {\n id,\n legend,\n labelProps,\n supportLabelProps,\n tooltipProps,\n className,\n children,\n helpLabel,\n errorLabel,\n density,\n \"data-testautoid\": testAutoId,\n ...rest\n } = props;\n const uid = useId(id || \"jkl-field-group\", { generateSuffix: !id });\n const supportId = \"\".concat(uid, \"_support-label\");\n const supportText = errorLabel || helpLabel;\n const supportTextType = errorLabel ? \"error\" : helpLabel ? \"help\" : void 0;\n const describedBy = supportText ? supportId : void 0;\n return /* @__PURE__ */ React.createElement(\n \"fieldset\",\n {\n id: uid,\n className: cn(\"jkl-field-group\", className),\n \"data-testautoid\": testAutoId,\n ...rest,\n \"aria-describedby\": describedBy,\n \"data-density\": density\n },\n /* @__PURE__ */ React.createElement(\"legend\", { className: \"jkl-field-group__legend\" }, /* @__PURE__ */ React.createElement(Label, { ...labelProps, density }, !tooltipProps && legend, tooltipProps && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"span\", { style: { whiteSpace: \"normal\" } }, legend), \"\\xA0\", /* @__PURE__ */ React.createElement(PopupTip, { ...tooltipProps })))),\n children,\n (helpLabel || errorLabel) && /* @__PURE__ */ React.createElement(\n SupportLabel,\n {\n ...supportLabelProps,\n label: supportText,\n labelType: supportTextType,\n id: supportId,\n density\n }\n )\n );\n};\nexport {\n FieldGroup\n};\n//# sourceMappingURL=FieldGroup.js.map\n","import { useId } from \"@fremtind/jkl-react-hooks\";\nimport { PopupTip } from \"@fremtind/jkl-tooltip-react\";\nimport cn from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { Label } from \"./Label\";\nimport { SupportLabel } from \"./SupportLabel\";\nconst InputGroup = forwardRef((props, ref) => {\n const {\n className,\n children,\n density,\n errorLabel,\n helpLabel,\n inline,\n label,\n labelProps,\n render,\n supportLabelProps,\n tooltipProps,\n id,\n ...rest\n } = props;\n const uid = useId(id || \"jkl-input\", { generateSuffix: !id });\n const supportId = useId(\"jkl-support-label\");\n const supportText = errorLabel || helpLabel;\n const supportTextType = errorLabel ? \"error\" : helpLabel ? \"help\" : void 0;\n const describedBy = supportText ? supportId : void 0;\n const inputProps = {\n \"aria-describedby\": describedBy,\n \"aria-invalid\": Boolean(errorLabel) ? true : void 0,\n id: uid\n };\n const renderInput = render ? () => render(inputProps) : () => {\n const input = React.Children.toArray(props.children)[0];\n if (!React.isValidElement(input))\n return;\n return React.cloneElement(input, {\n ...inputProps,\n ...input.props\n });\n };\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n ref,\n className: cn(className, \"jkl-input-group\", {\n \"jkl-input-group--inline\": inline\n }),\n \"data-density\": density,\n ...rest\n },\n /* @__PURE__ */ React.createElement(\n Label,\n {\n standAlone: true,\n htmlFor: uid,\n srOnly: inline,\n ...labelProps,\n style: { whiteSpace: tooltipProps ? \"nowrap\" : void 0, ...labelProps == null ? void 0 : labelProps.style },\n density\n },\n !tooltipProps && label,\n tooltipProps && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"span\", { style: { whiteSpace: \"normal\" } }, label), \"\\xA0\", /* @__PURE__ */ React.createElement(PopupTip, { ...tooltipProps }))\n ),\n renderInput(),\n /* @__PURE__ */ React.createElement(\n SupportLabel,\n {\n srOnly: inline,\n ...supportLabelProps,\n label: supportText,\n labelType: supportTextType,\n id: supportId,\n density\n }\n )\n );\n});\nInputGroup.displayName = \"InputGroup\";\nexport {\n InputGroup\n};\n//# sourceMappingURL=InputGroup.js.map\n","import { useId } from \"@fremtind/jkl-react-hooks\";\nimport cn from \"classnames\";\nimport React, { forwardRef } from \"react\";\nconst BaseRadioButton = forwardRef((props, ref) => {\n const { id, className, checked, children, label, density, inline, invalid, name, value, onChange, ...rest } = props;\n const inputId = useId(id || \"jkl-radio-button\", { generateSuffix: !id });\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: cn(\"jkl-radio-button\", className, {\n \"jkl-radio-button--inline\": inline,\n \"jkl-radio-button--error\": invalid\n }),\n \"data-density\": density\n },\n /* @__PURE__ */ React.createElement(\n \"input\",\n {\n name,\n ref,\n ...rest,\n id: inputId,\n className: \"jkl-radio-button__input\",\n type: \"radio\",\n onChange,\n value,\n checked\n }\n ),\n /* @__PURE__ */ React.createElement(\"label\", { \"data-testid\": \"jkl-radio-button__label-tag\", htmlFor: inputId, className: \"jkl-radio-button__label\" }, /* @__PURE__ */ React.createElement(\"span\", { \"aria-hidden\": true, className: \"jkl-radio-button__dot\" }), /* @__PURE__ */ React.createElement(\"span\", { className: \"jkl-radio-button__text\" }, label || children))\n );\n});\nBaseRadioButton.displayName = \"BaseRadioButton\";\nexport {\n BaseRadioButton\n};\n//# sourceMappingURL=BaseRadioButton.js.map\n","import React, { createContext, useContext } from \"react\";\nconst radioGroupContext = createContext({\n name: void 0,\n value: void 0,\n onChange: () => {\n return;\n },\n inline: false,\n density: void 0,\n invalid: false\n});\nconst useRadioGroupContext = () => useContext(radioGroupContext);\nconst RadioGroupContextProvider = ({ state, children }) => /* @__PURE__ */ React.createElement(radioGroupContext.Provider, { value: state }, children);\nexport {\n RadioGroupContextProvider,\n useRadioGroupContext\n};\n//# sourceMappingURL=radioGroupContext.js.map\n","import { SupportLabel } from \"@fremtind/jkl-input-group-react\";\nimport { useId } from \"@fremtind/jkl-react-hooks\";\nimport React, { forwardRef } from \"react\";\nimport { BaseRadioButton } from \"./BaseRadioButton\";\nimport { useRadioGroupContext } from \"./radioGroupContext\";\nconst RadioButton = forwardRef((props, ref) => {\n const { checked, value, supportLabelProps, helpLabel, ...rest } = props;\n const { value: selectedValue, density, ...context } = useRadioGroupContext();\n const supportId = useId(\"jkl-support-label\");\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\n BaseRadioButton,\n {\n ...context,\n ...rest,\n ref,\n checked: typeof checked !== \"undefined\" ? checked : typeof selectedValue !== \"undefined\" ? value === selectedValue : void 0,\n value,\n \"aria-describedby\": helpLabel ? supportId : void 0\n }\n ), /* @__PURE__ */ React.createElement(\n SupportLabel,\n {\n ...supportLabelProps,\n label: helpLabel,\n labelType: \"help\",\n id: supportId,\n density\n }\n ));\n});\nRadioButton.displayName = \"RadioButton\";\nexport {\n RadioButton\n};\n//# sourceMappingURL=RadioButton.js.map\n","import { FieldGroup } from \"@fremtind/jkl-input-group-react\";\nimport React from \"react\";\nimport { RadioGroupContextProvider } from \"./radioGroupContext\";\nconst RadioButtonGroup = (props) => {\n const {\n name,\n value,\n onChange,\n errorLabel,\n inline = false,\n density,\n labelProps = { variant: \"medium\" },\n ...rest\n } = props;\n return /* @__PURE__ */ React.createElement(\n RadioGroupContextProvider,\n {\n state: {\n onChange,\n value,\n name,\n invalid: Boolean(errorLabel),\n inline,\n density\n }\n },\n /* @__PURE__ */ React.createElement(\n FieldGroup,\n {\n errorLabel,\n labelProps,\n \"data-testid\": \"jkl-radio-button-group\",\n density,\n ...rest,\n role: \"radiogroup\",\n \"aria-invalid\": Boolean(errorLabel)\n }\n )\n );\n};\nexport {\n RadioButtonGroup\n};\n//# sourceMappingURL=RadioButtonGroup.js.map\n","function toLower(str = \"\") {\n return str.toLowerCase().replace(/[\\W_]+/g, \"\");\n}\nfunction focusSelected(listEl, selected) {\n let focusedItem = null;\n if (selected) {\n focusedItem = listEl.querySelector('[aria-selected=\"true\"]:not([hidden])');\n }\n if (!selected || !focusedItem) {\n focusedItem = listEl.querySelector('[role=\"option\"]');\n }\n focusedItem == null ? void 0 : focusedItem.focus();\n listEl.scrollTop = (focusedItem == null ? void 0 : focusedItem.offsetTop) || 0;\n}\nexport {\n focusSelected,\n toLower\n};\n//# sourceMappingURL=select-utils.js.map\n","import { getValuePair } from \"@fremtind/jkl-core\";\nimport { ArrowVerticalAnimated } from \"@fremtind/jkl-icons-react\";\nimport { InputGroup } from \"@fremtind/jkl-input-group-react\";\nimport { useId, useAnimatedHeight, usePreviousValue, useListNavigation } from \"@fremtind/jkl-react-hooks\";\nimport cn from \"classnames\";\nimport React, {\n forwardRef,\n useEffect,\n useRef,\n useState,\n useCallback,\n useMemo\n} from \"react\";\nimport { toLower, focusSelected } from \"./select-utils\";\nconst noop = () => {\n return;\n};\nconst Select = forwardRef((props, forwardedSelectRef) => {\n const {\n id,\n name,\n items,\n value,\n label,\n labelProps,\n onChange,\n onBlur,\n onFocus,\n className,\n helpLabel,\n errorLabel,\n invalid,\n searchable = false,\n inline = false,\n defaultPrompt = \"Velg\",\n density,\n width,\n maxShownOptions = 5,\n style,\n tooltipProps,\n ...rest\n } = props;\n const listId = useId(id || \"jkl-select\", { generateSuffix: !id });\n const labelId = \"\".concat(listId, \"_label\");\n const buttonId = \"\".concat(listId, \"_button\");\n const searchInputId = \"\".concat(listId, \"_search-input\");\n const [dropdownIsShown, setShown] = useState(false);\n const toggleListVisibility = useCallback(() => {\n setShown((previousValue2) => !previousValue2);\n }, []);\n const isSearchable = Boolean(searchable);\n const showSearchInputField = isSearchable && dropdownIsShown;\n const [searchValue, setSearchValue] = useState(\"\");\n const searchFn = useCallback(\n (item) => {\n if (item.label.toLowerCase().includes(searchValue.toLowerCase())) {\n return true;\n }\n if (typeof searchable === \"function\") {\n return searchable(searchValue, item);\n }\n return false;\n },\n [searchable, searchValue]\n );\n const visibleItems = useMemo(\n () => items.map(getValuePair).map((item) => {\n const visible = !isSearchable || searchValue === \"\" || searchFn(item);\n return { ...item, visible };\n }),\n [items, isSearchable, searchValue, searchFn]\n );\n const valueIsInItems = useMemo(() => {\n if (typeof value === \"undefined\") {\n return false;\n }\n return items.some((item) => typeof item === \"string\" ? item === value : item.value === value);\n }, [value, items]);\n const [selectedValue, setSelectedValue] = useState(valueIsInItems && value !== void 0 ? value : \"\");\n const hasSelectedValue = selectedValue !== \"\";\n const selectedValueLabel = useMemo(\n () => {\n var _a;\n return ((_a = visibleItems.find((item) => item.value === selectedValue)) == null ? void 0 : _a.label) || defaultPrompt;\n },\n [visibleItems, selectedValue, defaultPrompt]\n );\n const selectRef = useRef(null);\n const unifiedSelectRef = useCallback(\n (instance) => {\n selectRef.current = instance;\n if (forwardedSelectRef) {\n if (typeof forwardedSelectRef === \"function\") {\n forwardedSelectRef(instance);\n } else {\n forwardedSelectRef.current = instance;\n }\n }\n if (instance) {\n setSelectedValue(instance.value);\n }\n },\n [selectRef, forwardedSelectRef]\n );\n const previousValue = usePreviousValue(value);\n useEffect(() => {\n if (value === previousValue) {\n return;\n }\n if (typeof value === \"undefined\" || !valueIsInItems) {\n setSelectedValue(\"\");\n } else {\n setSelectedValue(value);\n }\n }, [setSelectedValue, value, previousValue, valueIsInItems]);\n const selectOption = useCallback(\n (item) => {\n const nextValue = item.value;\n setSearchValue(\"\");\n setSelectedValue(nextValue);\n toggleListVisibility();\n },\n [setSearchValue, setSelectedValue, toggleListVisibility]\n );\n const previousSelectedValue = usePreviousValue(selectedValue);\n useEffect(() => {\n if (typeof previousSelectedValue === \"undefined\" || previousSelectedValue === selectedValue || selectedValue === value) {\n return;\n }\n if (onChange) {\n onChange({ type: \"change\", target: { name, value: selectedValue } });\n }\n if (selectRef.current) {\n selectRef.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n }, [onChange, name, value, selectedValue, previousSelectedValue]);\n const componentRootElementRef = useRef(null);\n const focusInsideRef = useRef(false);\n const searchFieldRef = useRef(null);\n const buttonRef = useRef(null);\n const handleFocusPlacement = useCallback(\n (isOpen, ref) => {\n if (isOpen && !isSearchable) {\n const listElement = ref.current;\n if (listElement) {\n focusSelected(listElement, selectedValue);\n }\n } else if (isOpen) {\n if (searchFieldRef.current) {\n searchFieldRef.current.focus();\n }\n } else {\n if (focusInsideRef.current && buttonRef.current) {\n buttonRef.current.focus();\n }\n }\n },\n [isSearchable, selectedValue]\n );\n const [dropdownRef] = useAnimatedHeight(dropdownIsShown, {\n onFirstVisible: handleFocusPlacement,\n onTransitionEnd: handleFocusPlacement\n });\n useListNavigation({ ref: dropdownRef });\n const close = useCallback(() => {\n var _a;\n if (isSearchable) {\n setSearchValue(\"\");\n }\n if (onBlur) {\n onBlur({ type: \"blur\", target: { name, value: selectedValue } });\n (_a = selectRef.current) == null ? void 0 : _a.dispatchEvent(new Event(\"focusout\", { bubbles: true }));\n }\n focusInsideRef.current = false;\n setShown(false);\n }, [onBlur, setSearchValue, setShown, isSearchable, name, selectedValue]);\n const handleBlur = useCallback(\n (e) => {\n const componentRootElement = componentRootElementRef.current;\n const nextFocusIsInsideComponent = componentRootElement && componentRootElement.contains(e.relatedTarget);\n if (!nextFocusIsInsideComponent) {\n close();\n }\n },\n [close]\n );\n const handleFocus = useCallback(() => {\n if (!focusInsideRef.current) {\n if (onFocus) {\n onFocus({ type: \"change\", target: { name, value: selectedValue } });\n }\n focusInsideRef.current = true;\n }\n }, [onFocus, selectedValue, name]);\n const handleMouseOver = useCallback((e) => {\n e.target.focus({ preventScroll: true });\n }, []);\n useEffect(() => {\n const select = selectRef.current;\n const searchField = searchFieldRef.current;\n const button = buttonRef.current;\n const componentRootElement = componentRootElementRef.current;\n select == null ? void 0 : select.addEventListener(\"focus\", () => {\n showSearchInputField ? searchField == null ? void 0 : searchField.focus() : button == null ? void 0 : button.focus();\n });\n select == null ? void 0 : select.addEventListener(\"blur\", function(ev) {\n componentRootElement && componentRootElement.contains(ev.relatedTarget) && ev.preventDefault();\n });\n return () => {\n select == null ? void 0 : select.removeEventListener(\"focus\", () => {\n showSearchInputField ? searchField == null ? void 0 : searchField.focus() : button == null ? void 0 : button.focus();\n });\n select == null ? void 0 : select.removeEventListener(\"blur\", function(ev) {\n componentRootElement && componentRootElement.contains(ev.relatedTarget) && ev.preventDefault();\n });\n };\n }, [showSearchInputField]);\n const handleOnKeyDown = useCallback(\n (e) => {\n if ((e.key === \"ArrowDown\" || e.key === \" \") && !dropdownIsShown) {\n e.preventDefault();\n e.stopPropagation();\n setShown(true);\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n setShown(false);\n }\n },\n [setShown, dropdownIsShown]\n );\n const handleSearchOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n e.stopPropagation();\n const listElement = dropdownRef.current;\n if (listElement) {\n if (isSearchable) {\n focusSelected(listElement, void 0);\n } else {\n focusSelected(listElement, selectedValue);\n }\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n setShown(false);\n } else if (e.key === \"Tab\" && !e.shiftKey) {\n const listElement = dropdownRef.current;\n if (listElement) {\n e.preventDefault();\n e.stopPropagation();\n focusSelected(listElement, selectedValue);\n }\n } else if (e.key === \"Enter\" && dropdownIsShown) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n [setShown, dropdownRef, selectedValue, isSearchable, dropdownIsShown]\n );\n const handleOptionOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Tab\") {\n e.preventDefault();\n e.stopPropagation();\n if (e.shiftKey && searchFieldRef.current) {\n searchFieldRef.current.focus();\n } else if (buttonRef.current) {\n setSelectedValue(e.currentTarget.value);\n setShown(false);\n buttonRef.current.focus();\n }\n } else if (e.key === \"ArrowUp\") {\n if (dropdownRef.current && searchFieldRef.current) {\n const firstVisible = dropdownRef.current.querySelector('[role=\"option\"]:not([hidden])');\n if (e.currentTarget.id === (firstVisible == null ? void 0 : firstVisible.id) && searchFieldRef.current) {\n searchFieldRef.current.focus();\n }\n }\n }\n },\n [setShown, dropdownRef]\n );\n useEffect(() => {\n const handleEscape = (e) => {\n if (e.key === \"Escape\" && dropdownIsShown) {\n setShown(false);\n }\n };\n if (typeof window !== \"undefined\" && dropdownIsShown) {\n window.addEventListener(\"keydown\", handleEscape);\n }\n return () => {\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"keydown\", handleEscape);\n }\n };\n }, [setShown, dropdownIsShown]);\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\n \"select\",\n {\n name,\n tabIndex: -1,\n \"data-testid\": \"jkl-native-select\",\n className: \"jkl-sr-only\",\n \"aria-hidden\": true,\n ref: unifiedSelectRef,\n value: selectedValue,\n onChange: noop\n },\n /* @__PURE__ */ React.createElement(\"option\", { value: \"\" }),\n \" \",\n visibleItems.map((item) => /* @__PURE__ */ React.createElement(\"option\", { key: \"\".concat(listId, \"-opt-\").concat(item.value), hidden: !item.visible, value: item.value }, item.label))\n ), /* @__PURE__ */ React.createElement(\n InputGroup,\n {\n ref: componentRootElementRef,\n \"data-testid\": \"jkl-select\",\n className: cn(\"jkl-select\", className, {\n \"jkl-select--inline\": inline,\n \"jkl-select--open\": dropdownIsShown && visibleItems.some((item) => item.visible),\n \"jkl-select--no-value\": !hasSelectedValue,\n \"jkl-select--invalid\": !!errorLabel || invalid\n }),\n tooltipProps: tooltipProps && {\n ...tooltipProps,\n triggerProps: {\n ...tooltipProps.triggerProps,\n onFocus: (e) => {\n var _a, _b;\n (_b = (_a = tooltipProps.triggerProps) == null ? void 0 : _a.onFocus) == null ? void 0 : _b.call(_a, e);\n close();\n }\n }\n },\n ...rest,\n id: isSearchable ? searchInputId : buttonId,\n style: { [\"--jkl-select-max-shown-options\"]: maxShownOptions, ...style },\n density,\n label,\n labelProps: {\n id: labelId,\n srOnly: inline,\n ...labelProps,\n htmlFor: isSearchable ? searchInputId : buttonId\n },\n helpLabel,\n errorLabel,\n render: (inputProps) => /* @__PURE__ */ React.createElement(\"div\", { className: \"jkl-select__outer-wrapper\", style: { width } }, isSearchable && /* @__PURE__ */ React.createElement(\n \"input\",\n {\n ...inputProps,\n id: searchInputId,\n hidden: !showSearchInputField,\n ref: searchFieldRef,\n placeholder: \"S\\xF8k\",\n value: searchValue,\n onChange: (e) => setSearchValue(e.target.value),\n \"data-testid\": \"jkl-select__search-input\",\n className: \"jkl-select__search-input\",\n \"aria-autocomplete\": \"list\",\n \"aria-activedescendant\": hasSelectedValue ? \"\".concat(listId, \"__\").concat(toLower(selectedValue)) : void 0,\n \"aria-controls\": listId,\n \"aria-expanded\": dropdownIsShown,\n role: \"combobox\",\n onKeyDown: handleSearchOnKeyDown,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onClick: (e) => {\n e.stopPropagation();\n }\n }\n ), /* @__PURE__ */ React.createElement(\n \"button\",\n {\n ...inputProps,\n id: buttonId,\n ref: buttonRef,\n hidden: showSearchInputField,\n type: \"button\",\n name: \"\".concat(name, \"-btn\"),\n className: cn(\"jkl-select__button\", {\n \"jkl-select__button--active-value\": !!selectedValue\n }),\n \"data-testid\": \"jkl-select__button\",\n \"aria-label\": \"\".concat(selectedValueLabel || \"Velg\", \",\").concat(label),\n \"aria-expanded\": dropdownIsShown,\n \"aria-controls\": listId,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onKeyDown: handleOnKeyDown,\n onClick: toggleListVisibility,\n onMouseDown: (e) => {\n var _a;\n e.preventDefault();\n (_a = buttonRef.current) == null ? void 0 : _a.focus();\n }\n },\n selectedValueLabel\n ), /* @__PURE__ */ React.createElement(\n \"div\",\n {\n id: listId,\n ref: dropdownRef,\n role: \"listbox\",\n className: \"jkl-select__options-menu\",\n hidden: !dropdownIsShown || visibleItems.every((item) => !item.visible),\n \"aria-labelledby\": labelId,\n tabIndex: -1,\n \"data-focus\": \"controlled\"\n },\n visibleItems.map(\n (item, i) => (\n // Det er viktig at vi _fjerner_ elementer som ikke er synlige fra DOMen for at tastaturnavigasjon skal fungere.\n // For eksempel, hvis vi har elementene Apple, Samsung og LG i den rekkefølgen og søker etter \"l\"\n // vil Samsung ikke synes. Om vi bare setter hidden-attributtet på Samsung vil ArrowDown fra Apple ikke fungere.\n // Dette lar seg ikke gjenskape i en enhetstest med JSDOM + user-events, og Cypress lukker Select\n // ved første {downArrow} ¯\\_(ツ)_/¯. Så please test scenariet over manuelt om dette skaper trøbbel for deg.\n item.visible ? /* @__PURE__ */ React.createElement(\n \"button\",\n {\n key: \"\".concat(listId, \"-\").concat(item.value),\n hidden: !item.visible,\n type: \"button\",\n id: \"\".concat(listId, \"__\").concat(toLower(item.value)),\n className: \"jkl-select__option\",\n \"data-testid\": \"jkl-select__option\",\n \"aria-selected\": item.value === selectedValue,\n role: \"option\",\n value: item.value,\n \"data-testautoid\": \"jkl-select__option-\".concat(i),\n onBlur: handleBlur,\n onFocus: handleFocus,\n onKeyDown: handleOptionOnKeyDown,\n onClick: (e) => {\n e.preventDefault();\n selectOption(item);\n },\n onMouseOver: handleMouseOver\n },\n item.label,\n item.description ? /* @__PURE__ */ React.createElement(\"span\", { className: \"jkl-select__option-description\" }, item.description) : null\n ) : null\n )\n )\n ), /* @__PURE__ */ React.createElement(\n ArrowVerticalAnimated,\n {\n variant: \"medium\",\n pointingDown: !dropdownIsShown,\n className: \"jkl-select__arrow\"\n }\n ))\n }\n ));\n});\nSelect.displayName = \"Select\";\nexport {\n Select\n};\n//# sourceMappingURL=Select.js.map\n","/**\n * Sjekker om et CSS Media Query matcher nettleserens egenskaper\n *\n * @param mediaQuery CSS Media Query som skal sjekkes. F.eks. `(orientation: portrait)`\n * @returns om det er match på queryen\n */\nexport function getInitialMediaQueryMatch(mediaQuery: string): boolean {\n if (!window.matchMedia) {\n // Enhetstester\n return false;\n }\n return window.matchMedia(mediaQuery).matches;\n}\n/**\n * Lytt på endringer i match mot et CSS Media Query\n *\n * @param queryList en MediaQueryList initiert med `window.matchMedia(<CSS Media Query>)`\n * @param callback funksjon som kalles når match for `queryList` endres\n */\nexport function addMediaQueryListener(queryList: MediaQueryList, callback: (e: MediaQueryListEvent) => void) {\n if (typeof queryList.addEventListener !== \"undefined\") {\n queryList.addEventListener(\"change\", callback);\n } else {\n queryList.addListener(callback);\n }\n}\n\n/**\n * Fjern en lytter fra en MediaQueryList\n *\n * @param queryList en MediaQueryList initiert med `window.matchMedia(<CSS Media Query>)`\n * @param callback lytter som skal fjernes\n */\nexport function removeMediaQueryListener(queryList: MediaQueryList, callback: (e: MediaQueryListEvent) => void) {\n if (typeof queryList.removeEventListener !== \"undefined\") {\n queryList.removeEventListener(\"change\", callback);\n } else {\n queryList.removeListener(callback);\n }\n}\n","import { ColorScheme } from \"@fremtind/jkl-core\";\nimport { Reducer, useEffect, useReducer, useState } from \"react\";\nimport { addMediaQueryListener, getInitialMediaQueryMatch, removeMediaQueryListener } from \"../mediaQueryUtils\";\n\nexport type {\n /**\n * @deprecated Importer typen fra `@fremtind/jkl-core` i stedet\n */\n ColorScheme,\n};\n\ntype BrowserPreferences = {\n prefersReducedMotion: boolean;\n prefersColorScheme: ColorScheme;\n forcedColors: boolean;\n};\n\nenum ActionType {\n PrefersColorScheme = \"COLOR_SCHEME_CHANGED\",\n PrefersReducedMotion = \"REDUCED_MOTION_CHANGED\",\n ForcedColors = \"FORCED_COLORS_CHANGED\",\n}\n\ntype Action =\n | {\n type: ActionType.PrefersColorScheme;\n value: ColorScheme;\n }\n | {\n type: ActionType.PrefersReducedMotion;\n value: boolean;\n }\n | {\n type: ActionType.ForcedColors;\n value: boolean;\n };\n\nconst PREFERS_REDUCED_MOTION = \"(prefers-reduced-motion: reduce)\";\nconst PREFERS_LIGHT_COLOR_SCHEME = \"(prefers-color-scheme: light)\";\nconst FORCED_COLORS = \"(forced-colors: active)\";\n\nconst initialState: BrowserPreferences = {\n prefersReducedMotion: false,\n prefersColorScheme: \"light\",\n forcedColors: false,\n};\n\nconst reducer: Reducer<BrowserPreferences, Action> = (state, action) => {\n switch (action.type) {\n case ActionType.PrefersColorScheme:\n return {\n ...state,\n prefersColorScheme: action.value,\n };\n case ActionType.PrefersReducedMotion:\n return {\n ...state,\n prefersReducedMotion: action.value,\n };\n case ActionType.ForcedColors:\n return {\n ...state,\n forcedColors: action.value,\n };\n default:\n return state;\n }\n};\n\n/**\n * Hook som gir informasjon om brukerens foretrukne konfigurasjon.\n * @returns Objekt med informasjon om brukerens foretrukne tema (lyst vs mørkt), redusert bevegelse, og høykontrast (forced colors).\n */\nexport const useBrowserPreferences = (): BrowserPreferences => {\n const [hasMounted, setHasMounted] = useState(false);\n\n const [state, dispatch] = useReducer(reducer, initialState);\n\n useEffect(() => {\n setHasMounted(true);\n const prefersReducedMotion = getInitialMediaQueryMatch(PREFERS_REDUCED_MOTION);\n const prefersColorScheme = getInitialMediaQueryMatch(PREFERS_LIGHT_COLOR_SCHEME) ? \"light\" : \"dark\";\n const forcedColors = getInitialMediaQueryMatch(FORCED_COLORS);\n dispatch({ type: ActionType.PrefersReducedMotion, value: prefersReducedMotion });\n dispatch({ type: ActionType.PrefersColorScheme, value: prefersColorScheme });\n dispatch({ type: ActionType.ForcedColors, value: forcedColors });\n }, []);\n\n useEffect(() => {\n if (!hasMounted || !window.matchMedia) {\n return;\n }\n const onPrefersReducedMotionChange = (e: MediaQueryListEvent) => {\n dispatch({ type: ActionType.PrefersReducedMotion, value: e.matches });\n };\n const onPrefersColorSchemeChange = (e: MediaQueryListEvent) => {\n dispatch({ type: ActionType.PrefersColorScheme, value: e.matches ? \"light\" : \"dark\" });\n };\n const onForcedColorsChange = (e: MediaQueryListEvent) => {\n dispatch({ type: ActionType.ForcedColors, value: e.matches });\n };\n\n addMediaQueryListener(window.matchMedia(PREFERS_REDUCED_MOTION), onPrefersReducedMotionChange);\n addMediaQueryListener(window.matchMedia(PREFERS_LIGHT_COLOR_SCHEME), onPrefersColorSchemeChange);\n addMediaQueryListener(window.matchMedia(FORCED_COLORS), onForcedColorsChange);\n\n return () => {\n removeMediaQueryListener(window.matchMedia(PREFERS_REDUCED_MOTION), onPrefersReducedMotionChange);\n removeMediaQueryListener(window.matchMedia(PREFERS_LIGHT_COLOR_SCHEME), onPrefersColorSchemeChange);\n removeMediaQueryListener(window.matchMedia(FORCED_COLORS), onForcedColorsChange);\n };\n }, [hasMounted]);\n\n return { ...state };\n};\n","import { CSSProperties } from \"react\";\n\nconst theme: { [key: string]: CSSProperties } = {\n 'code[class*=\"language-\"]': {\n color: \"black\",\n background: \"none\",\n textShadow: \"0 1px white\",\n fontFamily: \"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace\",\n textAlign: \"left\",\n whiteSpace: \"pre\",\n wordSpacing: \"normal\",\n wordBreak: \"normal\",\n wordWrap: \"normal\",\n lineHeight: \"1.5\",\n MozTabSize: \"4\",\n OTabSize: \"4\",\n tabSize: \"4\",\n WebkitHyphens: \"none\",\n MozHyphens: \"none\",\n msHyphens: \"none\",\n hyphens: \"none\",\n },\n 'pre[class*=\"language-\"]': {\n lineHeight: \"1.4\",\n },\n 'pre[class*=\"language-\"]::-moz-selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'pre[class*=\"language-\"] ::-moz-selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'code[class*=\"language-\"]::-moz-selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'code[class*=\"language-\"] ::-moz-selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'pre[class*=\"language-\"]::selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'pre[class*=\"language-\"] ::selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'code[class*=\"language-\"]::selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'code[class*=\"language-\"] ::selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n ':not(pre) > code[class*=\"language-\"]': {\n background: \"#f5f2f0\",\n padding: \".1em\",\n borderRadius: \".3em\",\n whiteSpace: \"normal\",\n },\n comment: {\n color: \"#68563E\",\n },\n prolog: {\n color: \"#68563E\",\n },\n doctype: {\n color: \"#68563E\",\n },\n cdata: {\n color: \"#68563E\",\n },\n punctuation: {\n color: \"#525252\",\n },\n \".namespace\": {\n opacity: \".7\",\n },\n property: {\n color: \"#AA1F23\",\n },\n tag: {\n color: \"#AA1F23\",\n },\n boolean: {\n color: \"#AA1F23\",\n },\n number: {\n color: \"#AA1F23\",\n },\n constant: {\n color: \"#AA1F23\",\n },\n symbol: {\n color: \"#AA1F23\",\n },\n deleted: {\n color: \"#AA1F23\",\n },\n selector: {\n color: \"#287E68\",\n },\n \"attr-name\": {\n color: \"#287E68\",\n },\n string: {\n color: \"#287E68\",\n },\n char: {\n color: \"#287E68\",\n },\n builtin: {\n color: \"#287E68\",\n },\n inserted: {\n color: \"#287E68\",\n },\n operator: {\n color: \"#9a6e3a\",\n background: \"transparent\",\n },\n entity: {\n color: \"#9a6e3a\",\n background: \"hsla(0, 0%, 100%, .5)\",\n cursor: \"help\",\n },\n url: {\n color: \"#9a6e3a\",\n background: \"hsla(0, 0%, 100%, .5)\",\n },\n \".language-css .token.string\": {\n color: \"#9a6e3a\",\n background: \"hsla(0, 0%, 100%, .5)\",\n },\n \".style .token.string\": {\n color: \"#9a6e3a\",\n background: \"hsla(0, 0%, 100%, .5)\",\n },\n atrule: {\n color: \"#000AFA\",\n },\n \"attr-value\": {\n color: \"#000AFA\",\n },\n keyword: {\n color: \"#000AFA\",\n },\n function: {\n color: \"#cb252b\",\n },\n \"class-name\": {\n color: \"#cb252b\",\n },\n regex: {\n color: \"#9f5704\",\n },\n important: {\n color: \"#9f5704\",\n fontWeight: \"bold\",\n },\n variable: {\n color: \"#9f5704\",\n },\n bold: {\n fontWeight: \"bold\",\n },\n italic: {\n fontStyle: \"italic\",\n },\n};\n\nexport default theme;\n","import { CSSProperties } from \"react\";\n\nconst theme: { [key: string]: CSSProperties } = {\n 'code[class*=\"language-\"]': {\n color: \"black\",\n background: \"none\",\n textShadow: \"0 1px white\",\n fontFamily: \"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace\",\n textAlign: \"left\",\n whiteSpace: \"pre\",\n wordSpacing: \"normal\",\n wordBreak: \"normal\",\n wordWrap: \"normal\",\n lineHeight: \"1.5\",\n MozTabSize: \"4\",\n OTabSize: \"4\",\n tabSize: \"4\",\n WebkitHyphens: \"none\",\n MozHyphens: \"none\",\n msHyphens: \"none\",\n hyphens: \"none\",\n },\n 'pre[class*=\"language-\"]': {\n lineHeight: \"1.4\",\n },\n 'pre[class*=\"language-\"]::-moz-selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'pre[class*=\"language-\"] ::-moz-selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'code[class*=\"language-\"]::-moz-selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'code[class*=\"language-\"] ::-moz-selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'pre[class*=\"language-\"]::selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'pre[class*=\"language-\"] ::selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'code[class*=\"language-\"]::selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n 'code[class*=\"language-\"] ::selection': {\n textShadow: \"none\",\n background: \"#b3d4fc\",\n },\n ':not(pre) > code[class*=\"language-\"]': {\n background: \"#f5f2f0\",\n padding: \".1em\",\n borderRadius: \".3em\",\n whiteSpace: \"normal\",\n },\n comment: {\n color: \"#999999\",\n },\n prolog: {\n color: \"#999999\",\n },\n doctype: {\n color: \"#999999\",\n },\n cdata: {\n color: \"#999999\",\n },\n punctuation: {\n color: \"#D6D6D6\",\n },\n \".namespace\": {\n opacity: \".7\",\n },\n property: {\n color: \"#FF8B79\",\n },\n tag: {\n color: \"#FF8B79\",\n },\n boolean: {\n color: \"#FF8B79\",\n },\n number: {\n color: \"#FF8B79\",\n },\n constant: {\n color: \"#FF8B79\",\n },\n symbol: {\n color: \"#FF8B79\",\n },\n deleted: {\n color: \"#FF8B79\",\n },\n selector: {\n color: \"#5EFFA0\",\n },\n \"attr-name\": {\n color: \"#5EFFA0\",\n },\n string: {\n color: \"#5EFFA0\",\n },\n char: {\n color: \"#5EFFA0\",\n },\n builtin: {\n color: \"#5EFFA0\",\n },\n inserted: {\n color: \"#5EFFA0\",\n },\n operator: {\n color: \"#9a6e3a\",\n background: \"transparent\",\n },\n entity: {\n color: \"#9a6e3a\",\n background: \"hsla(0, 0%, 100%, .5)\",\n cursor: \"help\",\n },\n url: {\n color: \"#9a6e3a\",\n background: \"hsla(0, 0%, 100%, .5)\",\n },\n \".language-css .token.string\": {\n color: \"#9a6e3a\",\n background: \"hsla(0, 0%, 100%, .5)\",\n },\n \".style .token.string\": {\n color: \"#9a6e3a\",\n background: \"hsla(0, 0%, 100%, .5)\",\n },\n atrule: {\n color: \"#00FAFF\",\n },\n \"attr-value\": {\n color: \"#00FAFF\",\n },\n keyword: {\n color: \"#00FAFF\",\n },\n function: {\n color: \"#ff644d\",\n },\n \"class-name\": {\n color: \"#ff644d\",\n },\n regex: {\n color: \"#FEC97B\",\n },\n important: {\n color: \"#FEC97B\",\n fontWeight: \"bold\",\n },\n variable: {\n color: \"#FEC97B\",\n },\n bold: {\n fontWeight: \"bold\",\n },\n italic: {\n fontStyle: \"italic\",\n },\n};\n\nexport default theme;\n","import React, { useEffect, useState } from \"react\";\nimport { PrismLight as SyntaxHighlighter } from \"react-syntax-highlighter\";\nimport diff from \"react-syntax-highlighter/dist/esm/languages/prism/diff\";\nimport sass from \"react-syntax-highlighter/dist/esm/languages/prism/sass\";\nimport scss from \"react-syntax-highlighter/dist/esm/languages/prism/scss\";\nimport shellSession from \"react-syntax-highlighter/dist/esm/languages/prism/shell-session\";\nimport tsx from \"react-syntax-highlighter/dist/esm/languages/prism/tsx\";\nimport { WithChildren } from \"../../packages/core/src\";\nimport { useBrowserPreferences } from \"../../packages/react-hooks/src\";\nimport fremtindTheme from \"./fremtindTheme\";\nimport fremtindThemeDark from \"./fremtindThemeDark\";\nimport \"./CodeBlock.scss\";\n\nSyntaxHighlighter.registerLanguage(\"diff\", diff);\nSyntaxHighlighter.registerLanguage(\"sass\", sass);\nSyntaxHighlighter.registerLanguage(\"scss\", scss);\nSyntaxHighlighter.registerLanguage(\"shell-session\", shellSession);\nSyntaxHighlighter.registerLanguage(\"tsx\", tsx);\n\nexport interface CodeBlockProps extends WithChildren {\n children: string | string[];\n language?: string;\n}\n\nexport const CodeBlock: React.FC<CodeBlockProps> = ({ language, children }) => {\n const { prefersColorScheme } = useBrowserPreferences();\n const [style, setStyle] = useState(fremtindTheme);\n\n useEffect(() => setStyle(prefersColorScheme === \"dark\" ? fremtindThemeDark : fremtindTheme), [prefersColorScheme]);\n\n return (\n <SyntaxHighlighter\n className=\"jkl-portal-code-block\"\n style={style}\n codeTagProps={{ style: {}, className: \"jkl-portal-code-block__code\", tabIndex: 0 }}\n language={language}\n data-language={language || undefined}\n >\n {children}\n </SyntaxHighlighter>\n );\n};\n","import { ScreenReaderOnly } from \"@fremtind/jkl-core\";\nimport { ArrowVerticalAnimated } from \"@fremtind/jkl-icons-react\";\nimport cx from \"classnames\";\nimport React from \"react\";\nconst ExpandButton = React.forwardRef(\n ({\n as = \"button\",\n className,\n children,\n density,\n expandDirection = \"down\",\n isExpanded = false,\n hideLabel = false,\n ...rest\n }, ref) => {\n const ContentWrapper = hideLabel ? ScreenReaderOnly : React.Fragment;\n const pointingDown = expandDirection === \"down\" ? !isExpanded : isExpanded;\n const El = as;\n const type = El === \"button\" ? \"button\" : void 0;\n return /* @__PURE__ */ React.createElement(\n El,\n {\n \"aria-expanded\": isExpanded,\n \"data-testid\": \"jkl-expand-button\",\n type,\n className: cx(\"jkl-expand-button\", className, {\n \"jkl-expand-button--expanded\": isExpanded,\n \"jkl-expand-button--icon-only\": !children\n }),\n ...rest,\n \"data-density\": density,\n ref\n },\n children && /* @__PURE__ */ React.createElement(ContentWrapper, null, /* @__PURE__ */ React.createElement(\"span\", { className: \"jkl-expand-button__text\" }, children)),\n /* @__PURE__ */ React.createElement(\n ArrowVerticalAnimated,\n {\n className: \"jkl-expand-button__arrow\",\n variant: \"inherit\",\n pointingDown,\n bold: isExpanded\n }\n )\n );\n }\n);\nExpandButton.displayName = \"ExpandButton\";\nexport {\n ExpandButton\n};\n//# sourceMappingURL=ExpandButton.js.map\n","import { useAnimatedDetails } from \"@fremtind/jkl-react-hooks\";\nimport cx from \"classnames\";\nimport React, { useEffect, useState } from \"react\";\nimport { ExpandButton } from \"./ExpandButton\";\nconst ExpandSection = ({\n children,\n className,\n expandButtonProps,\n isExpanded = false,\n density,\n onClick,\n title,\n useAnimatedHeightOptions,\n ...rest\n}) => {\n const [expanded, setIsExpanded] = useState(isExpanded);\n useEffect(() => {\n setIsExpanded(isExpanded);\n }, [isExpanded]);\n const { detailsRef, summaryRef, contentRef, onSummaryClick } = useAnimatedDetails({\n onOpenChange: (open, e) => {\n setIsExpanded(open);\n if (onClick) {\n onClick(e, open);\n }\n },\n isExpanded\n });\n return /* @__PURE__ */ React.createElement(\n \"details\",\n {\n \"data-testid\": \"jkl-expand-section\",\n className: cx(\"jkl-expand-section\", className),\n ...rest,\n ref: detailsRef\n },\n /* @__PURE__ */ React.createElement(\n ExpandButton,\n {\n as: \"summary\",\n ...expandButtonProps,\n density,\n isExpanded: expanded,\n onClick: onSummaryClick,\n ref: summaryRef\n },\n title\n ),\n /* @__PURE__ */ React.createElement(\n \"div\",\n {\n \"data-testid\": \"jkl-expand-section__content-wrapper\",\n className: \"jkl-expand-section__content-wrapper\",\n ref: contentRef\n },\n /* @__PURE__ */ React.createElement(\"div\", { className: \"jkl-expand-section__content\" }, children)\n )\n );\n};\nexport {\n ExpandSection\n};\n//# sourceMappingURL=ExpandSection.js.map\n","import React, { useState, FC } from \"react\";\nimport { WithChildren } from \"../packages/core\";\nimport { ExpandSection } from \"../packages/expand-button-react\";\n\nexport interface CodeSectionProps extends WithChildren {\n className?: string;\n}\n\nexport const CodeSection: FC<CodeSectionProps> = ({ className, children }) => {\n const [showCodeText, setShowCodeText] = useState(\"Vis kode\");\n return (\n <ExpandSection\n className={className}\n title={showCodeText}\n onClick={(e, expanded) => setShowCodeText(expanded ? \"Skjul kode\" : \"Vis kode\")}\n >\n {children}\n </ExpandSection>\n );\n};\n","import React, { createContext, useContext } from \"react\";\nimport { ColorScheme, Density, WithChildren } from \"../packages/core\";\n\ntype ExampleContext = {\n density: Density;\n theme: ColorScheme;\n};\n\nconst exampleContext = createContext<ExampleContext>({\n density: \"comfortable\",\n theme: \"light\",\n});\n\nexport const useExampleContext = (): ExampleContext => useContext(exampleContext);\n\ninterface Props extends WithChildren {\n state: ExampleContext;\n}\n\nexport const ExampleContextProvider: React.FC<Props> = ({ state, children }) => (\n <exampleContext.Provider value={state}>{children}</exampleContext.Provider>\n);\n","export const hyphenate = (phrase: string): string =>\n phrase.replace(/\\ ./, (match) => `-${match.slice(-1)}`).toLowerCase();\n","import React, { FC, useEffect, useMemo, useState } from \"react\";\nimport { Checkbox } from \"../packages/checkbox-react\";\nimport { ColorScheme, Density } from \"../packages/core\";\nimport { FieldGroup } from \"../packages/input-group-react\";\nimport { RadioButton, RadioButtonGroup } from \"../packages/radio-button-react\";\nimport { useId, useLocalStorage } from \"../packages/react-hooks\";\nimport { Select } from \"../packages/select-react\";\nimport { CodeBlock } from \"./CodeBlock\";\nimport { CodeSection } from \"./CodeSection\";\nimport { ExampleContextProvider } from \"./exampleContext\";\nimport { hyphenate } from \"./internal/hypenate\";\nimport { BoolProp, ChoiceProp, CodeExample, Dictionary, ExampleComponentProps } from \"./\";\n\nexport interface Props {\n component: FC<ExampleComponentProps>;\n title?: string;\n scrollable?: boolean;\n noDensity?: boolean;\n knobs?: {\n boolProps?: Array<BoolProp>;\n choiceProps?: Array<ChoiceProp>;\n };\n codeExample?: CodeExample;\n isWide?: boolean;\n style?: React.CSSProperties;\n}\n\nexport const ExampleBase: FC<Props> = ({\n component,\n knobs,\n noDensity = false,\n title = \"Komponent\",\n codeExample,\n scrollable,\n style,\n isWide,\n}) => {\n const uid = useId(\"example\");\n const [theme, setTheme] = useLocalStorage<ColorScheme>(\"jkl-example-theme\", \"light\");\n const [density, setDensity] = useLocalStorage<Density>(\"jkl-example-density\", \"comfortable\");\n const [screenshotMode, setScreenshotMode] = useState(false);\n\n const [boolValues, setBoolValues] = useState<Dictionary<boolean>>(\n knobs?.boolProps?.reduce((acc, boolProp) => {\n if (typeof boolProp === \"string\") {\n return { ...acc, [boolProp]: false };\n }\n return { ...acc, [boolProp.prop]: boolProp.defaultValue };\n }, {}) || {},\n );\n\n const [choiceValues, setChoiceValues] = useState<Dictionary<string>>(\n knobs?.choiceProps?.reduce(\n (acc, { name, values, defaultValue }) => ({\n ...acc,\n [name]: values[defaultValue],\n }),\n {},\n ) || {},\n );\n\n const choices: Dictionary<string[]> =\n knobs?.choiceProps?.reduce((acc, { name, values }) => ({ ...acc, [name]: values }), {}) || {};\n\n const setBoolValue = (key: string, value: boolean) =>\n setBoolValues((oldValues) => ({ ...oldValues, [key]: value }));\n const setChoiceValue = (key: string, value: string) =>\n setChoiceValues((oldValues) => ({ ...oldValues, [key]: value }));\n\n const example = useMemo(() => {\n const C = component;\n return <C boolValues={boolValues} choiceValues={choiceValues} displayValues={{ density, theme }} />;\n }, [component, boolValues, choiceValues, density, theme]);\n\n const [hasMounted, setHasMounted] = useState(false);\n useEffect(() => {\n setHasMounted(true);\n }, []);\n if (!hasMounted) {\n return null;\n }\n\n return (\n <ExampleContextProvider state={{ theme, density }}>\n <button\n id=\"screenshot-mode-toggle\"\n hidden={true}\n onClick={() => setScreenshotMode(!screenshotMode)}\n ></button>\n <div className=\"mb-64\">\n <section\n className={`jkl-portal-component-example ${isWide ? \"jkl-portal-component-example--is-wide\" : \"\"}`}\n >\n <div\n id={hyphenate(title)}\n data-layout-density={density}\n data-theme={theme}\n data-example-text={title}\n className={`jkl jkl-portal-component-example__example-wrapper ${\n theme === \"dark\" ? \"jkl-portal-component-example__example-wrapper--dark\" : \"\"\n } ${scrollable ? \"jkl-portal-component-example__example-wrapper--scrollable\" : \"\"} ${\n density === \"comfortable\" ? \"jkl-body\" : \"\"\n } ${density === \"compact\" ? \"jkl-small\" : \"\"}`.trim()}\n style={style}\n data-test-mode={screenshotMode ? \"e2e-screenshot\" : null}\n >\n {example}\n </div>\n <aside data-layout-density=\"compact\" className=\"jkl-portal-component-example__example-options\">\n <>\n {(knobs?.boolProps || knobs?.choiceProps) && (\n <FieldGroup\n legend=\"Egenskaper\"\n labelProps={{ variant: \"medium\" }}\n className=\"jkl-portal-component-example__example-options-header\"\n >\n {knobs?.boolProps && (\n <>\n {Object.entries(boolValues).map(([key, value]) => (\n <Checkbox\n key={`${uid}-${hyphenate(key)}`}\n name={`${uid}-${hyphenate(key)}`}\n value={key}\n checked={value}\n onChange={(e) => setBoolValue(key, e.target.checked)}\n >\n {key}\n </Checkbox>\n ))}\n </>\n )}\n {knobs?.choiceProps && (\n <>\n {Object.entries(choiceValues).map(([key, value]) =>\n choices[key].length < 4 ? (\n <RadioButtonGroup\n className=\"mt-8\"\n name={`${uid}-${hyphenate(key)}`}\n key={`${uid}-${hyphenate(key)}`}\n legend={key}\n value={value}\n labelProps={{ variant: \"small\" }}\n onChange={(e) => setChoiceValue(key, e.target.value)}\n >\n {choices[key]?.map((choice) => (\n <RadioButton key={choice} value={choice}>\n {choice}\n </RadioButton>\n ))}\n </RadioButtonGroup>\n ) : (\n <Select\n className=\"mt-8\"\n value={value}\n onChange={(e) => setChoiceValue(key, e.target.value)}\n label={key}\n width=\"100%\"\n key={`${uid}-${hyphenate(key)}`}\n name={key}\n items={choices[key]}\n />\n ),\n )}\n </>\n )}\n </FieldGroup>\n )}\n <FieldGroup\n legend=\"Visning\"\n labelProps={{ variant: \"medium\" }}\n className=\"jkl-portal-component-example__example-options-header\"\n >\n <RadioButtonGroup\n name={`${uid}-theme`}\n legend=\"Tema\"\n value={theme}\n labelProps={{ variant: \"small\" }}\n onChange={(e) => setTheme(e.target.value as ColorScheme)}\n >\n <RadioButton value=\"light\">Light</RadioButton>\n <RadioButton value=\"dark\">Dark</RadioButton>\n </RadioButtonGroup>\n {noDensity ? null : (\n <RadioButtonGroup\n className=\"mt-8\"\n name={`${uid}-density`}\n legend=\"Tetthet\"\n value={density}\n labelProps={{ variant: \"small\" }}\n onChange={(e) => setDensity(e.target.value as Density)}\n >\n <RadioButton value=\"comfortable\">Default</RadioButton>\n <RadioButton value=\"compact\">Compact</RadioButton>\n </RadioButtonGroup>\n )}\n </FieldGroup>\n </>\n </aside>\n </section>\n {hasMounted && codeExample && (\n <CodeSection className=\"mt-16\">\n <CodeBlock language=\"tsx\">\n {typeof codeExample === \"string\"\n ? codeExample.trim()\n : codeExample({ boolValues, choiceValues }).trim()}\n </CodeBlock>\n </CodeSection>\n )}\n </div>\n </ExampleContextProvider>\n );\n};\n","import React, { FC } from \"react\";\nimport { ExampleBase } from \"./ExampleBase\";\nimport { ExampleComponentProps, ChoiceProp, BoolProp, CodeExample } from \"./\";\n\nexport interface Props {\n component: FC<ExampleComponentProps>;\n title?: string;\n scrollable?: boolean;\n noDensity?: boolean;\n knobs?: {\n boolProps?: Array<BoolProp>;\n choiceProps?: Array<ChoiceProp>;\n };\n isWide?: boolean;\n codeExample?: CodeExample;\n style?: React.CSSProperties;\n}\n\nexport const ComponentExample: FC<Props> = ({ component, ...rest }) => {\n const C = component;\n\n return (\n <ExampleBase\n component={({ boolValues, choiceValues, displayValues }) => (\n <C boolValues={boolValues} choiceValues={choiceValues} displayValues={displayValues} />\n )}\n {...rest}\n />\n );\n};\n","import React, { StrictMode, FC } from \"react\";\nimport { ComponentExample, Props as ComponentExampleProps } from \"./ComponentExample\";\nimport \"./dev-example.scss\";\n\ninterface Props extends ComponentExampleProps {\n title?: string;\n scrollable?: boolean;\n}\n\nexport const DevExample: FC<Props> = (props) => {\n return (\n <StrictMode>\n <div className=\"jkl-dev-example\">\n <ComponentExample {...props} />\n </div>\n </StrictMode>\n );\n};\n"],"names":["getValuePair","item","value","label","easings","Object","freeze","standard","entrance","exit","easeInBounceOut","focus","timings","energetic","snappy","productive","expressive","lazy","ScreenReaderOnly","children","showOnFocus","rest","React","createElement","className","concat","getInitialMediaQueryMatch","mediaQuery","window","matchMedia","matches","addMediaQueryListener","queryList","callback","addEventListener","addListener","removeMediaQueryListener","removeEventListener","removeListener","PREFERS_REDUCED_MOTION","PREFERS_LIGHT_COLOR_SCHEME","FORCED_COLORS","initialState","prefersReducedMotion","prefersColorScheme","forcedColors","reducer","state","action","type","usePreviousValue","ref","useRef","useEffect","current","useAnimatedHeight","isOpen","options","wasOpen","easing","timing","display","transition","hasMounted","setHasMounted","useState","dispatch","useReducer","onPrefersReducedMotionChange","e","onPrefersColorSchemeChange","onForcedColorsChange","useBrowserPreferences","raf1","raf2","elementRef","handleTransitionEnd","event","_a","element","target","removeAttribute","style","onTransitionEnd","call","runAnimation","useCallback","_b","_c","_d","onTransitionStart","onFirstVisible","overflow","height","scrollHeight","requestAnimationFrame","r1","r2","cancelAnimationFrame","useReactId","useId","defaultOptions","generateSuffix","id","uid","elementId","elId","size","crypto","getRandomValues","Uint8Array","reduce","byte","toString","toUpperCase","nanoid","useListNavigation","search","keys","list","handler","searchResetTimer","key","moveDetails","currentFocus","handleMoveTo","preventDefault","searchResult","listItems","querySelectorAll","length","timer","clearTimeout","setTimeout","resetWhenIdle","n","innerText","toLowerCase","indexOf","findItem","handleListKeyNav","direction","thisOption","prevOption","previousElementSibling","nextOption","nextElementSibling","firstItem","querySelector","moveFocusTo","useAnimatedDetails","onOpenChange","isExpanded","detailsRef","summaryRef","contentRef","animation","isClosing","setIsClosing","isExpanding","setIsExpanding","onAnimationFinish","open2","open","onSummaryClick","offsetHeight","startHeight","endHeight","cancel","animate","duration","onfinish","oncancel","close","useLocalStorage","defaultValue","setState","localStorage","JSON","parse","getItem","newValue","setItem","stringify","Checkbox","forwardRef","props","invalid","inline","density","testAutoId","checked","indeterminate","inputRef","useImperativeHandle","inputId","console","warn","cn","htmlFor","displayName","tooltipContext","createContext","TooltipProvider","Provider","useTooltipContext","context","useContext","Error","Tooltip","tooltip","initialOpen","placement","delay","triggerOn","setOpen","arrowElement","description","data","useFloating","whileElementsMounted","autoUpdate","middleware","offset","flip","shift","padding","arrow","role","useRole","dismiss","useDismiss","referencePress","click","useClick","enabled","hover","useHover","useFocus","interactions","useInteractions","refs","setDescription","useTooltip","getPositionAnimation","startsWith","top","left","right","TooltipContent","forwardedRef","getFloatingProps","isPositioned","middlewareData","floatingStyles","useMergeRefs","setFloating","contentId","theme","computedStyles","getComputedStyle","parseInt","getPropertyValue","replace","getThemeAndDensity","reference","FloatingPortal","LazyMotion","features","domAnimation","AnimatePresence","hidden","m","span","initial","opacity","ease","x","y","TooltipTrigger","getReferenceProps","childrenRef","setReference","handleBlur","ariaLabel","textContent","filter","Boolean","join","isValidElement","cloneElement","tabIndex","onBlur","Icon","bold","filled","variant","iconProps","ArrowDownIcon","ArrowUpIcon","ArrowVerticalAnimated","pointingDown","ErrorIcon","QuestionIcon","SuccessIcon","WarningIcon","PopupTip","content","triggerProps","tooltipProps","isBold","setIsBold","onFocus","Label","srOnly","standAlone","labelClassNames","classNames","C","SupportLabel","helpLabel","errorLabel","labelType","hasLabel","isError","isSuccess","componentClassName","restProps","FieldGroup","legend","labelProps","supportLabelProps","supportId","supportText","supportTextType","describedBy","Fragment","whiteSpace","InputGroup","render","inputProps","renderInput","input","Children","toArray","BaseRadioButton","name","onChange","radioGroupContext","RadioGroupContextProvider","RadioButton","selectedValue","RadioButtonGroup","toLower","str","focusSelected","listEl","selected","focusedItem","scrollTop","offsetTop","noop","Select","forwardedSelectRef","items","searchable","defaultPrompt","width","maxShownOptions","listId","labelId","buttonId","searchInputId","dropdownIsShown","setShown","toggleListVisibility","previousValue2","isSearchable","showSearchInputField","searchValue","setSearchValue","searchFn","includes","visibleItems","useMemo","map","visible","valueIsInItems","some","setSelectedValue","hasSelectedValue","selectedValueLabel","find","selectRef","unifiedSelectRef","instance","previousValue","selectOption","nextValue","previousSelectedValue","dispatchEvent","Event","bubbles","componentRootElementRef","focusInsideRef","searchFieldRef","buttonRef","handleFocusPlacement","listElement","dropdownRef","componentRootElement","contains","relatedTarget","handleFocus","handleMouseOver","preventScroll","select","searchField","button","ev","handleOnKeyDown","stopPropagation","handleSearchOnKeyDown","shiftKey","handleOptionOnKeyDown","currentTarget","firstVisible","handleEscape","placeholder","onKeyDown","onClick","onMouseDown","every","i","onMouseOver","color","background","textShadow","fontFamily","textAlign","wordSpacing","wordBreak","wordWrap","lineHeight","MozTabSize","OTabSize","tabSize","WebkitHyphens","MozHyphens","msHyphens","hyphens","borderRadius","comment","prolog","doctype","cdata","punctuation","property","tag","boolean","number","constant","symbol","deleted","selector","string","char","builtin","inserted","operator","entity","cursor","url","atrule","keyword","function","regex","important","fontWeight","variable","italic","fontStyle","SyntaxHighlighter","registerLanguage","diff","sass","scss","shellSession","tsx","CodeBlock","language","setStyle","fremtindTheme","fremtindThemeDark","jsx","codeTagProps","ExpandButton","as","expandDirection","hideLabel","ContentWrapper","El","cx","ExpandSection","expandButtonProps","title","useAnimatedHeightOptions","expanded","setIsExpanded","CodeSection","showCodeText","setShowCodeText","exampleContext","ExampleContextProvider","hyphenate","phrase","match","slice","ExampleBase","component","knobs","noDensity","codeExample","scrollable","isWide","setTheme","setDensity","screenshotMode","setScreenshotMode","boolValues","setBoolValues","boolProps","acc","boolProp","prop","choiceValues","setChoiceValues","choiceProps","values","choices","setChoiceValue","oldValues","f","example","displayValues","jsxs","trim","entries","setBoolValue","choice","ComponentExample","DevExample","StrictMode"],"mappings":"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","x_google_ignoreList":[8]}
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),t=require("react"),n=require("classnames"),a=require("@floating-ui/react"),l=require("framer-motion"),r=require("react-syntax-highlighter"),o=require("react-syntax-highlighter/dist/esm/languages/prism/diff"),s=require("react-syntax-highlighter/dist/esm/languages/prism/sass"),c=require("react-syntax-highlighter/dist/esm/languages/prism/scss"),i=require("react-syntax-highlighter/dist/esm/languages/prism/shell-session"),u=require("react-syntax-highlighter/dist/esm/languages/prism/tsx");function d(e){return"string"==typeof e?{value:e,label:e}:e}const p=Object.freeze({standard:"ease",entrance:"ease-out",exit:"ease-in",easeInBounceOut:"cubic-bezier(0, 0, 0.375, 1.17)",focus:"cubic-bezier(0.6, 0.2, 0.35, 1)"}),m=Object.freeze({energetic:"75ms",snappy:"100ms",productive:"150ms",expressive:"250ms",lazy:"400ms"}),f=({children:e,showOnFocus:n,...a})=>t.createElement("span",{...a,className:"jkl-sr-only".concat(n?" jkl-sr-only--focusable":"")},e);function h(e){return!!window.matchMedia&&window.matchMedia(e).matches}function g(e,t){typeof e.addEventListener<"u"?e.addEventListener("change",t):e.addListener(t)}function b(e,t){typeof e.removeEventListener<"u"?e.removeEventListener("change",t):e.removeListener(t)}const k="(prefers-reduced-motion: reduce)",v="(prefers-color-scheme: light)",y="(forced-colors: active)",E={prefersReducedMotion:!1,prefersColorScheme:"light",forcedColors:!1},w=(e,t)=>{switch(t.type){case"COLOR_SCHEME_CHANGED":return{...e,prefersColorScheme:t.value};case"REDUCED_MOTION_CHANGED":return{...e,prefersReducedMotion:t.value};case"FORCED_COLORS_CHANGED":return{...e,forcedColors:t.value};default:return e}},x=e=>{const n=t.useRef();return t.useEffect((()=>{n.current=e})),n.current};function j(e,n){const a=x(e),l=(null==n?void 0:n.easing)||"standard",r=(null==n?void 0:n.timing)||"productive",o=(null==n?void 0:n.display)||"block",s="".concat(m[r]," height ").concat(p[l]),{prefersReducedMotion:c}=(()=>{const[e,n]=t.useState(!1),[a,l]=t.useReducer(w,E);return t.useEffect((()=>{n(!0);const e=h(k),t=h(v)?"light":"dark",a=h(y);l({type:"REDUCED_MOTION_CHANGED",value:e}),l({type:"COLOR_SCHEME_CHANGED",value:t}),l({type:"FORCED_COLORS_CHANGED",value:a})}),[]),t.useEffect((()=>{if(!e||!window.matchMedia)return;const t=e=>{l({type:"REDUCED_MOTION_CHANGED",value:e.matches})},n=e=>{l({type:"COLOR_SCHEME_CHANGED",value:e.matches?"light":"dark"})},a=e=>{l({type:"FORCED_COLORS_CHANGED",value:e.matches})};return g(window.matchMedia(k),t),g(window.matchMedia(v),n),g(window.matchMedia(y),a),()=>{b(window.matchMedia(k),t),b(window.matchMedia(v),n),b(window.matchMedia(y),a)}}),[e]),{...a}})(),i=t.useRef(),u=t.useRef(),d=t.useRef(null);function f(t){var a;const l=d.current;l&&t.target===l&&(e?l.removeAttribute("style"):(l.removeAttribute("style"),l.style.display="none"),null==(a=null==n?void 0:n.onTransitionEnd)||a.call(n,e,d))}const j=t.useCallback((()=>{var t,l,r,p;const m=d.current;if(m&&void 0!==a){if(e){if(e&&a)return}else if(m.style.display="none",!a)return;if(null==(t=null==n?void 0:n.onTransitionStart)||t.call(n,e,d),c)return m.removeAttribute("style"),e&&(null==(l=null==n?void 0:n.onFirstVisible)||l.call(n,e,d)),void(null==(r=null==n?void 0:n.onTransitionEnd)||r.call(n,e,d));if(m.style.transition=s,m.style.display=o,m.style.overflow="hidden",e)null==(p=null==n?void 0:n.onFirstVisible)||p.call(n,e,d),m.style.height="0",m.style.height="".concat(m.scrollHeight,"px");else{if(0===m.scrollHeight)return void m.removeAttribute("style");m.style.height="".concat(m.scrollHeight,"px"),i.current=requestAnimationFrame((()=>{u.current=requestAnimationFrame((()=>{m.style.height="".concat(0,"px")}))}))}}}),[e,n,a,s,c,o]);return t.useEffect((()=>{j()}),[e,j]),t.useEffect((()=>{const e=d.current;return e&&e.addEventListener("transitionend",f),()=>{e&&e.removeEventListener("transitionend",f)}}),[e]),t.useEffect((()=>{const e=i.current,t=u.current;return()=>{e&&cancelAnimationFrame(e),t&&cancelAnimationFrame(t)}}),[i,u]),[d,j]}const _=t.useId,C={generateSuffix:!0},N=typeof _<"u"?(e,n=C)=>{const a=_();let l=e;e&&n.generateSuffix&&(l="".concat(e,"-").concat(a));const[r]=t.useState(l||a);return r}:(e,n=C)=>{const a=((e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")),""))(8);let l=e;e&&n.generateSuffix&&(l="".concat(e,"-").concat(a));const[r]=t.useState(l||a);return r};function S({ref:e}){t.useEffect((()=>{const t={keys:""},n=e.current,a=e=>{n&&function({list:e,event:t,search:n,searchResetTimer:a}){const{key:l,target:r}=t,o={event:t,list:e,currentFocus:r};switch(l){case"ArrowUp":F("prev",o);break;case"ArrowDown":F("next",o);break;case"Home":F("first",o);break;case"End":F("last",o);break;case"Tab":t.preventDefault();break;case"Enter":break;default:if(void 0!==n){const t=function({list:e,key:t,search:n,searchResetTimer:a}){const l=e.querySelectorAll('[role="option"]');if(!l.length)return null;if(n){n.keys=n.keys.concat(t),function(e,t){t&&(clearTimeout(t),t=void 0),t=setTimeout((()=>{e?e.keys="":e={keys:""},t=void 0}),500,e,t)}(n,a);for(let e=0;e<l.length;e++){const t=l[e].innerText;if(t&&0===t.toLowerCase().indexOf(n.keys))return l[e]}}return null}({list:e,key:l,search:n,searchResetTimer:a});t&&t.focus()}}}({list:n,event:e,search:t,searchResetTimer:undefined})};return n&&n.addEventListener("keydown",a),()=>{n&&n.removeEventListener("keydown",a)}}),[e])}function F(e,{event:t,list:n,currentFocus:a}){t.preventDefault(),function(e,t,n){const a=n;switch(e){case"prev":const e=a&&a.previousElementSibling;e&&e.focus();break;case"next":const n=a&&a.nextElementSibling;n&&n.focus();break;case"first":const l=t.querySelector('[role="option"]');l&&l.focus();break;case"last":const r=t.querySelectorAll('[role="option"]');r.length&&r[r.length-1].focus()}}(e,n,a)}const A=({onOpenChange:e,isExpanded:n})=>{const a=t.useRef(null),l=t.useRef(null),r=t.useRef(null),o=t.useRef(null),[s,c]=t.useState(!1),[i,u]=t.useState(!1);t.useEffect((()=>{d(n)}),[n]);const d=e=>{a.current&&l.current&&(a.current.open=e,o.current=null,c(!1),u(!1),a.current.style.overflow="",a.current.style.height="")};return{detailsRef:a,summaryRef:l,contentRef:r,onSummaryClick:t=>{t.preventDefault(),a.current&&l.current&&(a.current.style.overflow="hidden",s||!a.current.open?(t=>{a.current&&l.current&&(a.current.style.height="".concat(a.current.offsetHeight,"px"),a.current.open=!0,requestAnimationFrame((()=>{if(a.current&&l.current&&r.current){u(!0),e(!0,t);const n=a.current.offsetHeight,s=l.current.offsetHeight+r.current.offsetHeight;o.current&&o.current.cancel(),a.current.animate&&(o.current=a.current.animate({height:["".concat(n,"px"),"".concat(s,"px")]},{duration:150,easing:"ease"}),o.current.onfinish=()=>d(!0),o.current.oncancel=()=>u(!1))}})))})(t):(i||a.current.open)&&(t=>{if(a.current&&l.current){c(!0),e(!1,t);const n=a.current.offsetHeight,r=l.current.offsetHeight;o.current&&o.current.cancel(),a.current.animate&&(o.current=a.current.animate({height:["".concat(n,"px"),"".concat(r,"px")]},{duration:150,easing:"ease"}),o.current.onfinish=()=>d(!1),o.current.oncancel=()=>c(!1))}})(t))}}},R=(e,n)=>{const[a,l]=t.useState((()=>typeof window>"u"||!localStorage?n:JSON.parse(localStorage.getItem(e)||"null")||n));return[a,t.useCallback((t=>{l(t),typeof window<"u"&&localStorage&&localStorage.setItem(e,JSON.stringify(t))}),[e])]},O=t.forwardRef(((e,a)=>{const{id:l,children:r,invalid:o,className:s,inline:c=!1,density:i,"data-testautoid":u,checked:d,indeterminate:p,...m}=e,f=t.useRef(null);t.useImperativeHandle(a,(()=>f.current),[]);const h=N(l||"jkl-checkbox",{generateSuffix:!l});return t.useEffect((()=>{!0===d&&!0===p&&console.warn("A Checkbox can not be both checked and indeterminate, and will be treated as checked"),f.current&&(f.current.indeterminate=!d&&!!p)}),[d,p]),t.createElement("div",{className:n("jkl-checkbox",s,{"jkl-checkbox--inline":c,"jkl-checkbox--error":o}),"data-density":i},t.createElement("input",{id:h,ref:f,className:"jkl-checkbox__input","data-testid":"jkl-checkbox-input","aria-invalid":o,type:"checkbox","data-testautoid":u,checked:d,...m}),t.createElement("label",{htmlFor:h,className:"jkl-checkbox__label"},t.createElement("span",{className:"jkl-checkbox__mark"},t.createElement("span",{className:"jkl-checkbox__indeterminate-mark"}),t.createElement("span",{className:"jkl-checkbox__check-mark"})),t.createElement("span",{className:"jkl-checkbox__text"},r)))}));O.displayName="Checkbox";const D=t.createContext(null),L=D.Provider,P=()=>{const e=t.useContext(D);if(null===e)throw new Error("Tooltip-komponentene kan kun brukes inne i <Tooltip />");return e},M=({children:e,...n})=>{const l=(({initialOpen:e=!1,placement:n="top",delay:l=250,triggerOn:r="hover"})=>{const[o,s]=t.useState(e),c=t.useRef(null),i=t.useRef(null),u=a.useFloating({open:o,onOpenChange:s,placement:n,whileElementsMounted:a.autoUpdate,middleware:[a.offset(16),a.flip(),a.shift({padding:16}),a.arrow({element:c,padding:20})]}),d=a.useRole(u.context,{role:"tooltip"}),p=a.useDismiss(u.context,{referencePress:!1}),m=a.useClick(u.context,{enabled:"click"===r&&!o}),f=a.useHover(u.context,{enabled:"hover"===r,delay:o?0:l}),h=a.useFocus(u.context,{enabled:"click"!==r||o}),g=a.useInteractions([p,h,d,m,f]);return{triggerOn:r,isOpen:o,setOpen:s,arrowElement:c,...u,refs:{...u.refs,description:i,setDescription:e=>i.current=e},...g}})(n);return t.createElement(L,{value:l},e)};function H(e,t=8){switch(!0){case e.startsWith("top"):return{top:t};case e.startsWith("left"):return{left:t,right:-t};case e.startsWith("bottom"):return{top:-t};case e.startsWith("right"):return{left:-t,right:t};default:return{top:t}}}const T=t.forwardRef((function({className:e,children:r,...o},s){const{triggerOn:c,arrowElement:i,isOpen:u,getFloatingProps:d,placement:p,isPositioned:m,middlewareData:{arrow:f},floatingStyles:h,refs:g}=P(),b=a.useMergeRefs([s,g.setFloating]),k=N("jkl-tooltip-content"),{density:v,theme:y}=(e=>{if(!e)return{};const t=getComputedStyle(e);return{theme:parseInt(t.getPropertyValue("--jkl-background-color").replace("#",""),16)<8388607.5?"dark":"light",density:'"compact"'===t.getPropertyValue("--jkl-density")?"compact":"comfortable"}})(g.reference.current);return t.createElement(a.FloatingPortal,null,t.createElement(l.LazyMotion,{features:l.domAnimation},t.createElement(l.AnimatePresence,null,"hover"===c&&t.createElement("span",{ref:g.setDescription,hidden:!0,key:"".concat(k,"-trigger")},r),u&&t.createElement("span",{className:"jkl",key:"".concat(k,"-wrapper")},t.createElement(l.m.span,{key:k,ref:b,initial:{opacity:0,...H(p,5)},animate:{opacity:1,...H(p,0)},exit:{opacity:0,...H(p,-5),transition:{ease:"easeIn",duration:.15}},transition:{ease:"easeOut",duration:.25},"data-placement":p,"aria-live":"click"===c?"assertive":void 0,className:n("jkl-tooltip-content",e),...d({...o,id:k}),style:{...h},"data-theme":y,"data-layout-density":v},r,t.createElement("span",{"aria-hidden":!0,className:"jkl-tooltip-content__arrow",ref:i,style:{left:m?"".concat(null==f?void 0:f.x,"px"):"",top:m?"".concat(null==f?void 0:f.y,"px"):""}}))))))})),B=t.forwardRef((function({children:e,className:l,...r},o){var s,c;const{isOpen:i,setOpen:u,getReferenceProps:d,refs:p,triggerOn:m}=P(),f=e.ref,h=a.useMergeRefs([f,p.setReference,o]),g=()=>{"click"===m&&u(!1)},b=[null==(s=p.reference.current)?void 0:s.textContent,null==(c=p.description.current)?void 0:c.textContent].filter(Boolean).join(". ");return t.isValidElement(e)?t.cloneElement(e,d({ref:h,"aria-label":b,...e.props,...r,className:n(e.props.className,l),"data-tooltip-shown":i,style:{...e.props.style},tabIndex:"click"===m?0:void 0,onBlur:()=>{e.props.onBlur&&e.props.onBlur(),g()}})):t.createElement("button",{"data-tooltip-shown":i,...d({className:n(l,"jkl-tooltip-trigger"),type:"button",ref:h,onBlur:g,"aria-label":b,...r})},e)})),I=t.forwardRef((function(e,a){const{bold:l,children:r,className:o,filled:s,variant:c,...i}=e;return t.createElement("span",{"aria-hidden":!0,ref:a,className:n("jkl-icon",o,{"jkl-icon--filled":s,"jkl-icon--bold":l,["jkl-icon--".concat(c)]:!!c}),...i},r)})),V=e=>t.createElement(I,{...e},"");V.displayName="ArrowDownIcon";const z=e=>t.createElement(I,{...e},"");z.displayName="ArrowUpIcon";const q=({className:e,pointingDown:a,variant:l="inherit",bold:r=!1,...o})=>t.createElement("div",{...o,className:n("jkl-icon","jkl-icon--animated","jkl-icon--".concat(l),{"jkl-icon--bold":r},"jkl-animated-vertical-arrows",e)},t.createElement("div",{className:"jkl-animated-vertical-arrows__slider","data-show":a?"down":"up"},t.createElement(z,{className:"jkl-animated-vertical-arrows__arrow",variant:l,bold:r}),t.createElement(V,{className:"jkl-animated-vertical-arrows__arrow",variant:l,bold:r})));q.displayName="ArrowVerticalAnimated";const G=e=>t.createElement(I,{bold:!0,filled:!0,...e},"");G.displayName="ErrorIcon";const $=e=>t.createElement(I,{...e},"");$.displayName="QuestionIcon";const W=e=>t.createElement(I,{bold:!0,filled:!0,...e},"");W.displayName="SuccessIcon";const U=e=>t.createElement(I,{bold:!0,filled:!0,...e},"");U.displayName="WarningIcon";const K=({content:e,triggerProps:a,...l})=>{const[r,o]=t.useState(!1);return t.createElement(M,{triggerOn:"click",...l},t.createElement(B,null,t.createElement("button",{...a,onFocus:e=>{var t;o(!0),null==(t=null==a?void 0:a.onFocus)||t.call(a,e)},onBlur:e=>{var t;o(!1),null==(t=null==a?void 0:a.onBlur)||t.call(a,e)},type:"button",className:n("jkl-tooltip-question-button",null==a?void 0:a.className),"data-testid":"jkl-tooltip-question-button"},t.createElement($,{variant:"inherit",bold:r}),t.createElement("span",{className:"jkl-sr-only"},"Vis hjelpetekst"))),t.createElement(T,null,e))},J=({variant:e="small",density:a,srOnly:l,children:r,standAlone:o,htmlFor:s,className:c="",...i})=>{const u=n("jkl-label",c,{["jkl-label--".concat(e)]:e,"jkl-label--sr-only":l}),d=o?"label":"span";return!o&&s&&(s=void 0,console.warn("WARNING: The standard Label component renders as a <span> element, which does not take a htmlFor prop. If you want the Label to belong to a specific input, use the standAlone prop, which renders as a <label> element instead. In most cases the Label component should not be used directly, as it is part of all our input components.")),t.createElement(d,{...i,className:u,htmlFor:s,"data-density":a},r)},Q=({id:e,helpLabel:a,errorLabel:l,label:r,labelType:o="help",density:s,className:c,srOnly:i,...u})=>{const d=l||a||r,p="error"===o,m="success"===o,f=d?n("jkl-form-support-label",c,{"jkl-form-support-label--sr-only":i,"jkl-form-support-label--help":"help"===o||a&&!l,"jkl-form-support-label--error":p,"jkl-form-support-label--warning":"warning"===o||l,"jkl-form-support-label--success":m}):"jkl-dormant-form-support-label",h=d?u:{},g=p?G:m?W:U;return t.createElement("span",{id:e,className:f,...h,"data-density":s},t.createElement(g,{variant:"small",className:"jkl-form-support-label__icon"}),t.createElement("span",null,l||a||r))},X=e=>{const{id:a,legend:l,labelProps:r,supportLabelProps:o,tooltipProps:s,className:c,children:i,helpLabel:u,errorLabel:d,density:p,"data-testautoid":m,...f}=e,h=N(a||"jkl-field-group",{generateSuffix:!a}),g="".concat(h,"_support-label"),b=d||u,k=d?"error":u?"help":void 0,v=b?g:void 0;return t.createElement("fieldset",{id:h,className:n("jkl-field-group",c),"data-testautoid":m,...f,"aria-describedby":v,"data-density":p},t.createElement("legend",{className:"jkl-field-group__legend"},t.createElement(J,{...r,density:p},!s&&l,s&&t.createElement(t.Fragment,null,t.createElement("span",{style:{whiteSpace:"normal"}},l)," ",t.createElement(K,{...s})))),i,(u||d)&&t.createElement(Q,{...o,label:b,labelType:k,id:g,density:p}))},Y=t.forwardRef(((e,a)=>{const{className:l,children:r,density:o,errorLabel:s,helpLabel:c,inline:i,label:u,labelProps:d,render:p,supportLabelProps:m,tooltipProps:f,id:h,...g}=e,b=N(h||"jkl-input",{generateSuffix:!h}),k=N("jkl-support-label"),v=s||c,y=s?"error":c?"help":void 0,E={"aria-describedby":v?k:void 0,"aria-invalid":!!s||void 0,id:b},w=p?()=>p(E):()=>{const n=t.Children.toArray(e.children)[0];if(t.isValidElement(n))return t.cloneElement(n,{...E,...n.props})};return t.createElement("div",{ref:a,className:n(l,"jkl-input-group",{"jkl-input-group--inline":i}),"data-density":o,...g},t.createElement(J,{standAlone:!0,htmlFor:b,srOnly:i,...d,style:{whiteSpace:f?"nowrap":void 0,...null==d?void 0:d.style},density:o},!f&&u,f&&t.createElement(t.Fragment,null,t.createElement("span",{style:{whiteSpace:"normal"}},u)," ",t.createElement(K,{...f}))),w(),t.createElement(Q,{srOnly:i,...m,label:v,labelType:y,id:k,density:o}))}));Y.displayName="InputGroup";const Z=t.forwardRef(((e,a)=>{const{id:l,className:r,checked:o,children:s,label:c,density:i,inline:u,invalid:d,name:p,value:m,onChange:f,...h}=e,g=N(l||"jkl-radio-button",{generateSuffix:!l});return t.createElement("div",{className:n("jkl-radio-button",r,{"jkl-radio-button--inline":u,"jkl-radio-button--error":d}),"data-density":i},t.createElement("input",{name:p,ref:a,...h,id:g,className:"jkl-radio-button__input",type:"radio",onChange:f,value:m,checked:o}),t.createElement("label",{"data-testid":"jkl-radio-button__label-tag",htmlFor:g,className:"jkl-radio-button__label"},t.createElement("span",{"aria-hidden":!0,className:"jkl-radio-button__dot"}),t.createElement("span",{className:"jkl-radio-button__text"},c||s)))}));Z.displayName="BaseRadioButton";const ee=t.createContext({name:void 0,value:void 0,onChange:()=>{},inline:!1,density:void 0,invalid:!1}),te=({state:e,children:n})=>t.createElement(ee.Provider,{value:e},n),ne=t.forwardRef(((e,n)=>{const{checked:a,value:l,supportLabelProps:r,helpLabel:o,...s}=e,{value:c,density:i,...u}=t.useContext(ee),d=N("jkl-support-label");return t.createElement(t.Fragment,null,t.createElement(Z,{...u,...s,ref:n,checked:typeof a<"u"?a:typeof c<"u"?l===c:void 0,value:l,"aria-describedby":o?d:void 0}),t.createElement(Q,{...r,label:o,labelType:"help",id:d,density:i}))}));ne.displayName="RadioButton";const ae=e=>{const{name:n,value:a,onChange:l,errorLabel:r,inline:o=!1,density:s,labelProps:c={variant:"medium"},...i}=e;return t.createElement(te,{state:{onChange:l,value:a,name:n,invalid:!!r,inline:o,density:s}},t.createElement(X,{errorLabel:r,labelProps:c,"data-testid":"jkl-radio-button-group",density:s,...i,role:"radiogroup","aria-invalid":!!r}))};function le(e=""){return e.toLowerCase().replace(/[\W_]+/g,"")}function re(e,t){let n=null;t&&(n=e.querySelector('[aria-selected="true"]:not([hidden])')),(!t||!n)&&(n=e.querySelector('[role="option"]')),null==n||n.focus(),e.scrollTop=(null==n?void 0:n.offsetTop)||0}const oe=()=>{},se=t.forwardRef(((e,a)=>{const{id:l,name:r,items:o,value:s,label:c,labelProps:i,onChange:u,onBlur:p,onFocus:m,className:f,helpLabel:h,errorLabel:g,invalid:b,searchable:k=!1,inline:v=!1,defaultPrompt:y="Velg",density:E,width:w,maxShownOptions:_=5,style:C,tooltipProps:F,...A}=e,R=N(l||"jkl-select",{generateSuffix:!l}),O="".concat(R,"_label"),D="".concat(R,"_button"),L="".concat(R,"_search-input"),[P,M]=t.useState(!1),H=t.useCallback((()=>{M((e=>!e))}),[]),T=!!k,B=T&&P,[I,V]=t.useState(""),z=t.useCallback((e=>!!e.label.toLowerCase().includes(I.toLowerCase())||"function"==typeof k&&k(I,e)),[k,I]),G=t.useMemo((()=>o.map(d).map((e=>{const t=!T||""===I||z(e);return{...e,visible:t}}))),[o,T,I,z]),$=t.useMemo((()=>!(typeof s>"u")&&o.some((e=>"string"==typeof e?e===s:e.value===s))),[s,o]),[W,U]=t.useState($&&void 0!==s?s:""),K=""!==W,J=t.useMemo((()=>{var e;return(null==(e=G.find((e=>e.value===W)))?void 0:e.label)||y}),[G,W,y]),Q=t.useRef(null),X=t.useCallback((e=>{Q.current=e,a&&("function"==typeof a?a(e):a.current=e),e&&U(e.value)}),[Q,a]),Z=x(s);t.useEffect((()=>{s!==Z&&U(typeof s>"u"||!$?"":s)}),[U,s,Z,$]);const ee=t.useCallback((e=>{const t=e.value;V(""),U(t),H()}),[V,U,H]),te=x(W);t.useEffect((()=>{typeof te>"u"||te===W||W===s||(u&&u({type:"change",target:{name:r,value:W}}),Q.current&&Q.current.dispatchEvent(new Event("change",{bubbles:!0})))}),[u,r,s,W,te]);const ne=t.useRef(null),ae=t.useRef(!1),se=t.useRef(null),ce=t.useRef(null),ie=t.useCallback(((e,t)=>{if(e&&!T){const e=t.current;e&&re(e,W)}else e?se.current&&se.current.focus():ae.current&&ce.current&&ce.current.focus()}),[T,W]),[ue]=j(P,{onFirstVisible:ie,onTransitionEnd:ie});S({ref:ue});const de=t.useCallback((()=>{var e;T&&V(""),p&&(p({type:"blur",target:{name:r,value:W}}),null==(e=Q.current)||e.dispatchEvent(new Event("focusout",{bubbles:!0}))),ae.current=!1,M(!1)}),[p,V,M,T,r,W]),pe=t.useCallback((e=>{const t=ne.current;t&&t.contains(e.relatedTarget)||de()}),[de]),me=t.useCallback((()=>{ae.current||(m&&m({type:"change",target:{name:r,value:W}}),ae.current=!0)}),[m,W,r]),fe=t.useCallback((e=>{e.target.focus({preventScroll:!0})}),[]);t.useEffect((()=>{const e=Q.current,t=se.current,n=ce.current,a=ne.current;return null==e||e.addEventListener("focus",(()=>{B?null==t||t.focus():null==n||n.focus()})),null==e||e.addEventListener("blur",(function(e){a&&a.contains(e.relatedTarget)&&e.preventDefault()})),()=>{null==e||e.removeEventListener("focus",(()=>{B?null==t||t.focus():null==n||n.focus()})),null==e||e.removeEventListener("blur",(function(e){a&&a.contains(e.relatedTarget)&&e.preventDefault()}))}}),[B]);const he=t.useCallback((e=>{"ArrowDown"!==e.key&&" "!==e.key||P?"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),M(!1)):(e.preventDefault(),e.stopPropagation(),M(!0))}),[M,P]),ge=t.useCallback((e=>{if("ArrowDown"===e.key){e.preventDefault(),e.stopPropagation();const t=ue.current;t&&re(t,T?void 0:W)}else if("Escape"===e.key)e.preventDefault(),e.stopPropagation(),M(!1);else if("Tab"!==e.key||e.shiftKey)"Enter"===e.key&&P&&(e.preventDefault(),e.stopPropagation());else{const t=ue.current;t&&(e.preventDefault(),e.stopPropagation(),re(t,W))}}),[M,ue,W,T,P]),be=t.useCallback((e=>{if("Tab"===e.key)e.preventDefault(),e.stopPropagation(),e.shiftKey&&se.current?se.current.focus():ce.current&&(U(e.currentTarget.value),M(!1),ce.current.focus());else if("ArrowUp"===e.key&&ue.current&&se.current){const t=ue.current.querySelector('[role="option"]:not([hidden])');e.currentTarget.id===(null==t?void 0:t.id)&&se.current&&se.current.focus()}}),[M,ue]);return t.useEffect((()=>{const e=e=>{"Escape"===e.key&&P&&M(!1)};return typeof window<"u"&&P&&window.addEventListener("keydown",e),()=>{typeof window<"u"&&window.removeEventListener("keydown",e)}}),[M,P]),t.createElement(t.Fragment,null,t.createElement("select",{name:r,tabIndex:-1,"data-testid":"jkl-native-select",className:"jkl-sr-only","aria-hidden":!0,ref:X,value:W,onChange:oe},t.createElement("option",{value:""})," ",G.map((e=>t.createElement("option",{key:"".concat(R,"-opt-").concat(e.value),hidden:!e.visible,value:e.value},e.label)))),t.createElement(Y,{ref:ne,"data-testid":"jkl-select",className:n("jkl-select",f,{"jkl-select--inline":v,"jkl-select--open":P&&G.some((e=>e.visible)),"jkl-select--no-value":!K,"jkl-select--invalid":!!g||b}),tooltipProps:F&&{...F,triggerProps:{...F.triggerProps,onFocus:e=>{var t,n;null==(n=null==(t=F.triggerProps)?void 0:t.onFocus)||n.call(t,e),de()}}},...A,id:T?L:D,style:{"--jkl-select-max-shown-options":_,...C},density:E,label:c,labelProps:{id:O,srOnly:v,...i,htmlFor:T?L:D},helpLabel:h,errorLabel:g,render:e=>t.createElement("div",{className:"jkl-select__outer-wrapper",style:{width:w}},T&&t.createElement("input",{...e,id:L,hidden:!B,ref:se,placeholder:"Søk",value:I,onChange:e=>V(e.target.value),"data-testid":"jkl-select__search-input",className:"jkl-select__search-input","aria-autocomplete":"list","aria-activedescendant":K?"".concat(R,"__").concat(le(W)):void 0,"aria-controls":R,"aria-expanded":P,role:"combobox",onKeyDown:ge,onBlur:pe,onFocus:me,onClick:e=>{e.stopPropagation()}}),t.createElement("button",{...e,id:D,ref:ce,hidden:B,type:"button",name:"".concat(r,"-btn"),className:n("jkl-select__button",{"jkl-select__button--active-value":!!W}),"data-testid":"jkl-select__button","aria-label":"".concat(J||"Velg",",").concat(c),"aria-expanded":P,"aria-controls":R,onBlur:pe,onFocus:me,onKeyDown:he,onClick:H,onMouseDown:e=>{var t;e.preventDefault(),null==(t=ce.current)||t.focus()}},J),t.createElement("div",{id:R,ref:ue,role:"listbox",className:"jkl-select__options-menu",hidden:!P||G.every((e=>!e.visible)),"aria-labelledby":O,tabIndex:-1,"data-focus":"controlled"},G.map(((e,n)=>e.visible?t.createElement("button",{key:"".concat(R,"-").concat(e.value),hidden:!e.visible,type:"button",id:"".concat(R,"__").concat(le(e.value)),className:"jkl-select__option","data-testid":"jkl-select__option","aria-selected":e.value===W,role:"option",value:e.value,"data-testautoid":"jkl-select__option-".concat(n),onBlur:pe,onFocus:me,onKeyDown:be,onClick:t=>{t.preventDefault(),ee(e)},onMouseOver:fe},e.label,e.description?t.createElement("span",{className:"jkl-select__option-description"},e.description):null):null))),t.createElement(q,{variant:"medium",pointingDown:!P,className:"jkl-select__arrow"}))}))}));function ce(e){return!!window.matchMedia&&window.matchMedia(e).matches}function ie(e,t){typeof e.addEventListener<"u"?e.addEventListener("change",t):e.addListener(t)}function ue(e,t){typeof e.removeEventListener<"u"?e.removeEventListener("change",t):e.removeListener(t)}se.displayName="Select";const de="(prefers-reduced-motion: reduce)",pe="(prefers-color-scheme: light)",me="(forced-colors: active)",fe={prefersReducedMotion:!1,prefersColorScheme:"light",forcedColors:!1},he=(e,t)=>{switch(t.type){case"COLOR_SCHEME_CHANGED":return{...e,prefersColorScheme:t.value};case"REDUCED_MOTION_CHANGED":return{...e,prefersReducedMotion:t.value};case"FORCED_COLORS_CHANGED":return{...e,forcedColors:t.value};default:return e}},ge={'code[class*="language-"]':{color:"black",background:"none",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{lineHeight:"1.4"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#68563E"},prolog:{color:"#68563E"},doctype:{color:"#68563E"},cdata:{color:"#68563E"},punctuation:{color:"#525252"},".namespace":{opacity:".7"},property:{color:"#AA1F23"},tag:{color:"#AA1F23"},boolean:{color:"#AA1F23"},number:{color:"#AA1F23"},constant:{color:"#AA1F23"},symbol:{color:"#AA1F23"},deleted:{color:"#AA1F23"},selector:{color:"#287E68"},"attr-name":{color:"#287E68"},string:{color:"#287E68"},char:{color:"#287E68"},builtin:{color:"#287E68"},inserted:{color:"#287E68"},operator:{color:"#9a6e3a",background:"transparent"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#000AFA"},"attr-value":{color:"#000AFA"},keyword:{color:"#000AFA"},function:{color:"#cb252b"},"class-name":{color:"#cb252b"},regex:{color:"#9f5704"},important:{color:"#9f5704",fontWeight:"bold"},variable:{color:"#9f5704"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},be={'code[class*="language-"]':{color:"black",background:"none",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{lineHeight:"1.4"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"#999999"},prolog:{color:"#999999"},doctype:{color:"#999999"},cdata:{color:"#999999"},punctuation:{color:"#D6D6D6"},".namespace":{opacity:".7"},property:{color:"#FF8B79"},tag:{color:"#FF8B79"},boolean:{color:"#FF8B79"},number:{color:"#FF8B79"},constant:{color:"#FF8B79"},symbol:{color:"#FF8B79"},deleted:{color:"#FF8B79"},selector:{color:"#5EFFA0"},"attr-name":{color:"#5EFFA0"},string:{color:"#5EFFA0"},char:{color:"#5EFFA0"},builtin:{color:"#5EFFA0"},inserted:{color:"#5EFFA0"},operator:{color:"#9a6e3a",background:"transparent"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#00FAFF"},"attr-value":{color:"#00FAFF"},keyword:{color:"#00FAFF"},function:{color:"#ff644d"},"class-name":{color:"#ff644d"},regex:{color:"#FEC97B"},important:{color:"#FEC97B",fontWeight:"bold"},variable:{color:"#FEC97B"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}};r.PrismLight.registerLanguage("diff",o),r.PrismLight.registerLanguage("sass",s),r.PrismLight.registerLanguage("scss",c),r.PrismLight.registerLanguage("shell-session",i),r.PrismLight.registerLanguage("tsx",u);const ke=({language:n,children:a})=>{const{prefersColorScheme:l}=(()=>{const[e,n]=t.useState(!1),[a,l]=t.useReducer(he,fe);return t.useEffect((()=>{n(!0);const e=ce(de),t=ce(pe)?"light":"dark",a=ce(me);l({type:"REDUCED_MOTION_CHANGED",value:e}),l({type:"COLOR_SCHEME_CHANGED",value:t}),l({type:"FORCED_COLORS_CHANGED",value:a})}),[]),t.useEffect((()=>{if(!e||!window.matchMedia)return;const t=e=>{l({type:"REDUCED_MOTION_CHANGED",value:e.matches})},n=e=>{l({type:"COLOR_SCHEME_CHANGED",value:e.matches?"light":"dark"})},a=e=>{l({type:"FORCED_COLORS_CHANGED",value:e.matches})};return ie(window.matchMedia(de),t),ie(window.matchMedia(pe),n),ie(window.matchMedia(me),a),()=>{ue(window.matchMedia(de),t),ue(window.matchMedia(pe),n),ue(window.matchMedia(me),a)}}),[e]),{...a}})(),[o,s]=t.useState(ge);return t.useEffect((()=>s("dark"===l?be:ge)),[l]),e.jsx(r.PrismLight,{className:"jkl-portal-code-block",style:o,codeTagProps:{style:{},className:"jkl-portal-code-block__code",tabIndex:0},language:n,"data-language":n||void 0,children:a})},ve=t.forwardRef((({as:e="button",className:a,children:l,density:r,expandDirection:o="down",isExpanded:s=!1,hideLabel:c=!1,...i},u)=>{const d=c?f:t.Fragment,p="down"===o?!s:s,m=e,h="button"===m?"button":void 0;return t.createElement(m,{"aria-expanded":s,"data-testid":"jkl-expand-button",type:h,className:n("jkl-expand-button",a,{"jkl-expand-button--expanded":s,"jkl-expand-button--icon-only":!l}),...i,"data-density":r,ref:u},l&&t.createElement(d,null,t.createElement("span",{className:"jkl-expand-button__text"},l)),t.createElement(q,{className:"jkl-expand-button__arrow",variant:"inherit",pointingDown:p,bold:s}))}));ve.displayName="ExpandButton";const ye=({children:e,className:a,expandButtonProps:l,isExpanded:r=!1,density:o,onClick:s,title:c,useAnimatedHeightOptions:i,...u})=>{const[d,p]=t.useState(r);t.useEffect((()=>{p(r)}),[r]);const{detailsRef:m,summaryRef:f,contentRef:h,onSummaryClick:g}=A({onOpenChange:(e,t)=>{p(e),s&&s(t,e)},isExpanded:r});return t.createElement("details",{"data-testid":"jkl-expand-section",className:n("jkl-expand-section",a),...u,ref:m},t.createElement(ve,{as:"summary",...l,density:o,isExpanded:d,onClick:g,ref:f},c),t.createElement("div",{"data-testid":"jkl-expand-section__content-wrapper",className:"jkl-expand-section__content-wrapper",ref:h},t.createElement("div",{className:"jkl-expand-section__content"},e)))},Ee=({className:n,children:a})=>{const[l,r]=t.useState("Vis kode");return e.jsx(ye,{className:n,title:l,onClick:(e,t)=>r(t?"Skjul kode":"Vis kode"),children:a})},we=t.createContext({density:"comfortable",theme:"light"}),xe=({state:t,children:n})=>e.jsx(we.Provider,{value:t,children:n}),je=e=>e.replace(/\ ./,(e=>`-${e.slice(-1)}`)).toLowerCase(),_e=({component:n,knobs:a,noDensity:l=!1,title:r="Komponent",codeExample:o,scrollable:s,style:c,isWide:i})=>{var u,d,p;const m=N("example"),[f,h]=R("jkl-example-theme","light"),[g,b]=R("jkl-example-density","comfortable"),[k,v]=t.useState(!1),[y,E]=t.useState((null==(u=null==a?void 0:a.boolProps)?void 0:u.reduce(((e,t)=>"string"==typeof t?{...e,[t]:!1}:{...e,[t.prop]:t.defaultValue}),{}))||{}),[w,x]=t.useState((null==(d=null==a?void 0:a.choiceProps)?void 0:d.reduce(((e,{name:t,values:n,defaultValue:a})=>({...e,[t]:n[a]})),{}))||{}),j=(null==(p=null==a?void 0:a.choiceProps)?void 0:p.reduce(((e,{name:t,values:n})=>({...e,[t]:n})),{}))||{},_=(e,t)=>x((n=>({...n,[e]:t}))),C=t.useMemo((()=>{const t=n;return e.jsx(t,{boolValues:y,choiceValues:w,displayValues:{density:g,theme:f}})}),[n,y,w,g,f]),[S,F]=t.useState(!1);return t.useEffect((()=>{F(!0)}),[]),S?e.jsxs(xe,{state:{theme:f,density:g},children:[e.jsx("button",{id:"screenshot-mode-toggle",hidden:!0,onClick:()=>v(!k)}),e.jsxs("div",{className:"mb-64",children:[e.jsxs("section",{className:"jkl-portal-component-example "+(i?"jkl-portal-component-example--is-wide":""),children:[e.jsx("div",{id:je(r),"data-layout-density":g,"data-theme":f,"data-example-text":r,className:`jkl jkl-portal-component-example__example-wrapper ${"dark"===f?"jkl-portal-component-example__example-wrapper--dark":""} ${s?"jkl-portal-component-example__example-wrapper--scrollable":""} ${"comfortable"===g?"jkl-body":""} ${"compact"===g?"jkl-small":""}`.trim(),style:c,"data-test-mode":k?"e2e-screenshot":null,children:C}),e.jsx("aside",{"data-layout-density":"compact",className:"jkl-portal-component-example__example-options",children:e.jsxs(e.Fragment,{children:[((null==a?void 0:a.boolProps)||(null==a?void 0:a.choiceProps))&&e.jsxs(X,{legend:"Egenskaper",labelProps:{variant:"medium"},className:"jkl-portal-component-example__example-options-header",children:[(null==a?void 0:a.boolProps)&&e.jsx(e.Fragment,{children:Object.entries(y).map((([t,n])=>e.jsx(O,{name:`${m}-${je(t)}`,value:t,checked:n,onChange:e=>((e,t)=>E((n=>({...n,[e]:t}))))(t,e.target.checked),children:t},`${m}-${je(t)}`)))}),(null==a?void 0:a.choiceProps)&&e.jsx(e.Fragment,{children:Object.entries(w).map((([t,n])=>{var a;return j[t].length<4?e.jsx(ae,{className:"mt-8",name:`${m}-${je(t)}`,legend:t,value:n,labelProps:{variant:"small"},onChange:e=>_(t,e.target.value),children:null==(a=j[t])?void 0:a.map((t=>e.jsx(ne,{value:t,children:t},t)))},`${m}-${je(t)}`):e.jsx(se,{className:"mt-8",value:n,onChange:e=>_(t,e.target.value),label:t,width:"100%",name:t,items:j[t]},`${m}-${je(t)}`)}))})]}),e.jsxs(X,{legend:"Visning",labelProps:{variant:"medium"},className:"jkl-portal-component-example__example-options-header",children:[e.jsxs(ae,{name:`${m}-theme`,legend:"Tema",value:f,labelProps:{variant:"small"},onChange:e=>h(e.target.value),children:[e.jsx(ne,{value:"light",children:"Light"}),e.jsx(ne,{value:"dark",children:"Dark"})]}),l?null:e.jsxs(ae,{className:"mt-8",name:`${m}-density`,legend:"Tetthet",value:g,labelProps:{variant:"small"},onChange:e=>b(e.target.value),children:[e.jsx(ne,{value:"comfortable",children:"Default"}),e.jsx(ne,{value:"compact",children:"Compact"})]})]})]})})]}),S&&o&&e.jsx(Ee,{className:"mt-16",children:e.jsx(ke,{language:"tsx",children:"string"==typeof o?o.trim():o({boolValues:y,choiceValues:w}).trim()})})]})]}):null},Ce=({component:t,...n})=>{const a=t;return e.jsx(_e,{component:({boolValues:t,choiceValues:n,displayValues:l})=>e.jsx(a,{boolValues:t,choiceValues:n,displayValues:l}),...n})};exports.DevExample=n=>e.jsx(t.StrictMode,{children:e.jsx("div",{className:"jkl-dev-example",children:e.jsx(Ce,{...n})})});
2
- //# sourceMappingURL=styles-Dd1xoGpc.cjs.map