@digdir/designsystemet-react 1.0.0-next.33 → 1.0.0-next.34

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 (427) hide show
  1. package/dist/cjs/components/Accordion/Accordion.js +4 -4
  2. package/dist/cjs/components/Accordion/AccordionContent.js +2 -2
  3. package/dist/cjs/components/Accordion/AccordionHeading.js +4 -4
  4. package/dist/cjs/components/Accordion/AccordionItem.js +13 -13
  5. package/dist/cjs/components/Alert/Alert.js +4 -4
  6. package/dist/cjs/components/Avatar/Avatar.js +6 -6
  7. package/dist/cjs/components/Badge/Badge.js +4 -10
  8. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +11 -0
  9. package/dist/cjs/components/Breadcrumbs/BreadcrumbsItem.js +4 -4
  10. package/dist/cjs/components/Breadcrumbs/BreadcrumbsLink.js +4 -4
  11. package/dist/cjs/components/Breadcrumbs/BreadcrumbsList.js +8 -10
  12. package/dist/cjs/components/Breadcrumbs/index.js +11 -20
  13. package/dist/cjs/components/Button/Button.js +7 -7
  14. package/dist/cjs/components/Card/Card.js +6 -6
  15. package/dist/cjs/components/Card/CardContent.js +6 -6
  16. package/dist/cjs/components/Card/CardFooter.js +6 -6
  17. package/dist/cjs/components/Card/CardHeader.js +6 -6
  18. package/dist/cjs/components/Card/CardMedia.js +6 -6
  19. package/dist/cjs/components/Chip/Group/Group.js +5 -5
  20. package/dist/cjs/components/Chip/Removable/Removable.js +5 -5
  21. package/dist/cjs/components/Chip/Toggle/Toggle.js +5 -5
  22. package/dist/cjs/components/Divider/Divider.js +4 -4
  23. package/dist/cjs/components/Dropdown/Dropdown.js +23 -0
  24. package/dist/cjs/components/Dropdown/DropdownContext.js +26 -0
  25. package/dist/cjs/components/Dropdown/DropdownHeading.js +15 -0
  26. package/dist/cjs/components/Dropdown/DropdownItem.js +14 -0
  27. package/dist/cjs/components/Dropdown/DropdownList.js +12 -0
  28. package/dist/cjs/components/Dropdown/DropdownTrigger.js +13 -0
  29. package/dist/cjs/components/Dropdown/index.js +41 -0
  30. package/dist/cjs/components/ErrorSummary/ErrorSummary.js +20 -0
  31. package/dist/cjs/components/ErrorSummary/ErrorSummaryHeading.js +6 -7
  32. package/dist/cjs/components/ErrorSummary/ErrorSummaryItem.js +2 -2
  33. package/dist/cjs/components/ErrorSummary/ErrorSummaryList.js +4 -4
  34. package/dist/cjs/components/ErrorSummary/index.js +8 -10
  35. package/dist/cjs/components/HelpText/HelpText.js +4 -10
  36. package/dist/cjs/components/Link/Link.js +6 -6
  37. package/dist/cjs/components/List/ListItem.js +4 -4
  38. package/dist/cjs/components/List/Lists.js +7 -7
  39. package/dist/cjs/components/Modal/ModaContent.js +6 -6
  40. package/dist/cjs/components/Modal/ModalDialog.js +14 -14
  41. package/dist/cjs/components/Modal/ModalFooter.js +6 -6
  42. package/dist/cjs/components/Modal/ModalHeader.js +8 -9
  43. package/dist/cjs/components/Modal/ModalRoot.js +6 -6
  44. package/dist/cjs/components/Modal/ModalTrigger.js +6 -6
  45. package/dist/cjs/components/Modal/useModalState.js +3 -3
  46. package/dist/cjs/components/Modal/useScrollLock.js +2 -2
  47. package/dist/cjs/components/Pagination/Pagination.js +2 -2
  48. package/dist/cjs/components/Pagination/PaginationButton.js +4 -4
  49. package/dist/cjs/components/Pagination/PaginationEllipsis.js +5 -5
  50. package/dist/cjs/components/Pagination/PaginationItem.js +7 -7
  51. package/dist/cjs/components/Pagination/PaginationList.js +7 -7
  52. package/dist/cjs/components/Pagination/PaginationNextPrev.js +3 -3
  53. package/dist/cjs/components/Pagination/PaginationRoot.js +5 -5
  54. package/dist/cjs/components/Pagination/usePagination.js +3 -3
  55. package/dist/cjs/components/Popover/Popover.js +20 -18
  56. package/dist/cjs/components/Popover/PopoverContext.js +4 -4
  57. package/dist/cjs/components/Popover/PopoverTrigger.js +6 -6
  58. package/dist/cjs/components/SkipLink/SkipLink.js +2 -2
  59. package/dist/cjs/components/Table/Table.js +4 -4
  60. package/dist/cjs/components/Table/TableBody.js +2 -2
  61. package/dist/cjs/components/Table/TableCell.js +2 -2
  62. package/dist/cjs/components/Table/TableHead.js +2 -2
  63. package/dist/cjs/components/Table/TableHeaderCell.js +2 -2
  64. package/dist/cjs/components/Table/TableRow.js +2 -2
  65. package/dist/cjs/components/Tabs/Tabs.js +45 -0
  66. package/dist/cjs/components/Tabs/TabsList.js +25 -0
  67. package/dist/cjs/components/Tabs/TabsPanel.js +23 -0
  68. package/dist/cjs/components/Tabs/TabsTab.js +22 -0
  69. package/dist/cjs/components/Tabs/index.js +18 -20
  70. package/dist/cjs/components/Tag/Tag.js +4 -4
  71. package/dist/cjs/components/ToggleGroup/ToggleGroup.js +41 -0
  72. package/dist/cjs/components/ToggleGroup/{ToggleGroupItem/ToggleGroupItem.js → ToggleGroupItem.js} +5 -6
  73. package/dist/cjs/components/ToggleGroup/index.js +5 -8
  74. package/dist/cjs/components/ToggleGroup/{ToggleGroupItem/useToggleGroupitem.js → useToggleGroupitem.js} +5 -5
  75. package/dist/cjs/components/Tooltip/Tooltip.js +26 -28
  76. package/dist/cjs/components/Typography/Heading/Heading.js +6 -6
  77. package/dist/cjs/components/Typography/Ingress/Ingress.js +6 -6
  78. package/dist/cjs/components/Typography/Label/Label.js +6 -6
  79. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +6 -6
  80. package/dist/cjs/components/Typography/ValidationMessage/ValidationMessage.js +15 -0
  81. package/dist/cjs/components/form/CharacterCounter.js +2 -2
  82. package/dist/cjs/components/form/Checkbox/Checkbox.js +6 -6
  83. package/dist/cjs/components/form/Checkbox/CheckboxGroup.js +6 -6
  84. package/dist/cjs/components/form/Checkbox/useCheckbox.js +2 -2
  85. package/dist/cjs/components/form/Combobox/Combobox.js +17 -17
  86. package/dist/cjs/components/form/Combobox/ComboboxContext.js +2 -2
  87. package/dist/cjs/components/form/Combobox/ComboboxIdContext.js +6 -6
  88. package/dist/cjs/components/form/Combobox/Custom.js +12 -12
  89. package/dist/cjs/components/form/Combobox/Empty.js +5 -5
  90. package/dist/cjs/components/form/Combobox/Option/Description.js +4 -4
  91. package/dist/cjs/components/form/Combobox/Option/Option.js +11 -7
  92. package/dist/cjs/components/form/Combobox/Option/SelectedIcon.js +2 -2
  93. package/dist/cjs/components/form/Combobox/Option/useComboboxOption.js +8 -8
  94. package/dist/cjs/components/form/Combobox/internal/ComboboxChips.js +2 -2
  95. package/dist/cjs/components/form/Combobox/internal/ComboboxClearButton.js +5 -5
  96. package/dist/cjs/components/form/Combobox/internal/ComboboxError.js +2 -2
  97. package/dist/cjs/components/form/Combobox/internal/ComboboxInput.js +7 -7
  98. package/dist/cjs/components/form/Combobox/internal/ComboboxLabel.js +2 -2
  99. package/dist/cjs/components/form/Combobox/useCombobox.js +11 -10
  100. package/dist/cjs/components/form/Combobox/useFloatingCombobox.js +14 -16
  101. package/dist/cjs/components/form/Combobox/utilities.js +2 -7
  102. package/dist/cjs/components/form/Fieldset/Fieldset.js +10 -12
  103. package/dist/cjs/components/form/Fieldset/FieldsetContext.js +2 -2
  104. package/dist/cjs/components/form/Radio/Radio.js +4 -4
  105. package/dist/cjs/components/form/Radio/RadioGroup.js +6 -6
  106. package/dist/cjs/components/form/Radio/useRadio.js +2 -2
  107. package/dist/cjs/components/form/Search/Search.js +11 -11
  108. package/dist/cjs/components/form/Search/useSearch.js +2 -2
  109. package/dist/cjs/components/form/Select/Select.js +5 -5
  110. package/dist/cjs/components/form/Select/SelectOptgroup.js +4 -4
  111. package/dist/cjs/components/form/Select/SelectOption.js +4 -4
  112. package/dist/cjs/components/form/Select/useSelect.js +2 -2
  113. package/dist/cjs/components/form/Switch/Switch.js +4 -4
  114. package/dist/cjs/components/form/Switch/useSwitch.js +2 -2
  115. package/dist/cjs/components/form/Textarea/Textarea.js +8 -8
  116. package/dist/cjs/components/form/Textarea/useTextarea.js +2 -2
  117. package/dist/cjs/components/form/Textfield/Textfield.js +9 -9
  118. package/dist/cjs/components/form/Textfield/useTextfield.js +2 -2
  119. package/dist/cjs/components/form/useFormField.js +5 -5
  120. package/dist/cjs/components/loaders/Skeleton/Skeleton.js +18 -0
  121. package/dist/cjs/components/loaders/Spinner/Spinner.js +2 -2
  122. package/dist/cjs/index.js +53 -69
  123. package/dist/cjs/utilities/RovingFocus/RovingFocusItem.js +6 -6
  124. package/dist/cjs/utilities/RovingFocus/RovingFocusRoot.js +12 -12
  125. package/dist/cjs/utilities/RovingFocus/useRovingFocus.js +2 -2
  126. package/dist/cjs/utilities/hooks/useDebounceCallback/useDebounceCallback.js +3 -3
  127. package/dist/cjs/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +2 -2
  128. package/dist/cjs/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.js +2 -2
  129. package/dist/esm/components/Accordion/Accordion.js +2 -2
  130. package/dist/esm/components/Accordion/AccordionHeading.js +2 -2
  131. package/dist/esm/components/Accordion/AccordionItem.js +4 -4
  132. package/dist/esm/components/Alert/Alert.js +2 -2
  133. package/dist/esm/components/Avatar/Avatar.js +3 -3
  134. package/dist/esm/components/Badge/Badge.js +4 -10
  135. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +9 -0
  136. package/dist/esm/components/Breadcrumbs/BreadcrumbsItem.js +3 -3
  137. package/dist/esm/components/Breadcrumbs/BreadcrumbsLink.js +3 -3
  138. package/dist/esm/components/Breadcrumbs/BreadcrumbsList.js +4 -6
  139. package/dist/esm/components/Breadcrumbs/index.js +12 -19
  140. package/dist/esm/components/Button/Button.js +4 -4
  141. package/dist/esm/components/Card/Card.js +3 -3
  142. package/dist/esm/components/Card/CardContent.js +3 -3
  143. package/dist/esm/components/Card/CardFooter.js +3 -3
  144. package/dist/esm/components/Card/CardHeader.js +3 -3
  145. package/dist/esm/components/Card/CardMedia.js +3 -3
  146. package/dist/esm/components/Chip/Group/Group.js +2 -2
  147. package/dist/esm/components/Chip/Removable/Removable.js +2 -2
  148. package/dist/esm/components/Chip/Toggle/Toggle.js +2 -2
  149. package/dist/esm/components/Divider/Divider.js +2 -2
  150. package/dist/esm/components/Dropdown/Dropdown.js +20 -0
  151. package/dist/esm/components/Dropdown/DropdownContext.js +24 -0
  152. package/dist/esm/components/Dropdown/DropdownHeading.js +13 -0
  153. package/dist/esm/components/Dropdown/DropdownItem.js +12 -0
  154. package/dist/esm/components/Dropdown/DropdownList.js +10 -0
  155. package/dist/esm/components/Dropdown/DropdownTrigger.js +11 -0
  156. package/dist/esm/components/Dropdown/index.js +34 -0
  157. package/dist/esm/components/ErrorSummary/ErrorSummary.js +17 -0
  158. package/dist/esm/components/ErrorSummary/ErrorSummaryHeading.js +2 -3
  159. package/dist/esm/components/ErrorSummary/ErrorSummaryList.js +1 -1
  160. package/dist/esm/components/ErrorSummary/index.js +9 -10
  161. package/dist/esm/components/HelpText/HelpText.js +5 -11
  162. package/dist/esm/components/Link/Link.js +3 -3
  163. package/dist/esm/components/List/ListItem.js +1 -1
  164. package/dist/esm/components/List/Lists.js +3 -3
  165. package/dist/esm/components/Modal/ModaContent.js +3 -3
  166. package/dist/esm/components/Modal/ModalDialog.js +4 -4
  167. package/dist/esm/components/Modal/ModalFooter.js +3 -3
  168. package/dist/esm/components/Modal/ModalHeader.js +4 -5
  169. package/dist/esm/components/Modal/ModalTrigger.js +2 -2
  170. package/dist/esm/components/Pagination/PaginationButton.js +1 -1
  171. package/dist/esm/components/Pagination/PaginationEllipsis.js +2 -2
  172. package/dist/esm/components/Pagination/PaginationItem.js +3 -3
  173. package/dist/esm/components/Pagination/PaginationList.js +3 -3
  174. package/dist/esm/components/Pagination/PaginationRoot.js +1 -1
  175. package/dist/esm/components/Popover/Popover.js +7 -5
  176. package/dist/esm/components/Popover/PopoverTrigger.js +2 -2
  177. package/dist/esm/components/SkipLink/SkipLink.js +2 -2
  178. package/dist/esm/components/Table/Table.js +2 -2
  179. package/dist/esm/components/Tabs/{TabsRoot.js → Tabs.js} +11 -12
  180. package/dist/esm/components/Tabs/{TabList.js → TabsList.js} +6 -7
  181. package/dist/esm/components/Tabs/TabsPanel.js +21 -0
  182. package/dist/esm/components/Tabs/TabsTab.js +20 -0
  183. package/dist/esm/components/Tabs/index.js +16 -17
  184. package/dist/esm/components/Tag/Tag.js +2 -2
  185. package/dist/esm/components/ToggleGroup/ToggleGroup.js +38 -0
  186. package/dist/esm/components/ToggleGroup/ToggleGroupItem.js +18 -0
  187. package/dist/esm/components/ToggleGroup/index.js +6 -8
  188. package/dist/esm/components/ToggleGroup/{ToggleGroupItem/useToggleGroupitem.js → useToggleGroupitem.js} +1 -1
  189. package/dist/esm/components/Tooltip/Tooltip.js +3 -5
  190. package/dist/esm/components/Typography/Heading/Heading.js +3 -3
  191. package/dist/esm/components/Typography/Ingress/Ingress.js +3 -3
  192. package/dist/esm/components/Typography/Label/Label.js +3 -3
  193. package/dist/esm/components/Typography/Paragraph/Paragraph.js +3 -3
  194. package/dist/esm/components/Typography/ValidationMessage/ValidationMessage.js +13 -0
  195. package/dist/esm/components/form/CharacterCounter.js +2 -2
  196. package/dist/esm/components/form/Checkbox/Checkbox.js +3 -3
  197. package/dist/esm/components/form/Checkbox/CheckboxGroup.js +2 -2
  198. package/dist/esm/components/form/Combobox/Combobox.js +5 -5
  199. package/dist/esm/components/form/Combobox/Custom.js +4 -4
  200. package/dist/esm/components/form/Combobox/Empty.js +2 -2
  201. package/dist/esm/components/form/Combobox/Option/Description.js +2 -2
  202. package/dist/esm/components/form/Combobox/Option/Option.js +8 -5
  203. package/dist/esm/components/form/Combobox/Option/SelectedIcon.js +2 -2
  204. package/dist/esm/components/form/Combobox/Option/useComboboxOption.js +2 -2
  205. package/dist/esm/components/form/Combobox/internal/ComboboxClearButton.js +2 -2
  206. package/dist/esm/components/form/Combobox/internal/ComboboxError.js +2 -2
  207. package/dist/esm/components/form/Combobox/internal/ComboboxInput.js +3 -3
  208. package/dist/esm/components/form/Combobox/internal/ComboboxLabel.js +2 -2
  209. package/dist/esm/components/form/Combobox/useCombobox.js +2 -1
  210. package/dist/esm/components/form/Combobox/useFloatingCombobox.js +1 -3
  211. package/dist/esm/components/form/Combobox/utilities.js +1 -5
  212. package/dist/esm/components/form/Fieldset/Fieldset.js +8 -10
  213. package/dist/esm/components/form/Radio/Radio.js +2 -2
  214. package/dist/esm/components/form/Radio/RadioGroup.js +2 -2
  215. package/dist/esm/components/form/Search/Search.js +5 -5
  216. package/dist/esm/components/form/Select/Select.js +3 -3
  217. package/dist/esm/components/form/Select/SelectOptgroup.js +1 -1
  218. package/dist/esm/components/form/Select/SelectOption.js +1 -1
  219. package/dist/esm/components/form/Switch/Switch.js +2 -2
  220. package/dist/esm/components/form/Textarea/Textarea.js +5 -5
  221. package/dist/esm/components/form/Textfield/Textfield.js +5 -5
  222. package/dist/esm/components/form/useFormField.js +2 -2
  223. package/dist/esm/components/loaders/Skeleton/Skeleton.js +16 -0
  224. package/dist/esm/components/loaders/Spinner/Spinner.js +2 -2
  225. package/dist/esm/index.js +12 -20
  226. package/dist/esm/utilities/RovingFocus/RovingFocusItem.js +2 -2
  227. package/dist/esm/utilities/RovingFocus/RovingFocusRoot.js +2 -2
  228. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  229. package/dist/types/components/Breadcrumbs/{BreadcrumbsNav.d.ts → Breadcrumbs.d.ts} +13 -3
  230. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  231. package/dist/types/components/Breadcrumbs/BreadcrumbsItem.d.ts.map +1 -1
  232. package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts.map +1 -1
  233. package/dist/types/components/Breadcrumbs/BreadcrumbsList.d.ts.map +1 -1
  234. package/dist/types/components/Breadcrumbs/index.d.ts +17 -25
  235. package/dist/types/components/Breadcrumbs/index.d.ts.map +1 -1
  236. package/dist/types/components/Button/Button.d.ts +12 -2
  237. package/dist/types/components/Button/Button.d.ts.map +1 -1
  238. package/dist/types/components/Dropdown/Dropdown.d.ts +23 -0
  239. package/dist/types/components/Dropdown/Dropdown.d.ts.map +1 -0
  240. package/dist/types/components/Dropdown/DropdownContext.d.ts +22 -0
  241. package/dist/types/components/Dropdown/DropdownContext.d.ts.map +1 -0
  242. package/dist/types/components/Dropdown/DropdownHeading.d.ts +4 -0
  243. package/dist/types/components/Dropdown/DropdownHeading.d.ts.map +1 -0
  244. package/dist/types/components/Dropdown/DropdownItem.d.ts +4 -0
  245. package/dist/types/components/Dropdown/DropdownItem.d.ts.map +1 -0
  246. package/dist/types/components/Dropdown/DropdownList.d.ts +4 -0
  247. package/dist/types/components/Dropdown/DropdownList.d.ts.map +1 -0
  248. package/dist/types/components/Dropdown/DropdownTrigger.d.ts +17 -0
  249. package/dist/types/components/Dropdown/DropdownTrigger.d.ts.map +1 -0
  250. package/dist/types/components/Dropdown/index.d.ts +49 -0
  251. package/dist/types/components/Dropdown/index.d.ts.map +1 -0
  252. package/dist/types/components/ErrorSummary/{ErrorSummaryRoot.d.ts → ErrorSummary.d.ts} +2 -2
  253. package/dist/types/components/ErrorSummary/ErrorSummary.d.ts.map +1 -0
  254. package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts.map +1 -1
  255. package/dist/types/components/ErrorSummary/index.d.ts +19 -12
  256. package/dist/types/components/ErrorSummary/index.d.ts.map +1 -1
  257. package/dist/types/components/HelpText/HelpText.d.ts +6 -6
  258. package/dist/types/components/HelpText/HelpText.d.ts.map +1 -1
  259. package/dist/types/components/Modal/ModalHeader.d.ts.map +1 -1
  260. package/dist/types/components/Modal/ModalTrigger.d.ts +3 -2
  261. package/dist/types/components/Modal/ModalTrigger.d.ts.map +1 -1
  262. package/dist/types/components/Popover/Popover.d.ts +2 -0
  263. package/dist/types/components/Popover/Popover.d.ts.map +1 -1
  264. package/dist/types/components/Popover/PopoverTrigger.d.ts +3 -2
  265. package/dist/types/components/Popover/PopoverTrigger.d.ts.map +1 -1
  266. package/dist/types/components/Tabs/{TabsRoot.d.ts → Tabs.d.ts} +9 -9
  267. package/dist/types/components/Tabs/Tabs.d.ts.map +1 -0
  268. package/dist/types/components/Tabs/{TabList.d.ts → TabsList.d.ts} +3 -2
  269. package/dist/types/components/Tabs/TabsList.d.ts.map +1 -0
  270. package/dist/types/components/Tabs/{TabContent.d.ts → TabsPanel.d.ts} +6 -6
  271. package/dist/types/components/Tabs/TabsPanel.d.ts.map +1 -0
  272. package/dist/types/components/Tabs/{Tab.d.ts → TabsTab.d.ts} +3 -3
  273. package/dist/types/components/Tabs/TabsTab.d.ts.map +1 -0
  274. package/dist/types/components/Tabs/index.d.ts +27 -20
  275. package/dist/types/components/Tabs/index.d.ts.map +1 -1
  276. package/dist/types/components/ToggleGroup/{ToggleGroupRoot.d.ts → ToggleGroup.d.ts} +4 -4
  277. package/dist/types/components/ToggleGroup/ToggleGroup.d.ts.map +1 -0
  278. package/dist/types/components/ToggleGroup/{ToggleGroupItem/ToggleGroupItem.d.ts → ToggleGroupItem.d.ts} +2 -2
  279. package/dist/types/components/ToggleGroup/ToggleGroupItem.d.ts.map +1 -0
  280. package/dist/types/components/ToggleGroup/index.d.ts +8 -9
  281. package/dist/types/components/ToggleGroup/index.d.ts.map +1 -1
  282. package/dist/types/components/ToggleGroup/{ToggleGroupItem/useToggleGroupitem.d.ts → useToggleGroupitem.d.ts} +2 -2
  283. package/dist/types/components/ToggleGroup/useToggleGroupitem.d.ts.map +1 -0
  284. package/dist/types/components/Typography/{ErrorMessage/ErrorMessage.d.ts → ValidationMessage/ValidationMessage.d.ts} +4 -4
  285. package/dist/types/components/Typography/ValidationMessage/ValidationMessage.d.ts.map +1 -0
  286. package/dist/types/components/Typography/ValidationMessage/index.d.ts +2 -0
  287. package/dist/types/components/Typography/ValidationMessage/index.d.ts.map +1 -0
  288. package/dist/types/components/Typography/index.d.ts +1 -1
  289. package/dist/types/components/Typography/index.d.ts.map +1 -1
  290. package/dist/types/components/form/Combobox/Option/Option.d.ts +2 -1
  291. package/dist/types/components/form/Combobox/Option/Option.d.ts.map +1 -1
  292. package/dist/types/components/form/Combobox/useCombobox.d.ts +1 -1
  293. package/dist/types/components/form/Combobox/useCombobox.d.ts.map +1 -1
  294. package/dist/types/components/form/Combobox/utilities.d.ts +0 -2
  295. package/dist/types/components/form/Combobox/utilities.d.ts.map +1 -1
  296. package/dist/types/components/form/Fieldset/Fieldset.d.ts +1 -1
  297. package/dist/types/components/form/Fieldset/Fieldset.d.ts.map +1 -1
  298. package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
  299. package/dist/types/components/form/Textfield/Textfield.d.ts.map +1 -1
  300. package/dist/types/components/index.d.ts +1 -1
  301. package/dist/types/components/index.d.ts.map +1 -1
  302. package/dist/types/components/loaders/Skeleton/Skeleton.d.ts +34 -0
  303. package/dist/types/components/loaders/Skeleton/Skeleton.d.ts.map +1 -0
  304. package/dist/types/components/loaders/Skeleton/index.d.ts +7 -19
  305. package/dist/types/components/loaders/Skeleton/index.d.ts.map +1 -1
  306. package/package.json +3 -3
  307. package/dist/cjs/components/Breadcrumbs/BreadcrumbsNav.js +0 -11
  308. package/dist/cjs/components/Breadcrumbs/BreadcrumbsRoot.js +0 -11
  309. package/dist/cjs/components/DropdownMenu/DropdownMenuContent.js +0 -55
  310. package/dist/cjs/components/DropdownMenu/DropdownMenuGroup.js +0 -16
  311. package/dist/cjs/components/DropdownMenu/DropdownMenuItem.js +0 -15
  312. package/dist/cjs/components/DropdownMenu/DropdownMenuRoot.js +0 -49
  313. package/dist/cjs/components/DropdownMenu/DropdownMenuTrigger.js +0 -22
  314. package/dist/cjs/components/DropdownMenu/index.js +0 -38
  315. package/dist/cjs/components/ErrorSummary/ErrorSummaryRoot.js +0 -21
  316. package/dist/cjs/components/HelpText/HelpTextIcon.js +0 -14
  317. package/dist/cjs/components/Tabs/Tab.js +0 -23
  318. package/dist/cjs/components/Tabs/TabContent.js +0 -24
  319. package/dist/cjs/components/Tabs/TabList.js +0 -26
  320. package/dist/cjs/components/Tabs/TabsRoot.js +0 -46
  321. package/dist/cjs/components/Tabs/useTab.js +0 -24
  322. package/dist/cjs/components/ToggleGroup/ToggleGroupRoot.js +0 -42
  323. package/dist/cjs/components/Typography/ErrorMessage/ErrorMessage.js +0 -16
  324. package/dist/cjs/components/form/Fieldset/useFieldset.js +0 -19
  325. package/dist/cjs/components/loaders/Skeleton/Circle/Circle.js +0 -15
  326. package/dist/cjs/components/loaders/Skeleton/Rectangle/Rectangle.js +0 -15
  327. package/dist/cjs/components/loaders/Skeleton/Text/Text.js +0 -15
  328. package/dist/cjs/components/loaders/Skeleton/index.js +0 -20
  329. package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js +0 -674
  330. package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -661
  331. package/dist/cjs/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -164
  332. package/dist/cjs/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -22
  333. package/dist/cjs/node_modules/@floating-ui/react/dist/floating-ui.react.js +0 -3302
  334. package/dist/cjs/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +0 -165
  335. package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -68
  336. package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -11
  337. package/dist/cjs/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +0 -353
  338. package/dist/cjs/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -677
  339. package/dist/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -159
  340. package/dist/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -158
  341. package/dist/cjs/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -18
  342. package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.js +0 -104
  343. package/dist/cjs/node_modules/@tanstack/react-virtual/dist/esm/index.js +0 -70
  344. package/dist/cjs/node_modules/@tanstack/virtual-core/dist/esm/index.js +0 -676
  345. package/dist/cjs/node_modules/@tanstack/virtual-core/dist/esm/utils.js +0 -66
  346. package/dist/cjs/node_modules/@u-elements/u-details/dist/u-details.js +0 -117
  347. package/dist/cjs/node_modules/clsx/dist/lite.js +0 -9
  348. package/dist/cjs/node_modules/tabbable/dist/index.esm.js +0 -550
  349. package/dist/esm/components/Breadcrumbs/BreadcrumbsNav.js +0 -9
  350. package/dist/esm/components/Breadcrumbs/BreadcrumbsRoot.js +0 -9
  351. package/dist/esm/components/DropdownMenu/DropdownMenuContent.js +0 -53
  352. package/dist/esm/components/DropdownMenu/DropdownMenuGroup.js +0 -14
  353. package/dist/esm/components/DropdownMenu/DropdownMenuItem.js +0 -13
  354. package/dist/esm/components/DropdownMenu/DropdownMenuRoot.js +0 -46
  355. package/dist/esm/components/DropdownMenu/DropdownMenuTrigger.js +0 -20
  356. package/dist/esm/components/DropdownMenu/index.js +0 -31
  357. package/dist/esm/components/ErrorSummary/ErrorSummaryRoot.js +0 -18
  358. package/dist/esm/components/HelpText/HelpTextIcon.js +0 -12
  359. package/dist/esm/components/Tabs/Tab.js +0 -21
  360. package/dist/esm/components/Tabs/TabContent.js +0 -22
  361. package/dist/esm/components/Tabs/useTab.js +0 -22
  362. package/dist/esm/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.js +0 -19
  363. package/dist/esm/components/ToggleGroup/ToggleGroupRoot.js +0 -39
  364. package/dist/esm/components/Typography/ErrorMessage/ErrorMessage.js +0 -14
  365. package/dist/esm/components/form/Fieldset/useFieldset.js +0 -17
  366. package/dist/esm/components/loaders/Skeleton/Circle/Circle.js +0 -13
  367. package/dist/esm/components/loaders/Skeleton/Rectangle/Rectangle.js +0 -13
  368. package/dist/esm/components/loaders/Skeleton/Text/Text.js +0 -13
  369. package/dist/esm/components/loaders/Skeleton/index.js +0 -15
  370. package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.js +0 -665
  371. package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -653
  372. package/dist/esm/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -143
  373. package/dist/esm/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -16
  374. package/dist/esm/node_modules/@floating-ui/react/dist/floating-ui.react.js +0 -3258
  375. package/dist/esm/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +0 -144
  376. package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -57
  377. package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -9
  378. package/dist/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +0 -325
  379. package/dist/esm/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -667
  380. package/dist/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -139
  381. package/dist/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -136
  382. package/dist/esm/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -16
  383. package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.js +0 -82
  384. package/dist/esm/node_modules/@tanstack/react-virtual/dist/esm/index.js +0 -43
  385. package/dist/esm/node_modules/@tanstack/virtual-core/dist/esm/index.js +0 -664
  386. package/dist/esm/node_modules/@tanstack/virtual-core/dist/esm/utils.js +0 -61
  387. package/dist/esm/node_modules/@u-elements/u-details/dist/u-details.js +0 -114
  388. package/dist/esm/node_modules/clsx/dist/lite.js +0 -4
  389. package/dist/esm/node_modules/tabbable/dist/index.esm.js +0 -546
  390. package/dist/types/components/Breadcrumbs/BreadcrumbsNav.d.ts.map +0 -1
  391. package/dist/types/components/Breadcrumbs/BreadcrumbsRoot.d.ts +0 -16
  392. package/dist/types/components/Breadcrumbs/BreadcrumbsRoot.d.ts.map +0 -1
  393. package/dist/types/components/DropdownMenu/DropdownMenuContent.d.ts +0 -8
  394. package/dist/types/components/DropdownMenu/DropdownMenuContent.d.ts.map +0 -1
  395. package/dist/types/components/DropdownMenu/DropdownMenuGroup.d.ts +0 -14
  396. package/dist/types/components/DropdownMenu/DropdownMenuGroup.d.ts.map +0 -1
  397. package/dist/types/components/DropdownMenu/DropdownMenuItem.d.ts +0 -4
  398. package/dist/types/components/DropdownMenu/DropdownMenuItem.d.ts.map +0 -1
  399. package/dist/types/components/DropdownMenu/DropdownMenuRoot.d.ts +0 -51
  400. package/dist/types/components/DropdownMenu/DropdownMenuRoot.d.ts.map +0 -1
  401. package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts +0 -14
  402. package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts.map +0 -1
  403. package/dist/types/components/DropdownMenu/index.d.ts +0 -30
  404. package/dist/types/components/DropdownMenu/index.d.ts.map +0 -1
  405. package/dist/types/components/ErrorSummary/ErrorSummaryRoot.d.ts.map +0 -1
  406. package/dist/types/components/HelpText/HelpTextIcon.d.ts +0 -10
  407. package/dist/types/components/HelpText/HelpTextIcon.d.ts.map +0 -1
  408. package/dist/types/components/Tabs/Tab.d.ts.map +0 -1
  409. package/dist/types/components/Tabs/TabContent.d.ts.map +0 -1
  410. package/dist/types/components/Tabs/TabList.d.ts.map +0 -1
  411. package/dist/types/components/Tabs/TabsRoot.d.ts.map +0 -1
  412. package/dist/types/components/Tabs/useTab.d.ts +0 -10
  413. package/dist/types/components/Tabs/useTab.d.ts.map +0 -1
  414. package/dist/types/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.d.ts.map +0 -1
  415. package/dist/types/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.d.ts.map +0 -1
  416. package/dist/types/components/ToggleGroup/ToggleGroupRoot.d.ts.map +0 -1
  417. package/dist/types/components/Typography/ErrorMessage/ErrorMessage.d.ts.map +0 -1
  418. package/dist/types/components/Typography/ErrorMessage/index.d.ts +0 -2
  419. package/dist/types/components/Typography/ErrorMessage/index.d.ts.map +0 -1
  420. package/dist/types/components/form/Fieldset/useFieldset.d.ts +0 -17
  421. package/dist/types/components/form/Fieldset/useFieldset.d.ts.map +0 -1
  422. package/dist/types/components/loaders/Skeleton/Circle/Circle.d.ts +0 -13
  423. package/dist/types/components/loaders/Skeleton/Circle/Circle.d.ts.map +0 -1
  424. package/dist/types/components/loaders/Skeleton/Rectangle/Rectangle.d.ts +0 -13
  425. package/dist/types/components/loaders/Skeleton/Rectangle/Rectangle.d.ts.map +0 -1
  426. package/dist/types/components/loaders/Skeleton/Text/Text.d.ts +0 -13
  427. package/dist/types/components/loaders/Skeleton/Text/Text.d.ts.map +0 -1
@@ -1,665 +0,0 @@
1
- 'use client';
2
- import { evaluate, getSideAxis, getSide, clamp, getPaddingObject, rectToClientRect, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, getAlignmentSides, getAlignment, getOppositeAxis, getAlignmentAxis, min, max, getAxisLength } from '../../utils/dist/floating-ui.utils.js';
3
-
4
- function computeCoordsFromPlacement(_ref, placement, rtl) {
5
- let {
6
- reference,
7
- floating
8
- } = _ref;
9
- const sideAxis = getSideAxis(placement);
10
- const alignmentAxis = getAlignmentAxis(placement);
11
- const alignLength = getAxisLength(alignmentAxis);
12
- const side = getSide(placement);
13
- const isVertical = sideAxis === 'y';
14
- const commonX = reference.x + reference.width / 2 - floating.width / 2;
15
- const commonY = reference.y + reference.height / 2 - floating.height / 2;
16
- const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
17
- let coords;
18
- switch (side) {
19
- case 'top':
20
- coords = {
21
- x: commonX,
22
- y: reference.y - floating.height
23
- };
24
- break;
25
- case 'bottom':
26
- coords = {
27
- x: commonX,
28
- y: reference.y + reference.height
29
- };
30
- break;
31
- case 'right':
32
- coords = {
33
- x: reference.x + reference.width,
34
- y: commonY
35
- };
36
- break;
37
- case 'left':
38
- coords = {
39
- x: reference.x - floating.width,
40
- y: commonY
41
- };
42
- break;
43
- default:
44
- coords = {
45
- x: reference.x,
46
- y: reference.y
47
- };
48
- }
49
- switch (getAlignment(placement)) {
50
- case 'start':
51
- coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
52
- break;
53
- case 'end':
54
- coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
55
- break;
56
- }
57
- return coords;
58
- }
59
-
60
- /**
61
- * Computes the `x` and `y` coordinates that will place the floating element
62
- * next to a given reference element.
63
- *
64
- * This export does not have any `platform` interface logic. You will need to
65
- * write one for the platform you are using Floating UI with.
66
- */
67
- const computePosition = async (reference, floating, config) => {
68
- const {
69
- placement = 'bottom',
70
- strategy = 'absolute',
71
- middleware = [],
72
- platform
73
- } = config;
74
- const validMiddleware = middleware.filter(Boolean);
75
- const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
76
- let rects = await platform.getElementRects({
77
- reference,
78
- floating,
79
- strategy
80
- });
81
- let {
82
- x,
83
- y
84
- } = computeCoordsFromPlacement(rects, placement, rtl);
85
- let statefulPlacement = placement;
86
- let middlewareData = {};
87
- let resetCount = 0;
88
- for (let i = 0; i < validMiddleware.length; i++) {
89
- const {
90
- name,
91
- fn
92
- } = validMiddleware[i];
93
- const {
94
- x: nextX,
95
- y: nextY,
96
- data,
97
- reset
98
- } = await fn({
99
- x,
100
- y,
101
- initialPlacement: placement,
102
- placement: statefulPlacement,
103
- strategy,
104
- middlewareData,
105
- rects,
106
- platform,
107
- elements: {
108
- reference,
109
- floating
110
- }
111
- });
112
- x = nextX != null ? nextX : x;
113
- y = nextY != null ? nextY : y;
114
- middlewareData = {
115
- ...middlewareData,
116
- [name]: {
117
- ...middlewareData[name],
118
- ...data
119
- }
120
- };
121
- if (reset && resetCount <= 50) {
122
- resetCount++;
123
- if (typeof reset === 'object') {
124
- if (reset.placement) {
125
- statefulPlacement = reset.placement;
126
- }
127
- if (reset.rects) {
128
- rects = reset.rects === true ? await platform.getElementRects({
129
- reference,
130
- floating,
131
- strategy
132
- }) : reset.rects;
133
- }
134
- ({
135
- x,
136
- y
137
- } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
138
- }
139
- i = -1;
140
- }
141
- }
142
- return {
143
- x,
144
- y,
145
- placement: statefulPlacement,
146
- strategy,
147
- middlewareData
148
- };
149
- };
150
-
151
- /**
152
- * Resolves with an object of overflow side offsets that determine how much the
153
- * element is overflowing a given clipping boundary on each side.
154
- * - positive = overflowing the boundary by that number of pixels
155
- * - negative = how many pixels left before it will overflow
156
- * - 0 = lies flush with the boundary
157
- * @see https://floating-ui.com/docs/detectOverflow
158
- */
159
- async function detectOverflow(state, options) {
160
- var _await$platform$isEle;
161
- if (options === void 0) {
162
- options = {};
163
- }
164
- const {
165
- x,
166
- y,
167
- platform,
168
- rects,
169
- elements,
170
- strategy
171
- } = state;
172
- const {
173
- boundary = 'clippingAncestors',
174
- rootBoundary = 'viewport',
175
- elementContext = 'floating',
176
- altBoundary = false,
177
- padding = 0
178
- } = evaluate(options, state);
179
- const paddingObject = getPaddingObject(padding);
180
- const altContext = elementContext === 'floating' ? 'reference' : 'floating';
181
- const element = elements[altBoundary ? altContext : elementContext];
182
- const clippingClientRect = rectToClientRect(await platform.getClippingRect({
183
- element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),
184
- boundary,
185
- rootBoundary,
186
- strategy
187
- }));
188
- const rect = elementContext === 'floating' ? {
189
- x,
190
- y,
191
- width: rects.floating.width,
192
- height: rects.floating.height
193
- } : rects.reference;
194
- const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
195
- const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
196
- x: 1,
197
- y: 1
198
- } : {
199
- x: 1,
200
- y: 1
201
- };
202
- const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
203
- elements,
204
- rect,
205
- offsetParent,
206
- strategy
207
- }) : rect);
208
- return {
209
- top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
210
- bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
211
- left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
212
- right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
213
- };
214
- }
215
-
216
- /**
217
- * Provides data to position an inner element of the floating element so that it
218
- * appears centered to the reference element.
219
- * @see https://floating-ui.com/docs/arrow
220
- */
221
- const arrow = options => ({
222
- name: 'arrow',
223
- options,
224
- async fn(state) {
225
- const {
226
- x,
227
- y,
228
- placement,
229
- rects,
230
- platform,
231
- elements,
232
- middlewareData
233
- } = state;
234
- // Since `element` is required, we don't Partial<> the type.
235
- const {
236
- element,
237
- padding = 0
238
- } = evaluate(options, state) || {};
239
- if (element == null) {
240
- return {};
241
- }
242
- const paddingObject = getPaddingObject(padding);
243
- const coords = {
244
- x,
245
- y
246
- };
247
- const axis = getAlignmentAxis(placement);
248
- const length = getAxisLength(axis);
249
- const arrowDimensions = await platform.getDimensions(element);
250
- const isYAxis = axis === 'y';
251
- const minProp = isYAxis ? 'top' : 'left';
252
- const maxProp = isYAxis ? 'bottom' : 'right';
253
- const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';
254
- const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
255
- const startDiff = coords[axis] - rects.reference[axis];
256
- const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));
257
- let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;
258
-
259
- // DOM platform can return `window` as the `offsetParent`.
260
- if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {
261
- clientSize = elements.floating[clientProp] || rects.floating[length];
262
- }
263
- const centerToReference = endDiff / 2 - startDiff / 2;
264
-
265
- // If the padding is large enough that it causes the arrow to no longer be
266
- // centered, modify the padding so that it is centered.
267
- const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
268
- const minPadding = min(paddingObject[minProp], largestPossiblePadding);
269
- const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);
270
-
271
- // Make sure the arrow doesn't overflow the floating element if the center
272
- // point is outside the floating element's bounds.
273
- const min$1 = minPadding;
274
- const max = clientSize - arrowDimensions[length] - maxPadding;
275
- const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
276
- const offset = clamp(min$1, center, max);
277
-
278
- // If the reference is small enough that the arrow's padding causes it to
279
- // to point to nothing for an aligned placement, adjust the offset of the
280
- // floating element itself. To ensure `shift()` continues to take action,
281
- // a single reset is performed when this is true.
282
- const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
283
- const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
284
- return {
285
- [axis]: coords[axis] + alignmentOffset,
286
- data: {
287
- [axis]: offset,
288
- centerOffset: center - offset - alignmentOffset,
289
- ...(shouldAddOffset && {
290
- alignmentOffset
291
- })
292
- },
293
- reset: shouldAddOffset
294
- };
295
- }
296
- });
297
-
298
- /**
299
- * Optimizes the visibility of the floating element by flipping the `placement`
300
- * in order to keep it in view when the preferred placement(s) will overflow the
301
- * clipping boundary. Alternative to `autoPlacement`.
302
- * @see https://floating-ui.com/docs/flip
303
- */
304
- const flip = function (options) {
305
- if (options === void 0) {
306
- options = {};
307
- }
308
- return {
309
- name: 'flip',
310
- options,
311
- async fn(state) {
312
- var _middlewareData$arrow, _middlewareData$flip;
313
- const {
314
- placement,
315
- middlewareData,
316
- rects,
317
- initialPlacement,
318
- platform,
319
- elements
320
- } = state;
321
- const {
322
- mainAxis: checkMainAxis = true,
323
- crossAxis: checkCrossAxis = true,
324
- fallbackPlacements: specifiedFallbackPlacements,
325
- fallbackStrategy = 'bestFit',
326
- fallbackAxisSideDirection = 'none',
327
- flipAlignment = true,
328
- ...detectOverflowOptions
329
- } = evaluate(options, state);
330
-
331
- // If a reset by the arrow was caused due to an alignment offset being
332
- // added, we should skip any logic now since `flip()` has already done its
333
- // work.
334
- // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643
335
- if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
336
- return {};
337
- }
338
- const side = getSide(placement);
339
- const initialSideAxis = getSideAxis(initialPlacement);
340
- const isBasePlacement = getSide(initialPlacement) === initialPlacement;
341
- const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
342
- const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
343
- const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';
344
- if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
345
- fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
346
- }
347
- const placements = [initialPlacement, ...fallbackPlacements];
348
- const overflow = await detectOverflow(state, detectOverflowOptions);
349
- const overflows = [];
350
- let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
351
- if (checkMainAxis) {
352
- overflows.push(overflow[side]);
353
- }
354
- if (checkCrossAxis) {
355
- const sides = getAlignmentSides(placement, rects, rtl);
356
- overflows.push(overflow[sides[0]], overflow[sides[1]]);
357
- }
358
- overflowsData = [...overflowsData, {
359
- placement,
360
- overflows
361
- }];
362
-
363
- // One or more sides is overflowing.
364
- if (!overflows.every(side => side <= 0)) {
365
- var _middlewareData$flip2, _overflowsData$filter;
366
- const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
367
- const nextPlacement = placements[nextIndex];
368
- if (nextPlacement) {
369
- // Try next placement and re-run the lifecycle.
370
- return {
371
- data: {
372
- index: nextIndex,
373
- overflows: overflowsData
374
- },
375
- reset: {
376
- placement: nextPlacement
377
- }
378
- };
379
- }
380
-
381
- // First, find the candidates that fit on the mainAxis side of overflow,
382
- // then find the placement that fits the best on the main crossAxis side.
383
- let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
384
-
385
- // Otherwise fallback.
386
- if (!resetPlacement) {
387
- switch (fallbackStrategy) {
388
- case 'bestFit':
389
- {
390
- var _overflowsData$filter2;
391
- const placement = (_overflowsData$filter2 = overflowsData.filter(d => {
392
- if (hasFallbackAxisSideDirection) {
393
- const currentSideAxis = getSideAxis(d.placement);
394
- return currentSideAxis === initialSideAxis ||
395
- // Create a bias to the `y` side axis due to horizontal
396
- // reading directions favoring greater width.
397
- currentSideAxis === 'y';
398
- }
399
- return true;
400
- }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
401
- if (placement) {
402
- resetPlacement = placement;
403
- }
404
- break;
405
- }
406
- case 'initialPlacement':
407
- resetPlacement = initialPlacement;
408
- break;
409
- }
410
- }
411
- if (placement !== resetPlacement) {
412
- return {
413
- reset: {
414
- placement: resetPlacement
415
- }
416
- };
417
- }
418
- }
419
- return {};
420
- }
421
- };
422
- };
423
-
424
- // For type backwards-compatibility, the `OffsetOptions` type was also
425
- // Derivable.
426
-
427
- async function convertValueToCoords(state, options) {
428
- const {
429
- placement,
430
- platform,
431
- elements
432
- } = state;
433
- const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
434
- const side = getSide(placement);
435
- const alignment = getAlignment(placement);
436
- const isVertical = getSideAxis(placement) === 'y';
437
- const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
438
- const crossAxisMulti = rtl && isVertical ? -1 : 1;
439
- const rawValue = evaluate(options, state);
440
-
441
- // eslint-disable-next-line prefer-const
442
- let {
443
- mainAxis,
444
- crossAxis,
445
- alignmentAxis
446
- } = typeof rawValue === 'number' ? {
447
- mainAxis: rawValue,
448
- crossAxis: 0,
449
- alignmentAxis: null
450
- } : {
451
- mainAxis: 0,
452
- crossAxis: 0,
453
- alignmentAxis: null,
454
- ...rawValue
455
- };
456
- if (alignment && typeof alignmentAxis === 'number') {
457
- crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;
458
- }
459
- return isVertical ? {
460
- x: crossAxis * crossAxisMulti,
461
- y: mainAxis * mainAxisMulti
462
- } : {
463
- x: mainAxis * mainAxisMulti,
464
- y: crossAxis * crossAxisMulti
465
- };
466
- }
467
-
468
- /**
469
- * Modifies the placement by translating the floating element along the
470
- * specified axes.
471
- * A number (shorthand for `mainAxis` or distance), or an axes configuration
472
- * object may be passed.
473
- * @see https://floating-ui.com/docs/offset
474
- */
475
- const offset = function (options) {
476
- if (options === void 0) {
477
- options = 0;
478
- }
479
- return {
480
- name: 'offset',
481
- options,
482
- async fn(state) {
483
- var _middlewareData$offse, _middlewareData$arrow;
484
- const {
485
- x,
486
- y,
487
- placement,
488
- middlewareData
489
- } = state;
490
- const diffCoords = await convertValueToCoords(state, options);
491
-
492
- // If the placement is the same and the arrow caused an alignment offset
493
- // then we don't need to change the positioning coordinates.
494
- if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
495
- return {};
496
- }
497
- return {
498
- x: x + diffCoords.x,
499
- y: y + diffCoords.y,
500
- data: {
501
- ...diffCoords,
502
- placement
503
- }
504
- };
505
- }
506
- };
507
- };
508
-
509
- /**
510
- * Optimizes the visibility of the floating element by shifting it in order to
511
- * keep it in view when it will overflow the clipping boundary.
512
- * @see https://floating-ui.com/docs/shift
513
- */
514
- const shift = function (options) {
515
- if (options === void 0) {
516
- options = {};
517
- }
518
- return {
519
- name: 'shift',
520
- options,
521
- async fn(state) {
522
- const {
523
- x,
524
- y,
525
- placement
526
- } = state;
527
- const {
528
- mainAxis: checkMainAxis = true,
529
- crossAxis: checkCrossAxis = false,
530
- limiter = {
531
- fn: _ref => {
532
- let {
533
- x,
534
- y
535
- } = _ref;
536
- return {
537
- x,
538
- y
539
- };
540
- }
541
- },
542
- ...detectOverflowOptions
543
- } = evaluate(options, state);
544
- const coords = {
545
- x,
546
- y
547
- };
548
- const overflow = await detectOverflow(state, detectOverflowOptions);
549
- const crossAxis = getSideAxis(getSide(placement));
550
- const mainAxis = getOppositeAxis(crossAxis);
551
- let mainAxisCoord = coords[mainAxis];
552
- let crossAxisCoord = coords[crossAxis];
553
- if (checkMainAxis) {
554
- const minSide = mainAxis === 'y' ? 'top' : 'left';
555
- const maxSide = mainAxis === 'y' ? 'bottom' : 'right';
556
- const min = mainAxisCoord + overflow[minSide];
557
- const max = mainAxisCoord - overflow[maxSide];
558
- mainAxisCoord = clamp(min, mainAxisCoord, max);
559
- }
560
- if (checkCrossAxis) {
561
- const minSide = crossAxis === 'y' ? 'top' : 'left';
562
- const maxSide = crossAxis === 'y' ? 'bottom' : 'right';
563
- const min = crossAxisCoord + overflow[minSide];
564
- const max = crossAxisCoord - overflow[maxSide];
565
- crossAxisCoord = clamp(min, crossAxisCoord, max);
566
- }
567
- const limitedCoords = limiter.fn({
568
- ...state,
569
- [mainAxis]: mainAxisCoord,
570
- [crossAxis]: crossAxisCoord
571
- });
572
- return {
573
- ...limitedCoords,
574
- data: {
575
- x: limitedCoords.x - x,
576
- y: limitedCoords.y - y
577
- }
578
- };
579
- }
580
- };
581
- };
582
-
583
- /**
584
- * Provides data that allows you to change the size of the floating element —
585
- * for instance, prevent it from overflowing the clipping boundary or match the
586
- * width of the reference element.
587
- * @see https://floating-ui.com/docs/size
588
- */
589
- const size = function (options) {
590
- if (options === void 0) {
591
- options = {};
592
- }
593
- return {
594
- name: 'size',
595
- options,
596
- async fn(state) {
597
- const {
598
- placement,
599
- rects,
600
- platform,
601
- elements
602
- } = state;
603
- const {
604
- apply = () => {},
605
- ...detectOverflowOptions
606
- } = evaluate(options, state);
607
- const overflow = await detectOverflow(state, detectOverflowOptions);
608
- const side = getSide(placement);
609
- const alignment = getAlignment(placement);
610
- const isYAxis = getSideAxis(placement) === 'y';
611
- const {
612
- width,
613
- height
614
- } = rects.floating;
615
- let heightSide;
616
- let widthSide;
617
- if (side === 'top' || side === 'bottom') {
618
- heightSide = side;
619
- widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';
620
- } else {
621
- widthSide = side;
622
- heightSide = alignment === 'end' ? 'top' : 'bottom';
623
- }
624
- const maximumClippingHeight = height - overflow.top - overflow.bottom;
625
- const maximumClippingWidth = width - overflow.left - overflow.right;
626
- const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
627
- const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
628
- const noShift = !state.middlewareData.shift;
629
- let availableHeight = overflowAvailableHeight;
630
- let availableWidth = overflowAvailableWidth;
631
- if (isYAxis) {
632
- availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;
633
- } else {
634
- availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;
635
- }
636
- if (noShift && !alignment) {
637
- const xMin = max(overflow.left, 0);
638
- const xMax = max(overflow.right, 0);
639
- const yMin = max(overflow.top, 0);
640
- const yMax = max(overflow.bottom, 0);
641
- if (isYAxis) {
642
- availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
643
- } else {
644
- availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
645
- }
646
- }
647
- await apply({
648
- ...state,
649
- availableWidth,
650
- availableHeight
651
- });
652
- const nextDimensions = await platform.getDimensions(elements.floating);
653
- if (width !== nextDimensions.width || height !== nextDimensions.height) {
654
- return {
655
- reset: {
656
- rects: true
657
- }
658
- };
659
- }
660
- return {};
661
- }
662
- };
663
- };
664
-
665
- export { arrow, computePosition, detectOverflow, flip, offset, rectToClientRect, shift, size };