@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,204 +0,0 @@
1
- import { Meta, StoryFn, StoryObj } from "@storybook/react";
2
- import { setYear } from "date-fns";
3
- import React, { useId, useState } from "react";
4
- import { Button } from "../../button";
5
- import { useMonthpicker } from "../hooks";
6
- import { DateInputProps } from "../parts/DateInput";
7
- import MonthPicker from "./MonthPicker";
8
- import { MonthPickerProps } from "./types";
9
-
10
- export default {
11
- title: "ds-react/Monthpicker",
12
- component: MonthPicker,
13
- parameters: {
14
- chromatic: { disable: true },
15
- },
16
- } satisfies Meta<typeof MonthPicker>;
17
-
18
- type Story = StoryObj<typeof MonthPicker>;
19
-
20
- export const Default: StoryFn<{
21
- size: DateInputProps["size"];
22
- locale: MonthPickerProps["locale"];
23
- }> = (props) => {
24
- const { inputProps, monthpickerProps } = useMonthpicker({
25
- disabled: [new Date("Apr 1 2022")],
26
- locale: props.locale,
27
- });
28
-
29
- return (
30
- <div style={{ height: "20rem" }}>
31
- <MonthPicker {...monthpickerProps} onMonthSelect={console.log}>
32
- <MonthPicker.Input
33
- label="Velg måned"
34
- variant="monthpicker"
35
- size={props.size}
36
- {...inputProps}
37
- />
38
- </MonthPicker>
39
- </div>
40
- );
41
- };
42
- Default.argTypes = {
43
- size: {
44
- options: ["medium", "small"],
45
- control: { type: "radio" },
46
- },
47
- locale: {
48
- options: ["nb", "nn", "en"],
49
- control: { type: "radio" },
50
- },
51
- };
52
-
53
- export const DropdownCaption = () => {
54
- return (
55
- <MonthPicker.Standalone
56
- onMonthSelect={console.log}
57
- dropdownCaption
58
- fromDate={new Date("Feb 10 2019")}
59
- toDate={new Date("Sep 27 2032")}
60
- />
61
- );
62
- };
63
-
64
- export const NB = () => <MonthPicker.Standalone locale="nb" />;
65
- export const NN = () => <MonthPicker.Standalone locale="nn" />;
66
- export const EN = () => <MonthPicker.Standalone locale="en" />;
67
-
68
- export const DisabledMonths = () => (
69
- <MonthPicker.Standalone
70
- disabled={[
71
- { from: new Date("Jan 1 2022"), to: new Date("Jul 6 2022") },
72
- { from: new Date("Apr 2 2023"), to: new Date("Dec 4 2023") },
73
- new Date("Sep 5 2022"),
74
- new Date("Jan 5 2023"),
75
- ]}
76
- />
77
- );
78
-
79
- export const Standalone = () => {
80
- return <MonthPicker.Standalone />;
81
- };
82
-
83
- export const UseMonthpicker = () => {
84
- const { inputProps, monthpickerProps } = useMonthpicker({
85
- disabled: [new Date("Apr 1 2022")],
86
- onMonthChange: console.log,
87
- fromDate: new Date("Jan 1 2022"),
88
- toDate: new Date("Sep 27 2025"),
89
- });
90
-
91
- return (
92
- <div style={{ height: "20rem" }}>
93
- <MonthPicker {...monthpickerProps} dropdownCaption>
94
- <MonthPicker.Input
95
- {...inputProps}
96
- label="Velg måned"
97
- variant="monthpicker"
98
- />
99
- </MonthPicker>
100
- </div>
101
- );
102
- };
103
-
104
- export const UseMonthpickerFormat = () => {
105
- const { inputProps, monthpickerProps } = useMonthpicker({
106
- disabled: [new Date("Apr 1 2022")],
107
- onMonthChange: console.log,
108
- inputFormat: "MM.yyyy",
109
- });
110
-
111
- return (
112
- <div style={{ height: "20rem" }}>
113
- <MonthPicker {...monthpickerProps}>
114
- <MonthPicker.Input
115
- {...inputProps}
116
- label="Velg måned"
117
- variant="monthpicker"
118
- />
119
- </MonthPicker>
120
- </div>
121
- );
122
- };
123
-
124
- export const Required = () => {
125
- const { inputProps, monthpickerProps } = useMonthpicker({
126
- locale: "nb",
127
- defaultSelected: new Date(),
128
- disabled: [new Date("Apr 1 2022")],
129
- required: true,
130
- });
131
-
132
- return (
133
- <div style={{ height: "20rem" }}>
134
- <MonthPicker {...monthpickerProps}>
135
- <MonthPicker.Input
136
- {...inputProps}
137
- label="Velg måned"
138
- variant="monthpicker"
139
- />
140
- </MonthPicker>
141
- </div>
142
- );
143
- };
144
-
145
- export const UserControlled = () => {
146
- const [open, setOpen] = useState(false);
147
- const id = useId();
148
-
149
- return (
150
- <div>
151
- <MonthPicker open={open} onClose={() => setOpen(false)} id={id}>
152
- <Button aria-controls={id} onClick={() => setOpen((x) => !x)}>
153
- Velg måned
154
- </Button>
155
- </MonthPicker>
156
- </div>
157
- );
158
- };
159
-
160
- export const FollowYear = () => {
161
- const { monthpickerProps, inputProps, selectedMonth, setSelected } =
162
- useMonthpicker({
163
- fromDate: new Date("Aug 23 2019"),
164
- toDate: new Date("Aug 23 2025"),
165
- onMonthChange: console.log,
166
- });
167
-
168
- const customYearChange = (yearDate?: Date) => {
169
- monthpickerProps.onYearChange?.(yearDate);
170
- if (selectedMonth && yearDate) {
171
- setSelected(setYear(selectedMonth, yearDate.getFullYear()));
172
- }
173
- };
174
-
175
- return (
176
- <div className="min-h-96">
177
- <MonthPicker {...monthpickerProps} onYearChange={customYearChange}>
178
- <MonthPicker.Input {...inputProps} label="Velg måned" />
179
- </MonthPicker>
180
- {selectedMonth && <div className="pt-4">{selectedMonth.getMonth()}</div>}
181
- </div>
182
- );
183
- };
184
-
185
- export const Chromatic: Story = {
186
- render: () => (
187
- <div className="colgap">
188
- <MonthPicker.Standalone />
189
- <DropdownCaption />
190
- <NB />
191
- <NN />
192
- <EN />
193
- <DisabledMonths />
194
- <UseMonthpicker />
195
- <UseMonthpickerFormat />
196
- <Required />
197
- <UserControlled />
198
- <FollowYear />
199
- </div>
200
- ),
201
- parameters: {
202
- chromatic: { disable: false },
203
- },
204
- };
@@ -1,124 +0,0 @@
1
- import { Meta, StoryObj } from "@storybook/react";
2
- import React, { useState } from "react";
3
- import { Button } from "../button";
4
- import Dropdown from "./Dropdown";
5
-
6
- export default {
7
- title: "ds-react/Dropdown",
8
- component: Dropdown,
9
- parameters: {
10
- chromatic: { disable: true },
11
- },
12
- } satisfies Meta<typeof Dropdown>;
13
-
14
- type Story = StoryObj<typeof Dropdown>;
15
-
16
- export const Default: Story = {
17
- render: () => (
18
- <Dropdown onSelect={(event) => console.log(event)}>
19
- <Dropdown.Toggle>Toggle</Dropdown.Toggle>
20
- <Dropdown.Menu strategy="fixed">
21
- <Dropdown.Menu.GroupedList>
22
- <Dropdown.Menu.GroupedList.Heading>
23
- Systemer og oppslagsverk
24
- </Dropdown.Menu.GroupedList.Heading>
25
- <Dropdown.Menu.GroupedList.Item
26
- onClick={() => console.log("GroupedList.Item-click")}
27
- >
28
- Gosys
29
- </Dropdown.Menu.GroupedList.Item>
30
- </Dropdown.Menu.GroupedList>
31
- <Dropdown.Menu.Divider />
32
- <Dropdown.Menu.List>
33
- <Dropdown.Menu.List.Item onClick={() => console.log("Item-click")}>
34
- Gosys
35
- </Dropdown.Menu.List.Item>
36
- <Dropdown.Menu.List.Item>Psys</Dropdown.Menu.List.Item>
37
- <Dropdown.Menu.List.Item disabled>Infotrygd</Dropdown.Menu.List.Item>
38
- </Dropdown.Menu.List>
39
- </Dropdown.Menu>
40
- </Dropdown>
41
- ),
42
- };
43
-
44
- export const DefaultOpen: Story = {
45
- render: () => (
46
- <Dropdown onSelect={(event) => console.log(event)} defaultOpen>
47
- <Button as={Dropdown.Toggle}>Toggle</Button>
48
- <Dropdown.Menu
49
- strategy="fixed"
50
- onClose={() => console.log("ONCLOSE default")}
51
- >
52
- <Dropdown.Menu.GroupedList>
53
- <Dropdown.Menu.GroupedList.Heading>
54
- Systemer og oppslagsverk
55
- </Dropdown.Menu.GroupedList.Heading>
56
- <Dropdown.Menu.GroupedList.Item
57
- onClick={() => console.log("GroupedList.Item-click")}
58
- >
59
- Gosys
60
- </Dropdown.Menu.GroupedList.Item>
61
- </Dropdown.Menu.GroupedList>
62
- </Dropdown.Menu>
63
- </Dropdown>
64
- ),
65
- };
66
-
67
- export const ControlledOpen: Story = {
68
- render: () => {
69
- const [openState, setOpenState] = useState(true);
70
- return (
71
- <Dropdown onSelect={(event) => console.log(event)} open={openState}>
72
- <Button as={Dropdown.Toggle} onClick={() => setOpenState(!openState)}>
73
- Toggle
74
- </Button>
75
- <Dropdown.Menu
76
- strategy="fixed"
77
- onClose={() => console.log("ONCLOSE CONTROLLED")}
78
- >
79
- <Dropdown.Menu.GroupedList>
80
- <Dropdown.Menu.GroupedList.Heading>
81
- Systemer og oppslagsverk
82
- </Dropdown.Menu.GroupedList.Heading>
83
- <Dropdown.Menu.GroupedList.Item
84
- onClick={() => console.log("GroupedList.Item-click")}
85
- >
86
- Gosys
87
- </Dropdown.Menu.GroupedList.Item>
88
- </Dropdown.Menu.GroupedList>
89
- </Dropdown.Menu>
90
- </Dropdown>
91
- );
92
- },
93
- };
94
-
95
- export const Chromatic: Story = {
96
- render: () => (
97
- <Dropdown onSelect={(event) => console.log(event)} open>
98
- <Dropdown.Toggle>Toggle</Dropdown.Toggle>
99
- <Dropdown.Menu strategy="fixed">
100
- <Dropdown.Menu.GroupedList>
101
- <Dropdown.Menu.GroupedList.Heading>
102
- Systemer og oppslagsverk
103
- </Dropdown.Menu.GroupedList.Heading>
104
- <Dropdown.Menu.GroupedList.Item
105
- onClick={() => console.log("GroupedList.Item-click")}
106
- >
107
- Gosys
108
- </Dropdown.Menu.GroupedList.Item>
109
- </Dropdown.Menu.GroupedList>
110
- <Dropdown.Menu.Divider />
111
- <Dropdown.Menu.List>
112
- <Dropdown.Menu.List.Item onClick={() => console.log("Item-click")}>
113
- Gosys
114
- </Dropdown.Menu.List.Item>
115
- <Dropdown.Menu.List.Item>Psys</Dropdown.Menu.List.Item>
116
- <Dropdown.Menu.List.Item disabled>Infotrygd</Dropdown.Menu.List.Item>
117
- </Dropdown.Menu.List>
118
- </Dropdown.Menu>
119
- </Dropdown>
120
- ),
121
- parameters: {
122
- chromatic: { disable: false, delay: 300 },
123
- },
124
- };
@@ -1,282 +0,0 @@
1
- import { Meta, StoryFn, StoryObj } from "@storybook/react";
2
- import React, { useState } from "react";
3
- import { PlantIcon } from "@navikt/aksel-icons";
4
- import { ExpansionCard, ExpansionCardProps } from ".";
5
- import { BodyLong } from "../typography";
6
-
7
- const meta: Meta<typeof ExpansionCard> = {
8
- title: "ds-react/ExpansionCard",
9
- component: ExpansionCard,
10
- decorators: [
11
- (Story) => (
12
- <div
13
- style={{
14
- width: "600px",
15
- minHeight: "100vh",
16
- padding: "10rem 0",
17
- display: "flex",
18
- flexDirection: "column",
19
- gap: "1rem",
20
- }}
21
- >
22
- <Story />
23
- </div>
24
- ),
25
- ],
26
- parameters: {
27
- chromatic: { disable: true },
28
- },
29
- };
30
- export default meta;
31
-
32
- type Story = StoryObj<typeof ExpansionCard>;
33
-
34
- const Content = () => (
35
- <ExpansionCard.Content>
36
- <BodyLong spacing>
37
- På ditt faste arbeidssted vil du ha yrkesskadedekning også i hvilepauser,
38
- lunsjpauser, trimaktiviteter og lignende i arbeidstiden.
39
- </BodyLong>
40
- <BodyLong spacing>
41
- Som hovedregel er du som arbeidstaker ikke yrkesskadedekket på veien til
42
- og fra arbeid eller første og siste oppdragssted. Du er heller ikke
43
- yrkesskadedekket på fritiden eller under private gjøremål i arbeidstiden.
44
- </BodyLong>
45
- <BodyLong spacing>
46
- Lorem ipsum, dolor sit amet consectetur adipisicing elit. Fuga suscipit
47
- voluptatum expedita earum id, aperiam deleniti molestiae eveniet
48
- doloremque explicabo perspiciatis quasi repellendus! Est dolore a nemo
49
- aspernatur obcaecati dicta.
50
- </BodyLong>
51
- <BodyLong spacing>
52
- Lorem ipsum, dolor sit amet consectetur adipisicing elit. Fuga suscipit
53
- voluptatum expedita earum id, aperiam deleniti molestiae eveniet
54
- doloremque explicabo perspiciatis quasi repellendus! Est dolore a nemo
55
- aspernatur obcaecati dicta.
56
- </BodyLong>
57
- <BodyLong>
58
- Lorem ipsum, dolor sit amet consectetur adipisicing elit. Fuga suscipit
59
- voluptatum expedita earum id, aperiam deleniti molestiae eveniet
60
- doloremque explicabo perspiciatis quasi repellendus! Est dolore a nemo
61
- aspernatur obcaecati dicta.
62
- </BodyLong>
63
- </ExpansionCard.Content>
64
- );
65
-
66
- type DefaultStoryProps = ExpansionCardProps & { description: boolean };
67
- type DefaultStory = StoryFn<DefaultStoryProps>;
68
- export const Default: DefaultStory = (props: DefaultStoryProps) => {
69
- return (
70
- <ExpansionCard
71
- {...props}
72
- open={props.open || undefined}
73
- aria-label="default-demo"
74
- >
75
- <ExpansionCard.Header>
76
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
77
- {props.description && (
78
- <ExpansionCard.Description>
79
- For at yrkesskadedekningen skal gjelde, er det som hovedregel krav
80
- til tid, sted og arbeidsoppgaver
81
- </ExpansionCard.Description>
82
- )}
83
- </ExpansionCard.Header>
84
- <Content />
85
- </ExpansionCard>
86
- );
87
- };
88
- Default.args = {
89
- open: false,
90
- size: "medium",
91
- description: false,
92
- };
93
- Default.argTypes = {
94
- size: { control: "radio", options: ["medium", "small"] },
95
- };
96
-
97
- export const Description = () => (
98
- <ExpansionCard aria-label="bare description">
99
- <ExpansionCard.Header>
100
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
101
- <ExpansionCard.Description>
102
- For at yrkesskadedekningen skal gjelde, er det som hovedregel krav til
103
- tid, sted og arbeidsoppgaver
104
- </ExpansionCard.Description>
105
- </ExpansionCard.Header>
106
- <Content />
107
- </ExpansionCard>
108
- );
109
-
110
- export const Sizes = () => (
111
- <>
112
- <h2>Medium</h2>
113
- <ExpansionCard aria-label="Demo med description">
114
- <ExpansionCard.Header>
115
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
116
- <ExpansionCard.Description>
117
- For at yrkesskadedekningen skal gjelde, er det som hovedregel krav til
118
- tid, sted og arbeidsoppgaver
119
- </ExpansionCard.Description>
120
- </ExpansionCard.Header>
121
- <Content />
122
- </ExpansionCard>
123
- <ExpansionCard aria-label="Demo">
124
- <ExpansionCard.Header>
125
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
126
- </ExpansionCard.Header>
127
- <Content />
128
- </ExpansionCard>
129
- <h2>Small</h2>
130
- <ExpansionCard size="small" aria-label="small-demo">
131
- <ExpansionCard.Header>
132
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
133
- <ExpansionCard.Description>
134
- For at yrkesskadedekningen skal gjelde, er det som hovedregel krav til
135
- tid, sted og arbeidsoppgaver
136
- </ExpansionCard.Description>
137
- </ExpansionCard.Header>
138
- <Content />
139
- </ExpansionCard>
140
- <ExpansionCard
141
- size="small"
142
- aria-label="small-demo med avatar uten description"
143
- >
144
- <ExpansionCard.Header>
145
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
146
- </ExpansionCard.Header>
147
- <Content />
148
- </ExpansionCard>
149
- </>
150
- );
151
-
152
- export const HeadingSizing = () => (
153
- <>
154
- {(["large", "medium", "small"] as const).map((size) => (
155
- <ExpansionCard key={size} aria-label={`demo-${size}`}>
156
- <ExpansionCard.Header>
157
- <ExpansionCard.Title size={size}>{size}</ExpansionCard.Title>
158
- <ExpansionCard.Description>
159
- For at yrkesskadedekningen skal gjelde, er det som hovedregel krav
160
- til tid, sted og arbeidsoppgaver
161
- </ExpansionCard.Description>
162
- </ExpansionCard.Header>
163
- <Content />
164
- </ExpansionCard>
165
- ))}
166
- </>
167
- );
168
-
169
- export const DefaultOpen = () => (
170
- <ExpansionCard defaultOpen aria-label="defaultOpen demo">
171
- <ExpansionCard.Header>
172
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
173
- <ExpansionCard.Description>
174
- For at yrkesskadedekningen skal gjelde, er det som hovedregel krav til
175
- tid, sted og arbeidsoppgaver
176
- </ExpansionCard.Description>
177
- </ExpansionCard.Header>
178
- <Content />
179
- </ExpansionCard>
180
- );
181
-
182
- export const ControlledState = () => {
183
- const [open, setOpen] = useState(false);
184
- return (
185
- <ExpansionCard
186
- open={open}
187
- onToggle={setOpen}
188
- aria-label="Controlled-state demo"
189
- >
190
- <ExpansionCard.Header>
191
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
192
- <ExpansionCard.Description>
193
- For at yrkesskadedekningen skal gjelde, er det som hovedregel krav til
194
- tid, sted og arbeidsoppgaver
195
- </ExpansionCard.Description>
196
- </ExpansionCard.Header>
197
- <Content />
198
- </ExpansionCard>
199
- );
200
- };
201
-
202
- export const Customization = () => (
203
- <div className="subtle-card">
204
- <ExpansionCard aria-label="custom-styling demo">
205
- <ExpansionCard.Header>
206
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
207
- <ExpansionCard.Description>
208
- For at yrkesskadedekningen skal gjelde, er det som hovedregel krav til
209
- tid, sted og arbeidsoppgaver
210
- </ExpansionCard.Description>
211
- </ExpansionCard.Header>
212
- <Content />
213
- </ExpansionCard>
214
-
215
- <style>{`
216
- .subtle-card {
217
- --ac-expansioncard-bg: var(--a-surface-subtle);
218
- --ac-expansioncard-border-open-color: var(--a-border-alt-3);
219
- }`}</style>
220
- </div>
221
- );
222
-
223
- export const Icon = () => (
224
- <div>
225
- <ExpansionCard aria-label="custom-styling demo">
226
- <ExpansionCard.Header>
227
- <div className="with-icon">
228
- <div className="icon">
229
- <PlantIcon aria-hidden />
230
- </div>
231
- <div>
232
- <ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
233
- <ExpansionCard.Description>
234
- For at yrkesskadedekningen skal gjelde, er det som hovedregel krav
235
- til tid, sted og arbeidsoppgaver
236
- </ExpansionCard.Description>
237
- </div>
238
- </div>
239
- </ExpansionCard.Header>
240
- <Content />
241
- </ExpansionCard>
242
-
243
- <style>{`
244
- .with-icon {
245
- display: flex;
246
- align-items: center;
247
- gap: 1rem;
248
- }
249
- .icon {
250
- font-size: 3rem;
251
- flex-shrink: 0;
252
- display: grid;
253
- place-content: center;
254
- }`}</style>
255
- </div>
256
- );
257
-
258
- export const Chromatic: Story = {
259
- render: () => {
260
- return (
261
- <div>
262
- <h2>Description</h2>
263
- <Description />
264
- <h2>Sizes</h2>
265
- <Sizes />
266
- <h2>Heading sizing</h2>
267
- <HeadingSizing />
268
- <h2>Default open</h2>
269
- <DefaultOpen />
270
- <h2>Controlled state</h2>
271
- <ControlledState />
272
- <h2>Customization</h2>
273
- <Customization />
274
- <h2>Icon</h2>
275
- <Icon />
276
- </div>
277
- );
278
- },
279
- parameters: {
280
- chromatic: { disable: false },
281
- },
282
- };