@elliemae/ds-shuttle 3.0.0-next.1 → 3.0.0-next.10

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 (217) 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 +136 -0
  8. package/dist/cjs/Shuttle.actions.js.map +7 -0
  9. package/dist/cjs/ShuttleContainer.js +108 -0
  10. package/dist/cjs/ShuttleContainer.js.map +7 -0
  11. package/dist/cjs/ShuttleImpl.js +242 -0
  12. package/dist/cjs/ShuttleImpl.js.map +7 -0
  13. package/dist/cjs/ShuttleRenderer.js +203 -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 +71 -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 +76 -0
  30. package/dist/cjs/components/ShuttleListItem/ActionButtons.js.map +7 -0
  31. package/dist/cjs/components/ShuttleListItem/ShuttleListItem.js +121 -0
  32. package/dist/cjs/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  33. package/dist/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +127 -0
  34. package/dist/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  35. package/dist/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +110 -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 +223 -0
  42. package/dist/cjs/components/ShuttleSource.js.map +7 -0
  43. package/dist/cjs/components/ShuttleTarget.js +135 -0
  44. package/dist/cjs/components/ShuttleTarget.js.map +7 -0
  45. package/dist/cjs/components/VirtualizedItem.js +65 -0
  46. package/dist/cjs/components/VirtualizedItem.js.map +7 -0
  47. package/dist/cjs/components/VirtualizedList.js +104 -0
  48. package/dist/cjs/components/VirtualizedList.js.map +7 -0
  49. package/dist/cjs/components/VirtualizedSortableList.js +77 -0
  50. package/dist/cjs/components/VirtualizedSortableList.js.map +7 -0
  51. package/dist/cjs/helper.js +99 -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 +1235 -0
  56. package/dist/cjs/tests/utils.js.map +7 -0
  57. package/dist/cjs/updateShuttleStateFromProps.js +108 -0
  58. package/dist/cjs/updateShuttleStateFromProps.js.map +7 -0
  59. package/dist/cjs/utils.js +54 -0
  60. package/dist/cjs/utils.js.map +7 -0
  61. package/dist/cjs/withProviders.js +57 -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 +118 -0
  70. package/dist/esm/Shuttle.actions.js.map +7 -0
  71. package/dist/esm/ShuttleContainer.js +92 -0
  72. package/dist/esm/ShuttleContainer.js.map +7 -0
  73. package/dist/esm/ShuttleImpl.js +229 -0
  74. package/dist/esm/ShuttleImpl.js.map +7 -0
  75. package/dist/esm/ShuttleRenderer.js +176 -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 +44 -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 +49 -0
  92. package/dist/esm/components/ShuttleListItem/ActionButtons.js.map +7 -0
  93. package/dist/esm/components/ShuttleListItem/ShuttleListItem.js +94 -0
  94. package/dist/esm/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  95. package/dist/esm/components/ShuttleListItem/ShuttleSourceListItem.js +100 -0
  96. package/dist/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  97. package/dist/esm/components/ShuttleListItem/ShuttleTargetListItem.js +83 -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 +208 -0
  104. package/dist/esm/components/ShuttleSource.js.map +7 -0
  105. package/dist/esm/components/ShuttleTarget.js +119 -0
  106. package/dist/esm/components/ShuttleTarget.js.map +7 -0
  107. package/dist/esm/components/VirtualizedItem.js +38 -0
  108. package/dist/esm/components/VirtualizedItem.js.map +7 -0
  109. package/dist/esm/components/VirtualizedList.js +77 -0
  110. package/dist/esm/components/VirtualizedList.js.map +7 -0
  111. package/dist/esm/components/VirtualizedSortableList.js +50 -0
  112. package/dist/esm/components/VirtualizedSortableList.js.map +7 -0
  113. package/dist/esm/helper.js +72 -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 +1208 -0
  118. package/dist/esm/tests/utils.js.map +7 -0
  119. package/dist/esm/updateShuttleStateFromProps.js +81 -0
  120. package/dist/esm/updateShuttleStateFromProps.js.map +7 -0
  121. package/dist/esm/utils.js +27 -0
  122. package/dist/esm/utils.js.map +7 -0
  123. package/dist/esm/withProviders.js +30 -0
  124. package/dist/esm/withProviders.js.map +7 -0
  125. package/package.json +99 -90
  126. package/cjs/AnimationState.js +0 -48
  127. package/cjs/DSShuttle.js +0 -223
  128. package/cjs/SearchState.js +0 -41
  129. package/cjs/Shuttle.actions.js +0 -137
  130. package/cjs/ShuttleContainer.js +0 -87
  131. package/cjs/ShuttleImpl.js +0 -311
  132. package/cjs/ShuttleRenderer.js +0 -139
  133. package/cjs/ShuttleState.js +0 -80
  134. package/cjs/animation/animationConfig.js +0 -81
  135. package/cjs/classedComponents.js +0 -71
  136. package/cjs/components/LoadingIndicator.js +0 -25
  137. package/cjs/components/OverflowList.js +0 -53
  138. package/cjs/components/ShuttleBreadcrumb.js +0 -42
  139. package/cjs/components/ShuttleInfiniteScrollIndicator.js +0 -39
  140. package/cjs/components/ShuttleListItem/ActionButtons.js +0 -55
  141. package/cjs/components/ShuttleListItem/ShuttleListItem.js +0 -85
  142. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +0 -76
  143. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +0 -57
  144. package/cjs/components/ShuttleListPanel.js +0 -31
  145. package/cjs/components/ShuttleSearchBox.js +0 -110
  146. package/cjs/components/ShuttleSource.js +0 -188
  147. package/cjs/components/ShuttleTarget.js +0 -116
  148. package/cjs/components/VirtualizedItem.js +0 -46
  149. package/cjs/components/VirtualizedList.js +0 -93
  150. package/cjs/components/VirtualizedSortableList.js +0 -41
  151. package/cjs/helper.js +0 -117
  152. package/cjs/index.js +0 -12
  153. package/cjs/updateShuttleStateFromProps.js +0 -94
  154. package/cjs/utils.js +0 -43
  155. package/cjs/withProviders.js +0 -29
  156. package/esm/DSShuttle.js +0 -213
  157. package/esm/SearchState.js +0 -35
  158. package/esm/Shuttle.actions.js +0 -123
  159. package/esm/ShuttleContainer.js +0 -80
  160. package/esm/ShuttleImpl.js +0 -304
  161. package/esm/ShuttleRenderer.js +0 -132
  162. package/esm/ShuttleState.js +0 -74
  163. package/esm/animation/animationConfig.js +0 -77
  164. package/esm/classedComponents.js +0 -51
  165. package/esm/components/LoadingIndicator.js +0 -18
  166. package/esm/components/OverflowList.js +0 -46
  167. package/esm/components/ShuttleBreadcrumb.js +0 -35
  168. package/esm/components/ShuttleInfiniteScrollIndicator.js +0 -32
  169. package/esm/components/ShuttleListItem/ActionButtons.js +0 -43
  170. package/esm/components/ShuttleListItem/ShuttleListItem.js +0 -76
  171. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +0 -68
  172. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +0 -49
  173. package/esm/components/ShuttleListPanel.js +0 -24
  174. package/esm/components/ShuttleSearchBox.js +0 -104
  175. package/esm/components/ShuttleSource.js +0 -179
  176. package/esm/components/ShuttleTarget.js +0 -107
  177. package/esm/components/VirtualizedItem.js +0 -40
  178. package/esm/components/VirtualizedList.js +0 -84
  179. package/esm/components/VirtualizedSortableList.js +0 -34
  180. package/esm/helper.js +0 -78
  181. package/esm/index.js +0 -2
  182. package/esm/updateShuttleStateFromProps.js +0 -88
  183. package/esm/utils.js +0 -18
  184. package/esm/withProviders.js +0 -22
  185. package/types/AnimationState.d.ts +0 -26
  186. package/types/DSShuttle.d.ts +0 -341
  187. package/types/SearchState.d.ts +0 -22
  188. package/types/Shuttle.actions.d.ts +0 -11
  189. package/types/ShuttleContainer.d.ts +0 -3
  190. package/types/ShuttleImpl.d.ts +0 -3
  191. package/types/ShuttleRenderer.d.ts +0 -37
  192. package/types/ShuttleState.d.ts +0 -53
  193. package/types/animation/animationConfig.d.ts +0 -68
  194. package/types/classedComponents.d.ts +0 -14
  195. package/types/components/LoadingIndicator.d.ts +0 -3
  196. package/types/components/OverflowList.d.ts +0 -7
  197. package/types/components/ShuttleBreadcrumb.d.ts +0 -7
  198. package/types/components/ShuttleInfiniteScrollIndicator.d.ts +0 -5
  199. package/types/components/ShuttleListItem/ActionButtons.d.ts +0 -4
  200. package/types/components/ShuttleListItem/ShuttleListItem.d.ts +0 -14
  201. package/types/components/ShuttleListItem/ShuttleSourceListItem.d.ts +0 -13
  202. package/types/components/ShuttleListItem/ShuttleTargetListItem.d.ts +0 -13
  203. package/types/components/ShuttleListPanel.d.ts +0 -7
  204. package/types/components/ShuttleSearchBox.d.ts +0 -20
  205. package/types/components/ShuttleSource.d.ts +0 -54
  206. package/types/components/ShuttleTarget.d.ts +0 -16
  207. package/types/components/VirtualizedItem.d.ts +0 -3
  208. package/types/components/VirtualizedList.d.ts +0 -12
  209. package/types/components/VirtualizedSortableList.d.ts +0 -6
  210. package/types/helper.d.ts +0 -16
  211. package/types/index.d.ts +0 -1
  212. package/types/tests/DSShuttle.events.test.d.ts +0 -1
  213. package/types/tests/DSShuttle.test.d.ts +0 -1
  214. package/types/tests/utils.d.ts +0 -116
  215. package/types/updateShuttleStateFromProps.d.ts +0 -1
  216. package/types/utils.d.ts +0 -2
  217. package/types/withProviders.d.ts +0 -3
@@ -1,107 +0,0 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.filter.js';
4
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
8
- import _jsx from '@babel/runtime/helpers/esm/jsx';
9
- import { useContext } from 'react';
10
- import DSButton from '@elliemae/ds-button';
11
- import { ShuttleWrapper, ShuttleHeader, ShuttleHeaderBreadcrumb, ShuttleList, Overflow, LoadingList, ShuttleFooter, ShuttleFooterActions, ShuttleFooterCounter, EmptyMessage } from '../classedComponents.js';
12
- import { getActiveIdFromHierarchy } from '../helper.js';
13
- import AnimationContext from '../AnimationState.js';
14
- import VirtualizedList from './VirtualizedList.js';
15
- import ShuttleTargetListItem from './ShuttleListItem/ShuttleTargetListItem.js';
16
- import VirtualizedSortableList from './VirtualizedSortableList.js';
17
- import LoadingIndicator from './LoadingIndicator.js';
18
- import { jsx } from 'react/jsx-runtime';
19
-
20
- const _excluded = ["item"];
21
-
22
- var _LoadingIndicator;
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(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
- const noop = () => {};
29
-
30
- function ShuttleTarget(_ref) {
31
- let {
32
- items = [],
33
- hierarchy = [],
34
- onNavigateTo = noop,
35
- onMoveItem = noop,
36
- onClearMovedItems = noop,
37
- emptyMessage = 'No items selected',
38
- composeTargetItemProps = () => ({}),
39
- targetSortable = false,
40
- onSortEnd = noop,
41
- targetClearItemsText = 'CLEAR ALL',
42
- renderTargetCounter = amount => "".concat(amount, " items"),
43
- loading = false
44
- } = _ref;
45
- const {
46
- state: {
47
- isMoving = false
48
- }
49
- } = useContext(AnimationContext.Context);
50
- const isEmpty = !items.length;
51
- const emptyContent = loading ? _LoadingIndicator || (_LoadingIndicator = /*#__PURE__*/_jsx(LoadingIndicator, {})) : /*#__PURE__*/_jsx(EmptyMessage, {}, void 0, emptyMessage);
52
- const ComponentList = targetSortable ? VirtualizedSortableList : VirtualizedList;
53
-
54
- const handleSortEnd = _ref2 => {
55
- let {
56
- oldIndex,
57
- newIndex
58
- } = _ref2;
59
- onSortEnd({
60
- sourceItem: items[oldIndex],
61
- targetItem: items[newIndex]
62
- });
63
- };
64
-
65
- return /*#__PURE__*/_jsx(ShuttleWrapper, {}, void 0, /*#__PURE__*/_jsx(ShuttleHeader, {}, void 0, /*#__PURE__*/_jsx(ShuttleHeaderBreadcrumb, {
66
- hierarchy: hierarchy,
67
- onNavigateTo: onNavigateTo
68
- })), /*#__PURE__*/_jsx(ShuttleList, {
69
- classProps: {
70
- showPulse: isMoving
71
- }
72
- }, void 0, !loading && !isEmpty ? /*#__PURE__*/_jsx(Overflow, {
73
- activeHierarchy: getActiveIdFromHierarchy(hierarchy).id,
74
- classProps: {
75
- empty: !items.length
76
- }
77
- }, void 0, /*#__PURE__*/_jsx(ComponentList, {
78
- itemRenderer: _ref3 => {
79
- let {
80
- item
81
- } = _ref3,
82
- rest = _objectWithoutProperties(_ref3, _excluded);
83
-
84
- return /*#__PURE__*/jsx(ShuttleTargetListItem, _objectSpread(_objectSpread(_objectSpread({
85
- "data-testid": "target-list-item"
86
- }, rest), composeTargetItemProps(item, rest)), {}, {
87
- isRoot: !getActiveIdFromHierarchy(hierarchy).id,
88
- item: item,
89
- onMoveToSource: onMoveItem,
90
- onNavigateOnTargetTo: onNavigateTo,
91
- showSortHandler: targetSortable
92
- }));
93
- },
94
- items: items,
95
- onSortEnd: handleSortEnd,
96
- target: true
97
- })) : /*#__PURE__*/_jsx(LoadingList, {}, void 0, emptyContent)), /*#__PURE__*/_jsx(ShuttleFooter, {}, void 0, /*#__PURE__*/_jsx(ShuttleFooterActions, {}, void 0, !!items.length && /*#__PURE__*/_jsx(DSButton, {
98
- containerProps: {
99
- 'data-testid': 'shuttle-clear-all-target'
100
- },
101
- buttonType: "link",
102
- labelText: targetClearItemsText,
103
- onClick: onClearMovedItems
104
- })), /*#__PURE__*/_jsx(ShuttleFooterCounter, {}, void 0, renderTargetCounter(items.length))));
105
- }
106
-
107
- export { ShuttleTarget as default };
@@ -1,40 +0,0 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.filter.js';
4
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import { memo } from 'react';
8
- import { areEqual } from 'react-window';
9
-
10
- 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; }
11
-
12
- 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(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; }
13
- const VirtualizedItem = /*#__PURE__*/memo(_ref => {
14
- let {
15
- data,
16
- index,
17
- style: virtualizedStyles,
18
- showSortHandler = false
19
- } = _ref;
20
- const {
21
- items,
22
- itemRenderer,
23
- isItemMoving
24
- } = data;
25
- const {
26
- item,
27
- props: animatedStyles,
28
- key
29
- } = items[index] || {};
30
- if (!item) return null;
31
- return itemRenderer({
32
- index,
33
- key,
34
- item,
35
- showSortHandler,
36
- style: isItemMoving ? _objectSpread(_objectSpread({}, animatedStyles), virtualizedStyles) : virtualizedStyles
37
- });
38
- }, areEqual);
39
-
40
- export { VirtualizedItem as default };
@@ -1,84 +0,0 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.filter.js';
4
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _jsx from '@babel/runtime/helpers/esm/jsx';
7
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
8
- import { useRef, useContext, useEffect } from 'react';
9
- import { useTransition } from 'react-spring/web';
10
- import { FixedSizeList } from 'react-window';
11
- import InfiniteLoader from 'react-window-infinite-loader';
12
- import AutoSizer from 'react-virtualized-auto-sizer';
13
- import { animationConfig } from '../animation/animationConfig.js';
14
- import AnimationContext from '../AnimationState.js';
15
- import VirtualizedItem from './VirtualizedItem.js';
16
- import { jsx } from 'react/jsx-runtime';
17
-
18
- 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; }
19
-
20
- 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(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; }
21
-
22
- function VirtualizedList(_ref) {
23
- let {
24
- items,
25
- itemRenderer,
26
- searching,
27
- target = false,
28
- innerRef,
29
- children,
30
- hasNextPage = true,
31
- getMoreItems = () => {}
32
- } = _ref;
33
- const hasMounted = useRef(false);
34
- const {
35
- state: {
36
- isMoving,
37
- isMovingBack
38
- },
39
- reset
40
- } = useContext(AnimationContext.Context);
41
- useEffect(() => {
42
- hasMounted.current = true;
43
- }, []);
44
- const transitions = useTransition(items, item => item.id, _objectSpread(_objectSpread({}, animationConfig.moveItem(target)), {}, {
45
- onDestroyed: () => reset()
46
- }));
47
- const itemCount = hasNextPage ? items.length + 1 : items.length;
48
-
49
- const isItemLoaded = index => !hasNextPage || index < items.length;
50
-
51
- return /*#__PURE__*/_jsx(AutoSizer, {}, void 0, _ref2 => {
52
- let {
53
- height,
54
- width
55
- } = _ref2;
56
- return /*#__PURE__*/_jsx(InfiniteLoader, {
57
- isItemLoaded: isItemLoaded,
58
- itemCount: itemCount,
59
- loadMoreItems: getMoreItems
60
- }, void 0, _ref3 => {
61
- let {
62
- onItemsRendered,
63
- ref
64
- } = _ref3;
65
- return /*#__PURE__*/jsx(FixedSizeList, {
66
- height: searching ? 300 : height,
67
- width: width,
68
- innerRef: innerRef,
69
- itemCount: transitions.length,
70
- itemData: {
71
- items: transitions,
72
- itemRenderer,
73
- isItemMoving: hasMounted.current && (isMoving || isMovingBack)
74
- },
75
- itemSize: 35,
76
- onItemsRendered: onItemsRendered,
77
- ref: ref,
78
- children: children || VirtualizedItem
79
- });
80
- });
81
- });
82
- }
83
-
84
- export { VirtualizedList as default };
@@ -1,34 +0,0 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.filter.js';
4
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
8
- import 'react';
9
- import { sortableContainer, sortableElement } from 'react-sortable-hoc';
10
- import VirtualizedList from './VirtualizedList.js';
11
- import VirtualizedItem from './VirtualizedItem.js';
12
- import { jsx } from 'react/jsx-runtime';
13
-
14
- const _excluded = ["items"];
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(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 SortableList = sortableContainer(VirtualizedList);
20
-
21
- function VirtualizedSortableList(_ref) {
22
- let {
23
- items
24
- } = _ref,
25
- otherProps = _objectWithoutProperties(_ref, _excluded);
26
-
27
- return /*#__PURE__*/jsx(SortableList, _objectSpread(_objectSpread({}, otherProps), {}, {
28
- items: items,
29
- useDragHandle: true,
30
- children: sortableElement(VirtualizedItem)
31
- }));
32
- }
33
-
34
- export { VirtualizedSortableList as default };
package/esm/helper.js DELETED
@@ -1,78 +0,0 @@
1
- import 'core-js/modules/esnext.async-iterator.for-each.js';
2
- import 'core-js/modules/esnext.iterator.for-each.js';
3
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
4
- import 'core-js/modules/esnext.async-iterator.some.js';
5
- import 'core-js/modules/esnext.iterator.constructor.js';
6
- import 'core-js/modules/esnext.iterator.some.js';
7
- import 'core-js/modules/esnext.async-iterator.filter.js';
8
- import 'core-js/modules/esnext.iterator.filter.js';
9
- import 'core-js/modules/esnext.async-iterator.reduce.js';
10
- import 'core-js/modules/esnext.iterator.reduce.js';
11
- import 'core-js/modules/esnext.async-iterator.find.js';
12
- import 'core-js/modules/esnext.iterator.find.js';
13
- import 'core-js/modules/esnext.async-iterator.map.js';
14
- import 'core-js/modules/esnext.iterator.map.js';
15
- import { omit, compose, hashArray } from '@elliemae/ds-utilities';
16
- import * as tree from 'treetabular';
17
-
18
- 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; }
19
-
20
- 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(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; }
21
- const getHierarchyTypeName = dest => !dest ? 'hierarchy' : 'hierarchyDest';
22
- const checkHasChildren = (list, currentItem) => list.some(item => currentItem.id === item.parent);
23
- const getActiveIdFromHierarchy = function () {
24
- let hierarchy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
25
- return hierarchy[hierarchy.length - 1] || {};
26
- };
27
- const filterItemsByHierarchy = function (list, hierarchyId) {
28
- let parentField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'parent';
29
- return list.filter(item => item[parentField] === hierarchyId);
30
- };
31
- const getItemsById = (ids, list) => ids.reduce((acc, id) => acc.concat(list.find(item => String(item.id) === String(id))), []).filter(item => item);
32
- const toggleInObject = (obj, key, value) => obj[key] ? omit(obj, [key]) : _objectSpread(_objectSpread({}, obj), {}, {
33
- [key]: value
34
- });
35
- const isMovable = item => !item.forceNotMovable && (item.hasChildren && item.isMoveableContainer || !item.hasChildren); // utility to execute all specified actions in sequence
36
-
37
- const pipe = actions => (initState, props) => actions.reduce((prevState, action) => action(prevState, props), initState);
38
- const moveItems = _ref => {
39
- let {
40
- oldIndex,
41
- newIndex
42
- } = _ref;
43
- return items => {
44
- const sourceItem = items[oldIndex];
45
- items.splice(oldIndex, 1);
46
- items.splice(newIndex, 0, sourceItem);
47
- return items;
48
- };
49
- };
50
- const prepareItems = items => compose(tree.fixOrder(), items => items.map(item => _objectSpread(_objectSpread({}, item), {}, {
51
- hasChildren: checkHasChildren(items, item)
52
- })))(items);
53
- const defaultOptions = {
54
- parentField: 'parent',
55
- idField: 'id',
56
- op: hasMoved => !hasMoved
57
- };
58
- function getChildrenFromParent(parentId, options) {
59
- const {
60
- parentField
61
- } = _objectSpread(_objectSpread({}, defaultOptions), options);
62
-
63
- return items => items.filter(item => item[parentField] === parentId);
64
- }
65
- function filterMovedItems(movedItems, options) {
66
- const {
67
- idField,
68
- op: filterOp
69
- } = _objectSpread(_objectSpread({}, defaultOptions), options);
70
-
71
- const movedItemsHash = hashArray(movedItems, idField);
72
- return items => items.filter(item => filterOp(!!movedItemsHash[item[idField]]));
73
- }
74
- function filterBySearch(term, searching) {
75
- return items => searching ? items.filter(item => item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1) : items;
76
- }
77
-
78
- export { checkHasChildren, filterBySearch, filterItemsByHierarchy, filterMovedItems, getActiveIdFromHierarchy, getChildrenFromParent, getHierarchyTypeName, getItemsById, isMovable, moveItems, pipe, prepareItems, toggleInObject };
package/esm/index.js DELETED
@@ -1,2 +0,0 @@
1
- export { DSShuttleWithSchema, default } from './DSShuttle.js';
2
- export { default as utils } from './utils.js';
@@ -1,88 +0,0 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.filter.js';
3
- import 'core-js/modules/esnext.async-iterator.for-each.js';
4
- import 'core-js/modules/esnext.iterator.for-each.js';
5
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
6
- import 'core-js/modules/esnext.async-iterator.map.js';
7
- import 'core-js/modules/esnext.iterator.map.js';
8
- import 'core-js/modules/web.dom-collections.iterator.js';
9
- import 'core-js/modules/esnext.async-iterator.find.js';
10
- import 'core-js/modules/esnext.iterator.constructor.js';
11
- import 'core-js/modules/esnext.iterator.find.js';
12
- import { compose, isEqual, hashArray } from '@elliemae/ds-utilities';
13
- import { getItemsById, pipe, prepareItems } from './helper.js';
14
- import { addToTarget, resetMovedItems } from './Shuttle.actions.js';
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(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
-
20
- const mergeToPrevState = (prevState, nextState) => _objectSpread(_objectSpread(_objectSpread({}, prevState), nextState), {}, {
21
- prevProps: _objectSpread(_objectSpread({}, prevState.prevProps), nextState.prevProps)
22
- });
23
-
24
- function compareSelectedItems(nextProps, prevProps) {
25
- const {
26
- selectedItems,
27
- idField
28
- } = nextProps;
29
- return nextState => {
30
- if (isEqual(selectedItems, prevProps.selectedItems)) return nextState; // if we are using nonSelectedItems skip this legacy logic and paint just what's passed
31
- // to nonSelectedItems (source) and selectedItems (target)
32
- // TODO make controlledV2 the default behavior for controlled shuttle
33
-
34
- if (nextProps.nonSelectedItems) return nextState;
35
- const {
36
- preparedItems
37
- } = nextState;
38
- const prevSelectedItemsHash = hashArray(prevProps.selectedItems || []);
39
- const itemsToMove = getItemsById(selectedItems, preparedItems);
40
- const actions = itemsToMove.map(item => prevSelectedItemsHash[item[idField]] ? addToTarget(item, nextState.targetItems) : addToTarget(item));
41
- return mergeToPrevState(nextState, _objectSpread(_objectSpread({}, pipe([resetMovedItems(), ...actions])(nextState, nextProps)), {}, {
42
- prevProps: _objectSpread(_objectSpread({}, nextState.prevProps), {}, {
43
- selectedItems
44
- })
45
- }));
46
- };
47
- }
48
-
49
- function compareItems(nextProps, prevProps) {
50
- const {
51
- items
52
- } = nextProps;
53
- return nextState => {
54
- const preparedItems = prepareItems(items);
55
- const isControlledV2 = nextProps.nonSelectedItems; // TODO make controlledV2 the default behavior for controlled shuttle
56
-
57
- if (isControlledV2) {
58
- const targetItems = nextProps.selectedItems.map(id => preparedItems.find(it => it.id === id));
59
- return mergeToPrevState(nextState, {
60
- preparedItems,
61
- // PUI-4462 on async load and items change, the shuttle loads
62
- // all children from currently selected targetItems from items prop
63
- // (items prop update)
64
- targetItems,
65
- movedItems: targetItems,
66
- prevProps: {
67
- items
68
- }
69
- });
70
- }
71
-
72
- if (isEqual(items, prevProps.items)) return nextState;
73
- return mergeToPrevState(nextState, {
74
- preparedItems,
75
- prevProps: {
76
- items
77
- }
78
- });
79
- };
80
- }
81
-
82
- function updateShuttleStateFromProps (nextProps, prevState) {
83
- const stateReducers = [compareSelectedItems, compareItems].map(fn => fn(nextProps, prevState.prevProps));
84
- const nextState = compose(...stateReducers)(prevState);
85
- return !isEqual(nextState, prevState) ? nextState : null;
86
- }
87
-
88
- export { updateShuttleStateFromProps as default };
package/esm/utils.js DELETED
@@ -1,18 +0,0 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.filter.js';
4
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import * as tree from 'treetabular';
8
- import { compose } from '@elliemae/ds-utilities';
9
- import { prepareItems } from './helper.js';
10
-
11
- 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; }
12
-
13
- 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(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; }
14
- var utils = _objectSpread({
15
- prepareItems: (items, options) => compose(tree.fixOrder(options), prepareItems)(items)
16
- }, tree);
17
-
18
- export { utils as default };
@@ -1,22 +0,0 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.filter.js';
4
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _jsx from '@babel/runtime/helpers/esm/jsx';
7
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
8
- import 'react';
9
- import AnimationContext from './AnimationState.js';
10
- import SearchState from './SearchState.js';
11
- import useShuttleState from './ShuttleState.js';
12
- import { jsx } from 'react/jsx-runtime';
13
-
14
- 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; }
15
-
16
- 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(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; }
17
-
18
- function withProviders(Component) {
19
- return props => /*#__PURE__*/_jsx(useShuttleState.Provider, {}, void 0, /*#__PURE__*/_jsx(AnimationContext.Provider, {}, void 0, /*#__PURE__*/_jsx(SearchState.Provider, {}, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)))));
20
- }
21
-
22
- export { withProviders as default };
@@ -1,26 +0,0 @@
1
- declare const _default: import("constate/dist/ts/src/types").ContextHookReturn<unknown, {
2
- state: {
3
- isMoving: boolean;
4
- isMovingBack: boolean;
5
- isDrillingDown: boolean;
6
- };
7
- setIsMoving: () => void;
8
- setIsMovingBack: () => void;
9
- setIsDrillingDown: () => void;
10
- reset: () => void;
11
- }, [(value: {
12
- state: {
13
- isMoving: boolean;
14
- isMovingBack: boolean;
15
- isDrillingDown: boolean;
16
- };
17
- setIsMoving: () => void;
18
- setIsMovingBack: () => void;
19
- setIsDrillingDown: () => void;
20
- reset: () => void;
21
- }) => {
22
- isMoving: boolean;
23
- isMovingBack: boolean;
24
- isDrillingDown: boolean;
25
- }[]]>;
26
- export default _default;