@navikt/ds-react 8.2.0 → 8.2.1

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 (268) hide show
  1. package/cjs/accordion/Accordion.d.ts +9 -7
  2. package/cjs/accordion/Accordion.js +4 -1
  3. package/cjs/accordion/Accordion.js.map +1 -1
  4. package/cjs/accordion/index.d.ts +2 -4
  5. package/cjs/accordion/index.js +3 -6
  6. package/cjs/accordion/index.js.map +1 -1
  7. package/cjs/chat/Chat.d.ts +4 -2
  8. package/cjs/chat/Chat.js +2 -1
  9. package/cjs/chat/Chat.js.map +1 -1
  10. package/cjs/chat/index.d.ts +2 -2
  11. package/cjs/chat/index.js +1 -2
  12. package/cjs/chat/index.js.map +1 -1
  13. package/cjs/chips/Chips.d.ts +7 -6
  14. package/cjs/chips/Chips.js +3 -1
  15. package/cjs/chips/Chips.js.map +1 -1
  16. package/cjs/chips/index.d.ts +2 -3
  17. package/cjs/chips/index.js +2 -4
  18. package/cjs/chips/index.js.map +1 -1
  19. package/cjs/collapsible/Collapsible.d.ts +6 -4
  20. package/cjs/collapsible/Collapsible.js +4 -2
  21. package/cjs/collapsible/Collapsible.js.map +1 -1
  22. package/cjs/collapsible/index.d.ts +2 -3
  23. package/cjs/collapsible/index.js +2 -4
  24. package/cjs/collapsible/index.js.map +1 -1
  25. package/cjs/data/table/root/DataTableRoot.js +2 -1
  26. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  27. package/cjs/data/table/td/DataTableTd.js +3 -2
  28. package/cjs/data/table/td/DataTableTd.js.map +1 -1
  29. package/cjs/data/table/th/DataTableTh.d.ts +12 -2
  30. package/cjs/data/table/th/DataTableTh.js +7 -2
  31. package/cjs/data/table/th/DataTableTh.js.map +1 -1
  32. package/cjs/data/toolbar/button/DataToolbarButton.d.ts +17 -0
  33. package/cjs/data/toolbar/button/DataToolbarButton.js +28 -0
  34. package/cjs/data/toolbar/button/DataToolbarButton.js.map +1 -0
  35. package/cjs/data/toolbar/root/DataToolbarRoot.d.ts +13 -2
  36. package/cjs/data/toolbar/root/DataToolbarRoot.js +4 -1
  37. package/cjs/data/toolbar/root/DataToolbarRoot.js.map +1 -1
  38. package/cjs/data/toolbar/search-field/DataToolbarSearchField.d.ts +3 -2
  39. package/cjs/data/toolbar/search-field/DataToolbarSearchField.js +4 -1
  40. package/cjs/data/toolbar/search-field/DataToolbarSearchField.js.map +1 -1
  41. package/cjs/data/toolbar/toggle-button/DataToolbarToggleButton.d.ts +7 -6
  42. package/cjs/data/toolbar/toggle-button/DataToolbarToggleButton.js +2 -1
  43. package/cjs/data/toolbar/toggle-button/DataToolbarToggleButton.js.map +1 -1
  44. package/cjs/date/datepicker/DatePicker.d.ts +6 -3
  45. package/cjs/date/datepicker/DatePicker.js +3 -1
  46. package/cjs/date/datepicker/DatePicker.js.map +1 -1
  47. package/cjs/date/datepicker/index.d.ts +2 -3
  48. package/cjs/date/datepicker/index.js +3 -5
  49. package/cjs/date/datepicker/index.js.map +1 -1
  50. package/cjs/date/monthpicker/MonthPicker.d.ts +5 -2
  51. package/cjs/date/monthpicker/MonthPicker.js +3 -1
  52. package/cjs/date/monthpicker/MonthPicker.js.map +1 -1
  53. package/cjs/date/monthpicker/index.d.ts +2 -4
  54. package/cjs/date/monthpicker/index.js +2 -4
  55. package/cjs/date/monthpicker/index.js.map +1 -1
  56. package/cjs/dialog/index.d.ts +2 -18
  57. package/cjs/dialog/index.js +8 -16
  58. package/cjs/dialog/index.js.map +1 -1
  59. package/cjs/dialog/root/DialogRoot.d.ts +10 -9
  60. package/cjs/dialog/root/DialogRoot.js +9 -1
  61. package/cjs/dialog/root/DialogRoot.js.map +1 -1
  62. package/cjs/form/file-upload/FileUpload.d.ts +2 -2
  63. package/cjs/form/file-upload/FileUpload.js +1 -1
  64. package/cjs/form/file-upload/FileUpload.js.map +1 -1
  65. package/cjs/form/search/Search.d.ts +2 -1
  66. package/cjs/form/search/Search.js.map +1 -1
  67. package/cjs/internal-header/InternalHeader.d.ts +11 -10
  68. package/cjs/internal-header/InternalHeader.js +5 -1
  69. package/cjs/internal-header/InternalHeader.js.map +1 -1
  70. package/cjs/internal-header/index.d.ts +2 -5
  71. package/cjs/internal-header/index.js +4 -8
  72. package/cjs/internal-header/index.js.map +1 -1
  73. package/cjs/layout/bleed/Bleed.d.ts +1 -1
  74. package/cjs/layout/bleed/Bleed.js +1 -1
  75. package/cjs/layout/responsive/Responsive.d.ts +4 -4
  76. package/cjs/layout/responsive/Responsive.js +4 -4
  77. package/cjs/layout/stack/HStack.d.ts +2 -2
  78. package/cjs/layout/stack/HStack.js +2 -2
  79. package/cjs/layout/stack/Spacer.d.ts +1 -1
  80. package/cjs/layout/stack/Spacer.js +1 -1
  81. package/cjs/layout/stack/VStack.d.ts +2 -2
  82. package/cjs/layout/stack/VStack.js +2 -2
  83. package/cjs/link-panel/LinkPanel.d.ts +1 -1
  84. package/cjs/link-panel/LinkPanel.js.map +1 -1
  85. package/cjs/list/List.d.ts +4 -2
  86. package/cjs/list/List.js +2 -1
  87. package/cjs/list/List.js.map +1 -1
  88. package/cjs/list/index.d.ts +2 -3
  89. package/cjs/list/index.js +1 -2
  90. package/cjs/list/index.js.map +1 -1
  91. package/cjs/overlays/action-menu/ActionMenu.d.ts +42 -42
  92. package/cjs/overlays/action-menu/ActionMenu.js +1 -1
  93. package/cjs/overlays/action-menu/ActionMenu.js.map +1 -1
  94. package/cjs/panel/Panel.d.ts +2 -2
  95. package/cjs/panel/Panel.js +2 -2
  96. package/cjs/stepper/Stepper.d.ts +4 -2
  97. package/cjs/stepper/Stepper.js +2 -1
  98. package/cjs/stepper/Stepper.js.map +1 -1
  99. package/cjs/stepper/index.d.ts +2 -2
  100. package/cjs/stepper/index.js +1 -2
  101. package/cjs/stepper/index.js.map +1 -1
  102. package/cjs/tabs/Tabs.d.ts +5 -3
  103. package/cjs/tabs/Tabs.js +4 -1
  104. package/cjs/tabs/Tabs.js.map +1 -1
  105. package/cjs/tabs/index.d.ts +2 -5
  106. package/cjs/tabs/index.js +3 -6
  107. package/cjs/tabs/index.js.map +1 -1
  108. package/cjs/toggle-group/ToggleGroup.d.ts +4 -2
  109. package/cjs/toggle-group/ToggleGroup.js +2 -1
  110. package/cjs/toggle-group/ToggleGroup.js.map +1 -1
  111. package/cjs/toggle-group/index.d.ts +2 -3
  112. package/cjs/toggle-group/index.js +1 -2
  113. package/cjs/toggle-group/index.js.map +1 -1
  114. package/esm/accordion/Accordion.d.ts +9 -7
  115. package/esm/accordion/Accordion.js +1 -0
  116. package/esm/accordion/Accordion.js.map +1 -1
  117. package/esm/accordion/index.d.ts +2 -4
  118. package/esm/accordion/index.js +1 -4
  119. package/esm/accordion/index.js.map +1 -1
  120. package/esm/chat/Chat.d.ts +4 -2
  121. package/esm/chat/Chat.js +1 -0
  122. package/esm/chat/Chat.js.map +1 -1
  123. package/esm/chat/index.d.ts +2 -2
  124. package/esm/chat/index.js +1 -2
  125. package/esm/chat/index.js.map +1 -1
  126. package/esm/chips/Chips.d.ts +7 -6
  127. package/esm/chips/Chips.js +1 -0
  128. package/esm/chips/Chips.js.map +1 -1
  129. package/esm/chips/index.d.ts +2 -3
  130. package/esm/chips/index.js +1 -3
  131. package/esm/chips/index.js.map +1 -1
  132. package/esm/collapsible/Collapsible.d.ts +6 -4
  133. package/esm/collapsible/Collapsible.js +2 -1
  134. package/esm/collapsible/Collapsible.js.map +1 -1
  135. package/esm/collapsible/index.d.ts +2 -3
  136. package/esm/collapsible/index.js +1 -3
  137. package/esm/collapsible/index.js.map +1 -1
  138. package/esm/data/table/root/DataTableRoot.js +2 -1
  139. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  140. package/esm/data/table/td/DataTableTd.js +3 -2
  141. package/esm/data/table/td/DataTableTd.js.map +1 -1
  142. package/esm/data/table/th/DataTableTh.d.ts +12 -2
  143. package/esm/data/table/th/DataTableTh.js +7 -2
  144. package/esm/data/table/th/DataTableTh.js.map +1 -1
  145. package/esm/data/toolbar/button/DataToolbarButton.d.ts +17 -0
  146. package/esm/data/toolbar/button/DataToolbarButton.js +22 -0
  147. package/esm/data/toolbar/button/DataToolbarButton.js.map +1 -0
  148. package/esm/data/toolbar/root/DataToolbarRoot.d.ts +13 -2
  149. package/esm/data/toolbar/root/DataToolbarRoot.js +3 -1
  150. package/esm/data/toolbar/root/DataToolbarRoot.js.map +1 -1
  151. package/esm/data/toolbar/search-field/DataToolbarSearchField.d.ts +3 -2
  152. package/esm/data/toolbar/search-field/DataToolbarSearchField.js +4 -1
  153. package/esm/data/toolbar/search-field/DataToolbarSearchField.js.map +1 -1
  154. package/esm/data/toolbar/toggle-button/DataToolbarToggleButton.d.ts +7 -6
  155. package/esm/data/toolbar/toggle-button/DataToolbarToggleButton.js +2 -1
  156. package/esm/data/toolbar/toggle-button/DataToolbarToggleButton.js.map +1 -1
  157. package/esm/date/datepicker/DatePicker.d.ts +6 -3
  158. package/esm/date/datepicker/DatePicker.js +2 -1
  159. package/esm/date/datepicker/DatePicker.js.map +1 -1
  160. package/esm/date/datepicker/index.d.ts +2 -3
  161. package/esm/date/datepicker/index.js +1 -3
  162. package/esm/date/datepicker/index.js.map +1 -1
  163. package/esm/date/monthpicker/MonthPicker.d.ts +5 -2
  164. package/esm/date/monthpicker/MonthPicker.js +3 -2
  165. package/esm/date/monthpicker/MonthPicker.js.map +1 -1
  166. package/esm/date/monthpicker/index.d.ts +2 -4
  167. package/esm/date/monthpicker/index.js +1 -3
  168. package/esm/date/monthpicker/index.js.map +1 -1
  169. package/esm/dialog/index.d.ts +2 -18
  170. package/esm/dialog/index.js +1 -9
  171. package/esm/dialog/index.js.map +1 -1
  172. package/esm/dialog/root/DialogRoot.d.ts +10 -9
  173. package/esm/dialog/root/DialogRoot.js +3 -2
  174. package/esm/dialog/root/DialogRoot.js.map +1 -1
  175. package/esm/form/file-upload/FileUpload.d.ts +2 -2
  176. package/esm/form/file-upload/FileUpload.js +1 -1
  177. package/esm/form/file-upload/FileUpload.js.map +1 -1
  178. package/esm/form/search/Search.d.ts +2 -1
  179. package/esm/form/search/Search.js.map +1 -1
  180. package/esm/internal-header/InternalHeader.d.ts +11 -10
  181. package/esm/internal-header/InternalHeader.js +1 -0
  182. package/esm/internal-header/InternalHeader.js.map +1 -1
  183. package/esm/internal-header/index.d.ts +2 -5
  184. package/esm/internal-header/index.js +1 -5
  185. package/esm/internal-header/index.js.map +1 -1
  186. package/esm/layout/bleed/Bleed.d.ts +1 -1
  187. package/esm/layout/bleed/Bleed.js +1 -1
  188. package/esm/layout/responsive/Responsive.d.ts +4 -4
  189. package/esm/layout/responsive/Responsive.js +4 -4
  190. package/esm/layout/stack/HStack.d.ts +2 -2
  191. package/esm/layout/stack/HStack.js +2 -2
  192. package/esm/layout/stack/Spacer.d.ts +1 -1
  193. package/esm/layout/stack/Spacer.js +1 -1
  194. package/esm/layout/stack/VStack.d.ts +2 -2
  195. package/esm/layout/stack/VStack.js +2 -2
  196. package/esm/link-panel/LinkPanel.d.ts +1 -1
  197. package/esm/link-panel/LinkPanel.js.map +1 -1
  198. package/esm/list/List.d.ts +4 -2
  199. package/esm/list/List.js +1 -0
  200. package/esm/list/List.js.map +1 -1
  201. package/esm/list/index.d.ts +2 -3
  202. package/esm/list/index.js +1 -2
  203. package/esm/list/index.js.map +1 -1
  204. package/esm/overlays/action-menu/ActionMenu.d.ts +42 -42
  205. package/esm/overlays/action-menu/ActionMenu.js +1 -1
  206. package/esm/overlays/action-menu/ActionMenu.js.map +1 -1
  207. package/esm/panel/Panel.d.ts +2 -2
  208. package/esm/panel/Panel.js +2 -2
  209. package/esm/stepper/Stepper.d.ts +4 -2
  210. package/esm/stepper/Stepper.js +1 -0
  211. package/esm/stepper/Stepper.js.map +1 -1
  212. package/esm/stepper/index.d.ts +2 -2
  213. package/esm/stepper/index.js +1 -2
  214. package/esm/stepper/index.js.map +1 -1
  215. package/esm/tabs/Tabs.d.ts +5 -3
  216. package/esm/tabs/Tabs.js +1 -0
  217. package/esm/tabs/Tabs.js.map +1 -1
  218. package/esm/tabs/index.d.ts +2 -5
  219. package/esm/tabs/index.js +1 -4
  220. package/esm/tabs/index.js.map +1 -1
  221. package/esm/toggle-group/ToggleGroup.d.ts +4 -2
  222. package/esm/toggle-group/ToggleGroup.js +1 -0
  223. package/esm/toggle-group/ToggleGroup.js.map +1 -1
  224. package/esm/toggle-group/index.d.ts +2 -3
  225. package/esm/toggle-group/index.js +1 -2
  226. package/esm/toggle-group/index.js.map +1 -1
  227. package/package.json +4 -4
  228. package/src/accordion/Accordion.tsx +14 -14
  229. package/src/accordion/index.ts +11 -12
  230. package/src/chat/Chat.tsx +6 -5
  231. package/src/chat/index.ts +2 -2
  232. package/src/chips/Chips.tsx +8 -8
  233. package/src/chips/index.ts +6 -6
  234. package/src/collapsible/Collapsible.tsx +18 -10
  235. package/src/collapsible/index.ts +9 -8
  236. package/src/data/table/root/DataTableRoot.tsx +7 -5
  237. package/src/data/table/td/DataTableTd.tsx +4 -2
  238. package/src/data/table/th/DataTableTh.tsx +54 -3
  239. package/src/data/toolbar/button/DataToolbarButton.tsx +34 -0
  240. package/src/data/toolbar/root/DataToolbarRoot.tsx +22 -1
  241. package/src/data/toolbar/search-field/DataToolbarSearchField.tsx +15 -14
  242. package/src/data/toolbar/toggle-button/DataToolbarToggleButton.tsx +12 -5
  243. package/src/date/datepicker/DatePicker.tsx +13 -5
  244. package/src/date/datepicker/index.ts +10 -6
  245. package/src/date/monthpicker/MonthPicker.tsx +13 -4
  246. package/src/date/monthpicker/index.ts +7 -5
  247. package/src/dialog/index.ts +22 -18
  248. package/src/dialog/root/DialogRoot.tsx +37 -9
  249. package/src/form/file-upload/FileUpload.tsx +5 -6
  250. package/src/form/search/Search.tsx +9 -6
  251. package/src/internal-header/InternalHeader.tsx +21 -15
  252. package/src/internal-header/index.ts +11 -17
  253. package/src/layout/bleed/Bleed.tsx +1 -1
  254. package/src/layout/responsive/Responsive.tsx +4 -4
  255. package/src/layout/stack/HStack.tsx +2 -2
  256. package/src/layout/stack/Spacer.tsx +1 -1
  257. package/src/layout/stack/VStack.tsx +2 -2
  258. package/src/link-panel/LinkPanel.tsx +6 -5
  259. package/src/list/List.tsx +5 -5
  260. package/src/list/index.ts +2 -3
  261. package/src/overlays/action-menu/ActionMenu.tsx +56 -52
  262. package/src/panel/Panel.tsx +2 -2
  263. package/src/stepper/Stepper.tsx +6 -5
  264. package/src/stepper/index.ts +2 -2
  265. package/src/tabs/Tabs.tsx +13 -7
  266. package/src/tabs/index.ts +7 -11
  267. package/src/toggle-group/ToggleGroup.tsx +7 -6
  268. package/src/toggle-group/index.ts +2 -6
@@ -10,31 +10,24 @@ import { AccordionContext } from "./AccordionContext";
10
10
  import AccordionHeader, { AccordionHeaderProps } from "./AccordionHeader";
11
11
  import AccordionItem, { AccordionItemProps } from "./AccordionItem";
12
12
 
13
- interface AccordionComponent
14
- extends React.ForwardRefExoticComponent<
15
- AccordionProps & React.RefAttributes<HTMLDivElement>
16
- > {
13
+ interface AccordionComponent extends React.ForwardRefExoticComponent<
14
+ AccordionProps & React.RefAttributes<HTMLDivElement>
15
+ > {
17
16
  /**
18
17
  * @see 🏷️ {@link AccordionItemProps}
19
18
  */
20
- Item: React.ForwardRefExoticComponent<
21
- AccordionItemProps & React.RefAttributes<HTMLDivElement>
22
- >;
19
+ Item: typeof AccordionItem;
23
20
  /**
24
21
  * @see 🏷️ {@link AccordionHeaderProps}
25
22
  */
26
- Header: React.ForwardRefExoticComponent<
27
- AccordionHeaderProps & React.RefAttributes<HTMLButtonElement>
28
- >;
23
+ Header: typeof AccordionHeader;
29
24
  /**
30
25
  * @see 🏷️ {@link AccordionContentProps}
31
26
  */
32
- Content: React.ForwardRefExoticComponent<
33
- AccordionContentProps & React.RefAttributes<HTMLDivElement>
34
- >;
27
+ Content: typeof AccordionContent;
35
28
  }
36
29
 
37
- export interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
30
+ interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
38
31
  /**
39
32
  * @deprecated Will be removed in a future major version. Use `data-color` instead.
40
33
  */
@@ -144,3 +137,10 @@ Accordion.Content = AccordionContent;
144
137
  Accordion.Item = AccordionItem;
145
138
 
146
139
  export default Accordion;
140
+ export { AccordionItem, AccordionHeader, AccordionContent };
141
+ export type {
142
+ AccordionProps,
143
+ AccordionItemProps,
144
+ AccordionHeaderProps,
145
+ AccordionContentProps,
146
+ };
@@ -1,14 +1,13 @@
1
1
  "use client";
2
- export { type AccordionProps, default as Accordion } from "./Accordion";
3
2
  export {
4
- default as AccordionHeader,
5
- type AccordionHeaderProps,
6
- } from "./AccordionHeader";
7
- export {
8
- default as AccordionContent,
9
- type AccordionContentProps,
10
- } from "./AccordionContent";
11
- export {
12
- default as AccordionItem,
13
- type AccordionItemProps,
14
- } from "./AccordionItem";
3
+ default as Accordion,
4
+ AccordionHeader,
5
+ AccordionContent,
6
+ AccordionItem,
7
+ } from "./Accordion";
8
+ export type {
9
+ AccordionProps,
10
+ AccordionHeaderProps,
11
+ AccordionContentProps,
12
+ AccordionItemProps,
13
+ } from "./Accordion";
package/src/chat/Chat.tsx CHANGED
@@ -9,7 +9,7 @@ export const VARIANTS = ["subtle", "info", "neutral"] as const;
9
9
  export const POSITIONS = ["left", "right"] as const;
10
10
  export const SIZES = ["medium", "small"] as const;
11
11
 
12
- export interface ChatProps extends HTMLAttributes<HTMLDivElement> {
12
+ interface ChatProps extends HTMLAttributes<HTMLDivElement> {
13
13
  /**
14
14
  * Children of type `<Chat.Bubble />`.
15
15
  */
@@ -62,10 +62,9 @@ export interface ChatProps extends HTMLAttributes<HTMLDivElement> {
62
62
  "data-color"?: Exclude<AkselColor, AkselStatusColorRole>;
63
63
  }
64
64
 
65
- interface ChatComponent
66
- extends React.ForwardRefExoticComponent<
67
- ChatProps & React.RefAttributes<HTMLDivElement>
68
- > {
65
+ interface ChatComponent extends React.ForwardRefExoticComponent<
66
+ ChatProps & React.RefAttributes<HTMLDivElement>
67
+ > {
69
68
  /**
70
69
  * @see 🏷️ {@link ChatBubbleProps}
71
70
  */
@@ -162,3 +161,5 @@ function variantToColor(variant: ChatProps["variant"]): AkselColor {
162
161
  Chat.Bubble = Bubble;
163
162
 
164
163
  export default Chat;
164
+ export { Bubble as ChatBubble };
165
+ export type { ChatProps, ChatBubbleProps };
package/src/chat/index.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- export { default as Chat, type ChatProps } from "./Chat";
3
- export { default as ChatBubble, type ChatBubbleProps } from "./Bubble";
2
+ export { default as Chat, ChatBubble } from "./Chat";
3
+ export type { ChatProps, ChatBubbleProps } from "./Chat";
@@ -1,10 +1,9 @@
1
1
  import React, { HTMLAttributes, forwardRef } from "react";
2
- import type { OverridableComponent } from "../utils-external";
3
2
  import { cl } from "../utils/helpers";
4
3
  import RemovableChips, { ChipsRemovableProps } from "./Removable";
5
4
  import ToggleChips, { ChipsToggleProps } from "./Toggle";
6
5
 
7
- export interface ChipsProps extends HTMLAttributes<HTMLUListElement> {
6
+ interface ChipsProps extends HTMLAttributes<HTMLUListElement> {
8
7
  children: React.ReactNode;
9
8
  /**
10
9
  * Changes padding and font-sizes.
@@ -13,22 +12,21 @@ export interface ChipsProps extends HTMLAttributes<HTMLUListElement> {
13
12
  size?: "medium" | "small";
14
13
  }
15
14
 
16
- interface ChipsComponent
17
- extends React.ForwardRefExoticComponent<
18
- ChipsProps & React.RefAttributes<HTMLUListElement>
19
- > {
15
+ interface ChipsComponent extends React.ForwardRefExoticComponent<
16
+ ChipsProps & React.RefAttributes<HTMLUListElement>
17
+ > {
20
18
  /**
21
19
  * Toggle between selected-states.
22
20
  * @see 🏷️ {@link ToggleChipsProps}
23
21
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
24
22
  */
25
- Toggle: OverridableComponent<ChipsToggleProps, HTMLButtonElement>;
23
+ Toggle: typeof ToggleChips;
26
24
  /**
27
25
  * Remove filter or the likes on click.
28
26
  * @see 🏷️ {@link RemovableChipsProps}
29
27
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
30
28
  */
31
- Removable: OverridableComponent<ChipsRemovableProps, HTMLButtonElement>;
29
+ Removable: typeof RemovableChips;
32
30
  }
33
31
 
34
32
  /**
@@ -81,3 +79,5 @@ Chips.Toggle = ToggleChips;
81
79
  Chips.Removable = RemovableChips;
82
80
 
83
81
  export default Chips;
82
+ export { ToggleChips as ChipsToggle, RemovableChips as ChipsRemovable };
83
+ export type { ChipsProps, ChipsToggleProps, ChipsRemovableProps };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- export { default as Chips, type ChipsProps } from "./Chips";
3
- export {
4
- RemovableChips as ChipsRemovable,
5
- type ChipsRemovableProps,
6
- } from "./Removable";
7
- export { ToggleChips as ChipsToggle, type ChipsToggleProps } from "./Toggle";
2
+ export { default as Chips, ChipsRemovable, ChipsToggle } from "./Chips";
3
+ export type {
4
+ ChipsProps,
5
+ ChipsRemovableProps,
6
+ ChipsToggleProps,
7
+ } from "./Chips";
@@ -3,17 +3,19 @@ import { useId } from "../utils-external";
3
3
  import { useControllableState } from "../utils/hooks";
4
4
  import { CollapsibleContextProvider } from "./Collapsible.context";
5
5
  import { CollapsibleBaseProps } from "./Collapsible.types";
6
- import CollapsibleContent from "./parts/Collapsible.Content";
7
- import CollapsibleTrigger from "./parts/Collapsible.Trigger";
6
+ import CollapsibleContent, {
7
+ CollapsibleContentProps,
8
+ } from "./parts/Collapsible.Content";
9
+ import CollapsibleTrigger, {
10
+ CollapsibleTriggerProps,
11
+ } from "./parts/Collapsible.Trigger";
8
12
 
9
- export interface CollapsibleProps
10
- extends CollapsibleBaseProps,
11
- React.HTMLAttributes<HTMLDivElement> {}
13
+ interface CollapsibleProps
14
+ extends CollapsibleBaseProps, React.HTMLAttributes<HTMLDivElement> {}
12
15
 
13
- interface CollapsibleComponent
14
- extends React.ForwardRefExoticComponent<
15
- CollapsibleProps & React.RefAttributes<HTMLDivElement>
16
- > {
16
+ interface CollapsibleComponent extends React.ForwardRefExoticComponent<
17
+ CollapsibleProps & React.RefAttributes<HTMLDivElement>
18
+ > {
17
19
  /**
18
20
  * @see 🏷️ {@link CollapsibleTriggerProps}
19
21
  */
@@ -47,7 +49,7 @@ interface CollapsibleComponent
47
49
  * <Button>Button</Button>
48
50
  * </Collapsible.Trigger>
49
51
  * <Collapsible.Content asChild>
50
- * <Box padding="4" background="info-soft">
52
+ * <Box padding="space-16" background="info-soft">
51
53
  * <div>lorem ipsum</div>
52
54
  * </Box>
53
55
  * </Collapsible.Content>
@@ -99,3 +101,9 @@ Collapsible.Trigger = CollapsibleTrigger;
99
101
  Collapsible.Content = CollapsibleContent;
100
102
 
101
103
  export default Collapsible;
104
+ export { CollapsibleTrigger, CollapsibleContent };
105
+ export type {
106
+ CollapsibleProps,
107
+ CollapsibleTriggerProps,
108
+ CollapsibleContentProps,
109
+ };
@@ -1,10 +1,11 @@
1
1
  "use client";
2
- export { default as Collapsible, type CollapsibleProps } from "./Collapsible";
3
2
  export {
4
- default as CollapsibleTrigger,
5
- type CollapsibleTriggerProps,
6
- } from "./parts/Collapsible.Trigger";
7
- export {
8
- default as CollapsibleContent,
9
- type CollapsibleContentProps,
10
- } from "./parts/Collapsible.Content";
3
+ default as Collapsible,
4
+ CollapsibleTrigger,
5
+ CollapsibleContent,
6
+ } from "./Collapsible";
7
+ export type {
8
+ CollapsibleProps,
9
+ CollapsibleTriggerProps,
10
+ CollapsibleContentProps,
11
+ } from "./Collapsible";
@@ -106,11 +106,13 @@ interface DataTableRootComponent extends React.ForwardRefExoticComponent<
106
106
  const DataTable = forwardRef<HTMLTableElement, DataTableProps>(
107
107
  ({ className, ...rest }, forwardedRef) => {
108
108
  return (
109
- <table
110
- {...rest}
111
- ref={forwardedRef}
112
- className={cl("aksel-data-table", className)}
113
- />
109
+ <div className="aksel-data-table__wrapper">
110
+ <table
111
+ {...rest}
112
+ ref={forwardedRef}
113
+ className={cl("aksel-data-table", className)}
114
+ />
115
+ </div>
114
116
  );
115
117
  },
116
118
  ) as DataTableRootComponent;
@@ -4,13 +4,15 @@ import { cl } from "../../../utils/helpers";
4
4
  type DataTableTdProps = React.HTMLAttributes<HTMLTableCellElement>;
5
5
 
6
6
  const DataTableTd = forwardRef<HTMLTableCellElement, DataTableTdProps>(
7
- ({ className, ...rest }, forwardedRef) => {
7
+ ({ className, children, ...rest }, forwardedRef) => {
8
8
  return (
9
9
  <td
10
10
  {...rest}
11
11
  ref={forwardedRef}
12
12
  className={cl("aksel-data-table__td", className)}
13
- />
13
+ >
14
+ <div>{children}</div>
15
+ </td>
14
16
  );
15
17
  },
16
18
  );
@@ -1,16 +1,67 @@
1
1
  import React, { forwardRef } from "react";
2
+ import {
3
+ CaretLeftRightIcon,
4
+ PushPinFillIcon,
5
+ PushPinIcon,
6
+ } from "@navikt/aksel-icons";
7
+ import { Button } from "../../../button";
2
8
  import { cl } from "../../../utils/helpers";
3
9
 
4
- type DataTableThProps = React.HTMLAttributes<HTMLTableCellElement>;
10
+ type DataTableThProps = React.HTMLAttributes<HTMLTableCellElement> & {
11
+ resizeHandler?: React.MouseEventHandler<HTMLButtonElement>;
12
+ isPinned?: boolean;
13
+ pinningHandler?: React.MouseEventHandler<HTMLButtonElement>;
14
+ size?: number;
15
+ };
5
16
 
6
17
  const DataTableTh = forwardRef<HTMLTableCellElement, DataTableThProps>(
7
- ({ className, ...rest }, forwardedRef) => {
18
+ (
19
+ {
20
+ className,
21
+ children,
22
+ resizeHandler,
23
+ isPinned = false,
24
+ pinningHandler,
25
+ size,
26
+ ...rest
27
+ },
28
+ forwardedRef,
29
+ ) => {
8
30
  return (
9
31
  <th
10
32
  {...rest}
11
33
  ref={forwardedRef}
12
34
  className={cl("aksel-data-table__th", className)}
13
- />
35
+ style={{ width: size }}
36
+ >
37
+ {children}
38
+ {pinningHandler && (
39
+ <Button
40
+ onClick={pinningHandler}
41
+ size="small"
42
+ variant="secondary"
43
+ icon={
44
+ isPinned ? (
45
+ <PushPinFillIcon aria-hidden title="Fest kolonne" />
46
+ ) : (
47
+ <PushPinIcon aria-hidden title="Løstne kolonne" />
48
+ )
49
+ }
50
+ />
51
+ )}
52
+ {resizeHandler && (
53
+ <Button
54
+ onMouseDown={resizeHandler}
55
+ onMouseUp={resizeHandler}
56
+ className={cl("aksel-data-table__th-resize-handle")}
57
+ size="small"
58
+ variant="secondary"
59
+ icon={
60
+ <CaretLeftRightIcon aria-hidden title="Endre kolonnestørrelse" />
61
+ }
62
+ />
63
+ )}
64
+ </th>
14
65
  );
15
66
  },
16
67
  );
@@ -0,0 +1,34 @@
1
+ import React from "react";
2
+ import { Button, ButtonProps } from "../../../button";
3
+ import { Tooltip } from "../../../tooltip";
4
+
5
+ type DataToolbarButtonProps = Omit<
6
+ ButtonProps,
7
+ "variant" | "size" | "data-color"
8
+ > & {
9
+ /**
10
+ * Kort beskrivelse av knappens funksjon.
11
+ */
12
+ tooltip?: string; // TODO: Bør kanskje ikke være innebygget, men funker ikke å bruke Tooltip rundt Button rundt ActionMenu.Trigger i dag pga. props-forwarding i Tooltip
13
+ };
14
+
15
+ const DataToolbarButton = React.forwardRef<
16
+ HTMLButtonElement,
17
+ DataToolbarButtonProps
18
+ >(({ tooltip, ...rest }, ref) => {
19
+ const button = (
20
+ <Button
21
+ ref={ref}
22
+ {...rest}
23
+ variant="secondary"
24
+ size="small"
25
+ data-color="neutral"
26
+ iconPosition="right"
27
+ />
28
+ );
29
+ return tooltip ? <Tooltip content={tooltip}>{button}</Tooltip> : button;
30
+ });
31
+
32
+ export { DataToolbarButton };
33
+ export default DataToolbarButton;
34
+ export type { DataToolbarButtonProps };
@@ -1,5 +1,8 @@
1
1
  import React from "react";
2
2
  import { cl } from "../../../utils/helpers";
3
+ import DataToolbarButton, {
4
+ DataToolbarButtonProps,
5
+ } from "../button/DataToolbarButton";
3
6
  import {
4
7
  DataToolbarSearchField,
5
8
  type DataToolbarSearchFieldProps,
@@ -26,6 +29,17 @@ interface DataToolbarRootComponent extends React.ForwardRefExoticComponent<
26
29
  */
27
30
  SearchField: typeof DataToolbarSearchField;
28
31
 
32
+ /**
33
+ * @see 🏷️ {@link DataToolbarButtonProps}
34
+ * @example
35
+ * ```tsx
36
+ * <DataToolbar>
37
+ * <DataToolbar.Button />
38
+ * </DataToolbar>
39
+ * ```
40
+ */
41
+ Button: typeof DataToolbarButton;
42
+
29
43
  /**
30
44
  * @see 🏷️ {@link DataToolbarToggleButtonProps}
31
45
  * @example
@@ -54,12 +68,19 @@ const DataToolbar = React.forwardRef<HTMLDivElement, DataToolbarProps>(
54
68
  ) as DataToolbarRootComponent;
55
69
 
56
70
  DataToolbar.SearchField = DataToolbarSearchField;
71
+ DataToolbar.Button = DataToolbarButton;
57
72
  DataToolbar.ToggleButton = DataToolbarToggleButton;
58
73
 
59
- export { DataToolbar, DataToolbarSearchField, DataToolbarToggleButton };
74
+ export {
75
+ DataToolbar,
76
+ DataToolbarSearchField,
77
+ DataToolbarButton,
78
+ DataToolbarToggleButton,
79
+ };
60
80
  export default DataToolbar;
61
81
  export type {
62
82
  DataToolbarProps,
63
83
  DataToolbarSearchFieldProps,
84
+ DataToolbarButtonProps,
64
85
  DataToolbarToggleButtonProps,
65
86
  };
@@ -1,26 +1,27 @@
1
1
  import React from "react";
2
2
  import { Search, type SearchProps } from "../../../form/search";
3
+ import type { SearchNativeProps } from "../../../form/search/Search";
3
4
 
4
- type DataToolbarSearchFieldProps = Omit<
5
- React.HTMLAttributes<HTMLInputElement>,
6
- "data-color" | "size" | "type"
7
- > &
8
- Pick<SearchProps, "label" | "onChange">;
5
+ type DataToolbarSearchFieldProps = Omit<SearchNativeProps, "data-color"> &
6
+ Pick<SearchProps, "label" | "onChange">; // TODO: Vurder om label skal hardkodes (bør jo samsvare med placeholder...)
9
7
 
10
8
  const DataToolbarSearchField = React.forwardRef<
11
9
  HTMLInputElement,
12
10
  DataToolbarSearchFieldProps
13
11
  >(({ className, ...props }, ref) => {
12
+ // We need the wrapper because Search has width:100%
14
13
  return (
15
- <Search
16
- className={className}
17
- ref={ref}
18
- {...props}
19
- variant="simple"
20
- size="small"
21
- htmlSize="12"
22
- placeholder="Quick filter"
23
- />
14
+ <div>
15
+ <Search
16
+ className={className}
17
+ ref={ref}
18
+ {...props}
19
+ variant="simple"
20
+ size="small"
21
+ htmlSize="12"
22
+ placeholder="Hurtigfilter" // TODO: Oversett, og vurder om skal være overstyrbart
23
+ />
24
+ </div>
24
25
  );
25
26
  });
26
27
 
@@ -1,21 +1,25 @@
1
1
  import React from "react";
2
+ import { Button, ButtonProps } from "../../../button";
2
3
  import { cl, composeEventHandlers } from "../../../utils/helpers";
3
4
  import { useControllableState } from "../../../utils/hooks";
4
5
 
5
- type DataToolbarToggleButtonProps =
6
- React.ButtonHTMLAttributes<HTMLButtonElement> & {
6
+ type DataToolbarToggleButtonProps = Omit<
7
+ ButtonProps,
8
+ "variant" | "size" | "data-color" | "children"
9
+ > &
10
+ Required<Pick<ButtonProps, "icon">> & {
7
11
  /**
8
12
  * Indicates whether the toggle button is pressed or not.
9
13
  * @default false
10
14
  */
11
15
  isPressed?: boolean;
12
16
  /**
13
- * Default uncontrolled pressed state
17
+ * Default uncontrolled pressed state.
14
18
  * @default false
15
19
  */
16
20
  defaultPressed?: boolean;
17
21
  /**
18
- * Callback for new pressed state
22
+ * Callback for new pressed state.
19
23
  */
20
24
  onPressChange?: (isPressed: boolean) => void;
21
25
  };
@@ -42,10 +46,13 @@ const DataToolbarToggleButton = React.forwardRef<
42
46
  });
43
47
 
44
48
  return (
45
- <button
49
+ <Button
46
50
  className={cl("aksel-data-toolbar__toggle-button", className)}
47
51
  ref={ref}
48
52
  {...props}
53
+ variant="secondary"
54
+ size="small"
55
+ data-color="neutral"
49
56
  aria-pressed={pressed}
50
57
  onClick={composeEventHandlers(onClick, () =>
51
58
  setPressed((oldState) => !oldState),
@@ -6,7 +6,11 @@ import { cl } from "../../utils/helpers";
6
6
  import { useControllableState, useMergeRefs } from "../../utils/hooks";
7
7
  import { useI18n } from "../../utils/i18n/i18n.hooks";
8
8
  import { DateDialog } from "../Date.Dialog";
9
- import { DateInputContextProvider, DatePickerInput } from "../Date.Input";
9
+ import {
10
+ DateInputContextProvider,
11
+ DateInputProps,
12
+ DatePickerInput,
13
+ } from "../Date.Input";
10
14
  import {
11
15
  DateTranslationContextProvider,
12
16
  getTranslations,
@@ -17,13 +21,15 @@ import {
17
21
  DatePickerDefaultProps,
18
22
  } from "./DatePicker.types";
19
23
  import { ReactDayPicker } from "./parts/DatePicker.RDP";
20
- import DatePickerStandalone from "./parts/DatePicker.Standalone";
24
+ import DatePickerStandalone, {
25
+ DatePickerStandaloneProps,
26
+ } from "./parts/DatePicker.Standalone";
21
27
 
22
- export type DatePickerProps = DatePickerDefaultProps & ConditionalModeProps;
28
+ type DatePickerProps = DatePickerDefaultProps & ConditionalModeProps;
23
29
 
24
- interface DatePickerComponent
25
- extends React.ForwardRefExoticComponent<DatePickerProps> {
30
+ interface DatePickerComponent extends React.ForwardRefExoticComponent<DatePickerProps> {
26
31
  /**
32
+ * @see 🏷️ {@link DatePickerStandaloneProps}
27
33
  * @example
28
34
  * ```jsx
29
35
  * <DatePicker.Standalone
@@ -175,3 +181,5 @@ DatePicker.Standalone = DatePickerStandalone;
175
181
  DatePicker.Input = DatePickerInput;
176
182
 
177
183
  export default DatePicker;
184
+ export { DatePickerStandalone, DatePickerInput };
185
+ export type { DatePickerProps, DatePickerStandaloneProps, DateInputProps };
@@ -1,5 +1,14 @@
1
1
  "use client";
2
- export { default as DatePicker, type DatePickerProps } from "./DatePicker";
2
+ export {
3
+ default as DatePicker,
4
+ DatePickerStandalone,
5
+ DatePickerInput,
6
+ } from "./DatePicker";
7
+ export type {
8
+ DatePickerProps,
9
+ DatePickerStandaloneProps,
10
+ DateInputProps,
11
+ } from "./DatePicker";
3
12
  export {
4
13
  useDatepicker,
5
14
  type DateValidationT,
@@ -10,8 +19,3 @@ export {
10
19
  type RangeValidationT,
11
20
  type UseRangeDatepickerOptions,
12
21
  } from "./hooks/useRangeDatepicker";
13
- export {
14
- DatePickerStandalone,
15
- type DatePickerStandaloneProps,
16
- } from "./parts/DatePicker.Standalone";
17
- export { DatePickerInput, type DateInputProps } from "../Date.Input";
@@ -4,7 +4,11 @@ import { cl } from "../../utils/helpers";
4
4
  import { useControllableState, useMergeRefs } from "../../utils/hooks";
5
5
  import { useDateLocale, useI18n } from "../../utils/i18n/i18n.hooks";
6
6
  import { DateDialog } from "../Date.Dialog";
7
- import { DateInputContextProvider, MonthPickerInput } from "../Date.Input";
7
+ import {
8
+ DateInputContextProvider,
9
+ DateInputProps,
10
+ MonthPickerInput,
11
+ } from "../Date.Input";
8
12
  import {
9
13
  DateTranslationContextProvider,
10
14
  getLocaleFromString,
@@ -13,12 +17,15 @@ import {
13
17
  import { MonthPickerProvider } from "./MonthPicker.context";
14
18
  import { MonthPickerProps } from "./MonthPicker.types";
15
19
  import { MonthPickerCaption } from "./parts/MonthPicker.Caption";
16
- import { MonthPickerStandalone } from "./parts/MonthPicker.Standalone";
20
+ import {
21
+ MonthPickerStandalone,
22
+ MonthPickerStandaloneProps,
23
+ } from "./parts/MonthPicker.Standalone";
17
24
  import { MonthPickerTable } from "./parts/MonthPicker.Table";
18
25
 
19
- interface MonthPickerComponent
20
- extends React.ForwardRefExoticComponent<MonthPickerProps> {
26
+ interface MonthPickerComponent extends React.ForwardRefExoticComponent<MonthPickerProps> {
21
27
  /**
28
+ * @see 🏷️ {@link MonthPickerStandaloneProps}
22
29
  * @example
23
30
  * ```jsx
24
31
  * <MonthPicker.Standalone
@@ -174,3 +181,5 @@ MonthPicker.Standalone = MonthPickerStandalone;
174
181
  MonthPicker.Input = MonthPickerInput;
175
182
 
176
183
  export default MonthPicker;
184
+ export { MonthPickerStandalone, MonthPickerInput };
185
+ export type { MonthPickerProps, MonthPickerStandaloneProps, DateInputProps };
@@ -1,9 +1,11 @@
1
1
  "use client";
2
2
  export { useMonthpicker, type MonthValidationT } from "./hooks/useMonthPicker";
3
- export { default as MonthPicker } from "./MonthPicker";
4
- export type { MonthPickerProps } from "./MonthPicker.types";
5
3
  export {
4
+ default as MonthPicker,
6
5
  MonthPickerStandalone,
7
- type MonthPickerStandaloneProps,
8
- } from "./parts/MonthPicker.Standalone";
9
- export { MonthPickerInput } from "../Date.Input";
6
+ MonthPickerInput,
7
+ } from "./MonthPicker";
8
+ export type {
9
+ MonthPickerProps,
10
+ MonthPickerStandaloneProps,
11
+ } from "./MonthPicker";