@navikt/ds-react 6.10.1 → 6.12.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 (253) hide show
  1. package/cjs/alert/Alert.d.ts +5 -0
  2. package/cjs/alert/Alert.js +5 -3
  3. package/cjs/alert/Alert.js.map +1 -1
  4. package/cjs/collapsible/parts/Collapsible.Content.js +1 -1
  5. package/cjs/collapsible/parts/Collapsible.Trigger.js +1 -1
  6. package/cjs/date/datepicker/types.d.ts +1 -1
  7. package/cjs/date/monthpicker/types.d.ts +1 -1
  8. package/cjs/form/file-upload/parts/Trigger.js +1 -1
  9. package/cjs/form/file-upload/parts/item/Item.d.ts +5 -0
  10. package/cjs/form/file-upload/parts/item/Item.js +2 -2
  11. package/cjs/form/file-upload/parts/item/Item.js.map +1 -1
  12. package/cjs/layout/base/BasePrimitive.d.ts +167 -0
  13. package/cjs/layout/base/BasePrimitive.js +70 -0
  14. package/cjs/layout/base/BasePrimitive.js.map +1 -0
  15. package/cjs/layout/base/PrimitiveAsChildProps.d.ts +41 -0
  16. package/cjs/layout/base/PrimitiveAsChildProps.js +3 -0
  17. package/cjs/layout/base/PrimitiveAsChildProps.js.map +1 -0
  18. package/cjs/layout/bleed/Bleed.js +1 -1
  19. package/cjs/layout/box/Box.d.ts +14 -35
  20. package/cjs/layout/box/Box.js +15 -4
  21. package/cjs/layout/box/Box.js.map +1 -1
  22. package/cjs/layout/grid/HGrid.d.ts +7 -5
  23. package/cjs/layout/grid/HGrid.js +7 -2
  24. package/cjs/layout/grid/HGrid.js.map +1 -1
  25. package/cjs/layout/page/Page.d.ts +4 -3
  26. package/cjs/layout/page/Page.js.map +1 -1
  27. package/cjs/layout/responsive/Responsive.js +1 -1
  28. package/cjs/layout/stack/HStack.d.ts +2 -1
  29. package/cjs/layout/stack/HStack.js.map +1 -1
  30. package/cjs/layout/stack/Stack.d.ts +8 -5
  31. package/cjs/layout/stack/Stack.js +10 -5
  32. package/cjs/layout/stack/Stack.js.map +1 -1
  33. package/cjs/layout/stack/VStack.d.ts +2 -1
  34. package/cjs/layout/stack/VStack.js.map +1 -1
  35. package/cjs/layout/utilities/css.js +3 -0
  36. package/cjs/layout/utilities/css.js.map +1 -1
  37. package/cjs/layout/utilities/types.d.ts +2 -1
  38. package/cjs/list/ListItem.js +2 -2
  39. package/cjs/list/ListItem.js.map +1 -1
  40. package/cjs/modal/dialog-polyfill.js +0 -3
  41. package/cjs/modal/dialog-polyfill.js.map +1 -1
  42. package/cjs/overlays/dismissablelayer/DismissableLayer.js +1 -1
  43. package/cjs/overlays/dismissablelayer/util/useFocusOutside.d.ts +2 -2
  44. package/cjs/overlays/dismissablelayer/util/useFocusOutside.js +6 -2
  45. package/cjs/overlays/dismissablelayer/util/useFocusOutside.js.map +1 -1
  46. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.d.ts +1 -1
  47. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js +3 -1
  48. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
  49. package/cjs/overlays/floating/Floating.js +1 -1
  50. package/cjs/pagination/Pagination.d.ts +7 -0
  51. package/cjs/pagination/Pagination.js +5 -2
  52. package/cjs/pagination/Pagination.js.map +1 -1
  53. package/cjs/pagination/PaginationItem.js +4 -2
  54. package/cjs/pagination/PaginationItem.js.map +1 -1
  55. package/cjs/portal/Portal.js +1 -1
  56. package/cjs/slot/Slot.d.ts +6 -0
  57. package/cjs/{util → slot}/Slot.js +6 -37
  58. package/cjs/slot/Slot.js.map +1 -0
  59. package/cjs/slot/merge-props.d.ts +4 -0
  60. package/cjs/slot/merge-props.js +37 -0
  61. package/cjs/slot/merge-props.js.map +1 -0
  62. package/cjs/toggle-group/ToggleGroup.d.ts +3 -3
  63. package/cjs/toggle-group/ToggleGroup.js +3 -3
  64. package/cjs/toggle-group/parts/ToggleItem.d.ts +32 -5
  65. package/cjs/toggle-group/parts/ToggleItem.js +4 -2
  66. package/cjs/toggle-group/parts/ToggleItem.js.map +1 -1
  67. package/cjs/toggle-group/parts/useToggleItem.js +1 -1
  68. package/cjs/toggle-group/parts/useToggleItem.js.map +1 -1
  69. package/cjs/util/hooks/descendants/useDescendant.js +1 -1
  70. package/cjs/util/hooks/descendants/useDescendant.js.map +1 -1
  71. package/cjs/util/hooks/descendants/utils.js +1 -1
  72. package/cjs/util/hooks/descendants/utils.js.map +1 -1
  73. package/cjs/util/i18n/get.js +3 -2
  74. package/cjs/util/i18n/get.js.map +1 -1
  75. package/cjs/util/types/AsChildProps.d.ts +1 -0
  76. package/esm/alert/Alert.d.ts +5 -0
  77. package/esm/alert/Alert.js +5 -3
  78. package/esm/alert/Alert.js.map +1 -1
  79. package/esm/collapsible/parts/Collapsible.Content.js +1 -1
  80. package/esm/collapsible/parts/Collapsible.Trigger.js +1 -1
  81. package/esm/date/datepicker/types.d.ts +1 -1
  82. package/esm/date/monthpicker/types.d.ts +1 -1
  83. package/esm/form/file-upload/parts/Trigger.js +1 -1
  84. package/esm/form/file-upload/parts/item/Item.d.ts +5 -0
  85. package/esm/form/file-upload/parts/item/Item.js +2 -2
  86. package/esm/form/file-upload/parts/item/Item.js.map +1 -1
  87. package/esm/layout/base/BasePrimitive.d.ts +167 -0
  88. package/esm/layout/base/BasePrimitive.js +63 -0
  89. package/esm/layout/base/BasePrimitive.js.map +1 -0
  90. package/esm/layout/base/PrimitiveAsChildProps.d.ts +41 -0
  91. package/esm/layout/base/PrimitiveAsChildProps.js +2 -0
  92. package/esm/layout/base/PrimitiveAsChildProps.js.map +1 -0
  93. package/esm/layout/bleed/Bleed.js +1 -1
  94. package/esm/layout/box/Box.d.ts +14 -35
  95. package/esm/layout/box/Box.js +15 -4
  96. package/esm/layout/box/Box.js.map +1 -1
  97. package/esm/layout/grid/HGrid.d.ts +7 -5
  98. package/esm/layout/grid/HGrid.js +7 -2
  99. package/esm/layout/grid/HGrid.js.map +1 -1
  100. package/esm/layout/page/Page.d.ts +4 -3
  101. package/esm/layout/page/Page.js.map +1 -1
  102. package/esm/layout/responsive/Responsive.js +1 -1
  103. package/esm/layout/stack/HStack.d.ts +2 -1
  104. package/esm/layout/stack/HStack.js.map +1 -1
  105. package/esm/layout/stack/Stack.d.ts +8 -5
  106. package/esm/layout/stack/Stack.js +10 -5
  107. package/esm/layout/stack/Stack.js.map +1 -1
  108. package/esm/layout/stack/VStack.d.ts +2 -1
  109. package/esm/layout/stack/VStack.js.map +1 -1
  110. package/esm/layout/utilities/css.js +3 -0
  111. package/esm/layout/utilities/css.js.map +1 -1
  112. package/esm/layout/utilities/types.d.ts +2 -1
  113. package/esm/list/ListItem.js +3 -3
  114. package/esm/list/ListItem.js.map +1 -1
  115. package/esm/modal/dialog-polyfill.js +0 -3
  116. package/esm/modal/dialog-polyfill.js.map +1 -1
  117. package/esm/overlays/dismissablelayer/DismissableLayer.js +1 -1
  118. package/esm/overlays/dismissablelayer/util/useFocusOutside.d.ts +2 -2
  119. package/esm/overlays/dismissablelayer/util/useFocusOutside.js +6 -2
  120. package/esm/overlays/dismissablelayer/util/useFocusOutside.js.map +1 -1
  121. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.d.ts +1 -1
  122. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js +3 -1
  123. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
  124. package/esm/overlays/floating/Floating.js +1 -1
  125. package/esm/pagination/Pagination.d.ts +7 -0
  126. package/esm/pagination/Pagination.js +6 -3
  127. package/esm/pagination/Pagination.js.map +1 -1
  128. package/esm/pagination/PaginationItem.js +4 -2
  129. package/esm/pagination/PaginationItem.js.map +1 -1
  130. package/esm/portal/Portal.js +1 -1
  131. package/esm/slot/Slot.d.ts +6 -0
  132. package/esm/slot/Slot.js +32 -0
  133. package/esm/slot/Slot.js.map +1 -0
  134. package/esm/slot/merge-props.d.ts +4 -0
  135. package/esm/slot/merge-props.js +34 -0
  136. package/esm/slot/merge-props.js.map +1 -0
  137. package/esm/toggle-group/ToggleGroup.d.ts +3 -3
  138. package/esm/toggle-group/ToggleGroup.js +3 -3
  139. package/esm/toggle-group/parts/ToggleItem.d.ts +32 -5
  140. package/esm/toggle-group/parts/ToggleItem.js +4 -2
  141. package/esm/toggle-group/parts/ToggleItem.js.map +1 -1
  142. package/esm/toggle-group/parts/useToggleItem.js +1 -1
  143. package/esm/toggle-group/parts/useToggleItem.js.map +1 -1
  144. package/esm/util/hooks/descendants/useDescendant.js +1 -1
  145. package/esm/util/hooks/descendants/useDescendant.js.map +1 -1
  146. package/esm/util/hooks/descendants/utils.js +1 -1
  147. package/esm/util/hooks/descendants/utils.js.map +1 -1
  148. package/esm/util/i18n/get.js +3 -2
  149. package/esm/util/i18n/get.js.map +1 -1
  150. package/esm/util/types/AsChildProps.d.ts +1 -0
  151. package/package.json +3 -3
  152. package/src/alert/Alert.tsx +23 -2
  153. package/src/collapsible/parts/Collapsible.Content.tsx +1 -1
  154. package/src/collapsible/parts/Collapsible.Trigger.tsx +1 -1
  155. package/src/date/datepicker/types.ts +1 -1
  156. package/src/date/monthpicker/types.ts +1 -1
  157. package/src/form/file-upload/parts/Trigger.tsx +1 -1
  158. package/src/form/file-upload/parts/item/Item.tsx +7 -1
  159. package/src/layout/base/BasePrimitive.tsx +314 -0
  160. package/src/layout/base/PrimitiveAsChildProps.ts +42 -0
  161. package/src/layout/bleed/Bleed.tsx +1 -1
  162. package/src/layout/box/Box.tsx +66 -76
  163. package/src/layout/grid/HGrid.tsx +73 -45
  164. package/src/layout/page/Page.tsx +4 -3
  165. package/src/layout/responsive/Responsive.tsx +1 -1
  166. package/src/layout/stack/HStack.tsx +2 -1
  167. package/src/layout/stack/Stack.tsx +80 -62
  168. package/src/layout/stack/VStack.tsx +3 -1
  169. package/src/layout/utilities/css.ts +3 -0
  170. package/src/layout/utilities/types.ts +2 -3
  171. package/src/list/ListItem.tsx +5 -5
  172. package/src/modal/dialog-polyfill.ts +0 -3
  173. package/src/overlays/dismissablelayer/DismissableLayer.tsx +1 -1
  174. package/src/overlays/dismissablelayer/util/useFocusOutside.ts +6 -2
  175. package/src/overlays/dismissablelayer/util/usePointerDownOutside.ts +3 -1
  176. package/src/overlays/floating/Floating.tsx +1 -1
  177. package/src/pagination/Pagination.tsx +26 -1
  178. package/src/pagination/PaginationItem.tsx +4 -0
  179. package/src/portal/Portal.tsx +1 -1
  180. package/src/slot/Slot.tsx +33 -0
  181. package/src/{util/Slot.tsx → slot/merge-props.ts} +2 -34
  182. package/src/slot/tests/merge-props.test.ts +49 -0
  183. package/src/toggle-group/ToggleGroup.test.tsx +3 -9
  184. package/src/toggle-group/ToggleGroup.tsx +3 -3
  185. package/src/toggle-group/parts/ToggleItem.tsx +54 -8
  186. package/src/toggle-group/parts/useToggleItem.ts +4 -1
  187. package/src/util/hooks/descendants/useDescendant.tsx +1 -1
  188. package/src/util/hooks/descendants/utils.ts +1 -1
  189. package/src/util/i18n/get.ts +4 -2
  190. package/src/util/types/AsChildProps.ts +1 -0
  191. package/cjs/layout/sidemal-test/AvatarPanel.d.ts +0 -4
  192. package/cjs/layout/sidemal-test/AvatarPanel.js +0 -19
  193. package/cjs/layout/sidemal-test/AvatarPanel.js.map +0 -1
  194. package/cjs/layout/sidemal-test/Content.d.ts +0 -2
  195. package/cjs/layout/sidemal-test/Content.js +0 -67
  196. package/cjs/layout/sidemal-test/Content.js.map +0 -1
  197. package/cjs/layout/sidemal-test/Filter.d.ts +0 -2
  198. package/cjs/layout/sidemal-test/Filter.js +0 -49
  199. package/cjs/layout/sidemal-test/Filter.js.map +0 -1
  200. package/cjs/layout/sidemal-test/Header.d.ts +0 -2
  201. package/cjs/layout/sidemal-test/Header.js +0 -49
  202. package/cjs/layout/sidemal-test/Header.js.map +0 -1
  203. package/cjs/layout/sidemal-test/Intro.d.ts +0 -2
  204. package/cjs/layout/sidemal-test/Intro.js +0 -37
  205. package/cjs/layout/sidemal-test/Intro.js.map +0 -1
  206. package/cjs/layout/sidemal-test/Sidebar.d.ts +0 -4
  207. package/cjs/layout/sidemal-test/Sidebar.js +0 -50
  208. package/cjs/layout/sidemal-test/Sidebar.js.map +0 -1
  209. package/cjs/layout/sidemal-test/content-box/ContentBox.d.ts +0 -8
  210. package/cjs/layout/sidemal-test/content-box/ContentBox.js +0 -66
  211. package/cjs/layout/sidemal-test/content-box/ContentBox.js.map +0 -1
  212. package/cjs/layout/sidemal-test/content-box/index.d.ts +0 -1
  213. package/cjs/layout/sidemal-test/content-box/index.js +0 -9
  214. package/cjs/layout/sidemal-test/content-box/index.js.map +0 -1
  215. package/cjs/util/Slot.d.ts +0 -6
  216. package/cjs/util/Slot.js.map +0 -1
  217. package/esm/layout/sidemal-test/AvatarPanel.d.ts +0 -4
  218. package/esm/layout/sidemal-test/AvatarPanel.js +0 -12
  219. package/esm/layout/sidemal-test/AvatarPanel.js.map +0 -1
  220. package/esm/layout/sidemal-test/Content.d.ts +0 -2
  221. package/esm/layout/sidemal-test/Content.js +0 -60
  222. package/esm/layout/sidemal-test/Content.js.map +0 -1
  223. package/esm/layout/sidemal-test/Filter.d.ts +0 -2
  224. package/esm/layout/sidemal-test/Filter.js +0 -22
  225. package/esm/layout/sidemal-test/Filter.js.map +0 -1
  226. package/esm/layout/sidemal-test/Header.d.ts +0 -2
  227. package/esm/layout/sidemal-test/Header.js +0 -42
  228. package/esm/layout/sidemal-test/Header.js.map +0 -1
  229. package/esm/layout/sidemal-test/Intro.d.ts +0 -2
  230. package/esm/layout/sidemal-test/Intro.js +0 -30
  231. package/esm/layout/sidemal-test/Intro.js.map +0 -1
  232. package/esm/layout/sidemal-test/Sidebar.d.ts +0 -4
  233. package/esm/layout/sidemal-test/Sidebar.js +0 -41
  234. package/esm/layout/sidemal-test/Sidebar.js.map +0 -1
  235. package/esm/layout/sidemal-test/content-box/ContentBox.d.ts +0 -8
  236. package/esm/layout/sidemal-test/content-box/ContentBox.js +0 -37
  237. package/esm/layout/sidemal-test/content-box/ContentBox.js.map +0 -1
  238. package/esm/layout/sidemal-test/content-box/index.d.ts +0 -1
  239. package/esm/layout/sidemal-test/content-box/index.js +0 -2
  240. package/esm/layout/sidemal-test/content-box/index.js.map +0 -1
  241. package/esm/util/Slot.d.ts +0 -6
  242. package/esm/util/Slot.js +0 -63
  243. package/esm/util/Slot.js.map +0 -1
  244. package/src/layout/sidemal-test/AvatarPanel.tsx +0 -27
  245. package/src/layout/sidemal-test/Content.tsx +0 -129
  246. package/src/layout/sidemal-test/Filter.tsx +0 -46
  247. package/src/layout/sidemal-test/Header.tsx +0 -96
  248. package/src/layout/sidemal-test/Intro.tsx +0 -91
  249. package/src/layout/sidemal-test/Sidebar.tsx +0 -77
  250. package/src/layout/sidemal-test/content-box/ContentBox.tsx +0 -46
  251. package/src/layout/sidemal-test/content-box/index.ts +0 -1
  252. package/src/layout/sidemal-test/styling.css +0 -43
  253. /package/src/{util/__tests__ → slot/tests}/Slot.test.tsx +0 -0
@@ -64,7 +64,7 @@ export function useToggleItem({ value, disabled = false, onFocus: _onFocus, onCl
64
64
  ref: mergeRefs([register, ref]),
65
65
  isSelected,
66
66
  isFocused: focusedValue === value,
67
- onClick: composeEventHandlers(onClick, () => setSelectedValue(value)),
67
+ onClick: composeEventHandlers(onClick, () => selectedValue !== value && setSelectedValue(value)),
68
68
  onFocus: disabled ? undefined : composeEventHandlers(_onFocus, onFocus),
69
69
  onKeyDown: composeEventHandlers(_onKeyDown, onKeyDown),
70
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useToggleItem.js","sourceRoot":"","sources":["../../../src/toggle-group/parts/useToggleItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useToggleItem.js","sourceRoot":"","sources":["../../../src/toggle-group/parts/useToggleItem.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export function createDescendantContext() {
38
38
  if (!ref.current)
39
39
  return;
40
40
  const dataIndex = Number(ref.current.dataset["index"]);
41
- if (index != dataIndex && !Number.isNaN(dataIndex)) {
41
+ if (index !== dataIndex && !Number.isNaN(dataIndex)) {
42
42
  setIndex(dataIndex);
43
43
  }
44
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useDescendant.js","sourceRoot":"","sources":["../../../../src/util/hooks/descendants/useDescendant.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAqB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;GAEG;AACH,MAAM,UAAU,uBAAuB;IAIrC,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,GAAG,aAAa,CAEvE;QACA,IAAI,EAAE,qBAAqB;QAC3B,YAAY,EACV,+DAA+D;KAClE,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,CAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,CACT,oBAAC,0BAA0B,oBAAK,KAAK,CAAC,KAAK,GACxC,KAAK,CAAC,QAAQ,CACY,CAC9B,CACF,CAAC;IAEF;;;;;;OAMG;IACH,SAAS,cAAc,CAAC,OAA8B;QACpD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;QAE5B,qBAAqB,CAAC,GAAG,EAAE;YACzB,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,OAAO;gBACzB,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,OAAO;YACzB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,KAAK,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnD,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,OAAO;YACzB,CAAC,CAAC,IAAI,CAAuB,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAuB,WAAW,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO;YACL,WAAW;YACX,KAAK;YACL,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;YACrD,QAAQ,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;SACxC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS,eAAe;QACtB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,kBAAkB,EAAQ,CAAC,CAAC,OAAO,CAAC;QAEnE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO;QACL,mBAAmB;QACnB,eAAe;QACf,+CAA+C;QAC/C,qBAAqB;QACrB,8EAA8E;QAC9E,eAAe;QACf,+BAA+B;QAC/B,cAAc;KACN,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"useDescendant.js","sourceRoot":"","sources":["../../../../src/util/hooks/descendants/useDescendant.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAqB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;GAEG;AACH,MAAM,UAAU,uBAAuB;IAIrC,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,GAAG,aAAa,CAEvE;QACA,IAAI,EAAE,qBAAqB;QAC3B,YAAY,EACV,+DAA+D;KAClE,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,CAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,CACT,oBAAC,0BAA0B,oBAAK,KAAK,CAAC,KAAK,GACxC,KAAK,CAAC,QAAQ,CACY,CAC9B,CACF,CAAC;IAEF;;;;;;OAMG;IACH,SAAS,cAAc,CAAC,OAA8B;QACpD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC,CAAC;QAE5B,qBAAqB,CAAC,GAAG,EAAE;YACzB,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,OAAO;gBACzB,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,OAAO;YACzB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,OAAO;YACzB,CAAC,CAAC,IAAI,CAAuB,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAuB,WAAW,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO;YACL,WAAW;YACX,KAAK;YACL,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;YACrD,QAAQ,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;SACxC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS,eAAe;QACtB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,kBAAkB,EAAQ,CAAC,CAAC,OAAO,CAAC;QAEnE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO;QACL,mBAAmB;QACnB,eAAe;QACf,+CAA+C;QAC/C,qBAAqB;QACrB,8EAA8E;QAC9E,eAAe;QACf,+BAA+B;QAC/B,cAAc;KACN,CAAC;AACb,CAAC"}
@@ -25,7 +25,7 @@ export function sortNodes(nodes) {
25
25
  return 0;
26
26
  });
27
27
  }
28
- export const isElement = (el) => typeof el == "object" &&
28
+ export const isElement = (el) => typeof el === "object" &&
29
29
  "nodeType" in el &&
30
30
  el.nodeType === Node.ELEMENT_NODE;
31
31
  export function getNextIndex(current, max, loop) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/util/hooks/descendants/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAE7C,IACE,OAAO,GAAG,IAAI,CAAC,2BAA2B;YAC1C,OAAO,GAAG,IAAI,CAAC,8BAA8B,EAC7C,CAAC;YACD,QAAQ;YACR,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QAED,IACE,OAAO,GAAG,IAAI,CAAC,2BAA2B;YAC1C,OAAO,GAAG,IAAI,CAAC,0BAA0B,EACzC,CAAC;YACD,QAAQ;YACR,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IACE,OAAO,GAAG,IAAI,CAAC,8BAA8B;YAC7C,OAAO,GAAG,IAAI,CAAC,yCAAyC,EACxD,CAAC;YACD,MAAM,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAO,EAAqB,EAAE,CACtD,OAAO,EAAE,IAAI,QAAQ;IACrB,UAAU,IAAI,EAAE;IAChB,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC;AAEpC,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,GAAW,EAAE,IAAa;IACtE,IAAI,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG;QAAE,IAAI,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,GAAW,EAAE,IAAa;IACtE,IAAI,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;QAAE,IAAI,GAAG,GAAG,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAI,KAAU,EAAE,EAAE,CAAC,KAAU,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/util/hooks/descendants/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAE7C,IACE,OAAO,GAAG,IAAI,CAAC,2BAA2B;YAC1C,OAAO,GAAG,IAAI,CAAC,8BAA8B,EAC7C,CAAC;YACD,QAAQ;YACR,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QAED,IACE,OAAO,GAAG,IAAI,CAAC,2BAA2B;YAC1C,OAAO,GAAG,IAAI,CAAC,0BAA0B,EACzC,CAAC;YACD,QAAQ;YACR,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IACE,OAAO,GAAG,IAAI,CAAC,8BAA8B;YAC7C,OAAO,GAAG,IAAI,CAAC,yCAAyC,EACxD,CAAC;YACD,MAAM,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAO,EAAqB,EAAE,CACtD,OAAO,EAAE,KAAK,QAAQ;IACtB,UAAU,IAAI,EAAE;IAChB,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC;AAEpC,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,GAAW,EAAE,IAAa;IACtE,IAAI,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG;QAAE,IAAI,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,GAAW,EAAE,IAAa;IACtE,IAAI,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;QAAE,IAAI,GAAG,GAAG,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAI,KAAU,EAAE,EAAE,CAAC,KAAU,CAAC"}
@@ -24,10 +24,11 @@ export function get(keypath, ...objs) {
24
24
  }
25
25
  function getKeypath(str) {
26
26
  const path = [];
27
- let result;
28
- while ((result = OBJECT_NOTATION_MATCHER.exec(str))) {
27
+ let result = OBJECT_NOTATION_MATCHER.exec(str);
28
+ while (result) {
29
29
  const [, first, second] = result;
30
30
  path.push(first || second);
31
+ result = OBJECT_NOTATION_MATCHER.exec(str);
31
32
  }
32
33
  return path;
33
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/util/i18n/get.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEzC,MAAM,UAAU,GAAG,CACjB,OAA0B,EAC1B,GAAG,IAAuC;IAE1C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEpE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QAED,IAAI,GAAG,GAA+B,GAAG,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,MAA8B,CAAC;IACnC,OAAO,CAAC,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/util/i18n/get.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEzC,MAAM,UAAU,GAAG,CACjB,OAA0B,EAC1B,GAAG,IAAuC;IAE1C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEpE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QAED,IAAI,GAAG,GAA+B,GAAG,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/C,OAAO,MAAM,EAAE,CAAC;QACd,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;QAC3B,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -16,6 +16,7 @@ export type AsChildProps = {
16
16
  * ```
17
17
  */
18
18
  asChild: true;
19
+ as?: never;
19
20
  } | {
20
21
  children: React.ReactNode;
21
22
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@navikt/ds-react",
3
- "version": "6.10.1",
3
+ "version": "6.12.0",
4
4
  "description": "React components from the Norwegian Labour and Welfare Administration.",
5
5
  "author": "Aksel, a team part of the Norwegian Labour and Welfare Administration.",
6
6
  "license": "MIT",
@@ -594,8 +594,8 @@
594
594
  "dependencies": {
595
595
  "@floating-ui/react": "0.25.4",
596
596
  "@floating-ui/react-dom": "^2.0.9",
597
- "@navikt/aksel-icons": "^6.10.1",
598
- "@navikt/ds-tokens": "^6.10.1",
597
+ "@navikt/aksel-icons": "^6.12.0",
598
+ "@navikt/ds-tokens": "^6.12.0",
599
599
  "clsx": "^2.1.0",
600
600
  "date-fns": "^3.0.0",
601
601
  "react-day-picker": "8.10.0"
@@ -29,6 +29,11 @@ export interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
29
29
  * @default false
30
30
  */
31
31
  fullWidth?: boolean;
32
+ /**
33
+ * Sets max-width on the content to 43.5rem.
34
+ * @default true
35
+ */
36
+ contentMaxWidth?: boolean;
32
37
  /**
33
38
  * Removes background from Alert.
34
39
  * @default false
@@ -85,6 +90,7 @@ export const Alert = forwardRef<HTMLDivElement, AlertProps>(
85
90
  variant,
86
91
  size = "medium",
87
92
  fullWidth = false,
93
+ contentMaxWidth = true,
88
94
  inline = false,
89
95
  closeButton = false,
90
96
  onClose,
@@ -109,7 +115,14 @@ export const Alert = forwardRef<HTMLDivElement, AlertProps>(
109
115
  )}
110
116
  >
111
117
  <Icon variant={variant} className="navds-alert__icon" />
112
- <BodyLong as="div" size={size} className="navds-alert__wrapper">
118
+ <BodyLong
119
+ as="div"
120
+ size={size}
121
+ className={cl(
122
+ "navds-alert__wrapper",
123
+ contentMaxWidth && "navds-alert__wrapper--maxwidth",
124
+ )}
125
+ >
113
126
  {children}
114
127
  </BodyLong>
115
128
  {closeButton && !inline && (
@@ -120,7 +133,15 @@ export const Alert = forwardRef<HTMLDivElement, AlertProps>(
120
133
  variant="tertiary-neutral"
121
134
  onClick={onClose}
122
135
  type="button"
123
- icon={<XMarkIcon title="Lukk Alert" />}
136
+ icon={
137
+ <XMarkIcon
138
+ title={
139
+ ["error", "warning"].includes(variant)
140
+ ? "Lukk varsel"
141
+ : "Lukk melding"
142
+ }
143
+ />
144
+ }
124
145
  />
125
146
  </div>
126
147
  )}
@@ -1,5 +1,5 @@
1
1
  import React, { forwardRef } from "react";
2
- import { Slot } from "../../util/Slot";
2
+ import { Slot } from "../../slot/Slot";
3
3
  import { useCollapsibleContext } from "../Collapsible.context";
4
4
 
5
5
  export interface CollapsibleContentProps
@@ -1,5 +1,5 @@
1
1
  import React, { forwardRef } from "react";
2
- import { Slot } from "../../util/Slot";
2
+ import { Slot } from "../../slot/Slot";
3
3
  import { composeEventHandlers } from "../../util/composeEventHandlers";
4
4
  import { useCollapsibleContext } from "../Collapsible.context";
5
5
 
@@ -69,7 +69,7 @@ export interface DatePickerDefaultProps
69
69
  dropdownCaption?: boolean;
70
70
  /**
71
71
  * Apply the disabled modifier to the matching days.
72
- * https://react-day-picker.js.org/api/types/Matcher
72
+ * https://react-day-picker.js.org/api/type-aliases/Matcher
73
73
  */
74
74
  disabled?: Matcher[];
75
75
  /**
@@ -33,7 +33,7 @@ export interface MonthPickerProps extends React.HTMLAttributes<HTMLDivElement> {
33
33
  */
34
34
  dropdownCaption?: boolean;
35
35
  /**
36
- * Apply the disabled modifier to the matching months. Uses a subset of React Day Picker Matcher type. https://react-day-picker.js.org/api/types/Matcher
36
+ * Apply the disabled modifier to the matching months. Uses a subset of React Day Picker Matcher type. https://react-day-picker.js.org/api/type-aliases/Matcher
37
37
  */
38
38
  disabled?: Matcher[];
39
39
  /**
@@ -1,5 +1,5 @@
1
1
  import React, { forwardRef } from "react";
2
- import { Slot } from "../../../util/Slot";
2
+ import { Slot } from "../../../slot/Slot";
3
3
  import { FileUploadBaseProps } from "../FileUpload.types";
4
4
  import { useFileUpload } from "../useFileUpload";
5
5
 
@@ -44,6 +44,11 @@ export interface FileUploadItemProps
44
44
  * @default "idle"
45
45
  */
46
46
  status?: "downloading" | "uploading" | "idle";
47
+ /**
48
+ * File description. Replaces file size when status is "idle".
49
+ * This is useful for displaying upload date. Should not act as a replacement for error messages.
50
+ */
51
+ description?: string;
47
52
  /**
48
53
  * Props for the action button.
49
54
  */
@@ -71,6 +76,7 @@ export const Item: OverridableComponent<FileUploadItemProps, HTMLDivElement> =
71
76
  onFileClick,
72
77
  button,
73
78
  translations,
79
+ description,
74
80
  ...rest
75
81
  }: FileUploadItemProps,
76
82
  ref,
@@ -91,7 +97,7 @@ export const Item: OverridableComponent<FileUploadItemProps, HTMLDivElement> =
91
97
  if (status === "downloading") {
92
98
  return translate("item.downloading");
93
99
  }
94
- return formatFileSize(file);
100
+ return description ?? formatFileSize(file);
95
101
  }
96
102
 
97
103
  return (
@@ -0,0 +1,314 @@
1
+ import cl from "clsx";
2
+ import React from "react";
3
+ import { Slot } from "../../slot/Slot";
4
+ import { getResponsiveProps, getResponsiveValue } from "../utilities/css";
5
+ import { ResponsiveProp, SpacingScale } from "../utilities/types";
6
+
7
+ export type PrimitiveProps = {
8
+ className?: string;
9
+ /**
10
+ * Padding around children.
11
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
12
+ * or an object of spacing tokens for different breakpoints.
13
+ * @example
14
+ * padding='4'
15
+ * padding={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}
16
+ */
17
+ padding?: ResponsiveProp<SpacingScale>;
18
+ /**
19
+ * Horizontal padding around children.
20
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
21
+ * or an object of spacing tokens for different breakpoints.
22
+ * @example
23
+ * paddingInline='4'
24
+ * paddingInline='4 5'
25
+ * paddingInline={{xs: '0 32', sm: '3', md: '4 5', lg: '5', xl: '6'}}
26
+ */
27
+ paddingInline?: ResponsiveProp<
28
+ SpacingScale | `${SpacingScale} ${SpacingScale}`
29
+ >;
30
+ /**
31
+ * Vertical padding around children.
32
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
33
+ * or an object of spacing tokens for different breakpoints.
34
+ * @example
35
+ * paddingBlock='4'
36
+ * paddingBlock='4 5'
37
+ * paddingBlock={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}
38
+ */
39
+ paddingBlock?: ResponsiveProp<
40
+ SpacingScale | `${SpacingScale} ${SpacingScale}`
41
+ >;
42
+ /**
43
+ * Margin around element.
44
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
45
+ * or an object of spacing tokens for different breakpoints.
46
+ * @example
47
+ * margin='4'
48
+ * margin={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}
49
+ */
50
+ margin?: ResponsiveProp<SpacingScale>;
51
+ /**
52
+ * Horizontal margin around element.
53
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
54
+ * or an object of spacing tokens for different breakpoints.
55
+ * @example
56
+ * marginInline='4'
57
+ * marginInline='4 5'
58
+ * marginInline={{xs: '0 32', sm: '3', md: '4 5', lg: '5', xl: '6'}}
59
+ */
60
+ marginInline?: ResponsiveProp<
61
+ | SpacingScale
62
+ | `${SpacingScale} ${SpacingScale}`
63
+ | "auto"
64
+ | `auto ${SpacingScale}`
65
+ | `${SpacingScale} auto`
66
+ >;
67
+ /**
68
+ * Vertical margin around element.
69
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
70
+ * or an object of spacing tokens for different breakpoints.
71
+ * @example
72
+ * marginBlock='4'
73
+ * marginBlock='4 5'
74
+ * marginBlock={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}
75
+ */
76
+ marginBlock?: ResponsiveProp<
77
+ | SpacingScale
78
+ | `${SpacingScale} ${SpacingScale}`
79
+ | "auto"
80
+ | `auto ${SpacingScale}`
81
+ | `${SpacingScale} auto`
82
+ >;
83
+ /**
84
+ * CSS `width`
85
+ */
86
+ width?: ResponsiveProp<string>;
87
+ /**
88
+ * CSS `min-width`
89
+ */
90
+ minWidth?: ResponsiveProp<string>;
91
+ /**
92
+ * CSS `max-width`
93
+ */
94
+ maxWidth?: ResponsiveProp<string>;
95
+ /**
96
+ * CSS `height`
97
+ */
98
+ height?: ResponsiveProp<string>;
99
+ /**
100
+ * CSS `min-height`
101
+ */
102
+ minHeight?: ResponsiveProp<string>;
103
+ /**
104
+ * CSS `max-height`
105
+ */
106
+ maxHeight?: ResponsiveProp<string>;
107
+ /**
108
+ * CSS `position`
109
+ */
110
+ position?: ResponsiveProp<
111
+ "static" | "relative" | "absolute" | "fixed" | "sticky"
112
+ >;
113
+ /**
114
+ * CSS `inset`.
115
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
116
+ * or an object of spacing tokens for different breakpoints.
117
+ * @example
118
+ * inset='4'
119
+ * inset='4 5'
120
+ * inset={{xs: '0 32', sm: '3', md: '4 5', lg: '5', xl: '6'}}
121
+ */
122
+ inset?: ResponsiveProp<SpacingScale | `${SpacingScale} ${SpacingScale}`>;
123
+ /**
124
+ * CSS `top`
125
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
126
+ * or an object of spacing tokens for different breakpoints.
127
+ * @example
128
+ * top='4'
129
+ * top={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}
130
+ */
131
+ top?: ResponsiveProp<SpacingScale>;
132
+ /**
133
+ * CSS `right`
134
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
135
+ * or an object of spacing tokens for different breakpoints.
136
+ * @example
137
+ * right='4'
138
+ * right={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}
139
+ */
140
+ right?: ResponsiveProp<SpacingScale>;
141
+ /**
142
+ * CSS `bottom`
143
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
144
+ * or an object of spacing tokens for different breakpoints.
145
+ * @example
146
+ * bottom='4'
147
+ * bottom={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}
148
+ */
149
+ bottom?: ResponsiveProp<SpacingScale>;
150
+ /**
151
+ * CSS `left`
152
+ * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#0cc9fb32f213)
153
+ * or an object of spacing tokens for different breakpoints.
154
+ * @example
155
+ * left='4'
156
+ * left={{xs: '2', sm: '3', md: '4', lg: '5', xl: '6'}}
157
+ */
158
+ left?: ResponsiveProp<SpacingScale>;
159
+ /**
160
+ * CSS `overflow`
161
+ */
162
+ overflow?: ResponsiveProp<"visible" | "hidden" | "clip" | "scroll" | "auto">;
163
+ /**
164
+ * CSS `overflow-x`
165
+ */
166
+ overflowX?: ResponsiveProp<"visible" | "hidden" | "clip" | "scroll" | "auto">;
167
+ /**
168
+ * CSS `overflow-y`
169
+ */
170
+ overflowY?: ResponsiveProp<"visible" | "hidden" | "clip" | "scroll" | "auto">;
171
+ /**
172
+ * CSS `flex-basis`
173
+ */
174
+ flexBasis?: ResponsiveProp<string>;
175
+ /**
176
+ * CSS `flex-shrink`
177
+ */
178
+ flexShrink?: ResponsiveProp<string>;
179
+ /**
180
+ * CSS `flex-grow`
181
+ */
182
+ flexGrow?: ResponsiveProp<string>;
183
+ };
184
+
185
+ export const PRIMITIVE_PROPS: (keyof PrimitiveProps)[] = [
186
+ "className",
187
+ "padding",
188
+ "paddingInline",
189
+ "paddingBlock",
190
+ "margin",
191
+ "marginInline",
192
+ "marginBlock",
193
+ "width",
194
+ "minWidth",
195
+ "maxWidth",
196
+ "height",
197
+ "minHeight",
198
+ "maxHeight",
199
+ "position",
200
+ "inset",
201
+ "top",
202
+ "right",
203
+ "bottom",
204
+ "left",
205
+ "overflow",
206
+ "overflowX",
207
+ "overflowY",
208
+ "flexBasis",
209
+ "flexGrow",
210
+ "flexShrink",
211
+ ];
212
+
213
+ interface BasePrimitiveProps extends PrimitiveProps {
214
+ children: React.ReactElement;
215
+ }
216
+
217
+ export const BasePrimitive = ({
218
+ children,
219
+ className,
220
+ padding,
221
+ paddingInline,
222
+ paddingBlock,
223
+ margin,
224
+ marginInline,
225
+ marginBlock,
226
+ width,
227
+ minWidth,
228
+ maxWidth,
229
+ height,
230
+ minHeight,
231
+ maxHeight,
232
+ position,
233
+ inset,
234
+ top,
235
+ right,
236
+ left,
237
+ bottom,
238
+ overflow,
239
+ overflowX,
240
+ overflowY,
241
+ flexBasis,
242
+ flexGrow,
243
+ flexShrink,
244
+ }: BasePrimitiveProps) => {
245
+ const style: React.CSSProperties = {
246
+ /* Padding */
247
+ ...getResponsiveProps("r", "p", "spacing", padding),
248
+ ...getResponsiveProps("r", "pi", "spacing", paddingInline),
249
+ ...getResponsiveProps("r", "pb", "spacing", paddingBlock),
250
+ /* Margin */
251
+ ...getResponsiveProps("r", "m", "spacing", margin),
252
+ ...getResponsiveProps("r", "mi", "spacing", marginInline),
253
+ ...getResponsiveProps("r", "mb", "spacing", marginBlock),
254
+ /* Width & height */
255
+ ...getResponsiveValue("r", "w", width),
256
+ ...getResponsiveValue("r", "minw", minWidth),
257
+ ...getResponsiveValue("r", "maxw", maxWidth),
258
+ ...getResponsiveValue("r", "h", height),
259
+ ...getResponsiveValue("r", "minh", minHeight),
260
+ ...getResponsiveValue("r", "maxh", maxHeight),
261
+ /* Positon & inset */
262
+ ...getResponsiveValue("r", "position", position),
263
+ ...getResponsiveProps("r", "inset", "spacing", inset),
264
+ ...getResponsiveProps("r", "top", "spacing", top),
265
+ ...getResponsiveProps("r", "right", "spacing", right),
266
+ ...getResponsiveProps("r", "bottom", "spacing", bottom),
267
+ ...getResponsiveProps("r", "left", "spacing", left),
268
+ /* Overflow */
269
+ ...getResponsiveValue("r", "overflow", overflow),
270
+ ...getResponsiveValue("r", "overflowx", overflowX),
271
+ ...getResponsiveValue("r", "overflowy", overflowY),
272
+ /* Flex */
273
+ ...getResponsiveValue("r", "flex-basis", flexBasis),
274
+ ...getResponsiveValue("r", "flex-grow", flexGrow),
275
+ ...getResponsiveValue("r", "flex-shrink", flexShrink),
276
+ };
277
+
278
+ return (
279
+ <Slot
280
+ className={cl({
281
+ className,
282
+ "navds-r-p": padding,
283
+ "navds-r-pi": paddingInline,
284
+ "navds-r-pb": paddingBlock,
285
+ "navds-r-m": margin,
286
+ "navds-r-mi": marginInline,
287
+ "navds-r-mb": marginBlock,
288
+ "navds-r-w": width,
289
+ "navds-r-minw": minWidth,
290
+ "navds-r-maxw": maxWidth,
291
+ "navds-r-h": height,
292
+ "navds-r-minh": minHeight,
293
+ "navds-r-maxh": maxHeight,
294
+ "navds-r-position": position,
295
+ "navds-r-inset": inset,
296
+ "navds-r-top": top,
297
+ "navds-r-right": right,
298
+ "navds-r-bottom": bottom,
299
+ "navds-r-left": left,
300
+ "navds-r-overflow": overflow,
301
+ "navds-r-overflowx": overflowX,
302
+ "navds-r-overflowy": overflowY,
303
+ "navds-r-flex-basis": flexBasis,
304
+ "navds-r-flex-grow": flexGrow,
305
+ "navds-r-flex-shrink": flexShrink,
306
+ })}
307
+ style={style}
308
+ >
309
+ {children}
310
+ </Slot>
311
+ );
312
+ };
313
+
314
+ export default BasePrimitive;
@@ -0,0 +1,42 @@
1
+ export type PrimitiveAsChildProps =
2
+ | {
3
+ children: React.ReactElement | false | null;
4
+ /**
5
+ * Renders the component and its child as a single element,
6
+ * merging the props of the component with the props of the child.
7
+ * @example
8
+ * ```tsx
9
+ * <Component asChild data-prop>
10
+ * <ChildComponent data-child />
11
+ * </Component>
12
+ *
13
+ * // Renders
14
+ * <div data-prop data-child />
15
+ * ```
16
+ */
17
+ asChild: true;
18
+ /**
19
+ * Implements [OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent)
20
+ *
21
+ * When using asChild, the prop is not allowed as it would have no effect.
22
+ */
23
+ as?: never;
24
+ }
25
+ | {
26
+ children?: React.ReactNode;
27
+ /**
28
+ * Renders the component and its child as a single element,
29
+ * merging the props of the component with the props of the child.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * <Component asChild data-prop>
34
+ * <ChildComponent data-child />
35
+ * </Component>
36
+ *
37
+ * // Renders
38
+ * <div data-prop data-child />
39
+ * ```
40
+ */
41
+ asChild?: false;
42
+ };
@@ -1,6 +1,6 @@
1
1
  import cl from "clsx";
2
2
  import React, { forwardRef } from "react";
3
- import { Slot } from "../../util/Slot";
3
+ import { Slot } from "../../slot/Slot";
4
4
  import { getResponsiveProps } from "../utilities/css";
5
5
  import { ResponsiveProp, SpacingScale } from "../utilities/types";
6
6