@elliemae/ds-menu 2.0.0-alpha.1 → 2.0.0-alpha.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.
- package/cjs/Menu.js +41 -26
- package/cjs/MenuCombobox.js +8 -3
- package/cjs/MenuContext.js +1 -1
- package/cjs/MenuItems/CheckboxGroup.js +8 -3
- package/cjs/MenuItems/MenuItem.js +53 -39
- package/cjs/MenuItems/MenuItemCheckable.js +21 -16
- package/cjs/MenuItems/MenuItemCheckbox.js +10 -6
- package/cjs/MenuItems/MenuItemRadio.js +9 -4
- package/cjs/MenuItems/RadioGroup.js +8 -3
- package/cjs/MenuItems/SearchableGroup.js +23 -15
- package/cjs/MenuItems/SearchableList.js +25 -19
- package/cjs/MenuItems/SelectionGroup.js +26 -16
- package/cjs/MenuItems/Separator.js +9 -6
- package/cjs/MenuItems/SubMenu.js +31 -28
- package/cjs/MenuItems/menuItemFactory.js +21 -10
- package/cjs/VirtualMenuList.js +22 -15
- package/cjs/index.js +1 -1
- package/cjs/utils/useHeightByAmountOfItems.js +6 -5
- package/esm/Menu.js +26 -11
- package/esm/MenuCombobox.js +5 -0
- package/esm/MenuItems/CheckboxGroup.js +5 -0
- package/esm/MenuItems/MenuItem.js +43 -29
- package/esm/MenuItems/MenuItemCheckable.js +14 -8
- package/esm/MenuItems/MenuItemCheckbox.js +6 -1
- package/esm/MenuItems/MenuItemRadio.js +5 -0
- package/esm/MenuItems/RadioGroup.js +5 -0
- package/esm/MenuItems/SearchableGroup.js +20 -12
- package/esm/MenuItems/SearchableList.js +21 -14
- package/esm/MenuItems/SelectionGroup.js +22 -12
- package/esm/MenuItems/Separator.js +7 -4
- package/esm/MenuItems/SubMenu.js +25 -20
- package/esm/MenuItems/menuItemFactory.js +14 -3
- package/esm/VirtualMenuList.js +21 -14
- package/esm/utils/useHeightByAmountOfItems.js +6 -5
- package/package.json +16 -13
- package/types/Menu.d.ts +24 -1
- package/types/MenuItems/CheckboxGroup.d.ts +24 -4
- package/types/MenuItems/MenuItem.d.ts +60 -10
- package/types/MenuItems/MenuItemCheckable.d.ts +51 -7
- package/types/MenuItems/MenuItemRadio.d.ts +27 -3
- package/types/MenuItems/RadioGroup.d.ts +18 -3
- package/types/MenuItems/SearchableGroup.d.ts +15 -1
- package/types/MenuItems/SearchableList.d.ts +77 -11
- package/types/MenuItems/SelectionGroup.d.ts +73 -11
- package/types/MenuItems/Separator.d.ts +21 -3
- package/types/MenuItems/SubMenu.d.ts +91 -13
- package/cjs/package.json +0 -7
- 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');
|
|
@@ -39,19 +51,22 @@ const _excluded = ["containerProps", "innerRef", "as", "children", "onClickOutsi
|
|
|
39
51
|
|
|
40
52
|
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; }
|
|
41
53
|
|
|
42
|
-
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[
|
|
54
|
+
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; }
|
|
43
55
|
const RESPONSIVE_HEIHGT_MARGIN = 120;
|
|
44
56
|
const blockName = 'menu';
|
|
45
57
|
|
|
46
58
|
const noop = () => {};
|
|
47
59
|
|
|
48
|
-
const MenuComponent = dsClassnames.aggregatedClasses('div')(blockName, '',
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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(
|
|
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
|
-
} =
|
|
79
|
-
otherProps = _objectWithoutProperties__default[
|
|
93
|
+
} = _ref2,
|
|
94
|
+
otherProps = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
|
80
95
|
|
|
81
96
|
const menuRef = React.useRef(null);
|
|
82
97
|
const {
|
|
@@ -87,12 +102,12 @@ function DSMenu(_ref) {
|
|
|
87
102
|
visible,
|
|
88
103
|
style
|
|
89
104
|
}),
|
|
90
|
-
hiddenProps = _objectWithoutProperties__default[
|
|
105
|
+
hiddenProps = _objectWithoutProperties__default["default"](_useHiddenTransition, _excluded2); // force no addon to the children if the menu doesn't have any item with leftAddon like SelectionGroup
|
|
91
106
|
|
|
92
107
|
|
|
93
108
|
const nextChildren = React.useMemo(() => {
|
|
94
|
-
const forceLeftAddon = React__default[
|
|
95
|
-
return React__default[
|
|
109
|
+
const forceLeftAddon = React__default["default"].Children.toArray(children).some(child => isChildOfType(child, 'SelectionGroup') || isChildOfType(child, 'MenuItemCheckbox') || isChildOfType(child, 'MenuItemRadio') || child.props.leftAddon);
|
|
110
|
+
return React__default["default"].Children.map(children, child => child && /*#__PURE__*/React__default["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
|
|
96
111
|
noAddon: !forceLeftAddon ? true : undefined,
|
|
97
112
|
maxOption,
|
|
98
113
|
closeMenu
|
|
@@ -107,7 +122,7 @@ function DSMenu(_ref) {
|
|
|
107
122
|
}
|
|
108
123
|
}, [visible, focusOnOpen]); // todo: find out a better approach to this
|
|
109
124
|
|
|
110
|
-
return !hiddenProps.destroyed ? /*#__PURE__*/_jsx__default[
|
|
125
|
+
return !hiddenProps.destroyed ? /*#__PURE__*/_jsx__default["default"](MenuContext.Provider, {
|
|
111
126
|
value: {
|
|
112
127
|
visible,
|
|
113
128
|
closeMenu
|
|
@@ -122,14 +137,14 @@ function DSMenu(_ref) {
|
|
|
122
137
|
innerRef: system.mergeRefs(innerRef, menuRef),
|
|
123
138
|
role: "menu"
|
|
124
139
|
}, lodash.omit(otherProps, ['scheduleUpdate'])), hiddenProps), {}, {
|
|
125
|
-
children: /*#__PURE__*/_jsx__default[
|
|
140
|
+
children: /*#__PURE__*/_jsx__default["default"]("div", {
|
|
126
141
|
className: "menu-component-internal-wrapper",
|
|
127
142
|
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
128
143
|
minWidth,
|
|
129
144
|
maxWidth
|
|
130
145
|
}, responsiveHeight ? {
|
|
131
146
|
overflowY: 'scroll',
|
|
132
|
-
maxHeight: responsiveHeight ?
|
|
147
|
+
maxHeight: responsiveHeight ? "".concat(window.innerHeight - RESPONSIVE_HEIHGT_MARGIN, "px") : undefined
|
|
133
148
|
} : {})
|
|
134
149
|
}, void 0, nextChildren)
|
|
135
150
|
}))) : null;
|
|
@@ -163,18 +178,18 @@ const props = {
|
|
|
163
178
|
const DSMenuWithSchema = reactDesc.describe(DSMenu);
|
|
164
179
|
DSMenuWithSchema.propTypes = props; // todo: add a handler to get this kind of exports for documentation
|
|
165
180
|
|
|
166
|
-
Menu.Item = MenuItem[
|
|
181
|
+
Menu.Item = MenuItem["default"];
|
|
167
182
|
Menu.ItemCheckbox = MenuItemCheckbox;
|
|
168
|
-
Menu.ItemRadio = MenuItemRadio[
|
|
169
|
-
Menu.SubMenu = SubMenu[
|
|
170
|
-
Menu.Separator = Separator[
|
|
171
|
-
Menu.CheckboxGroup = CheckboxGroup[
|
|
172
|
-
Menu.RadioGroup = RadioGroup[
|
|
173
|
-
Menu.SearchableGroup = SearchableGroup[
|
|
174
|
-
Menu.SelectionGroup = SelectionGroup[
|
|
183
|
+
Menu.ItemRadio = MenuItemRadio["default"];
|
|
184
|
+
Menu.SubMenu = SubMenu["default"];
|
|
185
|
+
Menu.Separator = Separator["default"];
|
|
186
|
+
Menu.CheckboxGroup = CheckboxGroup["default"];
|
|
187
|
+
Menu.RadioGroup = RadioGroup["default"];
|
|
188
|
+
Menu.SearchableGroup = SearchableGroup["default"];
|
|
189
|
+
Menu.SelectionGroup = SelectionGroup["default"];
|
|
175
190
|
|
|
176
191
|
exports.menuItemFactory = menuItemFactory.menuItemFactory;
|
|
177
192
|
exports.renderMenuItems = menuItemFactory.renderMenuItems;
|
|
178
193
|
exports.DSMenuWithSchema = DSMenuWithSchema;
|
|
179
194
|
exports.Menu = Menu;
|
|
180
|
-
exports[
|
|
195
|
+
exports["default"] = Menu;
|
package/cjs/MenuCombobox.js
CHANGED
|
@@ -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');
|
|
@@ -18,7 +23,7 @@ const _excluded = ["dropdownFilterOptions", "options", "onSelectMenuItem", "inne
|
|
|
18
23
|
|
|
19
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; }
|
|
20
25
|
|
|
21
|
-
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[
|
|
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; }
|
|
22
27
|
|
|
23
28
|
function MenuCombobox(_ref) {
|
|
24
29
|
let {
|
|
@@ -29,7 +34,7 @@ function MenuCombobox(_ref) {
|
|
|
29
34
|
maxOptions = 10,
|
|
30
35
|
loading = false
|
|
31
36
|
} = _ref,
|
|
32
|
-
rest = _objectWithoutProperties__default[
|
|
37
|
+
rest = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
33
38
|
|
|
34
39
|
return /*#__PURE__*/jsxRuntime.jsx(Menu.Menu, _objectSpread(_objectSpread({}, rest), {}, {
|
|
35
40
|
classProps: {
|
|
@@ -37,7 +42,7 @@ function MenuCombobox(_ref) {
|
|
|
37
42
|
},
|
|
38
43
|
innerRef: innerRef,
|
|
39
44
|
visible: true,
|
|
40
|
-
children: /*#__PURE__*/_jsx__default[
|
|
45
|
+
children: /*#__PURE__*/_jsx__default["default"](SearchableList["default"], {
|
|
41
46
|
appendTermInList: true,
|
|
42
47
|
extraListProps: dropdownFilterOptions,
|
|
43
48
|
items: options,
|
package/cjs/MenuContext.js
CHANGED
|
@@ -6,6 +6,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
6
6
|
|
|
7
7
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
8
8
|
|
|
9
|
-
var MenuContext = /*#__PURE__*/React__default[
|
|
9
|
+
var MenuContext = /*#__PURE__*/React__default["default"].createContext();
|
|
10
10
|
|
|
11
11
|
module.exports = MenuContext;
|
|
@@ -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');
|
|
@@ -15,10 +20,10 @@ var CheckableGroup__default = /*#__PURE__*/_interopDefaultLegacy(CheckableGroup)
|
|
|
15
20
|
|
|
16
21
|
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
22
|
|
|
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[
|
|
23
|
+
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
24
|
|
|
20
25
|
function CheckboxGroup(props) {
|
|
21
|
-
return /*#__PURE__*/jsxRuntime.jsx(CheckableGroup__default[
|
|
26
|
+
return /*#__PURE__*/jsxRuntime.jsx(CheckableGroup__default["default"], _objectSpread(_objectSpread({}, props), {}, {
|
|
22
27
|
multi: true
|
|
23
28
|
}));
|
|
24
29
|
}
|
|
@@ -37,4 +42,4 @@ const DSMenuCheckboxGroupWithSchema = reactDesc.describe(CheckboxGroup);
|
|
|
37
42
|
DSMenuCheckboxGroupWithSchema.propTypes = props;
|
|
38
43
|
|
|
39
44
|
exports.DSMenuCheckboxGroupWithSchema = DSMenuCheckboxGroupWithSchema;
|
|
40
|
-
exports[
|
|
45
|
+
exports["default"] = CheckboxGroup;
|
|
@@ -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
|
|
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');
|
|
@@ -29,21 +36,24 @@ const _excluded = ["innerRef", "as", "role", "leftAddon", "rightAddon", "disable
|
|
|
29
36
|
|
|
30
37
|
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; }
|
|
31
38
|
|
|
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[
|
|
39
|
+
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; }
|
|
33
40
|
|
|
34
41
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
+
});
|
|
55
|
+
|
|
56
|
+
const renderAddon = (addon, fixedItem, addonId) => /*#__PURE__*/_jsx__default["default"](Addon, {
|
|
47
57
|
classProps: {
|
|
48
58
|
fixedItem
|
|
49
59
|
}
|
|
@@ -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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
};
|
|
@@ -90,14 +104,14 @@ function MenuItem(props) {
|
|
|
90
104
|
closeMenu,
|
|
91
105
|
style
|
|
92
106
|
} = props,
|
|
93
|
-
otherProps = _objectWithoutProperties__default[
|
|
107
|
+
otherProps = _objectWithoutProperties__default["default"](props, _excluded);
|
|
94
108
|
|
|
95
109
|
const menuCxt = React.useContext(MenuContext);
|
|
96
110
|
const ref = React.useRef(null);
|
|
97
111
|
FocusGroup.useFocusGroupItem(ref);
|
|
98
112
|
|
|
99
113
|
if (otherProps.subItems) {
|
|
100
|
-
return /*#__PURE__*/jsxRuntime.jsx(SubMenu[
|
|
114
|
+
return /*#__PURE__*/jsxRuntime.jsx(SubMenu["default"], _objectSpread(_objectSpread({}, props), {}, {
|
|
101
115
|
closeMenu: menuCxt.closeMenu,
|
|
102
116
|
children: menuItemFactory.renderMenuItems(otherProps.subItems)
|
|
103
117
|
}));
|
|
@@ -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 = (
|
|
109
|
-
if (wrapperProps.onClick) wrapperProps.onClick(...
|
|
122
|
+
const onClick = function () {
|
|
123
|
+
if (wrapperProps.onClick) wrapperProps.onClick(...arguments);
|
|
110
124
|
|
|
111
125
|
if (wrapperProps.closeOnClick && menuCxt.closeMenu) {
|
|
112
|
-
menuCxt.closeMenu(...
|
|
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' ?
|
|
127
|
-
onKeyDown: !fixedItem &&
|
|
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', {
|
|
@@ -139,12 +153,12 @@ function MenuItem(props) {
|
|
|
139
153
|
tabIndex: tabIndex
|
|
140
154
|
}, wrapperProps), {}, {
|
|
141
155
|
onClick: onClick,
|
|
142
|
-
children: [!noAddon && renderAddons(leftAddon, fixedItem), label && /*#__PURE__*/_jsx__default[
|
|
156
|
+
children: [!noAddon && renderAddons(leftAddon, fixedItem), label && /*#__PURE__*/_jsx__default["default"](Content, {
|
|
143
157
|
style: maxOption > 0 ? {
|
|
144
|
-
width:
|
|
145
|
-
maxWidth:
|
|
158
|
+
width: "".concat(calculateSize(maxOption), "px"),
|
|
159
|
+
maxWidth: "".concat(calculateSize(maxOption), "px")
|
|
146
160
|
} : undefined
|
|
147
|
-
}, void 0, /*#__PURE__*/_jsx__default[
|
|
161
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](DSTruncatedTooltipText__default["default"], {
|
|
148
162
|
value: label
|
|
149
163
|
})), customRenderer, rightAddon && renderAddons(rightAddon), children]
|
|
150
164
|
}));
|
|
@@ -186,4 +200,4 @@ const DSMenuItemWithSchema = reactDesc.describe(MenuItem);
|
|
|
186
200
|
DSMenuItemWithSchema.propTypes = props;
|
|
187
201
|
|
|
188
202
|
exports.DSMenuItemWithSchema = DSMenuItemWithSchema;
|
|
189
|
-
exports[
|
|
203
|
+
exports["default"] = MenuItem;
|
|
@@ -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
|
|
11
|
-
var
|
|
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
|
|
|
@@ -25,11 +29,12 @@ const _excluded = ["role", "checked", "name", "checkIcon", "children", "leftAddo
|
|
|
25
29
|
|
|
26
30
|
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
31
|
|
|
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[
|
|
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
|
-
|
|
32
|
-
|
|
34
|
+
function useCheckable(_ref) {
|
|
35
|
+
let {
|
|
36
|
+
checked
|
|
37
|
+
} = _ref;
|
|
33
38
|
return {
|
|
34
39
|
checked,
|
|
35
40
|
'aria-checked': checked
|
|
@@ -49,37 +54,37 @@ function useCheckable({
|
|
|
49
54
|
*/
|
|
50
55
|
|
|
51
56
|
|
|
52
|
-
function MenuItemCheckable(
|
|
57
|
+
function MenuItemCheckable(_ref2) {
|
|
53
58
|
let {
|
|
54
59
|
role = 'menuitemcheckbox',
|
|
55
60
|
checked = false,
|
|
56
61
|
name = '',
|
|
57
|
-
checkIcon = /*#__PURE__*/_jsx__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
|
-
} =
|
|
65
|
-
otherProps = _objectWithoutProperties__default[
|
|
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 = () =>
|
|
77
|
+
const handleClick = () => dsUtilities.runAll(otherProps.onClick, checkableProps.onClick)({
|
|
73
78
|
target: {
|
|
74
79
|
value: name,
|
|
75
80
|
checked
|
|
76
81
|
}
|
|
77
82
|
}, item);
|
|
78
83
|
|
|
79
|
-
const checkAddon = leftAddon || (checkableProps.checked ? /*#__PURE__*/_jsx__default[
|
|
84
|
+
const checkAddon = leftAddon || (checkableProps.checked ? /*#__PURE__*/_jsx__default["default"]("div", {
|
|
80
85
|
className: "checkable-mark"
|
|
81
|
-
}, void 0, checkIcon) : _div || (_div = /*#__PURE__*/_jsx__default[
|
|
82
|
-
return /*#__PURE__*/jsxRuntime.jsx(MenuItem[
|
|
86
|
+
}, void 0, checkIcon) : _div || (_div = /*#__PURE__*/_jsx__default["default"]("div", {})));
|
|
87
|
+
return /*#__PURE__*/jsxRuntime.jsx(MenuItem["default"], _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, item), otherProps), checkableProps), {}, {
|
|
83
88
|
customRenderer: item && item.customRenderer ? item.customRenderer : () => {},
|
|
84
89
|
items: otherProps.subItems,
|
|
85
90
|
leftAddon: checkAddon,
|
|
@@ -111,4 +116,4 @@ const DSMenuItemCheckeableWithSchema = reactDesc.describe(MenuItemCheckable);
|
|
|
111
116
|
DSMenuItemCheckeableWithSchema.propTypes = props;
|
|
112
117
|
|
|
113
118
|
exports.DSMenuItemCheckeableWithSchema = DSMenuItemCheckeableWithSchema;
|
|
114
|
-
exports[
|
|
119
|
+
exports["default"] = MenuItemCheckable;
|
|
@@ -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
|
|
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,22 +18,21 @@ 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
|
|
|
20
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; }
|
|
21
25
|
|
|
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[
|
|
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; }
|
|
23
27
|
|
|
24
28
|
function MenuItemCheckbox(_ref) {
|
|
25
29
|
let {
|
|
26
30
|
checked
|
|
27
31
|
} = _ref,
|
|
28
|
-
rest = _objectWithoutProperties__default[
|
|
32
|
+
rest = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
29
33
|
|
|
30
|
-
return /*#__PURE__*/jsxRuntime.jsx(MenuItemCheckable[
|
|
31
|
-
leftAddon: /*#__PURE__*/_jsx__default[
|
|
34
|
+
return /*#__PURE__*/jsxRuntime.jsx(MenuItemCheckable["default"], _objectSpread(_objectSpread({}, rest), {}, {
|
|
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');
|
|
@@ -14,10 +19,10 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
|
|
|
14
19
|
|
|
15
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; }
|
|
16
21
|
|
|
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[
|
|
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; }
|
|
18
23
|
|
|
19
24
|
function MenuItemRadio(props) {
|
|
20
|
-
return /*#__PURE__*/jsxRuntime.jsx(MenuItemCheckable[
|
|
25
|
+
return /*#__PURE__*/jsxRuntime.jsx(MenuItemCheckable["default"], _objectSpread(_objectSpread({}, props), {}, {
|
|
21
26
|
role: "menuitemradio"
|
|
22
27
|
}));
|
|
23
28
|
}
|
|
@@ -29,8 +34,8 @@ const props = {
|
|
|
29
34
|
/** A custom item when the item is checked */
|
|
30
35
|
checkIcon: reactDesc.PropTypes.element.description('A custom item when the item is checked')
|
|
31
36
|
};
|
|
32
|
-
const DSMenuItemRadioWithSchema = reactDesc.describe(MenuItemCheckable[
|
|
37
|
+
const DSMenuItemRadioWithSchema = reactDesc.describe(MenuItemCheckable["default"]);
|
|
33
38
|
DSMenuItemRadioWithSchema.propTypes = props;
|
|
34
39
|
|
|
35
40
|
exports.DSMenuItemRadioWithSchema = DSMenuItemRadioWithSchema;
|
|
36
|
-
exports[
|
|
41
|
+
exports["default"] = MenuItemRadio;
|
|
@@ -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');
|
|
@@ -15,10 +20,10 @@ var CheckableGroup__default = /*#__PURE__*/_interopDefaultLegacy(CheckableGroup)
|
|
|
15
20
|
|
|
16
21
|
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
22
|
|
|
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[
|
|
23
|
+
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
24
|
|
|
20
25
|
function RadioGroup(props) {
|
|
21
|
-
return /*#__PURE__*/jsxRuntime.jsx(CheckableGroup__default[
|
|
26
|
+
return /*#__PURE__*/jsxRuntime.jsx(CheckableGroup__default["default"], _objectSpread(_objectSpread({}, props), {}, {
|
|
22
27
|
multi: false
|
|
23
28
|
}));
|
|
24
29
|
}
|
|
@@ -34,4 +39,4 @@ const DSMenuRadioGroupWithSchema = reactDesc.describe(RadioGroup);
|
|
|
34
39
|
DSMenuRadioGroupWithSchema.propTypes = props;
|
|
35
40
|
|
|
36
41
|
exports.DSMenuRadioGroupWithSchema = DSMenuRadioGroupWithSchema;
|
|
37
|
-
exports[
|
|
42
|
+
exports["default"] = RadioGroup;
|