├── .github ├── CODEOWNERS ├── FUNDING.yml ├── ISSUE_TEMPLATE │ └── bug_report.md └── dependabot.yml ├── .gitignore ├── .prettierrc ├── .vscode └── settings.json ├── CONTRIBUTING.md ├── LICENSE ├── MANIFESTO.md ├── README.md ├── package.json ├── packages ├── core │ ├── browser.ts │ ├── index.ts │ ├── lenis.css │ ├── package.json │ └── src │ │ ├── animate.ts │ │ ├── debounce.ts │ │ ├── dimensions.ts │ │ ├── emitter.ts │ │ ├── lenis.ts │ │ ├── maths.ts │ │ ├── types.ts │ │ └── virtual-scroll.ts ├── react │ ├── README.md │ ├── index.ts │ ├── package.json │ └── src │ │ ├── provider.tsx │ │ ├── store.ts │ │ ├── types.ts │ │ └── use-lenis.ts ├── snap │ ├── README.md │ ├── browser.ts │ ├── index.ts │ ├── package.json │ └── src │ │ ├── debounce.ts │ │ ├── element.ts │ │ ├── snap.ts │ │ ├── types.ts │ │ └── uid.ts └── vue │ ├── README.md │ ├── index.ts │ ├── nuxt │ ├── module.ts │ ├── runtime │ │ └── lenis.ts │ ├── tsconfig.json │ └── types │ │ ├── app.d.ts │ │ └── imports.d.ts │ ├── package.json │ └── src │ ├── provider.ts │ ├── store.ts │ └── use-lenis.ts ├── playground ├── .gitignore ├── astro.config.mjs ├── core │ ├── browser.js │ ├── static.html │ ├── style.css │ └── test.ts ├── horizontal │ ├── browser.js │ ├── static.html │ ├── style.css │ └── test.ts ├── infinite │ ├── browser.js │ ├── static.html │ ├── style.css │ └── test.ts ├── nuxt │ ├── .gitignore │ ├── README.md │ ├── app.vue │ ├── components │ │ └── inner.vue │ ├── nuxt.config.ts │ ├── package.json │ ├── pages │ │ ├── about.vue │ │ └── index.vue │ ├── plugins │ │ └── lenis.ts │ ├── public │ │ ├── favicon.ico │ │ └── robots.txt │ ├── server │ │ └── tsconfig.json │ └── tsconfig.json ├── package.json ├── react │ ├── app.tsx │ └── style.css ├── snap │ ├── style.css │ └── test.ts ├── tsconfig.json ├── vue │ ├── App.vue │ ├── Child.vue │ ├── InnerChild.vue │ ├── setup.ts │ └── style.css └── www │ ├── layouts │ └── Layout.astro │ └── pages │ ├── core.astro │ ├── horizontal.astro │ ├── index.astro │ ├── infinite.astro │ ├── react.astro │ ├── snap.astro │ └── vue.astro ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── scripts └── update-readme.js ├── tsconfig.json ├── tsup.config.ts └── tsup.core.ts /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @darkroomengineering/devs 2 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/.prettierrc -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFESTO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/MANIFESTO.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/package.json -------------------------------------------------------------------------------- /packages/core/browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/browser.ts -------------------------------------------------------------------------------- /packages/core/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/index.ts -------------------------------------------------------------------------------- /packages/core/lenis.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/lenis.css -------------------------------------------------------------------------------- /packages/core/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/package.json -------------------------------------------------------------------------------- /packages/core/src/animate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/src/animate.ts -------------------------------------------------------------------------------- /packages/core/src/debounce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/src/debounce.ts -------------------------------------------------------------------------------- /packages/core/src/dimensions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/src/dimensions.ts -------------------------------------------------------------------------------- /packages/core/src/emitter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/src/emitter.ts -------------------------------------------------------------------------------- /packages/core/src/lenis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/src/lenis.ts -------------------------------------------------------------------------------- /packages/core/src/maths.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/src/maths.ts -------------------------------------------------------------------------------- /packages/core/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/src/types.ts -------------------------------------------------------------------------------- /packages/core/src/virtual-scroll.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/core/src/virtual-scroll.ts -------------------------------------------------------------------------------- /packages/react/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/react/README.md -------------------------------------------------------------------------------- /packages/react/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/react/index.ts -------------------------------------------------------------------------------- /packages/react/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/react/package.json -------------------------------------------------------------------------------- /packages/react/src/provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/react/src/provider.tsx -------------------------------------------------------------------------------- /packages/react/src/store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/react/src/store.ts -------------------------------------------------------------------------------- /packages/react/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/react/src/types.ts -------------------------------------------------------------------------------- /packages/react/src/use-lenis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/react/src/use-lenis.ts -------------------------------------------------------------------------------- /packages/snap/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/snap/README.md -------------------------------------------------------------------------------- /packages/snap/browser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/snap/browser.ts -------------------------------------------------------------------------------- /packages/snap/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/snap/index.ts -------------------------------------------------------------------------------- /packages/snap/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/snap/package.json -------------------------------------------------------------------------------- /packages/snap/src/debounce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/snap/src/debounce.ts -------------------------------------------------------------------------------- /packages/snap/src/element.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/snap/src/element.ts -------------------------------------------------------------------------------- /packages/snap/src/snap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/snap/src/snap.ts -------------------------------------------------------------------------------- /packages/snap/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/snap/src/types.ts -------------------------------------------------------------------------------- /packages/snap/src/uid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/snap/src/uid.ts -------------------------------------------------------------------------------- /packages/vue/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/README.md -------------------------------------------------------------------------------- /packages/vue/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/index.ts -------------------------------------------------------------------------------- /packages/vue/nuxt/module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/nuxt/module.ts -------------------------------------------------------------------------------- /packages/vue/nuxt/runtime/lenis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/nuxt/runtime/lenis.ts -------------------------------------------------------------------------------- /packages/vue/nuxt/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/nuxt/tsconfig.json -------------------------------------------------------------------------------- /packages/vue/nuxt/types/app.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/nuxt/types/app.d.ts -------------------------------------------------------------------------------- /packages/vue/nuxt/types/imports.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/nuxt/types/imports.d.ts -------------------------------------------------------------------------------- /packages/vue/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/package.json -------------------------------------------------------------------------------- /packages/vue/src/provider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/src/provider.ts -------------------------------------------------------------------------------- /packages/vue/src/store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/src/store.ts -------------------------------------------------------------------------------- /packages/vue/src/use-lenis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/packages/vue/src/use-lenis.ts -------------------------------------------------------------------------------- /playground/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/.gitignore -------------------------------------------------------------------------------- /playground/astro.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/astro.config.mjs -------------------------------------------------------------------------------- /playground/core/browser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/core/browser.js -------------------------------------------------------------------------------- /playground/core/static.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/core/static.html -------------------------------------------------------------------------------- /playground/core/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/core/style.css -------------------------------------------------------------------------------- /playground/core/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/core/test.ts -------------------------------------------------------------------------------- /playground/horizontal/browser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/horizontal/browser.js -------------------------------------------------------------------------------- /playground/horizontal/static.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/horizontal/static.html -------------------------------------------------------------------------------- /playground/horizontal/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/horizontal/style.css -------------------------------------------------------------------------------- /playground/horizontal/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/horizontal/test.ts -------------------------------------------------------------------------------- /playground/infinite/browser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/infinite/browser.js -------------------------------------------------------------------------------- /playground/infinite/static.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/infinite/static.html -------------------------------------------------------------------------------- /playground/infinite/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/infinite/style.css -------------------------------------------------------------------------------- /playground/infinite/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/infinite/test.ts -------------------------------------------------------------------------------- /playground/nuxt/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/.gitignore -------------------------------------------------------------------------------- /playground/nuxt/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/README.md -------------------------------------------------------------------------------- /playground/nuxt/app.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/app.vue -------------------------------------------------------------------------------- /playground/nuxt/components/inner.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/components/inner.vue -------------------------------------------------------------------------------- /playground/nuxt/nuxt.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/nuxt.config.ts -------------------------------------------------------------------------------- /playground/nuxt/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/package.json -------------------------------------------------------------------------------- /playground/nuxt/pages/about.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/pages/about.vue -------------------------------------------------------------------------------- /playground/nuxt/pages/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/pages/index.vue -------------------------------------------------------------------------------- /playground/nuxt/plugins/lenis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/plugins/lenis.ts -------------------------------------------------------------------------------- /playground/nuxt/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/public/favicon.ico -------------------------------------------------------------------------------- /playground/nuxt/public/robots.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /playground/nuxt/server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../.nuxt/tsconfig.server.json" 3 | } 4 | -------------------------------------------------------------------------------- /playground/nuxt/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/nuxt/tsconfig.json -------------------------------------------------------------------------------- /playground/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/package.json -------------------------------------------------------------------------------- /playground/react/app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/react/app.tsx -------------------------------------------------------------------------------- /playground/react/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/react/style.css -------------------------------------------------------------------------------- /playground/snap/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/snap/style.css -------------------------------------------------------------------------------- /playground/snap/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/snap/test.ts -------------------------------------------------------------------------------- /playground/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/tsconfig.json -------------------------------------------------------------------------------- /playground/vue/App.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/vue/App.vue -------------------------------------------------------------------------------- /playground/vue/Child.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/vue/Child.vue -------------------------------------------------------------------------------- /playground/vue/InnerChild.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/vue/InnerChild.vue -------------------------------------------------------------------------------- /playground/vue/setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/vue/setup.ts -------------------------------------------------------------------------------- /playground/vue/style.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /playground/www/layouts/Layout.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/www/layouts/Layout.astro -------------------------------------------------------------------------------- /playground/www/pages/core.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/www/pages/core.astro -------------------------------------------------------------------------------- /playground/www/pages/horizontal.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/www/pages/horizontal.astro -------------------------------------------------------------------------------- /playground/www/pages/index.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/www/pages/index.astro -------------------------------------------------------------------------------- /playground/www/pages/infinite.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/www/pages/infinite.astro -------------------------------------------------------------------------------- /playground/www/pages/react.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/www/pages/react.astro -------------------------------------------------------------------------------- /playground/www/pages/snap.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/www/pages/snap.astro -------------------------------------------------------------------------------- /playground/www/pages/vue.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/playground/www/pages/vue.astro -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /scripts/update-readme.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/scripts/update-readme.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/tsup.config.ts -------------------------------------------------------------------------------- /tsup.core.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darkroomengineering/lenis/HEAD/tsup.core.ts --------------------------------------------------------------------------------