@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,39 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useContext } from 'react';
4
+ import { XMarkIcon } from '@navikt/aksel-icons';
5
+ import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
6
+ import { ComboboxContext } from '../Combobox.js';
7
+ import classes from '../Combobox.module.css.js';
8
+ import utilityClasses from '../../../../utilities/utility.module.css.js';
9
+
10
+ const ComboboxClearButton = () => {
11
+ const context = useContext(ComboboxContext);
12
+ if (!context) {
13
+ throw new Error('ComboboxContext is missing');
14
+ }
15
+ const { size, readOnly, disabled, cleanButtonLabel, inputRef, setSelectedOptions, setInputValue, } = context;
16
+ return (jsx("button", { disabled: disabled, className: clsx(classes.clearButton, classes[size], utilityClasses.focusable), onClick: () => {
17
+ if (readOnly)
18
+ return;
19
+ if (disabled)
20
+ return;
21
+ setSelectedOptions([]);
22
+ setInputValue('');
23
+ }, onKeyDown: (e) => {
24
+ if (readOnly)
25
+ return;
26
+ if (disabled)
27
+ return;
28
+ if (e.key === 'Enter') {
29
+ e.stopPropagation();
30
+ setSelectedOptions([]);
31
+ setInputValue('');
32
+ inputRef.current?.focus();
33
+ }
34
+ }, type: 'button', "aria-label": cleanButtonLabel, children: jsx(XMarkIcon, { fontSize: '1.5em', title: 'Clear selection' }) }));
35
+ };
36
+ ComboboxClearButton.displayName = 'ComboboxClearButton';
37
+ var ComboboxClearButton$1 = ComboboxClearButton;
38
+
39
+ export { ComboboxClearButton, ComboboxClearButton$1 as default };
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import classes from '../Combobox.module.css.js';
4
+ import { ErrorMessage } from '../../../Typography/ErrorMessage/ErrorMessage.js';
5
+
6
+ const ComboboxError = ({ size, error, formFieldProps, }) => {
7
+ return (jsx("div", { className: classes.errorMessage, id: formFieldProps.errorId, "aria-live": 'polite', "aria-relevant": 'additions removals', children: error && jsx(ErrorMessage, { size: size, children: error }) }));
8
+ };
9
+ ComboboxError.displayName = 'ComboboxError';
10
+ var ComboboxError$1 = ComboboxError;
11
+
12
+ export { ComboboxError, ComboboxError$1 as default };
@@ -0,0 +1,103 @@
1
+ 'use client';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { useContext, useState, useEffect } from 'react';
4
+ import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
5
+ import { ChevronUpIcon, ChevronDownIcon } from '@navikt/aksel-icons';
6
+ import { useMergeRefs } from '../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
7
+ import { ComboboxContext } from '../Combobox.js';
8
+ import classes from '../Combobox.module.css.js';
9
+ import textFieldClasses from '../../Textfield/Textfield.module.css.js';
10
+ import ComboboxChips from './ComboboxChips.js';
11
+ import ComboboxClearButton from './ComboboxClearButton.js';
12
+ import { Box } from '../../../Box/Box.js';
13
+ import { omit } from '../../../../utilities/objectUtils.js';
14
+
15
+ const ComboboxInput = ({ ...rest }) => {
16
+ const context = useContext(ComboboxContext);
17
+ if (!context) {
18
+ throw new Error('ComboboxContext is missing');
19
+ }
20
+ const { forwareddRef, listId, size, readOnly, disabled, open, inputRef, refs, inputValue, activeDescendant, error, multiple, selectedOptions, formFieldProps, htmlSize, options, hideChips, setOpen, setActiveIndex, handleKeyDown, getReferenceProps, setInputValue, handleSelectOption, } = context;
21
+ const mergedRefs = useMergeRefs([forwareddRef, inputRef]);
22
+ // we need to check if input is in focus, to add focus styles to the wrapper
23
+ const [inputInFocus, setInputInFocus] = useState(false);
24
+ useEffect(() => {
25
+ const input = inputRef.current;
26
+ const onFocus = () => {
27
+ setInputInFocus(true);
28
+ };
29
+ const onBlur = () => {
30
+ setInputInFocus(false);
31
+ };
32
+ input?.addEventListener('focus', onFocus);
33
+ input?.addEventListener('blur', onBlur);
34
+ return () => {
35
+ input?.removeEventListener('focus', onFocus);
36
+ input?.removeEventListener('blur', onBlur);
37
+ };
38
+ }, [inputRef]);
39
+ // onChange function for the input
40
+ const onChange = (event) => {
41
+ const value = event.target.value;
42
+ setInputValue(value);
43
+ setActiveIndex(0);
44
+ if (typeof value === 'string') {
45
+ setOpen(true);
46
+ }
47
+ else {
48
+ setOpen(false);
49
+ }
50
+ // check if input value is the same as a label, if so, select it
51
+ const option = options.find((option) => option.label === value);
52
+ if (!option)
53
+ return;
54
+ if (selectedOptions.find((selectedOption) => selectedOption.value === option.value))
55
+ return;
56
+ handleSelectOption(option);
57
+ if (multiple) {
58
+ inputRef.current?.focus();
59
+ }
60
+ else {
61
+ // move cursor to the end of the input
62
+ setTimeout(() => {
63
+ inputRef.current?.setSelectionRange(option?.label?.length || 0, option?.label?.length || 0);
64
+ }, 0);
65
+ }
66
+ };
67
+ return (jsxs(Box
68
+ /* Props from floating-ui */
69
+ , { ...getReferenceProps({
70
+ ref: refs?.setReference,
71
+ role: null,
72
+ 'aria-controls': null,
73
+ 'aria-expanded': null,
74
+ 'aria-haspopup': null,
75
+ /* If we click the wrapper, open the list, set index to first option, and focus the input */
76
+ onClick() {
77
+ if (disabled)
78
+ return;
79
+ if (readOnly)
80
+ return;
81
+ setOpen(true);
82
+ setActiveIndex(0);
83
+ inputRef.current?.focus();
84
+ },
85
+ /* Handles list navigation */
86
+ onKeyDown(event) {
87
+ handleKeyDown(event);
88
+ },
89
+ // preventDefault on keydown to avoid sending in form
90
+ onKeyPress(event) {
91
+ if (event.key === 'Enter') {
92
+ event.preventDefault();
93
+ }
94
+ },
95
+ }), "aria-disabled": disabled, className: clsx(textFieldClasses.input, classes.inputWrapper, classes[size], inputInFocus && classes.inFocus, readOnly && classes.readonly, error && classes.error), children: [jsxs("div", { className: classes.chipAndInput, children: [multiple && !hideChips && jsx(ComboboxChips, {}), jsx("input", { ref: mergedRefs, "aria-activedescendant": activeDescendant, readOnly: readOnly, "aria-autocomplete": 'list', role: 'combobox', "aria-expanded": open, "aria-controls": listId, autoComplete: 'off', size: htmlSize, value: inputValue, ...omit(['style', 'className'], rest), ...formFieldProps.inputProps, onChange: (e) => {
96
+ onChange(e);
97
+ rest.onChange && rest.onChange(e);
98
+ } })] }), multiple && selectedOptions.length > 0 && jsx(ComboboxClearButton, {}), jsx("div", { className: classes.arrow, children: open ? (jsx(ChevronUpIcon, { title: 'arrow up', fontSize: '1.5em' })) : (jsx(ChevronDownIcon, { title: 'arrow down', fontSize: '1.5em' })) })] }));
99
+ };
100
+ ComboboxInput.displayName = 'ComboboxInput';
101
+ var ComboboxInput$1 = ComboboxInput;
102
+
103
+ export { ComboboxInput, ComboboxInput$1 as default };
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
+ import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
4
+ import { PadlockLockedFillIcon } from '@navikt/aksel-icons';
5
+ import classes from '../Combobox.module.css.js';
6
+ import utilityClasses from '../../../../utilities/utility.module.css.js';
7
+ import { Label } from '../../../Typography/Label/Label.js';
8
+ import { Paragraph } from '../../../Typography/Paragraph/Paragraph.js';
9
+
10
+ const ComboboxLabel = ({ label, description, hideLabel, size, readOnly, formFieldProps, }) => {
11
+ return (jsxs(Fragment, { children: [label && (jsxs(Label, { size: size, htmlFor: formFieldProps.inputProps.id, className: clsx(classes.label, hideLabel && utilityClasses.visuallyHidden), children: [readOnly && (jsx(PadlockLockedFillIcon, { "aria-hidden": true, className: classes.padlock })), label] })), description && (jsx(Paragraph, { asChild: true, size: size, children: jsx("div", { id: formFieldProps.descriptionId, className: clsx(classes.description, hideLabel && utilityClasses.visuallyHidden), children: description }) }))] }));
12
+ };
13
+ ComboboxLabel.displayName = 'ComboboxLabel';
14
+ var ComboboxLabel$1 = ComboboxLabel;
15
+
16
+ export { ComboboxLabel, ComboboxLabel$1 as default };
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ const ComboboxNative = ({ selectedOptions, multiple, name, }) => {
5
+ return (jsx("select", { name: name, multiple: multiple, style: { display: 'none' }, value: multiple
6
+ ? selectedOptions.map((option) => option.value)
7
+ : selectedOptions[0]?.value, onChange: () => { }, children: selectedOptions.map((option) => (jsx("option", { value: option.value }, option.value))) }));
8
+ };
9
+ ComboboxNative.displayName = 'ComboboxNative';
10
+ var ComboboxNative$1 = ComboboxNative;
11
+
12
+ export { ComboboxNative, ComboboxNative$1 as default };
@@ -0,0 +1,98 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { useMemo } from 'react';
4
+ import { ComboboxOption } from './Option/Option.js';
5
+ import ComboboxCustom from './Custom/Custom.js';
6
+
7
+ function useCombobox({ children, inputValue, multiple, selectedOptions, filter, }) {
8
+ const options = useMemo(() => {
9
+ const allOptions = [];
10
+ React.Children.forEach(children, (child) => {
11
+ if (isComboboxOption(child)) {
12
+ const props = child.props;
13
+ let label = props.displayValue || '';
14
+ if (!props.displayValue) {
15
+ let childrenLabel = '';
16
+ // go over children and find all strings
17
+ React.Children.forEach(props.children, (child) => {
18
+ if (typeof child === 'string') {
19
+ childrenLabel += child;
20
+ }
21
+ else {
22
+ throw new Error('If ComboboxOption is not a string, it must have a displayValue prop');
23
+ }
24
+ });
25
+ label = childrenLabel;
26
+ }
27
+ allOptions.push({
28
+ value: props.value,
29
+ label,
30
+ displayValue: props.displayValue,
31
+ description: props.description,
32
+ });
33
+ }
34
+ });
35
+ return allOptions;
36
+ }, [children]);
37
+ const optionsChildren = useMemo(() => {
38
+ const valuesArray = Array.from(options);
39
+ const children_ = React.Children.toArray(children).filter((child) => isComboboxOption(child));
40
+ const activeValue = valuesArray.find((item) => item.label === inputValue);
41
+ if (activeValue && !multiple)
42
+ return children_;
43
+ if (inputValue === '' && !multiple)
44
+ return children_;
45
+ return children_.filter((child) => {
46
+ const { value } = child.props;
47
+ const option = valuesArray.find((item) => item.value === value);
48
+ if (!option)
49
+ return false;
50
+ const isSelected = selectedOptions.some((selectedOption) => selectedOption.value === value);
51
+ // show what we search for, and all selected options
52
+ return filter(inputValue, { ...option }) || isSelected;
53
+ });
54
+ }, [options, children, multiple, inputValue, selectedOptions, filter]);
55
+ const customIds = useMemo(() => {
56
+ // find all custom components with `interactive=true` and generate random values for them
57
+ const children_ = React.Children.toArray(children).filter((child) => {
58
+ return isInteractiveComboboxCustom(child);
59
+ });
60
+ // return all ids
61
+ return children_.map((child) => {
62
+ if (!child.props.id)
63
+ throw new Error('If ComboboxCustom is interactive, it must have an id');
64
+ return child.props.id;
65
+ });
66
+ }, [children]);
67
+ const optionValues = useMemo(() => {
68
+ // create an index map of values from optionsChildren
69
+ const options = optionsChildren.map((child) => {
70
+ const { value } = child.props;
71
+ return value;
72
+ });
73
+ return [...customIds, ...options];
74
+ }, [customIds, optionsChildren]);
75
+ const restChildren = useMemo(() => {
76
+ return React.Children.toArray(children).filter((child) => {
77
+ return !isComboboxOption(child);
78
+ });
79
+ }, [children]);
80
+ return {
81
+ optionsChildren,
82
+ optionValues,
83
+ restChildren,
84
+ options,
85
+ customIds,
86
+ };
87
+ }
88
+ function isComboboxOption(child) {
89
+ return React.isValidElement(child) && child.type === ComboboxOption;
90
+ }
91
+ function isComboboxCustom(child) {
92
+ return React.isValidElement(child) && child.type === ComboboxCustom;
93
+ }
94
+ function isInteractiveComboboxCustom(child) {
95
+ return isComboboxCustom(child) && child.props.interactive === true;
96
+ }
97
+
98
+ export { useCombobox as default, isComboboxCustom, isComboboxOption, isInteractiveComboboxCustom };
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { createContext, forwardRef, useContext } from 'react';
4
+ import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
5
+ import { PadlockLockedFillIcon } from '@navikt/aksel-icons';
6
+ import utilityClasses from '../../../utilities/utility.module.css.js';
7
+ import { useFieldset } from './useFieldset.js';
8
+ import classes from './Fieldset.module.css.js';
9
+ import { Label } from '../../Typography/Label/Label.js';
10
+ import { ErrorMessage } from '../../Typography/ErrorMessage/ErrorMessage.js';
11
+ import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
12
+
13
+ const FieldsetContext = createContext(null);
14
+ const Fieldset = forwardRef((props, ref) => {
15
+ const { children, legend, description, error, hideLegend, className, ...rest } = props;
16
+ const { fieldsetProps, size, readOnly, errorId, hasError, descriptionId } = useFieldset(props);
17
+ const fieldset = useContext(FieldsetContext);
18
+ return (jsx(FieldsetContext.Provider, { value: {
19
+ error: error ?? fieldset?.error,
20
+ errorId: hasError ? errorId : undefined,
21
+ size,
22
+ disabled: props?.disabled,
23
+ readOnly,
24
+ }, children: jsxs("fieldset", { ...fieldsetProps, className: clsx(classes.fieldset, !hideLegend && classes.withSpacing, readOnly && classes.readonly, props?.disabled && classes.disabled, className), ref: ref, ...rest, children: [jsx(Label, { asChild: true, size: size, children: jsx("legend", { className: classes.legend, children: jsxs("span", { className: clsx(classes.legendContent, hideLegend && utilityClasses.visuallyHidden), children: [readOnly && (jsx(PadlockLockedFillIcon, { className: classes.padlock, "aria-hidden": true })), legend] }) }) }), description && (jsx(Paragraph, { size: size, asChild: true, short: true, children: jsx("div", { id: descriptionId, className: clsx(classes.description, hideLegend && utilityClasses.visuallyHidden), children: description }) })), children, jsx("div", { id: errorId, "aria-live": 'polite', "aria-relevant": 'additions removals', className: classes.errorWrapper, children: hasError && jsx(ErrorMessage, { size: size, children: error }) })] }) }));
25
+ });
26
+ Fieldset.displayName = 'Fieldset';
27
+
28
+ export { Fieldset, FieldsetContext };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"fieldset":"fds-fieldset-fieldset-4ef8e1c","withSpacing":"fds-fieldset-withSpacing-4ef8e1c","description":"fds-fieldset-description-4ef8e1c","legend":"fds-fieldset-legend-4ef8e1c","readonly":"fds-fieldset-readonly-4ef8e1c","legendContent":"fds-fieldset-legendContent-4ef8e1c","padlock":"fds-fieldset-padlock-4ef8e1c","disabled":"fds-fieldset-disabled-4ef8e1c","errorWrapper":"fds-fieldset-errorWrapper-4ef8e1c"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { useFormField } from '../useFormField.js';
3
+
4
+ /** Handles fieldset props and state */
5
+ const useFieldset = (props) => {
6
+ const formField = useFormField(props, 'fieldset');
7
+ const { inputProps } = formField;
8
+ return {
9
+ ...formField,
10
+ fieldsetProps: {
11
+ 'aria-invalid': inputProps['aria-invalid'],
12
+ 'aria-describedby': inputProps['aria-describedby'],
13
+ },
14
+ };
15
+ };
16
+
17
+ export { useFieldset };
@@ -0,0 +1,21 @@
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 { PadlockLockedFillIcon } from '@navikt/aksel-icons';
6
+ import classes from './NativeSelect.module.css.js';
7
+ import utilityClasses from '../../../utilities/utility.module.css.js';
8
+ import { useNativeSelect } from './useNativeSelect.js';
9
+ import { omit } from '../../../utilities/objectUtils.js';
10
+ import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
11
+ import { Label } from '../../Typography/Label/Label.js';
12
+ import { ErrorMessage } from '../../Typography/ErrorMessage/ErrorMessage.js';
13
+
14
+ const NativeSelect = forwardRef((props, ref) => {
15
+ const { children, disabled = false, label, hideLabel = false, error, className, htmlSize = 0, ...rest } = props;
16
+ const { selectProps, errorId, readOnly = false, size = 'medium', } = useNativeSelect(props);
17
+ return (jsx(Paragraph, { asChild: true, size: size, children: jsxs("div", { className: clsx(classes.formField, disabled && classes.disabled, readOnly && classes.readOnly, error && classes.error), children: [label && (jsxs(Label, { weight: 'medium', size: size, htmlFor: selectProps.id, className: clsx(classes.label, hideLabel && utilityClasses.visuallyHidden), children: [readOnly && (jsx(PadlockLockedFillIcon, { "aria-hidden": true, className: classes.padlock })), label] })), jsx("select", { disabled: disabled || readOnly, ref: ref, size: htmlSize, className: clsx(classes.select, classes[size], utilityClasses.focusable, props.multiple && classes.multiple, className), ...omit(['size', 'error', 'errorId'], rest), ...omit(['readOnly', 'disabled'], selectProps), children: children }), error && (jsx("div", { id: errorId, className: classes.errorMessage, "aria-live": 'polite', "aria-relevant": 'additions removals', children: jsx(ErrorMessage, { size: size, children: error }) }))] }) }));
18
+ });
19
+ NativeSelect.displayName = 'NativeSelect';
20
+
21
+ export { NativeSelect };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"select":"fds-nativeselect-select-88cf3fbc","multiple":"fds-nativeselect-multiple-88cf3fbc","small":"fds-nativeselect-small-88cf3fbc","medium":"fds-nativeselect-medium-88cf3fbc","large":"fds-nativeselect-large-88cf3fbc","formField":"fds-nativeselect-formField-88cf3fbc","disabled":"fds-nativeselect-disabled-88cf3fbc","readOnly":"fds-nativeselect-readOnly-88cf3fbc","error":"fds-nativeselect-error-88cf3fbc","padlock":"fds-nativeselect-padlock-88cf3fbc","errorMessage":"fds-nativeselect-errorMessage-88cf3fbc","label":"fds-nativeselect-label-88cf3fbc"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+ import { useContext } from 'react';
3
+ import { useFormField } from '../useFormField.js';
4
+ import { FieldsetContext } from '../Fieldset/Fieldset.js';
5
+
6
+ /** Handles props for `NativeSelect` in context with `Fieldset` */
7
+ const useNativeSelect = (props) => {
8
+ const fieldset = useContext(FieldsetContext);
9
+ const { inputProps: selectProps, readOnly, ...rest } = useFormField(props, 'select');
10
+ return {
11
+ ...rest,
12
+ readOnly,
13
+ size: fieldset?.size ?? props.size,
14
+ selectProps: {
15
+ ...selectProps,
16
+ readOnly,
17
+ onClick: (e) => {
18
+ if (readOnly) {
19
+ e.preventDefault();
20
+ return;
21
+ }
22
+ props?.onClick?.(e);
23
+ },
24
+ onChange: (e) => {
25
+ if (readOnly) {
26
+ e.preventDefault();
27
+ return;
28
+ }
29
+ props?.onChange?.(e);
30
+ },
31
+ },
32
+ };
33
+ };
34
+
35
+ export { useNativeSelect };
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { createContext, forwardRef, useId } from 'react';
4
+ import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
5
+ import classes from './Group.module.css.js';
6
+ import { Fieldset } from '../../Fieldset/Fieldset.js';
7
+
8
+ const RadioGroupContext = createContext(null);
9
+ const RadioGroup = forwardRef(({ onChange, children, value, readOnly, defaultValue, name, size = 'medium', required, inline, className, ...rest }, ref) => {
10
+ const nameId = useId();
11
+ return (jsx(Fieldset, { readOnly: readOnly, size: size, className: className, ref: ref, ...rest, children: jsx(RadioGroupContext.Provider, { value: {
12
+ value,
13
+ defaultValue,
14
+ name: name ?? `radiogroup-name-${nameId}`,
15
+ onChange,
16
+ required,
17
+ }, children: jsx("div", { className: clsx(inline && classes.inline), children: children }) }) }));
18
+ });
19
+ RadioGroup.displayName = 'RadioGroup';
20
+
21
+ export { RadioGroup, RadioGroupContext };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"inline":"fds-group-inline-d0931a50"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,18 @@
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 classes from './Radio.module.css.js';
6
+ import { useRadio } from './useRadio.js';
7
+ import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
8
+ import { omit } from '../../../utilities/objectUtils.js';
9
+ import { Label } from '../../Typography/Label/Label.js';
10
+
11
+ const Radio = forwardRef((props, ref) => {
12
+ const { children, description, className, ...rest } = props;
13
+ const { inputProps, descriptionId, hasError, size = 'medium', readOnly, } = useRadio(props);
14
+ 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: ref, ...omit(['size', 'error'], rest), ...inputProps }), 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 }) }))] }) }));
15
+ });
16
+ Radio.displayName = 'Radio';
17
+
18
+ export { Radio };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"container":"fds-radio-container-631ff5a4","label":"fds-radio-label-631ff5a4","description":"fds-radio-description-631ff5a4","input":"fds-radio-input-631ff5a4","disabled":"fds-radio-disabled-631ff5a4","readonly":"fds-radio-readonly-631ff5a4","error":"fds-radio-error-631ff5a4","small":"fds-radio-small-631ff5a4","medium":"fds-radio-medium-631ff5a4","large":"fds-radio-large-631ff5a4"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ import { Radio as Radio$1 } from './Radio.js';
3
+ import { RadioGroup } from './Group/Group.js';
4
+
5
+ /** `<input> element with `type="radio"` used for selecting one option */
6
+ const Radio = Radio$1;
7
+ Radio.Group = RadioGroup;
8
+ Radio.Group.displayName = 'Radio.Group';
9
+
10
+ export { Radio, RadioGroup };
@@ -0,0 +1,44 @@
1
+ 'use client';
2
+ import { useContext } from 'react';
3
+ import { useFormField } from '../useFormField.js';
4
+ import { RadioGroupContext } from './Group/Group.js';
5
+
6
+ /** Handles props for `Radio` in context with `Radio.Group` (and `Fieldset`) */
7
+ const useRadio = (props) => {
8
+ const radioGroup = useContext(RadioGroupContext);
9
+ const { inputProps, readOnly, ...rest } = useFormField(props, 'radio');
10
+ return {
11
+ ...rest,
12
+ readOnly,
13
+ inputProps: {
14
+ ...inputProps,
15
+ readOnly,
16
+ type: 'radio',
17
+ name: radioGroup?.name ?? props.name,
18
+ required: radioGroup?.required,
19
+ defaultChecked: radioGroup?.defaultValue
20
+ ? radioGroup?.defaultValue === props.value
21
+ : props.defaultChecked,
22
+ checked: radioGroup?.value
23
+ ? radioGroup?.value === props.value
24
+ : props.checked,
25
+ onClick: (e) => {
26
+ if (readOnly) {
27
+ e.preventDefault();
28
+ return;
29
+ }
30
+ props?.onClick?.(e);
31
+ },
32
+ onChange: (e) => {
33
+ if (readOnly) {
34
+ e.preventDefault();
35
+ return;
36
+ }
37
+ props?.onChange?.(e);
38
+ radioGroup?.onChange?.(props.value);
39
+ },
40
+ },
41
+ };
42
+ };
43
+
44
+ export { useRadio };
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { forwardRef, useRef, useState, useCallback } from 'react';
4
+ import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
5
+ import { MagnifyingGlassIcon, XMarkIcon } from '@navikt/aksel-icons';
6
+ import { useMergeRefs } from '../../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
7
+ import { useSearch } from './useSearch.js';
8
+ import classes from './Search.module.css.js';
9
+ import utilityClasses from '../../../utilities/utility.module.css.js';
10
+ import { Button } from '../../Button/Button.js';
11
+ import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
12
+ import { Label } from '../../Typography/Label/Label.js';
13
+ import { omit } from '../../../utilities/objectUtils.js';
14
+ import { ErrorMessage } from '../../Typography/ErrorMessage/ErrorMessage.js';
15
+
16
+ /** Search field
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <Search label="Search" label">
21
+ * ```
22
+ */
23
+ const Search = forwardRef((props, ref) => {
24
+ const { label, style, hideLabel = true, variant = 'simple', searchButtonLabel = 'Søk', clearButtonLabel = 'Tøm', defaultValue, value, onChange, onClear, disabled, onSearchClick, htmlSize = 27, className, ...rest } = props;
25
+ const { inputProps, hasError, errorId, size = 'medium' } = useSearch(props);
26
+ const inputRef = useRef();
27
+ const mergedRef = useMergeRefs([ref, inputRef]);
28
+ const [internalValue, setInternalValue] = useState(defaultValue ?? '');
29
+ const handleChange = useCallback((e) => {
30
+ const newValue = e.target.value;
31
+ value === undefined && setInternalValue(newValue);
32
+ onChange?.(e);
33
+ }, [onChange, value]);
34
+ const handleClear = () => {
35
+ onClear?.(internalValue);
36
+ setInternalValue('');
37
+ inputRef?.current && inputRef.current.focus();
38
+ };
39
+ const handleSearchClick = () => {
40
+ onSearchClick?.((value ?? internalValue).toString());
41
+ };
42
+ const isSimple = variant === 'simple';
43
+ const showClearButton = Boolean(value ?? internalValue) && !disabled;
44
+ return (jsx(Paragraph, { asChild: true, size: size, children: jsxs("div", { style: style, className: clsx(classes.formField, inputProps.disabled && classes.disabled, classes[size], className), children: [label && (jsx(Label, { size: size, weight: 'medium', htmlFor: inputProps.id, className: clsx(classes.label, hideLabel && utilityClasses.visuallyHidden), children: jsx("span", { children: label }) })), jsxs("div", { className: classes.field, children: [jsxs("div", { className: classes.field, children: [isSimple && (jsx(MagnifyingGlassIcon, { className: classes.icon, "aria-hidden": true })), jsx("input", { ref: mergedRef, size: htmlSize, value: value ?? internalValue, disabled: disabled, className: clsx(classes.input, utilityClasses.focusable, classes[size], isSimple && classes.simple, !isSimple && classes.withSearchButton), ...omit(['size', 'error', 'errorId', 'readOnly'], rest), ...inputProps, onChange: handleChange }), showClearButton && (jsxs("button", { className: clsx(classes.clearButton, utilityClasses.focusable), type: 'button', onClick: handleClear, disabled: disabled, children: [jsx("span", { className: utilityClasses.visuallyHidden, children: clearButtonLabel }), jsx(XMarkIcon, { "aria-hidden": true })] }))] }), !isSimple && (jsx(Button, { className: classes.searchButton, size: size, variant: variant, type: 'submit', onClick: handleSearchClick, disabled: disabled, children: searchButtonLabel }))] }), jsx("div", { className: classes.errorMessage, id: errorId, "aria-live": 'polite', "aria-relevant": 'additions removals', children: hasError && jsx(ErrorMessage, { size: size, children: props.error }) })] }) }));
45
+ });
46
+ Search.displayName = 'Search';
47
+
48
+ export { Search };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ var classes = {"formField":"fds-search-formField-7eb2965c","small":"fds-search-small-7eb2965c","medium":"fds-search-medium-7eb2965c","large":"fds-search-large-7eb2965c","errorMessage":"fds-search-errorMessage-7eb2965c","label":"fds-search-label-7eb2965c","field":"fds-search-field-7eb2965c","icon":"fds-search-icon-7eb2965c","input":"fds-search-input-7eb2965c","withSearchButton":"fds-search-withSearchButton-7eb2965c","disabled":"fds-search-disabled-7eb2965c","searchButton":"fds-search-searchButton-7eb2965c","clearButton":"fds-search-clearButton-7eb2965c","simple":"fds-search-simple-7eb2965c","error":"fds-search-error-7eb2965c"};
3
+
4
+ export { classes as default };
@@ -0,0 +1,43 @@
1
+ 'use client';
2
+ import { useContext } from 'react';
3
+ import { useFormField } from '../useFormField.js';
4
+ import { FieldsetContext } from '../Fieldset/Fieldset.js';
5
+
6
+ const sizeMap = {
7
+ small: 'small',
8
+ medium: 'medium',
9
+ large: 'large',
10
+ };
11
+ /** Handles props for `Search` in context with `Fieldset` */
12
+ const useSearch = (props) => {
13
+ const fieldset = useContext(FieldsetContext);
14
+ const { inputProps, readOnly, ...rest } = useFormField(props, 'search');
15
+ const fieldSetSize = fieldset?.size ? sizeMap[fieldset?.size] : null;
16
+ return {
17
+ ...rest,
18
+ readOnly,
19
+ size: fieldSetSize ?? props.size,
20
+ inputProps: {
21
+ ...inputProps,
22
+ type: 'search',
23
+ name: props.name ?? 'q',
24
+ readOnly,
25
+ onClick: (e) => {
26
+ if (readOnly) {
27
+ e.preventDefault();
28
+ return;
29
+ }
30
+ props?.onClick?.(e);
31
+ },
32
+ onChange: (e) => {
33
+ if (readOnly) {
34
+ e.preventDefault();
35
+ return;
36
+ }
37
+ props?.onChange?.(e);
38
+ },
39
+ },
40
+ };
41
+ };
42
+
43
+ export { useSearch };
@@ -0,0 +1,19 @@
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 { PadlockLockedFillIcon } from '@navikt/aksel-icons';
6
+ import classes from './Switch.module.css.js';
7
+ import { useSwitch } from './useSwitch.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 Switch = forwardRef((props, ref) => {
13
+ const { children, description, position = 'left', className, ...rest } = props;
14
+ const { inputProps, descriptionId, size = 'medium', readOnly, } = useSwitch(props);
15
+ return (jsx(Paragraph, { asChild: true, size: size, children: jsxs("div", { className: clsx(classes.switch, classes[size], inputProps.disabled && classes.disabled, readOnly && classes.readonly, className), children: [jsx("input", { className: classes.input, ref: ref, ...omit(['size', 'error'], rest), ...inputProps }), jsxs(Label, { className: clsx(classes.label, position === 'right' && classes.right), htmlFor: inputProps.id, size: size, weight: 'regular', children: [jsx("span", { className: classes.track, children: jsx("span", { className: classes.thumb }) }), readOnly && (jsx(PadlockLockedFillIcon, { "aria-hidden": true, className: classes.padlock })), children && jsx("span", { children: children })] }), description && (jsx(Paragraph, { asChild: true, size: size, children: jsx("div", { id: descriptionId, className: classes.description, children: description }) }))] }) }));
16
+ });
17
+ Switch.displayName = 'Switch';
18
+
19
+ export { Switch };