@digdir/designsystemet-react 0.63.0 → 1.0.0-next.15

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 (563) hide show
  1. package/dist/cjs/components/Accordion/{AccordionContent/AccordionContent.js → AccordionContent.js} +10 -5
  2. package/dist/cjs/components/Accordion/AccordionHeading.js +31 -0
  3. package/dist/cjs/components/Accordion/{AccordionItem/AccordionItem.js → AccordionItem.js} +10 -2
  4. package/dist/cjs/components/Accordion/AccordionRoot.js +16 -0
  5. package/dist/cjs/components/Accordion/index.js +21 -8
  6. package/dist/cjs/components/Alert/Alert.js +8 -5
  7. package/dist/cjs/components/Box/Box.js +3 -6
  8. package/dist/cjs/components/Button/Button.js +7 -6
  9. package/dist/cjs/components/Card/Card.js +13 -4
  10. package/dist/cjs/components/Card/CardContent.js +4 -3
  11. package/dist/cjs/components/Card/CardFooter.js +4 -3
  12. package/dist/cjs/components/Card/CardHeader.js +4 -3
  13. package/dist/cjs/components/Card/CardMedia.js +3 -3
  14. package/dist/cjs/components/Card/index.js +3 -3
  15. package/dist/cjs/components/Chip/Group/Group.js +3 -5
  16. package/dist/cjs/components/Chip/Removable/Removable.js +3 -5
  17. package/dist/cjs/components/Chip/Toggle/Toggle.js +3 -5
  18. package/dist/cjs/components/Divider/Divider.js +1 -1
  19. package/dist/cjs/components/DropdownMenu/DropdownMenuContent.js +6 -6
  20. package/dist/cjs/components/DropdownMenu/DropdownMenuGroup.js +3 -3
  21. package/dist/cjs/components/DropdownMenu/DropdownMenuItem.js +3 -3
  22. package/dist/cjs/components/DropdownMenu/{DropdownMenu.js → DropdownMenuRoot.js} +15 -5
  23. package/dist/cjs/components/DropdownMenu/DropdownMenuTrigger.js +3 -3
  24. package/dist/cjs/components/DropdownMenu/index.js +18 -4
  25. package/dist/cjs/components/ErrorSummary/ErrorSummaryHeading.js +1 -1
  26. package/dist/cjs/components/ErrorSummary/ErrorSummaryRoot.js +2 -2
  27. package/dist/cjs/components/ErrorSummary/index.js +11 -2
  28. package/dist/cjs/components/HelpText/HelpText.js +4 -5
  29. package/dist/cjs/components/Link/Link.js +4 -4
  30. package/dist/cjs/components/List/ListItem.js +3 -3
  31. package/dist/cjs/components/List/ListRoot.js +1 -3
  32. package/dist/cjs/components/List/Lists.js +6 -6
  33. package/dist/cjs/components/List/index.js +4 -4
  34. package/dist/cjs/components/Modal/ModaContent.js +3 -3
  35. package/dist/cjs/components/Modal/ModalDialog.js +13 -12
  36. package/dist/cjs/components/Modal/ModalFooter.js +3 -3
  37. package/dist/cjs/components/Modal/ModalHeader.js +4 -4
  38. package/dist/cjs/components/Modal/ModalRoot.js +7 -1
  39. package/dist/cjs/components/Modal/ModalTrigger.js +1 -1
  40. package/dist/cjs/components/Modal/index.js +2 -2
  41. package/dist/cjs/components/Pagination/Pagination.js +8 -10
  42. package/dist/cjs/components/Pagination/PaginationButton.js +2 -1
  43. package/dist/cjs/components/Pagination/PaginationContent.js +3 -2
  44. package/dist/cjs/components/Pagination/PaginationEllipsis.js +3 -6
  45. package/dist/cjs/components/Pagination/PaginationItem.js +3 -6
  46. package/dist/cjs/components/Pagination/PaginationNextPrev.js +2 -0
  47. package/dist/cjs/components/Pagination/PaginationRoot.js +2 -7
  48. package/dist/cjs/components/Pagination/index.js +8 -8
  49. package/dist/cjs/components/Popover/PopoverContent.js +9 -9
  50. package/dist/cjs/components/Popover/{Popover.js → PopoverRoot.js} +3 -5
  51. package/dist/cjs/components/Popover/PopoverTrigger.js +3 -3
  52. package/dist/cjs/components/Popover/index.js +5 -2
  53. package/dist/cjs/components/Skeleton/Circle/Circle.js +3 -3
  54. package/dist/cjs/components/Skeleton/Rectangle/Rectangle.js +3 -3
  55. package/dist/cjs/components/Skeleton/Text/Text.js +3 -3
  56. package/dist/cjs/components/SkipLink/SkipLink.js +1 -1
  57. package/dist/cjs/components/Spinner/Spinner.js +5 -7
  58. package/dist/cjs/components/Table/Table.js +3 -5
  59. package/dist/cjs/components/Table/TableCell.js +2 -2
  60. package/dist/cjs/components/Table/TableHead.js +2 -2
  61. package/dist/cjs/components/Table/TableHeaderCell.js +2 -2
  62. package/dist/cjs/components/Table/TableRow.js +2 -2
  63. package/dist/cjs/components/Table/index.js +4 -4
  64. package/dist/cjs/components/Tabs/Tab.js +23 -0
  65. package/dist/cjs/components/Tabs/TabContent.js +24 -0
  66. package/dist/cjs/components/Tabs/TabList.js +26 -0
  67. package/dist/cjs/components/Tabs/{Tabs.js → TabsRoot.js} +22 -7
  68. package/dist/cjs/components/Tabs/index.js +25 -6
  69. package/dist/cjs/components/Tabs/{Tab/useTab.js → useTab.js} +3 -2
  70. package/dist/cjs/components/Tag/Tag.js +8 -5
  71. package/dist/cjs/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.js +9 -4
  72. package/dist/cjs/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.js +8 -6
  73. package/dist/cjs/components/ToggleGroup/{ToggleGroup.js → ToggleGroupRoot.js} +11 -14
  74. package/dist/cjs/components/ToggleGroup/index.js +16 -2
  75. package/dist/cjs/components/Tooltip/Tooltip.js +16 -8
  76. package/dist/cjs/components/Typography/ErrorMessage/ErrorMessage.js +4 -6
  77. package/dist/cjs/components/Typography/Heading/Heading.js +10 -7
  78. package/dist/cjs/components/Typography/Ingress/Ingress.js +10 -7
  79. package/dist/cjs/components/Typography/Label/Label.js +10 -7
  80. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +15 -7
  81. package/dist/cjs/components/form/CharacterCounter.js +1 -1
  82. package/dist/cjs/components/form/Checkbox/Checkbox.js +4 -4
  83. package/dist/cjs/components/form/Checkbox/Group/Group.js +1 -1
  84. package/dist/cjs/components/form/Combobox/Combobox.js +31 -29
  85. package/dist/cjs/components/form/Combobox/Custom.js +8 -11
  86. package/dist/cjs/components/form/Combobox/Empty.js +4 -6
  87. package/dist/cjs/components/form/Combobox/Option/Description.js +3 -6
  88. package/dist/cjs/components/form/Combobox/Option/Option.js +8 -8
  89. package/dist/cjs/components/form/Combobox/Option/SelectedIcon.js +1 -4
  90. package/dist/cjs/components/form/Combobox/Option/useComboboxOption.js +11 -11
  91. package/dist/cjs/components/form/Combobox/index.js +2 -2
  92. package/dist/cjs/components/form/Combobox/internal/ComboboxChips.js +1 -4
  93. package/dist/cjs/components/form/Combobox/internal/ComboboxClearButton.js +5 -8
  94. package/dist/cjs/components/form/Combobox/internal/ComboboxError.js +3 -6
  95. package/dist/cjs/components/form/Combobox/internal/ComboboxInput.js +28 -25
  96. package/dist/cjs/components/form/Combobox/internal/ComboboxLabel.js +3 -6
  97. package/dist/cjs/components/form/Combobox/internal/ComboboxNative.js +3 -6
  98. package/dist/cjs/components/form/Combobox/useCombobox.js +21 -40
  99. package/dist/cjs/components/form/Combobox/useComboboxKeyboard.js +4 -5
  100. package/dist/cjs/components/form/Combobox/useFloatingCombobox.js +1 -1
  101. package/dist/cjs/components/form/Combobox/utilities.js +34 -0
  102. package/dist/cjs/components/form/Fieldset/Fieldset.js +4 -4
  103. package/dist/cjs/components/form/NativeSelect/NativeSelect.js +4 -4
  104. package/dist/cjs/components/form/NativeSelect/useNativeSelect.js +2 -4
  105. package/dist/cjs/components/form/Radio/Group/Group.js +2 -2
  106. package/dist/cjs/components/form/Radio/Radio.js +3 -3
  107. package/dist/cjs/components/form/Search/Search.js +9 -10
  108. package/dist/cjs/components/form/Search/useSearch.js +2 -4
  109. package/dist/cjs/components/form/Switch/Switch.js +4 -4
  110. package/dist/cjs/components/form/Switch/useSwitch.js +1 -0
  111. package/dist/cjs/components/form/Textarea/Textarea.js +5 -5
  112. package/dist/cjs/components/form/Textarea/useTextarea.js +2 -4
  113. package/dist/cjs/components/form/Textfield/Textfield.js +5 -5
  114. package/dist/cjs/components/form/Textfield/useTextfield.js +2 -4
  115. package/dist/cjs/components/form/useFormField.js +5 -4
  116. package/dist/cjs/index.js +34 -10
  117. package/dist/cjs/node_modules/@tanstack/virtual-core/dist/esm/index.js +77 -71
  118. package/dist/cjs/node_modules/@tanstack/virtual-core/dist/esm/utils.js +8 -0
  119. package/dist/cjs/utilities/AnimateHeight/AnimateHeight.js +4 -4
  120. package/dist/cjs/utilities/{RovingTabIndex/RovingTabindexItem.js → RovingFocus/RovingFocusItem.js} +7 -7
  121. package/dist/cjs/utilities/{RovingTabIndex/RovingTabindexRoot.js → RovingFocus/RovingFocusRoot.js} +12 -8
  122. package/dist/cjs/utilities/{RovingTabIndex/useRovingTabindex.js → RovingFocus/useRovingFocus.js} +6 -6
  123. package/dist/cjs/utilities/{useDebounce.js → hooks/useDebounceCallback/useDebounceCallback.js} +2 -2
  124. package/dist/cjs/{hooks → utilities/hooks/useIsomorphicLayoutEffect}/useIsomorphicLayoutEffect.js +1 -0
  125. package/dist/cjs/utilities/hooks/useMediaQuery/useMediaQuery.js +49 -0
  126. package/dist/cjs/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.js +46 -0
  127. package/dist/esm/components/Accordion/{AccordionContent/AccordionContent.js → AccordionContent.js} +10 -5
  128. package/dist/esm/components/Accordion/AccordionHeading.js +29 -0
  129. package/dist/esm/components/Accordion/{AccordionItem/AccordionItem.js → AccordionItem.js} +10 -2
  130. package/dist/esm/components/Accordion/AccordionRoot.js +14 -0
  131. package/dist/esm/components/Accordion/index.js +20 -8
  132. package/dist/esm/components/Alert/Alert.js +8 -5
  133. package/dist/esm/components/Box/Box.js +3 -6
  134. package/dist/esm/components/Button/Button.js +7 -6
  135. package/dist/esm/components/Card/Card.js +13 -4
  136. package/dist/esm/components/Card/CardContent.js +4 -3
  137. package/dist/esm/components/Card/CardFooter.js +4 -3
  138. package/dist/esm/components/Card/CardHeader.js +4 -3
  139. package/dist/esm/components/Card/CardMedia.js +3 -3
  140. package/dist/esm/components/Card/index.js +2 -2
  141. package/dist/esm/components/Chip/Group/Group.js +3 -5
  142. package/dist/esm/components/Chip/Removable/Removable.js +3 -5
  143. package/dist/esm/components/Chip/Toggle/Toggle.js +3 -5
  144. package/dist/esm/components/Divider/Divider.js +1 -1
  145. package/dist/esm/components/DropdownMenu/DropdownMenuContent.js +6 -6
  146. package/dist/esm/components/DropdownMenu/DropdownMenuGroup.js +2 -2
  147. package/dist/esm/components/DropdownMenu/DropdownMenuItem.js +2 -2
  148. package/dist/esm/components/DropdownMenu/{DropdownMenu.js → DropdownMenuRoot.js} +15 -5
  149. package/dist/esm/components/DropdownMenu/DropdownMenuTrigger.js +2 -2
  150. package/dist/esm/components/DropdownMenu/index.js +17 -4
  151. package/dist/esm/components/ErrorSummary/ErrorSummaryHeading.js +1 -1
  152. package/dist/esm/components/ErrorSummary/ErrorSummaryRoot.js +2 -2
  153. package/dist/esm/components/ErrorSummary/index.js +10 -1
  154. package/dist/esm/components/HelpText/HelpText.js +4 -5
  155. package/dist/esm/components/Link/Link.js +4 -4
  156. package/dist/esm/components/List/ListItem.js +3 -3
  157. package/dist/esm/components/List/ListRoot.js +1 -3
  158. package/dist/esm/components/List/Lists.js +6 -6
  159. package/dist/esm/components/List/index.js +2 -2
  160. package/dist/esm/components/Modal/ModaContent.js +3 -3
  161. package/dist/esm/components/Modal/ModalDialog.js +13 -12
  162. package/dist/esm/components/Modal/ModalFooter.js +3 -3
  163. package/dist/esm/components/Modal/ModalHeader.js +4 -4
  164. package/dist/esm/components/Modal/ModalRoot.js +8 -2
  165. package/dist/esm/components/Modal/ModalTrigger.js +1 -1
  166. package/dist/esm/components/Modal/index.js +2 -2
  167. package/dist/esm/components/Pagination/Pagination.js +8 -10
  168. package/dist/esm/components/Pagination/PaginationButton.js +2 -1
  169. package/dist/esm/components/Pagination/PaginationContent.js +3 -2
  170. package/dist/esm/components/Pagination/PaginationEllipsis.js +4 -4
  171. package/dist/esm/components/Pagination/PaginationItem.js +4 -4
  172. package/dist/esm/components/Pagination/PaginationNextPrev.js +2 -0
  173. package/dist/esm/components/Pagination/PaginationRoot.js +3 -5
  174. package/dist/esm/components/Pagination/index.js +4 -4
  175. package/dist/esm/components/Popover/PopoverContent.js +9 -9
  176. package/dist/esm/components/Popover/{Popover.js → PopoverRoot.js} +3 -5
  177. package/dist/esm/components/Popover/PopoverTrigger.js +2 -2
  178. package/dist/esm/components/Popover/index.js +5 -3
  179. package/dist/esm/components/Skeleton/Circle/Circle.js +3 -3
  180. package/dist/esm/components/Skeleton/Rectangle/Rectangle.js +3 -3
  181. package/dist/esm/components/Skeleton/Text/Text.js +3 -3
  182. package/dist/esm/components/SkipLink/SkipLink.js +1 -1
  183. package/dist/esm/components/Spinner/Spinner.js +5 -7
  184. package/dist/esm/components/Table/Table.js +3 -5
  185. package/dist/esm/components/Table/TableCell.js +2 -2
  186. package/dist/esm/components/Table/TableHead.js +2 -2
  187. package/dist/esm/components/Table/TableHeaderCell.js +2 -2
  188. package/dist/esm/components/Table/TableRow.js +2 -2
  189. package/dist/esm/components/Table/index.js +2 -2
  190. package/dist/esm/components/Tabs/Tab.js +21 -0
  191. package/dist/esm/components/Tabs/TabContent.js +22 -0
  192. package/dist/esm/components/Tabs/TabList.js +24 -0
  193. package/dist/esm/components/Tabs/TabsRoot.js +43 -0
  194. package/dist/esm/components/Tabs/index.js +24 -6
  195. package/dist/esm/components/Tabs/{Tab/useTab.js → useTab.js} +2 -1
  196. package/dist/esm/components/Tag/Tag.js +8 -5
  197. package/dist/esm/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.js +9 -4
  198. package/dist/esm/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.js +8 -6
  199. package/dist/esm/components/ToggleGroup/{ToggleGroup.js → ToggleGroupRoot.js} +11 -14
  200. package/dist/esm/components/ToggleGroup/index.js +16 -3
  201. package/dist/esm/components/Tooltip/Tooltip.js +16 -8
  202. package/dist/esm/components/Typography/ErrorMessage/ErrorMessage.js +4 -6
  203. package/dist/esm/components/Typography/Heading/Heading.js +10 -7
  204. package/dist/esm/components/Typography/Ingress/Ingress.js +10 -7
  205. package/dist/esm/components/Typography/Label/Label.js +10 -7
  206. package/dist/esm/components/Typography/Paragraph/Paragraph.js +15 -7
  207. package/dist/esm/components/form/CharacterCounter.js +1 -1
  208. package/dist/esm/components/form/Checkbox/Checkbox.js +4 -4
  209. package/dist/esm/components/form/Checkbox/Group/Group.js +1 -1
  210. package/dist/esm/components/form/Combobox/Combobox.js +19 -17
  211. package/dist/esm/components/form/Combobox/ComboboxIdContext.js +1 -1
  212. package/dist/esm/components/form/Combobox/Custom.js +9 -9
  213. package/dist/esm/components/form/Combobox/Empty.js +5 -4
  214. package/dist/esm/components/form/Combobox/Option/Description.js +3 -3
  215. package/dist/esm/components/form/Combobox/Option/Option.js +9 -9
  216. package/dist/esm/components/form/Combobox/Option/SelectedIcon.js +2 -2
  217. package/dist/esm/components/form/Combobox/Option/useComboboxOption.js +9 -9
  218. package/dist/esm/components/form/Combobox/index.js +1 -1
  219. package/dist/esm/components/form/Combobox/internal/ComboboxChips.js +1 -1
  220. package/dist/esm/components/form/Combobox/internal/ComboboxClearButton.js +5 -5
  221. package/dist/esm/components/form/Combobox/internal/ComboboxError.js +3 -3
  222. package/dist/esm/components/form/Combobox/internal/ComboboxInput.js +29 -23
  223. package/dist/esm/components/form/Combobox/internal/ComboboxLabel.js +3 -3
  224. package/dist/esm/components/form/Combobox/internal/ComboboxNative.js +2 -2
  225. package/dist/esm/components/form/Combobox/useCombobox.js +18 -30
  226. package/dist/esm/components/form/Combobox/useComboboxKeyboard.js +4 -5
  227. package/dist/esm/components/form/Combobox/useFloatingCombobox.js +1 -1
  228. package/dist/esm/components/form/Combobox/utilities.js +28 -0
  229. package/dist/esm/components/form/Fieldset/Fieldset.js +4 -4
  230. package/dist/esm/components/form/NativeSelect/NativeSelect.js +4 -4
  231. package/dist/esm/components/form/NativeSelect/useNativeSelect.js +2 -4
  232. package/dist/esm/components/form/Radio/Group/Group.js +2 -2
  233. package/dist/esm/components/form/Radio/Radio.js +3 -3
  234. package/dist/esm/components/form/Search/Search.js +9 -10
  235. package/dist/esm/components/form/Search/useSearch.js +2 -4
  236. package/dist/esm/components/form/Switch/Switch.js +4 -4
  237. package/dist/esm/components/form/Switch/useSwitch.js +1 -0
  238. package/dist/esm/components/form/Textarea/Textarea.js +5 -5
  239. package/dist/esm/components/form/Textarea/useTextarea.js +2 -4
  240. package/dist/esm/components/form/Textfield/Textfield.js +5 -5
  241. package/dist/esm/components/form/Textfield/useTextfield.js +2 -4
  242. package/dist/esm/components/form/useFormField.js +5 -4
  243. package/dist/esm/index.js +20 -9
  244. package/dist/esm/node_modules/@tanstack/virtual-core/dist/esm/index.js +78 -73
  245. package/dist/esm/node_modules/@tanstack/virtual-core/dist/esm/utils.js +8 -1
  246. package/dist/esm/utilities/AnimateHeight/AnimateHeight.js +4 -4
  247. package/dist/esm/utilities/{RovingTabIndex/RovingTabindexItem.js → RovingFocus/RovingFocusItem.js} +7 -7
  248. package/dist/esm/utilities/{RovingTabIndex/RovingTabindexRoot.js → RovingFocus/RovingFocusRoot.js} +11 -7
  249. package/dist/esm/utilities/{RovingTabIndex/useRovingTabindex.js → RovingFocus/useRovingFocus.js} +6 -6
  250. package/dist/esm/utilities/{useDebounce.js → hooks/useDebounceCallback/useDebounceCallback.js} +2 -2
  251. package/dist/esm/{hooks → utilities/hooks/useIsomorphicLayoutEffect}/useIsomorphicLayoutEffect.js +1 -0
  252. package/dist/esm/utilities/hooks/useMediaQuery/useMediaQuery.js +47 -0
  253. package/dist/esm/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.js +44 -0
  254. package/dist/types/components/Accordion/AccordionContent.d.ts +9 -0
  255. package/dist/types/components/Accordion/AccordionContent.d.ts.map +1 -0
  256. package/dist/types/components/Accordion/AccordionHeading.d.ts +29 -0
  257. package/dist/types/components/Accordion/AccordionHeading.d.ts.map +1 -0
  258. package/dist/types/components/Accordion/{AccordionItem/AccordionItem.d.ts → AccordionItem.d.ts} +23 -4
  259. package/dist/types/components/Accordion/AccordionItem.d.ts.map +1 -0
  260. package/dist/types/components/Accordion/AccordionRoot.d.ts +33 -0
  261. package/dist/types/components/Accordion/AccordionRoot.d.ts.map +1 -0
  262. package/dist/types/components/Accordion/index.d.ts +21 -10
  263. package/dist/types/components/Accordion/index.d.ts.map +1 -1
  264. package/dist/types/components/Alert/Alert.d.ts +23 -17
  265. package/dist/types/components/Alert/Alert.d.ts.map +1 -1
  266. package/dist/types/components/Box/Box.d.ts +5 -8
  267. package/dist/types/components/Box/Box.d.ts.map +1 -1
  268. package/dist/types/components/Button/Button.d.ts +30 -16
  269. package/dist/types/components/Button/Button.d.ts.map +1 -1
  270. package/dist/types/components/Card/Card.d.ts +12 -11
  271. package/dist/types/components/Card/Card.d.ts.map +1 -1
  272. package/dist/types/components/Card/CardContent.d.ts.map +1 -1
  273. package/dist/types/components/Card/CardFooter.d.ts.map +1 -1
  274. package/dist/types/components/Card/CardHeader.d.ts.map +1 -1
  275. package/dist/types/components/Card/CardMedia.d.ts.map +1 -1
  276. package/dist/types/components/Card/index.d.ts +4 -4
  277. package/dist/types/components/Card/index.d.ts.map +1 -1
  278. package/dist/types/components/Chip/Group/Group.d.ts +1 -5
  279. package/dist/types/components/Chip/Group/Group.d.ts.map +1 -1
  280. package/dist/types/components/Chip/Removable/Removable.d.ts +0 -2
  281. package/dist/types/components/Chip/Removable/Removable.d.ts.map +1 -1
  282. package/dist/types/components/Chip/Toggle/Toggle.d.ts +0 -2
  283. package/dist/types/components/Chip/Toggle/Toggle.d.ts.map +1 -1
  284. package/dist/types/components/Divider/Divider.d.ts +1 -1
  285. package/dist/types/components/Divider/Divider.d.ts.map +1 -1
  286. package/dist/types/components/DropdownMenu/DropdownMenuContent.d.ts.map +1 -1
  287. package/dist/types/components/DropdownMenu/DropdownMenuGroup.d.ts.map +1 -1
  288. package/dist/types/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  289. package/dist/types/components/DropdownMenu/{DropdownMenu.d.ts → DropdownMenuRoot.d.ts} +21 -11
  290. package/dist/types/components/DropdownMenu/DropdownMenuRoot.d.ts.map +1 -0
  291. package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts +6 -4
  292. package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts.map +1 -1
  293. package/dist/types/components/DropdownMenu/index.d.ts +17 -5
  294. package/dist/types/components/DropdownMenu/index.d.ts.map +1 -1
  295. package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts.map +1 -1
  296. package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts +1 -1
  297. package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts.map +1 -1
  298. package/dist/types/components/ErrorSummary/ErrorSummaryRoot.d.ts.map +1 -1
  299. package/dist/types/components/ErrorSummary/index.d.ts +10 -1
  300. package/dist/types/components/ErrorSummary/index.d.ts.map +1 -1
  301. package/dist/types/components/HelpText/HelpText.d.ts +5 -7
  302. package/dist/types/components/HelpText/HelpText.d.ts.map +1 -1
  303. package/dist/types/components/HelpText/HelpTextIcon.d.ts.map +1 -1
  304. package/dist/types/components/Link/Link.d.ts +10 -4
  305. package/dist/types/components/Link/Link.d.ts.map +1 -1
  306. package/dist/types/components/List/ListHeading.d.ts +1 -1
  307. package/dist/types/components/List/ListItem.d.ts.map +1 -1
  308. package/dist/types/components/List/ListRoot.d.ts +2 -5
  309. package/dist/types/components/List/ListRoot.d.ts.map +1 -1
  310. package/dist/types/components/List/Lists.d.ts.map +1 -1
  311. package/dist/types/components/List/index.d.ts +2 -2
  312. package/dist/types/components/List/index.d.ts.map +1 -1
  313. package/dist/types/components/Modal/ModaContent.d.ts.map +1 -1
  314. package/dist/types/components/Modal/ModalDialog.d.ts +2 -2
  315. package/dist/types/components/Modal/ModalDialog.d.ts.map +1 -1
  316. package/dist/types/components/Modal/ModalFooter.d.ts.map +1 -1
  317. package/dist/types/components/Modal/ModalHeader.d.ts.map +1 -1
  318. package/dist/types/components/Modal/ModalRoot.d.ts +1 -0
  319. package/dist/types/components/Modal/ModalRoot.d.ts.map +1 -1
  320. package/dist/types/components/Modal/ModalTrigger.d.ts +6 -4
  321. package/dist/types/components/Modal/ModalTrigger.d.ts.map +1 -1
  322. package/dist/types/components/Modal/index.d.ts +2 -2
  323. package/dist/types/components/Modal/index.d.ts.map +1 -1
  324. package/dist/types/components/Pagination/Pagination.d.ts +4 -7
  325. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  326. package/dist/types/components/Pagination/PaginationButton.d.ts +1 -1
  327. package/dist/types/components/Pagination/PaginationButton.d.ts.map +1 -1
  328. package/dist/types/components/Pagination/PaginationContent.d.ts.map +1 -1
  329. package/dist/types/components/Pagination/PaginationEllipsis.d.ts +2 -2
  330. package/dist/types/components/Pagination/PaginationEllipsis.d.ts.map +1 -1
  331. package/dist/types/components/Pagination/PaginationItem.d.ts +2 -2
  332. package/dist/types/components/Pagination/PaginationItem.d.ts.map +1 -1
  333. package/dist/types/components/Pagination/PaginationNextPrev.d.ts +5 -4
  334. package/dist/types/components/Pagination/PaginationNextPrev.d.ts.map +1 -1
  335. package/dist/types/components/Pagination/PaginationRoot.d.ts +2 -4
  336. package/dist/types/components/Pagination/PaginationRoot.d.ts.map +1 -1
  337. package/dist/types/components/Pagination/index.d.ts +7 -7
  338. package/dist/types/components/Pagination/index.d.ts.map +1 -1
  339. package/dist/types/components/Pagination/usePagination.d.ts +1 -1
  340. package/dist/types/components/Pagination/usePagination.d.ts.map +1 -1
  341. package/dist/types/components/Popover/PopoverContent.d.ts.map +1 -1
  342. package/dist/types/components/Popover/{Popover.d.ts → PopoverRoot.d.ts} +9 -12
  343. package/dist/types/components/Popover/PopoverRoot.d.ts.map +1 -0
  344. package/dist/types/components/Popover/PopoverTrigger.d.ts +6 -4
  345. package/dist/types/components/Popover/PopoverTrigger.d.ts.map +1 -1
  346. package/dist/types/components/Popover/index.d.ts +6 -5
  347. package/dist/types/components/Popover/index.d.ts.map +1 -1
  348. package/dist/types/components/Skeleton/Circle/Circle.d.ts.map +1 -1
  349. package/dist/types/components/Skeleton/Rectangle/Rectangle.d.ts.map +1 -1
  350. package/dist/types/components/Skeleton/Text/Text.d.ts.map +1 -1
  351. package/dist/types/components/SkipLink/SkipLink.d.ts.map +1 -1
  352. package/dist/types/components/Spinner/Spinner.d.ts +7 -7
  353. package/dist/types/components/Spinner/Spinner.d.ts.map +1 -1
  354. package/dist/types/components/Table/Table.d.ts +2 -6
  355. package/dist/types/components/Table/Table.d.ts.map +1 -1
  356. package/dist/types/components/Table/TableBody.d.ts.map +1 -1
  357. package/dist/types/components/Table/TableCell.d.ts.map +1 -1
  358. package/dist/types/components/Table/TableHead.d.ts.map +1 -1
  359. package/dist/types/components/Table/TableHeaderCell.d.ts.map +1 -1
  360. package/dist/types/components/Table/TableRow.d.ts.map +1 -1
  361. package/dist/types/components/Table/index.d.ts +9 -2
  362. package/dist/types/components/Table/index.d.ts.map +1 -1
  363. package/dist/types/components/Tabs/{Tab/Tab.d.ts → Tab.d.ts} +7 -2
  364. package/dist/types/components/Tabs/Tab.d.ts.map +1 -0
  365. package/dist/types/components/Tabs/{TabContent/TabContent.d.ts → TabContent.d.ts} +7 -0
  366. package/dist/types/components/Tabs/TabContent.d.ts.map +1 -0
  367. package/dist/types/components/Tabs/TabList.d.ts +13 -0
  368. package/dist/types/components/Tabs/TabList.d.ts.map +1 -0
  369. package/dist/types/components/Tabs/{Tabs.d.ts → TabsRoot.d.ts} +19 -21
  370. package/dist/types/components/Tabs/TabsRoot.d.ts.map +1 -0
  371. package/dist/types/components/Tabs/index.d.ts +22 -5
  372. package/dist/types/components/Tabs/index.d.ts.map +1 -1
  373. package/dist/types/components/Tabs/useTab.d.ts +10 -0
  374. package/dist/types/components/Tabs/useTab.d.ts.map +1 -0
  375. package/dist/types/components/Tag/Tag.d.ts +12 -7
  376. package/dist/types/components/Tag/Tag.d.ts.map +1 -1
  377. package/dist/types/components/Tag/index.d.ts +1 -2
  378. package/dist/types/components/Tag/index.d.ts.map +1 -1
  379. package/dist/types/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.d.ts +13 -2
  380. package/dist/types/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.d.ts.map +1 -1
  381. package/dist/types/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.d.ts +3 -2
  382. package/dist/types/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.d.ts.map +1 -1
  383. package/dist/types/components/ToggleGroup/{ToggleGroup.d.ts → ToggleGroupRoot.d.ts} +7 -10
  384. package/dist/types/components/ToggleGroup/ToggleGroupRoot.d.ts.map +1 -0
  385. package/dist/types/components/ToggleGroup/index.d.ts +16 -4
  386. package/dist/types/components/ToggleGroup/index.d.ts.map +1 -1
  387. package/dist/types/components/Tooltip/Tooltip.d.ts +24 -22
  388. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  389. package/dist/types/components/Typography/ErrorMessage/ErrorMessage.d.ts +2 -6
  390. package/dist/types/components/Typography/ErrorMessage/ErrorMessage.d.ts.map +1 -1
  391. package/dist/types/components/Typography/Heading/Heading.d.ts +16 -9
  392. package/dist/types/components/Typography/Heading/Heading.d.ts.map +1 -1
  393. package/dist/types/components/Typography/Ingress/Ingress.d.ts +8 -7
  394. package/dist/types/components/Typography/Ingress/Ingress.d.ts.map +1 -1
  395. package/dist/types/components/Typography/Label/Label.d.ts +18 -14
  396. package/dist/types/components/Typography/Label/Label.d.ts.map +1 -1
  397. package/dist/types/components/Typography/Paragraph/Paragraph.d.ts +20 -13
  398. package/dist/types/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
  399. package/dist/types/components/form/CharacterCounter.d.ts.map +1 -1
  400. package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
  401. package/dist/types/components/form/Checkbox/Group/Group.d.ts.map +1 -1
  402. package/dist/types/components/form/Checkbox/index.d.ts +1 -1
  403. package/dist/types/components/form/Checkbox/index.d.ts.map +1 -1
  404. package/dist/types/components/form/Combobox/Combobox.d.ts +25 -19
  405. package/dist/types/components/form/Combobox/Combobox.d.ts.map +1 -1
  406. package/dist/types/components/form/Combobox/ComboboxContext.d.ts +2 -2
  407. package/dist/types/components/form/Combobox/ComboboxContext.d.ts.map +1 -1
  408. package/dist/types/components/form/Combobox/Custom.d.ts +2 -2
  409. package/dist/types/components/form/Combobox/Custom.d.ts.map +1 -1
  410. package/dist/types/components/form/Combobox/Empty.d.ts +2 -2
  411. package/dist/types/components/form/Combobox/Empty.d.ts.map +1 -1
  412. package/dist/types/components/form/Combobox/Option/Description.d.ts +1 -1
  413. package/dist/types/components/form/Combobox/Option/Description.d.ts.map +1 -1
  414. package/dist/types/components/form/Combobox/Option/Option.d.ts +2 -1
  415. package/dist/types/components/form/Combobox/Option/Option.d.ts.map +1 -1
  416. package/dist/types/components/form/Combobox/Option/SelectedIcon.d.ts +2 -2
  417. package/dist/types/components/form/Combobox/Option/SelectedIcon.d.ts.map +1 -1
  418. package/dist/types/components/form/Combobox/Option/useComboboxOption.d.ts +3 -2
  419. package/dist/types/components/form/Combobox/Option/useComboboxOption.d.ts.map +1 -1
  420. package/dist/types/components/form/Combobox/index.d.ts +2 -2
  421. package/dist/types/components/form/Combobox/index.d.ts.map +1 -1
  422. package/dist/types/components/form/Combobox/internal/ComboboxChips.d.ts +1 -1
  423. package/dist/types/components/form/Combobox/internal/ComboboxChips.d.ts.map +1 -1
  424. package/dist/types/components/form/Combobox/internal/ComboboxClearButton.d.ts +1 -4
  425. package/dist/types/components/form/Combobox/internal/ComboboxClearButton.d.ts.map +1 -1
  426. package/dist/types/components/form/Combobox/internal/ComboboxError.d.ts +3 -3
  427. package/dist/types/components/form/Combobox/internal/ComboboxError.d.ts.map +1 -1
  428. package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts +1 -1
  429. package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts.map +1 -1
  430. package/dist/types/components/form/Combobox/internal/ComboboxLabel.d.ts +2 -2
  431. package/dist/types/components/form/Combobox/internal/ComboboxLabel.d.ts.map +1 -1
  432. package/dist/types/components/form/Combobox/internal/ComboboxNative.d.ts +2 -2
  433. package/dist/types/components/form/Combobox/internal/ComboboxNative.d.ts.map +1 -1
  434. package/dist/types/components/form/Combobox/useCombobox.d.ts +3 -13
  435. package/dist/types/components/form/Combobox/useCombobox.d.ts.map +1 -1
  436. package/dist/types/components/form/Combobox/useComboboxKeyboard.d.ts +1 -1
  437. package/dist/types/components/form/Combobox/useComboboxKeyboard.d.ts.map +1 -1
  438. package/dist/types/components/form/Combobox/useFloatingCombobox.d.ts +2 -2
  439. package/dist/types/components/form/Combobox/utilities.d.ts +14 -0
  440. package/dist/types/components/form/Combobox/utilities.d.ts.map +1 -0
  441. package/dist/types/components/form/Fieldset/Fieldset.d.ts.map +1 -1
  442. package/dist/types/components/form/Fieldset/useFieldset.d.ts +2 -2
  443. package/dist/types/components/form/NativeSelect/NativeSelect.d.ts +2 -6
  444. package/dist/types/components/form/NativeSelect/NativeSelect.d.ts.map +1 -1
  445. package/dist/types/components/form/NativeSelect/useNativeSelect.d.ts.map +1 -1
  446. package/dist/types/components/form/Radio/Group/Group.d.ts.map +1 -1
  447. package/dist/types/components/form/Radio/Radio.d.ts.map +1 -1
  448. package/dist/types/components/form/Radio/index.d.ts +2 -2
  449. package/dist/types/components/form/Radio/index.d.ts.map +1 -1
  450. package/dist/types/components/form/Radio/useRadio.d.ts.map +1 -1
  451. package/dist/types/components/form/Search/Search.d.ts +5 -9
  452. package/dist/types/components/form/Search/Search.d.ts.map +1 -1
  453. package/dist/types/components/form/Search/useSearch.d.ts.map +1 -1
  454. package/dist/types/components/form/Switch/Switch.d.ts.map +1 -1
  455. package/dist/types/components/form/Switch/useSwitch.d.ts.map +1 -1
  456. package/dist/types/components/form/Textarea/Textarea.d.ts +2 -2
  457. package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
  458. package/dist/types/components/form/Textarea/useTextarea.d.ts.map +1 -1
  459. package/dist/types/components/form/Textfield/Textfield.d.ts +3 -7
  460. package/dist/types/components/form/Textfield/Textfield.d.ts.map +1 -1
  461. package/dist/types/components/form/Textfield/useTextfield.d.ts.map +1 -1
  462. package/dist/types/components/form/useFormField.d.ts +1 -4
  463. package/dist/types/components/form/useFormField.d.ts.map +1 -1
  464. package/dist/types/index.d.ts +1 -0
  465. package/dist/types/index.d.ts.map +1 -1
  466. package/dist/types/types/Portal.d.ts +1 -1
  467. package/dist/types/utilities/AnimateHeight/AnimateHeight.d.ts.map +1 -1
  468. package/dist/types/utilities/RovingFocus/RovingFocusItem.d.ts +16 -0
  469. package/dist/types/utilities/RovingFocus/RovingFocusItem.d.ts.map +1 -0
  470. package/dist/types/utilities/RovingFocus/RovingFocusRoot.d.ts +25 -0
  471. package/dist/types/utilities/RovingFocus/RovingFocusRoot.d.ts.map +1 -0
  472. package/dist/types/utilities/RovingFocus/index.d.ts +4 -0
  473. package/dist/types/utilities/RovingFocus/index.d.ts.map +1 -0
  474. package/dist/types/utilities/{RovingTabIndex/useRovingTabindex.d.ts → RovingFocus/useRovingFocus.d.ts} +8 -10
  475. package/dist/types/utilities/RovingFocus/useRovingFocus.d.ts.map +1 -0
  476. package/dist/types/utilities/hooks/index.d.ts +6 -0
  477. package/dist/types/utilities/hooks/index.d.ts.map +1 -0
  478. package/dist/types/utilities/hooks/useDebounceCallback/useDebounceCallback.d.ts +4 -0
  479. package/dist/types/utilities/hooks/useDebounceCallback/useDebounceCallback.d.ts.map +1 -0
  480. package/dist/types/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts.map +1 -0
  481. package/dist/types/utilities/hooks/useMediaQuery/useMediaQuery.d.ts +7 -0
  482. package/dist/types/utilities/hooks/useMediaQuery/useMediaQuery.d.ts.map +1 -0
  483. package/dist/types/utilities/hooks/usePrevious.d.ts.map +1 -0
  484. package/dist/types/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.d.ts +14 -0
  485. package/dist/types/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.d.ts.map +1 -0
  486. package/dist/types/utilities/index.d.ts +3 -1
  487. package/dist/types/utilities/index.d.ts.map +1 -1
  488. package/dist/types/utilities/{objectUtils.d.ts → omit/omit.d.ts} +1 -1
  489. package/dist/types/utilities/omit/omit.d.ts.map +1 -0
  490. package/package.json +10 -7
  491. package/LICENSE +0 -7
  492. package/dist/cjs/components/Accordion/Accordion.js +0 -11
  493. package/dist/cjs/components/Accordion/AccordionHeader/AccordionHeader.js +0 -26
  494. package/dist/cjs/components/Tabs/Tab/Tab.js +0 -17
  495. package/dist/cjs/components/Tabs/TabContent/TabContent.js +0 -16
  496. package/dist/cjs/components/Tabs/TabList/TabList.js +0 -14
  497. package/dist/cjs/hooks/useMediaQuery.js +0 -27
  498. package/dist/cjs/hooks/useSynchronizedAnimation.js +0 -33
  499. package/dist/cjs/utilities/getSize.js +0 -33
  500. package/dist/esm/components/Accordion/Accordion.js +0 -9
  501. package/dist/esm/components/Accordion/AccordionHeader/AccordionHeader.js +0 -24
  502. package/dist/esm/components/Tabs/Tab/Tab.js +0 -15
  503. package/dist/esm/components/Tabs/TabContent/TabContent.js +0 -14
  504. package/dist/esm/components/Tabs/TabList/TabList.js +0 -12
  505. package/dist/esm/components/Tabs/Tabs.js +0 -28
  506. package/dist/esm/hooks/useMediaQuery.js +0 -25
  507. package/dist/esm/hooks/useSynchronizedAnimation.js +0 -31
  508. package/dist/esm/utilities/getSize.js +0 -31
  509. package/dist/types/components/Accordion/Accordion.d.ts +0 -18
  510. package/dist/types/components/Accordion/Accordion.d.ts.map +0 -1
  511. package/dist/types/components/Accordion/AccordionContent/AccordionContent.d.ts +0 -10
  512. package/dist/types/components/Accordion/AccordionContent/AccordionContent.d.ts.map +0 -1
  513. package/dist/types/components/Accordion/AccordionContent/index.d.ts +0 -2
  514. package/dist/types/components/Accordion/AccordionContent/index.d.ts.map +0 -1
  515. package/dist/types/components/Accordion/AccordionHeader/AccordionHeader.d.ts +0 -18
  516. package/dist/types/components/Accordion/AccordionHeader/AccordionHeader.d.ts.map +0 -1
  517. package/dist/types/components/Accordion/AccordionHeader/index.d.ts +0 -2
  518. package/dist/types/components/Accordion/AccordionHeader/index.d.ts.map +0 -1
  519. package/dist/types/components/Accordion/AccordionItem/AccordionItem.d.ts.map +0 -1
  520. package/dist/types/components/Accordion/AccordionItem/index.d.ts +0 -2
  521. package/dist/types/components/Accordion/AccordionItem/index.d.ts.map +0 -1
  522. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts.map +0 -1
  523. package/dist/types/components/Popover/Popover.d.ts.map +0 -1
  524. package/dist/types/components/Tabs/Tab/Tab.d.ts.map +0 -1
  525. package/dist/types/components/Tabs/Tab/index.d.ts +0 -2
  526. package/dist/types/components/Tabs/Tab/index.d.ts.map +0 -1
  527. package/dist/types/components/Tabs/Tab/useTab.d.ts +0 -7
  528. package/dist/types/components/Tabs/Tab/useTab.d.ts.map +0 -1
  529. package/dist/types/components/Tabs/TabContent/TabContent.d.ts.map +0 -1
  530. package/dist/types/components/Tabs/TabContent/index.d.ts +0 -2
  531. package/dist/types/components/Tabs/TabContent/index.d.ts.map +0 -1
  532. package/dist/types/components/Tabs/TabList/TabList.d.ts +0 -3
  533. package/dist/types/components/Tabs/TabList/TabList.d.ts.map +0 -1
  534. package/dist/types/components/Tabs/TabList/index.d.ts +0 -2
  535. package/dist/types/components/Tabs/TabList/index.d.ts.map +0 -1
  536. package/dist/types/components/Tabs/Tabs.d.ts.map +0 -1
  537. package/dist/types/components/ToggleGroup/ToggleGroup.d.ts.map +0 -1
  538. package/dist/types/hooks/index.d.ts +0 -5
  539. package/dist/types/hooks/index.d.ts.map +0 -1
  540. package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts.map +0 -1
  541. package/dist/types/hooks/useMediaQuery.d.ts +0 -2
  542. package/dist/types/hooks/useMediaQuery.d.ts.map +0 -1
  543. package/dist/types/hooks/usePrevious.d.ts.map +0 -1
  544. package/dist/types/hooks/useSynchronizedAnimation.d.ts +0 -2
  545. package/dist/types/hooks/useSynchronizedAnimation.d.ts.map +0 -1
  546. package/dist/types/utilities/RovingTabIndex/RovingTabindexItem.d.ts +0 -16
  547. package/dist/types/utilities/RovingTabIndex/RovingTabindexItem.d.ts.map +0 -1
  548. package/dist/types/utilities/RovingTabIndex/RovingTabindexRoot.d.ts +0 -25
  549. package/dist/types/utilities/RovingTabIndex/RovingTabindexRoot.d.ts.map +0 -1
  550. package/dist/types/utilities/RovingTabIndex/index.d.ts +0 -4
  551. package/dist/types/utilities/RovingTabIndex/index.d.ts.map +0 -1
  552. package/dist/types/utilities/RovingTabIndex/useRovingTabindex.d.ts.map +0 -1
  553. package/dist/types/utilities/getSize.d.ts +0 -2
  554. package/dist/types/utilities/getSize.d.ts.map +0 -1
  555. package/dist/types/utilities/objectUtils.d.ts.map +0 -1
  556. package/dist/types/utilities/useDebounce.d.ts +0 -4
  557. package/dist/types/utilities/useDebounce.d.ts.map +0 -1
  558. /package/dist/cjs/{hooks → utilities/hooks}/usePrevious.js +0 -0
  559. /package/dist/cjs/utilities/{objectUtils.js → omit/omit.js} +0 -0
  560. /package/dist/esm/{hooks → utilities/hooks}/usePrevious.js +0 -0
  561. /package/dist/esm/utilities/{objectUtils.js → omit/omit.js} +0 -0
  562. /package/dist/types/{hooks → utilities/hooks/useIsomorphicLayoutEffect}/useIsomorphicLayoutEffect.d.ts +0 -0
  563. /package/dist/types/{hooks → utilities/hooks}/usePrevious.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { memo, notUndefined, approxEqual } from './utils.js';
2
+ import { debounce, memo, notUndefined, approxEqual } from './utils.js';
3
3
 
4
4
  const defaultKeyExtractor = (index) => index;
5
5
  const defaultRangeExtractor = (range) => {
@@ -16,16 +16,20 @@ const observeElementRect = (instance, cb) => {
16
16
  if (!element) {
17
17
  return;
18
18
  }
19
+ const targetWindow = instance.targetWindow;
20
+ if (!targetWindow) {
21
+ return;
22
+ }
19
23
  const handler = (rect) => {
20
24
  const { width, height } = rect;
21
25
  cb({ width: Math.round(width), height: Math.round(height) });
22
26
  };
23
27
  handler(element.getBoundingClientRect());
24
- if (typeof ResizeObserver === "undefined") {
28
+ if (!targetWindow.ResizeObserver) {
25
29
  return () => {
26
30
  };
27
31
  }
28
- const observer = new ResizeObserver((entries) => {
32
+ const observer = new targetWindow.ResizeObserver((entries) => {
29
33
  const entry = entries[0];
30
34
  if (entry == null ? void 0 : entry.borderBoxSize) {
31
35
  const box = entry.borderBoxSize[0];
@@ -41,20 +45,40 @@ const observeElementRect = (instance, cb) => {
41
45
  observer.unobserve(element);
42
46
  };
43
47
  };
48
+ const addEventListenerOptions = {
49
+ passive: true
50
+ };
51
+ const supportsScrollend = typeof window == "undefined" ? true : "onscrollend" in window;
44
52
  const observeElementOffset = (instance, cb) => {
45
53
  const element = instance.scrollElement;
46
54
  if (!element) {
47
55
  return;
48
56
  }
49
- const handler = () => {
50
- cb(element[instance.options.horizontal ? "scrollLeft" : "scrollTop"]);
57
+ const targetWindow = instance.targetWindow;
58
+ if (!targetWindow) {
59
+ return;
60
+ }
61
+ let offset = 0;
62
+ const fallback = supportsScrollend ? () => void 0 : debounce(
63
+ targetWindow,
64
+ () => {
65
+ cb(offset, false);
66
+ },
67
+ instance.options.isScrollingResetDelay
68
+ );
69
+ const createHandler = (isScrolling) => () => {
70
+ offset = element[instance.options.horizontal ? "scrollLeft" : "scrollTop"];
71
+ fallback();
72
+ cb(offset, isScrolling);
51
73
  };
52
- handler();
53
- element.addEventListener("scroll", handler, {
54
- passive: true
55
- });
74
+ const handler = createHandler(true);
75
+ const endHandler = createHandler(false);
76
+ endHandler();
77
+ element.addEventListener("scroll", handler, addEventListenerOptions);
78
+ element.addEventListener("scrollend", endHandler, addEventListenerOptions);
56
79
  return () => {
57
80
  element.removeEventListener("scroll", handler);
81
+ element.removeEventListener("scrollend", endHandler);
58
82
  };
59
83
  };
60
84
  const measureElement = (element, entry, instance) => {
@@ -86,8 +110,8 @@ class Virtualizer {
86
110
  constructor(opts) {
87
111
  this.unsubs = [];
88
112
  this.scrollElement = null;
113
+ this.targetWindow = null;
89
114
  this.isScrolling = false;
90
- this.isScrollingTimeoutId = null;
91
115
  this.scrollToIndexTimeoutId = null;
92
116
  this.measurementsCache = [];
93
117
  this.itemSizeCache = /* @__PURE__ */ new Map();
@@ -100,15 +124,15 @@ class Virtualizer {
100
124
  const get = () => {
101
125
  if (_ro) {
102
126
  return _ro;
103
- } else if (typeof ResizeObserver !== "undefined") {
104
- return _ro = new ResizeObserver((entries) => {
105
- entries.forEach((entry) => {
106
- this._measureElement(entry.target, entry);
107
- });
108
- });
109
- } else {
127
+ }
128
+ if (!this.targetWindow || !this.targetWindow.ResizeObserver) {
110
129
  return null;
111
130
  }
131
+ return _ro = new this.targetWindow.ResizeObserver((entries) => {
132
+ entries.forEach((entry) => {
133
+ this._measureElement(entry.target, entry);
134
+ });
135
+ });
112
136
  };
113
137
  return {
114
138
  disconnect: () => {
@@ -148,39 +172,24 @@ class Virtualizer {
148
172
  initialRect: { width: 0, height: 0 },
149
173
  scrollMargin: 0,
150
174
  gap: 0,
151
- scrollingDelay: 150,
152
175
  indexAttribute: "data-index",
153
176
  initialMeasurementsCache: [],
154
177
  lanes: 1,
178
+ isScrollingResetDelay: 150,
155
179
  ...opts2
156
180
  };
157
181
  };
158
- this.notify = (sync) => {
182
+ this.notify = (force, sync) => {
159
183
  var _a, _b;
160
- (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);
161
- };
162
- this.maybeNotify = memo(
163
- () => {
164
- this.calculateRange();
165
- return [
166
- this.isScrolling,
167
- this.range ? this.range.startIndex : null,
168
- this.range ? this.range.endIndex : null
169
- ];
170
- },
171
- (isScrolling) => {
172
- this.notify(isScrolling);
173
- },
174
- {
175
- key: process.env.NODE_ENV !== "production" && "maybeNotify",
176
- debug: () => this.options.debug,
177
- initialDeps: [
178
- this.isScrolling,
179
- this.range ? this.range.startIndex : null,
180
- this.range ? this.range.endIndex : null
181
- ]
184
+ const { startIndex, endIndex } = this.range ?? {
185
+ startIndex: void 0,
186
+ endIndex: void 0
187
+ };
188
+ const range = this.calculateRange();
189
+ if (force || startIndex !== (range == null ? void 0 : range.startIndex) || endIndex !== (range == null ? void 0 : range.endIndex)) {
190
+ (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);
182
191
  }
183
- );
192
+ };
184
193
  this.cleanup = () => {
185
194
  this.unsubs.filter(Boolean).forEach((d) => d());
186
195
  this.unsubs = [];
@@ -194,10 +203,16 @@ class Virtualizer {
194
203
  };
195
204
  };
196
205
  this._willUpdate = () => {
206
+ var _a;
197
207
  const scrollElement = this.options.getScrollElement();
198
208
  if (this.scrollElement !== scrollElement) {
199
209
  this.cleanup();
200
210
  this.scrollElement = scrollElement;
211
+ if (this.scrollElement && "ownerDocument" in this.scrollElement) {
212
+ this.targetWindow = this.scrollElement.ownerDocument.defaultView;
213
+ } else {
214
+ this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;
215
+ }
201
216
  this._scrollToOffset(this.scrollOffset, {
202
217
  adjustments: void 0,
203
218
  behavior: void 0
@@ -205,29 +220,17 @@ class Virtualizer {
205
220
  this.unsubs.push(
206
221
  this.options.observeElementRect(this, (rect) => {
207
222
  this.scrollRect = rect;
208
- this.maybeNotify();
223
+ this.notify(false, false);
209
224
  })
210
225
  );
211
226
  this.unsubs.push(
212
- this.options.observeElementOffset(this, (offset) => {
227
+ this.options.observeElementOffset(this, (offset, isScrolling) => {
213
228
  this.scrollAdjustments = 0;
214
- if (this.scrollOffset === offset) {
215
- return;
216
- }
217
- if (this.isScrollingTimeoutId !== null) {
218
- clearTimeout(this.isScrollingTimeoutId);
219
- this.isScrollingTimeoutId = null;
220
- }
221
- this.isScrolling = true;
222
- this.scrollDirection = this.scrollOffset < offset ? "forward" : "backward";
229
+ this.scrollDirection = isScrolling ? this.scrollOffset < offset ? "forward" : "backward" : null;
223
230
  this.scrollOffset = offset;
224
- this.maybeNotify();
225
- this.isScrollingTimeoutId = setTimeout(() => {
226
- this.isScrollingTimeoutId = null;
227
- this.isScrolling = false;
228
- this.scrollDirection = null;
229
- this.maybeNotify();
230
- }, this.options.scrollingDelay);
231
+ const prevIsScrolling = this.isScrolling;
232
+ this.isScrolling = isScrolling;
233
+ this.notify(prevIsScrolling !== isScrolling, isScrolling);
231
234
  })
232
235
  );
233
236
  }
@@ -235,7 +238,7 @@ class Virtualizer {
235
238
  this.getSize = () => {
236
239
  return this.scrollRect[this.options.horizontal ? "width" : "height"];
237
240
  };
238
- this.memoOptions = memo(
241
+ this.getMeasurementOptions = memo(
239
242
  () => [
240
243
  this.options.count,
241
244
  this.options.paddingStart,
@@ -283,7 +286,7 @@ class Virtualizer {
283
286
  })[0] : void 0;
284
287
  };
285
288
  this.getMeasurements = memo(
286
- () => [this.memoOptions(), this.itemSizeCache],
289
+ () => [this.getMeasurementOptions(), this.itemSizeCache],
287
290
  ({ count, paddingStart, scrollMargin, getItemKey }, itemSizeCache) => {
288
291
  const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
289
292
  this.pendingMeasuredCacheIndexes = [];
@@ -336,7 +339,8 @@ class Virtualizer {
336
339
  ],
337
340
  (rangeExtractor, range, overscan, count) => {
338
341
  return range === null ? [] : rangeExtractor({
339
- ...range,
342
+ startIndex: range.startIndex,
343
+ endIndex: range.endIndex,
340
344
  overscan,
341
345
  count
342
346
  });
@@ -383,7 +387,7 @@ class Virtualizer {
383
387
  const itemSize = this.itemSizeCache.get(item.key) ?? item.size;
384
388
  const delta = size - itemSize;
385
389
  if (delta !== 0) {
386
- if (item.start < this.scrollOffset + this.scrollAdjustments) {
390
+ if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.scrollOffset + this.scrollAdjustments) {
387
391
  if (process.env.NODE_ENV !== "production" && this.options.debug) {
388
392
  console.info("correction", delta);
389
393
  }
@@ -394,7 +398,7 @@ class Virtualizer {
394
398
  }
395
399
  this.pendingMeasuredCacheIndexes.push(item.index);
396
400
  this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));
397
- this.notify(false);
401
+ this.notify(true, false);
398
402
  }
399
403
  };
400
404
  this.measureElement = (node) => {
@@ -470,8 +474,8 @@ class Virtualizer {
470
474
  };
471
475
  this.isDynamicMode = () => this.measureElementCache.size > 0;
472
476
  this.cancelScrollToIndex = () => {
473
- if (this.scrollToIndexTimeoutId !== null) {
474
- clearTimeout(this.scrollToIndexTimeoutId);
477
+ if (this.scrollToIndexTimeoutId !== null && this.targetWindow) {
478
+ this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId);
475
479
  this.scrollToIndexTimeoutId = null;
476
480
  }
477
481
  };
@@ -497,8 +501,8 @@ class Virtualizer {
497
501
  }
498
502
  const [toOffset, align] = this.getOffsetForIndex(index, initialAlign);
499
503
  this._scrollToOffset(toOffset, { adjustments: void 0, behavior });
500
- if (behavior !== "smooth" && this.isDynamicMode()) {
501
- this.scrollToIndexTimeoutId = setTimeout(() => {
504
+ if (behavior !== "smooth" && this.isDynamicMode() && this.targetWindow) {
505
+ this.scrollToIndexTimeoutId = this.targetWindow.setTimeout(() => {
502
506
  this.scrollToIndexTimeoutId = null;
503
507
  const elementInDOM = this.measureElementCache.has(
504
508
  this.options.getItemKey(index)
@@ -546,17 +550,18 @@ class Virtualizer {
546
550
  this.options.scrollToFn(offset, { behavior, adjustments }, this);
547
551
  };
548
552
  this.measure = () => {
553
+ var _a, _b;
549
554
  this.itemSizeCache = /* @__PURE__ */ new Map();
550
- this.notify(false);
555
+ (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, false);
551
556
  };
552
557
  this.setOptions(opts);
553
558
  this.scrollRect = this.options.initialRect;
554
- this.scrollOffset = this.options.initialOffset;
559
+ this.scrollOffset = typeof this.options.initialOffset === "function" ? this.options.initialOffset() : this.options.initialOffset;
555
560
  this.measurementsCache = this.options.initialMeasurementsCache;
556
561
  this.measurementsCache.forEach((item) => {
557
562
  this.itemSizeCache.set(item.key, item.size);
558
563
  });
559
- this.maybeNotify();
564
+ this.notify(false, false);
560
565
  }
561
566
  }
562
567
  const findNearestBinarySearch = (low, high, getCurrentValue, value) => {
@@ -592,4 +597,4 @@ function calculateRange({
592
597
  return { startIndex, endIndex };
593
598
  }
594
599
 
595
- export { Virtualizer, approxEqual, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, notUndefined, observeElementOffset, observeElementRect };
600
+ export { Virtualizer, approxEqual, debounce, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, notUndefined, observeElementOffset, observeElementRect };
@@ -52,5 +52,12 @@ function notUndefined(value, msg) {
52
52
  }
53
53
  }
54
54
  const approxEqual = (a, b) => Math.abs(a - b) < 1;
55
+ const debounce = (targetWindow, fn, ms) => {
56
+ let timeoutId;
57
+ return function(...args) {
58
+ targetWindow.clearTimeout(timeoutId);
59
+ timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);
60
+ };
61
+ };
55
62
 
56
- export { approxEqual, memo, notUndefined };
63
+ export { approxEqual, debounce, memo, notUndefined };
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { useState, useRef, useCallback } from 'react';
4
3
  import { clsx } from '../../node_modules/clsx/dist/lite.js';
5
- import { usePrevious } from '../../hooks/usePrevious.js';
6
- import { useMediaQuery } from '../../hooks/useMediaQuery.js';
4
+ import { useState, useRef, useCallback } from 'react';
5
+ import { usePrevious } from '../hooks/usePrevious.js';
6
+ import { useMediaQuery } from '../hooks/useMediaQuery/useMediaQuery.js';
7
7
 
8
8
  const transitionDurationInMilliseconds = 250;
9
9
  /**
@@ -35,7 +35,7 @@ const AnimateHeight = ({ children, className, open = false, style, ...rest }) =>
35
35
  const transition = state === 'openingOrClosing'
36
36
  ? `height ${transitionDurationInMilliseconds}ms ease-in-out`
37
37
  : undefined;
38
- return (jsx("div", { ...rest, className: clsx('fds-animate-height', `fds-animate-height--${state}`, className), style: { height, transition, ...style }, children: jsx("div", { ref: contentRef, className: 'fds-animate-height__content', children: children }) }));
38
+ return (jsx("div", { ...rest, className: clsx('ds-animate-height', `ds-animate-height--${state}`, className), style: { height, transition, ...style }, children: jsx("div", { ref: contentRef, className: 'ds-animate-height__content', children: children }) }));
39
39
  };
40
40
 
41
41
  export { AnimateHeight };
@@ -1,24 +1,24 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { forwardRef } from 'react';
4
3
  import { useMergeRefs } from '../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
5
4
  import { Slot as $5e63c961fc1ce211$export$8c6ed5c666ac1360 } from '../../node_modules/@radix-ui/react-slot/dist/index.js';
6
- import { useRovingTabindex } from './useRovingTabindex.js';
5
+ import { forwardRef } from 'react';
6
+ import { useRovingFocus } from './useRovingFocus.js';
7
7
 
8
- /** Get the next focusable RovingTabindexItem */
8
+ /** Get the next focusable RovingFocusItem */
9
9
  function getNextFocusableValue(items, value) {
10
10
  const currIndex = items.findIndex((item) => item.value === value);
11
11
  return items.at(currIndex === items.length - 1 ? 0 : currIndex + 1);
12
12
  }
13
- /** Get the previous focusable RovingTabindexItem */
13
+ /** Get the previous focusable RovingFocusItem */
14
14
  function getPrevFocusableValue(items, value) {
15
15
  const currIndex = items.findIndex((item) => item.value === value);
16
16
  return items.at(currIndex === 0 ? -1 : currIndex - 1);
17
17
  }
18
- const RovingTabindexItem = forwardRef(({ value, asChild, ...rest }, ref) => {
18
+ const RovingFocusItem = forwardRef(({ value, asChild, ...rest }, ref) => {
19
19
  const Component = asChild ? $5e63c961fc1ce211$export$8c6ed5c666ac1360 : 'div';
20
20
  const focusValue = value ?? (typeof rest.children == 'string' ? rest.children : '');
21
- const { getOrderedItems, getRovingProps } = useRovingTabindex(focusValue);
21
+ const { getOrderedItems, getRovingProps } = useRovingFocus(focusValue);
22
22
  const rovingProps = getRovingProps({
23
23
  onKeyDown: (e) => {
24
24
  rest?.onKeyDown?.(e);
@@ -37,4 +37,4 @@ const RovingTabindexItem = forwardRef(({ value, asChild, ...rest }, ref) => {
37
37
  return (jsx(Component, { ...rest, ...rovingProps, ref: mergedRefs, children: rest.children }));
38
38
  });
39
39
 
40
- export { RovingTabindexItem, getNextFocusableValue, getPrevFocusableValue };
40
+ export { RovingFocusItem, getNextFocusableValue, getPrevFocusableValue };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { createContext, forwardRef, useState, useRef } from 'react';
4
3
  import { useMergeRefs } from '../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
5
4
  import { Slot as $5e63c961fc1ce211$export$8c6ed5c666ac1360 } from '../../node_modules/@radix-ui/react-slot/dist/index.js';
5
+ import { createContext, forwardRef, useState, useRef, useEffect } from 'react';
6
6
 
7
- const RovingTabindexContext = createContext({
7
+ const RovingFocusContext = createContext({
8
8
  elements: { current: new Map() },
9
9
  getOrderedItems: () => [],
10
10
  setFocusableValue: () => {
@@ -15,7 +15,7 @@ const RovingTabindexContext = createContext({
15
15
  },
16
16
  focusableValue: null,
17
17
  });
18
- const RovingTabindexRoot = forwardRef(({ valueId, asChild, onBlur, onFocus, ...rest }, ref) => {
18
+ const RovingFocusRoot = forwardRef(({ activeValue, asChild, onBlur, onFocus, ...rest }, ref) => {
19
19
  const Component = asChild ? $5e63c961fc1ce211$export$8c6ed5c666ac1360 : 'div';
20
20
  const [focusableValue, setFocusableValue] = useState(null);
21
21
  const [isShiftTabbing, setIsShiftTabbing] = useState(false);
@@ -30,7 +30,10 @@ const RovingTabindexRoot = forwardRef(({ valueId, asChild, onBlur, onFocus, ...r
30
30
  .sort((a, b) => elementsFromDOM.indexOf(a[1]) - elementsFromDOM.indexOf(b[1]))
31
31
  .map(([value, element]) => ({ value, element }));
32
32
  };
33
- return (jsx(RovingTabindexContext.Provider, { value: {
33
+ useEffect(() => {
34
+ setFocusableValue(activeValue ?? null);
35
+ }, [activeValue]);
36
+ return (jsx(RovingFocusContext.Provider, { value: {
34
37
  elements,
35
38
  getOrderedItems,
36
39
  focusableValue,
@@ -41,6 +44,7 @@ const RovingTabindexRoot = forwardRef(({ valueId, asChild, onBlur, onFocus, ...r
41
44
  }, children: jsx(Component, { ...rest, tabIndex: isShiftTabbing ? -1 : 0, onBlur: (e) => {
42
45
  onBlur?.(e);
43
46
  setIsShiftTabbing(false);
47
+ setFocusableValue(activeValue ?? null);
44
48
  }, onFocus: (e) => {
45
49
  onFocus?.(e);
46
50
  if (e.target !== e.currentTarget)
@@ -51,8 +55,8 @@ const RovingTabindexRoot = forwardRef(({ valueId, asChild, onBlur, onFocus, ...r
51
55
  if (focusableValue != null) {
52
56
  elements.current.get(focusableValue)?.focus();
53
57
  }
54
- else if (valueId != null) {
55
- elements.current.get(valueId)?.focus();
58
+ else if (activeValue != null) {
59
+ elements.current.get(activeValue)?.focus();
56
60
  }
57
61
  else {
58
62
  orderedItems.at(0)?.element.focus();
@@ -60,4 +64,4 @@ const RovingTabindexRoot = forwardRef(({ valueId, asChild, onBlur, onFocus, ...r
60
64
  }, ref: refs }) }));
61
65
  });
62
66
 
63
- export { RovingTabindexContext, RovingTabindexRoot };
67
+ export { RovingFocusContext, RovingFocusRoot };
@@ -1,12 +1,12 @@
1
1
  'use client';
2
2
  import { useContext } from 'react';
3
- import { RovingTabindexContext } from './RovingTabindexRoot.js';
3
+ import { RovingFocusContext } from './RovingFocusRoot.js';
4
4
 
5
5
  // Logic from: https://www.joshuawootonn.com/react-roving-tabindex
6
6
  // Inspired by: https://github.com/radix-ui/primitives/tree/main/packages/react/roving-focus/src
7
- /** Handles props for `RovingTabIndex` in context with `RovingTabIndexRoot` */
8
- const useRovingTabindex = (value) => {
9
- const { elements, getOrderedItems, setFocusableValue, focusableValue, onShiftTab, } = useContext(RovingTabindexContext);
7
+ /** Handles props for `RovingFocus` in context with `RovingFocusRoot` */
8
+ const useRovingFocus = (value) => {
9
+ const { elements, getOrderedItems, setFocusableValue, focusableValue, onShiftTab, } = useContext(RovingFocusContext);
10
10
  return {
11
11
  getOrderedItems,
12
12
  isFocusable: focusableValue === value,
@@ -31,10 +31,10 @@ const useRovingTabindex = (value) => {
31
31
  props?.onFocus?.(e);
32
32
  setFocusableValue(value);
33
33
  },
34
- ['data-roving-tabindex-item']: true,
34
+ 'data-roving-tabindex-item': true,
35
35
  tabIndex: focusableValue === value ? 0 : -1,
36
36
  }),
37
37
  };
38
38
  };
39
39
 
40
- export { useRovingTabindex };
40
+ export { useRovingFocus };
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { useRef, useEffect } from 'react';
3
3
 
4
- function useDebounce(callback, delay = 50) {
4
+ function useDebounceCallback(callback, delay = 50) {
5
5
  const timeoutRef = useRef(null);
6
6
  useEffect(() => {
7
7
  // Cleanup the previous timeout on re-render
@@ -22,4 +22,4 @@ function useDebounce(callback, delay = 50) {
22
22
  return debouncedCallback;
23
23
  }
24
24
 
25
- export { useDebounce as default };
25
+ export { useDebounceCallback };
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
  import { useLayoutEffect, useEffect } from 'react';
3
3
 
4
+ // https://usehooks-ts.com/react-hook/use-isomorphic-layout-effect
4
5
  const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
5
6
 
6
7
  export { useIsomorphicLayoutEffect };
@@ -0,0 +1,47 @@
1
+ 'use client';
2
+ import { useState } from 'react';
3
+ import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js';
4
+
5
+ // from https://usehooks-ts.com/react-hook/use-media-query
6
+ const IS_SERVER = typeof window === 'undefined';
7
+ function useMediaQuery(query, { defaultValue = false, initializeWithValue = true, } = {}) {
8
+ const getMatches = (query) => {
9
+ if (IS_SERVER) {
10
+ return defaultValue;
11
+ }
12
+ return window.matchMedia(query).matches;
13
+ };
14
+ const [matches, setMatches] = useState(() => {
15
+ if (initializeWithValue) {
16
+ return getMatches(query);
17
+ }
18
+ return defaultValue;
19
+ });
20
+ // Handles the change event of the media query.
21
+ function handleChange() {
22
+ setMatches(getMatches(query));
23
+ }
24
+ useIsomorphicLayoutEffect(() => {
25
+ const matchMedia = window.matchMedia(query);
26
+ // Triggered at the first client-side load and if query changes
27
+ handleChange();
28
+ // Use deprecated `addListener` and `removeListener` to support Safari < 14 (#135)
29
+ if (matchMedia.addListener) {
30
+ matchMedia.addListener(handleChange);
31
+ }
32
+ else {
33
+ matchMedia.addEventListener('change', handleChange);
34
+ }
35
+ return () => {
36
+ if (matchMedia.removeListener) {
37
+ matchMedia.removeListener(handleChange);
38
+ }
39
+ else {
40
+ matchMedia.removeEventListener('change', handleChange);
41
+ }
42
+ };
43
+ }, [query]);
44
+ return matches;
45
+ }
46
+
47
+ export { useMediaQuery };
@@ -0,0 +1,44 @@
1
+ 'use client';
2
+ import { useRef } from 'react';
3
+ import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js';
4
+
5
+ // Inspired by Sam Selikoff
6
+ // https://github.com/samselikoff/2022-02-24-use-synchronized-animation/blob/main/src/App.js
7
+ /**
8
+ * Synchronizes the css animation of multiple elements with the same `animationName`.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * const ref = useSynchronizedAnimation<HTMLDivElement>('spin');
13
+ *
14
+ * <div
15
+ * ref={ref}
16
+ * />
17
+ * ```
18
+ */
19
+ function useSynchronizedAnimation(animationName) {
20
+ const ref = useRef(null);
21
+ useIsomorphicLayoutEffect(() => {
22
+ const animations = document
23
+ .getAnimations()
24
+ .filter((animation) => 'animationName' in animation &&
25
+ animation.animationName === animationName);
26
+ const firstOfType = animations.find((animation) => 'animationName' in animation &&
27
+ animation.animationName === animationName);
28
+ const myAnimation = animations.find((animation) => animation.effect?.target === ref.current);
29
+ if (myAnimation && myAnimation === firstOfType) {
30
+ myAnimation.currentTime = 0;
31
+ }
32
+ if (myAnimation && firstOfType && myAnimation !== firstOfType) {
33
+ myAnimation.currentTime = firstOfType.currentTime;
34
+ }
35
+ return () => {
36
+ if (myAnimation && firstOfType) {
37
+ myAnimation.currentTime = firstOfType.currentTime;
38
+ }
39
+ };
40
+ }, [animationName]);
41
+ return ref;
42
+ }
43
+
44
+ export { useSynchronizedAnimation };
@@ -0,0 +1,9 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export type AccordionContentProps = HTMLAttributes<HTMLDivElement>;
3
+ /**
4
+ * Accordion content component, contains the content of the accordion item.
5
+ * @example
6
+ * <AccordionContent>Content</AccordionContent>
7
+ */
8
+ export declare const AccordionContent: import("react").ForwardRefExoticComponent<AccordionContentProps & import("react").RefAttributes<HTMLDivElement>>;
9
+ //# sourceMappingURL=AccordionContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Accordion/AccordionContent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAQ5C,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kHA0B3B,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { HTMLAttributes, MouseEventHandler, ReactNode } from 'react';
2
+ export type AccordionHeaderProps = {
3
+ /**
4
+ * Heading level. Use this to make sure the heading is correct according to you page heading levels
5
+ * @default 1
6
+ */
7
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
8
+ /** Handle when clicked on header */
9
+ onHeaderClick?: MouseEventHandler<HTMLButtonElement> | undefined;
10
+ /** Heading text */
11
+ children: ReactNode;
12
+ } & HTMLAttributes<HTMLHeadingElement>;
13
+ /**
14
+ * Accordion header component, contains a button to toggle the content.
15
+ * @example
16
+ * <AccordionHeader>Header</AccordionHeader>
17
+ */
18
+ export declare const AccordionHeading: import("react").ForwardRefExoticComponent<{
19
+ /**
20
+ * Heading level. Use this to make sure the heading is correct according to you page heading levels
21
+ * @default 1
22
+ */
23
+ level?: 1 | 2 | 3 | 4 | 5 | 6 | undefined;
24
+ /** Handle when clicked on header */
25
+ onHeaderClick?: MouseEventHandler<HTMLButtonElement> | undefined;
26
+ /** Heading text */
27
+ children: ReactNode;
28
+ } & HTMLAttributes<HTMLHeadingElement> & import("react").RefAttributes<HTMLHeadingElement>>;
29
+ //# sourceMappingURL=AccordionHeading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionHeading.d.ts","sourceRoot":"","sources":["../../../../src/components/Accordion/AccordionHeading.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAO1E,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,oCAAoC;IACpC,aAAa,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IACjE,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;IAhB3B;;;OAGG;;IAEH,oCAAoC;oBACpB,kBAAkB,iBAAiB,CAAC,GAAG,SAAS;IAChE,mBAAmB;cACT,SAAS;2FAoDnB,CAAC"}