react-virtuoso 2.2.6-beta.1 → 2.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/Grid.d.ts +3 -9
  2. package/dist/List.d.ts +250 -52
  3. package/dist/alignToBottomSystem.d.ts +25 -5
  4. package/dist/components.d.ts +8 -6
  5. package/dist/followOutputSystem.d.ts +25 -5
  6. package/dist/index.js +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.m.js +1 -1
  9. package/dist/index.m.js.map +1 -1
  10. package/dist/initialItemCountSystem.d.ts +25 -5
  11. package/dist/initialScrollTopSystem.d.ts +25 -5
  12. package/dist/initialTopMostItemIndexSystem.d.ts +25 -3
  13. package/dist/interfaces.d.ts +10 -4
  14. package/dist/listStateSystem.d.ts +25 -5
  15. package/dist/listSystem.d.ts +250 -52
  16. package/dist/scrollIntoViewSystem.d.ts +25 -7
  17. package/dist/scrollToIndexSystem.d.ts +0 -1
  18. package/dist/topItemCountSystem.d.ts +25 -5
  19. package/dist/totalListHeightSystem.d.ts +25 -5
  20. package/dist/upwardScrollFixSystem.d.ts +25 -5
  21. package/package.json +1 -1
  22. package/dist/__examples.cc6a8f9f.js +0 -171787
  23. package/dist/__examples.cc6a8f9f.js.map +0 -1
  24. package/dist/__examples.html +0 -27
  25. package/dist/__examples.js +0 -392
  26. package/dist/__examples.js.map +0 -1
  27. package/dist/align-to-bottom.7fcd2087.js +0 -401
  28. package/dist/align-to-bottom.7fcd2087.js.map +0 -1
  29. package/dist/auto-prepend-items.bd7e9b90.js +0 -468
  30. package/dist/auto-prepend-items.bd7e9b90.js.map +0 -1
  31. package/dist/benchmark.66d31485.js +0 -366
  32. package/dist/benchmark.66d31485.js.map +0 -1
  33. package/dist/chat.d4f93b8b.js +0 -570
  34. package/dist/chat.d4f93b8b.js.map +0 -1
  35. package/dist/custom-components.5aeaa7ef.js +0 -407
  36. package/dist/custom-components.5aeaa7ef.js.map +0 -1
  37. package/dist/custom-scroller.b0240d14.js +0 -385
  38. package/dist/custom-scroller.b0240d14.js.map +0 -1
  39. package/dist/data.26707046.js +0 -391
  40. package/dist/data.26707046.js.map +0 -1
  41. package/dist/decrease-items.e2211e50.js +0 -385
  42. package/dist/decrease-items.e2211e50.js.map +0 -1
  43. package/dist/default-item-height.b77ada36.js +0 -360
  44. package/dist/default-item-height.b77ada36.js.map +0 -1
  45. package/dist/empty-placeholder.00607a6e.js +0 -390
  46. package/dist/empty-placeholder.00607a6e.js.map +0 -1
  47. package/dist/end-reached.8531e5b1.js +0 -404
  48. package/dist/end-reached.8531e5b1.js.map +0 -1
  49. package/dist/endless-scrolling.bc4101f0.js +0 -410
  50. package/dist/endless-scrolling.bc4101f0.js.map +0 -1
  51. package/dist/expandable-cards.5439f51b.js +0 -427
  52. package/dist/expandable-cards.5439f51b.js.map +0 -1
  53. package/dist/follow-output.4e36fca8.js +0 -430
  54. package/dist/follow-output.4e36fca8.js.map +0 -1
  55. package/dist/grid-optimize-rendering.b49e36f5.js +0 -452
  56. package/dist/grid-optimize-rendering.b49e36f5.js.map +0 -1
  57. package/dist/grid.d5d77b6a.js +0 -449
  58. package/dist/grid.d5d77b6a.js.map +0 -1
  59. package/dist/grouped-endless-scrolling.24985a0f.js +0 -506
  60. package/dist/grouped-endless-scrolling.24985a0f.js.map +0 -1
  61. package/dist/grouped-load-more.bce8f6e4.js +0 -505
  62. package/dist/grouped-load-more.bce8f6e4.js.map +0 -1
  63. package/dist/grouped-topmost-item.34960f5e.js +0 -366
  64. package/dist/grouped-topmost-item.34960f5e.js.map +0 -1
  65. package/dist/grouped.a2908632.js +0 -365
  66. package/dist/grouped.a2908632.js.map +0 -1
  67. package/dist/header-footer.49733d45.js +0 -376
  68. package/dist/header-footer.49733d45.js.map +0 -1
  69. package/dist/hello.54765c26.js +0 -360
  70. package/dist/hello.54765c26.js.map +0 -1
  71. package/dist/initial-from-zero.22ad1626.js +0 -400
  72. package/dist/initial-from-zero.22ad1626.js.map +0 -1
  73. package/dist/initial-scroll-top.90db1920.js +0 -361
  74. package/dist/initial-scroll-top.90db1920.js.map +0 -1
  75. package/dist/initial-topmost-item-default-height.43a95247.js +0 -362
  76. package/dist/initial-topmost-item-default-height.43a95247.js.map +0 -1
  77. package/dist/initial-topmost-item.61c0e169.js +0 -363
  78. package/dist/initial-topmost-item.61c0e169.js.map +0 -1
  79. package/dist/long-last-item.b56ff89c.js +0 -361
  80. package/dist/long-last-item.b56ff89c.js.map +0 -1
  81. package/dist/prepend-items.f2bda34b.js +0 -393
  82. package/dist/prepend-items.f2bda34b.js.map +0 -1
  83. package/dist/prepend-last-tall-item.168a9e65.js +0 -380
  84. package/dist/prepend-last-tall-item.168a9e65.js.map +0 -1
  85. package/dist/react-beautiful-dnd-window-scroller.0a227511.js +0 -485
  86. package/dist/react-beautiful-dnd-window-scroller.0a227511.js.map +0 -1
  87. package/dist/react-beautiful-dnd.817e9251.js +0 -482
  88. package/dist/react-beautiful-dnd.817e9251.js.map +0 -1
  89. package/dist/rerender.ddd61b7c.js +0 -400
  90. package/dist/rerender.ddd61b7c.js.map +0 -1
  91. package/dist/resize-loop.309b1dac.js +0 -388
  92. package/dist/resize-loop.309b1dac.js.map +0 -1
  93. package/dist/resizing-items.c09b5e1b.js +0 -394
  94. package/dist/resizing-items.c09b5e1b.js.map +0 -1
  95. package/dist/scroll-into-view.39b77fe9.js +0 -408
  96. package/dist/scroll-into-view.39b77fe9.js.map +0 -1
  97. package/dist/scroll-seek-placeholder.69fb85c6.js +0 -384
  98. package/dist/scroll-seek-placeholder.69fb85c6.js.map +0 -1
  99. package/dist/scroll-to-index.e72249cf.js +0 -417
  100. package/dist/scroll-to-index.e72249cf.js.map +0 -1
  101. package/dist/ssr.8f31b042.js +0 -359
  102. package/dist/ssr.8f31b042.js.map +0 -1
  103. package/dist/start-reached.2990ece7.js +0 -424
  104. package/dist/start-reached.2990ece7.js.map +0 -1
  105. package/dist/tall-item-reverse-scrolling.58bcd140.js +0 -363
  106. package/dist/tall-item-reverse-scrolling.58bcd140.js.map +0 -1
  107. package/dist/test-case-446.dce9595c.js +0 -428
  108. package/dist/test-case-446.dce9595c.js.map +0 -1
  109. package/dist/test-case-460.6d75ad1f.js +0 -451
  110. package/dist/test-case-460.6d75ad1f.js.map +0 -1
  111. package/dist/test-case-463.525f34ba.js +0 -375
  112. package/dist/test-case-463.525f34ba.js.map +0 -1
  113. package/dist/toggle-display-grouped.4f4ae058.js +0 -389
  114. package/dist/toggle-display-grouped.4f4ae058.js.map +0 -1
  115. package/dist/top-items.f724bf61.js +0 -358
  116. package/dist/top-items.f724bf61.js.map +0 -1
  117. package/dist/upward-scroll.d49e0815.js +0 -362
  118. package/dist/upward-scroll.d49e0815.js.map +0 -1
  119. package/dist/window-grid.b22094fd.js +0 -439
  120. package/dist/window-grid.b22094fd.js.map +0 -1
  121. package/dist/window-scroller.a979c6d6.js +0 -368
  122. package/dist/window-scroller.a979c6d6.js.map +0 -1
@@ -1,452 +0,0 @@
1
- // modules are defined as an array
2
- // [ module function, map of requires ]
3
- //
4
- // map of requires is short require name -> numeric require
5
- //
6
- // anything defined in a previous bundle is accessed via the
7
- // orig method which is the require for previous bundles
8
- parcelRequire = (function (modules, cache, entry, globalName) {
9
- // Save the require from previous bundle to this closure if any
10
- var previousRequire = typeof parcelRequire === 'function' && parcelRequire;
11
- var nodeRequire = typeof require === 'function' && require;
12
-
13
- function newRequire(name, jumped) {
14
- if (!cache[name]) {
15
- if (!modules[name]) {
16
- // if we cannot find the module within our internal map or
17
- // cache jump to the current global require ie. the last bundle
18
- // that was added to the page.
19
- var currentRequire = typeof parcelRequire === 'function' && parcelRequire;
20
- if (!jumped && currentRequire) {
21
- return currentRequire(name, true);
22
- }
23
-
24
- // If there are other bundles on this page the require from the
25
- // previous one is saved to 'previousRequire'. Repeat this as
26
- // many times as there are bundles until the module is found or
27
- // we exhaust the require chain.
28
- if (previousRequire) {
29
- return previousRequire(name, true);
30
- }
31
-
32
- // Try the node require function if it exists.
33
- if (nodeRequire && typeof name === 'string') {
34
- return nodeRequire(name);
35
- }
36
-
37
- var err = new Error('Cannot find module \'' + name + '\'');
38
- err.code = 'MODULE_NOT_FOUND';
39
- throw err;
40
- }
41
-
42
- localRequire.resolve = resolve;
43
- localRequire.cache = {};
44
-
45
- var module = cache[name] = new newRequire.Module(name);
46
-
47
- modules[name][0].call(module.exports, localRequire, module, module.exports, this);
48
- }
49
-
50
- return cache[name].exports;
51
-
52
- function localRequire(x){
53
- return newRequire(localRequire.resolve(x));
54
- }
55
-
56
- function resolve(x){
57
- return modules[name][1][x] || x;
58
- }
59
- }
60
-
61
- function Module(moduleName) {
62
- this.id = moduleName;
63
- this.bundle = newRequire;
64
- this.exports = {};
65
- }
66
-
67
- newRequire.isParcelRequire = true;
68
- newRequire.Module = Module;
69
- newRequire.modules = modules;
70
- newRequire.cache = cache;
71
- newRequire.parent = previousRequire;
72
- newRequire.register = function (id, exports) {
73
- modules[id] = [function (require, module) {
74
- module.exports = exports;
75
- }, {}];
76
- };
77
-
78
- var error;
79
- for (var i = 0; i < entry.length; i++) {
80
- try {
81
- newRequire(entry[i]);
82
- } catch (e) {
83
- // Save first error but execute all entries
84
- if (!error) {
85
- error = e;
86
- }
87
- }
88
- }
89
-
90
- if (entry.length) {
91
- // Expose entry point to Node, AMD or browser globals
92
- // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
93
- var mainExports = newRequire(entry[entry.length - 1]);
94
-
95
- // CommonJS
96
- if (typeof exports === "object" && typeof module !== "undefined") {
97
- module.exports = mainExports;
98
-
99
- // RequireJS
100
- } else if (typeof define === "function" && define.amd) {
101
- define(function () {
102
- return mainExports;
103
- });
104
-
105
- // <script>
106
- } else if (globalName) {
107
- this[globalName] = mainExports;
108
- }
109
- }
110
-
111
- // Override the current require with this new one
112
- parcelRequire = newRequire;
113
-
114
- if (error) {
115
- // throw error from earlier, _after updating parcelRequire_
116
- throw error;
117
- }
118
-
119
- return newRequire;
120
- })({"grid-optimize-rendering.tsx":[function(require,module,exports) {
121
- "use strict";
122
-
123
- Object.defineProperty(exports, "__esModule", {
124
- value: true
125
- });
126
- exports.default = App;
127
-
128
- var React = _interopRequireWildcard(require("react"));
129
-
130
- var _src = require("../src");
131
-
132
- var _styled = _interopRequireDefault(require("@emotion/styled"));
133
-
134
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
135
-
136
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
137
-
138
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
139
-
140
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
141
-
142
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
143
-
144
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
145
-
146
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
147
-
148
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
149
-
150
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
151
-
152
- function _templateObject3() {
153
- var data = _taggedTemplateLiteral(["\n display: flex;\n flex-wrap: wrap;\n"]);
154
-
155
- _templateObject3 = function _templateObject3() {
156
- return data;
157
- };
158
-
159
- return data;
160
- }
161
-
162
- function _templateObject2() {
163
- var data = _taggedTemplateLiteral(["\n flex: 1;\n text-align: center;\n font-size: 80%;\n padding: 20px;\n box-shadow: 0 5px 6px -6px #777;\n background: white;\n }\n"]);
164
-
165
- _templateObject2 = function _templateObject2() {
166
- return data;
167
- };
168
-
169
- return data;
170
- }
171
-
172
- function _templateObject() {
173
- var data = _taggedTemplateLiteral(["\n box-sizing: border-box;\n padding: 5px;\n width: 25%;\n background: #f5f5f5;\n display: flex;\n flex: none;\n align-content: stretch;\n /*\n @media (max-width: 1024px) {\n width: 33%;\n }\n\n @media (max-width: 768px) {\n width: 50%;\n }\n\n @media (max-width: 480px) {\n width: 100%;\n }\n */\n"]);
174
-
175
- _templateObject = function _templateObject() {
176
- return data;
177
- };
178
-
179
- return data;
180
- }
181
-
182
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
183
-
184
- var ItemContainer = _styled.default.div(_templateObject());
185
-
186
- var ItemWrapper = _styled.default.div(_templateObject2());
187
-
188
- var ListContainer = _styled.default.div(_templateObject3());
189
-
190
- var Item = React.memo(function (_ref) {
191
- var item = _ref.item;
192
- console.log("rendering Item ".concat(item.index));
193
- return React.createElement("div", {
194
- style: {
195
- backgroundColor: item.selected ? 'blue' : 'white'
196
- }
197
- }, "Item ", item.index);
198
- });
199
-
200
- function App() {
201
- var ref = React.createRef();
202
-
203
- var _React$useState = React.useState(function () {
204
- return Array.from({
205
- length: 1000
206
- }, function (_, index) {
207
- return {
208
- index: index,
209
- selected: false
210
- };
211
- });
212
- }),
213
- _React$useState2 = _slicedToArray(_React$useState, 2),
214
- items = _React$useState2[0],
215
- setItems = _React$useState2[1];
216
-
217
- var itemContent = React.useCallback(function (index) {
218
- return React.createElement(ItemWrapper, {
219
- onClick: function onClick() {
220
- setItems(function (items) {
221
- return items.map(function (item, i) {
222
- return i === index ? {
223
- index: i,
224
- selected: !item.selected
225
- } : item;
226
- });
227
- });
228
- }
229
- }, React.createElement(Item, {
230
- item: items[index]
231
- }));
232
- }, [items, setItems]);
233
- return React.createElement(React.Fragment, null, React.createElement(_src.VirtuosoGrid, {
234
- ref: ref,
235
- components: {
236
- Item: ItemContainer,
237
- List: ListContainer
238
- },
239
- totalCount: items.length,
240
- itemContent: itemContent,
241
- style: {
242
- height: 300,
243
- width: 1200
244
- }
245
- }));
246
- }
247
- },{"react":"../node_modules/react/index.js","../src":"../src/index.tsx","@emotion/styled":"../node_modules/@emotion/styled/dist/styled.browser.esm.js"}],"../node_modules/parcel-bundler/src/builtins/hmr-runtime.js":[function(require,module,exports) {
248
- var global = arguments[3];
249
- var OVERLAY_ID = '__parcel__error__overlay__';
250
- var OldModule = module.bundle.Module;
251
-
252
- function Module(moduleName) {
253
- OldModule.call(this, moduleName);
254
- this.hot = {
255
- data: module.bundle.hotData,
256
- _acceptCallbacks: [],
257
- _disposeCallbacks: [],
258
- accept: function (fn) {
259
- this._acceptCallbacks.push(fn || function () {});
260
- },
261
- dispose: function (fn) {
262
- this._disposeCallbacks.push(fn);
263
- }
264
- };
265
- module.bundle.hotData = null;
266
- }
267
-
268
- module.bundle.Module = Module;
269
- var checkedAssets, assetsToAccept;
270
- var parent = module.bundle.parent;
271
-
272
- if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
273
- var hostname = "" || location.hostname;
274
- var protocol = location.protocol === 'https:' ? 'wss' : 'ws';
275
- var ws = new WebSocket(protocol + '://' + hostname + ':' + "60851" + '/');
276
-
277
- ws.onmessage = function (event) {
278
- checkedAssets = {};
279
- assetsToAccept = [];
280
- var data = JSON.parse(event.data);
281
-
282
- if (data.type === 'update') {
283
- var handled = false;
284
- data.assets.forEach(function (asset) {
285
- if (!asset.isNew) {
286
- var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);
287
-
288
- if (didAccept) {
289
- handled = true;
290
- }
291
- }
292
- }); // Enable HMR for CSS by default.
293
-
294
- handled = handled || data.assets.every(function (asset) {
295
- return asset.type === 'css' && asset.generated.js;
296
- });
297
-
298
- if (handled) {
299
- console.clear();
300
- data.assets.forEach(function (asset) {
301
- hmrApply(global.parcelRequire, asset);
302
- });
303
- assetsToAccept.forEach(function (v) {
304
- hmrAcceptRun(v[0], v[1]);
305
- });
306
- } else if (location.reload) {
307
- // `location` global exists in a web worker context but lacks `.reload()` function.
308
- location.reload();
309
- }
310
- }
311
-
312
- if (data.type === 'reload') {
313
- ws.close();
314
-
315
- ws.onclose = function () {
316
- location.reload();
317
- };
318
- }
319
-
320
- if (data.type === 'error-resolved') {
321
- console.log('[parcel] ✨ Error resolved');
322
- removeErrorOverlay();
323
- }
324
-
325
- if (data.type === 'error') {
326
- console.error('[parcel] 🚨 ' + data.error.message + '\n' + data.error.stack);
327
- removeErrorOverlay();
328
- var overlay = createErrorOverlay(data);
329
- document.body.appendChild(overlay);
330
- }
331
- };
332
- }
333
-
334
- function removeErrorOverlay() {
335
- var overlay = document.getElementById(OVERLAY_ID);
336
-
337
- if (overlay) {
338
- overlay.remove();
339
- }
340
- }
341
-
342
- function createErrorOverlay(data) {
343
- var overlay = document.createElement('div');
344
- overlay.id = OVERLAY_ID; // html encode message and stack trace
345
-
346
- var message = document.createElement('div');
347
- var stackTrace = document.createElement('pre');
348
- message.innerText = data.error.message;
349
- stackTrace.innerText = data.error.stack;
350
- overlay.innerHTML = '<div style="background: black; font-size: 16px; color: white; position: fixed; height: 100%; width: 100%; top: 0px; left: 0px; padding: 30px; opacity: 0.85; font-family: Menlo, Consolas, monospace; z-index: 9999;">' + '<span style="background: red; padding: 2px 4px; border-radius: 2px;">ERROR</span>' + '<span style="top: 2px; margin-left: 5px; position: relative;">🚨</span>' + '<div style="font-size: 18px; font-weight: bold; margin-top: 20px;">' + message.innerHTML + '</div>' + '<pre>' + stackTrace.innerHTML + '</pre>' + '</div>';
351
- return overlay;
352
- }
353
-
354
- function getParents(bundle, id) {
355
- var modules = bundle.modules;
356
-
357
- if (!modules) {
358
- return [];
359
- }
360
-
361
- var parents = [];
362
- var k, d, dep;
363
-
364
- for (k in modules) {
365
- for (d in modules[k][1]) {
366
- dep = modules[k][1][d];
367
-
368
- if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) {
369
- parents.push(k);
370
- }
371
- }
372
- }
373
-
374
- if (bundle.parent) {
375
- parents = parents.concat(getParents(bundle.parent, id));
376
- }
377
-
378
- return parents;
379
- }
380
-
381
- function hmrApply(bundle, asset) {
382
- var modules = bundle.modules;
383
-
384
- if (!modules) {
385
- return;
386
- }
387
-
388
- if (modules[asset.id] || !bundle.parent) {
389
- var fn = new Function('require', 'module', 'exports', asset.generated.js);
390
- asset.isNew = !modules[asset.id];
391
- modules[asset.id] = [fn, asset.deps];
392
- } else if (bundle.parent) {
393
- hmrApply(bundle.parent, asset);
394
- }
395
- }
396
-
397
- function hmrAcceptCheck(bundle, id) {
398
- var modules = bundle.modules;
399
-
400
- if (!modules) {
401
- return;
402
- }
403
-
404
- if (!modules[id] && bundle.parent) {
405
- return hmrAcceptCheck(bundle.parent, id);
406
- }
407
-
408
- if (checkedAssets[id]) {
409
- return;
410
- }
411
-
412
- checkedAssets[id] = true;
413
- var cached = bundle.cache[id];
414
- assetsToAccept.push([bundle, id]);
415
-
416
- if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
417
- return true;
418
- }
419
-
420
- return getParents(global.parcelRequire, id).some(function (id) {
421
- return hmrAcceptCheck(global.parcelRequire, id);
422
- });
423
- }
424
-
425
- function hmrAcceptRun(bundle, id) {
426
- var cached = bundle.cache[id];
427
- bundle.hotData = {};
428
-
429
- if (cached) {
430
- cached.hot.data = bundle.hotData;
431
- }
432
-
433
- if (cached && cached.hot && cached.hot._disposeCallbacks.length) {
434
- cached.hot._disposeCallbacks.forEach(function (cb) {
435
- cb(bundle.hotData);
436
- });
437
- }
438
-
439
- delete bundle.cache[id];
440
- bundle(id);
441
- cached = bundle.cache[id];
442
-
443
- if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
444
- cached.hot._acceptCallbacks.forEach(function (cb) {
445
- cb();
446
- });
447
-
448
- return true;
449
- }
450
- }
451
- },{}]},{},["../node_modules/parcel-bundler/src/builtins/hmr-runtime.js"], null)
452
- //# sourceMappingURL=/grid-optimize-rendering.b49e36f5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["grid-optimize-rendering.tsx"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,aAAa,GAAG,gBAAO,GAAV,mBAAnB;;AAuBA,IAAM,WAAW,GAAG,gBAAO,GAAV,oBAAjB;;AAUA,IAAM,aAAa,GAAG,gBAAO,GAAV,oBAAnB;;AAKA,IAAM,IAAI,GAAG,KAAK,CAAC,IAAN,CAAgB,gBAA6D;AAAA,MAA1D,IAA0D,QAA1D,IAA0D;AACxF,EAAA,OAAO,CAAC,GAAR,0BAA8B,IAAI,CAAC,KAAnC;AACA,SAAO,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,KAAK,EAAE;AAAE,MAAA,eAAe,EAAE,IAAI,CAAC,QAAL,GAAgB,MAAhB,GAAyB;AAA5C;AAAZ,GAAA,SAAA,EAAyE,IAAI,CAAC,KAA9E,CAAP;AACD,CAHY,CAAb;;AAKc,SAAU,GAAV,GAAa;AACzB,MAAM,GAAG,GAAG,KAAK,CAAC,SAAN,EAAZ;;AADyB,wBAEC,KAAK,CAAC,QAAN,CAAe,YAAK;AAC5C,WAAO,KAAK,CAAC,IAAN,CAAW;AAAE,MAAA,MAAM,EAAE;AAAV,KAAX,EAA6B,UAAC,CAAD,EAAI,KAAJ,EAAa;AAC/C,aAAO;AAAE,QAAA,KAAK,EAAL,KAAF;AAAS,QAAA,QAAQ,EAAE;AAAnB,OAAP;AACD,KAFM,CAAP;AAGD,GAJyB,CAFD;AAAA;AAAA,MAElB,KAFkB;AAAA,MAEX,QAFW;;AAQzB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAN,CAClB,UAAC,KAAD;AAAA,WACE,KAAA,CAAA,aAAA,CAAC,WAAD,EAAY;AACV,MAAA,OAAO,EAAE,mBAAK;AACZ,QAAA,QAAQ,CAAC,UAAC,KAAD,EAAU;AACjB,iBAAO,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAAO,CAAP,EAAY;AAC3B,mBAAO,CAAC,KAAK,KAAN,GAAc;AAAE,cAAA,KAAK,EAAE,CAAT;AAAY,cAAA,QAAQ,EAAE,CAAC,IAAI,CAAC;AAA5B,aAAd,GAAuD,IAA9D;AACD,WAFM,CAAP;AAGD,SAJO,CAAR;AAKD;AAPS,KAAZ,EASE,KAAA,CAAA,aAAA,CAAC,IAAD,EAAK;AAAC,MAAA,IAAI,EAAE,KAAK,CAAC,KAAD;AAAZ,KAAL,CATF,CADF;AAAA,GADkB,EAclB,CAAC,KAAD,EAAQ,QAAR,CAdkB,CAApB;AAiBA,SACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EACE,KAAA,CAAA,aAAA,CAAC,iBAAD,EAAa;AACX,IAAA,GAAG,EAAE,GADM;AAEX,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,aADI;AAEV,MAAA,IAAI,EAAE;AAFI,KAFD;AAMX,IAAA,UAAU,EAAE,KAAK,CAAC,MANP;AAOX,IAAA,WAAW,EAAE,WAPF;AAQX,IAAA,KAAK,EAAE;AAAE,MAAA,MAAM,EAAE,GAAV;AAAe,MAAA,KAAK,EAAE;AAAtB;AARI,GAAb,CADF,CADF;AAcD","file":"grid-optimize-rendering.b49e36f5.js","sourceRoot":"../e2e","sourcesContent":["import * as React from 'react'\nimport { VirtuosoGrid, GridComponents, VirtuosoGridHandle } from '../src'\nimport styled from '@emotion/styled'\n\nconst ItemContainer = styled.div`\n box-sizing: border-box;\n padding: 5px;\n width: 25%;\n background: #f5f5f5;\n display: flex;\n flex: none;\n align-content: stretch;\n /*\n @media (max-width: 1024px) {\n width: 33%;\n }\n\n @media (max-width: 768px) {\n width: 50%;\n }\n\n @media (max-width: 480px) {\n width: 100%;\n }\n */\n`\n\nconst ItemWrapper = styled.div`\n flex: 1;\n text-align: center;\n font-size: 80%;\n padding: 20px;\n box-shadow: 0 5px 6px -6px #777;\n background: white;\n }\n`\n\nconst ListContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n` as GridComponents['List']\n\nconst Item = React.memo<any>(({ item }: { item: { index: number; selected: boolean } }) => {\n console.log(`rendering Item ${item.index}`)\n return <div style={{ backgroundColor: item.selected ? 'blue' : 'white' }}>Item {item.index}</div>\n})\n\nexport default function App() {\n const ref = React.createRef<VirtuosoGridHandle>()\n const [items, setItems] = React.useState(() => {\n return Array.from({ length: 1000 }, (_, index) => {\n return { index, selected: false }\n })\n })\n\n const itemContent = React.useCallback(\n (index: number) => (\n <ItemWrapper\n onClick={() => {\n setItems((items) => {\n return items.map((item, i) => {\n return i === index ? { index: i, selected: !item.selected } : item\n })\n })\n }}\n >\n <Item item={items[index]} />\n </ItemWrapper>\n ),\n [items, setItems]\n )\n\n return (\n <>\n <VirtuosoGrid\n ref={ref}\n components={{\n Item: ItemContainer,\n List: ListContainer,\n }}\n totalCount={items.length}\n itemContent={itemContent}\n style={{ height: 300, width: 1200 }}\n />\n </>\n )\n}\n"]}