@digdir/designsystemet-react 1.1.10 → 1.3.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 (50) hide show
  1. package/dist/cjs/components/Combobox/useCombobox.js +2 -1
  2. package/dist/cjs/components/dialog/dialog.js +7 -1
  3. package/dist/cjs/components/field/field-observer.js +1 -1
  4. package/dist/cjs/components/suggestion/index.js +0 -4
  5. package/dist/cjs/components/suggestion/suggestion.js +13 -26
  6. package/dist/cjs/components/tabs/tabs-list.js +4 -2
  7. package/dist/cjs/components/tabs/tabs-panel.js +16 -3
  8. package/dist/cjs/components/tabs/tabs-tab.js +5 -2
  9. package/dist/cjs/components/tabs/tabs.js +5 -0
  10. package/dist/cjs/components/tooltip/tooltip.js +19 -3
  11. package/dist/cjs/index.js +0 -2
  12. package/dist/cjs/utilities/hooks/use-merge-refs/use-merge-refs.js +1 -1
  13. package/dist/esm/components/Combobox/useCombobox.js +2 -1
  14. package/dist/esm/components/dialog/dialog.js +7 -1
  15. package/dist/esm/components/field/field-observer.js +1 -1
  16. package/dist/esm/components/suggestion/index.js +1 -4
  17. package/dist/esm/components/suggestion/suggestion.js +13 -26
  18. package/dist/esm/components/tabs/tabs-list.js +4 -2
  19. package/dist/esm/components/tabs/tabs-panel.js +18 -5
  20. package/dist/esm/components/tabs/tabs-tab.js +5 -2
  21. package/dist/esm/components/tabs/tabs.js +6 -1
  22. package/dist/esm/components/tooltip/tooltip.js +19 -3
  23. package/dist/esm/index.js +0 -1
  24. package/dist/esm/utilities/hooks/use-merge-refs/use-merge-refs.js +1 -1
  25. package/dist/types/components/Combobox/Custom.d.ts.map +1 -1
  26. package/dist/types/components/Combobox/Option/Option.d.ts.map +1 -1
  27. package/dist/types/components/Combobox/internal/ComboboxInput.d.ts.map +1 -1
  28. package/dist/types/components/Combobox/useCombobox.d.ts +1 -1
  29. package/dist/types/components/Combobox/useCombobox.d.ts.map +1 -1
  30. package/dist/types/components/dialog/dialog.d.ts +4 -0
  31. package/dist/types/components/dialog/dialog.d.ts.map +1 -1
  32. package/dist/types/components/index.d.ts +2 -2
  33. package/dist/types/components/index.d.ts.map +1 -1
  34. package/dist/types/components/skeleton/skeleton.d.ts +24 -7
  35. package/dist/types/components/skeleton/skeleton.d.ts.map +1 -1
  36. package/dist/types/components/suggestion/index.d.ts +2 -9
  37. package/dist/types/components/suggestion/index.d.ts.map +1 -1
  38. package/dist/types/components/suggestion/suggestion.d.ts +27 -96
  39. package/dist/types/components/suggestion/suggestion.d.ts.map +1 -1
  40. package/dist/types/components/tabs/tabs-list.d.ts.map +1 -1
  41. package/dist/types/components/tabs/tabs-panel.d.ts.map +1 -1
  42. package/dist/types/components/tabs/tabs-tab.d.ts.map +1 -1
  43. package/dist/types/components/tabs/tabs.d.ts +3 -0
  44. package/dist/types/components/tabs/tabs.d.ts.map +1 -1
  45. package/dist/types/components/tooltip/tooltip.d.ts.map +1 -1
  46. package/package.json +14 -14
  47. package/dist/cjs/components/suggestion/suggestion-chips.js +0 -13
  48. package/dist/esm/components/suggestion/suggestion-chips.js +0 -11
  49. package/dist/types/components/suggestion/suggestion-chips.d.ts +0 -11
  50. package/dist/types/components/suggestion/suggestion-chips.d.ts.map +0 -1
@@ -65,6 +65,7 @@ function useCombobox({ children, inputValue, multiple, filter = (inputValue, opt
65
65
  displayValue: props.displayValue,
66
66
  description: props.description,
67
67
  };
68
+ return null;
68
69
  });
69
70
  return allOptions;
70
71
  }, [optionsChildren]);
@@ -95,7 +96,7 @@ function useCombobox({ children, inputValue, multiple, filter = (inputValue, opt
95
96
  filteredOptions.push(option);
96
97
  return optionsChildren[index];
97
98
  }
98
- return;
99
+ return null;
99
100
  })
100
101
  .filter((child) => child);
101
102
  return { filteredOptions, filteredOptionsChildren };
@@ -49,6 +49,12 @@ const Dialog = react.forwardRef(function Dialog({ asChild, children, className,
49
49
  return (closedby === 'none' &&
50
50
  event.key === 'Escape' &&
51
51
  event.preventDefault()); // Skip ESC-key if closedby="none"
52
+ /* Check if clicked element or its closest parent has data-command='close' */
53
+ if (target instanceof Element) {
54
+ const closeElement = target.closest('[data-command="close"]');
55
+ if (closeElement)
56
+ return dialog?.close();
57
+ }
52
58
  if (window.getSelection()?.toString())
53
59
  return; // Fix bug where if you select text spanning two divs it thinks you clicked outside
54
60
  if (dialog && target === dialog && closedby === 'any') {
@@ -79,7 +85,7 @@ const Dialog = react.forwardRef(function Dialog({ asChild, children, className,
79
85
  currentRef?.addEventListener('close', handleClose);
80
86
  return () => currentRef?.removeEventListener('close', handleClose);
81
87
  }, [onClose]);
82
- return (jsxRuntime.jsxs(Component, { className: cl('ds-dialog', className), ref: mergedRefs, "data-modal": modal, ...rest, children: [closeButton !== false && (jsxRuntime.jsx("form", { method: 'dialog', children: jsxRuntime.jsx(button.Button, { "aria-label": closeButton, autoFocus: true, "data-color": 'neutral', icon: true, name: 'close', type: 'submit', variant: 'tertiary' }) })), children] }));
88
+ return (jsxRuntime.jsxs(Component, { className: cl('ds-dialog', className), ref: mergedRefs, "data-modal": modal, ...rest, children: [closeButton !== false && (jsxRuntime.jsx(button.Button, { "aria-label": closeButton, autoFocus: true, "data-color": 'neutral', icon: true, variant: 'tertiary', "data-command": 'close' })), children] }));
83
89
  });
84
90
 
85
91
  exports.Dialog = Dialog;
@@ -27,7 +27,7 @@ function fieldObserver(fieldElement) {
27
27
  elements.set(el, el.htmlFor);
28
28
  else if (el.hasAttribute('data-field'))
29
29
  elements.set(el, el.id);
30
- else if (isInputLike(el)) {
30
+ else if (isInputLike(el) && !el.hidden) {
31
31
  input = el;
32
32
  describedby = el.getAttribute('aria-describedby') || '';
33
33
  }
@@ -2,7 +2,6 @@
2
2
  'use strict';
3
3
 
4
4
  var suggestion = require('./suggestion.js');
5
- var suggestionChips = require('./suggestion-chips.js');
6
5
  var suggestionClear = require('./suggestion-clear.js');
7
6
  var suggestionEmpty = require('./suggestion-empty.js');
8
7
  var suggestionInput = require('./suggestion-input.js');
@@ -24,7 +23,6 @@ var suggestionOption = require('./suggestion-option.js');
24
23
  * </Suggestion>
25
24
  */
26
25
  const EXPERIMENTAL_Suggestion = Object.assign(suggestion.Suggestion, {
27
- Chips: suggestionChips.SuggestionChips,
28
26
  List: suggestionList.SuggestionList,
29
27
  Input: suggestionInput.SuggestionInput,
30
28
  Empty: suggestionEmpty.SuggestionEmpty,
@@ -32,14 +30,12 @@ const EXPERIMENTAL_Suggestion = Object.assign(suggestion.Suggestion, {
32
30
  Clear: suggestionClear.SuggestionClear,
33
31
  });
34
32
  EXPERIMENTAL_Suggestion.displayName = 'EXPERIMENTAL_Suggestion';
35
- EXPERIMENTAL_Suggestion.Chips.displayName = 'EXPERIMENTAL_Suggestion.Chips';
36
33
  EXPERIMENTAL_Suggestion.List.displayName = 'EXPERIMENTAL_Suggestion.List';
37
34
  EXPERIMENTAL_Suggestion.Input.displayName = 'EXPERIMENTAL_Suggestion.Input';
38
35
  EXPERIMENTAL_Suggestion.Empty.displayName = 'EXPERIMENTAL_Suggestion.Empty';
39
36
  EXPERIMENTAL_Suggestion.Option.displayName = 'EXPERIMENTAL_Suggestion.Option';
40
37
  EXPERIMENTAL_Suggestion.Clear.displayName = 'EXPERIMENTAL_Suggestion.Clear';
41
38
 
42
- exports.EXPERIMENTAL_SuggestionChips = suggestionChips.SuggestionChips;
43
39
  exports.EXPERIMENTAL_SuggestionClear = suggestionClear.SuggestionClear;
44
40
  exports.EXPERIMENTAL_SuggestionEmpty = suggestionEmpty.SuggestionEmpty;
45
41
  exports.EXPERIMENTAL_SuggestionInput = suggestionInput.SuggestionInput;
@@ -12,35 +12,21 @@ const SuggestionContext = react.createContext({
12
12
  handleFilter: () => undefined,
13
13
  });
14
14
  const text = (el) => el.textContent?.trim() || '';
15
- const sanitizeItems = (values = []) => (typeof values === 'string'
15
+ const sanitizeItems = (values = []) => typeof values === 'string'
16
16
  ? [{ label: values, value: values }]
17
- : values.map((value) => typeof value === 'string'
18
- ? { label: value, value }
19
- : {
20
- label: value.label || value.value || '',
21
- value: value.value || '',
22
- })).filter((x) => !!x.label);
17
+ : !Array.isArray(values)
18
+ ? [values]
19
+ : values.map((value) => typeof value === 'string' ? { label: value, value } : value);
23
20
  const nextItems = (data, prev, multiple) => {
24
21
  const item = { label: text(data), value: data.value };
25
22
  if (!multiple)
26
- return data.isConnected ? [] : [item];
23
+ return data.isConnected ? undefined : item;
27
24
  return data.isConnected
28
25
  ? sanitizeItems(prev).filter(({ value }) => value !== item.value)
29
26
  : [...sanitizeItems(prev), item];
30
27
  };
31
28
  const defaultFilter = ({ label, input }) => label.toLowerCase().includes(input.value.trim().toLowerCase());
32
- const deprecate = (from, to) => console.warn(`Suggestion: Using "${from}" is deprecated, please use "${to}" instead.`);
33
- const Suggestion = react.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) {
34
- // For backwards compatibility:
35
- const selected = _selected ?? value;
36
- const defaultSelected = _defaultSelected ?? defaultValue;
37
- const onSelectedChange = _onSelectedChange ?? onValueChange;
38
- if (value)
39
- deprecate('value', 'selected');
40
- if (defaultValue)
41
- deprecate('defaultValue', 'defaultSelected');
42
- if (onValueChange)
43
- deprecate('onValueChange', 'onSelectedChange');
29
+ const Suggestion = react.forwardRef(function Suggestion({ children, className, creatable = false, defaultSelected, filter = true, multiple = false, name, onBeforeMatch, onSelectedChange, renderSelected = ({ label }) => label, selected, ...rest }, ref) {
44
30
  const uComboboxRef = react.useRef(null);
45
31
  const genId = react.useId();
46
32
  const selectId = rest.id ? `${rest.id}-select` : genId;
@@ -58,20 +44,21 @@ const Suggestion = react.forwardRef(function Suggestion({ children, className, c
58
44
  event.preventDefault();
59
45
  const multiple = combobox?.multiple;
60
46
  const data = event.detail;
47
+ const nextItem = nextItems(data, selectedItems, multiple);
61
48
  if (isControlled)
62
- onSelectedChange?.(nextItems(data, selectedItems, multiple));
49
+ onSelectedChange?.(nextItem);
63
50
  else
64
- setDefaultItems(nextItems(data, selectedItems, multiple));
51
+ setDefaultItems(sanitizeItems(nextItem));
65
52
  };
66
- combobox?.addEventListener('beforechange', beforeChange);
67
- return () => combobox?.removeEventListener('beforechange', beforeChange);
53
+ combobox?.addEventListener('comboboxbeforeselect', beforeChange);
54
+ return () => combobox?.removeEventListener('comboboxbeforeselect', beforeChange);
68
55
  }, [selectedItems, isControlled]);
69
56
  // Before match event listener
70
57
  react.useEffect(() => {
71
58
  const combobox = uComboboxRef.current;
72
59
  const beforeMatch = (e) => onBeforeMatch?.(e);
73
- combobox?.addEventListener('beforematch', beforeMatch);
74
- return () => combobox?.removeEventListener('beforematch', beforeMatch);
60
+ combobox?.addEventListener('comboboxbeforematch', beforeMatch);
61
+ return () => combobox?.removeEventListener('comboboxbeforematch', beforeMatch);
75
62
  }, [onBeforeMatch]);
76
63
  const handleFilter = react.useCallback(() => {
77
64
  const { control: input, options = [] } = uComboboxRef?.current || {};
@@ -5,6 +5,7 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
  var rovingFocusRoot = require('../../utilities/roving-focus/roving-focus-root.js');
7
7
  var tabs = require('./tabs.js');
8
+ var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.js');
8
9
 
9
10
  /**
10
11
  * The container for all `Tab` components.
@@ -16,8 +17,9 @@ var tabs = require('./tabs.js');
16
17
  * </TabsList>
17
18
  */
18
19
  const TabsList = react.forwardRef(function TabsList({ children, ...rest }, ref) {
19
- const { value } = react.useContext(tabs.Context);
20
- return (jsxRuntime.jsx(rovingFocusRoot.RovingFocusRoot, { role: 'tablist', activeValue: value, orientation: 'ambiguous', ref: ref, ...rest, children: children }));
20
+ const { value, tablistRef } = react.useContext(tabs.Context);
21
+ const mergedRefs = useMergeRefs.useMergeRefs([ref, tablistRef]);
22
+ return (jsxRuntime.jsx(rovingFocusRoot.RovingFocusRoot, { role: 'tablist', activeValue: value, orientation: 'ambiguous', ref: mergedRefs, ...rest, children: children }));
21
23
  });
22
24
 
23
25
  exports.TabsList = TabsList;
@@ -12,10 +12,13 @@ var useMergeRefs = require('../../utilities/hooks/use-merge-refs/use-merge-refs.
12
12
  * @example
13
13
  * <TabsPanel value='1'>content 1</TabsPanel>
14
14
  */
15
- const TabsPanel = react.forwardRef(function TabsPanel({ children, value, ...rest }, ref) {
16
- const { value: tabsValue } = react.useContext(tabs.Context);
15
+ const TabsPanel = react.forwardRef(function TabsPanel({ children, value, id, ...rest }, ref) {
16
+ const { value: tabsValue, tablistRef, setPanelButtonMap, } = react.useContext(tabs.Context);
17
17
  const active = value === tabsValue;
18
+ const generatedId = react.useId();
19
+ const panelId = id ?? `tabpanel-${generatedId}`;
18
20
  const [hasTabbableElement, setHasTabbableElement] = react.useState(false);
21
+ const [labelledBy, setLabelledBy] = react.useState(undefined);
19
22
  const internalRef = react.useRef(null);
20
23
  const mergedRef = useMergeRefs.useMergeRefs([ref, internalRef]);
21
24
  /* Check if the panel has any tabbable elements */
@@ -25,7 +28,17 @@ const TabsPanel = react.forwardRef(function TabsPanel({ children, value, ...rest
25
28
  const tabbableElements = internalRef.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
26
29
  setHasTabbableElement(tabbableElements.length > 0);
27
30
  }, [children]);
28
- return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: active && (jsxRuntime.jsx("div", { ref: mergedRef, role: 'tabpanel', tabIndex: hasTabbableElement ? undefined : 0, ...rest, children: children })) }));
31
+ /* get associated button */
32
+ react.useEffect(() => {
33
+ if (!tablistRef)
34
+ return;
35
+ const button = tablistRef.current?.querySelector(`[role="tab"][data-value="${value}"]`);
36
+ setLabelledBy(button ? button.id : undefined);
37
+ if (button) {
38
+ setPanelButtonMap?.((prev) => new Map(prev).set(button.id, panelId));
39
+ }
40
+ }, [tablistRef]);
41
+ return (jsxRuntime.jsx("div", { ref: mergedRef, id: panelId, role: 'tabpanel', tabIndex: hasTabbableElement ? undefined : 0, "aria-labelledby": labelledBy, hidden: !active, ...rest, children: children }));
29
42
  });
30
43
 
31
44
  exports.TabsPanel = TabsPanel;
@@ -12,11 +12,14 @@ var tabs = require('./tabs.js');
12
12
  * @example
13
13
  * <TabsTab value='1'>Tab 1</TabsTab>
14
14
  */
15
- const TabsTab = react.forwardRef(function TabsTab({ value, id, ...rest }, ref) {
15
+ const TabsTab = react.forwardRef(function TabsTab({ value, id, onClick, ...rest }, ref) {
16
16
  const tabs$1 = react.useContext(tabs.Context);
17
17
  const generatedId = react.useId();
18
18
  const buttonId = id ?? `tab-${generatedId}`;
19
- return (jsxRuntime.jsx(rovingFocusItem.RovingFocusItem, { value: value, ...rest, asChild: true, children: jsxRuntime.jsx("button", { ...rest, "aria-selected": tabs$1.value === value, id: buttonId, onClick: () => tabs$1.onChange?.(value), ref: ref, role: 'tab', type: 'button' }) }));
19
+ return (jsxRuntime.jsx(rovingFocusItem.RovingFocusItem, { value: value, ...rest, asChild: true, children: jsxRuntime.jsx("button", { ref: ref, id: buttonId, "aria-selected": tabs$1.value === value, "data-value": value, role: 'tab', type: 'button', onClick: (e) => {
20
+ tabs$1.onChange?.(value);
21
+ onClick?.(e);
22
+ }, "aria-controls": tabs$1.panelButtonMap?.get(buttonId), ...rest }) }));
20
23
  });
21
24
 
22
25
  exports.TabsTab = TabsTab;
@@ -22,8 +22,10 @@ const Context = react.createContext({});
22
22
  * </Tabs>
23
23
  */
24
24
  const Tabs = react.forwardRef(function Tabs({ value, defaultValue, className, onChange, ...rest }, ref) {
25
+ const tablistRef = react.useRef(null);
25
26
  const isControlled = value !== undefined;
26
27
  const [uncontrolledValue, setUncontrolledValue] = react.useState(defaultValue);
28
+ const [panelButtonMap, setPanelButtonMap] = react.useState(new Map());
27
29
  let onValueChange = onChange;
28
30
  if (!isControlled) {
29
31
  onValueChange = (newValue) => {
@@ -36,6 +38,9 @@ const Tabs = react.forwardRef(function Tabs({ value, defaultValue, className, on
36
38
  value,
37
39
  defaultValue,
38
40
  onChange: onValueChange,
41
+ tablistRef,
42
+ panelButtonMap,
43
+ setPanelButtonMap,
39
44
  }, children: jsxRuntime.jsx("div", { className: cl('ds-tabs', className), ref: ref, ...rest }) }));
40
45
  });
41
46
 
@@ -65,18 +65,34 @@ const Tooltip = react.forwardRef(function Tooltip({ id, children, content, place
65
65
  });
66
66
  }
67
67
  }, [controlledOpen, placement]);
68
- /* Add listener for ESC to dismiss */
68
+ /* Add listeners for ESC to dismiss and click outside on mobile */
69
69
  react.useEffect(() => {
70
+ const tooltip = tooltipRef.current;
71
+ const trigger = triggerRef.current;
70
72
  const handleKeyDown = (event) => {
71
73
  if (event.key === 'Escape') {
72
74
  setInternalOpen(false);
73
75
  }
74
76
  };
75
- window.addEventListener('keydown', handleKeyDown);
77
+ const handleClick = (event) => {
78
+ const el = event.target;
79
+ const isTooltip = tooltip?.contains(el);
80
+ const isTrigger = trigger?.contains(el);
81
+ const isOutside = !isTrigger && !isTooltip;
82
+ if (isOutside && controlledOpen) {
83
+ setInternalOpen(false);
84
+ }
85
+ };
86
+ if (controlledOpen) {
87
+ window.addEventListener('keydown', handleKeyDown);
88
+ /* Add click listener to handle mobile tap-to-close */
89
+ document.addEventListener('click', handleClick);
90
+ }
76
91
  return () => {
77
92
  window.removeEventListener('keydown', handleKeyDown);
93
+ document.removeEventListener('click', handleClick);
78
94
  };
79
- }, []);
95
+ }, [controlledOpen]);
80
96
  /* If children is only a string, make a span */
81
97
  const ChildContainer = typeof children === 'string' ? 'span' : reactSlot.Slot;
82
98
  /* Make sure it is valid */
package/dist/cjs/index.js CHANGED
@@ -82,7 +82,6 @@ var skeleton = require('./components/skeleton/skeleton.js');
82
82
  var skipLink = require('./components/skip-link/skip-link.js');
83
83
  var spinner = require('./components/spinner/spinner.js');
84
84
  var index$g = require('./components/suggestion/index.js');
85
- var suggestionChips = require('./components/suggestion/suggestion-chips.js');
86
85
  var suggestionClear = require('./components/suggestion/suggestion-clear.js');
87
86
  var suggestionEmpty = require('./components/suggestion/suggestion-empty.js');
88
87
  var suggestionInput = require('./components/suggestion/suggestion-input.js');
@@ -196,7 +195,6 @@ exports.Skeleton = skeleton.Skeleton;
196
195
  exports.SkipLink = skipLink.SkipLink;
197
196
  exports.Spinner = spinner.Spinner;
198
197
  exports.EXPERIMENTAL_Suggestion = index$g.EXPERIMENTAL_Suggestion;
199
- exports.EXPERIMENTAL_SuggestionChips = suggestionChips.SuggestionChips;
200
198
  exports.EXPERIMENTAL_SuggestionClear = suggestionClear.SuggestionClear;
201
199
  exports.EXPERIMENTAL_SuggestionEmpty = suggestionEmpty.SuggestionEmpty;
202
200
  exports.EXPERIMENTAL_SuggestionInput = suggestionInput.SuggestionInput;
@@ -12,7 +12,7 @@ function useMergeRefs(refs) {
12
12
  const refEffect = react.useCallback((instance) => {
13
13
  const cleanups = refs.map((ref) => {
14
14
  if (ref == null) {
15
- return;
15
+ return null;
16
16
  }
17
17
  if (typeof ref === 'function') {
18
18
  const refCallback = ref;
@@ -63,6 +63,7 @@ function useCombobox({ children, inputValue, multiple, filter = (inputValue, opt
63
63
  displayValue: props.displayValue,
64
64
  description: props.description,
65
65
  };
66
+ return null;
66
67
  });
67
68
  return allOptions;
68
69
  }, [optionsChildren]);
@@ -93,7 +94,7 @@ function useCombobox({ children, inputValue, multiple, filter = (inputValue, opt
93
94
  filteredOptions.push(option);
94
95
  return optionsChildren[index];
95
96
  }
96
- return;
97
+ return null;
97
98
  })
98
99
  .filter((child) => child);
99
100
  return { filteredOptions, filteredOptionsChildren };
@@ -47,6 +47,12 @@ const Dialog = forwardRef(function Dialog({ asChild, children, className, closeB
47
47
  return (closedby === 'none' &&
48
48
  event.key === 'Escape' &&
49
49
  event.preventDefault()); // Skip ESC-key if closedby="none"
50
+ /* Check if clicked element or its closest parent has data-command='close' */
51
+ if (target instanceof Element) {
52
+ const closeElement = target.closest('[data-command="close"]');
53
+ if (closeElement)
54
+ return dialog?.close();
55
+ }
50
56
  if (window.getSelection()?.toString())
51
57
  return; // Fix bug where if you select text spanning two divs it thinks you clicked outside
52
58
  if (dialog && target === dialog && closedby === 'any') {
@@ -77,7 +83,7 @@ const Dialog = forwardRef(function Dialog({ asChild, children, className, closeB
77
83
  currentRef?.addEventListener('close', handleClose);
78
84
  return () => currentRef?.removeEventListener('close', handleClose);
79
85
  }, [onClose]);
80
- 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] }));
86
+ return (jsxs(Component, { className: cl('ds-dialog', className), ref: mergedRefs, "data-modal": modal, ...rest, children: [closeButton !== false && (jsx(Button, { "aria-label": closeButton, autoFocus: true, "data-color": 'neutral', icon: true, variant: 'tertiary', "data-command": 'close' })), children] }));
81
87
  });
82
88
 
83
89
  export { Dialog };
@@ -25,7 +25,7 @@ function fieldObserver(fieldElement) {
25
25
  elements.set(el, el.htmlFor);
26
26
  else if (el.hasAttribute('data-field'))
27
27
  elements.set(el, el.id);
28
- else if (isInputLike(el)) {
28
+ else if (isInputLike(el) && !el.hidden) {
29
29
  input = el;
30
30
  describedby = el.getAttribute('aria-describedby') || '';
31
31
  }
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
  import { Suggestion } from './suggestion.js';
3
- import { SuggestionChips } from './suggestion-chips.js';
4
3
  import { SuggestionClear } from './suggestion-clear.js';
5
4
  import { SuggestionEmpty } from './suggestion-empty.js';
6
5
  import { SuggestionInput } from './suggestion-input.js';
@@ -22,7 +21,6 @@ import { SuggestionOption } from './suggestion-option.js';
22
21
  * </Suggestion>
23
22
  */
24
23
  const EXPERIMENTAL_Suggestion = Object.assign(Suggestion, {
25
- Chips: SuggestionChips,
26
24
  List: SuggestionList,
27
25
  Input: SuggestionInput,
28
26
  Empty: SuggestionEmpty,
@@ -30,11 +28,10 @@ const EXPERIMENTAL_Suggestion = Object.assign(Suggestion, {
30
28
  Clear: SuggestionClear,
31
29
  });
32
30
  EXPERIMENTAL_Suggestion.displayName = 'EXPERIMENTAL_Suggestion';
33
- EXPERIMENTAL_Suggestion.Chips.displayName = 'EXPERIMENTAL_Suggestion.Chips';
34
31
  EXPERIMENTAL_Suggestion.List.displayName = 'EXPERIMENTAL_Suggestion.List';
35
32
  EXPERIMENTAL_Suggestion.Input.displayName = 'EXPERIMENTAL_Suggestion.Input';
36
33
  EXPERIMENTAL_Suggestion.Empty.displayName = 'EXPERIMENTAL_Suggestion.Empty';
37
34
  EXPERIMENTAL_Suggestion.Option.displayName = 'EXPERIMENTAL_Suggestion.Option';
38
35
  EXPERIMENTAL_Suggestion.Clear.displayName = 'EXPERIMENTAL_Suggestion.Clear';
39
36
 
40
- export { EXPERIMENTAL_Suggestion, SuggestionChips as EXPERIMENTAL_SuggestionChips, SuggestionClear as EXPERIMENTAL_SuggestionClear, SuggestionEmpty as EXPERIMENTAL_SuggestionEmpty, SuggestionInput as EXPERIMENTAL_SuggestionInput, SuggestionList as EXPERIMENTAL_SuggestionList, SuggestionOption as EXPERIMENTAL_SuggestionOption };
37
+ export { EXPERIMENTAL_Suggestion, SuggestionClear as EXPERIMENTAL_SuggestionClear, SuggestionEmpty as EXPERIMENTAL_SuggestionEmpty, SuggestionInput as EXPERIMENTAL_SuggestionInput, SuggestionList as EXPERIMENTAL_SuggestionList, SuggestionOption as EXPERIMENTAL_SuggestionOption };
@@ -10,35 +10,21 @@ const SuggestionContext = createContext({
10
10
  handleFilter: () => undefined,
11
11
  });
12
12
  const text = (el) => el.textContent?.trim() || '';
13
- const sanitizeItems = (values = []) => (typeof values === 'string'
13
+ const sanitizeItems = (values = []) => typeof values === 'string'
14
14
  ? [{ label: values, value: values }]
15
- : values.map((value) => typeof value === 'string'
16
- ? { label: value, value }
17
- : {
18
- label: value.label || value.value || '',
19
- value: value.value || '',
20
- })).filter((x) => !!x.label);
15
+ : !Array.isArray(values)
16
+ ? [values]
17
+ : values.map((value) => typeof value === 'string' ? { label: value, value } : value);
21
18
  const nextItems = (data, prev, multiple) => {
22
19
  const item = { label: text(data), value: data.value };
23
20
  if (!multiple)
24
- return data.isConnected ? [] : [item];
21
+ return data.isConnected ? undefined : item;
25
22
  return data.isConnected
26
23
  ? sanitizeItems(prev).filter(({ value }) => value !== item.value)
27
24
  : [...sanitizeItems(prev), item];
28
25
  };
29
26
  const defaultFilter = ({ label, input }) => label.toLowerCase().includes(input.value.trim().toLowerCase());
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');
27
+ const Suggestion = forwardRef(function Suggestion({ children, className, creatable = false, defaultSelected, filter = true, multiple = false, name, onBeforeMatch, onSelectedChange, renderSelected = ({ label }) => label, selected, ...rest }, ref) {
42
28
  const uComboboxRef = useRef(null);
43
29
  const genId = useId();
44
30
  const selectId = rest.id ? `${rest.id}-select` : genId;
@@ -56,20 +42,21 @@ const Suggestion = forwardRef(function Suggestion({ children, className, creatab
56
42
  event.preventDefault();
57
43
  const multiple = combobox?.multiple;
58
44
  const data = event.detail;
45
+ const nextItem = nextItems(data, selectedItems, multiple);
59
46
  if (isControlled)
60
- onSelectedChange?.(nextItems(data, selectedItems, multiple));
47
+ onSelectedChange?.(nextItem);
61
48
  else
62
- setDefaultItems(nextItems(data, selectedItems, multiple));
49
+ setDefaultItems(sanitizeItems(nextItem));
63
50
  };
64
- combobox?.addEventListener('beforechange', beforeChange);
65
- return () => combobox?.removeEventListener('beforechange', beforeChange);
51
+ combobox?.addEventListener('comboboxbeforeselect', beforeChange);
52
+ return () => combobox?.removeEventListener('comboboxbeforeselect', beforeChange);
66
53
  }, [selectedItems, isControlled]);
67
54
  // Before match event listener
68
55
  useEffect(() => {
69
56
  const combobox = uComboboxRef.current;
70
57
  const beforeMatch = (e) => onBeforeMatch?.(e);
71
- combobox?.addEventListener('beforematch', beforeMatch);
72
- return () => combobox?.removeEventListener('beforematch', beforeMatch);
58
+ combobox?.addEventListener('comboboxbeforematch', beforeMatch);
59
+ return () => combobox?.removeEventListener('comboboxbeforematch', beforeMatch);
73
60
  }, [onBeforeMatch]);
74
61
  const handleFilter = useCallback(() => {
75
62
  const { control: input, options = [] } = uComboboxRef?.current || {};
@@ -3,6 +3,7 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef, useContext } from 'react';
4
4
  import { RovingFocusRoot } from '../../utilities/roving-focus/roving-focus-root.js';
5
5
  import { Context } from './tabs.js';
6
+ import { useMergeRefs } from '../../utilities/hooks/use-merge-refs/use-merge-refs.js';
6
7
 
7
8
  /**
8
9
  * The container for all `Tab` components.
@@ -14,8 +15,9 @@ import { Context } from './tabs.js';
14
15
  * </TabsList>
15
16
  */
16
17
  const TabsList = forwardRef(function TabsList({ children, ...rest }, ref) {
17
- const { value } = useContext(Context);
18
- return (jsx(RovingFocusRoot, { role: 'tablist', activeValue: value, orientation: 'ambiguous', ref: ref, ...rest, children: children }));
18
+ const { value, tablistRef } = useContext(Context);
19
+ const mergedRefs = useMergeRefs([ref, tablistRef]);
20
+ return (jsx(RovingFocusRoot, { role: 'tablist', activeValue: value, orientation: 'ambiguous', ref: mergedRefs, ...rest, children: children }));
19
21
  });
20
22
 
21
23
  export { TabsList };
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { jsx, Fragment } from 'react/jsx-runtime';
3
- import { forwardRef, useContext, useState, useRef, useEffect } from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useContext, useId, useState, useRef, useEffect } from 'react';
4
4
  import { Context } from './tabs.js';
5
5
  import { useMergeRefs } from '../../utilities/hooks/use-merge-refs/use-merge-refs.js';
6
6
 
@@ -10,10 +10,13 @@ import { useMergeRefs } from '../../utilities/hooks/use-merge-refs/use-merge-ref
10
10
  * @example
11
11
  * <TabsPanel value='1'>content 1</TabsPanel>
12
12
  */
13
- const TabsPanel = forwardRef(function TabsPanel({ children, value, ...rest }, ref) {
14
- const { value: tabsValue } = useContext(Context);
13
+ const TabsPanel = forwardRef(function TabsPanel({ children, value, id, ...rest }, ref) {
14
+ const { value: tabsValue, tablistRef, setPanelButtonMap, } = useContext(Context);
15
15
  const active = value === tabsValue;
16
+ const generatedId = useId();
17
+ const panelId = id ?? `tabpanel-${generatedId}`;
16
18
  const [hasTabbableElement, setHasTabbableElement] = useState(false);
19
+ const [labelledBy, setLabelledBy] = useState(undefined);
17
20
  const internalRef = useRef(null);
18
21
  const mergedRef = useMergeRefs([ref, internalRef]);
19
22
  /* Check if the panel has any tabbable elements */
@@ -23,7 +26,17 @@ const TabsPanel = forwardRef(function TabsPanel({ children, value, ...rest }, re
23
26
  const tabbableElements = internalRef.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
24
27
  setHasTabbableElement(tabbableElements.length > 0);
25
28
  }, [children]);
26
- return (jsx(Fragment, { children: active && (jsx("div", { ref: mergedRef, role: 'tabpanel', tabIndex: hasTabbableElement ? undefined : 0, ...rest, children: children })) }));
29
+ /* get associated button */
30
+ useEffect(() => {
31
+ if (!tablistRef)
32
+ return;
33
+ const button = tablistRef.current?.querySelector(`[role="tab"][data-value="${value}"]`);
34
+ setLabelledBy(button ? button.id : undefined);
35
+ if (button) {
36
+ setPanelButtonMap?.((prev) => new Map(prev).set(button.id, panelId));
37
+ }
38
+ }, [tablistRef]);
39
+ return (jsx("div", { ref: mergedRef, id: panelId, role: 'tabpanel', tabIndex: hasTabbableElement ? undefined : 0, "aria-labelledby": labelledBy, hidden: !active, ...rest, children: children }));
27
40
  });
28
41
 
29
42
  export { TabsPanel };
@@ -10,11 +10,14 @@ import { Context } from './tabs.js';
10
10
  * @example
11
11
  * <TabsTab value='1'>Tab 1</TabsTab>
12
12
  */
13
- const TabsTab = forwardRef(function TabsTab({ value, id, ...rest }, ref) {
13
+ const TabsTab = forwardRef(function TabsTab({ value, id, onClick, ...rest }, ref) {
14
14
  const tabs = useContext(Context);
15
15
  const generatedId = useId();
16
16
  const buttonId = id ?? `tab-${generatedId}`;
17
- return (jsx(RovingFocusItem, { value: value, ...rest, asChild: true, children: jsx("button", { ...rest, "aria-selected": tabs.value === value, id: buttonId, onClick: () => tabs.onChange?.(value), ref: ref, role: 'tab', type: 'button' }) }));
17
+ return (jsx(RovingFocusItem, { value: value, ...rest, asChild: true, children: jsx("button", { ref: ref, id: buttonId, "aria-selected": tabs.value === value, "data-value": value, role: 'tab', type: 'button', onClick: (e) => {
18
+ tabs.onChange?.(value);
19
+ onClick?.(e);
20
+ }, "aria-controls": tabs.panelButtonMap?.get(buttonId), ...rest }) }));
18
21
  });
19
22
 
20
23
  export { TabsTab };
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import cl from 'clsx/lite';
4
- import { forwardRef, createContext, useState } from 'react';
4
+ import { forwardRef, createContext, useRef, useState } from 'react';
5
5
 
6
6
  const Context = createContext({});
7
7
  /**
@@ -20,8 +20,10 @@ const Context = createContext({});
20
20
  * </Tabs>
21
21
  */
22
22
  const Tabs = forwardRef(function Tabs({ value, defaultValue, className, onChange, ...rest }, ref) {
23
+ const tablistRef = useRef(null);
23
24
  const isControlled = value !== undefined;
24
25
  const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
26
+ const [panelButtonMap, setPanelButtonMap] = useState(new Map());
25
27
  let onValueChange = onChange;
26
28
  if (!isControlled) {
27
29
  onValueChange = (newValue) => {
@@ -34,6 +36,9 @@ const Tabs = forwardRef(function Tabs({ value, defaultValue, className, onChange
34
36
  value,
35
37
  defaultValue,
36
38
  onChange: onValueChange,
39
+ tablistRef,
40
+ panelButtonMap,
41
+ setPanelButtonMap,
37
42
  }, children: jsx("div", { className: cl('ds-tabs', className), ref: ref, ...rest }) }));
38
43
  });
39
44
 
@@ -63,18 +63,34 @@ const Tooltip = forwardRef(function Tooltip({ id, children, content, placement =
63
63
  });
64
64
  }
65
65
  }, [controlledOpen, placement]);
66
- /* Add listener for ESC to dismiss */
66
+ /* Add listeners for ESC to dismiss and click outside on mobile */
67
67
  useEffect(() => {
68
+ const tooltip = tooltipRef.current;
69
+ const trigger = triggerRef.current;
68
70
  const handleKeyDown = (event) => {
69
71
  if (event.key === 'Escape') {
70
72
  setInternalOpen(false);
71
73
  }
72
74
  };
73
- window.addEventListener('keydown', handleKeyDown);
75
+ const handleClick = (event) => {
76
+ const el = event.target;
77
+ const isTooltip = tooltip?.contains(el);
78
+ const isTrigger = trigger?.contains(el);
79
+ const isOutside = !isTrigger && !isTooltip;
80
+ if (isOutside && controlledOpen) {
81
+ setInternalOpen(false);
82
+ }
83
+ };
84
+ if (controlledOpen) {
85
+ window.addEventListener('keydown', handleKeyDown);
86
+ /* Add click listener to handle mobile tap-to-close */
87
+ document.addEventListener('click', handleClick);
88
+ }
74
89
  return () => {
75
90
  window.removeEventListener('keydown', handleKeyDown);
91
+ document.removeEventListener('click', handleClick);
76
92
  };
77
- }, []);
93
+ }, [controlledOpen]);
78
94
  /* If children is only a string, make a span */
79
95
  const ChildContainer = typeof children === 'string' ? 'span' : Slot;
80
96
  /* Make sure it is valid */
package/dist/esm/index.js CHANGED
@@ -80,7 +80,6 @@ export { Skeleton } from './components/skeleton/skeleton.js';
80
80
  export { SkipLink } from './components/skip-link/skip-link.js';
81
81
  export { Spinner } from './components/spinner/spinner.js';
82
82
  export { EXPERIMENTAL_Suggestion } from './components/suggestion/index.js';
83
- export { SuggestionChips as EXPERIMENTAL_SuggestionChips } from './components/suggestion/suggestion-chips.js';
84
83
  export { SuggestionClear as EXPERIMENTAL_SuggestionClear } from './components/suggestion/suggestion-clear.js';
85
84
  export { SuggestionEmpty as EXPERIMENTAL_SuggestionEmpty } from './components/suggestion/suggestion-empty.js';
86
85
  export { SuggestionInput as EXPERIMENTAL_SuggestionInput } from './components/suggestion/suggestion-input.js';
@@ -10,7 +10,7 @@ function useMergeRefs(refs) {
10
10
  const refEffect = useCallback((instance) => {
11
11
  const cleanups = refs.map((ref) => {
12
12
  if (ref == null) {
13
- return;
13
+ return null;
14
14
  }
15
15
  if (typeof ref === 'function') {
16
16
  const refCallback = ref;
@@ -1 +1 @@
1
- {"version":3,"file":"Custom.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/Custom.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAO5C,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,IAAI,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,cAAc,CAAC,cAAc,CAAC,GAChC,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,CAAC;AAE3C,QAAA,MAAM,cAAc,4FAgDnB,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"Custom.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/Custom.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAO5C,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,IAAI,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,cAAc,CAAC,cAAc,CAAC,GAChC,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,CAAC;AAE3C,QAAA,MAAM,cAAc,4FA+CnB,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../../src/components/Combobox/Option/Option.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAS3E,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE5C,QAAA,MAAM,cAAc;IAflB;;OAEG;WACI,MAAM;IACb;;OAEG;kBACW,MAAM;IACpB;;;OAGG;mBACY,MAAM;qFAoEtB,CAAC;AAIF,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,GACf,KAAK,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAE5C"}
1
+ {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../../src/components/Combobox/Option/Option.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAS3E,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE5C,QAAA,MAAM,cAAc;IAflB;;OAEG;WACI,MAAM;IACb;;OAEG;kBACW,MAAM;IACpB;;;OAGG;mBACY,MAAM;qFAmEtB,CAAC;AAIF,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,GACf,KAAK,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAE5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxInput.d.ts","sourceRoot":"","sources":["../../../../src/components/Combobox/internal/ComboboxInput.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,mBAAmB,EACnB,aAAa,EAEd,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQjD,KAAK,kBAAkB,GAAG;IACxB,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/C,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;AAExD,QAAA,MAAM,aAAa;4EAOhB,kBAAkB;;CAoIpB,CAAC;AAIF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ComboboxInput.d.ts","sourceRoot":"","sources":["../../../../src/components/Combobox/internal/ComboboxInput.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,mBAAmB,EACnB,aAAa,EAEd,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQjD,KAAK,kBAAkB,GAAG;IACxB,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/C,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;AAExD,QAAA,MAAM,aAAa;4EAOhB,kBAAkB;;CAmIpB,CAAC;AAIF,eAAe,aAAa,CAAC"}
@@ -16,7 +16,7 @@ export type Option = {
16
16
  description?: string;
17
17
  };
18
18
  export declare function useCombobox({ children, inputValue, multiple, filter, initialValue, }: UseComboboxProps): {
19
- filteredOptionsChildren: (ReactElement<ComboboxOptionProps, string | React.JSXElementConstructor<any>> | undefined)[];
19
+ filteredOptionsChildren: (ReactElement<ComboboxOptionProps, string | React.JSXElementConstructor<any>> | null)[];
20
20
  filteredOptions: string[];
21
21
  restChildren: ReactNode[];
22
22
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"useCombobox.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/useCombobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,iBAAiB,CAAC;AAG7E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAIF,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,MAEC,EACD,YAAY,GACb,EAAE,gBAAgB;;;;;;;;;;;;;;;EA0JlB"}
1
+ {"version":3,"file":"useCombobox.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/useCombobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,mBAAmB,EAAoB,MAAM,iBAAiB,CAAC;AAG7E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAIF,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,MAEC,EACD,YAAY,GACb,EAAE,gBAAgB;;;;;;;;;;;;;;;EA4JlB"}
@@ -32,6 +32,8 @@ export type DialogProps = MergeRight<DefaultProps & DialogHTMLAttributes<HTMLDia
32
32
  /**
33
33
  * Change the default rendered element for the one passed as a child, merging their props and behavior.
34
34
  * @default false
35
+ *
36
+ * @deprecated Will be removed in the next major version. Should always be a `<dialog>` element
35
37
  */
36
38
  asChild?: boolean;
37
39
  }>;
@@ -89,6 +91,8 @@ export declare const Dialog: React.ForwardRefExoticComponent<Omit<DefaultProps &
89
91
  /**
90
92
  * Change the default rendered element for the one passed as a child, merging their props and behavior.
91
93
  * @default false
94
+ *
95
+ * @deprecated Will be removed in the next major version. Should always be a `<dialog>` element
92
96
  */
93
97
  asChild?: boolean;
94
98
  } & React.RefAttributes<HTMLDialogElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKlD,MAAM,MAAM,WAAW,GAAG,UAAU,CAClC,YAAY,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,EACtD;IACE;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,KAAK,CAAC;IAC3C;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,MAAM;IA1Df;;;OAGG;kBACW,MAAM,GAAG,KAAK;IAC5B;;;;OAIG;eACQ,MAAM,GAAG,cAAc,GAAG,KAAK;IAC1C;;;;;;OAMG;YACK,OAAO;IACf;;OAEG;WACI,OAAO;IACd;;OAEG;cACO,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAChC;;;OAGG;cACO,OAAO;2CAsHpB,CAAC"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKlD,MAAM,MAAM,WAAW,GAAG,UAAU,CAClC,YAAY,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,EACtD;IACE;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,KAAK,CAAC;IAC3C;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,MAAM;IA5Df;;;OAGG;kBACW,MAAM,GAAG,KAAK;IAC5B;;;;OAIG;eACQ,MAAM,GAAG,cAAc,GAAG,KAAK;IAC1C;;;;;;OAMG;YACK,OAAO;IACf;;OAEG;WACI,OAAO;IACd;;OAEG;cACO,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAChC;;;;;OAKG;cACO,OAAO;2CA2HpB,CAAC"}
@@ -58,8 +58,8 @@ export type { SkipLinkProps } from './skip-link/skip-link';
58
58
  export { SkipLink } from './skip-link/skip-link';
59
59
  export type { SpinnerProps } from './spinner/spinner';
60
60
  export { Spinner } from './spinner/spinner';
61
- export type { SuggestionChipsProps, SuggestionClearProps, SuggestionEmptyProps, SuggestionInputProps, SuggestionListProps, SuggestionOptionProps, SuggestionProps, SuggestionValues, } from './suggestion';
62
- export { EXPERIMENTAL_Suggestion, EXPERIMENTAL_SuggestionChips, EXPERIMENTAL_SuggestionClear, EXPERIMENTAL_SuggestionEmpty, EXPERIMENTAL_SuggestionInput, EXPERIMENTAL_SuggestionList, EXPERIMENTAL_SuggestionOption, } from './suggestion';
61
+ export type { SuggestionClearProps, SuggestionEmptyProps, SuggestionInputProps, SuggestionItem, SuggestionListProps, SuggestionMultipleProps, SuggestionOptionProps, SuggestionProps, SuggestionSingleProps, } from './suggestion';
62
+ export { EXPERIMENTAL_Suggestion, EXPERIMENTAL_SuggestionClear, EXPERIMENTAL_SuggestionEmpty, EXPERIMENTAL_SuggestionInput, EXPERIMENTAL_SuggestionList, EXPERIMENTAL_SuggestionOption, } from './suggestion';
63
63
  export type { SwitchProps } from './switch/switch';
64
64
  export { Switch } from './switch/switch';
65
65
  export type { TableBodyProps, TableCellProps, TableFootProps, TableHeaderCellProps, TableHeadProps, TableProps, TableRowProps, } from './table';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -18,13 +18,9 @@ export type SkeletonProps = {
18
18
  * @default false
19
19
  */
20
20
  asChild?: boolean;
21
- } & HTMLAttributes<HTMLSpanElement> & ({
22
- variant: 'text';
21
+ /** @deprecated This prop has no effect. Use `width` or supply text as children instead */
23
22
  characters?: number;
24
- } | {
25
- variant?: 'rectangle' | 'circle';
26
- characters?: never;
27
- });
23
+ } & HTMLAttributes<HTMLSpanElement>;
28
24
  /**
29
25
  * Skeleton is used to represent a draft of page while the content loads.
30
26
  *
@@ -33,5 +29,26 @@ export type SkeletonProps = {
33
29
  * <Skeleton variant="text" />
34
30
  * <Skeleton variant="rectangle" />
35
31
  */
36
- export declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLSpanElement>>;
32
+ export declare const Skeleton: React.ForwardRefExoticComponent<{
33
+ /**
34
+ * The width of the component
35
+ */
36
+ width?: string | number;
37
+ /**
38
+ * The height of the component
39
+ */
40
+ height?: string | number;
41
+ /**
42
+ * The shape variant
43
+ * @default 'rectangle'
44
+ */
45
+ variant?: "rectangle" | "circle" | "text";
46
+ /**
47
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
48
+ * @default false
49
+ */
50
+ asChild?: boolean;
51
+ /** @deprecated This prop has no effect. Use `width` or supply text as children instead */
52
+ characters?: number;
53
+ } & HTMLAttributes<HTMLSpanElement> & React.RefAttributes<HTMLSpanElement>>;
37
54
  //# sourceMappingURL=skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/skeleton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAIxD,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,cAAc,CAAC,eAAe,CAAC,GACjC,CACI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAE,CAC3D,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,uFAgCpB,CAAC"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/skeleton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAIxD,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAEpC;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;IA9BnB;;OAEG;YACK,MAAM,GAAG,MAAM;IACvB;;OAEG;aACM,MAAM,GAAG,MAAM;IACxB;;;OAGG;cACO,WAAW,GAAG,QAAQ,GAAG,MAAM;IACzC;;;OAGG;cACO,OAAO;IACjB,0FAA0F;iBAC7E,MAAM;2EA2CpB,CAAC"}
@@ -1,15 +1,10 @@
1
1
  import { Suggestion as SuggestionRoot } from './suggestion';
2
- import { SuggestionChips } from './suggestion-chips';
3
2
  import { SuggestionClear } from './suggestion-clear';
4
3
  import { SuggestionEmpty } from './suggestion-empty';
5
4
  import { SuggestionInput } from './suggestion-input';
6
5
  import { SuggestionList } from './suggestion-list';
7
6
  import { SuggestionOption } from './suggestion-option';
8
7
  type Suggestion = typeof SuggestionRoot & {
9
- /**
10
- * @deprecated Suggestion.Chips is deprecated, use `renderSelected` on `Suggestion` instead
11
- */
12
- Chips: typeof SuggestionChips;
13
8
  /**
14
9
  * Component that provides a Suggestion list.
15
10
  *
@@ -87,10 +82,8 @@ type Suggestion = typeof SuggestionRoot & {
87
82
  * </Suggestion>
88
83
  */
89
84
  declare const EXPERIMENTAL_Suggestion: Suggestion;
90
- export { EXPERIMENTAL_Suggestion, SuggestionChips as EXPERIMENTAL_SuggestionChips, SuggestionList as EXPERIMENTAL_SuggestionList, SuggestionInput as EXPERIMENTAL_SuggestionInput, SuggestionEmpty as EXPERIMENTAL_SuggestionEmpty, SuggestionOption as EXPERIMENTAL_SuggestionOption, SuggestionClear as EXPERIMENTAL_SuggestionClear, };
91
- export type { SuggestionProps, SuggestionSelected, // Export SuggestionValues for easier useState
92
- SuggestionSelected as SuggestionValues, } from './suggestion';
93
- export type { SuggestionChipsProps } from './suggestion-chips';
85
+ export { EXPERIMENTAL_Suggestion, SuggestionList as EXPERIMENTAL_SuggestionList, SuggestionInput as EXPERIMENTAL_SuggestionInput, SuggestionEmpty as EXPERIMENTAL_SuggestionEmpty, SuggestionOption as EXPERIMENTAL_SuggestionOption, SuggestionClear as EXPERIMENTAL_SuggestionClear, };
86
+ export type { SuggestionItem, SuggestionMultipleProps, SuggestionProps, SuggestionSingleProps, } from './suggestion';
94
87
  export type { SuggestionClearProps } from './suggestion-clear';
95
88
  export type { SuggestionEmptyProps } from './suggestion-empty';
96
89
  export type { SuggestionInputProps } from './suggestion-input';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/suggestion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,KAAK,UAAU,GAAG,OAAO,cAAc,GAAG;IACxC;;OAEG;IACH,KAAK,EAAE,OAAO,eAAe,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,IAAI,EAAE,OAAO,cAAc,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,KAAK,EAAE,OAAO,eAAe,CAAC;IAC9B;;;;;;;;;OASG;IACH,KAAK,EAAE,OAAO,eAAe,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,OAAO,gBAAgB,CAAC;IAChC;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,OAAO,eAAe,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,uBAAuB,EAAE,UAO7B,CAAC;AAUH,OAAO,EACL,uBAAuB,EACvB,eAAe,IAAI,4BAA4B,EAC/C,cAAc,IAAI,2BAA2B,EAC7C,eAAe,IAAI,4BAA4B,EAC/C,eAAe,IAAI,4BAA4B,EAC/C,gBAAgB,IAAI,6BAA6B,EACjD,eAAe,IAAI,4BAA4B,GAChD,CAAC;AACF,YAAY,EACV,eAAe,EACf,kBAAkB,EAAE,8CAA8C;AAClE,kBAAkB,IAAI,gBAAgB,GACvC,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/suggestion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,KAAK,UAAU,GAAG,OAAO,cAAc,GAAG;IACxC;;;;;;;;;;OAUG;IACH,IAAI,EAAE,OAAO,cAAc,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,KAAK,EAAE,OAAO,eAAe,CAAC;IAC9B;;;;;;;;;OASG;IACH,KAAK,EAAE,OAAO,eAAe,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,OAAO,gBAAgB,CAAC;IAChC;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,OAAO,eAAe,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,uBAAuB,EAAE,UAM7B,CAAC;AASH,OAAO,EACL,uBAAuB,EACvB,cAAc,IAAI,2BAA2B,EAC7C,eAAe,IAAI,4BAA4B,EAC/C,eAAe,IAAI,4BAA4B,EAC/C,gBAAgB,IAAI,6BAA6B,EACjD,eAAe,IAAI,4BAA4B,GAChD,CAAC;AACF,YAAY,EACV,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  import '@u-elements/u-combobox';
3
3
  import type { UHTMLComboboxElement } from '@u-elements/u-combobox';
4
- export type SuggestionSelected = Array<string | Partial<Item>> | string;
5
- type Item = {
4
+ export type SuggestionItem = {
6
5
  label: string;
7
6
  value: string;
8
7
  };
@@ -41,7 +40,10 @@ type SuggestionContextType = {
41
40
  uComboboxRef?: React.RefObject<UHTMLComboboxElement | null>;
42
41
  };
43
42
  export declare const SuggestionContext: React.Context<SuggestionContextType>;
44
- export type SuggestionProps = {
43
+ type SuggestionValue<T extends {
44
+ multiple: boolean;
45
+ }> = T['multiple'] extends true ? Array<string | SuggestionItem> : string | SuggestionItem;
46
+ type SuggestionBaseProps = {
45
47
  /**
46
48
  * Filter options; boolean or a custom callback.
47
49
  *
@@ -56,42 +58,6 @@ export type SuggestionProps = {
56
58
  * @default false
57
59
  */
58
60
  creatable?: boolean;
59
- /**
60
- * Allows the user to select multiple items
61
- *
62
- * @default false
63
- */
64
- multiple?: boolean;
65
- /**
66
- * The selected items of the Suggestion.
67
- *
68
- * If `label` and `value` is the same, you can use `string[]`.
69
- *
70
- * If `label` and `value` is different, you must use `{ value: string; label: string}[]`.
71
- *
72
- * Using this makes the component controlled and it must be used in combination with `onSelectedChange`.
73
- */
74
- selected?: SuggestionSelected;
75
- /**
76
- * @deprecated Use `selected` instead
77
- */
78
- value?: SuggestionSelected;
79
- /**
80
- * Default selected items when uncontrolled
81
- */
82
- defaultSelected?: SuggestionSelected;
83
- /**
84
- * @deprecated Use `defaultSelected` instead
85
- */
86
- defaultValue?: SuggestionSelected;
87
- /**
88
- * Callback when selected items changes
89
- */
90
- onSelectedChange?: (value: Item[]) => void;
91
- /**
92
- * @deprecated Use `onSelectedChange` instead
93
- */
94
- onValueChange?: (value: Item[]) => void;
95
61
  /**
96
62
  * Callback when matching input value against options
97
63
  */
@@ -111,77 +77,42 @@ export type SuggestionProps = {
111
77
  label: string;
112
78
  value: string;
113
79
  }) => ReactNode;
114
- } & HTMLAttributes<UHTMLComboboxElement>;
115
- export declare const Suggestion: React.ForwardRefExoticComponent<{
116
- /**
117
- * Filter options; boolean or a custom callback.
118
- *
119
- * See {@link Filter} for the callback signature.
120
- *
121
- * @default true
122
- */
123
- filter?: boolean | Filter;
124
- /**
125
- * Allows the user to create new items
126
- *
127
- * @default false
128
- */
129
- creatable?: boolean;
80
+ } & Omit<HTMLAttributes<UHTMLComboboxElement>, 'defaultValue'>;
81
+ type SuggestionValueProps<T extends {
82
+ multiple: boolean;
83
+ }> = {
130
84
  /**
131
85
  * Allows the user to select multiple items
132
86
  *
133
87
  * @default false
134
88
  */
135
- multiple?: boolean;
89
+ multiple?: T['multiple'];
136
90
  /**
137
- * The selected items of the Suggestion.
91
+ * The selected item of the Suggestion.
138
92
  *
139
- * If `label` and `value` is the same, you can use `string[]`.
140
- *
141
- * If `label` and `value` is different, you must use `{ value: string; label: string}[]`.
93
+ * If `label` and `value` are the same, each item can be a `string`. Otherwise, each item must be a `SuggestionItem`.
142
94
  *
143
95
  * Using this makes the component controlled and it must be used in combination with `onSelectedChange`.
144
96
  */
145
- selected?: SuggestionSelected;
146
- /**
147
- * @deprecated Use `selected` instead
148
- */
149
- value?: SuggestionSelected;
150
- /**
151
- * Default selected items when uncontrolled
152
- */
153
- defaultSelected?: SuggestionSelected;
97
+ selected?: SuggestionValue<T>;
154
98
  /**
155
- * @deprecated Use `defaultSelected` instead
99
+ * Default selected item when uncontrolled
156
100
  */
157
- defaultValue?: SuggestionSelected;
101
+ defaultSelected?: SuggestionValue<T>;
158
102
  /**
159
103
  * Callback when selected items changes
160
104
  */
161
- onSelectedChange?: (value: Item[]) => void;
162
- /**
163
- * @deprecated Use `onSelectedChange` instead
164
- */
165
- onValueChange?: (value: Item[]) => void;
166
- /**
167
- * Callback when matching input value against options
168
- */
169
- onBeforeMatch?: (event: EventBeforeMatch) => void;
170
- /**
171
- * The name of the associated form control
172
- *
173
- * @default undefined
174
- */
175
- name?: string;
176
- /**
177
- * Change how the selected options are rendered inside the `Chip`.
178
- *
179
- * @default ({ label }) => label
180
- */
181
- renderSelected?: (args: {
182
- label: string;
183
- value: string;
184
- }) => ReactNode;
185
- } & HTMLAttributes<UHTMLComboboxElement> & React.RefAttributes<UHTMLComboboxElement>>;
105
+ onSelectedChange?: (value: T['multiple'] extends true ? SuggestionItem[] : SuggestionItem | undefined) => void;
106
+ };
107
+ export type SuggestionSingleProps = SuggestionBaseProps & SuggestionValueProps<{
108
+ multiple: false;
109
+ }>;
110
+ export type SuggestionMultipleProps = SuggestionBaseProps & SuggestionValueProps<{
111
+ multiple: true;
112
+ }> & {
113
+ multiple: true;
114
+ };
115
+ export type SuggestionProps = SuggestionSingleProps | SuggestionMultipleProps;
116
+ export declare const Suggestion: React.ForwardRefExoticComponent<SuggestionProps & React.RefAttributes<UHTMLComboboxElement>>;
186
117
  export {};
187
118
  //# sourceMappingURL=suggestion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"suggestion.d.ts","sourceRoot":"","sources":["../../../src/components/suggestion/suggestion.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suggestion.d.ts","sourceRoot":"","sources":["../../../src/components/suggestion/suggestion.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-list.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,sFAgBpB,CAAC"}
1
+ {"version":3,"file":"tabs-list.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAM5C,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,sFAkBpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-panel.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAM5C,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,SAAS;IAbpB;;;OAGG;WACI,MAAM;wFA2Cd,CAAC"}
1
+ {"version":3,"file":"tabs-panel.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAa5C,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,SAAS;IAbpB;;;OAGG;WACI,MAAM;wFAgEd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-tab.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,OAAO;IAZlB;;OAEG;WACI,MAAM;8FA6Bd,CAAC"}
1
+ {"version":3,"file":"tabs-tab.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,OAAO;IAZlB;;OAEG;WACI,MAAM;8FAkCd,CAAC"}
@@ -21,7 +21,10 @@ export type TabsProps = MergeRight<DefaultProps & Omit<HTMLAttributes<HTMLDivEle
21
21
  export type ContextProps = {
22
22
  value?: string;
23
23
  defaultValue?: string;
24
+ panelButtonMap?: Map<string, string>;
25
+ setPanelButtonMap?: React.Dispatch<React.SetStateAction<Map<string, string>>>;
24
26
  onChange?: (value: string) => void;
27
+ tablistRef?: React.RefObject<HTMLDivElement | null>;
25
28
  };
26
29
  export declare const Context: React.Context<ContextProps>;
27
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,UAAU,CAChC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,EACzE;IACE;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CACF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,OAAO,6BAAkC,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI;IAzCb;;;OAGG;YACK,MAAM;IACd;;;OAGG;mBACY,MAAM;IACrB;;;OAGG;eACQ,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;wCAuDpC,CAAC"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,UAAU,CAChC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,EACzE;IACE;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CACF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,iBAAiB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,OAAO,6BAAkC,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI;IA5Cb;;;OAGG;YACK,MAAM;IACd;;;OAGG;mBACY,MAAM;IACrB;;;OAGG;eACQ,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;wCAoEpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAWzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,MAAM,YAAY,GAAG,UAAU,CACnC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,EACjE;IACE;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC;IAC/D;;QAEI;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CACF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO;IA1ChB;;;;;OAKG;cACO,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM;IAC9D;;QAEI;aACK,MAAM;IACf;;;OAGG;gBACS,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM;IAC/C;;;OAGG;oBACa,OAAO;IACvB;;;OAGG;WACI,OAAO;kCAiJjB,CAAC"}
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAWzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,MAAM,YAAY,GAAG,UAAU,CACnC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,EACjE;IACE;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC;IAC/D;;QAEI;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CACF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO;IA1ChB;;;;;OAKG;cACO,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM;IAC9D;;QAEI;aACK,MAAM;IACf;;;OAGG;gBACS,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM;IAC/C;;;OAGG;oBACa,OAAO;IACvB;;;OAGG;WACI,OAAO;kCAoKjB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@digdir/designsystemet-react",
3
3
  "type": "module",
4
- "version": "1.1.10",
4
+ "version": "1.3.0",
5
5
  "description": "React components for Designsystemet",
6
6
  "author": "Designsystemet team",
7
7
  "repository": {
@@ -38,25 +38,25 @@
38
38
  "dependencies": {
39
39
  "@floating-ui/dom": "^1.7.3",
40
40
  "@floating-ui/react": "0.26.23",
41
- "@navikt/aksel-icons": "^7.25.1",
41
+ "@navikt/aksel-icons": "^7.28.1",
42
42
  "@radix-ui/react-slot": "^1.2.3",
43
43
  "@tanstack/react-virtual": "^3.13.12",
44
- "@u-elements/u-combobox": "^0.0.20",
45
- "@u-elements/u-datalist": "^1.0.12",
46
- "@u-elements/u-details": "^0.1.1",
44
+ "@u-elements/u-combobox": "^1.0.1",
45
+ "@u-elements/u-datalist": "^1.0.14",
46
+ "@u-elements/u-details": "^0.1.3",
47
47
  "clsx": "^2.1.1"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@rollup/plugin-commonjs": "^28.0.6",
51
51
  "@rollup/plugin-node-resolve": "^16.0.1",
52
- "@storybook/addon-docs": "^9.1.0",
53
- "@storybook/addon-vitest": "^9.1.0",
54
- "@storybook/react-vite": "^9.1.0",
52
+ "@storybook/addon-docs": "^9.1.2",
53
+ "@storybook/addon-vitest": "^9.1.2",
54
+ "@storybook/react-vite": "^9.1.2",
55
55
  "@testing-library/dom": "^10.4.1",
56
- "@testing-library/jest-dom": "^6.6.4",
56
+ "@testing-library/jest-dom": "^6.7.0",
57
57
  "@testing-library/react": "^16.3.0",
58
58
  "@testing-library/user-event": "^14.6.1",
59
- "@types/react": "^19.1.9",
59
+ "@types/react": "^19.1.10",
60
60
  "@types/react-dom": "^19.1.7",
61
61
  "jsdom": "^26.1.0",
62
62
  "react": "^19.1.1",
@@ -64,11 +64,11 @@
64
64
  "rimraf": "^6.0.1",
65
65
  "rollup": "^4.46.2",
66
66
  "rollup-plugin-copy": "^3.5.0",
67
- "storybook": "^9.1.0",
68
- "tsx": "4.20.3",
67
+ "storybook": "^9.1.2",
68
+ "tsx": "4.20.4",
69
69
  "typescript": "^5.9.2",
70
- "@digdir/designsystemet": "^1.1.10",
71
- "@digdir/designsystemet-css": "^1.1.10"
70
+ "@digdir/designsystemet": "^1.3.0",
71
+ "@digdir/designsystemet-css": "^1.3.0"
72
72
  },
73
73
  "scripts": {
74
74
  "build": "pnpm run clean && tsc -b tsconfig.lib.json --emitDeclarationOnly false && rollup -c --bundleConfigAsCjs",
@@ -1,13 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- /**
5
- * @deprecated Suggestion.Chips is deprecated, use `renderSelected` on `Suggestion` instead
6
- */
7
- const SuggestionChips = () => {
8
- console.warn('Suggestion: Using <Suggestion.Chips> is deprecated - please remove from your code.');
9
- return null;
10
- };
11
- SuggestionChips.displayName = 'SuggestionChips';
12
-
13
- exports.SuggestionChips = SuggestionChips;
@@ -1,11 +0,0 @@
1
- 'use client';
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;
8
- };
9
- SuggestionChips.displayName = 'SuggestionChips';
10
-
11
- export { SuggestionChips };
@@ -1,11 +0,0 @@
1
- import type { HTMLAttributes } from 'react';
2
- import type { DefaultProps } from '../../types';
3
- export type SuggestionChipsProps = DefaultProps & HTMLAttributes<HTMLDivElement>;
4
- /**
5
- * @deprecated Suggestion.Chips is deprecated, use `renderSelected` on `Suggestion` instead
6
- */
7
- export declare const SuggestionChips: {
8
- (): null;
9
- displayName: string;
10
- };
11
- //# sourceMappingURL=suggestion-chips.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suggestion-chips.d.ts","sourceRoot":"","sources":["../../../src/components/suggestion/suggestion-chips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAC7C,cAAc,CAAC,cAAc,CAAC,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,eAAe;;;CAK3B,CAAC"}