@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,204 @@
|
|
|
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"] = 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 _reactLifecyclesCompat = require("react-lifecycles-compat");
|
|
17
|
+
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); }
|
|
18
|
+
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; }
|
|
19
|
+
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; }
|
|
20
|
+
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; }
|
|
21
|
+
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)); }
|
|
22
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*:: import type {RenderedSection} from '../Grid';*/ /*:: import type {ScrollIndices} from './types';*/
|
|
23
|
+
/**
|
|
24
|
+
* This HOC decorates a virtualized component and responds to arrow-key events by scrolling one row or column at a time.
|
|
25
|
+
*/
|
|
26
|
+
/*:: type ChildrenParams = {
|
|
27
|
+
onSectionRendered: (params: RenderedSection) => void,
|
|
28
|
+
scrollToColumn: number,
|
|
29
|
+
scrollToRow: number,
|
|
30
|
+
};*/
|
|
31
|
+
/*:: type Props = {
|
|
32
|
+
children: (params: ChildrenParams) => React.Element<*>,
|
|
33
|
+
className?: string,
|
|
34
|
+
columnCount: number,
|
|
35
|
+
disabled: boolean,
|
|
36
|
+
isControlled: boolean,
|
|
37
|
+
mode: 'cells' | 'edges',
|
|
38
|
+
onScrollToChange?: (params: ScrollIndices) => void,
|
|
39
|
+
rowCount: number,
|
|
40
|
+
scrollToColumn: number,
|
|
41
|
+
scrollToRow: number,
|
|
42
|
+
};*/
|
|
43
|
+
/*:: type State = ScrollIndices & {
|
|
44
|
+
instanceProps: {
|
|
45
|
+
prevScrollToColumn: number,
|
|
46
|
+
prevScrollToRow: number,
|
|
47
|
+
},
|
|
48
|
+
};*/
|
|
49
|
+
var ArrowKeyStepper = /*#__PURE__*/function (_React$PureComponent) {
|
|
50
|
+
function ArrowKeyStepper() {
|
|
51
|
+
var _this;
|
|
52
|
+
(0, _classCallCheck2["default"])(this, ArrowKeyStepper);
|
|
53
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
54
|
+
args[_key] = arguments[_key];
|
|
55
|
+
}
|
|
56
|
+
_this = _callSuper(this, ArrowKeyStepper, [].concat(args));
|
|
57
|
+
(0, _defineProperty2["default"])(_this, "state", {
|
|
58
|
+
scrollToColumn: 0,
|
|
59
|
+
scrollToRow: 0,
|
|
60
|
+
instanceProps: {
|
|
61
|
+
prevScrollToColumn: 0,
|
|
62
|
+
prevScrollToRow: 0
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
(0, _defineProperty2["default"])(_this, "_columnStartIndex", 0);
|
|
66
|
+
(0, _defineProperty2["default"])(_this, "_columnStopIndex", 0);
|
|
67
|
+
(0, _defineProperty2["default"])(_this, "_rowStartIndex", 0);
|
|
68
|
+
(0, _defineProperty2["default"])(_this, "_rowStopIndex", 0);
|
|
69
|
+
(0, _defineProperty2["default"])(_this, "_onKeyDown", function (event /*: KeyboardEvent*/) {
|
|
70
|
+
var _this$props = _this.props,
|
|
71
|
+
columnCount = _this$props.columnCount,
|
|
72
|
+
disabled = _this$props.disabled,
|
|
73
|
+
mode = _this$props.mode,
|
|
74
|
+
rowCount = _this$props.rowCount;
|
|
75
|
+
if (disabled) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
var _this$_getScrollState = _this._getScrollState(),
|
|
79
|
+
scrollToColumnPrevious = _this$_getScrollState.scrollToColumn,
|
|
80
|
+
scrollToRowPrevious = _this$_getScrollState.scrollToRow;
|
|
81
|
+
var _this$_getScrollState2 = _this._getScrollState(),
|
|
82
|
+
scrollToColumn = _this$_getScrollState2.scrollToColumn,
|
|
83
|
+
scrollToRow = _this$_getScrollState2.scrollToRow;
|
|
84
|
+
|
|
85
|
+
// The above cases all prevent default event event behavior.
|
|
86
|
+
// This is to keep the grid from scrolling after the snap-to update.
|
|
87
|
+
switch (event.key) {
|
|
88
|
+
case 'ArrowDown':
|
|
89
|
+
scrollToRow = mode === 'cells' ? Math.min(scrollToRow + 1, rowCount - 1) : Math.min(_this._rowStopIndex + 1, rowCount - 1);
|
|
90
|
+
break;
|
|
91
|
+
case 'ArrowLeft':
|
|
92
|
+
scrollToColumn = mode === 'cells' ? Math.max(scrollToColumn - 1, 0) : Math.max(_this._columnStartIndex - 1, 0);
|
|
93
|
+
break;
|
|
94
|
+
case 'ArrowRight':
|
|
95
|
+
scrollToColumn = mode === 'cells' ? Math.min(scrollToColumn + 1, columnCount - 1) : Math.min(_this._columnStopIndex + 1, columnCount - 1);
|
|
96
|
+
break;
|
|
97
|
+
case 'ArrowUp':
|
|
98
|
+
scrollToRow = mode === 'cells' ? Math.max(scrollToRow - 1, 0) : Math.max(_this._rowStartIndex - 1, 0);
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
if (scrollToColumn !== scrollToColumnPrevious || scrollToRow !== scrollToRowPrevious) {
|
|
102
|
+
event.preventDefault();
|
|
103
|
+
_this._updateScrollState({
|
|
104
|
+
scrollToColumn: scrollToColumn,
|
|
105
|
+
scrollToRow: scrollToRow
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
(0, _defineProperty2["default"])(_this, "_onSectionRendered", function (_ref /*:: */) {
|
|
110
|
+
var columnStartIndex = _ref /*:: */.columnStartIndex,
|
|
111
|
+
columnStopIndex = _ref /*:: */.columnStopIndex,
|
|
112
|
+
rowStartIndex = _ref /*:: */.rowStartIndex,
|
|
113
|
+
rowStopIndex = _ref /*:: */.rowStopIndex;
|
|
114
|
+
_this._columnStartIndex = columnStartIndex;
|
|
115
|
+
_this._columnStopIndex = columnStopIndex;
|
|
116
|
+
_this._rowStartIndex = rowStartIndex;
|
|
117
|
+
_this._rowStopIndex = rowStopIndex;
|
|
118
|
+
});
|
|
119
|
+
return _this;
|
|
120
|
+
}
|
|
121
|
+
(0, _inherits2["default"])(ArrowKeyStepper, _React$PureComponent);
|
|
122
|
+
return (0, _createClass2["default"])(ArrowKeyStepper, [{
|
|
123
|
+
key: "setScrollIndexes",
|
|
124
|
+
value: function setScrollIndexes(_ref2 /*:: */) {
|
|
125
|
+
var scrollToColumn = _ref2 /*:: */.scrollToColumn,
|
|
126
|
+
scrollToRow = _ref2 /*:: */.scrollToRow;
|
|
127
|
+
this.setState({
|
|
128
|
+
scrollToRow: scrollToRow,
|
|
129
|
+
scrollToColumn: scrollToColumn
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}, {
|
|
133
|
+
key: "render",
|
|
134
|
+
value: function render() {
|
|
135
|
+
var _this$props2 = this.props,
|
|
136
|
+
className = _this$props2.className,
|
|
137
|
+
children = _this$props2.children;
|
|
138
|
+
var _this$_getScrollState3 = this._getScrollState(),
|
|
139
|
+
scrollToColumn = _this$_getScrollState3.scrollToColumn,
|
|
140
|
+
scrollToRow = _this$_getScrollState3.scrollToRow;
|
|
141
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
142
|
+
className: className,
|
|
143
|
+
onKeyDown: this._onKeyDown
|
|
144
|
+
}, children({
|
|
145
|
+
onSectionRendered: this._onSectionRendered,
|
|
146
|
+
scrollToColumn: scrollToColumn,
|
|
147
|
+
scrollToRow: scrollToRow
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
150
|
+
}, {
|
|
151
|
+
key: "_getScrollState",
|
|
152
|
+
value: function _getScrollState() {
|
|
153
|
+
return this.props.isControlled ? this.props : this.state;
|
|
154
|
+
}
|
|
155
|
+
}, {
|
|
156
|
+
key: "_updateScrollState",
|
|
157
|
+
value: function _updateScrollState(_ref3 /*:: */) {
|
|
158
|
+
var scrollToColumn = _ref3 /*:: */.scrollToColumn,
|
|
159
|
+
scrollToRow = _ref3 /*:: */.scrollToRow;
|
|
160
|
+
var _this$props3 = this.props,
|
|
161
|
+
isControlled = _this$props3.isControlled,
|
|
162
|
+
onScrollToChange = _this$props3.onScrollToChange;
|
|
163
|
+
if (typeof onScrollToChange === 'function') {
|
|
164
|
+
onScrollToChange({
|
|
165
|
+
scrollToColumn: scrollToColumn,
|
|
166
|
+
scrollToRow: scrollToRow
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
if (!isControlled) {
|
|
170
|
+
this.setState({
|
|
171
|
+
scrollToColumn: scrollToColumn,
|
|
172
|
+
scrollToRow: scrollToRow
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}], [{
|
|
177
|
+
key: "getDerivedStateFromProps",
|
|
178
|
+
value: function getDerivedStateFromProps(nextProps /*: Props*/, prevState /*: State*/) /*: $Shape<State>*/{
|
|
179
|
+
if (nextProps.isControlled) {
|
|
180
|
+
return {};
|
|
181
|
+
}
|
|
182
|
+
if (nextProps.scrollToColumn !== prevState.instanceProps.prevScrollToColumn || nextProps.scrollToRow !== prevState.instanceProps.prevScrollToRow) {
|
|
183
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
184
|
+
scrollToColumn: nextProps.scrollToColumn,
|
|
185
|
+
scrollToRow: nextProps.scrollToRow,
|
|
186
|
+
instanceProps: {
|
|
187
|
+
prevScrollToColumn: nextProps.scrollToColumn,
|
|
188
|
+
prevScrollToRow: nextProps.scrollToRow
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
return {};
|
|
193
|
+
}
|
|
194
|
+
}]);
|
|
195
|
+
}(React.PureComponent);
|
|
196
|
+
(0, _defineProperty2["default"])(ArrowKeyStepper, "defaultProps", {
|
|
197
|
+
disabled: false,
|
|
198
|
+
isControlled: false,
|
|
199
|
+
mode: 'edges',
|
|
200
|
+
scrollToColumn: 0,
|
|
201
|
+
scrollToRow: 0
|
|
202
|
+
});
|
|
203
|
+
(0, _reactLifecyclesCompat.polyfill)(ArrowKeyStepper);
|
|
204
|
+
var _default = exports["default"] = ArrowKeyStepper;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "ArrowKeyStepper", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _ArrowKeyStepper["default"];
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "default", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _ArrowKeyStepper["default"];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _ArrowKeyStepper = _interopRequireDefault(require("./ArrowKeyStepper"));
|
|
@@ -0,0 +1,104 @@
|
|
|
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"] = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _immutable = require("immutable");
|
|
17
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
|
+
var React = _interopRequireWildcard(require("react"));
|
|
19
|
+
var _ContentBox = require("../demo/ContentBox");
|
|
20
|
+
var _AutoSizer = _interopRequireDefault(require("./AutoSizer"));
|
|
21
|
+
var _List = _interopRequireDefault(require("../List"));
|
|
22
|
+
var _AutoSizerExample2 = _interopRequireDefault(require("./AutoSizer.example.css"));
|
|
23
|
+
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); }
|
|
24
|
+
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; }
|
|
25
|
+
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)); }
|
|
26
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*:: import { type RowRendererParams } from '../List';*/
|
|
27
|
+
/*:: type State = {
|
|
28
|
+
hideDescription: boolean,
|
|
29
|
+
};*/
|
|
30
|
+
var AutoSizerExample = exports["default"] = /*#__PURE__*/function (_React$PureComponent) {
|
|
31
|
+
function AutoSizerExample() {
|
|
32
|
+
var _this;
|
|
33
|
+
(0, _classCallCheck2["default"])(this, AutoSizerExample);
|
|
34
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
35
|
+
args[_key] = arguments[_key];
|
|
36
|
+
}
|
|
37
|
+
_this = _callSuper(this, AutoSizerExample, [].concat(args));
|
|
38
|
+
(0, _defineProperty2["default"])(_this, "state", {
|
|
39
|
+
hideDescription: false
|
|
40
|
+
});
|
|
41
|
+
(0, _defineProperty2["default"])(_this, "_rowRenderer", function (_ref /*:: */) {
|
|
42
|
+
var index = _ref /*:: */.index,
|
|
43
|
+
key = _ref /*:: */.key,
|
|
44
|
+
style = _ref /*:: */.style;
|
|
45
|
+
var list = _this.context.list;
|
|
46
|
+
var row = list.get(index);
|
|
47
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
48
|
+
key: key,
|
|
49
|
+
className: _AutoSizerExample2["default"].row,
|
|
50
|
+
style: style
|
|
51
|
+
}, row.name);
|
|
52
|
+
});
|
|
53
|
+
return _this;
|
|
54
|
+
}
|
|
55
|
+
(0, _inherits2["default"])(AutoSizerExample, _React$PureComponent);
|
|
56
|
+
return (0, _createClass2["default"])(AutoSizerExample, [{
|
|
57
|
+
key: "render",
|
|
58
|
+
value: function render() {
|
|
59
|
+
var _this2 = this;
|
|
60
|
+
var list = this.context.list;
|
|
61
|
+
var hideDescription = this.state.hideDescription;
|
|
62
|
+
return /*#__PURE__*/React.createElement(_ContentBox.ContentBox, (0, _extends2["default"])({}, this.props, {
|
|
63
|
+
style: {
|
|
64
|
+
height: 400
|
|
65
|
+
}
|
|
66
|
+
}), /*#__PURE__*/React.createElement(_ContentBox.ContentBoxHeader, {
|
|
67
|
+
text: "AutoSizer",
|
|
68
|
+
sourceLink: "https://github.com/bvaughn/react-virtualized/blob/master/source/AutoSizer/AutoSizer.example.js",
|
|
69
|
+
docsLink: "https://github.com/bvaughn/react-virtualized/blob/master/docs/AutoSizer.md"
|
|
70
|
+
}), /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, /*#__PURE__*/React.createElement("label", {
|
|
71
|
+
className: _AutoSizerExample2["default"].checkboxLabel
|
|
72
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
73
|
+
"aria-label": "Hide description (to show resize)?",
|
|
74
|
+
className: _AutoSizerExample2["default"].checkbox,
|
|
75
|
+
type: "checkbox",
|
|
76
|
+
checked: hideDescription,
|
|
77
|
+
onChange: function onChange(event) {
|
|
78
|
+
return _this2.setState({
|
|
79
|
+
hideDescription: event.target.checked
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}), "Hide description (to show resize)?")), !hideDescription && /*#__PURE__*/React.createElement(_ContentBox.ContentBoxParagraph, null, "This component decorates ", /*#__PURE__*/React.createElement("code", null, "List"), ", ", /*#__PURE__*/React.createElement("code", null, "Table"), ", or any other component and automatically manages its width and height. It uses Sebastian Decima's", ' ', /*#__PURE__*/React.createElement("a", {
|
|
83
|
+
href: "https://github.com/sdecima/javascript-detect-element-resize",
|
|
84
|
+
target: "_blank"
|
|
85
|
+
}, "element resize event"), ' ', "to determine the appropriate size. In this example", ' ', /*#__PURE__*/React.createElement("code", null, "AutoSizer"), " grows to fill the remaining width and height of this flex column."), /*#__PURE__*/React.createElement("div", {
|
|
86
|
+
className: _AutoSizerExample2["default"].AutoSizerWrapper
|
|
87
|
+
}, /*#__PURE__*/React.createElement(_AutoSizer["default"], null, function (_ref2) {
|
|
88
|
+
var width = _ref2.width,
|
|
89
|
+
height = _ref2.height;
|
|
90
|
+
return /*#__PURE__*/React.createElement(_List["default"], {
|
|
91
|
+
className: _AutoSizerExample2["default"].List,
|
|
92
|
+
height: height,
|
|
93
|
+
rowCount: list.size,
|
|
94
|
+
rowHeight: 30,
|
|
95
|
+
rowRenderer: _this2._rowRenderer,
|
|
96
|
+
width: width
|
|
97
|
+
});
|
|
98
|
+
})));
|
|
99
|
+
}
|
|
100
|
+
}]);
|
|
101
|
+
}(React.PureComponent);
|
|
102
|
+
(0, _defineProperty2["default"])(AutoSizerExample, "contextTypes", {
|
|
103
|
+
list: _propTypes["default"].instanceOf(_immutable.List).isRequired
|
|
104
|
+
});
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactDom = require("react-dom");
|
|
9
|
+
var _TestUtils = require("../TestUtils");
|
|
10
|
+
var _AutoSizer = _interopRequireDefault(require("./AutoSizer"));
|
|
11
|
+
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); }
|
|
12
|
+
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; }
|
|
13
|
+
function DefaultChildComponent(_ref) {
|
|
14
|
+
var height = _ref.height,
|
|
15
|
+
width = _ref.width,
|
|
16
|
+
foo = _ref.foo,
|
|
17
|
+
bar = _ref.bar;
|
|
18
|
+
return /*#__PURE__*/React.createElement("div", null, "width:".concat(width, ", height:").concat(height, ", foo:").concat(foo, ", bar:").concat(bar));
|
|
19
|
+
}
|
|
20
|
+
describe('AutoSizer', function () {
|
|
21
|
+
function getMarkup() {
|
|
22
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
23
|
+
_ref2$bar = _ref2.bar,
|
|
24
|
+
bar = _ref2$bar === void 0 ? 123 : _ref2$bar,
|
|
25
|
+
_ref2$ChildComponent = _ref2.ChildComponent,
|
|
26
|
+
ChildComponent = _ref2$ChildComponent === void 0 ? DefaultChildComponent : _ref2$ChildComponent,
|
|
27
|
+
_ref2$className = _ref2.className,
|
|
28
|
+
className = _ref2$className === void 0 ? undefined : _ref2$className,
|
|
29
|
+
_ref2$defaultHeight = _ref2.defaultHeight,
|
|
30
|
+
defaultHeight = _ref2$defaultHeight === void 0 ? undefined : _ref2$defaultHeight,
|
|
31
|
+
_ref2$defaultWidth = _ref2.defaultWidth,
|
|
32
|
+
defaultWidth = _ref2$defaultWidth === void 0 ? undefined : _ref2$defaultWidth,
|
|
33
|
+
_ref2$disableHeight = _ref2.disableHeight,
|
|
34
|
+
disableHeight = _ref2$disableHeight === void 0 ? false : _ref2$disableHeight,
|
|
35
|
+
_ref2$disableWidth = _ref2.disableWidth,
|
|
36
|
+
disableWidth = _ref2$disableWidth === void 0 ? false : _ref2$disableWidth,
|
|
37
|
+
_ref2$foo = _ref2.foo,
|
|
38
|
+
foo = _ref2$foo === void 0 ? 456 : _ref2$foo,
|
|
39
|
+
_ref2$height = _ref2.height,
|
|
40
|
+
height = _ref2$height === void 0 ? 100 : _ref2$height,
|
|
41
|
+
onResize = _ref2.onResize,
|
|
42
|
+
_ref2$paddingBottom = _ref2.paddingBottom,
|
|
43
|
+
paddingBottom = _ref2$paddingBottom === void 0 ? 0 : _ref2$paddingBottom,
|
|
44
|
+
_ref2$paddingLeft = _ref2.paddingLeft,
|
|
45
|
+
paddingLeft = _ref2$paddingLeft === void 0 ? 0 : _ref2$paddingLeft,
|
|
46
|
+
_ref2$paddingRight = _ref2.paddingRight,
|
|
47
|
+
paddingRight = _ref2$paddingRight === void 0 ? 0 : _ref2$paddingRight,
|
|
48
|
+
_ref2$paddingTop = _ref2.paddingTop,
|
|
49
|
+
paddingTop = _ref2$paddingTop === void 0 ? 0 : _ref2$paddingTop,
|
|
50
|
+
_ref2$style = _ref2.style,
|
|
51
|
+
style = _ref2$style === void 0 ? undefined : _ref2$style,
|
|
52
|
+
_ref2$width = _ref2.width,
|
|
53
|
+
width = _ref2$width === void 0 ? 200 : _ref2$width;
|
|
54
|
+
var wrapperStyle = {
|
|
55
|
+
boxSizing: 'border-box',
|
|
56
|
+
height: height,
|
|
57
|
+
paddingBottom: paddingBottom,
|
|
58
|
+
paddingLeft: paddingLeft,
|
|
59
|
+
paddingRight: paddingRight,
|
|
60
|
+
paddingTop: paddingTop,
|
|
61
|
+
width: width
|
|
62
|
+
};
|
|
63
|
+
mockOffsetSize(width, height);
|
|
64
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
65
|
+
style: wrapperStyle
|
|
66
|
+
}, /*#__PURE__*/React.createElement(_AutoSizer["default"], {
|
|
67
|
+
className: className,
|
|
68
|
+
defaultHeight: defaultHeight,
|
|
69
|
+
defaultWidth: defaultWidth,
|
|
70
|
+
disableHeight: disableHeight,
|
|
71
|
+
disableWidth: disableWidth,
|
|
72
|
+
onResize: onResize,
|
|
73
|
+
style: style
|
|
74
|
+
}, function (_ref3) {
|
|
75
|
+
var height = _ref3.height,
|
|
76
|
+
width = _ref3.width;
|
|
77
|
+
return /*#__PURE__*/React.createElement(ChildComponent, {
|
|
78
|
+
width: disableWidth ? undefined : width,
|
|
79
|
+
height: disableHeight ? undefined : height,
|
|
80
|
+
bar: bar,
|
|
81
|
+
foo: foo
|
|
82
|
+
});
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// AutoSizer uses offsetWidth and offsetHeight.
|
|
87
|
+
// Jest runs in JSDom which doesn't support measurements APIs.
|
|
88
|
+
function mockOffsetSize(width, height) {
|
|
89
|
+
Object.defineProperty(HTMLElement.prototype, 'offsetHeight', {
|
|
90
|
+
configurable: true,
|
|
91
|
+
value: height
|
|
92
|
+
});
|
|
93
|
+
Object.defineProperty(HTMLElement.prototype, 'offsetWidth', {
|
|
94
|
+
configurable: true,
|
|
95
|
+
value: width
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
it('should relay properties to ChildComponent or React child', function () {
|
|
99
|
+
var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup()));
|
|
100
|
+
expect(rendered.textContent).toContain('foo:456');
|
|
101
|
+
expect(rendered.textContent).toContain('bar:123');
|
|
102
|
+
});
|
|
103
|
+
it('should set the correct initial width and height of ChildComponent or React child', function () {
|
|
104
|
+
var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup()));
|
|
105
|
+
expect(rendered.textContent).toContain('height:100');
|
|
106
|
+
expect(rendered.textContent).toContain('width:200');
|
|
107
|
+
});
|
|
108
|
+
it('should account for padding when calculating the available width and height', function () {
|
|
109
|
+
var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
|
|
110
|
+
paddingBottom: 10,
|
|
111
|
+
paddingLeft: 4,
|
|
112
|
+
paddingRight: 4,
|
|
113
|
+
paddingTop: 15
|
|
114
|
+
})));
|
|
115
|
+
expect(rendered.textContent).toContain('height:75');
|
|
116
|
+
expect(rendered.textContent).toContain('width:192');
|
|
117
|
+
});
|
|
118
|
+
it('should not update :width if :disableWidth is true', function () {
|
|
119
|
+
var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
|
|
120
|
+
disableWidth: true
|
|
121
|
+
})));
|
|
122
|
+
expect(rendered.textContent).toContain('height:100');
|
|
123
|
+
expect(rendered.textContent).toContain('width:undefined');
|
|
124
|
+
});
|
|
125
|
+
it('should not update :height if :disableHeight is true', function () {
|
|
126
|
+
var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
|
|
127
|
+
disableHeight: true
|
|
128
|
+
})));
|
|
129
|
+
expect(rendered.textContent).toContain('height:undefined');
|
|
130
|
+
expect(rendered.textContent).toContain('width:200');
|
|
131
|
+
});
|
|
132
|
+
function simulateResize(_x) {
|
|
133
|
+
return _simulateResize.apply(this, arguments);
|
|
134
|
+
}
|
|
135
|
+
function _simulateResize() {
|
|
136
|
+
_simulateResize = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref4) {
|
|
137
|
+
var element, height, width, trigger;
|
|
138
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
139
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
140
|
+
case 0:
|
|
141
|
+
element = _ref4.element, height = _ref4.height, width = _ref4.width;
|
|
142
|
+
mockOffsetSize(width, height);
|
|
143
|
+
|
|
144
|
+
// Trigger detectElementResize library by faking a scroll event
|
|
145
|
+
// TestUtils Simulate doesn't work here in JSDom so we manually dispatch
|
|
146
|
+
trigger = element.querySelector('.contract-trigger');
|
|
147
|
+
trigger.dispatchEvent(new Event('scroll'));
|
|
148
|
+
|
|
149
|
+
// Allow requestAnimationFrame to be invoked before continuing
|
|
150
|
+
_context5.next = 6;
|
|
151
|
+
return new Promise(function (resolve) {
|
|
152
|
+
return setTimeout(resolve, 100);
|
|
153
|
+
});
|
|
154
|
+
case 6:
|
|
155
|
+
case "end":
|
|
156
|
+
return _context5.stop();
|
|
157
|
+
}
|
|
158
|
+
}, _callee5);
|
|
159
|
+
}));
|
|
160
|
+
return _simulateResize.apply(this, arguments);
|
|
161
|
+
}
|
|
162
|
+
it('should update :height after a resize event', /*#__PURE__*/function () {
|
|
163
|
+
var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(done) {
|
|
164
|
+
var rendered;
|
|
165
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
166
|
+
while (1) switch (_context.prev = _context.next) {
|
|
167
|
+
case 0:
|
|
168
|
+
rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
|
|
169
|
+
height: 100,
|
|
170
|
+
width: 200
|
|
171
|
+
})));
|
|
172
|
+
expect(rendered.textContent).toContain('height:100');
|
|
173
|
+
expect(rendered.textContent).toContain('width:200');
|
|
174
|
+
_context.next = 5;
|
|
175
|
+
return simulateResize({
|
|
176
|
+
element: rendered,
|
|
177
|
+
height: 400,
|
|
178
|
+
width: 300
|
|
179
|
+
});
|
|
180
|
+
case 5:
|
|
181
|
+
expect(rendered.textContent).toContain('height:400');
|
|
182
|
+
expect(rendered.textContent).toContain('width:300');
|
|
183
|
+
done();
|
|
184
|
+
case 8:
|
|
185
|
+
case "end":
|
|
186
|
+
return _context.stop();
|
|
187
|
+
}
|
|
188
|
+
}, _callee);
|
|
189
|
+
}));
|
|
190
|
+
return function (_x2) {
|
|
191
|
+
return _ref5.apply(this, arguments);
|
|
192
|
+
};
|
|
193
|
+
}());
|
|
194
|
+
describe('onResize and (re)render', function () {
|
|
195
|
+
it('should trigger when size changes', /*#__PURE__*/function () {
|
|
196
|
+
var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(done) {
|
|
197
|
+
var onResize, ChildComponent, rendered;
|
|
198
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
199
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
200
|
+
case 0:
|
|
201
|
+
onResize = jest.fn();
|
|
202
|
+
ChildComponent = jest.fn().mockImplementation(DefaultChildComponent);
|
|
203
|
+
rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
|
|
204
|
+
ChildComponent: ChildComponent,
|
|
205
|
+
height: 100,
|
|
206
|
+
onResize: onResize,
|
|
207
|
+
width: 200
|
|
208
|
+
})));
|
|
209
|
+
ChildComponent.mockClear(); // TODO Improve initial check in version 10; see AutoSizer render()
|
|
210
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
211
|
+
_context2.next = 7;
|
|
212
|
+
return simulateResize({
|
|
213
|
+
element: rendered,
|
|
214
|
+
height: 400,
|
|
215
|
+
width: 300
|
|
216
|
+
});
|
|
217
|
+
case 7:
|
|
218
|
+
expect(ChildComponent).toHaveBeenCalledTimes(1);
|
|
219
|
+
expect(onResize).toHaveBeenCalledTimes(2);
|
|
220
|
+
done();
|
|
221
|
+
case 10:
|
|
222
|
+
case "end":
|
|
223
|
+
return _context2.stop();
|
|
224
|
+
}
|
|
225
|
+
}, _callee2);
|
|
226
|
+
}));
|
|
227
|
+
return function (_x3) {
|
|
228
|
+
return _ref6.apply(this, arguments);
|
|
229
|
+
};
|
|
230
|
+
}());
|
|
231
|
+
it('should only trigger when height changes for disableWidth == true', /*#__PURE__*/function () {
|
|
232
|
+
var _ref7 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(done) {
|
|
233
|
+
var onResize, ChildComponent, rendered;
|
|
234
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
235
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
236
|
+
case 0:
|
|
237
|
+
onResize = jest.fn();
|
|
238
|
+
ChildComponent = jest.fn().mockImplementation(DefaultChildComponent);
|
|
239
|
+
rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
|
|
240
|
+
ChildComponent: ChildComponent,
|
|
241
|
+
disableWidth: true,
|
|
242
|
+
height: 100,
|
|
243
|
+
onResize: onResize,
|
|
244
|
+
width: 200
|
|
245
|
+
})));
|
|
246
|
+
ChildComponent.mockClear(); // TODO Improve initial check in version 10; see AutoSizer render()
|
|
247
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
248
|
+
_context3.next = 7;
|
|
249
|
+
return simulateResize({
|
|
250
|
+
element: rendered,
|
|
251
|
+
height: 100,
|
|
252
|
+
width: 300
|
|
253
|
+
});
|
|
254
|
+
case 7:
|
|
255
|
+
expect(ChildComponent).toHaveBeenCalledTimes(0);
|
|
256
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
257
|
+
_context3.next = 11;
|
|
258
|
+
return simulateResize({
|
|
259
|
+
element: rendered,
|
|
260
|
+
height: 200,
|
|
261
|
+
width: 300
|
|
262
|
+
});
|
|
263
|
+
case 11:
|
|
264
|
+
expect(ChildComponent).toHaveBeenCalledTimes(1);
|
|
265
|
+
expect(onResize).toHaveBeenCalledTimes(2);
|
|
266
|
+
done();
|
|
267
|
+
case 14:
|
|
268
|
+
case "end":
|
|
269
|
+
return _context3.stop();
|
|
270
|
+
}
|
|
271
|
+
}, _callee3);
|
|
272
|
+
}));
|
|
273
|
+
return function (_x4) {
|
|
274
|
+
return _ref7.apply(this, arguments);
|
|
275
|
+
};
|
|
276
|
+
}());
|
|
277
|
+
it('should only trigger when width changes for disableHeight == true', /*#__PURE__*/function () {
|
|
278
|
+
var _ref8 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(done) {
|
|
279
|
+
var onResize, ChildComponent, rendered;
|
|
280
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
281
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
282
|
+
case 0:
|
|
283
|
+
onResize = jest.fn();
|
|
284
|
+
ChildComponent = jest.fn().mockImplementation(DefaultChildComponent);
|
|
285
|
+
rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
|
|
286
|
+
ChildComponent: ChildComponent,
|
|
287
|
+
disableHeight: true,
|
|
288
|
+
height: 100,
|
|
289
|
+
onResize: onResize,
|
|
290
|
+
width: 200
|
|
291
|
+
})));
|
|
292
|
+
ChildComponent.mockClear(); // TODO Improve initial check in version 10; see AutoSizer render()
|
|
293
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
294
|
+
_context4.next = 7;
|
|
295
|
+
return simulateResize({
|
|
296
|
+
element: rendered,
|
|
297
|
+
height: 200,
|
|
298
|
+
width: 200
|
|
299
|
+
});
|
|
300
|
+
case 7:
|
|
301
|
+
expect(ChildComponent).toHaveBeenCalledTimes(0);
|
|
302
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
303
|
+
_context4.next = 11;
|
|
304
|
+
return simulateResize({
|
|
305
|
+
element: rendered,
|
|
306
|
+
height: 200,
|
|
307
|
+
width: 300
|
|
308
|
+
});
|
|
309
|
+
case 11:
|
|
310
|
+
expect(ChildComponent).toHaveBeenCalledTimes(1);
|
|
311
|
+
expect(onResize).toHaveBeenCalledTimes(2);
|
|
312
|
+
done();
|
|
313
|
+
case 14:
|
|
314
|
+
case "end":
|
|
315
|
+
return _context4.stop();
|
|
316
|
+
}
|
|
317
|
+
}, _callee4);
|
|
318
|
+
}));
|
|
319
|
+
return function (_x5) {
|
|
320
|
+
return _ref8.apply(this, arguments);
|
|
321
|
+
};
|
|
322
|
+
}());
|
|
323
|
+
});
|
|
324
|
+
describe('className and style', function () {
|
|
325
|
+
it('should use a custom :className if specified', function () {
|
|
326
|
+
var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
|
|
327
|
+
className: 'foo'
|
|
328
|
+
})));
|
|
329
|
+
expect(rendered.firstChild.className).toContain('foo');
|
|
330
|
+
});
|
|
331
|
+
it('should use a custom :style if specified', function () {
|
|
332
|
+
var style = {
|
|
333
|
+
backgroundColor: 'red'
|
|
334
|
+
};
|
|
335
|
+
var rendered = (0, _reactDom.findDOMNode)((0, _TestUtils.render)(getMarkup({
|
|
336
|
+
style: style
|
|
337
|
+
})));
|
|
338
|
+
expect(rendered.firstChild.style.backgroundColor).toEqual('red');
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
});
|