@elliemae/ds-shuttle 1.58.0-rc.2 → 1.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/DSShuttle.js CHANGED
@@ -17,7 +17,6 @@ require('@babel/runtime/helpers/assertThisInitialized');
17
17
  require('@babel/runtime/helpers/inherits');
18
18
  require('@babel/runtime/helpers/possibleConstructorReturn');
19
19
  require('@babel/runtime/helpers/getPrototypeOf');
20
- require('@babel/runtime/helpers/defineProperty');
21
20
  require('@elliemae/ds-utilities');
22
21
  require('./withProviders.js');
23
22
  require('./AnimationState.js');
@@ -26,6 +25,7 @@ require('constate');
26
25
  require('./SearchState.js');
27
26
  require('./ShuttleState.js');
28
27
  require('./helper.js');
28
+ require('@babel/runtime/helpers/defineProperty');
29
29
  require('treetabular');
30
30
  require('./Shuttle.actions.js');
31
31
  require('./ShuttleRenderer.js');
@@ -9,7 +9,6 @@ var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitializ
9
9
  var _inherits = require('@babel/runtime/helpers/inherits');
10
10
  var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
11
11
  var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
12
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
13
12
  var React = require('react');
14
13
  var dsUtilities = require('@elliemae/ds-utilities');
15
14
  var withProviders = require('./withProviders.js');
@@ -22,6 +21,7 @@ require('./AnimationState.js');
22
21
  require('@babel/runtime/helpers/slicedToArray');
23
22
  require('constate');
24
23
  require('./ShuttleState.js');
24
+ require('@babel/runtime/helpers/defineProperty');
25
25
  require('treetabular');
26
26
  require('./utils.js');
27
27
  require('./components/ShuttleSource.js');
@@ -68,7 +68,6 @@ var _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assert
68
68
  var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
69
69
  var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
70
70
  var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
71
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
72
71
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
73
72
 
74
73
  var _excluded = ["idField", "nonSelectedItems", "moreItemsLoading"];
@@ -89,10 +88,10 @@ var ShuttleImpl = /*#__PURE__*/function (_Component) {
89
88
 
90
89
  _this = _super.call(this, props);
91
90
 
92
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getState", function () {
91
+ _this.getState = function () {
93
92
  var movedItems = _this.state.movedItems;
94
93
  return Object.keys(movedItems);
95
- });
94
+ };
96
95
 
97
96
  _this.state = {
98
97
  prevProps: {},
@@ -393,8 +392,7 @@ var ShuttleImpl = /*#__PURE__*/function (_Component) {
393
392
  return ShuttleImpl;
394
393
  }(React.Component);
395
394
 
396
- _defineProperty__default['default'](ShuttleImpl, "contextType", SearchState.Context);
397
-
395
+ ShuttleImpl.contextType = SearchState.Context;
398
396
  var ShuttleImpl$1 = withProviders(ShuttleImpl);
399
397
 
400
398
  module.exports = ShuttleImpl$1;
@@ -1 +1 @@
1
- {"version":3,"file":"ShuttleImpl.js","sources":["../../src/ShuttleImpl.tsx"],"sourcesContent":["/* eslint-disable react/static-property-placement */\n/* eslint-disable react/prop-types */\n/* eslint-disable indent */\n/* eslint-disable import/extensions,react/no-unused-state,no-shadow,max-lines */\nimport React, { Component } from 'react';\nimport { compose, arrayMove } from '@elliemae/ds-utilities';\nimport withProviders from './withProviders';\nimport {\n addToTarget,\n navigateTo,\n resetCheckedItems,\n resetMovedItems,\n toggleItemSelection,\n removeFromTarget,\n} from './Shuttle.actions';\nimport {\n getActiveIdFromHierarchy,\n filterBySearch,\n getItemsById,\n pipe,\n getChildrenFromParent,\n filterMovedItems,\n} from './helper';\nimport ShuttleRenderer from './ShuttleRenderer';\nimport SearchState from './SearchState';\nimport updateShuttleStateFromProps from './updateShuttleStateFromProps';\n\nclass ShuttleImpl extends Component {\n static contextType = SearchState.Context;\n\n constructor(props) {\n super(props);\n this.state = {\n prevProps: {},\n preparedItems: [],\n checkedItems: [],\n // left breadcrumb\n hierarchy: [{ name: props.sourceRootTitle, id: null }],\n // right breadcrumb\n hierarchyDest: [{ name: props.targetRootTitle, id: null }],\n\n movedItems: [],\n sourceItems: [],\n targetItems: [],\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n return updateShuttleStateFromProps(nextProps, prevState);\n }\n\n componentDidMount() {\n const { setGetStatus } = this.props;\n setGetStatus(this.getState);\n }\n\n getState = () => {\n const { movedItems } = this.state;\n return Object.keys(movedItems);\n };\n\n handleChange() {\n const { onChange } = this.props;\n const { movedItems } = this.state;\n onChange(Object.keys(movedItems));\n }\n\n navigate(item, dest, direction) {\n const { onDrillDown, onDrillDownTarget } = this.props;\n\n if (!dest) onDrillDown(item, direction);\n if (dest) onDrillDownTarget(item, direction);\n\n const { reset: resetSearchState } = this.context;\n resetSearchState();\n\n this.setState(pipe([navigateTo(item, dest), resetCheckedItems()]));\n }\n\n resetCheckedItems() {\n this.setState(resetCheckedItems());\n }\n\n resetMovedItems() {\n const { selectedItems, onRemoveAllFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(\n pipe([navigateTo({ id: null }, true), resetMovedItems()]),\n () => {\n this.handleChange();\n },\n );\n } else {\n this.setState(pipe([navigateTo({ id: null }, true)]));\n }\n onRemoveAllFromTarget();\n }\n\n addToTarget(item) {\n const { selectedItems, onAddToTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([addToTarget(item), resetCheckedItems()]), () => {\n this.handleChange();\n });\n }\n onAddToTarget(item);\n }\n\n removeFromTarget(item) {\n const { selectedItems, onRemoveFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([removeFromTarget(item)]), () => {\n this.handleChange();\n });\n }\n onRemoveFromTarget(item);\n }\n\n toggleItemSelection(item) {\n this.setState(toggleItemSelection(item.id));\n }\n\n moveCheckedItems() {\n const { onAddCheckedItems, selectedItems, nonSelectedItems } = this.props;\n const { checkedItems, preparedItems } = this.state;\n const isControlledV2 = !!selectedItems && !!nonSelectedItems;\n const checked = isControlledV2\n ? nonSelectedItems.filter((item) =>\n checkedItems.some((check) => check === item),\n )\n : checkedItems;\n const items = getItemsById(checked, preparedItems);\n const actions = !selectedItems\n ? items.map((item) => addToTarget(item))\n : [];\n this.setState(pipe([...actions, resetCheckedItems()]), () => {\n this.handleChange();\n });\n onAddCheckedItems(items);\n }\n\n handleTargetSortEnd({ sourceItem, targetItem }) {\n const { idField, onTargetSortEnd } = this.props;\n const { targetItems, hierarchyDest, movedItems } = this.state;\n\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n\n const collection = !hierarchyId ? movedItems : targetItems;\n\n const oldIndex = collection.findIndex(\n (tItem) => tItem[idField] === sourceItem[idField],\n );\n const newIndex = collection.findIndex(\n (tItem) => tItem[idField] === targetItem[idField],\n );\n\n const sortedMovedItems = !hierarchyId\n ? arrayMove(movedItems, oldIndex, newIndex)\n : movedItems;\n const sortedItems = hierarchyId\n ? arrayMove(targetItems, oldIndex, newIndex)\n : targetItems;\n\n this.setState({\n targetItems: sortedItems,\n movedItems: sortedMovedItems,\n });\n onTargetSortEnd({ sourceItem, targetItem });\n }\n\n render() {\n const { idField, nonSelectedItems, moreItemsLoading, ...rest } = this.props;\n const {\n hierarchy,\n hierarchyDest,\n checkedItems,\n movedItems,\n preparedItems: items,\n targetItems,\n } = this.state;\n const {\n state: { searchTerm, searching },\n } = this.context;\n\n const handleControlledSourceItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchy);\n if (id) {\n return filterBySearch(\n searchTerm,\n searching,\n )(\n getChildrenFromParent(id)(\n nonSelectedItems.map((it) => items.find((itt) => itt.id === it)),\n ),\n );\n }\n\n return filterBySearch(\n searchTerm,\n searching,\n )(\n items.filter((it) =>\n nonSelectedItems.some(\n (itt) =>\n itt === it.id &&\n !nonSelectedItems.some((ittt) => ittt === it.parent),\n ),\n ),\n );\n };\n\n let composedSourceItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedSourceItems = handleControlledSourceItms();\n } else {\n composedSourceItems = compose(\n filterBySearch(searchTerm, searching),\n filterMovedItems(movedItems),\n getChildrenFromParent(getActiveIdFromHierarchy(hierarchy).id),\n )(items);\n }\n\n const handleControlledTargetItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchyDest);\n if (id) {\n return getChildrenFromParent(\n getActiveIdFromHierarchy(hierarchyDest).id,\n )(\n this.props.selectedItems.map((it) =>\n items.find((itt) => itt.id === it),\n ),\n );\n }\n\n return targetItems.filter((it) =>\n this.props.selectedItems.some(\n (itt) =>\n itt === it.id &&\n !this.props.selectedItems.some((ittt) => ittt === it.parent),\n ),\n );\n };\n\n let composedTargetItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedTargetItems = handleControlledTargetItms();\n } else {\n composedTargetItems = compose((tItems) => {\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n return hierarchyId\n ? compose(\n filterMovedItems(movedItems),\n getChildrenFromParent(hierarchyId),\n )(tItems)\n : movedItems;\n })(targetItems);\n }\n\n return (\n <ShuttleRenderer\n {...rest}\n moreItemsLoading={moreItemsLoading}\n checkedItems={checkedItems}\n hierarchy={hierarchy}\n hierarchyDest={hierarchyDest}\n onCheckItem={this.toggleItemSelection}\n onClearCheckedItems={this.resetCheckedItems}\n onClearMovedItems={this.resetMovedItems}\n onItemCheck={this.toggleItemSelection}\n onMoveCheckedItems={this.moveCheckedItems}\n onMoveItemToSource={(item) => this.removeFromTarget(item, false)}\n onMoveItemToTarget={(item) => this.addToTarget(item, true)}\n onNavigateOnSourceTo={(item, direction) =>\n this.navigate(item, false, direction)\n }\n onNavigateOnTargetTo={(item, direction) =>\n this.navigate(item, true, direction)\n }\n onSourceSortEnd={() => null}\n onTargetSortEnd={this.handleTargetSortEnd}\n sourceItems={composedSourceItems}\n targetItems={composedTargetItems}\n />\n );\n }\n}\n\nexport default withProviders(ShuttleImpl);\n"],"names":["ShuttleImpl","props","movedItems","state","Object","keys","prevProps","preparedItems","checkedItems","hierarchy","name","sourceRootTitle","id","hierarchyDest","targetRootTitle","sourceItems","targetItems","setGetStatus","getState","onChange","item","dest","direction","onDrillDown","onDrillDownTarget","resetSearchState","context","reset","setState","pipe","navigateTo","resetCheckedItems","selectedItems","onRemoveAllFromTarget","resetMovedItems","handleChange","onAddToTarget","addToTarget","onRemoveFromTarget","removeFromTarget","toggleItemSelection","onAddCheckedItems","nonSelectedItems","isControlledV2","checked","filter","some","check","items","getItemsById","actions","map","sourceItem","targetItem","idField","onTargetSortEnd","hierarchyId","getActiveIdFromHierarchy","collection","oldIndex","findIndex","tItem","newIndex","sortedMovedItems","arrayMove","sortedItems","moreItemsLoading","rest","searchTerm","searching","handleControlledSourceItms","filterBySearch","getChildrenFromParent","it","find","itt","ittt","parent","composedSourceItems","compose","filterMovedItems","handleControlledTargetItms","composedTargetItems","tItems","React","moveCheckedItems","navigate","handleTargetSortEnd","nextProps","prevState","updateShuttleStateFromProps","Component","SearchState","Context","withProviders"],"mappings":"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"}
1
+ {"version":3,"file":"ShuttleImpl.js","sources":["../../src/ShuttleImpl.tsx"],"sourcesContent":["/* eslint-disable react/static-property-placement */\n/* eslint-disable react/prop-types */\n/* eslint-disable indent */\n/* eslint-disable import/extensions,react/no-unused-state,no-shadow,max-lines */\nimport React, { Component } from 'react';\nimport { compose, arrayMove } from '@elliemae/ds-utilities';\nimport withProviders from './withProviders';\nimport {\n addToTarget,\n navigateTo,\n resetCheckedItems,\n resetMovedItems,\n toggleItemSelection,\n removeFromTarget,\n} from './Shuttle.actions';\nimport {\n getActiveIdFromHierarchy,\n filterBySearch,\n getItemsById,\n pipe,\n getChildrenFromParent,\n filterMovedItems,\n} from './helper';\nimport ShuttleRenderer from './ShuttleRenderer';\nimport SearchState from './SearchState';\nimport updateShuttleStateFromProps from './updateShuttleStateFromProps';\n\nclass ShuttleImpl extends Component {\n static contextType = SearchState.Context;\n\n constructor(props) {\n super(props);\n this.state = {\n prevProps: {},\n preparedItems: [],\n checkedItems: [],\n // left breadcrumb\n hierarchy: [{ name: props.sourceRootTitle, id: null }],\n // right breadcrumb\n hierarchyDest: [{ name: props.targetRootTitle, id: null }],\n\n movedItems: [],\n sourceItems: [],\n targetItems: [],\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n return updateShuttleStateFromProps(nextProps, prevState);\n }\n\n componentDidMount() {\n const { setGetStatus } = this.props;\n setGetStatus(this.getState);\n }\n\n getState = () => {\n const { movedItems } = this.state;\n return Object.keys(movedItems);\n };\n\n handleChange() {\n const { onChange } = this.props;\n const { movedItems } = this.state;\n onChange(Object.keys(movedItems));\n }\n\n navigate(item, dest, direction) {\n const { onDrillDown, onDrillDownTarget } = this.props;\n\n if (!dest) onDrillDown(item, direction);\n if (dest) onDrillDownTarget(item, direction);\n\n const { reset: resetSearchState } = this.context;\n resetSearchState();\n\n this.setState(pipe([navigateTo(item, dest), resetCheckedItems()]));\n }\n\n resetCheckedItems() {\n this.setState(resetCheckedItems());\n }\n\n resetMovedItems() {\n const { selectedItems, onRemoveAllFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(\n pipe([navigateTo({ id: null }, true), resetMovedItems()]),\n () => {\n this.handleChange();\n },\n );\n } else {\n this.setState(pipe([navigateTo({ id: null }, true)]));\n }\n onRemoveAllFromTarget();\n }\n\n addToTarget(item) {\n const { selectedItems, onAddToTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([addToTarget(item), resetCheckedItems()]), () => {\n this.handleChange();\n });\n }\n onAddToTarget(item);\n }\n\n removeFromTarget(item) {\n const { selectedItems, onRemoveFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([removeFromTarget(item)]), () => {\n this.handleChange();\n });\n }\n onRemoveFromTarget(item);\n }\n\n toggleItemSelection(item) {\n this.setState(toggleItemSelection(item.id));\n }\n\n moveCheckedItems() {\n const { onAddCheckedItems, selectedItems, nonSelectedItems } = this.props;\n const { checkedItems, preparedItems } = this.state;\n const isControlledV2 = !!selectedItems && !!nonSelectedItems;\n const checked = isControlledV2\n ? nonSelectedItems.filter((item) =>\n checkedItems.some((check) => check === item),\n )\n : checkedItems;\n const items = getItemsById(checked, preparedItems);\n const actions = !selectedItems\n ? items.map((item) => addToTarget(item))\n : [];\n this.setState(pipe([...actions, resetCheckedItems()]), () => {\n this.handleChange();\n });\n onAddCheckedItems(items);\n }\n\n handleTargetSortEnd({ sourceItem, targetItem }) {\n const { idField, onTargetSortEnd } = this.props;\n const { targetItems, hierarchyDest, movedItems } = this.state;\n\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n\n const collection = !hierarchyId ? movedItems : targetItems;\n\n const oldIndex = collection.findIndex(\n (tItem) => tItem[idField] === sourceItem[idField],\n );\n const newIndex = collection.findIndex(\n (tItem) => tItem[idField] === targetItem[idField],\n );\n\n const sortedMovedItems = !hierarchyId\n ? arrayMove(movedItems, oldIndex, newIndex)\n : movedItems;\n const sortedItems = hierarchyId\n ? arrayMove(targetItems, oldIndex, newIndex)\n : targetItems;\n\n this.setState({\n targetItems: sortedItems,\n movedItems: sortedMovedItems,\n });\n onTargetSortEnd({ sourceItem, targetItem });\n }\n\n render() {\n const { idField, nonSelectedItems, moreItemsLoading, ...rest } = this.props;\n const {\n hierarchy,\n hierarchyDest,\n checkedItems,\n movedItems,\n preparedItems: items,\n targetItems,\n } = this.state;\n const {\n state: { searchTerm, searching },\n } = this.context;\n\n const handleControlledSourceItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchy);\n if (id) {\n return filterBySearch(\n searchTerm,\n searching,\n )(\n getChildrenFromParent(id)(\n nonSelectedItems.map((it) => items.find((itt) => itt.id === it)),\n ),\n );\n }\n\n return filterBySearch(\n searchTerm,\n searching,\n )(\n items.filter((it) =>\n nonSelectedItems.some(\n (itt) =>\n itt === it.id &&\n !nonSelectedItems.some((ittt) => ittt === it.parent),\n ),\n ),\n );\n };\n\n let composedSourceItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedSourceItems = handleControlledSourceItms();\n } else {\n composedSourceItems = compose(\n filterBySearch(searchTerm, searching),\n filterMovedItems(movedItems),\n getChildrenFromParent(getActiveIdFromHierarchy(hierarchy).id),\n )(items);\n }\n\n const handleControlledTargetItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchyDest);\n if (id) {\n return getChildrenFromParent(\n getActiveIdFromHierarchy(hierarchyDest).id,\n )(\n this.props.selectedItems.map((it) =>\n items.find((itt) => itt.id === it),\n ),\n );\n }\n\n return targetItems.filter((it) =>\n this.props.selectedItems.some(\n (itt) =>\n itt === it.id &&\n !this.props.selectedItems.some((ittt) => ittt === it.parent),\n ),\n );\n };\n\n let composedTargetItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedTargetItems = handleControlledTargetItms();\n } else {\n composedTargetItems = compose((tItems) => {\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n return hierarchyId\n ? compose(\n filterMovedItems(movedItems),\n getChildrenFromParent(hierarchyId),\n )(tItems)\n : movedItems;\n })(targetItems);\n }\n\n return (\n <ShuttleRenderer\n {...rest}\n moreItemsLoading={moreItemsLoading}\n checkedItems={checkedItems}\n hierarchy={hierarchy}\n hierarchyDest={hierarchyDest}\n onCheckItem={this.toggleItemSelection}\n onClearCheckedItems={this.resetCheckedItems}\n onClearMovedItems={this.resetMovedItems}\n onItemCheck={this.toggleItemSelection}\n onMoveCheckedItems={this.moveCheckedItems}\n onMoveItemToSource={(item) => this.removeFromTarget(item, false)}\n onMoveItemToTarget={(item) => this.addToTarget(item, true)}\n onNavigateOnSourceTo={(item, direction) =>\n this.navigate(item, false, direction)\n }\n onNavigateOnTargetTo={(item, direction) =>\n this.navigate(item, true, direction)\n }\n onSourceSortEnd={() => null}\n onTargetSortEnd={this.handleTargetSortEnd}\n sourceItems={composedSourceItems}\n targetItems={composedTargetItems}\n />\n );\n }\n}\n\nexport default withProviders(ShuttleImpl);\n"],"names":["ShuttleImpl","props","getState","movedItems","state","Object","keys","prevProps","preparedItems","checkedItems","hierarchy","name","sourceRootTitle","id","hierarchyDest","targetRootTitle","sourceItems","targetItems","setGetStatus","onChange","item","dest","direction","onDrillDown","onDrillDownTarget","resetSearchState","context","reset","setState","pipe","navigateTo","resetCheckedItems","selectedItems","onRemoveAllFromTarget","resetMovedItems","handleChange","onAddToTarget","addToTarget","onRemoveFromTarget","removeFromTarget","toggleItemSelection","onAddCheckedItems","nonSelectedItems","isControlledV2","checked","filter","some","check","items","getItemsById","actions","map","sourceItem","targetItem","idField","onTargetSortEnd","hierarchyId","getActiveIdFromHierarchy","collection","oldIndex","findIndex","tItem","newIndex","sortedMovedItems","arrayMove","sortedItems","moreItemsLoading","rest","searchTerm","searching","handleControlledSourceItms","filterBySearch","getChildrenFromParent","it","find","itt","ittt","parent","composedSourceItems","compose","filterMovedItems","handleControlledTargetItms","composedTargetItems","tItems","React","moveCheckedItems","navigate","handleTargetSortEnd","nextProps","prevState","updateShuttleStateFromProps","Component","contextType","SearchState","Context","withProviders"],"mappings":"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"}
@@ -6,7 +6,6 @@ var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitializ
6
6
  var _inherits = require('@babel/runtime/helpers/inherits');
7
7
  var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
8
8
  var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
9
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
10
9
  var React = require('react');
11
10
  var dsClassnames = require('@elliemae/ds-classnames');
12
11
  var dsUtilities = require('@elliemae/ds-utilities');
@@ -20,7 +19,6 @@ var _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assert
20
19
  var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
21
20
  var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
22
21
  var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
23
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
23
 
26
24
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }
@@ -121,7 +119,7 @@ var ShuttleSearchBox = /*#__PURE__*/function (_Component) {
121
119
  return ShuttleSearchBox;
122
120
  }(React.Component);
123
121
 
124
- _defineProperty__default['default'](ShuttleSearchBox, "defaultProps", {
122
+ ShuttleSearchBox.defaultProps = {
125
123
  filterOnKeyStroke: false,
126
124
  onChange: function onChange() {
127
125
  return null;
@@ -129,7 +127,7 @@ _defineProperty__default['default'](ShuttleSearchBox, "defaultProps", {
129
127
  onFilter: function onFilter() {
130
128
  return null;
131
129
  }
132
- });
130
+ };
133
131
 
134
132
  module.exports = ShuttleSearchBox;
135
133
  //# sourceMappingURL=ShuttleSearchBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShuttleSearchBox.js","sources":["../../../src/components/ShuttleSearchBox.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-state */\nimport React, { Component } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { debounce } from '@elliemae/ds-utilities';\nimport { DSTextBox } from '@elliemae/ds-form';\n\nconst blockName = 'shuttle-search-box';\n\nconst SearchBoxContainer = aggregatedClasses('div')(blockName, null, ({ isOpen }) => ({ opened: isOpen }));\n\nconst filterList = debounce((term, onFilterCallback) => {\n onFilterCallback(term);\n}, 200);\n\nexport default class ShuttleSearchBox extends Component {\n static defaultProps = {\n filterOnKeyStroke: false,\n onChange: () => null,\n onFilter: () => null,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: props.value,\n prevProps: {},\n };\n }\n\n static getDerivedStateFromProps(nextProps, { prevProps }) {\n const { value } = nextProps;\n if (value !== prevProps.value) {\n return {\n value,\n prevProps: { value },\n };\n }\n return null;\n }\n\n handleChange(e) {\n const { onChange, filterOnKeyStroke, onFilter } = this.props;\n const { value } = e.target;\n onChange(value);\n if (filterOnKeyStroke) filterList(value, onFilter);\n this.setState({ value });\n }\n\n handleKeyPress(e) {\n const { onFilter } = this.props;\n if (e.keyCode === 13) onFilter(e.target.value);\n }\n\n render() {\n const { value } = this.state;\n const { isOpen, onClose, placeholder } = this.props;\n return (\n <SearchBoxContainer classProps={{ isOpen }}>\n <DSTextBox\n autoFocus\n clearable\n onChange={this.handleChange}\n onClear={onClose}\n onKeyDown={this.handleKeyPress}\n placeholder={placeholder}\n value={value}\n />\n </SearchBoxContainer>\n );\n }\n}\n"],"names":["blockName","SearchBoxContainer","aggregatedClasses","isOpen","opened","filterList","debounce","term","onFilterCallback","ShuttleSearchBox","props","state","value","prevProps","e","onChange","filterOnKeyStroke","onFilter","target","setState","keyCode","onClose","placeholder","React","DSTextBox","handleChange","handleKeyPress","nextProps","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,oBAAlB;AAEA,IAAMC,kBAAkB,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,IAApC,EAA0C;AAAA,MAAGG,MAAH,QAAGA,MAAH;AAAA,SAAiB;AAAEC,IAAAA,MAAM,EAAED;AAAV,GAAjB;AAAA,CAA1C,CAA3B;AAEA,IAAME,UAAU,GAAGC,oBAAQ,CAAC,UAACC,IAAD,EAAOC,gBAAP,EAA4B;AACtDA,EAAAA,gBAAgB,CAACD,IAAD,CAAhB;AACD,CAF0B,EAExB,GAFwB,CAA3B;;IAIqBE;;;;;AAOnB,4BAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,KAAK,EAAEF,KAAK,CAACE,KADF;AAEXC,MAAAA,SAAS,EAAE;AAFA,KAAb;AAFiB;AAAA;AAAA;AAMlB;;;;WAaD,sBAAaC,CAAb,EAAgB;AACd,wBAAkD,KAAKJ,KAAvD;AAAA,UAAQK,QAAR,eAAQA,QAAR;AAAA,UAAkBC,iBAAlB,eAAkBA,iBAAlB;AAAA,UAAqCC,QAArC,eAAqCA,QAArC;AACA,UAAQL,KAAR,GAAkBE,CAAC,CAACI,MAApB,CAAQN,KAAR;AACAG,MAAAA,QAAQ,CAACH,KAAD,CAAR;AACA,UAAII,iBAAJ,EAAuBX,UAAU,CAACO,KAAD,EAAQK,QAAR,CAAV;AACvB,WAAKE,QAAL,CAAc;AAAEP,QAAAA,KAAK,EAALA;AAAF,OAAd;AACD;;;WAED,wBAAeE,CAAf,EAAkB;AAChB,UAAQG,QAAR,GAAqB,KAAKP,KAA1B,CAAQO,QAAR;AACA,UAAIH,CAAC,CAACM,OAAF,KAAc,EAAlB,EAAsBH,QAAQ,CAACH,CAAC,CAACI,MAAF,CAASN,KAAV,CAAR;AACvB;;;WAED,kBAAS;AACP,UAAQA,KAAR,GAAkB,KAAKD,KAAvB,CAAQC,KAAR;AACA,yBAAyC,KAAKF,KAA9C;AAAA,UAAQP,MAAR,gBAAQA,MAAR;AAAA,UAAgBkB,OAAhB,gBAAgBA,OAAhB;AAAA,UAAyBC,WAAzB,gBAAyBA,WAAzB;AACA,0BACEC,wCAAC,kBAAD;AAAoB,QAAA,UAAU,EAAE;AAAEpB,UAAAA,MAAM,EAANA;AAAF;AAAhC,sBACEoB,wCAACC,gBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,SAAS,MAFX;AAGE,QAAA,QAAQ,EAAE,KAAKC,YAHjB;AAIE,QAAA,OAAO,EAAEJ,OAJX;AAKE,QAAA,SAAS,EAAE,KAAKK,cALlB;AAME,QAAA,WAAW,EAAEJ,WANf;AAOE,QAAA,KAAK,EAAEV;AAPT,QADF,CADF;AAaD;;;WAxCD,kCAAgCe,SAAhC,SAA0D;AAAA,UAAbd,SAAa,SAAbA,SAAa;AACxD,UAAQD,KAAR,GAAkBe,SAAlB,CAAQf,KAAR;;AACA,UAAIA,KAAK,KAAKC,SAAS,CAACD,KAAxB,EAA+B;AAC7B,eAAO;AACLA,UAAAA,KAAK,EAALA,KADK;AAELC,UAAAA,SAAS,EAAE;AAAED,YAAAA,KAAK,EAALA;AAAF;AAFN,SAAP;AAID;;AACD,aAAO,IAAP;AACD;;;;EAxB2CgB;;oCAAzBnB,kCACG;AACpBO,EAAAA,iBAAiB,EAAE,KADC;AAEpBD,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA,GAFU;AAGpBE,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA;AAHU;;;;"}
1
+ {"version":3,"file":"ShuttleSearchBox.js","sources":["../../../src/components/ShuttleSearchBox.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-state */\nimport React, { Component } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { debounce } from '@elliemae/ds-utilities';\nimport { DSTextBox } from '@elliemae/ds-form';\n\nconst blockName = 'shuttle-search-box';\n\nconst SearchBoxContainer = aggregatedClasses('div')(blockName, null, ({ isOpen }) => ({ opened: isOpen }));\n\nconst filterList = debounce((term, onFilterCallback) => {\n onFilterCallback(term);\n}, 200);\n\nexport default class ShuttleSearchBox extends Component {\n static defaultProps = {\n filterOnKeyStroke: false,\n onChange: () => null,\n onFilter: () => null,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: props.value,\n prevProps: {},\n };\n }\n\n static getDerivedStateFromProps(nextProps, { prevProps }) {\n const { value } = nextProps;\n if (value !== prevProps.value) {\n return {\n value,\n prevProps: { value },\n };\n }\n return null;\n }\n\n handleChange(e) {\n const { onChange, filterOnKeyStroke, onFilter } = this.props;\n const { value } = e.target;\n onChange(value);\n if (filterOnKeyStroke) filterList(value, onFilter);\n this.setState({ value });\n }\n\n handleKeyPress(e) {\n const { onFilter } = this.props;\n if (e.keyCode === 13) onFilter(e.target.value);\n }\n\n render() {\n const { value } = this.state;\n const { isOpen, onClose, placeholder } = this.props;\n return (\n <SearchBoxContainer classProps={{ isOpen }}>\n <DSTextBox\n autoFocus\n clearable\n onChange={this.handleChange}\n onClear={onClose}\n onKeyDown={this.handleKeyPress}\n placeholder={placeholder}\n value={value}\n />\n </SearchBoxContainer>\n );\n }\n}\n"],"names":["blockName","SearchBoxContainer","aggregatedClasses","isOpen","opened","filterList","debounce","term","onFilterCallback","ShuttleSearchBox","props","state","value","prevProps","e","onChange","filterOnKeyStroke","onFilter","target","setState","keyCode","onClose","placeholder","React","DSTextBox","handleChange","handleKeyPress","nextProps","Component","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,oBAAlB;AAEA,IAAMC,kBAAkB,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,IAApC,EAA0C;AAAA,MAAGG,MAAH,QAAGA,MAAH;AAAA,SAAiB;AAAEC,IAAAA,MAAM,EAAED;AAAV,GAAjB;AAAA,CAA1C,CAA3B;AAEA,IAAME,UAAU,GAAGC,oBAAQ,CAAC,UAACC,IAAD,EAAOC,gBAAP,EAA4B;AACtDA,EAAAA,gBAAgB,CAACD,IAAD,CAAhB;AACD,CAF0B,EAExB,GAFwB,CAA3B;;IAIqBE;;;;;AAOnB,4BAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,KAAK,EAAEF,KAAK,CAACE,KADF;AAEXC,MAAAA,SAAS,EAAE;AAFA,KAAb;AAFiB;AAAA;AAAA;AAMlB;;;;WAaD,sBAAaC,CAAb,EAAgB;AACd,wBAAkD,KAAKJ,KAAvD;AAAA,UAAQK,QAAR,eAAQA,QAAR;AAAA,UAAkBC,iBAAlB,eAAkBA,iBAAlB;AAAA,UAAqCC,QAArC,eAAqCA,QAArC;AACA,UAAQL,KAAR,GAAkBE,CAAC,CAACI,MAApB,CAAQN,KAAR;AACAG,MAAAA,QAAQ,CAACH,KAAD,CAAR;AACA,UAAII,iBAAJ,EAAuBX,UAAU,CAACO,KAAD,EAAQK,QAAR,CAAV;AACvB,WAAKE,QAAL,CAAc;AAAEP,QAAAA,KAAK,EAALA;AAAF,OAAd;AACD;;;WAED,wBAAeE,CAAf,EAAkB;AAChB,UAAQG,QAAR,GAAqB,KAAKP,KAA1B,CAAQO,QAAR;AACA,UAAIH,CAAC,CAACM,OAAF,KAAc,EAAlB,EAAsBH,QAAQ,CAACH,CAAC,CAACI,MAAF,CAASN,KAAV,CAAR;AACvB;;;WAED,kBAAS;AACP,UAAQA,KAAR,GAAkB,KAAKD,KAAvB,CAAQC,KAAR;AACA,yBAAyC,KAAKF,KAA9C;AAAA,UAAQP,MAAR,gBAAQA,MAAR;AAAA,UAAgBkB,OAAhB,gBAAgBA,OAAhB;AAAA,UAAyBC,WAAzB,gBAAyBA,WAAzB;AACA,0BACEC,wCAAC,kBAAD;AAAoB,QAAA,UAAU,EAAE;AAAEpB,UAAAA,MAAM,EAANA;AAAF;AAAhC,sBACEoB,wCAACC,gBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,SAAS,MAFX;AAGE,QAAA,QAAQ,EAAE,KAAKC,YAHjB;AAIE,QAAA,OAAO,EAAEJ,OAJX;AAKE,QAAA,SAAS,EAAE,KAAKK,cALlB;AAME,QAAA,WAAW,EAAEJ,WANf;AAOE,QAAA,KAAK,EAAEV;AAPT,QADF,CADF;AAaD;;;WAxCD,kCAAgCe,SAAhC,SAA0D;AAAA,UAAbd,SAAa,SAAbA,SAAa;AACxD,UAAQD,KAAR,GAAkBe,SAAlB,CAAQf,KAAR;;AACA,UAAIA,KAAK,KAAKC,SAAS,CAACD,KAAxB,EAA+B;AAC7B,eAAO;AACLA,UAAAA,KAAK,EAALA,KADK;AAELC,UAAAA,SAAS,EAAE;AAAED,YAAAA,KAAK,EAALA;AAAF;AAFN,SAAP;AAID;;AACD,aAAO,IAAP;AACD;;;;EAxB2CgB;;AAAzBnB,iBACZoB,eAAe;AACpBb,EAAAA,iBAAiB,EAAE,KADC;AAEpBD,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA,GAFU;AAGpBE,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA;AAHU;;;;"}
package/cjs/index.js CHANGED
@@ -18,7 +18,6 @@ require('@babel/runtime/helpers/assertThisInitialized');
18
18
  require('@babel/runtime/helpers/inherits');
19
19
  require('@babel/runtime/helpers/possibleConstructorReturn');
20
20
  require('@babel/runtime/helpers/getPrototypeOf');
21
- require('@babel/runtime/helpers/defineProperty');
22
21
  require('@elliemae/ds-utilities');
23
22
  require('./withProviders.js');
24
23
  require('./AnimationState.js');
@@ -27,6 +26,7 @@ require('constate');
27
26
  require('./SearchState.js');
28
27
  require('./ShuttleState.js');
29
28
  require('./helper.js');
29
+ require('@babel/runtime/helpers/defineProperty');
30
30
  require('treetabular');
31
31
  require('./Shuttle.actions.js');
32
32
  require('./ShuttleRenderer.js');
package/esm/DSShuttle.js CHANGED
@@ -13,7 +13,6 @@ import '@babel/runtime/helpers/esm/assertThisInitialized';
13
13
  import '@babel/runtime/helpers/esm/inherits';
14
14
  import '@babel/runtime/helpers/esm/possibleConstructorReturn';
15
15
  import '@babel/runtime/helpers/esm/getPrototypeOf';
16
- import '@babel/runtime/helpers/esm/defineProperty';
17
16
  import '@elliemae/ds-utilities';
18
17
  import './withProviders.js';
19
18
  import './AnimationState.js';
@@ -22,6 +21,7 @@ import 'constate';
22
21
  import './SearchState.js';
23
22
  import './ShuttleState.js';
24
23
  import './helper.js';
24
+ import '@babel/runtime/helpers/esm/defineProperty';
25
25
  import 'treetabular';
26
26
  import './Shuttle.actions.js';
27
27
  import './ShuttleRenderer.js';
@@ -7,7 +7,6 @@ import _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitial
7
7
  import _inherits from '@babel/runtime/helpers/esm/inherits';
8
8
  import _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';
9
9
  import _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';
10
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
11
10
  import React, { Component } from 'react';
12
11
  import { arrayMove, compose } from '@elliemae/ds-utilities';
13
12
  import withProviders from './withProviders.js';
@@ -20,6 +19,7 @@ import './AnimationState.js';
20
19
  import '@babel/runtime/helpers/esm/slicedToArray';
21
20
  import 'constate';
22
21
  import './ShuttleState.js';
22
+ import '@babel/runtime/helpers/esm/defineProperty';
23
23
  import 'treetabular';
24
24
  import './utils.js';
25
25
  import './components/ShuttleSource.js';
@@ -73,10 +73,10 @@ var ShuttleImpl = /*#__PURE__*/function (_Component) {
73
73
 
74
74
  _this = _super.call(this, props);
75
75
 
76
- _defineProperty(_assertThisInitialized(_this), "getState", function () {
76
+ _this.getState = function () {
77
77
  var movedItems = _this.state.movedItems;
78
78
  return Object.keys(movedItems);
79
- });
79
+ };
80
80
 
81
81
  _this.state = {
82
82
  prevProps: {},
@@ -377,8 +377,7 @@ var ShuttleImpl = /*#__PURE__*/function (_Component) {
377
377
  return ShuttleImpl;
378
378
  }(Component);
379
379
 
380
- _defineProperty(ShuttleImpl, "contextType", SearchState.Context);
381
-
380
+ ShuttleImpl.contextType = SearchState.Context;
382
381
  var ShuttleImpl$1 = withProviders(ShuttleImpl);
383
382
 
384
383
  export { ShuttleImpl$1 as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ShuttleImpl.js","sources":["../../src/ShuttleImpl.tsx"],"sourcesContent":["/* eslint-disable react/static-property-placement */\n/* eslint-disable react/prop-types */\n/* eslint-disable indent */\n/* eslint-disable import/extensions,react/no-unused-state,no-shadow,max-lines */\nimport React, { Component } from 'react';\nimport { compose, arrayMove } from '@elliemae/ds-utilities';\nimport withProviders from './withProviders';\nimport {\n addToTarget,\n navigateTo,\n resetCheckedItems,\n resetMovedItems,\n toggleItemSelection,\n removeFromTarget,\n} from './Shuttle.actions';\nimport {\n getActiveIdFromHierarchy,\n filterBySearch,\n getItemsById,\n pipe,\n getChildrenFromParent,\n filterMovedItems,\n} from './helper';\nimport ShuttleRenderer from './ShuttleRenderer';\nimport SearchState from './SearchState';\nimport updateShuttleStateFromProps from './updateShuttleStateFromProps';\n\nclass ShuttleImpl extends Component {\n static contextType = SearchState.Context;\n\n constructor(props) {\n super(props);\n this.state = {\n prevProps: {},\n preparedItems: [],\n checkedItems: [],\n // left breadcrumb\n hierarchy: [{ name: props.sourceRootTitle, id: null }],\n // right breadcrumb\n hierarchyDest: [{ name: props.targetRootTitle, id: null }],\n\n movedItems: [],\n sourceItems: [],\n targetItems: [],\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n return updateShuttleStateFromProps(nextProps, prevState);\n }\n\n componentDidMount() {\n const { setGetStatus } = this.props;\n setGetStatus(this.getState);\n }\n\n getState = () => {\n const { movedItems } = this.state;\n return Object.keys(movedItems);\n };\n\n handleChange() {\n const { onChange } = this.props;\n const { movedItems } = this.state;\n onChange(Object.keys(movedItems));\n }\n\n navigate(item, dest, direction) {\n const { onDrillDown, onDrillDownTarget } = this.props;\n\n if (!dest) onDrillDown(item, direction);\n if (dest) onDrillDownTarget(item, direction);\n\n const { reset: resetSearchState } = this.context;\n resetSearchState();\n\n this.setState(pipe([navigateTo(item, dest), resetCheckedItems()]));\n }\n\n resetCheckedItems() {\n this.setState(resetCheckedItems());\n }\n\n resetMovedItems() {\n const { selectedItems, onRemoveAllFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(\n pipe([navigateTo({ id: null }, true), resetMovedItems()]),\n () => {\n this.handleChange();\n },\n );\n } else {\n this.setState(pipe([navigateTo({ id: null }, true)]));\n }\n onRemoveAllFromTarget();\n }\n\n addToTarget(item) {\n const { selectedItems, onAddToTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([addToTarget(item), resetCheckedItems()]), () => {\n this.handleChange();\n });\n }\n onAddToTarget(item);\n }\n\n removeFromTarget(item) {\n const { selectedItems, onRemoveFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([removeFromTarget(item)]), () => {\n this.handleChange();\n });\n }\n onRemoveFromTarget(item);\n }\n\n toggleItemSelection(item) {\n this.setState(toggleItemSelection(item.id));\n }\n\n moveCheckedItems() {\n const { onAddCheckedItems, selectedItems, nonSelectedItems } = this.props;\n const { checkedItems, preparedItems } = this.state;\n const isControlledV2 = !!selectedItems && !!nonSelectedItems;\n const checked = isControlledV2\n ? nonSelectedItems.filter((item) =>\n checkedItems.some((check) => check === item),\n )\n : checkedItems;\n const items = getItemsById(checked, preparedItems);\n const actions = !selectedItems\n ? items.map((item) => addToTarget(item))\n : [];\n this.setState(pipe([...actions, resetCheckedItems()]), () => {\n this.handleChange();\n });\n onAddCheckedItems(items);\n }\n\n handleTargetSortEnd({ sourceItem, targetItem }) {\n const { idField, onTargetSortEnd } = this.props;\n const { targetItems, hierarchyDest, movedItems } = this.state;\n\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n\n const collection = !hierarchyId ? movedItems : targetItems;\n\n const oldIndex = collection.findIndex(\n (tItem) => tItem[idField] === sourceItem[idField],\n );\n const newIndex = collection.findIndex(\n (tItem) => tItem[idField] === targetItem[idField],\n );\n\n const sortedMovedItems = !hierarchyId\n ? arrayMove(movedItems, oldIndex, newIndex)\n : movedItems;\n const sortedItems = hierarchyId\n ? arrayMove(targetItems, oldIndex, newIndex)\n : targetItems;\n\n this.setState({\n targetItems: sortedItems,\n movedItems: sortedMovedItems,\n });\n onTargetSortEnd({ sourceItem, targetItem });\n }\n\n render() {\n const { idField, nonSelectedItems, moreItemsLoading, ...rest } = this.props;\n const {\n hierarchy,\n hierarchyDest,\n checkedItems,\n movedItems,\n preparedItems: items,\n targetItems,\n } = this.state;\n const {\n state: { searchTerm, searching },\n } = this.context;\n\n const handleControlledSourceItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchy);\n if (id) {\n return filterBySearch(\n searchTerm,\n searching,\n )(\n getChildrenFromParent(id)(\n nonSelectedItems.map((it) => items.find((itt) => itt.id === it)),\n ),\n );\n }\n\n return filterBySearch(\n searchTerm,\n searching,\n )(\n items.filter((it) =>\n nonSelectedItems.some(\n (itt) =>\n itt === it.id &&\n !nonSelectedItems.some((ittt) => ittt === it.parent),\n ),\n ),\n );\n };\n\n let composedSourceItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedSourceItems = handleControlledSourceItms();\n } else {\n composedSourceItems = compose(\n filterBySearch(searchTerm, searching),\n filterMovedItems(movedItems),\n getChildrenFromParent(getActiveIdFromHierarchy(hierarchy).id),\n )(items);\n }\n\n const handleControlledTargetItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchyDest);\n if (id) {\n return getChildrenFromParent(\n getActiveIdFromHierarchy(hierarchyDest).id,\n )(\n this.props.selectedItems.map((it) =>\n items.find((itt) => itt.id === it),\n ),\n );\n }\n\n return targetItems.filter((it) =>\n this.props.selectedItems.some(\n (itt) =>\n itt === it.id &&\n !this.props.selectedItems.some((ittt) => ittt === it.parent),\n ),\n );\n };\n\n let composedTargetItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedTargetItems = handleControlledTargetItms();\n } else {\n composedTargetItems = compose((tItems) => {\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n return hierarchyId\n ? compose(\n filterMovedItems(movedItems),\n getChildrenFromParent(hierarchyId),\n )(tItems)\n : movedItems;\n })(targetItems);\n }\n\n return (\n <ShuttleRenderer\n {...rest}\n moreItemsLoading={moreItemsLoading}\n checkedItems={checkedItems}\n hierarchy={hierarchy}\n hierarchyDest={hierarchyDest}\n onCheckItem={this.toggleItemSelection}\n onClearCheckedItems={this.resetCheckedItems}\n onClearMovedItems={this.resetMovedItems}\n onItemCheck={this.toggleItemSelection}\n onMoveCheckedItems={this.moveCheckedItems}\n onMoveItemToSource={(item) => this.removeFromTarget(item, false)}\n onMoveItemToTarget={(item) => this.addToTarget(item, true)}\n onNavigateOnSourceTo={(item, direction) =>\n this.navigate(item, false, direction)\n }\n onNavigateOnTargetTo={(item, direction) =>\n this.navigate(item, true, direction)\n }\n onSourceSortEnd={() => null}\n onTargetSortEnd={this.handleTargetSortEnd}\n sourceItems={composedSourceItems}\n targetItems={composedTargetItems}\n />\n );\n }\n}\n\nexport default withProviders(ShuttleImpl);\n"],"names":["ShuttleImpl","props","movedItems","state","Object","keys","prevProps","preparedItems","checkedItems","hierarchy","name","sourceRootTitle","id","hierarchyDest","targetRootTitle","sourceItems","targetItems","setGetStatus","getState","onChange","item","dest","direction","onDrillDown","onDrillDownTarget","resetSearchState","context","reset","setState","pipe","navigateTo","resetCheckedItems","selectedItems","onRemoveAllFromTarget","resetMovedItems","handleChange","onAddToTarget","addToTarget","onRemoveFromTarget","removeFromTarget","toggleItemSelection","onAddCheckedItems","nonSelectedItems","isControlledV2","checked","filter","some","check","items","getItemsById","actions","map","sourceItem","targetItem","idField","onTargetSortEnd","hierarchyId","getActiveIdFromHierarchy","collection","oldIndex","findIndex","tItem","newIndex","sortedMovedItems","arrayMove","sortedItems","moreItemsLoading","rest","searchTerm","searching","handleControlledSourceItms","filterBySearch","getChildrenFromParent","it","find","itt","ittt","parent","composedSourceItems","compose","filterMovedItems","handleControlledTargetItms","composedTargetItems","tItems","moveCheckedItems","navigate","handleTargetSortEnd","nextProps","prevState","updateShuttleStateFromProps","Component","SearchState","Context","withProviders"],"mappings":"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"}
1
+ {"version":3,"file":"ShuttleImpl.js","sources":["../../src/ShuttleImpl.tsx"],"sourcesContent":["/* eslint-disable react/static-property-placement */\n/* eslint-disable react/prop-types */\n/* eslint-disable indent */\n/* eslint-disable import/extensions,react/no-unused-state,no-shadow,max-lines */\nimport React, { Component } from 'react';\nimport { compose, arrayMove } from '@elliemae/ds-utilities';\nimport withProviders from './withProviders';\nimport {\n addToTarget,\n navigateTo,\n resetCheckedItems,\n resetMovedItems,\n toggleItemSelection,\n removeFromTarget,\n} from './Shuttle.actions';\nimport {\n getActiveIdFromHierarchy,\n filterBySearch,\n getItemsById,\n pipe,\n getChildrenFromParent,\n filterMovedItems,\n} from './helper';\nimport ShuttleRenderer from './ShuttleRenderer';\nimport SearchState from './SearchState';\nimport updateShuttleStateFromProps from './updateShuttleStateFromProps';\n\nclass ShuttleImpl extends Component {\n static contextType = SearchState.Context;\n\n constructor(props) {\n super(props);\n this.state = {\n prevProps: {},\n preparedItems: [],\n checkedItems: [],\n // left breadcrumb\n hierarchy: [{ name: props.sourceRootTitle, id: null }],\n // right breadcrumb\n hierarchyDest: [{ name: props.targetRootTitle, id: null }],\n\n movedItems: [],\n sourceItems: [],\n targetItems: [],\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n return updateShuttleStateFromProps(nextProps, prevState);\n }\n\n componentDidMount() {\n const { setGetStatus } = this.props;\n setGetStatus(this.getState);\n }\n\n getState = () => {\n const { movedItems } = this.state;\n return Object.keys(movedItems);\n };\n\n handleChange() {\n const { onChange } = this.props;\n const { movedItems } = this.state;\n onChange(Object.keys(movedItems));\n }\n\n navigate(item, dest, direction) {\n const { onDrillDown, onDrillDownTarget } = this.props;\n\n if (!dest) onDrillDown(item, direction);\n if (dest) onDrillDownTarget(item, direction);\n\n const { reset: resetSearchState } = this.context;\n resetSearchState();\n\n this.setState(pipe([navigateTo(item, dest), resetCheckedItems()]));\n }\n\n resetCheckedItems() {\n this.setState(resetCheckedItems());\n }\n\n resetMovedItems() {\n const { selectedItems, onRemoveAllFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(\n pipe([navigateTo({ id: null }, true), resetMovedItems()]),\n () => {\n this.handleChange();\n },\n );\n } else {\n this.setState(pipe([navigateTo({ id: null }, true)]));\n }\n onRemoveAllFromTarget();\n }\n\n addToTarget(item) {\n const { selectedItems, onAddToTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([addToTarget(item), resetCheckedItems()]), () => {\n this.handleChange();\n });\n }\n onAddToTarget(item);\n }\n\n removeFromTarget(item) {\n const { selectedItems, onRemoveFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([removeFromTarget(item)]), () => {\n this.handleChange();\n });\n }\n onRemoveFromTarget(item);\n }\n\n toggleItemSelection(item) {\n this.setState(toggleItemSelection(item.id));\n }\n\n moveCheckedItems() {\n const { onAddCheckedItems, selectedItems, nonSelectedItems } = this.props;\n const { checkedItems, preparedItems } = this.state;\n const isControlledV2 = !!selectedItems && !!nonSelectedItems;\n const checked = isControlledV2\n ? nonSelectedItems.filter((item) =>\n checkedItems.some((check) => check === item),\n )\n : checkedItems;\n const items = getItemsById(checked, preparedItems);\n const actions = !selectedItems\n ? items.map((item) => addToTarget(item))\n : [];\n this.setState(pipe([...actions, resetCheckedItems()]), () => {\n this.handleChange();\n });\n onAddCheckedItems(items);\n }\n\n handleTargetSortEnd({ sourceItem, targetItem }) {\n const { idField, onTargetSortEnd } = this.props;\n const { targetItems, hierarchyDest, movedItems } = this.state;\n\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n\n const collection = !hierarchyId ? movedItems : targetItems;\n\n const oldIndex = collection.findIndex(\n (tItem) => tItem[idField] === sourceItem[idField],\n );\n const newIndex = collection.findIndex(\n (tItem) => tItem[idField] === targetItem[idField],\n );\n\n const sortedMovedItems = !hierarchyId\n ? arrayMove(movedItems, oldIndex, newIndex)\n : movedItems;\n const sortedItems = hierarchyId\n ? arrayMove(targetItems, oldIndex, newIndex)\n : targetItems;\n\n this.setState({\n targetItems: sortedItems,\n movedItems: sortedMovedItems,\n });\n onTargetSortEnd({ sourceItem, targetItem });\n }\n\n render() {\n const { idField, nonSelectedItems, moreItemsLoading, ...rest } = this.props;\n const {\n hierarchy,\n hierarchyDest,\n checkedItems,\n movedItems,\n preparedItems: items,\n targetItems,\n } = this.state;\n const {\n state: { searchTerm, searching },\n } = this.context;\n\n const handleControlledSourceItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchy);\n if (id) {\n return filterBySearch(\n searchTerm,\n searching,\n )(\n getChildrenFromParent(id)(\n nonSelectedItems.map((it) => items.find((itt) => itt.id === it)),\n ),\n );\n }\n\n return filterBySearch(\n searchTerm,\n searching,\n )(\n items.filter((it) =>\n nonSelectedItems.some(\n (itt) =>\n itt === it.id &&\n !nonSelectedItems.some((ittt) => ittt === it.parent),\n ),\n ),\n );\n };\n\n let composedSourceItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedSourceItems = handleControlledSourceItms();\n } else {\n composedSourceItems = compose(\n filterBySearch(searchTerm, searching),\n filterMovedItems(movedItems),\n getChildrenFromParent(getActiveIdFromHierarchy(hierarchy).id),\n )(items);\n }\n\n const handleControlledTargetItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchyDest);\n if (id) {\n return getChildrenFromParent(\n getActiveIdFromHierarchy(hierarchyDest).id,\n )(\n this.props.selectedItems.map((it) =>\n items.find((itt) => itt.id === it),\n ),\n );\n }\n\n return targetItems.filter((it) =>\n this.props.selectedItems.some(\n (itt) =>\n itt === it.id &&\n !this.props.selectedItems.some((ittt) => ittt === it.parent),\n ),\n );\n };\n\n let composedTargetItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedTargetItems = handleControlledTargetItms();\n } else {\n composedTargetItems = compose((tItems) => {\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n return hierarchyId\n ? compose(\n filterMovedItems(movedItems),\n getChildrenFromParent(hierarchyId),\n )(tItems)\n : movedItems;\n })(targetItems);\n }\n\n return (\n <ShuttleRenderer\n {...rest}\n moreItemsLoading={moreItemsLoading}\n checkedItems={checkedItems}\n hierarchy={hierarchy}\n hierarchyDest={hierarchyDest}\n onCheckItem={this.toggleItemSelection}\n onClearCheckedItems={this.resetCheckedItems}\n onClearMovedItems={this.resetMovedItems}\n onItemCheck={this.toggleItemSelection}\n onMoveCheckedItems={this.moveCheckedItems}\n onMoveItemToSource={(item) => this.removeFromTarget(item, false)}\n onMoveItemToTarget={(item) => this.addToTarget(item, true)}\n onNavigateOnSourceTo={(item, direction) =>\n this.navigate(item, false, direction)\n }\n onNavigateOnTargetTo={(item, direction) =>\n this.navigate(item, true, direction)\n }\n onSourceSortEnd={() => null}\n onTargetSortEnd={this.handleTargetSortEnd}\n sourceItems={composedSourceItems}\n targetItems={composedTargetItems}\n />\n );\n }\n}\n\nexport default withProviders(ShuttleImpl);\n"],"names":["ShuttleImpl","props","getState","movedItems","state","Object","keys","prevProps","preparedItems","checkedItems","hierarchy","name","sourceRootTitle","id","hierarchyDest","targetRootTitle","sourceItems","targetItems","setGetStatus","onChange","item","dest","direction","onDrillDown","onDrillDownTarget","resetSearchState","context","reset","setState","pipe","navigateTo","resetCheckedItems","selectedItems","onRemoveAllFromTarget","resetMovedItems","handleChange","onAddToTarget","addToTarget","onRemoveFromTarget","removeFromTarget","toggleItemSelection","onAddCheckedItems","nonSelectedItems","isControlledV2","checked","filter","some","check","items","getItemsById","actions","map","sourceItem","targetItem","idField","onTargetSortEnd","hierarchyId","getActiveIdFromHierarchy","collection","oldIndex","findIndex","tItem","newIndex","sortedMovedItems","arrayMove","sortedItems","moreItemsLoading","rest","searchTerm","searching","handleControlledSourceItms","filterBySearch","getChildrenFromParent","it","find","itt","ittt","parent","composedSourceItems","compose","filterMovedItems","handleControlledTargetItms","composedTargetItems","tItems","moveCheckedItems","navigate","handleTargetSortEnd","nextProps","prevState","updateShuttleStateFromProps","Component","contextType","SearchState","Context","withProviders"],"mappings":"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"}
@@ -4,7 +4,6 @@ import _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitial
4
4
  import _inherits from '@babel/runtime/helpers/esm/inherits';
5
5
  import _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';
6
6
  import _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';
7
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
8
7
  import React, { Component } from 'react';
9
8
  import { aggregatedClasses } from '@elliemae/ds-classnames';
10
9
  import { debounce } from '@elliemae/ds-utilities';
@@ -108,7 +107,7 @@ var ShuttleSearchBox = /*#__PURE__*/function (_Component) {
108
107
  return ShuttleSearchBox;
109
108
  }(Component);
110
109
 
111
- _defineProperty(ShuttleSearchBox, "defaultProps", {
110
+ ShuttleSearchBox.defaultProps = {
112
111
  filterOnKeyStroke: false,
113
112
  onChange: function onChange() {
114
113
  return null;
@@ -116,7 +115,7 @@ _defineProperty(ShuttleSearchBox, "defaultProps", {
116
115
  onFilter: function onFilter() {
117
116
  return null;
118
117
  }
119
- });
118
+ };
120
119
 
121
120
  export { ShuttleSearchBox as default };
122
121
  //# sourceMappingURL=ShuttleSearchBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShuttleSearchBox.js","sources":["../../../src/components/ShuttleSearchBox.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-state */\nimport React, { Component } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { debounce } from '@elliemae/ds-utilities';\nimport { DSTextBox } from '@elliemae/ds-form';\n\nconst blockName = 'shuttle-search-box';\n\nconst SearchBoxContainer = aggregatedClasses('div')(blockName, null, ({ isOpen }) => ({ opened: isOpen }));\n\nconst filterList = debounce((term, onFilterCallback) => {\n onFilterCallback(term);\n}, 200);\n\nexport default class ShuttleSearchBox extends Component {\n static defaultProps = {\n filterOnKeyStroke: false,\n onChange: () => null,\n onFilter: () => null,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: props.value,\n prevProps: {},\n };\n }\n\n static getDerivedStateFromProps(nextProps, { prevProps }) {\n const { value } = nextProps;\n if (value !== prevProps.value) {\n return {\n value,\n prevProps: { value },\n };\n }\n return null;\n }\n\n handleChange(e) {\n const { onChange, filterOnKeyStroke, onFilter } = this.props;\n const { value } = e.target;\n onChange(value);\n if (filterOnKeyStroke) filterList(value, onFilter);\n this.setState({ value });\n }\n\n handleKeyPress(e) {\n const { onFilter } = this.props;\n if (e.keyCode === 13) onFilter(e.target.value);\n }\n\n render() {\n const { value } = this.state;\n const { isOpen, onClose, placeholder } = this.props;\n return (\n <SearchBoxContainer classProps={{ isOpen }}>\n <DSTextBox\n autoFocus\n clearable\n onChange={this.handleChange}\n onClear={onClose}\n onKeyDown={this.handleKeyPress}\n placeholder={placeholder}\n value={value}\n />\n </SearchBoxContainer>\n );\n }\n}\n"],"names":["blockName","SearchBoxContainer","aggregatedClasses","isOpen","opened","filterList","debounce","term","onFilterCallback","ShuttleSearchBox","props","state","value","prevProps","e","onChange","filterOnKeyStroke","onFilter","target","setState","keyCode","onClose","placeholder","handleChange","handleKeyPress","nextProps","Component"],"mappings":";;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,oBAAlB;AAEA,IAAMC,kBAAkB,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,IAApC,EAA0C;AAAA,MAAGG,MAAH,QAAGA,MAAH;AAAA,SAAiB;AAAEC,IAAAA,MAAM,EAAED;AAAV,GAAjB;AAAA,CAA1C,CAA3B;AAEA,IAAME,UAAU,GAAGC,QAAQ,CAAC,UAACC,IAAD,EAAOC,gBAAP,EAA4B;AACtDA,EAAAA,gBAAgB,CAACD,IAAD,CAAhB;AACD,CAF0B,EAExB,GAFwB,CAA3B;;IAIqBE;;;;;AAOnB,4BAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,KAAK,EAAEF,KAAK,CAACE,KADF;AAEXC,MAAAA,SAAS,EAAE;AAFA,KAAb;AAFiB;AAAA;AAAA;AAMlB;;;;WAaD,sBAAaC,CAAb,EAAgB;AACd,wBAAkD,KAAKJ,KAAvD;AAAA,UAAQK,QAAR,eAAQA,QAAR;AAAA,UAAkBC,iBAAlB,eAAkBA,iBAAlB;AAAA,UAAqCC,QAArC,eAAqCA,QAArC;AACA,UAAQL,KAAR,GAAkBE,CAAC,CAACI,MAApB,CAAQN,KAAR;AACAG,MAAAA,QAAQ,CAACH,KAAD,CAAR;AACA,UAAII,iBAAJ,EAAuBX,UAAU,CAACO,KAAD,EAAQK,QAAR,CAAV;AACvB,WAAKE,QAAL,CAAc;AAAEP,QAAAA,KAAK,EAALA;AAAF,OAAd;AACD;;;WAED,wBAAeE,CAAf,EAAkB;AAChB,UAAQG,QAAR,GAAqB,KAAKP,KAA1B,CAAQO,QAAR;AACA,UAAIH,CAAC,CAACM,OAAF,KAAc,EAAlB,EAAsBH,QAAQ,CAACH,CAAC,CAACI,MAAF,CAASN,KAAV,CAAR;AACvB;;;WAED,kBAAS;AACP,UAAQA,KAAR,GAAkB,KAAKD,KAAvB,CAAQC,KAAR;AACA,yBAAyC,KAAKF,KAA9C;AAAA,UAAQP,MAAR,gBAAQA,MAAR;AAAA,UAAgBkB,OAAhB,gBAAgBA,OAAhB;AAAA,UAAyBC,WAAzB,gBAAyBA,WAAzB;AACA,0BACE,oBAAC,kBAAD;AAAoB,QAAA,UAAU,EAAE;AAAEnB,UAAAA,MAAM,EAANA;AAAF;AAAhC,sBACE,oBAAC,SAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,SAAS,MAFX;AAGE,QAAA,QAAQ,EAAE,KAAKoB,YAHjB;AAIE,QAAA,OAAO,EAAEF,OAJX;AAKE,QAAA,SAAS,EAAE,KAAKG,cALlB;AAME,QAAA,WAAW,EAAEF,WANf;AAOE,QAAA,KAAK,EAAEV;AAPT,QADF,CADF;AAaD;;;WAxCD,kCAAgCa,SAAhC,SAA0D;AAAA,UAAbZ,SAAa,SAAbA,SAAa;AACxD,UAAQD,KAAR,GAAkBa,SAAlB,CAAQb,KAAR;;AACA,UAAIA,KAAK,KAAKC,SAAS,CAACD,KAAxB,EAA+B;AAC7B,eAAO;AACLA,UAAAA,KAAK,EAALA,KADK;AAELC,UAAAA,SAAS,EAAE;AAAED,YAAAA,KAAK,EAALA;AAAF;AAFN,SAAP;AAID;;AACD,aAAO,IAAP;AACD;;;;EAxB2Cc;;gBAAzBjB,kCACG;AACpBO,EAAAA,iBAAiB,EAAE,KADC;AAEpBD,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA,GAFU;AAGpBE,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA;AAHU;;;;"}
1
+ {"version":3,"file":"ShuttleSearchBox.js","sources":["../../../src/components/ShuttleSearchBox.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-state */\nimport React, { Component } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { debounce } from '@elliemae/ds-utilities';\nimport { DSTextBox } from '@elliemae/ds-form';\n\nconst blockName = 'shuttle-search-box';\n\nconst SearchBoxContainer = aggregatedClasses('div')(blockName, null, ({ isOpen }) => ({ opened: isOpen }));\n\nconst filterList = debounce((term, onFilterCallback) => {\n onFilterCallback(term);\n}, 200);\n\nexport default class ShuttleSearchBox extends Component {\n static defaultProps = {\n filterOnKeyStroke: false,\n onChange: () => null,\n onFilter: () => null,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: props.value,\n prevProps: {},\n };\n }\n\n static getDerivedStateFromProps(nextProps, { prevProps }) {\n const { value } = nextProps;\n if (value !== prevProps.value) {\n return {\n value,\n prevProps: { value },\n };\n }\n return null;\n }\n\n handleChange(e) {\n const { onChange, filterOnKeyStroke, onFilter } = this.props;\n const { value } = e.target;\n onChange(value);\n if (filterOnKeyStroke) filterList(value, onFilter);\n this.setState({ value });\n }\n\n handleKeyPress(e) {\n const { onFilter } = this.props;\n if (e.keyCode === 13) onFilter(e.target.value);\n }\n\n render() {\n const { value } = this.state;\n const { isOpen, onClose, placeholder } = this.props;\n return (\n <SearchBoxContainer classProps={{ isOpen }}>\n <DSTextBox\n autoFocus\n clearable\n onChange={this.handleChange}\n onClear={onClose}\n onKeyDown={this.handleKeyPress}\n placeholder={placeholder}\n value={value}\n />\n </SearchBoxContainer>\n );\n }\n}\n"],"names":["blockName","SearchBoxContainer","aggregatedClasses","isOpen","opened","filterList","debounce","term","onFilterCallback","ShuttleSearchBox","props","state","value","prevProps","e","onChange","filterOnKeyStroke","onFilter","target","setState","keyCode","onClose","placeholder","handleChange","handleKeyPress","nextProps","Component","defaultProps"],"mappings":";;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,oBAAlB;AAEA,IAAMC,kBAAkB,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,IAApC,EAA0C;AAAA,MAAGG,MAAH,QAAGA,MAAH;AAAA,SAAiB;AAAEC,IAAAA,MAAM,EAAED;AAAV,GAAjB;AAAA,CAA1C,CAA3B;AAEA,IAAME,UAAU,GAAGC,QAAQ,CAAC,UAACC,IAAD,EAAOC,gBAAP,EAA4B;AACtDA,EAAAA,gBAAgB,CAACD,IAAD,CAAhB;AACD,CAF0B,EAExB,GAFwB,CAA3B;;IAIqBE;;;;;AAOnB,4BAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,KAAK,EAAEF,KAAK,CAACE,KADF;AAEXC,MAAAA,SAAS,EAAE;AAFA,KAAb;AAFiB;AAAA;AAAA;AAMlB;;;;WAaD,sBAAaC,CAAb,EAAgB;AACd,wBAAkD,KAAKJ,KAAvD;AAAA,UAAQK,QAAR,eAAQA,QAAR;AAAA,UAAkBC,iBAAlB,eAAkBA,iBAAlB;AAAA,UAAqCC,QAArC,eAAqCA,QAArC;AACA,UAAQL,KAAR,GAAkBE,CAAC,CAACI,MAApB,CAAQN,KAAR;AACAG,MAAAA,QAAQ,CAACH,KAAD,CAAR;AACA,UAAII,iBAAJ,EAAuBX,UAAU,CAACO,KAAD,EAAQK,QAAR,CAAV;AACvB,WAAKE,QAAL,CAAc;AAAEP,QAAAA,KAAK,EAALA;AAAF,OAAd;AACD;;;WAED,wBAAeE,CAAf,EAAkB;AAChB,UAAQG,QAAR,GAAqB,KAAKP,KAA1B,CAAQO,QAAR;AACA,UAAIH,CAAC,CAACM,OAAF,KAAc,EAAlB,EAAsBH,QAAQ,CAACH,CAAC,CAACI,MAAF,CAASN,KAAV,CAAR;AACvB;;;WAED,kBAAS;AACP,UAAQA,KAAR,GAAkB,KAAKD,KAAvB,CAAQC,KAAR;AACA,yBAAyC,KAAKF,KAA9C;AAAA,UAAQP,MAAR,gBAAQA,MAAR;AAAA,UAAgBkB,OAAhB,gBAAgBA,OAAhB;AAAA,UAAyBC,WAAzB,gBAAyBA,WAAzB;AACA,0BACE,oBAAC,kBAAD;AAAoB,QAAA,UAAU,EAAE;AAAEnB,UAAAA,MAAM,EAANA;AAAF;AAAhC,sBACE,oBAAC,SAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,SAAS,MAFX;AAGE,QAAA,QAAQ,EAAE,KAAKoB,YAHjB;AAIE,QAAA,OAAO,EAAEF,OAJX;AAKE,QAAA,SAAS,EAAE,KAAKG,cALlB;AAME,QAAA,WAAW,EAAEF,WANf;AAOE,QAAA,KAAK,EAAEV;AAPT,QADF,CADF;AAaD;;;WAxCD,kCAAgCa,SAAhC,SAA0D;AAAA,UAAbZ,SAAa,SAAbA,SAAa;AACxD,UAAQD,KAAR,GAAkBa,SAAlB,CAAQb,KAAR;;AACA,UAAIA,KAAK,KAAKC,SAAS,CAACD,KAAxB,EAA+B;AAC7B,eAAO;AACLA,UAAAA,KAAK,EAALA,KADK;AAELC,UAAAA,SAAS,EAAE;AAAED,YAAAA,KAAK,EAALA;AAAF;AAFN,SAAP;AAID;;AACD,aAAO,IAAP;AACD;;;;EAxB2Cc;;AAAzBjB,iBACZkB,eAAe;AACpBX,EAAAA,iBAAiB,EAAE,KADC;AAEpBD,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA,GAFU;AAGpBE,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA;AAHU;;;;"}
package/esm/index.js CHANGED
@@ -14,7 +14,6 @@ import '@babel/runtime/helpers/esm/assertThisInitialized';
14
14
  import '@babel/runtime/helpers/esm/inherits';
15
15
  import '@babel/runtime/helpers/esm/possibleConstructorReturn';
16
16
  import '@babel/runtime/helpers/esm/getPrototypeOf';
17
- import '@babel/runtime/helpers/esm/defineProperty';
18
17
  import '@elliemae/ds-utilities';
19
18
  import './withProviders.js';
20
19
  import './AnimationState.js';
@@ -23,6 +22,7 @@ import 'constate';
23
22
  import './SearchState.js';
24
23
  import './ShuttleState.js';
25
24
  import './helper.js';
25
+ import '@babel/runtime/helpers/esm/defineProperty';
26
26
  import 'treetabular';
27
27
  import './Shuttle.actions.js';
28
28
  import './ShuttleRenderer.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-shuttle",
3
- "version": "1.58.0-rc.2",
3
+ "version": "1.58.0",
4
4
  "license": "MIT",
5
5
  "description": "Ellie Mae - Dim Sum - Shuttle",
6
6
  "main": "cjs/index.js",
@@ -16,11 +16,11 @@
16
16
  "build": "node ../../scripts/build/build.js"
17
17
  },
18
18
  "dependencies": {
19
- "@elliemae/ds-basic": "1.58.0-rc.2",
20
- "@elliemae/ds-classnames": "1.58.0-rc.2",
21
- "@elliemae/ds-icons": "1.58.0-rc.2",
22
- "@elliemae/ds-system": "1.58.0-rc.2",
23
- "@elliemae/ds-utilities": "1.58.0-rc.2",
19
+ "@elliemae/ds-basic": "1.58.0",
20
+ "@elliemae/ds-classnames": "1.58.0",
21
+ "@elliemae/ds-icons": "1.58.0",
22
+ "@elliemae/ds-system": "1.58.0",
23
+ "@elliemae/ds-utilities": "1.58.0",
24
24
  "constate": "~1.3.2",
25
25
  "prop-types": "~15.7.2",
26
26
  "react-desc": "^4.1.2",