@elliemae/ds-menu 2.0.0-alpha.10 → 2.0.0-alpha.14

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 (46) hide show
  1. package/cjs/Menu.js +26 -11
  2. package/cjs/MenuCombobox.js +5 -0
  3. package/cjs/MenuItems/CheckboxGroup.js +5 -0
  4. package/cjs/MenuItems/MenuItem.js +45 -31
  5. package/cjs/MenuItems/MenuItemCheckable.js +16 -11
  6. package/cjs/MenuItems/MenuItemCheckbox.js +7 -3
  7. package/cjs/MenuItems/MenuItemRadio.js +5 -0
  8. package/cjs/MenuItems/RadioGroup.js +5 -0
  9. package/cjs/MenuItems/SearchableGroup.js +20 -12
  10. package/cjs/MenuItems/SearchableList.js +23 -17
  11. package/cjs/MenuItems/SelectionGroup.js +22 -12
  12. package/cjs/MenuItems/Separator.js +7 -4
  13. package/cjs/MenuItems/SubMenu.js +25 -22
  14. package/cjs/MenuItems/menuItemFactory.js +15 -4
  15. package/cjs/VirtualMenuList.js +21 -14
  16. package/cjs/utils/useHeightByAmountOfItems.js +6 -5
  17. package/esm/Menu.js +26 -11
  18. package/esm/MenuCombobox.js +5 -0
  19. package/esm/MenuItems/CheckboxGroup.js +5 -0
  20. package/esm/MenuItems/MenuItem.js +43 -29
  21. package/esm/MenuItems/MenuItemCheckable.js +14 -8
  22. package/esm/MenuItems/MenuItemCheckbox.js +6 -1
  23. package/esm/MenuItems/MenuItemRadio.js +5 -0
  24. package/esm/MenuItems/RadioGroup.js +5 -0
  25. package/esm/MenuItems/SearchableGroup.js +20 -12
  26. package/esm/MenuItems/SearchableList.js +21 -14
  27. package/esm/MenuItems/SelectionGroup.js +22 -12
  28. package/esm/MenuItems/Separator.js +7 -4
  29. package/esm/MenuItems/SubMenu.js +25 -20
  30. package/esm/MenuItems/menuItemFactory.js +14 -3
  31. package/esm/VirtualMenuList.js +21 -14
  32. package/esm/utils/useHeightByAmountOfItems.js +6 -5
  33. package/package.json +16 -13
  34. package/types/Menu.d.ts +24 -1
  35. package/types/MenuItems/CheckboxGroup.d.ts +24 -4
  36. package/types/MenuItems/MenuItem.d.ts +60 -10
  37. package/types/MenuItems/MenuItemCheckable.d.ts +51 -7
  38. package/types/MenuItems/MenuItemRadio.d.ts +27 -3
  39. package/types/MenuItems/RadioGroup.d.ts +18 -3
  40. package/types/MenuItems/SearchableGroup.d.ts +15 -1
  41. package/types/MenuItems/SearchableList.d.ts +77 -11
  42. package/types/MenuItems/SelectionGroup.d.ts +73 -11
  43. package/types/MenuItems/Separator.d.ts +21 -3
  44. package/types/MenuItems/SubMenu.d.ts +91 -13
  45. package/cjs/package.json +0 -7
  46. package/esm/package.json +0 -7
package/cjs/Menu.js CHANGED
@@ -5,6 +5,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
+ require('core-js/modules/esnext.async-iterator.some.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.some.js');
11
+ require('core-js/modules/esnext.async-iterator.constructor.js');
12
+ require('core-js/modules/esnext.async-iterator.to-array.js');
13
+ require('core-js/modules/esnext.iterator.to-array.js');
14
+ require('core-js/modules/esnext.async-iterator.map.js');
15
+ require('core-js/modules/esnext.iterator.map.js');
16
+ require('core-js/modules/esnext.async-iterator.filter.js');
17
+ require('core-js/modules/esnext.iterator.filter.js');
18
+ require('core-js/modules/esnext.async-iterator.for-each.js');
19
+ require('core-js/modules/esnext.iterator.for-each.js');
8
20
  var React = require('react');
9
21
  var reactDesc = require('react-desc');
10
22
  var lodash = require('lodash');
@@ -45,13 +57,16 @@ const blockName = 'menu';
45
57
 
46
58
  const noop = () => {};
47
59
 
48
- const MenuComponent = dsClassnames.aggregatedClasses('div')(blockName, '', ({
49
- menuComboBox,
50
- type
51
- }) => ({
52
- 'menu-combo-box': menuComboBox,
53
- [`type-${type}`]: type
54
- }));
60
+ const MenuComponent = dsClassnames.aggregatedClasses('div')(blockName, '', _ref => {
61
+ let {
62
+ menuComboBox,
63
+ type
64
+ } = _ref;
65
+ return {
66
+ 'menu-combo-box': menuComboBox,
67
+ ["type-".concat(type)]: type
68
+ };
69
+ });
55
70
  /**
56
71
  * todo: -- IDEA -- each menu could have an overlay based on an overlay stack context so we can
57
72
  * capture the context of the clicks on very nested components
@@ -59,7 +74,7 @@ const MenuComponent = dsClassnames.aggregatedClasses('div')(blockName, '', ({
59
74
 
60
75
  const isChildOfType = (child, type) => child.type.name === type;
61
76
 
62
- function DSMenu(_ref) {
77
+ function DSMenu(_ref2) {
63
78
  let {
64
79
  containerProps = {},
65
80
  innerRef,
@@ -75,8 +90,8 @@ function DSMenu(_ref) {
75
90
  maxWidth = undefined,
76
91
  closeMenu,
77
92
  responsiveHeight = false
78
- } = _ref,
79
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
93
+ } = _ref2,
94
+ otherProps = _objectWithoutProperties__default["default"](_ref2, _excluded);
80
95
 
81
96
  const menuRef = React.useRef(null);
82
97
  const {
@@ -129,7 +144,7 @@ function DSMenu(_ref) {
129
144
  maxWidth
130
145
  }, responsiveHeight ? {
131
146
  overflowY: 'scroll',
132
- maxHeight: responsiveHeight ? `${window.innerHeight - RESPONSIVE_HEIHGT_MARGIN}px` : undefined
147
+ maxHeight: responsiveHeight ? "".concat(window.innerHeight - RESPONSIVE_HEIHGT_MARGIN, "px") : undefined
133
148
  } : {})
134
149
  }, void 0, nextChildren)
135
150
  }))) : null;
@@ -1,5 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ require('core-js/modules/esnext.async-iterator.filter.js');
4
+ require('core-js/modules/esnext.iterator.constructor.js');
5
+ require('core-js/modules/esnext.iterator.filter.js');
6
+ require('core-js/modules/esnext.async-iterator.for-each.js');
7
+ require('core-js/modules/esnext.iterator.for-each.js');
3
8
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
9
  var _jsx = require('@babel/runtime/helpers/jsx');
5
10
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
@@ -2,6 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
11
  require('react');
7
12
  var reactDesc = require('react-desc');
@@ -5,13 +5,20 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
7
  var _jsx = require('@babel/runtime/helpers/jsx');
8
+ require('core-js/modules/esnext.async-iterator.map.js');
9
+ require('core-js/modules/esnext.iterator.map.js');
10
+ require('core-js/modules/web.dom-collections.iterator.js');
11
+ require('core-js/modules/esnext.async-iterator.filter.js');
12
+ require('core-js/modules/esnext.iterator.constructor.js');
13
+ require('core-js/modules/esnext.iterator.filter.js');
14
+ require('core-js/modules/esnext.async-iterator.for-each.js');
15
+ require('core-js/modules/esnext.iterator.for-each.js');
8
16
  var React = require('react');
9
17
  var reactDesc = require('react-desc');
10
18
  var lodash = require('lodash');
11
19
  var dsClassnames = require('@elliemae/ds-classnames');
12
- var system = require('@elliemae/ds-utilities/system');
20
+ var dsUtilities = require('@elliemae/ds-utilities');
13
21
  var FocusGroup = require('@elliemae/ds-shared/FocusGroup');
14
- var utils = require('@elliemae/ds-utilities/utils');
15
22
  var DSTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
16
23
  var menuItemFactory = require('./menuItemFactory.js');
17
24
  var SubMenu = require('./SubMenu.js');
@@ -35,13 +42,16 @@ const noop = () => null;
35
42
 
36
43
  const blockName = 'menu-item';
37
44
  const Content = dsClassnames.aggregatedClasses('div')(blockName, 'content');
38
- const Addon = dsClassnames.aggregatedClasses('div')(blockName, 'addon', ({
39
- empty,
40
- fixedItem
41
- }) => ({
42
- empty,
43
- fixedItem
44
- }));
45
+ const Addon = dsClassnames.aggregatedClasses('div')(blockName, 'addon', _ref => {
46
+ let {
47
+ empty,
48
+ fixedItem
49
+ } = _ref;
50
+ return {
51
+ empty,
52
+ fixedItem
53
+ };
54
+ });
45
55
 
46
56
  const renderAddon = (addon, fixedItem, addonId) => /*#__PURE__*/_jsx__default["default"](Addon, {
47
57
  classProps: {
@@ -51,21 +61,25 @@ const renderAddon = (addon, fixedItem, addonId) => /*#__PURE__*/_jsx__default["d
51
61
 
52
62
  const renderAddons = (addons, fixedItem) => Array.isArray(addons) ? addons.map(renderAddon) : renderAddon(addons, fixedItem);
53
63
 
54
- const Wrapper = dsClassnames.aggregatedClasses('li')(blockName, null, ({
55
- disabled,
56
- disabledAddonInactive,
57
- customRenderer,
58
- fixedItem,
59
- type
60
- }) => ({
61
- disabled,
62
- disabledAddonInactive,
63
- customRenderer,
64
- fixedItem,
65
- [`menu-type-${type}`]: type
66
- }));
67
-
68
- const calculateSize = (length = 0) => {
64
+ const Wrapper = dsClassnames.aggregatedClasses('li')(blockName, null, _ref2 => {
65
+ let {
66
+ disabled,
67
+ disabledAddonInactive,
68
+ customRenderer,
69
+ fixedItem,
70
+ type
71
+ } = _ref2;
72
+ return {
73
+ disabled,
74
+ disabledAddonInactive,
75
+ customRenderer,
76
+ fixedItem,
77
+ ["menu-type-".concat(type)]: type
78
+ };
79
+ });
80
+
81
+ const calculateSize = function () {
82
+ let length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
69
83
  if (length > 45) return 45 * 7;
70
84
  return length * 7;
71
85
  };
@@ -105,11 +119,11 @@ function MenuItem(props) {
105
119
 
106
120
  const wrapperProps = React.useMemo(() => lodash.omit(otherProps, ['icon']), [otherProps]);
107
121
 
108
- const onClick = (...args) => {
109
- if (wrapperProps.onClick) wrapperProps.onClick(...args);
122
+ const onClick = function () {
123
+ if (wrapperProps.onClick) wrapperProps.onClick(...arguments);
110
124
 
111
125
  if (wrapperProps.closeOnClick && menuCxt.closeMenu) {
112
- menuCxt.closeMenu(...args);
126
+ menuCxt.closeMenu(...arguments);
113
127
  }
114
128
  };
115
129
 
@@ -123,8 +137,8 @@ function MenuItem(props) {
123
137
  type: otherProps.type
124
138
  },
125
139
  id: otherProps.id,
126
- innerRef: otherProps.type !== 'disabled' ? system.mergeRefs(innerRef, ref) : innerRef,
127
- onKeyDown: !fixedItem && utils.runAll(e => {
140
+ innerRef: otherProps.type !== 'disabled' ? dsUtilities.mergeRefs(innerRef, ref) : innerRef,
141
+ onKeyDown: !fixedItem && dsUtilities.runAll(e => {
128
142
  if (e.key === ' ' || e.key === 'Enter') {
129
143
  e.preventDefault();
130
144
  e.target.dispatchEvent(new MouseEvent('click', {
@@ -141,8 +155,8 @@ function MenuItem(props) {
141
155
  onClick: onClick,
142
156
  children: [!noAddon && renderAddons(leftAddon, fixedItem), label && /*#__PURE__*/_jsx__default["default"](Content, {
143
157
  style: maxOption > 0 ? {
144
- width: `${calculateSize(maxOption)}px`,
145
- maxWidth: `${calculateSize(maxOption)}px`
158
+ width: "".concat(calculateSize(maxOption), "px"),
159
+ maxWidth: "".concat(calculateSize(maxOption), "px")
146
160
  } : undefined
147
161
  }, void 0, /*#__PURE__*/_jsx__default["default"](DSTruncatedTooltipText__default["default"], {
148
162
  value: label
@@ -2,13 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
11
  var _jsx = require('@babel/runtime/helpers/jsx');
7
12
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
13
  require('react');
9
14
  var reactDesc = require('react-desc');
10
- var Checkmark = require('@elliemae/ds-icons/Checkmark');
11
- var utils = require('@elliemae/ds-utilities/utils');
15
+ var dsIcons = require('@elliemae/ds-icons');
16
+ var dsUtilities = require('@elliemae/ds-utilities');
12
17
  var MenuItem = require('./MenuItem.js');
13
18
  var jsxRuntime = require('react/jsx-runtime');
14
19
 
@@ -17,7 +22,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
17
22
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
18
23
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
24
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
20
- var Checkmark__default = /*#__PURE__*/_interopDefaultLegacy(Checkmark);
21
25
 
22
26
  var _div;
23
27
 
@@ -27,9 +31,10 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
27
31
 
28
32
  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; }
29
33
 
30
- function useCheckable({
31
- checked
32
- }) {
34
+ function useCheckable(_ref) {
35
+ let {
36
+ checked
37
+ } = _ref;
33
38
  return {
34
39
  checked,
35
40
  'aria-checked': checked
@@ -49,27 +54,27 @@ function useCheckable({
49
54
  */
50
55
 
51
56
 
52
- function MenuItemCheckable(_ref) {
57
+ function MenuItemCheckable(_ref2) {
53
58
  let {
54
59
  role = 'menuitemcheckbox',
55
60
  checked = false,
56
61
  name = '',
57
- checkIcon = /*#__PURE__*/_jsx__default["default"](Checkmark__default["default"], {
62
+ checkIcon = /*#__PURE__*/_jsx__default["default"](dsIcons.Checkmark, {
58
63
  color: ['brand-primary', 600]
59
64
  }),
60
65
  // eslint-disable-next-line react/prop-types
61
66
  children,
62
67
  leftAddon,
63
68
  item = undefined
64
- } = _ref,
65
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
69
+ } = _ref2,
70
+ otherProps = _objectWithoutProperties__default["default"](_ref2, _excluded);
66
71
 
67
72
  const checkableProps = useCheckable({
68
73
  checked,
69
74
  name
70
75
  });
71
76
 
72
- const handleClick = () => utils.runAll(otherProps.onClick, checkableProps.onClick)({
77
+ const handleClick = () => dsUtilities.runAll(otherProps.onClick, checkableProps.onClick)({
73
78
  target: {
74
79
  value: name,
75
80
  checked
@@ -1,10 +1,15 @@
1
1
  'use strict';
2
2
 
3
+ require('core-js/modules/esnext.async-iterator.filter.js');
4
+ require('core-js/modules/esnext.iterator.constructor.js');
5
+ require('core-js/modules/esnext.iterator.filter.js');
6
+ require('core-js/modules/esnext.async-iterator.for-each.js');
7
+ require('core-js/modules/esnext.iterator.for-each.js');
3
8
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
9
  var _jsx = require('@babel/runtime/helpers/jsx');
5
10
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
11
  require('react');
7
- var DSCheckbox = require('@elliemae/ds-form/Checkbox');
12
+ var dsForm = require('@elliemae/ds-form');
8
13
  var MenuItemCheckable = require('./MenuItemCheckable.js');
9
14
  var jsxRuntime = require('react/jsx-runtime');
10
15
 
@@ -13,7 +18,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
13
18
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
14
19
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
20
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
16
- var DSCheckbox__default = /*#__PURE__*/_interopDefaultLegacy(DSCheckbox);
17
21
 
18
22
  const _excluded = ["checked"];
19
23
 
@@ -28,7 +32,7 @@ function MenuItemCheckbox(_ref) {
28
32
  rest = _objectWithoutProperties__default["default"](_ref, _excluded);
29
33
 
30
34
  return /*#__PURE__*/jsxRuntime.jsx(MenuItemCheckable["default"], _objectSpread(_objectSpread({}, rest), {}, {
31
- leftAddon: /*#__PURE__*/_jsx__default["default"](DSCheckbox__default["default"], {
35
+ leftAddon: /*#__PURE__*/_jsx__default["default"](dsForm.DSCheckbox, {
32
36
  checked: checked
33
37
  }),
34
38
  role: "menuitemcheckbox"
@@ -2,6 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
11
  require('react');
7
12
  var reactDesc = require('react-desc');
@@ -2,6 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
11
  require('react');
7
12
  var reactDesc = require('react-desc');
@@ -3,6 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('core-js/modules/web.dom-collections.iterator.js');
7
+ require('core-js/modules/esnext.async-iterator.filter.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.filter.js');
6
10
  var React = require('react');
7
11
  var dsClassnames = require('@elliemae/ds-classnames');
8
12
  var FocusGroup = require('@elliemae/ds-shared/FocusGroup');
@@ -20,15 +24,16 @@ var DSSearchBox__default = /*#__PURE__*/_interopDefaultLegacy(DSSearchBox);
20
24
  const SearchBoxWrapper = dsClassnames.aggregatedClasses('div')('menu-search-group', 'search-wrapper');
21
25
  const NoOptionsWrapper = dsClassnames.aggregatedClasses('div')('menu-search-group', 'no-options');
22
26
 
23
- function SearchableGroup({
24
- children,
25
- amountItemsInWindow = 5,
26
- searchTerm: searchTermProp = '',
27
- noOptionsText = 'No options',
28
- height,
29
- width,
30
- focusOnOpen = false
31
- }) {
27
+ function SearchableGroup(_ref) {
28
+ let {
29
+ children,
30
+ amountItemsInWindow = 5,
31
+ searchTerm: searchTermProp = '',
32
+ noOptionsText = 'No options',
33
+ height,
34
+ width,
35
+ focusOnOpen = false
36
+ } = _ref;
32
37
  const searchRef = React.useRef(null);
33
38
  const [searchTerm, setSearchTerm] = React.useState(searchTermProp);
34
39
  React.useEffect(() => {
@@ -48,9 +53,12 @@ function SearchableGroup({
48
53
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
49
54
  children: [/*#__PURE__*/_jsx__default["default"](SearchBoxWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](DSSearchBox__default["default"], {
50
55
  innerRef: searchRef,
51
- onSearch: ({
52
- value
53
- }) => setSearchTerm(value),
56
+ onSearch: _ref2 => {
57
+ let {
58
+ value
59
+ } = _ref2;
60
+ return setSearchTerm(value);
61
+ },
54
62
  searchOnEnter: false,
55
63
  showIcon: false,
56
64
  value: searchTerm
@@ -3,16 +3,21 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ require('core-js/modules/web.dom-collections.iterator.js');
7
+ require('core-js/modules/esnext.async-iterator.filter.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.filter.js');
10
+ require('core-js/modules/esnext.async-iterator.for-each.js');
11
+ require('core-js/modules/esnext.iterator.for-each.js');
6
12
  var React = require('react');
7
13
  var reactDesc = require('react-desc');
8
- var utils = require('@elliemae/ds-utilities/utils');
9
- var DSComboBox = require('@elliemae/ds-form/ComboBox');
14
+ var dsUtilities = require('@elliemae/ds-utilities');
15
+ var dsForm = require('@elliemae/ds-form');
10
16
  var jsxRuntime = require('react/jsx-runtime');
11
17
 
12
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
19
 
14
20
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
15
- var DSComboBox__default = /*#__PURE__*/_interopDefaultLegacy(DSComboBox);
16
21
 
17
22
  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; }
18
23
 
@@ -20,18 +25,19 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
25
 
21
26
  const noop = () => {};
22
27
 
23
- function SearchableList({
24
- onSelectMenuItem = noop,
25
- components = {},
26
- searchTerm: searchTermProp = '',
27
- items = [],
28
- dropdownFilterOptions = {},
29
- returnValue,
30
- extraListProps = {},
31
- appendTermInList = false,
32
- maxOptions = 10,
33
- loading = false
34
- }) {
28
+ function SearchableList(_ref) {
29
+ let {
30
+ onSelectMenuItem = noop,
31
+ components = {},
32
+ searchTerm: searchTermProp = '',
33
+ items = [],
34
+ dropdownFilterOptions = {},
35
+ returnValue,
36
+ extraListProps = {},
37
+ appendTermInList = false,
38
+ maxOptions = 10,
39
+ loading = false
40
+ } = _ref;
35
41
  const [searchTerm, setInputValue] = React.useState(searchTermProp);
36
42
  const handleInputChange = React.useCallback((value, args) => {
37
43
  const action = args ? args.action : null;
@@ -46,11 +52,11 @@ function SearchableList({
46
52
  handleFilterByText();
47
53
  }
48
54
  }, [searchTerm]);
49
- const options = React.useMemo(() => searchTerm && appendTermInList ? utils.uniqBy([{
55
+ const options = React.useMemo(() => searchTerm && appendTermInList ? dsUtilities.uniqBy([{
50
56
  id: searchTerm,
51
57
  label: searchTerm
52
58
  }].concat(items), item => item.label) : items, [searchTerm, appendTermInList]);
53
- return /*#__PURE__*/jsxRuntime.jsx(DSComboBox__default["default"], _objectSpread(_objectSpread({
59
+ return /*#__PURE__*/jsxRuntime.jsx(dsForm.DSComboBox, _objectSpread(_objectSpread({
54
60
  autoFocus: true,
55
61
  components: _objectSpread({
56
62
  DropdownIndicator: null
@@ -4,6 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ require('core-js/modules/esnext.async-iterator.map.js');
8
+ require('core-js/modules/esnext.iterator.map.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
7
14
  var React = require('react');
8
15
  var reactDesc = require('react-desc');
9
16
  var CheckableGroup = require('@elliemae/ds-shared/CheckableGroup');
@@ -22,17 +29,19 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
22
29
 
23
30
  const noop = () => null;
24
31
 
25
- function SelectionGroup({
26
- multi = false,
27
- searchable = false,
28
- focusOnOpen = false,
29
- onSelect = noop,
30
- children,
31
- items = undefined,
32
- active = multi ? [] : '',
33
- width,
34
- height
35
- }) {
32
+ function SelectionGroup(_ref) {
33
+ let {
34
+ multi = false,
35
+ searchable = false,
36
+ focusOnOpen = false,
37
+ onSelect = noop,
38
+ children,
39
+ items = undefined,
40
+ active = multi ? [] : '',
41
+ width,
42
+ height,
43
+ maxOptions = 5
44
+ } = _ref;
36
45
  const renderedItems = React.useMemo(() => items && items.map(item => {
37
46
  const Component = menuItemFactory.menuItemFactory(multi ? 'checkbox' : 'radio');
38
47
  return /*#__PURE__*/React.createElement(Component, _objectSpread(_objectSpread({}, item), {}, {
@@ -60,7 +69,8 @@ function SelectionGroup({
60
69
  return /*#__PURE__*/_jsx__default["default"](VirtualMenuList, {
61
70
  height: height,
62
71
  items: decoratedGroupChildren,
63
- width: width
72
+ width: width,
73
+ amountItemsInWindow: maxOptions
64
74
  });
65
75
  }
66
76
 
@@ -22,10 +22,13 @@ const Li = /*#__PURE__*/styled__default["default"].li.withConfig({
22
22
  })(["display:flex;align-items:flex-start;flex-direction:column;"]);
23
23
  const Title = dsClassnames.aggregatedClasses('h5')(blockName, 'title');
24
24
 
25
- const MenuSeparator = ({
26
- title,
27
- showSeparator = true
28
- }) => /*#__PURE__*/_jsx__default["default"](Li, {}, void 0, showSeparator && (_DSSeparator || (_DSSeparator = /*#__PURE__*/_jsx__default["default"](DSSeparator__default["default"], {}))), title && /*#__PURE__*/_jsx__default["default"](Title, {}, void 0, title));
25
+ const MenuSeparator = _ref => {
26
+ let {
27
+ title,
28
+ showSeparator = true
29
+ } = _ref;
30
+ return /*#__PURE__*/_jsx__default["default"](Li, {}, void 0, showSeparator && (_DSSeparator || (_DSSeparator = /*#__PURE__*/_jsx__default["default"](DSSeparator__default["default"], {}))), title && /*#__PURE__*/_jsx__default["default"](Title, {}, void 0, title));
31
+ };
29
32
 
30
33
  const props = {
31
34
  /** menu separator h5 title */
@@ -4,15 +4,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _jsx = require('@babel/runtime/helpers/jsx');
7
+ require('core-js/modules/web.dom-collections.iterator.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');
7
13
  var React = require('react');
8
14
  var reactDesc = require('react-desc');
9
- var ChevronRight = require('@elliemae/ds-icons/ChevronSmallRight');
10
- var VerticalElipsis = require('@elliemae/ds-icons/MoreOptionsVert');
15
+ var dsIcons = require('@elliemae/ds-icons');
11
16
  var FocusGroup = require('@elliemae/ds-shared/FocusGroup');
12
17
  var dsHidden = require('@elliemae/ds-hidden');
13
18
  var DSButton = require('@elliemae/ds-button');
14
19
  var DSPopper = require('@elliemae/ds-popper');
15
- var interaction = require('@elliemae/ds-popper/interaction');
16
20
  var styled = require('styled-components');
17
21
  var Menu = require('../Menu.js');
18
22
  var MenuItem = require('./MenuItem.js');
@@ -22,8 +26,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
22
26
 
23
27
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
28
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
25
- var ChevronRight__default = /*#__PURE__*/_interopDefaultLegacy(ChevronRight);
26
- var VerticalElipsis__default = /*#__PURE__*/_interopDefaultLegacy(VerticalElipsis);
27
29
  var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
28
30
  var DSPopper__default = /*#__PURE__*/_interopDefaultLegacy(DSPopper);
29
31
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
@@ -35,20 +37,21 @@ const ChevronRightComp = /*#__PURE__*/styled__default["default"].div.withConfig(
35
37
  componentId: "sc-1qhp1z-0"
36
38
  })(["display:flex;justify-content:center;align-items:center;width:28px;"]);
37
39
 
38
- function SubMenu({
39
- noAddon,
40
- leftAddon = undefined,
41
- label = undefined,
42
- interactionType = 'hover',
43
- children: subitems,
44
- rightAddonType,
45
- disabledAddonInactive,
46
- checkableProps = {},
47
- customRenderer,
48
- onClick,
49
- closeMenu,
50
- id
51
- }) {
40
+ function SubMenu(_ref) {
41
+ let {
42
+ noAddon,
43
+ leftAddon = undefined,
44
+ label = undefined,
45
+ interactionType = 'hover',
46
+ children: subitems,
47
+ rightAddonType,
48
+ disabledAddonInactive,
49
+ checkableProps = {},
50
+ customRenderer,
51
+ onClick,
52
+ closeMenu,
53
+ id
54
+ } = _ref;
52
55
  const itemRef = React.useRef(null);
53
56
  const focusOnOpen = React.useRef(false);
54
57
  const [isAddonHovered, setIsAddonHovered] = React.useState(false);
@@ -104,7 +107,7 @@ function SubMenu({
104
107
  "aria-label": "vertical-elipsis",
105
108
  "data-testid": "vertical-elipsis",
106
109
  buttonType: "text",
107
- leftIcon: /*#__PURE__*/_jsx__default["default"](VerticalElipsis__default["default"], {
110
+ leftIcon: /*#__PURE__*/_jsx__default["default"](dsIcons.MoreOptionsVert, {
108
111
  className: "submenu-arrow",
109
112
  color: visible || isAddonHovered ? ['brand-primary', 800] : ['neutral', 500],
110
113
  size: "s"
@@ -112,7 +115,7 @@ function SubMenu({
112
115
  onClick: e => handleShowSubItemsWithMouse(e),
113
116
  size: "m",
114
117
  variant: DSButton.BUTTON_VARIANT.DEFAULT
115
- }) : /*#__PURE__*/_jsx__default["default"](ChevronRightComp, {}, void 0, /*#__PURE__*/_jsx__default["default"](ChevronRight__default["default"], {
118
+ }) : /*#__PURE__*/_jsx__default["default"](ChevronRightComp, {}, void 0, /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallRight, {
116
119
  "data-testid": "chevron-right",
117
120
  className: "submenu-arrow",
118
121
  color: visible || isAddonHovered ? ['brand-primary', 800] : ['neutral', 500],
@@ -171,7 +174,7 @@ const props = {
171
174
  label: reactDesc.PropTypes.string.description('submenu label'),
172
175
 
173
176
  /** A type indicating how to open/close the tooltip */
174
- interactionType: reactDesc.PropTypes.oneOf(interaction.interactions).description('A type indicating how to open/close the tooltip'),
177
+ interactionType: reactDesc.PropTypes.oneOf(DSPopper.interactions).description('A type indicating how to open/close the tooltip'),
175
178
 
176
179
  /** sub menu items */
177
180
  children: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.array, reactDesc.PropTypes.node]).description('sub menu items'),