react-virtuoso 2.2.6-beta.2 → 2.2.9-beta.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/dist/Grid.d.ts +27 -30
- package/dist/List.d.ts +230 -206
- package/dist/__examples.cc6a8f9f.js +10236 -620
- package/dist/__examples.cc6a8f9f.js.map +1 -1
- package/dist/__examples.js +1 -1
- package/dist/__examples.js.map +1 -1
- package/dist/align-to-bottom.7fcd2087.js +206 -1
- package/dist/align-to-bottom.7fcd2087.js.map +1 -1
- package/dist/alignToBottomSystem.d.ts +21 -21
- package/dist/at-bottom-detection.a5d019c3.js +441 -0
- package/dist/at-bottom-detection.a5d019c3.js.map +1 -0
- package/dist/auto-prepend-items.bd7e9b90.js +206 -1
- package/dist/auto-prepend-items.bd7e9b90.js.map +1 -1
- package/dist/benchmark.66d31485.js +206 -1
- package/dist/benchmark.66d31485.js.map +1 -1
- package/dist/chat.d4f93b8b.js +206 -1
- package/dist/chat.d4f93b8b.js.map +1 -1
- package/dist/components.d.ts +8 -6
- package/dist/context.a45abc98.js +380 -0
- package/dist/context.a45abc98.js.map +1 -0
- package/dist/contextSystem.d.ts +4 -0
- package/dist/custom-components.5aeaa7ef.js +206 -1
- package/dist/custom-components.5aeaa7ef.js.map +1 -1
- package/dist/custom-scroller.b0240d14.js +206 -1
- package/dist/custom-scroller.b0240d14.js.map +1 -1
- package/dist/data.26707046.js +206 -1
- package/dist/data.26707046.js.map +1 -1
- package/dist/decrease-items.e2211e50.js +206 -1
- package/dist/decrease-items.e2211e50.js.map +1 -1
- package/dist/default-item-height.b77ada36.js +206 -1
- package/dist/default-item-height.b77ada36.js.map +1 -1
- package/dist/domIOSystem.d.ts +1 -4
- package/dist/empty-placeholder.00607a6e.js +206 -1
- package/dist/empty-placeholder.00607a6e.js.map +1 -1
- package/dist/end-reached.8531e5b1.js +206 -1
- package/dist/end-reached.8531e5b1.js.map +1 -1
- package/dist/endless-scrolling.bc4101f0.js +206 -1
- package/dist/endless-scrolling.bc4101f0.js.map +1 -1
- package/dist/expandable-cards.5439f51b.js +206 -1
- package/dist/expandable-cards.5439f51b.js.map +1 -1
- package/dist/follow-output.4e36fca8.js +206 -1
- package/dist/follow-output.4e36fca8.js.map +1 -1
- package/dist/followOutputSystem.d.ts +36 -12
- package/dist/grid-optimize-rendering.b49e36f5.js +206 -1
- package/dist/grid-optimize-rendering.b49e36f5.js.map +1 -1
- package/dist/grid-scroll-seek-placeholder.b2862006.js +415 -0
- package/dist/grid-scroll-seek-placeholder.b2862006.js.map +1 -0
- package/dist/grid.d5d77b6a.js +206 -1
- package/dist/grid.d5d77b6a.js.map +1 -1
- package/dist/gridSystem.d.ts +20 -19
- package/dist/grouped-endless-scrolling.24985a0f.js +206 -1
- package/dist/grouped-endless-scrolling.24985a0f.js.map +1 -1
- package/dist/grouped-load-more.bce8f6e4.js +206 -1
- package/dist/grouped-load-more.bce8f6e4.js.map +1 -1
- package/dist/grouped-topmost-item.34960f5e.js +206 -1
- package/dist/grouped-topmost-item.34960f5e.js.map +1 -1
- package/dist/grouped.a2908632.js +206 -1
- package/dist/grouped.a2908632.js.map +1 -1
- package/dist/groupedListSystem.d.ts +2 -2
- package/dist/header-footer.49733d45.js +206 -1
- package/dist/header-footer.49733d45.js.map +1 -1
- package/dist/hello.54765c26.js +206 -1
- package/dist/hello.54765c26.js.map +1 -1
- package/dist/hooks/useChangedChildSizes.d.ts +1 -1
- package/dist/hooks/useScrollTop.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.m.js +1 -1
- package/dist/index.m.js.map +1 -1
- package/dist/initial-from-zero.22ad1626.js +206 -1
- package/dist/initial-from-zero.22ad1626.js.map +1 -1
- package/dist/initial-scroll-top.90db1920.js +206 -1
- package/dist/initial-scroll-top.90db1920.js.map +1 -1
- package/dist/initial-topmost-item-default-height.43a95247.js +206 -1
- package/dist/initial-topmost-item-default-height.43a95247.js.map +1 -1
- package/dist/initial-topmost-item.61c0e169.js +206 -1
- package/dist/initial-topmost-item.61c0e169.js.map +1 -1
- package/dist/initialItemCountSystem.d.ts +17 -17
- package/dist/initialScrollTopSystem.d.ts +21 -21
- package/dist/initialTopMostItemIndexSystem.d.ts +4 -4
- package/dist/interfaces.d.ts +11 -5
- package/dist/listStateSystem.d.ts +16 -16
- package/dist/listSystem.d.ts +217 -193
- package/dist/long-last-item.b56ff89c.js +206 -2
- package/dist/long-last-item.b56ff89c.js.map +1 -1
- package/dist/prepend-items.f2bda34b.js +206 -1
- package/dist/prepend-items.f2bda34b.js.map +1 -1
- package/dist/prepend-last-tall-item.168a9e65.js +206 -1
- package/dist/prepend-last-tall-item.168a9e65.js.map +1 -1
- package/dist/react-beautiful-dnd-window-scroller.0a227511.js +206 -1
- package/dist/react-beautiful-dnd-window-scroller.0a227511.js.map +1 -1
- package/dist/react-beautiful-dnd.817e9251.js +206 -1
- package/dist/react-beautiful-dnd.817e9251.js.map +1 -1
- package/dist/rerender.ddd61b7c.js +206 -1
- package/dist/rerender.ddd61b7c.js.map +1 -1
- package/dist/resize-loop.309b1dac.js +206 -1
- package/dist/resize-loop.309b1dac.js.map +1 -1
- package/dist/resizing-items.c09b5e1b.js +206 -1
- package/dist/resizing-items.c09b5e1b.js.map +1 -1
- package/dist/scroll-into-view.39b77fe9.js +206 -1
- package/dist/scroll-into-view.39b77fe9.js.map +1 -1
- package/dist/scroll-seek-placeholder.69fb85c6.js +206 -1
- package/dist/scroll-seek-placeholder.69fb85c6.js.map +1 -1
- package/dist/scroll-to-index.e72249cf.js +206 -1
- package/dist/scroll-to-index.e72249cf.js.map +1 -1
- package/dist/scrollIntoViewSystem.d.ts +21 -21
- package/dist/scrollSeekSystem.d.ts +7 -7
- package/dist/scrollToIndexSystem.d.ts +2 -2
- package/dist/sizeRangeSystem.d.ts +3 -3
- package/dist/ssr.8f31b042.js +206 -1
- package/dist/ssr.8f31b042.js.map +1 -1
- package/dist/start-reached.2990ece7.js +206 -1
- package/dist/start-reached.2990ece7.js.map +1 -1
- package/dist/stateFlagsSystem.d.ts +8 -5
- package/dist/tall-item-reverse-scrolling.58bcd140.js +206 -1
- package/dist/tall-item-reverse-scrolling.58bcd140.js.map +1 -1
- package/dist/test-case-446.dce9595c.js +206 -1
- package/dist/test-case-446.dce9595c.js.map +1 -1
- package/dist/test-case-460.6d75ad1f.js +206 -1
- package/dist/test-case-460.6d75ad1f.js.map +1 -1
- package/dist/test-case-463.525f34ba.js +206 -1
- package/dist/test-case-463.525f34ba.js.map +1 -1
- package/dist/toggle-display-grouped.4f4ae058.js +206 -1
- package/dist/toggle-display-grouped.4f4ae058.js.map +1 -1
- package/dist/toggle.7047c23e.js +447 -0
- package/dist/toggle.7047c23e.js.map +1 -0
- package/dist/top-items.f724bf61.js +206 -1
- package/dist/top-items.f724bf61.js.map +1 -1
- package/dist/topItemCountSystem.d.ts +17 -17
- package/dist/totalListHeightSystem.d.ts +19 -19
- package/dist/upward-scroll.d49e0815.js +206 -1
- package/dist/upward-scroll.d49e0815.js.map +1 -1
- package/dist/upwardScrollFixSystem.d.ts +25 -25
- package/dist/window-grid.b22094fd.js +206 -1
- package/dist/window-grid.b22094fd.js.map +1 -1
- package/dist/window-scroller.a979c6d6.js +206 -1
- package/dist/window-scroller.a979c6d6.js.map +1 -1
- package/dist/windowScrollerSystem.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["auto-prepend-items.tsx"],"names":[],"mappings":"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","file":"auto-prepend-items.bd7e9b90.js","sourceRoot":"../e2e","sourcesContent":["import { useCallback, useState } from 'react'\nimport * as React from 'react'\nimport { Virtuoso } from '../src/'\nimport faker from 'faker'\n\nfunction toggleBg(index: number) {\n return index % 2 ? 'var(--ifm-background-color)' : 'var(--ifm-color-emphasis-200)'\n}\n\nfunction user(index = 0) {\n const firstName = faker.name.firstName()\n const lastName = faker.name.lastName()\n\n return {\n index: index + 1,\n bgColor: toggleBg(index),\n name: `${firstName} ${lastName}`,\n initials: `${firstName.substr(0, 1)}${lastName.substr(0, 1)}`,\n jobTitle: faker.name.jobTitle(),\n description: faker.lorem.sentence(10),\n longText: faker.lorem.paragraphs(1),\n }\n}\n\nconst generated: ReturnType<typeof user>[] = []\n\nconst generateUsers = (length: number, startIndex = 0) => {\n return Array.from({ length }, (_, i) => getUser(i + startIndex))\n}\n\nconst getUser = (index: number) => {\n if (!generated[index]) {\n generated[index] = user(index)\n }\n\n return generated[index]\n}\n\nexport default function App() {\n const START_INDEX = 10000\n const INITIAL_ITEM_COUNT = 20\n\n const [firstItemIndex, setFirstItemIndex] = useState(START_INDEX)\n const [users, setUsers] = useState(() => generateUsers(INITIAL_ITEM_COUNT, START_INDEX))\n\n const prependItems = useCallback(() => {\n console.log('prependItems()')\n const usersToPrepend = 20\n const nextFirstItemIndex = firstItemIndex - usersToPrepend\n\n setTimeout(() => {\n setFirstItemIndex(() => nextFirstItemIndex)\n setUsers(() => [...generateUsers(usersToPrepend, nextFirstItemIndex), ...users])\n }, 5)\n\n return false\n }, [firstItemIndex, users, setUsers])\n\n return (\n <Virtuoso\n style={{ height: 500 }}\n components={{\n Header: () => <div style={{ textAlign: 'center', padding: '1rem' }}>Loading...</div>,\n }}\n firstItemIndex={firstItemIndex}\n initialTopMostItemIndex={INITIAL_ITEM_COUNT - 1}\n data={users}\n startReached={prependItems}\n itemContent={(_, user) => {\n return (\n <div style={{ backgroundColor: user.bgColor, padding: '1rem 0.5rem' }}>\n <h4>\n {user.index}. {user.name}\n </h4>\n <div style={{ marginTop: '1rem' }}>{user.description}</div>\n </div>\n )\n }}\n />\n )\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["auto-prepend-items.tsx","../node_modules/parcel-bundler/src/builtins/hmr-runtime.js"],"names":["OVERLAY_ID","OldModule","module","bundle","Module","moduleName","call","hot","data","hotData","_acceptCallbacks","_disposeCallbacks","accept","fn","push","dispose","checkedAssets","assetsToAccept","parent","isParcelRequire","WebSocket","hostname","location","protocol","ws","onmessage","event","JSON","parse","type","handled","assets","forEach","asset","isNew","didAccept","hmrAcceptCheck","global","parcelRequire","id","every","generated","js","console","clear","hmrApply","v","hmrAcceptRun","reload","close","onclose","log","removeErrorOverlay","error","message","stack","overlay","createErrorOverlay","document","body","appendChild","getElementById","remove","createElement","stackTrace","innerText","innerHTML","getParents","modules","parents","k","d","dep","Array","isArray","length","concat","Function","deps","cached","cache","some","cb"],"mappings":"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","file":"auto-prepend-items.bd7e9b90.js","sourceRoot":"../e2e","sourcesContent":["import { useCallback, useState } from 'react'\nimport * as React from 'react'\nimport { Virtuoso } from '../src/'\nimport faker from 'faker'\n\nfunction toggleBg(index: number) {\n return index % 2 ? 'var(--ifm-background-color)' : 'var(--ifm-color-emphasis-200)'\n}\n\nfunction user(index = 0) {\n const firstName = faker.name.firstName()\n const lastName = faker.name.lastName()\n\n return {\n index: index + 1,\n bgColor: toggleBg(index),\n name: `${firstName} ${lastName}`,\n initials: `${firstName.substr(0, 1)}${lastName.substr(0, 1)}`,\n jobTitle: faker.name.jobTitle(),\n description: faker.lorem.sentence(10),\n longText: faker.lorem.paragraphs(1),\n }\n}\n\nconst generated: ReturnType<typeof user>[] = []\n\nconst generateUsers = (length: number, startIndex = 0) => {\n return Array.from({ length }, (_, i) => getUser(i + startIndex))\n}\n\nconst getUser = (index: number) => {\n if (!generated[index]) {\n generated[index] = user(index)\n }\n\n return generated[index]\n}\n\nexport default function App() {\n const START_INDEX = 10000\n const INITIAL_ITEM_COUNT = 20\n\n const [firstItemIndex, setFirstItemIndex] = useState(START_INDEX)\n const [users, setUsers] = useState(() => generateUsers(INITIAL_ITEM_COUNT, START_INDEX))\n\n const prependItems = useCallback(() => {\n console.log('prependItems()')\n const usersToPrepend = 20\n const nextFirstItemIndex = firstItemIndex - usersToPrepend\n\n setTimeout(() => {\n setFirstItemIndex(() => nextFirstItemIndex)\n setUsers(() => [...generateUsers(usersToPrepend, nextFirstItemIndex), ...users])\n }, 5)\n\n return false\n }, [firstItemIndex, users, setUsers])\n\n return (\n <Virtuoso\n style={{ height: 500 }}\n components={{\n Header: () => <div style={{ textAlign: 'center', padding: '1rem' }}>Loading...</div>,\n }}\n firstItemIndex={firstItemIndex}\n initialTopMostItemIndex={INITIAL_ITEM_COUNT - 1}\n data={users}\n startReached={prependItems}\n itemContent={(_, user) => {\n return (\n <div style={{ backgroundColor: user.bgColor, padding: '1rem 0.5rem' }}>\n <h4>\n {user.index}. {user.name}\n </h4>\n <div style={{ marginTop: '1rem' }}>{user.description}</div>\n </div>\n )\n }}\n />\n )\n}\n","var OVERLAY_ID = '__parcel__error__overlay__';\n\nvar OldModule = module.bundle.Module;\n\nfunction Module(moduleName) {\n OldModule.call(this, moduleName);\n this.hot = {\n data: module.bundle.hotData,\n _acceptCallbacks: [],\n _disposeCallbacks: [],\n accept: function (fn) {\n this._acceptCallbacks.push(fn || function () {});\n },\n dispose: function (fn) {\n this._disposeCallbacks.push(fn);\n }\n };\n\n module.bundle.hotData = null;\n}\n\nmodule.bundle.Module = Module;\nvar checkedAssets, assetsToAccept;\n\nvar parent = module.bundle.parent;\nif ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {\n var hostname = process.env.HMR_HOSTNAME || location.hostname;\n var protocol = location.protocol === 'https:' ? 'wss' : 'ws';\n var ws = new WebSocket(protocol + '://' + hostname + ':' + process.env.HMR_PORT + '/');\n ws.onmessage = function(event) {\n checkedAssets = {};\n assetsToAccept = [];\n\n var data = JSON.parse(event.data);\n\n if (data.type === 'update') {\n var handled = false;\n data.assets.forEach(function(asset) {\n if (!asset.isNew) {\n var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);\n if (didAccept) {\n handled = true;\n }\n }\n });\n\n // Enable HMR for CSS by default.\n handled = handled || data.assets.every(function(asset) {\n return asset.type === 'css' && asset.generated.js;\n });\n\n if (handled) {\n console.clear();\n\n data.assets.forEach(function (asset) {\n hmrApply(global.parcelRequire, asset);\n });\n\n assetsToAccept.forEach(function (v) {\n hmrAcceptRun(v[0], v[1]);\n });\n } else if (location.reload) { // `location` global exists in a web worker context but lacks `.reload()` function.\n location.reload();\n }\n }\n\n if (data.type === 'reload') {\n ws.close();\n ws.onclose = function () {\n location.reload();\n }\n }\n\n if (data.type === 'error-resolved') {\n console.log('[parcel] ✨ Error resolved');\n\n removeErrorOverlay();\n }\n\n if (data.type === 'error') {\n console.error('[parcel] 🚨 ' + data.error.message + '\\n' + data.error.stack);\n\n removeErrorOverlay();\n\n var overlay = createErrorOverlay(data);\n document.body.appendChild(overlay);\n }\n };\n}\n\nfunction removeErrorOverlay() {\n var overlay = document.getElementById(OVERLAY_ID);\n if (overlay) {\n overlay.remove();\n }\n}\n\nfunction createErrorOverlay(data) {\n var overlay = document.createElement('div');\n overlay.id = OVERLAY_ID;\n\n // html encode message and stack trace\n var message = document.createElement('div');\n var stackTrace = document.createElement('pre');\n message.innerText = data.error.message;\n stackTrace.innerText = data.error.stack;\n\n overlay.innerHTML = (\n '<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;\">' +\n '<span style=\"background: red; padding: 2px 4px; border-radius: 2px;\">ERROR</span>' +\n '<span style=\"top: 2px; margin-left: 5px; position: relative;\">🚨</span>' +\n '<div style=\"font-size: 18px; font-weight: bold; margin-top: 20px;\">' + message.innerHTML + '</div>' +\n '<pre>' + stackTrace.innerHTML + '</pre>' +\n '</div>'\n );\n\n return overlay;\n\n}\n\nfunction getParents(bundle, id) {\n var modules = bundle.modules;\n if (!modules) {\n return [];\n }\n\n var parents = [];\n var k, d, dep;\n\n for (k in modules) {\n for (d in modules[k][1]) {\n dep = modules[k][1][d];\n if (dep === id || (Array.isArray(dep) && dep[dep.length - 1] === id)) {\n parents.push(k);\n }\n }\n }\n\n if (bundle.parent) {\n parents = parents.concat(getParents(bundle.parent, id));\n }\n\n return parents;\n}\n\nfunction hmrApply(bundle, asset) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n\n if (modules[asset.id] || !bundle.parent) {\n var fn = new Function('require', 'module', 'exports', asset.generated.js);\n asset.isNew = !modules[asset.id];\n modules[asset.id] = [fn, asset.deps];\n } else if (bundle.parent) {\n hmrApply(bundle.parent, asset);\n }\n}\n\nfunction hmrAcceptCheck(bundle, id) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n\n if (!modules[id] && bundle.parent) {\n return hmrAcceptCheck(bundle.parent, id);\n }\n\n if (checkedAssets[id]) {\n return;\n }\n checkedAssets[id] = true;\n\n var cached = bundle.cache[id];\n\n assetsToAccept.push([bundle, id]);\n\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n return true;\n }\n\n return getParents(global.parcelRequire, id).some(function (id) {\n return hmrAcceptCheck(global.parcelRequire, id)\n });\n}\n\nfunction hmrAcceptRun(bundle, id) {\n var cached = bundle.cache[id];\n bundle.hotData = {};\n if (cached) {\n cached.hot.data = bundle.hotData;\n }\n\n if (cached && cached.hot && cached.hot._disposeCallbacks.length) {\n cached.hot._disposeCallbacks.forEach(function (cb) {\n cb(bundle.hotData);\n });\n }\n\n delete bundle.cache[id];\n bundle(id);\n\n cached = bundle.cache[id];\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n cached.hot._acceptCallbacks.forEach(function (cb) {\n cb();\n });\n return true;\n }\n}\n"]}
|
|
@@ -158,4 +158,209 @@ function App() {
|
|
|
158
158
|
}
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
|
-
},{"react":"../node_modules/react/index.js","../src":"../src/index.tsx"}]
|
|
161
|
+
},{"react":"../node_modules/react/index.js","../src":"../src/index.tsx"}],"../node_modules/parcel-bundler/src/builtins/hmr-runtime.js":[function(require,module,exports) {
|
|
162
|
+
var global = arguments[3];
|
|
163
|
+
var OVERLAY_ID = '__parcel__error__overlay__';
|
|
164
|
+
var OldModule = module.bundle.Module;
|
|
165
|
+
|
|
166
|
+
function Module(moduleName) {
|
|
167
|
+
OldModule.call(this, moduleName);
|
|
168
|
+
this.hot = {
|
|
169
|
+
data: module.bundle.hotData,
|
|
170
|
+
_acceptCallbacks: [],
|
|
171
|
+
_disposeCallbacks: [],
|
|
172
|
+
accept: function (fn) {
|
|
173
|
+
this._acceptCallbacks.push(fn || function () {});
|
|
174
|
+
},
|
|
175
|
+
dispose: function (fn) {
|
|
176
|
+
this._disposeCallbacks.push(fn);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
module.bundle.hotData = null;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
module.bundle.Module = Module;
|
|
183
|
+
var checkedAssets, assetsToAccept;
|
|
184
|
+
var parent = module.bundle.parent;
|
|
185
|
+
|
|
186
|
+
if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
|
|
187
|
+
var hostname = "" || location.hostname;
|
|
188
|
+
var protocol = location.protocol === 'https:' ? 'wss' : 'ws';
|
|
189
|
+
var ws = new WebSocket(protocol + '://' + hostname + ':' + "53802" + '/');
|
|
190
|
+
|
|
191
|
+
ws.onmessage = function (event) {
|
|
192
|
+
checkedAssets = {};
|
|
193
|
+
assetsToAccept = [];
|
|
194
|
+
var data = JSON.parse(event.data);
|
|
195
|
+
|
|
196
|
+
if (data.type === 'update') {
|
|
197
|
+
var handled = false;
|
|
198
|
+
data.assets.forEach(function (asset) {
|
|
199
|
+
if (!asset.isNew) {
|
|
200
|
+
var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);
|
|
201
|
+
|
|
202
|
+
if (didAccept) {
|
|
203
|
+
handled = true;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}); // Enable HMR for CSS by default.
|
|
207
|
+
|
|
208
|
+
handled = handled || data.assets.every(function (asset) {
|
|
209
|
+
return asset.type === 'css' && asset.generated.js;
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
if (handled) {
|
|
213
|
+
console.clear();
|
|
214
|
+
data.assets.forEach(function (asset) {
|
|
215
|
+
hmrApply(global.parcelRequire, asset);
|
|
216
|
+
});
|
|
217
|
+
assetsToAccept.forEach(function (v) {
|
|
218
|
+
hmrAcceptRun(v[0], v[1]);
|
|
219
|
+
});
|
|
220
|
+
} else if (location.reload) {
|
|
221
|
+
// `location` global exists in a web worker context but lacks `.reload()` function.
|
|
222
|
+
location.reload();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
if (data.type === 'reload') {
|
|
227
|
+
ws.close();
|
|
228
|
+
|
|
229
|
+
ws.onclose = function () {
|
|
230
|
+
location.reload();
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
if (data.type === 'error-resolved') {
|
|
235
|
+
console.log('[parcel] ✨ Error resolved');
|
|
236
|
+
removeErrorOverlay();
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (data.type === 'error') {
|
|
240
|
+
console.error('[parcel] 🚨 ' + data.error.message + '\n' + data.error.stack);
|
|
241
|
+
removeErrorOverlay();
|
|
242
|
+
var overlay = createErrorOverlay(data);
|
|
243
|
+
document.body.appendChild(overlay);
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
function removeErrorOverlay() {
|
|
249
|
+
var overlay = document.getElementById(OVERLAY_ID);
|
|
250
|
+
|
|
251
|
+
if (overlay) {
|
|
252
|
+
overlay.remove();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
function createErrorOverlay(data) {
|
|
257
|
+
var overlay = document.createElement('div');
|
|
258
|
+
overlay.id = OVERLAY_ID; // html encode message and stack trace
|
|
259
|
+
|
|
260
|
+
var message = document.createElement('div');
|
|
261
|
+
var stackTrace = document.createElement('pre');
|
|
262
|
+
message.innerText = data.error.message;
|
|
263
|
+
stackTrace.innerText = data.error.stack;
|
|
264
|
+
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>';
|
|
265
|
+
return overlay;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
function getParents(bundle, id) {
|
|
269
|
+
var modules = bundle.modules;
|
|
270
|
+
|
|
271
|
+
if (!modules) {
|
|
272
|
+
return [];
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
var parents = [];
|
|
276
|
+
var k, d, dep;
|
|
277
|
+
|
|
278
|
+
for (k in modules) {
|
|
279
|
+
for (d in modules[k][1]) {
|
|
280
|
+
dep = modules[k][1][d];
|
|
281
|
+
|
|
282
|
+
if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) {
|
|
283
|
+
parents.push(k);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
if (bundle.parent) {
|
|
289
|
+
parents = parents.concat(getParents(bundle.parent, id));
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return parents;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
function hmrApply(bundle, asset) {
|
|
296
|
+
var modules = bundle.modules;
|
|
297
|
+
|
|
298
|
+
if (!modules) {
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
if (modules[asset.id] || !bundle.parent) {
|
|
303
|
+
var fn = new Function('require', 'module', 'exports', asset.generated.js);
|
|
304
|
+
asset.isNew = !modules[asset.id];
|
|
305
|
+
modules[asset.id] = [fn, asset.deps];
|
|
306
|
+
} else if (bundle.parent) {
|
|
307
|
+
hmrApply(bundle.parent, asset);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
function hmrAcceptCheck(bundle, id) {
|
|
312
|
+
var modules = bundle.modules;
|
|
313
|
+
|
|
314
|
+
if (!modules) {
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
if (!modules[id] && bundle.parent) {
|
|
319
|
+
return hmrAcceptCheck(bundle.parent, id);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
if (checkedAssets[id]) {
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
checkedAssets[id] = true;
|
|
327
|
+
var cached = bundle.cache[id];
|
|
328
|
+
assetsToAccept.push([bundle, id]);
|
|
329
|
+
|
|
330
|
+
if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
|
|
331
|
+
return true;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
return getParents(global.parcelRequire, id).some(function (id) {
|
|
335
|
+
return hmrAcceptCheck(global.parcelRequire, id);
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
function hmrAcceptRun(bundle, id) {
|
|
340
|
+
var cached = bundle.cache[id];
|
|
341
|
+
bundle.hotData = {};
|
|
342
|
+
|
|
343
|
+
if (cached) {
|
|
344
|
+
cached.hot.data = bundle.hotData;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
if (cached && cached.hot && cached.hot._disposeCallbacks.length) {
|
|
348
|
+
cached.hot._disposeCallbacks.forEach(function (cb) {
|
|
349
|
+
cb(bundle.hotData);
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
delete bundle.cache[id];
|
|
354
|
+
bundle(id);
|
|
355
|
+
cached = bundle.cache[id];
|
|
356
|
+
|
|
357
|
+
if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
|
|
358
|
+
cached.hot._acceptCallbacks.forEach(function (cb) {
|
|
359
|
+
cb();
|
|
360
|
+
});
|
|
361
|
+
|
|
362
|
+
return true;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
},{}]},{},["../node_modules/parcel-bundler/src/builtins/hmr-runtime.js"], null)
|
|
366
|
+
//# sourceMappingURL=/benchmark.66d31485.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["benchmark.tsx"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAEA,IAAM,OAAO,GAAG;AACd,KAAG,2RADW;AAEd,KAAG,4cAFW;AAGd,KAAG;AAHW,CAAhB;;AAMA,IAAM,WAAW,GAAG,SAAd,WAAc,CAAC,KAAD;AAAA,SAClB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,KAAK,EAAE;AAAE,MAAA,YAAY,EAAE,iBAAhB;AAAmC,MAAA,OAAO,EAAE;AAA5C;AAAZ,GAAA,EAAmE,OAAO,CAAE,KAAK,GAAG,CAAV,CAA1E,CADkB;AAAA,CAApB;;AAIc,SAAU,GAAV,GAAa;AACzB,SAAO,KAAA,CAAA,aAAA,CAAC,aAAD,EAAS;AAAC,IAAA,UAAU,EAAE,MAAb;AAAqB,IAAA,uBAAuB,EAAE,KAA9C;AAAqD,IAAA,WAAW,EAAE,WAAlE;AAA+E,IAAA,KAAK,EAAE;AAAE,MAAA,MAAM,EAAE;AAAV;AAAtF,GAAT,CAAP;AACD","file":"benchmark.66d31485.js","sourceRoot":"../e2e","sourcesContent":["import * as React from 'react'\nimport { Virtuoso } from '../src'\n\nconst CONTENT = {\n 0: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum nec lorem eu turpis maximus rutrum. Nullam pellentesque elementum iaculis. Phasellus interdum ultricies sodales. Morbi vehicula aliquet ligula, malesuada tempus nunc. Integer viverra nunc ac augue luctus pretium. ',\n 1: 'Morbi et suscipit nulla. Suspendisse bibendum et ligula at ullamcorper. Praesent vehicula ut velit a commodo. In sed felis sodales, efficitur sem non, sollicitudin lorem. Fusce tempus risus lacus, a finibus ligula volutpat in. Nunc tempus nulla ut enim imperdiet, ac volutpat sem tempor. Proin hendrerit fringilla lacinia. Vivamus dignissim ultricies congue. Duis purus dui, pharetra in enim vitae, dictum accumsan nisl. Sed ornare justo eu varius facilisis.',\n 2: 'Cras vel augue at lorem congue tempus. Donec convallis leo neque, eu convallis mauris pulvinar et. ',\n}\n\nconst itemContent = (index: number) => (\n <div style={{ borderBottom: '1px solid black', padding: '1rem' }}>{CONTENT[(index % 3) as 0 | 1 | 2]}</div>\n)\n\nexport default function App() {\n return <Virtuoso totalCount={100000} initialTopMostItemIndex={99999} itemContent={itemContent} style={{ height: '500px' }} />\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["benchmark.tsx","../node_modules/parcel-bundler/src/builtins/hmr-runtime.js"],"names":["OVERLAY_ID","OldModule","module","bundle","Module","moduleName","call","hot","data","hotData","_acceptCallbacks","_disposeCallbacks","accept","fn","push","dispose","checkedAssets","assetsToAccept","parent","isParcelRequire","WebSocket","hostname","location","protocol","ws","onmessage","event","JSON","parse","type","handled","assets","forEach","asset","isNew","didAccept","hmrAcceptCheck","global","parcelRequire","id","every","generated","js","console","clear","hmrApply","v","hmrAcceptRun","reload","close","onclose","log","removeErrorOverlay","error","message","stack","overlay","createErrorOverlay","document","body","appendChild","getElementById","remove","createElement","stackTrace","innerText","innerHTML","getParents","modules","parents","k","d","dep","Array","isArray","length","concat","Function","deps","cached","cache","some","cb"],"mappings":"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","file":"benchmark.66d31485.js","sourceRoot":"../e2e","sourcesContent":["import * as React from 'react'\nimport { Virtuoso } from '../src'\n\nconst CONTENT = {\n 0: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum nec lorem eu turpis maximus rutrum. Nullam pellentesque elementum iaculis. Phasellus interdum ultricies sodales. Morbi vehicula aliquet ligula, malesuada tempus nunc. Integer viverra nunc ac augue luctus pretium. ',\n 1: 'Morbi et suscipit nulla. Suspendisse bibendum et ligula at ullamcorper. Praesent vehicula ut velit a commodo. In sed felis sodales, efficitur sem non, sollicitudin lorem. Fusce tempus risus lacus, a finibus ligula volutpat in. Nunc tempus nulla ut enim imperdiet, ac volutpat sem tempor. Proin hendrerit fringilla lacinia. Vivamus dignissim ultricies congue. Duis purus dui, pharetra in enim vitae, dictum accumsan nisl. Sed ornare justo eu varius facilisis.',\n 2: 'Cras vel augue at lorem congue tempus. Donec convallis leo neque, eu convallis mauris pulvinar et. ',\n}\n\nconst itemContent = (index: number) => (\n <div style={{ borderBottom: '1px solid black', padding: '1rem' }}>{CONTENT[(index % 3) as 0 | 1 | 2]}</div>\n)\n\nexport default function App() {\n return <Virtuoso totalCount={100000} initialTopMostItemIndex={99999} itemContent={itemContent} style={{ height: '500px' }} />\n}\n","var OVERLAY_ID = '__parcel__error__overlay__';\n\nvar OldModule = module.bundle.Module;\n\nfunction Module(moduleName) {\n OldModule.call(this, moduleName);\n this.hot = {\n data: module.bundle.hotData,\n _acceptCallbacks: [],\n _disposeCallbacks: [],\n accept: function (fn) {\n this._acceptCallbacks.push(fn || function () {});\n },\n dispose: function (fn) {\n this._disposeCallbacks.push(fn);\n }\n };\n\n module.bundle.hotData = null;\n}\n\nmodule.bundle.Module = Module;\nvar checkedAssets, assetsToAccept;\n\nvar parent = module.bundle.parent;\nif ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {\n var hostname = process.env.HMR_HOSTNAME || location.hostname;\n var protocol = location.protocol === 'https:' ? 'wss' : 'ws';\n var ws = new WebSocket(protocol + '://' + hostname + ':' + process.env.HMR_PORT + '/');\n ws.onmessage = function(event) {\n checkedAssets = {};\n assetsToAccept = [];\n\n var data = JSON.parse(event.data);\n\n if (data.type === 'update') {\n var handled = false;\n data.assets.forEach(function(asset) {\n if (!asset.isNew) {\n var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);\n if (didAccept) {\n handled = true;\n }\n }\n });\n\n // Enable HMR for CSS by default.\n handled = handled || data.assets.every(function(asset) {\n return asset.type === 'css' && asset.generated.js;\n });\n\n if (handled) {\n console.clear();\n\n data.assets.forEach(function (asset) {\n hmrApply(global.parcelRequire, asset);\n });\n\n assetsToAccept.forEach(function (v) {\n hmrAcceptRun(v[0], v[1]);\n });\n } else if (location.reload) { // `location` global exists in a web worker context but lacks `.reload()` function.\n location.reload();\n }\n }\n\n if (data.type === 'reload') {\n ws.close();\n ws.onclose = function () {\n location.reload();\n }\n }\n\n if (data.type === 'error-resolved') {\n console.log('[parcel] ✨ Error resolved');\n\n removeErrorOverlay();\n }\n\n if (data.type === 'error') {\n console.error('[parcel] 🚨 ' + data.error.message + '\\n' + data.error.stack);\n\n removeErrorOverlay();\n\n var overlay = createErrorOverlay(data);\n document.body.appendChild(overlay);\n }\n };\n}\n\nfunction removeErrorOverlay() {\n var overlay = document.getElementById(OVERLAY_ID);\n if (overlay) {\n overlay.remove();\n }\n}\n\nfunction createErrorOverlay(data) {\n var overlay = document.createElement('div');\n overlay.id = OVERLAY_ID;\n\n // html encode message and stack trace\n var message = document.createElement('div');\n var stackTrace = document.createElement('pre');\n message.innerText = data.error.message;\n stackTrace.innerText = data.error.stack;\n\n overlay.innerHTML = (\n '<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;\">' +\n '<span style=\"background: red; padding: 2px 4px; border-radius: 2px;\">ERROR</span>' +\n '<span style=\"top: 2px; margin-left: 5px; position: relative;\">🚨</span>' +\n '<div style=\"font-size: 18px; font-weight: bold; margin-top: 20px;\">' + message.innerHTML + '</div>' +\n '<pre>' + stackTrace.innerHTML + '</pre>' +\n '</div>'\n );\n\n return overlay;\n\n}\n\nfunction getParents(bundle, id) {\n var modules = bundle.modules;\n if (!modules) {\n return [];\n }\n\n var parents = [];\n var k, d, dep;\n\n for (k in modules) {\n for (d in modules[k][1]) {\n dep = modules[k][1][d];\n if (dep === id || (Array.isArray(dep) && dep[dep.length - 1] === id)) {\n parents.push(k);\n }\n }\n }\n\n if (bundle.parent) {\n parents = parents.concat(getParents(bundle.parent, id));\n }\n\n return parents;\n}\n\nfunction hmrApply(bundle, asset) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n\n if (modules[asset.id] || !bundle.parent) {\n var fn = new Function('require', 'module', 'exports', asset.generated.js);\n asset.isNew = !modules[asset.id];\n modules[asset.id] = [fn, asset.deps];\n } else if (bundle.parent) {\n hmrApply(bundle.parent, asset);\n }\n}\n\nfunction hmrAcceptCheck(bundle, id) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n\n if (!modules[id] && bundle.parent) {\n return hmrAcceptCheck(bundle.parent, id);\n }\n\n if (checkedAssets[id]) {\n return;\n }\n checkedAssets[id] = true;\n\n var cached = bundle.cache[id];\n\n assetsToAccept.push([bundle, id]);\n\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n return true;\n }\n\n return getParents(global.parcelRequire, id).some(function (id) {\n return hmrAcceptCheck(global.parcelRequire, id)\n });\n}\n\nfunction hmrAcceptRun(bundle, id) {\n var cached = bundle.cache[id];\n bundle.hotData = {};\n if (cached) {\n cached.hot.data = bundle.hotData;\n }\n\n if (cached && cached.hot && cached.hot._disposeCallbacks.length) {\n cached.hot._disposeCallbacks.forEach(function (cb) {\n cb(bundle.hotData);\n });\n }\n\n delete bundle.cache[id];\n bundle(id);\n\n cached = bundle.cache[id];\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n cached.hot._acceptCallbacks.forEach(function (cb) {\n cb();\n });\n return true;\n }\n}\n"]}
|
package/dist/chat.d4f93b8b.js
CHANGED
|
@@ -362,4 +362,209 @@ function App() {
|
|
|
362
362
|
}
|
|
363
363
|
}));
|
|
364
364
|
}
|
|
365
|
-
},{"react":"../node_modules/react/index.js","@emotion/styled":"../node_modules/@emotion/styled/dist/styled.browser.esm.js","../src/":"../src/index.tsx","faker":"../node_modules/faker/index.js"}]
|
|
365
|
+
},{"react":"../node_modules/react/index.js","@emotion/styled":"../node_modules/@emotion/styled/dist/styled.browser.esm.js","../src/":"../src/index.tsx","faker":"../node_modules/faker/index.js"}],"../node_modules/parcel-bundler/src/builtins/hmr-runtime.js":[function(require,module,exports) {
|
|
366
|
+
var global = arguments[3];
|
|
367
|
+
var OVERLAY_ID = '__parcel__error__overlay__';
|
|
368
|
+
var OldModule = module.bundle.Module;
|
|
369
|
+
|
|
370
|
+
function Module(moduleName) {
|
|
371
|
+
OldModule.call(this, moduleName);
|
|
372
|
+
this.hot = {
|
|
373
|
+
data: module.bundle.hotData,
|
|
374
|
+
_acceptCallbacks: [],
|
|
375
|
+
_disposeCallbacks: [],
|
|
376
|
+
accept: function (fn) {
|
|
377
|
+
this._acceptCallbacks.push(fn || function () {});
|
|
378
|
+
},
|
|
379
|
+
dispose: function (fn) {
|
|
380
|
+
this._disposeCallbacks.push(fn);
|
|
381
|
+
}
|
|
382
|
+
};
|
|
383
|
+
module.bundle.hotData = null;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
module.bundle.Module = Module;
|
|
387
|
+
var checkedAssets, assetsToAccept;
|
|
388
|
+
var parent = module.bundle.parent;
|
|
389
|
+
|
|
390
|
+
if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
|
|
391
|
+
var hostname = "" || location.hostname;
|
|
392
|
+
var protocol = location.protocol === 'https:' ? 'wss' : 'ws';
|
|
393
|
+
var ws = new WebSocket(protocol + '://' + hostname + ':' + "53802" + '/');
|
|
394
|
+
|
|
395
|
+
ws.onmessage = function (event) {
|
|
396
|
+
checkedAssets = {};
|
|
397
|
+
assetsToAccept = [];
|
|
398
|
+
var data = JSON.parse(event.data);
|
|
399
|
+
|
|
400
|
+
if (data.type === 'update') {
|
|
401
|
+
var handled = false;
|
|
402
|
+
data.assets.forEach(function (asset) {
|
|
403
|
+
if (!asset.isNew) {
|
|
404
|
+
var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);
|
|
405
|
+
|
|
406
|
+
if (didAccept) {
|
|
407
|
+
handled = true;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}); // Enable HMR for CSS by default.
|
|
411
|
+
|
|
412
|
+
handled = handled || data.assets.every(function (asset) {
|
|
413
|
+
return asset.type === 'css' && asset.generated.js;
|
|
414
|
+
});
|
|
415
|
+
|
|
416
|
+
if (handled) {
|
|
417
|
+
console.clear();
|
|
418
|
+
data.assets.forEach(function (asset) {
|
|
419
|
+
hmrApply(global.parcelRequire, asset);
|
|
420
|
+
});
|
|
421
|
+
assetsToAccept.forEach(function (v) {
|
|
422
|
+
hmrAcceptRun(v[0], v[1]);
|
|
423
|
+
});
|
|
424
|
+
} else if (location.reload) {
|
|
425
|
+
// `location` global exists in a web worker context but lacks `.reload()` function.
|
|
426
|
+
location.reload();
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
if (data.type === 'reload') {
|
|
431
|
+
ws.close();
|
|
432
|
+
|
|
433
|
+
ws.onclose = function () {
|
|
434
|
+
location.reload();
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
if (data.type === 'error-resolved') {
|
|
439
|
+
console.log('[parcel] ✨ Error resolved');
|
|
440
|
+
removeErrorOverlay();
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
if (data.type === 'error') {
|
|
444
|
+
console.error('[parcel] 🚨 ' + data.error.message + '\n' + data.error.stack);
|
|
445
|
+
removeErrorOverlay();
|
|
446
|
+
var overlay = createErrorOverlay(data);
|
|
447
|
+
document.body.appendChild(overlay);
|
|
448
|
+
}
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
function removeErrorOverlay() {
|
|
453
|
+
var overlay = document.getElementById(OVERLAY_ID);
|
|
454
|
+
|
|
455
|
+
if (overlay) {
|
|
456
|
+
overlay.remove();
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
function createErrorOverlay(data) {
|
|
461
|
+
var overlay = document.createElement('div');
|
|
462
|
+
overlay.id = OVERLAY_ID; // html encode message and stack trace
|
|
463
|
+
|
|
464
|
+
var message = document.createElement('div');
|
|
465
|
+
var stackTrace = document.createElement('pre');
|
|
466
|
+
message.innerText = data.error.message;
|
|
467
|
+
stackTrace.innerText = data.error.stack;
|
|
468
|
+
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>';
|
|
469
|
+
return overlay;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
function getParents(bundle, id) {
|
|
473
|
+
var modules = bundle.modules;
|
|
474
|
+
|
|
475
|
+
if (!modules) {
|
|
476
|
+
return [];
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
var parents = [];
|
|
480
|
+
var k, d, dep;
|
|
481
|
+
|
|
482
|
+
for (k in modules) {
|
|
483
|
+
for (d in modules[k][1]) {
|
|
484
|
+
dep = modules[k][1][d];
|
|
485
|
+
|
|
486
|
+
if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) {
|
|
487
|
+
parents.push(k);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
if (bundle.parent) {
|
|
493
|
+
parents = parents.concat(getParents(bundle.parent, id));
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
return parents;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
function hmrApply(bundle, asset) {
|
|
500
|
+
var modules = bundle.modules;
|
|
501
|
+
|
|
502
|
+
if (!modules) {
|
|
503
|
+
return;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
if (modules[asset.id] || !bundle.parent) {
|
|
507
|
+
var fn = new Function('require', 'module', 'exports', asset.generated.js);
|
|
508
|
+
asset.isNew = !modules[asset.id];
|
|
509
|
+
modules[asset.id] = [fn, asset.deps];
|
|
510
|
+
} else if (bundle.parent) {
|
|
511
|
+
hmrApply(bundle.parent, asset);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
function hmrAcceptCheck(bundle, id) {
|
|
516
|
+
var modules = bundle.modules;
|
|
517
|
+
|
|
518
|
+
if (!modules) {
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
if (!modules[id] && bundle.parent) {
|
|
523
|
+
return hmrAcceptCheck(bundle.parent, id);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
if (checkedAssets[id]) {
|
|
527
|
+
return;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
checkedAssets[id] = true;
|
|
531
|
+
var cached = bundle.cache[id];
|
|
532
|
+
assetsToAccept.push([bundle, id]);
|
|
533
|
+
|
|
534
|
+
if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
|
|
535
|
+
return true;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
return getParents(global.parcelRequire, id).some(function (id) {
|
|
539
|
+
return hmrAcceptCheck(global.parcelRequire, id);
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
function hmrAcceptRun(bundle, id) {
|
|
544
|
+
var cached = bundle.cache[id];
|
|
545
|
+
bundle.hotData = {};
|
|
546
|
+
|
|
547
|
+
if (cached) {
|
|
548
|
+
cached.hot.data = bundle.hotData;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
if (cached && cached.hot && cached.hot._disposeCallbacks.length) {
|
|
552
|
+
cached.hot._disposeCallbacks.forEach(function (cb) {
|
|
553
|
+
cb(bundle.hotData);
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
delete bundle.cache[id];
|
|
558
|
+
bundle(id);
|
|
559
|
+
cached = bundle.cache[id];
|
|
560
|
+
|
|
561
|
+
if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
|
|
562
|
+
cached.hot._acceptCallbacks.forEach(function (cb) {
|
|
563
|
+
cb();
|
|
564
|
+
});
|
|
565
|
+
|
|
566
|
+
return true;
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
},{}]},{},["../node_modules/parcel-bundler/src/builtins/hmr-runtime.js"], null)
|
|
570
|
+
//# sourceMappingURL=/chat.d4f93b8b.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["chat.tsx"],"names":[],"mappings":"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","file":"chat.d4f93b8b.js","sourceRoot":"../e2e","sourcesContent":["import { useRef, useState } from 'react'\nimport * as React from 'react'\nimport styled from '@emotion/styled'\nimport { Virtuoso } from '../src/'\nimport faker from 'faker'\n\ninterface BubbleProps {\n text: string\n fromUser?: boolean\n className?: string\n}\n\nconst BubbleWrap = styled.div<{ fromUser?: boolean }>`\n display: flex;\n justify-content: ${({ fromUser }) => fromUser && 'flex-end'};\n width: 100%;\n padding: 12px 0;\n`\n\nconst Content = styled.div<{ fromUser?: boolean }>`\n background: ${({ fromUser }) => (fromUser ? 'orange' : 'red')};\n color: white;\n width: 60%;\n padding: 12px;\n border-radius: 4px;\n word-break: break-word;\n`\n\nfunction Bubble({ text, fromUser, className }: BubbleProps) {\n return (\n <BubbleWrap fromUser={fromUser} className={className}>\n <Content fromUser={fromUser}>{text}</Content>\n </BubbleWrap>\n )\n}\n\ninterface ChatListProps {\n messages: { id: string; message: string }[]\n userId: string\n onSend: (message: string) => void\n onReceive: () => void\n height?: number\n placeholder?: string\n}\n\nconst Root = styled.div<{ fromUser?: boolean }>`\n padding: 12px 24px;\n`\n\nconst TextWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n width: 100%;\n height: 100%;\n margin-top: 12px;\n`\n\nfunction ChatList({ userId, messages = [], onSend, onReceive, placeholder }: ChatListProps) {\n const [newMessage, setNewMessage] = useState('')\n const ref = useRef(null)\n const isMyOwnMessage = useRef(false)\n const onSendMessage = () => {\n isMyOwnMessage.current = true\n onSend(newMessage)\n setNewMessage('')\n }\n\n const onReceiveMessage = () => {\n isMyOwnMessage.current = false\n onReceive()\n }\n\n const row = React.useMemo(\n () => (i: number, { message, id }: { message: string; id: string }) => {\n const fromUser = id === userId\n return <Bubble key={i} fromUser={fromUser} text={message} />\n },\n [userId]\n )\n\n return (\n <Root\n style={{\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n border: '1px solid red',\n }}\n >\n <Virtuoso\n ref={ref}\n style={{ flex: 1 }}\n initialTopMostItemIndex={messages.length - 1}\n followOutput={(isAtBottom) => {\n if (isMyOwnMessage.current) {\n // if the user has scrolled away and sends a message, bring him to the bottom instantly\n return isAtBottom ? 'smooth' : 'auto'\n } else {\n // a message from another user has been received - don't pull to bottom unless already there\n return isAtBottom ? 'smooth' : false\n }\n }}\n itemContent={row}\n data={messages}\n />\n <TextWrapper style={{ flex: 0, minHeight: 30 }}>\n <form\n onSubmit={(e) => {\n e.preventDefault()\n onSendMessage()\n }}\n >\n <input\n type=\"text\"\n value={newMessage}\n onChange={(e) => setNewMessage((e.target as HTMLInputElement).value)}\n placeholder={placeholder}\n />\n <button type=\"submit\">send</button> |\n <button type=\"button\" onClick={onReceiveMessage}>\n receive\n </button>\n </form>\n </TextWrapper>\n </Root>\n )\n}\n\nconst data = Array.from({ length: 130 }, (_) => ({\n id: faker.random.number({ min: 1, max: 2 }).toString(),\n message: faker.lorem.sentences(),\n}))\n\nexport default function App() {\n const [messages, setMessages] = React.useState(data)\n const userId = '1'\n return (\n <div\n style={{\n height: '500px',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <ChatList\n messages={messages}\n userId=\"1\"\n placeholder=\"Say hi!\"\n onSend={(message) => setMessages((x) => [...x, { id: userId, message }])}\n onReceive={() => {\n setMessages((x) => [...x, { id: '2', message: faker.lorem.sentences() }])\n }}\n />\n </div>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["chat.tsx","../node_modules/parcel-bundler/src/builtins/hmr-runtime.js"],"names":["OVERLAY_ID","OldModule","module","bundle","Module","moduleName","call","hot","data","hotData","_acceptCallbacks","_disposeCallbacks","accept","fn","push","dispose","checkedAssets","assetsToAccept","parent","isParcelRequire","WebSocket","hostname","location","protocol","ws","onmessage","event","JSON","parse","type","handled","assets","forEach","asset","isNew","didAccept","hmrAcceptCheck","global","parcelRequire","id","every","generated","js","console","clear","hmrApply","v","hmrAcceptRun","reload","close","onclose","log","removeErrorOverlay","error","message","stack","overlay","createErrorOverlay","document","body","appendChild","getElementById","remove","createElement","stackTrace","innerText","innerHTML","getParents","modules","parents","k","d","dep","Array","isArray","length","concat","Function","deps","cached","cache","some","cb"],"mappings":"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","file":"chat.d4f93b8b.js","sourceRoot":"../e2e","sourcesContent":["import { useRef, useState } from 'react'\nimport * as React from 'react'\nimport styled from '@emotion/styled'\nimport { Virtuoso } from '../src/'\nimport faker from 'faker'\n\ninterface BubbleProps {\n text: string\n fromUser?: boolean\n className?: string\n}\n\nconst BubbleWrap = styled.div<{ fromUser?: boolean }>`\n display: flex;\n justify-content: ${({ fromUser }) => fromUser && 'flex-end'};\n width: 100%;\n padding: 12px 0;\n`\n\nconst Content = styled.div<{ fromUser?: boolean }>`\n background: ${({ fromUser }) => (fromUser ? 'orange' : 'red')};\n color: white;\n width: 60%;\n padding: 12px;\n border-radius: 4px;\n word-break: break-word;\n`\n\nfunction Bubble({ text, fromUser, className }: BubbleProps) {\n return (\n <BubbleWrap fromUser={fromUser} className={className}>\n <Content fromUser={fromUser}>{text}</Content>\n </BubbleWrap>\n )\n}\n\ninterface ChatListProps {\n messages: { id: string; message: string }[]\n userId: string\n onSend: (message: string) => void\n onReceive: () => void\n height?: number\n placeholder?: string\n}\n\nconst Root = styled.div<{ fromUser?: boolean }>`\n padding: 12px 24px;\n`\n\nconst TextWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n width: 100%;\n height: 100%;\n margin-top: 12px;\n`\n\nfunction ChatList({ userId, messages = [], onSend, onReceive, placeholder }: ChatListProps) {\n const [newMessage, setNewMessage] = useState('')\n const ref = useRef(null)\n const isMyOwnMessage = useRef(false)\n const onSendMessage = () => {\n isMyOwnMessage.current = true\n onSend(newMessage)\n setNewMessage('')\n }\n\n const onReceiveMessage = () => {\n isMyOwnMessage.current = false\n onReceive()\n }\n\n const row = React.useMemo(\n () => (i: number, { message, id }: { message: string; id: string }) => {\n const fromUser = id === userId\n return <Bubble key={i} fromUser={fromUser} text={message} />\n },\n [userId]\n )\n\n return (\n <Root\n style={{\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n border: '1px solid red',\n }}\n >\n <Virtuoso\n ref={ref}\n style={{ flex: 1 }}\n initialTopMostItemIndex={messages.length - 1}\n followOutput={(isAtBottom) => {\n if (isMyOwnMessage.current) {\n // if the user has scrolled away and sends a message, bring him to the bottom instantly\n return isAtBottom ? 'smooth' : 'auto'\n } else {\n // a message from another user has been received - don't pull to bottom unless already there\n return isAtBottom ? 'smooth' : false\n }\n }}\n itemContent={row}\n data={messages}\n />\n <TextWrapper style={{ flex: 0, minHeight: 30 }}>\n <form\n onSubmit={(e) => {\n e.preventDefault()\n onSendMessage()\n }}\n >\n <input\n type=\"text\"\n value={newMessage}\n onChange={(e) => setNewMessage((e.target as HTMLInputElement).value)}\n placeholder={placeholder}\n />\n <button type=\"submit\">send</button> |\n <button type=\"button\" onClick={onReceiveMessage}>\n receive\n </button>\n </form>\n </TextWrapper>\n </Root>\n )\n}\n\nconst data = Array.from({ length: 130 }, (_) => ({\n id: faker.random.number({ min: 1, max: 2 }).toString(),\n message: faker.lorem.sentences(),\n}))\n\nexport default function App() {\n const [messages, setMessages] = React.useState(data)\n const userId = '1'\n return (\n <div\n style={{\n height: '500px',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <ChatList\n messages={messages}\n userId=\"1\"\n placeholder=\"Say hi!\"\n onSend={(message) => setMessages((x) => [...x, { id: userId, message }])}\n onReceive={() => {\n setMessages((x) => [...x, { id: '2', message: faker.lorem.sentences() }])\n }}\n />\n </div>\n )\n}\n","var OVERLAY_ID = '__parcel__error__overlay__';\n\nvar OldModule = module.bundle.Module;\n\nfunction Module(moduleName) {\n OldModule.call(this, moduleName);\n this.hot = {\n data: module.bundle.hotData,\n _acceptCallbacks: [],\n _disposeCallbacks: [],\n accept: function (fn) {\n this._acceptCallbacks.push(fn || function () {});\n },\n dispose: function (fn) {\n this._disposeCallbacks.push(fn);\n }\n };\n\n module.bundle.hotData = null;\n}\n\nmodule.bundle.Module = Module;\nvar checkedAssets, assetsToAccept;\n\nvar parent = module.bundle.parent;\nif ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {\n var hostname = process.env.HMR_HOSTNAME || location.hostname;\n var protocol = location.protocol === 'https:' ? 'wss' : 'ws';\n var ws = new WebSocket(protocol + '://' + hostname + ':' + process.env.HMR_PORT + '/');\n ws.onmessage = function(event) {\n checkedAssets = {};\n assetsToAccept = [];\n\n var data = JSON.parse(event.data);\n\n if (data.type === 'update') {\n var handled = false;\n data.assets.forEach(function(asset) {\n if (!asset.isNew) {\n var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);\n if (didAccept) {\n handled = true;\n }\n }\n });\n\n // Enable HMR for CSS by default.\n handled = handled || data.assets.every(function(asset) {\n return asset.type === 'css' && asset.generated.js;\n });\n\n if (handled) {\n console.clear();\n\n data.assets.forEach(function (asset) {\n hmrApply(global.parcelRequire, asset);\n });\n\n assetsToAccept.forEach(function (v) {\n hmrAcceptRun(v[0], v[1]);\n });\n } else if (location.reload) { // `location` global exists in a web worker context but lacks `.reload()` function.\n location.reload();\n }\n }\n\n if (data.type === 'reload') {\n ws.close();\n ws.onclose = function () {\n location.reload();\n }\n }\n\n if (data.type === 'error-resolved') {\n console.log('[parcel] ✨ Error resolved');\n\n removeErrorOverlay();\n }\n\n if (data.type === 'error') {\n console.error('[parcel] 🚨 ' + data.error.message + '\\n' + data.error.stack);\n\n removeErrorOverlay();\n\n var overlay = createErrorOverlay(data);\n document.body.appendChild(overlay);\n }\n };\n}\n\nfunction removeErrorOverlay() {\n var overlay = document.getElementById(OVERLAY_ID);\n if (overlay) {\n overlay.remove();\n }\n}\n\nfunction createErrorOverlay(data) {\n var overlay = document.createElement('div');\n overlay.id = OVERLAY_ID;\n\n // html encode message and stack trace\n var message = document.createElement('div');\n var stackTrace = document.createElement('pre');\n message.innerText = data.error.message;\n stackTrace.innerText = data.error.stack;\n\n overlay.innerHTML = (\n '<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;\">' +\n '<span style=\"background: red; padding: 2px 4px; border-radius: 2px;\">ERROR</span>' +\n '<span style=\"top: 2px; margin-left: 5px; position: relative;\">🚨</span>' +\n '<div style=\"font-size: 18px; font-weight: bold; margin-top: 20px;\">' + message.innerHTML + '</div>' +\n '<pre>' + stackTrace.innerHTML + '</pre>' +\n '</div>'\n );\n\n return overlay;\n\n}\n\nfunction getParents(bundle, id) {\n var modules = bundle.modules;\n if (!modules) {\n return [];\n }\n\n var parents = [];\n var k, d, dep;\n\n for (k in modules) {\n for (d in modules[k][1]) {\n dep = modules[k][1][d];\n if (dep === id || (Array.isArray(dep) && dep[dep.length - 1] === id)) {\n parents.push(k);\n }\n }\n }\n\n if (bundle.parent) {\n parents = parents.concat(getParents(bundle.parent, id));\n }\n\n return parents;\n}\n\nfunction hmrApply(bundle, asset) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n\n if (modules[asset.id] || !bundle.parent) {\n var fn = new Function('require', 'module', 'exports', asset.generated.js);\n asset.isNew = !modules[asset.id];\n modules[asset.id] = [fn, asset.deps];\n } else if (bundle.parent) {\n hmrApply(bundle.parent, asset);\n }\n}\n\nfunction hmrAcceptCheck(bundle, id) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n\n if (!modules[id] && bundle.parent) {\n return hmrAcceptCheck(bundle.parent, id);\n }\n\n if (checkedAssets[id]) {\n return;\n }\n checkedAssets[id] = true;\n\n var cached = bundle.cache[id];\n\n assetsToAccept.push([bundle, id]);\n\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n return true;\n }\n\n return getParents(global.parcelRequire, id).some(function (id) {\n return hmrAcceptCheck(global.parcelRequire, id)\n });\n}\n\nfunction hmrAcceptRun(bundle, id) {\n var cached = bundle.cache[id];\n bundle.hotData = {};\n if (cached) {\n cached.hot.data = bundle.hotData;\n }\n\n if (cached && cached.hot && cached.hot._disposeCallbacks.length) {\n cached.hot._disposeCallbacks.forEach(function (cb) {\n cb(bundle.hotData);\n });\n }\n\n delete bundle.cache[id];\n bundle(id);\n\n cached = bundle.cache[id];\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n cached.hot._acceptCallbacks.forEach(function (cb) {\n cb();\n });\n return true;\n }\n}\n"]}
|
package/dist/components.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ForwardRefExoticComponent, ReactElement, Ref } from 'react';
|
|
2
2
|
import { Grid, GridHandle } from './Grid';
|
|
3
|
-
import { Components, ComputeItemKey, FollowOutput, GroupContent, GroupItemContent, IndexLocationWithAlign, ItemContent, ListItem, ListRange, ScrollSeekConfiguration } from './interfaces';
|
|
3
|
+
import { Components, ComputeItemKey, FollowOutput, GridComponents, GridComputeItemKey, GridItemContent, GroupContent, GroupItemContent, IndexLocationWithAlign, ItemContent, ListItem, ListRange, ScrollSeekConfiguration } from './interfaces';
|
|
4
4
|
import { List, ListHandle } from './List';
|
|
5
5
|
import { ScrollIntoViewLocation } from './scrollIntoViewSystem';
|
|
6
6
|
declare type CompProps<T> = T extends ForwardRefExoticComponent<infer R> ? R : never;
|
|
@@ -191,15 +191,15 @@ export interface VirtuosoGridProps extends GridProps {
|
|
|
191
191
|
/**
|
|
192
192
|
* The total amount of items to be rendered.
|
|
193
193
|
*/
|
|
194
|
-
totalCount:
|
|
194
|
+
totalCount: number;
|
|
195
195
|
/**
|
|
196
196
|
* Set the callback to specify the contents of the item.
|
|
197
197
|
*/
|
|
198
|
-
itemContent?:
|
|
198
|
+
itemContent?: GridItemContent;
|
|
199
199
|
/**
|
|
200
200
|
* Use the `components` property for advanced customization of the elements rendered by the list.
|
|
201
201
|
*/
|
|
202
|
-
components?:
|
|
202
|
+
components?: GridComponents;
|
|
203
203
|
/**
|
|
204
204
|
* Set the overscan property to make the component "chunk" the rendering of new items on scroll.
|
|
205
205
|
* The property causes the component to render more items than the necessary, but reduces the re-renders on scroll.
|
|
@@ -212,7 +212,7 @@ export interface VirtuosoGridProps extends GridProps {
|
|
|
212
212
|
/**
|
|
213
213
|
* If specified, the component will use the function to generate the `key` property for each list item.
|
|
214
214
|
*/
|
|
215
|
-
computeItemKey?:
|
|
215
|
+
computeItemKey?: GridComputeItemKey;
|
|
216
216
|
/**
|
|
217
217
|
* Use to display placeholders if the user scrolls fast through the list.
|
|
218
218
|
*
|
|
@@ -296,5 +296,7 @@ export declare const Virtuoso: <D extends unknown = any>(props: VirtuosoProps<D>
|
|
|
296
296
|
export declare const GroupedVirtuoso: <D extends unknown = any>(props: GroupedVirtuosoProps<D> & {
|
|
297
297
|
ref?: Ref<GroupedVirtuosoHandle> | undefined;
|
|
298
298
|
}) => ReactElement;
|
|
299
|
-
export declare const VirtuosoGrid:
|
|
299
|
+
export declare const VirtuosoGrid: (props: VirtuosoGridProps & {
|
|
300
|
+
ref?: Ref<VirtuosoGridHandle>;
|
|
301
|
+
}) => ReactElement;
|
|
300
302
|
export {};
|