gitextract_lr2rhb18/ ├── .changeset/ │ └── config.json ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── config.yml │ ├── pull_request_template.md │ ├── renovate.json │ └── workflows/ │ ├── autofix.yml │ ├── pr.yml │ └── release.yml ├── .gitignore ├── .npmrc ├── .nvmrc ├── .prettierignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs/ │ ├── api/ │ │ ├── virtual-item.md │ │ └── virtualizer.md │ ├── config.json │ ├── framework/ │ │ ├── angular/ │ │ │ └── angular-virtual.md │ │ ├── lit/ │ │ │ └── lit-virtual.md │ │ ├── react/ │ │ │ └── react-virtual.md │ │ ├── solid/ │ │ │ └── solid-virtual.md │ │ ├── svelte/ │ │ │ └── svelte-virtual.md │ │ └── vue/ │ │ └── vue-virtual.md │ ├── installation.md │ └── introduction.md ├── eslint.config.js ├── examples/ │ ├── angular/ │ │ ├── dynamic/ │ │ │ ├── .devcontainer/ │ │ │ │ └── devcontainer.json │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.component.ts │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── app.routes.ts │ │ │ │ │ ├── column-virtualizer-dynamic.component.ts │ │ │ │ │ ├── grid-virtualizer-dynamic.component.ts │ │ │ │ │ ├── row-virtualizer-dynamic-window.component.ts │ │ │ │ │ ├── row-virtualizer-dynamic.component.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── fixed/ │ │ │ ├── .devcontainer/ │ │ │ │ └── devcontainer.json │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.component.ts │ │ │ │ │ ├── column-virtualizer-fixed.component.ts │ │ │ │ │ ├── grid-virtualizer-fixed.component.ts │ │ │ │ │ └── row-virtualizer-fixed.component.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── infinite-scroll/ │ │ │ ├── .devcontainer/ │ │ │ │ └── devcontainer.json │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ └── app.component.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── padding/ │ │ │ ├── .devcontainer/ │ │ │ │ └── devcontainer.json │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.component.ts │ │ │ │ │ ├── column-virtualizer-padding.component.ts │ │ │ │ │ ├── grid-virtualizer-padding.component.ts │ │ │ │ │ └── row-virtualizer-padding.component.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── smooth-scroll/ │ │ │ ├── .devcontainer/ │ │ │ │ └── devcontainer.json │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ └── app.component.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── sticky/ │ │ │ ├── .devcontainer/ │ │ │ │ └── devcontainer.json │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ └── app.component.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── table/ │ │ │ ├── .devcontainer/ │ │ │ │ └── devcontainer.json │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.component.ts │ │ │ │ │ └── make-data.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ ├── variable/ │ │ │ ├── .devcontainer/ │ │ │ │ └── devcontainer.json │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── angular.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── app/ │ │ │ │ │ ├── app.component.ts │ │ │ │ │ ├── column-virtualizer-variable.component.ts │ │ │ │ │ ├── grid-virtualizer-variable.component.ts │ │ │ │ │ └── row-virtualizer-variable.component.ts │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ └── styles.css │ │ │ ├── tsconfig.app.json │ │ │ └── tsconfig.json │ │ └── window/ │ │ ├── .devcontainer/ │ │ │ └── devcontainer.json │ │ ├── .gitignore │ │ ├── README.md │ │ ├── angular.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── app/ │ │ │ │ └── app.component.ts │ │ │ ├── index.html │ │ │ ├── main.ts │ │ │ └── styles.css │ │ ├── tsconfig.app.json │ │ └── tsconfig.json │ ├── lit/ │ │ ├── dynamic/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ └── fixed/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.css │ │ │ └── main.ts │ │ ├── tsconfig.json │ │ └── vite.config.js │ ├── react/ │ │ ├── dynamic/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── fixed/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── infinite-scroll/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── padding/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── scroll-padding/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── smooth-scroll/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── sticky/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── table/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ └── makeData.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ ├── variable/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.css │ │ │ │ └── main.tsx │ │ │ ├── tsconfig.json │ │ │ └── vite.config.js │ │ └── window/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.css │ │ │ └── main.tsx │ │ ├── tsconfig.json │ │ └── vite.config.js │ ├── svelte/ │ │ ├── dynamic/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── ColumnVirtualizerDynamic.svelte │ │ │ │ ├── GridVirtualizerDynamic.svelte │ │ │ │ ├── RowVirtualizerDynamic.svelte │ │ │ │ ├── RowVirtualizerDynamicWindow.svelte │ │ │ │ ├── app.css │ │ │ │ ├── main.ts │ │ │ │ └── vite-env.d.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ └── vite.config.ts │ │ ├── fixed/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── ColumnVirtualizerFixed.svelte │ │ │ │ ├── GridVirtualizerFixed.svelte │ │ │ │ ├── RowVirtualizerFixed.svelte │ │ │ │ ├── app.css │ │ │ │ ├── main.ts │ │ │ │ └── vite-env.d.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ └── vite.config.ts │ │ ├── infinite-scroll/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── InfiniteRows.svelte │ │ │ │ ├── app.css │ │ │ │ ├── main.ts │ │ │ │ └── vite-env.d.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ └── vite.config.ts │ │ ├── smooth-scroll/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── app.css │ │ │ │ ├── main.ts │ │ │ │ └── vite-env.d.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ └── vite.config.ts │ │ ├── sticky/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.svelte │ │ │ │ ├── app.css │ │ │ │ ├── main.ts │ │ │ │ └── vite-env.d.ts │ │ │ ├── svelte.config.js │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ └── vite.config.ts │ │ └── table/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.svelte │ │ │ ├── app.css │ │ │ ├── main.ts │ │ │ ├── makeData.ts │ │ │ └── vite-env.d.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ └── vue/ │ ├── dynamic/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── components/ │ │ │ │ ├── ColumnVirtualizerDynamic.vue │ │ │ │ ├── GridVirtualizerDynamic.vue │ │ │ │ ├── RowVirtualizerDynamic.vue │ │ │ │ ├── RowVirtualizerDynamicWindow.vue │ │ │ │ └── utils.ts │ │ │ ├── main.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── fixed/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── components/ │ │ │ │ ├── ColumnVirtualizerFixed.vue │ │ │ │ ├── GridVirtualizerFixed.vue │ │ │ │ └── RowVirtualizerFixed.vue │ │ │ ├── main.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── infinite-scroll/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── main.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── padding/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── components/ │ │ │ │ ├── ColumnVirtualizerPadding.vue │ │ │ │ ├── GridVirtualizerPadding.vue │ │ │ │ └── RowVirtualizerPadding.vue │ │ │ ├── main.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── scroll-padding/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── main.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── smooth-scroll/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── main.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── sticky/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── main.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ ├── table/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── main.ts │ │ │ ├── makeData.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ └── variable/ │ ├── .gitignore │ ├── README.md │ ├── index.html │ ├── package.json │ ├── src/ │ │ ├── App.vue │ │ ├── components/ │ │ │ ├── ColumnVirtualizerVariable.vue │ │ │ ├── GridVirtualizerVariable.vue │ │ │ ├── MasonryHorizontalVirtualizerVariable.vue │ │ │ ├── MasonryVerticalVirtualizerVariable.vue │ │ │ └── RowVirtualizerVariable.vue │ │ ├── main.ts │ │ ├── style.css │ │ └── vite-env.d.ts │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts ├── knip.json ├── media/ │ └── logo.sketch ├── nx.json ├── package.json ├── packages/ │ ├── angular-virtual/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── eslint.config.js │ │ ├── ng-package.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── proxy.ts │ │ │ └── types.ts │ │ ├── tsconfig.build.json │ │ └── tsconfig.json │ ├── lit-virtual/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ ├── tests/ │ │ │ └── index.test.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── react-virtual/ │ │ ├── CHANGELOG.md │ │ ├── e2e/ │ │ │ └── app/ │ │ │ ├── measure-element/ │ │ │ │ ├── index.html │ │ │ │ └── main.tsx │ │ │ ├── scroll/ │ │ │ │ ├── index.html │ │ │ │ └── main.tsx │ │ │ ├── smooth-scroll/ │ │ │ │ ├── index.html │ │ │ │ └── main.tsx │ │ │ ├── stale-index/ │ │ │ │ ├── index.html │ │ │ │ └── main.tsx │ │ │ ├── test/ │ │ │ │ ├── measure-element.spec.ts │ │ │ │ ├── scroll.spec.ts │ │ │ │ ├── smooth-scroll.spec.ts │ │ │ │ └── stale-index.spec.ts │ │ │ ├── tsconfig.json │ │ │ └── vite.config.ts │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── playwright.config.ts │ │ ├── src/ │ │ │ └── index.tsx │ │ ├── tests/ │ │ │ ├── index.test.tsx │ │ │ └── test-setup.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── solid-virtual/ │ │ ├── CHANGELOG.md │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.tsx │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── svelte-virtual/ │ │ ├── CHANGELOG.md │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── virtual-core/ │ │ ├── CHANGELOG.md │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ └── utils.ts │ │ ├── tests/ │ │ │ └── index.test.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ └── vue-virtual/ │ ├── CHANGELOG.md │ ├── eslint.config.js │ ├── package.json │ ├── src/ │ │ └── index.ts │ ├── tsconfig.json │ └── vite.config.ts ├── pnpm-workspace.yaml ├── prettier.config.js ├── scripts/ │ └── verify-links.ts └── tsconfig.json