@fremtind/jokul 0.28.1 → 0.30.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 (279) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/breadcrumb/index.d.cts +2 -4
  3. package/build/cjs/components/button/index.d.cts +1 -1
  4. package/build/cjs/components/button/types.cjs.map +1 -1
  5. package/build/cjs/components/button/types.d.cts +1 -2
  6. package/build/cjs/components/card/NavCard.cjs.map +1 -1
  7. package/build/cjs/components/card/NavCard.d.cts +1 -10
  8. package/build/cjs/components/card/index.d.cts +2 -2
  9. package/build/cjs/components/card/types.cjs.map +1 -1
  10. package/build/cjs/components/card/types.d.cts +8 -0
  11. package/build/cjs/components/combobox/Combobox.cjs.map +1 -1
  12. package/build/cjs/components/combobox/Combobox.d.cts +6 -7
  13. package/build/cjs/components/combobox/index.d.cts +1 -1
  14. package/build/cjs/components/cookie-consent/index.d.cts +2 -4
  15. package/build/cjs/components/datepicker/index.cjs +1 -1
  16. package/build/cjs/components/datepicker/index.d.cts +3 -3
  17. package/build/cjs/components/datepicker/types.d.cts +7 -0
  18. package/build/cjs/components/datepicker/utils.cjs +1 -1
  19. package/build/cjs/components/datepicker/utils.cjs.map +1 -1
  20. package/build/cjs/components/datepicker/utils.d.cts +0 -1
  21. package/build/cjs/components/datepicker/validation.cjs.map +1 -1
  22. package/build/cjs/components/datepicker/validation.d.cts +1 -8
  23. package/build/cjs/components/description-list/index.d.cts +1 -1
  24. package/build/cjs/components/expander/Expander.cjs.map +1 -1
  25. package/build/cjs/components/expander/Expander.d.cts +1 -2
  26. package/build/cjs/components/expander/index.d.cts +2 -4
  27. package/build/cjs/components/feedback/Feedback.cjs.map +1 -1
  28. package/build/cjs/components/feedback/Feedback.d.cts +4 -9
  29. package/build/cjs/components/feedback/followup/Followup.cjs.map +1 -1
  30. package/build/cjs/components/feedback/followup/Followup.d.cts +3 -14
  31. package/build/cjs/components/feedback/index.d.cts +3 -3
  32. package/build/cjs/components/feedback/presets.cjs.map +1 -1
  33. package/build/cjs/components/feedback/presets.d.cts +2 -5
  34. package/build/cjs/components/feedback/questions/ContactQuestion.cjs.map +1 -1
  35. package/build/cjs/components/feedback/questions/ContactQuestion.d.cts +3 -28
  36. package/build/cjs/components/feedback/types.d.cts +42 -7
  37. package/build/cjs/components/icon-button/index.d.cts +1 -2
  38. package/build/cjs/components/image/index.d.cts +1 -3
  39. package/build/cjs/components/index.cjs +1 -1
  40. package/build/cjs/components/index.d.cts +1 -1
  41. package/build/cjs/components/input-panel/BasePanel.cjs +2 -0
  42. package/build/cjs/components/input-panel/BasePanel.cjs.map +1 -0
  43. package/build/cjs/components/input-panel/BasePanel.d.cts +10 -0
  44. package/build/cjs/components/input-panel/CheckboxPanel.cjs +2 -0
  45. package/build/cjs/components/input-panel/CheckboxPanel.cjs.map +1 -0
  46. package/build/cjs/components/input-panel/CheckboxPanel.d.cts +7 -0
  47. package/build/cjs/components/input-panel/RadioPanel.cjs +2 -0
  48. package/build/cjs/components/input-panel/RadioPanel.cjs.map +1 -0
  49. package/build/cjs/components/{radio-panel → input-panel}/RadioPanel.d.cts +2 -4
  50. package/build/cjs/components/input-panel/RadioPanelGroup.cjs +2 -0
  51. package/build/cjs/components/input-panel/RadioPanelGroup.cjs.map +1 -0
  52. package/build/cjs/components/input-panel/RadioPanelGroup.d.cts +4 -0
  53. package/build/cjs/components/input-panel/documentation/checkbox-panel/ControlledExample.d.cts +4 -0
  54. package/build/cjs/components/input-panel/documentation/checkbox-panel/UncontrolledExample.d.cts +4 -0
  55. package/build/cjs/components/input-panel/documentation/radio-panel/ControlledExample.d.cts +4 -0
  56. package/build/cjs/components/input-panel/documentation/radio-panel/UncontrolledExample.d.cts +4 -0
  57. package/build/cjs/components/input-panel/index.cjs +2 -0
  58. package/build/cjs/components/input-panel/index.d.cts +3 -0
  59. package/build/cjs/components/input-panel/radioPanelContext.cjs +2 -0
  60. package/build/cjs/components/input-panel/radioPanelContext.cjs.map +1 -0
  61. package/build/cjs/components/input-panel/radioPanelContext.d.cts +7 -0
  62. package/build/cjs/components/link-list/LinkList.cjs.map +1 -1
  63. package/build/cjs/components/link-list/LinkList.d.cts +2 -11
  64. package/build/cjs/components/link-list/index.d.cts +1 -0
  65. package/build/cjs/components/link-list/types.cjs +2 -0
  66. package/build/cjs/components/link-list/types.cjs.map +1 -0
  67. package/build/cjs/components/link-list/types.d.cts +11 -0
  68. package/build/cjs/components/list/index.d.cts +2 -3
  69. package/build/cjs/components/loader/index.d.cts +9 -18
  70. package/build/cjs/components/logo/index.d.cts +2 -4
  71. package/build/cjs/components/menu/Menu.cjs +1 -1
  72. package/build/cjs/components/menu/Menu.cjs.map +1 -1
  73. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  74. package/build/cjs/components/modal/Modal.d.cts +8 -2
  75. package/build/cjs/components/modal/index.d.cts +2 -4
  76. package/build/cjs/components/pagination/Pagination.cjs.map +1 -1
  77. package/build/cjs/components/pagination/Pagination.d.cts +2 -1
  78. package/build/cjs/components/pagination/index.d.cts +1 -1
  79. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  80. package/build/cjs/components/popover/Popover.d.cts +6 -6
  81. package/build/cjs/components/popover/index.d.cts +1 -1
  82. package/build/cjs/components/progress-bar/index.d.cts +2 -4
  83. package/build/cjs/components/radio-button/index.d.cts +3 -6
  84. package/build/cjs/components/select/Select.cjs.map +1 -1
  85. package/build/cjs/components/select/Select.d.cts +5 -6
  86. package/build/cjs/components/select/index.d.cts +2 -4
  87. package/build/cjs/components/summary-table/SummaryTable.cjs.map +1 -1
  88. package/build/cjs/components/summary-table/SummaryTable.d.cts +2 -2
  89. package/build/cjs/components/summary-table/index.d.cts +2 -2
  90. package/build/cjs/components/system-message/SystemMessage.cjs.map +1 -1
  91. package/build/cjs/components/system-message/SystemMessage.d.cts +5 -6
  92. package/build/cjs/components/system-message/index.d.cts +1 -1
  93. package/build/cjs/components/tabs/index.d.cts +6 -6
  94. package/build/cjs/components/tag/index.d.cts +1 -3
  95. package/build/cjs/components/text-input/BaseTextArea.cjs.map +1 -1
  96. package/build/cjs/components/text-input/BaseTextArea.d.cts +1 -2
  97. package/build/cjs/components/text-input/index.d.cts +2 -2
  98. package/build/cjs/components/toast/index.d.cts +1 -1
  99. package/build/cjs/components/toast/toastContext.cjs.map +1 -1
  100. package/build/cjs/components/toast/toastContext.d.cts +1 -13
  101. package/build/cjs/components/toast/types.d.cts +11 -0
  102. package/build/cjs/components/toggle-switch/ToggleSlider.cjs.map +1 -1
  103. package/build/cjs/components/toggle-switch/ToggleSlider.d.cts +2 -3
  104. package/build/cjs/components/toggle-switch/ToggleSwitch.cjs.map +1 -1
  105. package/build/cjs/components/toggle-switch/ToggleSwitch.d.cts +1 -1
  106. package/build/cjs/components/toggle-switch/index.d.cts +2 -2
  107. package/build/cjs/components/tooltip/Tooltip.cjs +1 -1
  108. package/build/cjs/components/tooltip/Tooltip.cjs.map +1 -1
  109. package/build/cjs/components/tooltip/Tooltip.d.cts +2 -2
  110. package/build/cjs/components/tooltip/TooltipContent.cjs +1 -1
  111. package/build/cjs/components/tooltip/TooltipContent.cjs.map +1 -1
  112. package/build/cjs/components/tooltip/TooltipTrigger.cjs +1 -1
  113. package/build/cjs/components/tooltip/TooltipTrigger.cjs.map +1 -1
  114. package/build/cjs/index.cjs +1 -1
  115. package/build/es/components/breadcrumb/index.d.ts +2 -4
  116. package/build/es/components/button/index.d.ts +1 -1
  117. package/build/es/components/button/types.d.ts +1 -2
  118. package/build/es/components/button/types.js.map +1 -1
  119. package/build/es/components/card/NavCard.d.ts +1 -10
  120. package/build/es/components/card/NavCard.js.map +1 -1
  121. package/build/es/components/card/index.d.ts +2 -2
  122. package/build/es/components/card/types.d.ts +8 -0
  123. package/build/es/components/card/types.js.map +1 -1
  124. package/build/es/components/combobox/Combobox.d.ts +6 -7
  125. package/build/es/components/combobox/Combobox.js.map +1 -1
  126. package/build/es/components/combobox/index.d.ts +1 -1
  127. package/build/es/components/cookie-consent/index.d.ts +2 -4
  128. package/build/es/components/datepicker/index.d.ts +3 -3
  129. package/build/es/components/datepicker/index.js +1 -1
  130. package/build/es/components/datepicker/types.d.ts +7 -0
  131. package/build/es/components/datepicker/utils.d.ts +0 -1
  132. package/build/es/components/datepicker/utils.js +1 -1
  133. package/build/es/components/datepicker/utils.js.map +1 -1
  134. package/build/es/components/datepicker/validation.d.ts +1 -8
  135. package/build/es/components/datepicker/validation.js.map +1 -1
  136. package/build/es/components/description-list/index.d.ts +1 -1
  137. package/build/es/components/expander/Expander.d.ts +1 -2
  138. package/build/es/components/expander/Expander.js.map +1 -1
  139. package/build/es/components/expander/index.d.ts +2 -4
  140. package/build/es/components/feedback/Feedback.d.ts +4 -9
  141. package/build/es/components/feedback/Feedback.js.map +1 -1
  142. package/build/es/components/feedback/followup/Followup.d.ts +3 -14
  143. package/build/es/components/feedback/followup/Followup.js.map +1 -1
  144. package/build/es/components/feedback/index.d.ts +3 -3
  145. package/build/es/components/feedback/presets.d.ts +2 -5
  146. package/build/es/components/feedback/presets.js.map +1 -1
  147. package/build/es/components/feedback/questions/ContactQuestion.d.ts +3 -28
  148. package/build/es/components/feedback/questions/ContactQuestion.js.map +1 -1
  149. package/build/es/components/feedback/types.d.ts +42 -7
  150. package/build/es/components/icon-button/index.d.ts +1 -2
  151. package/build/es/components/image/index.d.ts +1 -3
  152. package/build/es/components/index.d.ts +1 -1
  153. package/build/es/components/index.js +1 -1
  154. package/build/es/components/input-panel/BasePanel.d.ts +10 -0
  155. package/build/es/components/input-panel/BasePanel.js +2 -0
  156. package/build/es/components/input-panel/BasePanel.js.map +1 -0
  157. package/build/es/components/input-panel/CheckboxPanel.d.ts +7 -0
  158. package/build/es/components/input-panel/CheckboxPanel.js +2 -0
  159. package/build/es/components/input-panel/CheckboxPanel.js.map +1 -0
  160. package/build/es/components/{radio-panel → input-panel}/RadioPanel.d.ts +2 -4
  161. package/build/es/components/input-panel/RadioPanel.js +2 -0
  162. package/build/es/components/input-panel/RadioPanel.js.map +1 -0
  163. package/build/es/components/input-panel/RadioPanelGroup.d.ts +4 -0
  164. package/build/es/components/input-panel/RadioPanelGroup.js +2 -0
  165. package/build/es/components/input-panel/RadioPanelGroup.js.map +1 -0
  166. package/build/es/components/input-panel/documentation/checkbox-panel/ControlledExample.d.ts +4 -0
  167. package/build/es/components/input-panel/documentation/checkbox-panel/UncontrolledExample.d.ts +4 -0
  168. package/build/es/components/input-panel/documentation/radio-panel/ControlledExample.d.ts +4 -0
  169. package/build/es/components/input-panel/documentation/radio-panel/UncontrolledExample.d.ts +4 -0
  170. package/build/es/components/input-panel/index.d.ts +3 -0
  171. package/build/es/components/input-panel/index.js +2 -0
  172. package/build/es/components/input-panel/radioPanelContext.d.ts +7 -0
  173. package/build/es/components/input-panel/radioPanelContext.js +2 -0
  174. package/build/es/components/input-panel/radioPanelContext.js.map +1 -0
  175. package/build/es/components/link-list/LinkList.d.ts +2 -11
  176. package/build/es/components/link-list/LinkList.js.map +1 -1
  177. package/build/es/components/link-list/index.d.ts +1 -0
  178. package/build/es/components/link-list/types.d.ts +11 -0
  179. package/build/es/components/link-list/types.js +2 -0
  180. package/build/es/components/link-list/types.js.map +1 -0
  181. package/build/es/components/list/index.d.ts +2 -3
  182. package/build/es/components/loader/index.d.ts +9 -18
  183. package/build/es/components/logo/index.d.ts +2 -4
  184. package/build/es/components/menu/Menu.js +1 -1
  185. package/build/es/components/menu/Menu.js.map +1 -1
  186. package/build/es/components/modal/Modal.d.ts +8 -2
  187. package/build/es/components/modal/Modal.js.map +1 -1
  188. package/build/es/components/modal/index.d.ts +2 -4
  189. package/build/es/components/pagination/Pagination.d.ts +2 -1
  190. package/build/es/components/pagination/Pagination.js.map +1 -1
  191. package/build/es/components/pagination/index.d.ts +1 -1
  192. package/build/es/components/popover/Popover.d.ts +6 -6
  193. package/build/es/components/popover/Popover.js.map +1 -1
  194. package/build/es/components/popover/index.d.ts +1 -1
  195. package/build/es/components/progress-bar/index.d.ts +2 -4
  196. package/build/es/components/radio-button/index.d.ts +3 -6
  197. package/build/es/components/select/Select.d.ts +5 -6
  198. package/build/es/components/select/Select.js.map +1 -1
  199. package/build/es/components/select/index.d.ts +2 -4
  200. package/build/es/components/summary-table/SummaryTable.d.ts +2 -2
  201. package/build/es/components/summary-table/SummaryTable.js.map +1 -1
  202. package/build/es/components/summary-table/index.d.ts +2 -2
  203. package/build/es/components/system-message/SystemMessage.d.ts +5 -6
  204. package/build/es/components/system-message/SystemMessage.js.map +1 -1
  205. package/build/es/components/system-message/index.d.ts +1 -1
  206. package/build/es/components/tabs/index.d.ts +6 -6
  207. package/build/es/components/tag/index.d.ts +1 -3
  208. package/build/es/components/text-input/BaseTextArea.d.ts +1 -2
  209. package/build/es/components/text-input/BaseTextArea.js.map +1 -1
  210. package/build/es/components/text-input/index.d.ts +2 -2
  211. package/build/es/components/toast/index.d.ts +1 -1
  212. package/build/es/components/toast/toastContext.d.ts +1 -13
  213. package/build/es/components/toast/toastContext.js.map +1 -1
  214. package/build/es/components/toast/types.d.ts +11 -0
  215. package/build/es/components/toggle-switch/ToggleSlider.d.ts +2 -3
  216. package/build/es/components/toggle-switch/ToggleSlider.js.map +1 -1
  217. package/build/es/components/toggle-switch/ToggleSwitch.d.ts +1 -1
  218. package/build/es/components/toggle-switch/ToggleSwitch.js.map +1 -1
  219. package/build/es/components/toggle-switch/index.d.ts +2 -2
  220. package/build/es/components/tooltip/Tooltip.d.ts +2 -2
  221. package/build/es/components/tooltip/Tooltip.js +1 -1
  222. package/build/es/components/tooltip/Tooltip.js.map +1 -1
  223. package/build/es/components/tooltip/TooltipContent.js +1 -1
  224. package/build/es/components/tooltip/TooltipContent.js.map +1 -1
  225. package/build/es/components/tooltip/TooltipTrigger.js +1 -1
  226. package/build/es/components/tooltip/TooltipTrigger.js.map +1 -1
  227. package/build/es/index.js +1 -1
  228. package/package.json +12 -3
  229. package/styles/components/button/button.css +2 -2
  230. package/styles/components/button/button.min.css +1 -1
  231. package/styles/components/checkbox/checkbox.css +4 -4
  232. package/styles/components/checkbox/checkbox.min.css +1 -1
  233. package/styles/components/feedback/feedback.css +2 -2
  234. package/styles/components/feedback/feedback.min.css +1 -1
  235. package/styles/components/input-group/input-group.css +2 -2
  236. package/styles/components/input-group/input-group.min.css +1 -1
  237. package/styles/components/input-panel/_index.scss +2 -0
  238. package/styles/components/input-panel/checkbox-panel.css +132 -0
  239. package/styles/components/input-panel/checkbox-panel.min.css +1 -0
  240. package/styles/components/input-panel/checkbox-panel.scss +88 -0
  241. package/styles/components/{radio-panel → input-panel}/radio-panel.css +67 -56
  242. package/styles/components/input-panel/radio-panel.min.css +1 -0
  243. package/styles/components/input-panel/radio-panel.scss +79 -0
  244. package/styles/components/input-panel/shared.css +61 -0
  245. package/styles/components/input-panel/shared.min.css +1 -0
  246. package/styles/components/input-panel/shared.scss +75 -0
  247. package/styles/components/loader/loader.css +6 -6
  248. package/styles/components/loader/loader.min.css +1 -1
  249. package/styles/components/loader/skeleton-loader.css +5 -5
  250. package/styles/components/loader/skeleton-loader.min.css +1 -1
  251. package/styles/components/message/message.css +2 -2
  252. package/styles/components/message/message.min.css +1 -1
  253. package/styles/components/progress-bar/progress-bar.css +2 -2
  254. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  255. package/styles/components/radio-button/radio-button.css +2 -2
  256. package/styles/components/radio-button/radio-button.min.css +1 -1
  257. package/styles/components/system-message/system-message.css +2 -2
  258. package/styles/components/system-message/system-message.min.css +1 -1
  259. package/styles/components/toast/toast.css +4 -4
  260. package/styles/components/toast/toast.min.css +1 -1
  261. package/styles/components/tooltip/tooltip.css +2 -26
  262. package/styles/components/tooltip/tooltip.min.css +1 -1
  263. package/styles/components/tooltip/tooltip.scss +3 -31
  264. package/styles/styles.css +224 -166
  265. package/styles/styles.min.css +1 -1
  266. package/styles/styles.scss +1 -1
  267. package/build/cjs/components/radio-panel/RadioPanel.cjs +0 -2
  268. package/build/cjs/components/radio-panel/RadioPanel.cjs.map +0 -1
  269. package/build/cjs/components/radio-panel/index.cjs +0 -2
  270. package/build/cjs/components/radio-panel/index.d.cts +0 -1
  271. package/build/es/components/radio-panel/RadioPanel.js +0 -2
  272. package/build/es/components/radio-panel/RadioPanel.js.map +0 -1
  273. package/build/es/components/radio-panel/index.d.ts +0 -1
  274. package/build/es/components/radio-panel/index.js +0 -2
  275. package/styles/components/radio-panel/_index.scss +0 -1
  276. package/styles/components/radio-panel/radio-panel.min.css +0 -1
  277. package/styles/components/radio-panel/radio-panel.scss +0 -140
  278. /package/build/cjs/components/{radio-panel → input-panel}/index.cjs.map +0 -0
  279. /package/build/es/components/{radio-panel → input-panel}/index.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import {\n type Placement,\n type UseFloatingReturn,\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, { FC, createContext, useContext, useRef, useState } from \"react\";\nimport { type WithChildren } from \"../../core/types.js\";\n\nexport type TooltipPlacement = Extract<\n Placement,\n \"top-start\" | \"top-end\" | \"left\" | \"right\" | \"top\"\n>;\n\nexport interface TooltipProps {\n /**\n * Sett til true dersom du ønsker at tooltipen skal være åpen som default\n * @default false\n */\n initialOpen?: boolean;\n /**\n * Plassering av tooltipen i forhold til triggeren. Tooltipen vil automatisk\n * bytte posisjon dersom det ikke er plass.\n * @default \"top\"\n */\n placement?: TooltipPlacement;\n /**\n * Valgfri forsinkelse før tooltipen åpner. Ignoreres dersom triggerOn er satt til \"click\"\n * @default 250\n */\n delay?: number;\n /**\n * Angir om tooltipen skal åpnes ved klikk eller hover\n * @default \"hover\"\n */\n triggerOn?: \"click\" | \"hover\";\n}\n\ntype UseTooltipReturn = {\n triggerOn: NonNullable<TooltipProps[\"triggerOn\"]>;\n isOpen: boolean;\n setOpen: React.Dispatch<React.SetStateAction<boolean>>;\n arrowElement: React.RefObject<HTMLElement>;\n refs: {\n description: React.MutableRefObject<HTMLElement | null>;\n setDescription: (element: HTMLElement | null) => void;\n } & UseFloatingReturn[\"refs\"];\n} & UseFloatingReturn &\n ReturnType<typeof useInteractions>;\n\nexport const useTooltip = ({\n initialOpen = false,\n placement = \"top\",\n delay = 250,\n triggerOn = \"hover\",\n}: TooltipProps): UseTooltipReturn => {\n const [isOpen, setOpen] = useState(initialOpen);\n const arrowElement = useRef<HTMLElement>(null);\n const description = useRef<HTMLElement | null>(null);\n const setDescription = (element: HTMLElement | null) =>\n (description.current = element);\n\n const data = useFloating({\n open: isOpen,\n onOpenChange: setOpen,\n placement,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(16),\n flip(),\n shift({ padding: 16 }),\n arrow({ element: arrowElement, padding: 20 }),\n ],\n });\n\n const role = useRole(data.context, { role: \"tooltip\" });\n const dismiss = useDismiss(data.context, { referencePress: false });\n const click = useClick(data.context, {\n enabled: triggerOn === \"click\" && !isOpen,\n });\n const hover = useHover(data.context, {\n enabled: triggerOn === \"hover\",\n delay: isOpen ? 0 : delay,\n });\n const focus = useFocus(data.context, {\n enabled: triggerOn === \"click\" ? isOpen : true,\n });\n\n const interactions = useInteractions([dismiss, focus, role, click, hover]);\n\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};\n\nexport type TooltipContext = ReturnType<typeof useTooltip> | null;\n\nconst tooltipContext = createContext<TooltipContext>(null);\n\nexport const TooltipProvider = tooltipContext.Provider;\n\nexport const useTooltipContext = () => {\n const context = useContext(tooltipContext);\n\n if (context === null) {\n throw new Error(\n \"Tooltip-komponentene kan kun brukes inne i <Tooltip />\",\n );\n }\n\n return context;\n};\n\nexport const Tooltip: FC<TooltipProps & WithChildren> = ({\n children,\n ...options\n}) => {\n const tooltip = useTooltip(options);\n\n return <TooltipProvider value={tooltip}>{children}</TooltipProvider>;\n};\n"],"names":["useTooltip","initialOpen","placement","delay","triggerOn","isOpen","setOpen","useState","arrowElement","useRef","description","data","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","middleware","offset","flip","shift","padding","arrow","element","role","useRole","context","dismiss","useDismiss","referencePress","click","useClick","enabled","hover","useHover","focus","useFocus","interactions","useInteractions","refs","setDescription","current","tooltipContext","createContext","TooltipProvider","Provider","children","options","tooltip","jsx","value","useContext","Error"],"mappings":"wKA4DaA,EAAa,EACtBC,YAAAA,GAAc,EACdC,UAAAA,EAAY,MACZC,MAAAA,EAAQ,IACRC,UAAAA,EAAY,YAEZ,MAAOC,EAAQC,GAAWC,WAASN,GAC7BO,EAAeC,SAAoB,MACnCC,EAAcD,SAA2B,MAIzCE,EAAOC,EAAAA,YAAY,CACrBC,KAAMR,EACNS,aAAcR,EACdJ,UAAAA,EACAa,qBAAsBC,EAAAA,WACtBC,WAAY,CACRC,EAAAA,OAAO,IACPC,SACAC,QAAM,CAAEC,QAAS,KACjBC,EAAAA,MAAM,CAAEC,QAASf,EAAca,QAAS,QAI1CG,EAAOC,EAAAA,QAAQd,EAAKe,QAAS,CAAEF,KAAM,YACrCG,EAAUC,EAAAA,WAAWjB,EAAKe,QAAS,CAAEG,gBAAgB,IACrDC,EAAQC,EAAAA,SAASpB,EAAKe,QAAS,CACjCM,QAAuB,UAAd5B,IAA0BC,IAEjC4B,EAAQC,EAAAA,SAASvB,EAAKe,QAAS,CACjCM,QAAuB,UAAd5B,EACTD,MAAOE,EAAS,EAAIF,IAElBgC,EAAQC,EAAAA,SAASzB,EAAKe,QAAS,CACjCM,QAAuB,UAAd5B,GAAwBC,IAG/BgC,EAAeC,kBAAgB,CAACX,EAASQ,EAAOX,EAAMM,EAAOG,IAE5D,MAAA,CACH7B,UAAAA,EACAC,OAAAA,EACAC,QAAAA,EACAE,aAAAA,KACGG,EACH4B,KAAM,IACC5B,EAAK4B,KACR7B,YAAAA,EACA8B,eAxCgBjB,GACnBb,EAAY+B,QAAUlB,MAyCpBc,EAAA,EAMLK,EAAiBC,EAAAA,cAA8B,MAExCC,EAAkBF,EAAeG,yBAcU,EACpDC,SAAAA,KACGC,MAEG,MAAAC,EAAUhD,EAAW+C,GAE3B,OAAQE,EAAAA,IAAAL,EAAA,CAAgBM,MAAOF,EAAUF,SAAAA,GAAS,2EAlBrB,KACvB,MAAApB,EAAUyB,aAAWT,GAE3B,GAAgB,OAAZhB,EACA,MAAM,IAAI0B,MACN,0DAID,OAAA1B"}
1
+ {"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import {\n type Placement,\n type UseFloatingReturn,\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, { FC, createContext, useContext, useRef, useState } from \"react\";\nimport { type WithChildren } from \"../../core/types.js\";\n\nexport type TooltipPlacement = Extract<\n Placement,\n \"top-start\" | \"top-end\" | \"left\" | \"right\" | \"top\"\n>;\n\nexport interface TooltipProps {\n /**\n * Sett til true dersom du ønsker at tooltipen skal være åpen som default\n * @default false\n */\n initialOpen?: boolean;\n /**\n * Plassering av tooltipen i forhold til triggeren. Tooltipen vil automatisk\n * bytte posisjon dersom det ikke er plass.\n * @default \"top\"\n */\n placement?: TooltipPlacement;\n /**\n * Valgfri forsinkelse før tooltipen åpner. Ignoreres dersom triggerOn er satt til \"click\"\n * @default 250\n */\n delay?: number;\n /**\n * Angir om tooltipen skal åpnes ved klikk eller hover\n * @default \"hover\"\n */\n triggerOn?: \"click\" | \"hover\";\n}\n\ntype UseTooltipReturn = {\n triggerOn: NonNullable<TooltipProps[\"triggerOn\"]>;\n isOpen: boolean;\n setOpen: React.Dispatch<React.SetStateAction<boolean>>;\n arrowElement: React.RefObject<SVGSVGElement>;\n refs: {\n description: React.MutableRefObject<HTMLElement | null>;\n setDescription: (element: HTMLElement | null) => void;\n } & UseFloatingReturn[\"refs\"];\n} & UseFloatingReturn &\n ReturnType<typeof useInteractions>;\n\nconst useTooltip = ({\n initialOpen = false,\n placement = \"top\",\n delay = 250,\n triggerOn = \"hover\",\n}: TooltipProps): UseTooltipReturn => {\n const [isOpen, setOpen] = useState(initialOpen);\n const arrowElement = useRef<SVGSVGElement>(null);\n const description = useRef<HTMLElement | null>(null);\n const setDescription = (element: HTMLElement | null) =>\n (description.current = element);\n\n const data = useFloating({\n open: isOpen,\n onOpenChange: setOpen,\n placement,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(16),\n flip(),\n shift({ padding: 16 }),\n arrow({ element: arrowElement, padding: 8 }),\n ],\n });\n\n const role = useRole(data.context, { role: \"tooltip\" });\n const dismiss = useDismiss(data.context, { referencePress: false });\n const click = useClick(data.context, {\n enabled: triggerOn === \"click\" && !isOpen,\n });\n const hover = useHover(data.context, {\n enabled: triggerOn === \"hover\",\n delay: isOpen ? 0 : delay,\n });\n const focus = useFocus(data.context, {\n enabled: triggerOn === \"click\" ? isOpen : true,\n });\n\n const interactions = useInteractions([dismiss, focus, role, click, hover]);\n\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};\n\nexport type TooltipContext = ReturnType<typeof useTooltip> | null;\n\nconst tooltipContext = createContext<TooltipContext>(null);\n\nexport const TooltipProvider = tooltipContext.Provider;\n\nexport const useTooltipContext = () => {\n const context = useContext(tooltipContext);\n\n if (context === null) {\n throw new Error(\n \"Tooltip-komponentene kan kun brukes inne i <Tooltip />\",\n );\n }\n\n return context;\n};\n\nexport const Tooltip: FC<TooltipProps & WithChildren> = ({\n children,\n ...options\n}) => {\n const tooltip = useTooltip(options);\n\n return <TooltipProvider value={tooltip}>{children}</TooltipProvider>;\n};\n"],"names":["tooltipContext","createContext","TooltipProvider","Provider","children","options","tooltip","initialOpen","placement","delay","triggerOn","isOpen","setOpen","useState","arrowElement","useRef","description","data","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","middleware","offset","flip","shift","padding","arrow","element","role","useRole","context","dismiss","useDismiss","referencePress","click","useClick","enabled","hover","useHover","focus","useFocus","interactions","useInteractions","refs","setDescription","current","useTooltip","jsx","value","useContext","Error"],"mappings":"wKAqHMA,EAAiBC,EAAAA,cAA8B,MAExCC,EAAkBF,EAAeG,yBAcU,EACpDC,SAAAA,KACGC,MAEG,MAAAC,EA7ES,GACfC,YAAAA,GAAc,EACdC,UAAAA,EAAY,MACZC,MAAAA,EAAQ,IACRC,UAAAA,EAAY,YAEZ,MAAOC,EAAQC,GAAWC,WAASN,GAC7BO,EAAeC,SAAsB,MACrCC,EAAcD,SAA2B,MAIzCE,EAAOC,EAAAA,YAAY,CACrBC,KAAMR,EACNS,aAAcR,EACdJ,UAAAA,EACAa,qBAAsBC,EAAAA,WACtBC,WAAY,CACRC,EAAAA,OAAO,IACPC,SACAC,QAAM,CAAEC,QAAS,KACjBC,EAAAA,MAAM,CAAEC,QAASf,EAAca,QAAS,OAI1CG,EAAOC,EAAAA,QAAQd,EAAKe,QAAS,CAAEF,KAAM,YACrCG,EAAUC,EAAAA,WAAWjB,EAAKe,QAAS,CAAEG,gBAAgB,IACrDC,EAAQC,EAAAA,SAASpB,EAAKe,QAAS,CACjCM,QAAuB,UAAd5B,IAA0BC,IAEjC4B,EAAQC,EAAAA,SAASvB,EAAKe,QAAS,CACjCM,QAAuB,UAAd5B,EACTD,MAAOE,EAAS,EAAIF,IAElBgC,EAAQC,EAAAA,SAASzB,EAAKe,QAAS,CACjCM,QAAuB,UAAd5B,GAAwBC,IAG/BgC,EAAeC,kBAAgB,CAACX,EAASQ,EAAOX,EAAMM,EAAOG,IAE5D,MAAA,CACH7B,UAAAA,EACAC,OAAAA,EACAC,QAAAA,EACAE,aAAAA,KACGG,EACH4B,KAAM,IACC5B,EAAK4B,KACR7B,YAAAA,EACA8B,eAxCgBjB,GACnBb,EAAY+B,QAAUlB,MAyCpBc,EAAA,EA0BSK,CAAW3C,GAE3B,OAAQ4C,EAAAA,IAAA/C,EAAA,CAAgBgD,MAAO5C,EAAUF,SAAAA,GAAS,sDAlBrB,KACvB,MAAA4B,EAAUmB,aAAWnD,GAE3B,GAAgB,OAAZgC,EACA,MAAM,IAAIoB,MACN,0DAID,OAAApB"}
@@ -29,13 +29,13 @@ type UseTooltipReturn = {
29
29
  triggerOn: NonNullable<TooltipProps["triggerOn"]>;
30
30
  isOpen: boolean;
31
31
  setOpen: React.Dispatch<React.SetStateAction<boolean>>;
32
- arrowElement: React.RefObject<HTMLElement>;
32
+ arrowElement: React.RefObject<SVGSVGElement>;
33
33
  refs: {
34
34
  description: React.MutableRefObject<HTMLElement | null>;
35
35
  setDescription: (element: HTMLElement | null) => void;
36
36
  } & UseFloatingReturn["refs"];
37
37
  } & UseFloatingReturn & ReturnType<typeof useInteractions>;
38
- export declare const useTooltip: ({ initialOpen, placement, delay, triggerOn, }: TooltipProps) => UseTooltipReturn;
38
+ declare const useTooltip: ({ initialOpen, placement, delay, triggerOn, }: TooltipProps) => UseTooltipReturn;
39
39
  export type TooltipContext = ReturnType<typeof useTooltip> | null;
40
40
  export declare const TooltipProvider: React.Provider<TooltipContext>;
41
41
  export declare const useTooltipContext: () => UseTooltipReturn;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("@floating-ui/react"),r=require("../../../clsx-E3yX_9sL.cjs"),i=require("framer-motion"),s=require("react"),n=require("../../hooks/useId/useId.cjs"),a=require("../../utilities/getThemeAndDensity.cjs"),o=require("./Tooltip.cjs");function l(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 c=s.forwardRef((function({className:s,children:c,...u},d){const{triggerOn:p,arrowElement:h,isOpen:m,getFloatingProps:f,placement:g,isPositioned:j,middlewareData:{arrow:x},floatingStyles:y,refs:q}=o.useTooltipContext(),v=t.useMergeRefs([d,q.setFloating]),w=n.useId("jkl-tooltip-content"),{density:k,theme:T}=a.getThemeAndDensity(q.reference.current);return e.jsx(t.FloatingPortal,{children:e.jsx(i.LazyMotion,{features:i.domAnimation,children:e.jsxs(i.AnimatePresence,{children:["hover"===p&&e.jsx("span",{ref:q.setDescription,hidden:!0,children:c},`${w}-trigger`),m&&e.jsx("span",{className:"jkl",children:e.jsxs(i.m.span,{ref:v,initial:{opacity:0,...l(g,5)},animate:{opacity:1,...l(g,0)},exit:{opacity:0,...l(g,-5),transition:{ease:"easeIn",duration:.15}},transition:{ease:"easeOut",duration:.25},"data-placement":g,"aria-live":"click"===p?"assertive":void 0,className:r.clsx("jkl-tooltip-content",s),...f({...u,id:w}),style:{...y},"data-theme":T,"data-layout-density":k,children:[c,e.jsx("span",{"aria-hidden":!0,className:"jkl-tooltip-content__arrow",ref:h,style:{left:j?`${null==x?void 0:x.x}px`:"",top:j?`${null==x?void 0:x.y}px`:""}})]},w)},`${w}-wrapper`)]})})})}));exports.TooltipContent=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("@floating-ui/react"),r=require("../../../clsx-E3yX_9sL.cjs"),s=require("react"),i=require("../../hooks/useBrowserPreferences/useBrowserPreferences.cjs"),n=require("../../hooks/useId/useId.cjs"),o=require("../../utilities/getThemeAndDensity.cjs"),a=require("./Tooltip.cjs");function c(e,t=0){switch(e){case"top":default:return`0 ${t}px`;case"left":return`${t}px 0`;case"bottom":return`0 ${-t}px`;case"right":return-t+"px 0"}}const l=s.forwardRef((function({className:s,children:l,...u},d){const{triggerOn:p,arrowElement:f,getFloatingProps:g,placement:h,floatingStyles:x,refs:j,context:y}=a.useTooltipContext(),m=t.useMergeRefs([d,j.setFloating]),w=n.useId("jkl-tooltip-content"),{prefersReducedMotion:q}=i.useBrowserPreferences(),{isMounted:k,styles:T}=t.useTransitionStyles(y,{duration:{open:q?0:250,close:q?0:150},initial:({side:e})=>({opacity:0,translate:c(e,5)}),open:({side:e})=>({opacity:1,translate:c(e,0)}),close:({side:e})=>({opacity:0,translate:c(e,-5)})}),{density:v,theme:P}=o.getThemeAndDensity(j.reference.current);return e.jsxs(t.FloatingPortal,{children:["hover"===p&&e.jsx("span",{ref:j.setDescription,hidden:!0,children:l},`${w}-trigger`),k&&e.jsx("span",{className:"jkl",children:e.jsxs("span",{ref:m,"data-placement":h,"aria-live":"click"===p?"assertive":void 0,"data-theme":P,"data-layout-density":v,className:r.clsx("jkl-tooltip-content",s),...g({...u,id:w}),style:{...x,...T},children:[l,e.jsx(t.FloatingArrow,{context:y,ref:f,width:24,height:12,fill:"var(--background-color)"})]},w)},`${w}-wrapper`)]})}));exports.TooltipContent=l;
2
2
  //# sourceMappingURL=TooltipContent.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipContent.cjs","sources":["../../../../src/components/tooltip/TooltipContent.tsx"],"sourcesContent":["import {\n type Placement,\n useMergeRefs,\n FloatingPortal,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport { AnimatePresence, LazyMotion, domAnimation, m } from \"framer-motion\";\nimport React, { HTMLProps, forwardRef } from \"react\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { getThemeAndDensity } from \"../../utilities/getThemeAndDensity.js\";\nimport { useTooltipContext } from \"./Tooltip.js\";\n\nfunction getPositionAnimation(placement: Placement, value: number = 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\n default:\n return {\n top: value,\n };\n }\n}\n\nexport const TooltipContent = forwardRef<\n HTMLDivElement,\n HTMLProps<HTMLDivElement>\n>(function TooltipContent({ 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\n // Siden tooltipet rendres på rot må vi hente lokal dark/light-verdi fra triggeren\n // Vi må gjøre dette for å ta hensyn til at tema kan styres lokalt for deler av UIet\n const { density, theme } = getThemeAndDensity(\n refs.reference.current as HTMLElement,\n );\n\n return (\n <FloatingPortal>\n <LazyMotion features={domAnimation}>\n <AnimatePresence>\n {/* For å kunne bruke tekstinnholdet i tooltip som beskrivende tekst, selv når ikke\n tooltip er synlig, må vi rendre et skjult element å referere til for å hente innholdet. */}\n {triggerOn === \"hover\" && (\n <span\n ref={refs.setDescription}\n hidden\n key={`${contentId}-trigger`}\n >\n {children}\n </span>\n )}\n {isOpen && (\n <span className=\"jkl\" key={`${contentId}-wrapper`}>\n <m.span\n key={contentId}\n ref={ref}\n initial={{\n opacity: 0,\n ...getPositionAnimation(placement, 5),\n }}\n animate={{\n opacity: 1,\n ...getPositionAnimation(placement, 0),\n }}\n exit={{\n opacity: 0,\n ...getPositionAnimation(placement, -5),\n transition: {\n ease: \"easeIn\",\n duration: 0.15,\n },\n }}\n transition={{ ease: \"easeOut\", duration: 0.25 }}\n data-placement={placement}\n aria-live={\n triggerOn === \"click\"\n ? \"assertive\"\n : undefined\n }\n className={clsx(\n \"jkl-tooltip-content\",\n className,\n )}\n {...getFloatingProps({\n ...props,\n id: contentId,\n })}\n style={{ ...floatingStyles }}\n data-theme={theme}\n data-layout-density={density}\n >\n {children}\n <span\n aria-hidden\n className=\"jkl-tooltip-content__arrow\"\n ref={arrowElement}\n style={{\n left: isPositioned\n ? `${arrow?.x}px`\n : \"\",\n top: isPositioned\n ? `${arrow?.y}px`\n : \"\",\n }}\n />\n </m.span>\n </span>\n )}\n </AnimatePresence>\n </LazyMotion>\n </FloatingPortal>\n );\n});\n"],"names":["getPositionAnimation","placement","value","startsWith","top","left","right","TooltipContent","forwardRef","className","children","props","forwardedRef","triggerOn","arrowElement","isOpen","getFloatingProps","isPositioned","middlewareData","arrow","floatingStyles","refs","useTooltipContext","ref","useMergeRefs","setFloating","contentId","useId","density","theme","getThemeAndDensity","reference","current","FloatingPortal","jsx","LazyMotion","features","domAnimation","AnimatePresence","setDescription","hidden","jsxs","m","span","initial","opacity","animate","exit","transition","ease","duration","clsx","id","style","x","y"],"mappings":"mWAYA,SAASA,EAAqBC,EAAsBC,EAAgB,GAChE,QAAQ,GACJ,KAAKD,EAAUE,WAAW,OACf,MAAA,CACHC,IAAKF,GAEb,KAAKD,EAAUE,WAAW,QACf,MAAA,CACHE,KAAMH,EACNI,OAAQJ,GAEhB,KAAKD,EAAUE,WAAW,UACf,MAAA,CACHC,KAAMF,GAEd,KAAKD,EAAUE,WAAW,SACf,MAAA,CACHE,MAAOH,EACPI,MAAOJ,GAGf,QACW,MAAA,CACHE,IAAKF,GAGrB,CAEa,MAAAK,EAAiBC,EAAAA,YAG5B,UAA0BC,UAAAA,EAAWC,SAAAA,KAAaC,GAASC,GACnD,MACFC,UAAAA,EACAC,aAAAA,EACAC,OAAAA,EACAC,iBAAAA,EACAf,UAAAA,EACAgB,aAAAA,EACAC,gBAAkBC,MAAAA,GAClBC,eAAAA,EACAC,KAAAA,GACAC,EAAkBA,oBAChBC,EAAMC,EAAAA,aAAa,CAACZ,EAAcS,EAAKI,cACvCC,EAAYC,QAAM,wBAIhBC,QAAAA,EAASC,MAAAA,GAAUC,EAAAA,mBACvBT,EAAKU,UAAUC,SAGnB,aACKC,EACGA,eAAA,CAAAvB,SAAAwB,EAAAA,IAACC,cAAWC,SAAUC,EAAAA,aAClB3B,gBAAC4B,EAGIA,gBAAA,CAAA5B,SAAA,CAAc,UAAdG,GACGqB,EAAAA,IAAC,OAAA,CACGX,IAAKF,EAAKkB,eACVC,QAAM,EAGL9B,SAAAA,GAFI,GAAGgB,aAKfX,GACGmB,EAAAA,IAAC,OAAK,CAAAzB,UAAU,MACZC,SAAA+B,EAAAA,KAACC,EAAAA,EAAEC,KAAF,CAEGpB,IAAAA,EACAqB,QAAS,CACLC,QAAS,KACN7C,EAAqBC,EAAW,IAEvC6C,QAAS,CACLD,QAAS,KACN7C,EAAqBC,EAAW,IAEvC8C,KAAM,CACFF,QAAS,KACN7C,EAAqBC,GAAW,GACnC+C,WAAY,CACRC,KAAM,SACNC,SAAU,MAGlBF,WAAY,CAAEC,KAAM,UAAWC,SAAU,KACzC,iBAAgBjD,EAChB,YACkB,UAAdY,EACM,iBACA,EAEVJ,UAAW0C,EAAAA,KACP,sBACA1C,MAEAO,EAAiB,IACdL,EACHyC,GAAI1B,IAER2B,MAAO,IAAKjC,GACZ,aAAYS,EACZ,sBAAqBD,EAEpBlB,SAAA,CAAAA,EACDwB,EAAAA,IAAC,OAAA,CACG,eAAW,EACXzB,UAAU,6BACVc,IAAKT,EACLuC,MAAO,CACHhD,KAAMY,EACA,GAAG,MAAAE,SAAAA,EAAOmC,MACV,GACNlD,IAAKa,EACC,GAAG,MAAAE,SAAAA,EAAOoC,MACV,QAhDT7B,IAFc,GAAGA,mBA4DtD"}
1
+ {"version":3,"file":"TooltipContent.cjs","sources":["../../../../src/components/tooltip/TooltipContent.tsx"],"sourcesContent":["import {\n FloatingArrow,\n FloatingPortal,\n type Side,\n useMergeRefs,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport React, { HTMLProps, forwardRef } from \"react\";\nimport { useBrowserPreferences } from \"../../hooks/useBrowserPreferences/useBrowserPreferences.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { getThemeAndDensity } from \"../../utilities/getThemeAndDensity.js\";\nimport { useTooltipContext } from \"./Tooltip.js\";\n\nfunction getTranslation(side: Side, value: number = 0) {\n switch (side) {\n case \"top\":\n return `0 ${value}px`;\n case \"left\":\n return `${value}px 0`;\n case \"bottom\":\n return `0 ${-value}px`;\n case \"right\":\n return `${-value}px 0`;\n\n default:\n return `0 ${value}px`;\n }\n}\n\nexport const TooltipContent = forwardRef<\n HTMLDivElement,\n HTMLProps<HTMLDivElement>\n>(function TooltipContent({ className, children, ...props }, forwardedRef) {\n const {\n triggerOn,\n arrowElement,\n getFloatingProps,\n placement,\n floatingStyles,\n refs,\n context,\n } = useTooltipContext();\n const ref = useMergeRefs([forwardedRef, refs.setFloating]);\n const contentId = useId(\"jkl-tooltip-content\");\n const { prefersReducedMotion } = useBrowserPreferences();\n const { isMounted, styles: animationStyles } = useTransitionStyles(\n context,\n {\n duration: {\n open: prefersReducedMotion ? 0 : 250,\n close: prefersReducedMotion ? 0 : 150,\n },\n initial: ({ side }) => ({\n opacity: 0,\n translate: getTranslation(side, 5),\n }),\n open: ({ side }) => ({\n opacity: 1,\n translate: getTranslation(side, 0),\n }),\n close: ({ side }) => ({\n opacity: 0,\n translate: getTranslation(side, -5),\n }),\n },\n );\n\n // Siden tooltipet rendres på rot må vi hente lokal dark/light-verdi fra triggeren\n // Vi må gjøre dette for å ta hensyn til at tema kan styres lokalt for deler av UIet\n const { density, theme } = getThemeAndDensity(\n refs.reference.current as HTMLElement,\n );\n\n return (\n <FloatingPortal>\n {/* For å kunne bruke tekstinnholdet i tooltip som beskrivende tekst, selv når ikke\n tooltip er synlig, må vi rendre et skjult element å referere til for å hente innholdet. */}\n {triggerOn === \"hover\" && (\n <span\n ref={refs.setDescription}\n hidden\n key={`${contentId}-trigger`}\n >\n {children}\n </span>\n )}\n {isMounted && (\n <span className=\"jkl\" key={`${contentId}-wrapper`}>\n <span\n key={contentId}\n ref={ref}\n data-placement={placement}\n aria-live={\n triggerOn === \"click\" ? \"assertive\" : undefined\n }\n data-theme={theme}\n data-layout-density={density}\n className={clsx(\"jkl-tooltip-content\", className)}\n {...getFloatingProps({\n ...props,\n id: contentId,\n })}\n style={{ ...floatingStyles, ...animationStyles }}\n >\n {children}\n <FloatingArrow\n context={context}\n ref={arrowElement}\n width={24}\n height={12}\n fill=\"var(--background-color)\"\n />\n </span>\n </span>\n )}\n </FloatingPortal>\n );\n});\n"],"names":["getTranslation","side","value","TooltipContent","forwardRef","className","children","props","forwardedRef","triggerOn","arrowElement","getFloatingProps","placement","floatingStyles","refs","context","useTooltipContext","ref","useMergeRefs","setFloating","contentId","useId","prefersReducedMotion","useBrowserPreferences","isMounted","styles","animationStyles","useTransitionStyles","duration","open","close","initial","opacity","translate","density","theme","getThemeAndDensity","reference","current","FloatingPortal","jsx","setDescription","hidden","jsxs","clsx","id","style","FloatingArrow","width","height","fill"],"mappings":"iZAcA,SAASA,EAAeC,EAAYC,EAAgB,GAChD,OAAQD,GACJ,IAAK,MASL,QACI,MAAO,KAAKC,MARhB,IAAK,OACD,MAAO,GAAGA,QACd,IAAK,SACM,MAAA,MAAMA,MACjB,IAAK,QACM,OAAIA,EAAJ,OAKnB,CAEa,MAAAC,EAAiBC,EAAAA,YAG5B,UAA0BC,UAAAA,EAAWC,SAAAA,KAAaC,GAASC,GACnD,MACFC,UAAAA,EACAC,aAAAA,EACAC,iBAAAA,EACAC,UAAAA,EACAC,eAAAA,EACAC,KAAAA,EACAC,QAAAA,GACAC,EAAkBA,oBAChBC,EAAMC,EAAAA,aAAa,CAACV,EAAcM,EAAKK,cACvCC,EAAYC,QAAM,wBAChBC,qBAAAA,GAAyBC,EAAAA,yBACzBC,UAAAA,EAAWC,OAAQC,GAAoBC,EAAAA,oBAC3CZ,EACA,CACIa,SAAU,CACNC,KAAMP,EAAuB,EAAI,IACjCQ,MAAOR,EAAuB,EAAI,KAEtCS,QAAS,EAAG9B,KAAAA,OACR+B,QAAS,EACTC,UAAWjC,EAAeC,EAAM,KAEpC4B,KAAM,EAAG5B,KAAAA,OACL+B,QAAS,EACTC,UAAWjC,EAAeC,EAAM,KAEpC6B,MAAO,EAAG7B,KAAAA,OACN+B,QAAS,EACTC,UAAWjC,EAAeC,GAAQ,QAOtCiC,QAAAA,EAASC,MAAAA,GAAUC,EAAAA,mBACvBtB,EAAKuB,UAAUC,SAGnB,cACKC,iBAGI,CAAAjC,SAAA,CAAc,UAAdG,GACG+B,EAAAA,IAAC,OAAA,CACGvB,IAAKH,EAAK2B,eACVC,QAAM,EAGLpC,SAAAA,GAFI,GAAGc,aAKfI,GACGgB,EAAAA,IAAC,OAAK,CAAAnC,UAAU,MACZC,SAAAqC,EAAAA,KAAC,OAAA,CAEG1B,IAAAA,EACA,iBAAgBL,EAChB,YACkB,UAAdH,EAAwB,iBAAc,EAE1C,aAAY0B,EACZ,sBAAqBD,EACrB7B,UAAWuC,EAAAA,KAAK,sBAAuBvC,MACnCM,EAAiB,IACdJ,EACHsC,GAAIzB,IAER0B,MAAO,IAAKjC,KAAmBa,GAE9BpB,SAAA,CAAAA,EACDkC,EAAAA,IAACO,EAAAA,cAAA,CACGhC,QAAAA,EACAE,IAAKP,EACLsC,MAAO,GACPC,OAAQ,GACRC,KAAK,8BArBJ9B,IAFc,GAAGA,eA8B9C"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("@floating-ui/react"),t=require("../../../clsx-E3yX_9sL.cjs"),o=require("react"),l=require("./Tooltip.cjs"),n=o.forwardRef((function({children:n,className:s,...i},c){var a,p;const{isOpen:u,setOpen:f,getReferenceProps:d,refs:g,triggerOn:x}=l.useTooltipContext(),m=n.ref,b=r.useMergeRefs([m,g.setReference,c]),j=()=>{"click"===x&&f(!1)},q=[null==(a=g.reference.current)?void 0:a.textContent,null==(p=g.description.current)?void 0:p.textContent].filter(Boolean).join(". ");return o.isValidElement(n)?o.cloneElement(n,d({ref:b,"aria-label":q,...n.props,...i,className:t.clsx(n.props.className,s),"data-tooltip-shown":u,style:{...n.props.style},tabIndex:"click"===x?0:void 0,onBlur:()=>{n.props.onBlur&&n.props.onBlur(),j()}})):e.jsx("button",{"data-tooltip-shown":u,...d({className:t.clsx(s,"jkl-tooltip-trigger"),type:"button",ref:b,onBlur:j,"aria-label":q,...i}),children:n})}));exports.TooltipTrigger=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("@floating-ui/react"),t=require("../../../clsx-E3yX_9sL.cjs"),o=require("react"),l=require("./Tooltip.cjs"),n=o.forwardRef((function({children:n,className:s,...i},a){var c,u;const{isOpen:p,setOpen:f,getReferenceProps:d,refs:g,triggerOn:x}=l.useTooltipContext(),m=n.ref,b=r.useMergeRefs([m,g.setReference,a]),j=()=>{"click"===x&&f(!1)},v=[null==(c=g.reference.current)?void 0:c.textContent,null==(u=g.description.current)?void 0:u.textContent].map((e=>null==e?void 0:e.replaceAll(/[\ue003-\uf8aa]/g,""))).filter(Boolean).join(". ");return o.isValidElement(n)?o.cloneElement(n,d({ref:b,"aria-label":v,...n.props,...i,className:t.clsx(n.props.className,s),"data-tooltip-shown":p,style:{...n.props.style},tabIndex:"click"===x?0:void 0,onBlur:()=>{n.props.onBlur&&n.props.onBlur(),j()}})):e.jsx("button",{"data-tooltip-shown":p,...d({className:t.clsx(s,"jkl-tooltip-trigger"),type:"button",ref:b,onBlur:j,"aria-label":v,...i}),children:n})}));exports.TooltipTrigger=n;
2
2
  //# sourceMappingURL=TooltipTrigger.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipTrigger.cjs","sources":["../../../../src/components/tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { useMergeRefs } from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport React, { forwardRef, type HTMLProps } from \"react\";\nimport { useTooltipContext } from \"./Tooltip.js\";\n\nexport const TooltipTrigger = forwardRef<HTMLElement, HTMLProps<HTMLElement>>(\n function TooltipTrigger({ children, className, ...props }, forwardedRef) {\n const { isOpen, setOpen, getReferenceProps, refs, triggerOn } =\n useTooltipContext();\n const childrenRef = (children as any).ref;\n const ref = useMergeRefs([\n childrenRef,\n refs.setReference,\n forwardedRef,\n ]);\n\n const handleBlur = () => {\n triggerOn === \"click\" && setOpen(false);\n };\n\n const ariaLabel = [\n (refs.reference.current as HTMLElement | null)?.textContent,\n refs.description.current?.textContent,\n ]\n .filter(Boolean)\n .join(\". \");\n\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: clsx(children.props.className, className),\n \"data-tooltip-shown\": isOpen,\n style: { ...children.props.style },\n tabIndex: triggerOn === \"click\" ? 0 : undefined,\n onBlur: () => {\n children.props.onBlur && children.props.onBlur();\n handleBlur();\n },\n }),\n );\n }\n\n return (\n <button\n data-tooltip-shown={isOpen}\n {...getReferenceProps({\n className: clsx(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 </button>\n );\n },\n);\n"],"names":["TooltipTrigger","forwardRef","children","className","props","forwardedRef","isOpen","setOpen","getReferenceProps","refs","triggerOn","useTooltipContext","childrenRef","ref","useMergeRefs","setReference","handleBlur","ariaLabel","_a","reference","current","textContent","_b","description","filter","Boolean","join","React","isValidElement","cloneElement","clsx","style","tabIndex","onBlur","jsx","type"],"mappings":"2OAKaA,EAAiBC,EAAAA,YAC1B,UAA0BC,SAAAA,EAAUC,UAAAA,KAAcC,GAASC,WACvD,MAAQC,OAAAA,EAAQC,QAAAA,EAASC,kBAAAA,EAAmBC,KAAAA,EAAMC,UAAAA,GAC9CC,EAAAA,oBACEC,EAAeV,EAAiBW,IAChCA,EAAMC,EAAAA,aAAa,CACrBF,EACAH,EAAKM,aACLV,IAGEW,EAAa,KACD,UAAAN,GAAWH,GAAQ,EAAK,EAGpCU,EAAY,CACb,OAAAC,EAAAT,EAAKU,UAAUC,cAAf,EAAAF,EAA+CG,YAChD,OAAAC,EAAAb,EAAKc,YAAYH,cAAjB,EAAAE,EAA0BD,aAEzBG,OAAOC,SACPC,KAAK,MAEN,OAAAC,EAAMC,eAAe1B,GACdyB,EAAME,aACT3B,EACAM,EAAkB,CACdK,IAAAA,EACA,aAAcI,KACXf,EAASE,SACTA,EACHD,UAAW2B,EAAAA,KAAK5B,EAASE,MAAMD,UAAWA,GAC1C,qBAAsBG,EACtByB,MAAO,IAAK7B,EAASE,MAAM2B,OAC3BC,SAAwB,UAAdtB,EAAwB,OAAI,EACtCuB,OAAQ,KACJ/B,EAASE,MAAM6B,QAAU/B,EAASE,MAAM6B,SAC7BjB,QAOvBkB,EAAAA,IAAC,SAAA,CACG,qBAAoB5B,KAChBE,EAAkB,CAClBL,UAAW2B,EAAAA,KAAK3B,EAAW,uBAE3BgC,KAAM,SACNtB,IAAAA,EACAoB,OAAQjB,EACR,aAAcC,KACXb,IAGNF,SAAAA,GAGb"}
1
+ {"version":3,"file":"TooltipTrigger.cjs","sources":["../../../../src/components/tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { useMergeRefs } from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport React, { forwardRef, type HTMLProps } from \"react\";\nimport { useTooltipContext } from \"./Tooltip.js\";\n\nexport const TooltipTrigger = forwardRef<HTMLElement, HTMLProps<HTMLElement>>(\n function TooltipTrigger({ children, className, ...props }, forwardedRef) {\n const { isOpen, setOpen, getReferenceProps, refs, triggerOn } =\n useTooltipContext();\n const childrenRef = (children as any).ref;\n const ref = useMergeRefs([\n childrenRef,\n refs.setReference,\n forwardedRef,\n ]);\n\n const handleBlur = () => {\n triggerOn === \"click\" && setOpen(false);\n };\n\n const filterMaterialSymbols = (\n maybeText: string | null | undefined,\n ) => {\n return maybeText?.replaceAll(/[\\ue003-\\uf8aa]/g, \"\");\n };\n\n const ariaLabel = [\n (refs.reference.current as HTMLElement | null)?.textContent,\n refs.description.current?.textContent,\n ]\n .map(filterMaterialSymbols)\n .filter(Boolean)\n .join(\". \");\n\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: clsx(children.props.className, className),\n \"data-tooltip-shown\": isOpen,\n style: { ...children.props.style },\n tabIndex: triggerOn === \"click\" ? 0 : undefined,\n onBlur: () => {\n children.props.onBlur && children.props.onBlur();\n handleBlur();\n },\n }),\n );\n }\n\n return (\n <button\n data-tooltip-shown={isOpen}\n {...getReferenceProps({\n className: clsx(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 </button>\n );\n },\n);\n"],"names":["TooltipTrigger","forwardRef","children","className","props","forwardedRef","isOpen","setOpen","getReferenceProps","refs","triggerOn","useTooltipContext","childrenRef","ref","useMergeRefs","setReference","handleBlur","ariaLabel","_a","reference","current","textContent","_b","description","map","maybeText","replaceAll","filter","Boolean","join","React","isValidElement","cloneElement","clsx","style","tabIndex","onBlur","jsx","type"],"mappings":"2OAKaA,EAAiBC,EAAAA,YAC1B,UAA0BC,SAAAA,EAAUC,UAAAA,KAAcC,GAASC,WACvD,MAAQC,OAAAA,EAAQC,QAAAA,EAASC,kBAAAA,EAAmBC,KAAAA,EAAMC,UAAAA,GAC9CC,EAAAA,oBACEC,EAAeV,EAAiBW,IAChCA,EAAMC,EAAAA,aAAa,CACrBF,EACAH,EAAKM,aACLV,IAGEW,EAAa,KACD,UAAAN,GAAWH,GAAQ,EAAK,EASpCU,EAAY,CACb,OAAAC,EAAAT,EAAKU,UAAUC,cAAfF,EAAAA,EAA+CG,YAChD,OAAAC,EAAAb,EAAKc,YAAYH,cAAjBE,EAAAA,EAA0BD,aAEzBG,KATDC,GAEO,MAAAA,OAAA,EAAAA,EAAWC,WAAW,mBAAoB,MAQhDC,OAAOC,SACPC,KAAK,MAEN,OAAAC,EAAMC,eAAe7B,GACd4B,EAAME,aACT9B,EACAM,EAAkB,CACdK,IAAAA,EACA,aAAcI,KACXf,EAASE,SACTA,EACHD,UAAW8B,EAAAA,KAAK/B,EAASE,MAAMD,UAAWA,GAC1C,qBAAsBG,EACtB4B,MAAO,IAAKhC,EAASE,MAAM8B,OAC3BC,SAAwB,UAAdzB,EAAwB,OAAI,EACtC0B,OAAQ,KACJlC,EAASE,MAAMgC,QAAUlC,EAASE,MAAMgC,SAC7BpB,QAOvBqB,EAAAA,IAAC,SAAA,CACG,qBAAoB/B,KAChBE,EAAkB,CAClBL,UAAW8B,EAAAA,KAAK9B,EAAW,uBAE3BmC,KAAM,SACNzB,IAAAA,EACAuB,OAAQpB,EACR,aAAcC,KACXb,IAGNF,SAAAA,GAGb"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/accordion/Accordion.cjs"),o=require("./components/accordion/AccordionItem.cjs"),r=require("./components/breadcrumb/Breadcrumb.cjs"),s=require("./components/breadcrumb/BreadcrumbItem.cjs"),t=require("./components/button/Button.cjs"),n=require("./components/card/Card.cjs"),i=require("./components/card/CardImage.cjs"),a=require("./components/card/NavCard.cjs"),c=require("./components/card/TaskCard.cjs"),u=require("./components/card/InfoCard.cjs"),p=require("./components/checkbox/Checkbox.cjs"),m=require("./components/combobox/Combobox.cjs"),l=require("./components/cookie-consent/CookieConsent.cjs"),x=require("./components/cookie-consent/CookieConsentContext.cjs"),d=require("./components/datepicker/validation.cjs"),g=require("./components/datepicker/utils.cjs"),j=require("./components/datepicker/DatePicker.cjs"),b=require("./components/feedback/Feedback.cjs"),q=require("./components/feedback/presets.cjs"),I=require("./components/flex/Flex.cjs"),T=require("./components/description-list/DescriptionList.cjs"),k=require("./components/expander/Expander.cjs"),h=require("./components/expander/ExpandSection.cjs"),C=require("./components/icon/Icon.cjs"),S=require("./components/icon/icons/animated/ArrowVerticalAnimated.cjs"),v=require("./components/icon/icons/animated/ArrowHorizontalAnimated.cjs"),M=require("./components/icon/icons/animated/PlusRemoveAnimated.cjs"),L=require("./components/icon/icons/ArrowDownIcon.cjs"),f=require("./components/icon/icons/ArrowLeftIcon.cjs"),A=require("./components/icon/icons/ArrowNorthEastIcon.cjs"),E=require("./components/icon/icons/ArrowRightIcon.cjs"),R=require("./components/icon/icons/ArrowUpIcon.cjs"),B=require("./components/icon/icons/CalendarIcon.cjs"),w=require("./components/icon/icons/CheckIcon.cjs"),P=require("./components/icon/icons/ChevronDownIcon.cjs"),F=require("./components/icon/icons/ChevronLeftIcon.cjs"),D=require("./components/icon/icons/ChevronRightIcon.cjs"),N=require("./components/icon/icons/ChevronUpIcon.cjs"),V=require("./components/icon/icons/CloseIcon.cjs"),y=require("./components/icon/icons/CopyIcon.cjs"),O=require("./components/icon/icons/DotsIcon.cjs"),G=require("./components/icon/icons/DragIcon.cjs"),H=require("./components/icon/icons/ErrorIcon.cjs"),W=require("./components/icon/icons/GreenCheckIcon.cjs"),U=require("./components/icon/icons/HamburgerIcon.cjs"),K=require("./components/icon/icons/InfoIcon.cjs"),X=require("./components/icon/icons/LinkIcon.cjs"),_=require("./components/icon/icons/PlusIcon.cjs"),z=require("./components/icon/icons/QuestionIcon.cjs"),Q=require("./components/icon/icons/RedCrossIcon.cjs"),J=require("./components/icon/icons/SearchIcon.cjs"),Y=require("./components/icon/icons/SuccessIcon.cjs"),Z=require("./components/icon/icons/WarningIcon.cjs"),$=require("./components/icon/icons/MinusIcon.cjs"),ee=require("./components/icon/icons/ThumbDownIcon.cjs"),oe=require("./components/icon/icons/ThumbUpIcon.cjs"),re=require("./components/icon/icons/TrashCanIcon.cjs"),se=require("./components/icon/icons/PenIcon.cjs"),te=require("./components/icon-button/IconButton.cjs"),ne=require("./components/image/Image.cjs"),ie=require("./components/input-group/FieldGroup.cjs"),ae=require("./components/input-group/InputGroup.cjs"),ce=require("./components/input-group/Label.cjs"),ue=require("./components/input-group/SupportLabel.cjs"),pe=require("./components/link/Link.cjs"),me=require("./components/link/NavLink.cjs"),le=require("./components/link-list/LinkList.cjs"),xe=require("./components/list/List.cjs"),de=require("./components/list/ListItem.cjs"),ge=require("./components/loader/Loader.cjs"),je=require("./components/loader/skeletons/SkeletonAnimation.cjs"),be=require("./components/loader/skeletons/SkeletonButton.cjs"),qe=require("./components/loader/skeletons/SkeletonCheckboxGroup.cjs"),Ie=require("./components/loader/skeletons/SkeletonElement.cjs"),Te=require("./components/loader/skeletons/SkeletonInput.cjs"),ke=require("./components/loader/skeletons/SkeletonRadioButtonGroup.cjs"),he=require("./components/loader/skeletons/SkeletonTable.cjs"),Ce=require("./components/loader/skeletons/SkeletonTextArea.cjs"),Se=require("./components/logo/Logo.cjs"),ve=require("./components/logo/LogoStamp.cjs"),Me=require("./components/logo/text-paths/ForsikringLevertAvFremtind.cjs"),Le=require("./components/logo/text-paths/FraSB1ogDNB.cjs"),fe=require("./components/logo/text-paths/InnovasjonFraFremtind.cjs"),Ae=require("./components/logo/text-paths/TeknologiFraFremtind.cjs"),Ee=require("./components/logo/text-paths/VartEgetForsikringsselskap.cjs"),Re=require("./components/logo/text-paths/VartForsikringsselskap.cjs"),Be=require("./components/menu/Menu.cjs"),we=require("./components/menu/MenuItem.cjs"),Pe=require("./components/menu/MenuItemCheckbox.cjs"),Fe=require("./components/menu/MenuDivider.cjs"),De=require("./components/message/Message.cjs"),Ne=require("./components/message/FormErrorMessage.cjs"),Ve=require("./components/modal/Modal.cjs"),ye=require("./components/modal/useModal.cjs"),Oe=require("./components/pagination/Pagination.cjs"),Ge=require("./components/popover/Popover.cjs"),He=require("./components/progress-bar/Countdown.cjs"),We=require("./components/progress-bar/ProgressBar.cjs"),Ue=require("./components/radio-button/RadioButton.cjs"),Ke=require("./components/radio-button/RadioButtonGroup.cjs"),Xe=require("./components/radio-button/BaseRadioButton.cjs"),_e=require("./components/radio-panel/RadioPanel.cjs"),ze=require("./components/select/Select.cjs"),Qe=require("./components/select/NativeSelect.cjs"),Je=require("./components/summary-table/SummaryTable.cjs"),Ye=require("./components/summary-table/SummaryTableRow.cjs"),Ze=require("./components/system-message/SystemMessage.cjs"),$e=require("./components/table/DataTable.cjs"),eo=require("./components/table/Table.cjs"),oo=require("./components/table/TableBody.cjs"),ro=require("./components/table/TableCaption.cjs"),so=require("./components/table/TableCell.cjs"),to=require("./components/table/TableColumn.cjs"),no=require("./components/table/TableColumnGroup.cjs"),io=require("./components/table/tableContext.cjs"),ao=require("./components/table/tableSectionContext.cjs"),co=require("./components/table/TableFooter.cjs"),uo=require("./components/table/TableHead.cjs"),po=require("./components/table/TableHeader.cjs"),mo=require("./components/table/TablePagination.cjs"),lo=require("./components/table/TableRow.cjs"),xo=require("./components/table/ExpandableTableRow.cjs"),go=require("./components/table/ExpandableTableRowController.cjs"),jo=require("./components/table/utils.cjs"),bo=require("./components/tabs/NavTab.cjs"),qo=require("./components/tabs/NavTabs.cjs"),Io=require("./components/tabs/Tabs.cjs"),To=require("./components/tabs/TabList.cjs"),ko=require("./components/tabs/Tab.cjs"),ho=require("./components/tabs/TabPanel.cjs"),Co=require("./components/tag/Tag.cjs"),So=require("./components/text-input/BaseTextArea.cjs"),vo=require("./components/text-input/BaseTextInput.cjs"),Mo=require("./components/text-input/TextArea.cjs"),Lo=require("./components/text-input/TextInput.cjs"),fo=require("./components/toast/toastContext.cjs"),Ao=require("./components/toggle-switch/ToggleSwitch.cjs"),Eo=require("./components/toggle-switch/ToggleSlider.cjs"),Ro=require("./components/tooltip/Tooltip.cjs"),Bo=require("./components/tooltip/TooltipContent.cjs"),wo=require("./components/tooltip/TooltipTrigger.cjs"),Po=require("./components/tooltip/PopupTip.cjs"),Fo=require("./components/ScreenReaderOnly.cjs"),Do=require("./core/tokens.cjs"),No=require("./hooks/useAnimatedDetails/useAnimatedDetails.cjs"),Vo=require("./hooks/useAnimatedHeight/useAnimatedHeight.cjs"),yo=require("./hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs"),Oo=require("./hooks/useAnimatedHeight/useAutoAnimateHeight.cjs"),Go=require("./hooks/useBrowserPreferences/useBrowserPreferences.cjs"),Ho=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),Wo=require("./hooks/useLocalStorage/useLocalStorage.cjs"),Uo=require("./hooks/useMutationObserver/useMutationObserver.cjs"),Ko=require("./hooks/usePreviousValue/usePreviousValue.cjs"),Xo=require("./hooks/useProgressiveImg/useProgressiveImg.cjs"),_o=require("./hooks/useScreen/useScreen.cjs"),zo=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),Qo=require("./hooks/useAriaLiveRegion/useAriaLiveRegion.cjs"),Jo=require("./hooks/useClickOutside/useClickOutside.cjs"),Yo=require("./hooks/useFocusOutside/useFocusOutside.cjs"),Zo=require("./hooks/useElementDimensions/useElementDimensions.cjs"),$o=require("./hooks/useId/useId.cjs"),er=require("./hooks/useKeyListener/useKeyListener.cjs"),or=require("./hooks/useListNavigation/useListNavigation.cjs"),rr=require("./hooks/useSwipeGesture/useSwipeGesture.cjs"),sr=require("../index-hKyqa1PH.cjs"),tr=require("./utilities/formatters/util/formatNumber.cjs"),nr=require("./utilities/formatters/util/parseNumber.cjs"),ir=require("./utilities/formatters/util/registerWithMask.cjs"),ar=require("./utilities/formatters/avstand/formatAvstand.cjs"),cr=require("./utilities/formatters/bytes/formatBytes.cjs"),ur=require("./utilities/formatters/date/formatDate.cjs"),pr=require("./utilities/formatters/fodselsnummer/formatFodselsnummer.cjs"),mr=require("./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.cjs"),lr=require("./utilities/formatters/kontonummer/formatKontonummer.cjs"),xr=require("./utilities/formatters/kortnummer/formatKortnummer.cjs"),dr=require("./utilities/formatters/telefonnummer/formatTelefonnummer.cjs"),gr=require("./utilities/formatters/valuta/formatValuta.cjs"),jr=require("./utilities/getThemeAndDensity.cjs"),br=require("./utilities/polymorphism/mergeProps.cjs"),qr=require("./utilities/polymorphism/mergeRefs.cjs"),Ir=require("./utilities/polymorphism/SlotComponent.cjs"),Tr=require("./utilities/validators/isValidEpost/isValidEpost.cjs"),kr=require("./utilities/validators/isValidTelefonnummer/isValidTelefonnummer.cjs"),hr=require("./utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.cjs"),Cr=require("./utilities/validators/isValidChassisnummer/isValidChassisnummer.cjs"),Sr=require("./utilities/validators/isValidDogId/isValidDogId.cjs"),vr=require("./utilities/validators/isExactLength/isExactLength.cjs"),Mr=require("./utilities/validators/isInteger/isInteger.cjs"),Lr=require("./utilities/validators/isValidFodselsnummer/isValidFodselsnummer.cjs"),fr=require("./utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.cjs"),Ar=require("./utilities/validators/isValidName/isValidName.cjs"),Er=require("./utilities/validators/hasMinimumWords/hasMinimumWords.cjs"),Rr=require("./utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.cjs"),Br=require("./utilities/tabListener.cjs"),wr=require("./utilities/valuePair.cjs");exports.Accordion=e.Accordion,exports.AccordionItem=o.AccordionItem,exports.Breadcrumb=r.Breadcrumb,exports.BreadcrumbItem=s.BreadcrumbItem,exports.Button=t.Button,exports.PrimaryButton=t.PrimaryButton,exports.SecondaryButton=t.SecondaryButton,exports.TertiaryButton=t.TertiaryButton,exports.Card=n.Card,exports.CardImage=i.CardImage,exports.InfoBlock=a.InfoBlock,exports.NavCard=a.NavCard,exports.TaskCard=c.TaskCard,exports.InfoCard=u.InfoCard,exports.Checkbox=p.Checkbox,exports.Combobox=m.Combobox,exports.getComboboxValuePair=m.getComboboxValuePair,exports.CookieConsent=l.CookieConsent,exports.CookieConsentProvider=x.CookieConsentProvider,exports.useCookieConsent=x.useCookieConsent,exports.isCorrectFormat=d.isCorrectFormat,exports.isWithinLowerBound=d.isWithinLowerBound,exports.isWithinUpperBound=d.isWithinUpperBound,exports.dayMonthYearRegex=g.dayMonthYearRegex,exports.formatInput=g.formatInput,exports.isBlurTargetOutside=g.isBlurTargetOutside,exports.parseDateString=g.parseDateString,exports.DatePicker=j.DatePicker,exports.Feedback=b.Feedback,exports.PRESETS=q.PRESETS,exports.Flex=I.Flex,exports.DescriptionDetail=T.DescriptionDetail,exports.DescriptionList=T.DescriptionList,exports.DescriptionTerm=T.DescriptionTerm,exports.Expander=k.Expander,exports.ExpandSection=h.ExpandSection,exports.Icon=C.Icon,exports.ArrowVerticalAnimated=S.ArrowVerticalAnimated,exports.ArrowHorizontalAnimated=v.ArrowHorizontalAnimated,exports.PlusRemoveAnimated=M.PlusRemoveAnimated,exports.ArrowDownIcon=L.ArrowDownIcon,exports.ArrowLeftIcon=f.ArrowLeftIcon,exports.ArrowNorthEastIcon=A.ArrowNorthEastIcon,exports.ArrowRightIcon=E.ArrowRightIcon,exports.ArrowUpIcon=R.ArrowUpIcon,exports.CalendarIcon=B.CalendarIcon,exports.CheckIcon=w.CheckIcon,exports.ChevronDownIcon=P.ChevronDownIcon,exports.ChevronLeftIcon=F.ChevronLeftIcon,exports.ChevronRightIcon=D.ChevronRightIcon,exports.ChevronUpIcon=N.ChevronUpIcon,exports.CloseIcon=V.CloseIcon,exports.CopyIcon=y.CopyIcon,exports.DotsIcon=O.DotsIcon,exports.DragIcon=G.DragIcon,exports.ErrorIcon=H.ErrorIcon,exports.GreenCheckIcon=W.GreenCheckIcon,exports.HamburgerIcon=U.HamburgerIcon,exports.InfoIcon=K.InfoIcon,exports.LinkIcon=X.LinkIcon,exports.PlusIcon=_.PlusIcon,exports.QuestionIcon=z.QuestionIcon,exports.RedCrossIcon=Q.RedCrossIcon,exports.SearchIcon=J.SearchIcon,exports.SuccessIcon=Y.SuccessIcon,exports.WarningIcon=Z.WarningIcon,exports.MinusIcon=$.MinusIcon,exports.ThumbDownIcon=ee.ThumbDownIcon,exports.ThumbUpIcon=oe.ThumbUpIcon,exports.TrashCanIcon=re.TrashCanIcon,exports.PenIcon=se.PenIcon,exports.IconButton=te.IconButton,exports.Image=ne.Image,exports.FieldGroup=ie.FieldGroup,exports.InputGroup=ae.InputGroup,exports.Label=ce.Label,exports.SupportLabel=ue.SupportLabel,exports.Link=pe.Link,exports.NavLink=me.NavLink,exports.LinkList=le.LinkList,exports.List=xe.List,exports.OrderedList=xe.OrderedList,exports.UnorderedList=xe.UnorderedList,exports.CheckListItem=de.CheckListItem,exports.CrossListItem=de.CrossListItem,exports.ListItem=de.ListItem,exports.Loader=ge.Loader,exports.SkeletonAnimation=je.SkeletonAnimation,exports.SkeletonButton=be.SkeletonButton,exports.SkeletonCheckboxGroup=qe.SkeletonCheckboxGroup,exports.SkeletonElement=Ie.SkeletonElement,exports.SkeletonInput=Te.SkeletonInput,exports.SkeletonRadioButtonGroup=ke.SkeletonRadioButtonGroup,exports.SkeletonTable=he.SkeletonTable,exports.SkeletonTableHeader=he.SkeletonTableHeader,exports.SkeletonTableRow=he.SkeletonTableRow,exports.SkeletonTextArea=Ce.SkeletonTextArea,exports.Logo=Se.Logo,exports.LogoStamp=ve.LogoStamp,exports.ForsikringLevertAvFremtind=Me.ForsikringLevertAvFremtind,exports.FraSB1ogDNB=Le.FraSB1ogDNB,exports.InnovasjonFraFremtind=fe.InnovasjonFraFremtind,exports.TeknologiFraFremtind=Ae.TeknologiFraFremtind,exports.VartEgetForsikringsselskap=Ee.VartEgetForsikringsselskap,exports.VartForsikringsselskap=Re.VartForsikringsselskap,exports.Menu=Be.Menu,exports.MenuItem=we.MenuItem,exports.MenuItemCheckbox=Pe.MenuItemCheckbox,exports.MenuDivider=Fe.MenuDivider,exports.ErrorMessage=De.ErrorMessage,exports.InfoMessage=De.InfoMessage,exports.SuccessMessage=De.SuccessMessage,exports.WarningMessage=De.WarningMessage,exports.FormErrorMessage=Ne.FormErrorMessage,exports.Modal=Ve.Modal,exports.ModalActions=Ve.ModalActions,exports.ModalBody=Ve.ModalBody,exports.ModalCloseButton=Ve.ModalCloseButton,exports.ModalContainer=Ve.ModalContainer,exports.ModalHeader=Ve.ModalHeader,exports.ModalOverlay=Ve.ModalOverlay,exports.ModalTitle=Ve.ModalTitle,exports.useModal=ye.useModal,exports.Pagination=Oe.Pagination,exports.Popover=Ge.Popover,exports.Countdown=He.Countdown,exports.ProgressBar=We.ProgressBar,exports.RadioButton=Ue.RadioButton,exports.RadioButtonGroup=Ke.RadioButtonGroup,exports.BaseRadioButton=Xe.BaseRadioButton,exports.RadioPanel=_e.RadioPanel,exports.Select=ze.Select,exports.NativeSelect=Qe.NativeSelect,exports.SummaryTable=Je.SummaryTable,exports.SummaryTableRow=Ye.SummaryTableRow,exports.ErrorSystemMessage=Ze.ErrorSystemMessage,exports.InfoSystemMessage=Ze.InfoSystemMessage,exports.SuccessSystemMessage=Ze.SuccessSystemMessage,exports.WarningSystemMessage=Ze.WarningSystemMessage,exports.DataTable=$e.DataTable,exports.Table=eo.Table,exports.TableBody=oo.TableBody,exports.TableCaption=ro.TableCaption,exports.TableCell=so.TableCell,exports.TableColumn=to.TableColumn,exports.TableColumnGroup=no.TableColumnGroup,exports.TableContextProvider=io.TableContextProvider,exports.useTableContext=io.useTableContext,exports.TableSectionContextProvider=ao.TableSectionContextProvider,exports.useTableSectionContext=ao.useTableSectionContext,exports.TableFooter=co.TableFooter,exports.TableHead=uo.TableHead,exports.TableHeader=po.TableHeader,exports.TablePagination=mo.TablePagination,exports.TableRow=lo.TableRow,exports.ExpandableTableRow=xo.ExpandableTableRow,exports.ExpandableTableRowController=go.ExpandableTableRowController,exports.useSortableTableHeader=jo.useSortableTableHeader,exports.NavTab=bo.NavTab,exports.NavTabs=qo.NavTabs,exports.Tabs=Io.Tabs,exports.TabList=To.TabList,exports.Tab=ko.Tab,exports.TabPanel=ho.TabPanel,exports.ErrorTag=Co.ErrorTag,exports.InfoTag=Co.InfoTag,exports.SuccessTag=Co.SuccessTag,exports.Tag=Co.Tag,exports.WarningTag=Co.WarningTag,exports.BaseTextArea=So.BaseTextArea,exports.BaseTextInput=vo.BaseTextInput,exports.TextArea=Mo.TextArea,exports.TextInput=Lo.TextInput,exports.ToastProvider=fo.ToastProvider,exports.useToast=fo.useToast,exports.ToggleSwitch=Ao.ToggleSwitch,exports.ToggleSlider=Eo.ToggleSlider,exports.Tooltip=Ro.Tooltip,exports.TooltipContent=Bo.TooltipContent,exports.TooltipTrigger=wo.TooltipTrigger,exports.PopupTip=Po.PopupTip,exports.ScreenReaderOnly=Fo.ScreenReaderOnly,exports.tokens=Do,exports.useAnimatedDetails=No.useAnimatedDetails,exports.useAnimatedHeight=Vo.useAnimatedHeight,exports.useAnimatedHeightBetween=yo.useAnimatedHeightBetween,exports.useAutoAnimatedHeight=Oo.useAutoAnimatedHeight,exports.useBrowserPreferences=Go.useBrowserPreferences,exports.useIntersectionObserver=Ho.useIntersectionObserver,exports.useLocalStorage=Wo.useLocalStorage,exports.useMutationObserver=Uo.useMutationObserver,exports.usePreviousValue=Ko.usePreviousValue,exports.useProgressiveImg=Xo.useProgressiveImg,exports.useScreen=_o.useScreen,exports.useScrollIntoView=zo.useScrollIntoView,exports.useAriaLiveRegion=Qo.useAriaLiveRegion,exports.useClickOutside=Jo.useClickOutside,exports.useFocusOutside=Yo.useFocusOutside,exports.useElementDimensions=Zo.useElementDimensions,exports.useId=$o.useId,exports.useKeyListener=er.useKeyListener,exports.useListNavigation=or.useListNavigation,exports.useSwipeGesture=rr.useSwipeGesture,exports.unicode=sr.unicode,exports.formatNumber=tr.formatNumber,exports.parseNumber=nr.parseNumber,exports.registerWithFodselsnummerMask=ir.registerWithFodselsnummerMask,exports.registerWithKontonummerMask=ir.registerWithKontonummerMask,exports.registerWithKortnummerMask=ir.registerWithKortnummerMask,exports.registerWithMasks=ir.registerWithMasks,exports.registerWithTelefonnummerMask=ir.registerWithTelefonnummerMask,exports.formatAvstand=ar.formatAvstand,exports.formatBytes=cr.formatBytes,exports.formatDate=ur.formatDate,exports.FODSELSNUMMER_REGEX=pr.FODSELSNUMMER_REGEX,exports.formatFodselsnummer=pr.formatFodselsnummer,exports.ORGANISASJONSNUMMER_REGEX=mr.ORGANISASJONSNUMMER_REGEX,exports.formatOrganisasjonsnummer=mr.formatOrganisasjonsnummer,exports.KONTONUMMER_REGEX=lr.KONTONUMMER_REGEX,exports.formatKontonummer=lr.formatKontonummer,exports.KORTNUMMER_REGEX=xr.KORTNUMMER_REGEX,exports.formatKortnummer=xr.formatKortnummer,exports.TELEFONNUMMER_REGEX=dr.TELEFONNUMMER_REGEX,exports.formatTelefonnummer=dr.formatTelefonnummer,exports.formatValuta=gr.formatValuta,exports.getThemeAndDensity=jr.getThemeAndDensity,exports.mergeProps=br.mergeProps,exports.mergeRefs=qr.mergeRefs,exports.SlotComponent=Ir.SlotComponent,exports.isValidEpost=Tr.isValidEpost,exports.isValidTelefonnummer=kr.isValidTelefonnummer,exports.isValidRegistreringsnummer=hr.isValidRegistreringsnummer,exports.isValidChassisnummer=Cr.isValidChassisnummer,exports.isValidDogId=Sr.isValidDogId,exports.isExactLength=vr.isExactLength,exports.isInteger=Mr.isInteger,exports.isValidFodselsnummer=Lr.isValidFodselsnummer,exports.isValidOrganisasjonsnummer=fr.isValidOrganisasjonsnummer,exports.isValidName=Ar.isValidName,exports.hasMinimumWords=Er.hasMinimumWords,exports.hasNoIllegalCharacters=Rr.hasNoIllegalCharacters,exports.initTabListener=Br.initTabListener,exports.getValuePair=wr.getValuePair;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/accordion/Accordion.cjs"),o=require("./components/accordion/AccordionItem.cjs"),r=require("./components/breadcrumb/Breadcrumb.cjs"),s=require("./components/breadcrumb/BreadcrumbItem.cjs"),t=require("./components/button/Button.cjs"),n=require("./components/card/Card.cjs"),i=require("./components/card/CardImage.cjs"),a=require("./components/card/NavCard.cjs"),c=require("./components/card/TaskCard.cjs"),u=require("./components/card/InfoCard.cjs"),p=require("./components/checkbox/Checkbox.cjs"),m=require("./components/combobox/Combobox.cjs"),l=require("./components/cookie-consent/CookieConsent.cjs"),x=require("./components/cookie-consent/CookieConsentContext.cjs"),d=require("./components/datepicker/DatePicker.cjs"),g=require("./components/datepicker/validation.cjs"),j=require("./components/datepicker/utils.cjs"),b=require("./components/feedback/Feedback.cjs"),q=require("./components/feedback/presets.cjs"),I=require("./components/flex/Flex.cjs"),T=require("./components/description-list/DescriptionList.cjs"),k=require("./components/expander/Expander.cjs"),C=require("./components/expander/ExpandSection.cjs"),h=require("./components/icon/Icon.cjs"),S=require("./components/icon/icons/animated/ArrowVerticalAnimated.cjs"),v=require("./components/icon/icons/animated/ArrowHorizontalAnimated.cjs"),M=require("./components/icon/icons/animated/PlusRemoveAnimated.cjs"),L=require("./components/icon/icons/ArrowDownIcon.cjs"),f=require("./components/icon/icons/ArrowLeftIcon.cjs"),A=require("./components/icon/icons/ArrowNorthEastIcon.cjs"),E=require("./components/icon/icons/ArrowRightIcon.cjs"),R=require("./components/icon/icons/ArrowUpIcon.cjs"),B=require("./components/icon/icons/CalendarIcon.cjs"),P=require("./components/icon/icons/CheckIcon.cjs"),w=require("./components/icon/icons/ChevronDownIcon.cjs"),F=require("./components/icon/icons/ChevronLeftIcon.cjs"),D=require("./components/icon/icons/ChevronRightIcon.cjs"),N=require("./components/icon/icons/ChevronUpIcon.cjs"),V=require("./components/icon/icons/CloseIcon.cjs"),y=require("./components/icon/icons/CopyIcon.cjs"),O=require("./components/icon/icons/DotsIcon.cjs"),G=require("./components/icon/icons/DragIcon.cjs"),H=require("./components/icon/icons/ErrorIcon.cjs"),W=require("./components/icon/icons/GreenCheckIcon.cjs"),U=require("./components/icon/icons/HamburgerIcon.cjs"),K=require("./components/icon/icons/InfoIcon.cjs"),X=require("./components/icon/icons/LinkIcon.cjs"),_=require("./components/icon/icons/PlusIcon.cjs"),z=require("./components/icon/icons/QuestionIcon.cjs"),Q=require("./components/icon/icons/RedCrossIcon.cjs"),J=require("./components/icon/icons/SearchIcon.cjs"),Y=require("./components/icon/icons/SuccessIcon.cjs"),Z=require("./components/icon/icons/WarningIcon.cjs"),$=require("./components/icon/icons/MinusIcon.cjs"),ee=require("./components/icon/icons/ThumbDownIcon.cjs"),oe=require("./components/icon/icons/ThumbUpIcon.cjs"),re=require("./components/icon/icons/TrashCanIcon.cjs"),se=require("./components/icon/icons/PenIcon.cjs"),te=require("./components/icon-button/IconButton.cjs"),ne=require("./components/image/Image.cjs"),ie=require("./components/input-group/FieldGroup.cjs"),ae=require("./components/input-group/InputGroup.cjs"),ce=require("./components/input-group/Label.cjs"),ue=require("./components/input-group/SupportLabel.cjs"),pe=require("./components/input-panel/CheckboxPanel.cjs"),me=require("./components/input-panel/RadioPanel.cjs"),le=require("./components/input-panel/RadioPanelGroup.cjs"),xe=require("./components/link/Link.cjs"),de=require("./components/link/NavLink.cjs"),ge=require("./components/link-list/LinkList.cjs"),je=require("./components/list/List.cjs"),be=require("./components/list/ListItem.cjs"),qe=require("./components/loader/Loader.cjs"),Ie=require("./components/loader/skeletons/SkeletonAnimation.cjs"),Te=require("./components/loader/skeletons/SkeletonButton.cjs"),ke=require("./components/loader/skeletons/SkeletonCheckboxGroup.cjs"),Ce=require("./components/loader/skeletons/SkeletonElement.cjs"),he=require("./components/loader/skeletons/SkeletonInput.cjs"),Se=require("./components/loader/skeletons/SkeletonRadioButtonGroup.cjs"),ve=require("./components/loader/skeletons/SkeletonTable.cjs"),Me=require("./components/loader/skeletons/SkeletonTextArea.cjs"),Le=require("./components/logo/Logo.cjs"),fe=require("./components/logo/LogoStamp.cjs"),Ae=require("./components/logo/text-paths/ForsikringLevertAvFremtind.cjs"),Ee=require("./components/logo/text-paths/FraSB1ogDNB.cjs"),Re=require("./components/logo/text-paths/InnovasjonFraFremtind.cjs"),Be=require("./components/logo/text-paths/TeknologiFraFremtind.cjs"),Pe=require("./components/logo/text-paths/VartEgetForsikringsselskap.cjs"),we=require("./components/logo/text-paths/VartForsikringsselskap.cjs"),Fe=require("./components/menu/Menu.cjs"),De=require("./components/menu/MenuItem.cjs"),Ne=require("./components/menu/MenuItemCheckbox.cjs"),Ve=require("./components/menu/MenuDivider.cjs"),ye=require("./components/message/Message.cjs"),Oe=require("./components/message/FormErrorMessage.cjs"),Ge=require("./components/modal/Modal.cjs"),He=require("./components/modal/useModal.cjs"),We=require("./components/pagination/Pagination.cjs"),Ue=require("./components/popover/Popover.cjs"),Ke=require("./components/progress-bar/Countdown.cjs"),Xe=require("./components/progress-bar/ProgressBar.cjs"),_e=require("./components/radio-button/RadioButton.cjs"),ze=require("./components/radio-button/RadioButtonGroup.cjs"),Qe=require("./components/radio-button/BaseRadioButton.cjs"),Je=require("./components/select/Select.cjs"),Ye=require("./components/select/NativeSelect.cjs"),Ze=require("./components/summary-table/SummaryTable.cjs"),$e=require("./components/summary-table/SummaryTableRow.cjs"),eo=require("./components/system-message/SystemMessage.cjs"),oo=require("./components/table/DataTable.cjs"),ro=require("./components/table/Table.cjs"),so=require("./components/table/TableBody.cjs"),to=require("./components/table/TableCaption.cjs"),no=require("./components/table/TableCell.cjs"),io=require("./components/table/TableColumn.cjs"),ao=require("./components/table/TableColumnGroup.cjs"),co=require("./components/table/tableContext.cjs"),uo=require("./components/table/tableSectionContext.cjs"),po=require("./components/table/TableFooter.cjs"),mo=require("./components/table/TableHead.cjs"),lo=require("./components/table/TableHeader.cjs"),xo=require("./components/table/TablePagination.cjs"),go=require("./components/table/TableRow.cjs"),jo=require("./components/table/ExpandableTableRow.cjs"),bo=require("./components/table/ExpandableTableRowController.cjs"),qo=require("./components/table/utils.cjs"),Io=require("./components/tabs/NavTab.cjs"),To=require("./components/tabs/NavTabs.cjs"),ko=require("./components/tabs/Tabs.cjs"),Co=require("./components/tabs/TabList.cjs"),ho=require("./components/tabs/Tab.cjs"),So=require("./components/tabs/TabPanel.cjs"),vo=require("./components/tag/Tag.cjs"),Mo=require("./components/text-input/BaseTextArea.cjs"),Lo=require("./components/text-input/BaseTextInput.cjs"),fo=require("./components/text-input/TextArea.cjs"),Ao=require("./components/text-input/TextInput.cjs"),Eo=require("./components/toast/toastContext.cjs"),Ro=require("./components/toggle-switch/ToggleSwitch.cjs"),Bo=require("./components/toggle-switch/ToggleSlider.cjs"),Po=require("./components/tooltip/Tooltip.cjs"),wo=require("./components/tooltip/TooltipContent.cjs"),Fo=require("./components/tooltip/TooltipTrigger.cjs"),Do=require("./components/tooltip/PopupTip.cjs"),No=require("./components/ScreenReaderOnly.cjs"),Vo=require("./core/tokens.cjs"),yo=require("./hooks/useAnimatedDetails/useAnimatedDetails.cjs"),Oo=require("./hooks/useAnimatedHeight/useAnimatedHeight.cjs"),Go=require("./hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs"),Ho=require("./hooks/useAnimatedHeight/useAutoAnimateHeight.cjs"),Wo=require("./hooks/useBrowserPreferences/useBrowserPreferences.cjs"),Uo=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),Ko=require("./hooks/useLocalStorage/useLocalStorage.cjs"),Xo=require("./hooks/useMutationObserver/useMutationObserver.cjs"),_o=require("./hooks/usePreviousValue/usePreviousValue.cjs"),zo=require("./hooks/useProgressiveImg/useProgressiveImg.cjs"),Qo=require("./hooks/useScreen/useScreen.cjs"),Jo=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),Yo=require("./hooks/useAriaLiveRegion/useAriaLiveRegion.cjs"),Zo=require("./hooks/useClickOutside/useClickOutside.cjs"),$o=require("./hooks/useFocusOutside/useFocusOutside.cjs"),er=require("./hooks/useElementDimensions/useElementDimensions.cjs"),or=require("./hooks/useId/useId.cjs"),rr=require("./hooks/useKeyListener/useKeyListener.cjs"),sr=require("./hooks/useListNavigation/useListNavigation.cjs"),tr=require("./hooks/useSwipeGesture/useSwipeGesture.cjs"),nr=require("../index-hKyqa1PH.cjs"),ir=require("./utilities/formatters/util/formatNumber.cjs"),ar=require("./utilities/formatters/util/parseNumber.cjs"),cr=require("./utilities/formatters/util/registerWithMask.cjs"),ur=require("./utilities/formatters/avstand/formatAvstand.cjs"),pr=require("./utilities/formatters/bytes/formatBytes.cjs"),mr=require("./utilities/formatters/date/formatDate.cjs"),lr=require("./utilities/formatters/fodselsnummer/formatFodselsnummer.cjs"),xr=require("./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.cjs"),dr=require("./utilities/formatters/kontonummer/formatKontonummer.cjs"),gr=require("./utilities/formatters/kortnummer/formatKortnummer.cjs"),jr=require("./utilities/formatters/telefonnummer/formatTelefonnummer.cjs"),br=require("./utilities/formatters/valuta/formatValuta.cjs"),qr=require("./utilities/getThemeAndDensity.cjs"),Ir=require("./utilities/polymorphism/mergeProps.cjs"),Tr=require("./utilities/polymorphism/mergeRefs.cjs"),kr=require("./utilities/polymorphism/SlotComponent.cjs"),Cr=require("./utilities/validators/isValidEpost/isValidEpost.cjs"),hr=require("./utilities/validators/isValidTelefonnummer/isValidTelefonnummer.cjs"),Sr=require("./utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.cjs"),vr=require("./utilities/validators/isValidChassisnummer/isValidChassisnummer.cjs"),Mr=require("./utilities/validators/isValidDogId/isValidDogId.cjs"),Lr=require("./utilities/validators/isExactLength/isExactLength.cjs"),fr=require("./utilities/validators/isInteger/isInteger.cjs"),Ar=require("./utilities/validators/isValidFodselsnummer/isValidFodselsnummer.cjs"),Er=require("./utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.cjs"),Rr=require("./utilities/validators/isValidName/isValidName.cjs"),Br=require("./utilities/validators/hasMinimumWords/hasMinimumWords.cjs"),Pr=require("./utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.cjs"),wr=require("./utilities/tabListener.cjs"),Fr=require("./utilities/valuePair.cjs");exports.Accordion=e.Accordion,exports.AccordionItem=o.AccordionItem,exports.Breadcrumb=r.Breadcrumb,exports.BreadcrumbItem=s.BreadcrumbItem,exports.Button=t.Button,exports.PrimaryButton=t.PrimaryButton,exports.SecondaryButton=t.SecondaryButton,exports.TertiaryButton=t.TertiaryButton,exports.Card=n.Card,exports.CardImage=i.CardImage,exports.InfoBlock=a.InfoBlock,exports.NavCard=a.NavCard,exports.TaskCard=c.TaskCard,exports.InfoCard=u.InfoCard,exports.Checkbox=p.Checkbox,exports.Combobox=m.Combobox,exports.getComboboxValuePair=m.getComboboxValuePair,exports.CookieConsent=l.CookieConsent,exports.CookieConsentProvider=x.CookieConsentProvider,exports.useCookieConsent=x.useCookieConsent,exports.DatePicker=d.DatePicker,exports.isCorrectFormat=g.isCorrectFormat,exports.isWithinLowerBound=g.isWithinLowerBound,exports.isWithinUpperBound=g.isWithinUpperBound,exports.formatInput=j.formatInput,exports.isBlurTargetOutside=j.isBlurTargetOutside,exports.parseDateString=j.parseDateString,exports.Feedback=b.Feedback,exports.PRESETS=q.PRESETS,exports.Flex=I.Flex,exports.DescriptionDetail=T.DescriptionDetail,exports.DescriptionList=T.DescriptionList,exports.DescriptionTerm=T.DescriptionTerm,exports.Expander=k.Expander,exports.ExpandSection=C.ExpandSection,exports.Icon=h.Icon,exports.ArrowVerticalAnimated=S.ArrowVerticalAnimated,exports.ArrowHorizontalAnimated=v.ArrowHorizontalAnimated,exports.PlusRemoveAnimated=M.PlusRemoveAnimated,exports.ArrowDownIcon=L.ArrowDownIcon,exports.ArrowLeftIcon=f.ArrowLeftIcon,exports.ArrowNorthEastIcon=A.ArrowNorthEastIcon,exports.ArrowRightIcon=E.ArrowRightIcon,exports.ArrowUpIcon=R.ArrowUpIcon,exports.CalendarIcon=B.CalendarIcon,exports.CheckIcon=P.CheckIcon,exports.ChevronDownIcon=w.ChevronDownIcon,exports.ChevronLeftIcon=F.ChevronLeftIcon,exports.ChevronRightIcon=D.ChevronRightIcon,exports.ChevronUpIcon=N.ChevronUpIcon,exports.CloseIcon=V.CloseIcon,exports.CopyIcon=y.CopyIcon,exports.DotsIcon=O.DotsIcon,exports.DragIcon=G.DragIcon,exports.ErrorIcon=H.ErrorIcon,exports.GreenCheckIcon=W.GreenCheckIcon,exports.HamburgerIcon=U.HamburgerIcon,exports.InfoIcon=K.InfoIcon,exports.LinkIcon=X.LinkIcon,exports.PlusIcon=_.PlusIcon,exports.QuestionIcon=z.QuestionIcon,exports.RedCrossIcon=Q.RedCrossIcon,exports.SearchIcon=J.SearchIcon,exports.SuccessIcon=Y.SuccessIcon,exports.WarningIcon=Z.WarningIcon,exports.MinusIcon=$.MinusIcon,exports.ThumbDownIcon=ee.ThumbDownIcon,exports.ThumbUpIcon=oe.ThumbUpIcon,exports.TrashCanIcon=re.TrashCanIcon,exports.PenIcon=se.PenIcon,exports.IconButton=te.IconButton,exports.Image=ne.Image,exports.FieldGroup=ie.FieldGroup,exports.InputGroup=ae.InputGroup,exports.Label=ce.Label,exports.SupportLabel=ue.SupportLabel,exports.CheckboxPanel=pe.CheckboxPanel,exports.RadioPanel=me.RadioPanel,exports.RadioPanelGroup=le.RadioPanelGroup,exports.Link=xe.Link,exports.NavLink=de.NavLink,exports.LinkList=ge.LinkList,exports.List=je.List,exports.OrderedList=je.OrderedList,exports.UnorderedList=je.UnorderedList,exports.CheckListItem=be.CheckListItem,exports.CrossListItem=be.CrossListItem,exports.ListItem=be.ListItem,exports.Loader=qe.Loader,exports.SkeletonAnimation=Ie.SkeletonAnimation,exports.SkeletonButton=Te.SkeletonButton,exports.SkeletonCheckboxGroup=ke.SkeletonCheckboxGroup,exports.SkeletonElement=Ce.SkeletonElement,exports.SkeletonInput=he.SkeletonInput,exports.SkeletonRadioButtonGroup=Se.SkeletonRadioButtonGroup,exports.SkeletonTable=ve.SkeletonTable,exports.SkeletonTableHeader=ve.SkeletonTableHeader,exports.SkeletonTableRow=ve.SkeletonTableRow,exports.SkeletonTextArea=Me.SkeletonTextArea,exports.Logo=Le.Logo,exports.LogoStamp=fe.LogoStamp,exports.ForsikringLevertAvFremtind=Ae.ForsikringLevertAvFremtind,exports.FraSB1ogDNB=Ee.FraSB1ogDNB,exports.InnovasjonFraFremtind=Re.InnovasjonFraFremtind,exports.TeknologiFraFremtind=Be.TeknologiFraFremtind,exports.VartEgetForsikringsselskap=Pe.VartEgetForsikringsselskap,exports.VartForsikringsselskap=we.VartForsikringsselskap,exports.Menu=Fe.Menu,exports.MenuItem=De.MenuItem,exports.MenuItemCheckbox=Ne.MenuItemCheckbox,exports.MenuDivider=Ve.MenuDivider,exports.ErrorMessage=ye.ErrorMessage,exports.InfoMessage=ye.InfoMessage,exports.SuccessMessage=ye.SuccessMessage,exports.WarningMessage=ye.WarningMessage,exports.FormErrorMessage=Oe.FormErrorMessage,exports.Modal=Ge.Modal,exports.ModalActions=Ge.ModalActions,exports.ModalBody=Ge.ModalBody,exports.ModalCloseButton=Ge.ModalCloseButton,exports.ModalContainer=Ge.ModalContainer,exports.ModalHeader=Ge.ModalHeader,exports.ModalOverlay=Ge.ModalOverlay,exports.ModalTitle=Ge.ModalTitle,exports.useModal=He.useModal,exports.Pagination=We.Pagination,exports.Popover=Ue.Popover,exports.Countdown=Ke.Countdown,exports.ProgressBar=Xe.ProgressBar,exports.RadioButton=_e.RadioButton,exports.RadioButtonGroup=ze.RadioButtonGroup,exports.BaseRadioButton=Qe.BaseRadioButton,exports.Select=Je.Select,exports.NativeSelect=Ye.NativeSelect,exports.SummaryTable=Ze.SummaryTable,exports.SummaryTableRow=$e.SummaryTableRow,exports.ErrorSystemMessage=eo.ErrorSystemMessage,exports.InfoSystemMessage=eo.InfoSystemMessage,exports.SuccessSystemMessage=eo.SuccessSystemMessage,exports.WarningSystemMessage=eo.WarningSystemMessage,exports.DataTable=oo.DataTable,exports.Table=ro.Table,exports.TableBody=so.TableBody,exports.TableCaption=to.TableCaption,exports.TableCell=no.TableCell,exports.TableColumn=io.TableColumn,exports.TableColumnGroup=ao.TableColumnGroup,exports.TableContextProvider=co.TableContextProvider,exports.useTableContext=co.useTableContext,exports.TableSectionContextProvider=uo.TableSectionContextProvider,exports.useTableSectionContext=uo.useTableSectionContext,exports.TableFooter=po.TableFooter,exports.TableHead=mo.TableHead,exports.TableHeader=lo.TableHeader,exports.TablePagination=xo.TablePagination,exports.TableRow=go.TableRow,exports.ExpandableTableRow=jo.ExpandableTableRow,exports.ExpandableTableRowController=bo.ExpandableTableRowController,exports.useSortableTableHeader=qo.useSortableTableHeader,exports.NavTab=Io.NavTab,exports.NavTabs=To.NavTabs,exports.Tabs=ko.Tabs,exports.TabList=Co.TabList,exports.Tab=ho.Tab,exports.TabPanel=So.TabPanel,exports.ErrorTag=vo.ErrorTag,exports.InfoTag=vo.InfoTag,exports.SuccessTag=vo.SuccessTag,exports.Tag=vo.Tag,exports.WarningTag=vo.WarningTag,exports.BaseTextArea=Mo.BaseTextArea,exports.BaseTextInput=Lo.BaseTextInput,exports.TextArea=fo.TextArea,exports.TextInput=Ao.TextInput,exports.ToastProvider=Eo.ToastProvider,exports.useToast=Eo.useToast,exports.ToggleSwitch=Ro.ToggleSwitch,exports.ToggleSlider=Bo.ToggleSlider,exports.Tooltip=Po.Tooltip,exports.TooltipContent=wo.TooltipContent,exports.TooltipTrigger=Fo.TooltipTrigger,exports.PopupTip=Do.PopupTip,exports.ScreenReaderOnly=No.ScreenReaderOnly,exports.tokens=Vo,exports.useAnimatedDetails=yo.useAnimatedDetails,exports.useAnimatedHeight=Oo.useAnimatedHeight,exports.useAnimatedHeightBetween=Go.useAnimatedHeightBetween,exports.useAutoAnimatedHeight=Ho.useAutoAnimatedHeight,exports.useBrowserPreferences=Wo.useBrowserPreferences,exports.useIntersectionObserver=Uo.useIntersectionObserver,exports.useLocalStorage=Ko.useLocalStorage,exports.useMutationObserver=Xo.useMutationObserver,exports.usePreviousValue=_o.usePreviousValue,exports.useProgressiveImg=zo.useProgressiveImg,exports.useScreen=Qo.useScreen,exports.useScrollIntoView=Jo.useScrollIntoView,exports.useAriaLiveRegion=Yo.useAriaLiveRegion,exports.useClickOutside=Zo.useClickOutside,exports.useFocusOutside=$o.useFocusOutside,exports.useElementDimensions=er.useElementDimensions,exports.useId=or.useId,exports.useKeyListener=rr.useKeyListener,exports.useListNavigation=sr.useListNavigation,exports.useSwipeGesture=tr.useSwipeGesture,exports.unicode=nr.unicode,exports.formatNumber=ir.formatNumber,exports.parseNumber=ar.parseNumber,exports.registerWithFodselsnummerMask=cr.registerWithFodselsnummerMask,exports.registerWithKontonummerMask=cr.registerWithKontonummerMask,exports.registerWithKortnummerMask=cr.registerWithKortnummerMask,exports.registerWithMasks=cr.registerWithMasks,exports.registerWithTelefonnummerMask=cr.registerWithTelefonnummerMask,exports.formatAvstand=ur.formatAvstand,exports.formatBytes=pr.formatBytes,exports.formatDate=mr.formatDate,exports.FODSELSNUMMER_REGEX=lr.FODSELSNUMMER_REGEX,exports.formatFodselsnummer=lr.formatFodselsnummer,exports.ORGANISASJONSNUMMER_REGEX=xr.ORGANISASJONSNUMMER_REGEX,exports.formatOrganisasjonsnummer=xr.formatOrganisasjonsnummer,exports.KONTONUMMER_REGEX=dr.KONTONUMMER_REGEX,exports.formatKontonummer=dr.formatKontonummer,exports.KORTNUMMER_REGEX=gr.KORTNUMMER_REGEX,exports.formatKortnummer=gr.formatKortnummer,exports.TELEFONNUMMER_REGEX=jr.TELEFONNUMMER_REGEX,exports.formatTelefonnummer=jr.formatTelefonnummer,exports.formatValuta=br.formatValuta,exports.getThemeAndDensity=qr.getThemeAndDensity,exports.mergeProps=Ir.mergeProps,exports.mergeRefs=Tr.mergeRefs,exports.SlotComponent=kr.SlotComponent,exports.isValidEpost=Cr.isValidEpost,exports.isValidTelefonnummer=hr.isValidTelefonnummer,exports.isValidRegistreringsnummer=Sr.isValidRegistreringsnummer,exports.isValidChassisnummer=vr.isValidChassisnummer,exports.isValidDogId=Mr.isValidDogId,exports.isExactLength=Lr.isExactLength,exports.isInteger=fr.isInteger,exports.isValidFodselsnummer=Ar.isValidFodselsnummer,exports.isValidOrganisasjonsnummer=Er.isValidOrganisasjonsnummer,exports.isValidName=Rr.isValidName,exports.hasMinimumWords=Br.hasMinimumWords,exports.hasNoIllegalCharacters=Pr.hasNoIllegalCharacters,exports.initTabListener=wr.initTabListener,exports.getValuePair=Fr.getValuePair;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,2 @@
1
- export type { BreadcrumbProps } from './Breadcrumb.js';
2
- export { Breadcrumb } from './Breadcrumb.js';
3
- export type { BreadcrumbItemProps } from './BreadcrumbItem.js';
4
- export { BreadcrumbItem } from './BreadcrumbItem.js';
1
+ export { Breadcrumb, type BreadcrumbProps } from './Breadcrumb.js';
2
+ export { BreadcrumbItem, type BreadcrumbItemProps } from './BreadcrumbItem.js';
@@ -1,2 +1,2 @@
1
1
  export { Button, PrimaryButton, SecondaryButton, TertiaryButton, } from './Button.js';
2
- export type { ButtonProps, ButtonVariant } from './types.js';
2
+ export type { ButtonProps, ButtonVariant, IconOptions, IconPosition, } from './types.js';
@@ -3,7 +3,7 @@ import { PolymorphicPropsWithRef } from '../../utilities/polymorphism/polymorphi
3
3
  export declare const buttonVariants: readonly ["primary", "secondary", "tertiary", "ghost"];
4
4
  export type ButtonVariant = (typeof buttonVariants)[number];
5
5
  export type IconPosition = "left" | "right";
6
- type IconOptions<T extends React.ElementType> = {
6
+ export type IconOptions<T extends React.ElementType> = {
7
7
  iconPosition?: never;
8
8
  icon?: never;
9
9
  children: React.ComponentPropsWithoutRef<T>["children"];
@@ -40,4 +40,3 @@ export type ButtonProps<ElementType extends React.ElementType> = PolymorphicProp
40
40
  iconRight?: React.ReactNode;
41
41
  } & IconOptions<ElementType>>;
42
42
  export type ButtonComponent = <ElementType extends React.ElementType = "button">(props: ButtonProps<ElementType>) => React.ReactElement | null;
43
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/button/types.ts"],"sourcesContent":["import { Density } from \"../../core/types.js\";\nimport { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const buttonVariants = [\n \"primary\",\n \"secondary\",\n \"tertiary\",\n \"ghost\",\n] as const;\nexport type ButtonVariant = (typeof buttonVariants)[number];\nexport type IconPosition = \"left\" | \"right\";\n\ntype IconOptions<T extends React.ElementType> =\n // Hvis ikke knappen har ikon, MÅ den ha children:\n | {\n iconPosition?: never;\n icon?: never;\n children: React.ComponentPropsWithoutRef<T>[\"children\"];\n }\n | {\n /**\n * Plasseringen av ikonet\n * @default \"left\"\n */\n iconPosition?: IconPosition;\n /**\n * Hvilket ikon som skal vises i knappen\n */\n icon: React.ReactElement;\n };\n\nexport type ButtonProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<\n ElementType,\n {\n density?: Density;\n /**\n * Hvilken variant av knappen skal vises\n * @default \"secondary\"\n */\n variant?: ButtonVariant;\n className?: string;\n loader?: {\n showLoader: boolean;\n textDescription: string;\n };\n /**\n * @deprecated Bruk `icon` i kombinasjon med `iconPosition=\"left\"`\n */\n iconLeft?: React.ReactNode;\n /**\n * @deprecated Bruk `icon` i kombinasjon med `iconPosition=\"right\"`\n */\n iconRight?: React.ReactNode;\n } & IconOptions<ElementType>\n >;\n\nexport type ButtonComponent = <\n ElementType extends React.ElementType = \"button\",\n>(\n props: ButtonProps<ElementType>,\n) => React.ReactElement | null;\n"],"names":["buttonVariants"],"mappings":"AAGO,MAAMA,EAAiB,CAC1B,UACA,YACA,WACA"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/button/types.ts"],"sourcesContent":["import { Density } from \"../../core/types.js\";\nimport { PolymorphicPropsWithRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport const buttonVariants = [\n \"primary\",\n \"secondary\",\n \"tertiary\",\n \"ghost\",\n] as const;\nexport type ButtonVariant = (typeof buttonVariants)[number];\nexport type IconPosition = \"left\" | \"right\";\n\nexport type IconOptions<T extends React.ElementType> =\n // Hvis ikke knappen har ikon, MÅ den ha children:\n | {\n iconPosition?: never;\n icon?: never;\n children: React.ComponentPropsWithoutRef<T>[\"children\"];\n }\n | {\n /**\n * Plasseringen av ikonet\n * @default \"left\"\n */\n iconPosition?: IconPosition;\n /**\n * Hvilket ikon som skal vises i knappen\n */\n icon: React.ReactElement;\n };\n\nexport type ButtonProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<\n ElementType,\n {\n density?: Density;\n /**\n * Hvilken variant av knappen skal vises\n * @default \"secondary\"\n */\n variant?: ButtonVariant;\n className?: string;\n loader?: {\n showLoader: boolean;\n textDescription: string;\n };\n /**\n * @deprecated Bruk `icon` i kombinasjon med `iconPosition=\"left\"`\n */\n iconLeft?: React.ReactNode;\n /**\n * @deprecated Bruk `icon` i kombinasjon med `iconPosition=\"right\"`\n */\n iconRight?: React.ReactNode;\n } & IconOptions<ElementType>\n >;\n\nexport type ButtonComponent = <\n ElementType extends React.ElementType = \"button\",\n>(\n props: ButtonProps<ElementType>,\n) => React.ReactElement | null;\n"],"names":["buttonVariants"],"mappings":"AAGO,MAAMA,EAAiB,CAC1B,UACA,YACA,WACA"}
@@ -1,20 +1,12 @@
1
1
  import { AnchorHTMLAttributes, ElementType, FC } from 'react';
2
2
  import { Density, WithChildren } from '../../core/types.js';
3
3
  import { ImageProps } from '../image/Image.js';
4
- import { PaddingOptions } from './types.js';
5
- export type TagType = "success" | "warning" | "info" | "error";
4
+ import { CardTag, PaddingOptions } from './types.js';
6
5
  /**
7
6
  * Bruk denne komponenten for å legge til ekstra informasjon i NavCard.
8
7
  * Innholdet blir rendret med skillelinje, og tekststil "small"
9
8
  */
10
9
  export declare const InfoBlock: FC<WithChildren>;
11
- interface CardTag {
12
- /**
13
- * @default <none> Rendres som nøytral tag
14
- */
15
- type?: TagType;
16
- text: string;
17
- }
18
10
  export interface NavCardProps extends PaddingOptions, AnchorHTMLAttributes<HTMLAnchorElement> {
19
11
  tag?: CardTag | Array<CardTag>;
20
12
  title: string;
@@ -32,4 +24,3 @@ export interface NavCardProps extends PaddingOptions, AnchorHTMLAttributes<HTMLA
32
24
  density?: Density;
33
25
  }
34
26
  export declare const NavCard: FC<NavCardProps>;
35
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"NavCard.js","sources":["../../../../src/components/card/NavCard.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { AnchorHTMLAttributes, ElementType, FC } from \"react\";\nimport { Density, WithChildren } from \"../../core/types.js\";\nimport { Image, ImageProps } from \"../image/Image.js\";\nimport {\n ErrorTag,\n InfoTag,\n SuccessTag,\n Tag,\n TagProps,\n WarningTag,\n} from \"../tag/Tag.js\";\nimport { PaddingOptions } from \"./types.js\";\nimport { getPaddingStyles } from \"./utils.js\";\n\nexport type TagType = \"success\" | \"warning\" | \"info\" | \"error\";\n\n/**\n * Bruk denne komponenten for å legge til ekstra informasjon i NavCard.\n * Innholdet blir rendret med skillelinje, og tekststil \"small\"\n */\nexport const InfoBlock: FC<WithChildren> = ({ children }) => (\n <div className=\"jkl-nav-card__info\">{children}</div>\n);\n\ninterface CardTag {\n /**\n * @default <none> Rendres som nøytral tag\n */\n type?: TagType;\n text: string;\n}\n\nexport interface NavCardProps\n extends PaddingOptions,\n AnchorHTMLAttributes<HTMLAnchorElement> {\n tag?: CardTag | Array<CardTag>;\n title: string;\n href?: string;\n to?: string;\n external?: boolean;\n description?: string;\n image?: Omit<ImageProps, \"className\">;\n className?: string;\n /**\n * Overstyr hvilken komponent som skal brukes, for eksempel hvis du har en Link-komponent fra en router.\n * @default \"a\"\n */\n component?: ElementType;\n density?: Density;\n}\n\nconst getTag = (type?: TagType) => {\n switch (type) {\n case \"info\":\n return InfoTag;\n case \"success\":\n return SuccessTag;\n case \"warning\":\n return WarningTag;\n case \"error\":\n return ErrorTag;\n default:\n return Tag;\n }\n};\nconst NavCardTag = ({\n text,\n type,\n density,\n}: CardTag & Pick<TagProps, \"density\">) => {\n const CardTag = getTag(type);\n return <CardTag density={density}>{text}</CardTag>;\n};\n\nexport const NavCard: FC<NavCardProps> = React.forwardRef<\n HTMLAnchorElement,\n NavCardProps\n>((props, ref) => {\n const {\n component = \"a\",\n padding = \"l\",\n image,\n tag,\n title,\n external,\n description,\n children,\n className,\n density,\n ...rest\n } = props;\n\n const Component = component;\n\n const tagArr = !tag ? undefined : Array.isArray(tag) ? tag : [tag];\n\n return (\n <Component\n ref={ref}\n aria-label={title}\n className={clsx(\"jkl-nav-card\", className)}\n data-density={density}\n {...rest}\n >\n {image && <Image className=\"jkl-nav-card__image\" {...image} />}\n <div\n className=\"jkl-nav-card__content\"\n style={getPaddingStyles(padding)}\n >\n {tagArr && (\n <div className=\"jkl-nav-card__tag-wrapper\">\n {tagArr.map((t, index) => (\n <NavCardTag\n type={t.type}\n text={t.text}\n key={index}\n />\n ))}\n </div>\n )}\n <div>\n <p\n className={clsx(\n \"jkl-nav-card__link\",\n external ? \"jkl-nav-card__link--external\" : \"\",\n )}\n >\n {title}\n </p>\n {description && (\n <p className=\"jkl-nav-card__description jkl-spacing-xs--top\">\n {description}\n </p>\n )}\n </div>\n {children}\n </div>\n </Component>\n );\n});\n\nNavCard.displayName = \"NavCard\";\n"],"names":["InfoBlock","children","jsx","className","NavCardTag","text","type","density","CardTag","InfoTag","SuccessTag","WarningTag","ErrorTag","Tag","getTag","NavCard","React","forwardRef","props","ref","component","padding","image","tag","title","external","description","rest","Component","tagArr","Array","isArray","jsxs","clsx","Image","style","getPaddingStyles","map","t","index","displayName"],"mappings":"4SAqBa,MAAAA,EAA8B,EAAGC,SAAAA,KACzCC,EAAA,MAAA,CAAIC,UAAU,qBAAsBF,SAAAA,IA4CnCG,EAAa,EACfC,KAAAA,EACAC,KAAAA,EACAC,QAAAA,MAEMC,MAAAA,EAnBK,CAACF,IACZ,OAAQA,GACJ,IAAK,OACMG,OAAAA,EACX,IAAK,UACMC,OAAAA,EACX,IAAK,UACMC,OAAAA,EACX,IAAK,QACMC,OAAAA,EACX,QACWC,OAAAA,EACf,EAOgBC,CAAOR,GAChB,OAAAJ,EAACM,EAAQ,CAAAD,QAAAA,EAAmBN,SAAKI,GAAA,EAG/BU,EAA4BC,EAAMC,YAG7C,CAACC,EAAOC,KACA,MACFC,UAAAA,EAAY,IACZC,QAAAA,EAAU,IACVC,MAAAA,EACAC,IAAAA,EACAC,MAAAA,EACAC,SAAAA,EACAC,YAAAA,EACAzB,SAAAA,EACAE,UAAAA,EACAI,QAAAA,KACGoB,GACHT,EAEEU,EAAYR,EAEZS,EAAUN,EAAkBO,MAAMC,QAAQR,GAAOA,EAAM,CAACA,QAAxC,EAGlB,OAAAS,EAACJ,EAAA,CACGT,IAAAA,EACA,aAAYK,EACZrB,UAAW8B,EAAK,eAAgB9B,GAChC,eAAcI,KACVoB,EAEH1B,SAAA,CAAAqB,GAAUpB,EAAAgC,EAAA,CAAM/B,UAAU,yBAA0BmB,IACrDU,EAAC,MAAA,CACG7B,UAAU,wBACVgC,MAAOC,EAAiBf,GAEvBpB,SAAA,CACG4B,GAAA3B,EAAC,OAAIC,UAAU,4BACVF,WAAOoC,KAAI,CAACC,EAAGC,IACZrC,EAACE,EAAA,CACGE,KAAMgC,EAAEhC,KACRD,KAAMiC,EAAEjC,MACHkC,SAKpB,MACG,CAAAtC,SAAA,CAAAC,EAAC,IAAA,CACGC,UAAW8B,EACP,qBACAR,EAAW,+BAAiC,IAG/CxB,SAAAuB,IAEJE,GACGxB,EAAC,IAAE,CAAAC,UAAU,gDACRF,SACLyB,OAGPzB,OACL,IAKZc,EAAQyB,YAAc"}
1
+ {"version":3,"file":"NavCard.js","sources":["../../../../src/components/card/NavCard.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { AnchorHTMLAttributes, ElementType, FC } from \"react\";\nimport { Density, WithChildren } from \"../../core/types.js\";\nimport { Image, ImageProps } from \"../image/Image.js\";\nimport {\n ErrorTag,\n InfoTag,\n SuccessTag,\n Tag,\n TagProps,\n WarningTag,\n} from \"../tag/Tag.js\";\nimport { CardTag, PaddingOptions, TagType } from \"./types.js\";\nimport { getPaddingStyles } from \"./utils.js\";\n\n/**\n * Bruk denne komponenten for å legge til ekstra informasjon i NavCard.\n * Innholdet blir rendret med skillelinje, og tekststil \"small\"\n */\nexport const InfoBlock: FC<WithChildren> = ({ children }) => (\n <div className=\"jkl-nav-card__info\">{children}</div>\n);\n\nexport interface NavCardProps\n extends PaddingOptions,\n AnchorHTMLAttributes<HTMLAnchorElement> {\n tag?: CardTag | Array<CardTag>;\n title: string;\n href?: string;\n to?: string;\n external?: boolean;\n description?: string;\n image?: Omit<ImageProps, \"className\">;\n className?: string;\n /**\n * Overstyr hvilken komponent som skal brukes, for eksempel hvis du har en Link-komponent fra en router.\n * @default \"a\"\n */\n component?: ElementType;\n density?: Density;\n}\n\nconst getTag = (type?: TagType) => {\n switch (type) {\n case \"info\":\n return InfoTag;\n case \"success\":\n return SuccessTag;\n case \"warning\":\n return WarningTag;\n case \"error\":\n return ErrorTag;\n default:\n return Tag;\n }\n};\nconst NavCardTag = ({\n text,\n type,\n density,\n}: CardTag & Pick<TagProps, \"density\">) => {\n const CardTag = getTag(type);\n return <CardTag density={density}>{text}</CardTag>;\n};\n\nexport const NavCard: FC<NavCardProps> = React.forwardRef<\n HTMLAnchorElement,\n NavCardProps\n>((props, ref) => {\n const {\n component = \"a\",\n padding = \"l\",\n image,\n tag,\n title,\n external,\n description,\n children,\n className,\n density,\n ...rest\n } = props;\n\n const Component = component;\n\n const tagArr = !tag ? undefined : Array.isArray(tag) ? tag : [tag];\n\n return (\n <Component\n ref={ref}\n aria-label={title}\n className={clsx(\"jkl-nav-card\", className)}\n data-density={density}\n {...rest}\n >\n {image && <Image className=\"jkl-nav-card__image\" {...image} />}\n <div\n className=\"jkl-nav-card__content\"\n style={getPaddingStyles(padding)}\n >\n {tagArr && (\n <div className=\"jkl-nav-card__tag-wrapper\">\n {tagArr.map((t, index) => (\n <NavCardTag\n type={t.type}\n text={t.text}\n key={index}\n />\n ))}\n </div>\n )}\n <div>\n <p\n className={clsx(\n \"jkl-nav-card__link\",\n external ? \"jkl-nav-card__link--external\" : \"\",\n )}\n >\n {title}\n </p>\n {description && (\n <p className=\"jkl-nav-card__description jkl-spacing-xs--top\">\n {description}\n </p>\n )}\n </div>\n {children}\n </div>\n </Component>\n );\n});\n\nNavCard.displayName = \"NavCard\";\n"],"names":["InfoBlock","children","jsx","className","NavCardTag","text","type","density","CardTag","InfoTag","SuccessTag","WarningTag","ErrorTag","Tag","getTag","NavCard","React","forwardRef","props","ref","component","padding","image","tag","title","external","description","rest","Component","tagArr","Array","isArray","jsxs","clsx","Image","style","getPaddingStyles","map","t","index","displayName"],"mappings":"4SAmBa,MAAAA,EAA8B,EAAGC,SAAAA,KACzCC,EAAA,MAAA,CAAIC,UAAU,qBAAsBF,SAAAA,IAoCnCG,EAAa,EACfC,KAAAA,EACAC,KAAAA,EACAC,QAAAA,MAEMC,MAAAA,EAnBK,CAACF,IACZ,OAAQA,GACJ,IAAK,OACMG,OAAAA,EACX,IAAK,UACMC,OAAAA,EACX,IAAK,UACMC,OAAAA,EACX,IAAK,QACMC,OAAAA,EACX,QACWC,OAAAA,EACf,EAOgBC,CAAOR,GACfE,OAAAA,EAAAA,EAAA,CAAQD,QAAAA,EAAmBN,SAAKI,GAAA,EAG/BU,EAA4BC,EAAMC,YAG7C,CAACC,EAAOC,KACA,MACFC,UAAAA,EAAY,IACZC,QAAAA,EAAU,IACVC,MAAAA,EACAC,IAAAA,EACAC,MAAAA,EACAC,SAAAA,EACAC,YAAAA,EACAzB,SAAAA,EACAE,UAAAA,EACAI,QAAAA,KACGoB,GACHT,EAEEU,EAAYR,EAEZS,EAAUN,EAAkBO,MAAMC,QAAQR,GAAOA,EAAM,CAACA,QAAxC,EAGlB,OAAAS,EAACJ,EAAA,CACGT,IAAAA,EACA,aAAYK,EACZrB,UAAW8B,EAAK,eAAgB9B,GAChC,eAAcI,KACVoB,EAEH1B,SAAA,CAAAqB,GAAUpB,EAAAgC,EAAA,CAAM/B,UAAU,yBAA0BmB,IACrDU,EAAC,MAAA,CACG7B,UAAU,wBACVgC,MAAOC,EAAiBf,GAEvBpB,SAAA,CACG4B,GAAA3B,EAAC,OAAIC,UAAU,4BACVF,WAAOoC,KAAI,CAACC,EAAGC,IACZrC,EAACE,EAAA,CACGE,KAAMgC,EAAEhC,KACRD,KAAMiC,EAAEjC,MACHkC,SAKpB,MACG,CAAAtC,SAAA,CAAAC,EAAC,IAAA,CACGC,UAAW8B,EACP,qBACAR,EAAW,+BAAiC,IAG/CxB,SAAAuB,IAEJE,GACGxB,EAAC,IAAE,CAAAC,UAAU,gDACRF,SACLyB,OAGPzB,OACL,IAKZc,EAAQyB,YAAc"}
@@ -1,5 +1,5 @@
1
- export { Card } from './Card.js';
2
- export { CardImage } from './CardImage.js';
1
+ export { Card, type CardProps, type CardPadding, type CardVariant, } from './Card.js';
2
+ export { CardImage, type CardImageProps } from './CardImage.js';
3
3
  export { NavCard, InfoBlock, type NavCardProps } from './NavCard.js';
4
4
  export { TaskCard, type TaskCardProps } from './TaskCard.js';
5
5
  export { InfoCard, type InfoCardProps } from './InfoCard.js';
@@ -41,4 +41,12 @@ export interface PaddingOptions {
41
41
  */
42
42
  padding?: BasePadding | PaddingShorthand;
43
43
  }
44
+ export type TagType = "success" | "warning" | "info" | "error";
45
+ export type CardTag = {
46
+ /**
47
+ * @default <none> Rendres som nøytral tag
48
+ */
49
+ type?: TagType;
50
+ text: string;
51
+ };
44
52
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../src/components/card/types.ts"],"sourcesContent":["export const SPACING_STEPS = [\n \"0\",\n \"m\",\n \"l\",\n \"xl\",\n \"2xl\",\n \"3xl\",\n \"4xl\",\n] as const;\ntype SpacingSteps = typeof SPACING_STEPS;\nexport const NEW_SPACING_STEPS = [\n \"0\",\n \"16\",\n \"24\",\n \"40\",\n \"64\",\n \"104\",\n \"168\",\n] as const;\ntype NewSpacingSteps = typeof NEW_SPACING_STEPS;\nexport type BasePadding =\n | SpacingSteps[0 | 1 | 2 | 3]\n | NewSpacingSteps[0 | 1 | 2 | 3];\nexport type OldSpacingStep = SpacingSteps[number];\nexport type NewSpacingStep = NewSpacingSteps[number];\nexport type SpacingStep = SpacingSteps[number] | NewSpacingSteps[number];\n\nexport function isOldSpacingStep(value: SpacingStep): value is OldSpacingStep {\n return SPACING_STEPS.includes(value as OldSpacingStep);\n}\n\nexport interface PaddingShorthand {\n /**\n * Legger til ekstra rom i toppen av kortet, fra spacing-skalaen til Jøkul.\n * Ikke bruk ekstra topPadding sammen med tag. Verdier lavere enn for venstre og høyre padding\n * blir ignorert.\n * @default \"24\"\n */\n top?: SpacingStep;\n /**\n * Bruk stegene fra spacing-skalaen til Jøkul.\n * Hvis left og right har forskjellige verdier brukes den største for begge.\n * @default \"24\"\n */\n right?: BasePadding;\n /**\n * Legger til ekstra rom i bunnen av kortet, fra spacing-skalaen til Jøkul.\n * Verdier lavere enn for venstre og høyre padding blir ignorert.\n * @default \"24\"\n */\n bottom?: SpacingStep;\n /**\n * Bruk stegene fra spacing-skalaen til Jøkul.\n * Hvis left og right har forskjellige verdier brukes den største for begge.\n * @default \"24\"\n */\n left?: BasePadding;\n}\n\nexport interface PaddingOptions {\n /**\n * Hvor mye rom skal det være rundt innholdet i kortet?\n * @default \"24\"\n */\n padding?: BasePadding | PaddingShorthand;\n}\n"],"names":["SPACING_STEPS","NEW_SPACING_STEPS","isOldSpacingStep","value","includes"],"mappings":"AAAO,MAAMA,EAAgB,CACzB,IACA,IACA,IACA,KACA,MACA,MACA,OAGSC,EAAoB,CAC7B,IACA,KACA,KACA,KACA,KACA,MACA,OAUG,SAASC,EAAiBC,GACtBH,OAAAA,EAAcI,SAASD,EAClC"}
1
+ {"version":3,"file":"types.js","sources":["../../../../src/components/card/types.ts"],"sourcesContent":["export const SPACING_STEPS = [\n \"0\",\n \"m\",\n \"l\",\n \"xl\",\n \"2xl\",\n \"3xl\",\n \"4xl\",\n] as const;\ntype SpacingSteps = typeof SPACING_STEPS;\nexport const NEW_SPACING_STEPS = [\n \"0\",\n \"16\",\n \"24\",\n \"40\",\n \"64\",\n \"104\",\n \"168\",\n] as const;\ntype NewSpacingSteps = typeof NEW_SPACING_STEPS;\nexport type BasePadding =\n | SpacingSteps[0 | 1 | 2 | 3]\n | NewSpacingSteps[0 | 1 | 2 | 3];\nexport type OldSpacingStep = SpacingSteps[number];\nexport type NewSpacingStep = NewSpacingSteps[number];\nexport type SpacingStep = SpacingSteps[number] | NewSpacingSteps[number];\n\nexport function isOldSpacingStep(value: SpacingStep): value is OldSpacingStep {\n return SPACING_STEPS.includes(value as OldSpacingStep);\n}\n\nexport interface PaddingShorthand {\n /**\n * Legger til ekstra rom i toppen av kortet, fra spacing-skalaen til Jøkul.\n * Ikke bruk ekstra topPadding sammen med tag. Verdier lavere enn for venstre og høyre padding\n * blir ignorert.\n * @default \"24\"\n */\n top?: SpacingStep;\n /**\n * Bruk stegene fra spacing-skalaen til Jøkul.\n * Hvis left og right har forskjellige verdier brukes den største for begge.\n * @default \"24\"\n */\n right?: BasePadding;\n /**\n * Legger til ekstra rom i bunnen av kortet, fra spacing-skalaen til Jøkul.\n * Verdier lavere enn for venstre og høyre padding blir ignorert.\n * @default \"24\"\n */\n bottom?: SpacingStep;\n /**\n * Bruk stegene fra spacing-skalaen til Jøkul.\n * Hvis left og right har forskjellige verdier brukes den største for begge.\n * @default \"24\"\n */\n left?: BasePadding;\n}\n\nexport interface PaddingOptions {\n /**\n * Hvor mye rom skal det være rundt innholdet i kortet?\n * @default \"24\"\n */\n padding?: BasePadding | PaddingShorthand;\n}\n\nexport type TagType = \"success\" | \"warning\" | \"info\" | \"error\";\n\nexport type CardTag = {\n /**\n * @default <none> Rendres som nøytral tag\n */\n type?: TagType;\n text: string;\n};\n"],"names":["SPACING_STEPS","NEW_SPACING_STEPS","isOldSpacingStep","value","includes"],"mappings":"AAAO,MAAMA,EAAgB,CACzB,IACA,IACA,IACA,KACA,MACA,MACA,OAGSC,EAAoB,CAC7B,IACA,KACA,KACA,KACA,KACA,MACA,OAUG,SAASC,EAAiBC,GACtBH,OAAAA,EAAcI,SAASD,EAClC"}
@@ -8,7 +8,7 @@ export type ComboboxValuePair = ValuePair & {
8
8
  isMarked?: boolean;
9
9
  };
10
10
  export declare function getComboboxValuePair(item: string | ComboboxValuePair): ComboboxValuePair;
11
- interface PartialChangeEvent extends Partial<Omit<ChangeEvent<HTMLElement>, "target">> {
11
+ export interface ComboboxPartialChangeEvent extends Partial<Omit<ChangeEvent<HTMLElement>, "target">> {
12
12
  type: "change" | "blur";
13
13
  target: {
14
14
  name: string;
@@ -16,8 +16,8 @@ interface PartialChangeEvent extends Partial<Omit<ChangeEvent<HTMLElement>, "tar
16
16
  selectedOptions: Array<ValuePair>;
17
17
  };
18
18
  }
19
- type ChangeEventHandler = (event: PartialChangeEvent) => void;
20
- interface ComboboxProps extends InputGroupProps {
19
+ export type ComboboxChangeEventHandler = (event: ComboboxPartialChangeEvent) => void;
20
+ export interface ComboboxProps extends InputGroupProps {
21
21
  id?: string;
22
22
  placeholder?: string;
23
23
  labelProps?: Omit<LabelProps, "children" | "density" | "htmlFor" | "standAlone">;
@@ -33,9 +33,8 @@ interface ComboboxProps extends InputGroupProps {
33
33
  className?: string;
34
34
  invalid?: boolean;
35
35
  hasTagHover?: boolean;
36
- onChange: ChangeEventHandler;
37
- onBlur?: ChangeEventHandler;
38
- onFocus?: ChangeEventHandler;
36
+ onChange: ComboboxChangeEventHandler;
37
+ onBlur?: ComboboxChangeEventHandler;
38
+ onFocus?: ComboboxChangeEventHandler;
39
39
  }
40
40
  export declare const Combobox: FC<ComboboxProps>;
41
- export {};