@elliemae/ds-menu 1.57.1-rc.0 → 2.0.0-alpha.11

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 (114) hide show
  1. package/cjs/Menu.js +176 -39
  2. package/cjs/MenuCombobox.js +33 -80
  3. package/cjs/MenuContext.js +1 -2
  4. package/cjs/MenuItems/CheckboxGroup.js +12 -10
  5. package/cjs/MenuItems/MenuItem.js +186 -36
  6. package/cjs/MenuItems/MenuItemCheckable.js +109 -35
  7. package/cjs/MenuItems/MenuItemCheckbox.js +35 -34
  8. package/cjs/MenuItems/MenuItemRadio.js +31 -35
  9. package/cjs/MenuItems/RadioGroup.js +12 -10
  10. package/cjs/MenuItems/SearchableGroup.js +44 -59
  11. package/cjs/MenuItems/SearchableList.js +35 -56
  12. package/cjs/MenuItems/SelectionGroup.js +93 -36
  13. package/cjs/MenuItems/Separator.js +14 -16
  14. package/cjs/MenuItems/SubMenu.js +197 -36
  15. package/cjs/MenuItems/menuItemFactory.js +56 -36
  16. package/cjs/VirtualMenuList.js +23 -26
  17. package/cjs/index.js +27 -48
  18. package/cjs/utils/useHeightByAmountOfItems.js +8 -10
  19. package/esm/Menu.js +165 -31
  20. package/esm/MenuCombobox.js +28 -74
  21. package/esm/MenuContext.js +0 -1
  22. package/esm/MenuItems/CheckboxGroup.js +10 -7
  23. package/esm/MenuItems/MenuItem.js +178 -31
  24. package/esm/MenuItems/MenuItemCheckable.js +101 -30
  25. package/esm/MenuItems/MenuItemCheckbox.js +28 -30
  26. package/esm/MenuItems/MenuItemRadio.js +26 -30
  27. package/esm/MenuItems/RadioGroup.js +10 -7
  28. package/esm/MenuItems/SearchableGroup.js +42 -56
  29. package/esm/MenuItems/SearchableList.js +32 -51
  30. package/esm/MenuItems/SelectionGroup.js +87 -31
  31. package/esm/MenuItems/Separator.js +12 -14
  32. package/esm/MenuItems/SubMenu.js +186 -31
  33. package/esm/MenuItems/menuItemFactory.js +51 -31
  34. package/esm/VirtualMenuList.js +21 -24
  35. package/esm/index.js +7 -28
  36. package/esm/utils/useHeightByAmountOfItems.js +8 -10
  37. package/package.json +106 -21
  38. package/types/Menu.d.ts +5 -0
  39. package/types/MenuCombobox.d.ts +28 -0
  40. package/types/MenuContext.d.ts +3 -0
  41. package/types/MenuItems/CheckboxGroup.d.ts +12 -0
  42. package/types/MenuItems/MenuItem.d.ts +29 -0
  43. package/types/MenuItems/MenuItemCheckable.d.ts +42 -0
  44. package/types/MenuItems/MenuItemCheckbox.d.ts +6 -0
  45. package/types/MenuItems/MenuItemRadio.d.ts +13 -0
  46. package/types/MenuItems/RadioGroup.d.ts +11 -0
  47. package/types/MenuItems/SearchableGroup.d.ts +4 -0
  48. package/types/MenuItems/SearchableList.d.ts +40 -0
  49. package/types/MenuItems/SelectionGroup.d.ts +36 -0
  50. package/types/MenuItems/Separator.d.ts +16 -0
  51. package/types/MenuItems/SubMenu.d.ts +44 -0
  52. package/types/MenuItems/menuItemFactory.d.ts +3 -0
  53. package/types/VirtualMenuList.d.ts +8 -0
  54. package/types/index.d.ts +13 -0
  55. package/types/tests/Menu.test.d.ts +1 -0
  56. package/types/tests/MenuItem.test.d.ts +1 -0
  57. package/types/utils/useHeightByAmountOfItems.d.ts +5 -0
  58. package/Menu/package.json +0 -10
  59. package/MenuCombobox/package.json +0 -10
  60. package/MenuContext/package.json +0 -10
  61. package/MenuItems/CheckboxGroup/package.json +0 -10
  62. package/MenuItems/MenuItem/package.json +0 -10
  63. package/MenuItems/MenuItemCheckable/package.json +0 -10
  64. package/MenuItems/MenuItemCheckbox/package.json +0 -10
  65. package/MenuItems/MenuItemRadio/package.json +0 -10
  66. package/MenuItems/RadioGroup/package.json +0 -10
  67. package/MenuItems/SearchableGroup/package.json +0 -10
  68. package/MenuItems/SearchableList/package.json +0 -10
  69. package/MenuItems/SelectionGroup/package.json +0 -10
  70. package/MenuItems/Separator/package.json +0 -10
  71. package/MenuItems/SubMenu/package.json +0 -10
  72. package/MenuItems/menuItemFactory/package.json +0 -10
  73. package/VirtualMenuList/package.json +0 -10
  74. package/cjs/Menu.js.map +0 -1
  75. package/cjs/MenuCombobox.js.map +0 -1
  76. package/cjs/MenuContext.js.map +0 -1
  77. package/cjs/MenuItems/CheckboxGroup.js.map +0 -1
  78. package/cjs/MenuItems/MenuItem.js.map +0 -1
  79. package/cjs/MenuItems/MenuItemCheckable.js.map +0 -1
  80. package/cjs/MenuItems/MenuItemCheckbox.js.map +0 -1
  81. package/cjs/MenuItems/MenuItemRadio.js.map +0 -1
  82. package/cjs/MenuItems/RadioGroup.js.map +0 -1
  83. package/cjs/MenuItems/SearchableGroup.js.map +0 -1
  84. package/cjs/MenuItems/SearchableList.js.map +0 -1
  85. package/cjs/MenuItems/SelectionGroup.js.map +0 -1
  86. package/cjs/MenuItems/Separator.js.map +0 -1
  87. package/cjs/MenuItems/SubMenu.js.map +0 -1
  88. package/cjs/MenuItems/menuItemFactory.js.map +0 -1
  89. package/cjs/SubMenu-22be0a18.js +0 -806
  90. package/cjs/SubMenu-22be0a18.js.map +0 -1
  91. package/cjs/VirtualMenuList.js.map +0 -1
  92. package/cjs/index.js.map +0 -1
  93. package/cjs/utils/useHeightByAmountOfItems.js.map +0 -1
  94. package/esm/Menu.js.map +0 -1
  95. package/esm/MenuCombobox.js.map +0 -1
  96. package/esm/MenuContext.js.map +0 -1
  97. package/esm/MenuItems/CheckboxGroup.js.map +0 -1
  98. package/esm/MenuItems/MenuItem.js.map +0 -1
  99. package/esm/MenuItems/MenuItemCheckable.js.map +0 -1
  100. package/esm/MenuItems/MenuItemCheckbox.js.map +0 -1
  101. package/esm/MenuItems/MenuItemRadio.js.map +0 -1
  102. package/esm/MenuItems/RadioGroup.js.map +0 -1
  103. package/esm/MenuItems/SearchableGroup.js.map +0 -1
  104. package/esm/MenuItems/SearchableList.js.map +0 -1
  105. package/esm/MenuItems/SelectionGroup.js.map +0 -1
  106. package/esm/MenuItems/Separator.js.map +0 -1
  107. package/esm/MenuItems/SubMenu.js.map +0 -1
  108. package/esm/MenuItems/menuItemFactory.js.map +0 -1
  109. package/esm/SubMenu-a25e69ec.js +0 -778
  110. package/esm/SubMenu-a25e69ec.js.map +0 -1
  111. package/esm/VirtualMenuList.js.map +0 -1
  112. package/esm/index.js.map +0 -1
  113. package/esm/utils/useHeightByAmountOfItems.js.map +0 -1
  114. package/utils/useHeightByAmountOfItems/package.json +0 -10
@@ -2,39 +2,113 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('@babel/runtime/helpers/extends');
6
- require('@babel/runtime/helpers/objectWithoutProperties');
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ var _jsx = require('@babel/runtime/helpers/jsx');
7
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
8
  require('react');
8
- require('react-desc');
9
- require('@elliemae/ds-icons');
10
- require('@elliemae/ds-utilities');
11
- var MenuItems_SelectionGroup = require('../SubMenu-22be0a18.js');
12
- require('@babel/runtime/helpers/slicedToArray');
13
- require('@elliemae/ds-shared/FocusGroup');
14
- require('@elliemae/ds-hidden');
15
- require('@elliemae/ds-button');
16
- require('@elliemae/ds-popper');
17
- require('styled-components');
18
- require('@babel/runtime/helpers/defineProperty');
19
- require('lodash');
20
- require('@elliemae/ds-classnames');
21
- require('react-spring/web.cjs');
22
- require('@elliemae/ds-truncated-tooltip-text');
23
- require('./Separator.js');
24
- require('@elliemae/ds-separator');
25
- require('@elliemae/ds-shared/CheckableGroup');
26
- require('./SearchableGroup.js');
27
- require('@elliemae/ds-form/SearchBox');
28
- require('../VirtualMenuList.js');
29
- require('react-window');
30
- require('../utils/useHeightByAmountOfItems.js');
31
- require('../MenuContext.js');
32
- require('@elliemae/ds-form');
33
- require('./CheckboxGroup.js');
34
- require('./RadioGroup.js');
35
-
36
-
37
-
38
- exports.DSMenuItemCheckeableWithSchema = MenuItems_SelectionGroup.DSMenuItemCheckeableWithSchema;
39
- exports.default = MenuItems_SelectionGroup.MenuItemCheckable;
40
- //# sourceMappingURL=MenuItemCheckable.js.map
9
+ var reactDesc = require('react-desc');
10
+ var Checkmark = require('@elliemae/ds-icons/Checkmark');
11
+ var utils = require('@elliemae/ds-utilities/utils');
12
+ var MenuItem = require('./MenuItem.js');
13
+ var jsxRuntime = require('react/jsx-runtime');
14
+
15
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
+
17
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
18
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
20
+ var Checkmark__default = /*#__PURE__*/_interopDefaultLegacy(Checkmark);
21
+
22
+ var _div;
23
+
24
+ const _excluded = ["role", "checked", "name", "checkIcon", "children", "leftAddon", "item"];
25
+
26
+ 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; }
27
+
28
+ 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
+
30
+ function useCheckable({
31
+ checked
32
+ }) {
33
+ return {
34
+ checked,
35
+ 'aria-checked': checked
36
+ };
37
+ }
38
+ /**
39
+ * Reuses the same props as the MenuItem
40
+ *
41
+ * @param root0
42
+ * @param root0.role
43
+ * @param root0.checked
44
+ * @param root0.name
45
+ * @param root0.checkIcon
46
+ * @param root0.children
47
+ * @param root0.leftAddon
48
+ * @param root0.item
49
+ */
50
+
51
+
52
+ function MenuItemCheckable(_ref) {
53
+ let {
54
+ role = 'menuitemcheckbox',
55
+ checked = false,
56
+ name = '',
57
+ checkIcon = /*#__PURE__*/_jsx__default["default"](Checkmark__default["default"], {
58
+ color: ['brand-primary', 600]
59
+ }),
60
+ // eslint-disable-next-line react/prop-types
61
+ children,
62
+ leftAddon,
63
+ item = undefined
64
+ } = _ref,
65
+ otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
66
+
67
+ const checkableProps = useCheckable({
68
+ checked,
69
+ name
70
+ });
71
+
72
+ const handleClick = () => utils.runAll(otherProps.onClick, checkableProps.onClick)({
73
+ target: {
74
+ value: name,
75
+ checked
76
+ }
77
+ }, item);
78
+
79
+ const checkAddon = leftAddon || (checkableProps.checked ? /*#__PURE__*/_jsx__default["default"]("div", {
80
+ className: "checkable-mark"
81
+ }, void 0, checkIcon) : _div || (_div = /*#__PURE__*/_jsx__default["default"]("div", {})));
82
+ return /*#__PURE__*/jsxRuntime.jsx(MenuItem["default"], _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, item), otherProps), checkableProps), {}, {
83
+ customRenderer: item && item.customRenderer ? item.customRenderer : () => {},
84
+ items: otherProps.subItems,
85
+ leftAddon: checkAddon,
86
+ onClick: handleClick,
87
+ role: role
88
+ }));
89
+ }
90
+
91
+ const props = {
92
+ /** Whether the item is checked or not */
93
+ checked: reactDesc.PropTypes.bool.description('Whether the item is checked or not'),
94
+
95
+ /** A custom item when the item is checked */
96
+ checkIcon: reactDesc.PropTypes.element.description('A custom item when the item is checked'),
97
+
98
+ /** form field name */
99
+ name: reactDesc.PropTypes.string.description('form field name'),
100
+
101
+ /** menu item object props */
102
+ item: reactDesc.PropTypes.object.description('menu item object props'),
103
+
104
+ /** a11y role */
105
+ role: reactDesc.PropTypes.string.description('a11y role'),
106
+
107
+ /** left addon component */
108
+ leftAddon: reactDesc.PropTypes.node.description('left addon component')
109
+ };
110
+ const DSMenuItemCheckeableWithSchema = reactDesc.describe(MenuItemCheckable);
111
+ DSMenuItemCheckeableWithSchema.propTypes = props;
112
+
113
+ exports.DSMenuItemCheckeableWithSchema = DSMenuItemCheckeableWithSchema;
114
+ exports["default"] = MenuItemCheckable;
@@ -1,37 +1,38 @@
1
1
  'use strict';
2
2
 
3
- require('@babel/runtime/helpers/extends');
4
- require('@babel/runtime/helpers/objectWithoutProperties');
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _jsx = require('@babel/runtime/helpers/jsx');
5
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
6
  require('react');
6
- require('@elliemae/ds-form');
7
- var MenuItems_SelectionGroup = require('../SubMenu-22be0a18.js');
8
- require('@babel/runtime/helpers/slicedToArray');
9
- require('react-desc');
10
- require('@elliemae/ds-icons');
11
- require('@elliemae/ds-shared/FocusGroup');
12
- require('@elliemae/ds-hidden');
13
- require('@elliemae/ds-button');
14
- require('@elliemae/ds-popper');
15
- require('styled-components');
16
- require('@babel/runtime/helpers/defineProperty');
17
- require('lodash');
18
- require('@elliemae/ds-classnames');
19
- require('react-spring/web.cjs');
20
- require('@elliemae/ds-utilities');
21
- require('@elliemae/ds-truncated-tooltip-text');
22
- require('./Separator.js');
23
- require('@elliemae/ds-separator');
24
- require('@elliemae/ds-shared/CheckableGroup');
25
- require('./SearchableGroup.js');
26
- require('@elliemae/ds-form/SearchBox');
27
- require('../VirtualMenuList.js');
28
- require('react-window');
29
- require('../utils/useHeightByAmountOfItems.js');
30
- require('../MenuContext.js');
31
- require('./CheckboxGroup.js');
32
- require('./RadioGroup.js');
33
-
34
-
35
-
36
- module.exports = MenuItems_SelectionGroup.MenuItemCheckbox;
37
- //# sourceMappingURL=MenuItemCheckbox.js.map
7
+ var DSCheckbox = require('@elliemae/ds-form/Checkbox');
8
+ var MenuItemCheckable = require('./MenuItemCheckable.js');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
14
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
16
+ var DSCheckbox__default = /*#__PURE__*/_interopDefaultLegacy(DSCheckbox);
17
+
18
+ const _excluded = ["checked"];
19
+
20
+ 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; }
21
+
22
+ 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; }
23
+
24
+ function MenuItemCheckbox(_ref) {
25
+ let {
26
+ checked
27
+ } = _ref,
28
+ rest = _objectWithoutProperties__default["default"](_ref, _excluded);
29
+
30
+ return /*#__PURE__*/jsxRuntime.jsx(MenuItemCheckable["default"], _objectSpread(_objectSpread({}, rest), {}, {
31
+ leftAddon: /*#__PURE__*/_jsx__default["default"](DSCheckbox__default["default"], {
32
+ checked: checked
33
+ }),
34
+ role: "menuitemcheckbox"
35
+ }));
36
+ }
37
+
38
+ module.exports = MenuItemCheckbox;
@@ -2,39 +2,35 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('@babel/runtime/helpers/extends');
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  require('react');
7
- require('react-desc');
8
- var MenuItems_SelectionGroup = require('../SubMenu-22be0a18.js');
9
- require('@babel/runtime/helpers/slicedToArray');
10
- require('@elliemae/ds-icons');
11
- require('@elliemae/ds-shared/FocusGroup');
12
- require('@elliemae/ds-hidden');
13
- require('@elliemae/ds-button');
14
- require('@elliemae/ds-popper');
15
- require('styled-components');
16
- require('@babel/runtime/helpers/objectWithoutProperties');
17
- require('@babel/runtime/helpers/defineProperty');
18
- require('lodash');
19
- require('@elliemae/ds-classnames');
20
- require('react-spring/web.cjs');
21
- require('@elliemae/ds-utilities');
22
- require('@elliemae/ds-truncated-tooltip-text');
23
- require('./Separator.js');
24
- require('@elliemae/ds-separator');
25
- require('@elliemae/ds-shared/CheckableGroup');
26
- require('./SearchableGroup.js');
27
- require('@elliemae/ds-form/SearchBox');
28
- require('../VirtualMenuList.js');
29
- require('react-window');
30
- require('../utils/useHeightByAmountOfItems.js');
31
- require('../MenuContext.js');
32
- require('@elliemae/ds-form');
33
- require('./CheckboxGroup.js');
34
- require('./RadioGroup.js');
35
-
36
-
37
-
38
- exports.DSMenuItemRadioWithSchema = MenuItems_SelectionGroup.DSMenuItemRadioWithSchema;
39
- exports.default = MenuItems_SelectionGroup.MenuItemRadio;
40
- //# sourceMappingURL=MenuItemRadio.js.map
7
+ var reactDesc = require('react-desc');
8
+ var MenuItemCheckable = require('./MenuItemCheckable.js');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
14
+
15
+ 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; }
16
+
17
+ 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; }
18
+
19
+ function MenuItemRadio(props) {
20
+ return /*#__PURE__*/jsxRuntime.jsx(MenuItemCheckable["default"], _objectSpread(_objectSpread({}, props), {}, {
21
+ role: "menuitemradio"
22
+ }));
23
+ }
24
+
25
+ const props = {
26
+ /** Whether the item is checked or not */
27
+ checked: reactDesc.PropTypes.bool.description('Whether the item is checked or not'),
28
+
29
+ /** A custom item when the item is checked */
30
+ checkIcon: reactDesc.PropTypes.element.description('A custom item when the item is checked')
31
+ };
32
+ const DSMenuItemRadioWithSchema = reactDesc.describe(MenuItemCheckable["default"]);
33
+ DSMenuItemRadioWithSchema.propTypes = props;
34
+
35
+ exports.DSMenuItemRadioWithSchema = DSMenuItemRadioWithSchema;
36
+ exports["default"] = MenuItemRadio;
@@ -2,34 +2,36 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _extends = require('@babel/runtime/helpers/extends');
6
- var React = require('react');
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ require('react');
7
7
  var reactDesc = require('react-desc');
8
8
  var CheckableGroup = require('@elliemae/ds-shared/CheckableGroup');
9
+ var jsxRuntime = require('react/jsx-runtime');
9
10
 
10
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
12
 
12
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
13
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
14
14
  var CheckableGroup__default = /*#__PURE__*/_interopDefaultLegacy(CheckableGroup);
15
15
 
16
+ 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; }
17
+
18
+ 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; }
19
+
16
20
  function RadioGroup(props) {
17
- return /*#__PURE__*/React__default['default'].createElement(CheckableGroup__default['default'], _extends__default['default']({}, props, {
21
+ return /*#__PURE__*/jsxRuntime.jsx(CheckableGroup__default["default"], _objectSpread(_objectSpread({}, props), {}, {
18
22
  multi: false
19
23
  }));
20
24
  }
21
25
 
22
- var props = {
26
+ const props = {
23
27
  /* The item selected */
24
28
  active: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.string).description('the item selected'),
25
29
 
26
30
  /* Handler when a user checks an item */
27
31
  onCheck: reactDesc.PropTypes.func.description('Handler when a user checks an item')
28
32
  };
29
- RadioGroup.propTypes = props;
30
- var DSMenuRadioGroupWithSchema = reactDesc.describe(RadioGroup);
33
+ const DSMenuRadioGroupWithSchema = reactDesc.describe(RadioGroup);
31
34
  DSMenuRadioGroupWithSchema.propTypes = props;
32
35
 
33
36
  exports.DSMenuRadioGroupWithSchema = DSMenuRadioGroupWithSchema;
34
- exports['default'] = RadioGroup;
35
- //# sourceMappingURL=RadioGroup.js.map
37
+ exports["default"] = RadioGroup;
@@ -2,7 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('core-js/modules/web.dom-collections.iterator.js');
6
7
  var React = require('react');
7
8
  var dsClassnames = require('@elliemae/ds-classnames');
8
9
  var FocusGroup = require('@elliemae/ds-shared/FocusGroup');
@@ -10,74 +11,60 @@ var DSSearchBox = require('@elliemae/ds-form/SearchBox');
10
11
  var reactDesc = require('react-desc');
11
12
  var VirtualMenuList = require('../VirtualMenuList.js');
12
13
  var MenuContext = require('../MenuContext.js');
13
- require('react-window');
14
- require('../utils/useHeightByAmountOfItems.js');
14
+ var jsxRuntime = require('react/jsx-runtime');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
18
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
20
19
  var DSSearchBox__default = /*#__PURE__*/_interopDefaultLegacy(DSSearchBox);
21
20
 
22
- var SearchBoxWrapper = dsClassnames.aggregatedClasses('div')('menu-search-group', 'search-wrapper');
23
- var NoOptionsWrapper = dsClassnames.aggregatedClasses('div')('menu-search-group', 'no-options');
24
-
25
- function SearchableGroup(_ref) {
26
- var children = _ref.children,
27
- _ref$amountItemsInWin = _ref.amountItemsInWindow,
28
- amountItemsInWindow = _ref$amountItemsInWin === void 0 ? 5 : _ref$amountItemsInWin,
29
- _ref$searchTerm = _ref.searchTerm,
30
- searchTermProp = _ref$searchTerm === void 0 ? '' : _ref$searchTerm,
31
- _ref$noOptionsText = _ref.noOptionsText,
32
- noOptionsText = _ref$noOptionsText === void 0 ? 'No options' : _ref$noOptionsText,
33
- height = _ref.height,
34
- width = _ref.width,
35
- _ref$focusOnOpen = _ref.focusOnOpen,
36
- focusOnOpen = _ref$focusOnOpen === void 0 ? false : _ref$focusOnOpen;
37
- var searchRef = React.useRef(null);
38
-
39
- var _useState = React.useState(searchTermProp),
40
- _useState2 = _slicedToArray__default['default'](_useState, 2),
41
- searchTerm = _useState2[0],
42
- setSearchTerm = _useState2[1];
43
-
44
- React.useEffect(function () {
21
+ const SearchBoxWrapper = dsClassnames.aggregatedClasses('div')('menu-search-group', 'search-wrapper');
22
+ const NoOptionsWrapper = dsClassnames.aggregatedClasses('div')('menu-search-group', 'no-options');
23
+
24
+ function SearchableGroup({
25
+ children,
26
+ amountItemsInWindow = 5,
27
+ searchTerm: searchTermProp = '',
28
+ noOptionsText = 'No options',
29
+ height,
30
+ width,
31
+ focusOnOpen = false
32
+ }) {
33
+ const searchRef = React.useRef(null);
34
+ const [searchTerm, setSearchTerm] = React.useState(searchTermProp);
35
+ React.useEffect(() => {
45
36
  if (searchRef.current) searchRef.current.focus();
46
37
  }, []);
47
-
48
- var _ref2 = React.useContext(MenuContext) || {},
49
- visible = _ref2.visible;
50
-
51
- React.useEffect(function () {
38
+ const {
39
+ visible
40
+ } = React.useContext(MenuContext) || {};
41
+ React.useEffect(() => {
52
42
  if (focusOnOpen && visible) {
53
- setTimeout(function () {
43
+ setTimeout(() => {
54
44
  if (searchRef.current) searchRef.current.focus();
55
45
  }, 0);
56
46
  }
57
47
  }, [focusOnOpen, visible]);
58
- var filteredChildren = React.useMemo(function () {
59
- return children.filter(function (child) {
60
- return !searchTerm || child.props.label.toLowerCase().startsWith(searchTerm.toLowerCase());
61
- });
62
- }, [children, searchTerm]);
63
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(SearchBoxWrapper, null, /*#__PURE__*/React__default['default'].createElement(DSSearchBox__default['default'], {
64
- innerRef: searchRef,
65
- onSearch: function onSearch(_ref3) {
66
- var value = _ref3.value;
67
- return setSearchTerm(value);
68
- },
69
- searchOnEnter: false,
70
- showIcon: false,
71
- value: searchTerm
72
- })), !filteredChildren.length && /*#__PURE__*/React__default['default'].createElement(NoOptionsWrapper, null, noOptionsText), /*#__PURE__*/React__default['default'].createElement(VirtualMenuList, {
73
- amountItemsInWindow: amountItemsInWindow,
74
- height: height,
75
- items: filteredChildren,
76
- width: width
77
- }));
48
+ const filteredChildren = React.useMemo(() => children.filter(child => !searchTerm || child.props.label.toLowerCase().startsWith(searchTerm.toLowerCase())), [children, searchTerm]);
49
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
50
+ children: [/*#__PURE__*/_jsx__default["default"](SearchBoxWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](DSSearchBox__default["default"], {
51
+ innerRef: searchRef,
52
+ onSearch: ({
53
+ value
54
+ }) => setSearchTerm(value),
55
+ searchOnEnter: false,
56
+ showIcon: false,
57
+ value: searchTerm
58
+ })), !filteredChildren.length && /*#__PURE__*/_jsx__default["default"](NoOptionsWrapper, {}, void 0, noOptionsText), /*#__PURE__*/_jsx__default["default"](VirtualMenuList, {
59
+ amountItemsInWindow: amountItemsInWindow,
60
+ height: height,
61
+ items: filteredChildren,
62
+ width: width
63
+ })]
64
+ });
78
65
  }
79
66
 
80
- var props = {
67
+ const props = {
81
68
  /** The amount of items that are going to be rendered in the group */
82
69
  amountItemsInWindow: reactDesc.PropTypes.number.description('The amount of items that are going to be rendered in the group'),
83
70
 
@@ -99,11 +86,9 @@ var props = {
99
86
  /** weather to focus on searchable group on open */
100
87
  focusOnOpen: reactDesc.PropTypes.bool.description('weather to focus on searchable group on open')
101
88
  };
102
- SearchableGroup.propTypes = props;
103
- var DSMenuSearchableGroupWithSchema = reactDesc.describe(SearchableGroup);
89
+ const DSMenuSearchableGroupWithSchema = reactDesc.describe(SearchableGroup);
104
90
  DSMenuSearchableGroupWithSchema.propTypes = props;
105
91
  var SearchableGroup$1 = FocusGroup.focusGroupManagerHoc(SearchableGroup);
106
92
 
107
93
  exports.DSMenuSearchableGroupWithSchema = DSMenuSearchableGroupWithSchema;
108
- exports['default'] = SearchableGroup$1;
109
- //# sourceMappingURL=SearchableGroup.js.map
94
+ exports["default"] = SearchableGroup$1;
@@ -2,75 +2,56 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _extends = require('@babel/runtime/helpers/extends');
6
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
+ require('core-js/modules/web.dom-collections.iterator.js');
8
7
  var React = require('react');
9
8
  var reactDesc = require('react-desc');
10
- var dsUtilities = require('@elliemae/ds-utilities');
11
- var dsForm = require('@elliemae/ds-form');
9
+ var utils = require('@elliemae/ds-utilities/utils');
10
+ var DSComboBox = require('@elliemae/ds-form/ComboBox');
11
+ var jsxRuntime = require('react/jsx-runtime');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
14
 
15
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
16
15
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
17
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
18
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+ var DSComboBox__default = /*#__PURE__*/_interopDefaultLegacy(DSComboBox);
19
17
 
20
18
  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; }
21
19
 
22
- 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; }
23
-
24
- var noop = function noop() {};
25
-
26
- function SearchableList(_ref) {
27
- var _ref$onSelectMenuItem = _ref.onSelectMenuItem,
28
- onSelectMenuItem = _ref$onSelectMenuItem === void 0 ? noop : _ref$onSelectMenuItem,
29
- _ref$components = _ref.components,
30
- components = _ref$components === void 0 ? {} : _ref$components,
31
- _ref$searchTerm = _ref.searchTerm,
32
- searchTermProp = _ref$searchTerm === void 0 ? '' : _ref$searchTerm,
33
- _ref$items = _ref.items,
34
- items = _ref$items === void 0 ? [] : _ref$items,
35
- _ref$dropdownFilterOp = _ref.dropdownFilterOptions,
36
- dropdownFilterOptions = _ref$dropdownFilterOp === void 0 ? {} : _ref$dropdownFilterOp,
37
- returnValue = _ref.returnValue,
38
- _ref$extraListProps = _ref.extraListProps,
39
- extraListProps = _ref$extraListProps === void 0 ? {} : _ref$extraListProps,
40
- _ref$appendTermInList = _ref.appendTermInList,
41
- appendTermInList = _ref$appendTermInList === void 0 ? false : _ref$appendTermInList,
42
- _ref$maxOptions = _ref.maxOptions,
43
- maxOptions = _ref$maxOptions === void 0 ? 10 : _ref$maxOptions,
44
- _ref$loading = _ref.loading,
45
- loading = _ref$loading === void 0 ? false : _ref$loading;
46
-
47
- var _useState = React.useState(searchTermProp),
48
- _useState2 = _slicedToArray__default['default'](_useState, 2),
49
- searchTerm = _useState2[0],
50
- setInputValue = _useState2[1];
51
-
52
- var handleInputChange = React.useCallback(function (value, args) {
53
- var action = args ? args.action : null;
20
+ 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; }
21
+
22
+ const noop = () => {};
23
+
24
+ function SearchableList({
25
+ onSelectMenuItem = noop,
26
+ components = {},
27
+ searchTerm: searchTermProp = '',
28
+ items = [],
29
+ dropdownFilterOptions = {},
30
+ returnValue,
31
+ extraListProps = {},
32
+ appendTermInList = false,
33
+ maxOptions = 10,
34
+ loading = false
35
+ }) {
36
+ const [searchTerm, setInputValue] = React.useState(searchTermProp);
37
+ const handleInputChange = React.useCallback((value, args) => {
38
+ const action = args ? args.action : null;
54
39
  if (action === 'input-blur' || action === 'menu-close') return;
55
40
  setInputValue(value);
56
41
  }, [searchTerm]);
57
- var handleFilterByText = React.useCallback(function () {
42
+ const handleFilterByText = React.useCallback(() => {
58
43
  if (searchTerm) onSelectMenuItem(searchTerm);
59
44
  }, [searchTerm]);
60
- var handleKeyDown = React.useCallback(function (e) {
45
+ const handleKeyDown = React.useCallback(e => {
61
46
  if (e.key === 'ArrowRight') {
62
47
  handleFilterByText();
63
48
  }
64
49
  }, [searchTerm]);
65
- var options = React.useMemo(function () {
66
- return searchTerm && appendTermInList ? dsUtilities.uniqBy([{
67
- id: searchTerm,
68
- label: searchTerm
69
- }].concat(items), function (item) {
70
- return item.label;
71
- }) : items;
72
- }, [searchTerm, appendTermInList]);
73
- return /*#__PURE__*/React__default['default'].createElement(dsForm.DSComboBox, _extends__default['default']({
50
+ const options = React.useMemo(() => searchTerm && appendTermInList ? utils.uniqBy([{
51
+ id: searchTerm,
52
+ label: searchTerm
53
+ }].concat(items), item => item.label) : items, [searchTerm, appendTermInList]);
54
+ return /*#__PURE__*/jsxRuntime.jsx(DSComboBox__default["default"], _objectSpread(_objectSpread({
74
55
  autoFocus: true,
75
56
  components: _objectSpread({
76
57
  DropdownIndicator: null
@@ -90,10 +71,10 @@ function SearchableList(_ref) {
90
71
  valueProperty: "id",
91
72
  maxOptions: maxOptions,
92
73
  loading: loading
93
- }, extraListProps, dropdownFilterOptions));
74
+ }, extraListProps), dropdownFilterOptions));
94
75
  }
95
76
 
96
- var props = {
77
+ const props = {
97
78
  /** callback after item gets selected */
98
79
  onSelectMenuItem: reactDesc.PropTypes.func.description('callback after item gets selected'),
99
80
 
@@ -124,10 +105,8 @@ var props = {
124
105
  /** loading flag */
125
106
  loading: reactDesc.PropTypes.bool.description('loading flag')
126
107
  };
127
- SearchableList.propTypes = props;
128
- var DSMenuSearchableListWithSchema = reactDesc.describe(SearchableList);
108
+ const DSMenuSearchableListWithSchema = reactDesc.describe(SearchableList);
129
109
  DSMenuSearchableListWithSchema.propTypes = props;
130
110
 
131
111
  exports.DSMenuSearchableListWithSchema = DSMenuSearchableListWithSchema;
132
- exports['default'] = SearchableList;
133
- //# sourceMappingURL=SearchableList.js.map
112
+ exports["default"] = SearchableList;