@digdir/designsystemet-react 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/cjs/components/Combobox/Combobox.js +3 -1
  2. package/dist/cjs/components/Combobox/Option/useComboboxOption.js +3 -1
  3. package/dist/cjs/components/Combobox/useComboboxKeyboard.js +4 -1
  4. package/dist/cjs/components/avatar/avatar.js +3 -2
  5. package/dist/cjs/components/avatar-stack/avatar-stack.js +33 -0
  6. package/dist/cjs/components/details/details.js +1 -1
  7. package/dist/cjs/components/dialog/dialog.js +1 -1
  8. package/dist/cjs/components/field/field-counter.js +3 -1
  9. package/dist/cjs/components/field/field.js +1 -1
  10. package/dist/cjs/components/popover/popover.js +1 -1
  11. package/dist/cjs/components/skeleton/skeleton.js +3 -1
  12. package/dist/cjs/components/spinner/spinner.js +3 -1
  13. package/dist/cjs/components/suggestion/suggestion-list.js +17 -4
  14. package/dist/cjs/components/suggestion/suggestion.js +9 -6
  15. package/dist/cjs/components/tabs/tabs-list.js +1 -1
  16. package/dist/cjs/components/tabs/tabs-panel.js +1 -1
  17. package/dist/cjs/index.js +89 -86
  18. package/dist/cjs/utilities/roving-focus/roving-focus-item.js +1 -1
  19. package/dist/esm/components/Combobox/Combobox.js +4 -2
  20. package/dist/esm/components/Combobox/ComboboxIdContext.js +1 -1
  21. package/dist/esm/components/Combobox/Option/useComboboxOption.js +3 -1
  22. package/dist/esm/components/Combobox/useComboboxKeyboard.js +4 -1
  23. package/dist/esm/components/avatar/avatar.js +3 -2
  24. package/dist/esm/components/avatar-stack/avatar-stack.js +31 -0
  25. package/dist/esm/components/chip/index.js +1 -1
  26. package/dist/esm/components/details/details.js +1 -1
  27. package/dist/esm/components/dialog/dialog.js +1 -1
  28. package/dist/esm/components/error-summary/error-summary.js +1 -1
  29. package/dist/esm/components/field/field-counter.js +3 -1
  30. package/dist/esm/components/field/field.js +1 -1
  31. package/dist/esm/components/list/index.js +1 -1
  32. package/dist/esm/components/popover/popover.js +1 -1
  33. package/dist/esm/components/skeleton/skeleton.js +3 -1
  34. package/dist/esm/components/spinner/spinner.js +3 -1
  35. package/dist/esm/components/suggestion/suggestion-list.js +18 -5
  36. package/dist/esm/components/suggestion/suggestion.js +10 -7
  37. package/dist/esm/components/tabs/tabs-list.js +1 -1
  38. package/dist/esm/components/tabs/tabs-panel.js +1 -1
  39. package/dist/esm/components/tabs/tabs.js +1 -1
  40. package/dist/esm/components/toggle-group/toggle-group.js +1 -1
  41. package/dist/esm/index.js +45 -43
  42. package/dist/esm/utilities/roving-focus/roving-focus-item.js +1 -1
  43. package/dist/esm/utilities/roving-focus/roving-focus-root.js +1 -1
  44. package/dist/types/components/avatar/avatar.d.ts +5 -0
  45. package/dist/types/components/avatar/avatar.d.ts.map +1 -1
  46. package/dist/types/components/avatar-stack/avatar-stack.d.ts +70 -0
  47. package/dist/types/components/avatar-stack/avatar-stack.d.ts.map +1 -0
  48. package/dist/types/components/badge/badge-position.d.ts +1 -1
  49. package/dist/types/components/badge/index.d.ts +1 -1
  50. package/dist/types/components/index.d.ts +2 -0
  51. package/dist/types/components/index.d.ts.map +1 -1
  52. package/dist/types/components/suggestion/suggestion-list.d.ts +11 -1
  53. package/dist/types/components/suggestion/suggestion-list.d.ts.map +1 -1
  54. package/dist/types/components/suggestion/suggestion.d.ts +2 -2
  55. package/dist/types/components/suggestion/suggestion.d.ts.map +1 -1
  56. package/package.json +15 -18
@@ -6,6 +6,9 @@ var react$1 = require('@floating-ui/react');
6
6
  var reactVirtual = require('@tanstack/react-virtual');
7
7
  var cl = require('clsx/lite');
8
8
  var react = require('react');
9
+ var useDebounceCallback = require('../../utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js');
10
+ require('../../utilities/roving-focus/roving-focus-item.js');
11
+ require('../../utilities/roving-focus/roving-focus-root.js');
9
12
  var spinner = require('../spinner/spinner.js');
10
13
  var ComboboxContext = require('./ComboboxContext.js');
11
14
  var ComboboxIdContext = require('./ComboboxIdContext.js');
@@ -20,7 +23,6 @@ var useComboboxKeyboard = require('./useComboboxKeyboard.js');
20
23
  var useFloatingCombobox = require('./useFloatingCombobox.js');
21
24
  var useFormField = require('./useFormField/useFormField.js');
22
25
  var utilities = require('./utilities.js');
23
- var useDebounceCallback = require('../../utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js');
24
26
 
25
27
  /**
26
28
  * @deprecated Use `Suggestion` instead
@@ -3,10 +3,12 @@
3
3
 
4
4
  var react$1 = require('@floating-ui/react');
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 ComboboxContext = require('../ComboboxContext.js');
7
10
  var ComboboxIdContext = require('../ComboboxIdContext.js');
8
11
  var utilities = require('../utilities.js');
9
- var useDebounceCallback = require('../../../utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js');
10
12
 
11
13
  const useComboboxOption = ({ id, ref, value, }) => {
12
14
  const generatedId = react.useId();
@@ -1,8 +1,11 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var ComboboxIdContext = require('./ComboboxIdContext.js');
5
4
  var useDebounceCallback = require('../../utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js');
5
+ require('react');
6
+ require('../../utilities/roving-focus/roving-focus-item.js');
7
+ require('../../utilities/roving-focus/roving-focus-root.js');
8
+ var ComboboxIdContext = require('./ComboboxIdContext.js');
6
9
 
7
10
  const useComboboxKeyboard = ({ readOnly, disabled, interactiveChildren, filteredOptions, inputValue, selectedOptions, multiple, open, options, setOpen, handleSelectOption, }) => {
8
11
  const { activeIndex } = ComboboxIdContext.useComboboxId();
@@ -22,11 +22,12 @@ var react = require('react');
22
22
  * <Icon />
23
23
  * </Avatar>
24
24
  */
25
- const Avatar = react.forwardRef(function Avatar({ 'aria-label': ariaLabel, variant = 'circle', className, children, initials, ...rest }, ref) {
25
+ const Avatar = react.forwardRef(function Avatar({ 'aria-label': ariaLabel, variant = 'circle', className, children, initials, asChild, ...rest }, ref) {
26
+ const OuterComponent = asChild ? reactSlot.Slot : 'span';
26
27
  const useSlot = children && typeof children !== 'string';
27
28
  const textChild = children && typeof children === 'string';
28
29
  const Component = useSlot ? reactSlot.Slot : react.Fragment;
29
- return (jsxRuntime.jsx("span", { ref: ref, className: cl('ds-avatar', className), "data-variant": variant, "data-initials": initials, role: 'img', "aria-label": ariaLabel, ...rest, children: jsxRuntime.jsx(Component, { ...(useSlot ? { 'aria-hidden': true } : {}), children: textChild ? jsxRuntime.jsx("span", { children: children }) : children }) }));
30
+ return (jsxRuntime.jsx(OuterComponent, { ref: ref, className: cl('ds-avatar', className), "data-variant": variant, "data-initials": initials, role: 'img', "aria-label": ariaLabel, ...rest, children: jsxRuntime.jsx(Component, { ...(useSlot ? { 'aria-hidden': true } : {}), children: textChild ? jsxRuntime.jsx("span", { children: children }) : children }) }));
30
31
  });
31
32
 
32
33
  exports.Avatar = Avatar;
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var cl = require('clsx/lite');
6
+ var react = require('react');
7
+
8
+ /**
9
+ * Use `AvatarStack` to constrain Avatars into a stack.
10
+ *
11
+ * @example
12
+ * <EXPERIMENTAL_AvatarStack>
13
+ * <Avatar aria-label='name'>
14
+ * <img src={cat1} alt='' />
15
+ * </Avatar>
16
+ * <Avatar aria-label='name'>
17
+ * <BriefcaseIcon />
18
+ * </Avatar>
19
+ * <Avatar aria-label='name' initials='sm' />
20
+ * </EXPERIMENTAL_AvatarStack>
21
+ */
22
+ const EXPERIMENTAL_AvatarStack = react.forwardRef(function AvatarStack({ className, gap, suffix, avatarSize, overlap, expandable, children, ...rest }, ref) {
23
+ const style = {
24
+ ...(rest.style || {}),
25
+ '--dsc-avatar-stack-gap': gap !== undefined ? `${gap}` : undefined,
26
+ '--dsc-avatar-stack-size': avatarSize ? `${avatarSize}` : undefined,
27
+ '--dsc-avatar-stack-overlap': overlap !== undefined ? `${overlap}` : undefined,
28
+ '--dsc-avatar-count': expandable === 'fixed' ? react.Children.count(children) : undefined,
29
+ };
30
+ return (jsxRuntime.jsx("figure", { tabIndex: rest.tabIndex !== undefined ? rest.tabIndex : expandable ? 0 : -1, ref: ref, className: cl(`ds-avatar-stack`, className), style: style, "data-expandable": expandable, "data-suffix": suffix, ...rest, children: children }));
31
+ });
32
+
33
+ exports.EXPERIMENTAL_AvatarStack = EXPERIMENTAL_AvatarStack;
@@ -4,8 +4,8 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var cl = require('clsx/lite');
6
6
  var react = require('react');
7
- require('@u-elements/u-details');
8
7
  var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
8
+ require('@u-elements/u-details');
9
9
 
10
10
  /**
11
11
  * Details component, contains `Details.Summary` and `Details.Content` components.
@@ -5,9 +5,9 @@ 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 useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
8
9
  var button = require('../button/button.js');
9
10
  var dialogTriggerContext = require('./dialog-trigger-context.js');
10
- var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
11
11
 
12
12
  /**
13
13
  * Dialog component, used to display a dialog dialog.
@@ -3,10 +3,12 @@
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');
9
- var useDebounceCallback = require('../../utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js');
10
12
 
11
13
  const label = (text, count) => text.replace('%d', Math.abs(count).toString());
12
14
  /**
@@ -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.
@@ -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.
@@ -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.
@@ -18,7 +18,7 @@ var suggestion = require('./suggestion.js');
18
18
  * <Suggestion.List />
19
19
  * </Suggestion>
20
20
  */
21
- const SuggestionList = react.forwardRef(function SuggestionList({ singular = '%d forslag', plural = '%d forslag', className, id, ...rest }, ref) {
21
+ const SuggestionList = react.forwardRef(function SuggestionList({ singular = '%d forslag', plural = '%d forslag', className, id, autoPlacement = true, ...rest }, ref) {
22
22
  const { handleFilter, uComboboxRef } = react.useContext(suggestion.SuggestionContext);
23
23
  react.useEffect(handleFilter); // Must run on every render
24
24
  // Position with floating-ui
@@ -30,9 +30,22 @@ const SuggestionList = react.forwardRef(function SuggestionList({ singular = '%d
30
30
  dom.computePosition(trigger, list, {
31
31
  placement: 'bottom',
32
32
  strategy: 'fixed',
33
- middleware: [triggerWidth],
34
- }).then(({ x, y }) => {
35
- list.style.translate = `${Math.round(x)}px calc(${Math.round(y)}px + var(--dsc-suggestion-list-gap))`;
33
+ middleware: [
34
+ ...(autoPlacement
35
+ ? [
36
+ dom.flip({
37
+ fallbackAxisSideDirection: 'start',
38
+ fallbackPlacements: ['top'],
39
+ }),
40
+ dom.shift(),
41
+ ]
42
+ : []),
43
+ undefined,
44
+ triggerWidth,
45
+ ],
46
+ }).then(({ x, y, placement }) => {
47
+ const varOperator = placement.startsWith('top') ? '-' : '+';
48
+ list.style.translate = `${Math.round(x)}px calc(${Math.round(y)}px ${varOperator} var(--dsc-suggestion-list-gap))`;
36
49
  });
37
50
  });
38
51
  }
@@ -5,8 +5,8 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
  require('@u-elements/u-combobox');
7
7
  var cl = require('clsx/lite');
8
- var index = require('../chip/index.js');
9
8
  var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
9
+ var index = require('../chip/index.js');
10
10
 
11
11
  const text = (el) => el.textContent?.trim() || '';
12
12
  const sanitizeItems = (values = []) => typeof values === 'string'
@@ -33,10 +33,14 @@ const Suggestion = react.forwardRef(function Suggestion({ children, className, c
33
33
  const [defaultItems, setDefaultItems] = react.useState(sanitizeItems(defaultSelected));
34
34
  const selectedItems = selected ? sanitizeItems(selected) : defaultItems;
35
35
  const onSelectedChangeRef = react.useRef(onSelectedChange);
36
+ const selectedItemsRef = react.useRef(selectedItems);
36
37
  // Keep the ref updated with the latest callback
37
38
  react.useEffect(() => {
38
39
  onSelectedChangeRef.current = onSelectedChange;
39
40
  }, [onSelectedChange]);
41
+ react.useEffect(() => {
42
+ selectedItemsRef.current = selectedItems;
43
+ }, [selectedItems]);
40
44
  /**
41
45
  * Listerners and handling of adding/removing
42
46
  */
@@ -46,15 +50,14 @@ const Suggestion = react.forwardRef(function Suggestion({ children, className, c
46
50
  event.preventDefault();
47
51
  const multiple = combobox?.multiple;
48
52
  const data = event.detail;
49
- const nextItem = nextItems(data, selectedItems, multiple);
50
- if (isControlled)
51
- onSelectedChangeRef.current?.(nextItem);
52
- else
53
+ const nextItem = nextItems(data, selectedItemsRef.current, multiple);
54
+ onSelectedChangeRef.current?.(nextItem || null);
55
+ if (!isControlled)
53
56
  setDefaultItems(sanitizeItems(nextItem));
54
57
  };
55
58
  combobox?.addEventListener('comboboxbeforeselect', beforeChange);
56
59
  return () => combobox?.removeEventListener('comboboxbeforeselect', beforeChange);
57
- }, [selectedItems, isControlled]);
60
+ }, [isControlled]);
58
61
  // Before match event listener
59
62
  react.useEffect(() => {
60
63
  const combobox = uComboboxRef.current;
@@ -3,9 +3,9 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
+ var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
6
7
  var rovingFocusRoot = require('../../utilities/roving-focus/roving-focus-root.js');
7
8
  var tabs = require('./tabs.js');
8
- var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
9
9
 
10
10
  /**
11
11
  * The container for all `Tab` components.
@@ -3,8 +3,8 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
- var tabs = require('./tabs.js');
7
6
  var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
7
+ var tabs = require('./tabs.js');
8
8
 
9
9
  /**
10
10
  * A single content item in a Tabs component.
package/dist/cjs/index.js CHANGED
@@ -1,221 +1,224 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
+ var alert = require('./components/alert/alert.js');
5
+ var avatar = require('./components/avatar/avatar.js');
6
+ var avatarStack = require('./components/avatar-stack/avatar-stack.js');
7
+ var index = require('./components/badge/index.js');
8
+ var index$1 = require('./components/breadcrumbs/index.js');
9
+ var button = require('./components/button/button.js');
10
+ var index$2 = require('./components/Combobox/index.js');
11
+ var index$3 = require('./components/card/index.js');
12
+ var checkbox = require('./components/checkbox/checkbox.js');
13
+ var index$4 = require('./components/chip/index.js');
14
+ var index$5 = require('./components/details/index.js');
15
+ var index$6 = require('./components/dialog/index.js');
16
+ var divider = require('./components/divider/divider.js');
17
+ var index$7 = require('./components/dropdown/index.js');
18
+ var index$8 = require('./components/error-summary/index.js');
19
+ var index$9 = require('./components/field/index.js');
20
+ var index$a = require('./components/fieldset/index.js');
21
+ var heading = require('./components/heading/heading.js');
22
+ var input = require('./components/input/input.js');
23
+ var label = require('./components/label/label.js');
24
+ var link = require('./components/link/link.js');
25
+ var index$b = require('./components/list/index.js');
26
+ var index$c = require('./components/pagination/index.js');
27
+ var paragraph = require('./components/paragraph/paragraph.js');
28
+ var index$d = require('./components/popover/index.js');
29
+ var radio = require('./components/radio/radio.js');
30
+ var index$e = require('./components/search/index.js');
31
+ var index$f = require('./components/select/index.js');
32
+ var skeleton = require('./components/skeleton/skeleton.js');
33
+ var skipLink = require('./components/skip-link/skip-link.js');
34
+ var spinner = require('./components/spinner/spinner.js');
35
+ var index$g = require('./components/suggestion/index.js');
36
+ var _switch = require('./components/switch/switch.js');
37
+ var index$h = require('./components/table/index.js');
38
+ var index$i = require('./components/tabs/index.js');
39
+ var tag = require('./components/tag/tag.js');
40
+ var textarea = require('./components/textarea/textarea.js');
41
+ var textfield = require('./components/textfield/textfield.js');
42
+ var index$j = require('./components/toggle-group/index.js');
43
+ var tooltip = require('./components/tooltip/tooltip.js');
44
+ var validationMessage = require('./components/validation-message/validation-message.js');
4
45
  var omit = require('./components/Combobox/omit/omit.js');
5
- var rovingFocusItem = require('./utilities/roving-focus/roving-focus-item.js');
6
- var rovingFocusRoot = require('./utilities/roving-focus/roving-focus-root.js');
7
- var useCheckboxGroup = require('./utilities/hooks/use-checkbox-group/use-checkbox-group.js');
8
46
  var useDebounceCallback = require('./utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js');
9
47
  var useIsomorphicLayoutEffect = require('./utilities/hooks/deprecated/use-isomorphic-layout-effect/use-isomorphic-layout-effect.js');
10
48
  var useMediaQuery = require('./utilities/hooks/deprecated/use-media-query/use-media-query.js');
49
+ var useCheckboxGroup = require('./utilities/hooks/use-checkbox-group/use-checkbox-group.js');
50
+ require('react');
11
51
  var usePagination = require('./utilities/hooks/use-pagination/use-pagination.js');
12
52
  var useRadioGroup = require('./utilities/hooks/use-radio-group/use-radio-group.js');
13
53
  var useSynchronizedAnimation = require('./utilities/hooks/use-synchronized-animation/use-synchronized-animation.js');
14
- var alert = require('./components/alert/alert.js');
15
- var avatar = require('./components/avatar/avatar.js');
16
- var index = require('./components/badge/index.js');
54
+ var rovingFocusItem = require('./utilities/roving-focus/roving-focus-item.js');
55
+ var rovingFocusRoot = require('./utilities/roving-focus/roving-focus-root.js');
17
56
  var badgePosition = require('./components/badge/badge-position.js');
18
- var index$1 = require('./components/breadcrumbs/index.js');
19
57
  var breadcrumbsItem = require('./components/breadcrumbs/breadcrumbs-item.js');
20
58
  var breadcrumbsLink = require('./components/breadcrumbs/breadcrumbs-link.js');
21
59
  var breadcrumbsList = require('./components/breadcrumbs/breadcrumbs-list.js');
22
- var button = require('./components/button/button.js');
23
- var index$2 = require('./components/Combobox/index.js');
24
60
  var Empty = require('./components/Combobox/Empty.js');
25
61
  var Option = require('./components/Combobox/Option/Option.js');
26
- var index$3 = require('./components/card/index.js');
27
62
  var cardBlock = require('./components/card/card-block.js');
28
- var checkbox = require('./components/checkbox/checkbox.js');
29
- var index$4 = require('./components/chip/index.js');
30
63
  var chips = require('./components/chip/chips.js');
31
- var index$5 = require('./components/details/index.js');
32
64
  var detailsContent = require('./components/details/details-content.js');
33
65
  var detailsSummary = require('./components/details/details-summary.js');
34
- var index$6 = require('./components/dialog/index.js');
35
66
  var dialogBlock = require('./components/dialog/dialog-block.js');
36
67
  var dialogTrigger = require('./components/dialog/dialog-trigger.js');
37
68
  var dialogTriggerContext = require('./components/dialog/dialog-trigger-context.js');
38
- var divider = require('./components/divider/divider.js');
39
- var index$7 = require('./components/dropdown/index.js');
40
69
  var dropdownButton = require('./components/dropdown/dropdown-button.js');
41
70
  var dropdownHeading = require('./components/dropdown/dropdown-heading.js');
42
71
  var dropdownItem = require('./components/dropdown/dropdown-item.js');
43
72
  var dropdownList = require('./components/dropdown/dropdown-list.js');
44
73
  var dropdownTrigger = require('./components/dropdown/dropdown-trigger.js');
45
74
  var dropdownTriggerContext = require('./components/dropdown/dropdown-trigger-context.js');
46
- var index$8 = require('./components/error-summary/index.js');
47
75
  var errorSummaryHeading = require('./components/error-summary/error-summary-heading.js');
48
76
  var errorSummaryItem = require('./components/error-summary/error-summary-item.js');
49
77
  var errorSummaryLink = require('./components/error-summary/error-summary-link.js');
50
78
  var errorSummaryList = require('./components/error-summary/error-summary-list.js');
51
- var index$9 = require('./components/field/index.js');
52
79
  var fieldAffix = require('./components/field/field-affix.js');
53
80
  var fieldCounter = require('./components/field/field-counter.js');
54
81
  var fieldDescription = require('./components/field/field-description.js');
55
- var index$a = require('./components/fieldset/index.js');
56
82
  var fieldsetDescription = require('./components/fieldset/fieldset-description.js');
57
83
  var fieldsetLegend = require('./components/fieldset/fieldset-legend.js');
58
- var heading = require('./components/heading/heading.js');
59
- var input = require('./components/input/input.js');
60
- var label = require('./components/label/label.js');
61
- var link = require('./components/link/link.js');
62
- var index$b = require('./components/list/index.js');
63
84
  var listItem = require('./components/list/list-item.js');
64
85
  var lists = require('./components/list/lists.js');
65
- var index$c = require('./components/pagination/index.js');
66
86
  var paginationButton = require('./components/pagination/pagination-button.js');
67
87
  var paginationItem = require('./components/pagination/pagination-item.js');
68
88
  var paginationList = require('./components/pagination/pagination-list.js');
69
- var paragraph = require('./components/paragraph/paragraph.js');
70
- var index$d = require('./components/popover/index.js');
71
89
  var popoverTrigger = require('./components/popover/popover-trigger.js');
72
90
  var popoverTriggerContext = require('./components/popover/popover-trigger-context.js');
73
- var radio = require('./components/radio/radio.js');
74
- var index$e = require('./components/search/index.js');
75
91
  var searchButton = require('./components/search/search-button.js');
76
92
  var searchClear = require('./components/search/search-clear.js');
77
93
  var searchInput = require('./components/search/search-input.js');
78
- var index$f = require('./components/select/index.js');
79
94
  var selectOptgroup = require('./components/select/select-optgroup.js');
80
95
  var selectOption = require('./components/select/select-option.js');
81
- var skeleton = require('./components/skeleton/skeleton.js');
82
- var skipLink = require('./components/skip-link/skip-link.js');
83
- var spinner = require('./components/spinner/spinner.js');
84
- var index$g = require('./components/suggestion/index.js');
85
96
  var suggestionClear = require('./components/suggestion/suggestion-clear.js');
86
97
  var suggestionEmpty = require('./components/suggestion/suggestion-empty.js');
87
98
  var suggestionInput = require('./components/suggestion/suggestion-input.js');
88
99
  var suggestionList = require('./components/suggestion/suggestion-list.js');
89
100
  var suggestionOption = require('./components/suggestion/suggestion-option.js');
90
- var _switch = require('./components/switch/switch.js');
91
- var index$h = require('./components/table/index.js');
92
101
  var tableBody = require('./components/table/table-body.js');
93
102
  var tableCell = require('./components/table/table-cell.js');
94
103
  var tableFoot = require('./components/table/table-foot.js');
95
104
  var tableHead = require('./components/table/table-head.js');
96
105
  var tableHeaderCell = require('./components/table/table-header-cell.js');
97
106
  var tableRow = require('./components/table/table-row.js');
98
- var index$i = require('./components/tabs/index.js');
99
107
  var tabsList = require('./components/tabs/tabs-list.js');
100
108
  var tabsPanel = require('./components/tabs/tabs-panel.js');
101
109
  var tabsTab = require('./components/tabs/tabs-tab.js');
102
- var tag = require('./components/tag/tag.js');
103
- var textarea = require('./components/textarea/textarea.js');
104
- var textfield = require('./components/textfield/textfield.js');
105
- var index$j = require('./components/toggle-group/index.js');
106
110
  var toggleGroupItem = require('./components/toggle-group/toggle-group-item.js');
107
- var tooltip = require('./components/tooltip/tooltip.js');
108
- var validationMessage = require('./components/validation-message/validation-message.js');
109
111
 
110
112
 
111
113
 
114
+ exports.Alert = alert.Alert;
115
+ exports.Avatar = avatar.Avatar;
116
+ exports.EXPERIMENTAL_AvatarStack = avatarStack.EXPERIMENTAL_AvatarStack;
117
+ exports.Badge = index.Badge;
118
+ exports.Breadcrumbs = index$1.Breadcrumbs;
119
+ exports.Button = button.Button;
120
+ exports.Combobox = index$2.Combobox;
121
+ exports.Card = index$3.Card;
122
+ exports.Checkbox = checkbox.Checkbox;
123
+ exports.Chip = index$4.Chip;
124
+ exports.Details = index$5.Details;
125
+ exports.Dialog = index$6.Dialog;
126
+ exports.Divider = divider.Divider;
127
+ exports.Dropdown = index$7.Dropdown;
128
+ exports.ErrorSummary = index$8.ErrorSummary;
129
+ exports.Field = index$9.Field;
130
+ exports.Fieldset = index$a.Fieldset;
131
+ exports.Heading = heading.Heading;
132
+ exports.Input = input.Input;
133
+ exports.Label = label.Label;
134
+ exports.Link = link.Link;
135
+ exports.List = index$b.List;
136
+ exports.Pagination = index$c.Pagination;
137
+ exports.Paragraph = paragraph.Paragraph;
138
+ exports.Popover = index$d.Popover;
139
+ exports.Radio = radio.Radio;
140
+ exports.Search = index$e.Search;
141
+ exports.Select = index$f.Select;
142
+ exports.Skeleton = skeleton.Skeleton;
143
+ exports.SkipLink = skipLink.SkipLink;
144
+ exports.Spinner = spinner.Spinner;
145
+ exports.EXPERIMENTAL_Suggestion = index$g.EXPERIMENTAL_Suggestion;
146
+ exports.Switch = _switch.Switch;
147
+ exports.Table = index$h.Table;
148
+ exports.Tabs = index$i.Tabs;
149
+ exports.Tag = tag.Tag;
150
+ exports.Textarea = textarea.Textarea;
151
+ exports.Textfield = textfield.Textfield;
152
+ exports.ToggleGroup = index$j.ToggleGroup;
153
+ exports.Tooltip = tooltip.Tooltip;
154
+ exports.ValidationMessage = validationMessage.ValidationMessage;
112
155
  exports.omit = omit.omit;
113
- exports.RovingFocusItem = rovingFocusItem.RovingFocusItem;
114
- exports.RovingFocusRoot = rovingFocusRoot.RovingFocusRoot;
115
- exports.useCheckboxGroup = useCheckboxGroup.useCheckboxGroup;
116
156
  exports.useDebounceCallback = useDebounceCallback.useDebounceCallback;
117
157
  exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect.useIsomorphicLayoutEffect;
118
158
  exports.useMediaQuery = useMediaQuery.useMediaQuery;
159
+ exports.useCheckboxGroup = useCheckboxGroup.useCheckboxGroup;
119
160
  exports.usePagination = usePagination.usePagination;
120
161
  exports.useRadioGroup = useRadioGroup.useRadioGroup;
121
162
  exports.useSynchronizedAnimation = useSynchronizedAnimation.useSynchronizedAnimation;
122
- exports.Alert = alert.Alert;
123
- exports.Avatar = avatar.Avatar;
124
- exports.Badge = index.Badge;
163
+ exports.RovingFocusItem = rovingFocusItem.RovingFocusItem;
164
+ exports.RovingFocusRoot = rovingFocusRoot.RovingFocusRoot;
125
165
  exports.BadgePosition = badgePosition.BadgePosition;
126
- exports.Breadcrumbs = index$1.Breadcrumbs;
127
166
  exports.BreadcrumbsItem = breadcrumbsItem.BreadcrumbsItem;
128
167
  exports.BreadcrumbsLink = breadcrumbsLink.BreadcrumbsLink;
129
168
  exports.BreadcrumbsList = breadcrumbsList.BreadcrumbsList;
130
- exports.Button = button.Button;
131
- exports.Combobox = index$2.Combobox;
132
169
  exports.ComboboxEmpty = Empty.ComboboxEmpty;
133
170
  exports.ComboboxOption = Option.ComboboxOption;
134
- exports.Card = index$3.Card;
135
171
  exports.CardBlock = cardBlock.CardBlock;
136
- exports.Checkbox = checkbox.Checkbox;
137
- exports.Chip = index$4.Chip;
138
172
  exports.ChipButton = chips.ChipButton;
139
173
  exports.ChipCheckbox = chips.ChipCheckbox;
140
174
  exports.ChipRadio = chips.ChipRadio;
141
175
  exports.ChipRemovable = chips.ChipRemovable;
142
- exports.Details = index$5.Details;
143
176
  exports.DetailsContent = detailsContent.DetailsContent;
144
177
  exports.DetailsSummary = detailsSummary.DetailsSummary;
145
- exports.Dialog = index$6.Dialog;
146
178
  exports.DialogBlock = dialogBlock.DialogBlock;
147
179
  exports.DialogTrigger = dialogTrigger.DialogTrigger;
148
180
  exports.DialogTriggerContext = dialogTriggerContext.DialogTriggerContext;
149
- exports.Divider = divider.Divider;
150
- exports.Dropdown = index$7.Dropdown;
151
181
  exports.DropdownButton = dropdownButton.DropdownButton;
152
182
  exports.DropdownHeading = dropdownHeading.DropdownHeading;
153
183
  exports.DropdownItem = dropdownItem.DropdownItem;
154
184
  exports.DropdownList = dropdownList.DropdownList;
155
185
  exports.DropdownTrigger = dropdownTrigger.DropdownTrigger;
156
186
  exports.DropdownTriggerContext = dropdownTriggerContext.DropdownTriggerContext;
157
- exports.ErrorSummary = index$8.ErrorSummary;
158
187
  exports.ErrorSummaryHeading = errorSummaryHeading.ErrorSummaryHeading;
159
188
  exports.ErrorSummaryItem = errorSummaryItem.ErrorSummaryItem;
160
189
  exports.ErrorSummaryLink = errorSummaryLink.ErrorSummaryLink;
161
190
  exports.ErrorSummaryList = errorSummaryList.ErrorSummaryList;
162
- exports.Field = index$9.Field;
163
191
  exports.FieldAffix = fieldAffix.FieldAffix;
164
192
  exports.FieldAffixes = fieldAffix.FieldAffixes;
165
193
  exports.FieldCounter = fieldCounter.FieldCounter;
166
194
  exports.FieldDescription = fieldDescription.FieldDescription;
167
- exports.Fieldset = index$a.Fieldset;
168
195
  exports.FieldsetDescription = fieldsetDescription.FieldsetDescription;
169
196
  exports.FieldsetLegend = fieldsetLegend.FieldsetLegend;
170
- exports.Heading = heading.Heading;
171
- exports.Input = input.Input;
172
- exports.Label = label.Label;
173
- exports.Link = link.Link;
174
- exports.List = index$b.List;
175
197
  exports.ListItem = listItem.ListItem;
176
198
  exports.ListOrdered = lists.ListOrdered;
177
199
  exports.ListUnordered = lists.ListUnordered;
178
- exports.Pagination = index$c.Pagination;
179
200
  exports.PaginationButton = paginationButton.PaginationButton;
180
201
  exports.PaginationItem = paginationItem.PaginationItem;
181
202
  exports.PaginationList = paginationList.PaginationList;
182
- exports.Paragraph = paragraph.Paragraph;
183
- exports.Popover = index$d.Popover;
184
203
  exports.PopoverTrigger = popoverTrigger.PopoverTrigger;
185
204
  exports.PopoverTriggerContext = popoverTriggerContext.PopoverTriggerContext;
186
- exports.Radio = radio.Radio;
187
- exports.Search = index$e.Search;
188
205
  exports.SearchButton = searchButton.SearchButton;
189
206
  exports.SearchClear = searchClear.SearchClear;
190
207
  exports.SearchInput = searchInput.SearchInput;
191
- exports.Select = index$f.Select;
192
208
  exports.SelectOptgroup = selectOptgroup.SelectOptgroup;
193
209
  exports.SelectOption = selectOption.SelectOption;
194
- exports.Skeleton = skeleton.Skeleton;
195
- exports.SkipLink = skipLink.SkipLink;
196
- exports.Spinner = spinner.Spinner;
197
- exports.EXPERIMENTAL_Suggestion = index$g.EXPERIMENTAL_Suggestion;
198
210
  exports.EXPERIMENTAL_SuggestionClear = suggestionClear.SuggestionClear;
199
211
  exports.EXPERIMENTAL_SuggestionEmpty = suggestionEmpty.SuggestionEmpty;
200
212
  exports.EXPERIMENTAL_SuggestionInput = suggestionInput.SuggestionInput;
201
213
  exports.EXPERIMENTAL_SuggestionList = suggestionList.SuggestionList;
202
214
  exports.EXPERIMENTAL_SuggestionOption = suggestionOption.SuggestionOption;
203
- exports.Switch = _switch.Switch;
204
- exports.Table = index$h.Table;
205
215
  exports.TableBody = tableBody.TableBody;
206
216
  exports.TableCell = tableCell.TableCell;
207
217
  exports.TableFoot = tableFoot.TableFoot;
208
218
  exports.TableHead = tableHead.TableHead;
209
219
  exports.TableHeaderCell = tableHeaderCell.TableHeaderCell;
210
220
  exports.TableRow = tableRow.TableRow;
211
- exports.Tabs = index$i.Tabs;
212
221
  exports.TabsList = tabsList.TabsList;
213
222
  exports.TabsPanel = tabsPanel.TabsPanel;
214
223
  exports.TabsTab = tabsTab.TabsTab;
215
- exports.Tag = tag.Tag;
216
- exports.Textarea = textarea.Textarea;
217
- exports.Textfield = textfield.Textfield;
218
- exports.ToggleGroup = index$j.ToggleGroup;
219
224
  exports.ToggleGroupItem = toggleGroupItem.ToggleGroupItem;
220
- exports.Tooltip = tooltip.Tooltip;
221
- exports.ValidationMessage = validationMessage.ValidationMessage;
@@ -4,8 +4,8 @@
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var reactSlot = require('@radix-ui/react-slot');
6
6
  var react = require('react');
7
- var useRovingFocus = require('./use-roving-focus.js');
8
7
  var useMergeRefs = require('../hooks/use-merge-refs/use-merge-refs.js');
8
+ var useRovingFocus = require('./use-roving-focus.js');
9
9
 
10
10
  /** Get the next focusable RovingFocusItem */
11
11
  function getNextFocusableValue(items, value) {
@@ -1,9 +1,12 @@
1
1
  'use client';
2
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import { FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
4
4
  import { useVirtualizer } from '@tanstack/react-virtual';
5
5
  import cl from 'clsx/lite';
6
6
  import { forwardRef, useRef, useState, useEffect } from 'react';
7
+ import { useDebounceCallback } from '../../utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js';
8
+ import '../../utilities/roving-focus/roving-focus-item.js';
9
+ import '../../utilities/roving-focus/roving-focus-root.js';
7
10
  import { Spinner } from '../spinner/spinner.js';
8
11
  import { ComboboxContext } from './ComboboxContext.js';
9
12
  import { ComboboxIdProvider } from './ComboboxIdContext.js';
@@ -18,7 +21,6 @@ import { useComboboxKeyboard } from './useComboboxKeyboard.js';
18
21
  import { useFloatingCombobox } from './useFloatingCombobox.js';
19
22
  import { useFormField } from './useFormField/useFormField.js';
20
23
  import { prefix, setReactInputValue, removePrefix } from './utilities.js';
21
- import { useDebounceCallback } from '../../utilities/hooks/deprecated/use-debounce-callback/use-debounce-callback.js';
22
24
 
23
25
  /**
24
26
  * @deprecated Use `Suggestion` instead