@navikt/ds-react 6.4.1 → 6.6.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 (349) hide show
  1. package/cjs/date/datepicker/parts/DayButton.js +1 -1
  2. package/cjs/date/datepicker/parts/DayButton.js.map +1 -1
  3. package/cjs/date/hooks/useDatepicker.js +4 -1
  4. package/cjs/date/hooks/useDatepicker.js.map +1 -1
  5. package/cjs/date/hooks/useMonthPicker.js +4 -1
  6. package/cjs/date/hooks/useMonthPicker.js.map +1 -1
  7. package/cjs/date/monthpicker/MonthButton.js +1 -1
  8. package/cjs/date/monthpicker/MonthButton.js.map +1 -1
  9. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -4
  10. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  11. package/cjs/form/combobox/Input/Input.js +6 -1
  12. package/cjs/form/combobox/Input/Input.js.map +1 -1
  13. package/cjs/form/form-summary/FormSummary.d.ts +82 -0
  14. package/cjs/form/form-summary/FormSummary.js +81 -0
  15. package/cjs/form/form-summary/FormSummary.js.map +1 -0
  16. package/cjs/form/form-summary/FormSummaryAnswer.d.ts +11 -0
  17. package/cjs/form/form-summary/FormSummaryAnswer.js +25 -0
  18. package/cjs/form/form-summary/FormSummaryAnswer.js.map +1 -0
  19. package/cjs/form/form-summary/FormSummaryAnswers.d.ts +9 -0
  20. package/cjs/{toggle-group/ToggleItem.js → form/form-summary/FormSummaryAnswers.js} +6 -10
  21. package/cjs/form/form-summary/FormSummaryAnswers.js.map +1 -0
  22. package/cjs/form/form-summary/FormSummaryEditLink.d.ts +17 -0
  23. package/cjs/form/form-summary/FormSummaryEditLink.js +49 -0
  24. package/cjs/form/form-summary/FormSummaryEditLink.js.map +1 -0
  25. package/cjs/form/form-summary/FormSummaryHeader.d.ts +9 -0
  26. package/cjs/{tabs/TabPanel.js → form/form-summary/FormSummaryHeader.js} +6 -6
  27. package/cjs/form/form-summary/FormSummaryHeader.js.map +1 -0
  28. package/cjs/form/form-summary/FormSummaryHeading.d.ts +14 -0
  29. package/cjs/form/form-summary/FormSummaryHeading.js +31 -0
  30. package/cjs/form/form-summary/FormSummaryHeading.js.map +1 -0
  31. package/cjs/form/form-summary/FormSummaryLabel.d.ts +6 -0
  32. package/cjs/form/form-summary/FormSummaryLabel.js +45 -0
  33. package/cjs/form/form-summary/FormSummaryLabel.js.map +1 -0
  34. package/cjs/form/form-summary/FormSummaryValue.d.ts +6 -0
  35. package/cjs/form/form-summary/FormSummaryValue.js +49 -0
  36. package/cjs/form/form-summary/FormSummaryValue.js.map +1 -0
  37. package/cjs/form/form-summary/index.d.ts +8 -0
  38. package/cjs/form/form-summary/index.js +24 -0
  39. package/cjs/form/form-summary/index.js.map +1 -0
  40. package/cjs/index.d.ts +3 -2
  41. package/cjs/index.js +5 -3
  42. package/cjs/index.js.map +1 -1
  43. package/cjs/tabs/Tabs.context.d.ts +30 -0
  44. package/cjs/tabs/Tabs.context.js +14 -0
  45. package/cjs/tabs/Tabs.context.js.map +1 -0
  46. package/cjs/tabs/Tabs.d.ts +8 -43
  47. package/cjs/tabs/Tabs.js +19 -12
  48. package/cjs/tabs/Tabs.js.map +1 -1
  49. package/cjs/tabs/Tabs.types.d.ts +41 -0
  50. package/cjs/tabs/Tabs.types.js +3 -0
  51. package/cjs/tabs/Tabs.types.js.map +1 -0
  52. package/cjs/tabs/index.d.ts +5 -4
  53. package/cjs/tabs/index.js +6 -6
  54. package/cjs/tabs/index.js.map +1 -1
  55. package/cjs/tabs/parts/tab/Tab.d.ts +25 -0
  56. package/cjs/tabs/parts/tab/Tab.js +64 -0
  57. package/cjs/tabs/parts/tab/Tab.js.map +1 -0
  58. package/cjs/tabs/parts/tab/useTab.d.ts +20 -0
  59. package/cjs/tabs/parts/tab/useTab.js +29 -0
  60. package/cjs/tabs/parts/tab/useTab.js.map +1 -0
  61. package/cjs/tabs/parts/tablist/ScrollButtons.d.ts +8 -0
  62. package/cjs/tabs/parts/tablist/ScrollButtons.js +15 -0
  63. package/cjs/tabs/parts/tablist/ScrollButtons.js.map +1 -0
  64. package/{esm/tabs → cjs/tabs/parts/tablist}/TabList.d.ts +1 -1
  65. package/cjs/tabs/parts/tablist/TabList.js +61 -0
  66. package/cjs/tabs/parts/tablist/TabList.js.map +1 -0
  67. package/cjs/tabs/parts/tablist/useScrollButtons.d.ts +12 -0
  68. package/cjs/tabs/parts/tablist/useScrollButtons.js +61 -0
  69. package/cjs/tabs/parts/tablist/useScrollButtons.js.map +1 -0
  70. package/cjs/tabs/parts/tablist/useTabList.d.ts +7 -0
  71. package/cjs/tabs/parts/tablist/useTabList.js +66 -0
  72. package/cjs/tabs/parts/tablist/useTabList.js.map +1 -0
  73. package/cjs/tabs/parts/tabpanel/TabPanel.d.ts +25 -0
  74. package/cjs/tabs/{Tab.js → parts/tabpanel/TabPanel.js} +7 -20
  75. package/cjs/tabs/parts/tabpanel/TabPanel.js.map +1 -0
  76. package/cjs/tabs/parts/tabpanel/useTabPanel.d.ts +12 -0
  77. package/cjs/tabs/parts/tabpanel/useTabPanel.js +17 -0
  78. package/cjs/tabs/parts/tabpanel/useTabPanel.js.map +1 -0
  79. package/cjs/tabs/useTabs.d.ts +14 -0
  80. package/cjs/tabs/useTabs.js +43 -0
  81. package/cjs/tabs/useTabs.js.map +1 -0
  82. package/cjs/toggle-group/ToggleGroup.context.d.ts +31 -0
  83. package/cjs/toggle-group/ToggleGroup.context.js +16 -0
  84. package/cjs/toggle-group/ToggleGroup.context.js.map +1 -0
  85. package/cjs/toggle-group/ToggleGroup.d.ts +5 -36
  86. package/cjs/toggle-group/ToggleGroup.js +24 -24
  87. package/cjs/toggle-group/ToggleGroup.js.map +1 -1
  88. package/cjs/toggle-group/ToggleGroup.types.d.ts +38 -0
  89. package/cjs/toggle-group/ToggleGroup.types.js +3 -0
  90. package/cjs/toggle-group/ToggleGroup.types.js.map +1 -0
  91. package/cjs/toggle-group/index.d.ts +3 -2
  92. package/cjs/toggle-group/index.js +1 -1
  93. package/cjs/toggle-group/index.js.map +1 -1
  94. package/cjs/toggle-group/{ToggleItem.d.ts → parts/ToggleItem.d.ts} +2 -2
  95. package/cjs/toggle-group/parts/ToggleItem.js +53 -0
  96. package/cjs/toggle-group/parts/ToggleItem.js.map +1 -0
  97. package/cjs/toggle-group/parts/useToggleItem.d.ts +20 -0
  98. package/cjs/toggle-group/parts/useToggleItem.js +76 -0
  99. package/cjs/toggle-group/parts/useToggleItem.js.map +1 -0
  100. package/cjs/toggle-group/useToggleGroup.d.ts +8 -0
  101. package/cjs/toggle-group/useToggleGroup.js +29 -0
  102. package/cjs/toggle-group/useToggleGroup.js.map +1 -0
  103. package/cjs/util/hooks/descendants/descendant.js +10 -1
  104. package/cjs/util/hooks/descendants/descendant.js.map +1 -1
  105. package/cjs/util/hooks/descendants/useDescendant.js +0 -5
  106. package/cjs/util/hooks/descendants/useDescendant.js.map +1 -1
  107. package/esm/date/datepicker/parts/DayButton.js +1 -1
  108. package/esm/date/datepicker/parts/DayButton.js.map +1 -1
  109. package/esm/date/hooks/useDatepicker.js +4 -1
  110. package/esm/date/hooks/useDatepicker.js.map +1 -1
  111. package/esm/date/hooks/useMonthPicker.js +4 -1
  112. package/esm/date/hooks/useMonthPicker.js.map +1 -1
  113. package/esm/date/monthpicker/MonthButton.js +1 -1
  114. package/esm/date/monthpicker/MonthButton.js.map +1 -1
  115. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -4
  116. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  117. package/esm/form/combobox/Input/Input.js +6 -1
  118. package/esm/form/combobox/Input/Input.js.map +1 -1
  119. package/esm/form/form-summary/FormSummary.d.ts +82 -0
  120. package/esm/form/form-summary/FormSummary.js +52 -0
  121. package/esm/form/form-summary/FormSummary.js.map +1 -0
  122. package/esm/form/form-summary/FormSummaryAnswer.d.ts +11 -0
  123. package/esm/form/form-summary/FormSummaryAnswer.js +19 -0
  124. package/esm/form/form-summary/FormSummaryAnswer.js.map +1 -0
  125. package/esm/form/form-summary/FormSummaryAnswers.d.ts +9 -0
  126. package/esm/{tabs/TabPanel.js → form/form-summary/FormSummaryAnswers.js} +5 -6
  127. package/esm/form/form-summary/FormSummaryAnswers.js.map +1 -0
  128. package/esm/form/form-summary/FormSummaryEditLink.d.ts +17 -0
  129. package/esm/form/form-summary/FormSummaryEditLink.js +20 -0
  130. package/esm/form/form-summary/FormSummaryEditLink.js.map +1 -0
  131. package/esm/form/form-summary/FormSummaryHeader.d.ts +9 -0
  132. package/esm/form/form-summary/FormSummaryHeader.js +19 -0
  133. package/esm/form/form-summary/FormSummaryHeader.js.map +1 -0
  134. package/esm/form/form-summary/FormSummaryHeading.d.ts +14 -0
  135. package/esm/form/form-summary/FormSummaryHeading.js +5 -0
  136. package/esm/form/form-summary/FormSummaryHeading.js.map +1 -0
  137. package/esm/form/form-summary/FormSummaryLabel.d.ts +6 -0
  138. package/esm/form/form-summary/FormSummaryLabel.js +19 -0
  139. package/esm/form/form-summary/FormSummaryLabel.js.map +1 -0
  140. package/esm/form/form-summary/FormSummaryValue.d.ts +6 -0
  141. package/esm/form/form-summary/FormSummaryValue.js +20 -0
  142. package/esm/form/form-summary/FormSummaryValue.js.map +1 -0
  143. package/esm/form/form-summary/index.d.ts +8 -0
  144. package/esm/form/form-summary/index.js +10 -0
  145. package/esm/form/form-summary/index.js.map +1 -0
  146. package/esm/index.d.ts +3 -2
  147. package/esm/index.js +2 -1
  148. package/esm/index.js.map +1 -1
  149. package/esm/tabs/Tabs.context.d.ts +30 -0
  150. package/esm/tabs/Tabs.context.js +10 -0
  151. package/esm/tabs/Tabs.context.js.map +1 -0
  152. package/esm/tabs/Tabs.d.ts +8 -43
  153. package/esm/tabs/Tabs.js +19 -12
  154. package/esm/tabs/Tabs.js.map +1 -1
  155. package/esm/tabs/Tabs.types.d.ts +41 -0
  156. package/esm/tabs/Tabs.types.js +2 -0
  157. package/esm/tabs/Tabs.types.js.map +1 -0
  158. package/esm/tabs/index.d.ts +5 -4
  159. package/esm/tabs/index.js +3 -3
  160. package/esm/tabs/index.js.map +1 -1
  161. package/esm/tabs/parts/tab/Tab.d.ts +25 -0
  162. package/esm/tabs/parts/tab/Tab.js +35 -0
  163. package/esm/tabs/parts/tab/Tab.js.map +1 -0
  164. package/esm/tabs/parts/tab/useTab.d.ts +20 -0
  165. package/esm/tabs/parts/tab/useTab.js +25 -0
  166. package/esm/tabs/parts/tab/useTab.js.map +1 -0
  167. package/esm/tabs/parts/tablist/ScrollButtons.d.ts +8 -0
  168. package/esm/tabs/parts/tablist/ScrollButtons.js +10 -0
  169. package/esm/tabs/parts/tablist/ScrollButtons.js.map +1 -0
  170. package/{cjs/tabs → esm/tabs/parts/tablist}/TabList.d.ts +1 -1
  171. package/esm/tabs/parts/tablist/TabList.js +32 -0
  172. package/esm/tabs/parts/tablist/TabList.js.map +1 -0
  173. package/esm/tabs/parts/tablist/useScrollButtons.d.ts +12 -0
  174. package/esm/tabs/parts/tablist/useScrollButtons.js +57 -0
  175. package/esm/tabs/parts/tablist/useScrollButtons.js.map +1 -0
  176. package/esm/tabs/parts/tablist/useTabList.d.ts +7 -0
  177. package/esm/tabs/parts/tablist/useTabList.js +62 -0
  178. package/esm/tabs/parts/tablist/useTabList.js.map +1 -0
  179. package/esm/tabs/parts/tabpanel/TabPanel.d.ts +25 -0
  180. package/esm/tabs/parts/tabpanel/TabPanel.js +22 -0
  181. package/esm/tabs/parts/tabpanel/TabPanel.js.map +1 -0
  182. package/esm/tabs/parts/tabpanel/useTabPanel.d.ts +12 -0
  183. package/esm/tabs/parts/tabpanel/useTabPanel.js +13 -0
  184. package/esm/tabs/parts/tabpanel/useTabPanel.js.map +1 -0
  185. package/esm/tabs/useTabs.d.ts +14 -0
  186. package/esm/tabs/useTabs.js +39 -0
  187. package/esm/tabs/useTabs.js.map +1 -0
  188. package/esm/toggle-group/ToggleGroup.context.d.ts +31 -0
  189. package/esm/toggle-group/ToggleGroup.context.js +12 -0
  190. package/esm/toggle-group/ToggleGroup.context.js.map +1 -0
  191. package/esm/toggle-group/ToggleGroup.d.ts +5 -36
  192. package/esm/toggle-group/ToggleGroup.js +24 -24
  193. package/esm/toggle-group/ToggleGroup.js.map +1 -1
  194. package/esm/toggle-group/ToggleGroup.types.d.ts +38 -0
  195. package/esm/toggle-group/ToggleGroup.types.js +2 -0
  196. package/esm/toggle-group/ToggleGroup.types.js.map +1 -0
  197. package/esm/toggle-group/index.d.ts +3 -2
  198. package/esm/toggle-group/index.js +1 -1
  199. package/esm/toggle-group/index.js.map +1 -1
  200. package/esm/toggle-group/{ToggleItem.d.ts → parts/ToggleItem.d.ts} +2 -2
  201. package/esm/toggle-group/parts/ToggleItem.js +25 -0
  202. package/esm/toggle-group/parts/ToggleItem.js.map +1 -0
  203. package/esm/toggle-group/parts/useToggleItem.d.ts +20 -0
  204. package/esm/toggle-group/parts/useToggleItem.js +72 -0
  205. package/esm/toggle-group/parts/useToggleItem.js.map +1 -0
  206. package/esm/toggle-group/useToggleGroup.d.ts +8 -0
  207. package/esm/toggle-group/useToggleGroup.js +25 -0
  208. package/esm/toggle-group/useToggleGroup.js.map +1 -0
  209. package/esm/util/hooks/descendants/descendant.js +10 -1
  210. package/esm/util/hooks/descendants/descendant.js.map +1 -1
  211. package/esm/util/hooks/descendants/useDescendant.js +0 -5
  212. package/esm/util/hooks/descendants/useDescendant.js.map +1 -1
  213. package/package.json +15 -6
  214. package/src/date/datepicker/parts/DayButton.tsx +2 -0
  215. package/src/date/hooks/useDatepicker.tsx +5 -1
  216. package/src/date/hooks/useMonthPicker.tsx +5 -1
  217. package/src/date/monthpicker/MonthButton.tsx +1 -0
  218. package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +9 -1
  219. package/src/form/combobox/Input/Input.tsx +5 -0
  220. package/src/form/form-summary/FormSummary.tsx +106 -0
  221. package/src/form/form-summary/FormSummaryAnswer.tsx +27 -0
  222. package/src/form/form-summary/FormSummaryAnswers.tsx +25 -0
  223. package/src/form/form-summary/FormSummaryEditLink.tsx +35 -0
  224. package/src/form/form-summary/FormSummaryHeader.tsx +25 -0
  225. package/src/form/form-summary/FormSummaryHeading.tsx +23 -0
  226. package/src/form/form-summary/FormSummaryLabel.tsx +17 -0
  227. package/src/form/form-summary/FormSummaryValue.tsx +24 -0
  228. package/src/form/form-summary/index.ts +30 -0
  229. package/src/index.ts +16 -15
  230. package/src/tabs/Tabs.context.ts +24 -0
  231. package/src/tabs/Tabs.test.tsx +99 -37
  232. package/src/tabs/Tabs.tsx +48 -70
  233. package/src/tabs/Tabs.types.ts +43 -0
  234. package/src/tabs/index.ts +11 -4
  235. package/src/tabs/parts/tab/Tab.tsx +93 -0
  236. package/src/tabs/parts/tab/useTab.ts +52 -0
  237. package/src/tabs/parts/tablist/ScrollButtons.tsx +29 -0
  238. package/src/tabs/parts/tablist/TabList.tsx +56 -0
  239. package/src/tabs/parts/tablist/useScrollButtons.ts +69 -0
  240. package/src/tabs/parts/tablist/useTabList.ts +68 -0
  241. package/src/tabs/parts/tabpanel/TabPanel.tsx +50 -0
  242. package/src/tabs/parts/tabpanel/useTabPanel.ts +18 -0
  243. package/src/tabs/useTabs.ts +51 -0
  244. package/src/toggle-group/ToggleGroup.context.ts +31 -0
  245. package/src/toggle-group/ToggleGroup.test.tsx +57 -16
  246. package/src/toggle-group/ToggleGroup.tsx +63 -90
  247. package/src/toggle-group/ToggleGroup.types.ts +40 -0
  248. package/src/toggle-group/index.ts +3 -2
  249. package/src/toggle-group/parts/ToggleItem.tsx +55 -0
  250. package/src/toggle-group/parts/useToggleItem.ts +104 -0
  251. package/src/toggle-group/useToggleGroup.ts +33 -0
  252. package/src/util/hooks/descendants/descendant.ts +15 -1
  253. package/src/util/hooks/descendants/useDescendant.tsx +0 -5
  254. package/cjs/tabs/Tab.d.ts +0 -18
  255. package/cjs/tabs/Tab.js.map +0 -1
  256. package/cjs/tabs/TabList.js +0 -111
  257. package/cjs/tabs/TabList.js.map +0 -1
  258. package/cjs/tabs/TabPanel.d.ts +0 -13
  259. package/cjs/tabs/TabPanel.js.map +0 -1
  260. package/cjs/tabs/context.d.ts +0 -8
  261. package/cjs/tabs/context.js +0 -6
  262. package/cjs/tabs/context.js.map +0 -1
  263. package/cjs/toggle-group/ToggleItem.js.map +0 -1
  264. package/cjs/toggle-group/context.d.ts +0 -6
  265. package/cjs/toggle-group/context.js +0 -6
  266. package/cjs/toggle-group/context.js.map +0 -1
  267. package/esm/tabs/Tab.d.ts +0 -18
  268. package/esm/tabs/Tab.js +0 -34
  269. package/esm/tabs/Tab.js.map +0 -1
  270. package/esm/tabs/TabList.js +0 -82
  271. package/esm/tabs/TabList.js.map +0 -1
  272. package/esm/tabs/TabPanel.d.ts +0 -13
  273. package/esm/tabs/TabPanel.js.map +0 -1
  274. package/esm/tabs/context.d.ts +0 -8
  275. package/esm/tabs/context.js +0 -3
  276. package/esm/tabs/context.js.map +0 -1
  277. package/esm/toggle-group/ToggleItem.js +0 -24
  278. package/esm/toggle-group/ToggleItem.js.map +0 -1
  279. package/esm/toggle-group/context.d.ts +0 -6
  280. package/esm/toggle-group/context.js +0 -3
  281. package/esm/toggle-group/context.js.map +0 -1
  282. package/src/accordion/accordion.stories.tsx +0 -286
  283. package/src/alert/alert.stories.tsx +0 -306
  284. package/src/button/button.stories.tsx +0 -185
  285. package/src/chat/chat.stories.tsx +0 -341
  286. package/src/chips/chips.stories.tsx +0 -260
  287. package/src/copybutton/copy-button.stories.tsx +0 -261
  288. package/src/date/datepicker/datepicker.stories.tsx +0 -575
  289. package/src/date/monthpicker/monthpicker.stories.tsx +0 -204
  290. package/src/dropdown/dropdown.stories.tsx +0 -124
  291. package/src/expansion-card/expansion-card.stories.tsx +0 -282
  292. package/src/form/checkbox/checkbox.stories.tsx +0 -281
  293. package/src/form/combobox/combobox.stories.tsx +0 -626
  294. package/src/form/confirmation-panel/confirmation-panel.stories.tsx +0 -128
  295. package/src/form/error-summary/error-summary.stories.tsx +0 -81
  296. package/src/form/fieldset/fieldset.stories.tsx +0 -157
  297. package/src/form/file-upload/file-upload-dropzone.stories.tsx +0 -123
  298. package/src/form/file-upload/file-upload-item.stories.tsx +0 -148
  299. package/src/form/file-upload/file-upload.stories.tsx +0 -248
  300. package/src/form/radio/radio.stories.tsx +0 -230
  301. package/src/form/search/search.stories.tsx +0 -238
  302. package/src/form/select/select.stories.tsx +0 -172
  303. package/src/form/switch/switch.stories.tsx +0 -171
  304. package/src/form/textarea/textarea.stories.tsx +0 -254
  305. package/src/form/textfield/text-field.stories.tsx +0 -143
  306. package/src/guide-panel/guidepanel.stories.tsx +0 -90
  307. package/src/help-text/help-text.stories.tsx +0 -91
  308. package/src/internal-header/header.stories.tsx +0 -229
  309. package/src/layout/bleed/Bleed.stories.tsx +0 -395
  310. package/src/layout/box/Box.stories.tsx +0 -380
  311. package/src/layout/grid/h-grid.stories.tsx +0 -122
  312. package/src/layout/page/Page.stories.tsx +0 -271
  313. package/src/layout/responsive/hide.stories.tsx +0 -80
  314. package/src/layout/responsive/show.stories.tsx +0 -80
  315. package/src/layout/sidemal-test/navno-sidemal.stories.tsx +0 -69
  316. package/src/layout/stack/stack.stories.tsx +0 -183
  317. package/src/link/stories/link.stories.tsx +0 -304
  318. package/src/link-panel/link-panel.stories.tsx +0 -59
  319. package/src/list/list.stories.tsx +0 -280
  320. package/src/loader/loader.stories.tsx +0 -82
  321. package/src/modal/modal.stories.tsx +0 -395
  322. package/src/pagination/pagination.stories.tsx +0 -110
  323. package/src/popover/popover.stories.tsx +0 -113
  324. package/src/portal/Portal.stories.tsx +0 -102
  325. package/src/read-more/readmore.stories.tsx +0 -91
  326. package/src/skeleton/skeleton.stories.tsx +0 -130
  327. package/src/stepper/stepper.stories.tsx +0 -200
  328. package/src/table/stories/table-1.stories.tsx +0 -292
  329. package/src/table/stories/table-2-expandable.stories.tsx +0 -298
  330. package/src/table/stories/table-3-async.stories.tsx +0 -179
  331. package/src/table/stories/tests/table.stories.tsx +0 -102
  332. package/src/tabs/Tab.tsx +0 -66
  333. package/src/tabs/TabList.tsx +0 -128
  334. package/src/tabs/TabPanel.tsx +0 -26
  335. package/src/tabs/Tabs.stories.tsx +0 -191
  336. package/src/tabs/context.ts +0 -9
  337. package/src/tag/tag.stories.tsx +0 -126
  338. package/src/timeline/timeline.stories.tsx +0 -445
  339. package/src/toggle-group/ToggleGroup.stories.tsx +0 -137
  340. package/src/toggle-group/ToggleItem.tsx +0 -41
  341. package/src/toggle-group/context.ts +0 -9
  342. package/src/tooltip/tooltip.stories.tsx +0 -101
  343. package/src/typography/stories/bodylong.stories.tsx +0 -209
  344. package/src/typography/stories/bodyshort.stories.tsx +0 -208
  345. package/src/typography/stories/detail.stories.tsx +0 -115
  346. package/src/typography/stories/error-message.stories.tsx +0 -122
  347. package/src/typography/stories/heading.stories.tsx +0 -169
  348. package/src/typography/stories/label.stories.tsx +0 -131
  349. package/src/util/hooks/descendants/descendant.stories.tsx +0 -147
@@ -1,41 +0,0 @@
1
- import * as RadixToggleGroup from "@radix-ui/react-toggle-group";
2
- import cl from "clsx";
3
- import React, { forwardRef, useContext } from "react";
4
- import { BodyShort } from "../typography/BodyShort";
5
- import { ToggleGroupContext } from "./context";
6
-
7
- export interface ToggleGroupItemProps
8
- extends React.HTMLAttributes<HTMLButtonElement> {
9
- /**
10
- * Content
11
- */
12
- children: React.ReactNode;
13
- /**
14
- * Value for state-handling
15
- */
16
- value: string;
17
- }
18
-
19
- const ToggleItem = forwardRef<HTMLButtonElement, ToggleGroupItemProps>(
20
- ({ className, children, ...rest }, ref) => {
21
- const context = useContext(ToggleGroupContext);
22
-
23
- return (
24
- <RadixToggleGroup.Item
25
- {...rest}
26
- ref={ref}
27
- className={cl("navds-toggle-group__button", className)}
28
- >
29
- <BodyShort
30
- as="span"
31
- className="navds-toggle-group__button-inner"
32
- size={context?.size}
33
- >
34
- {children}
35
- </BodyShort>
36
- </RadixToggleGroup.Item>
37
- );
38
- },
39
- );
40
-
41
- export default ToggleItem;
@@ -1,9 +0,0 @@
1
- import { createContext } from "react";
2
-
3
- interface ToggleContextProps {
4
- size: "medium" | "small";
5
- }
6
-
7
- export const ToggleGroupContext = createContext<ToggleContextProps | null>(
8
- null,
9
- );
@@ -1,101 +0,0 @@
1
- import { Meta } from "@storybook/react";
2
- import React from "react";
3
- import { Alert } from "../alert";
4
- import { Button } from "../button";
5
- import { Search } from "../form/search";
6
- import Tooltip from "./Tooltip";
7
-
8
- export default {
9
- title: "ds-react/Tooltip",
10
- component: Tooltip,
11
- parameters: {
12
- chromatic: { disable: true },
13
- },
14
- argTypes: {
15
- open: {
16
- control: {
17
- type: "boolean",
18
- },
19
- },
20
- offset: {
21
- control: {
22
- type: "number",
23
- },
24
- },
25
- placement: {
26
- control: {
27
- type: "radio",
28
- options: ["top", "right", "bottom", "left"],
29
- },
30
- },
31
- },
32
- } as Meta;
33
-
34
- export const Demo = () => (
35
- <div>
36
- <Tooltip content="Tooltip example" placement="top">
37
- <Alert variant="info">test</Alert>
38
- </Tooltip>
39
- <Tooltip content="Tooltip example" placement="top">
40
- <Search label="søk" />
41
- </Tooltip>
42
- <Tooltip content="Tooltip example" placement="top">
43
- <Button aria-describedby="test123">Tooltip</Button>
44
- </Tooltip>
45
- </div>
46
- );
47
-
48
- export const Default = {
49
- render: (props) => {
50
- return (
51
- <Tooltip
52
- content="Tooltip example"
53
- open={props?.open}
54
- keys={props?.keys ? ["Cmd", "K"] : undefined}
55
- placement={props?.placement}
56
- arrow={props?.arrow}
57
- delay={props?.delay}
58
- offset={props?.offset}
59
- >
60
- <Button aria-describedby="test123">Tooltip</Button>
61
- </Tooltip>
62
- );
63
- },
64
-
65
- args: {
66
- keys: false,
67
- arrow: true,
68
- delay: 150,
69
- },
70
- };
71
-
72
- export const Placement = () => {
73
- return (
74
- <div className="colgap">
75
- <Tooltip content="Tooltip example" open={true} placement="top">
76
- <div>Element</div>
77
- </Tooltip>
78
- <Tooltip content="Tooltip example" open={true} placement="right">
79
- <div>Element</div>
80
- </Tooltip>
81
- <Tooltip content="Tooltip example" open={true} placement="left">
82
- <div>Element</div>
83
- </Tooltip>
84
- <Tooltip content="Tooltip example" open={true} placement="bottom">
85
- <div>Element</div>
86
- </Tooltip>
87
- </div>
88
- );
89
- };
90
-
91
- export const Keys = () => {
92
- return (
93
- <Tooltip
94
- content="Tooltip example Laboris reprehenderit sit sunt nisi velit mollit esse excepteur. Consectetur ullamco quis laboris enim nulla amet proident proident deserunt laborum. Aliqua adipisicing ipsum nisi ipsum nisi pariatur tempor amet aute labore laboris eiusmod adipisicing eu. Et cillum ipsum voluptate ea irure aliquip laboris mollit in. Voluptate tempor do voluptate reprehenderit ea dolor velit ullamco et magna enim ut sit. Pariatur culpa nulla consectetur voluptate id Lorem incididunt magna aliqua sunt ut Lorem. Laborum est quis aute enim et fugiat aute."
95
- open={true}
96
- keys={["CMD", "K"]}
97
- >
98
- <div>Element</div>
99
- </Tooltip>
100
- );
101
- };
@@ -1,209 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { expect, within } from "@storybook/test";
3
- import React from "react";
4
- import { VStack } from "../../layout/stack";
5
- import BodyLong from "../BodyLong";
6
-
7
- const meta: Meta<typeof BodyLong> = {
8
- title: "ds-react/Typography/BodyLong",
9
- component: BodyLong,
10
- decorators: [(story) => <div style={{ maxWidth: "700px" }}>{story()}</div>],
11
- parameters: {
12
- chromatic: { disable: true },
13
- },
14
- };
15
- export default meta;
16
-
17
- type Story = StoryObj<typeof BodyLong>;
18
-
19
- const lorem =
20
- "Hvis du ikke bor sammen med begge foreldrene dine, kan du ha rett til barnebidrag fra en eller begge foreldre mens du fullfører videregående skole eller tilsvarende.";
21
-
22
- export const Controls: Story = {
23
- args: {
24
- spacing: false,
25
- children: lorem,
26
-
27
- truncate: false,
28
- visuallyHidden: false,
29
- },
30
- argTypes: {
31
- size: {
32
- control: "radio",
33
- options: ["large", "medium", "small"],
34
- },
35
- weight: {
36
- control: "radio",
37
- options: ["regular", "semibold"],
38
- },
39
- align: {
40
- control: "radio",
41
- options: ["start", "center", "end"],
42
- },
43
- textColor: {
44
- control: "radio",
45
- options: ["default", "subtle"],
46
- },
47
- },
48
- };
49
-
50
- export const SizeLarge: Story = {
51
- render: () => (
52
- <VStack gap="4">
53
- <BodyLong size="large">{lorem}</BodyLong>
54
- <BodyLong size="large" weight="semibold">
55
- {lorem}
56
- </BodyLong>
57
- <BodyLong size="large" truncate>
58
- {lorem}
59
- </BodyLong>
60
- </VStack>
61
- ),
62
- };
63
-
64
- export const SizeMedium: Story = {
65
- render: () => (
66
- <VStack gap="2">
67
- <BodyLong size="medium">{lorem}</BodyLong>
68
- <BodyLong size="medium" weight="semibold">
69
- {lorem}
70
- </BodyLong>
71
- <BodyLong size="medium" truncate>
72
- {lorem}
73
- </BodyLong>
74
- </VStack>
75
- ),
76
- };
77
-
78
- export const SizeSmall: Story = {
79
- render: () => (
80
- <VStack gap="2">
81
- <BodyLong size="small">{lorem}</BodyLong>
82
- <BodyLong size="small" weight="semibold">
83
- {lorem}
84
- </BodyLong>
85
- <BodyLong size="small" truncate>
86
- {lorem}
87
- </BodyLong>
88
- </VStack>
89
- ),
90
- };
91
-
92
- export const SpacingLarge: Story = {
93
- render: () => (
94
- <div>
95
- <BodyLong size="large" spacing>
96
- {lorem}
97
- </BodyLong>
98
- <BodyLong size="large" spacing>
99
- {lorem}
100
- </BodyLong>
101
- </div>
102
- ),
103
- };
104
-
105
- export const SpacingMedium: Story = {
106
- render: () => (
107
- <div>
108
- <BodyLong size="medium" spacing>
109
- {lorem}
110
- </BodyLong>
111
- <BodyLong size="medium" spacing>
112
- {lorem}
113
- </BodyLong>
114
- </div>
115
- ),
116
- };
117
-
118
- export const SpacingSmall: Story = {
119
- render: () => (
120
- <div>
121
- <BodyLong size="small" spacing>
122
- {lorem}
123
- </BodyLong>
124
- <BodyLong size="small" spacing>
125
- {lorem}
126
- </BodyLong>
127
- </div>
128
- ),
129
- };
130
-
131
- export const Colors: Story = {
132
- render: () => (
133
- <VStack gap="2">
134
- <BodyLong textColor="default">{lorem}</BodyLong>
135
- <BodyLong textColor="subtle">{lorem}</BodyLong>
136
- </VStack>
137
- ),
138
- };
139
-
140
- export const Align: Story = {
141
- render: () => (
142
- <VStack gap="2">
143
- <BodyLong align="start">{lorem}</BodyLong>
144
- <BodyLong align="center">{lorem}</BodyLong>
145
- <BodyLong align="end">{lorem}</BodyLong>
146
- </VStack>
147
- ),
148
- };
149
-
150
- export const OverrideTag: Story = {
151
- render: () => (
152
- <div>
153
- <BodyLong spacing>default bodylong</BodyLong>
154
- <BodyLong as="legend">legend bodylong</BodyLong>
155
- </div>
156
- ),
157
- play: async ({ canvasElement }) => {
158
- const canvas = within(canvasElement);
159
-
160
- const defaultBodyLong = canvas.getByText("default bodylong");
161
- const legendBodyLong = canvas.getByText("legend bodylong");
162
-
163
- expect(defaultBodyLong.tagName).toEqual("P");
164
- expect(legendBodyLong.tagName).toEqual("LEGEND");
165
- },
166
- };
167
-
168
- export const Chromatic: Story = {
169
- render: (...props) => (
170
- <div>
171
- <div>
172
- <h2>Large</h2>
173
- <h3>Size</h3>
174
- {SizeLarge.render?.(...props)}
175
- <h3>Spacing</h3>
176
- {SpacingLarge.render?.(...props)}
177
- </div>
178
- <div>
179
- <h2>Medium</h2>
180
- <h3>Size</h3>
181
- {SizeMedium.render?.(...props)}
182
- <h3>Spacing</h3>
183
- {SpacingMedium.render?.(...props)}
184
- </div>
185
- <div>
186
- <h2>Small</h2>
187
- <h3>Size</h3>
188
- {SizeSmall.render?.(...props)}
189
- <h3>Spacing</h3>
190
- {SpacingSmall.render?.(...props)}
191
- </div>
192
- <div>
193
- <h2>Colors</h2>
194
- {Colors.render?.(...props)}
195
- </div>
196
- <div>
197
- <h2>Align</h2>
198
- {Align.render?.(...props)}
199
- </div>
200
- <div>
201
- <h2>Override Tag</h2>
202
- {OverrideTag.render?.(...props)}
203
- </div>
204
- </div>
205
- ),
206
- parameters: {
207
- chromatic: { disable: false },
208
- },
209
- };
@@ -1,208 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { expect, within } from "@storybook/test";
3
- import React from "react";
4
- import { VStack } from "../../layout/stack";
5
- import { BodyShort } from "../BodyShort";
6
-
7
- const meta: Meta<typeof BodyShort> = {
8
- title: "ds-react/Typography/BodyShort",
9
- component: BodyShort,
10
- decorators: [(story) => <div style={{ maxWidth: "250px" }}>{story()}</div>],
11
- parameters: {
12
- chromatic: { disable: true },
13
- },
14
- };
15
- export default meta;
16
-
17
- type Story = StoryObj<typeof BodyShort>;
18
-
19
- const lorem = "Du må gjøre en filtrering for å se brukere i listen.";
20
-
21
- export const Controls: Story = {
22
- args: {
23
- spacing: false,
24
- children: lorem,
25
-
26
- truncate: false,
27
- visuallyHidden: false,
28
- },
29
- argTypes: {
30
- size: {
31
- control: "radio",
32
- options: ["large", "medium", "small"],
33
- },
34
- weight: {
35
- control: "radio",
36
- options: ["regular", "semibold"],
37
- },
38
- align: {
39
- control: "radio",
40
- options: ["start", "center", "end"],
41
- },
42
- textColor: {
43
- control: "radio",
44
- options: ["default", "subtle"],
45
- },
46
- },
47
- };
48
-
49
- export const SizeLarge: Story = {
50
- render: () => (
51
- <VStack gap="2">
52
- <BodyShort size="large">{lorem}</BodyShort>
53
- <BodyShort size="large" weight="semibold">
54
- {lorem}
55
- </BodyShort>
56
- <BodyShort size="large" truncate>
57
- {lorem}
58
- </BodyShort>
59
- </VStack>
60
- ),
61
- };
62
-
63
- export const SizeMedium: Story = {
64
- render: () => (
65
- <VStack gap="2">
66
- <BodyShort size="medium">{lorem}</BodyShort>
67
- <BodyShort size="medium" weight="semibold">
68
- {lorem}
69
- </BodyShort>
70
- <BodyShort size="medium" truncate>
71
- {lorem}
72
- </BodyShort>
73
- </VStack>
74
- ),
75
- };
76
-
77
- export const SizeSmall: Story = {
78
- render: () => (
79
- <VStack gap="2">
80
- <BodyShort size="small">{lorem}</BodyShort>
81
- <BodyShort size="small" weight="semibold">
82
- {lorem}
83
- </BodyShort>
84
- <BodyShort size="small" truncate>
85
- {lorem}
86
- </BodyShort>
87
- </VStack>
88
- ),
89
- };
90
-
91
- export const SpacingLarge: Story = {
92
- render: () => (
93
- <div>
94
- <BodyShort size="large" spacing>
95
- {lorem}
96
- </BodyShort>
97
- <BodyShort size="large" spacing>
98
- {lorem}
99
- </BodyShort>
100
- </div>
101
- ),
102
- };
103
-
104
- export const SpacingMedium: Story = {
105
- render: () => (
106
- <div>
107
- <BodyShort size="medium" spacing>
108
- {lorem}
109
- </BodyShort>
110
- <BodyShort size="medium" spacing>
111
- {lorem}
112
- </BodyShort>
113
- </div>
114
- ),
115
- };
116
-
117
- export const SpacingSmall: Story = {
118
- render: () => (
119
- <div>
120
- <BodyShort size="small" spacing>
121
- {lorem}
122
- </BodyShort>
123
- <BodyShort size="small" spacing>
124
- {lorem}
125
- </BodyShort>
126
- </div>
127
- ),
128
- };
129
-
130
- export const Colors: Story = {
131
- render: () => (
132
- <VStack gap="2">
133
- <BodyShort textColor="default">{lorem}</BodyShort>
134
- <BodyShort textColor="subtle">{lorem}</BodyShort>
135
- </VStack>
136
- ),
137
- };
138
-
139
- export const Align: Story = {
140
- render: () => (
141
- <VStack gap="2">
142
- <BodyShort align="start">{lorem}</BodyShort>
143
- <BodyShort align="center">{lorem}</BodyShort>
144
- <BodyShort align="end">{lorem}</BodyShort>
145
- </VStack>
146
- ),
147
- };
148
-
149
- export const OverrideTag: Story = {
150
- render: () => (
151
- <div>
152
- <BodyShort spacing>default bodyshort</BodyShort>
153
- <BodyShort as="legend">legend bodyshort</BodyShort>
154
- </div>
155
- ),
156
- play: async ({ canvasElement }) => {
157
- const canvas = within(canvasElement);
158
-
159
- const defaultBodyShort = canvas.getByText("default bodyshort");
160
- const legendBodyShort = canvas.getByText("legend bodyshort");
161
-
162
- expect(defaultBodyShort.tagName).toEqual("P");
163
- expect(legendBodyShort.tagName).toEqual("LEGEND");
164
- },
165
- };
166
-
167
- export const Chromatic: Story = {
168
- render: (...props) => (
169
- <div>
170
- <div>
171
- <h2>Large</h2>
172
- <h3>Size</h3>
173
- {SizeLarge.render?.(...props)}
174
- <h3>Spacing</h3>
175
- {SpacingLarge.render?.(...props)}
176
- </div>
177
- <div>
178
- <h2>Medium</h2>
179
- <h3>Size</h3>
180
- {SizeMedium.render?.(...props)}
181
- <h3>Spacing</h3>
182
- {SpacingMedium.render?.(...props)}
183
- </div>
184
- <div>
185
- <h2>Small</h2>
186
- <h3>Size</h3>
187
- {SizeSmall.render?.(...props)}
188
- <h3>Spacing</h3>
189
- {SpacingSmall.render?.(...props)}
190
- </div>
191
- <div>
192
- <h2>Colors</h2>
193
- {Colors.render?.(...props)}
194
- </div>
195
- <div>
196
- <h2>Align</h2>
197
- {Align.render?.(...props)}
198
- </div>
199
- <div>
200
- <h2>Override Tag</h2>
201
- {OverrideTag.render?.(...props)}
202
- </div>
203
- </div>
204
- ),
205
- parameters: {
206
- chromatic: { disable: false },
207
- },
208
- };
@@ -1,115 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { expect, within } from "@storybook/test";
3
- import React from "react";
4
- import { VStack } from "../../layout/stack";
5
- import Detail from "../Detail";
6
-
7
- const meta: Meta<typeof Detail> = {
8
- title: "ds-react/Typography/Detail",
9
- component: Detail,
10
- decorators: [(story) => <div style={{ maxWidth: "200px" }}>{story()}</div>],
11
- parameters: {
12
- chromatic: { disable: true },
13
- },
14
- };
15
- export default meta;
16
-
17
- type Story = StoryObj<typeof Detail>;
18
-
19
- const lorem = "Du må gjøre en filtrering for å se brukere i listen.";
20
-
21
- export const Controls: Story = {
22
- args: {
23
- spacing: false,
24
- children: lorem,
25
-
26
- truncate: false,
27
- visuallyHidden: false,
28
- },
29
- argTypes: {
30
- weight: {
31
- control: "radio",
32
- options: ["regular", "semibold"],
33
- },
34
- align: {
35
- control: "radio",
36
- options: ["start", "center", "end"],
37
- },
38
- textColor: {
39
- control: "radio",
40
- options: ["default", "subtle"],
41
- },
42
- },
43
- };
44
-
45
- export const Spacing: Story = {
46
- render: () => (
47
- <div>
48
- <Detail spacing>{lorem}</Detail>
49
- <Detail spacing>{lorem}</Detail>
50
- </div>
51
- ),
52
- };
53
-
54
- export const Colors: Story = {
55
- render: () => (
56
- <VStack gap="2">
57
- <Detail textColor="default">{lorem}</Detail>
58
- <Detail textColor="subtle">{lorem}</Detail>
59
- </VStack>
60
- ),
61
- };
62
-
63
- export const Align: Story = {
64
- render: () => (
65
- <VStack gap="2">
66
- <Detail align="start">{lorem}</Detail>
67
- <Detail align="center">{lorem}</Detail>
68
- <Detail align="end">{lorem}</Detail>
69
- </VStack>
70
- ),
71
- };
72
-
73
- export const OverrideTag: Story = {
74
- render: () => (
75
- <div>
76
- <Detail spacing>default detail</Detail>
77
- <Detail as="legend">legend detail</Detail>
78
- </div>
79
- ),
80
- play: async ({ canvasElement }) => {
81
- const canvas = within(canvasElement);
82
-
83
- const defaultDetail = canvas.getByText("default detail");
84
- const legendDetail = canvas.getByText("legend detail");
85
-
86
- expect(defaultDetail.tagName).toEqual("P");
87
- expect(legendDetail.tagName).toEqual("LEGEND");
88
- },
89
- };
90
-
91
- export const Chromatic: Story = {
92
- render: (...props) => (
93
- <div>
94
- <div>
95
- <h2>Spacing</h2>
96
- {Spacing.render?.(...props)}
97
- </div>
98
- <div>
99
- <h2>Colors</h2>
100
- {Colors.render?.(...props)}
101
- </div>
102
- <div>
103
- <h2>Align</h2>
104
- {Align.render?.(...props)}
105
- </div>
106
- <div>
107
- <h2>Override Tag</h2>
108
- {OverrideTag.render?.(...props)}
109
- </div>
110
- </div>
111
- ),
112
- parameters: {
113
- chromatic: { disable: false },
114
- },
115
- };