@elliemae/ds-shuttle 2.2.0-next.6 → 2.3.0-alpha.1

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 +46 -19
  2. package/cjs/AnimationState.js.map +7 -0
  3. package/cjs/DSShuttle.js +166 -219
  4. package/cjs/DSShuttle.js.map +7 -0
  5. package/cjs/SearchState.js +44 -25
  6. package/cjs/SearchState.js.map +7 -0
  7. package/cjs/Shuttle.actions.js +87 -98
  8. package/cjs/Shuttle.actions.js.map +7 -0
  9. package/cjs/ShuttleContainer.js +56 -61
  10. package/cjs/ShuttleContainer.js.map +7 -0
  11. package/cjs/ShuttleImpl.js +109 -206
  12. package/cjs/ShuttleImpl.js.map +7 -0
  13. package/cjs/ShuttleRenderer.js +140 -135
  14. package/cjs/ShuttleRenderer.js.map +7 -0
  15. package/cjs/ShuttleState.js +57 -53
  16. package/cjs/ShuttleState.js.map +7 -0
  17. package/cjs/animation/animationConfig.js +53 -56
  18. package/cjs/animation/animationConfig.js.map +7 -0
  19. package/cjs/classedComponents.js +70 -69
  20. package/cjs/classedComponents.js.map +7 -0
  21. package/cjs/components/LoadingIndicator.js +49 -22
  22. package/cjs/components/LoadingIndicator.js.map +7 -0
  23. package/cjs/components/OverflowList.js +50 -48
  24. package/cjs/components/OverflowList.js.map +7 -0
  25. package/cjs/components/ShuttleBreadcrumb.js +52 -40
  26. package/cjs/components/ShuttleBreadcrumb.js.map +7 -0
  27. package/cjs/components/ShuttleInfiniteScrollIndicator.js +46 -37
  28. package/cjs/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  29. package/cjs/components/ShuttleListItem/ActionButtons.js +56 -51
  30. package/cjs/components/ShuttleListItem/ActionButtons.js.map +7 -0
  31. package/cjs/components/ShuttleListItem/ShuttleListItem.js +78 -80
  32. package/cjs/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  33. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +78 -64
  34. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  35. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +72 -56
  36. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  37. package/cjs/components/ShuttleListPanel.js +44 -26
  38. package/cjs/components/ShuttleListPanel.js.map +7 -0
  39. package/cjs/components/ShuttleSearchBox.js +61 -72
  40. package/cjs/components/ShuttleSearchBox.js.map +7 -0
  41. package/cjs/components/ShuttleSource.js +150 -146
  42. package/cjs/components/ShuttleSource.js.map +7 -0
  43. package/cjs/components/ShuttleTarget.js +88 -100
  44. package/cjs/components/ShuttleTarget.js.map +7 -0
  45. package/cjs/components/VirtualizedItem.js +45 -40
  46. package/cjs/components/VirtualizedItem.js.map +7 -0
  47. package/cjs/components/VirtualizedList.js +81 -86
  48. package/cjs/components/VirtualizedList.js.map +7 -0
  49. package/cjs/components/VirtualizedSortableList.js +47 -40
  50. package/cjs/components/VirtualizedSortableList.js.map +7 -0
  51. package/cjs/helper.js +69 -103
  52. package/cjs/helper.js.map +7 -0
  53. package/cjs/index.js +38 -12
  54. package/cjs/index.js.map +7 -0
  55. package/cjs/tests/utils.js +1218 -0
  56. package/cjs/tests/utils.js.map +7 -0
  57. package/cjs/updateShuttleStateFromProps.js +73 -69
  58. package/cjs/updateShuttleStateFromProps.js.map +7 -0
  59. package/cjs/utils.js +40 -42
  60. package/cjs/utils.js.map +7 -0
  61. package/cjs/withProviders.js +43 -27
  62. package/cjs/withProviders.js.map +7 -0
  63. package/esm/AnimationState.js +12 -8
  64. package/esm/AnimationState.js.map +7 -0
  65. package/esm/DSShuttle.js +126 -198
  66. package/esm/DSShuttle.js.map +7 -0
  67. package/esm/SearchState.js +15 -19
  68. package/esm/SearchState.js.map +7 -0
  69. package/esm/Shuttle.actions.js +63 -80
  70. package/esm/Shuttle.actions.js.map +7 -0
  71. package/esm/ShuttleContainer.js +34 -50
  72. package/esm/ShuttleContainer.js.map +7 -0
  73. package/esm/ShuttleImpl.js +78 -183
  74. package/esm/ShuttleImpl.js.map +7 -0
  75. package/esm/ShuttleRenderer.js +111 -128
  76. package/esm/ShuttleRenderer.js.map +7 -0
  77. package/esm/ShuttleState.js +34 -53
  78. package/esm/ShuttleState.js.map +7 -0
  79. package/esm/animation/animationConfig.js +24 -52
  80. package/esm/animation/animationConfig.js.map +7 -0
  81. package/esm/classedComponents.js +43 -51
  82. package/esm/classedComponents.js.map +7 -0
  83. package/esm/components/LoadingIndicator.js +20 -15
  84. package/esm/components/LoadingIndicator.js.map +7 -0
  85. package/esm/components/OverflowList.js +21 -41
  86. package/esm/components/OverflowList.js.map +7 -0
  87. package/esm/components/ShuttleBreadcrumb.js +23 -33
  88. package/esm/components/ShuttleBreadcrumb.js.map +7 -0
  89. package/esm/components/ShuttleInfiniteScrollIndicator.js +18 -31
  90. package/esm/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  91. package/esm/components/ShuttleListItem/ActionButtons.js +27 -39
  92. package/esm/components/ShuttleListItem/ActionButtons.js.map +7 -0
  93. package/esm/components/ShuttleListItem/ShuttleListItem.js +50 -72
  94. package/esm/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  95. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +45 -52
  96. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  97. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +42 -47
  98. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  99. package/esm/components/ShuttleListPanel.js +15 -19
  100. package/esm/components/ShuttleListPanel.js.map +7 -0
  101. package/esm/components/ShuttleSearchBox.js +32 -66
  102. package/esm/components/ShuttleSearchBox.js.map +7 -0
  103. package/esm/components/ShuttleSource.js +125 -129
  104. package/esm/components/ShuttleSource.js.map +7 -0
  105. package/esm/components/ShuttleTarget.js +68 -89
  106. package/esm/components/ShuttleTarget.js.map +7 -0
  107. package/esm/components/VirtualizedItem.js +15 -33
  108. package/esm/components/VirtualizedItem.js.map +7 -0
  109. package/esm/components/VirtualizedList.js +50 -75
  110. package/esm/components/VirtualizedList.js.map +7 -0
  111. package/esm/components/VirtualizedSortableList.js +17 -32
  112. package/esm/components/VirtualizedSortableList.js.map +7 -0
  113. package/esm/helper.js +43 -67
  114. package/esm/helper.js.map +7 -0
  115. package/esm/index.js +9 -2
  116. package/esm/index.js.map +7 -0
  117. package/esm/tests/utils.js +1189 -0
  118. package/esm/tests/utils.js.map +7 -0
  119. package/esm/updateShuttleStateFromProps.js +39 -58
  120. package/esm/updateShuttleStateFromProps.js.map +7 -0
  121. package/esm/utils.js +12 -18
  122. package/esm/utils.js.map +7 -0
  123. package/esm/withProviders.js +14 -20
  124. package/esm/withProviders.js.map +7 -0
  125. package/package.json +11 -11
  126. package/types/AnimationState.d.ts +3 -2
  127. package/types/DSShuttle.d.ts +2 -39
  128. package/types/SearchState.d.ts +3 -2
  129. package/types/ShuttleImpl.d.ts +3 -2
  130. package/types/ShuttleRenderer.d.ts +1 -0
  131. package/types/ShuttleState.d.ts +3 -2
  132. package/types/components/LoadingIndicator.d.ts +1 -0
  133. package/types/components/OverflowList.d.ts +1 -0
  134. package/types/components/ShuttleBreadcrumb.d.ts +1 -0
  135. package/types/components/ShuttleInfiniteScrollIndicator.d.ts +1 -0
  136. package/types/components/ShuttleListItem/ShuttleListItem.d.ts +1 -0
  137. package/types/components/ShuttleListItem/ShuttleSourceListItem.d.ts +1 -0
  138. package/types/components/ShuttleListItem/ShuttleTargetListItem.d.ts +1 -0
  139. package/types/components/ShuttleListPanel.d.ts +1 -0
  140. package/types/components/ShuttleSearchBox.d.ts +3 -1
  141. package/types/components/ShuttleSource.d.ts +1 -0
  142. package/types/components/ShuttleTarget.d.ts +1 -0
  143. package/types/components/VirtualizedItem.d.ts +1 -0
  144. package/types/components/VirtualizedList.d.ts +1 -0
  145. package/types/components/VirtualizedSortableList.d.ts +1 -0
  146. package/types/index.d.ts +1 -1
  147. package/types/updateShuttleStateFromProps.d.ts +3 -1
  148. package/types/withProviders.d.ts +1 -0
@@ -1,137 +1,126 @@
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/web.dom-collections.iterator.js');
7
- require('core-js/modules/esnext.async-iterator.filter.js');
8
- require('core-js/modules/esnext.iterator.constructor.js');
9
- require('core-js/modules/esnext.iterator.filter.js');
10
- require('core-js/modules/esnext.async-iterator.for-each.js');
11
- require('core-js/modules/esnext.iterator.for-each.js');
12
- var dsUtilities = require('@elliemae/ds-utilities');
13
- var helper = require('./helper.js');
14
- var utils = require('./utils.js');
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
-
20
- 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; }
21
-
22
- 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; }
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 Shuttle_actions_exports = {};
29
+ __export(Shuttle_actions_exports, {
30
+ addToTarget: () => addToTarget,
31
+ moveItem: () => moveItem,
32
+ navigateTo: () => navigateTo,
33
+ removeFromTarget: () => removeFromTarget,
34
+ resetCheckedItems: () => resetCheckedItems,
35
+ resetMovedItems: () => resetMovedItems,
36
+ toggleItemSelection: () => toggleItemSelection
37
+ });
38
+ var React = __toESM(require("react"));
39
+ var import_ds_utilities = require("@elliemae/ds-utilities");
40
+ var import_helper = require("./helper");
41
+ var import_utils = __toESM(require("./utils"));
23
42
  function toggleItemSelection(itemId) {
24
- return state => _objectSpread(_objectSpread({}, state), {}, {
25
- checkedItems: dsUtilities.addOrRemove(state.checkedItems, itemId)
43
+ return (state) => ({
44
+ ...state,
45
+ checkedItems: (0, import_ds_utilities.addOrRemove)(state.checkedItems, itemId)
26
46
  });
27
47
  }
28
48
  function navigateTo(item, dest) {
29
- const hierarchyType = helper.getHierarchyTypeName(dest);
30
- return state => {
31
- const indexInHierarchy = state[hierarchyType].findIndex(hItem => hItem.id === item.id);
49
+ const hierarchyType = (0, import_helper.getHierarchyTypeName)(dest);
50
+ return (state) => {
51
+ const indexInHierarchy = state[hierarchyType].findIndex((hItem) => hItem.id === item.id);
32
52
  const hierarchy = state[hierarchyType];
33
- return _objectSpread(_objectSpread({}, state), {}, {
53
+ return {
54
+ ...state,
34
55
  [hierarchyType]: indexInHierarchy !== -1 ? hierarchy.slice(0, indexInHierarchy + 1) : [...hierarchy, item]
35
- });
56
+ };
36
57
  };
37
58
  }
38
59
  function moveItem(item) {
39
- return state => {
40
- const movedItems = helper.toggleInObject(state.movedItems, item.id, item);
41
- return _objectSpread(_objectSpread({}, state), {}, {
60
+ return (state) => {
61
+ const movedItems = (0, import_helper.toggleInObject)(state.movedItems, item.id, item);
62
+ return {
63
+ ...state,
42
64
  movedItems
43
- });
65
+ };
44
66
  };
45
67
  }
46
68
  const defaultOptions = {
47
- parentField: 'parent',
48
- idField: 'id',
49
- op: hasMoved => !hasMoved
50
- }; // todo: optimize this
51
-
52
- function getItemDeep(_ref) {
53
- let {
54
- collection,
55
- id,
56
- options
57
- } = _ref;
58
-
59
- const {
60
- idField
61
- } = _objectSpread(_objectSpread({}, defaultOptions), options);
62
-
63
- const itemIndex = collection.findIndex(fItem => fItem[idField] === id); // get item with nested children
64
-
69
+ parentField: "parent",
70
+ idField: "id",
71
+ op: (hasMoved) => !hasMoved
72
+ };
73
+ function getItemDeep({ collection, id, options }) {
74
+ const { idField } = { ...defaultOptions, ...options };
75
+ const itemIndex = collection.findIndex((fItem) => fItem[idField] === id);
65
76
  const item = collection[itemIndex];
66
- const children = item !== null && item !== void 0 && item.hasChildren ? dsUtilities.compose(utils.getChildren({
67
- index: itemIndex
68
- }))(collection) || [] : [];
69
- return {
70
- item,
71
- children
72
- };
77
+ const children = item?.hasChildren ? (0, import_ds_utilities.compose)(import_utils.default.getChildren({ index: itemIndex }))(collection) || [] : [];
78
+ return { item, children };
73
79
  }
74
-
75
80
  function addToTarget(itemToAdd, collection) {
76
- return (state, _ref2) => {
77
- let {
78
- idField
79
- } = _ref2;
81
+ return (state, { idField }) => {
80
82
  const items = collection || state.preparedItems;
81
- const {
82
- item,
83
- children
84
- } = getItemDeep({
83
+ const { item, children } = getItemDeep({
85
84
  collection: items,
86
85
  id: itemToAdd[idField]
87
86
  });
88
- return _objectSpread(_objectSpread({}, state), {}, {
87
+ return {
88
+ ...state,
89
89
  movedItems: [...state.movedItems, item],
90
90
  targetItems: [...state.targetItems, item, ...children]
91
- });
91
+ };
92
92
  };
93
- } // todo: optimize this
94
-
93
+ }
95
94
  function removeFromTarget(itemToRemove) {
96
- return (state, _ref3) => {
97
- let {
98
- idField
99
- } = _ref3;
100
- let targetItems = dsUtilities.cloneDeep(state.targetItems);
101
- const itemIndex = targetItems.findIndex(fItem => fItem.id === itemToRemove.id);
95
+ return (state, { idField }) => {
96
+ let targetItems = (0, import_ds_utilities.cloneDeep)(state.targetItems);
97
+ const itemIndex = targetItems.findIndex((fItem) => fItem.id === itemToRemove.id);
102
98
  const item = targetItems[itemIndex];
103
- const children = item !== null && item !== void 0 && item.hasChildren ? dsUtilities.compose(helper.filterMovedItems(state.movedItems), utils.getChildren({
104
- index: itemIndex
105
- }))(targetItems) || [] : [];
99
+ const children = item?.hasChildren ? (0, import_ds_utilities.compose)((0, import_helper.filterMovedItems)(state.movedItems), import_utils.default.getChildren({ index: itemIndex }))(targetItems) || [] : [];
106
100
  targetItems.splice(itemIndex, 1);
107
-
108
- if (item !== null && item !== void 0 && item.hasChildren && children.length) {
109
- const childrenHash = dsUtilities.hashArray(children, 'id');
110
- targetItems = targetItems.filter(i => !childrenHash[i.id]);
101
+ if (item?.hasChildren && children.length) {
102
+ const childrenHash = (0, import_ds_utilities.hashArray)(children, "id");
103
+ targetItems = targetItems.filter((i) => !childrenHash[i.id]);
111
104
  }
112
-
113
- return _objectSpread(_objectSpread({}, state), {}, {
114
- movedItems: state.movedItems.filter(mItem => mItem[idField] !== itemToRemove[idField]),
105
+ return {
106
+ ...state,
107
+ movedItems: state.movedItems.filter((mItem) => mItem[idField] !== itemToRemove[idField]),
115
108
  targetItems
116
- });
109
+ };
117
110
  };
118
111
  }
119
112
  function resetCheckedItems() {
120
- return state => _objectSpread(_objectSpread({}, state), {}, {
113
+ return (state) => ({
114
+ ...state,
121
115
  checkedItems: []
122
116
  });
123
117
  }
124
118
  function resetMovedItems() {
125
- return state => _objectSpread(_objectSpread({}, state), {}, {
119
+ return (state) => ({
120
+ ...state,
126
121
  movedItems: [],
127
122
  targetItems: []
128
123
  });
129
124
  }
130
-
131
- exports.addToTarget = addToTarget;
132
- exports.moveItem = moveItem;
133
- exports.navigateTo = navigateTo;
134
- exports.removeFromTarget = removeFromTarget;
135
- exports.resetCheckedItems = resetCheckedItems;
136
- exports.resetMovedItems = resetMovedItems;
137
- exports.toggleItemSelection = toggleItemSelection;
125
+ module.exports = __toCommonJS(Shuttle_actions_exports);
126
+ //# sourceMappingURL=Shuttle.actions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Shuttle.actions.js", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import {\n addOrRemove,\n cloneDeep,\n hashArray,\n compose,\n} from '@elliemae/ds-utilities';\nimport {\n getHierarchyTypeName,\n toggleInObject,\n filterMovedItems,\n} from './helper';\n\nimport utils from './utils';\n\nexport function toggleItemSelection(itemId) {\n return state => ({\n ...state,\n checkedItems: addOrRemove(state.checkedItems, itemId),\n });\n}\nexport function navigateTo(item, dest) {\n const hierarchyType = getHierarchyTypeName(dest);\n return state => {\n const indexInHierarchy = state[hierarchyType].findIndex(\n hItem => hItem.id === item.id,\n );\n const hierarchy = state[hierarchyType];\n return {\n ...state,\n [hierarchyType]:\n indexInHierarchy !== -1\n ? hierarchy.slice(0, indexInHierarchy + 1)\n : [...hierarchy, item],\n };\n };\n}\nexport function moveItem(item) {\n return state => {\n const movedItems = toggleInObject(state.movedItems, item.id, item);\n return {\n ...state,\n movedItems,\n };\n };\n}\n\nconst defaultOptions = {\n parentField: 'parent',\n idField: 'id',\n op: hasMoved => !hasMoved,\n};\n\n// todo: optimize this\nfunction getItemDeep({ collection, id, options }) {\n const { idField } = { ...defaultOptions, ...options };\n const itemIndex = collection.findIndex(fItem => fItem[idField] === id);\n\n // get item with nested children\n const item = collection[itemIndex];\n const children = item?.hasChildren\n ? compose(utils.getChildren({ index: itemIndex }))(collection) || []\n : [];\n\n return { item, children };\n}\n\nexport function addToTarget(itemToAdd, collection) {\n return (state, { idField }) => {\n const items = collection || state.preparedItems;\n\n const { item, children } = getItemDeep({\n collection: items,\n id: itemToAdd[idField],\n });\n\n return {\n ...state,\n movedItems: [...state.movedItems, item],\n targetItems: [...state.targetItems, item, ...children],\n };\n };\n}\n\n// todo: optimize this\nexport function removeFromTarget(itemToRemove) {\n return (state, { idField }) => {\n let targetItems = cloneDeep(state.targetItems);\n\n const itemIndex = targetItems.findIndex(\n fItem => fItem.id === itemToRemove.id,\n );\n\n const item = targetItems[itemIndex];\n const children = item?.hasChildren\n ? compose(\n filterMovedItems(state.movedItems),\n utils.getChildren({ index: itemIndex }),\n )(targetItems) || []\n : [];\n\n targetItems.splice(itemIndex, 1);\n if (item?.hasChildren && children.length) {\n const childrenHash = hashArray(children, 'id');\n targetItems = targetItems.filter(i => !childrenHash[i.id]);\n }\n\n return {\n ...state,\n movedItems: state.movedItems.filter(\n mItem => mItem[idField] !== itemToRemove[idField],\n ),\n targetItems,\n };\n };\n}\n\nexport function resetCheckedItems() {\n return state => ({\n ...state,\n checkedItems: [],\n });\n}\nexport function resetMovedItems() {\n return state => ({\n ...state,\n movedItems: [],\n targetItems: [],\n });\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAKO;AACP,oBAIO;AAEP,mBAAkB;AAEX,6BAA6B,QAAQ;AAC1C,SAAO,WAAU;AAAA,OACZ;AAAA,IACH,cAAc,qCAAY,MAAM,cAAc;AAAA;AAAA;AAG3C,oBAAoB,MAAM,MAAM;AACrC,QAAM,gBAAgB,wCAAqB;AAC3C,SAAO,WAAS;AACd,UAAM,mBAAmB,MAAM,eAAe,UAC5C,WAAS,MAAM,OAAO,KAAK;AAE7B,UAAM,YAAY,MAAM;AACxB,WAAO;AAAA,SACF;AAAA,OACF,gBACC,qBAAqB,KACjB,UAAU,MAAM,GAAG,mBAAmB,KACtC,CAAC,GAAG,WAAW;AAAA;AAAA;AAAA;AAIpB,kBAAkB,MAAM;AAC7B,SAAO,WAAS;AACd,UAAM,aAAa,kCAAe,MAAM,YAAY,KAAK,IAAI;AAC7D,WAAO;AAAA,SACF;AAAA,MACH;AAAA;AAAA;AAAA;AAKN,MAAM,iBAAiB;AAAA,EACrB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,IAAI,cAAY,CAAC;AAAA;AAInB,qBAAqB,EAAE,YAAY,IAAI,WAAW;AAChD,QAAM,EAAE,YAAY,KAAK,mBAAmB;AAC5C,QAAM,YAAY,WAAW,UAAU,WAAS,MAAM,aAAa;AAGnE,QAAM,OAAO,WAAW;AACxB,QAAM,WAAW,MAAM,cACnB,iCAAQ,qBAAM,YAAY,EAAE,OAAO,cAAc,eAAe,KAChE;AAEJ,SAAO,EAAE,MAAM;AAAA;AAGV,qBAAqB,WAAW,YAAY;AACjD,SAAO,CAAC,OAAO,EAAE,cAAc;AAC7B,UAAM,QAAQ,cAAc,MAAM;AAElC,UAAM,EAAE,MAAM,aAAa,YAAY;AAAA,MACrC,YAAY;AAAA,MACZ,IAAI,UAAU;AAAA;AAGhB,WAAO;AAAA,SACF;AAAA,MACH,YAAY,CAAC,GAAG,MAAM,YAAY;AAAA,MAClC,aAAa,CAAC,GAAG,MAAM,aAAa,MAAM,GAAG;AAAA;AAAA;AAAA;AAM5C,0BAA0B,cAAc;AAC7C,SAAO,CAAC,OAAO,EAAE,cAAc;AAC7B,QAAI,cAAc,mCAAU,MAAM;AAElC,UAAM,YAAY,YAAY,UAC5B,WAAS,MAAM,OAAO,aAAa;AAGrC,UAAM,OAAO,YAAY;AACzB,UAAM,WAAW,MAAM,cACnB,iCACE,oCAAiB,MAAM,aACvB,qBAAM,YAAY,EAAE,OAAO,cAC3B,gBAAgB,KAClB;AAEJ,gBAAY,OAAO,WAAW;AAC9B,QAAI,MAAM,eAAe,SAAS,QAAQ;AACxC,YAAM,eAAe,mCAAU,UAAU;AACzC,oBAAc,YAAY,OAAO,OAAK,CAAC,aAAa,EAAE;AAAA;AAGxD,WAAO;AAAA,SACF;AAAA,MACH,YAAY,MAAM,WAAW,OAC3B,WAAS,MAAM,aAAa,aAAa;AAAA,MAE3C;AAAA;AAAA;AAAA;AAKC,6BAA6B;AAClC,SAAO,WAAU;AAAA,OACZ;AAAA,IACH,cAAc;AAAA;AAAA;AAGX,2BAA2B;AAChC,SAAO,WAAU;AAAA,OACZ;AAAA,IACH,YAAY;AAAA,IACZ,aAAa;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,50 +1,47 @@
1
- 'use strict';
2
-
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
- require('core-js/modules/esnext.async-iterator.filter.js');
6
- require('core-js/modules/esnext.iterator.constructor.js');
7
- require('core-js/modules/esnext.iterator.filter.js');
8
- require('core-js/modules/esnext.async-iterator.for-each.js');
9
- require('core-js/modules/esnext.iterator.for-each.js');
10
- var react = require('react');
11
- var dsUtilities = require('@elliemae/ds-utilities');
12
- var withProviders = require('./withProviders.js');
13
- var helper = require('./helper.js');
14
- var SearchState = require('./SearchState.js');
15
- var ShuttleState = require('./ShuttleState.js');
16
-
17
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
-
19
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
21
-
22
- const _excluded = ["state"];
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
-
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 ShuttleContainer_exports = {};
29
+ __export(ShuttleContainer_exports, {
30
+ default: () => ShuttleContainer_default
31
+ });
32
+ var React = __toESM(require("react"));
33
+ var import_react = require("react");
34
+ var import_ds_utilities = require("@elliemae/ds-utilities");
35
+ var import_withProviders = require("./withProviders");
36
+ var import_helper = require("./helper");
37
+ var import_SearchState = require("./SearchState");
38
+ var import_ShuttleState = require("./ShuttleState");
28
39
  function filterItemsByTerm(items, term) {
29
- return items.filter(item => item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1 || String(item.id).indexOf(String(term).toLowerCase()) !== -1);
40
+ return items.filter((item) => item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1 || String(item.id).indexOf(String(term).toLowerCase()) !== -1);
30
41
  }
31
-
32
- function ShuttleContainer(_ref) {
33
- let {
34
- items = [],
35
- children
36
- } = _ref;
37
-
38
- const _useContext = react.useContext(ShuttleState.Context),
39
- {
40
- state: shuttleState
41
- } = _useContext,
42
- handlers = _objectWithoutProperties__default["default"](_useContext, _excluded);
43
-
44
- const {
45
- state: searchState
46
- } = react.useContext(SearchState.Context);
47
-
42
+ function ShuttleContainer({ items = [], children }) {
43
+ const { state: shuttleState, ...handlers } = (0, import_react.useContext)(import_ShuttleState.ShuttleState.Context);
44
+ const { state: searchState } = (0, import_react.useContext)(import_SearchState.SearchState.Context);
48
45
  const {
49
46
  movedItems,
50
47
  hierarchy,
@@ -58,30 +55,28 @@ function ShuttleContainer(_ref) {
58
55
  moveCheckedItems,
59
56
  moveItem,
60
57
  navigate
61
- } = _objectSpread(_objectSpread(_objectSpread({}, shuttleState), searchState), handlers);
62
-
63
- const sourceItems = react.useMemo(() => dsUtilities.compose(items => items.filter(item => !movedItems[item.id]), items => searchTerm && searching ? filterItemsByTerm(items, searchTerm) : items, items => helper.filterItemsByHierarchy(items, helper.getActiveIdFromHierarchy(hierarchy).id), items => helper.prepareItems(items))(items), [items, searchTerm, searching, hierarchy, movedItems]);
64
- const targetItems = react.useMemo(() => {
65
- const hierarchyId = helper.getActiveIdFromHierarchy(hierarchyDest).id;
66
- return dsUtilities.compose(items => dsUtilities.sortBy(items, ['name']), items => hierarchyId ? helper.filterItemsByHierarchy(items, hierarchyId).filter(item => !movedItems[item.id]) : dsUtilities.uniqBy(dsUtilities.values(movedItems), 'id'))(items);
58
+ } = { ...shuttleState, ...searchState, ...handlers };
59
+ const sourceItems = (0, import_react.useMemo)(() => (0, import_ds_utilities.compose)((items2) => items2.filter((item) => !movedItems[item.id]), (items2) => searchTerm && searching ? filterItemsByTerm(items2, searchTerm) : items2, (items2) => (0, import_helper.filterItemsByHierarchy)(items2, (0, import_helper.getActiveIdFromHierarchy)(hierarchy).id), (items2) => (0, import_helper.prepareItems)(items2))(items), [items, searchTerm, searching, hierarchy, movedItems]);
60
+ const targetItems = (0, import_react.useMemo)(() => {
61
+ const hierarchyId = (0, import_helper.getActiveIdFromHierarchy)(hierarchyDest).id;
62
+ return (0, import_ds_utilities.compose)((items2) => (0, import_ds_utilities.sortBy)(items2, ["name"]), (items2) => hierarchyId ? (0, import_helper.filterItemsByHierarchy)(items2, hierarchyId).filter((item) => !movedItems[item.id]) : (0, import_ds_utilities.uniqBy)((0, import_ds_utilities.values)(movedItems), "id"))(items);
67
63
  }, [items, searching, hierarchyDest, movedItems]);
68
- return dsUtilities.isFunction(children) && children({
64
+ return (0, import_ds_utilities.isFunction)(children) && children({
69
65
  checkedItems,
70
66
  hierarchy,
71
67
  hierarchyDest,
72
68
  onCheckItem: toggleItemSelection,
73
69
  onClearCheckedItems: resetCheckedItems,
74
70
  onClearMovedItems: resetMovedItems,
75
- onMoveCheckedItems: () => moveCheckedItems(helper.getItemsById(checkedItems, items)),
76
- onMoveItemToSource: item => moveItem(item, false),
77
- onMoveItemToTarget: item => moveItem(item, true),
78
- onNavigateOnSourceTo: item => navigate(item, false),
79
- onNavigateOnTargetTo: item => navigate(item, true),
71
+ onMoveCheckedItems: () => moveCheckedItems((0, import_helper.getItemsById)(checkedItems, items)),
72
+ onMoveItemToSource: (item) => moveItem(item, false),
73
+ onMoveItemToTarget: (item) => moveItem(item, true),
74
+ onNavigateOnSourceTo: (item) => navigate(item, false),
75
+ onNavigateOnTargetTo: (item) => navigate(item, true),
80
76
  sourceItems,
81
77
  targetItems
82
78
  });
83
79
  }
84
-
85
- var ShuttleContainer$1 = withProviders(ShuttleContainer);
86
-
87
- module.exports = ShuttleContainer$1;
80
+ var ShuttleContainer_default = (0, import_withProviders.withProviders)(ShuttleContainer);
81
+ module.exports = __toCommonJS(ShuttleContainer_exports);
82
+ //# sourceMappingURL=ShuttleContainer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ShuttleContainer.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable no-shadow */\nimport { useContext, useMemo } from 'react';\nimport {\n isFunction,\n compose,\n uniqBy,\n values,\n sortBy,\n} from '@elliemae/ds-utilities';\nimport { withProviders } from './withProviders';\nimport {\n prepareItems,\n getActiveIdFromHierarchy,\n filterItemsByHierarchy,\n getItemsById,\n} from './helper';\nimport { SearchState } from './SearchState';\nimport { ShuttleState } from './ShuttleState';\n\nfunction filterItemsByTerm(items, term) {\n return items.filter(\n item =>\n item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1 ||\n String(item.id).indexOf(String(term).toLowerCase()) !== -1,\n );\n}\n\nfunction ShuttleContainer({ items = [], children }) {\n const { state: shuttleState, ...handlers } = useContext(\n ShuttleState.Context,\n );\n const { state: searchState } = useContext(SearchState.Context);\n const {\n movedItems,\n hierarchy,\n hierarchyDest,\n checkedItems,\n searchTerm,\n searching,\n toggleItemSelection,\n resetCheckedItems,\n resetMovedItems,\n moveCheckedItems,\n moveItem,\n navigate,\n } = { ...shuttleState, ...searchState, ...handlers };\n\n const sourceItems = useMemo(\n () =>\n compose(\n items => items.filter(item => !movedItems[item.id]),\n items =>\n searchTerm && searching\n ? filterItemsByTerm(items, searchTerm)\n : items,\n items =>\n filterItemsByHierarchy(items, getActiveIdFromHierarchy(hierarchy).id),\n items => prepareItems(items),\n )(items),\n [items, searchTerm, searching, hierarchy, movedItems],\n );\n\n const targetItems = useMemo(() => {\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n return compose(\n items => sortBy(items, ['name']),\n items =>\n hierarchyId\n ? filterItemsByHierarchy(items, hierarchyId).filter(\n item => !movedItems[item.id],\n )\n : uniqBy(values(movedItems), 'id'),\n )(items);\n }, [items, searching, hierarchyDest, movedItems]);\n\n return (\n isFunction(children) &&\n children({\n checkedItems,\n hierarchy,\n hierarchyDest,\n onCheckItem: toggleItemSelection,\n onClearCheckedItems: resetCheckedItems,\n onClearMovedItems: resetMovedItems,\n onMoveCheckedItems: () =>\n moveCheckedItems(getItemsById(checkedItems, items)),\n onMoveItemToSource: item => moveItem(item, false),\n onMoveItemToTarget: item => moveItem(item, true),\n onNavigateOnSourceTo: item => navigate(item, false),\n onNavigateOnTargetTo: item => navigate(item, true),\n sourceItems,\n targetItems,\n })\n );\n}\n\nexport default withProviders(ShuttleContainer);\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAoC;AACpC,0BAMO;AACP,2BAA8B;AAC9B,oBAKO;AACP,yBAA4B;AAC5B,0BAA6B;AAE7B,2BAA2B,OAAO,MAAM;AACtC,SAAO,MAAM,OACX,UACE,KAAK,KAAK,cAAc,QAAQ,OAAO,MAAM,mBAAmB,MAChE,OAAO,KAAK,IAAI,QAAQ,OAAO,MAAM,mBAAmB;AAAA;AAI9D,0BAA0B,EAAE,QAAQ,IAAI,YAAY;AAClD,QAAM,EAAE,OAAO,iBAAiB,aAAa,6BAC3C,iCAAa;AAEf,QAAM,EAAE,OAAO,gBAAgB,6BAAW,+BAAY;AACtD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,KAAK,iBAAiB,gBAAgB;AAE1C,QAAM,cAAc,0BAClB,MACE,iCACE,YAAS,OAAM,OAAO,UAAQ,CAAC,WAAW,KAAK,MAC/C,YACE,cAAc,YACV,kBAAkB,QAAO,cACzB,QACN,YACE,0CAAuB,QAAO,4CAAyB,WAAW,KACpE,YAAS,gCAAa,SACtB,QACJ,CAAC,OAAO,YAAY,WAAW,WAAW;AAG5C,QAAM,cAAc,0BAAQ,MAAM;AAChC,UAAM,cAAc,4CAAyB,eAAe;AAC5D,WAAO,iCACL,YAAS,gCAAO,QAAO,CAAC,UACxB,YACE,cACI,0CAAuB,QAAO,aAAa,OACzC,UAAQ,CAAC,WAAW,KAAK,OAE3B,gCAAO,gCAAO,aAAa,OACjC;AAAA,KACD,CAAC,OAAO,WAAW,eAAe;AAErC,SACE,oCAAW,aACX,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,qBAAqB;AAAA,IACrB,mBAAmB;AAAA,IACnB,oBAAoB,MAClB,iBAAiB,gCAAa,cAAc;AAAA,IAC9C,oBAAoB,UAAQ,SAAS,MAAM;AAAA,IAC3C,oBAAoB,UAAQ,SAAS,MAAM;AAAA,IAC3C,sBAAsB,UAAQ,SAAS,MAAM;AAAA,IAC7C,sBAAsB,UAAQ,SAAS,MAAM;AAAA,IAC7C;AAAA,IACA;AAAA;AAAA;AAKN,IAAO,2BAAQ,wCAAc;",
6
+ "names": []
7
+ }