@elliemae/ds-shuttle 3.0.0-next.0 → 3.0.0-next.4

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 (217) hide show
  1. package/dist/cjs/AnimationState.js +75 -0
  2. package/dist/cjs/AnimationState.js.map +7 -0
  3. package/dist/cjs/DSShuttle.js +170 -0
  4. package/dist/cjs/DSShuttle.js.map +7 -0
  5. package/dist/cjs/SearchState.js +60 -0
  6. package/dist/cjs/SearchState.js.map +7 -0
  7. package/dist/cjs/Shuttle.actions.js +136 -0
  8. package/dist/cjs/Shuttle.actions.js.map +7 -0
  9. package/dist/cjs/ShuttleContainer.js +108 -0
  10. package/dist/cjs/ShuttleContainer.js.map +7 -0
  11. package/dist/cjs/ShuttleImpl.js +242 -0
  12. package/dist/cjs/ShuttleImpl.js.map +7 -0
  13. package/dist/cjs/ShuttleRenderer.js +203 -0
  14. package/dist/cjs/ShuttleRenderer.js.map +7 -0
  15. package/dist/cjs/ShuttleState.js +84 -0
  16. package/dist/cjs/ShuttleState.js.map +7 -0
  17. package/dist/cjs/animation/animationConfig.js +78 -0
  18. package/dist/cjs/animation/animationConfig.js.map +7 -0
  19. package/dist/cjs/classedComponents.js +72 -0
  20. package/dist/cjs/classedComponents.js.map +7 -0
  21. package/dist/cjs/components/LoadingIndicator.js +52 -0
  22. package/dist/cjs/components/LoadingIndicator.js.map +7 -0
  23. package/dist/cjs/components/OverflowList.js +71 -0
  24. package/dist/cjs/components/OverflowList.js.map +7 -0
  25. package/dist/cjs/components/ShuttleBreadcrumb.js +54 -0
  26. package/dist/cjs/components/ShuttleBreadcrumb.js.map +7 -0
  27. package/dist/cjs/components/ShuttleInfiniteScrollIndicator.js +48 -0
  28. package/dist/cjs/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  29. package/dist/cjs/components/ShuttleListItem/ActionButtons.js +76 -0
  30. package/dist/cjs/components/ShuttleListItem/ActionButtons.js.map +7 -0
  31. package/dist/cjs/components/ShuttleListItem/ShuttleListItem.js +121 -0
  32. package/dist/cjs/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  33. package/dist/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +127 -0
  34. package/dist/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  35. package/dist/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +110 -0
  36. package/dist/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  37. package/dist/cjs/components/ShuttleListPanel.js +49 -0
  38. package/dist/cjs/components/ShuttleListPanel.js.map +7 -0
  39. package/dist/cjs/components/ShuttleSearchBox.js +99 -0
  40. package/dist/cjs/components/ShuttleSearchBox.js.map +7 -0
  41. package/dist/cjs/components/ShuttleSource.js +223 -0
  42. package/dist/cjs/components/ShuttleSource.js.map +7 -0
  43. package/dist/cjs/components/ShuttleTarget.js +135 -0
  44. package/dist/cjs/components/ShuttleTarget.js.map +7 -0
  45. package/dist/cjs/components/VirtualizedItem.js +65 -0
  46. package/dist/cjs/components/VirtualizedItem.js.map +7 -0
  47. package/dist/cjs/components/VirtualizedList.js +104 -0
  48. package/dist/cjs/components/VirtualizedList.js.map +7 -0
  49. package/dist/cjs/components/VirtualizedSortableList.js +77 -0
  50. package/dist/cjs/components/VirtualizedSortableList.js.map +7 -0
  51. package/dist/cjs/helper.js +99 -0
  52. package/dist/cjs/helper.js.map +7 -0
  53. package/dist/cjs/index.js +38 -0
  54. package/dist/cjs/index.js.map +7 -0
  55. package/dist/cjs/tests/utils.js +1235 -0
  56. package/dist/cjs/tests/utils.js.map +7 -0
  57. package/dist/cjs/updateShuttleStateFromProps.js +108 -0
  58. package/dist/cjs/updateShuttleStateFromProps.js.map +7 -0
  59. package/dist/cjs/utils.js +54 -0
  60. package/dist/cjs/utils.js.map +7 -0
  61. package/dist/cjs/withProviders.js +57 -0
  62. package/dist/cjs/withProviders.js.map +7 -0
  63. package/{esm → dist/esm}/AnimationState.js +12 -8
  64. package/dist/esm/AnimationState.js.map +7 -0
  65. package/dist/esm/DSShuttle.js +141 -0
  66. package/dist/esm/DSShuttle.js.map +7 -0
  67. package/dist/esm/SearchState.js +31 -0
  68. package/dist/esm/SearchState.js.map +7 -0
  69. package/dist/esm/Shuttle.actions.js +118 -0
  70. package/dist/esm/Shuttle.actions.js.map +7 -0
  71. package/dist/esm/ShuttleContainer.js +92 -0
  72. package/dist/esm/ShuttleContainer.js.map +7 -0
  73. package/dist/esm/ShuttleImpl.js +229 -0
  74. package/dist/esm/ShuttleImpl.js.map +7 -0
  75. package/dist/esm/ShuttleRenderer.js +176 -0
  76. package/dist/esm/ShuttleRenderer.js.map +7 -0
  77. package/dist/esm/ShuttleState.js +55 -0
  78. package/dist/esm/ShuttleState.js.map +7 -0
  79. package/dist/esm/animation/animationConfig.js +49 -0
  80. package/dist/esm/animation/animationConfig.js.map +7 -0
  81. package/dist/esm/classedComponents.js +43 -0
  82. package/dist/esm/classedComponents.js.map +7 -0
  83. package/dist/esm/components/LoadingIndicator.js +23 -0
  84. package/dist/esm/components/LoadingIndicator.js.map +7 -0
  85. package/dist/esm/components/OverflowList.js +44 -0
  86. package/dist/esm/components/OverflowList.js.map +7 -0
  87. package/dist/esm/components/ShuttleBreadcrumb.js +25 -0
  88. package/dist/esm/components/ShuttleBreadcrumb.js.map +7 -0
  89. package/dist/esm/components/ShuttleInfiniteScrollIndicator.js +19 -0
  90. package/dist/esm/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  91. package/dist/esm/components/ShuttleListItem/ActionButtons.js +49 -0
  92. package/dist/esm/components/ShuttleListItem/ActionButtons.js.map +7 -0
  93. package/dist/esm/components/ShuttleListItem/ShuttleListItem.js +94 -0
  94. package/dist/esm/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  95. package/dist/esm/components/ShuttleListItem/ShuttleSourceListItem.js +100 -0
  96. package/dist/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  97. package/dist/esm/components/ShuttleListItem/ShuttleTargetListItem.js +83 -0
  98. package/dist/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  99. package/dist/esm/components/ShuttleListPanel.js +20 -0
  100. package/dist/esm/components/ShuttleListPanel.js.map +7 -0
  101. package/dist/esm/components/ShuttleSearchBox.js +70 -0
  102. package/dist/esm/components/ShuttleSearchBox.js.map +7 -0
  103. package/dist/esm/components/ShuttleSource.js +208 -0
  104. package/dist/esm/components/ShuttleSource.js.map +7 -0
  105. package/dist/esm/components/ShuttleTarget.js +119 -0
  106. package/dist/esm/components/ShuttleTarget.js.map +7 -0
  107. package/dist/esm/components/VirtualizedItem.js +38 -0
  108. package/dist/esm/components/VirtualizedItem.js.map +7 -0
  109. package/dist/esm/components/VirtualizedList.js +77 -0
  110. package/dist/esm/components/VirtualizedList.js.map +7 -0
  111. package/dist/esm/components/VirtualizedSortableList.js +50 -0
  112. package/dist/esm/components/VirtualizedSortableList.js.map +7 -0
  113. package/dist/esm/helper.js +72 -0
  114. package/dist/esm/helper.js.map +7 -0
  115. package/dist/esm/index.js +9 -0
  116. package/dist/esm/index.js.map +7 -0
  117. package/dist/esm/tests/utils.js +1208 -0
  118. package/dist/esm/tests/utils.js.map +7 -0
  119. package/dist/esm/updateShuttleStateFromProps.js +81 -0
  120. package/dist/esm/updateShuttleStateFromProps.js.map +7 -0
  121. package/dist/esm/utils.js +27 -0
  122. package/dist/esm/utils.js.map +7 -0
  123. package/dist/esm/withProviders.js +30 -0
  124. package/dist/esm/withProviders.js.map +7 -0
  125. package/package.json +98 -89
  126. package/cjs/AnimationState.js +0 -48
  127. package/cjs/DSShuttle.js +0 -223
  128. package/cjs/SearchState.js +0 -41
  129. package/cjs/Shuttle.actions.js +0 -137
  130. package/cjs/ShuttleContainer.js +0 -87
  131. package/cjs/ShuttleImpl.js +0 -311
  132. package/cjs/ShuttleRenderer.js +0 -139
  133. package/cjs/ShuttleState.js +0 -80
  134. package/cjs/animation/animationConfig.js +0 -81
  135. package/cjs/classedComponents.js +0 -71
  136. package/cjs/components/LoadingIndicator.js +0 -25
  137. package/cjs/components/OverflowList.js +0 -53
  138. package/cjs/components/ShuttleBreadcrumb.js +0 -42
  139. package/cjs/components/ShuttleInfiniteScrollIndicator.js +0 -39
  140. package/cjs/components/ShuttleListItem/ActionButtons.js +0 -55
  141. package/cjs/components/ShuttleListItem/ShuttleListItem.js +0 -85
  142. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +0 -76
  143. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +0 -57
  144. package/cjs/components/ShuttleListPanel.js +0 -31
  145. package/cjs/components/ShuttleSearchBox.js +0 -110
  146. package/cjs/components/ShuttleSource.js +0 -188
  147. package/cjs/components/ShuttleTarget.js +0 -116
  148. package/cjs/components/VirtualizedItem.js +0 -46
  149. package/cjs/components/VirtualizedList.js +0 -93
  150. package/cjs/components/VirtualizedSortableList.js +0 -41
  151. package/cjs/helper.js +0 -117
  152. package/cjs/index.js +0 -12
  153. package/cjs/updateShuttleStateFromProps.js +0 -94
  154. package/cjs/utils.js +0 -43
  155. package/cjs/withProviders.js +0 -29
  156. package/esm/DSShuttle.js +0 -213
  157. package/esm/SearchState.js +0 -35
  158. package/esm/Shuttle.actions.js +0 -123
  159. package/esm/ShuttleContainer.js +0 -80
  160. package/esm/ShuttleImpl.js +0 -304
  161. package/esm/ShuttleRenderer.js +0 -132
  162. package/esm/ShuttleState.js +0 -74
  163. package/esm/animation/animationConfig.js +0 -77
  164. package/esm/classedComponents.js +0 -51
  165. package/esm/components/LoadingIndicator.js +0 -18
  166. package/esm/components/OverflowList.js +0 -46
  167. package/esm/components/ShuttleBreadcrumb.js +0 -35
  168. package/esm/components/ShuttleInfiniteScrollIndicator.js +0 -32
  169. package/esm/components/ShuttleListItem/ActionButtons.js +0 -43
  170. package/esm/components/ShuttleListItem/ShuttleListItem.js +0 -76
  171. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +0 -68
  172. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +0 -49
  173. package/esm/components/ShuttleListPanel.js +0 -24
  174. package/esm/components/ShuttleSearchBox.js +0 -104
  175. package/esm/components/ShuttleSource.js +0 -179
  176. package/esm/components/ShuttleTarget.js +0 -107
  177. package/esm/components/VirtualizedItem.js +0 -40
  178. package/esm/components/VirtualizedList.js +0 -84
  179. package/esm/components/VirtualizedSortableList.js +0 -34
  180. package/esm/helper.js +0 -78
  181. package/esm/index.js +0 -2
  182. package/esm/updateShuttleStateFromProps.js +0 -88
  183. package/esm/utils.js +0 -18
  184. package/esm/withProviders.js +0 -22
  185. package/types/AnimationState.d.ts +0 -26
  186. package/types/DSShuttle.d.ts +0 -341
  187. package/types/SearchState.d.ts +0 -22
  188. package/types/Shuttle.actions.d.ts +0 -11
  189. package/types/ShuttleContainer.d.ts +0 -3
  190. package/types/ShuttleImpl.d.ts +0 -3
  191. package/types/ShuttleRenderer.d.ts +0 -37
  192. package/types/ShuttleState.d.ts +0 -53
  193. package/types/animation/animationConfig.d.ts +0 -68
  194. package/types/classedComponents.d.ts +0 -14
  195. package/types/components/LoadingIndicator.d.ts +0 -3
  196. package/types/components/OverflowList.d.ts +0 -7
  197. package/types/components/ShuttleBreadcrumb.d.ts +0 -7
  198. package/types/components/ShuttleInfiniteScrollIndicator.d.ts +0 -5
  199. package/types/components/ShuttleListItem/ActionButtons.d.ts +0 -4
  200. package/types/components/ShuttleListItem/ShuttleListItem.d.ts +0 -14
  201. package/types/components/ShuttleListItem/ShuttleSourceListItem.d.ts +0 -13
  202. package/types/components/ShuttleListItem/ShuttleTargetListItem.d.ts +0 -13
  203. package/types/components/ShuttleListPanel.d.ts +0 -7
  204. package/types/components/ShuttleSearchBox.d.ts +0 -20
  205. package/types/components/ShuttleSource.d.ts +0 -54
  206. package/types/components/ShuttleTarget.d.ts +0 -16
  207. package/types/components/VirtualizedItem.d.ts +0 -3
  208. package/types/components/VirtualizedList.d.ts +0 -12
  209. package/types/components/VirtualizedSortableList.d.ts +0 -6
  210. package/types/helper.d.ts +0 -16
  211. package/types/index.d.ts +0 -1
  212. package/types/tests/DSShuttle.events.test.d.ts +0 -1
  213. package/types/tests/DSShuttle.test.d.ts +0 -1
  214. package/types/tests/utils.d.ts +0 -116
  215. package/types/updateShuttleStateFromProps.d.ts +0 -1
  216. package/types/utils.d.ts +0 -2
  217. package/types/withProviders.d.ts +0 -3
@@ -0,0 +1,223 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __export = (target, all) => {
38
+ for (var name in all)
39
+ __defProp(target, name, { get: all[name], enumerable: true });
40
+ };
41
+ var __reExport = (target, module2, copyDefault, desc) => {
42
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
43
+ for (let key of __getOwnPropNames(module2))
44
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
45
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
46
+ }
47
+ return target;
48
+ };
49
+ var __toESM = (module2, isNodeMode) => {
50
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
51
+ };
52
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
53
+ return (module2, temp) => {
54
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
55
+ };
56
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
57
+ var ShuttleSource_exports = {};
58
+ __export(ShuttleSource_exports, {
59
+ ShuttleSource: () => ShuttleSource,
60
+ default: () => ShuttleSource_default
61
+ });
62
+ var React = __toESM(require("react"));
63
+ var import_react = __toESM(require("react"));
64
+ var import_prop_types = __toESM(require("prop-types"));
65
+ var import_ds_icons = require("@elliemae/ds-icons");
66
+ var import_ds_button = require("@elliemae/ds-button");
67
+ var import_ds_utilities = require("@elliemae/ds-utilities");
68
+ var import_ShuttleSearchBox = require("./ShuttleSearchBox");
69
+ var import_ShuttleInfiniteScrollIndicator = require("./ShuttleInfiniteScrollIndicator");
70
+ var import_ShuttleSourceListItem = require("./ShuttleListItem/ShuttleSourceListItem");
71
+ var import_classedComponents = require("../classedComponents");
72
+ var import_ShuttleListPanel = require("./ShuttleListPanel");
73
+ var import_VirtualizedList = require("./VirtualizedList");
74
+ var import_helper = require("../helper");
75
+ var import_AnimationState = require("../AnimationState");
76
+ var import_SearchState = require("../SearchState");
77
+ var import_VirtualizedSortableList = require("./VirtualizedSortableList");
78
+ var import_LoadingIndicator = require("./LoadingIndicator");
79
+ const noop = () => {
80
+ };
81
+ function ShuttleSource({
82
+ items = [],
83
+ checkedItems = [],
84
+ hierarchy = [],
85
+ onMoveItem = noop,
86
+ onCheckItem = noop,
87
+ onMoveCheckedItems = noop,
88
+ onNavigateTo = noop,
89
+ onClearCheckedItems = noop,
90
+ emptyMessage = "No items found",
91
+ composeSourceItemProps = noop,
92
+ loading = false,
93
+ onSearch = noop,
94
+ onSearchClose = noop,
95
+ onSearchOpen = noop,
96
+ sourceSortable = false,
97
+ onSortEnd = noop,
98
+ sourceClearItemsText = "CLEAR ALL",
99
+ searchPlaceholder,
100
+ renderSourceCounter = (amount) => `${amount} items`,
101
+ onGetMoreItems = () => {
102
+ },
103
+ moreItemsLoading = false,
104
+ hasNextPage = false
105
+ }) {
106
+ const {
107
+ state: { isMovingBack = false, isMoving }
108
+ } = (0, import_react.useContext)(import_AnimationState.AnimationState.Context);
109
+ const {
110
+ state: { searching, searchTerm },
111
+ setSearchTerm,
112
+ reset: resetSearch,
113
+ toggleSearchBox
114
+ } = (0, import_react.useContext)(import_SearchState.SearchState.Context);
115
+ const hashedCheckedItems = (0, import_react.useMemo)(() => checkedItems.reduce((result, item) => __spreadProps(__spreadValues({}, result), { [item]: true }), {}), [checkedItems]);
116
+ const handleCloseSearch = (0, import_react.useCallback)(() => {
117
+ setSearchTerm("");
118
+ (0, import_ds_utilities.runAll)(resetSearch, onSearchClose)();
119
+ }, [searching]);
120
+ const handleToggleSearch = (0, import_react.useCallback)(() => {
121
+ toggleSearchBox(!searching);
122
+ if (searching) {
123
+ handleCloseSearch();
124
+ } else {
125
+ onSearchOpen();
126
+ }
127
+ }, [searching]);
128
+ const ComponentList = (0, import_react.useMemo)(() => sourceSortable ? import_VirtualizedSortableList.VirtualizedSortableList : import_VirtualizedList.VirtualizedList, [sourceSortable]);
129
+ const handleSortEnd = ({ oldIndex, newIndex }) => {
130
+ onSortEnd({
131
+ sourceItem: items[oldIndex],
132
+ targetItem: items[newIndex]
133
+ });
134
+ };
135
+ const isEmpty = !items.length;
136
+ const hasContent = !loading && !isEmpty;
137
+ const contentIsEmpty = !loading && isEmpty;
138
+ 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, {
139
+ hierarchy,
140
+ onNavigateTo
141
+ }), /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleHeaderSearchToggle, {
142
+ buttonType: "text",
143
+ icon: /* @__PURE__ */ import_react.default.createElement(import_ds_icons.Search, null),
144
+ onClick: handleToggleSearch,
145
+ containerProps: { "data-testid": "shuttle-header-search-toggle" }
146
+ })), /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleList, {
147
+ classProps: { showPulse: isMovingBack },
148
+ style: { pointerEvents: isMoving ? "none" : null }
149
+ }, /* @__PURE__ */ import_react.default.createElement(import_ShuttleSearchBox.ShuttleSearchBox, {
150
+ key: searching,
151
+ isOpen: searching,
152
+ onClose: (0, import_ds_utilities.runAll)(() => toggleSearchBox(false), handleCloseSearch),
153
+ onFilter: (0, import_ds_utilities.runAll)(setSearchTerm, onSearch),
154
+ placeholder: searchPlaceholder,
155
+ value: searchTerm
156
+ }), hasContent ? /* @__PURE__ */ import_react.default.createElement(import_classedComponents.Overflow, {
157
+ activeHierarchy: (0, import_helper.getActiveIdFromHierarchy)(hierarchy).id,
158
+ classProps: {
159
+ searching,
160
+ empty: isEmpty
161
+ }
162
+ }, /* @__PURE__ */ import_react.default.createElement(ComponentList, {
163
+ key: searchTerm,
164
+ helperClass: "drag-helper",
165
+ itemRenderer: (_a) => {
166
+ var _b = _a, { item } = _b, rest = __objRest(_b, ["item"]);
167
+ return /* @__PURE__ */ import_react.default.createElement(import_ShuttleSourceListItem.ShuttleSourceListItem, __spreadProps(__spreadValues(__spreadValues({
168
+ "data-testid": "source-list-item"
169
+ }, rest), composeSourceItemProps(item, rest)), {
170
+ isChecked: !!hashedCheckedItems[item.id],
171
+ item,
172
+ onItemCheck: onCheckItem,
173
+ onMoveToTarget: onMoveItem,
174
+ onNavigateOnSourceTo: onNavigateTo,
175
+ showSortHandler: sourceSortable
176
+ }));
177
+ },
178
+ items,
179
+ onSortEnd: handleSortEnd,
180
+ getMoreItems: onGetMoreItems,
181
+ hasNextPage
182
+ })) : null, contentIsEmpty ? /* @__PURE__ */ import_react.default.createElement(import_classedComponents.LoadingList, {
183
+ "data-testid": "shuttle__loading-list"
184
+ }, /* @__PURE__ */ import_react.default.createElement(import_classedComponents.EmptyMessage, null, emptyMessage)) : null, loading ? /* @__PURE__ */ import_react.default.createElement(import_classedComponents.LoadingList, {
185
+ "data-testid": "shuttle__loading-list"
186
+ }, /* @__PURE__ */ import_react.default.createElement(import_LoadingIndicator.LoadingIndicator, null)) : null, /* @__PURE__ */ import_react.default.createElement(import_ShuttleListPanel.ShuttleListPanel, {
187
+ onClick: onMoveCheckedItems,
188
+ open: checkedItems.length > 1
189
+ }, /* @__PURE__ */ import_react.default.createElement(import_ds_icons.ArrowShortRight, null)), moreItemsLoading ? /* @__PURE__ */ import_react.default.createElement(import_ShuttleInfiniteScrollIndicator.ShuttleInfiniteScrollIndicator, {
190
+ isOpen: true
191
+ }) : null), /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleFooter, null, /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleFooterActions, null, !!checkedItems.length && /* @__PURE__ */ import_react.default.createElement(import_ds_button.DSButton, {
192
+ buttonType: "link",
193
+ labelText: sourceClearItemsText,
194
+ onClick: onClearCheckedItems
195
+ })), /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleFooterCounter, null, renderSourceCounter(checkedItems.length))));
196
+ }
197
+ ShuttleSource.propTypes = {
198
+ items: import_prop_types.default.arrayOf(import_prop_types.default.shape({})),
199
+ checkedItems: import_prop_types.default.arrayOf(import_prop_types.default.shape({})),
200
+ hierarchy: import_prop_types.default.arrayOf(import_prop_types.default.shape({})),
201
+ onMoveItem: import_prop_types.default.func,
202
+ onCheckItem: import_prop_types.default.func,
203
+ onMoveCheckedItems: import_prop_types.default.func,
204
+ onNavigateTo: import_prop_types.default.func,
205
+ onClearCheckedItems: import_prop_types.default.func,
206
+ emptyMessage: import_prop_types.default.string,
207
+ composeSourceItemProps: import_prop_types.default.func,
208
+ loading: import_prop_types.default.bool,
209
+ onSearch: import_prop_types.default.func,
210
+ onSearchClose: import_prop_types.default.func,
211
+ onSearchOpen: import_prop_types.default.func,
212
+ sourceSortable: import_prop_types.default.bool,
213
+ onSortEnd: import_prop_types.default.func,
214
+ sourceClearItemsText: import_prop_types.default.string,
215
+ searchPlaceholder: import_prop_types.default.string,
216
+ renderSourceCounter: import_prop_types.default.func,
217
+ onGetMoreItems: import_prop_types.default.func,
218
+ moreItemsLoading: import_prop_types.default.bool,
219
+ hasNextPage: import_prop_types.default.bool
220
+ };
221
+ var ShuttleSource_default = ShuttleSource;
222
+ module.exports = __toCommonJS(ShuttleSource_exports);
223
+ //# sourceMappingURL=ShuttleSource.js.map
@@ -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
+ }
@@ -0,0 +1,135 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __export = (target, all) => {
38
+ for (var name in all)
39
+ __defProp(target, name, { get: all[name], enumerable: true });
40
+ };
41
+ var __reExport = (target, module2, copyDefault, desc) => {
42
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
43
+ for (let key of __getOwnPropNames(module2))
44
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
45
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
46
+ }
47
+ return target;
48
+ };
49
+ var __toESM = (module2, isNodeMode) => {
50
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
51
+ };
52
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
53
+ return (module2, temp) => {
54
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
55
+ };
56
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
57
+ var ShuttleTarget_exports = {};
58
+ __export(ShuttleTarget_exports, {
59
+ ShuttleTarget: () => ShuttleTarget,
60
+ default: () => ShuttleTarget_default
61
+ });
62
+ var React = __toESM(require("react"));
63
+ var import_react = __toESM(require("react"));
64
+ var import_ds_button = require("@elliemae/ds-button");
65
+ var import_classedComponents = require("../classedComponents");
66
+ var import_helper = require("../helper");
67
+ var import_AnimationState = require("../AnimationState");
68
+ var import_VirtualizedList = require("./VirtualizedList");
69
+ var import_ShuttleTargetListItem = require("./ShuttleListItem/ShuttleTargetListItem");
70
+ var import_VirtualizedSortableList = require("./VirtualizedSortableList");
71
+ var import_LoadingIndicator = require("./LoadingIndicator");
72
+ const noop = () => {
73
+ };
74
+ function ShuttleTarget({
75
+ items = [],
76
+ hierarchy = [],
77
+ onNavigateTo = noop,
78
+ onMoveItem = noop,
79
+ onClearMovedItems = noop,
80
+ emptyMessage = "No items selected",
81
+ composeTargetItemProps = () => ({}),
82
+ targetSortable = false,
83
+ onSortEnd = noop,
84
+ targetClearItemsText = "CLEAR ALL",
85
+ renderTargetCounter = (amount) => `${amount} items`,
86
+ loading = false
87
+ }) {
88
+ const {
89
+ state: { isMoving = false }
90
+ } = (0, import_react.useContext)(import_AnimationState.AnimationState.Context);
91
+ const isEmpty = !items.length;
92
+ const emptyContent = loading ? /* @__PURE__ */ import_react.default.createElement(import_LoadingIndicator.LoadingIndicator, null) : /* @__PURE__ */ import_react.default.createElement(import_classedComponents.EmptyMessage, null, emptyMessage);
93
+ const ComponentList = targetSortable ? import_VirtualizedSortableList.VirtualizedSortableList : import_VirtualizedList.VirtualizedList;
94
+ const handleSortEnd = ({ oldIndex, newIndex }) => {
95
+ onSortEnd({
96
+ sourceItem: items[oldIndex],
97
+ targetItem: items[newIndex]
98
+ });
99
+ };
100
+ 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, {
101
+ hierarchy,
102
+ onNavigateTo
103
+ })), /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleList, {
104
+ classProps: { showPulse: isMoving }
105
+ }, !loading && !isEmpty ? /* @__PURE__ */ import_react.default.createElement(import_classedComponents.Overflow, {
106
+ activeHierarchy: (0, import_helper.getActiveIdFromHierarchy)(hierarchy).id,
107
+ classProps: {
108
+ empty: !items.length
109
+ }
110
+ }, /* @__PURE__ */ import_react.default.createElement(ComponentList, {
111
+ itemRenderer: (_a) => {
112
+ var _b = _a, { item } = _b, rest = __objRest(_b, ["item"]);
113
+ return /* @__PURE__ */ import_react.default.createElement(import_ShuttleTargetListItem.ShuttleTargetListItem, __spreadProps(__spreadValues(__spreadValues({
114
+ "data-testid": "target-list-item"
115
+ }, rest), composeTargetItemProps(item, rest)), {
116
+ isRoot: !(0, import_helper.getActiveIdFromHierarchy)(hierarchy).id,
117
+ item,
118
+ onMoveToSource: onMoveItem,
119
+ onNavigateOnTargetTo: onNavigateTo,
120
+ showSortHandler: targetSortable
121
+ }));
122
+ },
123
+ items,
124
+ onSortEnd: handleSortEnd,
125
+ target: true
126
+ })) : /* @__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, {
127
+ containerProps: { "data-testid": "shuttle-clear-all-target" },
128
+ buttonType: "link",
129
+ labelText: targetClearItemsText,
130
+ onClick: onClearMovedItems
131
+ })), /* @__PURE__ */ import_react.default.createElement(import_classedComponents.ShuttleFooterCounter, null, renderTargetCounter(items.length))));
132
+ }
133
+ var ShuttleTarget_default = ShuttleTarget;
134
+ module.exports = __toCommonJS(ShuttleTarget_exports);
135
+ //# 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,OAAmB;AAAnB,mBAAE,WAAF,IAAW,iBAAX,IAAW,CAAT;AACf,gEAAC,oDAAD;AAAA,QACE,eAAY;AAAA,SACR,OACA,uBAAuB,MAAM,QAHnC;AAAA,QAIE,QAAQ,CAAC,4CAAyB,WAAW;AAAA,QAC7C;AAAA,QACA,gBAAgB;AAAA,QAChB,sBAAsB;AAAA,QACtB,iBAAiB;AAAA;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
+ }
@@ -0,0 +1,65 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
22
+ var __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __reExport = (target, module2, copyDefault, desc) => {
27
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
28
+ for (let key of __getOwnPropNames(module2))
29
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
30
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
31
+ }
32
+ return target;
33
+ };
34
+ var __toESM = (module2, isNodeMode) => {
35
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
36
+ };
37
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
38
+ return (module2, temp) => {
39
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
40
+ };
41
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
42
+ var VirtualizedItem_exports = {};
43
+ __export(VirtualizedItem_exports, {
44
+ VirtualizedItem: () => VirtualizedItem,
45
+ default: () => VirtualizedItem_default
46
+ });
47
+ var React = __toESM(require("react"));
48
+ var import_react = require("react");
49
+ var import_react_window = require("react-window");
50
+ const VirtualizedItem = (0, import_react.memo)(({ data, index, style: virtualizedStyles, showSortHandler = false }) => {
51
+ const { items, itemRenderer, isItemMoving } = data;
52
+ const { item, props: animatedStyles, key } = items[index] || {};
53
+ if (!item)
54
+ return null;
55
+ return itemRenderer({
56
+ index,
57
+ key,
58
+ item,
59
+ showSortHandler,
60
+ style: isItemMoving ? __spreadValues(__spreadValues({}, animatedStyles), virtualizedStyles) : virtualizedStyles
61
+ });
62
+ }, import_react_window.areEqual);
63
+ var VirtualizedItem_default = VirtualizedItem;
64
+ module.exports = __toCommonJS(VirtualizedItem_exports);
65
+ //# 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,kCAAK,iBAAmB,qBACxB;AAAA;AAAA,GAGR;AAIF,IAAO,0BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,104 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
+ var __export = (target, all) => {
26
+ for (var name in all)
27
+ __defProp(target, name, { get: all[name], enumerable: true });
28
+ };
29
+ var __reExport = (target, module2, copyDefault, desc) => {
30
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
31
+ for (let key of __getOwnPropNames(module2))
32
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
33
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
34
+ }
35
+ return target;
36
+ };
37
+ var __toESM = (module2, isNodeMode) => {
38
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
39
+ };
40
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
41
+ return (module2, temp) => {
42
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
43
+ };
44
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
45
+ var VirtualizedList_exports = {};
46
+ __export(VirtualizedList_exports, {
47
+ VirtualizedList: () => VirtualizedList,
48
+ default: () => VirtualizedList_default
49
+ });
50
+ var React = __toESM(require("react"));
51
+ var import_react = __toESM(require("react"));
52
+ var import_web = require("react-spring/web");
53
+ var import_react_window = require("react-window");
54
+ var import_react_window_infinite_loader = __toESM(require("react-window-infinite-loader"));
55
+ var import_react_virtualized_auto_sizer = __toESM(require("react-virtualized-auto-sizer"));
56
+ var import_animationConfig = require("../animation/animationConfig");
57
+ var import_AnimationState = require("../AnimationState");
58
+ var import_VirtualizedItem = require("./VirtualizedItem");
59
+ function VirtualizedList({
60
+ items,
61
+ itemRenderer,
62
+ searching,
63
+ target = false,
64
+ innerRef,
65
+ children,
66
+ hasNextPage = true,
67
+ getMoreItems = () => {
68
+ }
69
+ }) {
70
+ const hasMounted = (0, import_react.useRef)(false);
71
+ const {
72
+ state: { isMoving, isMovingBack },
73
+ reset
74
+ } = (0, import_react.useContext)(import_AnimationState.AnimationState.Context);
75
+ (0, import_react.useEffect)(() => {
76
+ hasMounted.current = true;
77
+ }, []);
78
+ const transitions = (0, import_web.useTransition)(items, (item) => item.id, __spreadProps(__spreadValues({}, import_animationConfig.animationConfig.moveItem(target)), {
79
+ onDestroyed: () => reset()
80
+ }));
81
+ const itemCount = hasNextPage ? items.length + 1 : items.length;
82
+ const isItemLoaded = (index) => !hasNextPage || index < items.length;
83
+ 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, {
84
+ isItemLoaded,
85
+ itemCount,
86
+ loadMoreItems: getMoreItems
87
+ }, ({ onItemsRendered, ref }) => /* @__PURE__ */ import_react.default.createElement(import_react_window.FixedSizeList, {
88
+ height: searching ? 300 : height,
89
+ width,
90
+ innerRef,
91
+ itemCount: transitions.length,
92
+ itemData: {
93
+ items: transitions,
94
+ itemRenderer,
95
+ isItemMoving: hasMounted.current && (isMoving || isMovingBack)
96
+ },
97
+ itemSize: 35,
98
+ onItemsRendered,
99
+ ref
100
+ }, children || import_VirtualizedItem.VirtualizedItem)));
101
+ }
102
+ var VirtualizedList_default = VirtualizedList;
103
+ module.exports = __toCommonJS(VirtualizedList_exports);
104
+ //# 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,iCACvD,uCAAgB,SAAS,UAD8B;AAAA,IAE1D,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
+ }