@elliemae/ds-shuttle 2.2.0-alpha.4 → 3.0.0-next.2

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 (148) hide show
  1. package/cjs/AnimationState.js +19 -46
  2. package/cjs/DSShuttle.js +219 -166
  3. package/cjs/SearchState.js +25 -44
  4. package/cjs/Shuttle.actions.js +98 -87
  5. package/cjs/ShuttleContainer.js +61 -56
  6. package/cjs/ShuttleImpl.js +206 -109
  7. package/cjs/ShuttleRenderer.js +135 -140
  8. package/cjs/ShuttleState.js +53 -57
  9. package/cjs/animation/animationConfig.js +56 -53
  10. package/cjs/classedComponents.js +69 -70
  11. package/cjs/components/LoadingIndicator.js +22 -49
  12. package/cjs/components/OverflowList.js +48 -50
  13. package/cjs/components/ShuttleBreadcrumb.js +40 -52
  14. package/cjs/components/ShuttleInfiniteScrollIndicator.js +37 -46
  15. package/cjs/components/ShuttleListItem/ActionButtons.js +51 -56
  16. package/cjs/components/ShuttleListItem/ShuttleListItem.js +80 -78
  17. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +64 -78
  18. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +56 -72
  19. package/cjs/components/ShuttleListPanel.js +26 -44
  20. package/cjs/components/ShuttleSearchBox.js +72 -61
  21. package/cjs/components/ShuttleSource.js +146 -150
  22. package/cjs/components/ShuttleTarget.js +100 -88
  23. package/cjs/components/VirtualizedItem.js +40 -45
  24. package/cjs/components/VirtualizedList.js +86 -81
  25. package/cjs/components/VirtualizedSortableList.js +40 -47
  26. package/cjs/helper.js +103 -69
  27. package/cjs/index.js +12 -38
  28. package/cjs/updateShuttleStateFromProps.js +69 -73
  29. package/cjs/utils.js +42 -40
  30. package/cjs/withProviders.js +27 -43
  31. package/esm/AnimationState.js +8 -12
  32. package/esm/DSShuttle.js +198 -126
  33. package/esm/SearchState.js +19 -15
  34. package/esm/Shuttle.actions.js +80 -63
  35. package/esm/ShuttleContainer.js +50 -34
  36. package/esm/ShuttleImpl.js +183 -78
  37. package/esm/ShuttleRenderer.js +128 -111
  38. package/esm/ShuttleState.js +53 -34
  39. package/esm/animation/animationConfig.js +52 -24
  40. package/esm/classedComponents.js +51 -43
  41. package/esm/components/LoadingIndicator.js +15 -20
  42. package/esm/components/OverflowList.js +41 -21
  43. package/esm/components/ShuttleBreadcrumb.js +33 -23
  44. package/esm/components/ShuttleInfiniteScrollIndicator.js +31 -18
  45. package/esm/components/ShuttleListItem/ActionButtons.js +39 -27
  46. package/esm/components/ShuttleListItem/ShuttleListItem.js +72 -50
  47. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +52 -45
  48. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +47 -42
  49. package/esm/components/ShuttleListPanel.js +19 -15
  50. package/esm/components/ShuttleSearchBox.js +66 -32
  51. package/esm/components/ShuttleSource.js +129 -125
  52. package/esm/components/ShuttleTarget.js +89 -68
  53. package/esm/components/VirtualizedItem.js +33 -15
  54. package/esm/components/VirtualizedList.js +75 -50
  55. package/esm/components/VirtualizedSortableList.js +32 -17
  56. package/esm/helper.js +67 -43
  57. package/esm/index.js +2 -9
  58. package/esm/updateShuttleStateFromProps.js +58 -39
  59. package/esm/utils.js +18 -12
  60. package/esm/withProviders.js +20 -14
  61. package/package.json +11 -11
  62. package/types/AnimationState.d.ts +2 -3
  63. package/types/DSShuttle.d.ts +1 -1
  64. package/types/SearchState.d.ts +2 -3
  65. package/types/ShuttleImpl.d.ts +2 -3
  66. package/types/ShuttleRenderer.d.ts +0 -1
  67. package/types/ShuttleState.d.ts +2 -3
  68. package/types/components/LoadingIndicator.d.ts +0 -1
  69. package/types/components/OverflowList.d.ts +0 -1
  70. package/types/components/ShuttleBreadcrumb.d.ts +0 -1
  71. package/types/components/ShuttleInfiniteScrollIndicator.d.ts +0 -1
  72. package/types/components/ShuttleListItem/ShuttleListItem.d.ts +0 -1
  73. package/types/components/ShuttleListItem/ShuttleSourceListItem.d.ts +0 -1
  74. package/types/components/ShuttleListItem/ShuttleTargetListItem.d.ts +0 -1
  75. package/types/components/ShuttleListPanel.d.ts +0 -1
  76. package/types/components/ShuttleSearchBox.d.ts +1 -3
  77. package/types/components/ShuttleSource.d.ts +0 -1
  78. package/types/components/ShuttleTarget.d.ts +0 -1
  79. package/types/components/VirtualizedItem.d.ts +0 -1
  80. package/types/components/VirtualizedList.d.ts +0 -1
  81. package/types/components/VirtualizedSortableList.d.ts +0 -1
  82. package/types/index.d.ts +1 -1
  83. package/types/updateShuttleStateFromProps.d.ts +1 -3
  84. package/types/withProviders.d.ts +0 -1
  85. package/cjs/AnimationState.js.map +0 -7
  86. package/cjs/DSShuttle.js.map +0 -7
  87. package/cjs/SearchState.js.map +0 -7
  88. package/cjs/Shuttle.actions.js.map +0 -7
  89. package/cjs/ShuttleContainer.js.map +0 -7
  90. package/cjs/ShuttleImpl.js.map +0 -7
  91. package/cjs/ShuttleRenderer.js.map +0 -7
  92. package/cjs/ShuttleState.js.map +0 -7
  93. package/cjs/animation/animationConfig.js.map +0 -7
  94. package/cjs/classedComponents.js.map +0 -7
  95. package/cjs/components/LoadingIndicator.js.map +0 -7
  96. package/cjs/components/OverflowList.js.map +0 -7
  97. package/cjs/components/ShuttleBreadcrumb.js.map +0 -7
  98. package/cjs/components/ShuttleInfiniteScrollIndicator.js.map +0 -7
  99. package/cjs/components/ShuttleListItem/ActionButtons.js.map +0 -7
  100. package/cjs/components/ShuttleListItem/ShuttleListItem.js.map +0 -7
  101. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +0 -7
  102. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +0 -7
  103. package/cjs/components/ShuttleListPanel.js.map +0 -7
  104. package/cjs/components/ShuttleSearchBox.js.map +0 -7
  105. package/cjs/components/ShuttleSource.js.map +0 -7
  106. package/cjs/components/ShuttleTarget.js.map +0 -7
  107. package/cjs/components/VirtualizedItem.js.map +0 -7
  108. package/cjs/components/VirtualizedList.js.map +0 -7
  109. package/cjs/components/VirtualizedSortableList.js.map +0 -7
  110. package/cjs/helper.js.map +0 -7
  111. package/cjs/index.js.map +0 -7
  112. package/cjs/tests/utils.js +0 -1218
  113. package/cjs/tests/utils.js.map +0 -7
  114. package/cjs/updateShuttleStateFromProps.js.map +0 -7
  115. package/cjs/utils.js.map +0 -7
  116. package/cjs/withProviders.js.map +0 -7
  117. package/esm/AnimationState.js.map +0 -7
  118. package/esm/DSShuttle.js.map +0 -7
  119. package/esm/SearchState.js.map +0 -7
  120. package/esm/Shuttle.actions.js.map +0 -7
  121. package/esm/ShuttleContainer.js.map +0 -7
  122. package/esm/ShuttleImpl.js.map +0 -7
  123. package/esm/ShuttleRenderer.js.map +0 -7
  124. package/esm/ShuttleState.js.map +0 -7
  125. package/esm/animation/animationConfig.js.map +0 -7
  126. package/esm/classedComponents.js.map +0 -7
  127. package/esm/components/LoadingIndicator.js.map +0 -7
  128. package/esm/components/OverflowList.js.map +0 -7
  129. package/esm/components/ShuttleBreadcrumb.js.map +0 -7
  130. package/esm/components/ShuttleInfiniteScrollIndicator.js.map +0 -7
  131. package/esm/components/ShuttleListItem/ActionButtons.js.map +0 -7
  132. package/esm/components/ShuttleListItem/ShuttleListItem.js.map +0 -7
  133. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +0 -7
  134. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +0 -7
  135. package/esm/components/ShuttleListPanel.js.map +0 -7
  136. package/esm/components/ShuttleSearchBox.js.map +0 -7
  137. package/esm/components/ShuttleSource.js.map +0 -7
  138. package/esm/components/ShuttleTarget.js.map +0 -7
  139. package/esm/components/VirtualizedItem.js.map +0 -7
  140. package/esm/components/VirtualizedList.js.map +0 -7
  141. package/esm/components/VirtualizedSortableList.js.map +0 -7
  142. package/esm/helper.js.map +0 -7
  143. package/esm/index.js.map +0 -7
  144. package/esm/tests/utils.js +0 -1189
  145. package/esm/tests/utils.js.map +0 -7
  146. package/esm/updateShuttleStateFromProps.js.map +0 -7
  147. package/esm/utils.js.map +0 -7
  148. package/esm/withProviders.js.map +0 -7
package/cjs/helper.js CHANGED
@@ -1,83 +1,117 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ require('core-js/modules/esnext.async-iterator.some.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.some.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.reduce.js');
12
+ require('core-js/modules/esnext.iterator.reduce.js');
13
+ require('core-js/modules/esnext.async-iterator.find.js');
14
+ require('core-js/modules/esnext.iterator.find.js');
15
+ require('core-js/modules/esnext.async-iterator.map.js');
16
+ require('core-js/modules/esnext.iterator.map.js');
17
+ require('core-js/modules/esnext.async-iterator.for-each.js');
18
+ require('core-js/modules/esnext.iterator.for-each.js');
19
+ var dsUtilities = require('@elliemae/ds-utilities');
20
+ var tree = require('treetabular');
21
+
22
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
+
24
+ function _interopNamespace(e) {
25
+ if (e && e.__esModule) return e;
26
+ var n = Object.create(null);
27
+ if (e) {
28
+ Object.keys(e).forEach(function (k) {
29
+ if (k !== 'default') {
30
+ var d = Object.getOwnPropertyDescriptor(e, k);
31
+ Object.defineProperty(n, k, d.get ? d : {
32
+ enumerable: true,
33
+ get: function () { return e[k]; }
34
+ });
35
+ }
36
+ });
17
37
  }
18
- return target;
38
+ n["default"] = e;
39
+ return Object.freeze(n);
40
+ }
41
+
42
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
43
+ var tree__namespace = /*#__PURE__*/_interopNamespace(tree);
44
+
45
+ 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; }
46
+
47
+ 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; }
48
+ const getHierarchyTypeName = dest => !dest ? 'hierarchy' : 'hierarchyDest';
49
+ const checkHasChildren = (list, currentItem) => list.some(item => currentItem.id === item.parent);
50
+ const getActiveIdFromHierarchy = function () {
51
+ let hierarchy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
52
+ return hierarchy[hierarchy.length - 1] || {};
19
53
  };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
54
+ const filterItemsByHierarchy = function (list, hierarchyId) {
55
+ let parentField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'parent';
56
+ return list.filter(item => item[parentField] === hierarchyId);
22
57
  };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var helper_exports = {};
29
- __export(helper_exports, {
30
- checkHasChildren: () => checkHasChildren,
31
- filterBySearch: () => filterBySearch,
32
- filterItemsByHierarchy: () => filterItemsByHierarchy,
33
- filterMovedItems: () => filterMovedItems,
34
- getActiveIdFromHierarchy: () => getActiveIdFromHierarchy,
35
- getChildrenFromParent: () => getChildrenFromParent,
36
- getHierarchyTypeName: () => getHierarchyTypeName,
37
- getItemsById: () => getItemsById,
38
- isMovable: () => isMovable,
39
- moveItems: () => moveItems,
40
- pipe: () => pipe,
41
- prepareItems: () => prepareItems,
42
- toggleInObject: () => toggleInObject
58
+ const getItemsById = (ids, list) => ids.reduce((acc, id) => acc.concat(list.find(item => String(item.id) === String(id))), []).filter(item => item);
59
+ const toggleInObject = (obj, key, value) => obj[key] ? dsUtilities.omit(obj, [key]) : _objectSpread(_objectSpread({}, obj), {}, {
60
+ [key]: value
43
61
  });
44
- var React = __toESM(require("react"));
45
- var import_ds_utilities = require("@elliemae/ds-utilities");
46
- var tree = __toESM(require("treetabular"));
47
- const getHierarchyTypeName = (dest) => !dest ? "hierarchy" : "hierarchyDest";
48
- const checkHasChildren = (list, currentItem) => list.some((item) => currentItem.id === item.parent);
49
- const getActiveIdFromHierarchy = (hierarchy = []) => hierarchy[hierarchy.length - 1] || {};
50
- const filterItemsByHierarchy = (list, hierarchyId, parentField = "parent") => list.filter((item) => item[parentField] === hierarchyId);
51
- const getItemsById = (ids, list) => ids.reduce((acc, id) => acc.concat(list.find((item) => String(item.id) === String(id))), []).filter((item) => item);
52
- const toggleInObject = (obj, key, value) => obj[key] ? (0, import_ds_utilities.omit)(obj, [key]) : { ...obj, [key]: value };
53
- const isMovable = (item) => !item.forceNotMovable && (item.hasChildren && item.isMoveableContainer || !item.hasChildren);
54
- const pipe = (actions) => (initState, props) => actions.reduce((prevState, action) => action(prevState, props), initState);
55
- const moveItems = ({ oldIndex, newIndex }) => (items) => {
56
- const sourceItem = items[oldIndex];
57
- items.splice(oldIndex, 1);
58
- items.splice(newIndex, 0, sourceItem);
59
- return items;
62
+ const isMovable = item => !item.forceNotMovable && (item.hasChildren && item.isMoveableContainer || !item.hasChildren); // utility to execute all specified actions in sequence
63
+
64
+ const pipe = actions => (initState, props) => actions.reduce((prevState, action) => action(prevState, props), initState);
65
+ const moveItems = _ref => {
66
+ let {
67
+ oldIndex,
68
+ newIndex
69
+ } = _ref;
70
+ return items => {
71
+ const sourceItem = items[oldIndex];
72
+ items.splice(oldIndex, 1);
73
+ items.splice(newIndex, 0, sourceItem);
74
+ return items;
75
+ };
60
76
  };
61
- const prepareItems = (items) => (0, import_ds_utilities.compose)(tree.fixOrder(), (items2) => items2.map((item) => ({
62
- ...item,
63
- hasChildren: checkHasChildren(items2, item)
77
+ const prepareItems = items => dsUtilities.compose(tree__namespace.fixOrder(), items => items.map(item => _objectSpread(_objectSpread({}, item), {}, {
78
+ hasChildren: checkHasChildren(items, item)
64
79
  })))(items);
65
80
  const defaultOptions = {
66
- parentField: "parent",
67
- idField: "id",
68
- op: (hasMoved) => !hasMoved
81
+ parentField: 'parent',
82
+ idField: 'id',
83
+ op: hasMoved => !hasMoved
69
84
  };
70
85
  function getChildrenFromParent(parentId, options) {
71
- const { parentField } = { ...defaultOptions, ...options };
72
- return (items) => items.filter((item) => item[parentField] === parentId);
86
+ const {
87
+ parentField
88
+ } = _objectSpread(_objectSpread({}, defaultOptions), options);
89
+
90
+ return items => items.filter(item => item[parentField] === parentId);
73
91
  }
74
92
  function filterMovedItems(movedItems, options) {
75
- const { idField, op: filterOp } = { ...defaultOptions, ...options };
76
- const movedItemsHash = (0, import_ds_utilities.hashArray)(movedItems, idField);
77
- return (items) => items.filter((item) => filterOp(!!movedItemsHash[item[idField]]));
93
+ const {
94
+ idField,
95
+ op: filterOp
96
+ } = _objectSpread(_objectSpread({}, defaultOptions), options);
97
+
98
+ const movedItemsHash = dsUtilities.hashArray(movedItems, idField);
99
+ return items => items.filter(item => filterOp(!!movedItemsHash[item[idField]]));
78
100
  }
79
101
  function filterBySearch(term, searching) {
80
- return (items) => searching ? items.filter((item) => item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1) : items;
102
+ return items => searching ? items.filter(item => item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1) : items;
81
103
  }
82
- module.exports = __toCommonJS(helper_exports);
83
- //# sourceMappingURL=helper.js.map
104
+
105
+ exports.checkHasChildren = checkHasChildren;
106
+ exports.filterBySearch = filterBySearch;
107
+ exports.filterItemsByHierarchy = filterItemsByHierarchy;
108
+ exports.filterMovedItems = filterMovedItems;
109
+ exports.getActiveIdFromHierarchy = getActiveIdFromHierarchy;
110
+ exports.getChildrenFromParent = getChildrenFromParent;
111
+ exports.getHierarchyTypeName = getHierarchyTypeName;
112
+ exports.getItemsById = getItemsById;
113
+ exports.isMovable = isMovable;
114
+ exports.moveItems = moveItems;
115
+ exports.pipe = pipe;
116
+ exports.prepareItems = prepareItems;
117
+ exports.toggleInObject = toggleInObject;
package/cjs/index.js CHANGED
@@ -1,38 +1,12 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var src_exports = {};
29
- __export(src_exports, {
30
- DSShuttle: () => import_DSShuttle.DSShuttle,
31
- DSShuttleWithSchema: () => import_DSShuttle.DSShuttleWithSchema,
32
- default: () => import_DSShuttle.default,
33
- utils: () => import_DSShuttle.utils
34
- });
35
- var React = __toESM(require("react"));
36
- var import_DSShuttle = require("./DSShuttle");
37
- module.exports = __toCommonJS(src_exports);
38
- //# sourceMappingURL=index.js.map
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var DSShuttle = require('./DSShuttle.js');
6
+ var utils = require('./utils.js');
7
+
8
+
9
+
10
+ exports.DSShuttleWithSchema = DSShuttle.DSShuttleWithSchema;
11
+ exports["default"] = DSShuttle["default"];
12
+ exports.utils = utils;
@@ -1,76 +1,72 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var updateShuttleStateFromProps_exports = {};
29
- __export(updateShuttleStateFromProps_exports, {
30
- default: () => updateShuttleStateFromProps_default,
31
- updateShuttleStateFromProps: () => updateShuttleStateFromProps
32
- });
33
- var React = __toESM(require("react"));
34
- var import_ds_utilities = require("@elliemae/ds-utilities");
35
- var import_helper = require("./helper");
36
- var import_Shuttle = require("./Shuttle.actions");
37
- const mergeToPrevState = (prevState, nextState) => ({
38
- ...prevState,
39
- ...nextState,
40
- prevProps: {
41
- ...prevState.prevProps,
42
- ...nextState.prevProps
43
- }
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ require('core-js/modules/esnext.async-iterator.map.js');
5
+ require('core-js/modules/esnext.iterator.map.js');
6
+ require('core-js/modules/web.dom-collections.iterator.js');
7
+ require('core-js/modules/esnext.async-iterator.find.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.find.js');
10
+ require('core-js/modules/esnext.async-iterator.filter.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
14
+ var dsUtilities = require('@elliemae/ds-utilities');
15
+ var helper = require('./helper.js');
16
+ var Shuttle_actions = require('./Shuttle.actions.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
21
+
22
+ 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; }
23
+
24
+ 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; }
25
+
26
+ const mergeToPrevState = (prevState, nextState) => _objectSpread(_objectSpread(_objectSpread({}, prevState), nextState), {}, {
27
+ prevProps: _objectSpread(_objectSpread({}, prevState.prevProps), nextState.prevProps)
44
28
  });
29
+
45
30
  function compareSelectedItems(nextProps, prevProps) {
46
- const { selectedItems, idField } = nextProps;
47
- return (nextState) => {
48
- if ((0, import_ds_utilities.isEqual)(selectedItems, prevProps.selectedItems))
49
- return nextState;
50
- if (nextProps.nonSelectedItems)
51
- return nextState;
52
- const { preparedItems } = nextState;
53
- const prevSelectedItemsHash = (0, import_ds_utilities.hashArray)(prevProps.selectedItems || []);
54
- const itemsToMove = (0, import_helper.getItemsById)(selectedItems, preparedItems);
55
- const actions = itemsToMove.map((item) => prevSelectedItemsHash[item[idField]] ? (0, import_Shuttle.addToTarget)(item, nextState.targetItems) : (0, import_Shuttle.addToTarget)(item));
56
- return mergeToPrevState(nextState, {
57
- ...(0, import_helper.pipe)([(0, import_Shuttle.resetMovedItems)(), ...actions])(nextState, nextProps),
58
- prevProps: {
59
- ...nextState.prevProps,
31
+ const {
32
+ selectedItems,
33
+ idField
34
+ } = nextProps;
35
+ return nextState => {
36
+ if (dsUtilities.isEqual(selectedItems, prevProps.selectedItems)) return nextState; // if we are using nonSelectedItems skip this legacy logic and paint just what's passed
37
+ // to nonSelectedItems (source) and selectedItems (target)
38
+ // TODO make controlledV2 the default behavior for controlled shuttle
39
+
40
+ if (nextProps.nonSelectedItems) return nextState;
41
+ const {
42
+ preparedItems
43
+ } = nextState;
44
+ const prevSelectedItemsHash = dsUtilities.hashArray(prevProps.selectedItems || []);
45
+ const itemsToMove = helper.getItemsById(selectedItems, preparedItems);
46
+ const actions = itemsToMove.map(item => prevSelectedItemsHash[item[idField]] ? Shuttle_actions.addToTarget(item, nextState.targetItems) : Shuttle_actions.addToTarget(item));
47
+ return mergeToPrevState(nextState, _objectSpread(_objectSpread({}, helper.pipe([Shuttle_actions.resetMovedItems(), ...actions])(nextState, nextProps)), {}, {
48
+ prevProps: _objectSpread(_objectSpread({}, nextState.prevProps), {}, {
60
49
  selectedItems
61
- }
62
- });
50
+ })
51
+ }));
63
52
  };
64
53
  }
54
+
65
55
  function compareItems(nextProps, prevProps) {
66
- const { items } = nextProps;
67
- return (nextState) => {
68
- const preparedItems = (0, import_helper.prepareItems)(items);
69
- const isControlledV2 = nextProps.nonSelectedItems;
56
+ const {
57
+ items
58
+ } = nextProps;
59
+ return nextState => {
60
+ const preparedItems = helper.prepareItems(items);
61
+ const isControlledV2 = nextProps.nonSelectedItems; // TODO make controlledV2 the default behavior for controlled shuttle
62
+
70
63
  if (isControlledV2) {
71
- const targetItems = nextProps.selectedItems.map((id) => preparedItems.find((it) => it.id === id));
64
+ const targetItems = nextProps.selectedItems.map(id => preparedItems.find(it => it.id === id));
72
65
  return mergeToPrevState(nextState, {
73
66
  preparedItems,
67
+ // PUI-4462 on async load and items change, the shuttle loads
68
+ // all children from currently selected targetItems from items prop
69
+ // (items prop update)
74
70
  targetItems,
75
71
  movedItems: targetItems,
76
72
  prevProps: {
@@ -78,8 +74,8 @@ function compareItems(nextProps, prevProps) {
78
74
  }
79
75
  });
80
76
  }
81
- if ((0, import_ds_utilities.isEqual)(items, prevProps.items))
82
- return nextState;
77
+
78
+ if (dsUtilities.isEqual(items, prevProps.items)) return nextState;
83
79
  return mergeToPrevState(nextState, {
84
80
  preparedItems,
85
81
  prevProps: {
@@ -88,11 +84,11 @@ function compareItems(nextProps, prevProps) {
88
84
  });
89
85
  };
90
86
  }
91
- function updateShuttleStateFromProps(nextProps, prevState) {
92
- const stateReducers = [compareSelectedItems, compareItems].map((fn) => fn(nextProps, prevState.prevProps));
93
- const nextState = (0, import_ds_utilities.compose)(...stateReducers)(prevState);
94
- return !(0, import_ds_utilities.isEqual)(nextState, prevState) ? nextState : null;
87
+
88
+ function updateShuttleStateFromProps (nextProps, prevState) {
89
+ const stateReducers = [compareSelectedItems, compareItems].map(fn => fn(nextProps, prevState.prevProps));
90
+ const nextState = dsUtilities.compose(...stateReducers)(prevState);
91
+ return !dsUtilities.isEqual(nextState, prevState) ? nextState : null;
95
92
  }
96
- var updateShuttleStateFromProps_default = updateShuttleStateFromProps;
97
- module.exports = __toCommonJS(updateShuttleStateFromProps_exports);
98
- //# sourceMappingURL=updateShuttleStateFromProps.js.map
93
+
94
+ module.exports = updateShuttleStateFromProps;
package/cjs/utils.js CHANGED
@@ -1,41 +1,43 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
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 tree = require('treetabular');
10
+ var dsUtilities = require('@elliemae/ds-utilities');
11
+ var helper = require('./helper.js');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ function _interopNamespace(e) {
16
+ if (e && e.__esModule) return e;
17
+ var n = Object.create(null);
18
+ if (e) {
19
+ Object.keys(e).forEach(function (k) {
20
+ if (k !== 'default') {
21
+ var d = Object.getOwnPropertyDescriptor(e, k);
22
+ Object.defineProperty(n, k, d.get ? d : {
23
+ enumerable: true,
24
+ get: function () { return e[k]; }
25
+ });
26
+ }
27
+ });
17
28
  }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var utils_exports = {};
29
- __export(utils_exports, {
30
- default: () => utils_default
31
- });
32
- var React = __toESM(require("react"));
33
- var tree = __toESM(require("treetabular"));
34
- var import_ds_utilities = require("@elliemae/ds-utilities");
35
- var import_helper = require("./helper");
36
- var utils_default = {
37
- prepareItems: (items, options) => (0, import_ds_utilities.compose)(tree.fixOrder(options), import_helper.prepareItems)(items),
38
- ...tree
39
- };
40
- module.exports = __toCommonJS(utils_exports);
41
- //# sourceMappingURL=utils.js.map
29
+ n["default"] = e;
30
+ return Object.freeze(n);
31
+ }
32
+
33
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
34
+ var tree__namespace = /*#__PURE__*/_interopNamespace(tree);
35
+
36
+ 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; }
37
+
38
+ 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; }
39
+ var utils = _objectSpread({
40
+ prepareItems: (items, options) => dsUtilities.compose(tree__namespace.fixOrder(options), helper.prepareItems)(items)
41
+ }, tree__namespace);
42
+
43
+ module.exports = utils;
@@ -1,45 +1,29 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var withProviders_exports = {};
29
- __export(withProviders_exports, {
30
- default: () => withProviders_default,
31
- withProviders: () => withProviders
32
- });
33
- var React = __toESM(require("react"));
34
- var import_react = __toESM(require("react"));
35
- var import_AnimationState = require("./AnimationState");
36
- var import_SearchState = require("./SearchState");
37
- var import_ShuttleState = require("./ShuttleState");
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
+ require('react');
11
+ var AnimationState = require('./AnimationState.js');
12
+ var SearchState = require('./SearchState.js');
13
+ var ShuttleState = require('./ShuttleState.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 _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
+
21
+ 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; }
22
+
23
+ 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; }
24
+
38
25
  function withProviders(Component) {
39
- return (props) => /* @__PURE__ */ import_react.default.createElement(import_ShuttleState.ShuttleState.Provider, null, /* @__PURE__ */ import_react.default.createElement(import_AnimationState.AnimationState.Provider, null, /* @__PURE__ */ import_react.default.createElement(import_SearchState.SearchState.Provider, null, /* @__PURE__ */ import_react.default.createElement(Component, {
40
- ...props
41
- }))));
26
+ return props => /*#__PURE__*/_jsx__default["default"](ShuttleState.Provider, {}, void 0, /*#__PURE__*/_jsx__default["default"](AnimationState.Provider, {}, void 0, /*#__PURE__*/_jsx__default["default"](SearchState.Provider, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)))));
42
27
  }
43
- var withProviders_default = withProviders;
44
- module.exports = __toCommonJS(withProviders_exports);
45
- //# sourceMappingURL=withProviders.js.map
28
+
29
+ module.exports = withProviders;
@@ -1,6 +1,7 @@
1
- import * as React from "react";
2
- import { useCallback, useState } from "react";
3
- import createContainer from "constate";
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
+ import { useState, useCallback } from 'react';
3
+ import createContainer from 'constate';
4
+
4
5
  function useShuttleAnimationState() {
5
6
  const [animationState, setAnimationState] = useState({
6
7
  isMoving: false,
@@ -35,12 +36,7 @@ function useShuttleAnimationState() {
35
36
  reset
36
37
  };
37
38
  }
38
- const AnimationState = createContainer(useShuttleAnimationState, (value) => [
39
- value.state
40
- ]);
41
- var AnimationState_default = AnimationState;
42
- export {
43
- AnimationState,
44
- AnimationState_default as default
45
- };
46
- //# sourceMappingURL=AnimationState.js.map
39
+
40
+ var AnimationContext = createContainer(useShuttleAnimationState, value => [value.state]);
41
+
42
+ export { AnimationContext as default };