gitextract_9c2q8070/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.yml │ │ ├── config.yml │ │ └── feature-request.yml │ └── workflows/ │ ├── continuous-publish.yml │ ├── pr-title.yml │ ├── release-notes.yml │ └── test.yml ├── .gitignore ├── .node-version ├── CHANGELOG.md ├── README.md ├── SKILLS-GENERATION.md ├── docs/ │ ├── .vitepress/ │ │ ├── components/ │ │ │ └── demos/ │ │ │ ├── ChatStreamDocDemo.vue │ │ │ ├── DemoShell.vue │ │ │ ├── DynamicScrollerDocDemo.vue │ │ │ ├── GridDocDemo.vue │ │ │ ├── HorizontalDocDemo.vue │ │ │ ├── RecycleScrollerDocDemo.vue │ │ │ ├── SimpleListDocDemo.vue │ │ │ ├── TestChatDocDemo.vue │ │ │ └── demo-data.ts │ │ ├── config.mts │ │ └── theme/ │ │ ├── index.ts │ │ └── style.css │ ├── demos/ │ │ ├── chat.md │ │ ├── dynamic-scroller.md │ │ ├── grid.md │ │ ├── horizontal.md │ │ ├── index.md │ │ ├── recycle-scroller.md │ │ ├── simple-list.md │ │ └── test-chat.md │ ├── guide/ │ │ ├── ai-skills.md │ │ ├── dynamic-scroller-item.md │ │ ├── dynamic-scroller.md │ │ ├── id-state.md │ │ ├── index.md │ │ ├── recycle-scroller.md │ │ └── use-recycle-scroller.md │ └── index.md ├── eslint.config.mjs ├── netlify.toml ├── package.json ├── packages/ │ ├── demo/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── public/ │ │ │ └── index.html │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── components/ │ │ │ │ ├── ChatDemo.vue │ │ │ │ ├── DynamicScrollerDemo.vue │ │ │ │ ├── GridDemo.vue │ │ │ │ ├── Home.vue │ │ │ │ ├── HorizontalDemo.vue │ │ │ │ ├── Person.vue │ │ │ │ ├── RecycleScrollerDemo.vue │ │ │ │ ├── SimpleList.vue │ │ │ │ └── TestChat.vue │ │ │ ├── data.js │ │ │ ├── main.js │ │ │ └── router.js │ │ └── vite.config.js │ └── vue-virtual-scroller/ │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── skills/ │ │ └── vue-virtual-scroller/ │ │ ├── SKILL.md │ │ └── references/ │ │ ├── dynamic-scroller-item.md │ │ ├── dynamic-scroller.md │ │ ├── index.md │ │ ├── installation-and-setup.md │ │ ├── recycle-scroller.md │ │ └── use-recycle-scroller.md │ ├── src/ │ │ ├── components/ │ │ │ ├── DynamicScroller.spec.ts │ │ │ ├── DynamicScroller.vue │ │ │ ├── DynamicScrollerItem.spec.ts │ │ │ ├── DynamicScrollerItem.vue │ │ │ ├── ItemView.spec.ts │ │ │ ├── ItemView.vue │ │ │ ├── RecycleScroller.spec.ts │ │ │ ├── RecycleScroller.vue │ │ │ └── ResizeObserver.vue │ │ ├── composables/ │ │ │ ├── useDynamicScroller.spec.ts │ │ │ ├── useDynamicScroller.ts │ │ │ ├── useDynamicScrollerItem.ts │ │ │ ├── useIdState.spec.ts │ │ │ ├── useIdState.ts │ │ │ ├── useRecycleScroller.spec.ts │ │ │ └── useRecycleScroller.ts │ │ ├── config.ts │ │ ├── directives/ │ │ │ └── observeVisibility.ts │ │ ├── index.spec.ts │ │ ├── index.ts │ │ ├── scrollparent.spec.ts │ │ ├── scrollparent.ts │ │ ├── shims-vue.d.ts │ │ ├── types.ts │ │ ├── utils.spec.ts │ │ └── utils.ts │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── vite.config.ts └── pnpm-workspace.yaml