@depup/react-virtualized 9.22.6-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +34 -0
- package/changes.json +22 -0
- package/dist/commonjs/ArrowKeyStepper/ArrowKeyStepper.example.js +184 -0
- package/dist/commonjs/ArrowKeyStepper/ArrowKeyStepper.jest.js +338 -0
- package/dist/commonjs/ArrowKeyStepper/ArrowKeyStepper.js +204 -0
- package/dist/commonjs/ArrowKeyStepper/index.js +19 -0
- package/dist/commonjs/ArrowKeyStepper/types.js +5 -0
- package/dist/commonjs/AutoSizer/AutoSizer.example.js +104 -0
- package/dist/commonjs/AutoSizer/AutoSizer.jest.js +341 -0
- package/dist/commonjs/AutoSizer/AutoSizer.js +199 -0
- package/dist/commonjs/AutoSizer/AutoSizer.ssr.js +25 -0
- package/dist/commonjs/AutoSizer/index.js +19 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicHeightGrid.example.js +100 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicHeightList.example.js +99 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicHeightTableColumn.example.js +107 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicWidthGrid.example.js +102 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.DynamicWidthMultiGrid.example.js +107 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.example.js +129 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.jest.js +345 -0
- package/dist/commonjs/CellMeasurer/CellMeasurer.js +195 -0
- package/dist/commonjs/CellMeasurer/CellMeasurerCache.jest.js +298 -0
- package/dist/commonjs/CellMeasurer/CellMeasurerCache.js +202 -0
- package/dist/commonjs/CellMeasurer/index.js +22 -0
- package/dist/commonjs/CellMeasurer/types.js +14 -0
- package/dist/commonjs/Collection/Collection.example.js +231 -0
- package/dist/commonjs/Collection/Collection.jest.js +829 -0
- package/dist/commonjs/Collection/Collection.js +266 -0
- package/dist/commonjs/Collection/CollectionView.js +553 -0
- package/dist/commonjs/Collection/Section.jest.js +63 -0
- package/dist/commonjs/Collection/Section.js +57 -0
- package/dist/commonjs/Collection/SectionManager.jest.js +121 -0
- package/dist/commonjs/Collection/SectionManager.js +134 -0
- package/dist/commonjs/Collection/TestData.js +77 -0
- package/dist/commonjs/Collection/index.js +15 -0
- package/dist/commonjs/Collection/types.js +22 -0
- package/dist/commonjs/Collection/utils/calculateSizeAndPositionData.jest.js +34 -0
- package/dist/commonjs/Collection/utils/calculateSizeAndPositionData.js +38 -0
- package/dist/commonjs/ColumnSizer/ColumnSizer.example.js +159 -0
- package/dist/commonjs/ColumnSizer/ColumnSizer.jest.js +129 -0
- package/dist/commonjs/ColumnSizer/ColumnSizer.js +103 -0
- package/dist/commonjs/ColumnSizer/index.js +15 -0
- package/dist/commonjs/Grid/Grid.example.js +330 -0
- package/dist/commonjs/Grid/Grid.jest.js +2561 -0
- package/dist/commonjs/Grid/Grid.js +1432 -0
- package/dist/commonjs/Grid/Grid.ssr.js +62 -0
- package/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.jest.js +92 -0
- package/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.js +40 -0
- package/dist/commonjs/Grid/defaultCellRangeRenderer.js +139 -0
- package/dist/commonjs/Grid/defaultOverscanIndicesGetter.jest.js +92 -0
- package/dist/commonjs/Grid/defaultOverscanIndicesGetter.js +36 -0
- package/dist/commonjs/Grid/index.js +40 -0
- package/dist/commonjs/Grid/types.js +8 -0
- package/dist/commonjs/Grid/utils/CellSizeAndPositionManager.jest.js +375 -0
- package/dist/commonjs/Grid/utils/CellSizeAndPositionManager.js +296 -0
- package/dist/commonjs/Grid/utils/ScalingCellSizeAndPositionManager.jest.js +201 -0
- package/dist/commonjs/Grid/utils/ScalingCellSizeAndPositionManager.js +204 -0
- package/dist/commonjs/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.jest.js +84 -0
- package/dist/commonjs/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.js +59 -0
- package/dist/commonjs/Grid/utils/maxElementSize.js +22 -0
- package/dist/commonjs/Grid/utils/updateScrollIndexHelper.jest.js +180 -0
- package/dist/commonjs/Grid/utils/updateScrollIndexHelper.js +85 -0
- package/dist/commonjs/InfiniteLoader/InfiniteLoader.example.js +179 -0
- package/dist/commonjs/InfiniteLoader/InfiniteLoader.jest.js +571 -0
- package/dist/commonjs/InfiniteLoader/InfiniteLoader.js +274 -0
- package/dist/commonjs/InfiniteLoader/index.js +15 -0
- package/dist/commonjs/List/List.example.js +236 -0
- package/dist/commonjs/List/List.jest.js +517 -0
- package/dist/commonjs/List/List.js +318 -0
- package/dist/commonjs/List/index.js +19 -0
- package/dist/commonjs/List/types.js +6 -0
- package/dist/commonjs/Masonry/Masonry.example.js +287 -0
- package/dist/commonjs/Masonry/Masonry.jest.js +450 -0
- package/dist/commonjs/Masonry/Masonry.js +431 -0
- package/dist/commonjs/Masonry/PositionCache.js +88 -0
- package/dist/commonjs/Masonry/createCellPositioner.js +59 -0
- package/dist/commonjs/Masonry/index.js +22 -0
- package/dist/commonjs/MultiGrid/CellMeasurerCacheDecorator.js +106 -0
- package/dist/commonjs/MultiGrid/MultiGrid.example.js +131 -0
- package/dist/commonjs/MultiGrid/MultiGrid.jest.js +584 -0
- package/dist/commonjs/MultiGrid/MultiGrid.js +743 -0
- package/dist/commonjs/MultiGrid/index.js +15 -0
- package/dist/commonjs/ScrollSync/ScrollSync.example.js +257 -0
- package/dist/commonjs/ScrollSync/ScrollSync.jest.js +66 -0
- package/dist/commonjs/ScrollSync/ScrollSync.js +88 -0
- package/dist/commonjs/ScrollSync/index.js +15 -0
- package/dist/commonjs/Table/Column.jest.js +90 -0
- package/dist/commonjs/Table/Column.js +93 -0
- package/dist/commonjs/Table/SortDirection.js +19 -0
- package/dist/commonjs/Table/SortIndicator.js +40 -0
- package/dist/commonjs/Table/Table.example.js +325 -0
- package/dist/commonjs/Table/Table.jest.js +1257 -0
- package/dist/commonjs/Table/Table.js +742 -0
- package/dist/commonjs/Table/createMultiSort.jest.js +165 -0
- package/dist/commonjs/Table/createMultiSort.js +99 -0
- package/dist/commonjs/Table/defaultCellDataGetter.js +21 -0
- package/dist/commonjs/Table/defaultCellRenderer.js +19 -0
- package/dist/commonjs/Table/defaultHeaderRenderer.js +35 -0
- package/dist/commonjs/Table/defaultHeaderRowRenderer.js +21 -0
- package/dist/commonjs/Table/defaultRowRenderer.js +87 -0
- package/dist/commonjs/Table/index.js +78 -0
- package/dist/commonjs/Table/types.js +39 -0
- package/dist/commonjs/WindowScroller/WindowScroller.e2e.js +298 -0
- package/dist/commonjs/WindowScroller/WindowScroller.example.js +167 -0
- package/dist/commonjs/WindowScroller/WindowScroller.header-resize.e2e.js +359 -0
- package/dist/commonjs/WindowScroller/WindowScroller.jest.js +536 -0
- package/dist/commonjs/WindowScroller/WindowScroller.js +268 -0
- package/dist/commonjs/WindowScroller/WindowScroller.ssr.js +25 -0
- package/dist/commonjs/WindowScroller/index.js +23 -0
- package/dist/commonjs/WindowScroller/utils/dimensions.js +89 -0
- package/dist/commonjs/WindowScroller/utils/onScroll.js +70 -0
- package/dist/commonjs/index.js +180 -0
- package/dist/commonjs/jest-setup.js +7 -0
- package/dist/commonjs/utils/TestHelper.js +36 -0
- package/dist/commonjs/utils/animationFrame.js +29 -0
- package/dist/commonjs/utils/createCallbackMemoizer.jest.js +219 -0
- package/dist/commonjs/utils/createCallbackMemoizer.js +31 -0
- package/dist/commonjs/utils/getUpdatedOffsetForIndex.jest.js +68 -0
- package/dist/commonjs/utils/getUpdatedOffsetForIndex.js +38 -0
- package/dist/commonjs/utils/initCellMetadata.js +37 -0
- package/dist/commonjs/utils/requestAnimationTimeout.js +38 -0
- package/dist/commonjs/vendor/binarySearchBounds.js +200 -0
- package/dist/commonjs/vendor/detectElementResize.js +192 -0
- package/dist/commonjs/vendor/intervalTree.js +361 -0
- package/dist/es/ArrowKeyStepper/ArrowKeyStepper.example.js +176 -0
- package/dist/es/ArrowKeyStepper/ArrowKeyStepper.jest.js +332 -0
- package/dist/es/ArrowKeyStepper/ArrowKeyStepper.js +197 -0
- package/dist/es/ArrowKeyStepper/index.js +3 -0
- package/dist/es/ArrowKeyStepper/types.js +4 -0
- package/dist/es/AutoSizer/AutoSizer.example.js +96 -0
- package/dist/es/AutoSizer/AutoSizer.jest.js +335 -0
- package/dist/es/AutoSizer/AutoSizer.js +190 -0
- package/dist/es/AutoSizer/AutoSizer.js.flow +200 -0
- package/dist/es/AutoSizer/AutoSizer.ssr.js +19 -0
- package/dist/es/AutoSizer/index.js +2 -0
- package/dist/es/AutoSizer/index.js.flow +4 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicHeightGrid.example.js +91 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicHeightList.example.js +90 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicHeightTableColumn.example.js +98 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicWidthGrid.example.js +93 -0
- package/dist/es/CellMeasurer/CellMeasurer.DynamicWidthMultiGrid.example.js +98 -0
- package/dist/es/CellMeasurer/CellMeasurer.example.js +120 -0
- package/dist/es/CellMeasurer/CellMeasurer.jest.js +340 -0
- package/dist/es/CellMeasurer/CellMeasurer.js +187 -0
- package/dist/es/CellMeasurer/CellMeasurerCache.jest.js +293 -0
- package/dist/es/CellMeasurer/CellMeasurerCache.js +196 -0
- package/dist/es/CellMeasurer/index.js +4 -0
- package/dist/es/CellMeasurer/types.js +13 -0
- package/dist/es/Collection/Collection.example.js +223 -0
- package/dist/es/Collection/Collection.jest.js +824 -0
- package/dist/es/Collection/Collection.js +257 -0
- package/dist/es/Collection/CollectionView.js +544 -0
- package/dist/es/Collection/Section.jest.js +60 -0
- package/dist/es/Collection/Section.js +51 -0
- package/dist/es/Collection/SectionManager.jest.js +118 -0
- package/dist/es/Collection/SectionManager.js +128 -0
- package/dist/es/Collection/TestData.js +71 -0
- package/dist/es/Collection/index.js +3 -0
- package/dist/es/Collection/types.js +21 -0
- package/dist/es/Collection/utils/calculateSizeAndPositionData.jest.js +31 -0
- package/dist/es/Collection/utils/calculateSizeAndPositionData.js +31 -0
- package/dist/es/ColumnSizer/ColumnSizer.example.js +150 -0
- package/dist/es/ColumnSizer/ColumnSizer.jest.js +123 -0
- package/dist/es/ColumnSizer/ColumnSizer.js +95 -0
- package/dist/es/ColumnSizer/index.js +3 -0
- package/dist/es/Grid/Grid.example.js +321 -0
- package/dist/es/Grid/Grid.jest.js +2555 -0
- package/dist/es/Grid/Grid.js +1425 -0
- package/dist/es/Grid/Grid.ssr.js +57 -0
- package/dist/es/Grid/accessibilityOverscanIndicesGetter.jest.js +87 -0
- package/dist/es/Grid/accessibilityOverscanIndicesGetter.js +33 -0
- package/dist/es/Grid/defaultCellRangeRenderer.js +134 -0
- package/dist/es/Grid/defaultOverscanIndicesGetter.jest.js +87 -0
- package/dist/es/Grid/defaultOverscanIndicesGetter.js +29 -0
- package/dist/es/Grid/index.js +15 -0
- package/dist/es/Grid/types.js +96 -0
- package/dist/es/Grid/utils/CellSizeAndPositionManager.jest.js +372 -0
- package/dist/es/Grid/utils/CellSizeAndPositionManager.js +290 -0
- package/dist/es/Grid/utils/ScalingCellSizeAndPositionManager.jest.js +198 -0
- package/dist/es/Grid/utils/ScalingCellSizeAndPositionManager.js +198 -0
- package/dist/es/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.jest.js +81 -0
- package/dist/es/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.js +53 -0
- package/dist/es/Grid/utils/maxElementSize.js +16 -0
- package/dist/es/Grid/utils/updateScrollIndexHelper.jest.js +174 -0
- package/dist/es/Grid/utils/updateScrollIndexHelper.js +79 -0
- package/dist/es/InfiniteLoader/InfiniteLoader.example.js +170 -0
- package/dist/es/InfiniteLoader/InfiniteLoader.jest.js +565 -0
- package/dist/es/InfiniteLoader/InfiniteLoader.js +263 -0
- package/dist/es/InfiniteLoader/index.js +3 -0
- package/dist/es/List/List.example.js +227 -0
- package/dist/es/List/List.jest.js +511 -0
- package/dist/es/List/List.js +312 -0
- package/dist/es/List/index.js +3 -0
- package/dist/es/List/types.js +21 -0
- package/dist/es/Masonry/Masonry.example.js +278 -0
- package/dist/es/Masonry/Masonry.jest.js +444 -0
- package/dist/es/Masonry/Masonry.js +421 -0
- package/dist/es/Masonry/PositionCache.js +82 -0
- package/dist/es/Masonry/createCellPositioner.js +53 -0
- package/dist/es/Masonry/index.js +4 -0
- package/dist/es/MultiGrid/CellMeasurerCacheDecorator.js +100 -0
- package/dist/es/MultiGrid/MultiGrid.example.js +122 -0
- package/dist/es/MultiGrid/MultiGrid.jest.js +579 -0
- package/dist/es/MultiGrid/MultiGrid.js +733 -0
- package/dist/es/MultiGrid/index.js +3 -0
- package/dist/es/ScrollSync/ScrollSync.example.js +248 -0
- package/dist/es/ScrollSync/ScrollSync.jest.js +60 -0
- package/dist/es/ScrollSync/ScrollSync.js +80 -0
- package/dist/es/ScrollSync/index.js +3 -0
- package/dist/es/Table/Column.jest.js +84 -0
- package/dist/es/Table/Column.js +85 -0
- package/dist/es/Table/SortDirection.js +13 -0
- package/dist/es/Table/SortIndicator.js +31 -0
- package/dist/es/Table/Table.example.js +316 -0
- package/dist/es/Table/Table.jest.js +1251 -0
- package/dist/es/Table/Table.js +735 -0
- package/dist/es/Table/createMultiSort.jest.js +162 -0
- package/dist/es/Table/createMultiSort.js +93 -0
- package/dist/es/Table/defaultCellDataGetter.js +15 -0
- package/dist/es/Table/defaultCellRenderer.js +13 -0
- package/dist/es/Table/defaultHeaderRenderer.js +25 -0
- package/dist/es/Table/defaultHeaderRowRenderer.js +12 -0
- package/dist/es/Table/defaultRowRenderer.js +77 -0
- package/dist/es/Table/index.js +12 -0
- package/dist/es/Table/types.js +38 -0
- package/dist/es/WindowScroller/WindowScroller.e2e.js +295 -0
- package/dist/es/WindowScroller/WindowScroller.example.js +158 -0
- package/dist/es/WindowScroller/WindowScroller.header-resize.e2e.js +356 -0
- package/dist/es/WindowScroller/WindowScroller.jest.js +530 -0
- package/dist/es/WindowScroller/WindowScroller.js +259 -0
- package/dist/es/WindowScroller/WindowScroller.js.flow +277 -0
- package/dist/es/WindowScroller/WindowScroller.ssr.js +19 -0
- package/dist/es/WindowScroller/index.js +3 -0
- package/dist/es/WindowScroller/index.js.flow +6 -0
- package/dist/es/WindowScroller/utils/dimensions.js +81 -0
- package/dist/es/WindowScroller/utils/dimensions.js.flow +91 -0
- package/dist/es/WindowScroller/utils/onScroll.js +64 -0
- package/dist/es/WindowScroller/utils/onScroll.js.flow +94 -0
- package/dist/es/index.js +13 -0
- package/dist/es/jest-setup.js +5 -0
- package/dist/es/utils/TestHelper.js +30 -0
- package/dist/es/utils/animationFrame.js +23 -0
- package/dist/es/utils/createCallbackMemoizer.jest.js +216 -0
- package/dist/es/utils/createCallbackMemoizer.js +25 -0
- package/dist/es/utils/getUpdatedOffsetForIndex.jest.js +65 -0
- package/dist/es/utils/getUpdatedOffsetForIndex.js +32 -0
- package/dist/es/utils/initCellMetadata.js +31 -0
- package/dist/es/utils/requestAnimationTimeout.js +32 -0
- package/dist/es/vendor/binarySearchBounds.js +194 -0
- package/dist/es/vendor/detectElementResize.js +186 -0
- package/dist/es/vendor/intervalTree.js +354 -0
- package/dist/umd/react-virtualized.js +4638 -0
- package/package.json +188 -0
- package/styles.css +80 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.IS_SCROLLING_TIMEOUT = void 0;
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var React = _interopRequireWildcard(require("react"));
|
|
16
|
+
var _onScroll = require("./utils/onScroll");
|
|
17
|
+
var _dimensions = require("./utils/dimensions");
|
|
18
|
+
var _detectElementResize = _interopRequireDefault(require("../vendor/detectElementResize"));
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
21
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
23
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
24
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
|
+
/*:: type Props = {
|
|
26
|
+
/**
|
|
27
|
+
* Function responsible for rendering children.
|
|
28
|
+
* This function should implement the following signature:
|
|
29
|
+
* ({ height, isScrolling, scrollLeft, scrollTop, width }) => PropTypes.element
|
|
30
|
+
*-/
|
|
31
|
+
children: ({
|
|
32
|
+
onChildScroll: ({scrollTop: number}) => void,
|
|
33
|
+
registerChild: (?Element) => void,
|
|
34
|
+
height: number,
|
|
35
|
+
isScrolling: boolean,
|
|
36
|
+
scrollLeft: number,
|
|
37
|
+
scrollTop: number,
|
|
38
|
+
width: number,
|
|
39
|
+
}) => React.Node,
|
|
40
|
+
|
|
41
|
+
/** Callback to be invoked on-resize: ({ height, width }) *-/
|
|
42
|
+
onResize: ({height: number, width: number}) => void,
|
|
43
|
+
|
|
44
|
+
/** Callback to be invoked on-scroll: ({ scrollLeft, scrollTop }) *-/
|
|
45
|
+
onScroll: ({scrollLeft: number, scrollTop: number}) => void,
|
|
46
|
+
|
|
47
|
+
/** Element to attach scroll event listeners. Defaults to window. *-/
|
|
48
|
+
scrollElement: ?(typeof window | Element),
|
|
49
|
+
/**
|
|
50
|
+
* Wait this amount of time after the last scroll event before resetting child `pointer-events`.
|
|
51
|
+
*-/
|
|
52
|
+
scrollingResetTimeInterval: number,
|
|
53
|
+
|
|
54
|
+
/** Height used for server-side rendering *-/
|
|
55
|
+
serverHeight: number,
|
|
56
|
+
|
|
57
|
+
/** Width used for server-side rendering *-/
|
|
58
|
+
serverWidth: number,
|
|
59
|
+
|
|
60
|
+
/** Force scrollTop updates when .updatePosition is called, fixing forced header height change updates *-/
|
|
61
|
+
updateScrollTopOnUpdatePosition?: boolean,
|
|
62
|
+
};*/
|
|
63
|
+
/*:: type State = {
|
|
64
|
+
height: number,
|
|
65
|
+
width: number,
|
|
66
|
+
isScrolling: boolean,
|
|
67
|
+
scrollLeft: number,
|
|
68
|
+
scrollTop: number,
|
|
69
|
+
};*/
|
|
70
|
+
/*:: type ResizeHandler = (element: Element, onResize: () => void) => void;*/
|
|
71
|
+
/*:: type DetectElementResize = {
|
|
72
|
+
addResizeListener: ResizeHandler,
|
|
73
|
+
removeResizeListener: ResizeHandler,
|
|
74
|
+
};*/
|
|
75
|
+
/**
|
|
76
|
+
* Specifies the number of milliseconds during which to disable pointer events while a scroll is in progress.
|
|
77
|
+
* This improves performance and makes scrolling smoother.
|
|
78
|
+
*/
|
|
79
|
+
var IS_SCROLLING_TIMEOUT = exports.IS_SCROLLING_TIMEOUT = 150;
|
|
80
|
+
var getWindow = function getWindow() {
|
|
81
|
+
return typeof window !== 'undefined' ? window : undefined;
|
|
82
|
+
};
|
|
83
|
+
var WindowScroller = exports["default"] = /*#__PURE__*/function (_React$PureComponent) {
|
|
84
|
+
function WindowScroller() {
|
|
85
|
+
var _this;
|
|
86
|
+
(0, _classCallCheck2["default"])(this, WindowScroller);
|
|
87
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
88
|
+
args[_key] = arguments[_key];
|
|
89
|
+
}
|
|
90
|
+
_this = _callSuper(this, WindowScroller, [].concat(args));
|
|
91
|
+
(0, _defineProperty2["default"])(_this, "_window", getWindow());
|
|
92
|
+
(0, _defineProperty2["default"])(_this, "_isMounted", false);
|
|
93
|
+
(0, _defineProperty2["default"])(_this, "_positionFromTop", 0);
|
|
94
|
+
(0, _defineProperty2["default"])(_this, "_positionFromLeft", 0);
|
|
95
|
+
(0, _defineProperty2["default"])(_this, "_detectElementResize", void 0);
|
|
96
|
+
(0, _defineProperty2["default"])(_this, "_child", void 0);
|
|
97
|
+
(0, _defineProperty2["default"])(_this, "_windowScrollerRef", /*#__PURE__*/React.createRef());
|
|
98
|
+
(0, _defineProperty2["default"])(_this, "state", _objectSpread(_objectSpread({}, (0, _dimensions.getDimensions)(_this.props.scrollElement, _this.props)), {}, {
|
|
99
|
+
isScrolling: false,
|
|
100
|
+
scrollLeft: 0,
|
|
101
|
+
scrollTop: 0
|
|
102
|
+
}));
|
|
103
|
+
(0, _defineProperty2["default"])(_this, "_registerChild", function (element) {
|
|
104
|
+
if (element && !(element instanceof Element)) {
|
|
105
|
+
console.warn('WindowScroller registerChild expects to be passed Element or null');
|
|
106
|
+
}
|
|
107
|
+
_this._child = element;
|
|
108
|
+
_this.updatePosition();
|
|
109
|
+
});
|
|
110
|
+
(0, _defineProperty2["default"])(_this, "_onChildScroll", function (_ref) {
|
|
111
|
+
var scrollTop = _ref.scrollTop;
|
|
112
|
+
if (_this.state.scrollTop === scrollTop) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
var scrollElement = _this.props.scrollElement;
|
|
116
|
+
if (scrollElement) {
|
|
117
|
+
if (typeof scrollElement.scrollTo === 'function') {
|
|
118
|
+
scrollElement.scrollTo(0, scrollTop + _this._positionFromTop);
|
|
119
|
+
} else {
|
|
120
|
+
scrollElement.scrollTop = scrollTop + _this._positionFromTop;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
(0, _defineProperty2["default"])(_this, "_registerResizeListener", function (element) {
|
|
125
|
+
if (element === window) {
|
|
126
|
+
window.addEventListener('resize', _this._onResize, false);
|
|
127
|
+
} else {
|
|
128
|
+
_this._detectElementResize.addResizeListener(element, _this._onResize);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
(0, _defineProperty2["default"])(_this, "_unregisterResizeListener", function (element) {
|
|
132
|
+
if (element === window) {
|
|
133
|
+
window.removeEventListener('resize', _this._onResize, false);
|
|
134
|
+
} else if (element) {
|
|
135
|
+
_this._detectElementResize.removeResizeListener(element, _this._onResize);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
(0, _defineProperty2["default"])(_this, "_onResize", function () {
|
|
139
|
+
_this.updatePosition();
|
|
140
|
+
});
|
|
141
|
+
// Referenced by utils/onScroll
|
|
142
|
+
(0, _defineProperty2["default"])(_this, "__handleWindowScrollEvent", function () {
|
|
143
|
+
if (!_this._isMounted) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
var onScroll = _this.props.onScroll;
|
|
147
|
+
var scrollElement = _this.props.scrollElement;
|
|
148
|
+
if (scrollElement) {
|
|
149
|
+
var scrollOffset = (0, _dimensions.getScrollOffset)(scrollElement);
|
|
150
|
+
var scrollLeft = Math.max(0, scrollOffset.left - _this._positionFromLeft);
|
|
151
|
+
var scrollTop = Math.max(0, scrollOffset.top - _this._positionFromTop);
|
|
152
|
+
_this.setState({
|
|
153
|
+
isScrolling: true,
|
|
154
|
+
scrollLeft: scrollLeft,
|
|
155
|
+
scrollTop: scrollTop
|
|
156
|
+
});
|
|
157
|
+
onScroll({
|
|
158
|
+
scrollLeft: scrollLeft,
|
|
159
|
+
scrollTop: scrollTop
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
// Referenced by utils/onScroll
|
|
164
|
+
(0, _defineProperty2["default"])(_this, "__resetIsScrolling", function () {
|
|
165
|
+
_this.setState({
|
|
166
|
+
isScrolling: false
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
return _this;
|
|
170
|
+
}
|
|
171
|
+
(0, _inherits2["default"])(WindowScroller, _React$PureComponent);
|
|
172
|
+
return (0, _createClass2["default"])(WindowScroller, [{
|
|
173
|
+
key: "updatePosition",
|
|
174
|
+
value: function updatePosition() {
|
|
175
|
+
var scrollElement /*: ?Element*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props.scrollElement;
|
|
176
|
+
var onResize = this.props.onResize;
|
|
177
|
+
var _this$state = this.state,
|
|
178
|
+
height = _this$state.height,
|
|
179
|
+
width = _this$state.width;
|
|
180
|
+
var thisNode = this._child || this._windowScrollerRef.current;
|
|
181
|
+
if (thisNode instanceof Element && scrollElement) {
|
|
182
|
+
var offset = (0, _dimensions.getPositionOffset)(thisNode, scrollElement);
|
|
183
|
+
this._positionFromTop = offset.top;
|
|
184
|
+
this._positionFromLeft = offset.left;
|
|
185
|
+
}
|
|
186
|
+
var dimensions = (0, _dimensions.getDimensions)(scrollElement, this.props);
|
|
187
|
+
if (height !== dimensions.height || width !== dimensions.width) {
|
|
188
|
+
this.setState({
|
|
189
|
+
height: dimensions.height,
|
|
190
|
+
width: dimensions.width
|
|
191
|
+
});
|
|
192
|
+
onResize({
|
|
193
|
+
height: dimensions.height,
|
|
194
|
+
width: dimensions.width
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
if (this.props.updateScrollTopOnUpdatePosition === true) {
|
|
198
|
+
this.__handleWindowScrollEvent();
|
|
199
|
+
this.__resetIsScrolling();
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}, {
|
|
203
|
+
key: "componentDidMount",
|
|
204
|
+
value: function componentDidMount() {
|
|
205
|
+
var scrollElement = this.props.scrollElement;
|
|
206
|
+
this._detectElementResize = (0, _detectElementResize["default"])();
|
|
207
|
+
this.updatePosition(scrollElement);
|
|
208
|
+
if (scrollElement) {
|
|
209
|
+
(0, _onScroll.registerScrollListener)(this, scrollElement);
|
|
210
|
+
this._registerResizeListener(scrollElement);
|
|
211
|
+
}
|
|
212
|
+
this._isMounted = true;
|
|
213
|
+
}
|
|
214
|
+
}, {
|
|
215
|
+
key: "componentDidUpdate",
|
|
216
|
+
value: function componentDidUpdate(prevProps /*: Props*/, prevState /*: State*/) {
|
|
217
|
+
var scrollElement = this.props.scrollElement;
|
|
218
|
+
var prevScrollElement = prevProps.scrollElement;
|
|
219
|
+
if (prevScrollElement !== scrollElement && prevScrollElement != null && scrollElement != null) {
|
|
220
|
+
this.updatePosition(scrollElement);
|
|
221
|
+
(0, _onScroll.unregisterScrollListener)(this, prevScrollElement);
|
|
222
|
+
(0, _onScroll.registerScrollListener)(this, scrollElement);
|
|
223
|
+
this._unregisterResizeListener(prevScrollElement);
|
|
224
|
+
this._registerResizeListener(scrollElement);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}, {
|
|
228
|
+
key: "componentWillUnmount",
|
|
229
|
+
value: function componentWillUnmount() {
|
|
230
|
+
var scrollElement = this.props.scrollElement;
|
|
231
|
+
if (scrollElement) {
|
|
232
|
+
(0, _onScroll.unregisterScrollListener)(this, scrollElement);
|
|
233
|
+
this._unregisterResizeListener(scrollElement);
|
|
234
|
+
}
|
|
235
|
+
this._isMounted = false;
|
|
236
|
+
}
|
|
237
|
+
}, {
|
|
238
|
+
key: "render",
|
|
239
|
+
value: function render() {
|
|
240
|
+
var children = this.props.children;
|
|
241
|
+
var _this$state2 = this.state,
|
|
242
|
+
isScrolling = _this$state2.isScrolling,
|
|
243
|
+
scrollTop = _this$state2.scrollTop,
|
|
244
|
+
scrollLeft = _this$state2.scrollLeft,
|
|
245
|
+
height = _this$state2.height,
|
|
246
|
+
width = _this$state2.width;
|
|
247
|
+
return /*#__PURE__*/React.createElement('div', {
|
|
248
|
+
ref: this._windowScrollerRef
|
|
249
|
+
}, children({
|
|
250
|
+
onChildScroll: this._onChildScroll,
|
|
251
|
+
registerChild: this._registerChild,
|
|
252
|
+
height: height,
|
|
253
|
+
isScrolling: isScrolling,
|
|
254
|
+
scrollLeft: scrollLeft,
|
|
255
|
+
scrollTop: scrollTop,
|
|
256
|
+
width: width
|
|
257
|
+
}));
|
|
258
|
+
}
|
|
259
|
+
}]);
|
|
260
|
+
}(React.PureComponent);
|
|
261
|
+
(0, _defineProperty2["default"])(WindowScroller, "defaultProps", {
|
|
262
|
+
onResize: function onResize() {},
|
|
263
|
+
onScroll: function onScroll() {},
|
|
264
|
+
scrollingResetTimeInterval: IS_SCROLLING_TIMEOUT,
|
|
265
|
+
scrollElement: getWindow(),
|
|
266
|
+
serverHeight: 0,
|
|
267
|
+
serverWidth: 0
|
|
268
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
var React = _interopRequireWildcard(require("react"));
|
|
6
|
+
var ReactDOMServer = _interopRequireWildcard(require("react-dom/server"));
|
|
7
|
+
var _WindowScroller = _interopRequireDefault(require("./WindowScroller"));
|
|
8
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
9
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
10
|
+
/**
|
|
11
|
+
* @jest-environment node
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
test('should render content with default widths and heights initially', function () {
|
|
15
|
+
var rendered = ReactDOMServer.renderToString(/*#__PURE__*/React.createElement(_WindowScroller["default"], {
|
|
16
|
+
serverHeight: 100,
|
|
17
|
+
serverWidth: 200
|
|
18
|
+
}, function (_ref) {
|
|
19
|
+
var height = _ref.height,
|
|
20
|
+
width = _ref.width;
|
|
21
|
+
return /*#__PURE__*/React.createElement("div", null, "height:".concat(height, ";width:").concat(width));
|
|
22
|
+
}));
|
|
23
|
+
expect(rendered).toContain('height:100');
|
|
24
|
+
expect(rendered).toContain('width:200');
|
|
25
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "IS_SCROLLING_TIMEOUT", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _WindowScroller.IS_SCROLLING_TIMEOUT;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "WindowScroller", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _WindowScroller["default"];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
exports["default"] = void 0;
|
|
20
|
+
var _WindowScroller = _interopRequireWildcard(require("./WindowScroller"));
|
|
21
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
23
|
+
var _default = exports["default"] = _WindowScroller["default"];
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getDimensions = getDimensions;
|
|
7
|
+
exports.getPositionOffset = getPositionOffset;
|
|
8
|
+
exports.getScrollOffset = getScrollOffset;
|
|
9
|
+
/**
|
|
10
|
+
* Gets the dimensions of the element, accounting for API differences between
|
|
11
|
+
* `window` and other DOM elements.
|
|
12
|
+
*/
|
|
13
|
+
/*:: type Dimensions = {
|
|
14
|
+
height: number,
|
|
15
|
+
width: number,
|
|
16
|
+
};*/
|
|
17
|
+
// TODO Move this into WindowScroller and import from there
|
|
18
|
+
/*:: type WindowScrollerProps = {
|
|
19
|
+
serverHeight: number,
|
|
20
|
+
serverWidth: number,
|
|
21
|
+
};*/
|
|
22
|
+
var isWindow = function isWindow(element) {
|
|
23
|
+
return element === window;
|
|
24
|
+
};
|
|
25
|
+
var getBoundingBox = function getBoundingBox(element) {
|
|
26
|
+
return element.getBoundingClientRect();
|
|
27
|
+
};
|
|
28
|
+
function getDimensions(scrollElement /*: ?Element*/, props /*: WindowScrollerProps*/) /*: Dimensions*/{
|
|
29
|
+
if (!scrollElement) {
|
|
30
|
+
return {
|
|
31
|
+
height: props.serverHeight,
|
|
32
|
+
width: props.serverWidth
|
|
33
|
+
};
|
|
34
|
+
} else if (isWindow(scrollElement)) {
|
|
35
|
+
var _window = window,
|
|
36
|
+
innerHeight = _window.innerHeight,
|
|
37
|
+
innerWidth = _window.innerWidth;
|
|
38
|
+
return {
|
|
39
|
+
height: typeof innerHeight === 'number' ? innerHeight : 0,
|
|
40
|
+
width: typeof innerWidth === 'number' ? innerWidth : 0
|
|
41
|
+
};
|
|
42
|
+
} else {
|
|
43
|
+
return getBoundingBox(scrollElement);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Gets the vertical and horizontal position of an element within its scroll container.
|
|
49
|
+
* Elements that have been “scrolled past” return negative values.
|
|
50
|
+
* Handles edge-case where a user is navigating back (history) from an already-scrolled page.
|
|
51
|
+
* In this case the body’s top or left position will be a negative number and this element’s top or left will be increased (by that amount).
|
|
52
|
+
*/
|
|
53
|
+
function getPositionOffset(element /*: Element*/, container /*: Element*/) {
|
|
54
|
+
if (isWindow(container) && document.documentElement) {
|
|
55
|
+
var containerElement = document.documentElement;
|
|
56
|
+
var elementRect = getBoundingBox(element);
|
|
57
|
+
var containerRect = getBoundingBox(containerElement);
|
|
58
|
+
return {
|
|
59
|
+
top: elementRect.top - containerRect.top,
|
|
60
|
+
left: elementRect.left - containerRect.left
|
|
61
|
+
};
|
|
62
|
+
} else {
|
|
63
|
+
var scrollOffset = getScrollOffset(container);
|
|
64
|
+
var _elementRect = getBoundingBox(element);
|
|
65
|
+
var _containerRect = getBoundingBox(container);
|
|
66
|
+
return {
|
|
67
|
+
top: _elementRect.top + scrollOffset.top - _containerRect.top,
|
|
68
|
+
left: _elementRect.left + scrollOffset.left - _containerRect.left
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Gets the vertical and horizontal scroll amount of the element, accounting for IE compatibility
|
|
75
|
+
* and API differences between `window` and other DOM elements.
|
|
76
|
+
*/
|
|
77
|
+
function getScrollOffset(element /*: Element*/) {
|
|
78
|
+
if (isWindow(element) && document.documentElement) {
|
|
79
|
+
return {
|
|
80
|
+
top: 'scrollY' in window ? window.scrollY : document.documentElement.scrollTop,
|
|
81
|
+
left: 'scrollX' in window ? window.scrollX : document.documentElement.scrollLeft
|
|
82
|
+
};
|
|
83
|
+
} else {
|
|
84
|
+
return {
|
|
85
|
+
top: element.scrollTop,
|
|
86
|
+
left: element.scrollLeft
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'no babel-plugin-flow-react-proptypes';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.registerScrollListener = registerScrollListener;
|
|
8
|
+
exports.unregisterScrollListener = unregisterScrollListener;
|
|
9
|
+
var _requestAnimationTimeout = require("../../utils/requestAnimationTimeout");
|
|
10
|
+
/*:: import type WindowScroller from '../WindowScroller.js';*/
|
|
11
|
+
var mountedInstances = [];
|
|
12
|
+
var originalBodyPointerEvents = null;
|
|
13
|
+
var disablePointerEventsTimeoutId = null;
|
|
14
|
+
function enablePointerEventsIfDisabled() {
|
|
15
|
+
if (disablePointerEventsTimeoutId) {
|
|
16
|
+
disablePointerEventsTimeoutId = null;
|
|
17
|
+
if (document.body && originalBodyPointerEvents != null) {
|
|
18
|
+
document.body.style.pointerEvents = originalBodyPointerEvents;
|
|
19
|
+
}
|
|
20
|
+
originalBodyPointerEvents = null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function enablePointerEventsAfterDelayCallback() {
|
|
24
|
+
enablePointerEventsIfDisabled();
|
|
25
|
+
mountedInstances.forEach(function (instance) {
|
|
26
|
+
return instance.__resetIsScrolling();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function enablePointerEventsAfterDelay() {
|
|
30
|
+
if (disablePointerEventsTimeoutId) {
|
|
31
|
+
(0, _requestAnimationTimeout.cancelAnimationTimeout)(disablePointerEventsTimeoutId);
|
|
32
|
+
}
|
|
33
|
+
var maximumTimeout = 0;
|
|
34
|
+
mountedInstances.forEach(function (instance) {
|
|
35
|
+
maximumTimeout = Math.max(maximumTimeout, instance.props.scrollingResetTimeInterval);
|
|
36
|
+
});
|
|
37
|
+
disablePointerEventsTimeoutId = (0, _requestAnimationTimeout.requestAnimationTimeout)(enablePointerEventsAfterDelayCallback, maximumTimeout);
|
|
38
|
+
}
|
|
39
|
+
function onScrollWindow(event /*: Event*/) {
|
|
40
|
+
if (event.currentTarget === window && originalBodyPointerEvents == null && document.body) {
|
|
41
|
+
originalBodyPointerEvents = document.body.style.pointerEvents;
|
|
42
|
+
document.body.style.pointerEvents = 'none';
|
|
43
|
+
}
|
|
44
|
+
enablePointerEventsAfterDelay();
|
|
45
|
+
mountedInstances.forEach(function (instance) {
|
|
46
|
+
if (instance.props.scrollElement === event.currentTarget) {
|
|
47
|
+
instance.__handleWindowScrollEvent();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function registerScrollListener(component /*: WindowScroller*/, element /*: Element*/) {
|
|
52
|
+
if (!mountedInstances.some(function (instance) {
|
|
53
|
+
return instance.props.scrollElement === element;
|
|
54
|
+
})) {
|
|
55
|
+
element.addEventListener('scroll', onScrollWindow);
|
|
56
|
+
}
|
|
57
|
+
mountedInstances.push(component);
|
|
58
|
+
}
|
|
59
|
+
function unregisterScrollListener(component /*: WindowScroller*/, element /*: Element*/) {
|
|
60
|
+
mountedInstances = mountedInstances.filter(function (instance) {
|
|
61
|
+
return instance !== component;
|
|
62
|
+
});
|
|
63
|
+
if (!mountedInstances.length) {
|
|
64
|
+
element.removeEventListener('scroll', onScrollWindow);
|
|
65
|
+
if (disablePointerEventsTimeoutId) {
|
|
66
|
+
(0, _requestAnimationTimeout.cancelAnimationTimeout)(disablePointerEventsTimeoutId);
|
|
67
|
+
enablePointerEventsIfDisabled();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "ArrowKeyStepper", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _ArrowKeyStepper.ArrowKeyStepper;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "AutoSizer", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _AutoSizer.AutoSizer;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "CellMeasurer", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _CellMeasurer.CellMeasurer;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "CellMeasurerCache", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _CellMeasurer.CellMeasurerCache;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "Collection", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _Collection.Collection;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "Column", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _Table.Column;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "ColumnSizer", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _ColumnSizer.ColumnSizer;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "Grid", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function get() {
|
|
51
|
+
return _Grid.Grid;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "InfiniteLoader", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function get() {
|
|
57
|
+
return _InfiniteLoader.InfiniteLoader;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "List", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function get() {
|
|
63
|
+
return _List.List;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "Masonry", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function get() {
|
|
69
|
+
return _Masonry.Masonry;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "MultiGrid", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function get() {
|
|
75
|
+
return _MultiGrid.MultiGrid;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "ScrollSync", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function get() {
|
|
81
|
+
return _ScrollSync.ScrollSync;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "SortDirection", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function get() {
|
|
87
|
+
return _Table.SortDirection;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "SortIndicator", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function get() {
|
|
93
|
+
return _Table.SortIndicator;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "Table", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function get() {
|
|
99
|
+
return _Table.Table;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(exports, "WindowScroller", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function get() {
|
|
105
|
+
return _WindowScroller.WindowScroller;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
Object.defineProperty(exports, "accessibilityOverscanIndicesGetter", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function get() {
|
|
111
|
+
return _Grid.accessibilityOverscanIndicesGetter;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(exports, "createMasonryCellPositioner", {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function get() {
|
|
117
|
+
return _Masonry.createCellPositioner;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(exports, "createTableMultiSort", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function get() {
|
|
123
|
+
return _Table.createMultiSort;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(exports, "defaultCellRangeRenderer", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function get() {
|
|
129
|
+
return _Grid.defaultCellRangeRenderer;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
Object.defineProperty(exports, "defaultOverscanIndicesGetter", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function get() {
|
|
135
|
+
return _Grid.defaultOverscanIndicesGetter;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
Object.defineProperty(exports, "defaultTableCellDataGetter", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function get() {
|
|
141
|
+
return _Table.defaultCellDataGetter;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(exports, "defaultTableCellRenderer", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
get: function get() {
|
|
147
|
+
return _Table.defaultCellRenderer;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(exports, "defaultTableHeaderRenderer", {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function get() {
|
|
153
|
+
return _Table.defaultHeaderRenderer;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
Object.defineProperty(exports, "defaultTableHeaderRowRenderer", {
|
|
157
|
+
enumerable: true,
|
|
158
|
+
get: function get() {
|
|
159
|
+
return _Table.defaultHeaderRowRenderer;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
Object.defineProperty(exports, "defaultTableRowRenderer", {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
get: function get() {
|
|
165
|
+
return _Table.defaultRowRenderer;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
var _ArrowKeyStepper = require("./ArrowKeyStepper");
|
|
169
|
+
var _AutoSizer = require("./AutoSizer");
|
|
170
|
+
var _CellMeasurer = require("./CellMeasurer");
|
|
171
|
+
var _Collection = require("./Collection");
|
|
172
|
+
var _ColumnSizer = require("./ColumnSizer");
|
|
173
|
+
var _Grid = require("./Grid");
|
|
174
|
+
var _InfiniteLoader = require("./InfiniteLoader");
|
|
175
|
+
var _List = require("./List");
|
|
176
|
+
var _Masonry = require("./Masonry");
|
|
177
|
+
var _MultiGrid = require("./MultiGrid");
|
|
178
|
+
var _ScrollSync = require("./ScrollSync");
|
|
179
|
+
var _Table = require("./Table");
|
|
180
|
+
var _WindowScroller = require("./WindowScroller");
|