# af-utils
[](https://app.codspeed.io/nowaalex/af-utils?utm_source=badge)
Practical open-source utilities.
[Website](https://af-utils.vercel.app) ·
[Virtual scrolling](https://af-utils.vercel.app/virtual) ·
[Scrollend polyfill](https://af-utils.vercel.app/scrollend-polyfill) ·
[Contributing](conventions.md)
## Projects
### Virtual scrolling
Render large lists, grids, tables, and dynamically sized content without
mounting everything at once.
Available for React, Preact, Solid, Svelte, Lit, Vue, and a framework-agnostic
core.
[Choose a framework](https://af-utils.vercel.app/virtual/frameworks) ·
[Browse examples](https://af-utils.vercel.app/virtual/examples/react/basics/simple-list) ·
[Check compatibility](https://af-utils.vercel.app/virtual/support)
### Scrollend polyfill
Use the standard `scrollend` event API consistently in browsers that still need
a polyfill.
[Get started](https://af-utils.vercel.app/scrollend-polyfill) ·
[Open the runnable example](https://af-utils.vercel.app/scrollend-polyfill/examples/react) ·
[See the bundle size](https://af-utils.vercel.app/scrollend-polyfill/size)
## Contributing
Install the workspace dependencies with:
```sh
pnpm install
```
The complete development workflow and repository rules live in
[conventions.md](conventions.md). This repository is licensed under the
[MIT License](LICENSE).