@elliemae/ds-shuttle 2.2.0 → 2.3.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/cjs/AnimationState.js +46 -19
  2. package/cjs/AnimationState.js.map +7 -0
  3. package/cjs/DSShuttle.js +166 -219
  4. package/cjs/DSShuttle.js.map +7 -0
  5. package/cjs/SearchState.js +44 -25
  6. package/cjs/SearchState.js.map +7 -0
  7. package/cjs/Shuttle.actions.js +87 -98
  8. package/cjs/Shuttle.actions.js.map +7 -0
  9. package/cjs/ShuttleContainer.js +56 -61
  10. package/cjs/ShuttleContainer.js.map +7 -0
  11. package/cjs/ShuttleImpl.js +109 -206
  12. package/cjs/ShuttleImpl.js.map +7 -0
  13. package/cjs/ShuttleRenderer.js +140 -135
  14. package/cjs/ShuttleRenderer.js.map +7 -0
  15. package/cjs/ShuttleState.js +57 -53
  16. package/cjs/ShuttleState.js.map +7 -0
  17. package/cjs/animation/animationConfig.js +53 -56
  18. package/cjs/animation/animationConfig.js.map +7 -0
  19. package/cjs/classedComponents.js +70 -69
  20. package/cjs/classedComponents.js.map +7 -0
  21. package/cjs/components/LoadingIndicator.js +49 -22
  22. package/cjs/components/LoadingIndicator.js.map +7 -0
  23. package/cjs/components/OverflowList.js +50 -48
  24. package/cjs/components/OverflowList.js.map +7 -0
  25. package/cjs/components/ShuttleBreadcrumb.js +52 -40
  26. package/cjs/components/ShuttleBreadcrumb.js.map +7 -0
  27. package/cjs/components/ShuttleInfiniteScrollIndicator.js +46 -37
  28. package/cjs/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  29. package/cjs/components/ShuttleListItem/ActionButtons.js +56 -51
  30. package/cjs/components/ShuttleListItem/ActionButtons.js.map +7 -0
  31. package/cjs/components/ShuttleListItem/ShuttleListItem.js +78 -80
  32. package/cjs/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  33. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +78 -64
  34. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  35. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +72 -56
  36. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  37. package/cjs/components/ShuttleListPanel.js +44 -26
  38. package/cjs/components/ShuttleListPanel.js.map +7 -0
  39. package/cjs/components/ShuttleSearchBox.js +61 -72
  40. package/cjs/components/ShuttleSearchBox.js.map +7 -0
  41. package/cjs/components/ShuttleSource.js +150 -146
  42. package/cjs/components/ShuttleSource.js.map +7 -0
  43. package/cjs/components/ShuttleTarget.js +88 -100
  44. package/cjs/components/ShuttleTarget.js.map +7 -0
  45. package/cjs/components/VirtualizedItem.js +45 -40
  46. package/cjs/components/VirtualizedItem.js.map +7 -0
  47. package/cjs/components/VirtualizedList.js +81 -86
  48. package/cjs/components/VirtualizedList.js.map +7 -0
  49. package/cjs/components/VirtualizedSortableList.js +47 -40
  50. package/cjs/components/VirtualizedSortableList.js.map +7 -0
  51. package/cjs/helper.js +69 -103
  52. package/cjs/helper.js.map +7 -0
  53. package/cjs/index.js +38 -12
  54. package/cjs/index.js.map +7 -0
  55. package/cjs/tests/utils.js +1218 -0
  56. package/cjs/tests/utils.js.map +7 -0
  57. package/cjs/updateShuttleStateFromProps.js +73 -69
  58. package/cjs/updateShuttleStateFromProps.js.map +7 -0
  59. package/cjs/utils.js +40 -42
  60. package/cjs/utils.js.map +7 -0
  61. package/cjs/withProviders.js +43 -27
  62. package/cjs/withProviders.js.map +7 -0
  63. package/esm/AnimationState.js +12 -8
  64. package/esm/AnimationState.js.map +7 -0
  65. package/esm/DSShuttle.js +126 -198
  66. package/esm/DSShuttle.js.map +7 -0
  67. package/esm/SearchState.js +15 -19
  68. package/esm/SearchState.js.map +7 -0
  69. package/esm/Shuttle.actions.js +63 -80
  70. package/esm/Shuttle.actions.js.map +7 -0
  71. package/esm/ShuttleContainer.js +34 -50
  72. package/esm/ShuttleContainer.js.map +7 -0
  73. package/esm/ShuttleImpl.js +78 -183
  74. package/esm/ShuttleImpl.js.map +7 -0
  75. package/esm/ShuttleRenderer.js +111 -128
  76. package/esm/ShuttleRenderer.js.map +7 -0
  77. package/esm/ShuttleState.js +34 -53
  78. package/esm/ShuttleState.js.map +7 -0
  79. package/esm/animation/animationConfig.js +24 -52
  80. package/esm/animation/animationConfig.js.map +7 -0
  81. package/esm/classedComponents.js +43 -51
  82. package/esm/classedComponents.js.map +7 -0
  83. package/esm/components/LoadingIndicator.js +20 -15
  84. package/esm/components/LoadingIndicator.js.map +7 -0
  85. package/esm/components/OverflowList.js +21 -41
  86. package/esm/components/OverflowList.js.map +7 -0
  87. package/esm/components/ShuttleBreadcrumb.js +23 -33
  88. package/esm/components/ShuttleBreadcrumb.js.map +7 -0
  89. package/esm/components/ShuttleInfiniteScrollIndicator.js +18 -31
  90. package/esm/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  91. package/esm/components/ShuttleListItem/ActionButtons.js +27 -39
  92. package/esm/components/ShuttleListItem/ActionButtons.js.map +7 -0
  93. package/esm/components/ShuttleListItem/ShuttleListItem.js +50 -72
  94. package/esm/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  95. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +45 -52
  96. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  97. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +42 -47
  98. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  99. package/esm/components/ShuttleListPanel.js +15 -19
  100. package/esm/components/ShuttleListPanel.js.map +7 -0
  101. package/esm/components/ShuttleSearchBox.js +32 -66
  102. package/esm/components/ShuttleSearchBox.js.map +7 -0
  103. package/esm/components/ShuttleSource.js +125 -129
  104. package/esm/components/ShuttleSource.js.map +7 -0
  105. package/esm/components/ShuttleTarget.js +68 -89
  106. package/esm/components/ShuttleTarget.js.map +7 -0
  107. package/esm/components/VirtualizedItem.js +15 -33
  108. package/esm/components/VirtualizedItem.js.map +7 -0
  109. package/esm/components/VirtualizedList.js +50 -75
  110. package/esm/components/VirtualizedList.js.map +7 -0
  111. package/esm/components/VirtualizedSortableList.js +17 -32
  112. package/esm/components/VirtualizedSortableList.js.map +7 -0
  113. package/esm/helper.js +43 -67
  114. package/esm/helper.js.map +7 -0
  115. package/esm/index.js +9 -2
  116. package/esm/index.js.map +7 -0
  117. package/esm/tests/utils.js +1189 -0
  118. package/esm/tests/utils.js.map +7 -0
  119. package/esm/updateShuttleStateFromProps.js +39 -58
  120. package/esm/updateShuttleStateFromProps.js.map +7 -0
  121. package/esm/utils.js +12 -18
  122. package/esm/utils.js.map +7 -0
  123. package/esm/withProviders.js +14 -20
  124. package/esm/withProviders.js.map +7 -0
  125. package/package.json +11 -11
  126. package/types/AnimationState.d.ts +3 -2
  127. package/types/DSShuttle.d.ts +1 -1
  128. package/types/SearchState.d.ts +3 -2
  129. package/types/ShuttleImpl.d.ts +3 -2
  130. package/types/ShuttleRenderer.d.ts +1 -0
  131. package/types/ShuttleState.d.ts +3 -2
  132. package/types/components/LoadingIndicator.d.ts +1 -0
  133. package/types/components/OverflowList.d.ts +1 -0
  134. package/types/components/ShuttleBreadcrumb.d.ts +1 -0
  135. package/types/components/ShuttleInfiniteScrollIndicator.d.ts +1 -0
  136. package/types/components/ShuttleListItem/ShuttleListItem.d.ts +1 -0
  137. package/types/components/ShuttleListItem/ShuttleSourceListItem.d.ts +1 -0
  138. package/types/components/ShuttleListItem/ShuttleTargetListItem.d.ts +1 -0
  139. package/types/components/ShuttleListPanel.d.ts +1 -0
  140. package/types/components/ShuttleSearchBox.d.ts +3 -1
  141. package/types/components/ShuttleSource.d.ts +1 -0
  142. package/types/components/ShuttleTarget.d.ts +1 -0
  143. package/types/components/VirtualizedItem.d.ts +1 -0
  144. package/types/components/VirtualizedList.d.ts +1 -0
  145. package/types/components/VirtualizedSortableList.d.ts +1 -0
  146. package/types/index.d.ts +1 -1
  147. package/types/updateShuttleStateFromProps.d.ts +3 -1
  148. package/types/withProviders.d.ts +1 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ShuttleSource.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable no-shadow */\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ArrowShortRight, Search } from '@elliemae/ds-icons';\nimport { DSButton } from '@elliemae/ds-button';\nimport { runAll } from '@elliemae/ds-utilities';\nimport { ShuttleSearchBox } from './ShuttleSearchBox';\nimport { ShuttleInfiniteScrollIndicator } from './ShuttleInfiniteScrollIndicator';\nimport { ShuttleSourceListItem } from './ShuttleListItem/ShuttleSourceListItem';\nimport {\n ShuttleFooterCounter,\n Overflow,\n ShuttleFooter,\n ShuttleHeader,\n ShuttleHeaderBreadcrumb,\n ShuttleHeaderSearchToggle,\n ShuttleList,\n ShuttleWrapper,\n ShuttleFooterActions,\n EmptyMessage,\n LoadingList,\n} from '../classedComponents';\nimport { ShuttleListPanel } from './ShuttleListPanel';\nimport { VirtualizedList } from './VirtualizedList';\nimport { getActiveIdFromHierarchy } from '../helper';\nimport { AnimationState } from '../AnimationState';\nimport { SearchState } from '../SearchState';\nimport { VirtualizedSortableList } from './VirtualizedSortableList';\nimport { LoadingIndicator } from './LoadingIndicator';\n\nconst noop = () => {};\n\nfunction ShuttleSource({\n items = [],\n checkedItems = [], // build Map() and memoize it for better performance\n hierarchy = [],\n onMoveItem = noop,\n onCheckItem = noop,\n onMoveCheckedItems = noop,\n onNavigateTo = noop,\n onClearCheckedItems = noop,\n emptyMessage = 'No items found',\n composeSourceItemProps = noop,\n loading = false,\n onSearch = noop,\n onSearchClose = noop,\n onSearchOpen = noop,\n sourceSortable = false,\n onSortEnd = noop,\n sourceClearItemsText = 'CLEAR ALL',\n searchPlaceholder,\n renderSourceCounter = (amount) => `${amount} items`,\n onGetMoreItems = () => {},\n moreItemsLoading = false,\n hasNextPage = false,\n}) {\n const {\n state: { isMovingBack = false, isMoving },\n } = useContext(AnimationState.Context);\n const {\n state: { searching, searchTerm },\n setSearchTerm,\n reset: resetSearch,\n toggleSearchBox,\n } = useContext(SearchState.Context);\n\n const hashedCheckedItems = useMemo(\n () => checkedItems.reduce((result, item) => ({ ...result, [item]: true }), {}),\n [checkedItems],\n );\n\n const handleCloseSearch = useCallback(() => {\n setSearchTerm('');\n runAll(resetSearch, onSearchClose)();\n }, [searching]);\n\n const handleToggleSearch = useCallback(() => {\n toggleSearchBox(!searching);\n if (searching) {\n handleCloseSearch();\n } else {\n onSearchOpen();\n }\n }, [searching]);\n\n const ComponentList = useMemo(() => (sourceSortable ? VirtualizedSortableList : VirtualizedList), [sourceSortable]);\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n onSortEnd({\n sourceItem: items[oldIndex],\n targetItem: items[newIndex],\n });\n };\n\n const isEmpty = !items.length;\n const hasContent = !loading && !isEmpty;\n const contentIsEmpty = !loading && isEmpty;\n\n return (\n <ShuttleWrapper>\n <ShuttleHeader>\n <ShuttleHeaderBreadcrumb hierarchy={hierarchy} onNavigateTo={onNavigateTo} />\n <ShuttleHeaderSearchToggle\n buttonType=\"text\"\n icon={<Search />}\n onClick={handleToggleSearch}\n containerProps={{ 'data-testid': 'shuttle-header-search-toggle' }}\n />\n </ShuttleHeader>\n <ShuttleList classProps={{ showPulse: isMovingBack }} style={{ pointerEvents: isMoving ? 'none' : null }}>\n <ShuttleSearchBox\n key={searching}\n isOpen={searching}\n onClose={runAll(() => toggleSearchBox(false), handleCloseSearch)}\n onFilter={runAll(setSearchTerm, onSearch)}\n placeholder={searchPlaceholder}\n value={searchTerm}\n />\n {hasContent ? (\n <Overflow\n activeHierarchy={getActiveIdFromHierarchy(hierarchy).id}\n classProps={{\n searching,\n empty: isEmpty,\n }}\n >\n <ComponentList\n key={searchTerm}\n helperClass=\"drag-helper\"\n itemRenderer={({ item, ...rest }) => (\n <ShuttleSourceListItem\n data-testid=\"source-list-item\"\n {...rest}\n {...composeSourceItemProps(item, rest)}\n isChecked={!!hashedCheckedItems[item.id]}\n item={item}\n onItemCheck={onCheckItem}\n onMoveToTarget={onMoveItem}\n onNavigateOnSourceTo={onNavigateTo}\n showSortHandler={sourceSortable}\n />\n )}\n items={items}\n onSortEnd={handleSortEnd}\n getMoreItems={onGetMoreItems}\n hasNextPage={hasNextPage}\n />\n </Overflow>\n ) : null}\n {contentIsEmpty ? (\n <LoadingList data-testid=\"shuttle__loading-list\">\n <EmptyMessage>{emptyMessage}</EmptyMessage>\n </LoadingList>\n ) : null}\n {loading ? (\n <LoadingList data-testid=\"shuttle__loading-list\">\n <LoadingIndicator />\n </LoadingList>\n ) : null}\n <ShuttleListPanel onClick={onMoveCheckedItems} open={checkedItems.length > 1}>\n <ArrowShortRight />\n </ShuttleListPanel>\n {moreItemsLoading ? <ShuttleInfiniteScrollIndicator isOpen /> : null}\n </ShuttleList>\n <ShuttleFooter>\n <ShuttleFooterActions>\n {!!checkedItems.length && (\n <DSButton buttonType=\"link\" labelText={sourceClearItemsText} onClick={onClearCheckedItems} />\n )}\n </ShuttleFooterActions>\n <ShuttleFooterCounter>{renderSourceCounter(checkedItems.length)}</ShuttleFooterCounter>\n </ShuttleFooter>\n </ShuttleWrapper>\n );\n}\n\nShuttleSource.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({})),\n checkedItems: PropTypes.arrayOf(PropTypes.shape({})),\n hierarchy: PropTypes.arrayOf(PropTypes.shape({})),\n onMoveItem: PropTypes.func,\n onCheckItem: PropTypes.func,\n onMoveCheckedItems: PropTypes.func,\n onNavigateTo: PropTypes.func,\n onClearCheckedItems: PropTypes.func,\n emptyMessage: PropTypes.string,\n composeSourceItemProps: PropTypes.func,\n loading: PropTypes.bool,\n onSearch: PropTypes.func,\n onSearchClose: PropTypes.func,\n onSearchOpen: PropTypes.func,\n sourceSortable: PropTypes.bool,\n onSortEnd: PropTypes.func,\n sourceClearItemsText: PropTypes.string,\n searchPlaceholder: PropTypes.string,\n renderSourceCounter: PropTypes.func,\n onGetMoreItems: PropTypes.func,\n moreItemsLoading: PropTypes.bool,\n hasNextPage: PropTypes.bool,\n};\n\nexport { ShuttleSource };\nexport default ShuttleSource;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,116 +1,104 @@
1
- 'use strict';
2
-
3
- require('core-js/modules/esnext.async-iterator.filter.js');
4
- require('core-js/modules/esnext.iterator.constructor.js');
5
- require('core-js/modules/esnext.iterator.filter.js');
6
- require('core-js/modules/esnext.async-iterator.for-each.js');
7
- require('core-js/modules/esnext.iterator.for-each.js');
8
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
9
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
10
- var _jsx = require('@babel/runtime/helpers/jsx');
11
- var react = require('react');
12
- var DSButton = require('@elliemae/ds-button');
13
- var classedComponents = require('../classedComponents.js');
14
- var helper = require('../helper.js');
15
- var AnimationState = require('../AnimationState.js');
16
- var VirtualizedList = require('./VirtualizedList.js');
17
- var ShuttleTargetListItem = require('./ShuttleListItem/ShuttleTargetListItem.js');
18
- var VirtualizedSortableList = require('./VirtualizedSortableList.js');
19
- var LoadingIndicator = require('./LoadingIndicator.js');
20
- var jsxRuntime = require('react/jsx-runtime');
21
-
22
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
-
24
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
25
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
26
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
27
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
28
-
29
- const _excluded = ["item"];
30
-
31
- var _LoadingIndicator;
32
-
33
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
-
35
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
36
-
37
- const noop = () => {};
38
-
39
- function ShuttleTarget(_ref) {
40
- let {
41
- items = [],
42
- hierarchy = [],
43
- onNavigateTo = noop,
44
- onMoveItem = noop,
45
- onClearMovedItems = noop,
46
- emptyMessage = 'No items selected',
47
- composeTargetItemProps = () => ({}),
48
- targetSortable = false,
49
- onSortEnd = noop,
50
- targetClearItemsText = 'CLEAR ALL',
51
- renderTargetCounter = amount => "".concat(amount, " items"),
52
- loading = false
53
- } = _ref;
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var ShuttleTarget_exports = {};
29
+ __export(ShuttleTarget_exports, {
30
+ ShuttleTarget: () => ShuttleTarget,
31
+ default: () => ShuttleTarget_default
32
+ });
33
+ var React = __toESM(require("react"));
34
+ var import_react = __toESM(require("react"));
35
+ var import_ds_button = require("@elliemae/ds-button");
36
+ var import_classedComponents = require("../classedComponents");
37
+ var import_helper = require("../helper");
38
+ var import_AnimationState = require("../AnimationState");
39
+ var import_VirtualizedList = require("./VirtualizedList");
40
+ var import_ShuttleTargetListItem = require("./ShuttleListItem/ShuttleTargetListItem");
41
+ var import_VirtualizedSortableList = require("./VirtualizedSortableList");
42
+ var import_LoadingIndicator = require("./LoadingIndicator");
43
+ const noop = () => {
44
+ };
45
+ function ShuttleTarget({
46
+ items = [],
47
+ hierarchy = [],
48
+ onNavigateTo = noop,
49
+ onMoveItem = noop,
50
+ onClearMovedItems = noop,
51
+ emptyMessage = "No items selected",
52
+ composeTargetItemProps = () => ({}),
53
+ targetSortable = false,
54
+ onSortEnd = noop,
55
+ targetClearItemsText = "CLEAR ALL",
56
+ renderTargetCounter = (amount) => `${amount} items`,
57
+ loading = false
58
+ }) {
54
59
  const {
55
- state: {
56
- isMoving = false
57
- }
58
- } = react.useContext(AnimationState.Context);
60
+ state: { isMoving = false }
61
+ } = (0, import_react.useContext)(import_AnimationState.AnimationState.Context);
59
62
  const isEmpty = !items.length;
60
- const emptyContent = loading ? _LoadingIndicator || (_LoadingIndicator = /*#__PURE__*/_jsx__default["default"](LoadingIndicator, {})) : /*#__PURE__*/_jsx__default["default"](classedComponents.EmptyMessage, {}, void 0, emptyMessage);
61
- const ComponentList = targetSortable ? VirtualizedSortableList : VirtualizedList;
62
-
63
- const handleSortEnd = _ref2 => {
64
- let {
65
- oldIndex,
66
- newIndex
67
- } = _ref2;
63
+ const emptyContent = loading ? /* @__PURE__ */ import_react.default.createElement(import_LoadingIndicator.LoadingIndicator, null) : /* @__PURE__ */ import_react.default.createElement(import_classedComponents.EmptyMessage, null, emptyMessage);
64
+ const ComponentList = targetSortable ? import_VirtualizedSortableList.VirtualizedSortableList : import_VirtualizedList.VirtualizedList;
65
+ const handleSortEnd = ({ oldIndex, newIndex }) => {
68
66
  onSortEnd({
69
67
  sourceItem: items[oldIndex],
70
68
  targetItem: items[newIndex]
71
69
  });
72
70
  };
73
-
74
- return /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleHeader, {}, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleHeaderBreadcrumb, {
75
- hierarchy: hierarchy,
76
- onNavigateTo: onNavigateTo
77
- })), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleList, {
78
- classProps: {
79
- showPulse: isMoving
80
- }
81
- }, void 0, !loading && !isEmpty ? /*#__PURE__*/_jsx__default["default"](classedComponents.Overflow, {
82
- activeHierarchy: helper.getActiveIdFromHierarchy(hierarchy).id,
71
+ return /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleWrapper, null, /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleHeader, null, /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleHeaderBreadcrumb, {
72
+ hierarchy,
73
+ onNavigateTo
74
+ })), /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleList, {
75
+ classProps: { showPulse: isMoving }
76
+ }, !loading && !isEmpty ? /* @__PURE__ */ import_react.default.createElement(import_classedComponents.Overflow, {
77
+ activeHierarchy: (0, import_helper.getActiveIdFromHierarchy)(hierarchy).id,
83
78
  classProps: {
84
79
  empty: !items.length
85
80
  }
86
- }, void 0, /*#__PURE__*/_jsx__default["default"](ComponentList, {
87
- itemRenderer: _ref3 => {
88
- let {
89
- item
90
- } = _ref3,
91
- rest = _objectWithoutProperties__default["default"](_ref3, _excluded);
92
-
93
- return /*#__PURE__*/jsxRuntime.jsx(ShuttleTargetListItem, _objectSpread(_objectSpread(_objectSpread({
94
- "data-testid": "target-list-item"
95
- }, rest), composeTargetItemProps(item, rest)), {}, {
96
- isRoot: !helper.getActiveIdFromHierarchy(hierarchy).id,
97
- item: item,
98
- onMoveToSource: onMoveItem,
99
- onNavigateOnTargetTo: onNavigateTo,
100
- showSortHandler: targetSortable
101
- }));
102
- },
103
- items: items,
81
+ }, /* @__PURE__ */ import_react.default.createElement(ComponentList, {
82
+ itemRenderer: ({ item, ...rest }) => /* @__PURE__ */ import_react.default.createElement(import_ShuttleTargetListItem.ShuttleTargetListItem, {
83
+ "data-testid": "target-list-item",
84
+ ...rest,
85
+ ...composeTargetItemProps(item, rest),
86
+ isRoot: !(0, import_helper.getActiveIdFromHierarchy)(hierarchy).id,
87
+ item,
88
+ onMoveToSource: onMoveItem,
89
+ onNavigateOnTargetTo: onNavigateTo,
90
+ showSortHandler: targetSortable
91
+ }),
92
+ items,
104
93
  onSortEnd: handleSortEnd,
105
94
  target: true
106
- })) : /*#__PURE__*/_jsx__default["default"](classedComponents.LoadingList, {}, void 0, emptyContent)), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleFooter, {}, void 0, /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleFooterActions, {}, void 0, !!items.length && /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
107
- containerProps: {
108
- 'data-testid': 'shuttle-clear-all-target'
109
- },
95
+ })) : /* @__PURE__ */ import_react.default.createElement(import_classedComponents.LoadingList, null, emptyContent)), /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleFooter, null, /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleFooterActions, null, !!items.length && /* @__PURE__ */ import_react.default.createElement(import_ds_button.DSButton, {
96
+ containerProps: { "data-testid": "shuttle-clear-all-target" },
110
97
  buttonType: "link",
111
98
  labelText: targetClearItemsText,
112
99
  onClick: onClearMovedItems
113
- })), /*#__PURE__*/_jsx__default["default"](classedComponents.ShuttleFooterCounter, {}, void 0, renderTargetCounter(items.length))));
100
+ })), /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleFooterCounter, null, renderTargetCounter(items.length))));
114
101
  }
115
-
116
- module.exports = ShuttleTarget;
102
+ var ShuttleTarget_default = ShuttleTarget;
103
+ module.exports = __toCommonJS(ShuttleTarget_exports);
104
+ //# sourceMappingURL=ShuttleTarget.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ShuttleTarget.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "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 { AnimationState } 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(AnimationState.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 { ShuttleTarget };\nexport default ShuttleTarget;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,uBAAyB;AAEzB,+BAWO;AACP,oBAAyC;AACzC,4BAA+B;AAC/B,6BAAgC;AAChC,mCAAsC;AACtC,qCAAwC;AACxC,8BAAiC;AAEjC,MAAM,OAAO,MAAM;AAAA;AAEnB,uBAAuB;AAAA,EACrB,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,eAAe;AAAA,EACf,yBAAyB,MAAO;AAAA,EAChC,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,uBAAuB;AAAA,EACvB,sBAAsB,CAAC,WAAW,GAAG;AAAA,EACrC,UAAU;AAAA,GACT;AACD,QAAM;AAAA,IACJ,OAAO,EAAE,WAAW;AAAA,MAClB,6BAAW,qCAAe;AAC9B,QAAM,UAAU,CAAC,MAAM;AACvB,QAAM,eAAe,UAAU,mDAAC,0CAAD,QAAuB,mDAAC,uCAAD,MAAe;AAErE,QAAM,gBAAgB,iBAAiB,yDAA0B;AAEjE,QAAM,gBAAgB,CAAC,EAAE,UAAU,eAAe;AAChD,cAAU;AAAA,MACR,YAAY,MAAM;AAAA,MAClB,YAAY,MAAM;AAAA;AAAA;AAItB,SACE,mDAAC,yCAAD,MACE,mDAAC,wCAAD,MACE,mDAAC,kDAAD;AAAA,IAAyB;AAAA,IAAsB;AAAA,OAEjD,mDAAC,sCAAD;AAAA,IAAa,YAAY,EAAE,WAAW;AAAA,KACnC,CAAC,WAAW,CAAC,UACZ,mDAAC,mCAAD;AAAA,IACE,iBAAiB,4CAAyB,WAAW;AAAA,IACrD,YAAY;AAAA,MACV,OAAO,CAAC,MAAM;AAAA;AAAA,KAGhB,mDAAC,eAAD;AAAA,IACE,cAAc,CAAC,EAAE,SAAS,WACxB,mDAAC,oDAAD;AAAA,MACE,eAAY;AAAA,SACR;AAAA,SACA,uBAAuB,MAAM;AAAA,MACjC,QAAQ,CAAC,4CAAyB,WAAW;AAAA,MAC7C;AAAA,MACA,gBAAgB;AAAA,MAChB,sBAAsB;AAAA,MACtB,iBAAiB;AAAA;AAAA,IAGrB;AAAA,IACA,WAAW;AAAA,IACX,QAAM;AAAA,QAIV,mDAAC,sCAAD,MAAc,gBAGlB,mDAAC,wCAAD,MACE,mDAAC,+CAAD,MACG,CAAC,CAAC,MAAM,UACP,mDAAC,2BAAD;AAAA,IACE,gBAAgB,EAAE,eAAe;AAAA,IACjC,YAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,OAIf,mDAAC,+CAAD,MAAuB,oBAAoB,MAAM;AAAA;AAOzD,IAAO,wBAAQ;",
6
+ "names": []
7
+ }
@@ -1,46 +1,51 @@
1
- 'use strict';
2
-
3
- require('core-js/modules/esnext.async-iterator.filter.js');
4
- require('core-js/modules/esnext.iterator.constructor.js');
5
- require('core-js/modules/esnext.iterator.filter.js');
6
- require('core-js/modules/esnext.async-iterator.for-each.js');
7
- require('core-js/modules/esnext.iterator.for-each.js');
8
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
9
- var react = require('react');
10
- var reactWindow = require('react-window');
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
15
-
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
- const VirtualizedItem = /*#__PURE__*/react.memo(_ref => {
20
- let {
21
- data,
22
- index,
23
- style: virtualizedStyles,
24
- showSortHandler = false
25
- } = _ref;
26
- const {
27
- items,
28
- itemRenderer,
29
- isItemMoving
30
- } = data;
31
- const {
32
- item,
33
- props: animatedStyles,
34
- key
35
- } = items[index] || {};
36
- if (!item) return null;
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var VirtualizedItem_exports = {};
29
+ __export(VirtualizedItem_exports, {
30
+ VirtualizedItem: () => VirtualizedItem,
31
+ default: () => VirtualizedItem_default
32
+ });
33
+ var React = __toESM(require("react"));
34
+ var import_react = require("react");
35
+ var import_react_window = require("react-window");
36
+ const VirtualizedItem = (0, import_react.memo)(({ data, index, style: virtualizedStyles, showSortHandler = false }) => {
37
+ const { items, itemRenderer, isItemMoving } = data;
38
+ const { item, props: animatedStyles, key } = items[index] || {};
39
+ if (!item)
40
+ return null;
37
41
  return itemRenderer({
38
42
  index,
39
43
  key,
40
44
  item,
41
45
  showSortHandler,
42
- style: isItemMoving ? _objectSpread(_objectSpread({}, animatedStyles), virtualizedStyles) : virtualizedStyles
46
+ style: isItemMoving ? { ...animatedStyles, ...virtualizedStyles } : virtualizedStyles
43
47
  });
44
- }, reactWindow.areEqual);
45
-
46
- module.exports = VirtualizedItem;
48
+ }, import_react_window.areEqual);
49
+ var VirtualizedItem_default = VirtualizedItem;
50
+ module.exports = __toCommonJS(VirtualizedItem_exports);
51
+ //# sourceMappingURL=VirtualizedItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/VirtualizedItem.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { memo } from 'react';\nimport { areEqual } from 'react-window';\n\nconst VirtualizedItem = memo(\n ({ data, index, style: virtualizedStyles, showSortHandler = false }) => {\n const { items, itemRenderer, isItemMoving } = data;\n const { item, props: animatedStyles, key } = items[index] || {};\n if (!item) return null;\n return itemRenderer({\n index,\n key,\n item,\n showSortHandler,\n style: isItemMoving\n ? { ...animatedStyles, ...virtualizedStyles }\n : virtualizedStyles,\n });\n },\n areEqual,\n);\n\nexport { VirtualizedItem };\nexport default VirtualizedItem;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAqB;AACrB,0BAAyB;AAEzB,MAAM,kBAAkB,uBACtB,CAAC,EAAE,MAAM,OAAO,OAAO,mBAAmB,kBAAkB,YAAY;AACtE,QAAM,EAAE,OAAO,cAAc,iBAAiB;AAC9C,QAAM,EAAE,MAAM,OAAO,gBAAgB,QAAQ,MAAM,UAAU;AAC7D,MAAI,CAAC;AAAM,WAAO;AAClB,SAAO,aAAa;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,eACH,KAAK,mBAAmB,sBACxB;AAAA;AAAA,GAGR;AAIF,IAAO,0BAAQ;",
6
+ "names": []
7
+ }
@@ -1,93 +1,88 @@
1
- 'use strict';
2
-
3
- require('core-js/modules/esnext.async-iterator.filter.js');
4
- require('core-js/modules/esnext.iterator.constructor.js');
5
- require('core-js/modules/esnext.iterator.filter.js');
6
- require('core-js/modules/esnext.async-iterator.for-each.js');
7
- require('core-js/modules/esnext.iterator.for-each.js');
8
- var _jsx = require('@babel/runtime/helpers/jsx');
9
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
10
- var react = require('react');
11
- var web = require('react-spring/web');
12
- var reactWindow = require('react-window');
13
- var InfiniteLoader = require('react-window-infinite-loader');
14
- var AutoSizer = require('react-virtualized-auto-sizer');
15
- var animationConfig = require('../animation/animationConfig.js');
16
- var AnimationState = require('../AnimationState.js');
17
- var VirtualizedItem = require('./VirtualizedItem.js');
18
- var jsxRuntime = require('react/jsx-runtime');
19
-
20
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
-
22
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
23
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
- var InfiniteLoader__default = /*#__PURE__*/_interopDefaultLegacy(InfiniteLoader);
25
- var AutoSizer__default = /*#__PURE__*/_interopDefaultLegacy(AutoSizer);
26
-
27
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
-
29
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
-
31
- function VirtualizedList(_ref) {
32
- let {
33
- items,
34
- itemRenderer,
35
- searching,
36
- target = false,
37
- innerRef,
38
- children,
39
- hasNextPage = true,
40
- getMoreItems = () => {}
41
- } = _ref;
42
- const hasMounted = react.useRef(false);
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var VirtualizedList_exports = {};
29
+ __export(VirtualizedList_exports, {
30
+ VirtualizedList: () => VirtualizedList,
31
+ default: () => VirtualizedList_default
32
+ });
33
+ var React = __toESM(require("react"));
34
+ var import_react = __toESM(require("react"));
35
+ var import_web = require("react-spring/web");
36
+ var import_react_window = require("react-window");
37
+ var import_react_window_infinite_loader = __toESM(require("react-window-infinite-loader"));
38
+ var import_react_virtualized_auto_sizer = __toESM(require("react-virtualized-auto-sizer"));
39
+ var import_animationConfig = require("../animation/animationConfig");
40
+ var import_AnimationState = require("../AnimationState");
41
+ var import_VirtualizedItem = require("./VirtualizedItem");
42
+ function VirtualizedList({
43
+ items,
44
+ itemRenderer,
45
+ searching,
46
+ target = false,
47
+ innerRef,
48
+ children,
49
+ hasNextPage = true,
50
+ getMoreItems = () => {
51
+ }
52
+ }) {
53
+ const hasMounted = (0, import_react.useRef)(false);
43
54
  const {
44
- state: {
45
- isMoving,
46
- isMovingBack
47
- },
55
+ state: { isMoving, isMovingBack },
48
56
  reset
49
- } = react.useContext(AnimationState.Context);
50
- react.useEffect(() => {
57
+ } = (0, import_react.useContext)(import_AnimationState.AnimationState.Context);
58
+ (0, import_react.useEffect)(() => {
51
59
  hasMounted.current = true;
52
60
  }, []);
53
- const transitions = web.useTransition(items, item => item.id, _objectSpread(_objectSpread({}, animationConfig.animationConfig.moveItem(target)), {}, {
61
+ const transitions = (0, import_web.useTransition)(items, (item) => item.id, {
62
+ ...import_animationConfig.animationConfig.moveItem(target),
54
63
  onDestroyed: () => reset()
55
- }));
56
- const itemCount = hasNextPage ? items.length + 1 : items.length;
57
-
58
- const isItemLoaded = index => !hasNextPage || index < items.length;
59
-
60
- return /*#__PURE__*/_jsx__default["default"](AutoSizer__default["default"], {}, void 0, _ref2 => {
61
- let {
62
- height,
63
- width
64
- } = _ref2;
65
- return /*#__PURE__*/_jsx__default["default"](InfiniteLoader__default["default"], {
66
- isItemLoaded: isItemLoaded,
67
- itemCount: itemCount,
68
- loadMoreItems: getMoreItems
69
- }, void 0, _ref3 => {
70
- let {
71
- onItemsRendered,
72
- ref
73
- } = _ref3;
74
- return /*#__PURE__*/jsxRuntime.jsx(reactWindow.FixedSizeList, {
75
- height: searching ? 300 : height,
76
- width: width,
77
- innerRef: innerRef,
78
- itemCount: transitions.length,
79
- itemData: {
80
- items: transitions,
81
- itemRenderer,
82
- isItemMoving: hasMounted.current && (isMoving || isMovingBack)
83
- },
84
- itemSize: 35,
85
- onItemsRendered: onItemsRendered,
86
- ref: ref,
87
- children: children || VirtualizedItem
88
- });
89
- });
90
64
  });
65
+ const itemCount = hasNextPage ? items.length + 1 : items.length;
66
+ const isItemLoaded = (index) => !hasNextPage || index < items.length;
67
+ return /* @__PURE__ */ import_react.default.createElement(import_react_virtualized_auto_sizer.default, null, ({ height, width }) => /* @__PURE__ */ import_react.default.createElement(import_react_window_infinite_loader.default, {
68
+ isItemLoaded,
69
+ itemCount,
70
+ loadMoreItems: getMoreItems
71
+ }, ({ onItemsRendered, ref }) => /* @__PURE__ */ import_react.default.createElement(import_react_window.FixedSizeList, {
72
+ height: searching ? 300 : height,
73
+ width,
74
+ innerRef,
75
+ itemCount: transitions.length,
76
+ itemData: {
77
+ items: transitions,
78
+ itemRenderer,
79
+ isItemMoving: hasMounted.current && (isMoving || isMovingBack)
80
+ },
81
+ itemSize: 35,
82
+ onItemsRendered,
83
+ ref
84
+ }, children || import_VirtualizedItem.VirtualizedItem)));
91
85
  }
92
-
93
- module.exports = VirtualizedList;
86
+ var VirtualizedList_default = VirtualizedList;
87
+ module.exports = __toCommonJS(VirtualizedList_exports);
88
+ //# sourceMappingURL=VirtualizedList.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/VirtualizedList.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable react/prop-types */\nimport React, { useContext, useEffect, useRef } from 'react';\nimport { useTransition } from 'react-spring/web';\nimport { FixedSizeList as List } from 'react-window';\nimport InfiniteLoader from 'react-window-infinite-loader';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { animationConfig } from '../animation/animationConfig';\nimport { AnimationState } from '../AnimationState';\nimport { VirtualizedItem } from './VirtualizedItem';\n\nfunction VirtualizedList({\n items,\n itemRenderer,\n searching,\n target = false,\n innerRef,\n children,\n hasNextPage = true,\n getMoreItems = () => {},\n}) {\n const hasMounted = useRef(false);\n const {\n state: { isMoving, isMovingBack },\n reset,\n } = useContext(AnimationState.Context);\n\n useEffect(() => {\n hasMounted.current = true;\n }, []);\n\n const transitions = useTransition(items, (item) => item.id, {\n ...animationConfig.moveItem(target),\n onDestroyed: () => reset(),\n });\n\n const itemCount = hasNextPage ? items.length + 1 : items.length;\n\n const isItemLoaded = (index) => !hasNextPage || index < items.length;\n\n return (\n <AutoSizer>\n {({ height, width }) => (\n <InfiniteLoader\n isItemLoaded={isItemLoaded}\n itemCount={itemCount}\n loadMoreItems={getMoreItems}\n >\n {({ onItemsRendered, ref }) => (\n <List\n height={searching ? 300 : height}\n width={width}\n innerRef={innerRef}\n itemCount={transitions.length}\n itemData={{\n items: transitions,\n itemRenderer,\n isItemMoving: hasMounted.current && (isMoving || isMovingBack),\n }}\n itemSize={35}\n onItemsRendered={onItemsRendered}\n ref={ref}\n >\n {children || VirtualizedItem}\n </List>\n )}\n </InfiniteLoader>\n )}\n </AutoSizer>\n );\n}\n\nexport { VirtualizedList };\nexport default VirtualizedList;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAqD;AACrD,iBAA8B;AAC9B,0BAAsC;AACtC,0CAA2B;AAC3B,0CAAsB;AACtB,6BAAgC;AAChC,4BAA+B;AAC/B,6BAAgC;AAEhC,yBAAyB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,eAAe,MAAM;AAAA;AAAA,GACpB;AACD,QAAM,aAAa,yBAAO;AAC1B,QAAM;AAAA,IACJ,OAAO,EAAE,UAAU;AAAA,IACnB;AAAA,MACE,6BAAW,qCAAe;AAE9B,8BAAU,MAAM;AACd,eAAW,UAAU;AAAA,KACpB;AAEH,QAAM,cAAc,8BAAc,OAAO,CAAC,SAAS,KAAK,IAAI;AAAA,OACvD,uCAAgB,SAAS;AAAA,IAC5B,aAAa,MAAM;AAAA;AAGrB,QAAM,YAAY,cAAc,MAAM,SAAS,IAAI,MAAM;AAEzD,QAAM,eAAe,CAAC,UAAU,CAAC,eAAe,QAAQ,MAAM;AAE9D,SACE,mDAAC,6CAAD,MACG,CAAC,EAAE,QAAQ,YACV,mDAAC,6CAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA,eAAe;AAAA,KAEd,CAAC,EAAE,iBAAiB,UACnB,mDAAC,mCAAD;AAAA,IACE,QAAQ,YAAY,MAAM;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,WAAW,YAAY;AAAA,IACvB,UAAU;AAAA,MACR,OAAO;AAAA,MACP;AAAA,MACA,cAAc,WAAW,WAAY,aAAY;AAAA;AAAA,IAEnD,UAAU;AAAA,IACV;AAAA,IACA;AAAA,KAEC,YAAY;AAAA;AAU3B,IAAO,0BAAQ;",
6
+ "names": []
7
+ }