@zendeskgarden/react-dropdowns 9.0.0-next.9 → 9.0.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 (81) hide show
  1. package/dist/esm/elements/combobox/Combobox.js +4 -5
  2. package/dist/esm/elements/combobox/Field.js +0 -1
  3. package/dist/esm/elements/combobox/Hint.js +1 -2
  4. package/dist/esm/elements/combobox/Label.js +1 -2
  5. package/dist/esm/elements/combobox/Listbox.js +1 -2
  6. package/dist/esm/elements/combobox/Message.js +1 -2
  7. package/dist/esm/elements/combobox/OptGroup.js +2 -3
  8. package/dist/esm/elements/combobox/Option.js +7 -4
  9. package/dist/esm/elements/combobox/OptionMeta.js +0 -1
  10. package/dist/esm/elements/combobox/Tag.js +0 -1
  11. package/dist/esm/elements/menu/Item.js +9 -8
  12. package/dist/esm/elements/menu/ItemGroup.js +3 -3
  13. package/dist/esm/elements/menu/ItemMeta.js +0 -1
  14. package/dist/esm/elements/menu/Menu.js +9 -36
  15. package/dist/esm/elements/menu/MenuList.js +2 -3
  16. package/dist/esm/elements/menu/Separator.js +0 -1
  17. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/check-lg-stroke.svg.js +1 -1
  18. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/chevron-down-stroke.svg.js +1 -1
  19. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/chevron-left-stroke.svg.js +1 -1
  20. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/chevron-right-stroke.svg.js +1 -1
  21. package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/plus-stroke.svg.js +1 -1
  22. package/dist/esm/views/combobox/StyledCombobox.js +2 -5
  23. package/dist/esm/views/combobox/StyledContainer.js +2 -5
  24. package/dist/esm/views/combobox/StyledField.js +2 -5
  25. package/dist/esm/views/combobox/StyledFloatingListbox.js +2 -5
  26. package/dist/esm/views/combobox/StyledHint.js +2 -5
  27. package/dist/esm/views/combobox/StyledInput.js +10 -7
  28. package/dist/esm/views/combobox/StyledInputGroup.js +2 -5
  29. package/dist/esm/views/combobox/StyledInputIcon.js +26 -10
  30. package/dist/esm/views/combobox/StyledLabel.js +2 -5
  31. package/dist/esm/views/combobox/StyledListbox.js +1 -5
  32. package/dist/esm/views/combobox/StyledListboxSeparator.js +10 -7
  33. package/dist/esm/views/combobox/StyledMessage.js +2 -5
  34. package/dist/esm/views/combobox/StyledOptGroup.js +2 -5
  35. package/dist/esm/views/combobox/StyledOption.js +34 -16
  36. package/dist/esm/views/combobox/StyledOptionContent.js +2 -5
  37. package/dist/esm/views/combobox/StyledOptionIcon.js +25 -6
  38. package/dist/esm/views/combobox/StyledOptionMeta.js +12 -7
  39. package/dist/esm/views/combobox/StyledOptionTypeIcon.js +18 -11
  40. package/dist/esm/views/combobox/StyledTag.js +6 -6
  41. package/dist/esm/views/combobox/StyledTagsButton.js +10 -7
  42. package/dist/esm/views/combobox/StyledTrigger.js +65 -37
  43. package/dist/esm/views/combobox/StyledValue.js +11 -7
  44. package/dist/esm/views/menu/StyledFloatingMenu.js +2 -5
  45. package/dist/esm/views/menu/StyledItem.js +2 -5
  46. package/dist/esm/views/menu/StyledItemContent.js +2 -5
  47. package/dist/esm/views/menu/StyledItemGroup.js +2 -5
  48. package/dist/esm/views/menu/StyledItemIcon.js +2 -5
  49. package/dist/esm/views/menu/StyledItemMeta.js +2 -5
  50. package/dist/esm/views/menu/StyledItemTypeIcon.js +2 -5
  51. package/dist/esm/views/menu/StyledMenu.js +4 -7
  52. package/dist/esm/views/menu/StyledSeparator.js +2 -5
  53. package/dist/index.cjs.js +369 -324
  54. package/dist/typings/context/useComboboxContext.d.ts +12 -13
  55. package/dist/typings/context/useFieldContext.d.ts +6 -6
  56. package/dist/typings/context/useItemContext.d.ts +2 -3
  57. package/dist/typings/context/useItemGroupContext.d.ts +2 -3
  58. package/dist/typings/context/useMenuContext.d.ts +10 -11
  59. package/dist/typings/context/useOptionContext.d.ts +2 -3
  60. package/dist/typings/elements/combobox/Field.d.ts +3 -1
  61. package/dist/typings/elements/combobox/Option.d.ts +3 -1
  62. package/dist/typings/elements/combobox/Tag.d.ts +3 -1
  63. package/dist/typings/elements/combobox/TagAvatar.d.ts +0 -1
  64. package/dist/typings/elements/combobox/utils.d.ts +2 -2
  65. package/dist/typings/elements/menu/Item.d.ts +3 -1
  66. package/dist/typings/elements/menu/utils.d.ts +2 -2
  67. package/dist/typings/types/index.d.ts +2 -0
  68. package/dist/typings/views/combobox/StyledHint.d.ts +0 -1
  69. package/dist/typings/views/combobox/StyledInputIcon.d.ts +0 -1
  70. package/dist/typings/views/combobox/StyledLabel.d.ts +0 -1
  71. package/dist/typings/views/combobox/StyledMessage.d.ts +0 -1
  72. package/dist/typings/views/combobox/StyledOptionIcon.d.ts +7 -3
  73. package/dist/typings/views/combobox/StyledOptionTypeIcon.d.ts +0 -1
  74. package/dist/typings/views/combobox/StyledTag.d.ts +2 -6
  75. package/dist/typings/views/index.d.ts +0 -1
  76. package/dist/typings/views/menu/StyledItemIcon.d.ts +1 -2
  77. package/dist/typings/views/menu/StyledItemTypeIcon.d.ts +0 -1
  78. package/package.json +12 -13
  79. package/LICENSE.md +0 -176
  80. package/dist/esm/views/menu/StyledButton.js +0 -23
  81. package/dist/typings/views/menu/StyledButton.d.ts +0 -20
@@ -43,7 +43,6 @@ import '../../views/menu/StyledItemGroup.js';
43
43
  import '../../views/menu/StyledItemIcon.js';
44
44
  import '../../views/menu/StyledItemMeta.js';
45
45
  import '../../views/menu/StyledItemTypeIcon.js';
46
- import '../../views/menu/StyledButton.js';
47
46
  import '../../views/menu/StyledSeparator.js';
48
47
  import { Listbox } from './Listbox.js';
49
48
  import { TagGroup } from './TagGroup.js';
@@ -243,10 +242,10 @@ const Combobox = forwardRef((_ref, ref) => {
243
242
  tabIndex: -1
244
243
  }, props, {
245
244
  ref: ref
246
- }), React__default.createElement(StyledTrigger, triggerProps, React__default.createElement(StyledContainer, null, startIcon && React__default.createElement(StyledInputIcon, {
245
+ }), React__default.createElement(StyledTrigger, triggerProps, React__default.createElement(StyledContainer, null, !!startIcon && React__default.createElement(StyledInputIcon, {
247
246
  $isLabelHovered: isLabelHovered,
248
247
  $isCompact: isCompact
249
- }, startIcon), React__default.createElement(StyledInputGroup, null, isMultiselectable && Array.isArray(selection) && React__default.createElement(TagGroup, {
248
+ }, startIcon), React__default.createElement(StyledInputGroup, null, !!isMultiselectable && Array.isArray(selection) && React__default.createElement(TagGroup, {
250
249
  isDisabled: isDisabled,
251
250
  isExpanded: isTagGroupExpanded,
252
251
  maxTags: maxTags,
@@ -273,11 +272,11 @@ const Combobox = forwardRef((_ref, ref) => {
273
272
  }, renderValue ? renderValue({
274
273
  selection,
275
274
  inputValue
276
- }) : inputValue || placeholder), React__default.createElement(StyledInput, inputProps)), (hasChevron || endIcon) && React__default.createElement(StyledInputIcon, {
275
+ }) : inputValue || placeholder), React__default.createElement(StyledInput, inputProps)), !!(hasChevron || endIcon) && React__default.createElement(StyledInputIcon, {
277
276
  $isCompact: isCompact,
278
277
  $isEnd: true,
279
278
  $isLabelHovered: isLabelHovered,
280
- $isRotated: hasChevron && isExpanded
279
+ $isRotated: !!(hasChevron && isExpanded)
281
280
  }, hasChevron ? React__default.createElement(SvgChevronDownStroke, null) : endIcon))), React__default.createElement(Listbox, Object.assign({
282
281
  appendToNode: listboxAppendToNode,
283
282
  isCompact: isCompact,
@@ -36,7 +36,6 @@ import '../../views/menu/StyledItemGroup.js';
36
36
  import '../../views/menu/StyledItemIcon.js';
37
37
  import '../../views/menu/StyledItemMeta.js';
38
38
  import '../../views/menu/StyledItemTypeIcon.js';
39
- import '../../views/menu/StyledButton.js';
40
39
  import '../../views/menu/StyledSeparator.js';
41
40
  import { Hint } from './Hint.js';
42
41
  import { Label } from './Label.js';
@@ -36,7 +36,6 @@ import '../../views/menu/StyledItemGroup.js';
36
36
  import '../../views/menu/StyledItemIcon.js';
37
37
  import '../../views/menu/StyledItemMeta.js';
38
38
  import '../../views/menu/StyledItemTypeIcon.js';
39
- import '../../views/menu/StyledButton.js';
40
39
  import '../../views/menu/StyledSeparator.js';
41
40
 
42
41
  const Hint = forwardRef((props, ref) => {
@@ -52,6 +51,6 @@ const Hint = forwardRef((props, ref) => {
52
51
  ref: ref
53
52
  }));
54
53
  });
55
- Hint.displayName = 'Hint';
54
+ Hint.displayName = 'Field.Hint';
56
55
 
57
56
  export { Hint };
@@ -38,7 +38,6 @@ import '../../views/menu/StyledItemGroup.js';
38
38
  import '../../views/menu/StyledItemIcon.js';
39
39
  import '../../views/menu/StyledItemMeta.js';
40
40
  import '../../views/menu/StyledItemTypeIcon.js';
41
- import '../../views/menu/StyledButton.js';
42
41
  import '../../views/menu/StyledSeparator.js';
43
42
 
44
43
  const Label = forwardRef((_ref, ref) => {
@@ -59,7 +58,7 @@ const Label = forwardRef((_ref, ref) => {
59
58
  ref: ref
60
59
  }));
61
60
  });
62
- Label.displayName = 'Label';
61
+ Label.displayName = 'Field.Label';
63
62
  Label.propTypes = {
64
63
  hidden: PropTypes.bool,
65
64
  isRegular: PropTypes.bool
@@ -38,7 +38,6 @@ import '../../views/menu/StyledItemGroup.js';
38
38
  import '../../views/menu/StyledItemIcon.js';
39
39
  import '../../views/menu/StyledItemMeta.js';
40
40
  import '../../views/menu/StyledItemTypeIcon.js';
41
- import '../../views/menu/StyledButton.js';
42
41
  import '../../views/menu/StyledSeparator.js';
43
42
  import { ThemeContext } from 'styled-components';
44
43
  import { DEFAULT_THEME } from '@zendeskgarden/react-theming';
@@ -139,7 +138,7 @@ const Listbox = forwardRef((_ref, ref) => {
139
138
  }
140
139
  }, props, {
141
140
  ref: ref
142
- }), isVisible && children));
141
+ }), !!isVisible && children));
143
142
  return appendToNode ? createPortal(Node, appendToNode) : Node;
144
143
  });
145
144
  Listbox.displayName = 'Listbox';
@@ -38,7 +38,6 @@ import '../../views/menu/StyledItemGroup.js';
38
38
  import '../../views/menu/StyledItemIcon.js';
39
39
  import '../../views/menu/StyledItemMeta.js';
40
40
  import '../../views/menu/StyledItemTypeIcon.js';
41
- import '../../views/menu/StyledButton.js';
42
41
  import '../../views/menu/StyledSeparator.js';
43
42
 
44
43
  const Message = forwardRef((props, ref) => {
@@ -54,7 +53,7 @@ const Message = forwardRef((props, ref) => {
54
53
  ref: ref
55
54
  }));
56
55
  });
57
- Message.displayName = 'Message';
56
+ Message.displayName = 'Field.Message';
58
57
  Message.propTypes = {
59
58
  validation: PropTypes.oneOf(VALIDATION),
60
59
  validationLabel: PropTypes.string
@@ -39,7 +39,6 @@ import '../../views/menu/StyledItemGroup.js';
39
39
  import '../../views/menu/StyledItemIcon.js';
40
40
  import '../../views/menu/StyledItemMeta.js';
41
41
  import '../../views/menu/StyledItemTypeIcon.js';
42
- import '../../views/menu/StyledButton.js';
43
42
  import '../../views/menu/StyledSeparator.js';
44
43
 
45
44
  const OptGroup = forwardRef((_ref, ref) => {
@@ -70,11 +69,11 @@ const OptGroup = forwardRef((_ref, ref) => {
70
69
  role: "none"
71
70
  }, props, {
72
71
  ref: ref
73
- }), React__default.createElement(StyledOptionContent, null, (content || legend) && React__default.createElement(StyledOption, {
72
+ }), React__default.createElement(StyledOptionContent, null, !!(content || legend) && React__default.createElement(StyledOption, {
74
73
  as: "div",
75
74
  isCompact: isCompact,
76
75
  $type: "header"
77
- }, icon && React__default.createElement(StyledOptionTypeIcon, {
76
+ }, !!icon && React__default.createElement(StyledOptionTypeIcon, {
78
77
  $isCompact: isCompact,
79
78
  $type: "header"
80
79
  }, icon), content || legend), React__default.createElement(StyledOptGroup, Object.assign({
@@ -44,7 +44,6 @@ import '../../views/menu/StyledItemGroup.js';
44
44
  import '../../views/menu/StyledItemIcon.js';
45
45
  import '../../views/menu/StyledItemMeta.js';
46
46
  import '../../views/menu/StyledItemTypeIcon.js';
47
- import '../../views/menu/StyledButton.js';
48
47
  import '../../views/menu/StyledSeparator.js';
49
48
  import { OptionMeta } from './OptionMeta.js';
50
49
  import { toOption } from './utils.js';
@@ -62,8 +61,9 @@ const OptionComponent = forwardRef((_ref, ref) => {
62
61
  ...props
63
62
  } = _ref;
64
63
  const contextValue = useMemo(() => ({
65
- isDisabled
66
- }), [isDisabled]);
64
+ isDisabled,
65
+ type
66
+ }), [isDisabled, type]);
67
67
  const {
68
68
  activeValue,
69
69
  getOptionProps,
@@ -114,7 +114,10 @@ const OptionComponent = forwardRef((_ref, ref) => {
114
114
  }, props, optionProps), React__default.createElement(StyledOptionTypeIcon, {
115
115
  $isCompact: isCompact,
116
116
  $type: type
117
- }, renderActionIcon(type)), icon && React__default.createElement(StyledOptionIcon, null, icon), React__default.createElement(StyledOptionContent, null, children || label || value)));
117
+ }, renderActionIcon(type)), !!icon && React__default.createElement(StyledOptionIcon, {
118
+ $isDisabled: isDisabled,
119
+ $type: type
120
+ }, icon), React__default.createElement(StyledOptionContent, null, children || label || value)));
118
121
  });
119
122
  OptionComponent.displayName = 'Option';
120
123
  OptionComponent.propTypes = {
@@ -36,7 +36,6 @@ import '../../views/menu/StyledItemGroup.js';
36
36
  import '../../views/menu/StyledItemIcon.js';
37
37
  import '../../views/menu/StyledItemMeta.js';
38
38
  import '../../views/menu/StyledItemTypeIcon.js';
39
- import '../../views/menu/StyledButton.js';
40
39
  import '../../views/menu/StyledSeparator.js';
41
40
 
42
41
  const OptionMetaComponent = forwardRef((props, ref) => {
@@ -40,7 +40,6 @@ import '../../views/menu/StyledItemGroup.js';
40
40
  import '../../views/menu/StyledItemIcon.js';
41
41
  import '../../views/menu/StyledItemMeta.js';
42
42
  import '../../views/menu/StyledItemTypeIcon.js';
43
- import '../../views/menu/StyledButton.js';
44
43
  import '../../views/menu/StyledSeparator.js';
45
44
  import { TagAvatar } from './TagAvatar.js';
46
45
 
@@ -42,7 +42,6 @@ import '../../views/menu/StyledItemGroup.js';
42
42
  import { StyledItemIcon } from '../../views/menu/StyledItemIcon.js';
43
43
  import '../../views/menu/StyledItemMeta.js';
44
44
  import { StyledItemTypeIcon } from '../../views/menu/StyledItemTypeIcon.js';
45
- import '../../views/menu/StyledButton.js';
46
45
  import '../../views/menu/StyledSeparator.js';
47
46
  import { ItemMeta } from './ItemMeta.js';
48
47
  import useMenuContext from '../../context/useMenuContext.js';
@@ -70,7 +69,8 @@ const ItemComponent = forwardRef((_ref, ref) => {
70
69
  } = useItemGroupContext();
71
70
  const {
72
71
  focusedValue,
73
- getItemProps
72
+ getItemProps,
73
+ isCompact
74
74
  } = useMenuContext();
75
75
  const item = {
76
76
  ...toItem({
@@ -93,9 +93,6 @@ const ItemComponent = forwardRef((_ref, ref) => {
93
93
  onMouseEnter
94
94
  });
95
95
  const isActive = value === focusedValue;
96
- const {
97
- isCompact
98
- } = useMenuContext();
99
96
  const renderActionIcon = iconType => {
100
97
  switch (iconType) {
101
98
  case 'add':
@@ -109,8 +106,9 @@ const ItemComponent = forwardRef((_ref, ref) => {
109
106
  }
110
107
  };
111
108
  const contextValue = useMemo(() => ({
112
- isDisabled
113
- }), [isDisabled]);
109
+ isDisabled,
110
+ type
111
+ }), [isDisabled, type]);
114
112
  return React__default.createElement(ItemContext.Provider, {
115
113
  value: contextValue
116
114
  }, React__default.createElement(StyledItem, Object.assign({
@@ -122,7 +120,10 @@ const ItemComponent = forwardRef((_ref, ref) => {
122
120
  }), React__default.createElement(StyledItemTypeIcon, {
123
121
  $isCompact: isCompact,
124
122
  $type: type
125
- }, renderActionIcon(type)), icon && React__default.createElement(StyledItemIcon, null, icon), React__default.createElement(StyledItemContent, null, children || label)));
123
+ }, renderActionIcon(type)), !!icon && React__default.createElement(StyledItemIcon, {
124
+ $isDisabled: isDisabled,
125
+ $type: type
126
+ }, icon), React__default.createElement(StyledItemContent, null, children || label)));
126
127
  });
127
128
  ItemComponent.displayName = 'Item';
128
129
  ItemComponent.propTypes = {
@@ -38,7 +38,6 @@ import { StyledItemGroup } from '../../views/menu/StyledItemGroup.js';
38
38
  import '../../views/menu/StyledItemIcon.js';
39
39
  import '../../views/menu/StyledItemMeta.js';
40
40
  import { StyledItemTypeIcon } from '../../views/menu/StyledItemTypeIcon.js';
41
- import '../../views/menu/StyledButton.js';
42
41
  import { StyledSeparator } from '../../views/menu/StyledSeparator.js';
43
42
  import { ItemGroupContext } from '../../context/useItemGroupContext.js';
44
43
 
@@ -71,12 +70,13 @@ const ItemGroup = forwardRef((_ref, ref) => {
71
70
  isCompact: isCompact,
72
71
  $type: "group"
73
72
  }, props, {
73
+ role: "none",
74
74
  ref: ref
75
- }), React__default.createElement(StyledItemContent, null, (content || legend) && React__default.createElement(StyledItem, {
75
+ }), React__default.createElement(StyledItemContent, null, !!(content || legend) && React__default.createElement(StyledItem, {
76
76
  as: "div",
77
77
  isCompact: isCompact,
78
78
  $type: "header"
79
- }, icon && React__default.createElement(StyledItemTypeIcon, {
79
+ }, !!icon && React__default.createElement(StyledItemTypeIcon, {
80
80
  $isCompact: isCompact,
81
81
  $type: "header"
82
82
  }, icon), content || legend), React__default.createElement(StyledItemGroup, Object.assign({
@@ -36,7 +36,6 @@ import '../../views/menu/StyledItemGroup.js';
36
36
  import '../../views/menu/StyledItemIcon.js';
37
37
  import { StyledItemMeta } from '../../views/menu/StyledItemMeta.js';
38
38
  import '../../views/menu/StyledItemTypeIcon.js';
39
- import '../../views/menu/StyledButton.js';
40
39
  import '../../views/menu/StyledSeparator.js';
41
40
 
42
41
  const ItemMetaComponent = forwardRef((props, ref) => {
@@ -10,45 +10,14 @@ import { mergeRefs } from 'react-merge-refs';
10
10
  import { ThemeContext } from 'styled-components';
11
11
  import { useMenu } from '@zendeskgarden/container-menu';
12
12
  import { DEFAULT_THEME, useWindow } from '@zendeskgarden/react-theming';
13
+ import { Button } from '@zendeskgarden/react-buttons';
13
14
  import { PLACEMENT } from '../../types/index.js';
14
15
  import { MenuContext } from '../../context/useMenuContext.js';
15
16
  import { toItems } from './utils.js';
16
17
  import { MenuList } from './MenuList.js';
17
- import '../../views/combobox/StyledCombobox.js';
18
- import '../../views/combobox/StyledContainer.js';
19
- import '../../views/combobox/StyledField.js';
20
- import '../../views/combobox/StyledFloatingListbox.js';
21
- import '../../views/combobox/StyledHint.js';
22
- import '../../views/combobox/StyledInput.js';
23
- import '../../views/combobox/StyledInputGroup.js';
24
- import '../../views/combobox/StyledInputIcon.js';
25
- import '../../views/combobox/StyledLabel.js';
26
- import '../../views/combobox/StyledListbox.js';
27
- import '../../views/combobox/StyledListboxSeparator.js';
28
- import '../../views/combobox/StyledMessage.js';
29
- import '../../views/combobox/StyledOptGroup.js';
30
- import '../../views/combobox/StyledOption.js';
31
- import '../../views/combobox/StyledOptionContent.js';
32
- import '../../views/combobox/StyledOptionIcon.js';
33
- import '../../views/combobox/StyledOptionMeta.js';
34
- import '../../views/combobox/StyledOptionTypeIcon.js';
35
- import '../../views/combobox/StyledTag.js';
36
- import '../../views/combobox/StyledTagsButton.js';
37
- import '../../views/combobox/StyledTrigger.js';
38
- import '../../views/combobox/StyledValue.js';
39
- import '../../views/menu/StyledMenu.js';
40
- import '../../views/menu/StyledFloatingMenu.js';
41
- import '../../views/menu/StyledItem.js';
42
- import '../../views/menu/StyledItemContent.js';
43
- import '../../views/menu/StyledItemGroup.js';
44
- import '../../views/menu/StyledItemIcon.js';
45
- import '../../views/menu/StyledItemMeta.js';
46
- import '../../views/menu/StyledItemTypeIcon.js';
47
- import { StyledButton } from '../../views/menu/StyledButton.js';
48
- import '../../views/menu/StyledSeparator.js';
49
18
  import SvgChevronDownStroke from '../../node_modules/@zendeskgarden/svg-icons/src/16/chevron-down-stroke.svg.js';
50
19
 
51
- const Menu = forwardRef((_ref, ref) => {
20
+ const Menu = forwardRef((_ref2, ref) => {
52
21
  let {
53
22
  button,
54
23
  buttonProps: _buttonProps = {},
@@ -58,11 +27,12 @@ const Menu = forwardRef((_ref, ref) => {
58
27
  defaultFocusedValue,
59
28
  defaultExpanded,
60
29
  isExpanded: _isExpanded,
30
+ restoreFocus,
61
31
  selectedItems,
62
32
  onChange,
63
33
  onMouseLeave,
64
34
  ...props
65
- } = _ref;
35
+ } = _ref2;
66
36
  const triggerRef = useRef(null);
67
37
  const menuRef = useRef(null);
68
38
  const items = toItems(children);
@@ -83,6 +53,7 @@ const Menu = forwardRef((_ref, ref) => {
83
53
  focusedValue: _focusedValue,
84
54
  defaultExpanded,
85
55
  isExpanded: _isExpanded,
56
+ restoreFocus,
86
57
  selectedItems,
87
58
  items,
88
59
  menuRef,
@@ -93,6 +64,7 @@ const Menu = forwardRef((_ref, ref) => {
93
64
  onClick,
94
65
  onKeyDown,
95
66
  disabled,
67
+ ref: _ref,
96
68
  ...buttonProps
97
69
  } = _buttonProps;
98
70
  const triggerProps = {
@@ -106,9 +78,9 @@ const Menu = forwardRef((_ref, ref) => {
106
78
  onKeyDown,
107
79
  disabled
108
80
  }),
109
- ref: mergeRefs([triggerRef, ref])
81
+ ref: mergeRefs([triggerRef, _ref])
110
82
  };
111
- const trigger = typeof button === 'function' ? button(triggerProps) : React__default.createElement(StyledButton, triggerProps, button, React__default.createElement(StyledButton.EndIcon, {
83
+ const trigger = typeof button === 'function' ? button(triggerProps) : React__default.createElement(Button, triggerProps, button, React__default.createElement(Button.EndIcon, {
112
84
  isRotated: isExpanded
113
85
  }, React__default.createElement(SvgChevronDownStroke, null)));
114
86
  const contextValue = useMemo(() => ({
@@ -145,6 +117,7 @@ Menu.propTypes = {
145
117
  minHeight: PropTypes.string,
146
118
  onChange: PropTypes.func,
147
119
  placement: PropTypes.oneOf(PLACEMENT),
120
+ restoreFocus: PropTypes.bool,
148
121
  selectedItems: PropTypes.arrayOf(PropTypes.any),
149
122
  zIndex: PropTypes.number
150
123
  };
@@ -40,7 +40,6 @@ import '../../views/menu/StyledItemGroup.js';
40
40
  import '../../views/menu/StyledItemIcon.js';
41
41
  import '../../views/menu/StyledItemMeta.js';
42
42
  import '../../views/menu/StyledItemTypeIcon.js';
43
- import '../../views/menu/StyledButton.js';
44
43
  import '../../views/menu/StyledSeparator.js';
45
44
  import { createPortal } from 'react-dom';
46
45
 
@@ -128,7 +127,7 @@ const MenuList = forwardRef((_ref, ref) => {
128
127
  children, update]);
129
128
  const Node = React__default.createElement(StyledFloatingMenu, {
130
129
  "data-garden-animate": isVisible,
131
- isHidden: !isExpanded,
130
+ isHidden: !isExpanded || !isVisible ,
132
131
  position: getMenuPosition(placement),
133
132
  zIndex: zIndex,
134
133
  style: {
@@ -146,7 +145,7 @@ const MenuList = forwardRef((_ref, ref) => {
146
145
  }
147
146
  }, props, {
148
147
  ref: ref
149
- }), isVisible && children));
148
+ }), !!isVisible && children));
150
149
  return appendToNode ? createPortal(Node, appendToNode) : Node;
151
150
  });
152
151
  MenuList.displayName = 'MenuList';
@@ -35,7 +35,6 @@ import '../../views/menu/StyledItemGroup.js';
35
35
  import '../../views/menu/StyledItemIcon.js';
36
36
  import '../../views/menu/StyledItemMeta.js';
37
37
  import '../../views/menu/StyledItemTypeIcon.js';
38
- import '../../views/menu/StyledButton.js';
39
38
  import { StyledSeparator } from '../../views/menu/StyledSeparator.js';
40
39
  import useMenuContext from '../../context/useMenuContext.js';
41
40
 
@@ -7,7 +7,7 @@
7
7
  import * as React from 'react';
8
8
 
9
9
  var _path;
10
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
11
11
  var SvgCheckLgStroke = function SvgCheckLgStroke(props) {
12
12
  return /*#__PURE__*/React.createElement("svg", _extends({
13
13
  xmlns: "http://www.w3.org/2000/svg",
@@ -7,7 +7,7 @@
7
7
  import * as React from 'react';
8
8
 
9
9
  var _path;
10
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
11
11
  var SvgChevronDownStroke = function SvgChevronDownStroke(props) {
12
12
  return /*#__PURE__*/React.createElement("svg", _extends({
13
13
  xmlns: "http://www.w3.org/2000/svg",
@@ -7,7 +7,7 @@
7
7
  import * as React from 'react';
8
8
 
9
9
  var _path;
10
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
11
11
  var SvgChevronLeftStroke = function SvgChevronLeftStroke(props) {
12
12
  return /*#__PURE__*/React.createElement("svg", _extends({
13
13
  xmlns: "http://www.w3.org/2000/svg",
@@ -7,7 +7,7 @@
7
7
  import * as React from 'react';
8
8
 
9
9
  var _path;
10
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
11
11
  var SvgChevronRightStroke = function SvgChevronRightStroke(props) {
12
12
  return /*#__PURE__*/React.createElement("svg", _extends({
13
13
  xmlns: "http://www.w3.org/2000/svg",
@@ -7,7 +7,7 @@
7
7
  import * as React from 'react';
8
8
 
9
9
  var _path;
10
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
11
11
  var SvgPlusStroke = function SvgPlusStroke(props) {
12
12
  return /*#__PURE__*/React.createElement("svg", _extends({
13
13
  xmlns: "http://www.w3.org/2000/svg",
@@ -5,7 +5,7 @@
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
7
  import styled, { css } from 'styled-components';
8
- import { retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming';
8
+ import { retrieveComponentStyles } from '@zendeskgarden/react-theming';
9
9
  import { StyledLabel } from './StyledLabel.js';
10
10
  import { StyledHint } from './StyledHint.js';
11
11
  import { StyledMessage } from './StyledMessage.js';
@@ -18,13 +18,10 @@ const sizeStyles = props => {
18
18
  };
19
19
  const StyledCombobox = styled.div.attrs({
20
20
  'data-garden-id': COMPONENT_ID,
21
- 'data-garden-version': '9.0.0-next.9'
21
+ 'data-garden-version': '9.0.0'
22
22
  }).withConfig({
23
23
  displayName: "StyledCombobox",
24
24
  componentId: "sc-13eybg8-0"
25
25
  })(["", ";", ";"], sizeStyles, props => retrieveComponentStyles(COMPONENT_ID, props));
26
- StyledCombobox.defaultProps = {
27
- theme: DEFAULT_THEME
28
- };
29
26
 
30
27
  export { StyledCombobox };
@@ -5,18 +5,15 @@
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
7
  import styled from 'styled-components';
8
- import { retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming';
8
+ import { retrieveComponentStyles } from '@zendeskgarden/react-theming';
9
9
 
10
10
  const COMPONENT_ID = 'dropdowns.combobox.container';
11
11
  const StyledContainer = styled.div.attrs({
12
12
  'data-garden-id': COMPONENT_ID,
13
- 'data-garden-version': '9.0.0-next.9'
13
+ 'data-garden-version': '9.0.0'
14
14
  }).withConfig({
15
15
  displayName: "StyledContainer",
16
16
  componentId: "sc-14i9jid-0"
17
17
  })(["display:flex;", ";"], props => retrieveComponentStyles(COMPONENT_ID, props));
18
- StyledContainer.defaultProps = {
19
- theme: DEFAULT_THEME
20
- };
21
18
 
22
19
  export { StyledContainer };
@@ -5,18 +5,15 @@
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
7
  import styled from 'styled-components';
8
- import { retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming';
8
+ import { retrieveComponentStyles } from '@zendeskgarden/react-theming';
9
9
 
10
10
  const COMPONENT_ID = 'dropdowns.combobox.field';
11
11
  const StyledField = styled.div.attrs({
12
12
  'data-garden-id': COMPONENT_ID,
13
- 'data-garden-version': '9.0.0-next.9'
13
+ 'data-garden-version': '9.0.0'
14
14
  }).withConfig({
15
15
  displayName: "StyledField",
16
16
  componentId: "sc-zc57xl-0"
17
17
  })(["direction:", ";", ";"], props => props.theme.rtl ? 'rtl' : 'ltr', props => retrieveComponentStyles(COMPONENT_ID, props));
18
- StyledField.defaultProps = {
19
- theme: DEFAULT_THEME
20
- };
21
18
 
22
19
  export { StyledField };
@@ -5,12 +5,12 @@
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
7
  import styled from 'styled-components';
8
- import { menuStyles, retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming';
8
+ import { menuStyles, retrieveComponentStyles } from '@zendeskgarden/react-theming';
9
9
 
10
10
  const COMPONENT_ID = 'dropdowns.combobox.floating';
11
11
  const StyledFloatingListbox = styled.div.attrs({
12
12
  'data-garden-id': COMPONENT_ID,
13
- 'data-garden-version': '9.0.0-next.9'
13
+ 'data-garden-version': '9.0.0'
14
14
  }).withConfig({
15
15
  displayName: "StyledFloatingListbox",
16
16
  componentId: "sc-1cp6spf-0"
@@ -20,8 +20,5 @@ const StyledFloatingListbox = styled.div.attrs({
20
20
  animationModifier: '[data-garden-animate="true"]',
21
21
  zIndex: props.zIndex
22
22
  }), props => retrieveComponentStyles(COMPONENT_ID, props));
23
- StyledFloatingListbox.defaultProps = {
24
- theme: DEFAULT_THEME
25
- };
26
23
 
27
24
  export { StyledFloatingListbox };
@@ -5,19 +5,16 @@
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
7
  import styled from 'styled-components';
8
- import { retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming';
8
+ import { retrieveComponentStyles } from '@zendeskgarden/react-theming';
9
9
  import { Field } from '@zendeskgarden/react-forms';
10
10
 
11
11
  const COMPONENT_ID = 'dropdowns.combobox.hint';
12
12
  const StyledHint = styled(Field.Hint).attrs({
13
13
  'data-garden-id': COMPONENT_ID,
14
- 'data-garden-version': '9.0.0-next.9'
14
+ 'data-garden-version': '9.0.0'
15
15
  }).withConfig({
16
16
  displayName: "StyledHint",
17
17
  componentId: "sc-106qvqx-0"
18
18
  })(["", ";"], props => retrieveComponentStyles(COMPONENT_ID, props));
19
- StyledHint.defaultProps = {
20
- theme: DEFAULT_THEME
21
- };
22
19
 
23
20
  export { StyledHint };
@@ -6,11 +6,17 @@
6
6
  */
7
7
  import styled, { css } from 'styled-components';
8
8
  import { hideVisually, math } from 'polished';
9
- import { retrieveComponentStyles, DEFAULT_THEME, getColorV8, getLineHeight } from '@zendeskgarden/react-theming';
9
+ import { retrieveComponentStyles, getColor, getLineHeight } from '@zendeskgarden/react-theming';
10
10
 
11
11
  const COMPONENT_ID = 'dropdowns.combobox.input';
12
- const colorStyles = props => {
13
- const placeholderColor = getColorV8('neutralHue', 400, props.theme);
12
+ const colorStyles = _ref => {
13
+ let {
14
+ theme
15
+ } = _ref;
16
+ const placeholderColor = getColor({
17
+ theme,
18
+ variable: 'foreground.disabled'
19
+ });
14
20
  return css(["background-color:inherit;color:inherit;&::placeholder{opacity:1;color:", ";}"], placeholderColor);
15
21
  };
16
22
  const getHeight = props => {
@@ -29,13 +35,10 @@ const sizeStyles = props => {
29
35
  };
30
36
  const StyledInput = styled.input.attrs({
31
37
  'data-garden-id': COMPONENT_ID,
32
- 'data-garden-version': '9.0.0-next.9'
38
+ 'data-garden-version': '9.0.0'
33
39
  }).withConfig({
34
40
  displayName: "StyledInput",
35
41
  componentId: "sc-1lkqdg-0"
36
42
  })(["flex-basis:0;flex-grow:1;border:none;padding:0;font-family:inherit;&:focus{outline:none;}", ";", ";&[hidden]{display:revert;", "}&[aria-hidden='true']{display:none;}", ";"], sizeStyles, colorStyles, props => props.isEditable && hideVisually(), props => retrieveComponentStyles(COMPONENT_ID, props));
37
- StyledInput.defaultProps = {
38
- theme: DEFAULT_THEME
39
- };
40
43
 
41
44
  export { StyledInput, getHeight, sizeStyles };
@@ -5,7 +5,7 @@
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
7
  import styled, { css } from 'styled-components';
8
- import { retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming';
8
+ import { retrieveComponentStyles } from '@zendeskgarden/react-theming';
9
9
 
10
10
  const COMPONENT_ID = 'dropdowns.combobox.input_group';
11
11
  const sizeStyles = props => {
@@ -14,13 +14,10 @@ const sizeStyles = props => {
14
14
  };
15
15
  const StyledInputGroup = styled.div.attrs({
16
16
  'data-garden-id': COMPONENT_ID,
17
- 'data-garden-version': '9.0.0-next.9'
17
+ 'data-garden-version': '9.0.0'
18
18
  }).withConfig({
19
19
  displayName: "StyledInputGroup",
20
20
  componentId: "sc-yx3q7u-0"
21
21
  })(["display:flex;flex-grow:1;flex-wrap:wrap;", ";", ";"], sizeStyles, props => retrieveComponentStyles(COMPONENT_ID, props));
22
- StyledInputGroup.defaultProps = {
23
- theme: DEFAULT_THEME
24
- };
25
22
 
26
23
  export { StyledInputGroup };