@navikt/ds-react 4.0.0 → 4.1.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 (367) hide show
  1. package/_docs.json +171 -5
  2. package/cjs/accordion/Accordion.js +22 -2
  3. package/cjs/alert/Alert.js +9 -0
  4. package/cjs/button/Button.js +10 -0
  5. package/cjs/chat/Chat.js +16 -0
  6. package/cjs/chips/Chips.js +27 -0
  7. package/cjs/chips/Toggle.js +4 -6
  8. package/cjs/copybutton/CopyButton.js +11 -0
  9. package/cjs/date/DateInput.js +1 -1
  10. package/cjs/date/datepicker/DatePicker.js +22 -0
  11. package/cjs/date/hooks/useDatepicker.js +13 -0
  12. package/cjs/date/hooks/useMonthPicker.js +13 -0
  13. package/cjs/date/hooks/useRangeDatepicker.js +12 -0
  14. package/cjs/date/monthpicker/MonthPicker.js +22 -0
  15. package/cjs/dropdown/Dropdown.js +31 -0
  16. package/cjs/dropdown/Menu/GroupedList/index.js +1 -1
  17. package/cjs/dropdown/Menu/List/index.js +1 -1
  18. package/cjs/dropdown/Menu/index.js +1 -1
  19. package/cjs/expansion-card/ExpansionCard.js +18 -0
  20. package/cjs/form/ConfirmationPanel.js +18 -0
  21. package/cjs/form/Select.js +16 -0
  22. package/cjs/form/Switch.js +11 -0
  23. package/cjs/form/TextField.js +11 -0
  24. package/cjs/form/Textarea.js +11 -0
  25. package/cjs/form/checkbox/CheckboxGroup.js +15 -0
  26. package/cjs/form/error-summary/ErrorSummary.js +18 -0
  27. package/cjs/form/radio/RadioGroup.js +2 -2
  28. package/cjs/form/search/Search.js +13 -0
  29. package/cjs/guide-panel/GuidePanel.js +15 -0
  30. package/cjs/help-text/HelpText.js +13 -0
  31. package/cjs/index.js +1 -0
  32. package/cjs/internal-header/InternalHeader.js +30 -2
  33. package/cjs/link/Link.js +13 -0
  34. package/cjs/link-panel/LinkPanel.js +17 -0
  35. package/cjs/loader/Loader.js +11 -0
  36. package/cjs/modal/Modal.js +27 -0
  37. package/cjs/pagination/Pagination.js +17 -0
  38. package/cjs/panel/Panel.js +19 -0
  39. package/cjs/popover/Popover.js +20 -0
  40. package/cjs/provider/Provider.js +13 -0
  41. package/cjs/read-more/ReadMore.js +2 -2
  42. package/cjs/skeleton/Skeleton.js +51 -0
  43. package/cjs/skeleton/index.js +8 -0
  44. package/cjs/skeleton/package.json +6 -0
  45. package/cjs/stepper/Step.js +3 -4
  46. package/cjs/stepper/Stepper.js +24 -0
  47. package/cjs/table/Table.js +32 -0
  48. package/cjs/tabs/Tabs.js +27 -1
  49. package/cjs/tag/Tag.js +11 -0
  50. package/cjs/timeline/Timeline.js +18 -0
  51. package/cjs/toggle-group/ToggleGroup.js +17 -2
  52. package/cjs/tooltip/Tooltip.js +13 -0
  53. package/cjs/typography/BodyLong.js +14 -0
  54. package/cjs/typography/BodyShort.js +14 -0
  55. package/cjs/typography/Detail.js +14 -0
  56. package/cjs/typography/ErrorMessage.js +14 -0
  57. package/cjs/typography/Heading.js +14 -0
  58. package/cjs/typography/Ingress.js +14 -0
  59. package/cjs/typography/Label.js +14 -0
  60. package/esm/accordion/Accordion.d.ts +40 -6
  61. package/esm/accordion/Accordion.js +22 -2
  62. package/esm/accordion/Accordion.js.map +1 -1
  63. package/esm/accordion/AccordionContent.d.ts +1 -2
  64. package/esm/accordion/AccordionContent.js.map +1 -1
  65. package/esm/accordion/AccordionHeader.d.ts +1 -2
  66. package/esm/accordion/AccordionHeader.js.map +1 -1
  67. package/esm/accordion/AccordionItem.d.ts +1 -2
  68. package/esm/accordion/AccordionItem.js.map +1 -1
  69. package/esm/alert/Alert.d.ts +9 -0
  70. package/esm/alert/Alert.js +9 -0
  71. package/esm/alert/Alert.js.map +1 -1
  72. package/esm/button/Button.d.ts +10 -0
  73. package/esm/button/Button.js +10 -0
  74. package/esm/button/Button.js.map +1 -1
  75. package/esm/chat/Bubble.d.ts +1 -2
  76. package/esm/chat/Bubble.js.map +1 -1
  77. package/esm/chat/Chat.d.ts +21 -2
  78. package/esm/chat/Chat.js +16 -0
  79. package/esm/chat/Chat.js.map +1 -1
  80. package/esm/chips/Chips.d.ts +42 -4
  81. package/esm/chips/Chips.js +27 -0
  82. package/esm/chips/Chips.js.map +1 -1
  83. package/esm/chips/Removable.d.ts +0 -2
  84. package/esm/chips/Removable.js.map +1 -1
  85. package/esm/chips/Toggle.d.ts +11 -3
  86. package/esm/chips/Toggle.js +4 -6
  87. package/esm/chips/Toggle.js.map +1 -1
  88. package/esm/copybutton/CopyButton.d.ts +11 -0
  89. package/esm/copybutton/CopyButton.js +11 -0
  90. package/esm/copybutton/CopyButton.js.map +1 -1
  91. package/esm/date/DateInput.d.ts +2 -3
  92. package/esm/date/DateInput.js +1 -1
  93. package/esm/date/DateInput.js.map +1 -1
  94. package/esm/date/datepicker/DatePicker.d.ts +38 -2
  95. package/esm/date/datepicker/DatePicker.js +22 -0
  96. package/esm/date/datepicker/DatePicker.js.map +1 -1
  97. package/esm/date/hooks/useDatepicker.d.ts +13 -0
  98. package/esm/date/hooks/useDatepicker.js +13 -0
  99. package/esm/date/hooks/useDatepicker.js.map +1 -1
  100. package/esm/date/hooks/useMonthPicker.d.ts +13 -0
  101. package/esm/date/hooks/useMonthPicker.js +13 -0
  102. package/esm/date/hooks/useMonthPicker.js.map +1 -1
  103. package/esm/date/hooks/useRangeDatepicker.d.ts +12 -0
  104. package/esm/date/hooks/useRangeDatepicker.js +12 -0
  105. package/esm/date/hooks/useRangeDatepicker.js.map +1 -1
  106. package/esm/date/monthpicker/MonthPicker.d.ts +34 -4
  107. package/esm/date/monthpicker/MonthPicker.js +22 -0
  108. package/esm/date/monthpicker/MonthPicker.js.map +1 -1
  109. package/esm/dropdown/Dropdown.d.ts +39 -2
  110. package/esm/dropdown/Dropdown.js +31 -0
  111. package/esm/dropdown/Dropdown.js.map +1 -1
  112. package/esm/dropdown/Menu/Divider.d.ts +1 -2
  113. package/esm/dropdown/Menu/Divider.js.map +1 -1
  114. package/esm/dropdown/Menu/GroupedList/Heading.d.ts +1 -2
  115. package/esm/dropdown/Menu/GroupedList/Heading.js.map +1 -1
  116. package/esm/dropdown/Menu/GroupedList/Item.d.ts +1 -2
  117. package/esm/dropdown/Menu/GroupedList/Item.js.map +1 -1
  118. package/esm/dropdown/Menu/GroupedList/index.d.ts +12 -4
  119. package/esm/dropdown/Menu/GroupedList/index.js +1 -1
  120. package/esm/dropdown/Menu/GroupedList/index.js.map +1 -1
  121. package/esm/dropdown/Menu/List/Item.d.ts +1 -2
  122. package/esm/dropdown/Menu/List/Item.js.map +1 -1
  123. package/esm/dropdown/Menu/List/index.d.ts +7 -2
  124. package/esm/dropdown/Menu/List/index.js +1 -1
  125. package/esm/dropdown/Menu/List/index.js.map +1 -1
  126. package/esm/dropdown/Menu/index.d.ts +10 -2
  127. package/esm/dropdown/Menu/index.js +1 -1
  128. package/esm/dropdown/Menu/index.js.map +1 -1
  129. package/esm/dropdown/Toggle.d.ts +1 -2
  130. package/esm/dropdown/Toggle.js.map +1 -1
  131. package/esm/expansion-card/ExpansionCard.d.ts +40 -8
  132. package/esm/expansion-card/ExpansionCard.js +18 -0
  133. package/esm/expansion-card/ExpansionCard.js.map +1 -1
  134. package/esm/expansion-card/ExpansionCardContent.d.ts +1 -2
  135. package/esm/expansion-card/ExpansionCardContent.js.map +1 -1
  136. package/esm/expansion-card/ExpansionCardDescription.d.ts +2 -4
  137. package/esm/expansion-card/ExpansionCardDescription.js.map +1 -1
  138. package/esm/expansion-card/ExpansionCardHeader.d.ts +1 -2
  139. package/esm/expansion-card/ExpansionCardHeader.js.map +1 -1
  140. package/esm/expansion-card/ExpansionCardTitle.d.ts +2 -4
  141. package/esm/expansion-card/ExpansionCardTitle.js.map +1 -1
  142. package/esm/form/ConfirmationPanel.d.ts +18 -0
  143. package/esm/form/ConfirmationPanel.js +18 -0
  144. package/esm/form/ConfirmationPanel.js.map +1 -1
  145. package/esm/form/Select.d.ts +16 -0
  146. package/esm/form/Select.js +16 -0
  147. package/esm/form/Select.js.map +1 -1
  148. package/esm/form/Switch.d.ts +11 -0
  149. package/esm/form/Switch.js +11 -0
  150. package/esm/form/Switch.js.map +1 -1
  151. package/esm/form/TextField.d.ts +11 -0
  152. package/esm/form/TextField.js +11 -0
  153. package/esm/form/TextField.js.map +1 -1
  154. package/esm/form/Textarea.d.ts +11 -0
  155. package/esm/form/Textarea.js +11 -0
  156. package/esm/form/Textarea.js.map +1 -1
  157. package/esm/form/checkbox/CheckboxGroup.d.ts +15 -0
  158. package/esm/form/checkbox/CheckboxGroup.js +15 -0
  159. package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
  160. package/esm/form/error-summary/ErrorSummary.d.ts +18 -0
  161. package/esm/form/error-summary/ErrorSummary.js +18 -0
  162. package/esm/form/error-summary/ErrorSummary.js.map +1 -1
  163. package/esm/form/radio/RadioGroup.d.ts +2 -2
  164. package/esm/form/radio/RadioGroup.js +2 -2
  165. package/esm/form/search/Search.d.ts +13 -0
  166. package/esm/form/search/Search.js +13 -0
  167. package/esm/form/search/Search.js.map +1 -1
  168. package/esm/guide-panel/GuidePanel.d.ts +15 -0
  169. package/esm/guide-panel/GuidePanel.js +15 -0
  170. package/esm/guide-panel/GuidePanel.js.map +1 -1
  171. package/esm/help-text/HelpText.d.ts +13 -0
  172. package/esm/help-text/HelpText.js +13 -0
  173. package/esm/help-text/HelpText.js.map +1 -1
  174. package/esm/index.d.ts +1 -0
  175. package/esm/index.js +1 -0
  176. package/esm/index.js.map +1 -1
  177. package/esm/internal-header/InternalHeader.d.ts +52 -8
  178. package/esm/internal-header/InternalHeader.js +30 -2
  179. package/esm/internal-header/InternalHeader.js.map +1 -1
  180. package/esm/internal-header/InternalHeaderButton.d.ts +1 -2
  181. package/esm/internal-header/InternalHeaderButton.js.map +1 -1
  182. package/esm/internal-header/InternalHeaderTitle.d.ts +1 -2
  183. package/esm/internal-header/InternalHeaderTitle.js.map +1 -1
  184. package/esm/internal-header/InternalHeaderUser.d.ts +0 -1
  185. package/esm/internal-header/InternalHeaderUser.js.map +1 -1
  186. package/esm/internal-header/InternalHeaderUserButton.d.ts +1 -2
  187. package/esm/internal-header/InternalHeaderUserButton.js.map +1 -1
  188. package/esm/link/Link.d.ts +13 -0
  189. package/esm/link/Link.js +13 -0
  190. package/esm/link/Link.js.map +1 -1
  191. package/esm/link-panel/LinkPanel.d.ts +28 -4
  192. package/esm/link-panel/LinkPanel.js +17 -0
  193. package/esm/link-panel/LinkPanel.js.map +1 -1
  194. package/esm/link-panel/LinkPanelDescription.d.ts +2 -4
  195. package/esm/link-panel/LinkPanelDescription.js.map +1 -1
  196. package/esm/link-panel/LinkPanelTitle.d.ts +2 -4
  197. package/esm/link-panel/LinkPanelTitle.js.map +1 -1
  198. package/esm/list/List.d.ts +5 -2
  199. package/esm/list/List.js.map +1 -1
  200. package/esm/list/ListItem.d.ts +1 -3
  201. package/esm/list/ListItem.js.map +1 -1
  202. package/esm/loader/Loader.d.ts +11 -0
  203. package/esm/loader/Loader.js +11 -0
  204. package/esm/loader/Loader.js.map +1 -1
  205. package/esm/modal/Modal.d.ts +27 -0
  206. package/esm/modal/Modal.js +27 -0
  207. package/esm/modal/Modal.js.map +1 -1
  208. package/esm/pagination/Pagination.d.ts +17 -0
  209. package/esm/pagination/Pagination.js +17 -0
  210. package/esm/pagination/Pagination.js.map +1 -1
  211. package/esm/panel/Panel.d.ts +19 -0
  212. package/esm/panel/Panel.js +19 -0
  213. package/esm/panel/Panel.js.map +1 -1
  214. package/esm/popover/Popover.d.ts +20 -0
  215. package/esm/popover/Popover.js +20 -0
  216. package/esm/popover/Popover.js.map +1 -1
  217. package/esm/provider/Provider.d.ts +13 -0
  218. package/esm/provider/Provider.js +13 -0
  219. package/esm/provider/Provider.js.map +1 -1
  220. package/esm/read-more/ReadMore.d.ts +2 -2
  221. package/esm/read-more/ReadMore.js +2 -2
  222. package/esm/skeleton/Skeleton.d.ts +18 -0
  223. package/esm/skeleton/Skeleton.js +23 -0
  224. package/esm/skeleton/Skeleton.js.map +1 -0
  225. package/esm/skeleton/index.d.ts +2 -0
  226. package/esm/skeleton/index.js +2 -0
  227. package/esm/skeleton/index.js.map +1 -0
  228. package/esm/stepper/Step.d.ts +1 -4
  229. package/esm/stepper/Step.js +1 -2
  230. package/esm/stepper/Step.js.map +1 -1
  231. package/esm/stepper/Stepper.d.ts +31 -2
  232. package/esm/stepper/Stepper.js +24 -0
  233. package/esm/stepper/Stepper.js.map +1 -1
  234. package/esm/table/Table.d.ts +32 -0
  235. package/esm/table/Table.js +32 -0
  236. package/esm/table/Table.js.map +1 -1
  237. package/esm/tabs/Tab.d.ts +1 -2
  238. package/esm/tabs/Tab.js.map +1 -1
  239. package/esm/tabs/TabList.d.ts +1 -2
  240. package/esm/tabs/TabList.js.map +1 -1
  241. package/esm/tabs/TabPanel.d.ts +1 -2
  242. package/esm/tabs/TabPanel.js.map +1 -1
  243. package/esm/tabs/Tabs.d.ts +43 -6
  244. package/esm/tabs/Tabs.js +27 -1
  245. package/esm/tabs/Tabs.js.map +1 -1
  246. package/esm/tag/Tag.d.ts +11 -0
  247. package/esm/tag/Tag.js +11 -0
  248. package/esm/tag/Tag.js.map +1 -1
  249. package/esm/timeline/Timeline.d.ts +22 -4
  250. package/esm/timeline/Timeline.js +18 -0
  251. package/esm/timeline/Timeline.js.map +1 -1
  252. package/esm/toggle-group/ToggleGroup.d.ts +20 -2
  253. package/esm/toggle-group/ToggleGroup.js +17 -2
  254. package/esm/toggle-group/ToggleGroup.js.map +1 -1
  255. package/esm/toggle-group/ToggleItem.d.ts +1 -2
  256. package/esm/toggle-group/ToggleItem.js.map +1 -1
  257. package/esm/tooltip/Tooltip.d.ts +13 -0
  258. package/esm/tooltip/Tooltip.js +13 -0
  259. package/esm/tooltip/Tooltip.js.map +1 -1
  260. package/esm/typography/BodyLong.d.ts +14 -0
  261. package/esm/typography/BodyLong.js +14 -0
  262. package/esm/typography/BodyLong.js.map +1 -1
  263. package/esm/typography/BodyShort.d.ts +14 -0
  264. package/esm/typography/BodyShort.js +14 -0
  265. package/esm/typography/BodyShort.js.map +1 -1
  266. package/esm/typography/Detail.d.ts +14 -0
  267. package/esm/typography/Detail.js +14 -0
  268. package/esm/typography/Detail.js.map +1 -1
  269. package/esm/typography/ErrorMessage.d.ts +14 -0
  270. package/esm/typography/ErrorMessage.js +14 -0
  271. package/esm/typography/ErrorMessage.js.map +1 -1
  272. package/esm/typography/Heading.d.ts +14 -0
  273. package/esm/typography/Heading.js +14 -0
  274. package/esm/typography/Heading.js.map +1 -1
  275. package/esm/typography/Ingress.d.ts +14 -0
  276. package/esm/typography/Ingress.js +14 -0
  277. package/esm/typography/Ingress.js.map +1 -1
  278. package/esm/typography/Label.d.ts +14 -0
  279. package/esm/typography/Label.js +14 -0
  280. package/esm/typography/Label.js.map +1 -1
  281. package/package.json +2 -2
  282. package/src/accordion/Accordion.tsx +49 -7
  283. package/src/accordion/AccordionContent.tsx +1 -5
  284. package/src/accordion/AccordionHeader.tsx +1 -5
  285. package/src/accordion/AccordionItem.tsx +1 -5
  286. package/src/accordion/accordion.stories.tsx +4 -2
  287. package/src/alert/Alert.tsx +9 -0
  288. package/src/button/Button.tsx +10 -0
  289. package/src/chat/Bubble.tsx +1 -5
  290. package/src/chat/Chat.tsx +23 -2
  291. package/src/chips/Chips.tsx +42 -4
  292. package/src/chips/Removable.tsx +1 -4
  293. package/src/chips/Toggle.tsx +47 -11
  294. package/src/chips/chips.stories.tsx +73 -20
  295. package/src/copybutton/CopyButton.tsx +11 -0
  296. package/src/date/DateInput.tsx +105 -115
  297. package/src/date/datepicker/DatePicker.tsx +40 -2
  298. package/src/date/hooks/useDatepicker.tsx +13 -0
  299. package/src/date/hooks/useMonthPicker.tsx +13 -0
  300. package/src/date/hooks/useRangeDatepicker.tsx +13 -1
  301. package/src/date/monthpicker/MonthPicker.tsx +36 -4
  302. package/src/dropdown/Dropdown.tsx +41 -2
  303. package/src/dropdown/Menu/Divider.tsx +10 -13
  304. package/src/dropdown/Menu/GroupedList/Heading.tsx +15 -18
  305. package/src/dropdown/Menu/GroupedList/Item.tsx +23 -27
  306. package/src/dropdown/Menu/GroupedList/index.tsx +15 -5
  307. package/src/dropdown/Menu/List/Item.tsx +3 -9
  308. package/src/dropdown/Menu/List/index.tsx +8 -3
  309. package/src/dropdown/Menu/index.tsx +14 -3
  310. package/src/dropdown/Toggle.tsx +1 -5
  311. package/src/expansion-card/ExpansionCard.tsx +46 -8
  312. package/src/expansion-card/ExpansionCardContent.tsx +25 -28
  313. package/src/expansion-card/ExpansionCardDescription.tsx +22 -24
  314. package/src/expansion-card/ExpansionCardHeader.tsx +31 -34
  315. package/src/expansion-card/ExpansionCardTitle.tsx +3 -5
  316. package/src/form/ConfirmationPanel.tsx +18 -0
  317. package/src/form/Select.tsx +16 -0
  318. package/src/form/Switch.tsx +11 -0
  319. package/src/form/TextField.tsx +11 -0
  320. package/src/form/Textarea.tsx +11 -0
  321. package/src/form/checkbox/CheckboxGroup.tsx +15 -0
  322. package/src/form/error-summary/ErrorSummary.tsx +18 -0
  323. package/src/form/radio/RadioGroup.tsx +2 -2
  324. package/src/form/search/Search.tsx +13 -0
  325. package/src/guide-panel/GuidePanel.tsx +15 -0
  326. package/src/help-text/HelpText.tsx +13 -0
  327. package/src/index.ts +1 -0
  328. package/src/internal-header/InternalHeader.tsx +60 -11
  329. package/src/internal-header/InternalHeaderButton.tsx +8 -13
  330. package/src/internal-header/InternalHeaderTitle.tsx +11 -19
  331. package/src/internal-header/InternalHeaderUser.tsx +0 -4
  332. package/src/internal-header/InternalHeaderUserButton.tsx +17 -20
  333. package/src/link/Link.tsx +13 -0
  334. package/src/link-panel/LinkPanel.tsx +30 -4
  335. package/src/link-panel/LinkPanelDescription.tsx +12 -15
  336. package/src/link-panel/LinkPanelTitle.tsx +15 -18
  337. package/src/list/List.tsx +7 -2
  338. package/src/list/ListItem.tsx +1 -6
  339. package/src/loader/Loader.tsx +11 -0
  340. package/src/modal/Modal.tsx +27 -0
  341. package/src/pagination/Pagination.tsx +17 -0
  342. package/src/panel/Panel.tsx +19 -0
  343. package/src/popover/Popover.tsx +20 -0
  344. package/src/provider/Provider.tsx +13 -0
  345. package/src/read-more/ReadMore.tsx +2 -2
  346. package/src/skeleton/Skeleton.tsx +48 -0
  347. package/src/skeleton/index.ts +2 -0
  348. package/src/skeleton/skeleton.stories.tsx +118 -0
  349. package/src/stepper/Step.tsx +57 -60
  350. package/src/stepper/Stepper.tsx +31 -2
  351. package/src/table/Table.tsx +32 -0
  352. package/src/tabs/Tab.tsx +38 -39
  353. package/src/tabs/TabList.tsx +1 -5
  354. package/src/tabs/TabPanel.tsx +1 -5
  355. package/src/tabs/Tabs.tsx +48 -7
  356. package/src/tag/Tag.tsx +11 -0
  357. package/src/timeline/Timeline.tsx +22 -4
  358. package/src/toggle-group/ToggleGroup.tsx +23 -3
  359. package/src/toggle-group/ToggleItem.tsx +1 -5
  360. package/src/tooltip/Tooltip.tsx +13 -0
  361. package/src/typography/BodyLong.tsx +14 -0
  362. package/src/typography/BodyShort.tsx +14 -0
  363. package/src/typography/Detail.tsx +14 -0
  364. package/src/typography/ErrorMessage.tsx +14 -0
  365. package/src/typography/Heading.tsx +14 -0
  366. package/src/typography/Ingress.tsx +14 -0
  367. package/src/typography/Label.tsx +14 -0
@@ -32,6 +32,24 @@ interface ErrorSummaryComponent
32
32
  Item: ErrorSummaryItemType;
33
33
  }
34
34
 
35
+ /**
36
+ * A component that displays a summary of errors.
37
+ *
38
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/errorsummary)
39
+ * @see 🏷️ {@link ErrorSummaryProps}
40
+ *
41
+ * @example
42
+ * ```jsx
43
+ * <ErrorSummary heading="Du må fikse disse feilene før du kan sende inn søknad.">
44
+ * <ErrorSummary.Item href="#1">
45
+ * Felt må fylles ut med alder
46
+ * </ErrorSummary.Item>
47
+ * <ErrorSummary.Item href="#2">
48
+ * Tekstfeltet må ha en godkjent e-mail
49
+ * </ErrorSummary.Item>
50
+ * </ErrorSummary>
51
+ * ```
52
+ */
35
53
  export const ErrorSummary = forwardRef<HTMLDivElement, ErrorSummaryProps>(
36
54
  (
37
55
  {
@@ -47,8 +47,8 @@ export interface RadioGroupProps
47
47
 
48
48
  /**
49
49
  * Form radio group
50
- * @see https://aksel.nav.no/komponenter/core/radio
51
- * @see {@link RadioGroupProps}
50
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/radio)
51
+ * @see 🏷️ {@link RadioGroupProps}
52
52
  * @example
53
53
  * <RadioGroup legend="Får du AAP nå?">
54
54
  * <Radio value="ja">Ja</Radio>
@@ -91,6 +91,19 @@ export const SearchContext = React.createContext<SearchContextProps | null>(
91
91
  null
92
92
  );
93
93
 
94
+ /**
95
+ * A component that displays a search input field.
96
+ *
97
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/search)
98
+ * @see 🏷️ {@link SearchProps}
99
+ *
100
+ * @example
101
+ * ```jsx
102
+ * <form>
103
+ * <Search label="Søk alle NAV sine sider" variant="primary" />
104
+ * </form>
105
+ * ```
106
+ */
94
107
  export const Search = forwardRef<HTMLInputElement, SearchProps>(
95
108
  (props, ref) => {
96
109
  const {
@@ -18,6 +18,21 @@ export interface GuidePanelProps extends HTMLAttributes<HTMLDivElement> {
18
18
  poster?: boolean;
19
19
  }
20
20
 
21
+ /**
22
+ * A component that displays a guide panel.
23
+ *
24
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/guidepanel)
25
+ * @see 🏷️ {@link GuidePanelProps}
26
+ *
27
+ * @example
28
+ * ```jsx
29
+ * <GuidePanel>
30
+ * Saksbehandlingstiden varierer fra kommune til kommune. Hvis det går mer
31
+ * enn X måneder siden du søkte, skal du få brev om at saksbehandlingstiden
32
+ * er forlenget.
33
+ * </GuidePanel>
34
+ * ```
35
+ */
21
36
  export const GuidePanel = forwardRef<HTMLDivElement, GuidePanelProps>(
22
37
  (
23
38
  { children, className, illustration, poster = false, color, ...rest },
@@ -31,6 +31,19 @@ export interface HelpTextProps
31
31
  | "left-end";
32
32
  }
33
33
 
34
+ /**
35
+ * A component that displays a help text button with a popover.
36
+ *
37
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/helptext)
38
+ * @see 🏷️ {@link HelpTextProps}
39
+ *
40
+ * @example
41
+ * ```jsx
42
+ * <HelpText title="Hvor kommer dette fra?">
43
+ * Informasjonen er hentet fra X sin statistikk fra 2021
44
+ * </HelpText>
45
+ * ```
46
+ */
34
47
  export const HelpText = forwardRef<HTMLButtonElement, HelpTextProps>(
35
48
  (
36
49
  {
package/src/index.ts CHANGED
@@ -22,6 +22,7 @@ export * from "./panel";
22
22
  export * from "./popover";
23
23
  export * from "./provider";
24
24
  export * from "./read-more";
25
+ export * from "./skeleton";
25
26
  export * from "./stepper";
26
27
  export * from "./table";
27
28
  export * from "./tabs";
@@ -1,17 +1,18 @@
1
+ import cl from "clsx";
1
2
  import React, { forwardRef, HTMLAttributes } from "react";
3
+ import { OverridableComponent } from "../util/OverridableComponent";
4
+ import InternalHeaderButton, {
5
+ InternalHeaderButtonProps,
6
+ } from "./InternalHeaderButton";
2
7
  import InternalHeaderTitle, {
3
- InternalHeaderTitleType,
8
+ InternalHeaderTitleProps,
4
9
  } from "./InternalHeaderTitle";
5
10
  import InternalHeaderUser, {
6
- InternalHeaderUserType,
11
+ InternalHeaderUserProps,
7
12
  } from "./InternalHeaderUser";
8
- import InternalHeaderButton, {
9
- InternalHeaderButtonType,
10
- } from "./InternalHeaderButton";
11
13
  import InternalHeaderUserButton, {
12
- InternalHeaderUserButtonType,
14
+ InternalHeaderUserButtonProps,
13
15
  } from "./InternalHeaderUserButton";
14
- import cl from "clsx";
15
16
 
16
17
  export interface InternalHeaderProps extends HTMLAttributes<HTMLElement> {
17
18
  children: React.ReactNode;
@@ -21,12 +22,60 @@ interface InternalHeaderComponent
21
22
  extends React.ForwardRefExoticComponent<
22
23
  InternalHeaderProps & React.RefAttributes<HTMLElement>
23
24
  > {
24
- Title: InternalHeaderTitleType;
25
- User: InternalHeaderUserType;
26
- Button: InternalHeaderButtonType;
27
- UserButton: InternalHeaderUserButtonType;
25
+ /**
26
+ * @see 🏷️ {@link InternalHeaderTitleProps}
27
+ * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
28
+ */
29
+ Title: OverridableComponent<InternalHeaderTitleProps, HTMLAnchorElement>;
30
+ /**
31
+ * @see 🏷️ {@link InternalHeaderUserProps}
32
+ */
33
+ User: React.ForwardRefExoticComponent<
34
+ InternalHeaderUserProps & React.RefAttributes<HTMLDivElement>
35
+ >;
36
+ /**
37
+ * @see 🏷️ {@link InternalHeaderButtonProps}
38
+ * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
39
+ */
40
+ Button: OverridableComponent<InternalHeaderButtonProps, HTMLButtonElement>;
41
+ /**
42
+ * @see 🏷️ {@link InternalHeaderUserButtonProps}
43
+ * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
44
+ */
45
+ UserButton: OverridableComponent<
46
+ InternalHeaderUserButtonProps,
47
+ HTMLButtonElement
48
+ >;
28
49
  }
29
50
 
51
+ /**
52
+ * Simple Header for internal pages and systems.
53
+ *
54
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/i-header)
55
+ * @see 🏷️ {@link InternalHeaderProps}
56
+ *
57
+ * @example
58
+ * ```jsx
59
+ * <InternalHeader>
60
+ * <InternalHeader.Title as="h1">Sykepenger</InternalHeader.Title>
61
+ * <InternalHeader.User name="Ola Normann" className="ml-auto" />
62
+ * </InternalHeader>
63
+ * ```
64
+ * @example
65
+ * ```jsx
66
+ * <InternalHeader >
67
+ * <InternalHeader.Title href="/#home">Tittel med lenke</InternalHeader.Title>
68
+ * <Dropdown>
69
+ * <InternalHeader.Button
70
+ * as={Dropdown.Toggle}
71
+ * >
72
+ * <MenuGridIcon title="MenuGridIconer og oppslagsverk" />
73
+ * </InternalHeader.Button>
74
+ * <Dropdown.Menu />
75
+ * </Dropdown>
76
+ * </InternalHeader>
77
+ * ```
78
+ */
30
79
  export const InternalHeader = forwardRef(({ className, ...rest }, ref) => (
31
80
  <header
32
81
  data-theme="dark"
@@ -9,20 +9,15 @@ export interface InternalHeaderButtonProps
9
9
  */
10
10
  children: React.ReactNode;
11
11
  }
12
-
13
- export type InternalHeaderButtonType = OverridableComponent<
12
+ export const InternalHeaderButton: OverridableComponent<
14
13
  InternalHeaderButtonProps,
15
14
  HTMLButtonElement
16
- >;
17
-
18
- export const InternalHeaderButton: InternalHeaderButtonType = forwardRef(
19
- ({ as: Component = "button", className, ...rest }, ref) => (
20
- <Component
21
- {...rest}
22
- ref={ref}
23
- className={cl("navds-internalheader__button", className)}
24
- />
25
- )
26
- );
15
+ > = forwardRef(({ as: Component = "button", className, ...rest }, ref) => (
16
+ <Component
17
+ {...rest}
18
+ ref={ref}
19
+ className={cl("navds-internalheader__button", className)}
20
+ />
21
+ ));
27
22
 
28
23
  export default InternalHeaderButton;
@@ -10,26 +10,18 @@ export interface InternalHeaderTitleProps
10
10
  children: React.ReactNode;
11
11
  }
12
12
 
13
- export type InternalHeaderTitleType = OverridableComponent<
13
+ export const InternalHeaderTitle: OverridableComponent<
14
14
  InternalHeaderTitleProps,
15
15
  HTMLAnchorElement
16
- >;
17
-
18
- export const InternalHeaderTitle: InternalHeaderTitleType = forwardRef(
19
- ({ as: Component = "a", children, className, ...rest }, ref) => (
20
- <Component
21
- {...rest}
22
- ref={ref}
23
- size="xsmall"
24
- className={cl(
25
- "navds-internalheader__title",
26
- "navds-body-short",
27
- className
28
- )}
29
- >
30
- <span>{children}</span>
31
- </Component>
32
- )
33
- );
16
+ > = forwardRef(({ as: Component = "a", children, className, ...rest }, ref) => (
17
+ <Component
18
+ {...rest}
19
+ ref={ref}
20
+ size="xsmall"
21
+ className={cl("navds-internalheader__title", "navds-body-short", className)}
22
+ >
23
+ <span>{children}</span>
24
+ </Component>
25
+ ));
34
26
 
35
27
  export default InternalHeaderTitle;
@@ -14,10 +14,6 @@ export interface InternalHeaderUserProps
14
14
  description?: string;
15
15
  }
16
16
 
17
- export type InternalHeaderUserType = React.ForwardRefExoticComponent<
18
- InternalHeaderUserProps & React.RefAttributes<HTMLDivElement>
19
- >;
20
-
21
17
  export const InternalHeaderUser = forwardRef<
22
18
  HTMLDivElement,
23
19
  InternalHeaderUserProps
@@ -17,27 +17,24 @@ export interface InternalHeaderUserButtonProps
17
17
  description?: string;
18
18
  }
19
19
 
20
- export type InternalHeaderUserButtonType = OverridableComponent<
20
+ export const InternalHeaderUserButton: OverridableComponent<
21
21
  InternalHeaderUserButtonProps,
22
22
  HTMLButtonElement
23
- >;
24
-
25
- export const InternalHeaderUserButton: InternalHeaderUserButtonType =
26
- forwardRef(({ as, name, description, className, ...rest }, ref) => (
27
- <InternalHeaderButton
28
- {...rest}
29
- as={as}
30
- ref={ref}
31
- className={cl("navds-internalheader__user-button", className)}
32
- >
33
- <div>
34
- <BodyShort size="small" as="div">
35
- {name}
36
- </BodyShort>
37
- {description && <Detail as="div">{description}</Detail>}
38
- </div>
39
- <ChevronDownIcon title="vis meny" />
40
- </InternalHeaderButton>
41
- ));
23
+ > = forwardRef(({ as, name, description, className, ...rest }, ref) => (
24
+ <InternalHeaderButton
25
+ {...rest}
26
+ as={as}
27
+ ref={ref}
28
+ className={cl("navds-internalheader__user-button", className)}
29
+ >
30
+ <div>
31
+ <BodyShort size="small" as="div">
32
+ {name}
33
+ </BodyShort>
34
+ {description && <Detail as="div">{description}</Detail>}
35
+ </div>
36
+ <ChevronDownIcon title="vis meny" />
37
+ </InternalHeaderButton>
38
+ ));
42
39
 
43
40
  export default InternalHeaderUserButton;
package/src/link/Link.tsx CHANGED
@@ -10,6 +10,19 @@ export interface LinkProps
10
10
  children: React.ReactNode;
11
11
  }
12
12
 
13
+ /**
14
+ * A component that displays a hyperlink.
15
+ *
16
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/link)
17
+ * @see 🏷️ {@link LinkProps}
18
+ * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
19
+ *
20
+ * @example
21
+ * ```jsx
22
+ * <Link href="#">lenke til ny side</Link>
23
+ * <Link as={ReactRouter.Link} to="#">lenke til ny side</Link>
24
+ * ```
25
+ */
13
26
  export const Link: OverridableComponent<LinkProps, HTMLAnchorElement> =
14
27
  forwardRef(({ as: Component = "a", className, ...rest }, ref) => (
15
28
  <Component {...rest} ref={ref} className={cl("navds-link", className)} />
@@ -2,10 +2,10 @@ import React, { forwardRef } from "react";
2
2
  import { Panel, OverridableComponent } from "..";
3
3
 
4
4
  import cl from "clsx";
5
- import { LinkPanelTitle, LinkPanelTitleType } from "./LinkPanelTitle";
5
+ import { LinkPanelTitle, LinkPanelTitleProps } from "./LinkPanelTitle";
6
6
  import {
7
7
  LinkPanelDescription,
8
- LinkPanelDescriptionType,
8
+ LinkPanelDescriptionProps,
9
9
  } from "./LinkPanelDescription";
10
10
  import { ChevronRightIcon } from "@navikt/aksel-icons";
11
11
 
@@ -24,10 +24,36 @@ export interface LinkPanelProps
24
24
 
25
25
  interface LinkPanelComponentType
26
26
  extends OverridableComponent<LinkPanelProps, HTMLAnchorElement> {
27
- Title: LinkPanelTitleType;
28
- Description: LinkPanelDescriptionType;
27
+ /**
28
+ * @see 🏷️ {@link LinkPanelDescriptionProps}
29
+ * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
30
+ */
31
+ Title: OverridableComponent<LinkPanelTitleProps, HTMLDivElement>;
32
+ /**
33
+ * @see 🏷️ {@link LinkPanelDescriptionProps}
34
+ */
35
+ Description: React.ForwardRefExoticComponent<
36
+ LinkPanelDescriptionProps & React.RefAttributes<HTMLDivElement>
37
+ >;
29
38
  }
30
39
 
40
+ /**
41
+ * A component that displays a link panel.
42
+ *
43
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/linkpanel)
44
+ * @see 🏷️ {@link LinkPanelProps}
45
+ * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
46
+ *
47
+ * @example
48
+ * ```jsx
49
+ * <LinkPanel href="#" border>
50
+ * <LinkPanel.Title>Arbeidssøker eller permittert</LinkPanel.Title>
51
+ * <LinkPanel.Description>
52
+ * Om jobb, registrering, CV, dagpenger og feriepenger av dagpenger
53
+ * </LinkPanel.Description>
54
+ * </LinkPanel>
55
+ * ```
56
+ */
31
57
  export const LinkPanelComponent: OverridableComponent<
32
58
  LinkPanelProps,
33
59
  HTMLAnchorElement
@@ -2,22 +2,19 @@ import React, { forwardRef } from "react";
2
2
  import cl from "clsx";
3
3
  import { BodyLong } from "..";
4
4
 
5
- interface LinkPanelDescriptionProps
5
+ export interface LinkPanelDescriptionProps
6
6
  extends React.HTMLAttributes<HTMLDivElement> {
7
7
  children: React.ReactNode;
8
8
  }
9
9
 
10
- export type LinkPanelDescriptionType = React.ForwardRefExoticComponent<
11
- LinkPanelDescriptionProps & React.RefAttributes<HTMLDivElement>
12
- >;
13
-
14
- export const LinkPanelDescription: LinkPanelDescriptionType = forwardRef(
15
- ({ className, ...rest }, ref) => (
16
- <BodyLong
17
- {...rest}
18
- as="div"
19
- ref={ref}
20
- className={cl("navds-link-panel__description", className)}
21
- />
22
- )
23
- );
10
+ export const LinkPanelDescription = forwardRef<
11
+ HTMLDivElement,
12
+ LinkPanelDescriptionProps
13
+ >(({ className, ...rest }, ref) => (
14
+ <BodyLong
15
+ {...rest}
16
+ as="div"
17
+ ref={ref}
18
+ className={cl("navds-link-panel__description", className)}
19
+ />
20
+ ));
@@ -2,26 +2,23 @@ import React, { forwardRef } from "react";
2
2
  import cl from "clsx";
3
3
  import { OverridableComponent } from "../util/OverridableComponent";
4
4
 
5
- interface LinkPanelTitleProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ export interface LinkPanelTitleProps
6
+ extends React.HTMLAttributes<HTMLDivElement> {
6
7
  children: React.ReactNode;
7
8
  }
8
9
 
9
- export type LinkPanelTitleType = OverridableComponent<
10
+ export const LinkPanelTitle: OverridableComponent<
10
11
  LinkPanelTitleProps,
11
12
  HTMLDivElement
12
- >;
13
-
14
- export const LinkPanelTitle: LinkPanelTitleType = forwardRef(
15
- ({ className, as: Component = "div", ...rest }, ref) => (
16
- <Component
17
- {...rest}
18
- ref={ref}
19
- className={cl(
20
- "navds-link-panel__title",
21
- "navds-heading",
22
- "navds-heading--medium",
23
- className
24
- )}
25
- />
26
- )
27
- );
13
+ > = forwardRef(({ className, as: Component = "div", ...rest }, ref) => (
14
+ <Component
15
+ {...rest}
16
+ ref={ref}
17
+ className={cl(
18
+ "navds-link-panel__title",
19
+ "navds-heading",
20
+ "navds-heading--medium",
21
+ className
22
+ )}
23
+ />
24
+ ));
package/src/list/List.tsx CHANGED
@@ -2,7 +2,7 @@ import cl from "clsx";
2
2
  import React, { createContext, forwardRef, useContext } from "react";
3
3
  import { BodyShort, Heading } from "../typography";
4
4
  import { useId } from "../util/useId";
5
- import { ListItem, ListItemType } from "./ListItem";
5
+ import { ListItem, ListItemProps } from "./ListItem";
6
6
 
7
7
  export interface ListProps extends React.HTMLAttributes<HTMLDivElement> {
8
8
  children: React.ReactNode;
@@ -28,7 +28,12 @@ export interface ListProps extends React.HTMLAttributes<HTMLDivElement> {
28
28
 
29
29
  export interface ListComponent
30
30
  extends React.ForwardRefExoticComponent<ListProps> {
31
- Item: ListItemType;
31
+ /**
32
+ * @see 🏷️ {@link ListItemProps}
33
+ */
34
+ Item: React.ForwardRefExoticComponent<
35
+ ListItemProps & React.RefAttributes<HTMLLIElement>
36
+ >;
32
37
  }
33
38
 
34
39
  interface ListContextProps {
@@ -18,12 +18,7 @@ export interface ListItemProps extends React.HTMLAttributes<HTMLLIElement> {
18
18
  icon?: React.ReactNode;
19
19
  }
20
20
 
21
- export interface ListItemType
22
- extends React.ForwardRefExoticComponent<
23
- ListItemProps & React.RefAttributes<HTMLLIElement>
24
- > {}
25
-
26
- export const ListItem: ListItemType = forwardRef(
21
+ export const ListItem = forwardRef<HTMLLIElement, ListItemProps>(
27
22
  ({ className, children, title, icon, ...rest }, ref) => {
28
23
  const { listType, isNested } = useContext(ListContext);
29
24
 
@@ -38,6 +38,17 @@ export type LoaderType = React.ForwardRefExoticComponent<
38
38
  LoaderProps & React.RefAttributes<SVGSVGElement>
39
39
  >;
40
40
 
41
+ /**
42
+ * A component that displays a loading spinner.
43
+ *
44
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/loader)
45
+ * @see 🏷️ {@link LoaderProps}
46
+ *
47
+ * @example
48
+ * ```jsx
49
+ * <Loader size="3xlarge" title="venter..." />
50
+ * ```
51
+ */
41
52
  export const Loader: LoaderType = forwardRef<SVGSVGElement, LoaderProps>(
42
53
  (
43
54
  {
@@ -71,6 +71,33 @@ type ModalLifecycle = {
71
71
  setAppElement: (element: any) => void;
72
72
  };
73
73
 
74
+ /**
75
+ * A component that displays a modal dialog.
76
+ *
77
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/modal)
78
+ * @see 🏷️ {@link ModalProps}
79
+ *
80
+ * @example
81
+ * ```jsx
82
+ * const [open, setOpen] = useState(false);
83
+ *
84
+ * <Modal
85
+ * open={open}
86
+ * aria-label="Modal demo"
87
+ * onClose={() => setOpen((x) => !x)}
88
+ * aria-labelledby="modal-heading"
89
+ * >
90
+ * <Modal.Content>
91
+ * <Heading spacing level="1" size="large" id="modal-heading">
92
+ * Viktig info
93
+ * </Heading>
94
+ * <BodyLong spacing>
95
+ * Hallo!
96
+ * </BodyLong>
97
+ * </Modal.Content>
98
+ * </Modal>
99
+ * ```
100
+ */
74
101
  export const Modal = forwardRef<ReactModal, ModalProps>(
75
102
  (
76
103
  {
@@ -89,6 +89,23 @@ export const getSteps = ({
89
89
  ];
90
90
  };
91
91
 
92
+ /**
93
+ * A component that displays pagination controls.
94
+ *
95
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/pagination)
96
+ * @see 🏷️ {@link PaginationProps}
97
+ *
98
+ * @example
99
+ * ```jsx
100
+ * <Pagination
101
+ * page={pageState}
102
+ * onPageChange={(x) => setPageState(x)}
103
+ * count={9}
104
+ * boundaryCount={1}
105
+ * siblingCount={1}
106
+ * />
107
+ * ```
108
+ */
92
109
  export const Pagination = forwardRef<HTMLElement, PaginationProps>(
93
110
  (
94
111
  {
@@ -16,6 +16,25 @@ export interface PanelProps extends React.HTMLAttributes<HTMLElement> {
16
16
 
17
17
  export type PanelType = OverridableComponent<PanelProps, HTMLElement>;
18
18
 
19
+ /**
20
+ * A component that displays a bordered panel with heading and body.
21
+ *
22
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/panel)
23
+ * @see 🏷️ {@link PanelProps}
24
+ * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
25
+ *
26
+ * @example
27
+ * ```jsx
28
+ * <Panel border>
29
+ * <Heading spacing level="2" size="large">
30
+ * Søk om økonomisk sosialhjelp
31
+ * </Heading>
32
+ * <BodyLong>
33
+ * Du kan søke om det du trenger økonomisk støtte til.
34
+ * </BodyLong>
35
+ * </Panel>
36
+ * ```
37
+ */
19
38
  export const Panel: PanelType = forwardRef(
20
39
  (
21
40
  { children, className, border = false, as: Component = "div", ...rest },
@@ -81,6 +81,26 @@ interface PopoverComponent
81
81
  Content: PopoverContentType;
82
82
  }
83
83
 
84
+ /**
85
+ * A component that displays a popover.
86
+ *
87
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/popover)
88
+ * @see 🏷️ {@link PopoverProps}
89
+ *
90
+ * @example
91
+ * ```jsx
92
+ * <Button ref={buttonRef} onClick={() => setOpenState(true)}>
93
+ * Åpne popover
94
+ * </Button>
95
+ * <Popover
96
+ * open={openState}
97
+ * onClose={() => setOpenState(false)}
98
+ * anchorEl={buttonRef.current}
99
+ * >
100
+ * <Popover.Content>Innhold her!</Popover.Content>
101
+ * </Popover>
102
+ * ```
103
+ */
84
104
  export const Popover = forwardRef<HTMLDivElement, PopoverProps>(
85
105
  (
86
106
  {
@@ -23,6 +23,19 @@ export interface ProviderProps {
23
23
 
24
24
  export const useProvider = () => useContext(ProviderContext);
25
25
 
26
+ /**
27
+ * Provides added context to the component tree.
28
+ *
29
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/provider)
30
+ * @see 🏷️ {@link ProviderProps}
31
+ *
32
+ * @example
33
+ * ```jsx
34
+ * <Provider rootElement={rootElement}>
35
+ * {app}
36
+ * </Provider>
37
+ * ```
38
+ */
26
39
  export const Provider = ({ children, ...rest }: ProviderProps) => {
27
40
  return (
28
41
  <ProviderContext.Provider value={rest}>{children}</ProviderContext.Provider>