@digdir/designsystemet-react 1.1.4 → 1.1.6

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 (242) hide show
  1. package/dist/cjs/components/breadcrumbs/index.js +6 -6
  2. package/dist/cjs/components/card/index.js +3 -3
  3. package/dist/cjs/components/chip/index.js +6 -6
  4. package/dist/cjs/components/details/index.js +4 -4
  5. package/dist/cjs/components/dialog/dialog.js +3 -2
  6. package/dist/cjs/components/dialog/index.js +5 -5
  7. package/dist/cjs/components/dropdown/dropdown-button.js +12 -0
  8. package/dist/cjs/components/dropdown/dropdown-heading.js +8 -0
  9. package/dist/cjs/components/dropdown/dropdown-item.js +12 -0
  10. package/dist/cjs/components/dropdown/dropdown-list.js +12 -0
  11. package/dist/cjs/components/dropdown/dropdown-trigger-context.js +9 -9
  12. package/dist/cjs/components/dropdown/dropdown-trigger.js +16 -0
  13. package/dist/cjs/components/dropdown/index.js +20 -9
  14. package/dist/cjs/components/error-summary/error-summary-heading.js +8 -0
  15. package/dist/cjs/components/error-summary/error-summary-item.js +4 -4
  16. package/dist/cjs/components/error-summary/error-summary-link.js +8 -1
  17. package/dist/cjs/components/error-summary/error-summary-list.js +15 -0
  18. package/dist/cjs/components/error-summary/index.js +6 -6
  19. package/dist/cjs/components/field/field-description.js +6 -0
  20. package/dist/cjs/components/field/field-observer.js +7 -5
  21. package/dist/cjs/components/field/index.js +6 -6
  22. package/dist/cjs/components/fieldset/fieldset-description.js +2 -2
  23. package/dist/cjs/components/fieldset/fieldset-legend.js +1 -1
  24. package/dist/cjs/components/fieldset/index.js +4 -4
  25. package/dist/cjs/components/list/index.js +5 -5
  26. package/dist/cjs/components/list/list-item.js +6 -0
  27. package/dist/cjs/components/list/lists.js +8 -8
  28. package/dist/cjs/components/pagination/index.js +5 -5
  29. package/dist/cjs/components/pagination/pagination-button.js +3 -3
  30. package/dist/cjs/components/pagination/pagination-item.js +5 -5
  31. package/dist/cjs/components/pagination/pagination-list.js +5 -5
  32. package/dist/cjs/components/popover/index.js +4 -4
  33. package/dist/cjs/components/popover/popover-trigger-context.js +3 -3
  34. package/dist/cjs/components/popover/popover-trigger.js +6 -6
  35. package/dist/cjs/components/search/index.js +5 -5
  36. package/dist/cjs/components/search/search-button.js +2 -2
  37. package/dist/cjs/components/search/search-clear.js +2 -2
  38. package/dist/cjs/components/search/search-input.js +1 -1
  39. package/dist/cjs/components/select/index.js +4 -4
  40. package/dist/cjs/components/select/select-optgroup.js +4 -4
  41. package/dist/cjs/components/select/select-option.js +2 -2
  42. package/dist/cjs/components/suggestion/suggestion-chips.js +6 -8
  43. package/dist/cjs/components/suggestion/suggestion-input.js +2 -5
  44. package/dist/cjs/components/suggestion/suggestion-list.js +5 -11
  45. package/dist/cjs/components/suggestion/suggestion-option.js +12 -0
  46. package/dist/cjs/components/suggestion/suggestion.js +28 -16
  47. package/dist/cjs/components/table/index.js +9 -9
  48. package/dist/cjs/components/table/table-body.js +6 -6
  49. package/dist/cjs/components/table/table-cell.js +1 -1
  50. package/dist/cjs/components/table/table-foot.js +6 -6
  51. package/dist/cjs/components/table/table-head.js +6 -6
  52. package/dist/cjs/components/table/table-header-cell.js +1 -1
  53. package/dist/cjs/components/table/table-row.js +4 -4
  54. package/dist/cjs/components/tabs/index.js +5 -5
  55. package/dist/cjs/components/tabs/tabs-list.js +4 -4
  56. package/dist/cjs/components/tabs/tabs-panel.js +1 -1
  57. package/dist/cjs/components/tabs/tabs-tab.js +1 -1
  58. package/dist/cjs/components/toggle-group/index.js +3 -3
  59. package/dist/cjs/components/toggle-group/toggle-group-item.js +1 -1
  60. package/dist/esm/components/breadcrumbs/index.js +7 -7
  61. package/dist/esm/components/card/index.js +4 -4
  62. package/dist/esm/components/checkbox/checkbox.js +2 -2
  63. package/dist/esm/components/chip/index.js +6 -6
  64. package/dist/esm/components/details/index.js +5 -5
  65. package/dist/esm/components/dialog/dialog.js +3 -2
  66. package/dist/esm/components/dialog/index.js +6 -6
  67. package/dist/esm/components/dropdown/dropdown-button.js +12 -0
  68. package/dist/esm/components/dropdown/dropdown-heading.js +8 -0
  69. package/dist/esm/components/dropdown/dropdown-item.js +12 -0
  70. package/dist/esm/components/dropdown/dropdown-list.js +12 -0
  71. package/dist/esm/components/dropdown/dropdown-trigger-context.js +9 -9
  72. package/dist/esm/components/dropdown/dropdown-trigger.js +16 -0
  73. package/dist/esm/components/dropdown/index.js +21 -10
  74. package/dist/esm/components/error-summary/error-summary-heading.js +8 -0
  75. package/dist/esm/components/error-summary/error-summary-item.js +4 -4
  76. package/dist/esm/components/error-summary/error-summary-link.js +8 -1
  77. package/dist/esm/components/error-summary/error-summary-list.js +17 -2
  78. package/dist/esm/components/error-summary/index.js +7 -7
  79. package/dist/esm/components/field/field-description.js +6 -0
  80. package/dist/esm/components/field/field-observer.js +7 -5
  81. package/dist/esm/components/field/index.js +7 -7
  82. package/dist/esm/components/fieldset/fieldset-description.js +2 -2
  83. package/dist/esm/components/fieldset/fieldset-legend.js +1 -1
  84. package/dist/esm/components/fieldset/index.js +5 -5
  85. package/dist/esm/components/list/index.js +5 -5
  86. package/dist/esm/components/list/list-item.js +6 -0
  87. package/dist/esm/components/list/lists.js +8 -8
  88. package/dist/esm/components/pagination/index.js +6 -6
  89. package/dist/esm/components/pagination/pagination-button.js +3 -3
  90. package/dist/esm/components/pagination/pagination-item.js +5 -5
  91. package/dist/esm/components/pagination/pagination-list.js +5 -5
  92. package/dist/esm/components/popover/index.js +5 -5
  93. package/dist/esm/components/popover/popover-trigger-context.js +3 -3
  94. package/dist/esm/components/popover/popover-trigger.js +6 -6
  95. package/dist/esm/components/radio/radio.js +2 -2
  96. package/dist/esm/components/search/index.js +6 -6
  97. package/dist/esm/components/search/search-button.js +2 -2
  98. package/dist/esm/components/search/search-clear.js +2 -2
  99. package/dist/esm/components/search/search-input.js +1 -1
  100. package/dist/esm/components/select/index.js +5 -5
  101. package/dist/esm/components/select/select-optgroup.js +4 -4
  102. package/dist/esm/components/select/select-option.js +2 -2
  103. package/dist/esm/components/suggestion/suggestion-chips.js +6 -8
  104. package/dist/esm/components/suggestion/suggestion-input.js +3 -6
  105. package/dist/esm/components/suggestion/suggestion-list.js +6 -12
  106. package/dist/esm/components/suggestion/suggestion-option.js +12 -0
  107. package/dist/esm/components/suggestion/suggestion.js +28 -16
  108. package/dist/esm/components/switch/switch.js +2 -2
  109. package/dist/esm/components/table/index.js +10 -10
  110. package/dist/esm/components/table/table-body.js +6 -6
  111. package/dist/esm/components/table/table-cell.js +1 -1
  112. package/dist/esm/components/table/table-foot.js +6 -6
  113. package/dist/esm/components/table/table-head.js +6 -6
  114. package/dist/esm/components/table/table-header-cell.js +1 -1
  115. package/dist/esm/components/table/table-row.js +4 -4
  116. package/dist/esm/components/tabs/index.js +6 -6
  117. package/dist/esm/components/tabs/tabs-list.js +4 -4
  118. package/dist/esm/components/tabs/tabs-panel.js +1 -1
  119. package/dist/esm/components/tabs/tabs-tab.js +1 -1
  120. package/dist/esm/components/textfield/textfield.js +2 -2
  121. package/dist/esm/components/toggle-group/index.js +4 -4
  122. package/dist/esm/components/toggle-group/toggle-group-item.js +1 -1
  123. package/dist/react-types.d.ts +1 -2
  124. package/dist/types/colors.d.ts +1 -23
  125. package/dist/types/colors.d.ts.map +1 -1
  126. package/dist/types/components/Combobox/Combobox.d.ts +2 -2
  127. package/dist/types/components/Combobox/useFormField/useFormField.d.ts +1 -1
  128. package/dist/types/components/Combobox/useFormField/useFormField.d.ts.map +1 -1
  129. package/dist/types/components/alert/alert.d.ts +1 -1
  130. package/dist/types/components/alert/alert.d.ts.map +1 -1
  131. package/dist/types/components/avatar/avatar.d.ts +2 -1
  132. package/dist/types/components/avatar/avatar.d.ts.map +1 -1
  133. package/dist/types/components/badge/badge.d.ts +1 -1
  134. package/dist/types/components/badge/badge.d.ts.map +1 -1
  135. package/dist/types/components/badge/index.d.ts +1 -1
  136. package/dist/types/components/breadcrumbs/index.d.ts +48 -12
  137. package/dist/types/components/breadcrumbs/index.d.ts.map +1 -1
  138. package/dist/types/components/button/button.d.ts +3 -3
  139. package/dist/types/components/button/button.d.ts.map +1 -1
  140. package/dist/types/components/card/index.d.ts +18 -10
  141. package/dist/types/components/card/index.d.ts.map +1 -1
  142. package/dist/types/components/chip/index.d.ts +33 -14
  143. package/dist/types/components/chip/index.d.ts.map +1 -1
  144. package/dist/types/components/details/index.d.ts +19 -7
  145. package/dist/types/components/details/index.d.ts.map +1 -1
  146. package/dist/types/components/dialog/dialog-trigger.d.ts +1 -1
  147. package/dist/types/components/dialog/dialog.d.ts.map +1 -1
  148. package/dist/types/components/dialog/index.d.ts +46 -25
  149. package/dist/types/components/dialog/index.d.ts.map +1 -1
  150. package/dist/types/components/dropdown/dropdown-button.d.ts +12 -0
  151. package/dist/types/components/dropdown/dropdown-button.d.ts.map +1 -1
  152. package/dist/types/components/dropdown/dropdown-heading.d.ts +8 -0
  153. package/dist/types/components/dropdown/dropdown-heading.d.ts.map +1 -1
  154. package/dist/types/components/dropdown/dropdown-item.d.ts +12 -0
  155. package/dist/types/components/dropdown/dropdown-item.d.ts.map +1 -1
  156. package/dist/types/components/dropdown/dropdown-list.d.ts +12 -0
  157. package/dist/types/components/dropdown/dropdown-list.d.ts.map +1 -1
  158. package/dist/types/components/dropdown/dropdown-trigger-context.d.ts +9 -9
  159. package/dist/types/components/dropdown/dropdown-trigger.d.ts +16 -0
  160. package/dist/types/components/dropdown/dropdown-trigger.d.ts.map +1 -1
  161. package/dist/types/components/dropdown/index.d.ts +99 -19
  162. package/dist/types/components/dropdown/index.d.ts.map +1 -1
  163. package/dist/types/components/error-summary/error-summary-heading.d.ts +8 -0
  164. package/dist/types/components/error-summary/error-summary-heading.d.ts.map +1 -1
  165. package/dist/types/components/error-summary/error-summary-item.d.ts +4 -4
  166. package/dist/types/components/error-summary/error-summary-link.d.ts +8 -1
  167. package/dist/types/components/error-summary/error-summary-link.d.ts.map +1 -1
  168. package/dist/types/components/error-summary/error-summary-list.d.ts +15 -0
  169. package/dist/types/components/error-summary/error-summary-list.d.ts.map +1 -1
  170. package/dist/types/components/error-summary/index.d.ts +52 -20
  171. package/dist/types/components/error-summary/index.d.ts.map +1 -1
  172. package/dist/types/components/field/field-counter.d.ts +1 -1
  173. package/dist/types/components/field/field-description.d.ts +6 -0
  174. package/dist/types/components/field/field-description.d.ts.map +1 -1
  175. package/dist/types/components/field/field-observer.d.ts.map +1 -1
  176. package/dist/types/components/field/index.d.ts +45 -17
  177. package/dist/types/components/field/index.d.ts.map +1 -1
  178. package/dist/types/components/fieldset/fieldset-description.d.ts +2 -2
  179. package/dist/types/components/fieldset/fieldset-legend.d.ts +1 -1
  180. package/dist/types/components/fieldset/index.d.ts +21 -9
  181. package/dist/types/components/fieldset/index.d.ts.map +1 -1
  182. package/dist/types/components/list/index.d.ts +32 -11
  183. package/dist/types/components/list/index.d.ts.map +1 -1
  184. package/dist/types/components/list/list-item.d.ts +6 -0
  185. package/dist/types/components/list/list-item.d.ts.map +1 -1
  186. package/dist/types/components/list/lists.d.ts +8 -8
  187. package/dist/types/components/pagination/index.d.ts +38 -15
  188. package/dist/types/components/pagination/index.d.ts.map +1 -1
  189. package/dist/types/components/pagination/pagination-button.d.ts +3 -3
  190. package/dist/types/components/pagination/pagination-item.d.ts +5 -5
  191. package/dist/types/components/pagination/pagination-list.d.ts +5 -5
  192. package/dist/types/components/popover/index.d.ts +39 -18
  193. package/dist/types/components/popover/index.d.ts.map +1 -1
  194. package/dist/types/components/popover/popover-trigger-context.d.ts +3 -3
  195. package/dist/types/components/popover/popover-trigger.d.ts +6 -6
  196. package/dist/types/components/popover/popover.d.ts +1 -1
  197. package/dist/types/components/popover/popover.d.ts.map +1 -1
  198. package/dist/types/components/search/index.d.ts +34 -15
  199. package/dist/types/components/search/index.d.ts.map +1 -1
  200. package/dist/types/components/search/search-button.d.ts +3 -3
  201. package/dist/types/components/search/search-clear.d.ts +2 -2
  202. package/dist/types/components/search/search-input.d.ts +1 -1
  203. package/dist/types/components/select/index.d.ts +27 -12
  204. package/dist/types/components/select/index.d.ts.map +1 -1
  205. package/dist/types/components/select/select-optgroup.d.ts +4 -4
  206. package/dist/types/components/select/select-option.d.ts +2 -2
  207. package/dist/types/components/suggestion/index.d.ts +71 -41
  208. package/dist/types/components/suggestion/index.d.ts.map +1 -1
  209. package/dist/types/components/suggestion/suggestion-chips.d.ts +6 -14
  210. package/dist/types/components/suggestion/suggestion-chips.d.ts.map +1 -1
  211. package/dist/types/components/suggestion/suggestion-input.d.ts.map +1 -1
  212. package/dist/types/components/suggestion/suggestion-list.d.ts.map +1 -1
  213. package/dist/types/components/suggestion/suggestion-option.d.ts +12 -0
  214. package/dist/types/components/suggestion/suggestion-option.d.ts.map +1 -1
  215. package/dist/types/components/suggestion/suggestion.d.ts +79 -22
  216. package/dist/types/components/suggestion/suggestion.d.ts.map +1 -1
  217. package/dist/types/components/table/index.d.ts +65 -16
  218. package/dist/types/components/table/index.d.ts.map +1 -1
  219. package/dist/types/components/table/table-body.d.ts +6 -6
  220. package/dist/types/components/table/table-cell.d.ts +1 -1
  221. package/dist/types/components/table/table-foot.d.ts +6 -6
  222. package/dist/types/components/table/table-head.d.ts +6 -6
  223. package/dist/types/components/table/table-header-cell.d.ts +1 -1
  224. package/dist/types/components/table/table-row.d.ts +4 -4
  225. package/dist/types/components/tabs/index.d.ts +29 -14
  226. package/dist/types/components/tabs/index.d.ts.map +1 -1
  227. package/dist/types/components/tabs/tabs-list.d.ts +4 -4
  228. package/dist/types/components/tabs/tabs-panel.d.ts +1 -1
  229. package/dist/types/components/tabs/tabs-tab.d.ts +1 -1
  230. package/dist/types/components/tag/tag.d.ts +1 -1
  231. package/dist/types/components/tag/tag.d.ts.map +1 -1
  232. package/dist/types/components/toggle-group/index.d.ts +11 -11
  233. package/dist/types/components/toggle-group/index.d.ts.map +1 -1
  234. package/dist/types/components/toggle-group/toggle-group-item.d.ts +1 -1
  235. package/dist/types/components/validation-message/validation-message.d.ts +1 -1
  236. package/dist/types/components/validation-message/validation-message.d.ts.map +1 -1
  237. package/dist/types/index.d.ts +4 -1
  238. package/dist/types/index.d.ts.map +1 -1
  239. package/dist/types/types.d.ts +1 -1
  240. package/dist/types/types.d.ts.map +1 -1
  241. package/dist/types/utilities/roving-focus/use-roving-focus.d.ts +2 -2
  242. package/package.json +9 -8
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Card as Card$1 } from './card.js';
2
+ import { Card } from './card.js';
3
3
  import { CardBlock } from './card-block.js';
4
4
 
5
5
  /**
@@ -12,9 +12,9 @@ import { CardBlock } from './card-block.js';
12
12
  * <Card.Block>Footer</Card.Block>
13
13
  * </Card>
14
14
  */
15
- const Card = Object.assign(Card$1, {
15
+ const CardComponent = Object.assign(Card, {
16
16
  Block: CardBlock,
17
17
  });
18
- Card.Block.displayName = 'Card.Block';
18
+ CardComponent.Block.displayName = 'Card.Block';
19
19
 
20
- export { Card, CardBlock };
20
+ export { CardComponent as Card, CardBlock };
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
- import { Field } from '../field/index.js';
4
+ import { Field as FieldComponent } from '../field/index.js';
5
5
  import { Input } from '../input/input.js';
6
6
  import { Label } from '../label/label.js';
7
7
  import { ValidationMessage } from '../validation-message/validation-message.js';
@@ -13,7 +13,7 @@ import { ValidationMessage } from '../validation-message/validation-message.js';
13
13
  * <Checkbox label="I agree" value="agree" />
14
14
  */
15
15
  const Checkbox = forwardRef(function Checkbox({ 'data-size': size, className, style, children, label, description, error, ...rest }, ref) {
16
- return (jsxs(Field, { "data-size": size, className: className, style: style, children: [jsx(Input, { type: 'checkbox', ref: ref, ...rest }), !!label && jsx(Label, { weight: 'regular', children: label }), !!description && jsx("div", { "data-field": 'description', children: description }), !!error && jsx(ValidationMessage, { children: error })] }));
16
+ return (jsxs(FieldComponent, { "data-size": size, className: className, style: style, children: [jsx(Input, { type: 'checkbox', ref: ref, ...rest }), !!label && jsx(Label, { weight: 'regular', children: label }), !!description && jsx("div", { "data-field": 'description', children: description }), !!error && jsx(ValidationMessage, { children: error })] }));
17
17
  });
18
18
 
19
19
  export { Checkbox };
@@ -1,15 +1,15 @@
1
1
  'use client';
2
2
  import { ChipRemovable, ChipRadio, ChipCheckbox, ChipButton } from './chips.js';
3
3
 
4
- const Chip = {
4
+ const ChipComponent = {
5
5
  Button: ChipButton,
6
6
  Checkbox: ChipCheckbox,
7
7
  Radio: ChipRadio,
8
8
  Removable: ChipRemovable,
9
9
  };
10
- Chip.Button.displayName = 'Chip.Button';
11
- Chip.Checkbox.displayName = 'Chip.Checkbox';
12
- Chip.Radio.displayName = 'Chip.Radio';
13
- Chip.Removable.displayName = 'Chip.Removable';
10
+ ChipComponent.Button.displayName = 'Chip.Button';
11
+ ChipComponent.Checkbox.displayName = 'Chip.Checkbox';
12
+ ChipComponent.Radio.displayName = 'Chip.Radio';
13
+ ChipComponent.Removable.displayName = 'Chip.Removable';
14
14
 
15
- export { Chip, ChipButton, ChipCheckbox, ChipRadio, ChipRemovable };
15
+ export { ChipComponent as Chip, ChipButton, ChipCheckbox, ChipRadio, ChipRemovable };
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Details as Details$1 } from './details.js';
2
+ import { Details } from './details.js';
3
3
  import { DetailsContent } from './details-content.js';
4
4
  import { DetailsSummary } from './details-summary.js';
5
5
 
@@ -12,11 +12,11 @@ import { DetailsSummary } from './details-summary.js';
12
12
  * <Details.Content>Content</Details.Content>
13
13
  * </Details>
14
14
  */
15
- const Details = Object.assign(Details$1, {
15
+ const DetailsComponent = Object.assign(Details, {
16
16
  Summary: DetailsSummary,
17
17
  Content: DetailsContent,
18
18
  });
19
- Details.Summary.displayName = 'Details.Summary';
20
- Details.Content.displayName = 'Details.Content';
19
+ DetailsComponent.Summary.displayName = 'Details.Summary';
20
+ DetailsComponent.Content.displayName = 'Details.Content';
21
21
 
22
- export { Details, DetailsContent, DetailsSummary };
22
+ export { DetailsComponent as Details, DetailsContent, DetailsSummary };
@@ -71,8 +71,9 @@ const Dialog = forwardRef(function Dialog({ asChild, children, className, closeB
71
71
  /* handle closing */
72
72
  useEffect(() => {
73
73
  const handleClose = (event) => onClose?.(event);
74
- dialogRef.current?.addEventListener('close', handleClose);
75
- return () => dialogRef.current?.removeEventListener('close', handleClose);
74
+ const currentRef = dialogRef.current;
75
+ currentRef?.addEventListener('close', handleClose);
76
+ return () => currentRef?.removeEventListener('close', handleClose);
76
77
  }, [onClose]);
77
78
  return (jsxs(Component, { className: cl('ds-dialog', className), ref: mergedRefs, "data-modal": modal, ...rest, children: [closeButton !== false && (jsx("form", { method: 'dialog', children: jsx(Button, { "aria-label": closeButton, autoFocus: true, "data-color": 'neutral', icon: true, name: 'close', type: 'submit', variant: 'tertiary' }) })), children] }));
78
79
  });
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Dialog as Dialog$1 } from './dialog.js';
2
+ import { Dialog } from './dialog.js';
3
3
  import { DialogBlock } from './dialog-block.js';
4
4
  import { DialogTrigger } from './dialog-trigger.js';
5
5
  import { DialogTriggerContext } from './dialog-trigger-context.js';
@@ -17,13 +17,13 @@ import { DialogTriggerContext } from './dialog-trigger-context.js';
17
17
  * </Dialog>
18
18
  * </Dialog.TriggerContext>
19
19
  */
20
- const Dialog = Object.assign(Dialog$1, {
20
+ const DialogComponent = Object.assign(Dialog, {
21
21
  Block: DialogBlock,
22
22
  TriggerContext: DialogTriggerContext,
23
23
  Trigger: DialogTrigger,
24
24
  });
25
- Dialog.Block.displayName = 'Dialog.Block';
26
- Dialog.TriggerContext.displayName = 'Dialog.TriggerContext';
27
- Dialog.Trigger.displayName = 'Dialog.Trigger';
25
+ DialogComponent.Block.displayName = 'Dialog.Block';
26
+ DialogComponent.TriggerContext.displayName = 'Dialog.TriggerContext';
27
+ DialogComponent.Trigger.displayName = 'Dialog.Trigger';
28
28
 
29
- export { Dialog, DialogBlock, DialogTrigger, DialogTriggerContext };
29
+ export { DialogComponent as Dialog, DialogBlock, DialogTrigger, DialogTriggerContext };
@@ -3,6 +3,18 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
  import { Button } from '../button/button.js';
5
5
 
6
+ /**
7
+ * DropdownButton component, used to display a button in the DropdownItem.
8
+ *
9
+ * @example
10
+ * <Dropdown>
11
+ * <DropdownList>
12
+ * <DropdownItem>
13
+ * <DropdownButton>Button</DropdownButton>
14
+ * </DropdownItem>
15
+ * </DropdownList>
16
+ * </Dropdown>
17
+ */
6
18
  const DropdownButton = forwardRef(function DropdownButton({ ...rest }, ref) {
7
19
  return jsx(Button, { ref: ref, variant: 'tertiary', ...rest });
8
20
  });
@@ -3,6 +3,14 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
  import { Heading } from '../heading/heading.js';
5
5
 
6
+ /**
7
+ * DropdownHeading component, used to display a heading in the Dropdown.
8
+ *
9
+ * @example
10
+ * <Dropdown>
11
+ * <DropdownHeading>Heading</DropdownHeading>
12
+ * </Dropdown>
13
+ */
6
14
  const DropdownHeading = forwardRef(function DropdownHeading({ className, ...rest }, ref) {
7
15
  return jsx(Heading, { ref: ref, ...rest });
8
16
  });
@@ -2,6 +2,18 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
 
5
+ /**
6
+ * DropdownItem component, used to display an item in the Dropdown. Used within a DropdownList.
7
+ *
8
+ * @example
9
+ * <Dropdown>
10
+ * <DropdownList>
11
+ * <DropdownItem>
12
+ * <DropdownButton>Button</DropdownButton>
13
+ * </DropdownItem>
14
+ * </DropdownList>
15
+ * </Dropdown>
16
+ */
5
17
  const DropdownItem = forwardRef(function DropdownItem({ className, ...rest }, ref) {
6
18
  return jsx("li", { ref: ref, ...rest });
7
19
  });
@@ -2,6 +2,18 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
 
5
+ /**
6
+ * DropdownList component, used to display a list of items in the Dropdown.
7
+ *
8
+ * @example
9
+ * <Dropdown>
10
+ * <DropdownList>
11
+ * <DropdownItem>
12
+ * <DropdownButton>Button</DropdownButton>
13
+ * </DropdownItem>
14
+ * </DropdownList>
15
+ * </Dropdown>
16
+ */
5
17
  const DropdownList = forwardRef(function DropdownList({ className, ...rest }, ref) {
6
18
  return jsx("ul", { ref: ref, ...rest });
7
19
  });
@@ -6,17 +6,17 @@ import { PopoverTriggerContext } from '../popover/popover-trigger-context.js';
6
6
  * DropdownTriggerContext enables use of the `.Trigger` for the Dropdown component.
7
7
  *
8
8
  * @example
9
- * <Dropdown.TriggerContext>
10
- * <Dropdown.Trigger>Dropdown</Dropdown.Trigger>
9
+ * <DropdownTriggerContext>
10
+ * <DropdownTrigger>Dropdown</DropdownTrigger>
11
11
  * <Dropdown>
12
- * <Dropdown.Heading>Heading</Dropdown.Heading>
13
- * <Dropdown.List>
14
- * <Dropdown.Item>
15
- * <Dropdown.Button>Button</Dropdown.Button>
16
- * </Dropdown.Item>
17
- * </Dropdown.List>
12
+ * <DropdownHeading>Heading</DropdownHeading>
13
+ * <DropdownList>
14
+ * <DropdownItem>
15
+ * <DropdownButton>Button</DropdownButton>
16
+ * </DropdownItem>
17
+ * </DropdownList>
18
18
  * </Dropdown>
19
- * </Dropdown.TriggerContext>
19
+ * </DropdownTriggerContext>
20
20
  */
21
21
  const DropdownTriggerContext = ({ children, }) => {
22
22
  return jsx(PopoverTriggerContext, { children: children });
@@ -3,6 +3,22 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
  import { PopoverTrigger } from '../popover/popover-trigger.js';
5
5
 
6
+ /**
7
+ * DropdownTrigger component, used within a Dropdown.TriggerContext to open a Dropdown.
8
+ *
9
+ * @example
10
+ * <Dropdown.TriggerContext>
11
+ * <Dropdown.Trigger>Dropdown</Dropdown.Trigger>
12
+ * <Dropdown>
13
+ * <Dropdown.Heading>Heading</Dropdown.Heading>
14
+ * <Dropdown.List>
15
+ * <Dropdown.Item>
16
+ * <Dropdown.Button>Button</Dropdown.Button>
17
+ * </Dropdown.Item>
18
+ * </Dropdown.List>
19
+ * </Dropdown>
20
+ * </Dropdown.TriggerContext>
21
+ */
6
22
  const DropdownTrigger = forwardRef(function DropdownTrigger({ asChild, ...rest }, ref) {
7
23
  return jsx(PopoverTrigger, { ref: ref, ...rest });
8
24
  });
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Dropdown as Dropdown$1 } from './dropdown.js';
2
+ import { Dropdown } from './dropdown.js';
3
3
  import { DropdownButton } from './dropdown-button.js';
4
4
  import { DropdownHeading } from './dropdown-heading.js';
5
5
  import { DropdownItem } from './dropdown-item.js';
@@ -10,7 +10,7 @@ import { DropdownTriggerContext } from './dropdown-trigger-context.js';
10
10
  /**
11
11
  * Dropdown component, used to display a list of options.
12
12
  *
13
- * @example
13
+ * @example with TriggerContext
14
14
  * <Dropdown.TriggerContext>
15
15
  * <Dropdown.Trigger>Dropdown trigger</Dropdown.Trigger>
16
16
  * <Dropdown placement='bottom-end'>
@@ -22,8 +22,19 @@ import { DropdownTriggerContext } from './dropdown-trigger-context.js';
22
22
  * </Dropdown.List>
23
23
  * </Dropdown>
24
24
  * </Dropdown.TriggerContext>
25
+ *
26
+ * @example without TriggerContext
27
+ * <Button popovertarget="my-dropdown">Trigger</Button>
28
+ * <Dropdown id="my-dropdown">
29
+ * <Dropdown.Heading>Heading</Dropdown.Heading>
30
+ * <Dropdown.List>
31
+ * <Dropdown.Item>
32
+ * <Dropdown.Button>Item</Dropdown.Button>
33
+ * </Dropdown.Item>
34
+ * </Dropdown.List>
35
+ * </Dropdown>
25
36
  */
26
- const Dropdown = Object.assign(Dropdown$1, {
37
+ const DropdownComponent = Object.assign(Dropdown, {
27
38
  TriggerContext: DropdownTriggerContext,
28
39
  Heading: DropdownHeading,
29
40
  List: DropdownList,
@@ -31,11 +42,11 @@ const Dropdown = Object.assign(Dropdown$1, {
31
42
  Button: DropdownButton,
32
43
  Trigger: DropdownTrigger,
33
44
  });
34
- Dropdown.TriggerContext.displayName = 'Dropdown.TriggerContext';
35
- Dropdown.List.displayName = 'Dropdown.List';
36
- Dropdown.Heading.displayName = 'Dropdown.Heading';
37
- Dropdown.Item.displayName = 'Dropdown.Item';
38
- Dropdown.Button.displayName = 'Dropdown.Button';
39
- Dropdown.Trigger.displayName = 'Dropdown.Trigger';
45
+ DropdownComponent.TriggerContext.displayName = 'Dropdown.TriggerContext';
46
+ DropdownComponent.List.displayName = 'Dropdown.List';
47
+ DropdownComponent.Heading.displayName = 'Dropdown.Heading';
48
+ DropdownComponent.Item.displayName = 'Dropdown.Item';
49
+ DropdownComponent.Button.displayName = 'Dropdown.Button';
50
+ DropdownComponent.Trigger.displayName = 'Dropdown.Trigger';
40
51
 
41
- export { Dropdown, DropdownButton, DropdownHeading, DropdownItem, DropdownList, DropdownTrigger, DropdownTriggerContext };
52
+ export { DropdownComponent as Dropdown, DropdownButton, DropdownHeading, DropdownItem, DropdownList, DropdownTrigger, DropdownTriggerContext };
@@ -4,6 +4,14 @@ import { forwardRef, useContext, useEffect } from 'react';
4
4
  import { Heading } from '../heading/heading.js';
5
5
  import { ErrorSummaryContext } from './error-summary.js';
6
6
 
7
+ /**
8
+ * ErrorSummary heading component, used to display a heading for the error summary.
9
+ *
10
+ * @example
11
+ * <ErrorSummary>
12
+ * <ErrorSummaryHeading>Heading</ErrorSummaryHeading>
13
+ * </ErrorSummary>
14
+ */
7
15
  const ErrorSummaryHeading = forwardRef(function ErrorSummaryHeading({ className, id, ...rest }, ref) {
8
16
  const { headingId, setHeadingId } = useContext(ErrorSummaryContext);
9
17
  useEffect(() => {
@@ -8,11 +8,11 @@ import { ListItem } from '../list/list-item.js';
8
8
  * ErrorSummaryItem component, used to display an error link in the ErrorSummary.
9
9
  *
10
10
  * @example
11
- * <ErrorSummary.Item>
12
- * <ErrorSummary.Link href="#">
11
+ * <ErrorSummaryItem>
12
+ * <ErrorSummaryLink href="#">
13
13
  * Link to error
14
- * </ErrorSummary.Link>
15
- * </ErrorSummary.Item>
14
+ * </ErrorSummaryLink>
15
+ * </ErrorSummaryItem>
16
16
  */
17
17
  const ErrorSummaryItem = forwardRef(function ErrorSummaryItem({ ...rest }, ref) {
18
18
  return jsx(ListItem, { ref: ref, ...rest });
@@ -4,7 +4,14 @@ import { forwardRef } from 'react';
4
4
  import { Link } from '../link/link.js';
5
5
 
6
6
  /**
7
- * Link component used in ErrorSummary.
7
+ * ErrorSummary link component, used to link to a specific error. Used within an ErrorSummary.Item.
8
+ *
9
+ * @example
10
+ * <ErrorSummary>
11
+ * <ErrorSummaryItem>
12
+ * <ErrorSummaryLink href='#'>Error 1</ErrorSummaryLink>
13
+ * </ErrorSummaryItem>
14
+ * </ErrorSummary>
8
15
  */
9
16
  const ErrorSummaryLink = forwardRef(function ErrorSummaryLink({ ...rest }, ref) {
10
17
  return jsx(Link, { ref: ref, "data-color": 'neutral', ...rest });
@@ -1,10 +1,25 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
- import { List } from '../list/index.js';
4
+ import { List as ListComponent } from '../list/index.js';
5
5
 
6
+ /**
7
+ * ErrorSummary list component, used to display a list of errors.
8
+ *
9
+ * @example
10
+ * <ErrorSummary>
11
+ * <ErrorSummary.List>
12
+ * <ErrorSummary.Item>
13
+ * <ErrorSummary.Link href='#'>Error 1</ErrorSummary.Link>
14
+ * </ErrorSummary.Item>
15
+ * <ErrorSummary.Item>
16
+ * <ErrorSummary.Link href='#'>Error 2</ErrorSummary.Link>
17
+ * </ErrorSummary.Item>
18
+ * </ErrorSummary.List>
19
+ * </ErrorSummary>
20
+ */
6
21
  const ErrorSummaryList = forwardRef(function ErrorSummaryList({ ...rest }, ref) {
7
- return jsx(List.Unordered, { ...rest, ref: ref });
22
+ return jsx(ListComponent.Unordered, { ...rest, ref: ref });
8
23
  });
9
24
 
10
25
  export { ErrorSummaryList };
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { ErrorSummary as ErrorSummary$1 } from './error-summary.js';
2
+ import { ErrorSummary } from './error-summary.js';
3
3
  import { ErrorSummaryHeading } from './error-summary-heading.js';
4
4
  import { ErrorSummaryItem } from './error-summary-item.js';
5
5
  import { ErrorSummaryLink } from './error-summary-link.js';
@@ -21,15 +21,15 @@ import { ErrorSummaryList } from './error-summary-list.js';
21
21
  * </ErrorSummary.List>
22
22
  * </ErrorSummary>
23
23
  */
24
- const ErrorSummary = Object.assign(ErrorSummary$1, {
24
+ const ErrorSummaryComponent = Object.assign(ErrorSummary, {
25
25
  Heading: ErrorSummaryHeading,
26
26
  Item: ErrorSummaryItem,
27
27
  List: ErrorSummaryList,
28
28
  Link: ErrorSummaryLink,
29
29
  });
30
- ErrorSummary.Item.displayName = 'ErrorSummary.Item';
31
- ErrorSummary.Heading.displayName = 'ErrorSummary.Heading';
32
- ErrorSummary.List.displayName = 'ErrorSummary.List';
33
- ErrorSummary.Link.displayName = 'ErrorSummary.Link';
30
+ ErrorSummaryComponent.Item.displayName = 'ErrorSummary.Item';
31
+ ErrorSummaryComponent.Heading.displayName = 'ErrorSummary.Heading';
32
+ ErrorSummaryComponent.List.displayName = 'ErrorSummary.List';
33
+ ErrorSummaryComponent.Link.displayName = 'ErrorSummary.Link';
34
34
 
35
- export { ErrorSummary, ErrorSummaryHeading, ErrorSummaryItem, ErrorSummaryLink, ErrorSummaryList };
35
+ export { ErrorSummaryComponent as ErrorSummary, ErrorSummaryHeading, ErrorSummaryItem, ErrorSummaryLink, ErrorSummaryList };
@@ -2,6 +2,12 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
 
5
+ /**
6
+ * Field description component, used to provide additional information below the input.
7
+ *
8
+ * @example
9
+ * <FieldDescription>Additional information</FieldDescription>
10
+ */
5
11
  const FieldDescription = forwardRef(function FieldDescription(rest, ref) {
6
12
  return jsx("div", { "data-field": 'description', ref: ref, ...rest });
7
13
  });
@@ -42,7 +42,7 @@ function fieldObserver(fieldElement) {
42
42
  }
43
43
  }
44
44
  // Connect elements
45
- const describedbyIds = [describedby]; // Keep original aria-describedby
45
+ const describedbyIds = describedby ? describedby.split(' ') : []; // Keep original aria-describedby
46
46
  const inputId = input?.id || uuid;
47
47
  // Reset type counters since we reprocess all elements
48
48
  typeCounter.clear();
@@ -60,10 +60,12 @@ function fieldObserver(fieldElement) {
60
60
  }
61
61
  if (!value)
62
62
  setAttr(el, isLabel(el) ? 'for' : 'id', id); // Ensure we have a value
63
- if (descriptionType === 'validation')
64
- describedbyIds.unshift(el.id); // Validations to the front
65
- else if (descriptionType)
66
- describedbyIds.push(el.id); // Other descriptions to the back
63
+ if (!describedbyIds.includes(el.id)) {
64
+ if (descriptionType === 'validation')
65
+ describedbyIds.unshift(el.id); // Validations to the front
66
+ else if (descriptionType)
67
+ describedbyIds.push(el.id); // Other descriptions to the back
68
+ }
67
69
  }
68
70
  setAttr(input, 'id', inputId);
69
71
  setAttr(input, 'aria-describedby', describedbyIds.join(' ').trim());
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Field as Field$1 } from './field.js';
2
+ import { Field } from './field.js';
3
3
  import { FieldAffix, FieldAffixes } from './field-affix.js';
4
4
  import { FieldCounter } from './field-counter.js';
5
5
  import { FieldDescription } from './field-description.js';
@@ -15,15 +15,15 @@ import { FieldDescription } from './field-description.js';
15
15
  * <ValidationMessage>Feilmelding</ValidationMessage>
16
16
  * </Field>
17
17
  */
18
- const Field = Object.assign(Field$1, {
18
+ const FieldComponent = Object.assign(Field, {
19
19
  Description: FieldDescription,
20
20
  Affixes: FieldAffixes,
21
21
  Affix: FieldAffix,
22
22
  Counter: FieldCounter,
23
23
  });
24
- Field.Description.displayName = 'Field.Description';
25
- Field.Affixes.displayName = 'Field.Affixes';
26
- Field.Affix.displayName = 'Field.Affix';
27
- Field.Counter.displayName = 'Field.Counter';
24
+ FieldComponent.Description.displayName = 'Field.Description';
25
+ FieldComponent.Affixes.displayName = 'Field.Affixes';
26
+ FieldComponent.Affix.displayName = 'Field.Affix';
27
+ FieldComponent.Counter.displayName = 'Field.Counter';
28
28
 
29
- export { Field, FieldAffix, FieldAffixes, FieldCounter, FieldDescription };
29
+ export { FieldComponent as Field, FieldAffix, FieldAffixes, FieldCounter, FieldDescription };
@@ -7,9 +7,9 @@ import { Paragraph } from '../paragraph/paragraph.js';
7
7
  * FieldsetDescription component, used to display a description for a fieldset.
8
8
  *
9
9
  * @example
10
- * <Fieldset.Description>
10
+ * <FieldsetDescription>
11
11
  * Gi en kort beskrivelse i begge feltene
12
- * </Fieldset.Description>
12
+ * </FieldsetDescription>
13
13
  */
14
14
  const FieldsetDescription = forwardRef(function FieldsetDescription(rest, ref) {
15
15
  return jsx(Paragraph, { ref: ref, ...rest });
@@ -7,7 +7,7 @@ import { Label } from '../label/label.js';
7
7
  * FieldsetLegend component, used to display a legend for a fieldset.
8
8
  *
9
9
  * @example
10
- * <Fieldset.Legend>Skriv inn dine svar</Fieldset.Legend>
10
+ * <FieldsetLegend>Skriv inn dine svar</FieldsetLegend>
11
11
  */
12
12
  const FieldsetLegend = forwardRef(function FieldsetLegend(rest, ref) {
13
13
  return (jsx(Label, { asChild: true, children: jsx("legend", { ref: ref, ...rest }) }));
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Fieldset as Fieldset$1 } from './fieldset.js';
2
+ import { Fieldset } from './fieldset.js';
3
3
  import { FieldsetDescription } from './fieldset-description.js';
4
4
  import { FieldsetLegend } from './fieldset-legend.js';
5
5
 
@@ -18,11 +18,11 @@ import { FieldsetLegend } from './fieldset-legend.js';
18
18
  * </Field>
19
19
  * </Fieldset>
20
20
  */
21
- const Fieldset = Object.assign(Fieldset$1, {
21
+ const FieldsetComponent = Object.assign(Fieldset, {
22
22
  Legend: FieldsetLegend,
23
23
  Description: FieldsetDescription,
24
24
  });
25
- Fieldset.Legend.displayName = 'Fieldset.Legend';
26
- Fieldset.Description.displayName = 'Fieldset.Description';
25
+ FieldsetComponent.Legend.displayName = 'Fieldset.Legend';
26
+ FieldsetComponent.Description.displayName = 'Fieldset.Description';
27
27
 
28
- export { Fieldset, FieldsetDescription, FieldsetLegend };
28
+ export { FieldsetComponent as Fieldset, FieldsetDescription, FieldsetLegend };
@@ -2,13 +2,13 @@
2
2
  import { ListItem } from './list-item.js';
3
3
  import { ListUnordered, ListOrdered } from './lists.js';
4
4
 
5
- const List = {
5
+ const ListComponent = {
6
6
  Item: ListItem,
7
7
  Ordered: ListOrdered,
8
8
  Unordered: ListUnordered,
9
9
  };
10
- List.Item.displayName = 'List.Item';
11
- List.Ordered.displayName = 'List.Ordered';
12
- List.Unordered.displayName = 'List.Unordered';
10
+ ListComponent.Item.displayName = 'List.Item';
11
+ ListComponent.Ordered.displayName = 'List.Ordered';
12
+ ListComponent.Unordered.displayName = 'List.Unordered';
13
13
 
14
- export { List, ListItem, ListOrdered, ListUnordered };
14
+ export { ListComponent as List, ListItem, ListOrdered, ListUnordered };
@@ -3,6 +3,12 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { Slot } from '@radix-ui/react-slot';
4
4
  import { forwardRef } from 'react';
5
5
 
6
+ /**
7
+ * Component that provides a list item.
8
+ *
9
+ * @example
10
+ * <List.Item>Item</List.Item>
11
+ */
6
12
  const ListItem = forwardRef(function ListItem({ asChild, ...rest }, ref) {
7
13
  const Component = asChild ? Slot : 'li';
8
14
  return jsx(Component, { ...rest, ref: ref });
@@ -13,10 +13,10 @@ const render = (tagName, { asChild, className, ...rest }, ref) => {
13
13
  * Renders a native `ul` element.
14
14
  *
15
15
  * @example
16
- * <List.Unordered>
17
- * <List.Item>Item 1</List.Item>
18
- * <List.Item>Item 2</List.Item>
19
- * </List.Unordered>
16
+ * <ListUnordered>
17
+ * <ListItem>Item 1</ListItem>
18
+ * <ListItem>Item 2</ListItem>
19
+ * </ListUnordered>
20
20
  */
21
21
  const ListUnordered = forwardRef(function ListUnordered(props, ref) {
22
22
  return render('ul', props, ref);
@@ -26,10 +26,10 @@ const ListUnordered = forwardRef(function ListUnordered(props, ref) {
26
26
  * Renders a native `ol` element.
27
27
  *
28
28
  * @example
29
- * <List.Ordered>
30
- * <List.Item>Item 1</List.Item>
31
- * <List.Item>Item 2</List.Item>
32
- * </List.Ordered>
29
+ * <ListOrdered>
30
+ * <ListItem>Item 1</ListItem>
31
+ * <ListItem>Item 2</ListItem>
32
+ * </ListOrdered>
33
33
  */
34
34
  const ListOrdered = forwardRef(function ListOrdered(props, ref) {
35
35
  return render('ol', props, ref);
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Pagination as Pagination$1 } from './pagination.js';
2
+ import { Pagination } from './pagination.js';
3
3
  import { PaginationButton } from './pagination-button.js';
4
4
  import { PaginationItem } from './pagination-item.js';
5
5
  import { PaginationList } from './pagination-list.js';
@@ -22,13 +22,13 @@ import { PaginationList } from './pagination-list.js';
22
22
  * </Pagination.List>
23
23
  * </Pagination>
24
24
  */
25
- const Pagination = Object.assign(Pagination$1, {
25
+ const PaginationComponent = Object.assign(Pagination, {
26
26
  List: PaginationList,
27
27
  Item: PaginationItem,
28
28
  Button: PaginationButton,
29
29
  });
30
- Pagination.List.displayName = 'Pagination.List';
31
- Pagination.Item.displayName = 'Pagination.Item';
32
- Pagination.Button.displayName = 'Pagination.Button';
30
+ PaginationComponent.List.displayName = 'Pagination.List';
31
+ PaginationComponent.Item.displayName = 'Pagination.Item';
32
+ PaginationComponent.Button.displayName = 'Pagination.Button';
33
33
 
34
- export { Pagination, PaginationButton, PaginationItem, PaginationList };
34
+ export { PaginationComponent as Pagination, PaginationButton, PaginationItem, PaginationList };
@@ -7,9 +7,9 @@ import { Button } from '../button/button.js';
7
7
  * PaginationButton component, use within a Pagination.Item.
8
8
  *
9
9
  * @example
10
- * <Pagination.Item>
11
- * <Pagination.Button aria-label='Forrige side'>Forrige</Pagination.Button>
12
- * </Pagination.Item>
10
+ * <PaginationItem>
11
+ * <PaginationButton aria-label='Forrige side'>Forrige</PaginationButton>
12
+ * </PaginationItem>
13
13
  */
14
14
  const PaginationButton = forwardRef(function PaginationButton(rest, ref) {
15
15
  return jsx(Button, { ref: ref, ...rest });