@navikt/ds-react 5.5.0 → 5.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 (342) hide show
  1. package/_docs.json +507 -106
  2. package/cjs/accordion/Accordion.js +1 -0
  3. package/cjs/accordion/AccordionContext.js +1 -1
  4. package/cjs/accordion/AccordionHeader.js +2 -2
  5. package/cjs/accordion/AccordionItem.js +6 -2
  6. package/cjs/date/datepicker/DatePicker.js +30 -34
  7. package/cjs/date/datepicker/DatePickerStandalone.js +23 -26
  8. package/cjs/date/datepicker/parts/Caption.js +28 -0
  9. package/cjs/date/datepicker/{DayButton.js → parts/DayButton.js} +1 -2
  10. package/cjs/date/datepicker/{caption → parts}/DropdownCaption.js +13 -7
  11. package/cjs/date/datepicker/parts/HeadRow.js +36 -0
  12. package/cjs/date/datepicker/parts/Row.js +23 -0
  13. package/cjs/date/datepicker/{TableHead.js → parts/TableHead.js} +4 -3
  14. package/cjs/date/datepicker/parts/WeekNumber.js +35 -0
  15. package/cjs/date/datepicker/parts/WeekRow.js +34 -0
  16. package/cjs/date/hooks/useDatepicker.js +2 -2
  17. package/cjs/date/hooks/useMonthPicker.js +2 -2
  18. package/cjs/date/hooks/useRangeDatepicker.js +3 -3
  19. package/cjs/date/monthpicker/MonthSelector.js +1 -1
  20. package/cjs/date/utils/get-month-weeks.js +46 -0
  21. package/cjs/date/utils/labels.js +40 -1
  22. package/cjs/dropdown/Toggle.js +2 -2
  23. package/cjs/dropdown/index.js +0 -15
  24. package/cjs/form/Select.js +1 -1
  25. package/cjs/form/checkbox/useCheckbox.js +3 -4
  26. package/cjs/form/combobox/Combobox.js +1 -1
  27. package/cjs/form/combobox/Input/Input.js +1 -1
  28. package/cjs/form/search/Search.js +3 -1
  29. package/cjs/index.js +1 -0
  30. package/cjs/layout/bleed/Bleed.js +69 -0
  31. package/cjs/layout/bleed/index.js +5 -0
  32. package/cjs/layout/bleed/package.json +6 -0
  33. package/cjs/layout/box/Box.js +1 -1
  34. package/cjs/layout/responsive/Responsive.js +8 -6
  35. package/cjs/layout/sidemal-test/AvatarPanel.js +18 -0
  36. package/cjs/layout/sidemal-test/Content.js +66 -0
  37. package/cjs/layout/sidemal-test/Filter.js +48 -0
  38. package/cjs/layout/sidemal-test/Header.js +48 -0
  39. package/cjs/layout/sidemal-test/Intro.js +36 -0
  40. package/cjs/layout/sidemal-test/Sidebar.js +49 -0
  41. package/cjs/layout/sidemal-test/content-box/ContentBox.js +65 -0
  42. package/cjs/layout/sidemal-test/content-box/index.js +8 -0
  43. package/cjs/layout/sidemal-test/content-box/package.json +6 -0
  44. package/cjs/layout/stack/Stack.js +2 -2
  45. package/cjs/layout/stack/index.js +3 -1
  46. package/cjs/layout/utilities/css.js +37 -14
  47. package/cjs/loader/Loader.js +2 -2
  48. package/cjs/modal/dialog-polyfill.js +2 -0
  49. package/cjs/popover/Popover.js +3 -2
  50. package/cjs/tabs/TabList.js +6 -7
  51. package/cjs/timeline/Pin.js +20 -20
  52. package/cjs/timeline/Timeline.js +4 -4
  53. package/cjs/timeline/period/ClickablePeriod.js +19 -19
  54. package/cjs/timeline/period/index.js +1 -1
  55. package/cjs/timeline/utils/timeline.js +3 -3
  56. package/cjs/toggle-group/ToggleGroup.js +1 -1
  57. package/cjs/tooltip/Tooltip.js +1 -1
  58. package/cjs/typography/Heading.js +1 -1
  59. package/cjs/util/RandomIcon.js +1 -0
  60. package/cjs/util/Slot.js +88 -0
  61. package/cjs/util/useId.js +2 -4
  62. package/esm/accordion/Accordion.js +1 -0
  63. package/esm/accordion/Accordion.js.map +1 -1
  64. package/esm/accordion/AccordionContext.d.ts +1 -0
  65. package/esm/accordion/AccordionContext.js +1 -1
  66. package/esm/accordion/AccordionContext.js.map +1 -1
  67. package/esm/accordion/AccordionHeader.js +2 -2
  68. package/esm/accordion/AccordionHeader.js.map +1 -1
  69. package/esm/accordion/AccordionItem.js +6 -2
  70. package/esm/accordion/AccordionItem.js.map +1 -1
  71. package/esm/date/datepicker/DatePicker.d.ts +14 -5
  72. package/esm/date/datepicker/DatePicker.js +29 -33
  73. package/esm/date/datepicker/DatePicker.js.map +1 -1
  74. package/esm/date/datepicker/DatePickerStandalone.d.ts +3 -2
  75. package/esm/date/datepicker/DatePickerStandalone.js +22 -25
  76. package/esm/date/datepicker/DatePickerStandalone.js.map +1 -1
  77. package/esm/date/datepicker/{caption → parts}/Caption.d.ts +3 -0
  78. package/esm/date/datepicker/parts/Caption.js +22 -0
  79. package/esm/date/datepicker/parts/Caption.js.map +1 -0
  80. package/esm/date/datepicker/parts/DayButton.d.ts +4 -0
  81. package/esm/date/datepicker/{DayButton.js → parts/DayButton.js} +2 -1
  82. package/esm/date/datepicker/parts/DayButton.js.map +1 -0
  83. package/esm/date/datepicker/{caption → parts}/DropdownCaption.d.ts +3 -0
  84. package/esm/date/datepicker/parts/DropdownCaption.js +44 -0
  85. package/esm/date/datepicker/parts/DropdownCaption.js.map +1 -0
  86. package/esm/date/datepicker/parts/HeadRow.d.ts +11 -0
  87. package/esm/date/datepicker/parts/HeadRow.js +29 -0
  88. package/esm/date/datepicker/parts/HeadRow.js.map +1 -0
  89. package/esm/date/datepicker/parts/Row.d.ts +17 -0
  90. package/esm/date/datepicker/parts/Row.js +19 -0
  91. package/esm/date/datepicker/parts/Row.js.map +1 -0
  92. package/esm/date/datepicker/parts/TableHead.d.ts +6 -0
  93. package/esm/date/datepicker/{TableHead.js → parts/TableHead.js} +5 -2
  94. package/esm/date/datepicker/parts/TableHead.js.map +1 -0
  95. package/esm/date/datepicker/parts/WeekNumber.d.ts +13 -0
  96. package/esm/date/datepicker/parts/WeekNumber.js +31 -0
  97. package/esm/date/datepicker/parts/WeekNumber.js.map +1 -0
  98. package/esm/date/datepicker/parts/WeekRow.d.ts +5 -0
  99. package/esm/date/datepicker/parts/WeekRow.js +30 -0
  100. package/esm/date/datepicker/parts/WeekRow.js.map +1 -0
  101. package/esm/date/hooks/useDatepicker.js +2 -2
  102. package/esm/date/hooks/useDatepicker.js.map +1 -1
  103. package/esm/date/hooks/useMonthPicker.js +2 -2
  104. package/esm/date/hooks/useMonthPicker.js.map +1 -1
  105. package/esm/date/hooks/useRangeDatepicker.js +3 -3
  106. package/esm/date/hooks/useRangeDatepicker.js.map +1 -1
  107. package/esm/date/monthpicker/MonthButton.d.ts +2 -2
  108. package/esm/date/monthpicker/MonthPicker.d.ts +1 -1
  109. package/esm/date/monthpicker/MonthSelector.js +1 -1
  110. package/esm/date/monthpicker/MonthSelector.js.map +1 -1
  111. package/esm/date/utils/get-month-weeks.d.ts +16 -0
  112. package/esm/date/utils/get-month-weeks.js +42 -0
  113. package/esm/date/utils/get-month-weeks.js.map +1 -0
  114. package/esm/date/utils/labels.d.ts +9 -0
  115. package/esm/date/utils/labels.js +36 -0
  116. package/esm/date/utils/labels.js.map +1 -1
  117. package/esm/date/utils/navigation.d.ts +1 -1
  118. package/esm/date/utils/navigation.js.map +1 -1
  119. package/esm/dropdown/Toggle.js +1 -1
  120. package/esm/dropdown/Toggle.js.map +1 -1
  121. package/esm/dropdown/index.d.ts +1 -2
  122. package/esm/dropdown/index.js +0 -1
  123. package/esm/dropdown/index.js.map +1 -1
  124. package/esm/form/Select.js +1 -1
  125. package/esm/form/Select.js.map +1 -1
  126. package/esm/form/checkbox/useCheckbox.d.ts +1 -1
  127. package/esm/form/checkbox/useCheckbox.js +3 -4
  128. package/esm/form/checkbox/useCheckbox.js.map +1 -1
  129. package/esm/form/combobox/Combobox.d.ts +1 -1
  130. package/esm/form/combobox/Combobox.js +1 -1
  131. package/esm/form/combobox/Combobox.js.map +1 -1
  132. package/esm/form/combobox/Input/Input.d.ts +0 -2
  133. package/esm/form/combobox/Input/Input.js +1 -1
  134. package/esm/form/combobox/Input/Input.js.map +1 -1
  135. package/esm/form/search/Search.js +3 -1
  136. package/esm/form/search/Search.js.map +1 -1
  137. package/esm/index.d.ts +1 -0
  138. package/esm/index.js +1 -0
  139. package/esm/index.js.map +1 -1
  140. package/esm/layout/bleed/Bleed.d.ts +47 -0
  141. package/esm/layout/bleed/Bleed.js +41 -0
  142. package/esm/layout/bleed/Bleed.js.map +1 -0
  143. package/esm/layout/bleed/index.d.ts +1 -0
  144. package/esm/layout/bleed/index.js +2 -0
  145. package/esm/layout/bleed/index.js.map +1 -0
  146. package/esm/layout/box/Box.d.ts +1 -2
  147. package/esm/layout/box/Box.js +1 -1
  148. package/esm/layout/box/Box.js.map +1 -1
  149. package/esm/layout/responsive/Responsive.d.ts +8 -4
  150. package/esm/layout/responsive/Responsive.js +8 -6
  151. package/esm/layout/responsive/Responsive.js.map +1 -1
  152. package/esm/layout/sidemal-test/AvatarPanel.d.ts +4 -0
  153. package/esm/layout/sidemal-test/AvatarPanel.js +12 -0
  154. package/esm/layout/sidemal-test/AvatarPanel.js.map +1 -0
  155. package/esm/layout/sidemal-test/Content.d.ts +2 -0
  156. package/esm/layout/sidemal-test/Content.js +60 -0
  157. package/esm/layout/sidemal-test/Content.js.map +1 -0
  158. package/esm/layout/sidemal-test/Filter.d.ts +2 -0
  159. package/esm/layout/sidemal-test/Filter.js +22 -0
  160. package/esm/layout/sidemal-test/Filter.js.map +1 -0
  161. package/esm/layout/sidemal-test/Header.d.ts +2 -0
  162. package/esm/layout/sidemal-test/Header.js +42 -0
  163. package/esm/layout/sidemal-test/Header.js.map +1 -0
  164. package/esm/layout/sidemal-test/Intro.d.ts +2 -0
  165. package/esm/layout/sidemal-test/Intro.js +30 -0
  166. package/esm/layout/sidemal-test/Intro.js.map +1 -0
  167. package/esm/layout/sidemal-test/Sidebar.d.ts +4 -0
  168. package/esm/layout/sidemal-test/Sidebar.js +41 -0
  169. package/esm/layout/sidemal-test/Sidebar.js.map +1 -0
  170. package/esm/layout/sidemal-test/content-box/ContentBox.d.ts +8 -0
  171. package/esm/layout/sidemal-test/content-box/ContentBox.js +37 -0
  172. package/esm/layout/sidemal-test/content-box/ContentBox.js.map +1 -0
  173. package/esm/layout/sidemal-test/content-box/index.d.ts +1 -0
  174. package/esm/layout/sidemal-test/content-box/index.js +2 -0
  175. package/esm/layout/sidemal-test/content-box/index.js.map +1 -0
  176. package/esm/layout/stack/Stack.d.ts +7 -3
  177. package/esm/layout/stack/Stack.js +3 -3
  178. package/esm/layout/stack/Stack.js.map +1 -1
  179. package/esm/layout/stack/index.d.ts +1 -0
  180. package/esm/layout/stack/index.js +1 -0
  181. package/esm/layout/stack/index.js.map +1 -1
  182. package/esm/layout/utilities/css.d.ts +1 -1
  183. package/esm/layout/utilities/css.js +37 -14
  184. package/esm/layout/utilities/css.js.map +1 -1
  185. package/esm/loader/Loader.js +3 -3
  186. package/esm/loader/Loader.js.map +1 -1
  187. package/esm/modal/dialog-polyfill.js +2 -0
  188. package/esm/modal/dialog-polyfill.js.map +1 -1
  189. package/esm/popover/Popover.js +3 -2
  190. package/esm/popover/Popover.js.map +1 -1
  191. package/esm/tabs/TabList.js +6 -7
  192. package/esm/tabs/TabList.js.map +1 -1
  193. package/esm/timeline/Pin.js +21 -21
  194. package/esm/timeline/Pin.js.map +1 -1
  195. package/esm/timeline/Timeline.js +4 -4
  196. package/esm/timeline/Timeline.js.map +1 -1
  197. package/esm/timeline/TimelineRow.js.map +1 -1
  198. package/esm/timeline/hooks/usePeriodContext.d.ts +1 -1
  199. package/esm/timeline/period/ClickablePeriod.js +20 -20
  200. package/esm/timeline/period/ClickablePeriod.js.map +1 -1
  201. package/esm/timeline/period/index.d.ts +2 -2
  202. package/esm/timeline/period/index.js +1 -1
  203. package/esm/timeline/period/index.js.map +1 -1
  204. package/esm/timeline/utils/timeline.js +3 -3
  205. package/esm/timeline/utils/timeline.js.map +1 -1
  206. package/esm/toggle-group/ToggleGroup.js +1 -1
  207. package/esm/toggle-group/ToggleGroup.js.map +1 -1
  208. package/esm/tooltip/Tooltip.js +1 -1
  209. package/esm/tooltip/Tooltip.js.map +1 -1
  210. package/esm/typography/Heading.js +1 -1
  211. package/esm/typography/Heading.js.map +1 -1
  212. package/esm/util/RandomIcon.js +1 -0
  213. package/esm/util/RandomIcon.js.map +1 -1
  214. package/esm/util/Slot.d.ts +6 -0
  215. package/esm/util/Slot.js +60 -0
  216. package/esm/util/Slot.js.map +1 -0
  217. package/esm/util/mergeRefs.d.ts +1 -1
  218. package/esm/util/useId.js +2 -4
  219. package/esm/util/useId.js.map +1 -1
  220. package/package.json +4 -4
  221. package/src/accordion/Accordion.tsx +1 -0
  222. package/src/accordion/AccordionContext.tsx +2 -1
  223. package/src/accordion/AccordionHeader.tsx +2 -2
  224. package/src/accordion/AccordionItem.tsx +7 -5
  225. package/src/accordion/accordion.stories.tsx +21 -34
  226. package/src/alert/alert.stories.tsx +2 -2
  227. package/src/chips/chips.stories.tsx +29 -32
  228. package/src/date/datepicker/DatePicker.tsx +63 -58
  229. package/src/date/datepicker/DatePickerStandalone.tsx +36 -39
  230. package/src/date/datepicker/datepicker.stories.tsx +67 -2
  231. package/src/date/datepicker/datepicker.test.tsx +5 -4
  232. package/src/date/datepicker/{caption → parts}/Caption.tsx +19 -17
  233. package/src/date/datepicker/{DayButton.tsx → parts/DayButton.tsx} +3 -1
  234. package/src/date/datepicker/parts/DropdownCaption.tsx +113 -0
  235. package/src/date/datepicker/parts/HeadRow.tsx +56 -0
  236. package/src/date/datepicker/parts/Row.tsx +47 -0
  237. package/src/date/datepicker/{TableHead.tsx → parts/TableHead.tsx} +6 -2
  238. package/src/date/datepicker/parts/WeekNumber.tsx +79 -0
  239. package/src/date/datepicker/parts/WeekRow.tsx +60 -0
  240. package/src/date/hooks/useDatepicker.tsx +2 -2
  241. package/src/date/hooks/useMonthPicker.tsx +2 -2
  242. package/src/date/hooks/useRangeDatepicker.test.tsx +11 -11
  243. package/src/date/hooks/useRangeDatepicker.tsx +3 -3
  244. package/src/date/monthpicker/MonthButton.tsx +2 -2
  245. package/src/date/monthpicker/MonthPicker.tsx +1 -1
  246. package/src/date/monthpicker/MonthSelector.tsx +3 -3
  247. package/src/date/monthpicker/monthpicker.stories.tsx +1 -1
  248. package/src/date/utils/__tests__/get-initial-year.test.ts +0 -12
  249. package/src/date/utils/__tests__/get-month-weeks.test.ts +113 -0
  250. package/src/date/utils/__tests__/is-match.test.ts +3 -3
  251. package/src/date/utils/__tests__/parse-dates.test.ts +4 -2
  252. package/src/date/utils/get-month-weeks.ts +93 -0
  253. package/src/date/utils/labels.ts +51 -0
  254. package/src/date/utils/navigation.ts +3 -3
  255. package/src/dropdown/Toggle.tsx +1 -1
  256. package/src/dropdown/dropdown.stories.tsx +25 -28
  257. package/src/dropdown/index.ts +1 -2
  258. package/src/expansion-card/expansion-card.stories.tsx +143 -161
  259. package/src/form/ConfirmationPanel.test.tsx +5 -5
  260. package/src/form/Select.tsx +1 -1
  261. package/src/form/checkbox/Checkbox.test.tsx +14 -26
  262. package/src/form/checkbox/checkbox.stories.tsx +66 -71
  263. package/src/form/checkbox/useCheckbox.ts +3 -4
  264. package/src/form/combobox/Combobox.tsx +2 -3
  265. package/src/form/combobox/Input/Input.tsx +1 -3
  266. package/src/form/combobox/combobox.stories.tsx +20 -23
  267. package/src/form/combobox/combobox.test.tsx +22 -20
  268. package/src/form/radio/radio.stories.tsx +39 -44
  269. package/src/form/search/Search.tsx +1 -0
  270. package/src/form/search/search.stories.tsx +22 -26
  271. package/src/form/stories/fieldset.stories.tsx +1 -1
  272. package/src/index.ts +1 -0
  273. package/src/layout/bleed/Bleed.stories.tsx +381 -0
  274. package/src/layout/bleed/Bleed.tsx +130 -0
  275. package/src/layout/bleed/index.ts +1 -0
  276. package/src/layout/box/Box.stories.tsx +251 -256
  277. package/src/layout/box/Box.tsx +2 -1
  278. package/src/layout/responsive/Responsive.tsx +21 -6
  279. package/src/layout/responsive/hide.stories.tsx +35 -0
  280. package/src/layout/responsive/show.stories.tsx +35 -0
  281. package/src/layout/sidemal-test/AvatarPanel.tsx +27 -0
  282. package/src/layout/sidemal-test/Content.tsx +129 -0
  283. package/src/layout/sidemal-test/Filter.tsx +46 -0
  284. package/src/layout/sidemal-test/Header.tsx +96 -0
  285. package/src/layout/sidemal-test/Intro.tsx +91 -0
  286. package/src/layout/sidemal-test/Sidebar.tsx +77 -0
  287. package/src/layout/sidemal-test/content-box/ContentBox.tsx +46 -0
  288. package/src/layout/sidemal-test/content-box/index.ts +1 -0
  289. package/src/layout/sidemal-test/navno-sidemal.stories.mdx +29 -0
  290. package/src/layout/sidemal-test/navno-sidemal.stories.tsx +65 -0
  291. package/src/layout/sidemal-test/styling.css +43 -0
  292. package/src/layout/stack/Stack.tsx +14 -8
  293. package/src/layout/stack/index.ts +1 -0
  294. package/src/layout/stack/stack.stories.tsx +23 -1
  295. package/src/layout/utilities/css.ts +59 -20
  296. package/src/loader/Loader.tsx +2 -3
  297. package/src/modal/dialog-polyfill.ts +2 -0
  298. package/src/pagination/pagination.stories.tsx +35 -42
  299. package/src/popover/Popover.test.tsx +21 -35
  300. package/src/popover/Popover.tsx +2 -2
  301. package/src/popover/popover.stories.tsx +25 -41
  302. package/src/react-css.d.ts +0 -1
  303. package/src/read-more/readmore.stories.tsx +35 -36
  304. package/src/stepper/stepper.stories.tsx +45 -52
  305. package/src/table/stories/table-expandable.stories.tsx +59 -63
  306. package/src/tabs/TabList.tsx +4 -6
  307. package/src/tabs/Tabs.stories.tsx +3 -3
  308. package/src/tag/tag.stories.tsx +4 -4
  309. package/src/timeline/Pin.tsx +44 -39
  310. package/src/timeline/Timeline.tsx +6 -6
  311. package/src/timeline/TimelineRow.tsx +1 -0
  312. package/src/timeline/hooks/usePeriodContext.tsx +1 -1
  313. package/src/timeline/period/ClickablePeriod.tsx +42 -38
  314. package/src/timeline/period/index.tsx +5 -4
  315. package/src/timeline/timeline.stories.tsx +11 -10
  316. package/src/timeline/utils/timeline.ts +3 -3
  317. package/src/toggle-group/ToggleGroup.stories.tsx +25 -29
  318. package/src/toggle-group/ToggleGroup.tsx +0 -1
  319. package/src/tooltip/Tooltip.test.tsx +40 -54
  320. package/src/tooltip/Tooltip.tsx +1 -1
  321. package/src/typography/Heading.tsx +1 -1
  322. package/src/util/RandomIcon.tsx +1 -0
  323. package/src/util/Slot.tsx +69 -0
  324. package/src/util/__tests__/Slot.test.tsx +98 -0
  325. package/src/util/mergeRefs.tsx +1 -1
  326. package/src/util/useId.ts +1 -3
  327. package/cjs/date/datepicker/caption/Caption.js +0 -23
  328. package/cjs/date/datepicker/caption/index.js +0 -10
  329. package/cjs/date/datepicker/caption/package.json +0 -6
  330. package/esm/date/datepicker/DayButton.d.ts +0 -3
  331. package/esm/date/datepicker/DayButton.js.map +0 -1
  332. package/esm/date/datepicker/TableHead.d.ts +0 -3
  333. package/esm/date/datepicker/TableHead.js.map +0 -1
  334. package/esm/date/datepicker/caption/Caption.js +0 -17
  335. package/esm/date/datepicker/caption/Caption.js.map +0 -1
  336. package/esm/date/datepicker/caption/DropdownCaption.js +0 -38
  337. package/esm/date/datepicker/caption/DropdownCaption.js.map +0 -1
  338. package/esm/date/datepicker/caption/index.d.ts +0 -2
  339. package/esm/date/datepicker/caption/index.js +0 -3
  340. package/esm/date/datepicker/caption/index.js.map +0 -1
  341. package/src/date/datepicker/caption/DropdownCaption.tsx +0 -108
  342. package/src/date/datepicker/caption/index.ts +0 -2
@@ -6,23 +6,22 @@ import { HGrid, HStack, VStack } from "../..";
6
6
  import { BackgroundToken, BorderRadiiToken } from "../utilities/types";
7
7
  import { ChevronRightIcon } from "@navikt/aksel-icons";
8
8
 
9
- export default {
9
+ const meta: Meta<typeof Box> = {
10
10
  title: "ds-react/Primitives/Box",
11
11
  component: Box,
12
- } satisfies Meta<typeof Box>;
13
-
14
- export const Default = {
15
- render: () => (
16
- <Box>
17
- <BodyLong>
18
- This is inside a box. Deserunt veniam eu fugiat ad est occaecat aliqua
19
- nisi aliquip. Aute amet occaecat ex aliqua irure elit labore pariatur.
20
- Proident pariatur proident pariatur magna consequat velit id commodo
21
- quis sunt tempor ullamco aliquip pariatur.
22
- </BodyLong>
23
- </Box>
24
- ),
25
12
  };
13
+ export default meta;
14
+
15
+ export const Default = () => (
16
+ <Box>
17
+ <BodyLong>
18
+ This is inside a box. Deserunt veniam eu fugiat ad est occaecat aliqua
19
+ nisi aliquip. Aute amet occaecat ex aliqua irure elit labore pariatur.
20
+ Proident pariatur proident pariatur magna consequat velit id commodo quis
21
+ sunt tempor ullamco aliquip pariatur.
22
+ </BodyLong>
23
+ </Box>
24
+ );
26
25
 
27
26
  const Card = ({
28
27
  background,
@@ -44,43 +43,38 @@ const Card = ({
44
43
  </Box>
45
44
  );
46
45
 
47
- export const AsCard = {
48
- render: () => {
49
- return (
50
- <HStack gap="4" justify="center">
51
- <Card>
52
- <h1>Card one</h1>
53
- <BodyLong>
54
- This is inside a box. Deserunt veniam eu fugiat ad est occaecat
55
- aliqua nisi aliquip. Aute amet occaecat ex aliqua irure elit labore
56
- </BodyLong>
57
- </Card>
58
- <Card>
59
- <h1>Card two</h1>
60
- <BodyLong>
61
- This is inside a box. Deserunt veniam eu fugiat ad est occaecat
62
- aliqua nisi aliquip. Aute amet occaecat ex aliqua irure elit labore
63
- </BodyLong>
64
- </Card>
65
- <Card>
66
- <h1>Card three</h1>
67
- <BodyLong>
68
- This is inside a box. Deserunt veniam eu fugiat ad est occaecat
69
- aliqua nisi aliquip. Aute amet occaecat ex aliqua irure elit labore
70
- </BodyLong>
71
- </Card>
72
- </HStack>
73
- );
74
- },
75
- };
46
+ export const AsCard = () => (
47
+ <HStack gap="4" justify="center">
48
+ <Card>
49
+ <h1>Card one</h1>
50
+ <BodyLong>
51
+ This is inside a box. Deserunt veniam eu fugiat ad est occaecat aliqua
52
+ nisi aliquip. Aute amet occaecat ex aliqua irure elit labore
53
+ </BodyLong>
54
+ </Card>
55
+ <Card>
56
+ <h1>Card two</h1>
57
+ <BodyLong>
58
+ This is inside a box. Deserunt veniam eu fugiat ad est occaecat aliqua
59
+ nisi aliquip. Aute amet occaecat ex aliqua irure elit labore
60
+ </BodyLong>
61
+ </Card>
62
+ <Card>
63
+ <h1>Card three</h1>
64
+ <BodyLong>
65
+ This is inside a box. Deserunt veniam eu fugiat ad est occaecat aliqua
66
+ nisi aliquip. Aute amet occaecat ex aliqua irure elit labore
67
+ </BodyLong>
68
+ </Card>
69
+ </HStack>
70
+ );
76
71
 
77
- export const ThemingDemo = {
78
- render: () => {
79
- const LinkCard = () => {
80
- return (
81
- <>
82
- <style>
83
- {`
72
+ export const ThemingDemo = () => {
73
+ const LinkCard = () => {
74
+ return (
75
+ <>
76
+ <style>
77
+ {`
84
78
  .link-card {
85
79
  color: var(--navds-color-text-primary);
86
80
  text-decoration: none;
@@ -103,99 +97,99 @@ export const ThemingDemo = {
103
97
  transition: transform 200ms;
104
98
  }
105
99
  `}
106
- </style>
100
+ </style>
101
+ <Box
102
+ as="a"
103
+ href="#"
104
+ className="link-card"
105
+ borderRadius="small"
106
+ borderColor="border-default"
107
+ borderWidth="1"
108
+ padding="4"
109
+ onClick={() => alert("Clicked!")}
110
+ >
111
+ <HStack gap="4" align="center">
112
+ <VStack gap="2">
113
+ <Heading size="medium">
114
+ LinkCard som bruker Box, HStack og VStack
115
+ </Heading>
116
+ <BodyLong>This truly is inside a box!</BodyLong>
117
+ </VStack>
118
+ <ChevronRightIcon fontSize={24} className="link-card__chevron" />
119
+ </HStack>
120
+ </Box>
121
+ </>
122
+ );
123
+ };
124
+
125
+ const ChatBubble = () => {
126
+ return (
127
+ <>
128
+ <Box
129
+ background="surface-neutral-subtle"
130
+ shadow="xsmall"
131
+ padding="4"
132
+ borderRadius="xlarge xlarge xlarge 0"
133
+ >
134
+ <VStack gap="2">
135
+ <Detail>BOX • 01.01.21 14:00</Detail>
136
+ <BodyLong>
137
+ Hei! Dette er en chatbobble som bruker Box som base!
138
+ </BodyLong>
139
+ </VStack>
140
+ </Box>
141
+ </>
142
+ );
143
+ };
144
+
145
+ const PricePill = () => {
146
+ return (
147
+ <>
148
+ <style>
149
+ {`
150
+ .old-price {
151
+ text-decoration: line-through;
152
+ }
153
+ `}
154
+ </style>
155
+ <HStack>
107
156
  <Box
108
- as="a"
109
- href="#"
110
- className="link-card"
111
- borderRadius="small"
112
- borderColor="border-default"
157
+ background="surface-success-subtle"
158
+ shadow="xsmall"
113
159
  padding="4"
114
- onClick={() => alert("Clicked!")}
160
+ borderRadius="full 0 0 full"
115
161
  >
116
- <HStack gap="4" align="center">
117
- <VStack gap="2">
118
- <Heading size="medium">
119
- LinkCard som bruker Box, HStack og VStack
120
- </Heading>
121
- <BodyLong>This truly is inside a box!</BodyLong>
122
- </VStack>
123
- <ChevronRightIcon fontSize={24} className="link-card__chevron" />
124
- </HStack>
162
+ <VStack align="center">
163
+ <Detail>Episk ny pris</Detail>
164
+ <Heading size="medium">889.99 kr</Heading>
165
+ </VStack>
125
166
  </Box>
126
- </>
127
- );
128
- };
129
-
130
- const ChatBubble = () => {
131
- return (
132
- <>
133
167
  <Box
134
- background="surface-neutral-subtle"
168
+ background="surface-danger-subtle"
135
169
  shadow="xsmall"
136
170
  padding="4"
137
- borderRadius="xlarge xlarge xlarge 0"
171
+ borderRadius="0 full full 0"
138
172
  >
139
- <VStack gap="2">
140
- <Detail>BOX • 01.01.21 14:00</Detail>
141
- <BodyLong>
142
- Hei! Dette er en chatbobble som bruker Box som base!
143
- </BodyLong>
173
+ <VStack align="center">
174
+ <Detail>Førpris</Detail>
175
+ <Heading className="old-price" size="medium">
176
+ 399.99 kr
177
+ </Heading>
144
178
  </VStack>
145
179
  </Box>
146
- </>
147
- );
148
- };
149
-
150
- const PricePill = () => {
151
- return (
152
- <>
153
- <style>
154
- {`
155
- .old-price {
156
- text-decoration: line-through;
157
- }
158
- `}
159
- </style>
160
- <HStack>
161
- <Box
162
- background="surface-success-subtle"
163
- shadow="xsmall"
164
- padding="4"
165
- borderRadius="full 0 0 full"
166
- >
167
- <VStack align="center">
168
- <Detail>Episk ny pris</Detail>
169
- <Heading size="medium">889.99 kr</Heading>
170
- </VStack>
171
- </Box>
172
- <Box
173
- background="surface-danger-subtle"
174
- shadow="xsmall"
175
- padding="4"
176
- borderRadius="0 full full 0"
177
- >
178
- <VStack align="center">
179
- <Detail>Førpris</Detail>
180
- <Heading className="old-price" size="medium">
181
- 399.99 kr
182
- </Heading>
183
- </VStack>
184
- </Box>
185
- </HStack>
186
- </>
187
- );
188
- };
189
-
190
- return (
191
- <VStack gap="8">
192
- <Card>Dette er et Card som bruker Box som base</Card>
193
- <LinkCard />
194
- <ChatBubble />
195
- <PricePill />
196
- </VStack>
180
+ </HStack>
181
+ </>
197
182
  );
198
- },
183
+ };
184
+
185
+ return (
186
+ <VStack gap="8">
187
+ <Card>Dette er et Card som bruker Box som base</Card>
188
+ <LinkCard />
189
+ <ChatBubble />
190
+ <PricePill />
191
+ </VStack>
192
+ );
199
193
  };
200
194
 
201
195
  export const PaddingBreakpoints = {
@@ -203,14 +197,14 @@ export const PaddingBreakpoints = {
203
197
  <div>
204
198
  <Box
205
199
  padding={{ xs: "2", sm: "3", md: "4", lg: "5", xl: "6" }}
206
- borderColor="border-default"
200
+ background="surface-neutral"
207
201
  >
208
- <BodyLong>
202
+ <Box background="surface-alt-3-subtle">
209
203
  This is inside a box. Deserunt veniam eu fugiat ad est occaecat aliqua
210
204
  nisi aliquip. Aute amet occaecat ex aliqua irure elit labore pariatur.
211
205
  Proident pariatur proident pariatur magna consequat velit id commodo
212
206
  quis sunt tempor ullamco aliquip pariatur.
213
- </BodyLong>
207
+ </Box>
214
208
  </Box>
215
209
  </div>
216
210
  ),
@@ -222,67 +216,74 @@ export const PaddingBreakpointsInherit1 = {
222
216
  <Box
223
217
  padding={{ xs: "2" }}
224
218
  paddingInline={{ md: "24 0" }}
225
- borderColor="border-default"
219
+ background="surface-neutral"
226
220
  >
227
- <BodyLong>
221
+ <Box background="surface-alt-3-subtle">
228
222
  This is inside a box. Deserunt veniam eu fugiat ad est occaecat aliqua
229
223
  nisi aliquip. Aute amet occaecat ex aliqua irure elit labore pariatur.
230
224
  Proident pariatur proident pariatur magna consequat velit id commodo
231
225
  quis sunt tempor ullamco aliquip pariatur.
232
- </BodyLong>
226
+ </Box>
233
227
  </Box>
234
228
  </div>
235
229
  ),
236
230
  };
237
- export const PaddingBreakpointsInherit2 = {
238
- render: () => (
239
- <div>
240
- <Box
241
- padding={{ xs: "2", sm: "3" }}
242
- paddingInline={{ sm: "4 0", md: "24 0" }}
243
- borderColor="border-default"
244
- >
245
- <BodyLong>
246
- This is inside a box. Deserunt veniam eu fugiat ad est occaecat aliqua
247
- nisi aliquip. Aute amet occaecat ex aliqua irure elit labore pariatur.
248
- Proident pariatur proident pariatur magna consequat velit id commodo
249
- quis sunt tempor ullamco aliquip pariatur.
250
- </BodyLong>
231
+ export const PaddingBreakpointsInherit2 = () => (
232
+ <div>
233
+ <Box
234
+ padding={{ xs: "2", sm: "3" }}
235
+ paddingInline={{ sm: "4 0", md: "24 0" }}
236
+ background="surface-neutral"
237
+ >
238
+ <Box background="surface-alt-3-subtle">
239
+ This is inside a box. Deserunt veniam eu fugiat ad est occaecat aliqua
240
+ nisi aliquip. Aute amet occaecat ex aliqua irure elit labore pariatur.
241
+ Proident pariatur proident pariatur magna consequat velit id commodo
242
+ quis sunt tempor ullamco aliquip pariatur.
251
243
  </Box>
252
- </div>
253
- ),
254
- };
244
+ </Box>
245
+ </div>
246
+ );
255
247
 
256
- export const Padding = {
257
- render: () => (
258
- <>
259
- <style>
260
- {`
261
- .navds-box {
262
- width: fit-content;
263
- }
264
- `}
265
- </style>
266
- <VStack align="center">
267
- <Box padding="20" borderColor="border-default">
268
- <BodyLong>Padding all around</BodyLong>
269
- </Box>
270
- <Box padding="1" paddingBlock="20 0" borderColor="border-default">
271
- <BodyLong>Padding to the North</BodyLong>
272
- </Box>
273
- <Box padding="1" paddingInline="0 20" borderColor="border-default">
274
- <BodyLong>Padding to the East</BodyLong>
275
- </Box>
276
- <Box padding="1" paddingBlock="0 20" borderColor="border-default">
277
- <BodyLong>Padding to the South</BodyLong>
278
- </Box>
279
- <Box padding="1" paddingInline="20 0" borderColor="border-default">
280
- <BodyLong>Padding to the West</BodyLong>
248
+ export const Padding = () => (
249
+ <VStack align="center" gap="2">
250
+ <Box padding="20" background="surface-alt-3-subtle">
251
+ <BodyLong>Padding all around</BodyLong>
252
+ </Box>
253
+ <Box padding="1" paddingBlock="20 0" background="surface-alt-3-subtle">
254
+ <BodyLong>Padding to the North</BodyLong>
255
+ </Box>
256
+ <Box padding="1" paddingInline="0 20" background="surface-alt-3-subtle">
257
+ <BodyLong>Padding to the East</BodyLong>
258
+ </Box>
259
+ <Box padding="1" paddingBlock="0 20" background="surface-alt-3-subtle">
260
+ <BodyLong>Padding to the South</BodyLong>
261
+ </Box>
262
+ <Box padding="1" paddingInline="20 0" background="surface-alt-3-subtle">
263
+ <BodyLong>Padding to the West</BodyLong>
264
+ </Box>
265
+ </VStack>
266
+ );
267
+
268
+ export const BoxInBox = () => (
269
+ <div>
270
+ <Box
271
+ padding={{ xs: "2", sm: "3" }}
272
+ paddingInline={{ sm: "4 1" }}
273
+ background="surface-alt-1-moderate"
274
+ shadow="small"
275
+ borderWidth="2"
276
+ borderColor="border-alt-3"
277
+ borderRadius="large"
278
+ >
279
+ <Box padding="8" paddingInline={{ sm: "12" }} background="bg-default">
280
+ <Box background="surface-alt-3-subtle">
281
+ CSS variables on a Box should not be inherited by children.
281
282
  </Box>
282
- </VStack>
283
- </>
284
- ),
285
- };
283
+ </Box>
284
+ </Box>
285
+ </div>
286
+ );
286
287
 
287
288
  export const WithHGrid = () => {
288
289
  return (
@@ -308,77 +309,71 @@ export const WithHGrid = () => {
308
309
  );
309
310
  };
310
311
 
311
- export const BorderWidth = () => {
312
- return (
313
- <VStack gap="4">
314
- <Box
315
- background="bg-subtle"
316
- padding="10"
317
- borderWidth="2"
318
- borderColor="border-strong"
319
- >
320
- Box
321
- </Box>
322
- <Box
323
- background="bg-subtle"
324
- padding="10"
325
- borderWidth="1 2 3 4"
326
- borderColor="border-strong"
327
- >
328
- Box
329
- </Box>
330
- <Box
331
- background="bg-subtle"
332
- padding="10"
333
- borderWidth="5 2 4 1"
334
- borderColor="border-strong"
335
- borderRadius="large"
336
- >
337
- Box
338
- </Box>
339
- </VStack>
340
- );
341
- };
312
+ export const BorderWidth = () => (
313
+ <VStack gap="4">
314
+ <Box
315
+ background="bg-subtle"
316
+ padding="10"
317
+ borderWidth="2"
318
+ borderColor="border-strong"
319
+ >
320
+ Box
321
+ </Box>
322
+ <Box
323
+ background="bg-subtle"
324
+ padding="10"
325
+ borderWidth="1 2 3 4"
326
+ borderColor="border-strong"
327
+ >
328
+ Box
329
+ </Box>
330
+ <Box
331
+ background="bg-subtle"
332
+ padding="10"
333
+ borderWidth="5 2 4 1"
334
+ borderColor="border-strong"
335
+ borderRadius="large"
336
+ >
337
+ Box
338
+ </Box>
339
+ </VStack>
340
+ );
342
341
 
343
- export const BorderRadius = () => {
344
- return (
345
- <VStack gap="4">
346
- <Box
347
- background="bg-subtle"
348
- padding="10"
349
- borderWidth="2"
350
- borderColor="border-strong"
351
- borderRadius="small medium large xlarge"
352
- >
353
- Box
354
- </Box>
355
- <Box
356
- background="bg-subtle"
357
- padding="10"
358
- borderWidth="2"
359
- borderColor="border-strong"
360
- borderRadius={{
361
- xs: "small medium large xlarge",
362
- md: "medium small large full",
363
- lg: "xlarge large",
364
- }}
365
- >
366
- Box
367
- </Box>
368
- </VStack>
369
- );
370
- };
342
+ export const BorderRadius = () => (
343
+ <VStack gap="4">
344
+ <Box
345
+ background="bg-subtle"
346
+ padding="10"
347
+ borderWidth="2"
348
+ borderColor="border-strong"
349
+ borderRadius="small medium large xlarge"
350
+ >
351
+ Box
352
+ </Box>
353
+ <Box
354
+ background="bg-subtle"
355
+ padding="10"
356
+ borderWidth="2"
357
+ borderColor="border-strong"
358
+ borderRadius={{
359
+ xs: "small medium large xlarge",
360
+ md: "medium small large full",
361
+ lg: "xlarge large",
362
+ }}
363
+ >
364
+ Box
365
+ </Box>
366
+ </VStack>
367
+ );
371
368
 
372
- export const PaddingDemo = () => {
373
- return (
374
- <VStack gap="4">
375
- <Box
376
- background="bg-subtle"
377
- padding="0"
378
- paddingInline={{ xs: "20", lg: "10" }}
379
- >
380
- Box
381
- </Box>
382
- </VStack>
383
- );
384
- };
369
+ export const PaddingDemo = () => (
370
+ <VStack gap="4">
371
+ <Box
372
+ background="bg-subtle"
373
+ padding="0"
374
+ paddingInline={{ xs: "20", lg: "10" }}
375
+ >
376
+ Box
377
+ </Box>
378
+ </VStack>
379
+ );
@@ -1,7 +1,6 @@
1
1
  import cl from "clsx";
2
2
  import React, { forwardRef } from "react";
3
3
  import { OverridableComponent } from "../../util/OverridableComponent";
4
- import { BorderRadiiToken } from "../utilities/types";
5
4
  import {
6
5
  SpaceDelimitedAttribute,
7
6
  ResponsiveProp,
@@ -12,6 +11,7 @@ import {
12
11
  BackgroundToken,
13
12
  BorderColorToken,
14
13
  ShadowToken,
14
+ BorderRadiiToken,
15
15
  } from "../utilities/types";
16
16
 
17
17
  export interface BoxProps extends React.HTMLAttributes<HTMLDivElement> {
@@ -129,6 +129,7 @@ export const Box: OverridableComponent<BoxProps, HTMLDivElement> = forwardRef(
129
129
  "border-radius",
130
130
  "border-radius",
131
131
  borderRadius,
132
+ false,
132
133
  ["0"]
133
134
  ),
134
135
  ...getResponsiveProps("box", "padding", "spacing", padding),