@digdir/designsystemet-react 0.52.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (769) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +12 -0
  3. package/dist/cjs/components/Accordion/Accordion.js +14 -0
  4. package/dist/cjs/components/Accordion/Accordion.module.css.js +6 -0
  5. package/dist/cjs/components/Accordion/AccordionContent/AccordionContent.js +22 -0
  6. package/dist/cjs/components/Accordion/AccordionHeader/AccordionHeader.js +28 -0
  7. package/dist/cjs/components/Accordion/AccordionItem/AccordionItem.js +28 -0
  8. package/dist/cjs/components/Accordion/index.js +20 -0
  9. package/dist/cjs/components/Alert/Alert.js +28 -0
  10. package/dist/cjs/components/Box/Box.js +16 -0
  11. package/dist/cjs/components/Box/Box.module.css.js +6 -0
  12. package/dist/cjs/components/Button/Button.js +20 -0
  13. package/dist/cjs/components/Button/Button.module.css.js +6 -0
  14. package/dist/cjs/components/Card/Card.js +17 -0
  15. package/dist/cjs/components/Card/Card.module.css.js +6 -0
  16. package/dist/cjs/components/Card/CardContent.js +16 -0
  17. package/dist/cjs/components/Card/CardFooter.js +16 -0
  18. package/dist/cjs/components/Card/CardHeader.js +16 -0
  19. package/dist/cjs/components/Card/CardMedia.js +16 -0
  20. package/dist/cjs/components/Card/index.js +24 -0
  21. package/dist/cjs/components/Chip/Chip.module.css.js +6 -0
  22. package/dist/cjs/components/Chip/Group/Group.js +14 -0
  23. package/dist/cjs/components/Chip/Removable/Removable.js +19 -0
  24. package/dist/cjs/components/Chip/Toggle/Toggle.js +20 -0
  25. package/dist/cjs/components/Chip/index.js +20 -0
  26. package/dist/cjs/components/Divider/Divider.js +15 -0
  27. package/dist/cjs/components/Divider/Divider.module.css.js +6 -0
  28. package/dist/cjs/components/DropdownMenu/DropdownMenu.js +37 -0
  29. package/dist/cjs/components/DropdownMenu/DropdownMenu.module.css.js +6 -0
  30. package/dist/cjs/components/DropdownMenu/DropdownMenuContent.js +75 -0
  31. package/dist/cjs/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.js +18 -0
  32. package/dist/cjs/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.module.css.js +6 -0
  33. package/dist/cjs/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.js +16 -0
  34. package/dist/cjs/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.module.css.js +6 -0
  35. package/dist/cjs/components/DropdownMenu/DropdownMenuTrigger.js +20 -0
  36. package/dist/cjs/components/DropdownMenu/index.js +24 -0
  37. package/dist/cjs/components/ErrorSummary/ErrorSummary.module.css.js +6 -0
  38. package/dist/cjs/components/ErrorSummary/ErrorSummaryHeading.js +20 -0
  39. package/dist/cjs/components/ErrorSummary/ErrorSummaryItem.js +13 -0
  40. package/dist/cjs/components/ErrorSummary/ErrorSummaryList.js +12 -0
  41. package/dist/cjs/components/ErrorSummary/ErrorSummaryRoot.js +23 -0
  42. package/dist/cjs/components/ErrorSummary/index.js +23 -0
  43. package/dist/cjs/components/HelpText/HelpText.js +18 -0
  44. package/dist/cjs/components/HelpText/HelpText.module.css.js +6 -0
  45. package/dist/cjs/components/HelpText/HelpTextIcon.js +14 -0
  46. package/dist/cjs/components/Link/Link.js +16 -0
  47. package/dist/cjs/components/Link/Link.module.css.js +6 -0
  48. package/dist/cjs/components/List/List.module.css.js +6 -0
  49. package/dist/cjs/components/List/ListHeading.js +28 -0
  50. package/dist/cjs/components/List/ListItem.js +16 -0
  51. package/dist/cjs/components/List/ListRoot.js +21 -0
  52. package/dist/cjs/components/List/Lists.js +26 -0
  53. package/dist/cjs/components/List/index.js +26 -0
  54. package/dist/cjs/components/Modal/Modal.module.css.js +6 -0
  55. package/dist/cjs/components/Modal/ModalContent/ModaContent.js +16 -0
  56. package/dist/cjs/components/Modal/ModalContent/ModalContent.module.css.js +6 -0
  57. package/dist/cjs/components/Modal/ModalDialog.js +74 -0
  58. package/dist/cjs/components/Modal/ModalFooter/ModalFooter.js +16 -0
  59. package/dist/cjs/components/Modal/ModalFooter/ModalFooter.module.css.js +6 -0
  60. package/dist/cjs/components/Modal/ModalHeader/ModalHeader.js +22 -0
  61. package/dist/cjs/components/Modal/ModalHeader/ModalHeader.module.css.js +6 -0
  62. package/dist/cjs/components/Modal/ModalRoot.js +25 -0
  63. package/dist/cjs/components/Modal/ModalTrigger/ModalTrigger.js +15 -0
  64. package/dist/cjs/components/Modal/index.js +30 -0
  65. package/dist/cjs/components/Modal/useModalState.js +30 -0
  66. package/dist/cjs/components/Modal/useScrollLock.js +29 -0
  67. package/dist/cjs/components/Pagination/Pagination.js +35 -0
  68. package/dist/cjs/components/Pagination/Pagination.module.css.js +6 -0
  69. package/dist/cjs/components/Pagination/PaginationButton.js +14 -0
  70. package/dist/cjs/components/Pagination/PaginationContent.js +17 -0
  71. package/dist/cjs/components/Pagination/PaginationEllipsis.js +20 -0
  72. package/dist/cjs/components/Pagination/PaginationItem.js +21 -0
  73. package/dist/cjs/components/Pagination/PaginationNextPrev.js +16 -0
  74. package/dist/cjs/components/Pagination/PaginationRoot.js +22 -0
  75. package/dist/cjs/components/Pagination/index.js +35 -0
  76. package/dist/cjs/components/Pagination/usePagination.js +65 -0
  77. package/dist/cjs/components/Popover/Popover.js +68 -0
  78. package/dist/cjs/components/Popover/Popover.module.css.js +6 -0
  79. package/dist/cjs/components/Popover/PopoverContent.js +107 -0
  80. package/dist/cjs/components/Popover/PopoverTrigger.js +23 -0
  81. package/dist/cjs/components/Popover/index.js +16 -0
  82. package/dist/cjs/components/Skeleton/Circle/Circle.js +16 -0
  83. package/dist/cjs/components/Skeleton/Rectangle/Rectangle.js +18 -0
  84. package/dist/cjs/components/Skeleton/Skeleton.module.css.js +6 -0
  85. package/dist/cjs/components/Skeleton/Text/Text.js +18 -0
  86. package/dist/cjs/components/Skeleton/index.js +20 -0
  87. package/dist/cjs/components/SkipLink/SkipLink.js +14 -0
  88. package/dist/cjs/components/SkipLink/SkipLink.module.css.js +6 -0
  89. package/dist/cjs/components/Spinner/Spinner.js +25 -0
  90. package/dist/cjs/components/Spinner/Spinner.module.css.js +6 -0
  91. package/dist/cjs/components/Table/Table.js +34 -0
  92. package/dist/cjs/components/Table/Table.module.css.js +6 -0
  93. package/dist/cjs/components/Table/TableBody.js +31 -0
  94. package/dist/cjs/components/Table/TableCell.js +33 -0
  95. package/dist/cjs/components/Table/TableHead.js +33 -0
  96. package/dist/cjs/components/Table/TableHeaderCell.js +40 -0
  97. package/dist/cjs/components/Table/TableRow.js +33 -0
  98. package/dist/cjs/components/Table/index.js +29 -0
  99. package/dist/cjs/components/Tabs/Tab/Tab.js +18 -0
  100. package/dist/cjs/components/Tabs/Tab/Tab.module.css.js +6 -0
  101. package/dist/cjs/components/Tabs/Tab/useTab.js +26 -0
  102. package/dist/cjs/components/Tabs/TabContent/TabContent.js +18 -0
  103. package/dist/cjs/components/Tabs/TabContent/TabContent.module.css.js +6 -0
  104. package/dist/cjs/components/Tabs/TabList/TabList.js +15 -0
  105. package/dist/cjs/components/Tabs/TabList/TabList.module.css.js +6 -0
  106. package/dist/cjs/components/Tabs/Tabs.js +29 -0
  107. package/dist/cjs/components/Tabs/index.js +20 -0
  108. package/dist/cjs/components/Tag/Tag.js +15 -0
  109. package/dist/cjs/components/Tag/Tag.module.css.js +6 -0
  110. package/dist/cjs/components/ToggleGroup/ToggleGroup.js +44 -0
  111. package/dist/cjs/components/ToggleGroup/ToggleGroup.module.css.js +6 -0
  112. package/dist/cjs/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.js +19 -0
  113. package/dist/cjs/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.module.css.js +6 -0
  114. package/dist/cjs/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.js +31 -0
  115. package/dist/cjs/components/ToggleGroup/index.js +12 -0
  116. package/dist/cjs/components/Tooltip/Tooltip.js +89 -0
  117. package/dist/cjs/components/Tooltip/Tooltip.module.css.js +6 -0
  118. package/dist/cjs/components/Typography/ErrorMessage/ErrorMessage.js +19 -0
  119. package/dist/cjs/components/Typography/ErrorMessage/ErrorMessage.module.css.js +6 -0
  120. package/dist/cjs/components/Typography/Heading/Heading.js +21 -0
  121. package/dist/cjs/components/Typography/Heading/Heading.module.css.js +6 -0
  122. package/dist/cjs/components/Typography/Ingress/Ingress.js +19 -0
  123. package/dist/cjs/components/Typography/Ingress/Ingress.module.css.js +6 -0
  124. package/dist/cjs/components/Typography/Label/Label.js +22 -0
  125. package/dist/cjs/components/Typography/Label/Label.module.css.js +6 -0
  126. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +20 -0
  127. package/dist/cjs/components/Typography/Paragraph/Paragraph.module.css.js +6 -0
  128. package/dist/cjs/components/form/CharacterCounter.js +18 -0
  129. package/dist/cjs/components/form/Checkbox/Checkbox.js +29 -0
  130. package/dist/cjs/components/form/Checkbox/Checkbox.module.css.js +6 -0
  131. package/dist/cjs/components/form/Checkbox/Group/Group.js +30 -0
  132. package/dist/cjs/components/form/Checkbox/index.js +13 -0
  133. package/dist/cjs/components/form/Checkbox/useCheckbox.js +44 -0
  134. package/dist/cjs/components/form/Combobox/Combobox.js +304 -0
  135. package/dist/cjs/components/form/Combobox/Combobox.module.css.js +6 -0
  136. package/dist/cjs/components/form/Combobox/Custom/Custom.js +35 -0
  137. package/dist/cjs/components/form/Combobox/Custom/Custom.module.css.js +6 -0
  138. package/dist/cjs/components/form/Combobox/Empty/Empty.js +23 -0
  139. package/dist/cjs/components/form/Combobox/Empty/Empty.module.css.js +6 -0
  140. package/dist/cjs/components/form/Combobox/Option/Description/Description.js +18 -0
  141. package/dist/cjs/components/form/Combobox/Option/Description/Description.module.css.js +6 -0
  142. package/dist/cjs/components/form/Combobox/Option/Icon/SelectedIcon.js +17 -0
  143. package/dist/cjs/components/form/Combobox/Option/Option.js +53 -0
  144. package/dist/cjs/components/form/Combobox/Option/Option.module.css.js +6 -0
  145. package/dist/cjs/components/form/Combobox/index.js +16 -0
  146. package/dist/cjs/components/form/Combobox/internal/ComboboxChips.js +46 -0
  147. package/dist/cjs/components/form/Combobox/internal/ComboboxClearButton.js +44 -0
  148. package/dist/cjs/components/form/Combobox/internal/ComboboxError.js +17 -0
  149. package/dist/cjs/components/form/Combobox/internal/ComboboxInput.js +108 -0
  150. package/dist/cjs/components/form/Combobox/internal/ComboboxLabel.js +21 -0
  151. package/dist/cjs/components/form/Combobox/internal/ComboboxNative.js +17 -0
  152. package/dist/cjs/components/form/Combobox/useCombobox.js +123 -0
  153. package/dist/cjs/components/form/Fieldset/Fieldset.js +31 -0
  154. package/dist/cjs/components/form/Fieldset/Fieldset.module.css.js +6 -0
  155. package/dist/cjs/components/form/Fieldset/useFieldset.js +19 -0
  156. package/dist/cjs/components/form/NativeSelect/NativeSelect.js +23 -0
  157. package/dist/cjs/components/form/NativeSelect/NativeSelect.module.css.js +6 -0
  158. package/dist/cjs/components/form/NativeSelect/useNativeSelect.js +37 -0
  159. package/dist/cjs/components/form/Radio/Group/Group.js +24 -0
  160. package/dist/cjs/components/form/Radio/Group/Group.module.css.js +6 -0
  161. package/dist/cjs/components/form/Radio/Radio.js +20 -0
  162. package/dist/cjs/components/form/Radio/Radio.module.css.js +6 -0
  163. package/dist/cjs/components/form/Radio/index.js +13 -0
  164. package/dist/cjs/components/form/Radio/useRadio.js +46 -0
  165. package/dist/cjs/components/form/Search/Search.js +50 -0
  166. package/dist/cjs/components/form/Search/Search.module.css.js +6 -0
  167. package/dist/cjs/components/form/Search/useSearch.js +45 -0
  168. package/dist/cjs/components/form/Switch/Switch.js +21 -0
  169. package/dist/cjs/components/form/Switch/Switch.module.css.js +6 -0
  170. package/dist/cjs/components/form/Switch/useSwitch.js +45 -0
  171. package/dist/cjs/components/form/Textarea/Textarea.js +38 -0
  172. package/dist/cjs/components/form/Textarea/Textarea.module.css.js +6 -0
  173. package/dist/cjs/components/form/Textarea/useTextarea.js +37 -0
  174. package/dist/cjs/components/form/Textfield/Textfield.js +38 -0
  175. package/dist/cjs/components/form/Textfield/Textfield.module.css.js +6 -0
  176. package/dist/cjs/components/form/Textfield/useTextfield.js +37 -0
  177. package/dist/cjs/components/form/useFormField.js +39 -0
  178. package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +8 -0
  179. package/dist/cjs/hooks/useMediaQuery.js +21 -0
  180. package/dist/cjs/hooks/usePrevious.js +14 -0
  181. package/dist/cjs/hooks/useSynchronizedAnimation.js +33 -0
  182. package/dist/cjs/index.js +187 -0
  183. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +19 -0
  184. package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js +636 -0
  185. package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +610 -0
  186. package/dist/cjs/node_modules/@floating-ui/react/dist/floating-ui.react.js +3004 -0
  187. package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +297 -0
  188. package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +6 -0
  189. package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +68 -0
  190. package/dist/cjs/node_modules/@floating-ui/react/utils/dist/floating-ui.react.utils.js +160 -0
  191. package/dist/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +144 -0
  192. package/dist/cjs/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +145 -0
  193. package/dist/cjs/node_modules/@radix-ui/react-compose-refs/dist/index.js +22 -0
  194. package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.js +85 -0
  195. package/dist/cjs/node_modules/@tanstack/react-virtual/build/lib/_virtual/_rollupPluginBabelHelpers.js +29 -0
  196. package/dist/cjs/node_modules/@tanstack/react-virtual/build/lib/index.js +84 -0
  197. package/dist/cjs/node_modules/@tanstack/virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.js +29 -0
  198. package/dist/cjs/node_modules/@tanstack/virtual-core/build/lib/index.js +607 -0
  199. package/dist/cjs/node_modules/@tanstack/virtual-core/build/lib/utils.js +62 -0
  200. package/dist/cjs/node_modules/clsx/dist/clsx.js +9 -0
  201. package/dist/cjs/node_modules/tabbable/dist/index.esm.js +506 -0
  202. package/dist/cjs/react-components.css +3614 -0
  203. package/dist/cjs/utilities/AnimateHeight/AnimateHeight.js +44 -0
  204. package/dist/cjs/utilities/AnimateHeight/AnimateHeight.module.css.js +6 -0
  205. package/dist/cjs/utilities/RovingTabIndex/RovingTabindexItem.js +44 -0
  206. package/dist/cjs/utilities/RovingTabIndex/RovingTabindexRoot.js +66 -0
  207. package/dist/cjs/utilities/RovingTabIndex/useRovingTabindex.js +42 -0
  208. package/dist/cjs/utilities/objectUtils.js +28 -0
  209. package/dist/cjs/utilities/useDebounce.js +27 -0
  210. package/dist/cjs/utilities/utility.module.css.js +6 -0
  211. package/dist/esm/components/Accordion/Accordion.js +12 -0
  212. package/dist/esm/components/Accordion/Accordion.module.css.js +4 -0
  213. package/dist/esm/components/Accordion/AccordionContent/AccordionContent.js +20 -0
  214. package/dist/esm/components/Accordion/AccordionHeader/AccordionHeader.js +26 -0
  215. package/dist/esm/components/Accordion/AccordionItem/AccordionItem.js +25 -0
  216. package/dist/esm/components/Accordion/index.js +15 -0
  217. package/dist/esm/components/Alert/Alert.js +26 -0
  218. package/dist/esm/components/Box/Box.js +14 -0
  219. package/dist/esm/components/Box/Box.module.css.js +4 -0
  220. package/dist/esm/components/Button/Button.js +18 -0
  221. package/dist/esm/components/Button/Button.module.css.js +4 -0
  222. package/dist/esm/components/Card/Card.js +15 -0
  223. package/dist/esm/components/Card/Card.module.css.js +4 -0
  224. package/dist/esm/components/Card/CardContent.js +14 -0
  225. package/dist/esm/components/Card/CardFooter.js +14 -0
  226. package/dist/esm/components/Card/CardHeader.js +14 -0
  227. package/dist/esm/components/Card/CardMedia.js +14 -0
  228. package/dist/esm/components/Card/index.js +18 -0
  229. package/dist/esm/components/Chip/Chip.module.css.js +4 -0
  230. package/dist/esm/components/Chip/Group/Group.js +11 -0
  231. package/dist/esm/components/Chip/Removable/Removable.js +17 -0
  232. package/dist/esm/components/Chip/Toggle/Toggle.js +18 -0
  233. package/dist/esm/components/Chip/index.js +15 -0
  234. package/dist/esm/components/Divider/Divider.js +13 -0
  235. package/dist/esm/components/Divider/Divider.module.css.js +4 -0
  236. package/dist/esm/components/DropdownMenu/DropdownMenu.js +34 -0
  237. package/dist/esm/components/DropdownMenu/DropdownMenu.module.css.js +4 -0
  238. package/dist/esm/components/DropdownMenu/DropdownMenuContent.js +55 -0
  239. package/dist/esm/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.js +16 -0
  240. package/dist/esm/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.module.css.js +4 -0
  241. package/dist/esm/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.js +14 -0
  242. package/dist/esm/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.module.css.js +4 -0
  243. package/dist/esm/components/DropdownMenu/DropdownMenuTrigger.js +18 -0
  244. package/dist/esm/components/DropdownMenu/index.js +18 -0
  245. package/dist/esm/components/ErrorSummary/ErrorSummary.module.css.js +4 -0
  246. package/dist/esm/components/ErrorSummary/ErrorSummaryHeading.js +18 -0
  247. package/dist/esm/components/ErrorSummary/ErrorSummaryItem.js +11 -0
  248. package/dist/esm/components/ErrorSummary/ErrorSummaryList.js +10 -0
  249. package/dist/esm/components/ErrorSummary/ErrorSummaryRoot.js +20 -0
  250. package/dist/esm/components/ErrorSummary/index.js +17 -0
  251. package/dist/esm/components/HelpText/HelpText.js +16 -0
  252. package/dist/esm/components/HelpText/HelpText.module.css.js +4 -0
  253. package/dist/esm/components/HelpText/HelpTextIcon.js +12 -0
  254. package/dist/esm/components/Link/Link.js +14 -0
  255. package/dist/esm/components/Link/Link.module.css.js +4 -0
  256. package/dist/esm/components/List/List.module.css.js +4 -0
  257. package/dist/esm/components/List/ListHeading.js +26 -0
  258. package/dist/esm/components/List/ListItem.js +14 -0
  259. package/dist/esm/components/List/ListRoot.js +18 -0
  260. package/dist/esm/components/List/Lists.js +23 -0
  261. package/dist/esm/components/List/index.js +19 -0
  262. package/dist/esm/components/Modal/Modal.module.css.js +4 -0
  263. package/dist/esm/components/Modal/ModalContent/ModaContent.js +14 -0
  264. package/dist/esm/components/Modal/ModalContent/ModalContent.module.css.js +4 -0
  265. package/dist/esm/components/Modal/ModalDialog.js +72 -0
  266. package/dist/esm/components/Modal/ModalFooter/ModalFooter.js +14 -0
  267. package/dist/esm/components/Modal/ModalFooter/ModalFooter.module.css.js +4 -0
  268. package/dist/esm/components/Modal/ModalHeader/ModalHeader.js +20 -0
  269. package/dist/esm/components/Modal/ModalHeader/ModalHeader.module.css.js +4 -0
  270. package/dist/esm/components/Modal/ModalRoot.js +22 -0
  271. package/dist/esm/components/Modal/ModalTrigger/ModalTrigger.js +13 -0
  272. package/dist/esm/components/Modal/index.js +23 -0
  273. package/dist/esm/components/Modal/useModalState.js +28 -0
  274. package/dist/esm/components/Modal/useScrollLock.js +27 -0
  275. package/dist/esm/components/Pagination/Pagination.js +33 -0
  276. package/dist/esm/components/Pagination/Pagination.module.css.js +4 -0
  277. package/dist/esm/components/Pagination/PaginationButton.js +12 -0
  278. package/dist/esm/components/Pagination/PaginationContent.js +15 -0
  279. package/dist/esm/components/Pagination/PaginationEllipsis.js +15 -0
  280. package/dist/esm/components/Pagination/PaginationItem.js +16 -0
  281. package/dist/esm/components/Pagination/PaginationNextPrev.js +13 -0
  282. package/dist/esm/components/Pagination/PaginationRoot.js +16 -0
  283. package/dist/esm/components/Pagination/index.js +26 -0
  284. package/dist/esm/components/Pagination/usePagination.js +63 -0
  285. package/dist/esm/components/Popover/Popover.js +47 -0
  286. package/dist/esm/components/Popover/Popover.module.css.js +4 -0
  287. package/dist/esm/components/Popover/PopoverContent.js +87 -0
  288. package/dist/esm/components/Popover/PopoverTrigger.js +21 -0
  289. package/dist/esm/components/Popover/index.js +12 -0
  290. package/dist/esm/components/Skeleton/Circle/Circle.js +14 -0
  291. package/dist/esm/components/Skeleton/Rectangle/Rectangle.js +16 -0
  292. package/dist/esm/components/Skeleton/Skeleton.module.css.js +4 -0
  293. package/dist/esm/components/Skeleton/Text/Text.js +16 -0
  294. package/dist/esm/components/Skeleton/index.js +15 -0
  295. package/dist/esm/components/SkipLink/SkipLink.js +12 -0
  296. package/dist/esm/components/SkipLink/SkipLink.module.css.js +4 -0
  297. package/dist/esm/components/Spinner/Spinner.js +23 -0
  298. package/dist/esm/components/Spinner/Spinner.module.css.js +4 -0
  299. package/dist/esm/components/Table/Table.js +13 -0
  300. package/dist/esm/components/Table/Table.module.css.js +4 -0
  301. package/dist/esm/components/Table/TableBody.js +10 -0
  302. package/dist/esm/components/Table/TableCell.js +12 -0
  303. package/dist/esm/components/Table/TableHead.js +12 -0
  304. package/dist/esm/components/Table/TableHeaderCell.js +19 -0
  305. package/dist/esm/components/Table/TableRow.js +12 -0
  306. package/dist/esm/components/Table/index.js +22 -0
  307. package/dist/esm/components/Tabs/Tab/Tab.js +16 -0
  308. package/dist/esm/components/Tabs/Tab/Tab.module.css.js +4 -0
  309. package/dist/esm/components/Tabs/Tab/useTab.js +24 -0
  310. package/dist/esm/components/Tabs/TabContent/TabContent.js +16 -0
  311. package/dist/esm/components/Tabs/TabContent/TabContent.module.css.js +4 -0
  312. package/dist/esm/components/Tabs/TabList/TabList.js +13 -0
  313. package/dist/esm/components/Tabs/TabList/TabList.module.css.js +4 -0
  314. package/dist/esm/components/Tabs/Tabs.js +26 -0
  315. package/dist/esm/components/Tabs/index.js +15 -0
  316. package/dist/esm/components/Tag/Tag.js +13 -0
  317. package/dist/esm/components/Tag/Tag.module.css.js +4 -0
  318. package/dist/esm/components/ToggleGroup/ToggleGroup.js +41 -0
  319. package/dist/esm/components/ToggleGroup/ToggleGroup.module.css.js +4 -0
  320. package/dist/esm/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.js +17 -0
  321. package/dist/esm/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.module.css.js +4 -0
  322. package/dist/esm/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.js +29 -0
  323. package/dist/esm/components/ToggleGroup/index.js +9 -0
  324. package/dist/esm/components/Tooltip/Tooltip.js +69 -0
  325. package/dist/esm/components/Tooltip/Tooltip.module.css.js +4 -0
  326. package/dist/esm/components/Typography/ErrorMessage/ErrorMessage.js +17 -0
  327. package/dist/esm/components/Typography/ErrorMessage/ErrorMessage.module.css.js +4 -0
  328. package/dist/esm/components/Typography/Heading/Heading.js +19 -0
  329. package/dist/esm/components/Typography/Heading/Heading.module.css.js +4 -0
  330. package/dist/esm/components/Typography/Ingress/Ingress.js +17 -0
  331. package/dist/esm/components/Typography/Ingress/Ingress.module.css.js +4 -0
  332. package/dist/esm/components/Typography/Label/Label.js +20 -0
  333. package/dist/esm/components/Typography/Label/Label.module.css.js +4 -0
  334. package/dist/esm/components/Typography/Paragraph/Paragraph.js +18 -0
  335. package/dist/esm/components/Typography/Paragraph/Paragraph.module.css.js +4 -0
  336. package/dist/esm/components/form/CharacterCounter.js +16 -0
  337. package/dist/esm/components/form/Checkbox/Checkbox.js +27 -0
  338. package/dist/esm/components/form/Checkbox/Checkbox.module.css.js +4 -0
  339. package/dist/esm/components/form/Checkbox/Group/Group.js +27 -0
  340. package/dist/esm/components/form/Checkbox/index.js +10 -0
  341. package/dist/esm/components/form/Checkbox/useCheckbox.js +42 -0
  342. package/dist/esm/components/form/Combobox/Combobox.js +301 -0
  343. package/dist/esm/components/form/Combobox/Combobox.module.css.js +4 -0
  344. package/dist/esm/components/form/Combobox/Custom/Custom.js +30 -0
  345. package/dist/esm/components/form/Combobox/Custom/Custom.module.css.js +4 -0
  346. package/dist/esm/components/form/Combobox/Empty/Empty.js +18 -0
  347. package/dist/esm/components/form/Combobox/Empty/Empty.module.css.js +4 -0
  348. package/dist/esm/components/form/Combobox/Option/Description/Description.js +13 -0
  349. package/dist/esm/components/form/Combobox/Option/Description/Description.module.css.js +4 -0
  350. package/dist/esm/components/form/Combobox/Option/Icon/SelectedIcon.js +12 -0
  351. package/dist/esm/components/form/Combobox/Option/Option.js +51 -0
  352. package/dist/esm/components/form/Combobox/Option/Option.module.css.js +4 -0
  353. package/dist/esm/components/form/Combobox/index.js +12 -0
  354. package/dist/esm/components/form/Combobox/internal/ComboboxChips.js +41 -0
  355. package/dist/esm/components/form/Combobox/internal/ComboboxClearButton.js +39 -0
  356. package/dist/esm/components/form/Combobox/internal/ComboboxError.js +12 -0
  357. package/dist/esm/components/form/Combobox/internal/ComboboxInput.js +103 -0
  358. package/dist/esm/components/form/Combobox/internal/ComboboxLabel.js +16 -0
  359. package/dist/esm/components/form/Combobox/internal/ComboboxNative.js +12 -0
  360. package/dist/esm/components/form/Combobox/useCombobox.js +98 -0
  361. package/dist/esm/components/form/Fieldset/Fieldset.js +28 -0
  362. package/dist/esm/components/form/Fieldset/Fieldset.module.css.js +4 -0
  363. package/dist/esm/components/form/Fieldset/useFieldset.js +17 -0
  364. package/dist/esm/components/form/NativeSelect/NativeSelect.js +21 -0
  365. package/dist/esm/components/form/NativeSelect/NativeSelect.module.css.js +4 -0
  366. package/dist/esm/components/form/NativeSelect/useNativeSelect.js +35 -0
  367. package/dist/esm/components/form/Radio/Group/Group.js +21 -0
  368. package/dist/esm/components/form/Radio/Group/Group.module.css.js +4 -0
  369. package/dist/esm/components/form/Radio/Radio.js +18 -0
  370. package/dist/esm/components/form/Radio/Radio.module.css.js +4 -0
  371. package/dist/esm/components/form/Radio/index.js +10 -0
  372. package/dist/esm/components/form/Radio/useRadio.js +44 -0
  373. package/dist/esm/components/form/Search/Search.js +48 -0
  374. package/dist/esm/components/form/Search/Search.module.css.js +4 -0
  375. package/dist/esm/components/form/Search/useSearch.js +43 -0
  376. package/dist/esm/components/form/Switch/Switch.js +19 -0
  377. package/dist/esm/components/form/Switch/Switch.module.css.js +4 -0
  378. package/dist/esm/components/form/Switch/useSwitch.js +43 -0
  379. package/dist/esm/components/form/Textarea/Textarea.js +36 -0
  380. package/dist/esm/components/form/Textarea/Textarea.module.css.js +4 -0
  381. package/dist/esm/components/form/Textarea/useTextarea.js +35 -0
  382. package/dist/esm/components/form/Textfield/Textfield.js +36 -0
  383. package/dist/esm/components/form/Textfield/Textfield.module.css.js +4 -0
  384. package/dist/esm/components/form/Textfield/useTextfield.js +35 -0
  385. package/dist/esm/components/form/useFormField.js +37 -0
  386. package/dist/esm/hooks/useIsomorphicLayoutEffect.js +6 -0
  387. package/dist/esm/hooks/useMediaQuery.js +19 -0
  388. package/dist/esm/hooks/usePrevious.js +12 -0
  389. package/dist/esm/hooks/useSynchronizedAnimation.js +31 -0
  390. package/dist/esm/index.js +90 -0
  391. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js +17 -0
  392. package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.js +627 -0
  393. package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +600 -0
  394. package/dist/esm/node_modules/@floating-ui/react/dist/floating-ui.react.js +2964 -0
  395. package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +269 -0
  396. package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +4 -0
  397. package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +57 -0
  398. package/dist/esm/node_modules/@floating-ui/react/utils/dist/floating-ui.react.utils.js +140 -0
  399. package/dist/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +122 -0
  400. package/dist/esm/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +126 -0
  401. package/dist/esm/node_modules/@radix-ui/react-compose-refs/dist/index.js +20 -0
  402. package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.js +82 -0
  403. package/dist/esm/node_modules/@tanstack/react-virtual/build/lib/_virtual/_rollupPluginBabelHelpers.js +27 -0
  404. package/dist/esm/node_modules/@tanstack/react-virtual/build/lib/index.js +57 -0
  405. package/dist/esm/node_modules/@tanstack/virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.js +27 -0
  406. package/dist/esm/node_modules/@tanstack/virtual-core/build/lib/index.js +596 -0
  407. package/dist/esm/node_modules/@tanstack/virtual-core/build/lib/utils.js +58 -0
  408. package/dist/esm/node_modules/clsx/dist/clsx.js +4 -0
  409. package/dist/esm/node_modules/tabbable/dist/index.esm.js +504 -0
  410. package/dist/esm/react-components.css +3614 -0
  411. package/dist/esm/utilities/AnimateHeight/AnimateHeight.js +42 -0
  412. package/dist/esm/utilities/AnimateHeight/AnimateHeight.module.css.js +4 -0
  413. package/dist/esm/utilities/RovingTabIndex/RovingTabindexItem.js +40 -0
  414. package/dist/esm/utilities/RovingTabIndex/RovingTabindexRoot.js +63 -0
  415. package/dist/esm/utilities/RovingTabIndex/useRovingTabindex.js +40 -0
  416. package/dist/esm/utilities/objectUtils.js +26 -0
  417. package/dist/esm/utilities/useDebounce.js +25 -0
  418. package/dist/esm/utilities/utility.module.css.js +4 -0
  419. package/dist/types/components/Accordion/Accordion.d.ts +18 -0
  420. package/dist/types/components/Accordion/Accordion.d.ts.map +1 -0
  421. package/dist/types/components/Accordion/AccordionContent/AccordionContent.d.ts +10 -0
  422. package/dist/types/components/Accordion/AccordionContent/AccordionContent.d.ts.map +1 -0
  423. package/dist/types/components/Accordion/AccordionContent/index.d.ts +2 -0
  424. package/dist/types/components/Accordion/AccordionContent/index.d.ts.map +1 -0
  425. package/dist/types/components/Accordion/AccordionHeader/AccordionHeader.d.ts +18 -0
  426. package/dist/types/components/Accordion/AccordionHeader/AccordionHeader.d.ts.map +1 -0
  427. package/dist/types/components/Accordion/AccordionHeader/index.d.ts +2 -0
  428. package/dist/types/components/Accordion/AccordionHeader/index.d.ts.map +1 -0
  429. package/dist/types/components/Accordion/AccordionItem/AccordionItem.d.ts +32 -0
  430. package/dist/types/components/Accordion/AccordionItem/AccordionItem.d.ts.map +1 -0
  431. package/dist/types/components/Accordion/AccordionItem/index.d.ts +2 -0
  432. package/dist/types/components/Accordion/AccordionItem/index.d.ts.map +1 -0
  433. package/dist/types/components/Accordion/index.d.ts +17 -0
  434. package/dist/types/components/Accordion/index.d.ts.map +1 -0
  435. package/dist/types/components/Alert/Alert.d.ts +26 -0
  436. package/dist/types/components/Alert/Alert.d.ts.map +1 -0
  437. package/dist/types/components/Alert/index.d.ts +2 -0
  438. package/dist/types/components/Alert/index.d.ts.map +1 -0
  439. package/dist/types/components/Box/Box.d.ts +31 -0
  440. package/dist/types/components/Box/Box.d.ts.map +1 -0
  441. package/dist/types/components/Box/index.d.ts +3 -0
  442. package/dist/types/components/Box/index.d.ts.map +1 -0
  443. package/dist/types/components/Button/Button.d.ts +26 -0
  444. package/dist/types/components/Button/Button.d.ts.map +1 -0
  445. package/dist/types/components/Button/index.d.ts +3 -0
  446. package/dist/types/components/Button/index.d.ts.map +1 -0
  447. package/dist/types/components/Card/Card.d.ts +27 -0
  448. package/dist/types/components/Card/Card.d.ts.map +1 -0
  449. package/dist/types/components/Card/CardContent.d.ts +16 -0
  450. package/dist/types/components/Card/CardContent.d.ts.map +1 -0
  451. package/dist/types/components/Card/CardFooter.d.ts +16 -0
  452. package/dist/types/components/Card/CardFooter.d.ts.map +1 -0
  453. package/dist/types/components/Card/CardHeader.d.ts +16 -0
  454. package/dist/types/components/Card/CardHeader.d.ts.map +1 -0
  455. package/dist/types/components/Card/CardMedia.d.ts +16 -0
  456. package/dist/types/components/Card/CardMedia.d.ts.map +1 -0
  457. package/dist/types/components/Card/index.d.ts +18 -0
  458. package/dist/types/components/Card/index.d.ts.map +1 -0
  459. package/dist/types/components/Chip/Group/Group.d.ts +18 -0
  460. package/dist/types/components/Chip/Group/Group.d.ts.map +1 -0
  461. package/dist/types/components/Chip/Removable/Removable.d.ts +16 -0
  462. package/dist/types/components/Chip/Removable/Removable.d.ts.map +1 -0
  463. package/dist/types/components/Chip/Toggle/Toggle.d.ts +32 -0
  464. package/dist/types/components/Chip/Toggle/Toggle.d.ts.map +1 -0
  465. package/dist/types/components/Chip/index.d.ts +23 -0
  466. package/dist/types/components/Chip/index.d.ts.map +1 -0
  467. package/dist/types/components/Divider/Divider.d.ts +16 -0
  468. package/dist/types/components/Divider/Divider.d.ts.map +1 -0
  469. package/dist/types/components/Divider/index.d.ts +3 -0
  470. package/dist/types/components/Divider/index.d.ts.map +1 -0
  471. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +43 -0
  472. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
  473. package/dist/types/components/DropdownMenu/DropdownMenuContent.d.ts +8 -0
  474. package/dist/types/components/DropdownMenu/DropdownMenuContent.d.ts.map +1 -0
  475. package/dist/types/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.d.ts +14 -0
  476. package/dist/types/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.d.ts.map +1 -0
  477. package/dist/types/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.d.ts +5 -0
  478. package/dist/types/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.d.ts.map +1 -0
  479. package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts +14 -0
  480. package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts.map +1 -0
  481. package/dist/types/components/DropdownMenu/index.d.ts +18 -0
  482. package/dist/types/components/DropdownMenu/index.d.ts.map +1 -0
  483. package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts +7 -0
  484. package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts.map +1 -0
  485. package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts +25 -0
  486. package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts.map +1 -0
  487. package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts +9 -0
  488. package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts.map +1 -0
  489. package/dist/types/components/ErrorSummary/ErrorSummaryRoot.d.ts +15 -0
  490. package/dist/types/components/ErrorSummary/ErrorSummaryRoot.d.ts.map +1 -0
  491. package/dist/types/components/ErrorSummary/index.d.ts +17 -0
  492. package/dist/types/components/ErrorSummary/index.d.ts.map +1 -0
  493. package/dist/types/components/HelpText/HelpText.d.ts +26 -0
  494. package/dist/types/components/HelpText/HelpText.d.ts.map +1 -0
  495. package/dist/types/components/HelpText/HelpTextIcon.d.ts +10 -0
  496. package/dist/types/components/HelpText/HelpTextIcon.d.ts.map +1 -0
  497. package/dist/types/components/HelpText/index.d.ts +3 -0
  498. package/dist/types/components/HelpText/index.d.ts.map +1 -0
  499. package/dist/types/components/Link/Link.d.ts +19 -0
  500. package/dist/types/components/Link/Link.d.ts.map +1 -0
  501. package/dist/types/components/Link/index.d.ts +3 -0
  502. package/dist/types/components/Link/index.d.ts.map +1 -0
  503. package/dist/types/components/List/ListHeading.d.ts +10 -0
  504. package/dist/types/components/List/ListHeading.d.ts.map +1 -0
  505. package/dist/types/components/List/ListItem.d.ts +16 -0
  506. package/dist/types/components/List/ListItem.d.ts.map +1 -0
  507. package/dist/types/components/List/ListRoot.d.ts +31 -0
  508. package/dist/types/components/List/ListRoot.d.ts.map +1 -0
  509. package/dist/types/components/List/Lists.d.ts +30 -0
  510. package/dist/types/components/List/Lists.d.ts.map +1 -0
  511. package/dist/types/components/List/index.d.ts +18 -0
  512. package/dist/types/components/List/index.d.ts.map +1 -0
  513. package/dist/types/components/Modal/ModalContent/ModaContent.d.ts +16 -0
  514. package/dist/types/components/Modal/ModalContent/ModaContent.d.ts.map +1 -0
  515. package/dist/types/components/Modal/ModalDialog.d.ts +38 -0
  516. package/dist/types/components/Modal/ModalDialog.d.ts.map +1 -0
  517. package/dist/types/components/Modal/ModalFooter/ModalFooter.d.ts +16 -0
  518. package/dist/types/components/Modal/ModalFooter/ModalFooter.d.ts.map +1 -0
  519. package/dist/types/components/Modal/ModalHeader/ModalHeader.d.ts +28 -0
  520. package/dist/types/components/Modal/ModalHeader/ModalHeader.d.ts.map +1 -0
  521. package/dist/types/components/Modal/ModalRoot.d.ts +16 -0
  522. package/dist/types/components/Modal/ModalRoot.d.ts.map +1 -0
  523. package/dist/types/components/Modal/ModalTrigger/ModalTrigger.d.ts +14 -0
  524. package/dist/types/components/Modal/ModalTrigger/ModalTrigger.d.ts.map +1 -0
  525. package/dist/types/components/Modal/index.d.ts +23 -0
  526. package/dist/types/components/Modal/index.d.ts.map +1 -0
  527. package/dist/types/components/Modal/useModalState.d.ts +2 -0
  528. package/dist/types/components/Modal/useModalState.d.ts.map +1 -0
  529. package/dist/types/components/Modal/useScrollLock.d.ts +3 -0
  530. package/dist/types/components/Modal/useScrollLock.d.ts.map +1 -0
  531. package/dist/types/components/Pagination/Pagination.d.ts +46 -0
  532. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -0
  533. package/dist/types/components/Pagination/PaginationButton.d.ts +17 -0
  534. package/dist/types/components/Pagination/PaginationButton.d.ts.map +1 -0
  535. package/dist/types/components/Pagination/PaginationContent.d.ts +16 -0
  536. package/dist/types/components/Pagination/PaginationContent.d.ts.map +1 -0
  537. package/dist/types/components/Pagination/PaginationEllipsis.d.ts +6 -0
  538. package/dist/types/components/Pagination/PaginationEllipsis.d.ts.map +1 -0
  539. package/dist/types/components/Pagination/PaginationItem.d.ts +17 -0
  540. package/dist/types/components/Pagination/PaginationItem.d.ts.map +1 -0
  541. package/dist/types/components/Pagination/PaginationNextPrev.d.ts +11 -0
  542. package/dist/types/components/Pagination/PaginationNextPrev.d.ts.map +1 -0
  543. package/dist/types/components/Pagination/PaginationRoot.d.ts +42 -0
  544. package/dist/types/components/Pagination/PaginationRoot.d.ts.map +1 -0
  545. package/dist/types/components/Pagination/index.d.ts +28 -0
  546. package/dist/types/components/Pagination/index.d.ts.map +1 -0
  547. package/dist/types/components/Pagination/usePagination.d.ts +23 -0
  548. package/dist/types/components/Pagination/usePagination.d.ts.map +1 -0
  549. package/dist/types/components/Popover/Popover.d.ts +58 -0
  550. package/dist/types/components/Popover/Popover.d.ts.map +1 -0
  551. package/dist/types/components/Popover/PopoverContent.d.ts +8 -0
  552. package/dist/types/components/Popover/PopoverContent.d.ts.map +1 -0
  553. package/dist/types/components/Popover/PopoverTrigger.d.ts +14 -0
  554. package/dist/types/components/Popover/PopoverTrigger.d.ts.map +1 -0
  555. package/dist/types/components/Popover/index.d.ts +14 -0
  556. package/dist/types/components/Popover/index.d.ts.map +1 -0
  557. package/dist/types/components/Skeleton/Circle/Circle.d.ts +13 -0
  558. package/dist/types/components/Skeleton/Circle/Circle.d.ts.map +1 -0
  559. package/dist/types/components/Skeleton/Rectangle/Rectangle.d.ts +13 -0
  560. package/dist/types/components/Skeleton/Rectangle/Rectangle.d.ts.map +1 -0
  561. package/dist/types/components/Skeleton/Text/Text.d.ts +13 -0
  562. package/dist/types/components/Skeleton/Text/Text.d.ts.map +1 -0
  563. package/dist/types/components/Skeleton/index.d.ts +24 -0
  564. package/dist/types/components/Skeleton/index.d.ts.map +1 -0
  565. package/dist/types/components/SkipLink/SkipLink.d.ts +12 -0
  566. package/dist/types/components/SkipLink/SkipLink.d.ts.map +1 -0
  567. package/dist/types/components/SkipLink/index.d.ts +3 -0
  568. package/dist/types/components/SkipLink/index.d.ts.map +1 -0
  569. package/dist/types/components/Spinner/Spinner.d.ts +15 -0
  570. package/dist/types/components/Spinner/Spinner.d.ts.map +1 -0
  571. package/dist/types/components/Spinner/index.d.ts +3 -0
  572. package/dist/types/components/Spinner/index.d.ts.map +1 -0
  573. package/dist/types/components/Table/Table.d.ts +46 -0
  574. package/dist/types/components/Table/Table.d.ts.map +1 -0
  575. package/dist/types/components/Table/TableBody.d.ts +4 -0
  576. package/dist/types/components/Table/TableBody.d.ts.map +1 -0
  577. package/dist/types/components/Table/TableCell.d.ts +4 -0
  578. package/dist/types/components/Table/TableCell.d.ts.map +1 -0
  579. package/dist/types/components/Table/TableHead.d.ts +4 -0
  580. package/dist/types/components/Table/TableHead.d.ts.map +1 -0
  581. package/dist/types/components/Table/TableHeaderCell.d.ts +37 -0
  582. package/dist/types/components/Table/TableHeaderCell.d.ts.map +1 -0
  583. package/dist/types/components/Table/TableRow.d.ts +4 -0
  584. package/dist/types/components/Table/TableRow.d.ts.map +1 -0
  585. package/dist/types/components/Table/index.d.ts +16 -0
  586. package/dist/types/components/Table/index.d.ts.map +1 -0
  587. package/dist/types/components/Tabs/Tab/Tab.d.ts +10 -0
  588. package/dist/types/components/Tabs/Tab/Tab.d.ts.map +1 -0
  589. package/dist/types/components/Tabs/Tab/index.d.ts +2 -0
  590. package/dist/types/components/Tabs/Tab/index.d.ts.map +1 -0
  591. package/dist/types/components/Tabs/Tab/useTab.d.ts +10 -0
  592. package/dist/types/components/Tabs/Tab/useTab.d.ts.map +1 -0
  593. package/dist/types/components/Tabs/TabContent/TabContent.d.ts +10 -0
  594. package/dist/types/components/Tabs/TabContent/TabContent.d.ts.map +1 -0
  595. package/dist/types/components/Tabs/TabContent/index.d.ts +2 -0
  596. package/dist/types/components/Tabs/TabContent/index.d.ts.map +1 -0
  597. package/dist/types/components/Tabs/TabList/TabList.d.ts +3 -0
  598. package/dist/types/components/Tabs/TabList/TabList.d.ts.map +1 -0
  599. package/dist/types/components/Tabs/TabList/index.d.ts +2 -0
  600. package/dist/types/components/Tabs/TabList/index.d.ts.map +1 -0
  601. package/dist/types/components/Tabs/Tabs.d.ts +44 -0
  602. package/dist/types/components/Tabs/Tabs.d.ts.map +1 -0
  603. package/dist/types/components/Tabs/index.d.ts +15 -0
  604. package/dist/types/components/Tabs/index.d.ts.map +1 -0
  605. package/dist/types/components/Tag/Tag.d.ts +25 -0
  606. package/dist/types/components/Tag/Tag.d.ts.map +1 -0
  607. package/dist/types/components/Tag/index.d.ts +3 -0
  608. package/dist/types/components/Tag/index.d.ts.map +1 -0
  609. package/dist/types/components/ToggleGroup/ToggleGroup.d.ts +44 -0
  610. package/dist/types/components/ToggleGroup/ToggleGroup.d.ts.map +1 -0
  611. package/dist/types/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.d.ts +11 -0
  612. package/dist/types/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.d.ts.map +1 -0
  613. package/dist/types/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.d.ts +11 -0
  614. package/dist/types/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.d.ts.map +1 -0
  615. package/dist/types/components/ToggleGroup/index.d.ts +10 -0
  616. package/dist/types/components/ToggleGroup/index.d.ts.map +1 -0
  617. package/dist/types/components/Tooltip/Tooltip.d.ts +56 -0
  618. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -0
  619. package/dist/types/components/Tooltip/index.d.ts +3 -0
  620. package/dist/types/components/Tooltip/index.d.ts.map +1 -0
  621. package/dist/types/components/Typography/ErrorMessage/ErrorMessage.d.ts +18 -0
  622. package/dist/types/components/Typography/ErrorMessage/ErrorMessage.d.ts.map +1 -0
  623. package/dist/types/components/Typography/ErrorMessage/index.d.ts +2 -0
  624. package/dist/types/components/Typography/ErrorMessage/index.d.ts.map +1 -0
  625. package/dist/types/components/Typography/Heading/Heading.d.ts +20 -0
  626. package/dist/types/components/Typography/Heading/Heading.d.ts.map +1 -0
  627. package/dist/types/components/Typography/Heading/index.d.ts +2 -0
  628. package/dist/types/components/Typography/Heading/index.d.ts.map +1 -0
  629. package/dist/types/components/Typography/Ingress/Ingress.d.ts +16 -0
  630. package/dist/types/components/Typography/Ingress/Ingress.d.ts.map +1 -0
  631. package/dist/types/components/Typography/Ingress/index.d.ts +2 -0
  632. package/dist/types/components/Typography/Ingress/index.d.ts.map +1 -0
  633. package/dist/types/components/Typography/Label/Label.d.ts +20 -0
  634. package/dist/types/components/Typography/Label/Label.d.ts.map +1 -0
  635. package/dist/types/components/Typography/Label/index.d.ts +2 -0
  636. package/dist/types/components/Typography/Label/index.d.ts.map +1 -0
  637. package/dist/types/components/Typography/Paragraph/Paragraph.d.ts +18 -0
  638. package/dist/types/components/Typography/Paragraph/Paragraph.d.ts.map +1 -0
  639. package/dist/types/components/Typography/Paragraph/index.d.ts +2 -0
  640. package/dist/types/components/Typography/Paragraph/index.d.ts.map +1 -0
  641. package/dist/types/components/Typography/index.d.ts +6 -0
  642. package/dist/types/components/Typography/index.d.ts.map +1 -0
  643. package/dist/types/components/form/CharacterCounter.d.ts +21 -0
  644. package/dist/types/components/form/CharacterCounter.d.ts.map +1 -0
  645. package/dist/types/components/form/Checkbox/Checkbox.d.ts +23 -0
  646. package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -0
  647. package/dist/types/components/form/Checkbox/Group/Group.d.ts +29 -0
  648. package/dist/types/components/form/Checkbox/Group/Group.d.ts.map +1 -0
  649. package/dist/types/components/form/Checkbox/Group/index.d.ts +2 -0
  650. package/dist/types/components/form/Checkbox/Group/index.d.ts.map +1 -0
  651. package/dist/types/components/form/Checkbox/index.d.ts +22 -0
  652. package/dist/types/components/form/Checkbox/index.d.ts.map +1 -0
  653. package/dist/types/components/form/Checkbox/useCheckbox.d.ts +10 -0
  654. package/dist/types/components/form/Checkbox/useCheckbox.d.ts.map +1 -0
  655. package/dist/types/components/form/Combobox/Combobox.d.ts +213 -0
  656. package/dist/types/components/form/Combobox/Combobox.d.ts.map +1 -0
  657. package/dist/types/components/form/Combobox/Custom/Custom.d.ts +33 -0
  658. package/dist/types/components/form/Combobox/Custom/Custom.d.ts.map +1 -0
  659. package/dist/types/components/form/Combobox/Empty/Empty.d.ts +5 -0
  660. package/dist/types/components/form/Combobox/Empty/Empty.d.ts.map +1 -0
  661. package/dist/types/components/form/Combobox/Option/Description/Description.d.ts +5 -0
  662. package/dist/types/components/form/Combobox/Option/Description/Description.d.ts.map +1 -0
  663. package/dist/types/components/form/Combobox/Option/Icon/SelectedIcon.d.ts +10 -0
  664. package/dist/types/components/form/Combobox/Option/Icon/SelectedIcon.d.ts.map +1 -0
  665. package/dist/types/components/form/Combobox/Option/Option.d.ts +32 -0
  666. package/dist/types/components/form/Combobox/Option/Option.d.ts.map +1 -0
  667. package/dist/types/components/form/Combobox/data/data.d.ts +7 -0
  668. package/dist/types/components/form/Combobox/data/data.d.ts.map +1 -0
  669. package/dist/types/components/form/Combobox/index.d.ts +10 -0
  670. package/dist/types/components/form/Combobox/index.d.ts.map +1 -0
  671. package/dist/types/components/form/Combobox/internal/ComboboxChips.d.ts +6 -0
  672. package/dist/types/components/form/Combobox/internal/ComboboxChips.d.ts.map +1 -0
  673. package/dist/types/components/form/Combobox/internal/ComboboxClearButton.d.ts +6 -0
  674. package/dist/types/components/form/Combobox/internal/ComboboxClearButton.d.ts.map +1 -0
  675. package/dist/types/components/form/Combobox/internal/ComboboxError.d.ts +13 -0
  676. package/dist/types/components/form/Combobox/internal/ComboboxError.d.ts.map +1 -0
  677. package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts +7 -0
  678. package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts.map +1 -0
  679. package/dist/types/components/form/Combobox/internal/ComboboxLabel.d.ts +16 -0
  680. package/dist/types/components/form/Combobox/internal/ComboboxLabel.d.ts.map +1 -0
  681. package/dist/types/components/form/Combobox/internal/ComboboxNative.d.ts +13 -0
  682. package/dist/types/components/form/Combobox/internal/ComboboxNative.d.ts.map +1 -0
  683. package/dist/types/components/form/Combobox/useCombobox.d.ts +28 -0
  684. package/dist/types/components/form/Combobox/useCombobox.d.ts.map +1 -0
  685. package/dist/types/components/form/Fieldset/Fieldset.d.ts +35 -0
  686. package/dist/types/components/form/Fieldset/Fieldset.d.ts.map +1 -0
  687. package/dist/types/components/form/Fieldset/index.d.ts +2 -0
  688. package/dist/types/components/form/Fieldset/index.d.ts.map +1 -0
  689. package/dist/types/components/form/Fieldset/useFieldset.d.ts +18 -0
  690. package/dist/types/components/form/Fieldset/useFieldset.d.ts.map +1 -0
  691. package/dist/types/components/form/NativeSelect/NativeSelect.d.ts +56 -0
  692. package/dist/types/components/form/NativeSelect/NativeSelect.d.ts.map +1 -0
  693. package/dist/types/components/form/NativeSelect/index.d.ts +3 -0
  694. package/dist/types/components/form/NativeSelect/index.d.ts.map +1 -0
  695. package/dist/types/components/form/NativeSelect/useNativeSelect.d.ts +10 -0
  696. package/dist/types/components/form/NativeSelect/useNativeSelect.d.ts.map +1 -0
  697. package/dist/types/components/form/Radio/Group/Group.d.ts +43 -0
  698. package/dist/types/components/form/Radio/Group/Group.d.ts.map +1 -0
  699. package/dist/types/components/form/Radio/Group/index.d.ts +2 -0
  700. package/dist/types/components/form/Radio/Group/index.d.ts.map +1 -0
  701. package/dist/types/components/form/Radio/Radio.d.ts +15 -0
  702. package/dist/types/components/form/Radio/Radio.d.ts.map +1 -0
  703. package/dist/types/components/form/Radio/index.d.ts +20 -0
  704. package/dist/types/components/form/Radio/index.d.ts.map +1 -0
  705. package/dist/types/components/form/Radio/useRadio.d.ts +10 -0
  706. package/dist/types/components/form/Radio/useRadio.d.ts.map +1 -0
  707. package/dist/types/components/form/Search/Search.d.ts +74 -0
  708. package/dist/types/components/form/Search/Search.d.ts.map +1 -0
  709. package/dist/types/components/form/Search/index.d.ts +2 -0
  710. package/dist/types/components/form/Search/index.d.ts.map +1 -0
  711. package/dist/types/components/form/Search/useSearch.d.ts +12 -0
  712. package/dist/types/components/form/Search/useSearch.d.ts.map +1 -0
  713. package/dist/types/components/form/Switch/Switch.d.ts +23 -0
  714. package/dist/types/components/form/Switch/Switch.d.ts.map +1 -0
  715. package/dist/types/components/form/Switch/index.d.ts +2 -0
  716. package/dist/types/components/form/Switch/index.d.ts.map +1 -0
  717. package/dist/types/components/form/Switch/useSwitch.d.ts +10 -0
  718. package/dist/types/components/form/Switch/useSwitch.d.ts.map +1 -0
  719. package/dist/types/components/form/Textarea/Textarea.d.ts +51 -0
  720. package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -0
  721. package/dist/types/components/form/Textarea/index.d.ts +2 -0
  722. package/dist/types/components/form/Textarea/index.d.ts.map +1 -0
  723. package/dist/types/components/form/Textarea/useTextarea.d.ts +10 -0
  724. package/dist/types/components/form/Textarea/useTextarea.d.ts.map +1 -0
  725. package/dist/types/components/form/Textfield/Textfield.d.ts +67 -0
  726. package/dist/types/components/form/Textfield/Textfield.d.ts.map +1 -0
  727. package/dist/types/components/form/Textfield/index.d.ts +2 -0
  728. package/dist/types/components/form/Textfield/index.d.ts.map +1 -0
  729. package/dist/types/components/form/Textfield/useTextfield.d.ts +10 -0
  730. package/dist/types/components/form/Textfield/useTextfield.d.ts.map +1 -0
  731. package/dist/types/components/form/useFormField.d.ts +32 -0
  732. package/dist/types/components/form/useFormField.d.ts.map +1 -0
  733. package/dist/types/components/index.d.ts +34 -0
  734. package/dist/types/components/index.d.ts.map +1 -0
  735. package/dist/types/hooks/index.d.ts +5 -0
  736. package/dist/types/hooks/index.d.ts.map +1 -0
  737. package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  738. package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
  739. package/dist/types/hooks/useMediaQuery.d.ts +2 -0
  740. package/dist/types/hooks/useMediaQuery.d.ts.map +1 -0
  741. package/dist/types/hooks/usePrevious.d.ts +2 -0
  742. package/dist/types/hooks/usePrevious.d.ts.map +1 -0
  743. package/dist/types/hooks/useSynchronizedAnimation.d.ts +3 -0
  744. package/dist/types/hooks/useSynchronizedAnimation.d.ts.map +1 -0
  745. package/dist/types/index.d.ts +2 -0
  746. package/dist/types/index.d.ts.map +1 -0
  747. package/dist/types/types/OverridableComponent.d.ts +12 -0
  748. package/dist/types/types/OverridableComponent.d.ts.map +1 -0
  749. package/dist/types/types/Portal.d.ts +9 -0
  750. package/dist/types/types/Portal.d.ts.map +1 -0
  751. package/dist/types/utilities/AnimateHeight/AnimateHeight.d.ts +9 -0
  752. package/dist/types/utilities/AnimateHeight/AnimateHeight.d.ts.map +1 -0
  753. package/dist/types/utilities/AnimateHeight/index.d.ts +3 -0
  754. package/dist/types/utilities/AnimateHeight/index.d.ts.map +1 -0
  755. package/dist/types/utilities/RovingTabIndex/RovingTabindexItem.d.ts +19 -0
  756. package/dist/types/utilities/RovingTabIndex/RovingTabindexItem.d.ts.map +1 -0
  757. package/dist/types/utilities/RovingTabIndex/RovingTabindexRoot.d.ts +28 -0
  758. package/dist/types/utilities/RovingTabIndex/RovingTabindexRoot.d.ts.map +1 -0
  759. package/dist/types/utilities/RovingTabIndex/index.d.ts +4 -0
  760. package/dist/types/utilities/RovingTabIndex/index.d.ts.map +1 -0
  761. package/dist/types/utilities/RovingTabIndex/useRovingTabindex.d.ts +278 -0
  762. package/dist/types/utilities/RovingTabIndex/useRovingTabindex.d.ts.map +1 -0
  763. package/dist/types/utilities/index.d.ts +2 -0
  764. package/dist/types/utilities/index.d.ts.map +1 -0
  765. package/dist/types/utilities/objectUtils.d.ts +11 -0
  766. package/dist/types/utilities/objectUtils.d.ts.map +1 -0
  767. package/dist/types/utilities/useDebounce.d.ts +4 -0
  768. package/dist/types/utilities/useDebounce.d.ts.map +1 -0
  769. package/package.json +48 -0
@@ -0,0 +1,27 @@
1
+ 'use client';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
5
+ import { useMergeRefs } from '../../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
6
+ import classes from './Checkbox.module.css.js';
7
+ import { useCheckbox } from './useCheckbox.js';
8
+ import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
9
+ import { omit } from '../../../utilities/objectUtils.js';
10
+ import { Label } from '../../Typography/Label/Label.js';
11
+
12
+ const Checkbox = forwardRef((props, ref) => {
13
+ const { children, description, className, ...rest } = props;
14
+ const { inputProps, descriptionId, hasError, size = 'medium', readOnly, } = useCheckbox(props);
15
+ const inputRef = useMergeRefs([
16
+ ref,
17
+ (el) => {
18
+ if (el) {
19
+ el.indeterminate = rest.indeterminate ?? false;
20
+ }
21
+ },
22
+ ]);
23
+ return (jsx(Paragraph, { asChild: true, size: size, children: jsxs("div", { className: clsx(classes.container, classes[size], inputProps.disabled && classes.disabled, hasError && classes.error, readOnly && classes.readonly, className), children: [jsx("input", { className: classes.input, ref: inputRef, ...omit(['size', 'error', 'indeterminate'], rest), ...inputProps, type: 'checkbox', "aria-checked": rest.indeterminate ? 'mixed' : inputProps.checked }), jsx(Label, { className: classes.label, htmlFor: inputProps.id, size: size, weight: 'regular', children: jsx("span", { children: children }) }), description && (jsx(Paragraph, { asChild: true, size: size, children: jsx("div", { id: descriptionId, className: classes.description, children: description }) }))] }) }));
24
+ });
25
+ Checkbox.displayName = 'Checkbox';
26
+
27
+ export { Checkbox };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"container":"fds-checkbox-container-874e13bc","label":"fds-checkbox-label-874e13bc","description":"fds-checkbox-description-874e13bc","input":"fds-checkbox-input-874e13bc","disabled":"fds-checkbox-disabled-874e13bc","readonly":"fds-checkbox-readonly-874e13bc","error":"fds-checkbox-error-874e13bc","small":"fds-checkbox-small-874e13bc","medium":"fds-checkbox-medium-874e13bc","large":"fds-checkbox-large-874e13bc"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,27 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { createContext, forwardRef, useState } from 'react';
4
+ import { Fieldset } from '../../Fieldset/Fieldset.js';
5
+
6
+ const CheckboxGroupContext = createContext(null);
7
+ const CheckboxGroup = forwardRef(({ onChange, children, value, readOnly, defaultValue, size = 'medium', ...rest }, ref) => {
8
+ const [internalValue, setInternalValue] = useState(defaultValue ?? []);
9
+ const toggleValue = (checkboxValue) => {
10
+ const currentValue = value ?? internalValue;
11
+ const updatedValue = currentValue.includes(checkboxValue)
12
+ ? currentValue.filter((x) => x !== checkboxValue)
13
+ : [...currentValue, checkboxValue];
14
+ if (typeof value !== 'undefined' || value !== null) {
15
+ setInternalValue(updatedValue);
16
+ }
17
+ onChange?.(updatedValue);
18
+ };
19
+ return (jsx(Fieldset, { readOnly: readOnly, size: size, ref: ref, ...rest, children: jsx(CheckboxGroupContext.Provider, { value: {
20
+ value,
21
+ defaultValue,
22
+ toggleValue,
23
+ }, children: jsx("div", { children: children }) }) }));
24
+ });
25
+ CheckboxGroup.displayName = 'CheckboxGroup';
26
+
27
+ export { CheckboxGroup, CheckboxGroupContext };
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ import { Checkbox as Checkbox$1 } from './Checkbox.js';
3
+ import { CheckboxGroup } from './Group/Group.js';
4
+
5
+ /** `<input> element with `type="checkbox"` used for selecting one option */
6
+ const Checkbox = Checkbox$1;
7
+ Checkbox.Group = CheckboxGroup;
8
+ Checkbox.Group.displayName = 'Checkbox.Group';
9
+
10
+ export { Checkbox, CheckboxGroup };
@@ -0,0 +1,42 @@
1
+ 'use client';
2
+ import { useContext } from 'react';
3
+ import { useFormField } from '../useFormField.js';
4
+ import { CheckboxGroupContext } from './Group/Group.js';
5
+
6
+ /** Handles props for `Checkbox` in context with `Checkbox.Group` (and `Fieldset`) */
7
+ const useCheckbox = (props) => {
8
+ const checkboxGroup = useContext(CheckboxGroupContext);
9
+ const { inputProps, readOnly, ...rest } = useFormField(props, 'checkbox');
10
+ return {
11
+ ...rest,
12
+ readOnly,
13
+ inputProps: {
14
+ ...inputProps,
15
+ readOnly,
16
+ type: 'checkbox',
17
+ defaultChecked: checkboxGroup?.defaultValue
18
+ ? checkboxGroup?.defaultValue.includes(props.value)
19
+ : props.defaultChecked,
20
+ checked: checkboxGroup?.value
21
+ ? checkboxGroup?.value.includes(props.value)
22
+ : props.checked,
23
+ onClick: (e) => {
24
+ if (readOnly) {
25
+ e.preventDefault();
26
+ return;
27
+ }
28
+ props?.onClick?.(e);
29
+ },
30
+ onChange: (e) => {
31
+ if (readOnly) {
32
+ e.preventDefault();
33
+ return;
34
+ }
35
+ props?.onChange?.(e);
36
+ checkboxGroup?.toggleValue(props.value);
37
+ },
38
+ },
39
+ };
40
+ };
41
+
42
+ export { useCheckbox };
@@ -0,0 +1,301 @@
1
+ 'use client';
2
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
+ import { forwardRef, useRef, useId, useState, useEffect, createContext } from 'react';
4
+ import { useFloating, useRole, useDismiss, useListNavigation, useInteractions, FloatingPortal, FloatingFocusManager } from '../../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
5
+ import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
6
+ import { useVirtualizer } from '../../../node_modules/@tanstack/react-virtual/build/lib/index.js';
7
+ import { useFormField } from '../useFormField.js';
8
+ import useDebounce from '../../../utilities/useDebounce.js';
9
+ import useCombobox, { isInteractiveComboboxCustom, isComboboxOption } from './useCombobox.js';
10
+ import classes from './Combobox.module.css.js';
11
+ import ComboboxInput from './internal/ComboboxInput.js';
12
+ import ComboboxLabel from './internal/ComboboxLabel.js';
13
+ import ComboboxError from './internal/ComboboxError.js';
14
+ import ComboboxNative from './internal/ComboboxNative.js';
15
+ import ComboboxCustom from './Custom/Custom.js';
16
+ import { Box } from '../../Box/Box.js';
17
+ import { Spinner } from '../../Spinner/Spinner.js';
18
+ import { autoUpdate } from '../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.js';
19
+ import { flip, size, offset } from '../../../node_modules/@floating-ui/core/dist/floating-ui.core.js';
20
+ import { omit } from '../../../utilities/objectUtils.js';
21
+
22
+ const Combobox = forwardRef(({ value, onValueChange, label, hideLabel = false, description, multiple = false, size: size$1 = 'medium', disabled = false, readOnly = false, hideChips = false, cleanButtonLabel = 'Fjern alt', error, errorId, id, name, portal = true, htmlSize = 0, virtual = false, children, style, loading, loadingLabel = 'Laster...', filter = (inputValue, option) => {
23
+ return option.label.toLowerCase().startsWith(inputValue.toLowerCase());
24
+ }, chipSrLabel = (option) => 'Slett ' + option.label, className, ...rest }, forwareddRef) => {
25
+ const inputRef = useRef(null);
26
+ const portalRef = useRef(null);
27
+ const listId = useId();
28
+ const [open, setOpen] = useState(false);
29
+ const [inputValue, setInputValue] = useState(rest.inputValue || '');
30
+ const [activeIndex, setActiveIndex] = useState(null);
31
+ const [selectedOptions, setSelectedOptions] = useState([]);
32
+ const [activeDescendant, setActiveDescendant] = useState(undefined);
33
+ const [prevSelectedHash, setPrevSelectedHash] = useState(JSON.stringify(selectedOptions));
34
+ useEffect(() => {
35
+ if (rest.inputValue !== undefined) {
36
+ setInputValue(rest.inputValue);
37
+ }
38
+ }, [rest.inputValue]);
39
+ const formFieldProps = useFormField({
40
+ disabled,
41
+ readOnly,
42
+ error,
43
+ errorId,
44
+ size: size$1,
45
+ description,
46
+ id,
47
+ }, 'combobox');
48
+ const listRef = useRef([]);
49
+ const { options, optionsChildren, restChildren, optionValues, customIds } = useCombobox({
50
+ children,
51
+ inputValue,
52
+ filter,
53
+ multiple,
54
+ selectedOptions,
55
+ });
56
+ // if value is set, set input value to the label of the value
57
+ useEffect(() => {
58
+ if (value && value.length > 0 && !multiple) {
59
+ const option = options.find((option) => option.value === value[0]);
60
+ setInputValue(option?.label || '');
61
+ }
62
+ }, [multiple, value, options]);
63
+ // floating UI
64
+ const { refs, floatingStyles, context } = useFloating({
65
+ whileElementsMounted: autoUpdate,
66
+ open,
67
+ onOpenChange: setOpen,
68
+ middleware: [
69
+ flip({ padding: 10 }),
70
+ size({
71
+ apply({ rects, elements }) {
72
+ requestAnimationFrame(() => {
73
+ Object.assign(elements.floating.style, {
74
+ width: `calc(${rects.reference.width}px - calc(var(--fds-spacing-2) * 2))`,
75
+ maxHeight: `200px`,
76
+ });
77
+ });
78
+ },
79
+ }),
80
+ offset(10),
81
+ ],
82
+ });
83
+ const role = useRole(context, { role: 'listbox' });
84
+ const dismiss = useDismiss(context);
85
+ const listNav = useListNavigation(context, {
86
+ listRef,
87
+ activeIndex,
88
+ virtual: true,
89
+ scrollItemIntoView: true,
90
+ enabled: open,
91
+ });
92
+ const { getReferenceProps, getFloatingProps } = useInteractions([
93
+ role,
94
+ dismiss,
95
+ listNav,
96
+ ]);
97
+ // remove active index if combobox is closed
98
+ useEffect(() => {
99
+ if (!open) {
100
+ setActiveIndex(null);
101
+ }
102
+ }, [open]);
103
+ // Send new value if option was clicked
104
+ useEffect(() => {
105
+ const selectedHash = JSON.stringify(selectedOptions);
106
+ if (prevSelectedHash === selectedHash)
107
+ return;
108
+ const values = selectedOptions.map((option) => option.value);
109
+ onValueChange?.(values);
110
+ setPrevSelectedHash(selectedHash);
111
+ }, [onValueChange, selectedOptions, prevSelectedHash]);
112
+ useEffect(() => {
113
+ if (value && options.length > 0) {
114
+ const updatedSelectedOptions = value.map((option) => {
115
+ const value = options.find((value) => value.value === option);
116
+ return value;
117
+ });
118
+ setSelectedOptions(updatedSelectedOptions);
119
+ }
120
+ }, [multiple, prevSelectedHash, value, options]);
121
+ // handle click on option, either select or deselect - Handles single or multiple
122
+ const handleSelectOption = (option) => {
123
+ // if option is already selected, remove it
124
+ if (value && value.includes(option.value)) {
125
+ setSelectedOptions((prev) => prev.filter((i) => i.value !== option.value));
126
+ return;
127
+ }
128
+ if (multiple) {
129
+ setSelectedOptions([...selectedOptions, option]);
130
+ setInputValue('');
131
+ inputRef.current?.focus();
132
+ }
133
+ else {
134
+ setSelectedOptions([option]);
135
+ setInputValue(option?.label || '');
136
+ // move cursor to the end of the input
137
+ setTimeout(() => {
138
+ inputRef.current?.setSelectionRange(option?.label?.length || 0, option?.label?.length || 0);
139
+ }, 0);
140
+ }
141
+ !multiple && setOpen(false);
142
+ refs.domReference.current?.focus();
143
+ };
144
+ const debouncedHandleSelectOption = useDebounce(handleSelectOption, 50);
145
+ // handle keyboard navigation in the list
146
+ const handleKeyDownFunc = (event) => {
147
+ const navigateable = customIds.length + optionsChildren.length;
148
+ if (formFieldProps.readOnly || disabled)
149
+ return;
150
+ if (!event)
151
+ return;
152
+ switch (event.key) {
153
+ case 'ArrowDown':
154
+ event.preventDefault();
155
+ if (!open)
156
+ setOpen(true);
157
+ setActiveIndex((prevActiveIndex) => {
158
+ if (prevActiveIndex === null) {
159
+ return 0;
160
+ }
161
+ return Math.min(prevActiveIndex + 1, navigateable - 1);
162
+ });
163
+ break;
164
+ case 'ArrowUp':
165
+ event.preventDefault();
166
+ /* If we are on the first item, close */
167
+ setActiveIndex((prevActiveIndex) => {
168
+ if (prevActiveIndex === 0) {
169
+ setOpen(false);
170
+ return null;
171
+ }
172
+ if (prevActiveIndex === null) {
173
+ return null;
174
+ }
175
+ return Math.max(prevActiveIndex - 1, 0);
176
+ });
177
+ break;
178
+ case 'Enter':
179
+ event.preventDefault();
180
+ if (activeIndex !== null &&
181
+ (optionsChildren[activeIndex] || customIds.length > 0)) {
182
+ // check if we are in the custom components
183
+ if (activeIndex <= customIds.length) {
184
+ // send `onSelect` event to the custom component
185
+ const selectedId = customIds[activeIndex];
186
+ const selectedComponent = restChildren.find((component) => isInteractiveComboboxCustom(component) &&
187
+ component.props?.id === selectedId);
188
+ if (isInteractiveComboboxCustom(selectedComponent) &&
189
+ selectedComponent.props.onSelect) {
190
+ selectedComponent.props.onSelect();
191
+ }
192
+ }
193
+ // if we are in the options, find the actual index
194
+ const valueIndex = activeIndex - customIds.length;
195
+ const child = optionsChildren[valueIndex];
196
+ if (isComboboxOption(child)) {
197
+ const props = child.props;
198
+ const option = options.find((option) => option.value === props.value);
199
+ if (!multiple) {
200
+ // check if option is already selected, if so, deselect it
201
+ if (selectedOptions.find((i) => i.value === option?.value)) {
202
+ setSelectedOptions([]);
203
+ setInputValue('');
204
+ return;
205
+ }
206
+ }
207
+ debouncedHandleSelectOption(option);
208
+ }
209
+ }
210
+ break;
211
+ case 'Backspace':
212
+ if (inputValue === '' && multiple && selectedOptions.length > 0) {
213
+ setSelectedOptions((prev) => prev.slice(0, prev.length - 1));
214
+ }
215
+ // if we are in single mode, we need to set activeValue to null
216
+ if (!multiple) {
217
+ setSelectedOptions([]);
218
+ }
219
+ break;
220
+ }
221
+ };
222
+ const handleKeyDown = useDebounce(handleKeyDownFunc, 20);
223
+ const rowVirtualizer = useVirtualizer({
224
+ count: optionsChildren.length,
225
+ getScrollElement: () => refs.floating.current,
226
+ estimateSize: () => 40,
227
+ measureElement: (elem) => {
228
+ return elem.getBoundingClientRect().height;
229
+ },
230
+ overscan: 1,
231
+ });
232
+ return (jsxs(ComboboxContext.Provider, { value: {
233
+ size: size$1,
234
+ options,
235
+ selectedOptions,
236
+ multiple,
237
+ activeIndex,
238
+ disabled,
239
+ readOnly,
240
+ open,
241
+ inputRef,
242
+ refs,
243
+ inputValue,
244
+ activeDescendant,
245
+ error,
246
+ formFieldProps,
247
+ name,
248
+ htmlSize,
249
+ optionValues,
250
+ hideChips,
251
+ cleanButtonLabel,
252
+ listId,
253
+ setInputValue,
254
+ setActiveIndex,
255
+ handleKeyDown,
256
+ setOpen,
257
+ getReferenceProps,
258
+ setSelectedOptions,
259
+ /* Recieves index of option, and the ID of the button element */
260
+ setActiveOption: (index, id) => {
261
+ if (readOnly)
262
+ return;
263
+ if (disabled)
264
+ return;
265
+ setActiveIndex(index);
266
+ setActiveDescendant(id);
267
+ },
268
+ /* Recieves the value of the option, and searches for it in our values lookup */
269
+ onOptionClick: (value) => {
270
+ if (readOnly)
271
+ return;
272
+ if (disabled)
273
+ return;
274
+ const option = options.find((option) => option.value === value);
275
+ debouncedHandleSelectOption(option);
276
+ },
277
+ handleSelectOption: debouncedHandleSelectOption,
278
+ chipSrLabel,
279
+ listRef,
280
+ forwareddRef,
281
+ }, children: [jsxs(Box, { className: clsx(classes.combobox, disabled && classes.disabled, className), style: style, ref: portalRef, children: [name && (jsx(ComboboxNative, { name: name, selectedOptions: selectedOptions, multiple: multiple })), jsx(ComboboxLabel, { label: label, description: description, size: size$1, readOnly: readOnly, hideLabel: hideLabel, formFieldProps: formFieldProps }), jsx(ComboboxInput, { ...omit(['inputValue'], rest), "aria-busy": loading }), jsx(ComboboxError, { size: size$1, error: error, formFieldProps: formFieldProps })] }), open && (jsx(FloatingPortal, { root: portal ? null : portalRef, children: jsx(FloatingFocusManager, { context: context, initialFocus: -1, visuallyHiddenDismiss: true, children: jsxs(Box, { id: listId, shadow: 'medium', borderRadius: 'medium', borderColor: 'default', "aria-labelledby": formFieldProps.inputProps.id, "aria-autocomplete": 'list', tabIndex: -1, ...getFloatingProps({
282
+ ref: refs.setFloating,
283
+ style: {
284
+ ...floatingStyles,
285
+ },
286
+ }), className: clsx(classes.optionsWrapper, classes[size$1]), children: [virtual && (jsx("div", { style: {
287
+ height: `${rowVirtualizer.getTotalSize()}px`,
288
+ width: '100%',
289
+ position: 'relative',
290
+ }, children: rowVirtualizer.getVirtualItems().map((virtualRow) => (jsx("div", { ref: rowVirtualizer.measureElement, "data-index": virtualRow.index, style: {
291
+ position: 'absolute',
292
+ top: 0,
293
+ left: 0,
294
+ width: '100%',
295
+ transform: `translateY(${virtualRow.start}px)`,
296
+ }, children: optionsChildren[virtualRow.index] }, virtualRow.index))) })), loading ? (jsxs(ComboboxCustom, { className: classes.loading, children: [jsx(Spinner, { title: 'Laster', size: 'small' }), loadingLabel] })) : (jsxs(Fragment, { children: [restChildren, !virtual && optionsChildren] }))] }) }) }))] }));
297
+ });
298
+ const ComboboxContext = createContext(undefined);
299
+ Combobox.displayName = 'Combobox';
300
+
301
+ export { Combobox, ComboboxContext };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"combobox":"fds-combobox-combobox-fe4dfa7c","optionsWrapper":"fds-combobox-optionsWrapper-fe4dfa7c","readOnly":"fds-combobox-readOnly-fe4dfa7c","inputWrapper":"fds-combobox-inputWrapper-fe4dfa7c","small":"fds-combobox-small-fe4dfa7c","medium":"fds-combobox-medium-fe4dfa7c","large":"fds-combobox-large-fe4dfa7c","error":"fds-combobox-error-fe4dfa7c","chipAndInput":"fds-combobox-chipAndInput-fe4dfa7c","chips":"fds-combobox-chips-fe4dfa7c","arrow":"fds-combobox-arrow-fe4dfa7c","readonly":"fds-combobox-readonly-fe4dfa7c","label":"fds-combobox-label-fe4dfa7c","description":"fds-combobox-description-fe4dfa7c","clearButton":"fds-combobox-clearButton-fe4dfa7c","disabled":"fds-combobox-disabled-fe4dfa7c","padlock":"fds-combobox-padlock-fe4dfa7c","errorMessage":"fds-combobox-errorMessage-fe4dfa7c","loading":"fds-combobox-loading-fe4dfa7c","inFocus":"fds-combobox-inFocus-fe4dfa7c","showChecked":"fds-combobox-showChecked-fe4dfa7c"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useId, useContext, useMemo } from 'react';
4
+ import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
5
+ import { Slot as $5e63c961fc1ce211$export$8c6ed5c666ac1360 } from '../../../../node_modules/@radix-ui/react-slot/dist/index.js';
6
+ import { ComboboxContext } from '../Combobox.js';
7
+ import classes from './Custom.module.css.js';
8
+ import { omit } from '../../../../utilities/objectUtils.js';
9
+
10
+ const ComboboxCustom = forwardRef(({ asChild, interactive, id, className, ...rest }, ref) => {
11
+ if (interactive && !id) {
12
+ throw new Error('If ComboboxCustom is interactive, it must have an id');
13
+ }
14
+ const Component = asChild ? $5e63c961fc1ce211$export$8c6ed5c666ac1360 : 'div';
15
+ const randomId = useId();
16
+ const context = useContext(ComboboxContext);
17
+ if (!context) {
18
+ throw new Error('ComboboxCustom must be used within a Combobox');
19
+ }
20
+ const { size, activeIndex, optionValues, setActiveIndex } = context;
21
+ const index = useMemo(() => id && optionValues.indexOf(id), [optionValues, id]);
22
+ return (jsx(Component, { ref: ref, tabIndex: -1, className: clsx(classes.custom, classes[size], className), id: id || randomId, role: 'option', "aria-selected": activeIndex === index, "data-active": activeIndex === index, onMouseEnter: () => {
23
+ typeof index === 'number' && setActiveIndex(index);
24
+ }, onFocus: () => {
25
+ typeof index === 'number' && setActiveIndex(index);
26
+ }, ...omit(['interactive'], rest) }));
27
+ });
28
+ var ComboboxCustom$1 = ComboboxCustom;
29
+
30
+ export { ComboboxCustom, ComboboxCustom$1 as default };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"custom":"fds-custom-custom-385f0b36","large":"fds-custom-large-385f0b36","medium":"fds-custom-medium-385f0b36","small":"fds-custom-small-385f0b36"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useContext } from 'react';
4
+ import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
5
+ import { ComboboxContext } from '../Combobox.js';
6
+ import classes from './Empty.module.css.js';
7
+
8
+ const ComboboxEmpty = forwardRef(({ children, className, ...rest }, ref) => {
9
+ const context = useContext(ComboboxContext);
10
+ if (!context) {
11
+ throw new Error('ComboboxEmpty must be used within a Combobox');
12
+ }
13
+ const { optionValues, size } = context;
14
+ return (optionValues.length === 0 && (jsx("div", { ref: ref, className: clsx(classes.empty, classes[size], className), ...rest, children: children })));
15
+ });
16
+ ComboboxEmpty.displayName = 'ComboboxEmpty';
17
+
18
+ export { ComboboxEmpty, ComboboxEmpty as default };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"empty":"fds-empty-empty-a5131d3a","large":"fds-empty-large-a5131d3a","medium":"fds-empty-medium-a5131d3a","small":"fds-empty-small-a5131d3a"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { clsx } from '../../../../../node_modules/clsx/dist/clsx.js';
5
+ import classes from './Description.module.css.js';
6
+
7
+ const ComboboxOptionDescription = forwardRef(({ children, className, ...rest }, ref) => {
8
+ return (jsx("span", { className: clsx(classes.description, className), ref: ref, ...rest, children: children }));
9
+ });
10
+ ComboboxOptionDescription.displayName = 'ComboboxOptionDescription';
11
+ var ComboboxOptionDescription$1 = ComboboxOptionDescription;
12
+
13
+ export { ComboboxOptionDescription, ComboboxOptionDescription$1 as default };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"description":"fds-description-description-10814aaa"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { CheckmarkIcon } from '@navikt/aksel-icons';
4
+ import { clsx } from '../../../../../node_modules/clsx/dist/clsx.js';
5
+ import classes from '../Option.module.css.js';
6
+
7
+ const SelectedIcon = ({ multiple, selected }) => {
8
+ return (jsx("div", { className: clsx(multiple && classes.selectIconWrapper, selected && classes.selected), children: selected && (jsx(CheckmarkIcon, { className: classes.selectIcon, "aria-hidden": true })) }));
9
+ };
10
+ SelectedIcon.displayName = 'SelectedIcon';
11
+
12
+ export { SelectedIcon, SelectedIcon as default };
@@ -0,0 +1,51 @@
1
+ 'use client';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useId, useContext, useMemo, useEffect } from 'react';
4
+ import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
5
+ import { useMergeRefs } from '../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
6
+ import { ComboboxContext } from '../Combobox.js';
7
+ import useDebounce from '../../../../utilities/useDebounce.js';
8
+ import { SelectedIcon } from './Icon/SelectedIcon.js';
9
+ import classes from './Option.module.css.js';
10
+ import ComboboxOptionDescription from './Description/Description.js';
11
+ import { omit } from '../../../../utilities/objectUtils.js';
12
+ import { Label } from '../../../Typography/Label/Label.js';
13
+
14
+ const ComboboxOption = forwardRef(({ value, description, children, className, ...rest }, ref) => {
15
+ const labelId = useId();
16
+ const generatedId = useId();
17
+ const context = useContext(ComboboxContext);
18
+ if (!context) {
19
+ throw new Error('ComboboxOption must be used within a Combobox');
20
+ }
21
+ const { selectedOptions, activeIndex, setActiveOption, onOptionClick, size, listRef, optionValues, multiple, } = context;
22
+ const index = useMemo(() => optionValues.indexOf(value), [optionValues, value]);
23
+ const combinedRef = useMergeRefs([
24
+ (node) => {
25
+ listRef.current[index] = node;
26
+ },
27
+ ref,
28
+ ]);
29
+ if (index === -1) {
30
+ throw new Error('Internal error: ComboboxOption did not find index');
31
+ }
32
+ const selected = selectedOptions.find((option) => option.value === value);
33
+ useEffect(() => {
34
+ if (activeIndex === index)
35
+ setActiveOption(index, rest.id || generatedId);
36
+ }, [activeIndex, generatedId, index, rest.id, setActiveOption]);
37
+ const onOptionClickDebounced = useDebounce(() => onOptionClick(value), 50);
38
+ return (jsxs("button", { id: rest.id || generatedId, role: 'option', type: 'button', "aria-selected": !!selected, "aria-labelledby": labelId, tabIndex: -1, onClick: (e) => {
39
+ onOptionClickDebounced();
40
+ rest.onClick?.(e);
41
+ }, onMouseEnter: (e) => {
42
+ setActiveOption(index, labelId);
43
+ rest.onMouseEnter?.(e);
44
+ }, onFocus: (e) => {
45
+ setActiveOption(index, labelId);
46
+ rest.onFocus?.(e);
47
+ }, className: clsx(classes.option, classes[size], activeIndex === index && classes.active, multiple && classes.multiple, className), ref: combinedRef, ...omit(['displayValue'], rest), children: [jsx(Label, { asChild: true, size: size, children: jsx("span", { children: jsx(SelectedIcon, { multiple: multiple, selected: !!selected }) }) }), jsxs(Label, { className: classes.optionText, size: size, id: labelId, children: [children, description && (jsx(ComboboxOptionDescription, { children: description }))] })] }));
48
+ });
49
+ ComboboxOption.displayName = 'ComboboxOption';
50
+
51
+ export { ComboboxOption };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"option":"fds-option-option-6c39c7b6","active":"fds-option-active-6c39c7b6","multiple":"fds-option-multiple-6c39c7b6","optionText":"fds-option-optionText-6c39c7b6","checkbox":"fds-option-checkbox-6c39c7b6","selectIconWrapper":"fds-option-selectIconWrapper-6c39c7b6","small":"fds-option-small-6c39c7b6","medium":"fds-option-medium-6c39c7b6","large":"fds-option-large-6c39c7b6","selected":"fds-option-selected-6c39c7b6","selectIcon":"fds-option-selectIcon-6c39c7b6"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { Combobox as Combobox$1 } from './Combobox.js';
3
+ import { ComboboxOption } from './Option/Option.js';
4
+ import { ComboboxEmpty } from './Empty/Empty.js';
5
+
6
+ const Combobox = Combobox$1;
7
+ Combobox.Option = ComboboxOption;
8
+ Combobox.Empty = ComboboxEmpty;
9
+ Combobox.Option.displayName = 'Combobox.Option';
10
+ Combobox.Empty.displayName = 'Combobox.Empty';
11
+
12
+ export { Combobox, ComboboxEmpty, ComboboxOption };
@@ -0,0 +1,41 @@
1
+ 'use client';
2
+ import { jsx, Fragment } from 'react/jsx-runtime';
3
+ import { useContext } from 'react';
4
+ import '../../../Chip/index.js';
5
+ import { ComboboxContext } from '../Combobox.js';
6
+ import { RemovableChip } from '../../../Chip/Removable/Removable.js';
7
+
8
+ const ComboboxChips = () => {
9
+ const context = useContext(ComboboxContext);
10
+ if (!context) {
11
+ throw new Error('ComboboxContext is missing');
12
+ }
13
+ const { size, readOnly, disabled, selectedOptions, setSelectedOptions, chipSrLabel, inputRef, } = context;
14
+ return (jsx(Fragment, { children: selectedOptions.map((option) => {
15
+ return (jsx(RemovableChip, { size: size, disabled: disabled, onKeyDown: (e) => {
16
+ if (readOnly)
17
+ return;
18
+ if (disabled)
19
+ return;
20
+ if (e.key === 'Enter') {
21
+ e.stopPropagation();
22
+ setSelectedOptions(selectedOptions.filter((i) => i.value !== option.value));
23
+ inputRef.current?.focus();
24
+ }
25
+ }, onClick: () => {
26
+ if (readOnly)
27
+ return;
28
+ if (disabled)
29
+ return;
30
+ /* If we click a chip, filter the active values and remove the one we clicked */
31
+ setSelectedOptions(selectedOptions.filter((i) => i.value !== option.value));
32
+ }, style: {
33
+ /* We already set the opacity on Combobox */
34
+ opacity: 1,
35
+ }, "aria-label": chipSrLabel(option), children: option.label }, option.value));
36
+ }) }));
37
+ };
38
+ ComboboxChips.displayName = 'ComboboxChips';
39
+ var ComboboxChips$1 = ComboboxChips;
40
+
41
+ export { ComboboxChips, ComboboxChips$1 as default };