@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.
- package/cjs/Menu.js +176 -39
- package/cjs/MenuCombobox.js +33 -80
- package/cjs/MenuContext.js +1 -2
- package/cjs/MenuItems/CheckboxGroup.js +12 -10
- package/cjs/MenuItems/MenuItem.js +186 -36
- package/cjs/MenuItems/MenuItemCheckable.js +109 -35
- package/cjs/MenuItems/MenuItemCheckbox.js +35 -34
- package/cjs/MenuItems/MenuItemRadio.js +31 -35
- package/cjs/MenuItems/RadioGroup.js +12 -10
- package/cjs/MenuItems/SearchableGroup.js +44 -59
- package/cjs/MenuItems/SearchableList.js +35 -56
- package/cjs/MenuItems/SelectionGroup.js +93 -36
- package/cjs/MenuItems/Separator.js +14 -16
- package/cjs/MenuItems/SubMenu.js +197 -36
- package/cjs/MenuItems/menuItemFactory.js +56 -36
- package/cjs/VirtualMenuList.js +23 -26
- package/cjs/index.js +27 -48
- package/cjs/utils/useHeightByAmountOfItems.js +8 -10
- package/esm/Menu.js +165 -31
- package/esm/MenuCombobox.js +28 -74
- package/esm/MenuContext.js +0 -1
- package/esm/MenuItems/CheckboxGroup.js +10 -7
- package/esm/MenuItems/MenuItem.js +178 -31
- package/esm/MenuItems/MenuItemCheckable.js +101 -30
- package/esm/MenuItems/MenuItemCheckbox.js +28 -30
- package/esm/MenuItems/MenuItemRadio.js +26 -30
- package/esm/MenuItems/RadioGroup.js +10 -7
- package/esm/MenuItems/SearchableGroup.js +42 -56
- package/esm/MenuItems/SearchableList.js +32 -51
- package/esm/MenuItems/SelectionGroup.js +87 -31
- package/esm/MenuItems/Separator.js +12 -14
- package/esm/MenuItems/SubMenu.js +186 -31
- package/esm/MenuItems/menuItemFactory.js +51 -31
- package/esm/VirtualMenuList.js +21 -24
- package/esm/index.js +7 -28
- package/esm/utils/useHeightByAmountOfItems.js +8 -10
- package/package.json +106 -21
- package/types/Menu.d.ts +5 -0
- package/types/MenuCombobox.d.ts +28 -0
- package/types/MenuContext.d.ts +3 -0
- package/types/MenuItems/CheckboxGroup.d.ts +12 -0
- package/types/MenuItems/MenuItem.d.ts +29 -0
- package/types/MenuItems/MenuItemCheckable.d.ts +42 -0
- package/types/MenuItems/MenuItemCheckbox.d.ts +6 -0
- package/types/MenuItems/MenuItemRadio.d.ts +13 -0
- package/types/MenuItems/RadioGroup.d.ts +11 -0
- package/types/MenuItems/SearchableGroup.d.ts +4 -0
- package/types/MenuItems/SearchableList.d.ts +40 -0
- package/types/MenuItems/SelectionGroup.d.ts +36 -0
- package/types/MenuItems/Separator.d.ts +16 -0
- package/types/MenuItems/SubMenu.d.ts +44 -0
- package/types/MenuItems/menuItemFactory.d.ts +3 -0
- package/types/VirtualMenuList.d.ts +8 -0
- package/types/index.d.ts +13 -0
- package/types/tests/Menu.test.d.ts +1 -0
- package/types/tests/MenuItem.test.d.ts +1 -0
- package/types/utils/useHeightByAmountOfItems.d.ts +5 -0
- package/Menu/package.json +0 -10
- package/MenuCombobox/package.json +0 -10
- package/MenuContext/package.json +0 -10
- package/MenuItems/CheckboxGroup/package.json +0 -10
- package/MenuItems/MenuItem/package.json +0 -10
- package/MenuItems/MenuItemCheckable/package.json +0 -10
- package/MenuItems/MenuItemCheckbox/package.json +0 -10
- package/MenuItems/MenuItemRadio/package.json +0 -10
- package/MenuItems/RadioGroup/package.json +0 -10
- package/MenuItems/SearchableGroup/package.json +0 -10
- package/MenuItems/SearchableList/package.json +0 -10
- package/MenuItems/SelectionGroup/package.json +0 -10
- package/MenuItems/Separator/package.json +0 -10
- package/MenuItems/SubMenu/package.json +0 -10
- package/MenuItems/menuItemFactory/package.json +0 -10
- package/VirtualMenuList/package.json +0 -10
- package/cjs/Menu.js.map +0 -1
- package/cjs/MenuCombobox.js.map +0 -1
- package/cjs/MenuContext.js.map +0 -1
- package/cjs/MenuItems/CheckboxGroup.js.map +0 -1
- package/cjs/MenuItems/MenuItem.js.map +0 -1
- package/cjs/MenuItems/MenuItemCheckable.js.map +0 -1
- package/cjs/MenuItems/MenuItemCheckbox.js.map +0 -1
- package/cjs/MenuItems/MenuItemRadio.js.map +0 -1
- package/cjs/MenuItems/RadioGroup.js.map +0 -1
- package/cjs/MenuItems/SearchableGroup.js.map +0 -1
- package/cjs/MenuItems/SearchableList.js.map +0 -1
- package/cjs/MenuItems/SelectionGroup.js.map +0 -1
- package/cjs/MenuItems/Separator.js.map +0 -1
- package/cjs/MenuItems/SubMenu.js.map +0 -1
- package/cjs/MenuItems/menuItemFactory.js.map +0 -1
- package/cjs/SubMenu-22be0a18.js +0 -806
- package/cjs/SubMenu-22be0a18.js.map +0 -1
- package/cjs/VirtualMenuList.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/utils/useHeightByAmountOfItems.js.map +0 -1
- package/esm/Menu.js.map +0 -1
- package/esm/MenuCombobox.js.map +0 -1
- package/esm/MenuContext.js.map +0 -1
- package/esm/MenuItems/CheckboxGroup.js.map +0 -1
- package/esm/MenuItems/MenuItem.js.map +0 -1
- package/esm/MenuItems/MenuItemCheckable.js.map +0 -1
- package/esm/MenuItems/MenuItemCheckbox.js.map +0 -1
- package/esm/MenuItems/MenuItemRadio.js.map +0 -1
- package/esm/MenuItems/RadioGroup.js.map +0 -1
- package/esm/MenuItems/SearchableGroup.js.map +0 -1
- package/esm/MenuItems/SearchableList.js.map +0 -1
- package/esm/MenuItems/SelectionGroup.js.map +0 -1
- package/esm/MenuItems/Separator.js.map +0 -1
- package/esm/MenuItems/SubMenu.js.map +0 -1
- package/esm/MenuItems/menuItemFactory.js.map +0 -1
- package/esm/SubMenu-a25e69ec.js +0 -778
- package/esm/SubMenu-a25e69ec.js.map +0 -1
- package/esm/VirtualMenuList.js.map +0 -1
- package/esm/index.js.map +0 -1
- package/esm/utils/useHeightByAmountOfItems.js.map +0 -1
- 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/
|
|
6
|
-
require('@babel/runtime/helpers/
|
|
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
|
|
12
|
-
require('
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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/
|
|
4
|
-
require('@babel/runtime/helpers/
|
|
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
|
|
8
|
-
require('
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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/
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
require('react');
|
|
7
|
-
require('react-desc');
|
|
8
|
-
var
|
|
9
|
-
require('
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
|
6
|
-
|
|
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
|
|
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__*/
|
|
21
|
+
return /*#__PURE__*/jsxRuntime.jsx(CheckableGroup__default["default"], _objectSpread(_objectSpread({}, props), {}, {
|
|
18
22
|
multi: false
|
|
19
23
|
}));
|
|
20
24
|
}
|
|
21
25
|
|
|
22
|
-
|
|
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
|
-
|
|
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[
|
|
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
|
|
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-
|
|
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
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
function SearchableGroup(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
React.useEffect(function () {
|
|
38
|
+
const {
|
|
39
|
+
visible
|
|
40
|
+
} = React.useContext(MenuContext) || {};
|
|
41
|
+
React.useEffect(() => {
|
|
52
42
|
if (focusOnOpen && visible) {
|
|
53
|
-
setTimeout(
|
|
43
|
+
setTimeout(() => {
|
|
54
44
|
if (searchRef.current) searchRef.current.focus();
|
|
55
45
|
}, 0);
|
|
56
46
|
}
|
|
57
47
|
}, [focusOnOpen, visible]);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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[
|
|
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
|
-
|
|
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
|
|
11
|
-
var
|
|
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
|
|
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[
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
function SearchableList(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
42
|
+
const handleFilterByText = React.useCallback(() => {
|
|
58
43
|
if (searchTerm) onSelectMenuItem(searchTerm);
|
|
59
44
|
}, [searchTerm]);
|
|
60
|
-
|
|
45
|
+
const handleKeyDown = React.useCallback(e => {
|
|
61
46
|
if (e.key === 'ArrowRight') {
|
|
62
47
|
handleFilterByText();
|
|
63
48
|
}
|
|
64
49
|
}, [searchTerm]);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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[
|
|
133
|
-
//# sourceMappingURL=SearchableList.js.map
|
|
112
|
+
exports["default"] = SearchableList;
|