@digdir/designsystemet-react 1.0.0-next.47 → 1.0.0-next.49

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 (465) hide show
  1. package/dist/cjs/components/Alert/Alert.js +2 -1
  2. package/dist/cjs/components/Badge/Badge.js +5 -9
  3. package/dist/cjs/components/Badge/BadgePosition.js +9 -0
  4. package/dist/cjs/components/Badge/index.js +6 -0
  5. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +18 -0
  6. package/dist/cjs/components/Breadcrumbs/index.js +13 -8
  7. package/dist/cjs/components/Button/Button.js +2 -1
  8. package/dist/cjs/components/Card/Card.js +3 -2
  9. package/dist/cjs/components/Card/index.js +10 -0
  10. package/dist/cjs/components/Checkbox/Checkbox.js +3 -2
  11. package/dist/cjs/components/Chip/Chips.js +1 -0
  12. package/dist/cjs/components/Combobox/Combobox.js +5 -4
  13. package/dist/cjs/components/Combobox/Custom.js +1 -1
  14. package/dist/cjs/components/Combobox/index.js +3 -0
  15. package/dist/cjs/components/Combobox/internal/ComboboxChips.js +1 -1
  16. package/dist/cjs/components/Details/Details.js +5 -4
  17. package/dist/cjs/components/Details/DetailsContent.js +1 -0
  18. package/dist/cjs/components/Details/DetailsSummary.js +1 -0
  19. package/dist/cjs/components/Details/index.js +4 -3
  20. package/dist/cjs/components/Dialog/Dialog.js +74 -0
  21. package/dist/cjs/components/Dialog/DialogBlock.js +30 -0
  22. package/dist/cjs/components/Dialog/DialogTrigger.js +27 -0
  23. package/dist/cjs/components/Dialog/DialogTriggerContext.js +28 -0
  24. package/dist/cjs/components/Dialog/index.js +34 -0
  25. package/dist/cjs/components/Divider/Divider.js +6 -0
  26. package/dist/cjs/components/Dropdown/Dropdown.js +27 -0
  27. package/dist/cjs/components/Dropdown/DropdownTriggerContext.js +4 -1
  28. package/dist/cjs/components/Dropdown/index.js +11 -9
  29. package/dist/cjs/components/ErrorSummary/ErrorSummary.js +20 -2
  30. package/dist/cjs/components/ErrorSummary/ErrorSummaryItem.js +10 -4
  31. package/dist/cjs/components/ErrorSummary/ErrorSummaryLink.js +15 -0
  32. package/dist/cjs/components/ErrorSummary/index.js +15 -4
  33. package/dist/cjs/components/Field/Field.js +11 -0
  34. package/dist/cjs/components/Field/FieldAffix.js +21 -0
  35. package/dist/cjs/components/Field/FieldCounter.js +9 -0
  36. package/dist/cjs/components/Field/index.js +7 -5
  37. package/dist/cjs/components/Fieldset/Fieldset.js +15 -0
  38. package/dist/cjs/components/Fieldset/FieldsetDescription.js +8 -0
  39. package/dist/cjs/components/Fieldset/FieldsetLegend.js +6 -0
  40. package/dist/cjs/components/Fieldset/index.js +10 -3
  41. package/dist/cjs/components/Input/Input.js +2 -3
  42. package/dist/cjs/components/Label/Label.js +2 -2
  43. package/dist/cjs/components/Link/Link.js +6 -0
  44. package/dist/cjs/components/List/Lists.js +20 -0
  45. package/dist/cjs/components/Pagination/Pagination.js +18 -0
  46. package/dist/cjs/components/Pagination/PaginationButton.js +8 -0
  47. package/dist/cjs/components/Pagination/PaginationItem.js +10 -0
  48. package/dist/cjs/components/Pagination/PaginationList.js +12 -0
  49. package/dist/cjs/components/Pagination/index.js +18 -0
  50. package/dist/cjs/components/Paragraph/Paragraph.js +1 -0
  51. package/dist/cjs/components/Popover/Popover.js +19 -2
  52. package/dist/cjs/components/Popover/PopoverTrigger.js +27 -2
  53. package/dist/cjs/components/Popover/PopoverTriggerContext.js +11 -0
  54. package/dist/cjs/components/Popover/index.js +15 -3
  55. package/dist/cjs/components/Radio/Radio.js +3 -2
  56. package/dist/cjs/components/Search/Search.js +16 -0
  57. package/dist/cjs/components/Search/SearchButton.js +9 -0
  58. package/dist/cjs/components/Search/SearchClear.js +9 -0
  59. package/dist/cjs/components/Search/SearchInput.js +8 -0
  60. package/dist/cjs/components/Search/index.js +11 -7
  61. package/dist/cjs/components/Select/Select.js +9 -0
  62. package/dist/cjs/components/Select/SelectOptgroup.js +11 -0
  63. package/dist/cjs/components/Select/SelectOption.js +9 -0
  64. package/dist/cjs/components/Select/index.js +9 -0
  65. package/dist/cjs/components/Skeleton/Skeleton.js +5 -4
  66. package/dist/cjs/components/SkipLink/SkipLink.js +7 -0
  67. package/dist/cjs/components/Spinner/Spinner.js +6 -1
  68. package/dist/cjs/components/Suggestion/Suggestion.js +55 -0
  69. package/dist/cjs/components/Suggestion/SuggestionClear.js +48 -0
  70. package/dist/cjs/components/Suggestion/SuggestionEmpty.js +23 -0
  71. package/dist/cjs/components/Suggestion/SuggestionInput.js +45 -0
  72. package/dist/cjs/components/Suggestion/SuggestionList.js +30 -0
  73. package/dist/cjs/components/Suggestion/SuggestionOption.js +12 -0
  74. package/dist/cjs/components/Suggestion/index.js +44 -0
  75. package/dist/cjs/components/Switch/Switch.js +1 -0
  76. package/dist/cjs/components/Table/Table.js +25 -0
  77. package/dist/cjs/components/Table/TableBody.js +11 -0
  78. package/dist/cjs/components/Table/TableCell.js +6 -0
  79. package/dist/cjs/components/Table/TableFoot.js +11 -0
  80. package/dist/cjs/components/Table/TableHead.js +11 -0
  81. package/dist/cjs/components/Table/TableHeaderCell.js +6 -0
  82. package/dist/cjs/components/Table/TableRow.js +9 -0
  83. package/dist/cjs/components/Table/index.js +25 -0
  84. package/dist/cjs/components/Tabs/Tabs.js +1 -2
  85. package/dist/cjs/components/Tabs/TabsList.js +1 -2
  86. package/dist/cjs/components/Tabs/TabsPanel.js +1 -2
  87. package/dist/cjs/components/Tabs/TabsTab.js +1 -0
  88. package/dist/cjs/components/Tabs/index.js +1 -2
  89. package/dist/cjs/components/Tag/Tag.js +3 -2
  90. package/dist/cjs/components/Textarea/Textarea.js +2 -3
  91. package/dist/cjs/components/Textfield/Textfield.js +1 -3
  92. package/dist/cjs/components/ToggleGroup/ToggleGroup.js +1 -0
  93. package/dist/cjs/components/ToggleGroup/index.js +4 -4
  94. package/dist/cjs/components/Tooltip/Tooltip.js +8 -4
  95. package/dist/cjs/components/ValidationMessage/ValidationMessage.js +6 -1
  96. package/dist/cjs/index.js +24 -12
  97. package/dist/cjs/utilities/RovingFocus/RovingFocusRoot.js +1 -1
  98. package/dist/cjs/{components/Pagination → utilities/hooks/usePagination}/usePagination.js +39 -2
  99. package/dist/esm/components/Alert/Alert.js +2 -1
  100. package/dist/esm/components/Badge/Badge.js +5 -9
  101. package/dist/esm/components/Badge/BadgePosition.js +9 -0
  102. package/dist/esm/components/Badge/index.js +6 -0
  103. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +18 -0
  104. package/dist/esm/components/Breadcrumbs/index.js +13 -8
  105. package/dist/esm/components/Button/Button.js +3 -2
  106. package/dist/esm/components/Card/Card.js +3 -2
  107. package/dist/esm/components/Card/index.js +10 -0
  108. package/dist/esm/components/Checkbox/Checkbox.js +3 -2
  109. package/dist/esm/components/Chip/Chips.js +2 -1
  110. package/dist/esm/components/Chip/index.js +1 -1
  111. package/dist/esm/components/Combobox/Combobox.js +6 -5
  112. package/dist/esm/components/Combobox/ComboboxIdContext.js +1 -1
  113. package/dist/esm/components/Combobox/Custom.js +1 -1
  114. package/dist/esm/components/Combobox/index.js +3 -0
  115. package/dist/esm/components/Combobox/internal/ComboboxChips.js +1 -1
  116. package/dist/esm/components/Combobox/useFloatingCombobox.js +1 -1
  117. package/dist/esm/components/Details/Details.js +5 -4
  118. package/dist/esm/components/Details/DetailsContent.js +1 -0
  119. package/dist/esm/components/Details/DetailsSummary.js +1 -0
  120. package/dist/esm/components/Details/index.js +4 -3
  121. package/dist/esm/components/Dialog/Dialog.js +72 -0
  122. package/dist/esm/components/Dialog/DialogBlock.js +28 -0
  123. package/dist/esm/components/{Modal/ModalTrigger.js → Dialog/DialogTrigger.js} +14 -3
  124. package/dist/esm/components/Dialog/DialogTriggerContext.js +25 -0
  125. package/dist/esm/components/Dialog/index.js +29 -0
  126. package/dist/esm/components/Divider/Divider.js +6 -0
  127. package/dist/esm/components/Dropdown/Dropdown.js +27 -0
  128. package/dist/esm/components/Dropdown/DropdownTriggerContext.js +4 -1
  129. package/dist/esm/components/Dropdown/index.js +11 -9
  130. package/dist/esm/components/ErrorSummary/ErrorSummary.js +21 -3
  131. package/dist/esm/components/ErrorSummary/ErrorSummaryItem.js +10 -4
  132. package/dist/esm/components/ErrorSummary/ErrorSummaryLink.js +13 -0
  133. package/dist/esm/components/ErrorSummary/index.js +15 -5
  134. package/dist/esm/components/Field/Field.js +11 -0
  135. package/dist/esm/components/Field/FieldAffix.js +21 -0
  136. package/dist/esm/components/Field/FieldCounter.js +9 -0
  137. package/dist/esm/components/Field/index.js +8 -6
  138. package/dist/esm/components/Fieldset/Fieldset.js +15 -0
  139. package/dist/esm/components/Fieldset/FieldsetDescription.js +8 -0
  140. package/dist/esm/components/Fieldset/FieldsetLegend.js +6 -0
  141. package/dist/esm/components/Fieldset/index.js +10 -3
  142. package/dist/esm/components/Input/Input.js +2 -3
  143. package/dist/esm/components/Label/Label.js +2 -2
  144. package/dist/esm/components/Link/Link.js +6 -0
  145. package/dist/esm/components/List/Lists.js +20 -0
  146. package/dist/esm/components/List/index.js +1 -1
  147. package/dist/esm/components/Pagination/Pagination.js +18 -0
  148. package/dist/esm/components/Pagination/PaginationButton.js +8 -0
  149. package/dist/esm/components/Pagination/PaginationItem.js +10 -0
  150. package/dist/esm/components/Pagination/PaginationList.js +12 -0
  151. package/dist/esm/components/Pagination/index.js +18 -0
  152. package/dist/esm/components/Paragraph/Paragraph.js +1 -0
  153. package/dist/esm/components/Popover/Popover.js +19 -2
  154. package/dist/esm/components/Popover/PopoverTrigger.js +28 -3
  155. package/dist/esm/components/Popover/PopoverTriggerContext.js +11 -0
  156. package/dist/esm/components/Popover/index.js +15 -3
  157. package/dist/esm/components/Radio/Radio.js +3 -2
  158. package/dist/esm/components/Search/Search.js +16 -0
  159. package/dist/esm/components/Search/SearchButton.js +9 -0
  160. package/dist/esm/components/Search/SearchClear.js +9 -0
  161. package/dist/esm/components/Search/SearchInput.js +8 -0
  162. package/dist/esm/components/Search/index.js +11 -7
  163. package/dist/esm/components/Select/Select.js +9 -0
  164. package/dist/esm/components/Select/SelectOptgroup.js +11 -0
  165. package/dist/esm/components/Select/SelectOption.js +9 -0
  166. package/dist/esm/components/Select/index.js +9 -0
  167. package/dist/esm/components/Skeleton/Skeleton.js +5 -4
  168. package/dist/esm/components/SkipLink/SkipLink.js +7 -0
  169. package/dist/esm/components/Spinner/Spinner.js +6 -1
  170. package/dist/esm/components/Suggestion/Suggestion.js +52 -0
  171. package/dist/esm/components/Suggestion/SuggestionClear.js +45 -0
  172. package/dist/esm/components/Suggestion/SuggestionEmpty.js +21 -0
  173. package/dist/esm/components/Suggestion/SuggestionInput.js +43 -0
  174. package/dist/esm/components/Suggestion/SuggestionList.js +28 -0
  175. package/dist/esm/components/Suggestion/SuggestionOption.js +10 -0
  176. package/dist/esm/components/Suggestion/index.js +37 -0
  177. package/dist/esm/components/Switch/Switch.js +1 -0
  178. package/dist/esm/components/Table/Table.js +25 -0
  179. package/dist/esm/components/Table/TableBody.js +11 -0
  180. package/dist/esm/components/Table/TableCell.js +6 -0
  181. package/dist/esm/components/Table/TableFoot.js +11 -0
  182. package/dist/esm/components/Table/TableHead.js +11 -0
  183. package/dist/esm/components/Table/TableHeaderCell.js +6 -0
  184. package/dist/esm/components/Table/TableRow.js +9 -0
  185. package/dist/esm/components/Table/index.js +25 -0
  186. package/dist/esm/components/Tabs/Tabs.js +2 -3
  187. package/dist/esm/components/Tabs/TabsList.js +1 -2
  188. package/dist/esm/components/Tabs/TabsPanel.js +1 -2
  189. package/dist/esm/components/Tabs/TabsTab.js +1 -0
  190. package/dist/esm/components/Tabs/index.js +1 -2
  191. package/dist/esm/components/Tag/Tag.js +3 -2
  192. package/dist/esm/components/Textarea/Textarea.js +2 -3
  193. package/dist/esm/components/Textfield/Textfield.js +1 -3
  194. package/dist/esm/components/ToggleGroup/ToggleGroup.js +2 -1
  195. package/dist/esm/components/ToggleGroup/index.js +4 -4
  196. package/dist/esm/components/Tooltip/Tooltip.js +9 -5
  197. package/dist/esm/components/ValidationMessage/ValidationMessage.js +6 -1
  198. package/dist/esm/index.js +12 -6
  199. package/dist/esm/utilities/RovingFocus/RovingFocusRoot.js +2 -2
  200. package/dist/esm/{components/Pagination → utilities/hooks/usePagination}/usePagination.js +39 -2
  201. package/dist/types/colors.d.ts +12 -2
  202. package/dist/types/colors.d.ts.map +1 -1
  203. package/dist/types/components/Alert/Alert.d.ts +6 -3
  204. package/dist/types/components/Alert/Alert.d.ts.map +1 -1
  205. package/dist/types/components/Alert/index.d.ts +2 -1
  206. package/dist/types/components/Alert/index.d.ts.map +1 -1
  207. package/dist/types/components/Badge/Badge.d.ts +16 -8
  208. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  209. package/dist/types/components/Badge/BadgePosition.d.ts +9 -0
  210. package/dist/types/components/Badge/BadgePosition.d.ts.map +1 -1
  211. package/dist/types/components/Badge/index.d.ts +8 -1
  212. package/dist/types/components/Badge/index.d.ts.map +1 -1
  213. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +18 -0
  214. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  215. package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts +1 -3
  216. package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts.map +1 -1
  217. package/dist/types/components/Breadcrumbs/index.d.ts +14 -11
  218. package/dist/types/components/Breadcrumbs/index.d.ts.map +1 -1
  219. package/dist/types/components/Button/Button.d.ts +19 -10
  220. package/dist/types/components/Button/Button.d.ts.map +1 -1
  221. package/dist/types/components/Card/Card.d.ts +18 -7
  222. package/dist/types/components/Card/Card.d.ts.map +1 -1
  223. package/dist/types/components/Card/index.d.ts +12 -2
  224. package/dist/types/components/Card/index.d.ts.map +1 -1
  225. package/dist/types/components/Checkbox/Checkbox.d.ts +17 -6
  226. package/dist/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  227. package/dist/types/components/Checkbox/index.d.ts +2 -1
  228. package/dist/types/components/Checkbox/index.d.ts.map +1 -1
  229. package/dist/types/components/Chip/Chips.d.ts +1 -0
  230. package/dist/types/components/Chip/Chips.d.ts.map +1 -1
  231. package/dist/types/components/Combobox/Combobox.d.ts +3 -0
  232. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  233. package/dist/types/components/Combobox/ComboboxContext.d.ts +1 -1
  234. package/dist/types/components/Combobox/ComboboxContext.d.ts.map +1 -1
  235. package/dist/types/components/Combobox/Option/Option.d.ts +2 -2
  236. package/dist/types/components/Combobox/Option/Option.d.ts.map +1 -1
  237. package/dist/types/components/Combobox/Option/useComboboxOption.d.ts +6 -4
  238. package/dist/types/components/Combobox/Option/useComboboxOption.d.ts.map +1 -1
  239. package/dist/types/components/Combobox/index.d.ts +3 -0
  240. package/dist/types/components/Combobox/index.d.ts.map +1 -1
  241. package/dist/types/components/Combobox/useFloatingCombobox.d.ts +2 -2
  242. package/dist/types/components/Combobox/useFloatingCombobox.d.ts.map +1 -1
  243. package/dist/types/components/Details/Details.d.ts +13 -8
  244. package/dist/types/components/Details/Details.d.ts.map +1 -1
  245. package/dist/types/components/Details/DetailsContent.d.ts +1 -0
  246. package/dist/types/components/Details/DetailsContent.d.ts.map +1 -1
  247. package/dist/types/components/Details/DetailsSummary.d.ts +1 -0
  248. package/dist/types/components/Details/DetailsSummary.d.ts.map +1 -1
  249. package/dist/types/components/Details/index.d.ts +4 -3
  250. package/dist/types/components/Details/index.d.ts.map +1 -1
  251. package/dist/types/components/Dialog/Dialog.d.ts +69 -0
  252. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -0
  253. package/dist/types/components/{Modal/ModalBlock.d.ts → Dialog/DialogBlock.d.ts} +19 -3
  254. package/dist/types/components/Dialog/DialogBlock.d.ts.map +1 -0
  255. package/dist/types/components/Dialog/DialogTrigger.d.ts +22 -0
  256. package/dist/types/components/Dialog/DialogTrigger.d.ts.map +1 -0
  257. package/dist/types/components/Dialog/DialogTriggerContext.d.ts +21 -0
  258. package/dist/types/components/Dialog/DialogTriggerContext.d.ts.map +1 -0
  259. package/dist/types/components/Dialog/index.d.ts +43 -0
  260. package/dist/types/components/Dialog/index.d.ts.map +1 -0
  261. package/dist/types/components/Divider/Divider.d.ts +6 -0
  262. package/dist/types/components/Divider/Divider.d.ts.map +1 -1
  263. package/dist/types/components/Dropdown/Dropdown.d.ts +31 -2
  264. package/dist/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  265. package/dist/types/components/Dropdown/DropdownHeading.d.ts +1 -1
  266. package/dist/types/components/Dropdown/DropdownTriggerContext.d.ts +4 -1
  267. package/dist/types/components/Dropdown/DropdownTriggerContext.d.ts.map +1 -1
  268. package/dist/types/components/Dropdown/index.d.ts +12 -10
  269. package/dist/types/components/Dropdown/index.d.ts.map +1 -1
  270. package/dist/types/components/ErrorSummary/ErrorSummary.d.ts +22 -2
  271. package/dist/types/components/ErrorSummary/ErrorSummary.d.ts.map +1 -1
  272. package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts +1 -1
  273. package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts +11 -21
  274. package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts.map +1 -1
  275. package/dist/types/components/ErrorSummary/ErrorSummaryLink.d.ts +10 -0
  276. package/dist/types/components/ErrorSummary/ErrorSummaryLink.d.ts.map +1 -0
  277. package/dist/types/components/ErrorSummary/index.d.ts +25 -8
  278. package/dist/types/components/ErrorSummary/index.d.ts.map +1 -1
  279. package/dist/types/components/Field/Field.d.ts +15 -2
  280. package/dist/types/components/Field/Field.d.ts.map +1 -1
  281. package/dist/types/components/Field/FieldAffix.d.ts +21 -0
  282. package/dist/types/components/Field/FieldAffix.d.ts.map +1 -1
  283. package/dist/types/components/Field/FieldCounter.d.ts +35 -6
  284. package/dist/types/components/Field/FieldCounter.d.ts.map +1 -1
  285. package/dist/types/components/Field/index.d.ts +7 -5
  286. package/dist/types/components/Field/index.d.ts.map +1 -1
  287. package/dist/types/components/Fieldset/Fieldset.d.ts +15 -0
  288. package/dist/types/components/Fieldset/Fieldset.d.ts.map +1 -1
  289. package/dist/types/components/Fieldset/FieldsetDescription.d.ts +9 -1
  290. package/dist/types/components/Fieldset/FieldsetDescription.d.ts.map +1 -1
  291. package/dist/types/components/Fieldset/FieldsetLegend.d.ts +6 -0
  292. package/dist/types/components/Fieldset/FieldsetLegend.d.ts.map +1 -1
  293. package/dist/types/components/Fieldset/index.d.ts +11 -4
  294. package/dist/types/components/Fieldset/index.d.ts.map +1 -1
  295. package/dist/types/components/Heading/Heading.d.ts +8 -4
  296. package/dist/types/components/Heading/Heading.d.ts.map +1 -1
  297. package/dist/types/components/Heading/index.d.ts +2 -1
  298. package/dist/types/components/Heading/index.d.ts.map +1 -1
  299. package/dist/types/components/Input/Input.d.ts +22 -11
  300. package/dist/types/components/Input/Input.d.ts.map +1 -1
  301. package/dist/types/components/Label/Label.d.ts +2 -2
  302. package/dist/types/components/Label/index.d.ts +2 -1
  303. package/dist/types/components/Label/index.d.ts.map +1 -1
  304. package/dist/types/components/Link/Link.d.ts +13 -11
  305. package/dist/types/components/Link/Link.d.ts.map +1 -1
  306. package/dist/types/components/List/Lists.d.ts +20 -0
  307. package/dist/types/components/List/Lists.d.ts.map +1 -1
  308. package/dist/types/components/Pagination/Pagination.d.ts +18 -0
  309. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  310. package/dist/types/components/Pagination/PaginationButton.d.ts +8 -0
  311. package/dist/types/components/Pagination/PaginationButton.d.ts.map +1 -1
  312. package/dist/types/components/Pagination/PaginationItem.d.ts +10 -0
  313. package/dist/types/components/Pagination/PaginationItem.d.ts.map +1 -1
  314. package/dist/types/components/Pagination/PaginationList.d.ts +12 -0
  315. package/dist/types/components/Pagination/PaginationList.d.ts.map +1 -1
  316. package/dist/types/components/Pagination/index.d.ts +18 -2
  317. package/dist/types/components/Pagination/index.d.ts.map +1 -1
  318. package/dist/types/components/Paragraph/Paragraph.d.ts +3 -2
  319. package/dist/types/components/Paragraph/Paragraph.d.ts.map +1 -1
  320. package/dist/types/components/Paragraph/index.d.ts +2 -1
  321. package/dist/types/components/Paragraph/index.d.ts.map +1 -1
  322. package/dist/types/components/Popover/Popover.d.ts +46 -9
  323. package/dist/types/components/Popover/Popover.d.ts.map +1 -1
  324. package/dist/types/components/Popover/PopoverTrigger.d.ts +33 -0
  325. package/dist/types/components/Popover/PopoverTrigger.d.ts.map +1 -1
  326. package/dist/types/components/Popover/PopoverTriggerContext.d.ts +11 -0
  327. package/dist/types/components/Popover/PopoverTriggerContext.d.ts.map +1 -1
  328. package/dist/types/components/Popover/index.d.ts +26 -5
  329. package/dist/types/components/Popover/index.d.ts.map +1 -1
  330. package/dist/types/components/Radio/Radio.d.ts +17 -6
  331. package/dist/types/components/Radio/Radio.d.ts.map +1 -1
  332. package/dist/types/components/Radio/index.d.ts +2 -1
  333. package/dist/types/components/Radio/index.d.ts.map +1 -1
  334. package/dist/types/components/Search/Search.d.ts +16 -0
  335. package/dist/types/components/Search/Search.d.ts.map +1 -1
  336. package/dist/types/components/Search/SearchButton.d.ts +17 -3
  337. package/dist/types/components/Search/SearchButton.d.ts.map +1 -1
  338. package/dist/types/components/Search/SearchClear.d.ts +9 -0
  339. package/dist/types/components/Search/SearchClear.d.ts.map +1 -1
  340. package/dist/types/components/Search/SearchInput.d.ts +8 -0
  341. package/dist/types/components/Search/SearchInput.d.ts.map +1 -1
  342. package/dist/types/components/Search/index.d.ts +13 -9
  343. package/dist/types/components/Search/index.d.ts.map +1 -1
  344. package/dist/types/components/Select/Select.d.ts +17 -4
  345. package/dist/types/components/Select/Select.d.ts.map +1 -1
  346. package/dist/types/components/Select/SelectOptgroup.d.ts +11 -0
  347. package/dist/types/components/Select/SelectOptgroup.d.ts.map +1 -1
  348. package/dist/types/components/Select/SelectOption.d.ts +9 -0
  349. package/dist/types/components/Select/SelectOption.d.ts.map +1 -1
  350. package/dist/types/components/Select/index.d.ts +9 -0
  351. package/dist/types/components/Select/index.d.ts.map +1 -1
  352. package/dist/types/components/Skeleton/Skeleton.d.ts +15 -10
  353. package/dist/types/components/Skeleton/Skeleton.d.ts.map +1 -1
  354. package/dist/types/components/SkipLink/SkipLink.d.ts +19 -4
  355. package/dist/types/components/SkipLink/SkipLink.d.ts.map +1 -1
  356. package/dist/types/components/Spinner/Spinner.d.ts +10 -3
  357. package/dist/types/components/Spinner/Spinner.d.ts.map +1 -1
  358. package/dist/types/components/Spinner/index.d.ts +2 -1
  359. package/dist/types/components/Spinner/index.d.ts.map +1 -1
  360. package/dist/types/components/Suggestion/Suggestion.d.ts +102 -0
  361. package/dist/types/components/Suggestion/Suggestion.d.ts.map +1 -0
  362. package/dist/types/components/Suggestion/SuggestionClear.d.ts +35 -0
  363. package/dist/types/components/Suggestion/SuggestionClear.d.ts.map +1 -0
  364. package/dist/types/components/Suggestion/SuggestionEmpty.d.ts +28 -0
  365. package/dist/types/components/Suggestion/SuggestionEmpty.d.ts.map +1 -0
  366. package/dist/types/components/Suggestion/SuggestionInput.d.ts +21 -0
  367. package/dist/types/components/Suggestion/SuggestionInput.d.ts.map +1 -0
  368. package/dist/types/components/Suggestion/SuggestionList.d.ts +40 -0
  369. package/dist/types/components/Suggestion/SuggestionList.d.ts.map +1 -0
  370. package/dist/types/components/Suggestion/SuggestionOption.d.ts +6 -0
  371. package/dist/types/components/Suggestion/SuggestionOption.d.ts.map +1 -0
  372. package/dist/types/components/Suggestion/index.d.ts +56 -0
  373. package/dist/types/components/Suggestion/index.d.ts.map +1 -0
  374. package/dist/types/components/Switch/Switch.d.ts +15 -5
  375. package/dist/types/components/Switch/Switch.d.ts.map +1 -1
  376. package/dist/types/components/Switch/index.d.ts +2 -1
  377. package/dist/types/components/Switch/index.d.ts.map +1 -1
  378. package/dist/types/components/Table/Table.d.ts +33 -8
  379. package/dist/types/components/Table/Table.d.ts.map +1 -1
  380. package/dist/types/components/Table/TableBody.d.ts +11 -0
  381. package/dist/types/components/Table/TableBody.d.ts.map +1 -1
  382. package/dist/types/components/Table/TableCell.d.ts +6 -0
  383. package/dist/types/components/Table/TableCell.d.ts.map +1 -1
  384. package/dist/types/components/Table/TableFoot.d.ts +11 -0
  385. package/dist/types/components/Table/TableFoot.d.ts.map +1 -1
  386. package/dist/types/components/Table/TableHead.d.ts +11 -0
  387. package/dist/types/components/Table/TableHead.d.ts.map +1 -1
  388. package/dist/types/components/Table/TableHeaderCell.d.ts +6 -0
  389. package/dist/types/components/Table/TableHeaderCell.d.ts.map +1 -1
  390. package/dist/types/components/Table/TableRow.d.ts +9 -0
  391. package/dist/types/components/Table/TableRow.d.ts.map +1 -1
  392. package/dist/types/components/Table/index.d.ts +25 -0
  393. package/dist/types/components/Table/index.d.ts.map +1 -1
  394. package/dist/types/components/Tabs/Tabs.d.ts +25 -8
  395. package/dist/types/components/Tabs/Tabs.d.ts.map +1 -1
  396. package/dist/types/components/Tabs/TabsList.d.ts +1 -2
  397. package/dist/types/components/Tabs/TabsList.d.ts.map +1 -1
  398. package/dist/types/components/Tabs/TabsPanel.d.ts +9 -4
  399. package/dist/types/components/Tabs/TabsPanel.d.ts.map +1 -1
  400. package/dist/types/components/Tabs/TabsTab.d.ts +7 -2
  401. package/dist/types/components/Tabs/TabsTab.d.ts.map +1 -1
  402. package/dist/types/components/Tabs/index.d.ts +1 -2
  403. package/dist/types/components/Tabs/index.d.ts.map +1 -1
  404. package/dist/types/components/Tag/Tag.d.ts +3 -2
  405. package/dist/types/components/Tag/Tag.d.ts.map +1 -1
  406. package/dist/types/components/Tag/index.d.ts +2 -1
  407. package/dist/types/components/Tag/index.d.ts.map +1 -1
  408. package/dist/types/components/Textarea/Textarea.d.ts +2 -3
  409. package/dist/types/components/Textarea/Textarea.d.ts.map +1 -1
  410. package/dist/types/components/Textarea/index.d.ts +2 -1
  411. package/dist/types/components/Textarea/index.d.ts.map +1 -1
  412. package/dist/types/components/Textfield/Textfield.d.ts +30 -12
  413. package/dist/types/components/Textfield/Textfield.d.ts.map +1 -1
  414. package/dist/types/components/Textfield/index.d.ts +2 -1
  415. package/dist/types/components/Textfield/index.d.ts.map +1 -1
  416. package/dist/types/components/ToggleGroup/ToggleGroup.d.ts +25 -8
  417. package/dist/types/components/ToggleGroup/ToggleGroup.d.ts.map +1 -1
  418. package/dist/types/components/ToggleGroup/index.d.ts +13 -9
  419. package/dist/types/components/ToggleGroup/index.d.ts.map +1 -1
  420. package/dist/types/components/Tooltip/Tooltip.d.ts +8 -3
  421. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  422. package/dist/types/components/ValidationMessage/ValidationMessage.d.ts +6 -1
  423. package/dist/types/components/ValidationMessage/ValidationMessage.d.ts.map +1 -1
  424. package/dist/types/components/ValidationMessage/index.d.ts +2 -1
  425. package/dist/types/components/ValidationMessage/index.d.ts.map +1 -1
  426. package/dist/types/components/index.d.ts +2 -1
  427. package/dist/types/components/index.d.ts.map +1 -1
  428. package/dist/types/types.d.ts +2 -2
  429. package/dist/types/types.d.ts.map +1 -1
  430. package/dist/types/utilities/RovingFocus/useRovingFocus.d.ts +14 -1
  431. package/dist/types/utilities/RovingFocus/useRovingFocus.d.ts.map +1 -1
  432. package/dist/types/utilities/hooks/index.d.ts +2 -1
  433. package/dist/types/utilities/hooks/index.d.ts.map +1 -1
  434. package/dist/types/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts +7 -325
  435. package/dist/types/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts.map +1 -1
  436. package/dist/types/{components/Pagination → utilities/hooks/usePagination}/usePagination.d.ts +48 -12
  437. package/dist/types/utilities/hooks/usePagination/usePagination.d.ts.map +1 -0
  438. package/dist/types/utilities/hooks/useRadioGroup/useRadioGroup.d.ts +13 -327
  439. package/dist/types/utilities/hooks/useRadioGroup/useRadioGroup.d.ts.map +1 -1
  440. package/dist/types/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.d.ts +1 -1
  441. package/dist/types/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.d.ts.map +1 -1
  442. package/package.json +17 -14
  443. package/dist/cjs/components/Modal/Modal.js +0 -51
  444. package/dist/cjs/components/Modal/ModalBlock.js +0 -14
  445. package/dist/cjs/components/Modal/ModalTrigger.js +0 -16
  446. package/dist/cjs/components/Modal/ModalTriggerContext.js +0 -17
  447. package/dist/cjs/components/Modal/index.js +0 -21
  448. package/dist/cjs/utilities/hooks/usePrevious/usePrevious.js +0 -14
  449. package/dist/esm/components/Modal/Modal.js +0 -49
  450. package/dist/esm/components/Modal/ModalBlock.js +0 -12
  451. package/dist/esm/components/Modal/ModalTriggerContext.js +0 -14
  452. package/dist/esm/components/Modal/index.js +0 -16
  453. package/dist/esm/utilities/hooks/usePrevious/usePrevious.js +0 -12
  454. package/dist/types/components/Modal/Modal.d.ts +0 -38
  455. package/dist/types/components/Modal/Modal.d.ts.map +0 -1
  456. package/dist/types/components/Modal/ModalBlock.d.ts.map +0 -1
  457. package/dist/types/components/Modal/ModalTrigger.d.ts +0 -13
  458. package/dist/types/components/Modal/ModalTrigger.d.ts.map +0 -1
  459. package/dist/types/components/Modal/ModalTriggerContext.d.ts +0 -10
  460. package/dist/types/components/Modal/ModalTriggerContext.d.ts.map +0 -1
  461. package/dist/types/components/Modal/index.d.ts +0 -32
  462. package/dist/types/components/Modal/index.d.ts.map +0 -1
  463. package/dist/types/components/Pagination/usePagination.d.ts.map +0 -1
  464. package/dist/types/utilities/hooks/usePrevious/usePrevious.d.ts +0 -2
  465. package/dist/types/utilities/hooks/usePrevious/usePrevious.d.ts.map +0 -1
@@ -5,6 +5,22 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var cl = require('clsx/lite');
6
6
  var react = require('react');
7
7
 
8
+ /**
9
+ * Search component, use to display different variations of a search input
10
+ *
11
+ * @example with button
12
+ * <Search>
13
+ * <Search.Input aria-label='Søk' />
14
+ * <Search.Clear />
15
+ * <Search.Button />
16
+ * </Search>
17
+ *
18
+ * @example with icon
19
+ * <Search>
20
+ * <Search.Input aria-label='Søk' />
21
+ * <Search.Clear />
22
+ * </Search>
23
+ */
8
24
  const Search = react.forwardRef(function Search({ className, ...rest }, ref) {
9
25
  return jsxRuntime.jsx("div", { ref: ref, className: cl('ds-search', className), ...rest });
10
26
  });
@@ -5,6 +5,15 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
  var Button = require('../Button/Button.js');
7
7
 
8
+ /**
9
+ * SearchButton component, used to display a search button within a Search component.
10
+ *
11
+ * @example
12
+ * <Search>
13
+ * <Search.Input aria-label='Søk' />
14
+ * <Search.Button>Søk</Search.Button>
15
+ * </Search>
16
+ */
8
17
  const SearchButton = react.forwardRef(function SearchButton({ children = 'Søk', ...rest }, ref) {
9
18
  return (jsxRuntime.jsx(Button.Button, { ref: ref, type: 'submit', ...rest, children: children }));
10
19
  });
@@ -6,6 +6,15 @@ var react = require('react');
6
6
  var utilities = require('../Combobox/utilities.js');
7
7
  var Button = require('../Button/Button.js');
8
8
 
9
+ /**
10
+ * SearchClear component, used to display a clear buttun when the search input is not empty.
11
+ *
12
+ * @example
13
+ * <Search>
14
+ * <Search.Input aria-label='Søk' />
15
+ * <Search.Clear />
16
+ * </Search>
17
+ */
9
18
  const SearchClear = react.forwardRef(function SearchClear({ 'aria-label': label = 'Tøm', onClick, ...rest }, ref) {
10
19
  const handleClear = (e) => {
11
20
  const target = e.target;
@@ -5,6 +5,14 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
  var Input = require('../Input/Input.js');
7
7
 
8
+ /**
9
+ * SearchInput component, used to display a search input within the Search component.
10
+ *
11
+ * @example
12
+ * <Search>
13
+ * <Search.Input aria-label='Søk' />
14
+ * </Search>
15
+ */
8
16
  const SearchInput = react.forwardRef(function SearchInput({ ...rest }, ref) {
9
17
  return (jsxRuntime.jsx(Input.Input, { ref: ref, type: 'search',
10
18
  /* We need an empty placeholder for the clear button to be able to show/hide */
@@ -7,16 +7,20 @@ var SearchClear = require('./SearchClear.js');
7
7
  var SearchInput = require('./SearchInput.js');
8
8
 
9
9
  /**
10
- * Search field
10
+ * Search component, use to display different variations of a search input
11
11
  *
12
- * @example
13
- * ```tsx
12
+ * @example with button
14
13
  * <Search>
15
- * <Search.Input aria-label='Søk' />
16
- * <Search.Clear />
17
- * <Search.Button />
14
+ * <Search.Input aria-label='Søk' />
15
+ * <Search.Clear />
16
+ * <Search.Button />
17
+ * </Search>
18
+ *
19
+ * @example with icon
20
+ * <Search>
21
+ * <Search.Input aria-label='Søk' />
22
+ * <Search.Clear />
18
23
  * </Search>
19
- * ```
20
24
  */
21
25
  const Search = Object.assign(Search$1.Search, {
22
26
  Clear: SearchClear.SearchClear,
@@ -5,6 +5,15 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var cl = require('clsx/lite');
6
6
  var react = require('react');
7
7
 
8
+ /**
9
+ * Select component, used to display a native select.
10
+ *
11
+ * @example
12
+ * <Select>
13
+ * <Select.Option value='1'>Option 1</Select.Option>
14
+ * <Select.Option value='2'>Option 2</Select.Option>
15
+ * </Select>
16
+ */
8
17
  const Select = react.forwardRef(function Select({ className, onKeyDown, onMouseDown, width, ...rest }, ref) {
9
18
  return (jsxRuntime.jsx("select", { className: cl('ds-input', className), "data-width": width, ref: ref, onKeyDown: (event) => {
10
19
  if (event.key === 'Tab')
@@ -5,6 +5,17 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var reactSlot = require('@radix-ui/react-slot');
6
6
  var react = require('react');
7
7
 
8
+ /**
9
+ * SelectOptgroup component, used to display a native optgroup within a select.
10
+ *
11
+ * @example
12
+ * <Select>
13
+ * <Select.Optgroup label='Group 1'>
14
+ * <Select.Option value='1'>Option 1</Select.Option>
15
+ * <Select.Option value='2'>Option 2</Select.Option>
16
+ * </Select.Optgroup>
17
+ * </Select>
18
+ */
8
19
  const SelectOptgroup = react.forwardRef(function SelectOptgroup({ asChild, ...rest }, ref) {
9
20
  const Component = asChild ? reactSlot.Slot : 'optgroup';
10
21
  return jsxRuntime.jsx(Component, { ...rest, ref: ref });
@@ -5,6 +5,15 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var reactSlot = require('@radix-ui/react-slot');
6
6
  var react = require('react');
7
7
 
8
+ /**
9
+ * SelectOption component, used to display a native option within a select.
10
+ *
11
+ * @example
12
+ * <Select>
13
+ * <Select.Option value='1'>Option 1</Select.Option>
14
+ * <Select.Option value='2'>Option 2</Select.Option>
15
+ * </Select>
16
+ */
8
17
  const SelectOption = react.forwardRef(function SelectOption({ asChild, ...rest }, ref) {
9
18
  const Component = asChild ? reactSlot.Slot : 'option';
10
19
  return jsxRuntime.jsx(Component, { ...rest, ref: ref });
@@ -5,6 +5,15 @@ var Select$1 = require('./Select.js');
5
5
  var SelectOptgroup = require('./SelectOptgroup.js');
6
6
  var SelectOption = require('./SelectOption.js');
7
7
 
8
+ /**
9
+ * Select component, used to display a native select.
10
+ *
11
+ * @example
12
+ * <Select>
13
+ * <Select.Option value='1'>Option 1</Select.Option>
14
+ * <Select.Option value='2'>Option 2</Select.Option>
15
+ * </Select>
16
+ */
8
17
  const Select = Object.assign(Select$1.Select, {
9
18
  Option: SelectOption.SelectOption,
10
19
  Optgroup: SelectOptgroup.SelectOptgroup,
@@ -9,11 +9,12 @@ var react = require('react');
9
9
  var useSynchronizedAnimation = require('../../utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.js');
10
10
 
11
11
  /**
12
- * Represent a draft of page while the content loads. Mix different skeleton components to create your layout.
12
+ * Skeleton is used to represent a draft of page while the content loads.
13
+ *
13
14
  * @example
14
- * <Skeleton variant="circle" />
15
- * <Skeleton variant="text" />
16
- * <Skeleton variant="rectangle" />
15
+ * <Skeleton variant="circle" />
16
+ * <Skeleton variant="text" />
17
+ * <Skeleton variant="rectangle" />
17
18
  */
18
19
  const Skeleton = react.forwardRef(function Skeleton({ asChild, className, height, style, variant = 'rectangle', width, ...rest }, ref) {
19
20
  const Component = asChild ? reactSlot.Slot : 'span';
@@ -5,6 +5,13 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var cl = require('clsx/lite');
6
6
  var react = require('react');
7
7
 
8
+ /**
9
+ * SkipLink component, used to display a skip link within the page.
10
+ * Place it at the top of the page to allow users to skip to the main content.
11
+ *
12
+ * @example
13
+ * <SkipLink href='#main-content'>Skip to main content</SkipLink>
14
+ */
8
15
  const SkipLink = react.forwardRef(function SkipLink({ children, className, ...rest }, ref) {
9
16
  return (jsxRuntime.jsx("a", { className: cl('ds-skiplink', className), ...rest, ref: ref, children: children }));
10
17
  });
@@ -7,7 +7,12 @@ var cl = require('clsx/lite');
7
7
  var react = require('react');
8
8
  var useSynchronizedAnimation = require('../../utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.js');
9
9
 
10
- /** Spinner component used for indicating busy or indeterminate loading */
10
+ /**
11
+ * Spinner component used for indicating busy or indeterminate loading.
12
+ *
13
+ * @example
14
+ * <Spinner aria-label='Loading users...' />
15
+ */
11
16
  const Spinner = react.forwardRef(function Spinner({ 'aria-label': ariaLabel, className, ...rest }, ref) {
12
17
  const svgRef = useSynchronizedAnimation.useSynchronizedAnimation('ds-spinner-rotate-animation');
13
18
  const strokeRef = useSynchronizedAnimation.useSynchronizedAnimation('ds-spinner-stroke-animation');
@@ -0,0 +1,55 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var reactSlot = require('@radix-ui/react-slot');
6
+ var uDatalist = require('@u-elements/u-datalist');
7
+ var cl = require('clsx/lite');
8
+ var react = require('react');
9
+
10
+ const SuggestionContext = react.createContext({});
11
+ /**
12
+ * A component that provides a suggestion list for an input field.
13
+ *
14
+ * @example
15
+ * <Suggestion>
16
+ * <Suggestion.Input />
17
+ * <Suggestion.Clear />
18
+ * <Suggestion.List>
19
+ * <Suggestion.Empty>Tomt</Suggestion.Empty>
20
+ * <Suggestion.Option value='Option 1'>Option 1</Suggestion.Option>
21
+ * <Suggestion.Option value='Option 2'>Option 2</Suggestion.Option>
22
+ * </Suggestion.List>
23
+ * </Suggestion>
24
+ */
25
+ const Suggestion = react.forwardRef(function Suggestion({ className, filter = true, asChild, ...rest }, ref) {
26
+ const Component = asChild ? reactSlot.Slot : 'div';
27
+ const [listId, setListId] = react.useState(react.useId());
28
+ const inputRef = react.useRef(null);
29
+ const handleFilter = react.useCallback((input) => {
30
+ const list = input?.list;
31
+ // Let <datalist> handle filtering if filter is true
32
+ if (filter === true || !list)
33
+ return;
34
+ // Handle custom filter
35
+ if (filter !== false) {
36
+ let index = 0;
37
+ for (const option of list.children) {
38
+ // Skip <datalist> children that are not <option>
39
+ if ('value' in option)
40
+ option.disabled = !filter({
41
+ index: index++, // Increment index for each <option>
42
+ input,
43
+ optionElement: option,
44
+ text: option.text,
45
+ value: uDatalist.getDatalistValue(option),
46
+ });
47
+ }
48
+ }
49
+ uDatalist.syncDatalistState(input); // Sync the datalist state if filter is custom or false
50
+ }, [filter]);
51
+ return (jsxRuntime.jsx(SuggestionContext.Provider, { value: { inputRef, listId, setListId, handleFilter }, children: jsxRuntime.jsx(Component, { className: cl('ds-suggestion', className), ref: ref, ...rest }) }));
52
+ });
53
+
54
+ exports.Suggestion = Suggestion;
55
+ exports.SuggestionContext = SuggestionContext;
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ var Suggestion = require('./Suggestion.js');
7
+ var Button = require('../Button/Button.js');
8
+
9
+ /**
10
+ * Component that provides a clear button for the suggestion input.
11
+ *
12
+ * Place as a descendant of `Suggestion`
13
+ *
14
+ * @example
15
+ * <Suggestion>
16
+ * <Suggestion.Input />
17
+ * <Suggestion.Clear />
18
+ * <Suggestion.List />
19
+ * </Suggestion>
20
+ */
21
+ const SuggestionClear = react.forwardRef(function SuggestionClear({ 'aria-label': label = 'Tøm', onClick, ...rest }, ref) {
22
+ const { inputRef } = react.useContext(Suggestion.SuggestionContext); //, handleValueChange
23
+ const handleClear = (event) => {
24
+ if (!inputRef?.current)
25
+ throw new Error('Input is missing');
26
+ /* narrow type to make TS happy */
27
+ if (!(inputRef?.current instanceof HTMLInputElement))
28
+ throw new Error('Input is not an input element');
29
+ event.preventDefault();
30
+ setReactInputValue(inputRef.current, '');
31
+ inputRef.current.focus();
32
+ onClick?.(event);
33
+ };
34
+ return (jsxRuntime.jsx(Button.Button, { ref: ref, variant: 'tertiary', type: 'reset', "aria-label": label, onClick: handleClear, icon: true, ...rest }));
35
+ });
36
+ const setReactInputValue = (input, value) => {
37
+ const previousValue = input.value;
38
+ input.value = value;
39
+ const tracker = input._valueTracker;
40
+ if (typeof tracker !== 'undefined') {
41
+ tracker.setValue(previousValue);
42
+ }
43
+ //'change' instead of 'input', see https://github.com/facebook/react/issues/11488#issuecomment-381590324
44
+ input.dispatchEvent(new Event('change', { bubbles: true }));
45
+ };
46
+
47
+ exports.SuggestionClear = SuggestionClear;
48
+ exports.setReactInputValue = setReactInputValue;
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var reactSlot = require('@radix-ui/react-slot');
6
+ var react = require('react');
7
+
8
+ /**
9
+ * Component that provides an empty suggestion list.
10
+ *
11
+ * Place as a descendant of `Suggestion.List`
12
+ *
13
+ * @example
14
+ * <Suggestion.List>
15
+ * <Suggestion.Empty>Tomt</Suggestion.Empty>
16
+ * </Suggestion.List>
17
+ */
18
+ const SuggestionEmpty = react.forwardRef(function SuggestionEmpty({ asChild, ...rest }, ref) {
19
+ const Component = asChild ? reactSlot.Slot : 'div';
20
+ return (jsxRuntime.jsx(Component, { "aria-disabled": 'true', ref: ref, role: 'option', tabIndex: 0, ...rest }));
21
+ });
22
+
23
+ exports.SuggestionEmpty = SuggestionEmpty;
@@ -0,0 +1,45 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react$1 = require('@floating-ui/react');
6
+ var uDatalist = require('@u-elements/u-datalist');
7
+ var react = require('react');
8
+ var Suggestion = require('./Suggestion.js');
9
+ var Input = require('../Input/Input.js');
10
+
11
+ /**
12
+ * Component that provides an input field for the suggestion list.
13
+ *
14
+ * Place as a descendant of `Suggestion`
15
+ *
16
+ * @example
17
+ * <Suggestion>
18
+ * <Suggestion.Input />
19
+ * <Suggestion.List />
20
+ * </Suggestion>
21
+ */
22
+ const SuggestionInput = react.forwardRef(function SuggestionList({ value, onInput, ...rest }, ref) {
23
+ const { listId, inputRef, handleFilter } = react.useContext(Suggestion.SuggestionContext);
24
+ const mergedRefs = react$1.useMergeRefs([inputRef, ref]);
25
+ const updateSelected = react.useCallback(() => {
26
+ const { list, value } = inputRef?.current || {};
27
+ for (const option of list?.options || []) {
28
+ option.selected = uDatalist.getDatalistValue(option) === value;
29
+ }
30
+ }, []);
31
+ // Update also if controlled value
32
+ react.useEffect(() => {
33
+ updateSelected();
34
+ handleFilter?.(inputRef?.current);
35
+ }, [value]);
36
+ return (jsxRuntime.jsx(Input.Input, { ref: mergedRefs, list: listId, value: value, onInput: (event) => {
37
+ onInput?.(event); // Should run first
38
+ updateSelected();
39
+ if (!uDatalist.isDatalistClick(event.nativeEvent))
40
+ handleFilter?.(inputRef?.current);
41
+ }, placeholder: '' // We need an empty placeholder for the clear button to be able to show/hide
42
+ , ...rest }));
43
+ });
44
+
45
+ exports.SuggestionInput = SuggestionInput;
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ require('@u-elements/u-datalist');
7
+ var Suggestion = require('./Suggestion.js');
8
+
9
+ /**
10
+ * Component that provides a suggestion list.
11
+ *
12
+ * Place as a descendant of `Suggestion`
13
+ *
14
+ * @example
15
+ * <Suggestion>
16
+ * <Suggestion.Input />
17
+ * <Suggestion.List />
18
+ * </Suggestion>
19
+ */
20
+ const SuggestionList = react.forwardRef(function SuggestionList({ singular = '%d forslag', plural = '%d forslag', className, id, ...rest }, ref) {
21
+ const { inputRef, listId, setListId, handleFilter } = react.useContext(Suggestion.SuggestionContext);
22
+ react.useEffect(() => handleFilter?.(inputRef?.current)); // Must run on every render
23
+ react.useEffect(() => {
24
+ if (id && listId !== id)
25
+ setListId?.(id);
26
+ }, [listId, id, setListId]);
27
+ return (jsxRuntime.jsx("u-datalist", { "data-sr-singular": singular, "data-sr-plural": plural, class: className, id: listId, ref: ref, ...rest }));
28
+ });
29
+
30
+ exports.SuggestionList = SuggestionList;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ require('@u-elements/u-datalist');
7
+
8
+ const SuggestionOption = react.forwardRef(function SuggestionOption({ className, ...rest }, ref) {
9
+ return (jsxRuntime.jsx("u-option", { class: className, ref: ref, ...rest }));
10
+ });
11
+
12
+ exports.SuggestionOption = SuggestionOption;
@@ -0,0 +1,44 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var Suggestion = require('./Suggestion.js');
5
+ var SuggestionClear = require('./SuggestionClear.js');
6
+ var SuggestionEmpty = require('./SuggestionEmpty.js');
7
+ var SuggestionInput = require('./SuggestionInput.js');
8
+ var SuggestionList = require('./SuggestionList.js');
9
+ var SuggestionOption = require('./SuggestionOption.js');
10
+
11
+ /**
12
+ * A component that provides a suggestion list for an input field.
13
+ *
14
+ * @example
15
+ * <Suggestion>
16
+ * <Suggestion.Input />
17
+ * <Suggestion.Clear />
18
+ * <Suggestion.List>
19
+ * <Suggestion.Empty>Tomt</Suggestion.Empty>
20
+ * <Suggestion.Option value='Option 1'>Option 1</Suggestion.Option>
21
+ * <Suggestion.Option value='Option 2'>Option 2</Suggestion.Option>
22
+ * </Suggestion.List>
23
+ * </Suggestion>
24
+ */
25
+ const EXPERIMENTAL_Suggestion = Object.assign(Suggestion.Suggestion, {
26
+ List: SuggestionList.SuggestionList,
27
+ Input: SuggestionInput.SuggestionInput,
28
+ Empty: SuggestionEmpty.SuggestionEmpty,
29
+ Option: SuggestionOption.SuggestionOption,
30
+ Clear: SuggestionClear.SuggestionClear,
31
+ });
32
+ EXPERIMENTAL_Suggestion.displayName = 'EXPERIMENTAL_Suggestion';
33
+ EXPERIMENTAL_Suggestion.List.displayName = 'EXPERIMENTAL_Suggestion.List';
34
+ EXPERIMENTAL_Suggestion.Input.displayName = 'EXPERIMENTAL_Suggestion.Input';
35
+ EXPERIMENTAL_Suggestion.Empty.displayName = 'EXPERIMENTAL_Suggestion.Empty';
36
+ EXPERIMENTAL_Suggestion.Option.displayName = 'EXPERIMENTAL_Suggestion.Option';
37
+ EXPERIMENTAL_Suggestion.Clear.displayName = 'EXPERIMENTAL_Suggestion.Clear';
38
+
39
+ exports.EXPERIMENTAL_SuggestionClear = SuggestionClear.SuggestionClear;
40
+ exports.EXPERIMENTAL_SuggestionEmpty = SuggestionEmpty.SuggestionEmpty;
41
+ exports.EXPERIMENTAL_SuggestionInput = SuggestionInput.SuggestionInput;
42
+ exports.EXPERIMENTAL_SuggestionList = SuggestionList.SuggestionList;
43
+ exports.EXPERIMENTAL_SuggestionOption = SuggestionOption.SuggestionOption;
44
+ exports.EXPERIMENTAL_Suggestion = EXPERIMENTAL_Suggestion;
@@ -9,6 +9,7 @@ var Label = require('../Label/Label.js');
9
9
 
10
10
  /**
11
11
  * Switch used to toggle options.
12
+ *
12
13
  * @example
13
14
  * <Switch label="I agree" value="agree" />
14
15
  */
@@ -5,6 +5,31 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var cl = require('clsx/lite');
6
6
  var react = require('react');
7
7
 
8
+ /**
9
+ * Table component, used to display tabular data. Renders a native HTML table element.
10
+ *
11
+ * @example
12
+ * <Table>
13
+ * <Table.Head>
14
+ * <Table.Row>
15
+ * <Table.HeaderCell>Name</Table.HeaderCell>
16
+ * <Table.HeaderCell>Age</Table.HeaderCell>
17
+ * </Table.Row>
18
+ * </Table.Head>
19
+ * <Table.Body>
20
+ * <Table.Row>
21
+ * <Table.Cell>John</Table.Cell>
22
+ * <Table.Cell>25</Table.Cell>
23
+ * </Table.Row>
24
+ * </Table.Body>
25
+ * <Table.Foot>
26
+ * <Table.Row>
27
+ * <Table.Cell>Total</Table.Cell>
28
+ * <Table.Cell>2</Table.Cell>
29
+ * </Table.Row>
30
+ * </Table.Foot>
31
+ * </Table>
32
+ */
8
33
  const Table = react.forwardRef(function Table({ zebra = false, stickyHeader = false, border = false, hover = false, className, children, ...rest }, ref) {
9
34
  return (jsxRuntime.jsx("table", { className: cl('ds-table', className), "data-border": border || undefined, "data-hover": hover || undefined, "data-sticky-header": stickyHeader || undefined, "data-zebra": zebra || undefined, ref: ref, ...rest, children: children }));
10
35
  });
@@ -4,6 +4,17 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
 
7
+ /**
8
+ * TableBody component, used to display the body of a table. Renders a native HTML tbody element.
9
+ *
10
+ * @example
11
+ * <Table.Body>
12
+ * <Table.Row>
13
+ * <Table.Cell>John</Table.Cell>
14
+ * <Table.Cell>25</Table.Cell>
15
+ * </Table.Row>
16
+ * </Table.Body>
17
+ */
7
18
  const TableBody = react.forwardRef(function TableBody(rest, ref) {
8
19
  return jsxRuntime.jsx("tbody", { ref: ref, ...rest });
9
20
  });
@@ -4,6 +4,12 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
 
7
+ /**
8
+ * TableCell component, used to display the cells of a table. Renders a native HTML td element.
9
+ *
10
+ * @example
11
+ * <Table.Cell>John</Table.Cell>
12
+ */
7
13
  const TableCell = react.forwardRef(function TableCell(rest, ref) {
8
14
  return jsxRuntime.jsx("td", { ref: ref, ...rest });
9
15
  });
@@ -4,6 +4,17 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
 
7
+ /**
8
+ * TableFoot component, used to display the footer of a table. Renders a native HTML tfoot element.
9
+ *
10
+ * @example
11
+ * <Table.Foot>
12
+ * <Table.Row>
13
+ * <Table.Cell>Total</Table.Cell>
14
+ * <Table.Cell>2</Table.Cell>
15
+ * </Table.Row>
16
+ * </Table.Foot>
17
+ */
7
18
  const TableFoot = react.forwardRef(function TableFoot(rest, ref) {
8
19
  return jsxRuntime.jsx("tfoot", { ref: ref, ...rest });
9
20
  });
@@ -4,6 +4,17 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
 
7
+ /**
8
+ * TableHead component, used to display the header of a table. Renders a native HTML thead element.
9
+ *
10
+ * @example
11
+ * <Table.Head>
12
+ * <Table.Row>
13
+ * <Table.HeaderCell>Name</Table.HeaderCell>
14
+ * <Table.HeaderCell>Age</Table.HeaderCell>
15
+ * </Table.Row>
16
+ * </Table.Head>
17
+ */
7
18
  const TableHead = react.forwardRef(function TableHead(rest, ref) {
8
19
  return jsxRuntime.jsx("thead", { ref: ref, ...rest });
9
20
  });
@@ -4,6 +4,12 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
 
7
+ /**
8
+ * TableHeaderCell component, used to display the header cells of a table. Renders a native HTML th element.
9
+ *
10
+ * @example
11
+ * <Table.HeaderCell>Name</Table.HeaderCell>
12
+ */
7
13
  const TableHeaderCell = react.forwardRef(function TableHeaderCell({ sort, children, ...rest }, ref) {
8
14
  return (jsxRuntime.jsx("th", { "aria-sort": sort, ref: ref, ...rest, children: sort ? jsxRuntime.jsx("button", { type: 'button', children: children }) : children }));
9
15
  });
@@ -4,6 +4,15 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
 
7
+ /**
8
+ * TableRow component, used to display the rows of a table. Renders a native HTML tr element.
9
+ *
10
+ * @example
11
+ * <Table.Row>
12
+ * <Table.Cell>John</Table.Cell>
13
+ * <Table.Cell>25</Table.Cell>
14
+ * </Table.Row>
15
+ */
7
16
  const TableRow = react.forwardRef(function TableRow(rest, ref) {
8
17
  return jsxRuntime.jsx("tr", { ref: ref, ...rest });
9
18
  });
@@ -9,6 +9,31 @@ var TableHead = require('./TableHead.js');
9
9
  var TableHeaderCell = require('./TableHeaderCell.js');
10
10
  var TableRow = require('./TableRow.js');
11
11
 
12
+ /**
13
+ * Table component, used to display tabular data. Renders a native HTML table element.
14
+ *
15
+ * @example
16
+ * <Table>
17
+ * <Table.Head>
18
+ * <Table.Row>
19
+ * <Table.HeaderCell>Name</Table.HeaderCell>
20
+ * <Table.HeaderCell>Age</Table.HeaderCell>
21
+ * </Table.Row>
22
+ * </Table.Head>
23
+ * <Table.Body>
24
+ * <Table.Row>
25
+ * <Table.Cell>John</Table.Cell>
26
+ * <Table.Cell>25</Table.Cell>
27
+ * </Table.Row>
28
+ * </Table.Body>
29
+ * <Table.Foot>
30
+ * <Table.Row>
31
+ * <Table.Cell>Total</Table.Cell>
32
+ * <Table.Cell>2</Table.Cell>
33
+ * </Table.Row>
34
+ * </Table.Foot>
35
+ * </Table>
36
+ */
12
37
  const Table = Object.assign(Table$1.Table, {
13
38
  Head: TableHead.TableHead,
14
39
  Body: TableBody.TableBody,