@elliemae/ds-form 2.0.0-rc.1 → 2.0.0-rc.13

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 (173) hide show
  1. package/cjs/ComboBox/v1/DSComboBox.js +18 -22
  2. package/cjs/ComboBox/v1/withSelectStringValueConverter.js +3 -4
  3. package/cjs/ComboBox/v3/ComboBox.js +1 -2
  4. package/cjs/ComboBox/v3/ComboBoxCTX.js +22 -15
  5. package/cjs/ComboBox/v3/ComboboxDataTestids.js +3 -1
  6. package/cjs/ComboBox/v3/config/useComboBox.js +65 -21
  7. package/cjs/ComboBox/v3/parts/container/Container.js +28 -18
  8. package/cjs/ComboBox/v3/parts/controls/Controls.js +3 -1
  9. package/cjs/ComboBox/v3/parts/controls/styled.js +30 -8
  10. package/cjs/ComboBox/v3/parts/controls-input/ControlsInput.js +5 -3
  11. package/cjs/ComboBox/v3/parts/controls-input/styled.js +1 -1
  12. package/cjs/ComboBox/v3/parts/controls-input/useControlsInput.js +19 -21
  13. package/cjs/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator.js +0 -3
  14. package/cjs/ComboBox/v3/parts/dropdown-indicator/styled.js +1 -1
  15. package/cjs/ComboBox/v3/parts/header-list/HeaderList.js +61 -37
  16. package/cjs/ComboBox/v3/parts/header-list/styled.js +31 -8
  17. package/cjs/ComboBox/v3/parts/header-list/useHeaderListHandlers.js +73 -0
  18. package/cjs/ComboBox/v3/parts/menu-list/MenuList.js +32 -18
  19. package/cjs/ComboBox/v3/parts/menu-list/styled.js +17 -2
  20. package/cjs/ComboBox/v3/parts/menu-list/useItemRenderer.js +105 -0
  21. package/cjs/ComboBox/v3/parts/menu-list/useMenuList.js +42 -85
  22. package/cjs/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +26 -35
  23. package/cjs/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.js +10 -6
  24. package/cjs/ComboBox/v3/propTypes.js +15 -11
  25. package/cjs/ComboBox/v3/utils/hooks/useKeyboardNavigation.js +28 -30
  26. package/cjs/ComboBox/v3/utils/hooks/useOnElementResize.js +4 -4
  27. package/cjs/FloatingLabelInput/FloatingLabelInputImpl.js +4 -7
  28. package/cjs/FormItem/ValidationFieldWrapper.js +2 -3
  29. package/cjs/Input/InputAddonWrapper.js +2 -3
  30. package/cjs/Input/InputImpl.js +16 -18
  31. package/cjs/InputGroup/AddonWrapper.js +4 -6
  32. package/cjs/InputMask/DSInputMaskDeprecated.js +10 -12
  33. package/cjs/MenuItem/components/MenuItem/index.js +1 -1
  34. package/cjs/MenuItem/components/MultiMenuItem/MultiMenuItem.js +1 -0
  35. package/cjs/MenuItem/components/Section/index.js +1 -1
  36. package/cjs/MenuItem/components/Section/styled.js +1 -1
  37. package/cjs/MenuItem/components/Separator/styled.js +2 -2
  38. package/cjs/MenuItem/components/SingleMenuItem/SingleMenuItem.js +6 -6
  39. package/cjs/MenuItem/components/SubmenuItem/index.js +1 -1
  40. package/cjs/MenuItem/components/styled.js +12 -4
  41. package/cjs/SearchBox/withSearchable.js +3 -5
  42. package/cjs/Toggle/DSToggleImpl.js +28 -28
  43. package/esm/ComboBox/v1/DSComboBox.js +17 -21
  44. package/esm/ComboBox/v1/withSelectStringValueConverter.js +3 -4
  45. package/esm/ComboBox/v3/ComboBox.js +1 -2
  46. package/esm/ComboBox/v3/ComboBoxCTX.js +17 -10
  47. package/esm/ComboBox/v3/ComboboxDataTestids.js +3 -1
  48. package/esm/ComboBox/v3/config/useComboBox.js +62 -22
  49. package/esm/ComboBox/v3/parts/container/Container.js +29 -19
  50. package/esm/ComboBox/v3/parts/controls/Controls.js +3 -1
  51. package/esm/ComboBox/v3/parts/controls/styled.js +30 -9
  52. package/esm/ComboBox/v3/parts/controls-input/ControlsInput.js +5 -3
  53. package/esm/ComboBox/v3/parts/controls-input/styled.js +1 -1
  54. package/esm/ComboBox/v3/parts/controls-input/useControlsInput.js +20 -22
  55. package/esm/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator.js +0 -3
  56. package/esm/ComboBox/v3/parts/dropdown-indicator/styled.js +1 -1
  57. package/esm/ComboBox/v3/parts/header-list/HeaderList.js +63 -39
  58. package/esm/ComboBox/v3/parts/header-list/styled.js +28 -8
  59. package/esm/ComboBox/v3/parts/header-list/useHeaderListHandlers.js +69 -0
  60. package/esm/ComboBox/v3/parts/menu-list/MenuList.js +35 -21
  61. package/esm/ComboBox/v3/parts/menu-list/styled.js +17 -3
  62. package/esm/ComboBox/v3/parts/menu-list/useItemRenderer.js +97 -0
  63. package/esm/ComboBox/v3/parts/menu-list/useMenuList.js +43 -82
  64. package/esm/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +26 -35
  65. package/esm/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.js +10 -6
  66. package/esm/ComboBox/v3/propTypes.js +15 -11
  67. package/esm/ComboBox/v3/utils/hooks/useKeyboardNavigation.js +28 -30
  68. package/esm/ComboBox/v3/utils/hooks/useOnElementResize.js +4 -4
  69. package/esm/FloatingLabelInput/FloatingLabelInputImpl.js +4 -7
  70. package/esm/FormItem/ValidationFieldWrapper.js +2 -3
  71. package/esm/Input/InputAddonWrapper.js +2 -3
  72. package/esm/Input/InputImpl.js +15 -17
  73. package/esm/InputGroup/AddonWrapper.js +5 -7
  74. package/esm/InputMask/DSInputMaskDeprecated.js +10 -12
  75. package/esm/MenuItem/components/MenuItem/index.js +1 -1
  76. package/esm/MenuItem/components/MultiMenuItem/MultiMenuItem.js +1 -0
  77. package/esm/MenuItem/components/Section/index.js +1 -1
  78. package/esm/MenuItem/components/Section/styled.js +1 -1
  79. package/esm/MenuItem/components/Separator/styled.js +2 -2
  80. package/esm/MenuItem/components/SingleMenuItem/SingleMenuItem.js +6 -6
  81. package/esm/MenuItem/components/SubmenuItem/index.js +1 -1
  82. package/esm/MenuItem/components/styled.js +13 -6
  83. package/esm/SearchBox/withSearchable.js +2 -4
  84. package/esm/Toggle/DSToggleImpl.js +28 -28
  85. package/package.json +40 -27
  86. package/types/Checkbox/DSCheckbox.d.ts +78 -13
  87. package/types/Checkbox/elements/CheckMark.d.ts +1 -1
  88. package/types/Checkbox/props.d.ts +58 -12
  89. package/types/CheckboxGroup/DSCheckboxGroup.d.ts +51 -7
  90. package/types/CheckboxGroup/props.d.ts +37 -6
  91. package/types/ComboBox/v2/Combobox.d.ts +56 -1
  92. package/types/ComboBox/v3/ComboBox.d.ts +54 -12
  93. package/types/ComboBox/v3/ComboboxDataTestids.d.ts +2 -0
  94. package/types/ComboBox/v3/parts/a11y-messages/styled.d.ts +1 -1
  95. package/types/ComboBox/v3/parts/container/styled.d.ts +3 -3
  96. package/types/ComboBox/v3/parts/controls/styled.d.ts +5 -5
  97. package/types/ComboBox/v3/parts/controls-input/styled.d.ts +4 -4
  98. package/types/ComboBox/v3/parts/controls-input/useControlsInput.d.ts +3 -3
  99. package/types/ComboBox/v3/parts/dropdown-indicator/styled.d.ts +1 -60
  100. package/types/ComboBox/v3/parts/empty-state/styled.d.ts +2 -2
  101. package/types/ComboBox/v3/parts/header-list/styled.d.ts +7 -93
  102. package/types/ComboBox/v3/parts/header-list/useHeaderListHandlers.d.ts +12 -0
  103. package/types/ComboBox/v3/parts/menu-list/styled.d.ts +9 -3
  104. package/types/ComboBox/v3/parts/menu-list/useItemRenderer.d.ts +2 -0
  105. package/types/ComboBox/v3/parts/menu-list/useMenuList.d.ts +1 -1
  106. package/types/ComboBox/v3/parts/multi-selected-values-container/styled.d.ts +3 -3
  107. package/types/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.d.ts +1 -2
  108. package/types/ComboBox/v3/parts/single-selected-value-container/styled.d.ts +1 -1
  109. package/types/ComboBox/v3/propTypes.d.ts +49 -11
  110. package/types/ComboBox/v3/tests/combobox-special-keys.test.d.ts +1 -0
  111. package/types/ComboBox/v3/tests/utils.d.ts +5 -0
  112. package/types/ComboBox/v3/utils/hooks/useKeyboardNavigation.d.ts +4 -1
  113. package/types/ComboBox/v3/utils/listHelper.d.ts +1 -1
  114. package/types/DateInput/DSDateInput.d.ts +97 -16
  115. package/types/DateInput/props.d.ts +97 -16
  116. package/types/DateInputV2/components/DSDateInput.d.ts +72 -5
  117. package/types/DateInputV2/components/props.d.ts +61 -10
  118. package/types/DateInputV2/components/styled.d.ts +4 -4
  119. package/types/FloatingLabelInput/DSFloatingLabelInput.d.ts +118 -20
  120. package/types/FormItem/DSFormItemLayout.d.ts +390 -60
  121. package/types/FormItem/Error/DSError.d.ts +21 -3
  122. package/types/FormItem/Suffix/Suffix.d.ts +3 -3
  123. package/types/FormItem/defaultProps.d.ts +118 -20
  124. package/types/FormItem/props.d.ts +229 -39
  125. package/types/InputGroup/DSInputGroup.d.ts +56 -8
  126. package/types/InputGroup/props.d.ts +43 -7
  127. package/types/InputMask/DSInputMask.d.ts +172 -30
  128. package/types/InputMask/mask_types/DateInputMask.d.ts +34 -33
  129. package/types/InputMask/mask_types/DateTimeInputMask.d.ts +34 -33
  130. package/types/InputMask/mask_types/DictionaryInputMask.d.ts +37 -36
  131. package/types/InputMask/mask_types/NumberInputMask.d.ts +46 -45
  132. package/types/InputMask/mask_types/PhoneInputMask.d.ts +34 -33
  133. package/types/InputMask/mask_types/PhoneInternationalInputMask.d.ts +34 -33
  134. package/types/InputMask/mask_types/SsnInputMask.d.ts +34 -33
  135. package/types/InputMask/mask_types/UsZipCodeInputMask.d.ts +34 -33
  136. package/types/InputMask/mask_types/ZipCodeSearchInputMask.d.ts +34 -33
  137. package/types/InputMask/props.d.ts +172 -30
  138. package/types/InputProtected/DSInputProtected.d.ts +56 -7
  139. package/types/InputProtected/props.d.ts +43 -8
  140. package/types/LargeInputText/DSLargeInputText.d.ts +163 -27
  141. package/types/LargeInputText/props.d.ts +163 -27
  142. package/types/MenuItem/components/MenuItem/index.d.ts +12 -3
  143. package/types/MenuItem/components/MenuItem/styled.d.ts +1 -1
  144. package/types/MenuItem/components/MultiMenuItem/MultiMenuItem.d.ts +12 -3
  145. package/types/MenuItem/components/MultiMenuItem/styled.d.ts +1 -1
  146. package/types/MenuItem/components/Section/index.d.ts +4 -1
  147. package/types/MenuItem/components/Section/props.d.ts +4 -1
  148. package/types/MenuItem/components/Section/styled.d.ts +2 -2
  149. package/types/MenuItem/components/Separator/styled.d.ts +2 -2
  150. package/types/MenuItem/components/SingleMenuItem/SingleMenuItem.d.ts +7 -2
  151. package/types/MenuItem/components/SubmenuItem/index.d.ts +12 -3
  152. package/types/MenuItem/components/SubmenuItem/styled.d.ts +2 -2
  153. package/types/MenuItem/components/styled.d.ts +3 -3
  154. package/types/MenuItem/props.d.ts +7 -2
  155. package/types/Radio/Circle.d.ts +1 -1
  156. package/types/Radio/DSRadio.d.ts +79 -13
  157. package/types/RadioGroup/DSRadioGroup.d.ts +51 -7
  158. package/types/RadioGroup/props.d.ts +37 -6
  159. package/types/SearchBox/DSSearchBox.d.ts +146 -21
  160. package/types/SearchBox/NavSearchBox.d.ts +18 -3
  161. package/types/SearchBox/SButton.d.ts +13 -2
  162. package/types/SearchBox/props.d.ts +133 -22
  163. package/types/SearchBox/styled.d.ts +1 -49
  164. package/types/TextBox/DSTextBox.d.ts +146 -21
  165. package/types/TimeInput/DSTimeInput.d.ts +83 -12
  166. package/types/TimeInput/utils.d.ts +1 -1
  167. package/types/Toggle/DSToggle.d.ts +84 -12
  168. package/cjs/ComboBox/v3/utils/hooks/useOnWindowResize.js +0 -31
  169. package/cjs/MenuItem/components/SingleMenuItem/styled.js +0 -19
  170. package/esm/ComboBox/v3/utils/hooks/useOnWindowResize.js +0 -27
  171. package/esm/MenuItem/components/SingleMenuItem/styled.js +0 -10
  172. package/types/ComboBox/v3/utils/hooks/useOnWindowResize.d.ts +0 -5
  173. package/types/MenuItem/components/SingleMenuItem/styled.d.ts +0 -2
@@ -4,63 +4,52 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
+ var lodash = require('lodash');
7
8
  var ComboBoxCTX = require('../../ComboBoxCTX.js');
8
9
  var styled = require('./styled.js');
9
10
  var listHelper = require('../../utils/listHelper.js');
10
11
  var ComboboxDataTestids = require('../../ComboboxDataTestids.js');
12
+ var useHeaderListHandlers = require('./useHeaderListHandlers.js');
13
+ var jsxRuntime = require('react/jsx-runtime');
11
14
 
12
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
16
 
14
17
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
18
 
16
- var _StyledSeparator;
19
+ var _StyledSeparator, _StyledNoOptionsSelec, _StyledSeparator2;
17
20
 
18
21
  const HeaderList = () => {
22
+ var _inputRef$current;
23
+
19
24
  const {
20
25
  props: {
21
26
  onSelectAll,
22
27
  onClearAll,
28
+ withToggle,
23
29
  selectedValues,
24
30
  options
25
31
  },
26
- inputRef,
27
- setShowPopover
32
+ showSelectedOptions,
33
+ inputRef
28
34
  } = React.useContext(ComboBoxCTX.ComboBoxContext);
35
+ const isSelectAllSupplied = onSelectAll !== lodash.noop;
36
+ const isClearAllSupplied = onClearAll !== lodash.noop;
29
37
  const multiSelectedValues = selectedValues;
30
38
  const selectableOptions = listHelper.getSelectableOptions(options);
31
-
32
- const handleOnBlurSelectAll = e => {
33
- if (!onClearAll || multiSelectedValues.length === 0) {
34
- e.preventDefault();
35
- inputRef.current.focus();
36
- }
37
- };
38
-
39
- const handleOnBlurClearAll = e => {
40
- e.preventDefault();
41
- inputRef.current.focus();
42
- };
43
-
44
- const handleClickOnSelectAll = () => {
45
- onSelectAll();
46
- inputRef.current.focus();
47
- setShowPopover(false);
48
- };
49
-
50
- const handleClickOnClearAll = React.useCallback(e => {
51
- e.preventDefault();
52
- e.stopPropagation();
53
- onClearAll();
54
- inputRef.current.focus();
55
- }, [inputRef, onClearAll]);
56
- const handleOnMouseDown = React.useCallback(e => {
57
- e.preventDefault();
58
- }, []);
39
+ const {
40
+ handleKeyDown,
41
+ handleClickOnClearAll,
42
+ handleClickOnSelectAll,
43
+ handleOnBlurClearAll,
44
+ handleOnBlurSelectAll,
45
+ handleOnMouseDown,
46
+ handleToggle
47
+ } = useHeaderListHandlers.useHeaderListHandlers();
59
48
  return /*#__PURE__*/_jsx__default["default"](styled.StyledHeaderListWrapper, {
49
+ onKeyDown: handleKeyDown,
60
50
  onMouseDown: handleOnMouseDown
61
- }, void 0, /*#__PURE__*/_jsx__default["default"](styled.StyledSelectedItems, {}, void 0, "".concat(multiSelectedValues.length, " Selected")), /*#__PURE__*/_jsx__default["default"](styled.ActionButtons, {}, void 0, onSelectAll && /*#__PURE__*/_jsx__default["default"](styled.StyledButton, {
62
- disabled: selectableOptions.length === multiSelectedValues.length,
63
- tabIndex: 0,
51
+ }, void 0, /*#__PURE__*/_jsx__default["default"](styled.StyledSelectedItems, {}, void 0, isSelectAllSupplied && /*#__PURE__*/_jsx__default["default"](styled.StyledButton, {
52
+ disabled: (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value) !== '' || selectableOptions.length === multiSelectedValues.length,
64
53
  "data-testid": ComboboxDataTestids.ComboboxDataTestid.SELECT_ALL_BUTTON,
65
54
  buttonType: "text",
66
55
  labelText: "All",
@@ -68,21 +57,56 @@ const HeaderList = () => {
68
57
  onMouseDown: handleOnMouseDown,
69
58
  onBlur: handleOnBlurSelectAll,
70
59
  onClick: handleClickOnSelectAll
71
- }), onSelectAll && onClearAll && (_StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default["default"](styled.StyledSeparator, {
60
+ }), isSelectAllSupplied && isClearAllSupplied && (_StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default["default"](styled.StyledSeparator, {
72
61
  orientation: "vertical",
73
62
  position: "center",
74
63
  type: "group-level",
75
64
  margin: "none"
76
- }))), onClearAll && /*#__PURE__*/_jsx__default["default"](styled.StyledButton, {
65
+ }))), isClearAllSupplied && /*#__PURE__*/_jsx__default["default"](styled.StyledButton, {
77
66
  disabled: multiSelectedValues.length === 0,
78
67
  tabIndex: 0,
79
68
  "data-testid": ComboboxDataTestids.ComboboxDataTestid.CLEAR_ALL_BUTTON,
80
69
  buttonType: "text",
81
- labelText: "Clear",
82
70
  size: "s",
71
+ labelText: "Clear",
83
72
  onMouseDown: handleOnMouseDown,
84
73
  onBlur: handleOnBlurClearAll,
85
74
  onClick: handleClickOnClearAll
75
+ })), /*#__PURE__*/_jsx__default["default"](styled.StyledSelectedItems, {}, void 0, withToggle ? /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
76
+ children: multiSelectedValues.length > 0 ? /*#__PURE__*/_jsx__default["default"](styled.StyledButtonSelection, {
77
+ buttonType: "text",
78
+ disabled: !showSelectedOptions && selectableOptions.length === multiSelectedValues.length,
79
+ onClick: handleToggle,
80
+ labelText: !showSelectedOptions ? "".concat(multiSelectedValues.length, " SELECTED") : 'SHOW ALL',
81
+ size: "s"
82
+ }) : _StyledNoOptionsSelec || (_StyledNoOptionsSelec = /*#__PURE__*/_jsx__default["default"](styled.StyledNoOptionsSelected, {}, void 0, "0 SELECTED"))
83
+ }) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
84
+ children: [/*#__PURE__*/_jsx__default["default"](styled.StyledShowAllButton, {
85
+ buttonType: "text",
86
+ "data-testid": ComboboxDataTestids.ComboboxDataTestid.SHOW_ALL_BUTTON,
87
+ tabIndex: !showSelectedOptions ? -1 : 0,
88
+ onClick: showSelectedOptions ? handleToggle : lodash.noop,
89
+ labelText: "SHOW ALL",
90
+ isSelected: !showSelectedOptions,
91
+ size: "s",
92
+ style: {
93
+ fontWeight: showSelectedOptions ? '300' : '600'
94
+ }
95
+ }), _StyledSeparator2 || (_StyledSeparator2 = /*#__PURE__*/_jsx__default["default"](styled.StyledSeparator, {
96
+ orientation: "vertical",
97
+ position: "center",
98
+ type: "group-level",
99
+ margin: "none"
100
+ })), /*#__PURE__*/_jsx__default["default"](styled.StyledButtonSelection, {
101
+ tabIndex: showSelectedOptions ? -1 : 0,
102
+ "data-testid": ComboboxDataTestids.ComboboxDataTestid.SHOW_SELECTED_OPTIONS_BUTTON,
103
+ disabled: multiSelectedValues.length === 0 || !showSelectedOptions && selectableOptions.length === multiSelectedValues.length,
104
+ buttonType: "text",
105
+ isSelected: showSelectedOptions,
106
+ onClick: !showSelectedOptions ? handleToggle : lodash.noop,
107
+ labelText: "".concat(multiSelectedValues.length, " SELECTED"),
108
+ size: "s"
109
+ })]
86
110
  })));
87
111
  };
88
112
 
@@ -2,34 +2,57 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
5
6
  var styled = require('styled-components');
7
+ var dsSystem = require('@elliemae/ds-system');
6
8
  var DSButton = require('@elliemae/ds-button');
7
9
  var DSSeparator = require('@elliemae/ds-separator');
8
10
 
9
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
12
 
13
+ var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
11
14
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
15
  var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
13
16
  var DSSeparator__default = /*#__PURE__*/_interopDefaultLegacy(DSSeparator);
14
17
 
18
+ var _templateObject;
19
+
20
+ const selectedStyle = isSelected => dsSystem.css(_templateObject || (_templateObject = _taggedTemplateLiteral__default["default"](["\n & span {\n border-bottom: 2px solid ", ";\n }\n cursor: ", ";\n"])), props => isSelected ? props.theme.colors.brand[700] : '#FFF', isSelected && 'default');
21
+
15
22
  const StyledHeaderListWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
16
23
  componentId: "sc-dazbzt-0"
17
- })(["display:flex;justify-content:space-between;padding:0px 16px;height:28px;"]);
18
- const ActionButtons = /*#__PURE__*/styled__default["default"].div.withConfig({
19
- componentId: "sc-dazbzt-1"
20
- })(["display:inline-flex;align-items:center;color:", ";"], props => props.theme.colors.neutral[500]);
24
+ })(["display:flex;position:fixed;top:0;z-index:10;justify-content:space-between;padding:0px 12px 0px 12px;width:100%;height:28px;background-color:#fff;box-shadow:0 4px 2px -4px ", ";overflow-x:hidden;& button{font-size:13px;}"], props => props.theme.colors.neutral[700]);
21
25
  const StyledSeparator = /*#__PURE__*/styled__default["default"](DSSeparator__default["default"]).withConfig({
22
- componentId: "sc-dazbzt-2"
26
+ componentId: "sc-dazbzt-1"
23
27
  })(["height:50%;width:auto;"]);
24
28
  const StyledButton = /*#__PURE__*/styled__default["default"](DSButton__default["default"]).withConfig({
25
- componentId: "sc-dazbzt-3"
29
+ componentId: "sc-dazbzt-2"
26
30
  })(["padding:0 ", ";align-items:center;"], props => props.theme.space.xxs);
27
- const StyledSelectedItems = /*#__PURE__*/styled__default["default"].div.withConfig({
31
+ const StyledGeneralSelectionButton = /*#__PURE__*/styled__default["default"](DSButton__default["default"]).withConfig({
32
+ componentId: "sc-dazbzt-3"
33
+ })(["border-radius:0px;padding:0 ", ";margin:0;align-items:center;", " transition:unset;"], props => props.theme.space.xxs, _ref => {
34
+ let {
35
+ isSelected
36
+ } = _ref;
37
+ return selectedStyle(isSelected);
38
+ });
39
+ const StyledButtonSelection = /*#__PURE__*/styled__default["default"](StyledGeneralSelectionButton).withConfig({
28
40
  componentId: "sc-dazbzt-4"
41
+ })(["&:hover:not([disabled]){background-color:transparent;color:", ";}"], props => props.theme.colors.brand['700']);
42
+ const StyledShowAllButton = /*#__PURE__*/styled__default["default"](StyledGeneralSelectionButton).withConfig({
43
+ componentId: "sc-dazbzt-5"
44
+ })(["color:", ";&:hover:not([disabled]){background-color:transparent;color:", ";}"], props => props.theme.colors.neutral['700'], props => props.theme.colors.neutral['700']);
45
+ const StyledSelectedItems = /*#__PURE__*/styled__default["default"].div.withConfig({
46
+ componentId: "sc-dazbzt-6"
29
47
  })(["display:flex;align-items:center;"]);
48
+ const StyledNoOptionsSelected = /*#__PURE__*/styled__default["default"].div.withConfig({
49
+ componentId: "sc-dazbzt-7"
50
+ })(["padding:0 ", ";"], props => props.theme.space.xxs);
30
51
 
31
- exports.ActionButtons = ActionButtons;
32
52
  exports.StyledButton = StyledButton;
53
+ exports.StyledButtonSelection = StyledButtonSelection;
33
54
  exports.StyledHeaderListWrapper = StyledHeaderListWrapper;
55
+ exports.StyledNoOptionsSelected = StyledNoOptionsSelected;
34
56
  exports.StyledSelectedItems = StyledSelectedItems;
35
57
  exports.StyledSeparator = StyledSeparator;
58
+ exports.StyledShowAllButton = StyledShowAllButton;
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var ComboBoxCTX = require('../../ComboBoxCTX.js');
7
+
8
+ const useHeaderListHandlers = () => {
9
+ const {
10
+ props: {
11
+ onSelectAll,
12
+ onFilter,
13
+ onClearAll,
14
+ selectedValues
15
+ },
16
+ inputRef,
17
+ showSelectedOptions,
18
+ setShowSelectedOptions,
19
+ setShowPopover
20
+ } = React.useContext(ComboBoxCTX.ComboBoxContext);
21
+ const multiSelectedValues = selectedValues;
22
+ const handleOnBlurSelectAll = React.useCallback(e => {
23
+ if (!onClearAll || multiSelectedValues.length === 0) {
24
+ e.preventDefault();
25
+ inputRef.current.focus();
26
+ }
27
+ }, [inputRef, onClearAll, multiSelectedValues]);
28
+ const handleOnBlurClearAll = React.useCallback(e => {// since ux change order from the action buttons this is unneccesary. will comment until review finish
29
+ // e.preventDefault();
30
+ // inputRef.current.focus();
31
+ }, [inputRef]);
32
+ const handleClickOnSelectAll = React.useCallback(() => {
33
+ onSelectAll();
34
+ inputRef.current.focus();
35
+ }, [onSelectAll, inputRef, setShowPopover]);
36
+ const handleClickOnClearAll = React.useCallback(e => {
37
+ setShowSelectedOptions(false);
38
+ e.preventDefault();
39
+ e.stopPropagation();
40
+ onClearAll();
41
+ inputRef.current.focus();
42
+ }, [inputRef, setShowSelectedOptions, onClearAll]);
43
+ const handleOnMouseDown = React.useCallback(e => {
44
+ e.preventDefault();
45
+ }, []);
46
+ const handleToggle = React.useCallback(() => {
47
+ inputRef.current.value = '';
48
+ onFilter('');
49
+ setShowSelectedOptions(!showSelectedOptions);
50
+ inputRef.current.focus();
51
+ }, [setShowSelectedOptions, inputRef, onFilter, showSelectedOptions]);
52
+ const handleKeyDown = React.useCallback(e => {
53
+ if (e.key === 'Escape') {
54
+ setShowPopover(false);
55
+ }
56
+ }, [setShowPopover]);
57
+ React.useEffect(() => {
58
+ if (multiSelectedValues.length === 0) {
59
+ setShowSelectedOptions(false);
60
+ }
61
+ }, [multiSelectedValues, setShowSelectedOptions]);
62
+ return React.useMemo(() => ({
63
+ handleKeyDown,
64
+ handleToggle,
65
+ handleOnMouseDown,
66
+ handleClickOnClearAll,
67
+ handleClickOnSelectAll,
68
+ handleOnBlurClearAll,
69
+ handleOnBlurSelectAll
70
+ }), [handleKeyDown, handleToggle, handleOnMouseDown, handleClickOnClearAll, handleClickOnSelectAll, handleOnBlurClearAll, handleOnBlurSelectAll]);
71
+ };
72
+
73
+ exports.useHeaderListHandlers = useHeaderListHandlers;
@@ -4,13 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
- var listHelper = require('../../utils/listHelper.js');
8
7
  var styled = require('./styled.js');
9
8
  var ComboboxDataTestids = require('../../ComboboxDataTestids.js');
10
9
  var ComboBoxCTX = require('../../ComboBoxCTX.js');
11
10
  var HeaderList = require('../header-list/HeaderList.js');
12
11
  var useOnElementResize = require('../../utils/hooks/useOnElementResize.js');
13
12
  var index = require('../empty-state/index.js');
13
+ var useItemRenderer = require('./useItemRenderer.js');
14
14
  var useMenuList = require('./useMenuList.js');
15
15
  var jsxRuntime = require('react/jsx-runtime');
16
16
 
@@ -23,6 +23,8 @@ var _HeaderList, _EmptyState;
23
23
  const MenuList = () => {
24
24
  const {
25
25
  props: {
26
+ menuMinWidth,
27
+ menuMaxHeight,
26
28
  inline,
27
29
  options,
28
30
  selectedValues
@@ -31,36 +33,48 @@ const MenuList = () => {
31
33
  inputRef,
32
34
  listRef,
33
35
  showPopover,
36
+ wrapperListRef,
34
37
  controlsWrapperRef,
35
38
  virtualListHelpers: {
36
39
  totalSize
37
40
  }
38
41
  } = React.useContext(ComboBoxCTX.ComboBoxContext);
39
42
  const multiple = Array.isArray(selectedValues);
40
- const {
41
- ItemRenderer
42
- } = useMenuList.useMenuList();
43
+ const withHeader = !inline && multiple && options.length > 0;
44
+ const ItemRenderer = useItemRenderer.useItemRenderer();
45
+ useMenuList.useMenuList();
43
46
  useOnElementResize.useOnElementResize(controlsWrapperRef);
44
- const listWidth = inline ? '100%' : "".concat(referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.offsetWidth, "px");
45
- const selectableOptions = listHelper.getOptions(options);
46
- const handleOnClick = React.useCallback(() => {
47
- inputRef === null || inputRef === void 0 ? void 0 : inputRef.current.focus();
47
+ const listWidth = React.useMemo(() => menuMinWidth || "".concat(referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.offsetWidth), [menuMinWidth, referenceElement]);
48
+ const handleOnFocus = React.useCallback(() => {
49
+ var _inputRef$current;
50
+
51
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
48
52
  }, [inputRef]);
49
53
  return /*#__PURE__*/jsxRuntime.jsxs(styled.StyledListWrapper, {
54
+ tabIndex: -1,
55
+ ref: wrapperListRef,
56
+ inline: inline,
50
57
  onMouseDown: e => e.preventDefault(),
51
- ref: listRef,
52
- width: listWidth,
58
+ minWidth: listWidth,
53
59
  id: "combo-listbox",
54
60
  role: "listbox",
55
- children: [!inline && multiple && options.length > 0 && (_HeaderList || (_HeaderList = /*#__PURE__*/_jsx__default["default"](HeaderList.HeaderList, {}))), selectableOptions.length > 0 ? /*#__PURE__*/_jsx__default["default"](styled.StyledList, {
61
+ children: [withHeader && (_HeaderList || (_HeaderList = /*#__PURE__*/_jsx__default["default"](HeaderList.HeaderList, {}))), options.length > 0 ? /*#__PURE__*/jsxRuntime.jsx(styled.StyledVirtualListWrapper, {
56
62
  tabIndex: -1,
57
- "aria-expanded": showPopover,
58
- onFocus: handleOnClick,
59
- "data-testid": ComboboxDataTestids.ComboboxDataTestid.LIST,
60
- style: {
61
- height: totalSize
62
- }
63
- }, void 0, ItemRenderer) : _EmptyState || (_EmptyState = /*#__PURE__*/_jsx__default["default"](index.EmptyState, {}))]
63
+ inline: inline,
64
+ maxHeight: menuMaxHeight,
65
+ ref: listRef,
66
+ withHeader: withHeader,
67
+ children: /*#__PURE__*/_jsx__default["default"](styled.StyledList, {
68
+ tabIndex: -1,
69
+ "aria-expanded": showPopover,
70
+ onFocus: handleOnFocus,
71
+ "data-testid": ComboboxDataTestids.ComboboxDataTestid.LIST,
72
+ style: {
73
+ height: totalSize,
74
+ margin: inline ? '0px' : '8px 0px'
75
+ }
76
+ }, void 0, ItemRenderer)
77
+ }) : _EmptyState || (_EmptyState = /*#__PURE__*/_jsx__default["default"](index.EmptyState, {}))]
64
78
  });
65
79
  };
66
80
 
@@ -10,10 +10,25 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
10
10
 
11
11
  const StyledListWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
12
12
  componentId: "sc-1uedyf-0"
13
- })(["width:", ";overflow-y:auto;max-height:300px;"], props => props.width);
13
+ })(["min-width:", ";"], props => props.inline ? '100%' : "".concat(props.minWidth, "px"));
14
14
  const StyledList = /*#__PURE__*/styled__default["default"].ul.withConfig({
15
15
  componentId: "sc-1uedyf-1"
16
- })(["position:relative;padding:0;margin:0;"]);
16
+ })(["position:relative;padding:0;"]);
17
+ const StyledVirtualListWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
18
+ componentId: "sc-1uedyf-2"
19
+ })(["overflow-y:auto;margin-top:", ";max-height:", ";"], _ref => {
20
+ let {
21
+ withHeader
22
+ } = _ref;
23
+ return withHeader ? '28px' : '';
24
+ }, _ref2 => {
25
+ let {
26
+ maxHeight,
27
+ inline
28
+ } = _ref2;
29
+ return inline ? '' : "".concat(!maxHeight ? '400' : maxHeight, "px");
30
+ });
17
31
 
18
32
  exports.StyledList = StyledList;
19
33
  exports.StyledListWrapper = StyledListWrapper;
34
+ exports.StyledVirtualListWrapper = StyledVirtualListWrapper;
@@ -0,0 +1,105 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ require('core-js/modules/esnext.async-iterator.map.js');
7
+ require('core-js/modules/esnext.iterator.map.js');
8
+ require('core-js/modules/esnext.async-iterator.filter.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.filter.js');
11
+ require('core-js/modules/esnext.async-iterator.for-each.js');
12
+ require('core-js/modules/esnext.iterator.for-each.js');
13
+ var React = require('react');
14
+ var dsForm = require('@elliemae/ds-form');
15
+ var ComboBoxCTX = require('../../ComboBoxCTX.js');
16
+ var listHelper = require('../../utils/listHelper.js');
17
+ var ComboboxDataTestids = require('../../ComboboxDataTestids.js');
18
+ var jsxRuntime = require('react/jsx-runtime');
19
+
20
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
+
22
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
23
+
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
25
+
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
+
28
+ const useItemRenderer = () => {
29
+ const {
30
+ props: {
31
+ options,
32
+ onChange,
33
+ selectedValues,
34
+ onFilter
35
+ },
36
+ inputRef,
37
+ setShowPopover,
38
+ focusOptionIdx,
39
+ virtualListHelpers
40
+ } = React.useContext(ComboBoxCTX.ComboBoxContext);
41
+ const {
42
+ virtualItems
43
+ } = virtualListHelpers;
44
+ const multiple = Array.isArray(selectedValues);
45
+ const CBItem = multiple ? dsForm.MultiMenuItem : dsForm.SingleMenuItem;
46
+ const handleClick = React.useCallback((option, e) => {
47
+ var _inputRef$current;
48
+
49
+ if (!multiple) {
50
+ setShowPopover(false);
51
+ if (inputRef.current) inputRef.current.value = '';
52
+ } else if (inputRef.current) {
53
+ onFilter(inputRef.current.value);
54
+ }
55
+
56
+ onChange(option);
57
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
58
+ e.stopPropagation();
59
+ e.preventDefault();
60
+ }, [onFilter, onChange, setShowPopover, multiple, inputRef]);
61
+ const handleOnMouseDown = React.useCallback(e => {
62
+ e.preventDefault();
63
+ }, []);
64
+ const ItemRenderer = React.useMemo(() => virtualItems.map(vItem => {
65
+ const option = options[vItem.index];
66
+ const generalProps = {
67
+ wrapperStyles: {
68
+ position: 'absolute',
69
+ top: vItem.start,
70
+ left: 0,
71
+ width: '100%'
72
+ },
73
+ key: "".concat(option.dsId),
74
+ innerRef: vItem.measureRef
75
+ };
76
+
77
+ if (option.type === 'section') {
78
+ return /*#__PURE__*/jsxRuntime.jsx(dsForm.Section, _objectSpread({
79
+ label: option.label
80
+ }, generalProps));
81
+ }
82
+
83
+ if (option.type === 'separator') {
84
+ return /*#__PURE__*/jsxRuntime.jsx(dsForm.Separator, _objectSpread({}, generalProps));
85
+ }
86
+
87
+ if (option.type === 'option') {
88
+ return /*#__PURE__*/jsxRuntime.jsx(CBItem, _objectSpread(_objectSpread({}, generalProps), {}, {
89
+ value: option.value,
90
+ label: option.label,
91
+ dataTestid: ComboboxDataTestids.ComboboxDataTestid.OPTION,
92
+ disabled: option.disabled,
93
+ onClick: e => handleClick(option, e),
94
+ onMouseDown: handleOnMouseDown,
95
+ isActive: option.dsId === focusOptionIdx,
96
+ isSelected: listHelper.isSelected(selectedValues, option)
97
+ }));
98
+ }
99
+
100
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {});
101
+ }), [options, focusOptionIdx, selectedValues, inputRef, virtualItems]);
102
+ return ItemRenderer;
103
+ };
104
+
105
+ exports.useItemRenderer = useItemRenderer;
@@ -2,103 +2,60 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- require('core-js/modules/esnext.async-iterator.map.js');
7
- require('core-js/modules/esnext.iterator.map.js');
8
- require('core-js/modules/esnext.async-iterator.filter.js');
9
- require('core-js/modules/esnext.iterator.constructor.js');
10
- require('core-js/modules/esnext.iterator.filter.js');
11
- require('core-js/modules/esnext.async-iterator.for-each.js');
12
- require('core-js/modules/esnext.iterator.for-each.js');
13
5
  var React = require('react');
14
- var dsForm = require('@elliemae/ds-form');
15
6
  var ComboBoxCTX = require('../../ComboBoxCTX.js');
16
- var listHelper = require('../../utils/listHelper.js');
17
- var ComboboxDataTestids = require('../../ComboboxDataTestids.js');
18
- var jsxRuntime = require('react/jsx-runtime');
19
-
20
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
-
22
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
23
-
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
25
-
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
7
 
28
8
  const useMenuList = () => {
9
+ var _inputRef$current;
10
+
29
11
  const {
30
12
  props: {
31
- options,
32
- onChange,
13
+ inline,
33
14
  selectedValues,
34
- onFilter
15
+ onMenuOpen,
16
+ options
35
17
  },
36
18
  inputRef,
37
- setShowPopover,
38
- focusOptionIdx,
39
- virtualListHelpers: {
40
- virtualItems
41
- }
19
+ setCurrentOption,
20
+ scrollOptionIntoView,
21
+ hasFocus,
22
+ showPopover
42
23
  } = React.useContext(ComboBoxCTX.ComboBoxContext);
43
- const multiple = Array.isArray(selectedValues);
44
- const CBItem = multiple ? dsForm.MultiMenuItem : dsForm.SingleMenuItem;
45
- const handleClick = React.useCallback((option, e) => {
46
- if (!multiple) {
47
- setShowPopover(false);
48
- inputRef.current.value = '';
49
- } else {
50
- onFilter(inputRef.current.value);
51
- }
52
-
53
- onChange(option);
54
- inputRef.current.focus();
55
- e.stopPropagation();
56
- e.preventDefault();
57
- }, [onFilter, onChange, setShowPopover, multiple, inputRef]);
58
- const handleOnMouseDown = React.useCallback(e => {
59
- e.preventDefault();
60
- }, []);
61
- const ItemRenderer = React.useMemo(() => virtualItems.map(vItem => {
62
- const option = options[vItem.index];
63
- const generalProps = {
64
- wrapperStyles: {
65
- position: 'absolute',
66
- top: vItem.start,
67
- left: 0,
68
- width: '100%'
69
- },
70
- key: "".concat(option.dsId),
71
- innerRef: vItem.measureRef
24
+ React.useEffect(() => {
25
+ const getFirstOption = () => {
26
+ for (let i = 0; i < options.length; i += 1) if (!['section', 'separator'].includes(options[i].type)) {
27
+ setCurrentOption(options[i].dsId);
28
+ break;
29
+ }
72
30
  };
73
31
 
74
- if (option.type === 'section') {
75
- return /*#__PURE__*/jsxRuntime.jsx(dsForm.Section, _objectSpread({
76
- label: option.label
77
- }, generalProps));
78
- }
79
-
80
- if (option.type === 'separator') {
81
- return /*#__PURE__*/jsxRuntime.jsx(dsForm.Separator, _objectSpread({}, generalProps));
82
- }
83
-
84
- if (option.type === 'option') {
85
- return /*#__PURE__*/jsxRuntime.jsx(CBItem, _objectSpread(_objectSpread({}, generalProps), {}, {
86
- value: option.value,
87
- label: option.label,
88
- dataTestid: ComboboxDataTestids.ComboboxDataTestid.OPTION,
89
- disabled: option.disabled,
90
- onClick: e => handleClick(option, e),
91
- onMouseDown: handleOnMouseDown,
92
- isActive: option.dsId === focusOptionIdx,
93
- isSelected: listHelper.isSelected(selectedValues, option)
94
- }));
95
- }
96
-
97
- return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {});
98
- }), [options, focusOptionIdx, selectedValues, inputRef, virtualItems]);
99
- return React.useMemo(() => ({
100
- ItemRenderer
101
- }), [ItemRenderer]);
32
+ if (showPopover || inline) {
33
+ onMenuOpen();
34
+
35
+ if (inputRef.current.value !== '') {
36
+ getFirstOption();
37
+ } else if (Array.isArray(selectedValues)) {
38
+ const multiSelectedValues = selectedValues;
39
+
40
+ if (multiSelectedValues.length > 0) {
41
+ setCurrentOption(multiSelectedValues[multiSelectedValues.length - 1].dsId);
42
+ scrollOptionIntoView(multiSelectedValues[multiSelectedValues.length - 1].dsId);
43
+ } else {
44
+ getFirstOption();
45
+ }
46
+ } else {
47
+ const singleSelectedValue = selectedValues;
48
+
49
+ if (singleSelectedValue) {
50
+ setCurrentOption(selectedValues.dsId);
51
+ scrollOptionIntoView(selectedValues.dsId);
52
+ } else {
53
+ getFirstOption();
54
+ }
55
+ }
56
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
57
+
58
+ }, [showPopover, inline, hasFocus, (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value]);
102
59
  };
103
60
 
104
61
  exports.useMenuList = useMenuList;