@elliemae/ds-shared 2.2.0-alpha.3 → 3.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/cjs/Animations/BaseAnimation.js +35 -55
  2. package/cjs/Animations/Grow.js +41 -54
  3. package/cjs/Animations/GrowRight.js +41 -63
  4. package/cjs/Animations/GrowVertical.js +7 -47
  5. package/cjs/CheckableGroup.js +65 -67
  6. package/cjs/DeferRenderAfterComputation.js +24 -48
  7. package/cjs/FocusGroup/FocusGrid.js +143 -108
  8. package/cjs/FocusGroup/FocusGroup.js +147 -88
  9. package/cjs/FocusGroup/FocusGroupContext.js +11 -38
  10. package/cjs/FocusGroup/FocusGroupManager.js +47 -56
  11. package/cjs/FocusGroup/focusGroupManagerHoc.js +42 -52
  12. package/cjs/FocusGroup/index.js +21 -47
  13. package/cjs/FocusGroup/useFocusGroupItem.js +51 -59
  14. package/cjs/FocusGroup/utils/getNextCellPosition.js +27 -47
  15. package/cjs/GroupContext/Group.js +73 -64
  16. package/cjs/GroupContext/GroupContext.js +13 -36
  17. package/cjs/GroupContext/GroupItem.js +21 -39
  18. package/cjs/GroupContext/index.js +13 -39
  19. package/cjs/ScrollSync/ScrollSync.js +75 -60
  20. package/cjs/ScrollSync/ScrollSyncPane.js +60 -52
  21. package/cjs/ScrollSync/ScrollSyncProvider.js +50 -103
  22. package/cjs/ScrollSync/index.js +11 -37
  23. package/cjs/ScrollSync/useScrollSync.js +7 -38
  24. package/cjs/constants.js +46 -65
  25. package/cjs/createDataInstance/createInstancePlugin.js +29 -41
  26. package/cjs/createDataInstance/createInstanceRef.js +71 -66
  27. package/cjs/createDataInstance/utils.js +100 -76
  28. package/cjs/defer-render-hoc/index.js +41 -48
  29. package/cjs/dimsum.config.js +6 -38
  30. package/cjs/index.js +17 -40
  31. package/cjs/prop-types.js +49 -106
  32. package/cjs/react-spring/index.js +14 -28
  33. package/cjs/react-spring/renderprops.js +14 -28
  34. package/cjs/toolbar/ToolbarProvider.js +94 -82
  35. package/cjs/useDataGrid/VolatileRowsListener.js +13 -38
  36. package/cjs/useDataGrid/index.js +7 -36
  37. package/cjs/useDataGrid/initColumnDefinition.js +110 -105
  38. package/cjs/useDataGrid/useDataGrid.js +148 -122
  39. package/cjs/useDataList/index.js +7 -36
  40. package/cjs/useDataList/recordIterator.js +18 -42
  41. package/cjs/useDataList/useDataList.js +83 -74
  42. package/cjs/utils.js +80 -71
  43. package/cjs/virtualization/AutoHeightList.js +54 -62
  44. package/cjs/virtualization/FluidHeightList.js +48 -42
  45. package/cjs/virtualization/index.js +20 -48
  46. package/esm/Animations/BaseAnimation.js +29 -26
  47. package/esm/Animations/Grow.js +35 -25
  48. package/esm/Animations/GrowRight.js +35 -34
  49. package/esm/Animations/GrowVertical.js +4 -29
  50. package/esm/CheckableGroup.js +52 -35
  51. package/esm/DeferRenderAfterComputation.js +15 -16
  52. package/esm/FocusGroup/FocusGrid.js +117 -64
  53. package/esm/FocusGroup/FocusGroup.js +137 -56
  54. package/esm/FocusGroup/FocusGroupContext.js +5 -9
  55. package/esm/FocusGroup/FocusGroupManager.js +38 -24
  56. package/esm/FocusGroup/focusGroupManagerHoc.js +36 -24
  57. package/esm/FocusGroup/index.js +6 -18
  58. package/esm/FocusGroup/useFocusGroupItem.js +40 -28
  59. package/esm/FocusGroup/utils/getNextCellPosition.js +25 -18
  60. package/esm/GroupContext/Group.js +66 -34
  61. package/esm/GroupContext/GroupContext.js +5 -7
  62. package/esm/GroupContext/GroupItem.js +15 -10
  63. package/esm/GroupContext/index.js +3 -10
  64. package/esm/ScrollSync/ScrollSync.js +64 -30
  65. package/esm/ScrollSync/ScrollSyncPane.js +52 -22
  66. package/esm/ScrollSync/ScrollSyncProvider.js +42 -74
  67. package/esm/ScrollSync/index.js +2 -8
  68. package/esm/ScrollSync/useScrollSync.js +5 -9
  69. package/esm/constants.js +28 -37
  70. package/esm/createDataInstance/createInstancePlugin.js +23 -12
  71. package/esm/createDataInstance/createInstanceRef.js +59 -36
  72. package/esm/createDataInstance/utils.js +85 -48
  73. package/esm/defer-render-hoc/index.js +31 -17
  74. package/esm/dimsum.config.js +4 -9
  75. package/esm/index.js +5 -11
  76. package/esm/prop-types.js +31 -75
  77. package/esm/react-spring/index.js +1 -3
  78. package/esm/react-spring/renderprops.js +1 -3
  79. package/esm/toolbar/ToolbarProvider.js +74 -45
  80. package/esm/useDataGrid/VolatileRowsListener.js +11 -9
  81. package/esm/useDataGrid/index.js +1 -7
  82. package/esm/useDataGrid/initColumnDefinition.js +94 -78
  83. package/esm/useDataGrid/useDataGrid.js +99 -82
  84. package/esm/useDataList/index.js +1 -7
  85. package/esm/useDataList/recordIterator.js +14 -13
  86. package/esm/useDataList/useDataList.js +67 -44
  87. package/esm/utils.js +59 -42
  88. package/esm/virtualization/AutoHeightList.js +40 -28
  89. package/esm/virtualization/FluidHeightList.js +38 -14
  90. package/esm/virtualization/index.js +16 -19
  91. package/package.json +3 -3
  92. package/types/Animations/BaseAnimation.d.ts +0 -1
  93. package/types/Animations/Grow.d.ts +0 -1
  94. package/types/Animations/GrowRight.d.ts +0 -1
  95. package/types/CheckableGroup.d.ts +0 -1
  96. package/types/DeferRenderAfterComputation.d.ts +2 -3
  97. package/types/FocusGroup/FocusGrid.d.ts +3 -5
  98. package/types/FocusGroup/FocusGroup.d.ts +1 -3
  99. package/types/FocusGroup/FocusGroupContext.d.ts +2 -3
  100. package/types/FocusGroup/FocusGroupManager.d.ts +1 -3
  101. package/types/FocusGroup/focusGroupManagerHoc.d.ts +1 -3
  102. package/types/FocusGroup/index.d.ts +6 -6
  103. package/types/FocusGroup/useFocusGroupItem.d.ts +1 -3
  104. package/types/FocusGroup/utils/getNextCellPosition.d.ts +1 -3
  105. package/types/GroupContext/Group.d.ts +0 -1
  106. package/types/GroupContext/GroupItem.d.ts +0 -1
  107. package/types/GroupContext/index.d.ts +3 -3
  108. package/types/ScrollSync/ScrollSync.d.ts +2 -4
  109. package/types/ScrollSync/ScrollSyncPane.d.ts +2 -2
  110. package/types/ScrollSync/index.d.ts +2 -2
  111. package/types/ScrollSync/useScrollSync.d.ts +5 -6
  112. package/types/createDataInstance/createInstancePlugin.d.ts +1 -2
  113. package/types/createDataInstance/createInstanceRef.d.ts +1 -3
  114. package/types/dimsum.config.d.ts +2 -3
  115. package/types/index.d.ts +2 -2
  116. package/types/toolbar/ToolbarProvider.d.ts +8 -3
  117. package/types/useDataGrid/VolatileRowsListener.d.ts +1 -3
  118. package/types/useDataGrid/index.d.ts +1 -1
  119. package/types/useDataGrid/initColumnDefinition.d.ts +1 -2
  120. package/types/useDataGrid/useDataGrid.d.ts +2 -3
  121. package/types/useDataList/index.d.ts +1 -1
  122. package/types/useDataList/useDataList.d.ts +2 -3
  123. package/cjs/Animations/BaseAnimation.js.map +0 -7
  124. package/cjs/Animations/Grow.js.map +0 -7
  125. package/cjs/Animations/GrowRight.js.map +0 -7
  126. package/cjs/Animations/GrowVertical.js.map +0 -7
  127. package/cjs/CheckableGroup.js.map +0 -7
  128. package/cjs/DeferRenderAfterComputation.js.map +0 -7
  129. package/cjs/FocusGroup/FocusGrid.js.map +0 -7
  130. package/cjs/FocusGroup/FocusGroup.js.map +0 -7
  131. package/cjs/FocusGroup/FocusGroupContext.js.map +0 -7
  132. package/cjs/FocusGroup/FocusGroupManager.js.map +0 -7
  133. package/cjs/FocusGroup/focusGroupManagerHoc.js.map +0 -7
  134. package/cjs/FocusGroup/index.js.map +0 -7
  135. package/cjs/FocusGroup/useFocusGroupItem.js.map +0 -7
  136. package/cjs/FocusGroup/utils/getNextCellPosition.js.map +0 -7
  137. package/cjs/GroupContext/Group.js.map +0 -7
  138. package/cjs/GroupContext/GroupContext.js.map +0 -7
  139. package/cjs/GroupContext/GroupItem.js.map +0 -7
  140. package/cjs/GroupContext/index.js.map +0 -7
  141. package/cjs/ScrollSync/ScrollSync.js.map +0 -7
  142. package/cjs/ScrollSync/ScrollSyncPane.js.map +0 -7
  143. package/cjs/ScrollSync/ScrollSyncProvider.js.map +0 -7
  144. package/cjs/ScrollSync/index.js.map +0 -7
  145. package/cjs/ScrollSync/useScrollSync.js.map +0 -7
  146. package/cjs/constants.js.map +0 -7
  147. package/cjs/createDataInstance/createInstancePlugin.js.map +0 -7
  148. package/cjs/createDataInstance/createInstanceRef.js.map +0 -7
  149. package/cjs/createDataInstance/utils.js.map +0 -7
  150. package/cjs/defer-render-hoc/index.js.map +0 -7
  151. package/cjs/dimsum.config.js.map +0 -7
  152. package/cjs/index.js.map +0 -7
  153. package/cjs/prop-types.js.map +0 -7
  154. package/cjs/react-spring/index.js.map +0 -7
  155. package/cjs/react-spring/renderprops.js.map +0 -7
  156. package/cjs/toolbar/ToolbarProvider.js.map +0 -7
  157. package/cjs/useDataGrid/VolatileRowsListener.js.map +0 -7
  158. package/cjs/useDataGrid/index.js.map +0 -7
  159. package/cjs/useDataGrid/initColumnDefinition.js.map +0 -7
  160. package/cjs/useDataGrid/useDataGrid.js.map +0 -7
  161. package/cjs/useDataList/index.js.map +0 -7
  162. package/cjs/useDataList/recordIterator.js.map +0 -7
  163. package/cjs/useDataList/useDataList.js.map +0 -7
  164. package/cjs/utils.js.map +0 -7
  165. package/cjs/virtualization/AutoHeightList.js.map +0 -7
  166. package/cjs/virtualization/FluidHeightList.js.map +0 -7
  167. package/cjs/virtualization/index.js.map +0 -7
  168. package/esm/Animations/BaseAnimation.js.map +0 -7
  169. package/esm/Animations/Grow.js.map +0 -7
  170. package/esm/Animations/GrowRight.js.map +0 -7
  171. package/esm/Animations/GrowVertical.js.map +0 -7
  172. package/esm/CheckableGroup.js.map +0 -7
  173. package/esm/DeferRenderAfterComputation.js.map +0 -7
  174. package/esm/FocusGroup/FocusGrid.js.map +0 -7
  175. package/esm/FocusGroup/FocusGroup.js.map +0 -7
  176. package/esm/FocusGroup/FocusGroupContext.js.map +0 -7
  177. package/esm/FocusGroup/FocusGroupManager.js.map +0 -7
  178. package/esm/FocusGroup/focusGroupManagerHoc.js.map +0 -7
  179. package/esm/FocusGroup/index.js.map +0 -7
  180. package/esm/FocusGroup/useFocusGroupItem.js.map +0 -7
  181. package/esm/FocusGroup/utils/getNextCellPosition.js.map +0 -7
  182. package/esm/GroupContext/Group.js.map +0 -7
  183. package/esm/GroupContext/GroupContext.js.map +0 -7
  184. package/esm/GroupContext/GroupItem.js.map +0 -7
  185. package/esm/GroupContext/index.js.map +0 -7
  186. package/esm/ScrollSync/ScrollSync.js.map +0 -7
  187. package/esm/ScrollSync/ScrollSyncPane.js.map +0 -7
  188. package/esm/ScrollSync/ScrollSyncProvider.js.map +0 -7
  189. package/esm/ScrollSync/index.js.map +0 -7
  190. package/esm/ScrollSync/useScrollSync.js.map +0 -7
  191. package/esm/constants.js.map +0 -7
  192. package/esm/createDataInstance/createInstancePlugin.js.map +0 -7
  193. package/esm/createDataInstance/createInstanceRef.js.map +0 -7
  194. package/esm/createDataInstance/utils.js.map +0 -7
  195. package/esm/defer-render-hoc/index.js.map +0 -7
  196. package/esm/dimsum.config.js.map +0 -7
  197. package/esm/index.js.map +0 -7
  198. package/esm/prop-types.js.map +0 -7
  199. package/esm/react-spring/index.js.map +0 -7
  200. package/esm/react-spring/renderprops.js.map +0 -7
  201. package/esm/toolbar/ToolbarProvider.js.map +0 -7
  202. package/esm/useDataGrid/VolatileRowsListener.js.map +0 -7
  203. package/esm/useDataGrid/index.js.map +0 -7
  204. package/esm/useDataGrid/initColumnDefinition.js.map +0 -7
  205. package/esm/useDataGrid/useDataGrid.js.map +0 -7
  206. package/esm/useDataList/index.js.map +0 -7
  207. package/esm/useDataList/recordIterator.js.map +0 -7
  208. package/esm/useDataList/useDataList.js.map +0 -7
  209. package/esm/utils.js.map +0 -7
  210. package/esm/virtualization/AutoHeightList.js.map +0 -7
  211. package/esm/virtualization/FluidHeightList.js.map +0 -7
  212. package/esm/virtualization/index.js.map +0 -7
@@ -1,40 +1,22 @@
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 });
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('react');
5
+ var GroupContext = require('./GroupContext.js');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
10
+
11
+ const {
12
+ Consumer
13
+ } = GroupContext.GroupContext;
14
+
15
+ const GroupItem = _ref => {
16
+ let {
17
+ render
18
+ } = _ref;
19
+ return /*#__PURE__*/_jsx__default["default"](Consumer, {}, void 0, context => render(context));
11
20
  };
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 GroupItem_exports = {};
29
- __export(GroupItem_exports, {
30
- GroupItem: () => GroupItem,
31
- default: () => GroupItem_default
32
- });
33
- var React = __toESM(require("react"));
34
- var import_react = __toESM(require("react"));
35
- var import_GroupContext = __toESM(require("./GroupContext"));
36
- const { Consumer } = import_GroupContext.GroupContext;
37
- const GroupItem = ({ render }) => /* @__PURE__ */ import_react.default.createElement(Consumer, null, (context) => render(context));
38
- var GroupItem_default = GroupItem;
39
- module.exports = __toCommonJS(GroupItem_exports);
40
- //# sourceMappingURL=GroupItem.js.map
21
+
22
+ module.exports = GroupItem;
@@ -1,39 +1,13 @@
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 GroupContext_exports = {};
29
- __export(GroupContext_exports, {
30
- Group: () => import_Group.Group,
31
- GroupContext: () => import_GroupContext.GroupContext,
32
- GroupItem: () => import_GroupItem.GroupItem
33
- });
34
- var React = __toESM(require("react"));
35
- var import_Group = __toESM(require("./Group"));
36
- var import_GroupContext = __toESM(require("./GroupContext"));
37
- var import_GroupItem = __toESM(require("./GroupItem"));
38
- module.exports = __toCommonJS(GroupContext_exports);
39
- //# sourceMappingURL=index.js.map
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Group = require('./Group.js');
6
+ var GroupContext = require('./GroupContext.js');
7
+ var GroupItem = require('./GroupItem.js');
8
+
9
+
10
+
11
+ exports.Group = Group;
12
+ exports.GroupContext = GroupContext.GroupContext;
13
+ exports.GroupItem = GroupItem;
@@ -1,92 +1,92 @@
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 ScrollSync_exports = {};
29
- __export(ScrollSync_exports, {
30
- ScrollSync: () => ScrollSync,
31
- ScrollSyncContext: () => ScrollSyncContext,
32
- default: () => ScrollSync_default
33
- });
34
- var React = __toESM(require("react"));
35
- var import_react = __toESM(require("react"));
36
- const ScrollSyncContext = import_react.default.createContext();
37
- const { Provider } = ScrollSyncContext;
38
- class ScrollSync extends import_react.Component {
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('core-js/modules/esnext.async-iterator.for-each.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.for-each.js');
9
+ require('core-js/modules/esnext.async-iterator.find.js');
10
+ require('core-js/modules/esnext.iterator.find.js');
11
+ var React = require('react');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
16
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
+
18
+ const ScrollSyncContext = /*#__PURE__*/React__default["default"].createContext();
19
+ const {
20
+ Provider
21
+ } = ScrollSyncContext;
22
+ class ScrollSync extends React.Component {
39
23
  constructor(props) {
40
24
  super(props);
41
25
  this.panes = {};
26
+
42
27
  this.registerPane = (node, groups) => {
43
- groups.forEach((group) => {
28
+ groups.forEach(group => {
44
29
  if (!this.panes[group]) {
45
30
  this.panes[group] = [];
46
31
  }
32
+
47
33
  if (this.panes[group].length > 0) {
48
34
  this.syncScrollPosition(this.panes[group][0], node);
49
35
  }
36
+
50
37
  this.panes[group].push(node);
51
38
  });
52
39
  this.addEvents(node, groups);
53
40
  };
41
+
54
42
  this.unregisterPane = (node, groups) => {
55
- groups.forEach((group) => {
43
+ groups.forEach(group => {
56
44
  if (this.findPane(node, group)) {
57
45
  this.removeEvents(node);
58
46
  this.panes[group].splice(this.panes[group].indexOf(node), 1);
59
47
  }
60
48
  });
61
49
  };
50
+
62
51
  this.addEvents = (node, groups) => {
63
- node.onscroll = this.handlePaneScroll.bind(this, node, groups);
52
+ /* For some reason element.addEventListener doesnt work with document.body */
53
+ node.onscroll = this.handlePaneScroll.bind(this, node, groups); // eslint-disable-line
64
54
  };
65
- this.removeEvents = (node) => {
66
- node.onscroll = null;
55
+
56
+ this.removeEvents = node => {
57
+ /* For some reason element.removeEventListener doesnt work with document.body */
58
+ node.onscroll = null; // eslint-disable-line
67
59
  };
60
+
68
61
  this.findPane = (node, group) => {
69
62
  if (!this.panes[group]) {
70
63
  return false;
71
64
  }
72
- return this.panes[group].find((pane) => pane === node);
65
+
66
+ return this.panes[group].find(pane => pane === node);
73
67
  };
68
+
74
69
  this.handlePaneScroll = (node, groups, e) => {
75
- const { enabled } = this.props;
76
- if (this.props.onScroll)
77
- this.props.onScroll(e);
78
- if (!enabled)
79
- return;
70
+ const {
71
+ enabled
72
+ } = this.props;
73
+ if (this.props.onScroll) this.props.onScroll(e);
74
+ if (!enabled) return;
80
75
  window.requestAnimationFrame(() => {
81
76
  this.syncScrollPositions(node, groups);
82
77
  });
83
78
  };
79
+
84
80
  this.syncScrollPositions = (scrolledPane, groups) => {
85
- groups.forEach((group) => {
86
- this.panes[group].forEach((pane) => {
81
+ groups.forEach(group => {
82
+ this.panes[group].forEach(pane => {
83
+ /* For all panes beside the currently scrolling one */
87
84
  if (scrolledPane !== pane) {
85
+ /* Remove event listeners from the node that we'll manipulate */
88
86
  this.removeEvents(pane, group);
89
87
  this.syncScrollPosition(scrolledPane, pane);
88
+ /* Re-attach event listeners after we're done scrolling */
89
+
90
90
  window.requestAnimationFrame(() => {
91
91
  this.addEvents(pane, groups);
92
92
  });
@@ -94,11 +94,13 @@ class ScrollSync extends import_react.Component {
94
94
  });
95
95
  });
96
96
  };
97
+
97
98
  this.syncContext = {
98
99
  registerPane: this.registerPane,
99
100
  unregisterPane: this.unregisterPane
100
101
  };
101
102
  }
103
+
102
104
  syncScrollPosition(scrolledPane, pane) {
103
105
  const {
104
106
  scrollTop,
@@ -110,22 +112,35 @@ class ScrollSync extends import_react.Component {
110
112
  } = scrolledPane;
111
113
  const scrollTopOffset = scrollHeight - clientHeight;
112
114
  const scrollLeftOffset = scrollWidth - clientWidth;
113
- const { proportional, vertical, horizontal } = this.props;
115
+ const {
116
+ proportional,
117
+ vertical,
118
+ horizontal
119
+ } = this.props;
120
+ /* Calculate the actual pane height */
121
+
114
122
  const paneHeight = pane.scrollHeight - clientHeight;
115
123
  const paneWidth = pane.scrollWidth - clientWidth;
124
+ /* Adjust the scrollTop position of it accordingly */
125
+
116
126
  if (vertical && scrollTopOffset > 0) {
117
- pane.scrollTop = proportional ? paneHeight * scrollTop / scrollTopOffset : scrollTop;
127
+ pane.scrollTop = proportional ? paneHeight * scrollTop / scrollTopOffset : scrollTop; // eslint-disable-line
118
128
  }
129
+
119
130
  if (horizontal && scrollLeftOffset > 0) {
120
- pane.scrollLeft = proportional ? paneWidth * scrollLeft / scrollLeftOffset : scrollLeft;
131
+ pane.scrollLeft = proportional ? paneWidth * scrollLeft / scrollLeftOffset : scrollLeft; // eslint-disable-line
121
132
  }
122
133
  }
134
+
123
135
  render() {
124
- const { children } = this.props;
125
- return /* @__PURE__ */ import_react.default.createElement(Provider, {
136
+ const {
137
+ children
138
+ } = this.props;
139
+ return /*#__PURE__*/_jsx__default["default"](Provider, {
126
140
  value: this.syncContext
127
- }, import_react.default.Children.only(children));
141
+ }, void 0, React__default["default"].Children.only(children));
128
142
  }
143
+
129
144
  }
130
145
  ScrollSync.defaultProps = {
131
146
  proportional: true,
@@ -133,6 +148,6 @@ ScrollSync.defaultProps = {
133
148
  horizontal: true,
134
149
  enabled: true
135
150
  };
136
- var ScrollSync_default = ScrollSync;
137
- module.exports = __toCommonJS(ScrollSync_exports);
138
- //# sourceMappingURL=ScrollSync.js.map
151
+
152
+ exports.ScrollSyncContext = ScrollSyncContext;
153
+ exports["default"] = ScrollSync;
@@ -1,73 +1,81 @@
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 ScrollSyncPane_exports = {};
29
- __export(ScrollSyncPane_exports, {
30
- ScrollSyncPaneHOC: () => ScrollSyncPaneHOC,
31
- default: () => ScrollSyncPane_default
32
- });
33
- var React = __toESM(require("react"));
34
- var import_react = __toESM(require("react"));
35
- var import_ScrollSync = __toESM(require("./ScrollSync"));
36
- class ScrollSyncPane extends import_react.Component {
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ require('core-js/modules/web.dom-collections.iterator.js');
6
+ require('core-js/modules/esnext.async-iterator.constructor.js');
7
+ require('core-js/modules/esnext.async-iterator.to-array.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.to-array.js');
10
+ require('core-js/modules/esnext.async-iterator.filter.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
14
+ var React = require('react');
15
+ var ScrollSync = require('./ScrollSync.js');
16
+ var jsxRuntime = require('react/jsx-runtime');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
21
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
22
+
23
+ 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; }
24
+
25
+ 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; }
26
+
27
+ class ScrollSyncPane extends React.Component {
37
28
  constructor() {
38
29
  super(...arguments);
39
- this.toArray = (groups) => [].concat(groups);
30
+
31
+ this.toArray = groups => [].concat(groups);
40
32
  }
33
+
41
34
  componentWillUnmount() {
42
- const { enabled, group, syncContext } = this.props;
43
- const { unregisterPane } = syncContext;
44
- if (enabled)
45
- unregisterPane(this.node, this.toArray(group));
35
+ const {
36
+ enabled,
37
+ group,
38
+ syncContext
39
+ } = this.props;
40
+ const {
41
+ unregisterPane
42
+ } = syncContext;
43
+ if (enabled) unregisterPane(this.node, this.toArray(group));
46
44
  }
45
+
47
46
  render() {
48
- const { children, group, syncContext, notPaginated } = this.props;
49
- const { registerPane } = syncContext;
47
+ const {
48
+ children,
49
+ group,
50
+ syncContext,
51
+ notPaginated
52
+ } = this.props;
53
+ const {
54
+ registerPane
55
+ } = syncContext;
50
56
  return children({
51
- registerPane: (node) => {
57
+ registerPane: node => {
52
58
  if (notPaginated) {
53
- const virtualizedBody = node.querySelector(".virtualized-body-wrapper");
59
+ const virtualizedBody = node.querySelector('.virtualized-body-wrapper');
60
+
54
61
  if (virtualizedBody) {
55
62
  registerPane(virtualizedBody, this.toArray(group));
56
63
  }
57
64
  }
65
+
58
66
  return registerPane(node, this.toArray(group));
59
67
  }
60
68
  });
61
69
  }
70
+
62
71
  }
72
+
63
73
  ScrollSyncPane.defaultProps = {
64
- group: "default",
74
+ group: 'default',
65
75
  enabled: true
66
76
  };
67
- const ScrollSyncPaneHOC = (props) => /* @__PURE__ */ import_react.default.createElement(import_ScrollSync.ScrollSyncContext.Consumer, null, (context) => /* @__PURE__ */ import_react.default.createElement(ScrollSyncPane, {
68
- ...props,
77
+ var ScrollSyncPane$1 = (props => /*#__PURE__*/_jsx__default["default"](ScrollSync.ScrollSyncContext.Consumer, {}, void 0, context => /*#__PURE__*/jsxRuntime.jsx(ScrollSyncPane, _objectSpread(_objectSpread({}, props), {}, {
69
78
  syncContext: context
70
- }));
71
- var ScrollSyncPane_default = ScrollSyncPaneHOC;
72
- module.exports = __toCommonJS(ScrollSyncPane_exports);
73
- //# sourceMappingURL=ScrollSyncPane.js.map
79
+ }))));
80
+
81
+ module.exports = ScrollSyncPane$1;
@@ -1,96 +1,35 @@
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 ScrollSyncProvider_exports = {};
29
- __export(ScrollSyncProvider_exports, {
30
- default: () => ScrollSyncProvider_default
31
- });
32
- var React = __toESM(require("react"));
33
- var import_react = __toESM(require("react"));
34
- var import_raf = __toESM(require("raf"));
35
- const ScrollSyncContext = import_react.default.createContext();
36
- const { Provider } = ScrollSyncContext;
37
- function ScrollSyncProvider({ enabled, horizontal, vertical, children }) {
38
- const panes = useRef();
39
- const registerPane = (node, groups) => {
40
- groups.forEach((group) => {
41
- if (!this.panes[group]) {
42
- this.panes[group] = [];
43
- }
44
- if (!this.findPane(node, group)) {
45
- if (this.panes[group].length > 0) {
46
- this.syncScrollPosition(this.panes[group][0], node);
47
- }
48
- this.panes[group].push(node);
49
- }
50
- });
51
- this.addEvents(node, groups);
52
- };
53
- const unregisterPane = (node, groups) => {
54
- groups.forEach((group) => {
55
- if (this.findPane(node, group)) {
56
- this.removeEvents(node);
57
- this.panes[group].splice(this.panes[group].indexOf(node), 1);
58
- }
59
- });
60
- };
61
- const addEvents = (node, groups) => {
62
- node.onscroll = this.handlePaneScroll.bind(this, node, groups);
63
- };
64
- const removeEvents = (node) => {
65
- node.onscroll = null;
66
- };
67
- const findPane = (node, group) => {
68
- if (!this.panes[group]) {
69
- return false;
70
- }
71
- return this.panes[group].find((pane) => pane === node);
72
- };
73
- const handlePaneScroll = (node, groups) => {
74
- if (!enabled)
75
- return;
76
- window.requestAnimationFrame(() => {
77
- this.syncScrollPositions(node, groups);
78
- });
79
- };
80
- const syncScrollPositions = (scrolledPane, groups) => {
81
- groups.forEach((group) => {
82
- this.panes[group].forEach((pane) => {
83
- if (scrolledPane !== pane) {
84
- this.removeEvents(pane, group);
85
- this.syncScrollPosition(scrolledPane, pane);
86
- window.requestAnimationFrame(() => {
87
- this.addEvents(pane, groups);
88
- });
89
- }
90
- });
91
- });
92
- };
93
- const syncScrollPosition = (0, import_raf.default)((scrolledPane, pane) => {
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('core-js/modules/esnext.async-iterator.for-each.js');
5
+ require('core-js/modules/esnext.iterator.constructor.js');
6
+ require('core-js/modules/esnext.iterator.for-each.js');
7
+ require('core-js/modules/esnext.async-iterator.find.js');
8
+ require('core-js/modules/esnext.iterator.find.js');
9
+ var React = require('react');
10
+ var raf = require('raf');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+ var raf__default = /*#__PURE__*/_interopDefaultLegacy(raf);
17
+
18
+ const ScrollSyncContext = /*#__PURE__*/React__default["default"].createContext();
19
+ const {
20
+ Provider
21
+ } = ScrollSyncContext;
22
+
23
+ function ScrollSyncProvider(_ref) {
24
+ let {
25
+ enabled,
26
+ horizontal,
27
+ vertical,
28
+ children
29
+ } = _ref;
30
+ useRef();
31
+
32
+ raf__default["default"]((scrolledPane, pane) => {
94
33
  const {
95
34
  scrollTop,
96
35
  scrollHeight,
@@ -101,20 +40,28 @@ function ScrollSyncProvider({ enabled, horizontal, vertical, children }) {
101
40
  } = scrolledPane;
102
41
  const scrollTopOffset = scrollHeight - clientHeight;
103
42
  const scrollLeftOffset = scrollWidth - clientWidth;
104
- const { proportional, vertical: vertical2, horizontal: horizontal2 } = this.props;
43
+ const {
44
+ proportional,
45
+ vertical,
46
+ horizontal
47
+ } = this.props;
48
+ /* Calculate the actual pane height */
49
+
105
50
  const paneHeight = pane.scrollHeight - clientHeight;
106
51
  const paneWidth = pane.scrollWidth - clientWidth;
107
- if (vertical2 && scrollTopOffset > 0) {
108
- pane.scrollTop = proportional ? paneHeight * scrollTop / scrollTopOffset : scrollTop;
52
+ /* Adjust the scrollTop position of it accordingly */
53
+
54
+ if (vertical && scrollTopOffset > 0) {
55
+ pane.scrollTop = proportional ? paneHeight * scrollTop / scrollTopOffset : scrollTop; // eslint-disable-line
109
56
  }
110
- if (horizontal2 && scrollLeftOffset > 0) {
111
- pane.scrollLeft = proportional ? paneWidth * scrollLeft / scrollLeftOffset : scrollLeft;
57
+
58
+ if (horizontal && scrollLeftOffset > 0) {
59
+ pane.scrollLeft = proportional ? paneWidth * scrollLeft / scrollLeftOffset : scrollLeft; // eslint-disable-line
112
60
  }
113
61
  });
114
- return /* @__PURE__ */ import_react.default.createElement(Provider, null, children);
62
+ return /*#__PURE__*/_jsx__default["default"](Provider, {}, void 0, children);
115
63
  }
116
- ScrollSyncProvider.propTypes = {};
64
+
117
65
  ScrollSyncProvider.defaultProps = {};
118
- var ScrollSyncProvider_default = ScrollSyncProvider;
119
- module.exports = __toCommonJS(ScrollSyncProvider_exports);
120
- //# sourceMappingURL=ScrollSyncProvider.js.map
66
+
67
+ module.exports = ScrollSyncProvider;