@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,122 +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 ErrorMessage from "../ErrorMessage";
6
-
7
- const meta: Meta<typeof ErrorMessage> = {
8
- title: "ds-react/Typography/ErrorMessage",
9
- component: ErrorMessage,
10
- parameters: {
11
- chromatic: { disable: true },
12
- },
13
- };
14
- export default meta;
15
-
16
- type Story = StoryObj<typeof ErrorMessage>;
17
-
18
- const lorem =
19
- "Du må fylle ut: Oppgi årsaken til at du har ventet mer enn 6 måneder med å søke om refusjon";
20
-
21
- export const Controls: Story = {
22
- args: {
23
- spacing: false,
24
- children: lorem,
25
- },
26
- argTypes: {
27
- size: {
28
- control: "radio",
29
- options: ["medium", "small"],
30
- },
31
- },
32
- };
33
-
34
- export const SizeMedium: Story = {
35
- render: () => (
36
- <VStack gap="2">
37
- <ErrorMessage size="medium">{lorem}</ErrorMessage>
38
- <ErrorMessage size="medium">{lorem}</ErrorMessage>
39
- </VStack>
40
- ),
41
- };
42
-
43
- export const SizeSmall: Story = {
44
- render: () => (
45
- <VStack gap="2">
46
- <ErrorMessage size="small">{lorem}</ErrorMessage>
47
- <ErrorMessage size="small">{lorem}</ErrorMessage>
48
- </VStack>
49
- ),
50
- };
51
-
52
- export const SpacingMedium: Story = {
53
- render: () => (
54
- <div>
55
- <ErrorMessage size="medium" spacing>
56
- {lorem}
57
- </ErrorMessage>
58
- <ErrorMessage size="medium" spacing>
59
- {lorem}
60
- </ErrorMessage>
61
- </div>
62
- ),
63
- };
64
-
65
- export const SpacingSmall: Story = {
66
- render: () => (
67
- <div>
68
- <ErrorMessage size="small" spacing>
69
- {lorem}
70
- </ErrorMessage>
71
- <ErrorMessage size="small" spacing>
72
- {lorem}
73
- </ErrorMessage>
74
- </div>
75
- ),
76
- };
77
-
78
- export const OverrideTag: Story = {
79
- render: () => (
80
- <div>
81
- <ErrorMessage spacing>default errormessage</ErrorMessage>
82
- <ErrorMessage as="legend">legend errormessage</ErrorMessage>
83
- </div>
84
- ),
85
- play: async ({ canvasElement }) => {
86
- const canvas = within(canvasElement);
87
-
88
- const defaultErrorMessage = canvas.getByText("default errormessage");
89
- const legendErrorMessage = canvas.getByText("legend errormessage");
90
-
91
- expect(defaultErrorMessage.tagName).toEqual("P");
92
- expect(legendErrorMessage.tagName).toEqual("LEGEND");
93
- },
94
- };
95
-
96
- export const Chromatic: Story = {
97
- render: (...props) => (
98
- <div>
99
- <div>
100
- <h2>Medium</h2>
101
- <h3>Size</h3>
102
- {SizeMedium.render?.(...props)}
103
- <h3>Spacing</h3>
104
- {SpacingMedium.render?.(...props)}
105
- </div>
106
- <div>
107
- <h2>Small</h2>
108
- <h3>Size</h3>
109
- {SizeSmall.render?.(...props)}
110
- <h3>Spacing</h3>
111
- {SpacingSmall.render?.(...props)}
112
- </div>
113
- <div>
114
- <h2>Override Tag</h2>
115
- {OverrideTag.render?.(...props)}
116
- </div>
117
- </div>
118
- ),
119
- parameters: {
120
- chromatic: { disable: false },
121
- },
122
- };
@@ -1,169 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { expect, within } from "@storybook/test";
3
- import { default as React } from "react";
4
- import { VStack } from "../../layout/stack";
5
- import Heading from "../Heading";
6
-
7
- const meta: Meta<typeof Heading> = {
8
- title: "ds-react/Typography/Heading",
9
- component: Heading,
10
- decorators: [(story) => <div style={{ maxWidth: "300px" }}>{story()}</div>],
11
- parameters: {
12
- chromatic: { disable: true },
13
- },
14
- };
15
- export default meta;
16
-
17
- type Story = StoryObj<typeof Heading>;
18
-
19
- const lorem = "Hva kan vi hjelpe deg med?";
20
-
21
- export const Controls: Story = {
22
- args: {
23
- spacing: false,
24
- children: lorem,
25
- visuallyHidden: false,
26
- },
27
- argTypes: {
28
- size: {
29
- control: "radio",
30
- options: ["xlarge", "large", "medium", "small", "xsmall"],
31
- },
32
- level: {
33
- control: "radio",
34
- options: ["1", "2", "3", "4", "5", "6"],
35
- },
36
- align: {
37
- control: "radio",
38
- options: ["start", "center", "end"],
39
- },
40
- textColor: {
41
- control: "radio",
42
- options: ["default", "subtle"],
43
- },
44
- },
45
- };
46
-
47
- export const Sizes: Story = {
48
- render: () => (
49
- <VStack gap="4">
50
- <Heading level="1" size="xlarge">
51
- {lorem}
52
- </Heading>
53
- <Heading level="2" size="large">
54
- {lorem}
55
- </Heading>
56
- <Heading level="3" size="medium">
57
- {lorem}
58
- </Heading>
59
- <Heading level="4" size="small">
60
- {lorem}
61
- </Heading>
62
- <Heading level="5" size="xsmall">
63
- {lorem}
64
- </Heading>
65
- </VStack>
66
- ),
67
- };
68
-
69
- export const Spacing: Story = {
70
- render: () => (
71
- <div>
72
- <Heading level="1" size="xlarge" spacing>
73
- {lorem}
74
- </Heading>
75
- <Heading level="2" size="large" spacing>
76
- {lorem}
77
- </Heading>
78
- <Heading level="3" size="medium" spacing>
79
- {lorem}
80
- </Heading>
81
- <Heading level="4" size="small" spacing>
82
- {lorem}
83
- </Heading>
84
- <Heading level="5" size="xsmall" spacing>
85
- {lorem}
86
- </Heading>
87
- <Heading level="5" size="xsmall">
88
- {lorem}
89
- </Heading>
90
- </div>
91
- ),
92
- };
93
-
94
- export const Colors: Story = {
95
- render: () => (
96
- <VStack gap="2">
97
- <Heading level="1" size="large" textColor="default">
98
- {lorem}
99
- </Heading>
100
- <Heading level="2" size="large" textColor="subtle">
101
- {lorem}
102
- </Heading>
103
- </VStack>
104
- ),
105
- };
106
-
107
- export const Align: Story = {
108
- render: () => (
109
- <VStack gap="2">
110
- <Heading level="1" size="large" align="start">
111
- {lorem}
112
- </Heading>
113
- <Heading level="2" size="large" align="center">
114
- {lorem}
115
- </Heading>
116
- <Heading level="3" size="large" align="end">
117
- {lorem}
118
- </Heading>
119
- </VStack>
120
- ),
121
- };
122
-
123
- export const OverrideTag: Story = {
124
- render: () => (
125
- <div>
126
- <Heading spacing level="1" size="large">
127
- default heading
128
- </Heading>
129
- <Heading as="legend" size="large">
130
- legend heading
131
- </Heading>
132
- </div>
133
- ),
134
- play: async ({ canvasElement }) => {
135
- const canvas = within(canvasElement);
136
-
137
- const defaultHeading = canvas.getByText("default heading");
138
- const legendHeading = canvas.getByText("legend heading");
139
-
140
- expect(defaultHeading.tagName).toEqual("H1");
141
- expect(legendHeading.tagName).toEqual("LEGEND");
142
- },
143
- };
144
-
145
- export const Chromatic: Story = {
146
- render: (...props) => (
147
- <div>
148
- <div>
149
- <h2>Sizes</h2>
150
- {Sizes.render?.(...props)}
151
- </div>
152
- <div>
153
- <h2>Colors</h2>
154
- {Colors.render?.(...props)}
155
- </div>
156
- <div>
157
- <h2>Align</h2>
158
- {Align.render?.(...props)}
159
- </div>
160
- <div>
161
- <h2>Override Tag</h2>
162
- {OverrideTag.render?.(...props)}
163
- </div>
164
- </div>
165
- ),
166
- parameters: {
167
- chromatic: { disable: false },
168
- },
169
- };
@@ -1,131 +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 Label from "../Label";
6
-
7
- const meta: Meta<typeof Label> = {
8
- title: "ds-react/Typography/Label",
9
- component: Label,
10
- decorators: [(story) => <div style={{ maxWidth: "400px" }}>{story()}</div>],
11
- parameters: {
12
- chromatic: { disable: true },
13
- },
14
- };
15
- export default meta;
16
-
17
- type Story = StoryObj<typeof Label>;
18
-
19
- const lorem =
20
- "Oppgi årsaken til at du har ventet mer enn 6 måneder med å søke om refusjon";
21
-
22
- export const Controls: Story = {
23
- args: {
24
- spacing: false,
25
- children: lorem,
26
- visuallyHidden: false,
27
- },
28
- argTypes: {
29
- size: {
30
- control: "radio",
31
- options: ["large", "medium", "small"],
32
- },
33
- textColor: {
34
- control: "radio",
35
- options: ["default", "subtle"],
36
- },
37
- },
38
- };
39
-
40
- export const SizeMedium: Story = {
41
- render: () => <Label size="medium">{lorem}</Label>,
42
- };
43
-
44
- export const SizeSmall: Story = {
45
- render: () => <Label size="small">{lorem}</Label>,
46
- };
47
-
48
- export const SpacingMedium: Story = {
49
- render: () => (
50
- <div>
51
- <Label size="medium" spacing as="p">
52
- {lorem}
53
- </Label>
54
- <Label size="medium" spacing as="p">
55
- {lorem}
56
- </Label>
57
- </div>
58
- ),
59
- };
60
-
61
- export const SpacingSmall: Story = {
62
- render: () => (
63
- <div>
64
- <Label size="small" spacing as="p">
65
- {lorem}
66
- </Label>
67
- <Label size="small" spacing as="p">
68
- {lorem}
69
- </Label>
70
- </div>
71
- ),
72
- };
73
-
74
- export const Colors: Story = {
75
- render: () => (
76
- <VStack gap="2">
77
- <Label textColor="default">{lorem}</Label>
78
- <Label textColor="subtle">{lorem}</Label>
79
- </VStack>
80
- ),
81
- };
82
-
83
- export const OverrideTag: Story = {
84
- render: () => (
85
- <div>
86
- <Label spacing>default label</Label>
87
- <Label as="legend">legend label</Label>
88
- </div>
89
- ),
90
- play: async ({ canvasElement }) => {
91
- const canvas = within(canvasElement);
92
-
93
- const defaultLabel = canvas.getByText("default label");
94
- const legendLabel = canvas.getByText("legend label");
95
-
96
- expect(defaultLabel.tagName).toEqual("LABEL");
97
- expect(legendLabel.tagName).toEqual("LEGEND");
98
- },
99
- };
100
-
101
- export const Chromatic: Story = {
102
- render: (...props) => (
103
- <div>
104
- <div>
105
- <h2>Medium</h2>
106
- <h3>Size</h3>
107
- {SizeMedium.render?.(...props)}
108
- <h3>Spacing</h3>
109
- {SpacingMedium.render?.(...props)}
110
- </div>
111
- <div>
112
- <h2>Small</h2>
113
- <h3>Size</h3>
114
- {SizeSmall.render?.(...props)}
115
- <h3>Spacing</h3>
116
- {SpacingSmall.render?.(...props)}
117
- </div>
118
- <div>
119
- <h2>Colors</h2>
120
- {Colors.render?.(...props)}
121
- </div>
122
- <div>
123
- <h2>Override Tag</h2>
124
- {OverrideTag.render?.(...props)}
125
- </div>
126
- </div>
127
- ),
128
- parameters: {
129
- chromatic: { disable: false },
130
- },
131
- };
@@ -1,147 +0,0 @@
1
- import * as React from "react";
2
- import { Box } from "../../../layout/box";
3
- import { HStack } from "../../../layout/stack";
4
- import { createDescendantContext } from "./useDescendant";
5
-
6
- export default {
7
- title: "Utilities/Descendants",
8
- parameters: {
9
- chromatic: { disable: true },
10
- },
11
- };
12
-
13
- const [
14
- DescendantsProvider,
15
- /* eslint-disable @typescript-eslint/no-unused-vars */
16
- _useDescendantsContext,
17
- useDescendants,
18
- useDescendant,
19
- ] = createDescendantContext<HTMLDivElement, { value?: string }>();
20
-
21
- function Select({ children }: { children?: React.ReactNode }) {
22
- const descendants = useDescendants();
23
- const count = descendants.count();
24
-
25
- React.useEffect(() => {
26
- descendants.last()?.node.focus();
27
- }, [descendants, count]);
28
-
29
- return (
30
- <DescendantsProvider value={descendants}>{children}</DescendantsProvider>
31
- );
32
- }
33
-
34
- function Option({ value, disabled }: { value?: string; disabled?: boolean }) {
35
- const { register, index, descendants } = useDescendant({
36
- disabled,
37
- });
38
-
39
- return (
40
- <Box
41
- ref={register}
42
- role="button"
43
- tabIndex={0}
44
- data-value={value}
45
- onKeyDown={(event) => {
46
- if (event.key === "ArrowDown") {
47
- descendants.next(index)?.node.focus();
48
- } else if (event.key === "ArrowUp") {
49
- descendants.prev(index)?.node.focus();
50
- }
51
- }}
52
- >
53
- Option {index + 1}
54
- </Box>
55
- );
56
- }
57
-
58
- export const DynamicUpdates = () => {
59
- const [done, setDone] = React.useState(false);
60
-
61
- React.useEffect(() => {
62
- const interval = setInterval(() => setDone((x) => !x), 3000);
63
-
64
- return () => window.clearInterval(interval);
65
- }, []);
66
-
67
- return (
68
- <Select>
69
- <Option value="option 1" />
70
- <div>
71
- <div>
72
- <Option value="option 2" />
73
- {done && (
74
- <div>
75
- <Option value="option 3" />
76
- <Option value="option 4" />
77
- </div>
78
- )}
79
- </div>
80
- <Option value="option 5" disabled />
81
- </div>
82
- {done && (
83
- <div>
84
- <Option value="option 6" />
85
- <Option value="option 7" />
86
- </div>
87
- )}
88
- </Select>
89
- );
90
- };
91
-
92
- function NumberInputWrapper({ children }: { children?: React.ReactNode }) {
93
- const descendants = useDescendants();
94
-
95
- React.useEffect(() => {
96
- descendants.first()?.node.focus();
97
- }, [descendants]);
98
-
99
- return (
100
- <DescendantsProvider value={descendants}>
101
- <HStack gap="1">{children}</HStack>
102
- </DescendantsProvider>
103
- );
104
- }
105
-
106
- function Input() {
107
- const [focused, setFocused] = React.useState(false);
108
- const { register, index, descendants } = useDescendant();
109
-
110
- return (
111
- <input
112
- style={{
113
- width: "3rem",
114
- height: "3rem",
115
- borderRadius: "4px",
116
- textAlign: "center",
117
- border: "1px solid var(--a-border-default)",
118
- }}
119
- placeholder={focused ? "" : "0"}
120
- onFocus={() => setFocused(true)}
121
- onBlur={() => setFocused(false)}
122
- ref={register}
123
- type="tel"
124
- autoCapitalize="none"
125
- autoComplete="false"
126
- inputMode="numeric"
127
- onKeyDown={(event) => {
128
- if (event.key === "ArrowRight") {
129
- descendants.next(index, false)?.node.focus();
130
- }
131
- if (event.key === "ArrowLeft") {
132
- descendants.prev(index, false)?.node.focus();
133
- }
134
- }}
135
- />
136
- );
137
- }
138
-
139
- export const NumberInput = () => {
140
- return (
141
- <NumberInputWrapper>
142
- <Input />
143
- <Input />
144
- <Input />
145
- </NumberInputWrapper>
146
- );
147
- };