@navikt/ds-react 5.12.5 → 5.14.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 (726) hide show
  1. package/_docs.json +285 -138
  2. package/cjs/accordion/Accordion.js +2 -2
  3. package/cjs/accordion/AccordionHeader.js +3 -5
  4. package/cjs/accordion/AccordionItem.js +11 -14
  5. package/cjs/alert/Alert.js +2 -2
  6. package/cjs/button/Button.js +11 -12
  7. package/cjs/chat/Bubble.js +1 -1
  8. package/cjs/chat/Chat.js +2 -2
  9. package/cjs/chips/Chips.js +1 -1
  10. package/cjs/chips/Removable.js +4 -7
  11. package/cjs/copybutton/CopyButton.js +6 -7
  12. package/cjs/date/datepicker/DatePicker.js +4 -2
  13. package/cjs/date/datepicker/parts/Caption.js +2 -2
  14. package/cjs/date/datepicker/parts/DropdownCaption.js +1 -1
  15. package/cjs/date/datepicker/parts/HeadRow.js +1 -1
  16. package/cjs/date/datepicker/parts/Row.js +2 -2
  17. package/cjs/date/datepicker/parts/WeekRow.js +2 -2
  18. package/cjs/date/monthpicker/MonthCaption.js +1 -1
  19. package/cjs/date/monthpicker/MonthPicker.js +4 -3
  20. package/cjs/date/parts/DateInput.js +1 -1
  21. package/cjs/date/parts/DateWrapper.js +2 -2
  22. package/cjs/date/utils/check-dates.js +1 -1
  23. package/cjs/date/utils/is-match.js +2 -2
  24. package/cjs/date/utils/parse-date.js +1 -1
  25. package/cjs/dropdown/Dropdown.js +10 -12
  26. package/cjs/dropdown/Menu/Divider.js +1 -1
  27. package/cjs/dropdown/Menu/GroupedList/GroupedHeading.js +1 -1
  28. package/cjs/dropdown/Menu/GroupedList/GroupedItem.js +3 -6
  29. package/cjs/dropdown/Menu/List/Item.js +3 -6
  30. package/cjs/dropdown/Toggle.js +6 -5
  31. package/cjs/expansion-card/ExpansionCardHeader.js +1 -1
  32. package/cjs/form/ConfirmationPanel.js +2 -2
  33. package/cjs/form/ReadOnlyIcon.js +1 -1
  34. package/cjs/form/Select.js +1 -1
  35. package/cjs/form/Textarea.js +2 -1
  36. package/cjs/form/checkbox/Checkbox.js +3 -2
  37. package/cjs/form/combobox/Combobox.js +7 -7
  38. package/cjs/form/combobox/ComboboxProvider.js +2 -2
  39. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +4 -4
  40. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +5 -6
  41. package/cjs/form/combobox/Input/inputContext.js +2 -2
  42. package/cjs/form/combobox/SelectedOptions/SelectedOptions.js +1 -1
  43. package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.js +2 -5
  44. package/cjs/form/error-summary/ErrorSummary.js +3 -3
  45. package/cjs/form/error-summary/ErrorSummaryItem.js +1 -1
  46. package/cjs/form/radio/Radio.js +3 -2
  47. package/cjs/form/radio/RadioGroup.js +2 -2
  48. package/cjs/form/search/Search.js +3 -2
  49. package/cjs/form/search/SearchButton.js +3 -5
  50. package/cjs/form/useFormField.js +2 -2
  51. package/cjs/grid/Cell.js +1 -1
  52. package/cjs/grid/Grid.js +1 -1
  53. package/cjs/guide-panel/GuidePanel.js +1 -1
  54. package/cjs/guide-panel/Illustration.js +2 -2
  55. package/cjs/help-text/HelpText.js +5 -7
  56. package/cjs/help-text/HelpTextIcon.js +2 -2
  57. package/cjs/internal-header/InternalHeaderButton.js +1 -1
  58. package/cjs/internal-header/InternalHeaderTitle.js +1 -1
  59. package/cjs/internal-header/InternalHeaderUser.js +1 -1
  60. package/cjs/internal-header/InternalHeaderUserButton.js +1 -1
  61. package/cjs/layout/bleed/Bleed.js +1 -1
  62. package/cjs/layout/content-container/ContentContainer.js +1 -1
  63. package/cjs/layout/grid/HGrid.js +1 -1
  64. package/cjs/layout/page/parts/PageBlock.js +1 -1
  65. package/cjs/layout/sidemal-test/AvatarPanel.js +1 -1
  66. package/cjs/layout/sidemal-test/Content.js +3 -3
  67. package/cjs/layout/sidemal-test/Filter.js +1 -1
  68. package/cjs/layout/sidemal-test/Intro.js +1 -1
  69. package/cjs/link-panel/LinkPanel.js +3 -3
  70. package/cjs/link-panel/LinkPanelDescription.js +1 -1
  71. package/cjs/link-panel/LinkPanelTitle.js +1 -1
  72. package/cjs/list/List.js +2 -2
  73. package/cjs/loader/Loader.js +2 -1
  74. package/cjs/modal/Modal.js +21 -18
  75. package/cjs/modal/ModalBody.js +1 -1
  76. package/cjs/modal/ModalFooter.js +1 -1
  77. package/cjs/modal/ModalHeader.js +1 -1
  78. package/cjs/pagination/PaginationItem.js +1 -1
  79. package/cjs/panel/Panel.js +1 -1
  80. package/cjs/popover/Popover.js +6 -5
  81. package/cjs/popover/PopoverContent.js +1 -1
  82. package/cjs/read-more/ReadMore.js +12 -12
  83. package/cjs/skeleton/Skeleton.js +1 -1
  84. package/cjs/stepper/Step.js +6 -6
  85. package/cjs/table/Body.js +1 -1
  86. package/cjs/table/ColumnHeader.js +1 -1
  87. package/cjs/table/DataCell.js +3 -3
  88. package/cjs/table/ExpandableRow.js +23 -22
  89. package/cjs/table/Header.js +1 -1
  90. package/cjs/table/HeaderCell.js +2 -1
  91. package/cjs/table/Row.js +1 -1
  92. package/cjs/tabs/TabList.js +3 -2
  93. package/cjs/tabs/Tabs.js +1 -1
  94. package/cjs/tag/Tag.js +5 -3
  95. package/cjs/timeline/AxisLabels.js +1 -1
  96. package/cjs/timeline/Pin.js +2 -2
  97. package/cjs/timeline/TimelineRow.js +2 -2
  98. package/cjs/timeline/hooks/useTimelineRows.js +5 -3
  99. package/cjs/timeline/period/ClickablePeriod.js +2 -2
  100. package/cjs/timeline/utils/timeline.js +1 -1
  101. package/cjs/timeline/zoom/ZoomButton.js +1 -1
  102. package/cjs/toggle-group/ToggleGroup.js +3 -3
  103. package/cjs/tooltip/Tooltip.js +18 -12
  104. package/cjs/typography/BodyLong.js +1 -1
  105. package/cjs/typography/ErrorMessage.js +1 -1
  106. package/cjs/typography/Ingress.js +1 -1
  107. package/cjs/util/Slot.js +2 -5
  108. package/cjs/util/TextareaAutoSize.js +7 -5
  109. package/cjs/util/composeEventHandlers.js +17 -0
  110. package/cjs/util/hooks/index.js +19 -0
  111. package/cjs/util/hooks/package.json +6 -0
  112. package/cjs/util/hooks/useCallbackRef.js +18 -0
  113. package/cjs/util/hooks/useClientLayoutEffect.js +7 -0
  114. package/cjs/util/hooks/useControllableState.js +25 -0
  115. package/cjs/util/hooks/useMergeRefs.js +37 -0
  116. package/cjs/util/{usePrevious.js → hooks/usePrevious.js} +2 -1
  117. package/cjs/util/index.js +7 -7
  118. package/cjs/util/types/index.js +2 -0
  119. package/cjs/util/types/package.json +6 -0
  120. package/esm/accordion/Accordion.d.ts +1 -1
  121. package/esm/accordion/Accordion.js +2 -2
  122. package/esm/accordion/Accordion.js.map +1 -1
  123. package/esm/accordion/AccordionHeader.js +3 -5
  124. package/esm/accordion/AccordionHeader.js.map +1 -1
  125. package/esm/accordion/AccordionItem.d.ts +4 -0
  126. package/esm/accordion/AccordionItem.js +12 -15
  127. package/esm/accordion/AccordionItem.js.map +1 -1
  128. package/esm/alert/Alert.js +2 -2
  129. package/esm/alert/Alert.js.map +1 -1
  130. package/esm/button/Button.d.ts +1 -1
  131. package/esm/button/Button.js +12 -13
  132. package/esm/button/Button.js.map +1 -1
  133. package/esm/chat/Bubble.js +1 -1
  134. package/esm/chat/Bubble.js.map +1 -1
  135. package/esm/chat/Chat.js +2 -2
  136. package/esm/chat/Chat.js.map +1 -1
  137. package/esm/chips/Chips.d.ts +2 -2
  138. package/esm/chips/Chips.js +1 -1
  139. package/esm/chips/Chips.js.map +1 -1
  140. package/esm/chips/Removable.js +4 -7
  141. package/esm/chips/Removable.js.map +1 -1
  142. package/esm/chips/Toggle.d.ts +1 -1
  143. package/esm/copybutton/CopyButton.js +6 -7
  144. package/esm/copybutton/CopyButton.js.map +1 -1
  145. package/esm/date/context/useSharedMonthContext.js.map +1 -1
  146. package/esm/date/datepicker/DatePicker.js +5 -3
  147. package/esm/date/datepicker/DatePicker.js.map +1 -1
  148. package/esm/date/datepicker/parts/Caption.js +2 -2
  149. package/esm/date/datepicker/parts/Caption.js.map +1 -1
  150. package/esm/date/datepicker/parts/DropdownCaption.js +1 -1
  151. package/esm/date/datepicker/parts/DropdownCaption.js.map +1 -1
  152. package/esm/date/datepicker/parts/HeadRow.js +1 -1
  153. package/esm/date/datepicker/parts/HeadRow.js.map +1 -1
  154. package/esm/date/datepicker/parts/Row.js +3 -3
  155. package/esm/date/datepicker/parts/Row.js.map +1 -1
  156. package/esm/date/datepicker/parts/WeekRow.js +1 -1
  157. package/esm/date/datepicker/parts/WeekRow.js.map +1 -1
  158. package/esm/date/monthpicker/MonthCaption.js +1 -1
  159. package/esm/date/monthpicker/MonthCaption.js.map +1 -1
  160. package/esm/date/monthpicker/MonthPicker.js +4 -3
  161. package/esm/date/monthpicker/MonthPicker.js.map +1 -1
  162. package/esm/date/parts/DateInput.js +1 -1
  163. package/esm/date/parts/DateInput.js.map +1 -1
  164. package/esm/date/parts/DateWrapper.js +1 -1
  165. package/esm/date/parts/DateWrapper.js.map +1 -1
  166. package/esm/date/utils/check-dates.js +1 -1
  167. package/esm/date/utils/check-dates.js.map +1 -1
  168. package/esm/date/utils/get-month-weeks.js.map +1 -1
  169. package/esm/date/utils/is-match.js +2 -2
  170. package/esm/date/utils/is-match.js.map +1 -1
  171. package/esm/date/utils/navigation.js.map +1 -1
  172. package/esm/date/utils/parse-date.js +1 -1
  173. package/esm/date/utils/parse-date.js.map +1 -1
  174. package/esm/dropdown/Dropdown.d.ts +4 -0
  175. package/esm/dropdown/Dropdown.js +10 -12
  176. package/esm/dropdown/Dropdown.js.map +1 -1
  177. package/esm/dropdown/Menu/Divider.js +1 -1
  178. package/esm/dropdown/Menu/Divider.js.map +1 -1
  179. package/esm/dropdown/Menu/GroupedList/GroupedHeading.js +1 -1
  180. package/esm/dropdown/Menu/GroupedList/GroupedHeading.js.map +1 -1
  181. package/esm/dropdown/Menu/GroupedList/GroupedItem.d.ts +1 -1
  182. package/esm/dropdown/Menu/GroupedList/GroupedItem.js +3 -6
  183. package/esm/dropdown/Menu/GroupedList/GroupedItem.js.map +1 -1
  184. package/esm/dropdown/Menu/GroupedList/index.d.ts +1 -1
  185. package/esm/dropdown/Menu/List/Item.d.ts +1 -1
  186. package/esm/dropdown/Menu/List/Item.js +3 -6
  187. package/esm/dropdown/Menu/List/Item.js.map +1 -1
  188. package/esm/dropdown/Menu/List/index.d.ts +1 -1
  189. package/esm/dropdown/Toggle.js +6 -5
  190. package/esm/dropdown/Toggle.js.map +1 -1
  191. package/esm/expansion-card/ExpansionCard.d.ts +1 -1
  192. package/esm/expansion-card/ExpansionCardHeader.js +1 -1
  193. package/esm/expansion-card/ExpansionCardHeader.js.map +1 -1
  194. package/esm/expansion-card/ExpansionCardTitle.d.ts +1 -1
  195. package/esm/form/ConfirmationPanel.js +1 -1
  196. package/esm/form/ConfirmationPanel.js.map +1 -1
  197. package/esm/form/Fieldset/useFieldset.d.ts +1 -1
  198. package/esm/form/ReadOnlyIcon.js +1 -1
  199. package/esm/form/ReadOnlyIcon.js.map +1 -1
  200. package/esm/form/Select.js +1 -1
  201. package/esm/form/Select.js.map +1 -1
  202. package/esm/form/Switch.js.map +1 -1
  203. package/esm/form/TextField.js.map +1 -1
  204. package/esm/form/Textarea.js +2 -1
  205. package/esm/form/Textarea.js.map +1 -1
  206. package/esm/form/checkbox/Checkbox.js +2 -1
  207. package/esm/form/checkbox/Checkbox.js.map +1 -1
  208. package/esm/form/checkbox/useCheckbox.d.ts +1 -1
  209. package/esm/form/combobox/Combobox.d.ts +1 -1
  210. package/esm/form/combobox/Combobox.js +8 -8
  211. package/esm/form/combobox/Combobox.js.map +1 -1
  212. package/esm/form/combobox/ComboboxProvider.js +2 -2
  213. package/esm/form/combobox/ComboboxProvider.js.map +1 -1
  214. package/esm/form/combobox/FilteredOptions/FilteredOptions.js +4 -4
  215. package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  216. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.d.ts +1 -1
  217. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +3 -4
  218. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  219. package/esm/form/combobox/Input/inputContext.js +1 -1
  220. package/esm/form/combobox/Input/inputContext.js.map +1 -1
  221. package/esm/form/combobox/SelectedOptions/SelectedOptions.js +1 -1
  222. package/esm/form/combobox/SelectedOptions/SelectedOptions.js.map +1 -1
  223. package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js +1 -1
  224. package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js.map +1 -1
  225. package/esm/form/combobox/ToggleListButton.js +1 -1
  226. package/esm/form/combobox/ToggleListButton.js.map +1 -1
  227. package/esm/form/combobox/customOptionsContext.js +1 -1
  228. package/esm/form/combobox/customOptionsContext.js.map +1 -1
  229. package/esm/form/error-summary/ErrorSummary.js +3 -3
  230. package/esm/form/error-summary/ErrorSummary.js.map +1 -1
  231. package/esm/form/error-summary/ErrorSummaryItem.d.ts +1 -1
  232. package/esm/form/error-summary/ErrorSummaryItem.js +1 -1
  233. package/esm/form/error-summary/ErrorSummaryItem.js.map +1 -1
  234. package/esm/form/radio/Radio.js +2 -1
  235. package/esm/form/radio/Radio.js.map +1 -1
  236. package/esm/form/radio/RadioGroup.js +1 -1
  237. package/esm/form/radio/RadioGroup.js.map +1 -1
  238. package/esm/form/radio/useRadio.d.ts +1 -1
  239. package/esm/form/search/Search.js +5 -4
  240. package/esm/form/search/Search.js.map +1 -1
  241. package/esm/form/search/SearchButton.js +3 -5
  242. package/esm/form/search/SearchButton.js.map +1 -1
  243. package/esm/form/useFormField.js +1 -1
  244. package/esm/form/useFormField.js.map +1 -1
  245. package/esm/grid/Cell.js +1 -1
  246. package/esm/grid/Cell.js.map +1 -1
  247. package/esm/grid/Grid.js +1 -1
  248. package/esm/grid/Grid.js.map +1 -1
  249. package/esm/guide-panel/GuidePanel.js +1 -1
  250. package/esm/guide-panel/GuidePanel.js.map +1 -1
  251. package/esm/guide-panel/Illustration.js +1 -1
  252. package/esm/guide-panel/Illustration.js.map +1 -1
  253. package/esm/help-text/HelpText.d.ts +0 -5
  254. package/esm/help-text/HelpText.js +6 -8
  255. package/esm/help-text/HelpText.js.map +1 -1
  256. package/esm/help-text/HelpTextIcon.js +1 -1
  257. package/esm/internal-header/InternalHeader.d.ts +1 -1
  258. package/esm/internal-header/InternalHeader.js.map +1 -1
  259. package/esm/internal-header/InternalHeaderButton.d.ts +1 -1
  260. package/esm/internal-header/InternalHeaderButton.js +1 -1
  261. package/esm/internal-header/InternalHeaderButton.js.map +1 -1
  262. package/esm/internal-header/InternalHeaderTitle.d.ts +1 -1
  263. package/esm/internal-header/InternalHeaderTitle.js +1 -1
  264. package/esm/internal-header/InternalHeaderTitle.js.map +1 -1
  265. package/esm/internal-header/InternalHeaderUser.js +1 -1
  266. package/esm/internal-header/InternalHeaderUser.js.map +1 -1
  267. package/esm/internal-header/InternalHeaderUserButton.d.ts +1 -1
  268. package/esm/internal-header/InternalHeaderUserButton.js +1 -1
  269. package/esm/internal-header/InternalHeaderUserButton.js.map +1 -1
  270. package/esm/layout/bleed/Bleed.js +1 -1
  271. package/esm/layout/bleed/Bleed.js.map +1 -1
  272. package/esm/layout/box/Box.d.ts +2 -2
  273. package/esm/layout/content-container/ContentContainer.js +1 -1
  274. package/esm/layout/content-container/ContentContainer.js.map +1 -1
  275. package/esm/layout/grid/HGrid.js +1 -1
  276. package/esm/layout/grid/HGrid.js.map +1 -1
  277. package/esm/layout/page/Page.d.ts +2 -2
  278. package/esm/layout/page/Page.js.map +1 -1
  279. package/esm/layout/page/parts/PageBlock.d.ts +7 -6
  280. package/esm/layout/page/parts/PageBlock.js +1 -1
  281. package/esm/layout/page/parts/PageBlock.js.map +1 -1
  282. package/esm/layout/responsive/Responsive.js.map +1 -1
  283. package/esm/layout/sidemal-test/AvatarPanel.js +1 -1
  284. package/esm/layout/sidemal-test/AvatarPanel.js.map +1 -1
  285. package/esm/layout/sidemal-test/Content.js +4 -4
  286. package/esm/layout/sidemal-test/Content.js.map +1 -1
  287. package/esm/layout/sidemal-test/Filter.js +1 -1
  288. package/esm/layout/sidemal-test/Filter.js.map +1 -1
  289. package/esm/layout/sidemal-test/Header.js +1 -1
  290. package/esm/layout/sidemal-test/Header.js.map +1 -1
  291. package/esm/layout/sidemal-test/Intro.js +2 -2
  292. package/esm/layout/sidemal-test/Intro.js.map +1 -1
  293. package/esm/layout/sidemal-test/content-box/ContentBox.js.map +1 -1
  294. package/esm/layout/stack/HStack.d.ts +1 -1
  295. package/esm/layout/stack/HStack.js.map +1 -1
  296. package/esm/layout/stack/Stack.d.ts +1 -1
  297. package/esm/layout/stack/Stack.js.map +1 -1
  298. package/esm/layout/stack/VStack.d.ts +1 -1
  299. package/esm/layout/stack/VStack.js.map +1 -1
  300. package/esm/layout/utilities/types.d.ts +2 -2
  301. package/esm/link/Link.d.ts +1 -1
  302. package/esm/link-panel/LinkPanel.d.ts +2 -2
  303. package/esm/link-panel/LinkPanel.js +3 -3
  304. package/esm/link-panel/LinkPanel.js.map +1 -1
  305. package/esm/link-panel/LinkPanelDescription.js +1 -1
  306. package/esm/link-panel/LinkPanelDescription.js.map +1 -1
  307. package/esm/link-panel/LinkPanelTitle.d.ts +1 -1
  308. package/esm/link-panel/LinkPanelTitle.js +1 -1
  309. package/esm/link-panel/LinkPanelTitle.js.map +1 -1
  310. package/esm/list/List.js +1 -1
  311. package/esm/loader/Loader.js +2 -1
  312. package/esm/loader/Loader.js.map +1 -1
  313. package/esm/modal/Modal.js +21 -18
  314. package/esm/modal/Modal.js.map +1 -1
  315. package/esm/modal/ModalBody.js +1 -1
  316. package/esm/modal/ModalBody.js.map +1 -1
  317. package/esm/modal/ModalFooter.js +1 -1
  318. package/esm/modal/ModalFooter.js.map +1 -1
  319. package/esm/modal/ModalHeader.js +1 -1
  320. package/esm/modal/ModalHeader.js.map +1 -1
  321. package/esm/modal/types.d.ts +1 -1
  322. package/esm/pagination/Pagination.js.map +1 -1
  323. package/esm/pagination/PaginationItem.d.ts +1 -1
  324. package/esm/pagination/PaginationItem.js +1 -1
  325. package/esm/pagination/PaginationItem.js.map +1 -1
  326. package/esm/panel/Panel.d.ts +1 -1
  327. package/esm/panel/Panel.js +1 -1
  328. package/esm/panel/Panel.js.map +1 -1
  329. package/esm/popover/Popover.d.ts +1 -1
  330. package/esm/popover/Popover.js +4 -3
  331. package/esm/popover/Popover.js.map +1 -1
  332. package/esm/popover/PopoverContent.js +1 -1
  333. package/esm/popover/PopoverContent.js.map +1 -1
  334. package/esm/read-more/ReadMore.d.ts +4 -0
  335. package/esm/read-more/ReadMore.js +13 -13
  336. package/esm/read-more/ReadMore.js.map +1 -1
  337. package/esm/skeleton/Skeleton.js +1 -1
  338. package/esm/skeleton/Skeleton.js.map +1 -1
  339. package/esm/stepper/Step.d.ts +1 -1
  340. package/esm/stepper/Step.js +6 -6
  341. package/esm/stepper/Step.js.map +1 -1
  342. package/esm/table/AnimateHeight.js.map +1 -0
  343. package/esm/table/Body.js +1 -1
  344. package/esm/table/Body.js.map +1 -1
  345. package/esm/table/ColumnHeader.js +1 -1
  346. package/esm/table/ColumnHeader.js.map +1 -1
  347. package/esm/table/DataCell.d.ts +4 -0
  348. package/esm/table/DataCell.js +3 -3
  349. package/esm/table/DataCell.js.map +1 -1
  350. package/esm/table/ExpandableRow.js +23 -22
  351. package/esm/table/ExpandableRow.js.map +1 -1
  352. package/esm/table/Header.js +1 -1
  353. package/esm/table/Header.js.map +1 -1
  354. package/esm/table/HeaderCell.d.ts +4 -0
  355. package/esm/table/HeaderCell.js +2 -1
  356. package/esm/table/HeaderCell.js.map +1 -1
  357. package/esm/table/Row.js +1 -1
  358. package/esm/table/Row.js.map +1 -1
  359. package/esm/tabs/Tab.d.ts +1 -1
  360. package/esm/tabs/TabList.js +4 -3
  361. package/esm/tabs/TabList.js.map +1 -1
  362. package/esm/tabs/Tabs.d.ts +1 -1
  363. package/esm/tabs/Tabs.js +1 -1
  364. package/esm/tabs/Tabs.js.map +1 -1
  365. package/esm/tag/Tag.d.ts +4 -0
  366. package/esm/tag/Tag.js +5 -3
  367. package/esm/tag/Tag.js.map +1 -1
  368. package/esm/timeline/AxisLabels.js +1 -1
  369. package/esm/timeline/AxisLabels.js.map +1 -1
  370. package/esm/timeline/Pin.js +3 -3
  371. package/esm/timeline/Pin.js.map +1 -1
  372. package/esm/timeline/TimelineRow.js +2 -2
  373. package/esm/timeline/TimelineRow.js.map +1 -1
  374. package/esm/timeline/hooks/useTimelineRows.js +5 -3
  375. package/esm/timeline/hooks/useTimelineRows.js.map +1 -1
  376. package/esm/timeline/period/ClickablePeriod.js +3 -3
  377. package/esm/timeline/period/ClickablePeriod.js.map +1 -1
  378. package/esm/timeline/utils/timeline.js +1 -1
  379. package/esm/timeline/utils/timeline.js.map +1 -1
  380. package/esm/timeline/zoom/ZoomButton.js +1 -1
  381. package/esm/timeline/zoom/ZoomButton.js.map +1 -1
  382. package/esm/toggle-group/ToggleGroup.js +2 -2
  383. package/esm/toggle-group/ToggleGroup.js.map +1 -1
  384. package/esm/tooltip/Tooltip.d.ts +4 -0
  385. package/esm/tooltip/Tooltip.js +18 -12
  386. package/esm/tooltip/Tooltip.js.map +1 -1
  387. package/esm/typography/BodyLong.d.ts +1 -1
  388. package/esm/typography/BodyLong.js +1 -1
  389. package/esm/typography/BodyLong.js.map +1 -1
  390. package/esm/typography/BodyShort.d.ts +1 -1
  391. package/esm/typography/Detail.d.ts +1 -1
  392. package/esm/typography/ErrorMessage.d.ts +1 -1
  393. package/esm/typography/ErrorMessage.js +1 -1
  394. package/esm/typography/ErrorMessage.js.map +1 -1
  395. package/esm/typography/Heading.d.ts +1 -1
  396. package/esm/typography/Ingress.d.ts +1 -1
  397. package/esm/typography/Ingress.js +1 -1
  398. package/esm/typography/Ingress.js.map +1 -1
  399. package/esm/typography/Label.d.ts +1 -1
  400. package/esm/util/Slot.js +1 -1
  401. package/esm/util/Slot.js.map +1 -1
  402. package/esm/util/TextareaAutoSize.js +5 -3
  403. package/esm/util/TextareaAutoSize.js.map +1 -1
  404. package/esm/util/composeEventHandlers.d.ts +8 -0
  405. package/esm/util/composeEventHandlers.js +14 -0
  406. package/esm/util/composeEventHandlers.js.map +1 -0
  407. package/esm/util/hooks/index.d.ts +8 -0
  408. package/esm/util/hooks/index.js +9 -0
  409. package/esm/util/hooks/index.js.map +1 -0
  410. package/esm/util/hooks/useCallbackRef.d.ts +7 -0
  411. package/esm/util/hooks/useCallbackRef.js +15 -0
  412. package/esm/util/hooks/useCallbackRef.js.map +1 -0
  413. package/esm/util/hooks/useClientLayoutEffect.js +5 -0
  414. package/esm/util/hooks/useClientLayoutEffect.js.map +1 -0
  415. package/esm/util/hooks/useControllableState.d.ts +9 -0
  416. package/esm/util/hooks/useControllableState.js +22 -0
  417. package/esm/util/hooks/useControllableState.js.map +1 -0
  418. package/esm/util/{useEventListener.d.ts → hooks/useEventListener.d.ts} +1 -1
  419. package/esm/util/hooks/useEventListener.js.map +1 -0
  420. package/esm/util/hooks/useId.js.map +1 -0
  421. package/esm/util/hooks/useMedia.js.map +1 -0
  422. package/esm/util/hooks/useMergeRefs.d.ts +15 -0
  423. package/esm/util/hooks/useMergeRefs.js +30 -0
  424. package/esm/util/hooks/useMergeRefs.js.map +1 -0
  425. package/esm/util/hooks/usePrevious.d.ts +1 -0
  426. package/esm/util/{usePrevious.js → hooks/usePrevious.js} +1 -2
  427. package/esm/util/hooks/usePrevious.js.map +1 -0
  428. package/esm/util/index.d.ts +4 -5
  429. package/esm/util/index.js +3 -5
  430. package/esm/util/index.js.map +1 -1
  431. package/esm/util/types/OverridableComponent.js.map +1 -0
  432. package/esm/util/types/index.d.ts +1 -0
  433. package/esm/util/types/index.js +2 -0
  434. package/esm/util/types/index.js.map +1 -0
  435. package/package.json +3 -3
  436. package/src/accordion/Accordion.tsx +5 -5
  437. package/src/accordion/AccordionContent.tsx +3 -3
  438. package/src/accordion/AccordionHeader.tsx +5 -7
  439. package/src/accordion/AccordionItem.tsx +22 -22
  440. package/src/accordion/accordion.stories.tsx +8 -5
  441. package/src/alert/Alert.tsx +8 -8
  442. package/src/alert/alert.stories.tsx +6 -7
  443. package/src/button/Button.tsx +18 -23
  444. package/src/button/button.stories.tsx +1 -1
  445. package/src/chat/Bubble.tsx +4 -4
  446. package/src/chat/Chat.tsx +5 -5
  447. package/src/chat/chat.stories.tsx +1 -1
  448. package/src/chips/Chips.tsx +4 -4
  449. package/src/chips/Removable.tsx +7 -8
  450. package/src/chips/Toggle.tsx +4 -4
  451. package/src/chips/chips.stories.tsx +5 -5
  452. package/src/copybutton/CopyButton.tsx +9 -10
  453. package/src/copybutton/copy-button.stories.tsx +3 -3
  454. package/src/date/context/useSharedMonthContext.tsx +1 -1
  455. package/src/date/datepicker/DatePicker.tsx +7 -5
  456. package/src/date/datepicker/DatePickerStandalone.tsx +2 -2
  457. package/src/date/datepicker/datepicker.stories.tsx +2 -2
  458. package/src/date/datepicker/parts/Caption.tsx +2 -3
  459. package/src/date/datepicker/parts/DropdownCaption.tsx +2 -2
  460. package/src/date/datepicker/parts/HeadRow.tsx +1 -1
  461. package/src/date/datepicker/parts/Row.tsx +3 -3
  462. package/src/date/datepicker/parts/WeekRow.tsx +1 -1
  463. package/src/date/hooks/useDatepicker.tsx +7 -7
  464. package/src/date/hooks/useMonthPicker.tsx +7 -7
  465. package/src/date/hooks/useRangeDatepicker.test.tsx +2 -2
  466. package/src/date/hooks/useRangeDatepicker.tsx +28 -28
  467. package/src/date/monthpicker/MonthButton.tsx +1 -1
  468. package/src/date/monthpicker/MonthCaption.tsx +1 -1
  469. package/src/date/monthpicker/MonthPicker.tsx +7 -6
  470. package/src/date/monthpicker/MonthPickerStandalone.tsx +3 -3
  471. package/src/date/monthpicker/MonthSelector.tsx +1 -1
  472. package/src/date/parts/DateInput.tsx +6 -6
  473. package/src/date/parts/DateWrapper.tsx +1 -1
  474. package/src/date/utils/__tests__/check-dates.test.ts +3 -3
  475. package/src/date/utils/__tests__/format-dates.test.ts +7 -7
  476. package/src/date/utils/__tests__/get-initial-year.test.ts +14 -14
  477. package/src/date/utils/__tests__/get-month-weeks.test.ts +0 -1
  478. package/src/date/utils/__tests__/is-match.test.ts +4 -4
  479. package/src/date/utils/__tests__/parse-dates.test.ts +2 -2
  480. package/src/date/utils/check-dates.ts +2 -2
  481. package/src/date/utils/dates-disabled.ts +1 -1
  482. package/src/date/utils/format-date.ts +1 -1
  483. package/src/date/utils/get-dates.ts +1 -1
  484. package/src/date/utils/get-month-weeks.ts +6 -6
  485. package/src/date/utils/is-match.ts +2 -3
  486. package/src/date/utils/labels.ts +1 -1
  487. package/src/date/utils/navigation.ts +18 -18
  488. package/src/date/utils/parse-date.ts +8 -8
  489. package/src/dropdown/Dropdown.tsx +14 -11
  490. package/src/dropdown/Menu/Divider.tsx +1 -1
  491. package/src/dropdown/Menu/GroupedList/GroupedHeading.tsx +2 -2
  492. package/src/dropdown/Menu/GroupedList/GroupedItem.tsx +23 -23
  493. package/src/dropdown/Menu/GroupedList/index.tsx +2 -2
  494. package/src/dropdown/Menu/List/Item.tsx +23 -23
  495. package/src/dropdown/Menu/List/index.tsx +1 -1
  496. package/src/dropdown/Menu/index.tsx +1 -1
  497. package/src/dropdown/Toggle.tsx +10 -6
  498. package/src/dropdown/dropdown.stories.tsx +1 -1
  499. package/src/expansion-card/ExpansionCard.tsx +4 -4
  500. package/src/expansion-card/ExpansionCardContent.tsx +1 -1
  501. package/src/expansion-card/ExpansionCardDescription.tsx +1 -1
  502. package/src/expansion-card/ExpansionCardHeader.tsx +2 -2
  503. package/src/expansion-card/ExpansionCardTitle.tsx +3 -3
  504. package/src/expansion-card/expansion-card.stories.tsx +1 -1
  505. package/src/form/ConfirmationPanel.test.tsx +1 -1
  506. package/src/form/ConfirmationPanel.tsx +3 -3
  507. package/src/form/Fieldset/Fieldset.tsx +2 -2
  508. package/src/form/ReadOnlyIcon.tsx +1 -1
  509. package/src/form/Select.tsx +6 -6
  510. package/src/form/Switch.tsx +4 -4
  511. package/src/form/TextField.tsx +4 -4
  512. package/src/form/Textarea.tsx +6 -5
  513. package/src/form/checkbox/Checkbox.test.tsx +8 -8
  514. package/src/form/checkbox/Checkbox.tsx +5 -4
  515. package/src/form/checkbox/CheckboxGroup.tsx +4 -4
  516. package/src/form/checkbox/useCheckbox.ts +3 -3
  517. package/src/form/combobox/Combobox.tsx +9 -12
  518. package/src/form/combobox/ComboboxProvider.tsx +3 -3
  519. package/src/form/combobox/ComboboxWrapper.tsx +1 -1
  520. package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +6 -6
  521. package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +17 -18
  522. package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +5 -5
  523. package/src/form/combobox/Input/Input.tsx +6 -6
  524. package/src/form/combobox/Input/inputContext.tsx +7 -7
  525. package/src/form/combobox/SelectedOptions/SelectedOptions.tsx +1 -1
  526. package/src/form/combobox/SelectedOptions/selectedOptionsContext.tsx +10 -10
  527. package/src/form/combobox/ToggleListButton.tsx +1 -2
  528. package/src/form/combobox/combobox.stories.tsx +17 -18
  529. package/src/form/combobox/combobox.test.tsx +14 -12
  530. package/src/form/combobox/customOptionsContext.tsx +6 -6
  531. package/src/form/combobox/types.ts +2 -2
  532. package/src/form/error-summary/ErrorSummary.tsx +6 -6
  533. package/src/form/error-summary/ErrorSummaryItem.tsx +3 -3
  534. package/src/form/error-summary/error-summary.stories.tsx +2 -1
  535. package/src/form/radio/Radio.test.tsx +1 -1
  536. package/src/form/radio/Radio.tsx +3 -2
  537. package/src/form/radio/RadioGroup.tsx +4 -4
  538. package/src/form/radio/useRadio.ts +1 -1
  539. package/src/form/search/Search.tsx +9 -9
  540. package/src/form/search/SearchButton.tsx +4 -6
  541. package/src/form/search/search.stories.tsx +1 -1
  542. package/src/form/stories/fieldset.stories.tsx +3 -2
  543. package/src/form/stories/select.stories.tsx +2 -1
  544. package/src/form/stories/text-field.stories.tsx +2 -1
  545. package/src/form/useFormField.ts +4 -4
  546. package/src/grid/Cell.tsx +3 -3
  547. package/src/grid/Grid.tsx +2 -2
  548. package/src/grid/grid.stories.tsx +1 -1
  549. package/src/guide-panel/GuidePanel.tsx +2 -2
  550. package/src/guide-panel/Illustration.tsx +1 -1
  551. package/src/guide-panel/guidepanel.stories.tsx +1 -1
  552. package/src/help-text/HelpText.tsx +9 -27
  553. package/src/help-text/HelpTextIcon.tsx +1 -1
  554. package/src/help-text/help-text.stories.tsx +58 -68
  555. package/src/internal-header/InternalHeader.tsx +2 -2
  556. package/src/internal-header/InternalHeaderButton.tsx +2 -2
  557. package/src/internal-header/InternalHeaderTitle.tsx +2 -2
  558. package/src/internal-header/InternalHeaderUser.tsx +1 -1
  559. package/src/internal-header/InternalHeaderUserButton.tsx +2 -2
  560. package/src/internal-header/header.stories.tsx +3 -3
  561. package/src/layout/bleed/Bleed.tsx +7 -7
  562. package/src/layout/box/Box.stories.tsx +4 -4
  563. package/src/layout/box/Box.tsx +8 -8
  564. package/src/layout/content-container/ContentContainer.tsx +1 -1
  565. package/src/layout/grid/HGrid.tsx +4 -4
  566. package/src/layout/page/Page.stories.tsx +1 -1
  567. package/src/layout/page/Page.tsx +4 -4
  568. package/src/layout/page/parts/PageBlock.tsx +9 -8
  569. package/src/layout/responsive/Responsive.tsx +6 -6
  570. package/src/layout/responsive/hide.stories.tsx +1 -1
  571. package/src/layout/responsive/show.stories.tsx +1 -1
  572. package/src/layout/sidemal-test/AvatarPanel.tsx +1 -1
  573. package/src/layout/sidemal-test/Content.tsx +4 -4
  574. package/src/layout/sidemal-test/Filter.tsx +1 -1
  575. package/src/layout/sidemal-test/Header.tsx +1 -1
  576. package/src/layout/sidemal-test/Intro.tsx +2 -2
  577. package/src/layout/sidemal-test/content-box/ContentBox.tsx +6 -6
  578. package/src/layout/sidemal-test/navno-sidemal.stories.tsx +1 -1
  579. package/src/layout/stack/HStack.tsx +2 -2
  580. package/src/layout/stack/Stack.tsx +4 -4
  581. package/src/layout/stack/VStack.tsx +2 -2
  582. package/src/layout/stack/stack.stories.tsx +2 -2
  583. package/src/layout/utilities/css.ts +6 -6
  584. package/src/layout/utilities/types.ts +2 -2
  585. package/src/link/Link.tsx +3 -3
  586. package/src/link/{link.stories.tsx → stories/link.stories.tsx} +3 -3
  587. package/src/link-panel/LinkPanel.tsx +6 -7
  588. package/src/link-panel/LinkPanelDescription.tsx +1 -1
  589. package/src/link-panel/LinkPanelTitle.tsx +3 -3
  590. package/src/list/List.tsx +3 -3
  591. package/src/list/ListItem.tsx +2 -2
  592. package/src/list/list.stories.tsx +2 -2
  593. package/src/loader/Loader.tsx +6 -5
  594. package/src/loader/loader.stories.tsx +1 -0
  595. package/src/modal/Modal.test.tsx +4 -4
  596. package/src/modal/Modal.tsx +32 -32
  597. package/src/modal/ModalBody.tsx +2 -2
  598. package/src/modal/ModalFooter.tsx +2 -2
  599. package/src/modal/ModalHeader.tsx +2 -2
  600. package/src/modal/ModalUtils.ts +2 -2
  601. package/src/modal/dialog-polyfill.ts +16 -16
  602. package/src/modal/types.ts +1 -1
  603. package/src/pagination/Pagination.tsx +5 -6
  604. package/src/pagination/PaginationItem.tsx +4 -4
  605. package/src/pagination/steps.test.ts +8 -8
  606. package/src/panel/Panel.tsx +4 -4
  607. package/src/panel/panel.stories.tsx +2 -1
  608. package/src/popover/Popover.test.tsx +7 -7
  609. package/src/popover/Popover.tsx +11 -14
  610. package/src/popover/PopoverContent.tsx +2 -2
  611. package/src/provider/Provider.tsx +1 -1
  612. package/src/read-more/ReadMore.tsx +20 -16
  613. package/src/read-more/readmore.stories.tsx +4 -0
  614. package/src/skeleton/Skeleton.tsx +4 -4
  615. package/src/stepper/Step.tsx +10 -7
  616. package/src/stepper/Stepper.tsx +3 -3
  617. package/src/{util → table}/AnimateHeight.tsx +1 -1
  618. package/src/table/Body.tsx +1 -1
  619. package/src/table/ColumnHeader.tsx +2 -2
  620. package/src/table/DataCell.tsx +8 -3
  621. package/src/table/ExpandableRow.tsx +30 -23
  622. package/src/table/Header.tsx +1 -1
  623. package/src/table/HeaderCell.tsx +7 -2
  624. package/src/table/Row.tsx +2 -2
  625. package/src/table/Table.tsx +2 -2
  626. package/src/table/stories/table-async.stories.tsx +4 -4
  627. package/src/table/stories/table.stories.tsx +44 -30
  628. package/src/table/stories/tests/table.stories.tsx +2 -3
  629. package/src/tabs/Tab.tsx +4 -4
  630. package/src/tabs/TabList.tsx +8 -6
  631. package/src/tabs/TabPanel.tsx +1 -1
  632. package/src/tabs/Tabs.stories.tsx +1 -1
  633. package/src/tabs/Tabs.tsx +5 -5
  634. package/src/tag/Tag.tsx +12 -5
  635. package/src/tag/tag.stories.tsx +28 -2
  636. package/src/timeline/AxisLabels.tsx +9 -9
  637. package/src/timeline/Pin.tsx +4 -7
  638. package/src/timeline/Timeline.tsx +7 -7
  639. package/src/timeline/TimelineRow.tsx +5 -5
  640. package/src/timeline/hooks/useTimelineContext.tsx +1 -1
  641. package/src/timeline/hooks/useTimelineRows.ts +18 -19
  642. package/src/timeline/period/ClickablePeriod.tsx +6 -9
  643. package/src/timeline/period/NonClickablePeriod.tsx +1 -1
  644. package/src/timeline/period/index.tsx +1 -1
  645. package/src/timeline/timeline.stories.tsx +2 -2
  646. package/src/timeline/utils/calc.ts +2 -2
  647. package/src/timeline/utils/filter.ts +2 -2
  648. package/src/timeline/utils/period.ts +2 -2
  649. package/src/timeline/utils/timeline.ts +1 -1
  650. package/src/timeline/zoom/ZoomButton.tsx +3 -3
  651. package/src/timeline/zoom/index.tsx +1 -1
  652. package/src/toggle-group/ToggleGroup.stories.tsx +2 -2
  653. package/src/toggle-group/ToggleGroup.tsx +6 -6
  654. package/src/toggle-group/ToggleItem.tsx +1 -1
  655. package/src/toggle-group/context.ts +1 -1
  656. package/src/tooltip/Tooltip.test.tsx +10 -10
  657. package/src/tooltip/Tooltip.tsx +31 -33
  658. package/src/tooltip/tooltip.stories.tsx +1 -1
  659. package/src/typography/BodyLong.tsx +5 -5
  660. package/src/typography/BodyShort.tsx +4 -4
  661. package/src/typography/Detail.tsx +4 -4
  662. package/src/typography/ErrorMessage.tsx +4 -4
  663. package/src/typography/Heading.tsx +4 -4
  664. package/src/typography/Ingress.tsx +2 -2
  665. package/src/typography/Label.tsx +4 -4
  666. package/src/typography/stories/bodylong.stories.tsx +1 -2
  667. package/src/typography/stories/bodyshort.stories.tsx +1 -2
  668. package/src/typography/stories/detail.stories.tsx +1 -2
  669. package/src/typography/stories/error-message.stories.tsx +1 -2
  670. package/src/typography/stories/heading.stories.tsx +1 -3
  671. package/src/typography/stories/ingress.stories.tsx +1 -2
  672. package/src/typography/stories/label.stories.tsx +1 -2
  673. package/src/util/Slot.tsx +4 -4
  674. package/src/util/TextareaAutoSize.tsx +11 -7
  675. package/src/util/__tests__/Slot.test.tsx +11 -11
  676. package/src/util/__tests__/useMedia.test.tsx +1 -1
  677. package/src/util/composeEventHandlers.ts +19 -0
  678. package/src/util/hooks/index.ts +8 -0
  679. package/src/util/hooks/useCallbackRef.ts +20 -0
  680. package/src/util/hooks/useClientLayoutEffect.ts +5 -0
  681. package/src/util/hooks/useControllableState.ts +40 -0
  682. package/src/util/{useEventListener.ts → hooks/useEventListener.ts} +1 -1
  683. package/src/util/{useMedia.ts → hooks/useMedia.ts} +1 -1
  684. package/src/util/hooks/useMergeRefs.ts +32 -0
  685. package/src/util/{usePrevious.ts → hooks/usePrevious.ts} +1 -4
  686. package/src/util/index.ts +4 -5
  687. package/src/util/omit.ts +1 -1
  688. package/src/util/{OverridableComponent.ts → types/OverridableComponent.ts} +1 -1
  689. package/src/util/types/index.ts +1 -0
  690. package/cjs/util/RandomIcon.js +0 -38
  691. package/cjs/util/mergeRefs.js +0 -16
  692. package/cjs/util/useClientLayoutEffect.js +0 -10
  693. package/esm/util/AnimateHeight.js.map +0 -1
  694. package/esm/util/OverridableComponent.js.map +0 -1
  695. package/esm/util/RandomIcon.d.ts +0 -2
  696. package/esm/util/RandomIcon.js +0 -9
  697. package/esm/util/RandomIcon.js.map +0 -1
  698. package/esm/util/mergeRefs.d.ts +0 -2
  699. package/esm/util/mergeRefs.js +0 -14
  700. package/esm/util/mergeRefs.js.map +0 -1
  701. package/esm/util/useClientLayoutEffect.js +0 -8
  702. package/esm/util/useClientLayoutEffect.js.map +0 -1
  703. package/esm/util/useEventListener.js.map +0 -1
  704. package/esm/util/useId.js.map +0 -1
  705. package/esm/util/useMedia.js.map +0 -1
  706. package/esm/util/usePrevious.d.ts +0 -2
  707. package/esm/util/usePrevious.js.map +0 -1
  708. package/src/util/mergeRefs.tsx +0 -15
  709. package/src/util/useClientLayoutEffect.ts +0 -11
  710. package/cjs/{util → table}/AnimateHeight.js +0 -0
  711. package/cjs/util/{useEventListener.js → hooks/useEventListener.js} +0 -0
  712. package/cjs/util/{useId.js → hooks/useId.js} +0 -0
  713. package/cjs/util/{useMedia.js → hooks/useMedia.js} +0 -0
  714. package/cjs/util/{OverridableComponent.js → types/OverridableComponent.js} +0 -0
  715. package/esm/{util → table}/AnimateHeight.d.ts +0 -0
  716. package/esm/{util → table}/AnimateHeight.js +0 -0
  717. package/esm/util/{useClientLayoutEffect.d.ts → hooks/useClientLayoutEffect.d.ts} +0 -0
  718. package/esm/util/{useEventListener.js → hooks/useEventListener.js} +0 -0
  719. package/esm/util/{useId.d.ts → hooks/useId.d.ts} +0 -0
  720. package/esm/util/{useId.js → hooks/useId.js} +0 -0
  721. package/esm/util/{useMedia.d.ts → hooks/useMedia.d.ts} +0 -0
  722. package/esm/util/{useMedia.js → hooks/useMedia.js} +0 -0
  723. package/esm/util/{OverridableComponent.d.ts → types/OverridableComponent.d.ts} +0 -0
  724. package/esm/util/{OverridableComponent.js → types/OverridableComponent.js} +0 -0
  725. package/src/{util → link/stories}/RandomIcon.tsx +1 -1
  726. /package/src/util/{useId.ts → hooks/useId.ts} +0 -0
@@ -1,4 +1,3 @@
1
- import { CheckmarkIcon, FilesIcon } from "@navikt/aksel-icons";
2
1
  import cl from "clsx";
3
2
  import React, {
4
3
  ButtonHTMLAttributes,
@@ -7,8 +6,10 @@ import React, {
7
6
  useRef,
8
7
  useState,
9
8
  } from "react";
10
- import copy from "../util/copy";
9
+ import { CheckmarkIcon, FilesIcon } from "@navikt/aksel-icons";
11
10
  import { Label } from "../typography";
11
+ import { composeEventHandlers } from "../util/composeEventHandlers";
12
+ import copy from "../util/copy";
12
13
 
13
14
  export interface CopyButtonProps
14
15
  extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
@@ -97,9 +98,10 @@ export const CopyButton = forwardRef<HTMLButtonElement, CopyButtonProps>(
97
98
  title = "Kopier",
98
99
  activeTitle = "Kopiert",
99
100
  iconPosition = "left",
101
+ onClick,
100
102
  ...rest
101
103
  },
102
- ref
104
+ ref,
103
105
  ) => {
104
106
  const [active, setActive] = useState(false);
105
107
  const timeoutRef = useRef<number>();
@@ -110,14 +112,11 @@ export const CopyButton = forwardRef<HTMLButtonElement, CopyButtonProps>(
110
112
  };
111
113
  }, []);
112
114
 
113
- const handleClick = (
114
- event: React.MouseEvent<HTMLButtonElement, MouseEvent>
115
- ) => {
115
+ const handleClick = () => {
116
116
  timeoutRef.current && clearTimeout(timeoutRef.current);
117
117
  copy(copyText);
118
118
  setActive(true);
119
119
  onActiveChange?.(true);
120
- rest.onClick?.(event);
121
120
 
122
121
  timeoutRef.current = window.setTimeout(() => {
123
122
  setActive(false);
@@ -158,9 +157,9 @@ export const CopyButton = forwardRef<HTMLButtonElement, CopyButtonProps>(
158
157
  "navds-copybutton--icon-only": !text,
159
158
  "navds-copybutton--icon-right": iconPosition === "right",
160
159
  "navds-copybutton--active": active,
161
- }
160
+ },
162
161
  )}
163
- onClick={handleClick}
162
+ onClick={composeEventHandlers(onClick, handleClick)}
164
163
  >
165
164
  <span className="navds-copybutton__content">
166
165
  {iconPosition === "left" && copyIcon}
@@ -186,7 +185,7 @@ export const CopyButton = forwardRef<HTMLButtonElement, CopyButtonProps>(
186
185
  </span>
187
186
  </button>
188
187
  );
189
- }
188
+ },
190
189
  );
191
190
 
192
191
  export default CopyButton;
@@ -1,9 +1,9 @@
1
- import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
3
1
  import { Meta, StoryObj } from "@storybook/react";
2
+ import { userEvent, within } from "@storybook/test";
3
+ import React from "react";
4
4
  import { LinkIcon, ThumbUpIcon } from "@navikt/aksel-icons";
5
- import { Tooltip } from "../tooltip";
6
5
  import { CopyButton } from ".";
6
+ import { Tooltip } from "../tooltip";
7
7
 
8
8
  const meta: Meta<typeof CopyButton> = {
9
9
  title: "ds-react/CopyButton",
@@ -2,7 +2,7 @@ import setYear from "date-fns/setYear";
2
2
  import startOfMonth from "date-fns/startOfMonth";
3
3
  import React, { createContext, useContext, useState } from "react";
4
4
  import { useDayPicker } from "react-day-picker";
5
- import { getInitialYear, Matcher } from "../utils";
5
+ import { Matcher, getInitialYear } from "../utils";
6
6
 
7
7
  export type SharedMonthContextType = {
8
8
  hasDropdown: boolean;
@@ -1,8 +1,10 @@
1
1
  import cl from "clsx";
2
2
  import isWeekend from "date-fns/isWeekend";
3
- import React, { forwardRef, useMemo, useRef, useState } from "react";
3
+ import React, { forwardRef, useRef, useState } from "react";
4
4
  import { DateRange, DayPicker, isMatch } from "react-day-picker";
5
- import { mergeRefs, omit, useId } from "../../util";
5
+ import { omit } from "../../util";
6
+ import { useId } from "../../util/hooks";
7
+ import { useMergeRefs } from "../../util/hooks/useMergeRefs";
6
8
  import { DateContext } from "../context";
7
9
  import { DatePickerInput } from "../parts/DateInput";
8
10
  import { DateWrapper } from "../parts/DateWrapper";
@@ -82,13 +84,13 @@ export const DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(
82
84
  onWeekNumberClick,
83
85
  ...rest
84
86
  },
85
- ref
87
+ ref,
86
88
  ) => {
87
89
  const ariaId = useId(id);
88
90
  const [open, setOpen] = useState(_open ?? false);
89
91
 
90
92
  const wrapperRef = useRef<HTMLDivElement | null>(null);
91
- const mergedRef = useMemo(() => mergeRefs([wrapperRef, ref]), [ref]);
93
+ const mergedRef = useMergeRefs(wrapperRef, ref);
92
94
 
93
95
  const [selectedDates, setSelectedDates] = React.useState<
94
96
  Date | Date[] | DateRange | undefined
@@ -181,7 +183,7 @@ export const DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(
181
183
  </div>
182
184
  </DateContext.Provider>
183
185
  );
184
- }
186
+ },
185
187
  ) as DatePickerComponent;
186
188
 
187
189
  DatePicker.Standalone = DatePickerStandalone;
@@ -62,7 +62,7 @@ export const DatePickerStandalone: DatePickerStandaloneType = forwardRef<
62
62
  onWeekNumberClick,
63
63
  ...rest
64
64
  },
65
- ref
65
+ ref,
66
66
  ) => {
67
67
  const [selectedDates, setSelectedDates] = React.useState<
68
68
  Date | Date[] | DateRange | undefined
@@ -122,7 +122,7 @@ export const DatePickerStandalone: DatePickerStandaloneType = forwardRef<
122
122
  />
123
123
  </div>
124
124
  );
125
- }
125
+ },
126
126
  );
127
127
 
128
128
  export default DatePickerStandalone;
@@ -58,8 +58,8 @@ export const Default: StoryObj<DefaultStoryProps> = {
58
58
  {...(props.mode === "single"
59
59
  ? singleCtx.datepickerProps
60
60
  : props.mode === "range"
61
- ? rangeCtx.datepickerProps
62
- : {})}
61
+ ? rangeCtx.datepickerProps
62
+ : {})}
63
63
  {...newProps}
64
64
  locale={props.locale}
65
65
  disableWeekends={props.disableWeekends}
@@ -1,10 +1,9 @@
1
- import { ArrowLeftIcon, ArrowRightIcon } from "@navikt/aksel-icons";
2
1
  import React from "react";
3
2
  import { CaptionProps, useDayPicker, useNavigation } from "react-day-picker";
4
-
5
- import WeekRow from "./WeekRow";
3
+ import { ArrowLeftIcon, ArrowRightIcon } from "@navikt/aksel-icons";
6
4
  import { Button } from "../../../button";
7
5
  import { Label } from "../../../typography";
6
+ import WeekRow from "./WeekRow";
8
7
 
9
8
  /**
10
9
  * https://github.com/gpbl/react-day-picker/tree/main/src/components/Caption
@@ -1,10 +1,10 @@
1
- import { ArrowLeftIcon, ArrowRightIcon } from "@navikt/aksel-icons";
2
1
  import { max, min } from "date-fns";
3
2
  import setMonth from "date-fns/setMonth";
4
3
  import setYear from "date-fns/setYear";
5
4
  import startOfMonth from "date-fns/startOfMonth";
6
5
  import React from "react";
7
6
  import { CaptionProps, useDayPicker, useNavigation } from "react-day-picker";
7
+ import { ArrowLeftIcon, ArrowRightIcon } from "@navikt/aksel-icons";
8
8
  import { Button } from "../../../button";
9
9
  import { Select } from "../../../form/Select";
10
10
  import { getMonths, getYears } from "../../utils/get-dates";
@@ -32,7 +32,7 @@ export const DropdownCaption = ({ displayMonth, id }: CaptionProps) => {
32
32
  const handleYearChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {
33
33
  const newMonth = setYear(
34
34
  startOfMonth(displayMonth),
35
- Number(e.target.value)
35
+ Number(e.target.value),
36
36
  );
37
37
  goToMonth(startOfMonth(min([max([newMonth, fromDate]), toDate])));
38
38
  };
@@ -1,5 +1,5 @@
1
+ import { Locale, addDays, startOfWeek } from "date-fns";
1
2
  import React from "react";
2
- import { addDays, Locale, startOfWeek } from "date-fns";
3
3
  import { useDayPicker } from "react-day-picker";
4
4
  import { Hide } from "../../../layout/responsive";
5
5
 
@@ -1,8 +1,8 @@
1
- import React from "react";
2
1
  import { getUnixTime } from "date-fns";
3
- import { useDayPicker, Day } from "react-day-picker";
4
- import WeekNumber from "./WeekNumber";
2
+ import React from "react";
3
+ import { Day, useDayPicker } from "react-day-picker";
5
4
  import { Hide } from "../../../layout/responsive";
5
+ import WeekNumber from "./WeekNumber";
6
6
 
7
7
  /**
8
8
  * The props for the {@link Row} component.
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { useDayPicker } from "react-day-picker";
3
3
  import { Show } from "../../../layout/responsive";
4
4
  import { Detail } from "../../../typography";
5
- import { useId } from "../../../util";
5
+ import { useId } from "../../../util/hooks";
6
6
  import { getMonthWeeks } from "../../utils/get-month-weeks";
7
7
  import { labelWeek } from "../../utils/labels";
8
8
  import WeekNumber from "./WeekNumber";
@@ -132,7 +132,7 @@ const getValidationMessage = (val = {}): DateValidationT => ({
132
132
  * });
133
133
  */
134
134
  export const useDatepicker = (
135
- opt: UseDatepickerOptions = {}
135
+ opt: UseDatepickerOptions = {},
136
136
  ): UseDatepickerValue => {
137
137
  const {
138
138
  locale: _locale = "nb",
@@ -171,7 +171,7 @@ export const useDatepicker = (
171
171
  newOpen &&
172
172
  setMonth(selectedDay ?? defaultSelected ?? defaultMonth ?? today);
173
173
  },
174
- [defaultMonth, defaultSelected, selectedDay, today]
174
+ [defaultMonth, defaultSelected, selectedDay, today],
175
175
  );
176
176
 
177
177
  const updateDate = (date?: Date) => {
@@ -193,7 +193,7 @@ export const useDatepicker = (
193
193
  updateDate(date);
194
194
  setMonth(date ?? defaultMonth ?? today);
195
195
  setInputValue(
196
- date ? formatDateForInput(date, locale, "date", inputFormat) : ""
196
+ date ? formatDateForInput(date, locale, "date", inputFormat) : "",
197
197
  );
198
198
  };
199
199
 
@@ -206,7 +206,7 @@ export const useDatepicker = (
206
206
  today,
207
207
  locale,
208
208
  "date",
209
- allowTwoDigitYear
209
+ allowTwoDigitYear,
210
210
  );
211
211
  if (isValidDate(day)) {
212
212
  setInputValue(formatDateForInput(day, locale, "date", inputFormat));
@@ -226,7 +226,7 @@ export const useDatepicker = (
226
226
  today,
227
227
  locale,
228
228
  "date",
229
- allowTwoDigitYear
229
+ allowTwoDigitYear,
230
230
  );
231
231
  isValidDate(day) &&
232
232
  setInputValue(formatDateForInput(day, locale, "date", inputFormat));
@@ -249,7 +249,7 @@ export const useDatepicker = (
249
249
  updateValidation();
250
250
  setMonth(day);
251
251
  setInputValue(
252
- day ? formatDateForInput(day, locale, "date", inputFormat) : ""
252
+ day ? formatDateForInput(day, locale, "date", inputFormat) : "",
253
253
  );
254
254
  };
255
255
 
@@ -263,7 +263,7 @@ export const useDatepicker = (
263
263
  today,
264
264
  locale,
265
265
  "date",
266
- allowTwoDigitYear
266
+ allowTwoDigitYear,
267
267
  );
268
268
 
269
269
  const isBefore =
@@ -127,7 +127,7 @@ const getIsAfter = (opt: { toDate?: Date; date?: Date }) =>
127
127
  * });
128
128
  */
129
129
  export const useMonthpicker = (
130
- opt: UseMonthPickerOptions = {}
130
+ opt: UseMonthPickerOptions = {},
131
131
  ): UseMonthPickerValue => {
132
132
  const {
133
133
  locale: _locale = "nb",
@@ -166,7 +166,7 @@ export const useMonthpicker = (
166
166
  newOpen &&
167
167
  setYear(selectedMonth ?? defaultSelected ?? defaultYear ?? today);
168
168
  },
169
- [defaultSelected, defaultYear, selectedMonth, today]
169
+ [defaultSelected, defaultYear, selectedMonth, today],
170
170
  );
171
171
 
172
172
  const updateMonth = (date?: Date) => {
@@ -188,7 +188,7 @@ export const useMonthpicker = (
188
188
  updateMonth(date);
189
189
  setYear(date ?? defaultYear ?? today);
190
190
  setInputValue(
191
- date ? formatDateForInput(date, locale, "month", inputFormat) : ""
191
+ date ? formatDateForInput(date, locale, "month", inputFormat) : "",
192
192
  );
193
193
  };
194
194
 
@@ -202,7 +202,7 @@ export const useMonthpicker = (
202
202
  today,
203
203
  locale,
204
204
  "month",
205
- allowTwoDigitYear
205
+ allowTwoDigitYear,
206
206
  );
207
207
  const isBefore = getIsBefore({ fromDate, date: day });
208
208
  const isAfter = getIsAfter({ toDate, date: day });
@@ -221,7 +221,7 @@ export const useMonthpicker = (
221
221
  today,
222
222
  locale,
223
223
  "month",
224
- allowTwoDigitYear
224
+ allowTwoDigitYear,
225
225
  );
226
226
  isValidDate(day) &&
227
227
  setInputValue(formatDateForInput(day, locale, "month", inputFormat));
@@ -245,7 +245,7 @@ export const useMonthpicker = (
245
245
  updateMonth(month);
246
246
  updateValidation();
247
247
  setInputValue(
248
- month ? formatDateForInput(month, locale, "month", inputFormat) : ""
248
+ month ? formatDateForInput(month, locale, "month", inputFormat) : "",
249
249
  );
250
250
  };
251
251
 
@@ -259,7 +259,7 @@ export const useMonthpicker = (
259
259
  today,
260
260
  locale,
261
261
  "month",
262
- allowTwoDigitYear
262
+ allowTwoDigitYear,
263
263
  );
264
264
 
265
265
  const isBefore = getIsBefore({ fromDate, date: month });
@@ -36,7 +36,7 @@ describe("Writing in input sets correct values", () => {
36
36
  JSON.stringify({
37
37
  from: "2022-08-03T00:00:00.000Z",
38
38
  to: "2022-08-03T00:00:00.000Z",
39
- })
39
+ }),
40
40
  );
41
41
  });
42
42
 
@@ -53,7 +53,7 @@ describe("Writing in input sets correct values", () => {
53
53
  expect(res.innerHTML).toEqual(
54
54
  JSON.stringify({
55
55
  from: "2022-08-03T00:00:00.000Z",
56
- })
56
+ }),
57
57
  );
58
58
  });
59
59
  });
@@ -148,7 +148,7 @@ const fromValidation = (day: Date, opt?: UseRangeDatepickerOptions) => {
148
148
  const toValidation = (
149
149
  day: Date,
150
150
  from: Date,
151
- opt?: UseRangeDatepickerOptions
151
+ opt?: UseRangeDatepickerOptions,
152
152
  ) => {
153
153
  const isBefore =
154
154
  opt?.fromDate && day && differenceInCalendarDays(opt?.fromDate, day) > 0;
@@ -185,12 +185,12 @@ const toValidation = (
185
185
 
186
186
  const initialValidation = (
187
187
  range?: DateRange,
188
- opt?: UseRangeDatepickerOptions
188
+ opt?: UseRangeDatepickerOptions,
189
189
  ): RangeValidationT => {
190
190
  if (!range || !range?.from) {
191
191
  return getValidationMessage(
192
192
  { isEmpty: true, isValidDate: false },
193
- { isEmpty: true, isValidDate: false }
193
+ { isEmpty: true, isValidDate: false },
194
194
  );
195
195
  }
196
196
 
@@ -215,7 +215,7 @@ const initialValidation = (
215
215
  * });
216
216
  */
217
217
  export const useRangeDatepicker = (
218
- opt: UseRangeDatepickerOptions = {}
218
+ opt: UseRangeDatepickerOptions = {},
219
219
  ): UseRangeDatepickerValue => {
220
220
  const {
221
221
  locale: _locale = "nb",
@@ -240,26 +240,26 @@ export const useRangeDatepicker = (
240
240
 
241
241
  // Initialize states
242
242
  const [month, setMonth] = useState(
243
- defaultSelected ? defaultSelected?.from : defaultMonth ?? today
243
+ defaultSelected ? defaultSelected?.from : defaultMonth ?? today,
244
244
  );
245
245
  const [selectedRange, setSelectedRange] = useState<DateRange | undefined>(
246
- defaultSelected ?? { from: undefined, to: undefined }
246
+ defaultSelected ?? { from: undefined, to: undefined },
247
247
  );
248
248
 
249
249
  const [fromInputValue, setFromInputValue] = useState(
250
250
  defaultSelected?.from
251
251
  ? formatDateForInput(defaultSelected.from, locale, "date", inputFormat)
252
- : ""
252
+ : "",
253
253
  );
254
254
 
255
255
  const [toInputValue, setToInputValue] = useState(
256
256
  defaultSelected?.to
257
257
  ? formatDateForInput(defaultSelected.to, locale, "date", inputFormat)
258
- : ""
258
+ : "",
259
259
  );
260
260
 
261
261
  const [validation, setValidation] = useState<RangeValidationT>(
262
- initialValidation(selectedRange, opt)
262
+ initialValidation(selectedRange, opt),
263
263
  );
264
264
 
265
265
  const [open, setOpen] = useState(false);
@@ -271,7 +271,7 @@ export const useRangeDatepicker = (
271
271
 
272
272
  const updateValidation = (
273
273
  from: Partial<RangeValidationT["from"]> = {},
274
- to: Partial<RangeValidationT["to"]> = {}
274
+ to: Partial<RangeValidationT["to"]> = {},
275
275
  ) => {
276
276
  const msg = getValidationMessage(from, to);
277
277
  setValidation(msg);
@@ -284,18 +284,18 @@ export const useRangeDatepicker = (
284
284
  setValidation(
285
285
  initialValidation(
286
286
  defaultSelected ?? { from: undefined, to: undefined },
287
- opt
288
- )
287
+ opt,
288
+ ),
289
289
  );
290
290
  setFromInputValue(
291
291
  defaultSelected?.from
292
292
  ? formatDateForInput(defaultSelected.from, locale, "date", inputFormat)
293
- : ""
293
+ : "",
294
294
  );
295
295
  setToInputValue(
296
296
  defaultSelected?.to
297
297
  ? formatDateForInput(defaultSelected.to, locale, "date", inputFormat)
298
- : ""
298
+ : "",
299
299
  );
300
300
  setDefaultSelected(_defaultSelected);
301
301
  };
@@ -305,12 +305,12 @@ export const useRangeDatepicker = (
305
305
  setFromInputValue(
306
306
  range?.from
307
307
  ? formatDateForInput(range.from, locale, "date", inputFormat)
308
- : ""
308
+ : "",
309
309
  );
310
310
  setToInputValue(
311
311
  range?.to
312
312
  ? formatDateForInput(range?.to, locale, "date", inputFormat)
313
- : ""
313
+ : "",
314
314
  );
315
315
  setValidation(initialValidation(range, opt));
316
316
  };
@@ -324,12 +324,12 @@ export const useRangeDatepicker = (
324
324
  today,
325
325
  locale,
326
326
  "date",
327
- allowTwoDigitYear
327
+ allowTwoDigitYear,
328
328
  );
329
329
  if (isValidDate(day)) {
330
330
  src === RANGE.FROM
331
331
  ? setFromInputValue(
332
- formatDateForInput(day, locale, "date", inputFormat)
332
+ formatDateForInput(day, locale, "date", inputFormat),
333
333
  )
334
334
  : setToInputValue(formatDateForInput(day, locale, "date", inputFormat));
335
335
 
@@ -348,7 +348,7 @@ export const useRangeDatepicker = (
348
348
  today,
349
349
  locale,
350
350
  "date",
351
- allowTwoDigitYear
351
+ allowTwoDigitYear,
352
352
  );
353
353
  if (!isValidDate(day)) {
354
354
  return;
@@ -381,18 +381,18 @@ export const useRangeDatepicker = (
381
381
 
382
382
  range?.from
383
383
  ? setFromInputValue(
384
- formatDateForInput(range?.from, locale, "date", inputFormat)
384
+ formatDateForInput(range?.from, locale, "date", inputFormat),
385
385
  )
386
386
  : setFromInputValue("");
387
387
  prevToRange && !resetTo
388
388
  ? setToInputValue(
389
- formatDateForInput(prevToRange, locale, "date", inputFormat)
389
+ formatDateForInput(prevToRange, locale, "date", inputFormat),
390
390
  )
391
391
  : setToInputValue("");
392
392
  updateRange({ from: range?.from, to: resetTo ? undefined : prevToRange });
393
393
  updateValidation(
394
394
  { isValidDate: !!range?.from, isEmpty: !range?.from },
395
- { isValidDate: !!range?.to, isEmpty: !prevToRange || resetTo }
395
+ { isValidDate: !!range?.to, isEmpty: !prevToRange || resetTo },
396
396
  );
397
397
  };
398
398
 
@@ -400,7 +400,7 @@ export const useRangeDatepicker = (
400
400
  val: string = "",
401
401
  day: Date,
402
402
  isBefore = false,
403
- isAfter = false
403
+ isAfter = false,
404
404
  ) => {
405
405
  setFromInputValue(val);
406
406
  if (!validateDay(day)) {
@@ -415,7 +415,7 @@ export const useRangeDatepicker = (
415
415
  isBefore,
416
416
  isAfter,
417
417
  },
418
- validation.to
418
+ validation.to,
419
419
  );
420
420
  return;
421
421
  }
@@ -427,7 +427,7 @@ export const useRangeDatepicker = (
427
427
  isBefore,
428
428
  isAfter,
429
429
  },
430
- validation.to
430
+ validation.to,
431
431
  );
432
432
  return;
433
433
  }
@@ -449,7 +449,7 @@ export const useRangeDatepicker = (
449
449
  today,
450
450
  locale,
451
451
  "date",
452
- allowTwoDigitYear
452
+ allowTwoDigitYear,
453
453
  );
454
454
  if (validateDay(toDay)) {
455
455
  updateRange({ from: day, to: toDay });
@@ -467,7 +467,7 @@ export const useRangeDatepicker = (
467
467
  val: string = "",
468
468
  day: Date,
469
469
  isBefore = false,
470
- isAfter = false
470
+ isAfter = false,
471
471
  ) => {
472
472
  setToInputValue(val);
473
473
  if (!validateDay(day)) {
@@ -518,7 +518,7 @@ export const useRangeDatepicker = (
518
518
  today,
519
519
  locale,
520
520
  "date",
521
- allowTwoDigitYear
521
+ allowTwoDigitYear,
522
522
  );
523
523
  const isBefore = fromDate && differenceInCalendarDays(fromDate, day) > 0;
524
524
  const isAfter = toDate && differenceInCalendarDays(day, toDate) > 0;
@@ -84,7 +84,7 @@ export const MonthButton = ({
84
84
  year,
85
85
  hasDropdown,
86
86
  fromDate,
87
- toDate
87
+ toDate,
88
88
  );
89
89
  setFocus(next);
90
90
  setTabRoot(next);
@@ -1,10 +1,10 @@
1
- import { ArrowLeftIcon, ArrowRightIcon } from "@navikt/aksel-icons";
2
1
  import { isAfter, isBefore } from "date-fns";
3
2
  import setYear from "date-fns/setYear";
4
3
  import startOfMonth from "date-fns/startOfMonth";
5
4
  import startOfYear from "date-fns/startOfYear";
6
5
  import React from "react";
7
6
  import { useDayPicker } from "react-day-picker";
7
+ import { ArrowLeftIcon, ArrowRightIcon } from "@navikt/aksel-icons";
8
8
  import { Button } from "../../button";
9
9
  import { Select } from "../../form/Select";
10
10
  import { useSharedMonthContext } from "../context";
@@ -1,7 +1,8 @@
1
1
  import cl from "clsx";
2
- import React, { forwardRef, useMemo, useRef, useState } from "react";
2
+ import React, { forwardRef, useRef, useState } from "react";
3
3
  import { RootProvider } from "react-day-picker";
4
- import { mergeRefs, useId } from "../../util";
4
+ import { useId } from "../../util/hooks";
5
+ import { useMergeRefs } from "../../util/hooks/useMergeRefs";
5
6
  import { DateContext, SharedMonthProvider } from "../context";
6
7
  import { MonthPickerInput } from "../parts/DateInput";
7
8
  import { DateWrapper } from "../parts/DateWrapper";
@@ -75,16 +76,16 @@ export const MonthPicker = forwardRef<HTMLDivElement, MonthPickerProps>(
75
76
  onYearChange,
76
77
  strategy = "absolute",
77
78
  },
78
- ref
79
+ ref,
79
80
  ) => {
80
81
  const ariaId = useId(id);
81
82
  const [open, setOpen] = useState(_open ?? false);
82
83
 
83
84
  const wrapperRef = useRef<HTMLDivElement | null>(null);
84
- const mergedRef = useMemo(() => mergeRefs([wrapperRef, ref]), [ref]);
85
+ const mergedRef = useMergeRefs(wrapperRef, ref);
85
86
 
86
87
  const [selectedMonth, setSelectedMonth] = useState<Date | undefined>(
87
- defaultSelected
88
+ defaultSelected,
88
89
  );
89
90
 
90
91
  const handleSelect = (month?: Date) => {
@@ -151,7 +152,7 @@ export const MonthPicker = forwardRef<HTMLDivElement, MonthPickerProps>(
151
152
  </div>
152
153
  </DateContext.Provider>
153
154
  );
154
- }
155
+ },
155
156
  ) as MonthPickerComponent;
156
157
 
157
158
  MonthPicker.Standalone = MonthPickerStandalone;
@@ -40,10 +40,10 @@ export const MonthPickerStandalone = forwardRef<
40
40
  year,
41
41
  onYearChange,
42
42
  },
43
- ref
43
+ ref,
44
44
  ) => {
45
45
  const [selectedMonth, setSelectedMonth] = useState<Date | undefined>(
46
- defaultSelected
46
+ defaultSelected,
47
47
  );
48
48
 
49
49
  const handleSelect = (month?: Date) => {
@@ -81,7 +81,7 @@ export const MonthPickerStandalone = forwardRef<
81
81
  </RootProvider>
82
82
  </div>
83
83
  );
84
- }
84
+ },
85
85
  );
86
86
 
87
87
  export default MonthPickerStandalone;
@@ -46,7 +46,7 @@ export const MonthSelector = () => {
46
46
  };
47
47
 
48
48
  const [tabRoot, setTabRoot] = useState(
49
- hasSelected ? selected : getRootFallback()
49
+ hasSelected ? selected : getRootFallback(),
50
50
  );
51
51
 
52
52
  if (tabRoot?.getFullYear() !== year.getFullYear()) {