@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
@@ -7,11 +7,11 @@ import { forwardRef } from 'react';
7
7
  * PaginationItem component, use within a Pagination.List.
8
8
  *
9
9
  * @example
10
- * <Pagination.List>
11
- * <Pagination.Item>
12
- * <Pagination.Button aria-label='Forrige side'>Forrige</Pagination.Button>
13
- * </Pagination.Item>
14
- * </Pagination.List>
10
+ * <PaginationList>
11
+ * <PaginationItem>
12
+ * <PaginationButton aria-label='Forrige side'>Forrige</PaginationButton>
13
+ * </PaginationItem>
14
+ * </PaginationList>
15
15
  */
16
16
  const PaginationItem = forwardRef(function PaginationItem({ asChild, className, ...rest }, ref) {
17
17
  const Component = asChild ? Slot : 'li';
@@ -8,11 +8,11 @@ import { forwardRef } from 'react';
8
8
  *
9
9
  * @example
10
10
  * <Pagination>
11
- * <Pagination.List>
12
- * <Pagination.Item>
13
- * <Pagination.Button aria-label='Forrige side'>Forrige</Pagination.Button>
14
- * </Pagination.Item>
15
- * </Pagination.List>
11
+ * <PaginationList>
12
+ * <PaginationItem>
13
+ * <PaginationButton aria-label='Forrige side'>Forrige</PaginationButton>
14
+ * </PaginationItem>
15
+ * </PaginationList>
16
16
  * </Pagination>
17
17
  */
18
18
  const PaginationList = forwardRef(function PaginationList({ asChild, ...rest }, ref) {
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Popover as Popover$1 } from './popover.js';
2
+ import { Popover } from './popover.js';
3
3
  import { PopoverTrigger } from './popover-trigger.js';
4
4
  import { PopoverTriggerContext } from './popover-trigger-context.js';
5
5
 
@@ -14,11 +14,11 @@ import { PopoverTriggerContext } from './popover-trigger-context.js';
14
14
  * </Popover>
15
15
  * </Popover.TriggerContext>
16
16
  */
17
- const Popover = Object.assign(Popover$1, {
17
+ const PopoverComponent = Object.assign(Popover, {
18
18
  TriggerContext: PopoverTriggerContext,
19
19
  Trigger: PopoverTrigger,
20
20
  });
21
- Popover.TriggerContext.displayName = 'Popover.TriggerContext';
22
- Popover.Trigger.displayName = 'Popover.Trigger';
21
+ PopoverComponent.TriggerContext.displayName = 'Popover.TriggerContext';
22
+ PopoverComponent.Trigger.displayName = 'Popover.Trigger';
23
23
 
24
- export { Popover, PopoverTrigger, PopoverTriggerContext };
24
+ export { PopoverComponent as Popover, PopoverTrigger, PopoverTriggerContext };
@@ -6,12 +6,12 @@ import { createContext, useId, useState } from 'react';
6
6
  * PopoverTriggerContext component, use to wrap a Popover.Trigger and Popover.
7
7
  *
8
8
  * @example
9
- * <Popover.TriggerContext>
10
- * <Popover.Trigger>Open Popover</Popover.Trigger>
9
+ * <PopoverTriggerContext>
10
+ * <PopoverTrigger>Open Popover</PopoverTrigger>
11
11
  * <Popover>
12
12
  * Content
13
13
  * </Popover>
14
- * </Popover.TriggerContext>
14
+ * </PopoverTriggerContext>
15
15
  */
16
16
  const PopoverTriggerContext = ({ children, }) => {
17
17
  const randomPopoverId = useId();
@@ -9,22 +9,22 @@ import { Context } from './popover-trigger-context.js';
9
9
  * PopoverTrigger component, used to trigger a popover.
10
10
  *
11
11
  * @example
12
- * <Popover.TriggerContext>
13
- * <Popover.Trigger>Open Popover</Popover.Trigger>
12
+ * <PopoverTriggerContext>
13
+ * <PopoverTrigger>Open Popover</PopoverTrigger>
14
14
  * <Popover>
15
15
  * Content
16
16
  * </Popover>
17
- * </Popover.TriggerContext>
17
+ * </PopoverTriggerContext>
18
18
  *
19
19
  * @example inline
20
- * <Popover.TriggerContext>
20
+ * <PopoverTriggerContext>
21
21
  * <Paragraph>
22
- * We can use it <Popover.Trigger inline={true}>inline</Popover.Trigger>.
22
+ * We can use it <PopoverTrigger inline={true}>inline</PopoverTrigger>.
23
23
  * </Paragraph>
24
24
  * <Popover>
25
25
  * Content
26
26
  * </Popover>
27
- * </Popover.TriggerContext>
27
+ * </PopoverTriggerContext>
28
28
  */
29
29
  const PopoverTrigger = forwardRef(function PopoverTrigger({ id, inline, asChild, ...rest }, ref) {
30
30
  const { popoverId } = useContext(Context);
@@ -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
  * <Radio label="I agree" value="agree" />
14
14
  */
15
15
  const Radio = forwardRef(function Radio({ '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: 'radio', 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: 'radio', 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 { Radio };
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Search as Search$1 } from './search.js';
2
+ import { Search } from './search.js';
3
3
  import { SearchButton } from './search-button.js';
4
4
  import { SearchClear } from './search-clear.js';
5
5
  import { SearchInput } from './search-input.js';
@@ -20,13 +20,13 @@ import { SearchInput } from './search-input.js';
20
20
  * <Search.Clear />
21
21
  * </Search>
22
22
  */
23
- const Search = Object.assign(Search$1, {
23
+ const SearchComponent = Object.assign(Search, {
24
24
  Clear: SearchClear,
25
25
  Button: SearchButton,
26
26
  Input: SearchInput,
27
27
  });
28
- Search.Clear.displayName = 'Search.Clear';
29
- Search.Button.displayName = 'Search.Button';
30
- Search.Input.displayName = 'Search.Input';
28
+ SearchComponent.Clear.displayName = 'Search.Clear';
29
+ SearchComponent.Button.displayName = 'Search.Button';
30
+ SearchComponent.Input.displayName = 'Search.Input';
31
31
 
32
- export { Search, SearchButton, SearchClear, SearchInput };
32
+ export { SearchComponent as Search, SearchButton, SearchClear, SearchInput };
@@ -8,8 +8,8 @@ import { Button } from '../button/button.js';
8
8
  *
9
9
  * @example
10
10
  * <Search>
11
- * <Search.Input aria-label='Søk' />
12
- * <Search.Button>Søk</Search.Button>
11
+ * <SearchInput aria-label='Søk' />
12
+ * <SearchButton>Søk</SearchButton>
13
13
  * </Search>
14
14
  */
15
15
  const SearchButton = forwardRef(function SearchButton({ children = 'Søk', ...rest }, ref) {
@@ -9,8 +9,8 @@ import { setReactInputValue } from '../Combobox/utilities.js';
9
9
  *
10
10
  * @example
11
11
  * <Search>
12
- * <Search.Input aria-label='Søk' />
13
- * <Search.Clear />
12
+ * <SearchInput aria-label='Søk' />
13
+ * <SearchClear />
14
14
  * </Search>
15
15
  */
16
16
  const SearchClear = forwardRef(function SearchClear({ 'aria-label': label = 'Tøm', onClick, ...rest }, ref) {
@@ -8,7 +8,7 @@ import { Input } from '../input/input.js';
8
8
  *
9
9
  * @example
10
10
  * <Search>
11
- * <Search.Input aria-label='Søk' />
11
+ * <SearchInput aria-label='Søk' />
12
12
  * </Search>
13
13
  */
14
14
  const SearchInput = forwardRef(function SearchInput({ ...rest }, ref) {
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Select as Select$1 } from './select.js';
2
+ import { Select } from './select.js';
3
3
  import { SelectOptgroup } from './select-optgroup.js';
4
4
  import { SelectOption } from './select-option.js';
5
5
 
@@ -12,11 +12,11 @@ import { SelectOption } from './select-option.js';
12
12
  * <Select.Option value='2'>Option 2</Select.Option>
13
13
  * </Select>
14
14
  */
15
- const Select = Object.assign(Select$1, {
15
+ const SelectComponent = Object.assign(Select, {
16
16
  Option: SelectOption,
17
17
  Optgroup: SelectOptgroup,
18
18
  });
19
- Select.Option.displayName = 'Select.Option';
20
- Select.Optgroup.displayName = 'Select.Optgroup';
19
+ SelectComponent.Option.displayName = 'Select.Option';
20
+ SelectComponent.Optgroup.displayName = 'Select.Optgroup';
21
21
 
22
- export { Select, SelectOptgroup, SelectOption };
22
+ export { SelectComponent as Select, SelectOptgroup, SelectOption };
@@ -8,10 +8,10 @@ import { forwardRef } from 'react';
8
8
  *
9
9
  * @example
10
10
  * <Select>
11
- * <Select.Optgroup label='Group 1'>
12
- * <Select.Option value='1'>Option 1</Select.Option>
13
- * <Select.Option value='2'>Option 2</Select.Option>
14
- * </Select.Optgroup>
11
+ * <SelectOptgroup label='Group 1'>
12
+ * <SelectOption value='1'>Option 1</SelectOption>
13
+ * <SelectOption value='2'>Option 2</SelectOption>
14
+ * </SelectOptgroup>
15
15
  * </Select>
16
16
  */
17
17
  const SelectOptgroup = forwardRef(function SelectOptgroup({ asChild, ...rest }, ref) {
@@ -8,8 +8,8 @@ import { forwardRef } from 'react';
8
8
  *
9
9
  * @example
10
10
  * <Select>
11
- * <Select.Option value='1'>Option 1</Select.Option>
12
- * <Select.Option value='2'>Option 2</Select.Option>
11
+ * <SelectOption value='1'>Option 1</SelectOption>
12
+ * <SelectOption value='2'>Option 2</SelectOption>
13
13
  * </Select>
14
14
  */
15
15
  const SelectOption = forwardRef(function SelectOption({ asChild, ...rest }, ref) {
@@ -1,12 +1,10 @@
1
1
  'use client';
2
- import { jsx, Fragment } from 'react/jsx-runtime';
3
- import { useContext } from 'react';
4
- import { Chip } from '../chip/index.js';
5
- import { SuggestionContext } from './suggestion.js';
6
-
7
- const SuggestionChips = ({ render = ({ label }) => label, }) => {
8
- const { selectedItems = [] } = useContext(SuggestionContext);
9
- return (jsx(Fragment, { children: selectedItems.map((item) => (jsx(Chip.Removable, { value: item.value, asChild: true, children: jsx("data", { children: render(item) }) }, item.value))) }));
2
+ /**
3
+ * @deprecated Suggestion.Chips is deprecated, use `renderSelected` on `Suggestion` instead
4
+ */
5
+ const SuggestionChips = () => {
6
+ console.warn('Suggestion: Using <Suggestion.Chips> is deprecated - please remove from your code.');
7
+ return null;
10
8
  };
11
9
  SuggestionChips.displayName = 'SuggestionChips';
12
10
 
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { forwardRef, useContext, useEffect, version } from 'react';
3
+ import { forwardRef, useContext, useEffect } from 'react';
4
4
  import { Input } from '../input/input.js';
5
5
  import { SuggestionContext } from './suggestion.js';
6
6
 
@@ -16,20 +16,17 @@ import { SuggestionContext } from './suggestion.js';
16
16
  * </Suggestion>
17
17
  */
18
18
  const SuggestionInput = forwardRef(function SuggestionList({ value, onInput, onChange, ...rest }, ref) {
19
- const { listId, handleFilter } = useContext(SuggestionContext);
19
+ const { handleFilter } = useContext(SuggestionContext);
20
20
  useEffect(handleFilter, [value]); // Filter if controlled value
21
21
  if (onChange)
22
22
  console.warn('SuggestionInput: Avoid using onChange, as Suggestion controls the Input. Use onValueChange on Suggest instead, or onInput if fetching API results');
23
23
  if (value)
24
24
  console.warn('SuggestionInput: Avoid using value, as Suggestion controls the Input. Use value on Suggest instead.');
25
- const popoverProps = Object.assign({
26
- [version.startsWith('19') ? 'popoverTarget' : 'popovertarget']: listId,
27
- }, rest);
28
25
  return (jsx(Input, { placeholder: '' // We need an empty placeholder for the clear button to be able to show/hide
29
26
  , ref: ref, onInput: (event) => {
30
27
  onInput?.(event); // Should run first
31
28
  handleFilter?.(); // Filter if uncontrolled value
32
- }, ...popoverProps }));
29
+ }, ...rest }));
33
30
  });
34
31
 
35
32
  export { SuggestionInput };
@@ -1,10 +1,9 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { forwardRef, useContext, useRef, useEffect } from 'react';
3
+ import { forwardRef, useContext, useEffect } from 'react';
4
4
  import '@u-elements/u-datalist';
5
5
  import { autoUpdate, computePosition } from '@floating-ui/dom';
6
6
  import { SuggestionContext } from './suggestion.js';
7
- import { useMergeRefs } from '../../utilities/hooks/use-merge-refs/use-merge-refs.js';
8
7
 
9
8
  /**
10
9
  * Component that provides a Suggestion list.
@@ -18,17 +17,12 @@ import { useMergeRefs } from '../../utilities/hooks/use-merge-refs/use-merge-ref
18
17
  * </Suggestion>
19
18
  */
20
19
  const SuggestionList = forwardRef(function SuggestionList({ singular = '%d forslag', plural = '%d forslag', className, id, ...rest }, ref) {
21
- const { listId, setListId, handleFilter } = useContext(SuggestionContext);
22
- const listRef = useRef(null);
23
- const mergedRefs = useMergeRefs([ref, listRef]);
20
+ const { handleFilter, uComboboxRef } = useContext(SuggestionContext);
24
21
  useEffect(handleFilter); // Must run on every render
25
- useEffect(() => {
26
- id && setListId(id);
27
- }, [id]);
28
22
  // Position with floating-ui
29
23
  useEffect(() => {
30
- const list = listRef.current;
31
- const trigger = document.querySelector(`[popovertarget="${list?.id}"]`);
24
+ const trigger = uComboboxRef?.current?.control;
25
+ const list = uComboboxRef?.current?.list;
32
26
  if (list && trigger) {
33
27
  return autoUpdate(trigger, list, () => {
34
28
  computePosition(trigger, list, {
@@ -40,8 +34,8 @@ const SuggestionList = forwardRef(function SuggestionList({ singular = '%d forsl
40
34
  });
41
35
  });
42
36
  }
43
- }, [listId]);
44
- return (jsx("u-datalist", { "data-nofilter": true, "data-sr-singular": singular, "data-sr-plural": plural, class: className, ref: mergedRefs, id: listId, popover: 'manual', ...rest }));
37
+ }, []);
38
+ return (jsx("u-datalist", { "data-nofilter": true, "data-sr-singular": singular, "data-sr-plural": plural, class: className, ref: ref, popover: 'manual', ...rest }));
45
39
  });
46
40
  const triggerWidth = {
47
41
  name: 'TriggerWidth',
@@ -2,6 +2,18 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
 
5
+ /**
6
+ * A component for rendering individual options in the Suggestion list.
7
+ *
8
+ * @example
9
+ * <Suggestion>
10
+ * <Suggestion.Input />
11
+ * <Suggestion.List>
12
+ * <Suggestion.Option value='Option 1'>Option 1</Suggestion.Option>
13
+ * <Suggestion.Option value='Option 2'>Option 2</Suggestion.Option>
14
+ * </Suggestion.List>
15
+ * </Suggestion>
16
+ */
5
17
  const SuggestionOption = forwardRef(function SuggestionOption({ className, ...rest }, ref) {
6
18
  return (jsx("u-option", { class: className, ref: ref, ...rest }));
7
19
  });
@@ -3,10 +3,10 @@ import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import { forwardRef, createContext, useRef, useId, useState, useEffect, useCallback } from 'react';
4
4
  import '@u-elements/u-combobox';
5
5
  import cl from 'clsx/lite';
6
+ import { Chip as ChipComponent } from '../chip/index.js';
6
7
  import { useMergeRefs } from '../../utilities/hooks/use-merge-refs/use-merge-refs.js';
7
8
 
8
9
  const SuggestionContext = createContext({
9
- setListId: () => undefined,
10
10
  handleFilter: () => undefined,
11
11
  });
12
12
  const text = (el) => el.textContent?.trim() || '';
@@ -27,21 +27,26 @@ const nextItems = (data, prev, multiple) => {
27
27
  : [...sanitizeItems(prev), item];
28
28
  };
29
29
  const defaultFilter = ({ label, input }) => label.toLowerCase().includes(input.value.trim().toLowerCase());
30
- const Suggestion = forwardRef(function Suggestion({ children, className, creatable = false, defaultValue, filter = true, multiple = false, name, onValueChange, value, ...rest }, ref) {
30
+ const deprecate = (from, to) => console.warn(`Suggestion: Using "${from}" is deprecated, please use "${to}" instead.`);
31
+ const Suggestion = forwardRef(function Suggestion({ children, className, creatable = false, defaultSelected: _defaultSelected, defaultValue, filter = true, multiple = false, name, onBeforeMatch, onSelectedChange: _onSelectedChange, onValueChange, renderSelected = ({ label }) => label, selected: _selected, value, ...rest }, ref) {
32
+ // For backwards compatibility:
33
+ const selected = _selected ?? value;
34
+ const defaultSelected = _defaultSelected ?? defaultValue;
35
+ const onSelectedChange = _onSelectedChange ?? onValueChange;
36
+ if (value)
37
+ deprecate('value', 'selected');
38
+ if (defaultValue)
39
+ deprecate('defaultValue', 'defaultSelected');
40
+ if (onValueChange)
41
+ deprecate('onValueChange', 'onSelectedChange');
31
42
  const uComboboxRef = useRef(null);
32
43
  const genId = useId();
33
44
  const selectId = rest.id ? `${rest.id}-select` : genId;
34
- const isContolled = value !== undefined;
45
+ const isControlled = selected !== undefined;
35
46
  const mergedRefs = useMergeRefs([ref, uComboboxRef]);
36
47
  const [isEmpty, setIsEmpty] = useState(false);
37
- const [selectedItems, setSelectedItems] = useState(sanitizeItems(defaultValue || value));
38
- const [listId, setListId] = useState(rest.id ? `${rest.id}-list` : `${genId}-list`);
39
- // Update if controlled values
40
- const prevControlled = useRef(value);
41
- if (value !== prevControlled.current) {
42
- prevControlled.current = value;
43
- setSelectedItems(sanitizeItems(prevControlled.current));
44
- }
48
+ const [defaultItems, setDefaultItems] = useState(sanitizeItems(defaultSelected));
49
+ const selectedItems = selected ? sanitizeItems(selected) : defaultItems;
45
50
  /**
46
51
  * Listerners and handling of adding/removing
47
52
  */
@@ -51,14 +56,21 @@ const Suggestion = forwardRef(function Suggestion({ children, className, creatab
51
56
  event.preventDefault();
52
57
  const multiple = combobox?.multiple;
53
58
  const data = event.detail;
54
- if (isContolled)
55
- onValueChange?.(nextItems(data, prevControlled.current, multiple));
59
+ if (isControlled)
60
+ onSelectedChange?.(nextItems(data, selectedItems, multiple));
56
61
  else
57
- setSelectedItems((prevItems) => nextItems(data, prevItems, multiple));
62
+ setDefaultItems(nextItems(data, selectedItems, multiple));
58
63
  };
59
64
  combobox?.addEventListener('beforechange', beforeChange);
60
65
  return () => combobox?.removeEventListener('beforechange', beforeChange);
61
- }, [isContolled, setSelectedItems]);
66
+ }, [selectedItems, isControlled]);
67
+ // Before match event listener
68
+ useEffect(() => {
69
+ const combobox = uComboboxRef.current;
70
+ const beforeMatch = (e) => onBeforeMatch?.(e);
71
+ combobox?.addEventListener('beforematch', beforeMatch);
72
+ return () => combobox?.removeEventListener('beforematch', beforeMatch);
73
+ }, [onBeforeMatch]);
62
74
  const handleFilter = useCallback(() => {
63
75
  const { control: input, options = [] } = uComboboxRef?.current || {};
64
76
  const filterFn = filter === true ? defaultFilter : filter;
@@ -80,7 +92,7 @@ const Suggestion = forwardRef(function Suggestion({ children, className, creatab
80
92
  }
81
93
  setIsEmpty(index === disabled);
82
94
  }, [filter]);
83
- return (jsx(SuggestionContext.Provider, { value: { isEmpty, selectedItems, listId, setListId, handleFilter }, children: jsxs("u-combobox", { "data-multiple": multiple || undefined, "data-creatable": creatable || undefined, class: cl('ds-suggestion', className), ref: mergedRefs, ...rest, children: [children, !!name && (jsx("select", { name: name, multiple: true, hidden: true, id: selectId }))] }) }));
95
+ return (jsx(SuggestionContext.Provider, { value: { isEmpty, handleFilter, uComboboxRef }, children: jsxs("u-combobox", { "data-multiple": multiple || undefined, "data-creatable": creatable || undefined, class: cl('ds-suggestion', className), ref: mergedRefs, ...rest, children: [selectedItems.map((item) => (jsx(ChipComponent.Removable, { value: item.value, asChild: true, children: jsx("data", { children: renderSelected(item) }) }, item.value))), children, !!name && (jsx("select", { name: name, multiple: true, hidden: true, id: selectId }))] }) }));
84
96
  });
85
97
 
86
98
  export { Suggestion, SuggestionContext };
@@ -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
 
@@ -12,7 +12,7 @@ import { Label } from '../label/label.js';
12
12
  * <Switch label="I agree" value="agree" />
13
13
  */
14
14
  const Switch = forwardRef(function Switch({ 'data-size': size, children, className, description, label, position, style, ...rest }, ref) {
15
- return (jsxs(Field, { className: className, "data-position": position, "data-size": size, style: style, children: [jsx(Input, { type: 'checkbox', role: 'switch', ref: ref, ...rest }), !!label && jsx(Label, { weight: 'regular', children: label }), !!description && jsx("div", { "data-field": 'description', children: description })] }));
15
+ return (jsxs(FieldComponent, { className: className, "data-position": position, "data-size": size, style: style, children: [jsx(Input, { type: 'checkbox', role: 'switch', ref: ref, ...rest }), !!label && jsx(Label, { weight: 'regular', children: label }), !!description && jsx("div", { "data-field": 'description', children: description })] }));
16
16
  });
17
17
 
18
18
  export { Switch };
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Table as Table$1 } from './table.js';
2
+ import { Table } from './table.js';
3
3
  import { TableBody } from './table-body.js';
4
4
  import { TableCell } from './table-cell.js';
5
5
  import { TableFoot } from './table-foot.js';
@@ -32,7 +32,7 @@ import { TableRow } from './table-row.js';
32
32
  * </Table.Foot>
33
33
  * </Table>
34
34
  */
35
- const Table = Object.assign(Table$1, {
35
+ const TableComponent = Object.assign(Table, {
36
36
  Head: TableHead,
37
37
  Body: TableBody,
38
38
  Row: TableRow,
@@ -40,12 +40,12 @@ const Table = Object.assign(Table$1, {
40
40
  HeaderCell: TableHeaderCell,
41
41
  Foot: TableFoot,
42
42
  });
43
- Table.displayName = 'Table';
44
- Table.Head.displayName = 'Table.Head';
45
- Table.Body.displayName = 'Table.Body';
46
- Table.Row.displayName = 'Table.Row';
47
- Table.Cell.displayName = 'Table.Cell';
48
- Table.HeaderCell.displayName = 'Table.HeaderCell';
49
- Table.Foot.displayName = 'Table.Foot';
43
+ TableComponent.displayName = 'Table';
44
+ TableComponent.Head.displayName = 'Table.Head';
45
+ TableComponent.Body.displayName = 'Table.Body';
46
+ TableComponent.Row.displayName = 'Table.Row';
47
+ TableComponent.Cell.displayName = 'Table.Cell';
48
+ TableComponent.HeaderCell.displayName = 'Table.HeaderCell';
49
+ TableComponent.Foot.displayName = 'Table.Foot';
50
50
 
51
- export { Table, TableBody, TableCell, TableFoot, TableHead, TableHeaderCell, TableRow };
51
+ export { TableComponent as Table, TableBody, TableCell, TableFoot, TableHead, TableHeaderCell, TableRow };
@@ -6,12 +6,12 @@ import { forwardRef } from 'react';
6
6
  * TableBody component, used to display the body of a table. Renders a native HTML tbody element.
7
7
  *
8
8
  * @example
9
- * <Table.Body>
10
- * <Table.Row>
11
- * <Table.Cell>John</Table.Cell>
12
- * <Table.Cell>25</Table.Cell>
13
- * </Table.Row>
14
- * </Table.Body>
9
+ * <TableBody>
10
+ * <TableRow>
11
+ * <TableCell>John</TableCell>
12
+ * <TableCell>25</TableCell>
13
+ * </TableRow>
14
+ * </TableBody>
15
15
  */
16
16
  const TableBody = forwardRef(function TableBody(rest, ref) {
17
17
  return jsx("tbody", { ref: ref, ...rest });
@@ -6,7 +6,7 @@ import { forwardRef } from 'react';
6
6
  * TableCell component, used to display the cells of a table. Renders a native HTML td element.
7
7
  *
8
8
  * @example
9
- * <Table.Cell>John</Table.Cell>
9
+ * <TableCell>John</TableCell>
10
10
  */
11
11
  const TableCell = forwardRef(function TableCell(rest, ref) {
12
12
  return jsx("td", { ref: ref, ...rest });
@@ -6,12 +6,12 @@ import { forwardRef } from 'react';
6
6
  * TableFoot component, used to display the footer of a table. Renders a native HTML tfoot element.
7
7
  *
8
8
  * @example
9
- * <Table.Foot>
10
- * <Table.Row>
11
- * <Table.Cell>Total</Table.Cell>
12
- * <Table.Cell>2</Table.Cell>
13
- * </Table.Row>
14
- * </Table.Foot>
9
+ * <TableFoot>
10
+ * <TableRow>
11
+ * <TableCell>Total</TableCell>
12
+ * <TableCell>2</TableCell>
13
+ * </TableRow>
14
+ * </TableFoot>
15
15
  */
16
16
  const TableFoot = forwardRef(function TableFoot(rest, ref) {
17
17
  return jsx("tfoot", { ref: ref, ...rest });
@@ -6,12 +6,12 @@ import { forwardRef } from 'react';
6
6
  * TableHead component, used to display the header of a table. Renders a native HTML thead element.
7
7
  *
8
8
  * @example
9
- * <Table.Head>
10
- * <Table.Row>
11
- * <Table.HeaderCell>Name</Table.HeaderCell>
12
- * <Table.HeaderCell>Age</Table.HeaderCell>
13
- * </Table.Row>
14
- * </Table.Head>
9
+ * <TableHead>
10
+ * <TableRow>
11
+ * <TableHeaderCell>Name</TableHeaderCell>
12
+ * <TableHeaderCell>Age</TableHeaderCell>
13
+ * </TableRow>
14
+ * </TableHead>
15
15
  */
16
16
  const TableHead = forwardRef(function TableHead(rest, ref) {
17
17
  return jsx("thead", { ref: ref, ...rest });
@@ -6,7 +6,7 @@ import { forwardRef } from 'react';
6
6
  * TableHeaderCell component, used to display the header cells of a table. Renders a native HTML th element.
7
7
  *
8
8
  * @example
9
- * <Table.HeaderCell>Name</Table.HeaderCell>
9
+ * <TableHeaderCell>Name</TableHeaderCell>
10
10
  */
11
11
  const TableHeaderCell = forwardRef(function TableHeaderCell({ sort, children, ...rest }, ref) {
12
12
  return (jsx("th", { "aria-sort": sort, ref: ref, ...rest, children: sort ? jsx("button", { type: 'button', children: children }) : children }));
@@ -6,10 +6,10 @@ import { forwardRef } from 'react';
6
6
  * TableRow component, used to display the rows of a table. Renders a native HTML tr element.
7
7
  *
8
8
  * @example
9
- * <Table.Row>
10
- * <Table.Cell>John</Table.Cell>
11
- * <Table.Cell>25</Table.Cell>
12
- * </Table.Row>
9
+ * <TableRow>
10
+ * <TableCell>John</TableCell>
11
+ * <TableCell>25</TableCell>
12
+ * </TableRow>
13
13
  */
14
14
  const TableRow = forwardRef(function TableRow(rest, ref) {
15
15
  return jsx("tr", { ref: ref, ...rest });
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { Tabs as Tabs$1 } from './tabs.js';
2
+ import { Tabs } from './tabs.js';
3
3
  import { TabsList } from './tabs-list.js';
4
4
  import { TabsPanel } from './tabs-panel.js';
5
5
  import { TabsTab } from './tabs-tab.js';
@@ -19,13 +19,13 @@ import { TabsTab } from './tabs-tab.js';
19
19
  * <Tabs.Panel value='3'>content 3</Tabs.Panel>
20
20
  * </Tabs>
21
21
  */
22
- const Tabs = Object.assign(Tabs$1, {
22
+ const TabsComponent = Object.assign(Tabs, {
23
23
  List: TabsList,
24
24
  Tab: TabsTab,
25
25
  Panel: TabsPanel,
26
26
  });
27
- Tabs.Tab.displayName = 'Tabs.Tab';
28
- Tabs.List.displayName = 'Tabs.List';
29
- Tabs.Panel.displayName = 'Tabs.Panel';
27
+ TabsComponent.Tab.displayName = 'Tabs.Tab';
28
+ TabsComponent.List.displayName = 'Tabs.List';
29
+ TabsComponent.Panel.displayName = 'Tabs.Panel';
30
30
 
31
- export { Tabs, TabsList, TabsPanel, TabsTab };
31
+ export { TabsComponent as Tabs, TabsList, TabsPanel, TabsTab };
@@ -8,10 +8,10 @@ import { Context } from './tabs.js';
8
8
  * The container for all `Tab` components.
9
9
  *
10
10
  * @example
11
- * <Tabs.List>
12
- * <Tabs.Tab value='1'>Tab 1</Tabs.Tab>
13
- * <Tabs.Tab value='2'>Tab 2</Tabs.Tab>
14
- * </Tabs.List>
11
+ * <TabsList>
12
+ * <TabsTab value='1'>Tab 1</TabsTab>
13
+ * <TabsTab value='2'>Tab 2</TabsTab>
14
+ * </TabsList>
15
15
  */
16
16
  const TabsList = forwardRef(function TabsList({ children, ...rest }, ref) {
17
17
  const { value } = useContext(Context);