@digdir/designsystemet-react 0.0.0-next-20250710132619 → 0.0.0-react-side-effects-20260113071010

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/README.md +2 -2
  2. package/dist/cjs/components/Combobox/Combobox.js +4 -2
  3. package/dist/cjs/components/Combobox/Custom.js +1 -1
  4. package/dist/cjs/components/Combobox/Option/Option.js +1 -1
  5. package/dist/cjs/components/Combobox/Option/useComboboxOption.js +3 -1
  6. package/dist/cjs/components/Combobox/internal/ComboboxInput.js +1 -1
  7. package/dist/cjs/{utilities → components/Combobox}/omit/omit.js +2 -0
  8. package/dist/cjs/components/Combobox/useCombobox.js +2 -1
  9. package/dist/cjs/components/Combobox/useComboboxKeyboard.js +4 -1
  10. package/dist/cjs/components/breadcrumbs/index.js +6 -6
  11. package/dist/cjs/components/button/button.js +1 -1
  12. package/dist/cjs/components/card/index.js +3 -3
  13. package/dist/cjs/components/chip/index.js +6 -6
  14. package/dist/cjs/components/details/details.js +1 -1
  15. package/dist/cjs/components/details/index.js +4 -4
  16. package/dist/cjs/components/dialog/dialog.js +18 -5
  17. package/dist/cjs/components/dialog/index.js +5 -5
  18. package/dist/cjs/components/dropdown/dropdown-button.js +12 -0
  19. package/dist/cjs/components/dropdown/dropdown-heading.js +8 -0
  20. package/dist/cjs/components/dropdown/dropdown-item.js +12 -0
  21. package/dist/cjs/components/dropdown/dropdown-list.js +12 -0
  22. package/dist/cjs/components/dropdown/dropdown-trigger-context.js +9 -9
  23. package/dist/cjs/components/dropdown/dropdown-trigger.js +16 -0
  24. package/dist/cjs/components/dropdown/index.js +20 -9
  25. package/dist/cjs/components/error-summary/error-summary-heading.js +8 -0
  26. package/dist/cjs/components/error-summary/error-summary-item.js +4 -4
  27. package/dist/cjs/components/error-summary/error-summary-link.js +8 -1
  28. package/dist/cjs/components/error-summary/error-summary-list.js +15 -0
  29. package/dist/cjs/components/error-summary/index.js +6 -6
  30. package/dist/cjs/components/field/field-counter.js +23 -3
  31. package/dist/cjs/components/field/field-description.js +6 -0
  32. package/dist/cjs/components/field/field-observer.js +8 -6
  33. package/dist/cjs/components/field/field.js +1 -1
  34. package/dist/cjs/components/field/index.js +6 -6
  35. package/dist/cjs/components/fieldset/fieldset-description.js +2 -2
  36. package/dist/cjs/components/fieldset/fieldset-legend.js +1 -1
  37. package/dist/cjs/components/fieldset/index.js +4 -4
  38. package/dist/cjs/components/list/index.js +5 -5
  39. package/dist/cjs/components/list/list-item.js +6 -0
  40. package/dist/cjs/components/list/lists.js +8 -8
  41. package/dist/cjs/components/pagination/index.js +5 -5
  42. package/dist/cjs/components/pagination/pagination-button.js +3 -3
  43. package/dist/cjs/components/pagination/pagination-item.js +5 -5
  44. package/dist/cjs/components/pagination/pagination-list.js +5 -5
  45. package/dist/cjs/components/popover/index.js +4 -4
  46. package/dist/cjs/components/popover/popover-trigger-context.js +3 -3
  47. package/dist/cjs/components/popover/popover-trigger.js +6 -6
  48. package/dist/cjs/components/popover/popover.js +7 -5
  49. package/dist/cjs/components/search/index.js +5 -5
  50. package/dist/cjs/components/search/search-button.js +2 -2
  51. package/dist/cjs/components/search/search-clear.js +2 -2
  52. package/dist/cjs/components/search/search-input.js +1 -1
  53. package/dist/cjs/components/select/index.js +4 -4
  54. package/dist/cjs/components/select/select-optgroup.js +4 -4
  55. package/dist/cjs/components/select/select-option.js +2 -2
  56. package/dist/cjs/components/skeleton/skeleton.js +3 -1
  57. package/dist/cjs/components/spinner/spinner.js +3 -1
  58. package/dist/cjs/components/suggestion/index.js +0 -4
  59. package/dist/cjs/components/suggestion/suggestion-clear.js +1 -1
  60. package/dist/cjs/components/suggestion/suggestion-list.js +41 -3
  61. package/dist/cjs/components/suggestion/suggestion-option.js +12 -0
  62. package/dist/cjs/components/suggestion/suggestion.js +39 -30
  63. package/dist/cjs/components/table/index.js +9 -9
  64. package/dist/cjs/components/table/table-body.js +6 -6
  65. package/dist/cjs/components/table/table-cell.js +1 -1
  66. package/dist/cjs/components/table/table-foot.js +6 -6
  67. package/dist/cjs/components/table/table-head.js +6 -6
  68. package/dist/cjs/components/table/table-header-cell.js +1 -1
  69. package/dist/cjs/components/table/table-row.js +4 -4
  70. package/dist/cjs/components/tabs/index.js +5 -5
  71. package/dist/cjs/components/tabs/tabs-list.js +8 -6
  72. package/dist/cjs/components/tabs/tabs-panel.js +18 -5
  73. package/dist/cjs/components/tabs/tabs-tab.js +6 -3
  74. package/dist/cjs/components/tabs/tabs.js +5 -0
  75. package/dist/cjs/components/tag/tag.js +2 -2
  76. package/dist/cjs/components/textfield/textfield.js +1 -1
  77. package/dist/cjs/components/toggle-group/index.js +3 -3
  78. package/dist/cjs/components/toggle-group/toggle-group-item.js +3 -3
  79. package/dist/cjs/components/toggle-group/toggle-group.js +3 -2
  80. package/dist/cjs/components/toggle-group/use-toggle-groupitem.js +2 -0
  81. package/dist/cjs/components/tooltip/tooltip.js +25 -7
  82. package/dist/cjs/index.js +95 -100
  83. package/dist/cjs/utilities/hooks/use-merge-refs/use-merge-refs.js +1 -1
  84. package/dist/cjs/utilities/hooks/use-pagination/use-pagination.js +2 -2
  85. package/dist/cjs/utilities/hooks/use-synchronized-animation/use-synchronized-animation.js +4 -2
  86. package/dist/cjs/utilities/roving-focus/roving-focus-item.js +1 -1
  87. package/dist/cjs/utilities/roving-focus/roving-focus-root.js +4 -3
  88. package/dist/esm/components/Combobox/Combobox.js +5 -3
  89. package/dist/esm/components/Combobox/ComboboxIdContext.js +1 -1
  90. package/dist/esm/components/Combobox/Custom.js +1 -1
  91. package/dist/esm/components/Combobox/Option/Option.js +1 -1
  92. package/dist/esm/components/Combobox/Option/useComboboxOption.js +3 -1
  93. package/dist/esm/components/Combobox/internal/ComboboxInput.js +1 -1
  94. package/dist/esm/{utilities → components/Combobox}/omit/omit.js +2 -0
  95. package/dist/esm/components/Combobox/useCombobox.js +2 -1
  96. package/dist/esm/components/Combobox/useComboboxKeyboard.js +4 -1
  97. package/dist/esm/components/breadcrumbs/index.js +7 -7
  98. package/dist/esm/components/button/button.js +1 -1
  99. package/dist/esm/components/card/index.js +4 -4
  100. package/dist/esm/components/checkbox/checkbox.js +2 -2
  101. package/dist/esm/components/chip/index.js +7 -7
  102. package/dist/esm/components/details/details.js +1 -1
  103. package/dist/esm/components/details/index.js +5 -5
  104. package/dist/esm/components/dialog/dialog.js +18 -5
  105. package/dist/esm/components/dialog/index.js +6 -6
  106. package/dist/esm/components/dropdown/dropdown-button.js +12 -0
  107. package/dist/esm/components/dropdown/dropdown-heading.js +8 -0
  108. package/dist/esm/components/dropdown/dropdown-item.js +12 -0
  109. package/dist/esm/components/dropdown/dropdown-list.js +12 -0
  110. package/dist/esm/components/dropdown/dropdown-trigger-context.js +9 -9
  111. package/dist/esm/components/dropdown/dropdown-trigger.js +16 -0
  112. package/dist/esm/components/dropdown/index.js +21 -10
  113. package/dist/esm/components/error-summary/error-summary-heading.js +8 -0
  114. package/dist/esm/components/error-summary/error-summary-item.js +4 -4
  115. package/dist/esm/components/error-summary/error-summary-link.js +8 -1
  116. package/dist/esm/components/error-summary/error-summary-list.js +17 -2
  117. package/dist/esm/components/error-summary/error-summary.js +1 -1
  118. package/dist/esm/components/error-summary/index.js +7 -7
  119. package/dist/esm/components/field/field-counter.js +23 -3
  120. package/dist/esm/components/field/field-description.js +6 -0
  121. package/dist/esm/components/field/field-observer.js +8 -6
  122. package/dist/esm/components/field/field.js +1 -1
  123. package/dist/esm/components/field/index.js +7 -7
  124. package/dist/esm/components/fieldset/fieldset-description.js +2 -2
  125. package/dist/esm/components/fieldset/fieldset-legend.js +1 -1
  126. package/dist/esm/components/fieldset/index.js +5 -5
  127. package/dist/esm/components/list/index.js +6 -6
  128. package/dist/esm/components/list/list-item.js +6 -0
  129. package/dist/esm/components/list/lists.js +8 -8
  130. package/dist/esm/components/pagination/index.js +6 -6
  131. package/dist/esm/components/pagination/pagination-button.js +3 -3
  132. package/dist/esm/components/pagination/pagination-item.js +5 -5
  133. package/dist/esm/components/pagination/pagination-list.js +5 -5
  134. package/dist/esm/components/popover/index.js +5 -5
  135. package/dist/esm/components/popover/popover-trigger-context.js +3 -3
  136. package/dist/esm/components/popover/popover-trigger.js +6 -6
  137. package/dist/esm/components/popover/popover.js +7 -5
  138. package/dist/esm/components/radio/radio.js +2 -2
  139. package/dist/esm/components/search/index.js +6 -6
  140. package/dist/esm/components/search/search-button.js +2 -2
  141. package/dist/esm/components/search/search-clear.js +2 -2
  142. package/dist/esm/components/search/search-input.js +1 -1
  143. package/dist/esm/components/select/index.js +5 -5
  144. package/dist/esm/components/select/select-optgroup.js +4 -4
  145. package/dist/esm/components/select/select-option.js +2 -2
  146. package/dist/esm/components/skeleton/skeleton.js +3 -1
  147. package/dist/esm/components/spinner/spinner.js +3 -1
  148. package/dist/esm/components/suggestion/index.js +1 -4
  149. package/dist/esm/components/suggestion/suggestion-clear.js +1 -1
  150. package/dist/esm/components/suggestion/suggestion-list.js +41 -3
  151. package/dist/esm/components/suggestion/suggestion-option.js +12 -0
  152. package/dist/esm/components/suggestion/suggestion.js +40 -31
  153. package/dist/esm/components/switch/switch.js +2 -2
  154. package/dist/esm/components/table/index.js +10 -10
  155. package/dist/esm/components/table/table-body.js +6 -6
  156. package/dist/esm/components/table/table-cell.js +1 -1
  157. package/dist/esm/components/table/table-foot.js +6 -6
  158. package/dist/esm/components/table/table-head.js +6 -6
  159. package/dist/esm/components/table/table-header-cell.js +1 -1
  160. package/dist/esm/components/table/table-row.js +4 -4
  161. package/dist/esm/components/tabs/index.js +6 -6
  162. package/dist/esm/components/tabs/tabs-list.js +8 -6
  163. package/dist/esm/components/tabs/tabs-panel.js +20 -7
  164. package/dist/esm/components/tabs/tabs-tab.js +6 -3
  165. package/dist/esm/components/tabs/tabs.js +6 -1
  166. package/dist/esm/components/tag/tag.js +2 -2
  167. package/dist/esm/components/textfield/textfield.js +2 -2
  168. package/dist/esm/components/toggle-group/index.js +4 -4
  169. package/dist/esm/components/toggle-group/toggle-group-item.js +3 -3
  170. package/dist/esm/components/toggle-group/toggle-group.js +4 -3
  171. package/dist/esm/components/toggle-group/use-toggle-groupitem.js +2 -0
  172. package/dist/esm/components/tooltip/tooltip.js +25 -7
  173. package/dist/esm/index.js +48 -49
  174. package/dist/esm/utilities/hooks/use-merge-refs/use-merge-refs.js +1 -1
  175. package/dist/esm/utilities/hooks/use-pagination/use-pagination.js +2 -2
  176. package/dist/esm/utilities/hooks/use-synchronized-animation/use-synchronized-animation.js +4 -3
  177. package/dist/esm/utilities/roving-focus/roving-focus-item.js +1 -1
  178. package/dist/esm/utilities/roving-focus/roving-focus-root.js +5 -4
  179. package/dist/react-types.d.ts +22 -2
  180. package/dist/types/colors.d.ts +1 -23
  181. package/dist/types/colors.d.ts.map +1 -1
  182. package/dist/types/components/Combobox/Combobox.d.ts +6 -6
  183. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  184. package/dist/types/components/Combobox/ComboboxContext.d.ts +1 -1
  185. package/dist/types/components/Combobox/ComboboxContext.d.ts.map +1 -1
  186. package/dist/types/components/Combobox/ComboboxIdContext.d.ts +2 -2
  187. package/dist/types/components/Combobox/ComboboxIdContext.d.ts.map +1 -1
  188. package/dist/types/components/Combobox/Custom.d.ts +1 -1
  189. package/dist/types/components/Combobox/Custom.d.ts.map +1 -1
  190. package/dist/types/components/Combobox/Empty.d.ts +1 -1
  191. package/dist/types/components/Combobox/Empty.d.ts.map +1 -1
  192. package/dist/types/components/Combobox/Option/Description.d.ts +1 -1
  193. package/dist/types/components/Combobox/Option/Description.d.ts.map +1 -1
  194. package/dist/types/components/Combobox/Option/Option.d.ts +2 -2
  195. package/dist/types/components/Combobox/Option/Option.d.ts.map +1 -1
  196. package/dist/types/components/Combobox/internal/ComboboxClearButton.d.ts +1 -1
  197. package/dist/types/components/Combobox/internal/ComboboxClearButton.d.ts.map +1 -1
  198. package/dist/types/components/Combobox/internal/ComboboxInput.d.ts.map +1 -1
  199. package/dist/types/{utilities → components/Combobox}/omit/omit.d.ts +2 -0
  200. package/dist/types/components/Combobox/omit/omit.d.ts.map +1 -0
  201. package/dist/types/components/Combobox/useCombobox.d.ts +3 -3
  202. package/dist/types/components/Combobox/useCombobox.d.ts.map +1 -1
  203. package/dist/types/components/Combobox/useFormField/FieldsetContext.d.ts +1 -1
  204. package/dist/types/components/Combobox/useFormField/FieldsetContext.d.ts.map +1 -1
  205. package/dist/types/components/Combobox/useFormField/useFormField.d.ts +1 -1
  206. package/dist/types/components/Combobox/useFormField/useFormField.d.ts.map +1 -1
  207. package/dist/types/components/alert/alert.d.ts +3 -3
  208. package/dist/types/components/alert/alert.d.ts.map +1 -1
  209. package/dist/types/components/avatar/avatar.d.ts +10 -28
  210. package/dist/types/components/avatar/avatar.d.ts.map +1 -1
  211. package/dist/types/components/badge/badge-position.d.ts +2 -2
  212. package/dist/types/components/badge/badge-position.d.ts.map +1 -1
  213. package/dist/types/components/badge/badge.d.ts +3 -3
  214. package/dist/types/components/badge/badge.d.ts.map +1 -1
  215. package/dist/types/components/badge/index.d.ts +5 -5
  216. package/dist/types/components/breadcrumbs/breadcrumbs-item.d.ts +1 -1
  217. package/dist/types/components/breadcrumbs/breadcrumbs-item.d.ts.map +1 -1
  218. package/dist/types/components/breadcrumbs/breadcrumbs-link.d.ts +3 -3
  219. package/dist/types/components/breadcrumbs/breadcrumbs-link.d.ts.map +1 -1
  220. package/dist/types/components/breadcrumbs/breadcrumbs-list.d.ts +1 -1
  221. package/dist/types/components/breadcrumbs/breadcrumbs-list.d.ts.map +1 -1
  222. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  223. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  224. package/dist/types/components/breadcrumbs/index.d.ts +48 -12
  225. package/dist/types/components/breadcrumbs/index.d.ts.map +1 -1
  226. package/dist/types/components/button/button.d.ts +7 -5
  227. package/dist/types/components/button/button.d.ts.map +1 -1
  228. package/dist/types/components/card/card-block.d.ts +2 -2
  229. package/dist/types/components/card/card-block.d.ts.map +1 -1
  230. package/dist/types/components/card/card.d.ts +2 -2
  231. package/dist/types/components/card/card.d.ts.map +1 -1
  232. package/dist/types/components/card/index.d.ts +18 -10
  233. package/dist/types/components/card/index.d.ts.map +1 -1
  234. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  235. package/dist/types/components/checkbox/checkbox.d.ts.map +1 -1
  236. package/dist/types/components/chip/chips.d.ts +4 -4
  237. package/dist/types/components/chip/chips.d.ts.map +1 -1
  238. package/dist/types/components/chip/index.d.ts +33 -14
  239. package/dist/types/components/chip/index.d.ts.map +1 -1
  240. package/dist/types/components/details/details-content.d.ts +1 -1
  241. package/dist/types/components/details/details-content.d.ts.map +1 -1
  242. package/dist/types/components/details/details-summary.d.ts +2 -2
  243. package/dist/types/components/details/details-summary.d.ts.map +1 -1
  244. package/dist/types/components/details/details.d.ts +1 -1
  245. package/dist/types/components/details/details.d.ts.map +1 -1
  246. package/dist/types/components/details/index.d.ts +19 -7
  247. package/dist/types/components/details/index.d.ts.map +1 -1
  248. package/dist/types/components/dialog/dialog-block.d.ts +2 -2
  249. package/dist/types/components/dialog/dialog-block.d.ts.map +1 -1
  250. package/dist/types/components/dialog/dialog-trigger-context.d.ts +1 -1
  251. package/dist/types/components/dialog/dialog-trigger-context.d.ts.map +1 -1
  252. package/dist/types/components/dialog/dialog-trigger.d.ts +5 -5
  253. package/dist/types/components/dialog/dialog-trigger.d.ts.map +1 -1
  254. package/dist/types/components/dialog/dialog.d.ts +24 -4
  255. package/dist/types/components/dialog/dialog.d.ts.map +1 -1
  256. package/dist/types/components/dialog/index.d.ts +46 -25
  257. package/dist/types/components/dialog/index.d.ts.map +1 -1
  258. package/dist/types/components/divider/divider.d.ts +1 -1
  259. package/dist/types/components/divider/divider.d.ts.map +1 -1
  260. package/dist/types/components/dropdown/dropdown-button.d.ts +13 -1
  261. package/dist/types/components/dropdown/dropdown-button.d.ts.map +1 -1
  262. package/dist/types/components/dropdown/dropdown-heading.d.ts +10 -2
  263. package/dist/types/components/dropdown/dropdown-heading.d.ts.map +1 -1
  264. package/dist/types/components/dropdown/dropdown-item.d.ts +13 -1
  265. package/dist/types/components/dropdown/dropdown-item.d.ts.map +1 -1
  266. package/dist/types/components/dropdown/dropdown-list.d.ts +13 -1
  267. package/dist/types/components/dropdown/dropdown-list.d.ts.map +1 -1
  268. package/dist/types/components/dropdown/dropdown-trigger-context.d.ts +9 -9
  269. package/dist/types/components/dropdown/dropdown-trigger.d.ts +17 -1
  270. package/dist/types/components/dropdown/dropdown-trigger.d.ts.map +1 -1
  271. package/dist/types/components/dropdown/dropdown.d.ts +2 -2
  272. package/dist/types/components/dropdown/dropdown.d.ts.map +1 -1
  273. package/dist/types/components/dropdown/index.d.ts +99 -19
  274. package/dist/types/components/dropdown/index.d.ts.map +1 -1
  275. package/dist/types/components/error-summary/error-summary-heading.d.ts +10 -2
  276. package/dist/types/components/error-summary/error-summary-heading.d.ts.map +1 -1
  277. package/dist/types/components/error-summary/error-summary-item.d.ts +6 -6
  278. package/dist/types/components/error-summary/error-summary-item.d.ts.map +1 -1
  279. package/dist/types/components/error-summary/error-summary-link.d.ts +11 -4
  280. package/dist/types/components/error-summary/error-summary-link.d.ts.map +1 -1
  281. package/dist/types/components/error-summary/error-summary-list.d.ts +17 -2
  282. package/dist/types/components/error-summary/error-summary-list.d.ts.map +1 -1
  283. package/dist/types/components/error-summary/error-summary.d.ts +3 -3
  284. package/dist/types/components/error-summary/error-summary.d.ts.map +1 -1
  285. package/dist/types/components/error-summary/index.d.ts +52 -20
  286. package/dist/types/components/error-summary/index.d.ts.map +1 -1
  287. package/dist/types/components/field/field-affix.d.ts +2 -2
  288. package/dist/types/components/field/field-affix.d.ts.map +1 -1
  289. package/dist/types/components/field/field-counter.d.ts +18 -4
  290. package/dist/types/components/field/field-counter.d.ts.map +1 -1
  291. package/dist/types/components/field/field-description.d.ts +7 -1
  292. package/dist/types/components/field/field-description.d.ts.map +1 -1
  293. package/dist/types/components/field/field-observer.d.ts.map +1 -1
  294. package/dist/types/components/field/field.d.ts +2 -2
  295. package/dist/types/components/field/field.d.ts.map +1 -1
  296. package/dist/types/components/field/index.d.ts +45 -17
  297. package/dist/types/components/field/index.d.ts.map +1 -1
  298. package/dist/types/components/fieldset/fieldset-description.d.ts +4 -4
  299. package/dist/types/components/fieldset/fieldset-description.d.ts.map +1 -1
  300. package/dist/types/components/fieldset/fieldset-legend.d.ts +2 -2
  301. package/dist/types/components/fieldset/fieldset-legend.d.ts.map +1 -1
  302. package/dist/types/components/fieldset/fieldset.d.ts +1 -1
  303. package/dist/types/components/fieldset/fieldset.d.ts.map +1 -1
  304. package/dist/types/components/fieldset/index.d.ts +21 -9
  305. package/dist/types/components/fieldset/index.d.ts.map +1 -1
  306. package/dist/types/components/heading/heading.d.ts +2 -2
  307. package/dist/types/components/heading/heading.d.ts.map +1 -1
  308. package/dist/types/components/index.d.ts +2 -2
  309. package/dist/types/components/index.d.ts.map +1 -1
  310. package/dist/types/components/input/input.d.ts +2 -2
  311. package/dist/types/components/input/input.d.ts.map +1 -1
  312. package/dist/types/components/label/label.d.ts +2 -2
  313. package/dist/types/components/label/label.d.ts.map +1 -1
  314. package/dist/types/components/link/link.d.ts +2 -2
  315. package/dist/types/components/link/link.d.ts.map +1 -1
  316. package/dist/types/components/list/index.d.ts +32 -11
  317. package/dist/types/components/list/index.d.ts.map +1 -1
  318. package/dist/types/components/list/list-item.d.ts +8 -2
  319. package/dist/types/components/list/list-item.d.ts.map +1 -1
  320. package/dist/types/components/list/lists.d.ts +12 -12
  321. package/dist/types/components/list/lists.d.ts.map +1 -1
  322. package/dist/types/components/pagination/index.d.ts +38 -15
  323. package/dist/types/components/pagination/index.d.ts.map +1 -1
  324. package/dist/types/components/pagination/pagination-button.d.ts +5 -5
  325. package/dist/types/components/pagination/pagination-button.d.ts.map +1 -1
  326. package/dist/types/components/pagination/pagination-item.d.ts +7 -7
  327. package/dist/types/components/pagination/pagination-item.d.ts.map +1 -1
  328. package/dist/types/components/pagination/pagination-list.d.ts +7 -7
  329. package/dist/types/components/pagination/pagination-list.d.ts.map +1 -1
  330. package/dist/types/components/pagination/pagination.d.ts +2 -2
  331. package/dist/types/components/pagination/pagination.d.ts.map +1 -1
  332. package/dist/types/components/paragraph/paragraph.d.ts +2 -2
  333. package/dist/types/components/paragraph/paragraph.d.ts.map +1 -1
  334. package/dist/types/components/popover/index.d.ts +39 -18
  335. package/dist/types/components/popover/index.d.ts.map +1 -1
  336. package/dist/types/components/popover/popover-trigger-context.d.ts +4 -4
  337. package/dist/types/components/popover/popover-trigger.d.ts +7 -7
  338. package/dist/types/components/popover/popover-trigger.d.ts.map +1 -1
  339. package/dist/types/components/popover/popover.d.ts +3 -3
  340. package/dist/types/components/popover/popover.d.ts.map +1 -1
  341. package/dist/types/components/radio/radio.d.ts +1 -1
  342. package/dist/types/components/radio/radio.d.ts.map +1 -1
  343. package/dist/types/components/search/index.d.ts +34 -15
  344. package/dist/types/components/search/index.d.ts.map +1 -1
  345. package/dist/types/components/search/search-button.d.ts +6 -6
  346. package/dist/types/components/search/search-button.d.ts.map +1 -1
  347. package/dist/types/components/search/search-clear.d.ts +4 -4
  348. package/dist/types/components/search/search-clear.d.ts.map +1 -1
  349. package/dist/types/components/search/search-input.d.ts +2 -2
  350. package/dist/types/components/search/search-input.d.ts.map +1 -1
  351. package/dist/types/components/search/search.d.ts +1 -1
  352. package/dist/types/components/search/search.d.ts.map +1 -1
  353. package/dist/types/components/select/index.d.ts +27 -12
  354. package/dist/types/components/select/index.d.ts.map +1 -1
  355. package/dist/types/components/select/select-optgroup.d.ts +6 -6
  356. package/dist/types/components/select/select-optgroup.d.ts.map +1 -1
  357. package/dist/types/components/select/select-option.d.ts +4 -4
  358. package/dist/types/components/select/select-option.d.ts.map +1 -1
  359. package/dist/types/components/select/select.d.ts +2 -2
  360. package/dist/types/components/select/select.d.ts.map +1 -1
  361. package/dist/types/components/skeleton/skeleton.d.ts +24 -7
  362. package/dist/types/components/skeleton/skeleton.d.ts.map +1 -1
  363. package/dist/types/components/skip-link/skip-link.d.ts +2 -2
  364. package/dist/types/components/skip-link/skip-link.d.ts.map +1 -1
  365. package/dist/types/components/spinner/spinner.d.ts +1 -2
  366. package/dist/types/components/spinner/spinner.d.ts.map +1 -1
  367. package/dist/types/components/suggestion/index.d.ts +67 -44
  368. package/dist/types/components/suggestion/index.d.ts.map +1 -1
  369. package/dist/types/components/suggestion/suggestion-clear.d.ts +2 -2
  370. package/dist/types/components/suggestion/suggestion-clear.d.ts.map +1 -1
  371. package/dist/types/components/suggestion/suggestion-empty.d.ts +1 -1
  372. package/dist/types/components/suggestion/suggestion-empty.d.ts.map +1 -1
  373. package/dist/types/components/suggestion/suggestion-input.d.ts +15 -3
  374. package/dist/types/components/suggestion/suggestion-input.d.ts.map +1 -1
  375. package/dist/types/components/suggestion/suggestion-list.d.ts +12 -2
  376. package/dist/types/components/suggestion/suggestion-list.d.ts.map +1 -1
  377. package/dist/types/components/suggestion/suggestion-option.d.ts +13 -1
  378. package/dist/types/components/suggestion/suggestion-option.d.ts.map +1 -1
  379. package/dist/types/components/suggestion/suggestion.d.ts +47 -57
  380. package/dist/types/components/suggestion/suggestion.d.ts.map +1 -1
  381. package/dist/types/components/switch/switch.d.ts +2 -2
  382. package/dist/types/components/switch/switch.d.ts.map +1 -1
  383. package/dist/types/components/table/index.d.ts +65 -16
  384. package/dist/types/components/table/index.d.ts.map +1 -1
  385. package/dist/types/components/table/table-body.d.ts +7 -7
  386. package/dist/types/components/table/table-body.d.ts.map +1 -1
  387. package/dist/types/components/table/table-cell.d.ts +2 -2
  388. package/dist/types/components/table/table-cell.d.ts.map +1 -1
  389. package/dist/types/components/table/table-foot.d.ts +7 -7
  390. package/dist/types/components/table/table-foot.d.ts.map +1 -1
  391. package/dist/types/components/table/table-head.d.ts +7 -7
  392. package/dist/types/components/table/table-head.d.ts.map +1 -1
  393. package/dist/types/components/table/table-header-cell.d.ts +3 -3
  394. package/dist/types/components/table/table-header-cell.d.ts.map +1 -1
  395. package/dist/types/components/table/table-row.d.ts +5 -5
  396. package/dist/types/components/table/table-row.d.ts.map +1 -1
  397. package/dist/types/components/table/table.d.ts +2 -2
  398. package/dist/types/components/table/table.d.ts.map +1 -1
  399. package/dist/types/components/tabs/index.d.ts +29 -14
  400. package/dist/types/components/tabs/index.d.ts.map +1 -1
  401. package/dist/types/components/tabs/tabs-list.d.ts +5 -5
  402. package/dist/types/components/tabs/tabs-list.d.ts.map +1 -1
  403. package/dist/types/components/tabs/tabs-panel.d.ts +3 -3
  404. package/dist/types/components/tabs/tabs-panel.d.ts.map +1 -1
  405. package/dist/types/components/tabs/tabs-tab.d.ts +3 -3
  406. package/dist/types/components/tabs/tabs-tab.d.ts.map +1 -1
  407. package/dist/types/components/tabs/tabs.d.ts +6 -3
  408. package/dist/types/components/tabs/tabs.d.ts.map +1 -1
  409. package/dist/types/components/tag/tag.d.ts +15 -3
  410. package/dist/types/components/tag/tag.d.ts.map +1 -1
  411. package/dist/types/components/textarea/textarea.d.ts +1 -1
  412. package/dist/types/components/textarea/textarea.d.ts.map +1 -1
  413. package/dist/types/components/textfield/textfield.d.ts +1 -1
  414. package/dist/types/components/textfield/textfield.d.ts.map +1 -1
  415. package/dist/types/components/toggle-group/index.d.ts +11 -11
  416. package/dist/types/components/toggle-group/index.d.ts.map +1 -1
  417. package/dist/types/components/toggle-group/toggle-group-item.d.ts +3 -3
  418. package/dist/types/components/toggle-group/toggle-group-item.d.ts.map +1 -1
  419. package/dist/types/components/toggle-group/toggle-group.d.ts +14 -3
  420. package/dist/types/components/toggle-group/toggle-group.d.ts.map +1 -1
  421. package/dist/types/components/toggle-group/use-toggle-groupitem.d.ts +1 -0
  422. package/dist/types/components/toggle-group/use-toggle-groupitem.d.ts.map +1 -1
  423. package/dist/types/components/tooltip/tooltip.d.ts +11 -1
  424. package/dist/types/components/tooltip/tooltip.d.ts.map +1 -1
  425. package/dist/types/components/validation-message/validation-message.d.ts +3 -3
  426. package/dist/types/components/validation-message/validation-message.d.ts.map +1 -1
  427. package/dist/types/index.d.ts +15 -2
  428. package/dist/types/index.d.ts.map +1 -1
  429. package/dist/types/types.d.ts +1 -1
  430. package/dist/types/types.d.ts.map +1 -1
  431. package/dist/types/utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.d.ts.map +1 -0
  432. package/dist/types/utilities/hooks/deprecated/use-isomorphic-layout-effect/use-isomorphic-layout-effect.d.ts.map +1 -0
  433. package/dist/types/utilities/hooks/deprecated/use-media-query/use-media-query.d.ts.map +1 -0
  434. package/dist/types/utilities/hooks/index.d.ts +3 -3
  435. package/dist/types/utilities/hooks/index.d.ts.map +1 -1
  436. package/dist/types/utilities/hooks/use-synchronized-animation/use-synchronized-animation.d.ts +3 -1
  437. package/dist/types/utilities/hooks/use-synchronized-animation/use-synchronized-animation.d.ts.map +1 -1
  438. package/dist/types/utilities/index.d.ts +4 -3
  439. package/dist/types/utilities/index.d.ts.map +1 -1
  440. package/dist/types/utilities/roving-focus/roving-focus-item.d.ts +2 -2
  441. package/dist/types/utilities/roving-focus/roving-focus-item.d.ts.map +1 -1
  442. package/dist/types/utilities/roving-focus/roving-focus-root.d.ts +3 -3
  443. package/dist/types/utilities/roving-focus/roving-focus-root.d.ts.map +1 -1
  444. package/dist/types/utilities/roving-focus/use-roving-focus.d.ts +173 -172
  445. package/dist/types/utilities/roving-focus/use-roving-focus.d.ts.map +1 -1
  446. package/package.json +28 -30
  447. package/dist/cjs/components/suggestion/suggestion-chips.js +0 -15
  448. package/dist/esm/components/suggestion/suggestion-chips.js +0 -13
  449. package/dist/types/components/suggestion/suggestion-chips.d.ts +0 -19
  450. package/dist/types/components/suggestion/suggestion-chips.d.ts.map +0 -1
  451. package/dist/types/utilities/hooks/use-debounce-callback/use-debounce-callback.d.ts.map +0 -1
  452. package/dist/types/utilities/hooks/use-isomorphic-layout-effect/use-isomorphic-layout-effect.d.ts.map +0 -1
  453. package/dist/types/utilities/hooks/use-media-query/use-media-query.d.ts.map +0 -1
  454. package/dist/types/utilities/omit/omit.d.ts.map +0 -1
  455. package/dist/types/utilities/roving-focus/index.d.ts +0 -4
  456. package/dist/types/utilities/roving-focus/index.d.ts.map +0 -1
  457. /package/dist/cjs/utilities/hooks/{use-debounce-callback → deprecated/use-debounce-callback}/use-debounce-callback.js +0 -0
  458. /package/dist/cjs/utilities/hooks/{use-isomorphic-layout-effect → deprecated/use-isomorphic-layout-effect}/use-isomorphic-layout-effect.js +0 -0
  459. /package/dist/cjs/utilities/hooks/{use-media-query → deprecated/use-media-query}/use-media-query.js +0 -0
  460. /package/dist/esm/utilities/hooks/{use-debounce-callback → deprecated/use-debounce-callback}/use-debounce-callback.js +0 -0
  461. /package/dist/esm/utilities/hooks/{use-isomorphic-layout-effect → deprecated/use-isomorphic-layout-effect}/use-isomorphic-layout-effect.js +0 -0
  462. /package/dist/esm/utilities/hooks/{use-media-query → deprecated/use-media-query}/use-media-query.js +0 -0
  463. /package/dist/types/utilities/hooks/{use-debounce-callback → deprecated/use-debounce-callback}/use-debounce-callback.d.ts +0 -0
  464. /package/dist/types/utilities/hooks/{use-isomorphic-layout-effect → deprecated/use-isomorphic-layout-effect}/use-isomorphic-layout-effect.d.ts +0 -0
  465. /package/dist/types/utilities/hooks/{use-media-query → deprecated/use-media-query}/use-media-query.d.ts +0 -0
@@ -3,6 +3,9 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
+ var useDebounceCallback = require('../../utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js');
7
+ require('../../utilities/roving-focus/roving-focus-item.js');
8
+ require('../../utilities/roving-focus/roving-focus-root.js');
6
9
  var paragraph = require('../paragraph/paragraph.js');
7
10
  var validationMessage = require('../validation-message/validation-message.js');
8
11
  var fieldObserver = require('./field-observer.js');
@@ -17,11 +20,15 @@ const label = (text, count) => text.replace('%d', Math.abs(count).toString());
17
20
  * <Field.Counter limit={100} under='%d tegn igjen' over='%d tegn for mye' />
18
21
  * </Field>
19
22
  */
20
- const FieldCounter = react.forwardRef(function FieldCounter({ limit, under = '%d tegn igjen', over = '%d tegn for mye', ...rest }, ref) {
23
+ const FieldCounter = react.forwardRef(function FieldCounter({ limit, under = '%d tegn igjen', over = '%d tegn for mye', hint = 'Maks %d tegn tillatt.', ...rest }, ref) {
21
24
  const [count, setCount] = react.useState(0);
25
+ const [liveRegionText, setLiveRegionText] = react.useState('');
26
+ const fieldInputRef = react.useRef(null);
22
27
  const counterRef = react.useRef(null);
23
28
  const hasExceededLimit = count > limit;
24
29
  const remainder = limit - count;
30
+ const debouncedSetLiveRegionText = useDebounceCallback.useDebounceCallback((text) => setLiveRegionText(text), 1200);
31
+ // Listen to native input events (user typing) to update the counter in real time
25
32
  react.useEffect(() => {
26
33
  const field = counterRef.current?.closest('.ds-field');
27
34
  const input = Array.from(field?.getElementsByTagName('*') || []).find(fieldObserver.isInputLike);
@@ -31,10 +38,23 @@ const FieldCounter = react.forwardRef(function FieldCounter({ limit, under = '%d
31
38
  };
32
39
  if (input)
33
40
  onInput({ target: input }); // Initial setup
41
+ fieldInputRef.current = input;
34
42
  field?.addEventListener('input', onInput);
35
43
  return () => field?.removeEventListener('input', onInput);
36
- }, [setCount]);
37
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { "data-field": 'description', className: 'ds-sr-only', "aria-live": 'polite', ref: counterRef, children: hasExceededLimit && label(over, remainder) }), hasExceededLimit ? (jsxRuntime.jsx(validationMessage.ValidationMessage, { ref: ref, ...rest, children: label(over, remainder) })) : (jsxRuntime.jsx(paragraph.Paragraph, { ref: ref, ...rest, "data-field": 'validation', children: label(under, remainder) }))] }));
44
+ }, []);
45
+ /* React does not dispatch a native input event when the value prop changes externally.
46
+ Since the parent re-renders this component when value changes, we can sync on render. */
47
+ react.useEffect(() => {
48
+ if (fieldInputRef.current) {
49
+ const valueLength = fieldInputRef.current.value.length;
50
+ setCount((prev) => (prev === valueLength ? prev : valueLength));
51
+ }
52
+ });
53
+ // Update live region text when count or limit changes
54
+ react.useEffect(() => {
55
+ debouncedSetLiveRegionText(label(hasExceededLimit ? over : under, remainder));
56
+ }, [count, limit, over, under, hasExceededLimit, remainder]);
57
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: 'ds-sr-only', "aria-live": 'polite', ref: counterRef, children: liveRegionText }), hasExceededLimit ? (jsxRuntime.jsx(validationMessage.ValidationMessage, { ref: ref, ...rest, "aria-hidden": 'true', "data-field": null, children: label(over, remainder) })) : (jsxRuntime.jsx(paragraph.Paragraph, { ref: ref, ...rest, "aria-hidden": 'true', children: label(under, remainder) })), jsxRuntime.jsx("div", { className: 'ds-sr-only', "aria-hidden": 'true', "data-field": 'description', children: label(hint, limit) })] }));
38
58
  });
39
59
 
40
60
  exports.FieldCounter = FieldCounter;
@@ -4,6 +4,12 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
 
7
+ /**
8
+ * Field description component, used to provide additional information below the input.
9
+ *
10
+ * @example
11
+ * <FieldDescription>Additional information</FieldDescription>
12
+ */
7
13
  const FieldDescription = react.forwardRef(function FieldDescription(rest, ref) {
8
14
  return jsxRuntime.jsx("div", { "data-field": 'description', ref: ref, ...rest });
9
15
  });
@@ -27,7 +27,7 @@ function fieldObserver(fieldElement) {
27
27
  elements.set(el, el.htmlFor);
28
28
  else if (el.hasAttribute('data-field'))
29
29
  elements.set(el, el.id);
30
- else if (isInputLike(el)) {
30
+ else if (isInputLike(el) && !el.hidden) {
31
31
  input = el;
32
32
  describedby = el.getAttribute('aria-describedby') || '';
33
33
  }
@@ -44,7 +44,7 @@ function fieldObserver(fieldElement) {
44
44
  }
45
45
  }
46
46
  // Connect elements
47
- const describedbyIds = [describedby]; // Keep original aria-describedby
47
+ const describedbyIds = describedby ? describedby.split(' ') : []; // Keep original aria-describedby
48
48
  const inputId = input?.id || uuid;
49
49
  // Reset type counters since we reprocess all elements
50
50
  typeCounter.clear();
@@ -62,10 +62,12 @@ function fieldObserver(fieldElement) {
62
62
  }
63
63
  if (!value)
64
64
  setAttr(el, isLabel(el) ? 'for' : 'id', id); // Ensure we have a value
65
- if (descriptionType === 'validation')
66
- describedbyIds.unshift(el.id); // Validations to the front
67
- else if (descriptionType)
68
- describedbyIds.push(el.id); // Other descriptions to the back
65
+ if (!describedbyIds.includes(el.id)) {
66
+ if (descriptionType === 'validation')
67
+ describedbyIds.unshift(el.id); // Validations to the front
68
+ else if (descriptionType)
69
+ describedbyIds.push(el.id); // Other descriptions to the back
70
+ }
69
71
  }
70
72
  setAttr(input, 'id', inputId);
71
73
  setAttr(input, 'aria-describedby', describedbyIds.join(' ').trim());
@@ -5,8 +5,8 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var reactSlot = require('@radix-ui/react-slot');
6
6
  var cl = require('clsx/lite');
7
7
  var react = require('react');
8
- var fieldObserver = require('./field-observer.js');
9
8
  var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
9
+ var fieldObserver = require('./field-observer.js');
10
10
 
11
11
  /**
12
12
  * Field component, used to wrap a form field.
@@ -17,19 +17,19 @@ var fieldDescription = require('./field-description.js');
17
17
  * <ValidationMessage>Feilmelding</ValidationMessage>
18
18
  * </Field>
19
19
  */
20
- const Field = Object.assign(field.Field, {
20
+ const FieldComponent = Object.assign(field.Field, {
21
21
  Description: fieldDescription.FieldDescription,
22
22
  Affixes: fieldAffix.FieldAffixes,
23
23
  Affix: fieldAffix.FieldAffix,
24
24
  Counter: fieldCounter.FieldCounter,
25
25
  });
26
- Field.Description.displayName = 'Field.Description';
27
- Field.Affixes.displayName = 'Field.Affixes';
28
- Field.Affix.displayName = 'Field.Affix';
29
- Field.Counter.displayName = 'Field.Counter';
26
+ FieldComponent.Description.displayName = 'Field.Description';
27
+ FieldComponent.Affixes.displayName = 'Field.Affixes';
28
+ FieldComponent.Affix.displayName = 'Field.Affix';
29
+ FieldComponent.Counter.displayName = 'Field.Counter';
30
30
 
31
31
  exports.FieldAffix = fieldAffix.FieldAffix;
32
32
  exports.FieldAffixes = fieldAffix.FieldAffixes;
33
33
  exports.FieldCounter = fieldCounter.FieldCounter;
34
34
  exports.FieldDescription = fieldDescription.FieldDescription;
35
- exports.Field = Field;
35
+ exports.Field = FieldComponent;
@@ -9,9 +9,9 @@ var paragraph = require('../paragraph/paragraph.js');
9
9
  * FieldsetDescription component, used to display a description for a fieldset.
10
10
  *
11
11
  * @example
12
- * <Fieldset.Description>
12
+ * <FieldsetDescription>
13
13
  * Gi en kort beskrivelse i begge feltene
14
- * </Fieldset.Description>
14
+ * </FieldsetDescription>
15
15
  */
16
16
  const FieldsetDescription = react.forwardRef(function FieldsetDescription(rest, ref) {
17
17
  return jsxRuntime.jsx(paragraph.Paragraph, { ref: ref, ...rest });
@@ -9,7 +9,7 @@ var label = require('../label/label.js');
9
9
  * FieldsetLegend component, used to display a legend for a fieldset.
10
10
  *
11
11
  * @example
12
- * <Fieldset.Legend>Skriv inn dine svar</Fieldset.Legend>
12
+ * <FieldsetLegend>Skriv inn dine svar</FieldsetLegend>
13
13
  */
14
14
  const FieldsetLegend = react.forwardRef(function FieldsetLegend(rest, ref) {
15
15
  return (jsxRuntime.jsx(label.Label, { asChild: true, children: jsxRuntime.jsx("legend", { ref: ref, ...rest }) }));
@@ -20,13 +20,13 @@ var fieldsetLegend = require('./fieldset-legend.js');
20
20
  * </Field>
21
21
  * </Fieldset>
22
22
  */
23
- const Fieldset = Object.assign(fieldset.Fieldset, {
23
+ const FieldsetComponent = Object.assign(fieldset.Fieldset, {
24
24
  Legend: fieldsetLegend.FieldsetLegend,
25
25
  Description: fieldsetDescription.FieldsetDescription,
26
26
  });
27
- Fieldset.Legend.displayName = 'Fieldset.Legend';
28
- Fieldset.Description.displayName = 'Fieldset.Description';
27
+ FieldsetComponent.Legend.displayName = 'Fieldset.Legend';
28
+ FieldsetComponent.Description.displayName = 'Fieldset.Description';
29
29
 
30
30
  exports.FieldsetDescription = fieldsetDescription.FieldsetDescription;
31
31
  exports.FieldsetLegend = fieldsetLegend.FieldsetLegend;
32
- exports.Fieldset = Fieldset;
32
+ exports.Fieldset = FieldsetComponent;
@@ -4,16 +4,16 @@
4
4
  var listItem = require('./list-item.js');
5
5
  var lists = require('./lists.js');
6
6
 
7
- const List = {
7
+ const ListComponent = {
8
8
  Item: listItem.ListItem,
9
9
  Ordered: lists.ListOrdered,
10
10
  Unordered: lists.ListUnordered,
11
11
  };
12
- List.Item.displayName = 'List.Item';
13
- List.Ordered.displayName = 'List.Ordered';
14
- List.Unordered.displayName = 'List.Unordered';
12
+ ListComponent.Item.displayName = 'List.Item';
13
+ ListComponent.Ordered.displayName = 'List.Ordered';
14
+ ListComponent.Unordered.displayName = 'List.Unordered';
15
15
 
16
16
  exports.ListItem = listItem.ListItem;
17
17
  exports.ListOrdered = lists.ListOrdered;
18
18
  exports.ListUnordered = lists.ListUnordered;
19
- exports.List = List;
19
+ exports.List = ListComponent;
@@ -5,6 +5,12 @@ 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
+ * Component that provides a list item.
10
+ *
11
+ * @example
12
+ * <List.Item>Item</List.Item>
13
+ */
8
14
  const ListItem = react.forwardRef(function ListItem({ asChild, ...rest }, ref) {
9
15
  const Component = asChild ? reactSlot.Slot : 'li';
10
16
  return jsxRuntime.jsx(Component, { ...rest, ref: ref });
@@ -15,10 +15,10 @@ const render = (tagName, { asChild, className, ...rest }, ref) => {
15
15
  * Renders a native `ul` element.
16
16
  *
17
17
  * @example
18
- * <List.Unordered>
19
- * <List.Item>Item 1</List.Item>
20
- * <List.Item>Item 2</List.Item>
21
- * </List.Unordered>
18
+ * <ListUnordered>
19
+ * <ListItem>Item 1</ListItem>
20
+ * <ListItem>Item 2</ListItem>
21
+ * </ListUnordered>
22
22
  */
23
23
  const ListUnordered = react.forwardRef(function ListUnordered(props, ref) {
24
24
  return render('ul', props, ref);
@@ -28,10 +28,10 @@ const ListUnordered = react.forwardRef(function ListUnordered(props, ref) {
28
28
  * Renders a native `ol` element.
29
29
  *
30
30
  * @example
31
- * <List.Ordered>
32
- * <List.Item>Item 1</List.Item>
33
- * <List.Item>Item 2</List.Item>
34
- * </List.Ordered>
31
+ * <ListOrdered>
32
+ * <ListItem>Item 1</ListItem>
33
+ * <ListItem>Item 2</ListItem>
34
+ * </ListOrdered>
35
35
  */
36
36
  const ListOrdered = react.forwardRef(function ListOrdered(props, ref) {
37
37
  return render('ol', props, ref);
@@ -24,16 +24,16 @@ var paginationList = require('./pagination-list.js');
24
24
  * </Pagination.List>
25
25
  * </Pagination>
26
26
  */
27
- const Pagination = Object.assign(pagination.Pagination, {
27
+ const PaginationComponent = Object.assign(pagination.Pagination, {
28
28
  List: paginationList.PaginationList,
29
29
  Item: paginationItem.PaginationItem,
30
30
  Button: paginationButton.PaginationButton,
31
31
  });
32
- Pagination.List.displayName = 'Pagination.List';
33
- Pagination.Item.displayName = 'Pagination.Item';
34
- Pagination.Button.displayName = 'Pagination.Button';
32
+ PaginationComponent.List.displayName = 'Pagination.List';
33
+ PaginationComponent.Item.displayName = 'Pagination.Item';
34
+ PaginationComponent.Button.displayName = 'Pagination.Button';
35
35
 
36
36
  exports.PaginationButton = paginationButton.PaginationButton;
37
37
  exports.PaginationItem = paginationItem.PaginationItem;
38
38
  exports.PaginationList = paginationList.PaginationList;
39
- exports.Pagination = Pagination;
39
+ exports.Pagination = PaginationComponent;
@@ -9,9 +9,9 @@ var button = require('../button/button.js');
9
9
  * PaginationButton component, use within a Pagination.Item.
10
10
  *
11
11
  * @example
12
- * <Pagination.Item>
13
- * <Pagination.Button aria-label='Forrige side'>Forrige</Pagination.Button>
14
- * </Pagination.Item>
12
+ * <PaginationItem>
13
+ * <PaginationButton aria-label='Forrige side'>Forrige</PaginationButton>
14
+ * </PaginationItem>
15
15
  */
16
16
  const PaginationButton = react.forwardRef(function PaginationButton(rest, ref) {
17
17
  return jsxRuntime.jsx(button.Button, { ref: ref, ...rest });
@@ -9,11 +9,11 @@ var react = require('react');
9
9
  * PaginationItem component, use within a Pagination.List.
10
10
  *
11
11
  * @example
12
- * <Pagination.List>
13
- * <Pagination.Item>
14
- * <Pagination.Button aria-label='Forrige side'>Forrige</Pagination.Button>
15
- * </Pagination.Item>
16
- * </Pagination.List>
12
+ * <PaginationList>
13
+ * <PaginationItem>
14
+ * <PaginationButton aria-label='Forrige side'>Forrige</PaginationButton>
15
+ * </PaginationItem>
16
+ * </PaginationList>
17
17
  */
18
18
  const PaginationItem = react.forwardRef(function PaginationItem({ asChild, className, ...rest }, ref) {
19
19
  const Component = asChild ? reactSlot.Slot : 'li';
@@ -10,11 +10,11 @@ var react = require('react');
10
10
  *
11
11
  * @example
12
12
  * <Pagination>
13
- * <Pagination.List>
14
- * <Pagination.Item>
15
- * <Pagination.Button aria-label='Forrige side'>Forrige</Pagination.Button>
16
- * </Pagination.Item>
17
- * </Pagination.List>
13
+ * <PaginationList>
14
+ * <PaginationItem>
15
+ * <PaginationButton aria-label='Forrige side'>Forrige</PaginationButton>
16
+ * </PaginationItem>
17
+ * </PaginationList>
18
18
  * </Pagination>
19
19
  */
20
20
  const PaginationList = react.forwardRef(function PaginationList({ asChild, ...rest }, ref) {
@@ -16,13 +16,13 @@ var popoverTriggerContext = require('./popover-trigger-context.js');
16
16
  * </Popover>
17
17
  * </Popover.TriggerContext>
18
18
  */
19
- const Popover = Object.assign(popover.Popover, {
19
+ const PopoverComponent = Object.assign(popover.Popover, {
20
20
  TriggerContext: popoverTriggerContext.PopoverTriggerContext,
21
21
  Trigger: popoverTrigger.PopoverTrigger,
22
22
  });
23
- Popover.TriggerContext.displayName = 'Popover.TriggerContext';
24
- Popover.Trigger.displayName = 'Popover.Trigger';
23
+ PopoverComponent.TriggerContext.displayName = 'Popover.TriggerContext';
24
+ PopoverComponent.Trigger.displayName = 'Popover.Trigger';
25
25
 
26
26
  exports.PopoverTrigger = popoverTrigger.PopoverTrigger;
27
27
  exports.PopoverTriggerContext = popoverTriggerContext.PopoverTriggerContext;
28
- exports.Popover = Popover;
28
+ exports.Popover = PopoverComponent;
@@ -8,12 +8,12 @@ var react = require('react');
8
8
  * PopoverTriggerContext component, use to wrap a Popover.Trigger and Popover.
9
9
  *
10
10
  * @example
11
- * <Popover.TriggerContext>
12
- * <Popover.Trigger>Open Popover</Popover.Trigger>
11
+ * <PopoverTriggerContext>
12
+ * <PopoverTrigger>Open Popover</PopoverTrigger>
13
13
  * <Popover>
14
14
  * Content
15
15
  * </Popover>
16
- * </Popover.TriggerContext>
16
+ * </PopoverTriggerContext>
17
17
  */
18
18
  const PopoverTriggerContext = ({ children, }) => {
19
19
  const randomPopoverId = react.useId();
@@ -11,22 +11,22 @@ var popoverTriggerContext = require('./popover-trigger-context.js');
11
11
  * PopoverTrigger component, used to trigger a popover.
12
12
  *
13
13
  * @example
14
- * <Popover.TriggerContext>
15
- * <Popover.Trigger>Open Popover</Popover.Trigger>
14
+ * <PopoverTriggerContext>
15
+ * <PopoverTrigger>Open Popover</PopoverTrigger>
16
16
  * <Popover>
17
17
  * Content
18
18
  * </Popover>
19
- * </Popover.TriggerContext>
19
+ * </PopoverTriggerContext>
20
20
  *
21
21
  * @example inline
22
- * <Popover.TriggerContext>
22
+ * <PopoverTriggerContext>
23
23
  * <Paragraph>
24
- * We can use it <Popover.Trigger inline={true}>inline</Popover.Trigger>.
24
+ * We can use it <PopoverTrigger inline={true}>inline</PopoverTrigger>.
25
25
  * </Paragraph>
26
26
  * <Popover>
27
27
  * Content
28
28
  * </Popover>
29
- * </Popover.TriggerContext>
29
+ * </PopoverTriggerContext>
30
30
  */
31
31
  const PopoverTrigger = react.forwardRef(function PopoverTrigger({ id, inline, asChild, ...rest }, ref) {
32
32
  const { popoverId } = react.useContext(popoverTriggerContext.Context);
@@ -6,8 +6,8 @@ var dom = require('@floating-ui/dom');
6
6
  var reactSlot = require('@radix-ui/react-slot');
7
7
  var cl = require('clsx/lite');
8
8
  var react = require('react');
9
- var popoverTriggerContext = require('./popover-trigger-context.js');
10
9
  var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
10
+ var popoverTriggerContext = require('./popover-trigger-context.js');
11
11
 
12
12
  /**
13
13
  * Popover component, used to display content in a popover over an element.
@@ -42,13 +42,15 @@ const Popover = react.forwardRef(function Popover({ id, className, onClose, onOp
42
42
  const isOutside = !isTrigger && !popover?.contains(el);
43
43
  if (isTrigger) {
44
44
  event.preventDefault(); // Prevent native Popover API
45
- setInternalOpen((open) => !open);
46
- onOpen?.();
47
45
  }
48
- if (isOutside) {
46
+ if (controlledOpen && (isTrigger || isOutside)) {
49
47
  setInternalOpen(false);
50
48
  onClose?.();
51
49
  }
50
+ else if (!controlledOpen && isTrigger) {
51
+ setInternalOpen(true);
52
+ onOpen?.();
53
+ }
52
54
  };
53
55
  const handleKeydown = (event) => {
54
56
  if (event.key !== 'Escape' || !controlledOpen)
@@ -86,7 +88,7 @@ const Popover = react.forwardRef(function Popover({ id, className, onClose, onOp
86
88
  arrowPseudoElement,
87
89
  ],
88
90
  }).then(({ x, y }) => {
89
- popover.style.translate = `${x}px ${y}px`;
91
+ popover.style.translate = `${Math.round(x)}px ${Math.round(y)}px`;
90
92
  });
91
93
  });
92
94
  }, [controlledOpen, placement, id, autoPlacement]);
@@ -22,16 +22,16 @@ var searchInput = require('./search-input.js');
22
22
  * <Search.Clear />
23
23
  * </Search>
24
24
  */
25
- const Search = Object.assign(search.Search, {
25
+ const SearchComponent = Object.assign(search.Search, {
26
26
  Clear: searchClear.SearchClear,
27
27
  Button: searchButton.SearchButton,
28
28
  Input: searchInput.SearchInput,
29
29
  });
30
- Search.Clear.displayName = 'Search.Clear';
31
- Search.Button.displayName = 'Search.Button';
32
- Search.Input.displayName = 'Search.Input';
30
+ SearchComponent.Clear.displayName = 'Search.Clear';
31
+ SearchComponent.Button.displayName = 'Search.Button';
32
+ SearchComponent.Input.displayName = 'Search.Input';
33
33
 
34
34
  exports.SearchButton = searchButton.SearchButton;
35
35
  exports.SearchClear = searchClear.SearchClear;
36
36
  exports.SearchInput = searchInput.SearchInput;
37
- exports.Search = Search;
37
+ exports.Search = SearchComponent;
@@ -10,8 +10,8 @@ var button = require('../button/button.js');
10
10
  *
11
11
  * @example
12
12
  * <Search>
13
- * <Search.Input aria-label='Søk' />
14
- * <Search.Button>Søk</Search.Button>
13
+ * <SearchInput aria-label='Søk' />
14
+ * <SearchButton>Søk</SearchButton>
15
15
  * </Search>
16
16
  */
17
17
  const SearchButton = react.forwardRef(function SearchButton({ children = 'Søk', ...rest }, ref) {
@@ -11,8 +11,8 @@ var utilities = require('../Combobox/utilities.js');
11
11
  *
12
12
  * @example
13
13
  * <Search>
14
- * <Search.Input aria-label='Søk' />
15
- * <Search.Clear />
14
+ * <SearchInput aria-label='Søk' />
15
+ * <SearchClear />
16
16
  * </Search>
17
17
  */
18
18
  const SearchClear = react.forwardRef(function SearchClear({ 'aria-label': label = 'Tøm', onClick, ...rest }, ref) {
@@ -10,7 +10,7 @@ var input = require('../input/input.js');
10
10
  *
11
11
  * @example
12
12
  * <Search>
13
- * <Search.Input aria-label='Søk' />
13
+ * <SearchInput aria-label='Søk' />
14
14
  * </Search>
15
15
  */
16
16
  const SearchInput = react.forwardRef(function SearchInput({ ...rest }, ref) {
@@ -14,13 +14,13 @@ var selectOption = require('./select-option.js');
14
14
  * <Select.Option value='2'>Option 2</Select.Option>
15
15
  * </Select>
16
16
  */
17
- const Select = Object.assign(select.Select, {
17
+ const SelectComponent = Object.assign(select.Select, {
18
18
  Option: selectOption.SelectOption,
19
19
  Optgroup: selectOptgroup.SelectOptgroup,
20
20
  });
21
- Select.Option.displayName = 'Select.Option';
22
- Select.Optgroup.displayName = 'Select.Optgroup';
21
+ SelectComponent.Option.displayName = 'Select.Option';
22
+ SelectComponent.Optgroup.displayName = 'Select.Optgroup';
23
23
 
24
24
  exports.SelectOptgroup = selectOptgroup.SelectOptgroup;
25
25
  exports.SelectOption = selectOption.SelectOption;
26
- exports.Select = Select;
26
+ exports.Select = SelectComponent;
@@ -10,10 +10,10 @@ var react = require('react');
10
10
  *
11
11
  * @example
12
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>
13
+ * <SelectOptgroup label='Group 1'>
14
+ * <SelectOption value='1'>Option 1</SelectOption>
15
+ * <SelectOption value='2'>Option 2</SelectOption>
16
+ * </SelectOptgroup>
17
17
  * </Select>
18
18
  */
19
19
  const SelectOptgroup = react.forwardRef(function SelectOptgroup({ asChild, ...rest }, ref) {
@@ -10,8 +10,8 @@ var react = require('react');
10
10
  *
11
11
  * @example
12
12
  * <Select>
13
- * <Select.Option value='1'>Option 1</Select.Option>
14
- * <Select.Option value='2'>Option 2</Select.Option>
13
+ * <SelectOption value='1'>Option 1</SelectOption>
14
+ * <SelectOption value='2'>Option 2</SelectOption>
15
15
  * </Select>
16
16
  */
17
17
  const SelectOption = react.forwardRef(function SelectOption({ asChild, ...rest }, ref) {
@@ -5,8 +5,10 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var reactSlot = require('@radix-ui/react-slot');
6
6
  var cl = require('clsx/lite');
7
7
  var react = require('react');
8
- var useSynchronizedAnimation = require('../../utilities/hooks/use-synchronized-animation/use-synchronized-animation.js');
9
8
  var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
9
+ var useSynchronizedAnimation = require('../../utilities/hooks/use-synchronized-animation/use-synchronized-animation.js');
10
+ require('../../utilities/roving-focus/roving-focus-item.js');
11
+ require('../../utilities/roving-focus/roving-focus-root.js');
10
12
 
11
13
  /**
12
14
  * Skeleton is used to represent a draft of page while the content loads.
@@ -4,8 +4,10 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var cl = require('clsx/lite');
6
6
  var react = require('react');
7
- var useSynchronizedAnimation = require('../../utilities/hooks/use-synchronized-animation/use-synchronized-animation.js');
8
7
  var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
8
+ var useSynchronizedAnimation = require('../../utilities/hooks/use-synchronized-animation/use-synchronized-animation.js');
9
+ require('../../utilities/roving-focus/roving-focus-item.js');
10
+ require('../../utilities/roving-focus/roving-focus-root.js');
9
11
 
10
12
  /**
11
13
  * Spinner component used for indicating busy or indeterminate loading.
@@ -2,7 +2,6 @@
2
2
  'use strict';
3
3
 
4
4
  var suggestion = require('./suggestion.js');
5
- var suggestionChips = require('./suggestion-chips.js');
6
5
  var suggestionClear = require('./suggestion-clear.js');
7
6
  var suggestionEmpty = require('./suggestion-empty.js');
8
7
  var suggestionInput = require('./suggestion-input.js');
@@ -24,7 +23,6 @@ var suggestionOption = require('./suggestion-option.js');
24
23
  * </Suggestion>
25
24
  */
26
25
  const EXPERIMENTAL_Suggestion = Object.assign(suggestion.Suggestion, {
27
- Chips: suggestionChips.SuggestionChips,
28
26
  List: suggestionList.SuggestionList,
29
27
  Input: suggestionInput.SuggestionInput,
30
28
  Empty: suggestionEmpty.SuggestionEmpty,
@@ -32,14 +30,12 @@ const EXPERIMENTAL_Suggestion = Object.assign(suggestion.Suggestion, {
32
30
  Clear: suggestionClear.SuggestionClear,
33
31
  });
34
32
  EXPERIMENTAL_Suggestion.displayName = 'EXPERIMENTAL_Suggestion';
35
- EXPERIMENTAL_Suggestion.Chips.displayName = 'EXPERIMENTAL_Suggestion.Chips';
36
33
  EXPERIMENTAL_Suggestion.List.displayName = 'EXPERIMENTAL_Suggestion.List';
37
34
  EXPERIMENTAL_Suggestion.Input.displayName = 'EXPERIMENTAL_Suggestion.Input';
38
35
  EXPERIMENTAL_Suggestion.Empty.displayName = 'EXPERIMENTAL_Suggestion.Empty';
39
36
  EXPERIMENTAL_Suggestion.Option.displayName = 'EXPERIMENTAL_Suggestion.Option';
40
37
  EXPERIMENTAL_Suggestion.Clear.displayName = 'EXPERIMENTAL_Suggestion.Clear';
41
38
 
42
- exports.EXPERIMENTAL_SuggestionChips = suggestionChips.SuggestionChips;
43
39
  exports.EXPERIMENTAL_SuggestionClear = suggestionClear.SuggestionClear;
44
40
  exports.EXPERIMENTAL_SuggestionEmpty = suggestionEmpty.SuggestionEmpty;
45
41
  exports.EXPERIMENTAL_SuggestionInput = suggestionInput.SuggestionInput;
@@ -17,7 +17,7 @@ var button = require('../button/button.js');
17
17
  * <Suggestion.List />
18
18
  * </Suggestion>
19
19
  */
20
- const SuggestionClear = react.forwardRef(function SuggestionClear({ 'aria-label': label = 'Tøm', onClick, ...rest }, ref) {
20
+ const SuggestionClear = react.forwardRef(function SuggestionClear({ 'aria-label': label = 'Tøm', ...rest }, ref) {
21
21
  return (jsxRuntime.jsx(button.Button, { "aria-label": label, asChild: true, icon: true, hidden: true, ref: ref, variant: 'tertiary', ...rest, children: jsxRuntime.jsx("del", {}) }));
22
22
  });
23
23