@elliemae/ds-shuttle 2.3.0-next.0 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/dist/cjs/AnimationState.js +75 -0
  2. package/dist/cjs/AnimationState.js.map +7 -0
  3. package/dist/cjs/DSShuttle.js +170 -0
  4. package/dist/cjs/DSShuttle.js.map +7 -0
  5. package/dist/cjs/SearchState.js +60 -0
  6. package/dist/cjs/SearchState.js.map +7 -0
  7. package/dist/cjs/Shuttle.actions.js +126 -0
  8. package/dist/cjs/Shuttle.actions.js.map +7 -0
  9. package/dist/cjs/ShuttleContainer.js +82 -0
  10. package/dist/cjs/ShuttleContainer.js.map +7 -0
  11. package/dist/cjs/ShuttleImpl.js +214 -0
  12. package/dist/cjs/ShuttleImpl.js.map +7 -0
  13. package/dist/cjs/ShuttleRenderer.js +144 -0
  14. package/dist/cjs/ShuttleRenderer.js.map +7 -0
  15. package/dist/cjs/ShuttleState.js +84 -0
  16. package/dist/cjs/ShuttleState.js.map +7 -0
  17. package/dist/cjs/animation/animationConfig.js +78 -0
  18. package/dist/cjs/animation/animationConfig.js.map +7 -0
  19. package/dist/cjs/classedComponents.js +72 -0
  20. package/dist/cjs/classedComponents.js.map +7 -0
  21. package/dist/cjs/components/LoadingIndicator.js +52 -0
  22. package/dist/cjs/components/LoadingIndicator.js.map +7 -0
  23. package/dist/cjs/components/OverflowList.js +55 -0
  24. package/dist/cjs/components/OverflowList.js.map +7 -0
  25. package/dist/cjs/components/ShuttleBreadcrumb.js +54 -0
  26. package/dist/cjs/components/ShuttleBreadcrumb.js.map +7 -0
  27. package/dist/cjs/components/ShuttleInfiniteScrollIndicator.js +48 -0
  28. package/dist/cjs/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  29. package/dist/cjs/components/ShuttleListItem/ActionButtons.js +60 -0
  30. package/dist/cjs/components/ShuttleListItem/ActionButtons.js.map +7 -0
  31. package/dist/cjs/components/ShuttleListItem/ShuttleListItem.js +83 -0
  32. package/dist/cjs/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  33. package/dist/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +90 -0
  34. package/dist/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  35. package/dist/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +73 -0
  36. package/dist/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  37. package/dist/cjs/components/ShuttleListPanel.js +49 -0
  38. package/dist/cjs/components/ShuttleListPanel.js.map +7 -0
  39. package/dist/cjs/components/ShuttleSearchBox.js +99 -0
  40. package/dist/cjs/components/ShuttleSearchBox.js.map +7 -0
  41. package/dist/cjs/components/ShuttleSource.js +192 -0
  42. package/dist/cjs/components/ShuttleSource.js.map +7 -0
  43. package/dist/cjs/components/ShuttleTarget.js +104 -0
  44. package/dist/cjs/components/ShuttleTarget.js.map +7 -0
  45. package/dist/cjs/components/VirtualizedItem.js +51 -0
  46. package/dist/cjs/components/VirtualizedItem.js.map +7 -0
  47. package/dist/cjs/components/VirtualizedList.js +88 -0
  48. package/dist/cjs/components/VirtualizedList.js.map +7 -0
  49. package/dist/cjs/components/VirtualizedSortableList.js +48 -0
  50. package/dist/cjs/components/VirtualizedSortableList.js.map +7 -0
  51. package/dist/cjs/helper.js +83 -0
  52. package/dist/cjs/helper.js.map +7 -0
  53. package/dist/cjs/index.js +38 -0
  54. package/dist/cjs/index.js.map +7 -0
  55. package/dist/cjs/tests/utils.js +1218 -0
  56. package/dist/cjs/tests/utils.js.map +7 -0
  57. package/dist/cjs/updateShuttleStateFromProps.js +98 -0
  58. package/dist/cjs/updateShuttleStateFromProps.js.map +7 -0
  59. package/dist/cjs/utils.js +41 -0
  60. package/dist/cjs/utils.js.map +7 -0
  61. package/dist/cjs/withProviders.js +45 -0
  62. package/dist/cjs/withProviders.js.map +7 -0
  63. package/{esm → dist/esm}/AnimationState.js +12 -8
  64. package/dist/esm/AnimationState.js.map +7 -0
  65. package/dist/esm/DSShuttle.js +141 -0
  66. package/dist/esm/DSShuttle.js.map +7 -0
  67. package/dist/esm/SearchState.js +31 -0
  68. package/dist/esm/SearchState.js.map +7 -0
  69. package/dist/esm/Shuttle.actions.js +106 -0
  70. package/dist/esm/Shuttle.actions.js.map +7 -0
  71. package/dist/esm/ShuttleContainer.js +64 -0
  72. package/dist/esm/ShuttleContainer.js.map +7 -0
  73. package/dist/esm/ShuttleImpl.js +199 -0
  74. package/dist/esm/ShuttleImpl.js.map +7 -0
  75. package/dist/esm/ShuttleRenderer.js +115 -0
  76. package/dist/esm/ShuttleRenderer.js.map +7 -0
  77. package/dist/esm/ShuttleState.js +55 -0
  78. package/dist/esm/ShuttleState.js.map +7 -0
  79. package/dist/esm/animation/animationConfig.js +49 -0
  80. package/dist/esm/animation/animationConfig.js.map +7 -0
  81. package/dist/esm/classedComponents.js +43 -0
  82. package/dist/esm/classedComponents.js.map +7 -0
  83. package/dist/esm/components/LoadingIndicator.js +23 -0
  84. package/dist/esm/components/LoadingIndicator.js.map +7 -0
  85. package/dist/esm/components/OverflowList.js +26 -0
  86. package/dist/esm/components/OverflowList.js.map +7 -0
  87. package/dist/esm/components/ShuttleBreadcrumb.js +25 -0
  88. package/dist/esm/components/ShuttleBreadcrumb.js.map +7 -0
  89. package/dist/esm/components/ShuttleInfiniteScrollIndicator.js +19 -0
  90. package/dist/esm/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  91. package/dist/esm/components/ShuttleListItem/ActionButtons.js +31 -0
  92. package/dist/esm/components/ShuttleListItem/ActionButtons.js.map +7 -0
  93. package/dist/esm/components/ShuttleListItem/ShuttleListItem.js +54 -0
  94. package/dist/esm/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  95. package/dist/esm/components/ShuttleListItem/ShuttleSourceListItem.js +61 -0
  96. package/dist/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  97. package/dist/esm/components/ShuttleListItem/ShuttleTargetListItem.js +44 -0
  98. package/dist/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  99. package/dist/esm/components/ShuttleListPanel.js +20 -0
  100. package/dist/esm/components/ShuttleListPanel.js.map +7 -0
  101. package/dist/esm/components/ShuttleSearchBox.js +70 -0
  102. package/dist/esm/components/ShuttleSearchBox.js.map +7 -0
  103. package/dist/esm/components/ShuttleSource.js +175 -0
  104. package/dist/esm/components/ShuttleSource.js.map +7 -0
  105. package/dist/esm/components/ShuttleTarget.js +86 -0
  106. package/dist/esm/components/ShuttleTarget.js.map +7 -0
  107. package/dist/esm/components/VirtualizedItem.js +22 -0
  108. package/dist/esm/components/VirtualizedItem.js.map +7 -0
  109. package/dist/esm/components/VirtualizedList.js +59 -0
  110. package/dist/esm/components/VirtualizedList.js.map +7 -0
  111. package/dist/esm/components/VirtualizedSortableList.js +19 -0
  112. package/dist/esm/components/VirtualizedSortableList.js.map +7 -0
  113. package/dist/esm/helper.js +54 -0
  114. package/dist/esm/helper.js.map +7 -0
  115. package/dist/esm/index.js +9 -0
  116. package/dist/esm/index.js.map +7 -0
  117. package/dist/esm/tests/utils.js +1189 -0
  118. package/dist/esm/tests/utils.js.map +7 -0
  119. package/dist/esm/updateShuttleStateFromProps.js +69 -0
  120. package/dist/esm/updateShuttleStateFromProps.js.map +7 -0
  121. package/dist/esm/utils.js +12 -0
  122. package/dist/esm/utils.js.map +7 -0
  123. package/dist/esm/withProviders.js +16 -0
  124. package/dist/esm/withProviders.js.map +7 -0
  125. package/{types → dist/types}/AnimationState.d.ts +3 -2
  126. package/{types → dist/types}/DSShuttle.d.ts +1 -1
  127. package/{types → dist/types}/SearchState.d.ts +3 -2
  128. package/{types → dist/types}/Shuttle.actions.d.ts +0 -0
  129. package/{types → dist/types}/ShuttleContainer.d.ts +0 -0
  130. package/dist/types/ShuttleImpl.d.ts +4 -0
  131. package/{types → dist/types}/ShuttleRenderer.d.ts +1 -0
  132. package/{types → dist/types}/ShuttleState.d.ts +3 -2
  133. package/{types → dist/types}/animation/animationConfig.d.ts +0 -0
  134. package/{types → dist/types}/classedComponents.d.ts +0 -0
  135. package/{types → dist/types}/components/LoadingIndicator.d.ts +1 -0
  136. package/{types → dist/types}/components/OverflowList.d.ts +1 -0
  137. package/{types → dist/types}/components/ShuttleBreadcrumb.d.ts +1 -0
  138. package/{types → dist/types}/components/ShuttleInfiniteScrollIndicator.d.ts +1 -0
  139. package/{types → dist/types}/components/ShuttleListItem/ActionButtons.d.ts +0 -0
  140. package/{types → dist/types}/components/ShuttleListItem/ShuttleListItem.d.ts +1 -0
  141. package/{types → dist/types}/components/ShuttleListItem/ShuttleSourceListItem.d.ts +1 -0
  142. package/{types → dist/types}/components/ShuttleListItem/ShuttleTargetListItem.d.ts +1 -0
  143. package/{types → dist/types}/components/ShuttleListPanel.d.ts +1 -0
  144. package/{types → dist/types}/components/ShuttleSearchBox.d.ts +3 -1
  145. package/{types → dist/types}/components/ShuttleSource.d.ts +1 -0
  146. package/{types → dist/types}/components/ShuttleTarget.d.ts +1 -0
  147. package/{types → dist/types}/components/VirtualizedItem.d.ts +1 -0
  148. package/{types → dist/types}/components/VirtualizedList.d.ts +1 -0
  149. package/{types → dist/types}/components/VirtualizedSortableList.d.ts +1 -0
  150. package/{types → dist/types}/helper.d.ts +0 -0
  151. package/dist/types/index.d.ts +1 -0
  152. package/{types → dist/types}/tests/DSShuttle.events.test.d.ts +0 -0
  153. package/{types → dist/types}/tests/DSShuttle.test.d.ts +0 -0
  154. package/{types → dist/types}/tests/utils.d.ts +0 -0
  155. package/dist/types/updateShuttleStateFromProps.d.ts +3 -0
  156. package/{types → dist/types}/utils.d.ts +0 -0
  157. package/{types → dist/types}/withProviders.d.ts +1 -0
  158. package/package.json +97 -89
  159. package/cjs/AnimationState.js +0 -48
  160. package/cjs/DSShuttle.js +0 -223
  161. package/cjs/SearchState.js +0 -41
  162. package/cjs/Shuttle.actions.js +0 -137
  163. package/cjs/ShuttleContainer.js +0 -87
  164. package/cjs/ShuttleImpl.js +0 -311
  165. package/cjs/ShuttleRenderer.js +0 -139
  166. package/cjs/ShuttleState.js +0 -80
  167. package/cjs/animation/animationConfig.js +0 -81
  168. package/cjs/classedComponents.js +0 -71
  169. package/cjs/components/LoadingIndicator.js +0 -25
  170. package/cjs/components/OverflowList.js +0 -53
  171. package/cjs/components/ShuttleBreadcrumb.js +0 -42
  172. package/cjs/components/ShuttleInfiniteScrollIndicator.js +0 -39
  173. package/cjs/components/ShuttleListItem/ActionButtons.js +0 -55
  174. package/cjs/components/ShuttleListItem/ShuttleListItem.js +0 -85
  175. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +0 -76
  176. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +0 -57
  177. package/cjs/components/ShuttleListPanel.js +0 -31
  178. package/cjs/components/ShuttleSearchBox.js +0 -110
  179. package/cjs/components/ShuttleSource.js +0 -188
  180. package/cjs/components/ShuttleTarget.js +0 -116
  181. package/cjs/components/VirtualizedItem.js +0 -46
  182. package/cjs/components/VirtualizedList.js +0 -93
  183. package/cjs/components/VirtualizedSortableList.js +0 -41
  184. package/cjs/helper.js +0 -117
  185. package/cjs/index.js +0 -12
  186. package/cjs/updateShuttleStateFromProps.js +0 -94
  187. package/cjs/utils.js +0 -43
  188. package/cjs/withProviders.js +0 -29
  189. package/esm/DSShuttle.js +0 -213
  190. package/esm/SearchState.js +0 -35
  191. package/esm/Shuttle.actions.js +0 -123
  192. package/esm/ShuttleContainer.js +0 -80
  193. package/esm/ShuttleImpl.js +0 -304
  194. package/esm/ShuttleRenderer.js +0 -132
  195. package/esm/ShuttleState.js +0 -74
  196. package/esm/animation/animationConfig.js +0 -77
  197. package/esm/classedComponents.js +0 -51
  198. package/esm/components/LoadingIndicator.js +0 -18
  199. package/esm/components/OverflowList.js +0 -46
  200. package/esm/components/ShuttleBreadcrumb.js +0 -35
  201. package/esm/components/ShuttleInfiniteScrollIndicator.js +0 -32
  202. package/esm/components/ShuttleListItem/ActionButtons.js +0 -43
  203. package/esm/components/ShuttleListItem/ShuttleListItem.js +0 -76
  204. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +0 -68
  205. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +0 -49
  206. package/esm/components/ShuttleListPanel.js +0 -24
  207. package/esm/components/ShuttleSearchBox.js +0 -104
  208. package/esm/components/ShuttleSource.js +0 -179
  209. package/esm/components/ShuttleTarget.js +0 -107
  210. package/esm/components/VirtualizedItem.js +0 -40
  211. package/esm/components/VirtualizedList.js +0 -84
  212. package/esm/components/VirtualizedSortableList.js +0 -34
  213. package/esm/helper.js +0 -78
  214. package/esm/index.js +0 -2
  215. package/esm/updateShuttleStateFromProps.js +0 -88
  216. package/esm/utils.js +0 -18
  217. package/esm/withProviders.js +0 -22
  218. package/types/ShuttleImpl.d.ts +0 -3
  219. package/types/index.d.ts +0 -1
  220. package/types/updateShuttleStateFromProps.d.ts +0 -1
@@ -1,57 +0,0 @@
1
- 'use strict';
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');
8
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
9
- var _jsx = require('@babel/runtime/helpers/jsx');
10
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
11
- var react = require('react');
12
- var ActionButtons = require('./ActionButtons.js');
13
- var ShuttleListItem = require('./ShuttleListItem.js');
14
- var jsxRuntime = require('react/jsx-runtime');
15
-
16
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
-
18
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
19
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
20
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
21
-
22
- const _excluded = ["item", "onMoveToSource", "onNavigateOnTargetTo", "isRoot", "showDeleteButton", "showDrillDownButton", "showActions", "index"];
23
-
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
-
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
-
28
- function ShuttleTargetListItem(_ref) {
29
- let {
30
- item = {},
31
- onMoveToSource = () => null,
32
- onNavigateOnTargetTo = () => null,
33
- isRoot = false,
34
- showDeleteButton = true,
35
- showDrillDownButton = true,
36
- showActions = true,
37
- index
38
- } = _ref,
39
- rest = _objectWithoutProperties__default["default"](_ref, _excluded);
40
-
41
- const moveToSource = react.useCallback(() => onMoveToSource(item), [item]);
42
- const navigateOnTargetTo = react.useCallback(() => onNavigateOnTargetTo(item), [item]);
43
- return /*#__PURE__*/jsxRuntime.jsx(ShuttleListItem, _objectSpread(_objectSpread({}, rest), {}, {
44
- actions: [showDrillDownButton && /*#__PURE__*/_jsx__default["default"](ActionButtons.DrillDownButton, {
45
- disabled: !item.hasChildren && !item.asyncLoad || item.readOnly || item.disableDrillDown,
46
- onClick: navigateOnTargetTo
47
- }, "drill-down"), showDeleteButton && isRoot && /*#__PURE__*/_jsx__default["default"](ActionButtons.DeleteButton, {
48
- disabled: item.readOnly,
49
- onClick: moveToSource,
50
- "data-testid": "ds-shuttle__close-button"
51
- }, "delete")],
52
- item: item,
53
- showActions: showActions
54
- }));
55
- }
56
-
57
- module.exports = ShuttleTargetListItem;
@@ -1,31 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- require('react');
5
- var DSButton = require('@elliemae/ds-button');
6
- var classedComponents = require('../classedComponents.js');
7
-
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
-
10
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
11
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
12
-
13
- function ShuttleListPanel(_ref) {
14
- let {
15
- onClick = () => null,
16
- open = false,
17
- children
18
- } = _ref;
19
- return /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleListPanel, {
20
- classProps: {
21
- open
22
- }
23
- }, void 0, /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
24
- buttonType: "text",
25
- icon: children,
26
- onClick: onClick,
27
- "data-testid": "list-panel-btn"
28
- }));
29
- }
30
-
31
- module.exports = ShuttleListPanel;
@@ -1,110 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- var react = require('react');
5
- var dsClassnames = require('@elliemae/ds-classnames');
6
- var dsUtilities = require('@elliemae/ds-utilities');
7
- var dsForm = require('@elliemae/ds-form');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
12
-
13
- const blockName = 'shuttle-search-box';
14
- const SearchBoxContainer = dsClassnames.aggregatedClasses('div')(blockName, null, _ref => {
15
- let {
16
- isOpen
17
- } = _ref;
18
- return {
19
- opened: isOpen
20
- };
21
- });
22
- const filterList = dsUtilities.debounce((term, onFilterCallback) => {
23
- onFilterCallback(term);
24
- }, 200);
25
- class ShuttleSearchBox extends react.Component {
26
- constructor(props) {
27
- super(props);
28
- this.state = {
29
- value: props.value,
30
- prevProps: {}
31
- };
32
- this.handleChange = this.handleChange.bind(this);
33
- this.handleKeyPress = this.handleKeyPress.bind(this);
34
- }
35
-
36
- static getDerivedStateFromProps(nextProps, _ref2) {
37
- let {
38
- prevProps
39
- } = _ref2;
40
- const {
41
- value
42
- } = nextProps;
43
-
44
- if (value !== prevProps.value) {
45
- return {
46
- value,
47
- prevProps: {
48
- value
49
- }
50
- };
51
- }
52
-
53
- return null;
54
- }
55
-
56
- handleChange(e) {
57
- const {
58
- onChange,
59
- filterOnKeyStroke,
60
- onFilter
61
- } = this.props;
62
- const {
63
- value
64
- } = e.target;
65
- onChange(value);
66
- if (filterOnKeyStroke) filterList(value, onFilter);
67
- this.setState({
68
- value
69
- });
70
- }
71
-
72
- handleKeyPress(e) {
73
- const {
74
- onFilter
75
- } = this.props;
76
- if (e.keyCode === 13) onFilter(e.target.value);
77
- }
78
-
79
- render() {
80
- const {
81
- value
82
- } = this.state;
83
- const {
84
- isOpen,
85
- onClose,
86
- placeholder
87
- } = this.props;
88
- return /*#__PURE__*/_jsx__default["default"](SearchBoxContainer, {
89
- classProps: {
90
- isOpen
91
- }
92
- }, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSTextBox, {
93
- autoFocus: true,
94
- clearable: true,
95
- onChange: this.handleChange,
96
- onClear: onClose,
97
- onKeyDown: this.handleKeyPress,
98
- placeholder: placeholder,
99
- value: value
100
- }));
101
- }
102
-
103
- }
104
- ShuttleSearchBox.defaultProps = {
105
- filterOnKeyStroke: false,
106
- onChange: () => null,
107
- onFilter: () => null
108
- };
109
-
110
- module.exports = ShuttleSearchBox;
@@ -1,188 +0,0 @@
1
- 'use strict';
2
-
3
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
4
- var _jsx = require('@babel/runtime/helpers/jsx');
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');
13
- var react = require('react');
14
- var dsIcons = require('@elliemae/ds-icons');
15
- var DSButton = require('@elliemae/ds-button');
16
- var dsUtilities = require('@elliemae/ds-utilities');
17
- var ShuttleSearchBox = require('./ShuttleSearchBox.js');
18
- var ShuttleInfiniteScrollIndicator = require('./ShuttleInfiniteScrollIndicator.js');
19
- var ShuttleSourceListItem = require('./ShuttleListItem/ShuttleSourceListItem.js');
20
- var classedComponents = require('../classedComponents.js');
21
- var ShuttleListPanel = require('./ShuttleListPanel.js');
22
- var VirtualizedList = require('./VirtualizedList.js');
23
- var helper = require('../helper.js');
24
- var AnimationState = require('../AnimationState.js');
25
- var SearchState = require('../SearchState.js');
26
- var VirtualizedSortableList = require('./VirtualizedSortableList.js');
27
- var LoadingIndicator = require('./LoadingIndicator.js');
28
- var jsxRuntime = require('react/jsx-runtime');
29
-
30
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
31
-
32
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
33
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
34
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
35
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
36
-
37
- const _excluded = ["item"];
38
-
39
- var _Search, _LoadingList, _ArrowShortRight, _ShuttleInfiniteScrol;
40
-
41
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
42
-
43
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
44
-
45
- const noop = () => {};
46
-
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;
73
- const {
74
- state: {
75
- isMovingBack = false,
76
- isMoving
77
- }
78
- } = react.useContext(AnimationState.Context);
79
- const {
80
- state: {
81
- searching,
82
- searchTerm
83
- },
84
- setSearchTerm,
85
- reset: resetSearch,
86
- toggleSearchBox
87
- } = react.useContext(SearchState.Context);
88
- const hashedCheckedItems = react.useMemo(() => checkedItems.reduce((result, item) => _objectSpread(_objectSpread({}, result), {}, {
89
- [item]: true
90
- }), {}), [checkedItems]);
91
- const handleCloseSearch = react.useCallback(() => {
92
- setSearchTerm('');
93
- dsUtilities.runAll(resetSearch, onSearchClose)();
94
- }, [searching]);
95
- const handleToggleSearch = react.useCallback(() => {
96
- toggleSearchBox(!searching);
97
-
98
- if (searching) {
99
- handleCloseSearch();
100
- } else {
101
- onSearchOpen();
102
- }
103
- }, [searching]);
104
- const ComponentList = react.useMemo(() => sourceSortable ? VirtualizedSortableList : VirtualizedList, [sourceSortable]);
105
-
106
- const handleSortEnd = _ref2 => {
107
- let {
108
- oldIndex,
109
- newIndex
110
- } = _ref2;
111
- onSortEnd({
112
- sourceItem: items[oldIndex],
113
- targetItem: items[newIndex]
114
- });
115
- };
116
-
117
- const isEmpty = !items.length;
118
- const hasContent = !loading && !isEmpty;
119
- const contentIsEmpty = !loading && isEmpty;
120
- return /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleHeader, {}, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleHeaderBreadcrumb, {
121
- hierarchy: hierarchy,
122
- onNavigateTo: onNavigateTo
123
- }), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleHeaderSearchToggle, {
124
- buttonType: "text",
125
- icon: _Search || (_Search = /*#__PURE__*/_jsx__default["default"](dsIcons.Search, {})),
126
- onClick: handleToggleSearch,
127
- containerProps: {
128
- 'data-testid': 'shuttle-header-search-toggle'
129
- }
130
- })), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleList, {
131
- classProps: {
132
- showPulse: isMovingBack
133
- },
134
- style: {
135
- pointerEvents: isMoving ? 'none' : null
136
- }
137
- }, void 0, /*#__PURE__*/_jsx__default["default"](ShuttleSearchBox, {
138
- isOpen: searching,
139
- onClose: dsUtilities.runAll(() => toggleSearchBox(false), handleCloseSearch),
140
- onFilter: dsUtilities.runAll(setSearchTerm, onSearch),
141
- placeholder: searchPlaceholder,
142
- value: searchTerm
143
- }, searching), hasContent ? /*#__PURE__*/_jsx__default["default"](classedComponents.Overflow, {
144
- activeHierarchy: helper.getActiveIdFromHierarchy(hierarchy).id,
145
- classProps: {
146
- searching,
147
- empty: isEmpty
148
- }
149
- }, void 0, /*#__PURE__*/_jsx__default["default"](ComponentList, {
150
- helperClass: "drag-helper",
151
- itemRenderer: _ref3 => {
152
- let {
153
- item
154
- } = _ref3,
155
- rest = _objectWithoutProperties__default["default"](_ref3, _excluded);
156
-
157
- return /*#__PURE__*/jsxRuntime.jsx(ShuttleSourceListItem, _objectSpread(_objectSpread(_objectSpread({
158
- "data-testid": "source-list-item"
159
- }, rest), composeSourceItemProps(item, rest)), {}, {
160
- isChecked: !!hashedCheckedItems[item.id],
161
- item: item,
162
- onItemCheck: onCheckItem,
163
- onMoveToTarget: onMoveItem,
164
- onNavigateOnSourceTo: onNavigateTo,
165
- showSortHandler: sourceSortable
166
- }));
167
- },
168
- items: items,
169
- onSortEnd: handleSortEnd,
170
- getMoreItems: onGetMoreItems,
171
- hasNextPage: hasNextPage
172
- }, searchTerm)) : null, contentIsEmpty ? /*#__PURE__*/_jsx__default["default"](classedComponents.LoadingList, {
173
- "data-testid": "shuttle__loading-list"
174
- }, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.EmptyMessage, {}, void 0, emptyMessage)) : null, loading ? _LoadingList || (_LoadingList = /*#__PURE__*/_jsx__default["default"](classedComponents.LoadingList, {
175
- "data-testid": "shuttle__loading-list"
176
- }, void 0, /*#__PURE__*/_jsx__default["default"](LoadingIndicator, {}))) : null, /*#__PURE__*/_jsx__default["default"](ShuttleListPanel, {
177
- onClick: onMoveCheckedItems,
178
- open: checkedItems.length > 1
179
- }, void 0, _ArrowShortRight || (_ArrowShortRight = /*#__PURE__*/_jsx__default["default"](dsIcons.ArrowShortRight, {}))), moreItemsLoading ? _ShuttleInfiniteScrol || (_ShuttleInfiniteScrol = /*#__PURE__*/_jsx__default["default"](ShuttleInfiniteScrollIndicator, {
180
- isOpen: true
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"], {
182
- buttonType: "link",
183
- labelText: sourceClearItemsText,
184
- onClick: onClearCheckedItems
185
- })), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleFooterCounter, {}, void 0, renderSourceCounter(checkedItems.length))));
186
- }
187
-
188
- module.exports = ShuttleSource;
@@ -1,116 +0,0 @@
1
- 'use strict';
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');
8
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
9
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
10
- var _jsx = require('@babel/runtime/helpers/jsx');
11
- var react = require('react');
12
- var DSButton = require('@elliemae/ds-button');
13
- var classedComponents = require('../classedComponents.js');
14
- var helper = require('../helper.js');
15
- var AnimationState = require('../AnimationState.js');
16
- var VirtualizedList = require('./VirtualizedList.js');
17
- var ShuttleTargetListItem = require('./ShuttleListItem/ShuttleTargetListItem.js');
18
- var VirtualizedSortableList = require('./VirtualizedSortableList.js');
19
- var LoadingIndicator = require('./LoadingIndicator.js');
20
- var jsxRuntime = require('react/jsx-runtime');
21
-
22
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
-
24
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
25
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
26
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
27
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
28
-
29
- const _excluded = ["item"];
30
-
31
- var _LoadingIndicator;
32
-
33
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
-
35
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
36
-
37
- const noop = () => {};
38
-
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;
54
- const {
55
- state: {
56
- isMoving = false
57
- }
58
- } = react.useContext(AnimationState.Context);
59
- const isEmpty = !items.length;
60
- const emptyContent = loading ? _LoadingIndicator || (_LoadingIndicator = /*#__PURE__*/_jsx__default["default"](LoadingIndicator, {})) : /*#__PURE__*/_jsx__default["default"](classedComponents.EmptyMessage, {}, void 0, emptyMessage);
61
- const ComponentList = targetSortable ? VirtualizedSortableList : VirtualizedList;
62
-
63
- const handleSortEnd = _ref2 => {
64
- let {
65
- oldIndex,
66
- newIndex
67
- } = _ref2;
68
- onSortEnd({
69
- sourceItem: items[oldIndex],
70
- targetItem: items[newIndex]
71
- });
72
- };
73
-
74
- return /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleHeader, {}, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleHeaderBreadcrumb, {
75
- hierarchy: hierarchy,
76
- onNavigateTo: onNavigateTo
77
- })), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleList, {
78
- classProps: {
79
- showPulse: isMoving
80
- }
81
- }, void 0, !loading && !isEmpty ? /*#__PURE__*/_jsx__default["default"](classedComponents.Overflow, {
82
- activeHierarchy: helper.getActiveIdFromHierarchy(hierarchy).id,
83
- classProps: {
84
- empty: !items.length
85
- }
86
- }, void 0, /*#__PURE__*/_jsx__default["default"](ComponentList, {
87
- itemRenderer: _ref3 => {
88
- let {
89
- item
90
- } = _ref3,
91
- rest = _objectWithoutProperties__default["default"](_ref3, _excluded);
92
-
93
- return /*#__PURE__*/jsxRuntime.jsx(ShuttleTargetListItem, _objectSpread(_objectSpread(_objectSpread({
94
- "data-testid": "target-list-item"
95
- }, rest), composeTargetItemProps(item, rest)), {}, {
96
- isRoot: !helper.getActiveIdFromHierarchy(hierarchy).id,
97
- item: item,
98
- onMoveToSource: onMoveItem,
99
- onNavigateOnTargetTo: onNavigateTo,
100
- showSortHandler: targetSortable
101
- }));
102
- },
103
- items: items,
104
- onSortEnd: handleSortEnd,
105
- target: true
106
- })) : /*#__PURE__*/_jsx__default["default"](classedComponents.LoadingList, {}, void 0, emptyContent)), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleFooter, {}, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleFooterActions, {}, void 0, !!items.length && /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
107
- containerProps: {
108
- 'data-testid': 'shuttle-clear-all-target'
109
- },
110
- buttonType: "link",
111
- labelText: targetClearItemsText,
112
- onClick: onClearMovedItems
113
- })), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleFooterCounter, {}, void 0, renderTargetCounter(items.length))));
114
- }
115
-
116
- module.exports = ShuttleTarget;
@@ -1,46 +0,0 @@
1
- 'use strict';
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');
8
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
9
- var react = require('react');
10
- var reactWindow = require('react-window');
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
15
-
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
- const VirtualizedItem = /*#__PURE__*/react.memo(_ref => {
20
- let {
21
- data,
22
- index,
23
- style: virtualizedStyles,
24
- showSortHandler = false
25
- } = _ref;
26
- const {
27
- items,
28
- itemRenderer,
29
- isItemMoving
30
- } = data;
31
- const {
32
- item,
33
- props: animatedStyles,
34
- key
35
- } = items[index] || {};
36
- if (!item) return null;
37
- return itemRenderer({
38
- index,
39
- key,
40
- item,
41
- showSortHandler,
42
- style: isItemMoving ? _objectSpread(_objectSpread({}, animatedStyles), virtualizedStyles) : virtualizedStyles
43
- });
44
- }, reactWindow.areEqual);
45
-
46
- module.exports = VirtualizedItem;
@@ -1,93 +0,0 @@
1
- 'use strict';
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');
8
- var _jsx = require('@babel/runtime/helpers/jsx');
9
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
10
- var react = require('react');
11
- var web = require('react-spring/web');
12
- var reactWindow = require('react-window');
13
- var InfiniteLoader = require('react-window-infinite-loader');
14
- var AutoSizer = require('react-virtualized-auto-sizer');
15
- var animationConfig = require('../animation/animationConfig.js');
16
- var AnimationState = require('../AnimationState.js');
17
- var VirtualizedItem = require('./VirtualizedItem.js');
18
- var jsxRuntime = require('react/jsx-runtime');
19
-
20
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
-
22
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
23
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
- var InfiniteLoader__default = /*#__PURE__*/_interopDefaultLegacy(InfiniteLoader);
25
- var AutoSizer__default = /*#__PURE__*/_interopDefaultLegacy(AutoSizer);
26
-
27
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
-
29
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
-
31
- function VirtualizedList(_ref) {
32
- let {
33
- items,
34
- itemRenderer,
35
- searching,
36
- target = false,
37
- innerRef,
38
- children,
39
- hasNextPage = true,
40
- getMoreItems = () => {}
41
- } = _ref;
42
- const hasMounted = react.useRef(false);
43
- const {
44
- state: {
45
- isMoving,
46
- isMovingBack
47
- },
48
- reset
49
- } = react.useContext(AnimationState.Context);
50
- react.useEffect(() => {
51
- hasMounted.current = true;
52
- }, []);
53
- const transitions = web.useTransition(items, item => item.id, _objectSpread(_objectSpread({}, animationConfig.animationConfig.moveItem(target)), {}, {
54
- onDestroyed: () => reset()
55
- }));
56
- const itemCount = hasNextPage ? items.length + 1 : items.length;
57
-
58
- const isItemLoaded = index => !hasNextPage || index < items.length;
59
-
60
- return /*#__PURE__*/_jsx__default["default"](AutoSizer__default["default"], {}, void 0, _ref2 => {
61
- let {
62
- height,
63
- width
64
- } = _ref2;
65
- return /*#__PURE__*/_jsx__default["default"](InfiniteLoader__default["default"], {
66
- isItemLoaded: isItemLoaded,
67
- itemCount: itemCount,
68
- loadMoreItems: getMoreItems
69
- }, void 0, _ref3 => {
70
- let {
71
- onItemsRendered,
72
- ref
73
- } = _ref3;
74
- return /*#__PURE__*/jsxRuntime.jsx(reactWindow.FixedSizeList, {
75
- height: searching ? 300 : height,
76
- width: width,
77
- innerRef: innerRef,
78
- itemCount: transitions.length,
79
- itemData: {
80
- items: transitions,
81
- itemRenderer,
82
- isItemMoving: hasMounted.current && (isMoving || isMovingBack)
83
- },
84
- itemSize: 35,
85
- onItemsRendered: onItemsRendered,
86
- ref: ref,
87
- children: children || VirtualizedItem
88
- });
89
- });
90
- });
91
- }
92
-
93
- module.exports = VirtualizedList;