@elliemae/ds-shuttle 2.0.0-alpha.8 → 2.0.0-next.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/AnimationState.js +1 -0
- package/cjs/DSShuttle.js +84 -80
- package/cjs/SearchState.js +1 -0
- package/cjs/Shuttle.actions.js +28 -18
- package/cjs/ShuttleContainer.js +15 -8
- package/cjs/ShuttleImpl.js +23 -10
- package/cjs/ShuttleRenderer.js +9 -2
- package/cjs/ShuttleState.js +7 -2
- package/cjs/animation/animationConfig.js +10 -10
- package/cjs/classedComponents.js +31 -22
- package/cjs/components/LoadingIndicator.js +2 -2
- package/cjs/components/OverflowList.js +23 -12
- package/cjs/components/ShuttleBreadcrumb.js +21 -15
- package/cjs/components/ShuttleInfiniteScrollIndicator.js +22 -16
- package/cjs/components/ShuttleListItem/ActionButtons.js +10 -10
- package/cjs/components/ShuttleListItem/ShuttleListItem.js +22 -15
- package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +6 -0
- package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +5 -0
- package/cjs/components/ShuttleListPanel.js +7 -6
- package/cjs/components/ShuttleSearchBox.js +16 -13
- package/cjs/components/ShuttleSource.js +49 -43
- package/cjs/components/ShuttleTarget.js +29 -22
- package/cjs/components/VirtualizedItem.js +12 -6
- package/cjs/components/VirtualizedList.js +47 -35
- package/cjs/components/VirtualizedSortableList.js +5 -0
- package/cjs/helper.js +36 -14
- package/cjs/updateShuttleStateFromProps.js +16 -6
- package/cjs/utils.js +7 -2
- package/cjs/withProviders.js +5 -0
- package/esm/AnimationState.js +1 -0
- package/esm/DSShuttle.js +84 -80
- package/esm/SearchState.js +1 -0
- package/esm/Shuttle.actions.js +22 -12
- package/esm/ShuttleContainer.js +12 -5
- package/esm/ShuttleImpl.js +18 -5
- package/esm/ShuttleRenderer.js +9 -2
- package/esm/ShuttleState.js +7 -2
- package/esm/animation/animationConfig.js +10 -10
- package/esm/classedComponents.js +31 -22
- package/esm/components/LoadingIndicator.js +1 -1
- package/esm/components/OverflowList.js +23 -12
- package/esm/components/ShuttleBreadcrumb.js +21 -15
- package/esm/components/ShuttleInfiniteScrollIndicator.js +22 -16
- package/esm/components/ShuttleListItem/ActionButtons.js +7 -4
- package/esm/components/ShuttleListItem/ShuttleListItem.js +21 -13
- package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +6 -0
- package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +5 -0
- package/esm/components/ShuttleListPanel.js +7 -6
- package/esm/components/ShuttleSearchBox.js +14 -10
- package/esm/components/ShuttleSource.js +44 -36
- package/esm/components/ShuttleTarget.js +29 -22
- package/esm/components/VirtualizedItem.js +12 -6
- package/esm/components/VirtualizedList.js +47 -35
- package/esm/components/VirtualizedSortableList.js +5 -0
- package/esm/helper.js +33 -11
- package/esm/updateShuttleStateFromProps.js +11 -1
- package/esm/utils.js +6 -1
- package/esm/withProviders.js +5 -0
- package/package.json +10 -7
- package/types/components/ShuttleBreadcrumb.d.ts +1 -1
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
12
|
var react = require('react');
|
|
6
13
|
var web = require('react-spring/web');
|
|
7
14
|
var animationConfig = require('../animation/animationConfig.js');
|
|
@@ -16,11 +23,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
16
23
|
|
|
17
24
|
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
25
|
|
|
19
|
-
function OverflowList({
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
function OverflowList(_ref) {
|
|
27
|
+
let {
|
|
28
|
+
className = '',
|
|
29
|
+
activeHierarchy = '',
|
|
30
|
+
children
|
|
31
|
+
} = _ref;
|
|
24
32
|
const {
|
|
25
33
|
state: {
|
|
26
34
|
isDrillingDown = false
|
|
@@ -30,13 +38,16 @@ function OverflowList({
|
|
|
30
38
|
const overflowTransition = web.useTransition(activeHierarchy, null, _objectSpread(_objectSpread({}, animationConfig.animationConfig.moveList(isDrillingDown)), {}, {
|
|
31
39
|
onDestroyed: () => setIsDrillingDown(false)
|
|
32
40
|
}));
|
|
33
|
-
return overflowTransition.map(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
return overflowTransition.map(_ref2 => {
|
|
42
|
+
let {
|
|
43
|
+
props,
|
|
44
|
+
key
|
|
45
|
+
} = _ref2;
|
|
46
|
+
return /*#__PURE__*/_jsx__default["default"](web.animated.div, {
|
|
47
|
+
className: className,
|
|
48
|
+
style: props
|
|
49
|
+
}, key, children);
|
|
50
|
+
});
|
|
40
51
|
}
|
|
41
52
|
|
|
42
53
|
module.exports = OverflowList;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
4
6
|
require('react');
|
|
5
7
|
var web = require('react-spring/web');
|
|
6
8
|
var DSBreadcrumb = require('@elliemae/ds-basic/Breadcrumb');
|
|
@@ -11,26 +13,30 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
11
13
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
12
14
|
var DSBreadcrumb__default = /*#__PURE__*/_interopDefaultLegacy(DSBreadcrumb);
|
|
13
15
|
|
|
14
|
-
function ShuttleBreadcrumb({
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
function ShuttleBreadcrumb(_ref) {
|
|
17
|
+
let {
|
|
18
|
+
className = '',
|
|
19
|
+
hierarchy = [],
|
|
20
|
+
onNavigateTo = () => null
|
|
21
|
+
} = _ref;
|
|
19
22
|
const animatedCrumbs = web.useTransition(hierarchy, item => item.id, animationConfig.animationConfig.breadcrumb());
|
|
20
23
|
return /*#__PURE__*/_jsx__default["default"]("div", {
|
|
21
24
|
className: className
|
|
22
25
|
}, void 0, /*#__PURE__*/_jsx__default["default"](DSBreadcrumb__default["default"], {
|
|
23
26
|
isTitle: true
|
|
24
|
-
}, void 0, animatedCrumbs.map(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
}, void 0, animatedCrumbs.map(_ref2 => {
|
|
28
|
+
let {
|
|
29
|
+
item,
|
|
30
|
+
props,
|
|
31
|
+
key
|
|
32
|
+
} = _ref2;
|
|
33
|
+
return /*#__PURE__*/_jsx__default["default"](DSBreadcrumb__default["default"].Item, {
|
|
34
|
+
containerComponent: web.animated.li,
|
|
35
|
+
label: item.name,
|
|
36
|
+
onClick: () => onNavigateTo(item, 'up'),
|
|
37
|
+
style: props
|
|
38
|
+
}, key);
|
|
39
|
+
})));
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
module.exports = ShuttleBreadcrumb;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
4
|
require('react');
|
|
5
5
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
6
|
-
var DSIndeterminateProgressIndicator = require('@elliemae/ds-
|
|
6
|
+
var DSIndeterminateProgressIndicator = require('@elliemae/ds-indeterminate-progress-indicator');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -12,22 +12,28 @@ var DSIndeterminateProgressIndicator__default = /*#__PURE__*/_interopDefaultLega
|
|
|
12
12
|
|
|
13
13
|
var _DSIndeterminateProgr;
|
|
14
14
|
const blockName = 'shuttle-infinite-scroll-indicator';
|
|
15
|
-
const InfiniteScrollBarContainer = dsClassnames.aggregatedClasses('div')(blockName, null,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
const InfiniteScrollBarContainer = dsClassnames.aggregatedClasses('div')(blockName, null, _ref => {
|
|
16
|
+
let {
|
|
17
|
+
isOpen
|
|
18
|
+
} = _ref;
|
|
19
|
+
return {
|
|
20
|
+
opened: isOpen
|
|
21
|
+
};
|
|
22
|
+
});
|
|
20
23
|
|
|
21
|
-
const ShuttleInfiniteScrollIndicator =
|
|
22
|
-
|
|
23
|
-
}) => /*#__PURE__*/_jsx__default["default"](InfiniteScrollBarContainer, {
|
|
24
|
-
classProps: {
|
|
24
|
+
const ShuttleInfiniteScrollIndicator = _ref2 => {
|
|
25
|
+
let {
|
|
25
26
|
isOpen
|
|
26
|
-
}
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
} = _ref2;
|
|
28
|
+
return /*#__PURE__*/_jsx__default["default"](InfiniteScrollBarContainer, {
|
|
29
|
+
classProps: {
|
|
30
|
+
isOpen
|
|
31
|
+
},
|
|
32
|
+
"data-testid": blockName
|
|
33
|
+
}, void 0, _DSIndeterminateProgr || (_DSIndeterminateProgr = /*#__PURE__*/_jsx__default["default"](DSIndeterminateProgressIndicator__default["default"], {
|
|
34
|
+
processing: true,
|
|
35
|
+
title: "Loading"
|
|
36
|
+
})));
|
|
37
|
+
};
|
|
32
38
|
|
|
33
39
|
module.exports = ShuttleInfiniteScrollIndicator;
|
|
@@ -2,14 +2,17 @@
|
|
|
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
|
require('react');
|
|
8
13
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
9
|
-
var DSButton = require('@elliemae/ds-
|
|
10
|
-
var
|
|
11
|
-
var ArrowShortRight = require('@elliemae/ds-icons/ArrowShortRight');
|
|
12
|
-
var ArrowShortReturn = require('@elliemae/ds-icons/ArrowShortReturn');
|
|
14
|
+
var DSButton = require('@elliemae/ds-button');
|
|
15
|
+
var dsIcons = require('@elliemae/ds-icons');
|
|
13
16
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
17
|
|
|
15
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -17,9 +20,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
17
20
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
18
21
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
19
22
|
var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
|
|
20
|
-
var CloseCircle__default = /*#__PURE__*/_interopDefaultLegacy(CloseCircle);
|
|
21
|
-
var ArrowShortRight__default = /*#__PURE__*/_interopDefaultLegacy(ArrowShortRight);
|
|
22
|
-
var ArrowShortReturn__default = /*#__PURE__*/_interopDefaultLegacy(ArrowShortReturn);
|
|
23
23
|
|
|
24
24
|
var _CloseCircle, _ArrowShortRight, _ArrowShortReturn;
|
|
25
25
|
|
|
@@ -29,11 +29,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
29
29
|
const ActionButton = dsClassnames.aggregatedClasses(DSButton__default["default"])('shuttle-list-item', 'action-button');
|
|
30
30
|
const DeleteButton = props => /*#__PURE__*/jsxRuntime.jsx(ActionButton, _objectSpread({
|
|
31
31
|
buttonType: "text",
|
|
32
|
-
icon: _CloseCircle || (_CloseCircle = /*#__PURE__*/_jsx__default["default"](
|
|
32
|
+
icon: _CloseCircle || (_CloseCircle = /*#__PURE__*/_jsx__default["default"](dsIcons.CloseCircle, {}))
|
|
33
33
|
}, props));
|
|
34
34
|
const MoveButton = props => /*#__PURE__*/jsxRuntime.jsx(ActionButton, _objectSpread(_objectSpread({
|
|
35
35
|
buttonType: "text",
|
|
36
|
-
icon: _ArrowShortRight || (_ArrowShortRight = /*#__PURE__*/_jsx__default["default"](
|
|
36
|
+
icon: _ArrowShortRight || (_ArrowShortRight = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowShortRight, {}))
|
|
37
37
|
}, props), {}, {
|
|
38
38
|
containerProps: {
|
|
39
39
|
'data-testid': 'ds-shuttle__move-button'
|
|
@@ -41,7 +41,7 @@ const MoveButton = props => /*#__PURE__*/jsxRuntime.jsx(ActionButton, _objectSpr
|
|
|
41
41
|
}));
|
|
42
42
|
const DrillDownButton = props => /*#__PURE__*/jsxRuntime.jsx(ActionButton, _objectSpread(_objectSpread({
|
|
43
43
|
buttonType: "text",
|
|
44
|
-
icon: _ArrowShortReturn || (_ArrowShortReturn = /*#__PURE__*/_jsx__default["default"](
|
|
44
|
+
icon: _ArrowShortReturn || (_ArrowShortReturn = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowShortReturn, {
|
|
45
45
|
"data-testid": "shuttle__drill-btn-icon"
|
|
46
46
|
}))
|
|
47
47
|
}, props), {}, {
|
|
@@ -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 _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
10
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
@@ -8,7 +13,7 @@ var dsClassnames = require('@elliemae/ds-classnames');
|
|
|
8
13
|
var web = require('react-spring/web');
|
|
9
14
|
var TruncatedTooltipText = require('@elliemae/ds-basic/TruncatedTooltipText');
|
|
10
15
|
var reactSortableHoc = require('react-sortable-hoc');
|
|
11
|
-
var
|
|
16
|
+
var dsIcons = require('@elliemae/ds-icons');
|
|
12
17
|
var helper = require('../../helper.js');
|
|
13
18
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
19
|
|
|
@@ -18,7 +23,6 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
|
|
|
18
23
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
19
24
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
20
25
|
var TruncatedTooltipText__default = /*#__PURE__*/_interopDefaultLegacy(TruncatedTooltipText);
|
|
21
|
-
var GripperVertical__default = /*#__PURE__*/_interopDefaultLegacy(GripperVertical);
|
|
22
26
|
|
|
23
27
|
const _excluded = ["item", "showIcons", "showIcon", "onSelect", "isChecked", "style", "showActions", "actions", "showSortHandler"];
|
|
24
28
|
|
|
@@ -31,20 +35,23 @@ const blockName = 'shuttle-list-item';
|
|
|
31
35
|
const Wrapper = dsClassnames.aggregatedClasses(web.animated.li)(blockName);
|
|
32
36
|
const ActionsGroup = dsClassnames.aggregatedClasses('div')(blockName, 'actions');
|
|
33
37
|
const IconWrapper = dsClassnames.aggregatedClasses('div')(blockName, 'icon-wrapper');
|
|
34
|
-
const Content = dsClassnames.aggregatedClasses('label')(blockName, 'content',
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
const Content = dsClassnames.aggregatedClasses('label')(blockName, 'content', _ref => {
|
|
39
|
+
let {
|
|
40
|
+
isChecked,
|
|
41
|
+
canMove,
|
|
42
|
+
isReadonly
|
|
43
|
+
} = _ref;
|
|
44
|
+
return {
|
|
45
|
+
checked: isChecked,
|
|
46
|
+
'can-hover': canMove,
|
|
47
|
+
'read-only': isReadonly
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
const SortHandler = reactSortableHoc.sortableHandle(() => _GripperVertical || (_GripperVertical = /*#__PURE__*/_jsx__default["default"](dsIcons.GripperVertical, {
|
|
44
51
|
className: "gripper"
|
|
45
52
|
})));
|
|
46
53
|
|
|
47
|
-
function ShuttleListItem(
|
|
54
|
+
function ShuttleListItem(_ref2) {
|
|
48
55
|
let {
|
|
49
56
|
item = {},
|
|
50
57
|
showIcons = undefined,
|
|
@@ -55,8 +62,8 @@ function ShuttleListItem(_ref) {
|
|
|
55
62
|
showActions = true,
|
|
56
63
|
actions = [],
|
|
57
64
|
showSortHandler = false
|
|
58
|
-
} =
|
|
59
|
-
rest = _objectWithoutProperties__default["default"](
|
|
65
|
+
} = _ref2,
|
|
66
|
+
rest = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
|
60
67
|
|
|
61
68
|
return /*#__PURE__*/jsxRuntime.jsxs(Wrapper, _objectSpread(_objectSpread({}, rest), {}, {
|
|
62
69
|
role: "listitem",
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
5
5
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
6
12
|
var react = require('react');
|
|
7
13
|
var helper = require('../../helper.js');
|
|
8
14
|
var ActionButtons = require('./ActionButtons.js');
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
3
8
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
9
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
5
10
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
4
|
require('react');
|
|
5
|
-
var DSButton = require('@elliemae/ds-
|
|
5
|
+
var DSButton = require('@elliemae/ds-button');
|
|
6
6
|
var classedComponents = require('../classedComponents.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -10,11 +10,12 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
11
11
|
var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
|
|
12
12
|
|
|
13
|
-
function ShuttleListPanel({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
function ShuttleListPanel(_ref) {
|
|
14
|
+
let {
|
|
15
|
+
onClick = () => null,
|
|
16
|
+
open = false,
|
|
17
|
+
children
|
|
18
|
+
} = _ref;
|
|
18
19
|
return /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleListPanel, {
|
|
19
20
|
classProps: {
|
|
20
21
|
open
|
|
@@ -4,22 +4,24 @@ var _jsx = require('@babel/runtime/helpers/jsx');
|
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
8
|
+
var dsForm = require('@elliemae/ds-form');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
11
|
|
|
12
12
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
13
13
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
14
|
-
var DSTextBox__default = /*#__PURE__*/_interopDefaultLegacy(DSTextBox);
|
|
15
14
|
|
|
16
15
|
const blockName = 'shuttle-search-box';
|
|
17
|
-
const SearchBoxContainer = dsClassnames.aggregatedClasses('div')(blockName, null,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
const SearchBoxContainer = dsClassnames.aggregatedClasses('div')(blockName, null, _ref => {
|
|
17
|
+
let {
|
|
18
|
+
isOpen
|
|
19
|
+
} = _ref;
|
|
20
|
+
return {
|
|
21
|
+
opened: isOpen
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
const filterList = dsUtilities.debounce((term, onFilterCallback) => {
|
|
23
25
|
onFilterCallback(term);
|
|
24
26
|
}, 200);
|
|
25
27
|
class ShuttleSearchBox extends react.Component {
|
|
@@ -33,9 +35,10 @@ class ShuttleSearchBox extends react.Component {
|
|
|
33
35
|
this.handleKeyPress = this.handleKeyPress.bind(this);
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
static getDerivedStateFromProps(nextProps, {
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
static getDerivedStateFromProps(nextProps, _ref2) {
|
|
39
|
+
let {
|
|
40
|
+
prevProps
|
|
41
|
+
} = _ref2;
|
|
39
42
|
const {
|
|
40
43
|
value
|
|
41
44
|
} = nextProps;
|
|
@@ -88,7 +91,7 @@ class ShuttleSearchBox extends react.Component {
|
|
|
88
91
|
classProps: {
|
|
89
92
|
isOpen
|
|
90
93
|
}
|
|
91
|
-
}, void 0, /*#__PURE__*/_jsx__default["default"](
|
|
94
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSTextBox, {
|
|
92
95
|
autoFocus: true,
|
|
93
96
|
clearable: true,
|
|
94
97
|
onChange: this.handleChange,
|
|
@@ -3,11 +3,17 @@
|
|
|
3
3
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
4
4
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
6
13
|
var react = require('react');
|
|
7
|
-
var
|
|
8
|
-
var DSButton = require('@elliemae/ds-
|
|
9
|
-
var
|
|
10
|
-
var utils = require('@elliemae/ds-utilities/utils');
|
|
14
|
+
var dsIcons = require('@elliemae/ds-icons');
|
|
15
|
+
var DSButton = require('@elliemae/ds-button');
|
|
16
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
11
17
|
var ShuttleSearchBox = require('./ShuttleSearchBox.js');
|
|
12
18
|
var ShuttleInfiniteScrollIndicator = require('./ShuttleInfiniteScrollIndicator.js');
|
|
13
19
|
var ShuttleSourceListItem = require('./ShuttleListItem/ShuttleSourceListItem.js');
|
|
@@ -26,9 +32,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
26
32
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
27
33
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
28
34
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
29
|
-
var ArrowShortRight__default = /*#__PURE__*/_interopDefaultLegacy(ArrowShortRight);
|
|
30
35
|
var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
|
|
31
|
-
var Search__default = /*#__PURE__*/_interopDefaultLegacy(Search);
|
|
32
36
|
|
|
33
37
|
const _excluded = ["item"];
|
|
34
38
|
|
|
@@ -40,31 +44,32 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
40
44
|
|
|
41
45
|
const noop = () => {};
|
|
42
46
|
|
|
43
|
-
function ShuttleSource({
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
47
|
+
function ShuttleSource(_ref) {
|
|
48
|
+
let {
|
|
49
|
+
items = [],
|
|
50
|
+
checkedItems = [],
|
|
51
|
+
// build Map() and memoize it for better performance
|
|
52
|
+
hierarchy = [],
|
|
53
|
+
onMoveItem = noop,
|
|
54
|
+
onCheckItem = noop,
|
|
55
|
+
onMoveCheckedItems = noop,
|
|
56
|
+
onNavigateTo = noop,
|
|
57
|
+
onClearCheckedItems = noop,
|
|
58
|
+
emptyMessage = 'No items found',
|
|
59
|
+
composeSourceItemProps = noop,
|
|
60
|
+
loading = false,
|
|
61
|
+
onSearch = noop,
|
|
62
|
+
onSearchClose = noop,
|
|
63
|
+
onSearchOpen = noop,
|
|
64
|
+
sourceSortable = false,
|
|
65
|
+
onSortEnd = noop,
|
|
66
|
+
sourceClearItemsText = 'CLEAR ALL',
|
|
67
|
+
searchPlaceholder,
|
|
68
|
+
renderSourceCounter = amount => "".concat(amount, " items"),
|
|
69
|
+
onGetMoreItems = () => {},
|
|
70
|
+
moreItemsLoading = false,
|
|
71
|
+
hasNextPage = false
|
|
72
|
+
} = _ref;
|
|
68
73
|
const {
|
|
69
74
|
state: {
|
|
70
75
|
isMovingBack = false,
|
|
@@ -85,7 +90,7 @@ function ShuttleSource({
|
|
|
85
90
|
}), {}), [checkedItems]);
|
|
86
91
|
const handleCloseSearch = react.useCallback(() => {
|
|
87
92
|
setSearchTerm('');
|
|
88
|
-
|
|
93
|
+
dsUtilities.runAll(resetSearch, onSearchClose)();
|
|
89
94
|
}, [searching]);
|
|
90
95
|
const handleToggleSearch = react.useCallback(() => {
|
|
91
96
|
toggleSearchBox(!searching);
|
|
@@ -98,10 +103,11 @@ function ShuttleSource({
|
|
|
98
103
|
}, [searching]);
|
|
99
104
|
const ComponentList = react.useMemo(() => sourceSortable ? VirtualizedSortableList : VirtualizedList, [sourceSortable]);
|
|
100
105
|
|
|
101
|
-
const handleSortEnd =
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
const handleSortEnd = _ref2 => {
|
|
107
|
+
let {
|
|
108
|
+
oldIndex,
|
|
109
|
+
newIndex
|
|
110
|
+
} = _ref2;
|
|
105
111
|
onSortEnd({
|
|
106
112
|
sourceItem: items[oldIndex],
|
|
107
113
|
targetItem: items[newIndex]
|
|
@@ -116,7 +122,7 @@ function ShuttleSource({
|
|
|
116
122
|
onNavigateTo: onNavigateTo
|
|
117
123
|
}), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleHeaderSearchToggle, {
|
|
118
124
|
buttonType: "text",
|
|
119
|
-
icon: _Search || (_Search = /*#__PURE__*/_jsx__default["default"](
|
|
125
|
+
icon: _Search || (_Search = /*#__PURE__*/_jsx__default["default"](dsIcons.Search, {})),
|
|
120
126
|
onClick: handleToggleSearch,
|
|
121
127
|
containerProps: {
|
|
122
128
|
'data-testid': 'shuttle-header-search-toggle'
|
|
@@ -130,8 +136,8 @@ function ShuttleSource({
|
|
|
130
136
|
}
|
|
131
137
|
}, void 0, /*#__PURE__*/_jsx__default["default"](ShuttleSearchBox, {
|
|
132
138
|
isOpen: searching,
|
|
133
|
-
onClose:
|
|
134
|
-
onFilter:
|
|
139
|
+
onClose: dsUtilities.runAll(() => toggleSearchBox(false), handleCloseSearch),
|
|
140
|
+
onFilter: dsUtilities.runAll(setSearchTerm, onSearch),
|
|
135
141
|
placeholder: searchPlaceholder,
|
|
136
142
|
value: searchTerm
|
|
137
143
|
}, searching), hasContent ? /*#__PURE__*/_jsx__default["default"](classedComponents.Overflow, {
|
|
@@ -142,11 +148,11 @@ function ShuttleSource({
|
|
|
142
148
|
}
|
|
143
149
|
}, void 0, /*#__PURE__*/_jsx__default["default"](ComponentList, {
|
|
144
150
|
helperClass: "drag-helper",
|
|
145
|
-
itemRenderer:
|
|
151
|
+
itemRenderer: _ref3 => {
|
|
146
152
|
let {
|
|
147
153
|
item
|
|
148
|
-
} =
|
|
149
|
-
rest = _objectWithoutProperties__default["default"](
|
|
154
|
+
} = _ref3,
|
|
155
|
+
rest = _objectWithoutProperties__default["default"](_ref3, _excluded);
|
|
150
156
|
|
|
151
157
|
return /*#__PURE__*/jsxRuntime.jsx(ShuttleSourceListItem, _objectSpread(_objectSpread(_objectSpread({
|
|
152
158
|
"data-testid": "source-list-item"
|
|
@@ -170,7 +176,7 @@ function ShuttleSource({
|
|
|
170
176
|
}, void 0, /*#__PURE__*/_jsx__default["default"](LoadingIndicator, {}))) : null, /*#__PURE__*/_jsx__default["default"](ShuttleListPanel, {
|
|
171
177
|
onClick: onMoveCheckedItems,
|
|
172
178
|
open: checkedItems.length > 1
|
|
173
|
-
}, void 0, _ArrowShortRight || (_ArrowShortRight = /*#__PURE__*/_jsx__default["default"](
|
|
179
|
+
}, void 0, _ArrowShortRight || (_ArrowShortRight = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowShortRight, {}))), moreItemsLoading ? _ShuttleInfiniteScrol || (_ShuttleInfiniteScrol = /*#__PURE__*/_jsx__default["default"](ShuttleInfiniteScrollIndicator, {
|
|
174
180
|
isOpen: true
|
|
175
181
|
})) : null), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleFooter, {}, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleFooterActions, {}, void 0, !!checkedItems.length && /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
|
|
176
182
|
buttonType: "link",
|
|
@@ -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 _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
10
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
11
|
var react = require('react');
|
|
7
|
-
var DSButton = require('@elliemae/ds-
|
|
12
|
+
var DSButton = require('@elliemae/ds-button');
|
|
8
13
|
var classedComponents = require('../classedComponents.js');
|
|
9
14
|
var helper = require('../helper.js');
|
|
10
15
|
var AnimationState = require('../AnimationState.js');
|
|
@@ -31,20 +36,21 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
31
36
|
|
|
32
37
|
const noop = () => {};
|
|
33
38
|
|
|
34
|
-
function ShuttleTarget({
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
function ShuttleTarget(_ref) {
|
|
40
|
+
let {
|
|
41
|
+
items = [],
|
|
42
|
+
hierarchy = [],
|
|
43
|
+
onNavigateTo = noop,
|
|
44
|
+
onMoveItem = noop,
|
|
45
|
+
onClearMovedItems = noop,
|
|
46
|
+
emptyMessage = 'No items selected',
|
|
47
|
+
composeTargetItemProps = () => ({}),
|
|
48
|
+
targetSortable = false,
|
|
49
|
+
onSortEnd = noop,
|
|
50
|
+
targetClearItemsText = 'CLEAR ALL',
|
|
51
|
+
renderTargetCounter = amount => "".concat(amount, " items"),
|
|
52
|
+
loading = false
|
|
53
|
+
} = _ref;
|
|
48
54
|
const {
|
|
49
55
|
state: {
|
|
50
56
|
isMoving = false
|
|
@@ -54,10 +60,11 @@ function ShuttleTarget({
|
|
|
54
60
|
const emptyContent = loading ? _LoadingIndicator || (_LoadingIndicator = /*#__PURE__*/_jsx__default["default"](LoadingIndicator, {})) : /*#__PURE__*/_jsx__default["default"](classedComponents.EmptyMessage, {}, void 0, emptyMessage);
|
|
55
61
|
const ComponentList = targetSortable ? VirtualizedSortableList : VirtualizedList;
|
|
56
62
|
|
|
57
|
-
const handleSortEnd =
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
const handleSortEnd = _ref2 => {
|
|
64
|
+
let {
|
|
65
|
+
oldIndex,
|
|
66
|
+
newIndex
|
|
67
|
+
} = _ref2;
|
|
61
68
|
onSortEnd({
|
|
62
69
|
sourceItem: items[oldIndex],
|
|
63
70
|
targetItem: items[newIndex]
|
|
@@ -77,11 +84,11 @@ function ShuttleTarget({
|
|
|
77
84
|
empty: !items.length
|
|
78
85
|
}
|
|
79
86
|
}, void 0, /*#__PURE__*/_jsx__default["default"](ComponentList, {
|
|
80
|
-
itemRenderer:
|
|
87
|
+
itemRenderer: _ref3 => {
|
|
81
88
|
let {
|
|
82
89
|
item
|
|
83
|
-
} =
|
|
84
|
-
rest = _objectWithoutProperties__default["default"](
|
|
90
|
+
} = _ref3,
|
|
91
|
+
rest = _objectWithoutProperties__default["default"](_ref3, _excluded);
|
|
85
92
|
|
|
86
93
|
return /*#__PURE__*/jsxRuntime.jsx(ShuttleTargetListItem, _objectSpread(_objectSpread(_objectSpread({
|
|
87
94
|
"data-testid": "target-list-item"
|