@elliemae/ds-shuttle 1.56.0-rc.2 → 1.57.0-rc.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 (89) hide show
  1. package/cjs/DSShuttle.js +8 -12
  2. package/cjs/DSShuttle.js.map +1 -1
  3. package/cjs/Shuttle.actions.js +7 -7
  4. package/cjs/Shuttle.actions.js.map +1 -1
  5. package/cjs/ShuttleContainer.js +6 -6
  6. package/cjs/ShuttleContainer.js.map +1 -1
  7. package/cjs/ShuttleImpl.js +13 -17
  8. package/cjs/ShuttleImpl.js.map +1 -1
  9. package/cjs/ShuttleRenderer.js +8 -12
  10. package/cjs/ShuttleRenderer.js.map +1 -1
  11. package/cjs/ShuttleState.js +1 -1
  12. package/cjs/classedComponents.js +2 -2
  13. package/cjs/classedComponents.js.map +1 -1
  14. package/cjs/components/LoadingIndicator.js +2 -2
  15. package/cjs/components/LoadingIndicator.js.map +1 -1
  16. package/cjs/components/ShuttleBreadcrumb.js +1 -1
  17. package/cjs/components/ShuttleBreadcrumb.js.map +1 -1
  18. package/cjs/components/ShuttleInfiniteScrollIndicator.js +1 -1
  19. package/cjs/components/ShuttleInfiniteScrollIndicator.js.map +1 -1
  20. package/cjs/components/ShuttleListItem/ActionButtons.js +5 -10
  21. package/cjs/components/ShuttleListItem/ActionButtons.js.map +1 -1
  22. package/cjs/components/ShuttleListItem/ShuttleListItem.js +4 -5
  23. package/cjs/components/ShuttleListItem/ShuttleListItem.js.map +1 -1
  24. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +4 -7
  25. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +1 -1
  26. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +4 -7
  27. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +1 -1
  28. package/cjs/components/ShuttleListPanel.js +2 -2
  29. package/cjs/components/ShuttleListPanel.js.map +1 -1
  30. package/cjs/components/ShuttleSearchBox.js +4 -5
  31. package/cjs/components/ShuttleSearchBox.js.map +1 -1
  32. package/cjs/components/ShuttleSource.js +13 -19
  33. package/cjs/components/ShuttleSource.js.map +1 -1
  34. package/cjs/components/ShuttleTarget.js +6 -9
  35. package/cjs/components/ShuttleTarget.js.map +1 -1
  36. package/cjs/helper.js +4 -4
  37. package/cjs/helper.js.map +1 -1
  38. package/cjs/index.js +8 -12
  39. package/cjs/index.js.map +1 -1
  40. package/cjs/updateShuttleStateFromProps.js +6 -6
  41. package/cjs/updateShuttleStateFromProps.js.map +1 -1
  42. package/cjs/utils.js +2 -2
  43. package/cjs/utils.js.map +1 -1
  44. package/cjs/withProviders.js +1 -1
  45. package/esm/DSShuttle.js +8 -12
  46. package/esm/DSShuttle.js.map +1 -1
  47. package/esm/Shuttle.actions.js +1 -1
  48. package/esm/Shuttle.actions.js.map +1 -1
  49. package/esm/ShuttleContainer.js +1 -1
  50. package/esm/ShuttleContainer.js.map +1 -1
  51. package/esm/ShuttleImpl.js +8 -12
  52. package/esm/ShuttleImpl.js.map +1 -1
  53. package/esm/ShuttleRenderer.js +8 -12
  54. package/esm/ShuttleRenderer.js.map +1 -1
  55. package/esm/ShuttleState.js +1 -1
  56. package/esm/classedComponents.js +2 -2
  57. package/esm/classedComponents.js.map +1 -1
  58. package/esm/components/LoadingIndicator.js +1 -1
  59. package/esm/components/LoadingIndicator.js.map +1 -1
  60. package/esm/components/ShuttleBreadcrumb.js +1 -1
  61. package/esm/components/ShuttleBreadcrumb.js.map +1 -1
  62. package/esm/components/ShuttleInfiniteScrollIndicator.js +1 -1
  63. package/esm/components/ShuttleInfiniteScrollIndicator.js.map +1 -1
  64. package/esm/components/ShuttleListItem/ActionButtons.js +2 -4
  65. package/esm/components/ShuttleListItem/ActionButtons.js.map +1 -1
  66. package/esm/components/ShuttleListItem/ShuttleListItem.js +3 -3
  67. package/esm/components/ShuttleListItem/ShuttleListItem.js.map +1 -1
  68. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +4 -7
  69. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +1 -1
  70. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +4 -7
  71. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +1 -1
  72. package/esm/components/ShuttleListPanel.js +2 -2
  73. package/esm/components/ShuttleListPanel.js.map +1 -1
  74. package/esm/components/ShuttleSearchBox.js +2 -2
  75. package/esm/components/ShuttleSearchBox.js.map +1 -1
  76. package/esm/components/ShuttleSource.js +8 -12
  77. package/esm/components/ShuttleSource.js.map +1 -1
  78. package/esm/components/ShuttleTarget.js +6 -9
  79. package/esm/components/ShuttleTarget.js.map +1 -1
  80. package/esm/helper.js +1 -1
  81. package/esm/helper.js.map +1 -1
  82. package/esm/index.js +8 -12
  83. package/esm/index.js.map +1 -1
  84. package/esm/updateShuttleStateFromProps.js +1 -1
  85. package/esm/updateShuttleStateFromProps.js.map +1 -1
  86. package/esm/utils.js +1 -1
  87. package/esm/utils.js.map +1 -1
  88. package/esm/withProviders.js +1 -1
  89. package/package.json +6 -6
@@ -3,7 +3,7 @@
3
3
  var _extends = require('@babel/runtime/helpers/extends');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
5
  var React = require('react');
6
- var DSButton = require('@elliemae/ds-basic/Button');
6
+ var DSButton = require('@elliemae/ds-button');
7
7
  var classedComponents = require('../classedComponents.js');
8
8
  var helper = require('../helper.js');
9
9
  var AnimationState = require('../AnimationState.js');
@@ -14,11 +14,11 @@ var components_LoadingIndicator = require('./LoadingIndicator.js');
14
14
  require('@elliemae/ds-classnames');
15
15
  require('./ShuttleBreadcrumb.js');
16
16
  require('react-spring/web.cjs');
17
- require('@elliemae/ds-basic/Breadcrumb');
17
+ require('@elliemae/ds-breadcrumb');
18
18
  require('../animation/animationConfig.js');
19
19
  require('./OverflowList.js');
20
20
  require('@babel/runtime/helpers/defineProperty');
21
- require('@elliemae/ds-utilities/utils');
21
+ require('@elliemae/ds-utilities');
22
22
  require('treetabular');
23
23
  require('@babel/runtime/helpers/slicedToArray');
24
24
  require('constate');
@@ -27,14 +27,11 @@ require('react-window-infinite-loader');
27
27
  require('react-virtualized-auto-sizer');
28
28
  require('./VirtualizedItem.js');
29
29
  require('./ShuttleListItem/ActionButtons.js');
30
- require('@elliemae/ds-icons/CloseCircle');
31
- require('@elliemae/ds-icons/ArrowShortRight');
32
- require('@elliemae/ds-icons/ArrowShortReturn');
30
+ require('@elliemae/ds-icons');
33
31
  require('./ShuttleListItem/ShuttleListItem.js');
34
- require('@elliemae/ds-basic/TruncatedTooltipText');
32
+ require('@elliemae/ds-truncated-tooltip-text');
35
33
  require('react-sortable-hoc');
36
- require('@elliemae/ds-icons/GripperVertical');
37
- require('@elliemae/ds-basic/CircularProgressIndicator');
34
+ require('@elliemae/ds-circular-progress-indicator');
38
35
  require('styled-components');
39
36
 
40
37
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1 +1 @@
1
- {"version":3,"file":"ShuttleTarget.js","sources":["../../../src/components/ShuttleTarget.tsx"],"sourcesContent":["import React, { useContext, useEffect, useRef } from 'react';\nimport DSButton from '@elliemae/ds-basic/Button';\nimport { isFunction, orderBy } from '@elliemae/ds-utilities/utils';\nimport { useForceUpdate } from '@elliemae/ds-utilities/hooks';\nimport {\n EmptyMessage,\n Overflow,\n ShuttleFooter,\n ShuttleFooterActions,\n ShuttleFooterCounter,\n ShuttleHeader,\n ShuttleHeaderBreadcrumb,\n ShuttleList,\n ShuttleWrapper,\n LoadingList,\n} from '../classedComponents';\nimport { getActiveIdFromHierarchy, moveItems } from '../helper';\nimport AnimationContext from '../AnimationState';\nimport VirtualizedList from './VirtualizedList';\nimport ShuttleTargetListItem from './ShuttleListItem/ShuttleTargetListItem';\nimport VirtualizedSortableList from './VirtualizedSortableList';\nimport LoadingIndicator from './LoadingIndicator';\n\nconst noop = () => {};\n\nfunction ShuttleTarget({\n items = [],\n hierarchy = [],\n onNavigateTo = noop,\n onMoveItem = noop,\n onClearMovedItems = noop,\n emptyMessage = 'No items selected',\n composeTargetItemProps = () => ({}),\n targetSortable = false,\n onSortEnd = noop,\n targetClearItemsText = 'CLEAR ALL',\n renderTargetCounter = amount => `${amount} items`,\n loading = false,\n}) {\n const {\n state: { isMoving = false },\n } = useContext(AnimationContext.Context);\n const isEmpty = !items.length;\n const emptyContent = loading ? (\n <LoadingIndicator />\n ) : (\n <EmptyMessage>{emptyMessage}</EmptyMessage>\n );\n\n const ComponentList = targetSortable\n ? VirtualizedSortableList\n : VirtualizedList;\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n onSortEnd({\n sourceItem: items[oldIndex],\n targetItem: items[newIndex],\n });\n };\n\n return (\n <ShuttleWrapper>\n <ShuttleHeader>\n <ShuttleHeaderBreadcrumb\n hierarchy={hierarchy}\n onNavigateTo={onNavigateTo}\n />\n </ShuttleHeader>\n <ShuttleList classProps={{ showPulse: isMoving }}>\n {!loading && !isEmpty ? (\n <Overflow\n activeHierarchy={getActiveIdFromHierarchy(hierarchy).id}\n classProps={{\n empty: !items.length,\n }}\n >\n <ComponentList\n itemRenderer={({ item, ...rest }) => (\n <ShuttleTargetListItem\n data-testid=\"target-list-item\"\n {...rest}\n {...composeTargetItemProps(item, rest)}\n isRoot={!getActiveIdFromHierarchy(hierarchy).id}\n item={item}\n onMoveToSource={onMoveItem}\n onNavigateOnTargetTo={onNavigateTo}\n showSortHandler={targetSortable}\n />\n )}\n items={items}\n onSortEnd={handleSortEnd}\n target\n />\n </Overflow>\n ) : (\n <LoadingList>{emptyContent}</LoadingList>\n )}\n </ShuttleList>\n <ShuttleFooter>\n <ShuttleFooterActions>\n {!!items.length && (\n <DSButton\n containerProps={{ 'data-testid': 'shuttle-clear-all-target' }}\n buttonType=\"link\"\n labelText={targetClearItemsText}\n onClick={onClearMovedItems}\n />\n )}\n </ShuttleFooterActions>\n <ShuttleFooterCounter>\n {renderTargetCounter(items.length)}\n </ShuttleFooterCounter>\n </ShuttleFooter>\n </ShuttleWrapper>\n );\n}\n\nexport default ShuttleTarget;\n"],"names":["noop","ShuttleTarget","items","hierarchy","onNavigateTo","onMoveItem","onClearMovedItems","emptyMessage","composeTargetItemProps","targetSortable","onSortEnd","targetClearItemsText","renderTargetCounter","amount","loading","useContext","AnimationContext","Context","state","isMoving","isEmpty","length","emptyContent","React","LoadingIndicator","EmptyMessage","ComponentList","VirtualizedSortableList","VirtualizedList","handleSortEnd","oldIndex","newIndex","sourceItem","targetItem","ShuttleWrapper","ShuttleHeader","ShuttleHeaderBreadcrumb","ShuttleList","showPulse","Overflow","getActiveIdFromHierarchy","id","empty","item","rest","ShuttleTargetListItem","LoadingList","ShuttleFooter","ShuttleFooterActions","DSButton","ShuttleFooterCounter"],"mappings":"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"}
1
+ {"version":3,"file":"ShuttleTarget.js","sources":["../../../src/components/ShuttleTarget.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport DSButton from '@elliemae/ds-button';\n\nimport {\n EmptyMessage,\n Overflow,\n ShuttleFooter,\n ShuttleFooterActions,\n ShuttleFooterCounter,\n ShuttleHeader,\n ShuttleHeaderBreadcrumb,\n ShuttleList,\n ShuttleWrapper,\n LoadingList,\n} from '../classedComponents';\nimport { getActiveIdFromHierarchy } from '../helper';\nimport AnimationContext from '../AnimationState';\nimport VirtualizedList from './VirtualizedList';\nimport ShuttleTargetListItem from './ShuttleListItem/ShuttleTargetListItem';\nimport VirtualizedSortableList from './VirtualizedSortableList';\nimport LoadingIndicator from './LoadingIndicator';\n\nconst noop = () => {};\n\nfunction ShuttleTarget({\n items = [],\n hierarchy = [],\n onNavigateTo = noop,\n onMoveItem = noop,\n onClearMovedItems = noop,\n emptyMessage = 'No items selected',\n composeTargetItemProps = () => ({}),\n targetSortable = false,\n onSortEnd = noop,\n targetClearItemsText = 'CLEAR ALL',\n renderTargetCounter = (amount) => `${amount} items`,\n loading = false,\n}) {\n const {\n state: { isMoving = false },\n } = useContext(AnimationContext.Context);\n const isEmpty = !items.length;\n const emptyContent = loading ? <LoadingIndicator /> : <EmptyMessage>{emptyMessage}</EmptyMessage>;\n\n const ComponentList = targetSortable ? VirtualizedSortableList : VirtualizedList;\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n onSortEnd({\n sourceItem: items[oldIndex],\n targetItem: items[newIndex],\n });\n };\n\n return (\n <ShuttleWrapper>\n <ShuttleHeader>\n <ShuttleHeaderBreadcrumb hierarchy={hierarchy} onNavigateTo={onNavigateTo} />\n </ShuttleHeader>\n <ShuttleList classProps={{ showPulse: isMoving }}>\n {!loading && !isEmpty ? (\n <Overflow\n activeHierarchy={getActiveIdFromHierarchy(hierarchy).id}\n classProps={{\n empty: !items.length,\n }}\n >\n <ComponentList\n itemRenderer={({ item, ...rest }) => (\n <ShuttleTargetListItem\n data-testid=\"target-list-item\"\n {...rest}\n {...composeTargetItemProps(item, rest)}\n isRoot={!getActiveIdFromHierarchy(hierarchy).id}\n item={item}\n onMoveToSource={onMoveItem}\n onNavigateOnTargetTo={onNavigateTo}\n showSortHandler={targetSortable}\n />\n )}\n items={items}\n onSortEnd={handleSortEnd}\n target\n />\n </Overflow>\n ) : (\n <LoadingList>{emptyContent}</LoadingList>\n )}\n </ShuttleList>\n <ShuttleFooter>\n <ShuttleFooterActions>\n {!!items.length && (\n <DSButton\n containerProps={{ 'data-testid': 'shuttle-clear-all-target' }}\n buttonType=\"link\"\n labelText={targetClearItemsText}\n onClick={onClearMovedItems}\n />\n )}\n </ShuttleFooterActions>\n <ShuttleFooterCounter>{renderTargetCounter(items.length)}</ShuttleFooterCounter>\n </ShuttleFooter>\n </ShuttleWrapper>\n );\n}\n\nexport default ShuttleTarget;\n"],"names":["noop","ShuttleTarget","items","hierarchy","onNavigateTo","onMoveItem","onClearMovedItems","emptyMessage","composeTargetItemProps","targetSortable","onSortEnd","targetClearItemsText","renderTargetCounter","amount","loading","useContext","AnimationContext","Context","state","isMoving","isEmpty","length","emptyContent","React","LoadingIndicator","EmptyMessage","ComponentList","VirtualizedSortableList","VirtualizedList","handleSortEnd","oldIndex","newIndex","sourceItem","targetItem","ShuttleWrapper","ShuttleHeader","ShuttleHeaderBreadcrumb","ShuttleList","showPulse","Overflow","getActiveIdFromHierarchy","id","empty","item","rest","ShuttleTargetListItem","LoadingList","ShuttleFooter","ShuttleFooterActions","DSButton","ShuttleFooterCounter"],"mappings":"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"}
package/cjs/helper.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var utils = require('@elliemae/ds-utilities/utils');
6
+ var dsUtilities = require('@elliemae/ds-utilities');
7
7
  var tree = require('treetabular');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -62,7 +62,7 @@ var getItemsById = function getItemsById(ids, list) {
62
62
  });
63
63
  };
64
64
  var toggleInObject = function toggleInObject(obj, key, value) {
65
- return obj[key] ? utils.omit(obj, [key]) : _objectSpread(_objectSpread({}, obj), {}, _defineProperty__default['default']({}, key, value));
65
+ return obj[key] ? dsUtilities.omit(obj, [key]) : _objectSpread(_objectSpread({}, obj), {}, _defineProperty__default['default']({}, key, value));
66
66
  };
67
67
  var isMovable = function isMovable(item) {
68
68
  return !item.forceNotMovable && (item.hasChildren && item.isMoveableContainer || !item.hasChildren);
@@ -86,7 +86,7 @@ var moveItems = function moveItems(_ref) {
86
86
  };
87
87
  };
88
88
  var prepareItems = function prepareItems(items) {
89
- return utils.compose(tree__namespace.fixOrder(), function (items) {
89
+ return dsUtilities.compose(tree__namespace.fixOrder(), function (items) {
90
90
  return items.map(function (item) {
91
91
  return _objectSpread(_objectSpread({}, item), {}, {
92
92
  hasChildren: checkHasChildren(items, item)
@@ -116,7 +116,7 @@ function filterMovedItems(movedItems, options) {
116
116
  idField = _defaultOptions$optio2.idField,
117
117
  filterOp = _defaultOptions$optio2.op;
118
118
 
119
- var movedItemsHash = utils.hashArray(movedItems, idField);
119
+ var movedItemsHash = dsUtilities.hashArray(movedItems, idField);
120
120
  return function (items) {
121
121
  return items.filter(function (item) {
122
122
  return filterOp(!!movedItemsHash[item[idField]]);
package/cjs/helper.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sources":["../../src/helper.tsx"],"sourcesContent":["/* eslint-disable prettier/prettier */\n/* eslint-disable no-shadow,no-plusplus */\nimport { omit, compose, hashArray } from '@elliemae/ds-utilities/utils';\nimport * as tree from 'treetabular';\n\nexport const getHierarchyTypeName = (dest) =>\n !dest ? 'hierarchy' : 'hierarchyDest';\nexport const checkHasChildren = (list, currentItem) =>\n list.some((item) => currentItem.id === item.parent);\nexport const getActiveIdFromHierarchy = (hierarchy = []) =>\n hierarchy[hierarchy.length - 1] || {};\n\nexport const filterItemsByHierarchy = (\n list,\n hierarchyId,\n parentField = 'parent',\n) => list.filter((item) => item[parentField] === hierarchyId);\nexport const getItemsById = (ids, list) =>\n ids\n .reduce(\n (acc, id) =>\n acc.concat(list.find((item) => String(item.id) === String(id))),\n [],\n )\n .filter((item) => item);\nexport const toggleInObject = (obj, key, value) =>\n obj[key] ? omit(obj, [key]) : { ...obj, [key]: value };\nexport const isMovable = (item) =>\n !item.forceNotMovable &&\n ((item.hasChildren && item.isMoveableContainer) || !item.hasChildren);\n// utility to execute all specified actions in sequence\nexport const pipe = (actions) => (initState, props) =>\n actions.reduce((prevState, action) => action(prevState, props), initState);\n\nexport const moveItems = ({ oldIndex, newIndex }) => (items) => {\n const sourceItem = items[oldIndex];\n items.splice(oldIndex, 1);\n items.splice(newIndex, 0, sourceItem);\n return items;\n};\n\nexport const prepareItems = (items) =>\n compose(tree.fixOrder(), (items) =>\n items.map((item) => ({\n ...item,\n hasChildren: checkHasChildren(items, item),\n })),\n )(items);\n\nconst defaultOptions = {\n parentField: 'parent',\n idField: 'id',\n op: (hasMoved) => !hasMoved,\n};\n\nexport function getChildrenFromParent(parentId, options) {\n const { parentField } = { ...defaultOptions, ...options };\n return (items) => items.filter((item) => item[parentField] === parentId);\n}\n\nexport function filterMovedItems(movedItems, options) {\n const { idField, op: filterOp } = { ...defaultOptions, ...options };\n const movedItemsHash = hashArray(movedItems, idField);\n return (items) =>\n items.filter((item) => filterOp(!!movedItemsHash[item[idField]]));\n}\n\nexport function filterBySearch(term, searching) {\n return (items) =>\n searching\n ? items.filter(\n (item) =>\n item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1,\n )\n : items;\n}\n"],"names":["getHierarchyTypeName","dest","checkHasChildren","list","currentItem","some","item","id","parent","getActiveIdFromHierarchy","hierarchy","length","filterItemsByHierarchy","hierarchyId","parentField","filter","getItemsById","ids","reduce","acc","concat","find","String","toggleInObject","obj","key","value","omit","isMovable","forceNotMovable","hasChildren","isMoveableContainer","pipe","actions","initState","props","prevState","action","moveItems","oldIndex","newIndex","items","sourceItem","splice","prepareItems","compose","tree","fixOrder","map","defaultOptions","idField","op","hasMoved","getChildrenFromParent","parentId","options","filterMovedItems","movedItems","filterOp","movedItemsHash","hashArray","filterBySearch","term","searching","name","toLowerCase","indexOf"],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sources":["../../src/helper.tsx"],"sourcesContent":["/* eslint-disable prettier/prettier */\n/* eslint-disable no-shadow,no-plusplus */\nimport { omit, compose, hashArray } from '@elliemae/ds-utilities';\nimport * as tree from 'treetabular';\n\nexport const getHierarchyTypeName = (dest) =>\n !dest ? 'hierarchy' : 'hierarchyDest';\nexport const checkHasChildren = (list, currentItem) =>\n list.some((item) => currentItem.id === item.parent);\nexport const getActiveIdFromHierarchy = (hierarchy = []) =>\n hierarchy[hierarchy.length - 1] || {};\n\nexport const filterItemsByHierarchy = (\n list,\n hierarchyId,\n parentField = 'parent',\n) => list.filter((item) => item[parentField] === hierarchyId);\nexport const getItemsById = (ids, list) =>\n ids\n .reduce(\n (acc, id) =>\n acc.concat(list.find((item) => String(item.id) === String(id))),\n [],\n )\n .filter((item) => item);\nexport const toggleInObject = (obj, key, value) =>\n obj[key] ? omit(obj, [key]) : { ...obj, [key]: value };\nexport const isMovable = (item) =>\n !item.forceNotMovable &&\n ((item.hasChildren && item.isMoveableContainer) || !item.hasChildren);\n// utility to execute all specified actions in sequence\nexport const pipe = (actions) => (initState, props) =>\n actions.reduce((prevState, action) => action(prevState, props), initState);\n\nexport const moveItems = ({ oldIndex, newIndex }) => (items) => {\n const sourceItem = items[oldIndex];\n items.splice(oldIndex, 1);\n items.splice(newIndex, 0, sourceItem);\n return items;\n};\n\nexport const prepareItems = (items) =>\n compose(tree.fixOrder(), (items) =>\n items.map((item) => ({\n ...item,\n hasChildren: checkHasChildren(items, item),\n })),\n )(items);\n\nconst defaultOptions = {\n parentField: 'parent',\n idField: 'id',\n op: (hasMoved) => !hasMoved,\n};\n\nexport function getChildrenFromParent(parentId, options) {\n const { parentField } = { ...defaultOptions, ...options };\n return (items) => items.filter((item) => item[parentField] === parentId);\n}\n\nexport function filterMovedItems(movedItems, options) {\n const { idField, op: filterOp } = { ...defaultOptions, ...options };\n const movedItemsHash = hashArray(movedItems, idField);\n return (items) =>\n items.filter((item) => filterOp(!!movedItemsHash[item[idField]]));\n}\n\nexport function filterBySearch(term, searching) {\n return (items) =>\n searching\n ? items.filter(\n (item) =>\n item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1,\n )\n : items;\n}\n"],"names":["getHierarchyTypeName","dest","checkHasChildren","list","currentItem","some","item","id","parent","getActiveIdFromHierarchy","hierarchy","length","filterItemsByHierarchy","hierarchyId","parentField","filter","getItemsById","ids","reduce","acc","concat","find","String","toggleInObject","obj","key","value","omit","isMovable","forceNotMovable","hasChildren","isMoveableContainer","pipe","actions","initState","props","prevState","action","moveItems","oldIndex","newIndex","items","sourceItem","splice","prepareItems","compose","tree","fixOrder","map","defaultOptions","idField","op","hasMoved","getChildrenFromParent","parentId","options","filterMovedItems","movedItems","filterOp","movedItemsHash","hashArray","filterBySearch","term","searching","name","toLowerCase","indexOf"],"mappings":"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"}
package/cjs/index.js CHANGED
@@ -7,7 +7,7 @@ var utils = require('./utils.js');
7
7
  require('react');
8
8
  require('lodash');
9
9
  require('react-desc');
10
- require('@elliemae/ds-basic/TruncatedTooltipText');
10
+ require('@elliemae/ds-truncated-tooltip-text');
11
11
  require('./ShuttleImpl.js');
12
12
  require('@babel/runtime/helpers/extends');
13
13
  require('@babel/runtime/helpers/objectWithoutProperties');
@@ -19,7 +19,7 @@ require('@babel/runtime/helpers/inherits');
19
19
  require('@babel/runtime/helpers/possibleConstructorReturn');
20
20
  require('@babel/runtime/helpers/getPrototypeOf');
21
21
  require('@babel/runtime/helpers/defineProperty');
22
- require('@elliemae/ds-utilities/utils');
22
+ require('@elliemae/ds-utilities');
23
23
  require('./withProviders.js');
24
24
  require('./AnimationState.js');
25
25
  require('@babel/runtime/helpers/slicedToArray');
@@ -32,25 +32,21 @@ require('./Shuttle.actions.js');
32
32
  require('./ShuttleRenderer.js');
33
33
  require('./components/ShuttleSource.js');
34
34
  require('prop-types');
35
- require('@elliemae/ds-icons/ArrowShortRight');
36
- require('@elliemae/ds-basic/Button');
37
- require('@elliemae/ds-icons/Search');
35
+ require('@elliemae/ds-icons');
36
+ require('@elliemae/ds-button');
38
37
  require('./components/ShuttleSearchBox.js');
39
38
  require('@elliemae/ds-classnames');
40
- require('@elliemae/ds-basic/form/TextBox');
39
+ require('@elliemae/ds-form');
41
40
  require('./components/ShuttleInfiniteScrollIndicator.js');
42
- require('@elliemae/ds-basic/IndeterminateProgressIndicator');
41
+ require('@elliemae/ds-indeterminate-progress-indicator');
43
42
  require('./components/ShuttleListItem/ShuttleSourceListItem.js');
44
43
  require('./components/ShuttleListItem/ActionButtons.js');
45
- require('@elliemae/ds-icons/CloseCircle');
46
- require('@elliemae/ds-icons/ArrowShortReturn');
47
44
  require('./components/ShuttleListItem/ShuttleListItem.js');
48
45
  require('react-spring/web.cjs');
49
46
  require('react-sortable-hoc');
50
- require('@elliemae/ds-icons/GripperVertical');
51
47
  require('./classedComponents.js');
52
48
  require('./components/ShuttleBreadcrumb.js');
53
- require('@elliemae/ds-basic/Breadcrumb');
49
+ require('@elliemae/ds-breadcrumb');
54
50
  require('./animation/animationConfig.js');
55
51
  require('./components/OverflowList.js');
56
52
  require('./components/ShuttleListPanel.js');
@@ -61,7 +57,7 @@ require('react-virtualized-auto-sizer');
61
57
  require('./components/VirtualizedItem.js');
62
58
  require('./components/VirtualizedSortableList.js');
63
59
  require('./components/LoadingIndicator.js');
64
- require('@elliemae/ds-basic/CircularProgressIndicator');
60
+ require('@elliemae/ds-circular-progress-indicator');
65
61
  require('styled-components');
66
62
  require('./components/ShuttleTarget.js');
67
63
  require('./components/ShuttleListItem/ShuttleTargetListItem.js');
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
- var utils = require('@elliemae/ds-utilities/utils');
5
+ var dsUtilities = require('@elliemae/ds-utilities');
6
6
  var helper = require('./helper.js');
7
7
  var Shuttle_actions = require('./Shuttle.actions.js');
8
8
  require('treetabular');
@@ -27,13 +27,13 @@ function compareSelectedItems(nextProps, prevProps) {
27
27
  var selectedItems = nextProps.selectedItems,
28
28
  idField = nextProps.idField;
29
29
  return function (nextState) {
30
- if (utils.isEqual(selectedItems, prevProps.selectedItems)) return nextState; // if we are using nonSelectedItems skip this legacy logic and paint just what's passed
30
+ if (dsUtilities.isEqual(selectedItems, prevProps.selectedItems)) return nextState; // if we are using nonSelectedItems skip this legacy logic and paint just what's passed
31
31
  // to nonSelectedItems (source) and selectedItems (target)
32
32
  // TODO make controlledV2 the default behavior for controlled shuttle
33
33
 
34
34
  if (nextProps.nonSelectedItems) return nextState;
35
35
  var preparedItems = nextState.preparedItems;
36
- var prevSelectedItemsHash = utils.hashArray(prevProps.selectedItems || []);
36
+ var prevSelectedItemsHash = dsUtilities.hashArray(prevProps.selectedItems || []);
37
37
  var itemsToMove = helper.getItemsById(selectedItems, preparedItems);
38
38
  var actions = itemsToMove.map(function (item) {
39
39
  return prevSelectedItemsHash[item[idField]] ? Shuttle_actions.addToTarget(item, nextState.targetItems) : Shuttle_actions.addToTarget(item);
@@ -71,7 +71,7 @@ function compareItems(nextProps, prevProps) {
71
71
  });
72
72
  }
73
73
 
74
- if (utils.isEqual(items, prevProps.items)) return nextState;
74
+ if (dsUtilities.isEqual(items, prevProps.items)) return nextState;
75
75
  return mergeToPrevState(nextState, {
76
76
  preparedItems: preparedItems,
77
77
  prevProps: {
@@ -85,8 +85,8 @@ function updateShuttleStateFromProps (nextProps, prevState) {
85
85
  var stateReducers = [compareSelectedItems, compareItems].map(function (fn) {
86
86
  return fn(nextProps, prevState.prevProps);
87
87
  });
88
- var nextState = utils.compose.apply(void 0, _toConsumableArray__default['default'](stateReducers))(prevState);
89
- return !utils.isEqual(nextState, prevState) ? nextState : null;
88
+ var nextState = dsUtilities.compose.apply(void 0, _toConsumableArray__default['default'](stateReducers))(prevState);
89
+ return !dsUtilities.isEqual(nextState, prevState) ? nextState : null;
90
90
  }
91
91
 
92
92
  module.exports = updateShuttleStateFromProps;
@@ -1 +1 @@
1
- {"version":3,"file":"updateShuttleStateFromProps.js","sources":["../../src/updateShuttleStateFromProps.tsx"],"sourcesContent":["import { compose, isEqual, hashArray } from '@elliemae/ds-utilities/utils';\nimport { getItemsById, pipe, prepareItems } from './helper';\nimport { addToTarget, resetMovedItems } from './Shuttle.actions';\n\nconst mergeToPrevState = (prevState, nextState) => ({\n ...prevState,\n ...nextState,\n prevProps: {\n ...prevState.prevProps,\n ...nextState.prevProps,\n },\n});\n\nfunction compareSelectedItems(nextProps, prevProps) {\n const { selectedItems, idField } = nextProps;\n return (nextState) => {\n if (isEqual(selectedItems, prevProps.selectedItems)) return nextState;\n // if we are using nonSelectedItems skip this legacy logic and paint just what's passed\n // to nonSelectedItems (source) and selectedItems (target)\n // TODO make controlledV2 the default behavior for controlled shuttle\n if (nextProps.nonSelectedItems) return nextState;\n\n const { preparedItems } = nextState;\n const prevSelectedItemsHash = hashArray(prevProps.selectedItems || []);\n\n const itemsToMove = getItemsById(selectedItems, preparedItems);\n const actions = itemsToMove.map((item) =>\n prevSelectedItemsHash[item[idField]]\n ? addToTarget(item, nextState.targetItems)\n : addToTarget(item),\n );\n\n return mergeToPrevState(nextState, {\n ...pipe([resetMovedItems(), ...actions])(nextState, nextProps),\n prevProps: {\n ...nextState.prevProps,\n selectedItems,\n },\n });\n };\n}\n\nfunction compareItems(nextProps, prevProps) {\n const { items } = nextProps;\n return (nextState) => {\n const preparedItems = prepareItems(items);\n const isControlledV2 = nextProps.nonSelectedItems;\n\n // TODO make controlledV2 the default behavior for controlled shuttle\n if (isControlledV2) {\n const targetItems = nextProps.selectedItems.map((id) =>\n preparedItems.find((it) => it.id === id),\n );\n\n return mergeToPrevState(nextState, {\n preparedItems,\n // PUI-4462 on async load and items change, the shuttle loads\n // all children from currently selected targetItems from items prop\n // (items prop update)\n targetItems,\n movedItems: targetItems,\n prevProps: {\n items,\n },\n });\n }\n\n if (isEqual(items, prevProps.items)) return nextState;\n\n return mergeToPrevState(nextState, {\n preparedItems,\n prevProps: {\n items,\n },\n });\n };\n}\n\nexport default function (nextProps, prevState) {\n const stateReducers = [compareSelectedItems, compareItems].map((fn) =>\n fn(nextProps, prevState.prevProps),\n );\n\n const nextState = compose(...stateReducers)(prevState);\n return !isEqual(nextState, prevState) ? nextState : null;\n}\n"],"names":["mergeToPrevState","prevState","nextState","prevProps","compareSelectedItems","nextProps","selectedItems","idField","isEqual","nonSelectedItems","preparedItems","prevSelectedItemsHash","hashArray","itemsToMove","getItemsById","actions","map","item","addToTarget","targetItems","pipe","resetMovedItems","compareItems","items","prepareItems","isControlledV2","id","find","it","movedItems","stateReducers","fn","compose"],"mappings":"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"}
1
+ {"version":3,"file":"updateShuttleStateFromProps.js","sources":["../../src/updateShuttleStateFromProps.tsx"],"sourcesContent":["import { compose, isEqual, hashArray } from '@elliemae/ds-utilities';\nimport { getItemsById, pipe, prepareItems } from './helper';\nimport { addToTarget, resetMovedItems } from './Shuttle.actions';\n\nconst mergeToPrevState = (prevState, nextState) => ({\n ...prevState,\n ...nextState,\n prevProps: {\n ...prevState.prevProps,\n ...nextState.prevProps,\n },\n});\n\nfunction compareSelectedItems(nextProps, prevProps) {\n const { selectedItems, idField } = nextProps;\n return (nextState) => {\n if (isEqual(selectedItems, prevProps.selectedItems)) return nextState;\n // if we are using nonSelectedItems skip this legacy logic and paint just what's passed\n // to nonSelectedItems (source) and selectedItems (target)\n // TODO make controlledV2 the default behavior for controlled shuttle\n if (nextProps.nonSelectedItems) return nextState;\n\n const { preparedItems } = nextState;\n const prevSelectedItemsHash = hashArray(prevProps.selectedItems || []);\n\n const itemsToMove = getItemsById(selectedItems, preparedItems);\n const actions = itemsToMove.map((item) =>\n prevSelectedItemsHash[item[idField]]\n ? addToTarget(item, nextState.targetItems)\n : addToTarget(item),\n );\n\n return mergeToPrevState(nextState, {\n ...pipe([resetMovedItems(), ...actions])(nextState, nextProps),\n prevProps: {\n ...nextState.prevProps,\n selectedItems,\n },\n });\n };\n}\n\nfunction compareItems(nextProps, prevProps) {\n const { items } = nextProps;\n return (nextState) => {\n const preparedItems = prepareItems(items);\n const isControlledV2 = nextProps.nonSelectedItems;\n\n // TODO make controlledV2 the default behavior for controlled shuttle\n if (isControlledV2) {\n const targetItems = nextProps.selectedItems.map((id) =>\n preparedItems.find((it) => it.id === id),\n );\n\n return mergeToPrevState(nextState, {\n preparedItems,\n // PUI-4462 on async load and items change, the shuttle loads\n // all children from currently selected targetItems from items prop\n // (items prop update)\n targetItems,\n movedItems: targetItems,\n prevProps: {\n items,\n },\n });\n }\n\n if (isEqual(items, prevProps.items)) return nextState;\n\n return mergeToPrevState(nextState, {\n preparedItems,\n prevProps: {\n items,\n },\n });\n };\n}\n\nexport default function (nextProps, prevState) {\n const stateReducers = [compareSelectedItems, compareItems].map((fn) =>\n fn(nextProps, prevState.prevProps),\n );\n\n const nextState = compose(...stateReducers)(prevState);\n return !isEqual(nextState, prevState) ? nextState : null;\n}\n"],"names":["mergeToPrevState","prevState","nextState","prevProps","compareSelectedItems","nextProps","selectedItems","idField","isEqual","nonSelectedItems","preparedItems","prevSelectedItemsHash","hashArray","itemsToMove","getItemsById","actions","map","item","addToTarget","targetItems","pipe","resetMovedItems","compareItems","items","prepareItems","isControlledV2","id","find","it","movedItems","stateReducers","fn","compose"],"mappings":"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"}
package/cjs/utils.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var tree = require('treetabular');
5
- var utils$1 = require('@elliemae/ds-utilities/utils');
5
+ var dsUtilities = require('@elliemae/ds-utilities');
6
6
  var helper = require('./helper.js');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -35,7 +35,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
35
35
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
36
36
  var utils = _objectSpread({
37
37
  prepareItems: function prepareItems(items, options) {
38
- return utils$1.compose(tree__namespace.fixOrder(options), helper.prepareItems)(items);
38
+ return dsUtilities.compose(tree__namespace.fixOrder(options), helper.prepareItems)(items);
39
39
  }
40
40
  }, tree__namespace);
41
41
 
package/cjs/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["import * as tree from 'treetabular';\nimport { compose } from '@elliemae/ds-utilities/utils';\nimport { prepareItems } from './helper';\n\nexport default {\n prepareItems: (items, options) =>\n compose(tree.fixOrder(options), prepareItems)(items),\n ...tree,\n};\n"],"names":["prepareItems","items","options","compose","tree","fixOrder"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACEA,EAAAA,YAAY,EAAE,sBAACC,KAAD,EAAQC,OAAR;AAAA,WACZC,eAAO,CAACC,eAAI,CAACC,QAAL,CAAcH,OAAd,CAAD,EAAyBF,mBAAzB,CAAP,CAA8CC,KAA9C,CADY;AAAA;AADhB,GAGKG,eAHL;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["import * as tree from 'treetabular';\nimport { compose } from '@elliemae/ds-utilities';\nimport { prepareItems } from './helper';\n\nexport default {\n prepareItems: (items, options) =>\n compose(tree.fixOrder(options), prepareItems)(items),\n ...tree,\n};\n"],"names":["prepareItems","items","options","compose","tree","fixOrder"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACEA,EAAAA,YAAY,EAAE,sBAACC,KAAD,EAAQC,OAAR;AAAA,WACZC,mBAAO,CAACC,eAAI,CAACC,QAAL,CAAcH,OAAd,CAAD,EAAyBF,mBAAzB,CAAP,CAA8CC,KAA9C,CADY;AAAA;AADhB,GAGKG,eAHL;;;;"}
@@ -9,7 +9,7 @@ require('constate');
9
9
  require('@babel/runtime/helpers/toConsumableArray');
10
10
  require('./helper.js');
11
11
  require('@babel/runtime/helpers/defineProperty');
12
- require('@elliemae/ds-utilities/utils');
12
+ require('@elliemae/ds-utilities');
13
13
  require('treetabular');
14
14
  require('./Shuttle.actions.js');
15
15
  require('./utils.js');
package/esm/DSShuttle.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { debounce } from 'lodash';
3
3
  import { PropTypes, describe } from 'react-desc';
4
- import { TooltipTextProvider } from '@elliemae/ds-basic/TruncatedTooltipText';
4
+ import { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';
5
5
  import ShuttleImpl from './ShuttleImpl.js';
6
6
  export { default as utils } from './utils.js';
7
7
  import '@babel/runtime/helpers/esm/extends';
@@ -14,7 +14,7 @@ import '@babel/runtime/helpers/esm/inherits';
14
14
  import '@babel/runtime/helpers/esm/possibleConstructorReturn';
15
15
  import '@babel/runtime/helpers/esm/getPrototypeOf';
16
16
  import '@babel/runtime/helpers/esm/defineProperty';
17
- import '@elliemae/ds-utilities/utils';
17
+ import '@elliemae/ds-utilities';
18
18
  import './withProviders.js';
19
19
  import './AnimationState.js';
20
20
  import '@babel/runtime/helpers/esm/slicedToArray';
@@ -27,25 +27,21 @@ import './Shuttle.actions.js';
27
27
  import './ShuttleRenderer.js';
28
28
  import './components/ShuttleSource.js';
29
29
  import 'prop-types';
30
- import '@elliemae/ds-icons/ArrowShortRight';
31
- import '@elliemae/ds-basic/Button';
32
- import '@elliemae/ds-icons/Search';
30
+ import '@elliemae/ds-icons';
31
+ import '@elliemae/ds-button';
33
32
  import './components/ShuttleSearchBox.js';
34
33
  import '@elliemae/ds-classnames';
35
- import '@elliemae/ds-basic/form/TextBox';
34
+ import '@elliemae/ds-form';
36
35
  import './components/ShuttleInfiniteScrollIndicator.js';
37
- import '@elliemae/ds-basic/IndeterminateProgressIndicator';
36
+ import '@elliemae/ds-indeterminate-progress-indicator';
38
37
  import './components/ShuttleListItem/ShuttleSourceListItem.js';
39
38
  import './components/ShuttleListItem/ActionButtons.js';
40
- import '@elliemae/ds-icons/CloseCircle';
41
- import '@elliemae/ds-icons/ArrowShortReturn';
42
39
  import './components/ShuttleListItem/ShuttleListItem.js';
43
40
  import 'react-spring/web.cjs';
44
41
  import 'react-sortable-hoc';
45
- import '@elliemae/ds-icons/GripperVertical';
46
42
  import './classedComponents.js';
47
43
  import './components/ShuttleBreadcrumb.js';
48
- import '@elliemae/ds-basic/Breadcrumb';
44
+ import '@elliemae/ds-breadcrumb';
49
45
  import './animation/animationConfig.js';
50
46
  import './components/OverflowList.js';
51
47
  import './components/ShuttleListPanel.js';
@@ -56,7 +52,7 @@ import 'react-virtualized-auto-sizer';
56
52
  import './components/VirtualizedItem.js';
57
53
  import './components/VirtualizedSortableList.js';
58
54
  import './components/LoadingIndicator.js';
59
- import '@elliemae/ds-basic/CircularProgressIndicator';
55
+ import '@elliemae/ds-circular-progress-indicator';
60
56
  import 'styled-components';
61
57
  import './components/ShuttleTarget.js';
62
58
  import './components/ShuttleListItem/ShuttleTargetListItem.js';
@@ -1 +1 @@
1
- {"version":3,"file":"DSShuttle.js","sources":["../../src/DSShuttle.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React from 'react';\nimport { debounce } from 'lodash';\nimport { describe, PropTypes } from 'react-desc';\nimport { TooltipTextProvider } from '@elliemae/ds-basic/TruncatedTooltipText';\nimport ShuttleImpl from './ShuttleImpl';\nimport utils from './utils';\n\nconst noop = () => {};\n\nconst DSShuttle = ({\n containerProps = {},\n idField = 'id',\n parentIdField = 'parent',\n showIcons = true,\n items = [],\n selectedItems = undefined, // if defined it becomes controlled (v1)\n // TODO make `nonSelectedItems` the default controlled behavior (v2)\n nonSelectedItems = undefined,\n onSearch = noop,\n onSearchOpen = noop,\n onSearchClose = noop,\n onDrillDown = noop,\n onDrillDownTarget = noop,\n onTargetSortEnd = noop,\n setGetStatus = noop,\n targetSortable = true,\n sourceEmptyMessage = 'No Items Found',\n sourceRootTitle = 'Category',\n targetEmptyMessage = 'No Items Selected',\n targetRootTitle = 'Selected Items',\n composeSourceItemProps = () => ({}),\n composeTargetItemProps = () => ({}),\n onAddToTarget = noop,\n onAddCheckedItems = noop,\n onRemoveFromTarget = noop,\n onRemoveAllFromTarget = noop,\n onChange = noop,\n renderSourceCounter = noop,\n renderTargetCounter = noop,\n sourceClearItemsText = 'CLEAR ALL',\n targetClearItemsText = 'CLEAR ALL',\n searchPlaceholder = 'Search field ID, name, etc.',\n loadingSource = false,\n loadingTarget = false,\n onGetMoreItems = () => null,\n hasNextPage = false,\n moreItemsLoading,\n}) => (\n <TooltipTextProvider>\n <ShuttleImpl\n composeSourceItemProps={composeSourceItemProps}\n composeTargetItemProps={composeTargetItemProps}\n containerProps={containerProps}\n idField={idField}\n items={items}\n onAddCheckedItems={onAddCheckedItems}\n onAddToTarget={onAddToTarget}\n onChange={onChange}\n onDrillDown={onDrillDown}\n nonSelectedItems={nonSelectedItems}\n onDrillDownTarget={onDrillDownTarget}\n onRemoveAllFromTarget={onRemoveAllFromTarget}\n onRemoveFromTarget={onRemoveFromTarget}\n onSearch={onSearch}\n onSearchClose={onSearchClose}\n onSearchOpen={onSearchOpen}\n onTargetSortEnd={onTargetSortEnd}\n parentIdField={parentIdField}\n renderSourceCounter={renderSourceCounter}\n renderTargetCounter={renderTargetCounter}\n searchPlaceholder={searchPlaceholder}\n selectedItems={selectedItems}\n setGetStatus={setGetStatus}\n showIcons={showIcons}\n sourceClearItemsText={sourceClearItemsText}\n sourceEmptyMessage={sourceEmptyMessage}\n sourceRootTitle={sourceRootTitle}\n targetClearItemsText={targetClearItemsText}\n targetEmptyMessage={targetEmptyMessage}\n targetRootTitle={targetRootTitle}\n targetSortable={targetSortable}\n loadingSource={loadingSource}\n loadingTarget={loadingTarget}\n onGetMoreItems={debounce((...args) => {\n onGetMoreItems(...args);\n }, 500)}\n moreItemsLoading={moreItemsLoading}\n hasNextPage={hasNextPage}\n />\n </TooltipTextProvider>\n);\n\nconst props = {\n /** inject props to shuttle wrapper */\n containerProps: PropTypes.object.description(\n 'inject props to shuttle wrapper',\n ),\n /** The identifier field for the item object */\n idField: PropTypes.string.description(\n 'The identifier field for the item object',\n ),\n /** The parent identifier field for the item object */\n parentIdField: PropTypes.string.description(\n 'The parent identifier field for the item object',\n ),\n /** Whether to show the icons or not */\n showIcons: PropTypes.string.description('Whether to show the icons or not'),\n /** List of items */\n items: PropTypes.arrayOf(\n PropTypes.shape({\n disableDrillDown: PropTypes.bool,\n icon: PropTypes.element,\n name: PropTypes.string,\n readOnly: PropTypes.bool,\n description: PropTypes.string,\n }),\n ).description('list of items'),\n /** Array of item ids that are selected. If passed the component behaves as controlled */\n selectedItems: PropTypes.arrayOf(PropTypes.string).description(\n 'Array of item ids that are selected. If passed the component behaves as controlled',\n ),\n /** Array of item ids that aren't selected. Should include ALL non selected items, even those not rendered */\n nonSelectedItems: PropTypes.arrayOf(PropTypes.string).description(\n \"Array of item ids that aren't selected.. Should include ALL non selected items, even those not rendered\",\n ),\n /** Handler on search */\n onSearch: PropTypes.func.description('Handler on search'),\n /** Handler when the searchbox is visible */\n onSearchOpen: PropTypes.func.description(\n 'Handler when the searchbox is visible',\n ),\n /** Handler when the searchbox is not visible */\n onSearchClose: PropTypes.func.description(\n 'Handler when the searchbox is not visible',\n ),\n /** Source handler when a user navigates to a level down on the nested structure. First param: item drilled. Second param: direction (\"up\" | \"down\") */\n onDrillDown: PropTypes.func.description(\n 'Source handler when a user navigates to a level down on the nested structure. First param: item drilled. Second param: direction (\"up\" | \"down\")',\n ),\n /** Target handler when a user navigates to a level down on the nested structure. First param: item drilled. Second param: direction (\"up\" | \"down\") */\n onDrillDownTarget: PropTypes.func.description(\n 'Target handler when a user navigates to a level down on the nested structure. First param: item drilled. Second param: direction (\"up\" | \"down\")',\n ),\n /** Target handler when user stops dragging an item */\n onTargetSortEnd: PropTypes.func.description(\n 'Target handler when user stops dragging an item',\n ),\n /** Callback function that gets more items for Infinite Scroll */\n onGetMoreItems: PropTypes.func.description(\n 'Callback function that gets more items for Infinite Scroll',\n ),\n /** Wheter there are mor items loading for Infinite Scroll */\n moreItemsLoading: PropTypes.bool.description(\n 'Wheter there are mor items loading for Infinite Scroll',\n ),\n /** Wheter there is a next page for Infinite Scroll, controls when to trigger onGetMoreItems */\n hasNextPage: PropTypes.bool.description(\n 'Wheter there is a next page for Infinite Scroll, controls when to trigger onGetMoreItems',\n ),\n /** Function that takes as a parameter an internal getter for the state */\n setGetStatus: PropTypes.func.description(\n 'Function that takes as a parameter an internal getter for the state',\n ),\n /** Whether the target can be sortable with DnD */\n targetSortable: PropTypes.bool.description(\n 'Whether the target can be sortable with DnD',\n ),\n /** Handler when the searchbox is visible */\n sourceRootTitle: PropTypes.string.description(\n 'Handler when the searchbox is visible',\n ),\n /** Source text when there is no items */\n sourceEmptyMessage: PropTypes.string.description(\n 'Source text when there is no items',\n ),\n /** Target text when there is no items */\n targetEmptyMessage: PropTypes.string.description(\n 'Target text when there is no items',\n ),\n /** Target text for the first hierarchy item */\n targetRootTitle: PropTypes.string.description(\n 'Target text for the first hierarchy item',\n ),\n /** Function that allow to compose the item props in the source */\n composeSourceItemProps: PropTypes.func.description(\n 'Function that allow to compose the item props in the source',\n ),\n /** Function that allow to compose the item props in the target */\n composeTargetItemProps: PropTypes.func.description(\n 'Function that allow to compose the item props in the target',\n ),\n /** Handler when a users moves an item to the target */\n onAddToTarget: PropTypes.func.description(\n 'Handler when a users moves an item to the target',\n ),\n /** Handler when a users moves all the 'checked' items to the target */\n onAddCheckedItems: PropTypes.func.description(\n \"Handler when a users moves all the 'checked' items to the target\",\n ),\n /** Handler when a user removes an item from the target */\n onRemoveFromTarget: PropTypes.func.description(\n 'Handler when a user removes an item from the target',\n ),\n /** Handler when a user removes all the items from the target */\n onRemoveAllFromTarget: PropTypes.func.description(\n 'Handler when a user removes all the items from the target',\n ),\n /** Handler for every change on the state */\n onChange: PropTypes.func.description('Handler for every change on the state'),\n /** Function that returns an element for the source counter */\n renderSourceCounter: PropTypes.func.description(\n 'Function that returns an element for the source counter',\n ),\n /** Function that returns an element for the target counter */\n renderTargetCounter: PropTypes.func.description(\n 'Function that returns an element for the target counter',\n ),\n /** Source text for the clear items button */\n sourceClearItemsText: PropTypes.string.description(\n 'Source text for the clear items button',\n ),\n /** Target text for the clear items button */\n targetClearItemsText: PropTypes.string.description(\n 'Target text for the clear items button',\n ),\n /** Searchbox placeholder */\n searchPlaceholder: PropTypes.string.description('Searchbox placeholder'),\n /** Displays loading indicator on source section */\n loadingSource: PropTypes.bool.description(\n 'Displays loading indicator on source section',\n ),\n /** Displays loading indicator on target section */\n loadingTarget: PropTypes.bool.description(\n 'Displays loading indicator on target section',\n ),\n};\n\nDSShuttle.propTypes = props;\nconst DSShuttleWithSchema = describe(DSShuttle);\nDSShuttleWithSchema.propTypes = props;\n\nexport { utils, DSShuttleWithSchema };\n\nexport default DSShuttle;\n"],"names":["noop","DSShuttle","containerProps","idField","parentIdField","showIcons","items","selectedItems","undefined","nonSelectedItems","onSearch","onSearchOpen","onSearchClose","onDrillDown","onDrillDownTarget","onTargetSortEnd","setGetStatus","targetSortable","sourceEmptyMessage","sourceRootTitle","targetEmptyMessage","targetRootTitle","composeSourceItemProps","composeTargetItemProps","onAddToTarget","onAddCheckedItems","onRemoveFromTarget","onRemoveAllFromTarget","onChange","renderSourceCounter","renderTargetCounter","sourceClearItemsText","targetClearItemsText","searchPlaceholder","loadingSource","loadingTarget","onGetMoreItems","hasNextPage","moreItemsLoading","debounce","props","PropTypes","object","description","string","arrayOf","shape","disableDrillDown","bool","icon","element","name","readOnly","func","propTypes","DSShuttleWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAQA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;IAEMC,SAAS,GAAG,SAAZA,SAAY;AAAA,iCAChBC,cADgB;AAAA,MAChBA,cADgB,oCACC,EADD;AAAA,0BAEhBC,OAFgB;AAAA,MAEhBA,OAFgB,6BAEN,IAFM;AAAA,gCAGhBC,aAHgB;AAAA,MAGhBA,aAHgB,mCAGA,QAHA;AAAA,4BAIhBC,SAJgB;AAAA,MAIhBA,SAJgB,+BAIJ,IAJI;AAAA,wBAKhBC,KALgB;AAAA,MAKhBA,KALgB,2BAKR,EALQ;AAAA,gCAMhBC,aANgB;AAAA,MAMhBA,aANgB,mCAMAC,SANA;AAAA,mCAQhBC,gBARgB;AAAA,MAQhBA,gBARgB,sCAQGD,SARH;AAAA,2BAShBE,QATgB;AAAA,MAShBA,QATgB,8BASLV,IATK;AAAA,+BAUhBW,YAVgB;AAAA,MAUhBA,YAVgB,kCAUDX,IAVC;AAAA,gCAWhBY,aAXgB;AAAA,MAWhBA,aAXgB,mCAWAZ,IAXA;AAAA,8BAYhBa,WAZgB;AAAA,MAYhBA,WAZgB,iCAYFb,IAZE;AAAA,mCAahBc,iBAbgB;AAAA,MAahBA,iBAbgB,sCAaId,IAbJ;AAAA,kCAchBe,eAdgB;AAAA,MAchBA,eAdgB,qCAcEf,IAdF;AAAA,+BAehBgB,YAfgB;AAAA,MAehBA,YAfgB,kCAeDhB,IAfC;AAAA,iCAgBhBiB,cAhBgB;AAAA,MAgBhBA,cAhBgB,oCAgBC,IAhBD;AAAA,mCAiBhBC,kBAjBgB;AAAA,MAiBhBA,kBAjBgB,sCAiBK,gBAjBL;AAAA,kCAkBhBC,eAlBgB;AAAA,MAkBhBA,eAlBgB,qCAkBE,UAlBF;AAAA,mCAmBhBC,kBAnBgB;AAAA,MAmBhBA,kBAnBgB,sCAmBK,mBAnBL;AAAA,kCAoBhBC,eApBgB;AAAA,MAoBhBA,eApBgB,qCAoBE,gBApBF;AAAA,mCAqBhBC,sBArBgB;AAAA,MAqBhBA,sBArBgB,sCAqBS;AAAA,WAAO,EAAP;AAAA,GArBT;AAAA,mCAsBhBC,sBAtBgB;AAAA,MAsBhBA,sBAtBgB,sCAsBS;AAAA,WAAO,EAAP;AAAA,GAtBT;AAAA,gCAuBhBC,aAvBgB;AAAA,MAuBhBA,aAvBgB,mCAuBAxB,IAvBA;AAAA,mCAwBhByB,iBAxBgB;AAAA,MAwBhBA,iBAxBgB,sCAwBIzB,IAxBJ;AAAA,mCAyBhB0B,kBAzBgB;AAAA,MAyBhBA,kBAzBgB,sCAyBK1B,IAzBL;AAAA,mCA0BhB2B,qBA1BgB;AAAA,MA0BhBA,qBA1BgB,sCA0BQ3B,IA1BR;AAAA,2BA2BhB4B,QA3BgB;AAAA,MA2BhBA,QA3BgB,8BA2BL5B,IA3BK;AAAA,mCA4BhB6B,mBA5BgB;AAAA,MA4BhBA,mBA5BgB,sCA4BM7B,IA5BN;AAAA,mCA6BhB8B,mBA7BgB;AAAA,MA6BhBA,mBA7BgB,sCA6BM9B,IA7BN;AAAA,mCA8BhB+B,oBA9BgB;AAAA,MA8BhBA,oBA9BgB,sCA8BO,WA9BP;AAAA,mCA+BhBC,oBA/BgB;AAAA,MA+BhBA,oBA/BgB,sCA+BO,WA/BP;AAAA,mCAgChBC,iBAhCgB;AAAA,MAgChBA,iBAhCgB,sCAgCI,6BAhCJ;AAAA,gCAiChBC,aAjCgB;AAAA,MAiChBA,aAjCgB,mCAiCA,KAjCA;AAAA,gCAkChBC,aAlCgB;AAAA,MAkChBA,aAlCgB,mCAkCA,KAlCA;AAAA,iCAmChBC,cAnCgB;AAAA,MAmChBA,cAnCgB,oCAmCC;AAAA,WAAM,IAAN;AAAA,GAnCD;AAAA,8BAoChBC,WApCgB;AAAA,MAoChBA,WApCgB,iCAoCF,KApCE;AAAA,MAqChBC,gBArCgB,QAqChBA,gBArCgB;AAAA,sBAuChB,oBAAC,mBAAD,qBACE,oBAAC,WAAD;AACE,IAAA,sBAAsB,EAAEhB,sBAD1B;AAEE,IAAA,sBAAsB,EAAEC,sBAF1B;AAGE,IAAA,cAAc,EAAErB,cAHlB;AAIE,IAAA,OAAO,EAAEC,OAJX;AAKE,IAAA,KAAK,EAAEG,KALT;AAME,IAAA,iBAAiB,EAAEmB,iBANrB;AAOE,IAAA,aAAa,EAAED,aAPjB;AAQE,IAAA,QAAQ,EAAEI,QARZ;AASE,IAAA,WAAW,EAAEf,WATf;AAUE,IAAA,gBAAgB,EAAEJ,gBAVpB;AAWE,IAAA,iBAAiB,EAAEK,iBAXrB;AAYE,IAAA,qBAAqB,EAAEa,qBAZzB;AAaE,IAAA,kBAAkB,EAAED,kBAbtB;AAcE,IAAA,QAAQ,EAAEhB,QAdZ;AAeE,IAAA,aAAa,EAAEE,aAfjB;AAgBE,IAAA,YAAY,EAAED,YAhBhB;AAiBE,IAAA,eAAe,EAAEI,eAjBnB;AAkBE,IAAA,aAAa,EAAEX,aAlBjB;AAmBE,IAAA,mBAAmB,EAAEyB,mBAnBvB;AAoBE,IAAA,mBAAmB,EAAEC,mBApBvB;AAqBE,IAAA,iBAAiB,EAAEG,iBArBrB;AAsBE,IAAA,aAAa,EAAE1B,aAtBjB;AAuBE,IAAA,YAAY,EAAES,YAvBhB;AAwBE,IAAA,SAAS,EAAEX,SAxBb;AAyBE,IAAA,oBAAoB,EAAE0B,oBAzBxB;AA0BE,IAAA,kBAAkB,EAAEb,kBA1BtB;AA2BE,IAAA,eAAe,EAAEC,eA3BnB;AA4BE,IAAA,oBAAoB,EAAEa,oBA5BxB;AA6BE,IAAA,kBAAkB,EAAEZ,kBA7BtB;AA8BE,IAAA,eAAe,EAAEC,eA9BnB;AA+BE,IAAA,cAAc,EAAEJ,cA/BlB;AAgCE,IAAA,aAAa,EAAEiB,aAhCjB;AAiCE,IAAA,aAAa,EAAEC,aAjCjB;AAkCE,IAAA,cAAc,EAAEI,QAAQ,CAAC,YAAa;AACpCH,MAAAA,cAAc,MAAd;AACD,KAFuB,EAErB,GAFqB,CAlC1B;AAqCE,IAAA,gBAAgB,EAAEE,gBArCpB;AAsCE,IAAA,WAAW,EAAED;AAtCf,IADF,CAvCgB;AAAA;;AAmFlB,IAAMG,KAAK,GAAG;AACZ;AACAtC,EAAAA,cAAc,EAAEuC,SAAS,CAACC,MAAV,CAAiBC,WAAjB,CACd,iCADc,CAFJ;;AAKZ;AACAxC,EAAAA,OAAO,EAAEsC,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CACP,0CADO,CANG;;AASZ;AACAvC,EAAAA,aAAa,EAAEqC,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CACb,iDADa,CAVH;;AAaZ;AACAtC,EAAAA,SAAS,EAAEoC,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CAA6B,kCAA7B,CAdC;;AAeZ;AACArC,EAAAA,KAAK,EAAEmC,SAAS,CAACI,OAAV,CACLJ,SAAS,CAACK,KAAV,CAAgB;AACdC,IAAAA,gBAAgB,EAAEN,SAAS,CAACO,IADd;AAEdC,IAAAA,IAAI,EAAER,SAAS,CAACS,OAFF;AAGdC,IAAAA,IAAI,EAAEV,SAAS,CAACG,MAHF;AAIdQ,IAAAA,QAAQ,EAAEX,SAAS,CAACO,IAJN;AAKdL,IAAAA,WAAW,EAAEF,SAAS,CAACG;AALT,GAAhB,CADK,EAQLD,WARK,CAQO,eARP,CAhBK;;AAyBZ;AACApC,EAAAA,aAAa,EAAEkC,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACG,MAA5B,EAAoCD,WAApC,CACb,oFADa,CA1BH;;AA6BZ;AACAlC,EAAAA,gBAAgB,EAAEgC,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACG,MAA5B,EAAoCD,WAApC,CAChB,yGADgB,CA9BN;;AAiCZ;AACAjC,EAAAA,QAAQ,EAAE+B,SAAS,CAACY,IAAV,CAAeV,WAAf,CAA2B,mBAA3B,CAlCE;;AAmCZ;AACAhC,EAAAA,YAAY,EAAE8B,SAAS,CAACY,IAAV,CAAeV,WAAf,CACZ,uCADY,CApCF;;AAuCZ;AACA/B,EAAAA,aAAa,EAAE6B,SAAS,CAACY,IAAV,CAAeV,WAAf,CACb,2CADa,CAxCH;;AA2CZ;AACA9B,EAAAA,WAAW,EAAE4B,SAAS,CAACY,IAAV,CAAeV,WAAf,CACX,kJADW,CA5CD;;AA+CZ;AACA7B,EAAAA,iBAAiB,EAAE2B,SAAS,CAACY,IAAV,CAAeV,WAAf,CACjB,kJADiB,CAhDP;;AAmDZ;AACA5B,EAAAA,eAAe,EAAE0B,SAAS,CAACY,IAAV,CAAeV,WAAf,CACf,iDADe,CApDL;;AAuDZ;AACAP,EAAAA,cAAc,EAAEK,SAAS,CAACY,IAAV,CAAeV,WAAf,CACd,4DADc,CAxDJ;;AA2DZ;AACAL,EAAAA,gBAAgB,EAAEG,SAAS,CAACO,IAAV,CAAeL,WAAf,CAChB,wDADgB,CA5DN;;AA+DZ;AACAN,EAAAA,WAAW,EAAEI,SAAS,CAACO,IAAV,CAAeL,WAAf,CACX,0FADW,CAhED;;AAmEZ;AACA3B,EAAAA,YAAY,EAAEyB,SAAS,CAACY,IAAV,CAAeV,WAAf,CACZ,qEADY,CApEF;;AAuEZ;AACA1B,EAAAA,cAAc,EAAEwB,SAAS,CAACO,IAAV,CAAeL,WAAf,CACd,6CADc,CAxEJ;;AA2EZ;AACAxB,EAAAA,eAAe,EAAEsB,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CACf,uCADe,CA5EL;;AA+EZ;AACAzB,EAAAA,kBAAkB,EAAEuB,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CAClB,oCADkB,CAhFR;;AAmFZ;AACAvB,EAAAA,kBAAkB,EAAEqB,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CAClB,oCADkB,CApFR;;AAuFZ;AACAtB,EAAAA,eAAe,EAAEoB,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CACf,0CADe,CAxFL;;AA2FZ;AACArB,EAAAA,sBAAsB,EAAEmB,SAAS,CAACY,IAAV,CAAeV,WAAf,CACtB,6DADsB,CA5FZ;;AA+FZ;AACApB,EAAAA,sBAAsB,EAAEkB,SAAS,CAACY,IAAV,CAAeV,WAAf,CACtB,6DADsB,CAhGZ;;AAmGZ;AACAnB,EAAAA,aAAa,EAAEiB,SAAS,CAACY,IAAV,CAAeV,WAAf,CACb,kDADa,CApGH;;AAuGZ;AACAlB,EAAAA,iBAAiB,EAAEgB,SAAS,CAACY,IAAV,CAAeV,WAAf,CACjB,kEADiB,CAxGP;;AA2GZ;AACAjB,EAAAA,kBAAkB,EAAEe,SAAS,CAACY,IAAV,CAAeV,WAAf,CAClB,qDADkB,CA5GR;;AA+GZ;AACAhB,EAAAA,qBAAqB,EAAEc,SAAS,CAACY,IAAV,CAAeV,WAAf,CACrB,2DADqB,CAhHX;;AAmHZ;AACAf,EAAAA,QAAQ,EAAEa,SAAS,CAACY,IAAV,CAAeV,WAAf,CAA2B,uCAA3B,CApHE;;AAqHZ;AACAd,EAAAA,mBAAmB,EAAEY,SAAS,CAACY,IAAV,CAAeV,WAAf,CACnB,yDADmB,CAtHT;;AAyHZ;AACAb,EAAAA,mBAAmB,EAAEW,SAAS,CAACY,IAAV,CAAeV,WAAf,CACnB,yDADmB,CA1HT;;AA6HZ;AACAZ,EAAAA,oBAAoB,EAAEU,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CACpB,wCADoB,CA9HV;;AAiIZ;AACAX,EAAAA,oBAAoB,EAAES,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CACpB,wCADoB,CAlIV;;AAqIZ;AACAV,EAAAA,iBAAiB,EAAEQ,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CAA6B,uBAA7B,CAtIP;;AAuIZ;AACAT,EAAAA,aAAa,EAAEO,SAAS,CAACO,IAAV,CAAeL,WAAf,CACb,8CADa,CAxIH;;AA2IZ;AACAR,EAAAA,aAAa,EAAEM,SAAS,CAACO,IAAV,CAAeL,WAAf,CACb,8CADa;AA5IH,CAAd;AAiJA1C,SAAS,CAACqD,SAAV,GAAsBd,KAAtB;IACMe,mBAAmB,GAAGC,QAAQ,CAACvD,SAAD;AACpCsD,mBAAmB,CAACD,SAApB,GAAgCd,KAAhC;;;;"}
1
+ {"version":3,"file":"DSShuttle.js","sources":["../../src/DSShuttle.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React from 'react';\nimport { debounce } from 'lodash';\nimport { describe, PropTypes } from 'react-desc';\nimport { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';\nimport ShuttleImpl from './ShuttleImpl';\nimport utils from './utils';\n\nconst noop = () => {};\n\nconst DSShuttle = ({\n containerProps = {},\n idField = 'id',\n parentIdField = 'parent',\n showIcons = true,\n items = [],\n selectedItems = undefined, // if defined it becomes controlled (v1)\n // TODO make `nonSelectedItems` the default controlled behavior (v2)\n nonSelectedItems = undefined,\n onSearch = noop,\n onSearchOpen = noop,\n onSearchClose = noop,\n onDrillDown = noop,\n onDrillDownTarget = noop,\n onTargetSortEnd = noop,\n setGetStatus = noop,\n targetSortable = true,\n sourceEmptyMessage = 'No Items Found',\n sourceRootTitle = 'Category',\n targetEmptyMessage = 'No Items Selected',\n targetRootTitle = 'Selected Items',\n composeSourceItemProps = () => ({}),\n composeTargetItemProps = () => ({}),\n onAddToTarget = noop,\n onAddCheckedItems = noop,\n onRemoveFromTarget = noop,\n onRemoveAllFromTarget = noop,\n onChange = noop,\n renderSourceCounter = noop,\n renderTargetCounter = noop,\n sourceClearItemsText = 'CLEAR ALL',\n targetClearItemsText = 'CLEAR ALL',\n searchPlaceholder = 'Search field ID, name, etc.',\n loadingSource = false,\n loadingTarget = false,\n onGetMoreItems = () => null,\n hasNextPage = false,\n moreItemsLoading,\n}) => (\n <TooltipTextProvider>\n <ShuttleImpl\n composeSourceItemProps={composeSourceItemProps}\n composeTargetItemProps={composeTargetItemProps}\n containerProps={containerProps}\n idField={idField}\n items={items}\n onAddCheckedItems={onAddCheckedItems}\n onAddToTarget={onAddToTarget}\n onChange={onChange}\n onDrillDown={onDrillDown}\n nonSelectedItems={nonSelectedItems}\n onDrillDownTarget={onDrillDownTarget}\n onRemoveAllFromTarget={onRemoveAllFromTarget}\n onRemoveFromTarget={onRemoveFromTarget}\n onSearch={onSearch}\n onSearchClose={onSearchClose}\n onSearchOpen={onSearchOpen}\n onTargetSortEnd={onTargetSortEnd}\n parentIdField={parentIdField}\n renderSourceCounter={renderSourceCounter}\n renderTargetCounter={renderTargetCounter}\n searchPlaceholder={searchPlaceholder}\n selectedItems={selectedItems}\n setGetStatus={setGetStatus}\n showIcons={showIcons}\n sourceClearItemsText={sourceClearItemsText}\n sourceEmptyMessage={sourceEmptyMessage}\n sourceRootTitle={sourceRootTitle}\n targetClearItemsText={targetClearItemsText}\n targetEmptyMessage={targetEmptyMessage}\n targetRootTitle={targetRootTitle}\n targetSortable={targetSortable}\n loadingSource={loadingSource}\n loadingTarget={loadingTarget}\n onGetMoreItems={debounce((...args) => {\n onGetMoreItems(...args);\n }, 500)}\n moreItemsLoading={moreItemsLoading}\n hasNextPage={hasNextPage}\n />\n </TooltipTextProvider>\n);\n\nconst props = {\n /** inject props to shuttle wrapper */\n containerProps: PropTypes.object.description('inject props to shuttle wrapper'),\n /** The identifier field for the item object */\n idField: PropTypes.string.description('The identifier field for the item object'),\n /** The parent identifier field for the item object */\n parentIdField: PropTypes.string.description('The parent identifier field for the item object'),\n /** Whether to show the icons or not */\n showIcons: PropTypes.string.description('Whether to show the icons or not'),\n /** List of items */\n items: PropTypes.arrayOf(\n PropTypes.shape({\n disableDrillDown: PropTypes.bool,\n icon: PropTypes.element,\n name: PropTypes.string,\n readOnly: PropTypes.bool,\n description: PropTypes.string,\n }),\n ).description('list of items'),\n /** Array of item ids that are selected. If passed the component behaves as controlled */\n selectedItems: PropTypes.arrayOf(PropTypes.string).description(\n 'Array of item ids that are selected. If passed the component behaves as controlled',\n ),\n /** Array of item ids that aren't selected. Should include ALL non selected items, even those not rendered */\n nonSelectedItems: PropTypes.arrayOf(PropTypes.string).description(\n \"Array of item ids that aren't selected.. Should include ALL non selected items, even those not rendered\",\n ),\n /** Handler on search */\n onSearch: PropTypes.func.description('Handler on search'),\n /** Handler when the searchbox is visible */\n onSearchOpen: PropTypes.func.description('Handler when the searchbox is visible'),\n /** Handler when the searchbox is not visible */\n onSearchClose: PropTypes.func.description('Handler when the searchbox is not visible'),\n /** Source handler when a user navigates to a level down on the nested structure. First param: item drilled. Second param: direction (\"up\" | \"down\") */\n onDrillDown: PropTypes.func.description(\n 'Source handler when a user navigates to a level down on the nested structure. First param: item drilled. Second param: direction (\"up\" | \"down\")',\n ),\n /** Target handler when a user navigates to a level down on the nested structure. First param: item drilled. Second param: direction (\"up\" | \"down\") */\n onDrillDownTarget: PropTypes.func.description(\n 'Target handler when a user navigates to a level down on the nested structure. First param: item drilled. Second param: direction (\"up\" | \"down\")',\n ),\n /** Target handler when user stops dragging an item */\n onTargetSortEnd: PropTypes.func.description('Target handler when user stops dragging an item'),\n /** Callback function that gets more items for Infinite Scroll */\n onGetMoreItems: PropTypes.func.description('Callback function that gets more items for Infinite Scroll'),\n /** Wheter there are mor items loading for Infinite Scroll */\n moreItemsLoading: PropTypes.bool.description('Wheter there are mor items loading for Infinite Scroll'),\n /** Wheter there is a next page for Infinite Scroll, controls when to trigger onGetMoreItems */\n hasNextPage: PropTypes.bool.description(\n 'Wheter there is a next page for Infinite Scroll, controls when to trigger onGetMoreItems',\n ),\n /** Function that takes as a parameter an internal getter for the state */\n setGetStatus: PropTypes.func.description('Function that takes as a parameter an internal getter for the state'),\n /** Whether the target can be sortable with DnD */\n targetSortable: PropTypes.bool.description('Whether the target can be sortable with DnD'),\n /** Handler when the searchbox is visible */\n sourceRootTitle: PropTypes.string.description('Handler when the searchbox is visible'),\n /** Source text when there is no items */\n sourceEmptyMessage: PropTypes.string.description('Source text when there is no items'),\n /** Target text when there is no items */\n targetEmptyMessage: PropTypes.string.description('Target text when there is no items'),\n /** Target text for the first hierarchy item */\n targetRootTitle: PropTypes.string.description('Target text for the first hierarchy item'),\n /** Function that allow to compose the item props in the source */\n composeSourceItemProps: PropTypes.func.description('Function that allow to compose the item props in the source'),\n /** Function that allow to compose the item props in the target */\n composeTargetItemProps: PropTypes.func.description('Function that allow to compose the item props in the target'),\n /** Handler when a users moves an item to the target */\n onAddToTarget: PropTypes.func.description('Handler when a users moves an item to the target'),\n /** Handler when a users moves all the 'checked' items to the target */\n onAddCheckedItems: PropTypes.func.description(\"Handler when a users moves all the 'checked' items to the target\"),\n /** Handler when a user removes an item from the target */\n onRemoveFromTarget: PropTypes.func.description('Handler when a user removes an item from the target'),\n /** Handler when a user removes all the items from the target */\n onRemoveAllFromTarget: PropTypes.func.description('Handler when a user removes all the items from the target'),\n /** Handler for every change on the state */\n onChange: PropTypes.func.description('Handler for every change on the state'),\n /** Function that returns an element for the source counter */\n renderSourceCounter: PropTypes.func.description('Function that returns an element for the source counter'),\n /** Function that returns an element for the target counter */\n renderTargetCounter: PropTypes.func.description('Function that returns an element for the target counter'),\n /** Source text for the clear items button */\n sourceClearItemsText: PropTypes.string.description('Source text for the clear items button'),\n /** Target text for the clear items button */\n targetClearItemsText: PropTypes.string.description('Target text for the clear items button'),\n /** Searchbox placeholder */\n searchPlaceholder: PropTypes.string.description('Searchbox placeholder'),\n /** Displays loading indicator on source section */\n loadingSource: PropTypes.bool.description('Displays loading indicator on source section'),\n /** Displays loading indicator on target section */\n loadingTarget: PropTypes.bool.description('Displays loading indicator on target section'),\n};\n\nDSShuttle.propTypes = props;\nconst DSShuttleWithSchema = describe(DSShuttle);\nDSShuttleWithSchema.propTypes = props;\n\nexport { utils, DSShuttleWithSchema };\n\nexport default DSShuttle;\n"],"names":["noop","DSShuttle","containerProps","idField","parentIdField","showIcons","items","selectedItems","undefined","nonSelectedItems","onSearch","onSearchOpen","onSearchClose","onDrillDown","onDrillDownTarget","onTargetSortEnd","setGetStatus","targetSortable","sourceEmptyMessage","sourceRootTitle","targetEmptyMessage","targetRootTitle","composeSourceItemProps","composeTargetItemProps","onAddToTarget","onAddCheckedItems","onRemoveFromTarget","onRemoveAllFromTarget","onChange","renderSourceCounter","renderTargetCounter","sourceClearItemsText","targetClearItemsText","searchPlaceholder","loadingSource","loadingTarget","onGetMoreItems","hasNextPage","moreItemsLoading","debounce","props","PropTypes","object","description","string","arrayOf","shape","disableDrillDown","bool","icon","element","name","readOnly","func","propTypes","DSShuttleWithSchema","describe"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';
2
2
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
- import { addOrRemove, cloneDeep, compose, hashArray } from '@elliemae/ds-utilities/utils';
3
+ import { addOrRemove, cloneDeep, compose, hashArray } from '@elliemae/ds-utilities';
4
4
  import { toggleInObject, filterMovedItems, getHierarchyTypeName } from './helper.js';
5
5
  import utils from './utils.js';
6
6
  import 'treetabular';
@@ -1 +1 @@
1
- {"version":3,"file":"Shuttle.actions.js","sources":["../../src/Shuttle.actions.js"],"sourcesContent":["import {\n addOrRemove,\n cloneDeep,\n hashArray,\n compose,\n} from '@elliemae/ds-utilities/utils';\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"],"names":["toggleItemSelection","itemId","state","checkedItems","addOrRemove","navigateTo","item","dest","hierarchyType","getHierarchyTypeName","indexInHierarchy","findIndex","hItem","id","hierarchy","slice","moveItem","movedItems","toggleInObject","defaultOptions","parentField","idField","op","hasMoved","getItemDeep","collection","options","itemIndex","fItem","children","hasChildren","compose","utils","getChildren","index","addToTarget","itemToAdd","items","preparedItems","targetItems","removeFromTarget","itemToRemove","cloneDeep","filterMovedItems","splice","length","childrenHash","hashArray","filter","i","mItem","resetCheckedItems","resetMovedItems"],"mappings":"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"}
1
+ {"version":3,"file":"Shuttle.actions.js","sources":["../../src/Shuttle.actions.js"],"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"],"names":["toggleItemSelection","itemId","state","checkedItems","addOrRemove","navigateTo","item","dest","hierarchyType","getHierarchyTypeName","indexInHierarchy","findIndex","hItem","id","hierarchy","slice","moveItem","movedItems","toggleInObject","defaultOptions","parentField","idField","op","hasMoved","getItemDeep","collection","options","itemIndex","fItem","children","hasChildren","compose","utils","getChildren","index","addToTarget","itemToAdd","items","preparedItems","targetItems","removeFromTarget","itemToRemove","cloneDeep","filterMovedItems","splice","length","childrenHash","hashArray","filter","i","mItem","resetCheckedItems","resetMovedItems"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
3
3
  import { useContext, useMemo } from 'react';
4
- import { compose, sortBy, uniqBy, values, isFunction } from '@elliemae/ds-utilities/utils';
4
+ import { compose, sortBy, uniqBy, values, isFunction } from '@elliemae/ds-utilities';
5
5
  import withProviders from './withProviders.js';
6
6
  import { filterItemsByHierarchy, getActiveIdFromHierarchy, prepareItems, getItemsById } from './helper.js';
7
7
  import SearchState from './SearchState.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ShuttleContainer.js","sources":["../../src/ShuttleContainer.tsx"],"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/utils';\nimport withProviders from './withProviders';\nimport {\n prepareItems,\n getActiveIdFromHierarchy,\n filterItemsByHierarchy,\n getItemsById,\n} from './helper';\nimport SearchState from './SearchState';\nimport useShuttleState 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 useShuttleState.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"],"names":["filterItemsByTerm","items","term","filter","item","name","toLowerCase","indexOf","String","id","ShuttleContainer","children","useContext","useShuttleState","Context","shuttleState","state","handlers","SearchState","searchState","movedItems","hierarchy","hierarchyDest","checkedItems","searchTerm","searching","toggleItemSelection","resetCheckedItems","resetMovedItems","moveCheckedItems","moveItem","navigate","sourceItems","useMemo","compose","filterItemsByHierarchy","getActiveIdFromHierarchy","prepareItems","targetItems","hierarchyId","sortBy","uniqBy","values","isFunction","onCheckItem","onClearCheckedItems","onClearMovedItems","onMoveCheckedItems","getItemsById","onMoveItemToSource","onMoveItemToTarget","onNavigateOnSourceTo","onNavigateOnTargetTo","withProviders"],"mappings":"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"}
1
+ {"version":3,"file":"ShuttleContainer.js","sources":["../../src/ShuttleContainer.tsx"],"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 useShuttleState 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 useShuttleState.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"],"names":["filterItemsByTerm","items","term","filter","item","name","toLowerCase","indexOf","String","id","ShuttleContainer","children","useContext","useShuttleState","Context","shuttleState","state","handlers","SearchState","searchState","movedItems","hierarchy","hierarchyDest","checkedItems","searchTerm","searching","toggleItemSelection","resetCheckedItems","resetMovedItems","moveCheckedItems","moveItem","navigate","sourceItems","useMemo","compose","filterItemsByHierarchy","getActiveIdFromHierarchy","prepareItems","targetItems","hierarchyId","sortBy","uniqBy","values","isFunction","onCheckItem","onClearCheckedItems","onClearMovedItems","onMoveCheckedItems","getItemsById","onMoveItemToSource","onMoveItemToTarget","onNavigateOnSourceTo","onNavigateOnTargetTo","withProviders"],"mappings":"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"}