{"_id":"@darrenowensplancom/react-window-sticky","_rev":"3-fb7cb0ce57580da7d83138bc42d9931f","name":"@darrenowensplancom/react-window-sticky","dist-tags":{"latest":"1.8.6"},"versions":{"1.6.2":{"name":"@darrenowensplancom/react-window-sticky","version":"1.6.2","description":"React components for efficiently rendering large, scrollable lists and tabular data","author":{"name":"Brian Vaughn","email":"brian.david.vaughn@gmail.com","url":"https://github.com/bvaughn/"},"contributors":[{"name":"Brian Vaughn","email":"brian.david.vaughn@gmail.com","url":"https://github.com/bvaughn/"},{"name":"Andre Azzolini","url":"https://github.com/apazzolini/"}],"license":"MIT","homepage":"http://react-window.now.sh/","repository":{"type":"git","url":"git+https://github.com/apazzolini/react-window.git"},"bugs":{"url":"https://github.com/apazzolini/react-window/issues"},"engines":{"node":">8.0.0"},"keywords":["react","reactjs","virtual","window","windowed","list","scrolling","infinite","virtualized","table","grid","spreadsheet"],"main":"dist/index.cjs.js","module":"dist/index.esm.js","scripts":{"flow":"flow check --max-warnings=0 src && flow check website","precommit":"lint-staged","prettier":"prettier --write '**/*.{js,json,css}'","linc":"lint-staged","lint":"eslint '**/*.js'","test":"cross-env CI=1 react-scripts test --env=jsdom","test:watch":"react-scripts test --env=jsdom","build:flow":"cp flow-template dist/index.cjs.js.flow && cp flow-template dist/index.esm.js.flow","build:source":"rollup -c","build":"del dist && mkdir dist && yarn build:flow && yarn build:source","start":"rollup -c -w","prepare":"yarn run build","website:build":"cd website && yarn build","website:deploy":"cd website && yarn deploy","website:run":"cd website && yarn start"},"lint-staged":{"{website,src}/**/*.{js,json,css}":["prettier --write","git add"],"**/*.js":"eslint --max-warnings 0"},"dependencies":{"@babel/runtime":"^7.0.0","memoize-one":">=3.1.1 <6"},"peerDependencies":{"react":"^15.0.0 || ^16.0.0","react-dom":"^15.0.0 || ^16.0.0"},"devDependencies":{"@babel/core":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/preset-env":"^7.0.0","@babel/preset-flow":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^9.0.0","babel-plugin-annotate-pure-calls":"^0.3.0","cross-env":"^5.1.4","del-cli":"^1.1.0","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-config-react-app":"^2.1.0","eslint-config-standard":"^11.0.0","eslint-config-standard-react":"^6.0.0","eslint-plugin-flowtype":"^2.47.1","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^5","eslint-plugin-node":"^6.0.1","eslint-plugin-prettier":"^2.6.0","eslint-plugin-promise":"^3.7.0","eslint-plugin-react":"^7.7.0","eslint-plugin-standard":"^3.0.1","flow-bin":"^0.80.0","gh-pages":"^1.1.0","lint-staged":"^7.0.5","prettier":"^1.12.1","react":"^16.7.0","react-dom":"^16.7.0","react-scripts":"^1.1.1","react-test-renderer":"^16.7.0","rollup":"^1.4.1","rollup-plugin-babel":"^4.3.2","rollup-plugin-commonjs":"^9.2.1","rollup-plugin-node-resolve":"^4.0.1"},"gitHead":"4b214aec55b3b91aeb2f4b6738685503f7f6cea9","_id":"@darrenowensplancom/react-window-sticky@1.6.2","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-c84AxNH/KuHPpltIMIPwVwrz7jdbGyuh+4Ckep5VQ6mbX5HPbLaxpuPE5C3EF/h66NMCoDHY/fFg8OCQy4/l6A==","shasum":"64f97d4a4cb525ff6e22b06463ce81f99ea37d30","tarball":"https://registry.npmjs.org/@darrenowensplancom/react-window-sticky/-/react-window-sticky-1.6.2.tgz","fileCount":20,"unpackedSize":247380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXnDUCRA9TVsSAnZWagAAiroP/1WHK8qprglCYyAcbpdZ\nlRLxzwf3xjKDVigqbqMKOGtzk8DpRv2Oah4UbDbbAMrGqJCi3Fk2QpKppGQT\nfEPa8WFLlSMAjbMRHO/synJg89DvnIx9g3Pc2pY3mxl/QiudPaZnVZb1UkEv\nklArqPd+xc/kyqqxTo7vmgOiiYWZyB43UnnnuqegfB+7NOsq84I9t2bYY9FS\nrqkqzz/plxSuax3bh2Qd721UVAtrFrtxaSqfIpWrzQ/KGrjQI/e4cWoLyke+\nfI+/aE/Z/gaZfYm05rSZCahAj1o+8yfoDLJSSUjWFJecXfzQ+zaRM/9yDiWf\nJUbqCJoTobCtLJ5WbtV/v2Y5U5vhY3bC/dbyVTXvzhoPOnzFJLQNJ3reRIEL\nwf1HsYGyXkc6DoiR1CRTwkH661W9fhF2MgZKCRoHL06ogmdmZuq7PT4+wzqt\nTIsx3V9jiE34KUDRmCMvm9Yf6v8sHwdsgvV16zgdYquFShbrCVlo5mVFqL5+\nF8HGyuvC4yyZ8BSZr0OZv0yhYaiO94ikOPzv0VMhGvtHEWWosEK/JOY8qhT1\nnrycmkIQ8FT3bAbG5RPSbSa7TkGG63F4TIhAzpN5o9LVOfsSzAbqFzJFBN17\nr33hOUI3LnxLStITQyskpU7DFLEW7c4rzcuk5VdV5F6awwNbjtm7BDqryhzv\ndNc1\r\n=hx2g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHLyWQUS88bowy5yFTXV9XOB84o1aWiQo2TDe8F69s0CAiEAp3zySBsmi9kfCmmPZQOx4hunUTkhgPvFUKh0HH1C9jk="}]},"maintainers":[{"name":"darrenowensplancom","email":"darrenowens@plan.com"}],"_npmUser":{"name":"darrenowensplancom","email":"darrenowens@plan.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-window-sticky_1.6.2_1566470356088_0.35132139153830555"},"_hasShrinkwrap":false},"1.8.5":{"name":"@darrenowensplancom/react-window-sticky","version":"1.8.5","description":"React components for efficiently rendering large, scrollable lists and tabular data","author":{"name":"Brian Vaughn","email":"brian.david.vaughn@gmail.com","url":"https://github.com/bvaughn/"},"contributors":[{"name":"Brian Vaughn","email":"brian.david.vaughn@gmail.com","url":"https://github.com/bvaughn/"},{"name":"Andre Azzolini","url":"https://github.com/apazzolini/"},{"name":"Darren Owens","url":"https://github.com/darrenowensplancom/"}],"license":"MIT","homepage":"http://react-window.now.sh/","repository":{"type":"git","url":"git+https://github.com/darrenowensplancom/react-window.git"},"bugs":{"url":"https://github.com/darrenowensplancom/react-window/issues"},"engines":{"node":">8.0.0"},"keywords":["react","reactjs","virtual","window","windowed","list","scrolling","infinite","virtualized","table","grid","spreadsheet"],"main":"dist/index.cjs.js","module":"dist/index.esm.js","scripts":{"flow":"flow check --max-warnings=0 src && flow check website","precommit":"lint-staged","prettier":"prettier --write '**/*.{js,json,css}'","linc":"lint-staged","lint":"eslint '**/*.js'","test":"cross-env CI=1 react-scripts test --env=jsdom","test:watch":"react-scripts test --env=jsdom","build:flow":"cp flow-template dist/index.cjs.js.flow && cp flow-template dist/index.esm.js.flow","build:source":"rollup -c","build":"del dist && mkdir dist && yarn build:flow && yarn build:source","start":"rollup -c -w","prepare":"yarn run build","website:build":"cd website && yarn build","website:deploy":"cd website && yarn deploy","website:run":"cd website && yarn start"},"lint-staged":{"{website,src}/**/*.{js,json,css}":["prettier --write","git add"],"**/*.js":"eslint --max-warnings 0"},"dependencies":{"@babel/runtime":"^7.0.0","memoize-one":">=3.1.1 <6"},"peerDependencies":{"react":"^15.0.0 || ^16.0.0","react-dom":"^15.0.0 || ^16.0.0"},"devDependencies":{"@babel/core":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/preset-env":"^7.0.0","@babel/preset-flow":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^9.0.0","babel-plugin-annotate-pure-calls":"^0.3.0","cross-env":"^5.1.4","del-cli":"^1.1.0","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-config-react-app":"^2.1.0","eslint-config-standard":"^11.0.0","eslint-config-standard-react":"^6.0.0","eslint-plugin-flowtype":"^2.47.1","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^5","eslint-plugin-node":"^6.0.1","eslint-plugin-prettier":"^2.6.0","eslint-plugin-promise":"^3.7.0","eslint-plugin-react":"^7.7.0","eslint-plugin-standard":"^3.0.1","flow-bin":"^0.101.0","gh-pages":"^1.1.0","lint-staged":"^7.0.5","prettier":"^1.12.1","react":"^16.8.4","react-dom":"^16.8.4","react-is":"^16.8.4","react-scripts":"^1.1.1","react-test-renderer":"^16.7.0","rollup":"^1.4.1","rollup-plugin-babel":"^4.3.2","rollup-plugin-commonjs":"^9.2.1","rollup-plugin-node-resolve":"^4.0.1","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^5.1.0"},"gitHead":"ebb5b5434d25b07283f374fc26af4eb4d7f55a82","_id":"@darrenowensplancom/react-window-sticky@1.8.5","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-VQd3nTAIXCG0hwIWFHKJvzA+9lRs1SZUvQP3N0z/mQQb5sVkVy1vgr4mU/yqVFUxfbetNWZktnpEAMlNv7PHTA==","shasum":"c30dc788fc1ceed9493d714d8dcf79b0e6f99c79","tarball":"https://registry.npmjs.org/@darrenowensplancom/react-window-sticky/-/react-window-sticky-1.8.5.tgz","fileCount":26,"unpackedSize":933987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF0tvCRA9TVsSAnZWagAAAmIQAJ22sEJ4LtnJVZYdaU+a\nKCXzKLUdQjELXAYzU0DtPKzB01JRwRUETmWF0MoBFN35elwty3yIg569PDAh\nlYcqnAUFrm7ZDs4BiRvEE/ROSW49SN8IwOelNUmZMWD93lEV0XdqiEtzgUX/\nO8rf6E3Brp1zFDdvz7u/Xw+s5uoSBoMHr20msXdLE/EUiR1cL/8QolVCVwvH\na4aTUpWJS68WPIMYTMPZKFirTr6AO8ALQlx8+KzGXbjWz3UzoGarJigpJjza\nXn2kOgb30yaj7Cm3H85iO6EIF/lMSsxR9N0eAfsTaOM+a8kLWdXyC3uEhBP6\nD9ZHPLemcX5JQtktsdAh9V5Bt6XYgaya2lWNdZ+oIr5HisP990HqAkKLEtd2\n8Z9gVl7Py/YSfUj0YqwBQiBFIsfROgnRR9oV4BcGm9zR1aps/rt0aNO/Jyv8\n5E5YghRzTCfMa8789rQzn2VCaLJSG7UMtf83kamiSkvlI+hZWIWWjP5IwPGG\nXnPObSN+GyeITsj8haaz2rm2eJ1ZKtnCy4PfTmwXjBsWu+bwCGdmOpoiCh5s\nM3ZT+WW/8eigXU7h/W/3v8B26d/RD6M7/M/is7+qJLjsWNdtdQ3+0PoTTKXA\nrovlgzgQ0nubhG7b85ubelddFuEsVChzeAZ1AiyJt0ErElyyK9tlffsjMumF\n80u8\r\n=9y4d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDn+VA4IJqThWG0cC1lPz30/RSptJnT2Mb3oT34RSK+DAIhAKIA+pqUm9mqSXkJCiLUodzvsgLyRNez5iVLVYAUVYmf"}]},"maintainers":[{"name":"darrenowensplancom","email":"darrenowens@plan.com"}],"_npmUser":{"name":"darrenowensplancom","email":"darrenowens@plan.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-window-sticky_1.8.5_1578584943522_0.7841239688738626"},"_hasShrinkwrap":false},"1.8.6":{"name":"@darrenowensplancom/react-window-sticky","version":"1.8.6","description":"React components for efficiently rendering large, scrollable lists and tabular data","author":{"name":"Brian Vaughn","email":"brian.david.vaughn@gmail.com","url":"https://github.com/bvaughn/"},"contributors":[{"name":"Brian Vaughn","email":"brian.david.vaughn@gmail.com","url":"https://github.com/bvaughn/"},{"name":"Andre Azzolini","url":"https://github.com/apazzolini/"},{"name":"Darren Owens","url":"https://github.com/darrenowensplancom/"}],"license":"MIT","homepage":"http://react-window.now.sh/","repository":{"type":"git","url":"git+https://github.com/darrenowensplancom/react-window.git"},"bugs":{"url":"https://github.com/darrenowensplancom/react-window/issues"},"engines":{"node":">8.0.0"},"keywords":["react","reactjs","virtual","window","windowed","list","scrolling","infinite","virtualized","table","grid","spreadsheet"],"main":"dist/index.cjs.js","module":"dist/index.esm.js","scripts":{"flow":"flow check --max-warnings=0 src && flow check website","precommit":"lint-staged","prettier":"prettier --write '**/*.{js,json,css}'","linc":"lint-staged","lint":"eslint '**/*.js'","test":"cross-env CI=1 react-scripts test --env=jsdom","test:watch":"react-scripts test --env=jsdom","build:flow":"cp flow-template dist/index.cjs.js.flow && cp flow-template dist/index.esm.js.flow","build:source":"rollup -c","build":"del dist && mkdir dist && yarn build:flow && yarn build:source","start":"rollup -c -w","prepare":"yarn run build","website:build":"cd website && yarn build","website:deploy":"cd website && yarn deploy","website:run":"cd website && yarn start"},"lint-staged":{"{website,src}/**/*.{js,json,css}":["prettier --write","git add"],"**/*.js":"eslint --max-warnings 0"},"dependencies":{"@babel/runtime":"^7.0.0","memoize-one":">=3.1.1 <6"},"peerDependencies":{"react":"^15.0.0 || ^16.0.0","react-dom":"^15.0.0 || ^16.0.0"},"devDependencies":{"@babel/core":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0","@babel/plugin-transform-runtime":"^7.0.0","@babel/preset-env":"^7.0.0","@babel/preset-flow":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^9.0.0","babel-plugin-annotate-pure-calls":"^0.3.0","cross-env":"^5.1.4","del-cli":"^1.1.0","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-config-react-app":"^2.1.0","eslint-config-standard":"^11.0.0","eslint-config-standard-react":"^6.0.0","eslint-plugin-flowtype":"^2.47.1","eslint-plugin-import":"^2.11.0","eslint-plugin-jsx-a11y":"^5","eslint-plugin-node":"^6.0.1","eslint-plugin-prettier":"^2.6.0","eslint-plugin-promise":"^3.7.0","eslint-plugin-react":"^7.7.0","eslint-plugin-standard":"^3.0.1","flow-bin":"^0.101.0","gh-pages":"^1.1.0","lint-staged":"^7.0.5","prettier":"^1.12.1","react":"^16.8.4","react-dom":"^16.8.4","react-is":"^16.8.4","react-scripts":"^1.1.1","react-test-renderer":"^16.7.0","rollup":"^1.4.1","rollup-plugin-babel":"^4.3.2","rollup-plugin-commonjs":"^9.2.1","rollup-plugin-node-resolve":"^4.0.1","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^5.1.0"},"gitHead":"ebb5b5434d25b07283f374fc26af4eb4d7f55a82","_id":"@darrenowensplancom/react-window-sticky@1.8.6","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-a6OgHX676Q5hBjD9WUWDiy8qS1a1Kj7vpPpovr6l3kUqZHqhOMOKKtP/Q/7lLwkDi5XAMwB7pNe0rvHWSM7/9A==","shasum":"a86723f96b1fff3310b44668dc4709e90bb38f5e","tarball":"https://registry.npmjs.org/@darrenowensplancom/react-window-sticky/-/react-window-sticky-1.8.6.tgz","fileCount":26,"unpackedSize":934308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF08ACRA9TVsSAnZWagAA0GAP/1JycX1Ei2cxY7M57DQL\nfDgp7NPMMAorT+XAAiGsm2l5ZzhXuzFw8ipJBdaUF6pYi6simOQSMHUdBycQ\nucyOppy9m6yyMx9aoyPURtrdTi8kFWtyCBCStxyXkuvCuf+sjN6BINOLExg+\nmlsbWwXQkjf6/ZrViQ/XYWbDB75RfOO5dEV1vUDDQSTnJaliGtl3YKsVufJP\nF3L2kefdz5pmAZCCOVf8bOzAzxbaiJUeqyQtIEaBp+rAKQYT6E0ZEFId4IBf\nakBnq9ytWb2e1MBgA4TFXx2LP8SpN1EKYDc9pGMDRAhSZyP8Frl0tpsgUCpC\nLxX8wx4fQaLMI2Yh96Om/iNbXR4Rs7/7eq19cNQTtph/1RMTT9usU5kdzmCT\nEtwYT2CtAodlphLnIz04LkOrkeeGIlQS5FyWSoXM1ON6a1aVqftKhq46+LIB\nGEDpaOztK8CxxU15g828EbK60RjaZcrcv6QHFhFI0uKenZm4FLwHXuESezZ5\nJic+NzPLGvNdmX6prRXI8fg0DDsWS6ntTMdhhL/owgfQwMjeQpiQVa8WH2q7\nC+//SAUOITUy0fgF/CrlJvbyfd31P9cK79fJiX1bRUlIu5ZDCsJDZ6f4tAiL\ncnhOSrhQsuDIQdlCypeKhZ6UAGHQhrd7M/7ZH+Ju53mMRoGxOwWlmIbhE8MS\n1icI\r\n=FacO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHFKrG6aDsCC5HBIeMlTsOQJY3Tl+GSy5HYmqEH8tNWXAiEAxXnIFdCFrZZbdeRvRrD3PzxjzzyL2w56yokvpHz/0X8="}]},"maintainers":[{"name":"darrenowensplancom","email":"darrenowens@plan.com"}],"_npmUser":{"name":"darrenowensplancom","email":"darrenowens@plan.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-window-sticky_1.8.6_1578585856276_0.8423585094506847"},"_hasShrinkwrap":false}},"time":{"created":"2019-08-22T10:39:15.849Z","1.6.2":"2019-08-22T10:39:16.249Z","modified":"2022-04-05T02:45:57.265Z","1.8.5":"2020-01-09T15:49:03.674Z","1.8.6":"2020-01-09T16:04:16.679Z"},"maintainers":[{"name":"darrenowensplancom","email":"darrenowens@plan.com"}],"description":"React components for efficiently rendering large, scrollable lists and tabular data","homepage":"http://react-window.now.sh/","keywords":["react","reactjs","virtual","window","windowed","list","scrolling","infinite","virtualized","table","grid","spreadsheet"],"repository":{"type":"git","url":"git+https://github.com/darrenowensplancom/react-window.git"},"contributors":[{"name":"Brian Vaughn","email":"brian.david.vaughn@gmail.com","url":"https://github.com/bvaughn/"},{"name":"Andre Azzolini","url":"https://github.com/apazzolini/"},{"name":"Darren Owens","url":"https://github.com/darrenowensplancom/"}],"author":{"name":"Brian Vaughn","email":"brian.david.vaughn@gmail.com","url":"https://github.com/bvaughn/"},"bugs":{"url":"https://github.com/darrenowensplancom/react-window/issues"},"license":"MIT","readme":"# react-window - with sticky grid\n\n> React components for efficiently rendering large lists and tabular data\n\n[![NPM registry](https://img.shields.io/npm/v/react-window.svg?style=for-the-badge)](https://yarnpkg.com/en/package/react-window) [![Travis](https://img.shields.io/badge/ci-travis-green.svg?style=for-the-badge)](https://travis-ci.org/bvaughn/react-window) [![NPM license](https://img.shields.io/badge/license-mit-red.svg?style=for-the-badge)](LICENSE.md)\n\n## Install\n\n```bash\n# Yarn\nyarn add react-window\n\n# NPM\nnpm install --save react-window\n```\n\n## Usage\n\nLearn more at [react-window.now.sh](https://react-window.now.sh/):\n\n## Related libraries\n\n* [`react-virtualized-auto-sizer`](https://npmjs.com/package/react-virtualized-auto-sizer): HOC that grows to fit all of the available space and passes the width and height values to its child.\n* [`react-window-infinite-loader`](https://npmjs.com/package/react-window-infinite-loader): Helps break large data sets down into chunks that can be just-in-time loaded as they are scrolled into view. It can also be used to create infinite loading lists (e.g. Facebook or Twitter).\n\n## Frequently asked questions\n\n### How is `react-window` different from `react-virtualized`?\nI wrote `react-virtualized` several years ago. At the time, I was new to both React and the concept of windowing. Because of this, I made a few API decisions that I later came to regret. One of these was adding too many non-essential features and components. Once you add something to an open source project, removing it is pretty painful for users.\n\n`react-window` is a complete rewrite of `react-virtualized`. I didn't try to solve as many problems or support as many use cases. Instead I focused on making the package **smaller**<sup>1</sup> and **faster**. I also put a lot of thought into making the API (and documentation) as beginner-friendly as possible (with the caveat that windowing is still kind of an advanced use case).\n\nIf `react-window` provides the functionality your project needs, I would strongly recommend using it instead of `react-virtualized`. However if you need features that only `react-virtualized` provides, you have two options:\n\n1. Use `react-virtualized`. (It's still widely used by a lot of successful projects!)\n2. Create a component that decorates one of the `react-window` primitives and adds the functionality you need. You may even want to release this component to NPM (as its own, standalone package)! 🙂\n\n<sup>1 - Adding a `react-virtualized` list to a CRA project increases the (gzipped) build size by ~33.5 KB. Adding a `react-window` list to a CRA project increases the (gzipped) build size by &lt;2 KB.</sup>\n\n### Can a list or a grid fill 100% the width or height of a page?\n\nYes. I recommend using the [`react-virtualized-auto-sizer` package](https://npmjs.com/package/react-virtualized-auto-sizer):\n\n<img width=\"336\" alt=\"screen shot 2019-03-07 at 7 29 08 pm\" src=\"https://user-images.githubusercontent.com/29597/54005716-50f41880-410f-11e9-864f-a65bbdf49e07.png\">\n\nHere's a [Code Sandbox demo](https://codesandbox.io/s/3vnx878jk5).\n\n### Why is my list blank when I scroll?\n\nIf your list looks something like this...\n\n<img src=\"https://user-images.githubusercontent.com/29597/54005352-eb535c80-410d-11e9-80b2-d3d02db1f599.gif\" width=\"302\" height=\"152\">\n\n...then you probably forgot to use the `style` parameter! Libraries like react-window work by absolutely positioning the list items (via an inline style), so don't forget to attach it to the DOM element you render!\n\n<img width=\"257\" alt=\"screen shot 2019-03-07 at 7 21 48 pm\" src=\"https://user-images.githubusercontent.com/29597/54005433-45ecb880-410e-11e9-8721-420ff1a153da.png\">\n\n### Can I lazy load data for my list?\n\nYes. I recommend using the [`react-window-infinite-loader` package](https://npmjs.com/package/react-window-infinite-loader):\n\n<img width=\"368\" alt=\"screen shot 2019-03-07 at 7 32 32 pm\" src=\"https://user-images.githubusercontent.com/29597/54006733-653a1480-4113-11e9-907b-08ca5e27b3f9.png\">\n\nHere's a [Code Sandbox demo](https://codesandbox.io/s/5wqo7z2np4).\n\n### Can I attach custom properties or event handlers?\n\nYes, using the `outerElementType` prop.\n\n<img width=\"412\" alt=\"Screen Shot 2019-03-12 at 8 58 09 AM\" src=\"https://user-images.githubusercontent.com/29597/54215333-f9ee9a80-44a4-11e9-9142-34c67026d950.png\">\n\nHere's a [Code Sandbox demo](https://codesandbox.io/s/4zqx79nww0).\n\n### Can I add padding to the top and bottom of a list?\n\nYes, although it requires a bit of inline styling.\n\n<img width=\"418\" alt=\"Screen Shot 2019-06-02 at 8 38 18 PM\" src=\"https://user-images.githubusercontent.com/29597/58774454-65ad4480-8576-11e9-8889-07044fd41393.png\">\n\nHere's a [Code Sandbox demo](https://codesandbox.io/s/react-window-list-padding-dg0pq).\n\n### Can I add gutter or padding between items?\n\nYes, although it requires a bit of inline styling.\n\n<img width=\"416\" alt=\"Screen Shot 2019-03-26 at 6 33 56 PM\" src=\"https://user-images.githubusercontent.com/29597/55043972-c14ad700-4ff5-11e9-9caa-2e9f4d85f96c.png\">\n\nHere's a [Code Sandbox demo](https://codesandbox.io/s/2w8wmlm89p).\n\n### Does this library support \"sticky\" items?\n\nYes, although it requires a small amount of user code. Here's a [Code Sandbox demo](https://codesandbox.io/s/0mk3qwpl4l).\n\n## License\n\nMIT © [bvaughn](https://github.com/bvaughn)\n","readmeFilename":"README.md"}