├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── 1-bug-report.yaml │ └── 2-feature-request.yaml └── workflows │ ├── e2e.yml │ └── test.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── README.md ├── examples ├── example │ ├── .gitignore │ ├── package.json │ ├── pages │ │ ├── _app.js │ │ ├── dark.js │ │ ├── index.js │ │ └── light.js │ └── styles.css ├── multi-theme │ ├── .gitignore │ ├── README.md │ ├── next.config.js │ ├── package.json │ ├── postcss.config.js │ ├── src │ │ ├── app │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ └── components │ │ │ ├── ThemeProvider.tsx │ │ │ └── ThemeToggles.tsx │ ├── tailwind.config.ts │ └── tsconfig.json ├── tailwind │ ├── .gitignore │ ├── package.json │ ├── pages │ │ ├── _app.js │ │ ├── _document.js │ │ └── index.js │ ├── postcss.config.js │ ├── styles.css │ └── tailwind.config.js └── with-app-dir │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── postcss.config.js │ ├── src │ └── app │ │ ├── ThemeToggle.tsx │ │ ├── globals.css │ │ ├── layout.tsx │ │ └── page.tsx │ ├── tailwind.config.ts │ └── tsconfig.json ├── license.md ├── next-themes ├── README.md ├── __tests__ │ └── index.test.tsx ├── license.md ├── package.json ├── src │ ├── index.tsx │ ├── script.ts │ └── types.ts ├── tsconfig.json └── tsup.config.ts ├── package.json ├── playwright.config.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── test ├── forced-theme.test.ts ├── storage-event.test.ts ├── switch-theme.test.ts ├── system-theme.test.ts └── util.ts └── turbo.json /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: pacocoursey 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/1-bug-report.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/.github/ISSUE_TEMPLATE/1-bug-report.yaml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/2-feature-request.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/.github/ISSUE_TEMPLATE/2-feature-request.yaml -------------------------------------------------------------------------------- /.github/workflows/e2e.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/.github/workflows/e2e.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .next 2 | dist 3 | build 4 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/.prettierrc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ./next-themes/README.md -------------------------------------------------------------------------------- /examples/example/.gitignore: -------------------------------------------------------------------------------- 1 | .vercel 2 | -------------------------------------------------------------------------------- /examples/example/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/example/package.json -------------------------------------------------------------------------------- /examples/example/pages/_app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/example/pages/_app.js -------------------------------------------------------------------------------- /examples/example/pages/dark.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/example/pages/dark.js -------------------------------------------------------------------------------- /examples/example/pages/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/example/pages/index.js -------------------------------------------------------------------------------- /examples/example/pages/light.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/example/pages/light.js -------------------------------------------------------------------------------- /examples/example/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/example/styles.css -------------------------------------------------------------------------------- /examples/multi-theme/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/.gitignore -------------------------------------------------------------------------------- /examples/multi-theme/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/README.md -------------------------------------------------------------------------------- /examples/multi-theme/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/next.config.js -------------------------------------------------------------------------------- /examples/multi-theme/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/package.json -------------------------------------------------------------------------------- /examples/multi-theme/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/postcss.config.js -------------------------------------------------------------------------------- /examples/multi-theme/src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/src/app/globals.css -------------------------------------------------------------------------------- /examples/multi-theme/src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/src/app/layout.tsx -------------------------------------------------------------------------------- /examples/multi-theme/src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/src/app/page.tsx -------------------------------------------------------------------------------- /examples/multi-theme/src/components/ThemeProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/src/components/ThemeProvider.tsx -------------------------------------------------------------------------------- /examples/multi-theme/src/components/ThemeToggles.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/src/components/ThemeToggles.tsx -------------------------------------------------------------------------------- /examples/multi-theme/tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/tailwind.config.ts -------------------------------------------------------------------------------- /examples/multi-theme/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/multi-theme/tsconfig.json -------------------------------------------------------------------------------- /examples/tailwind/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/tailwind/.gitignore -------------------------------------------------------------------------------- /examples/tailwind/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/tailwind/package.json -------------------------------------------------------------------------------- /examples/tailwind/pages/_app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/tailwind/pages/_app.js -------------------------------------------------------------------------------- /examples/tailwind/pages/_document.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/tailwind/pages/_document.js -------------------------------------------------------------------------------- /examples/tailwind/pages/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/tailwind/pages/index.js -------------------------------------------------------------------------------- /examples/tailwind/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/tailwind/postcss.config.js -------------------------------------------------------------------------------- /examples/tailwind/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/tailwind/styles.css -------------------------------------------------------------------------------- /examples/tailwind/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/tailwind/tailwind.config.js -------------------------------------------------------------------------------- /examples/with-app-dir/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/.gitignore -------------------------------------------------------------------------------- /examples/with-app-dir/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/README.md -------------------------------------------------------------------------------- /examples/with-app-dir/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/package.json -------------------------------------------------------------------------------- /examples/with-app-dir/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/postcss.config.js -------------------------------------------------------------------------------- /examples/with-app-dir/src/app/ThemeToggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/src/app/ThemeToggle.tsx -------------------------------------------------------------------------------- /examples/with-app-dir/src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/src/app/globals.css -------------------------------------------------------------------------------- /examples/with-app-dir/src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/src/app/layout.tsx -------------------------------------------------------------------------------- /examples/with-app-dir/src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/src/app/page.tsx -------------------------------------------------------------------------------- /examples/with-app-dir/tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/tailwind.config.ts -------------------------------------------------------------------------------- /examples/with-app-dir/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/examples/with-app-dir/tsconfig.json -------------------------------------------------------------------------------- /license.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/license.md -------------------------------------------------------------------------------- /next-themes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/next-themes/README.md -------------------------------------------------------------------------------- /next-themes/__tests__/index.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/next-themes/__tests__/index.test.tsx -------------------------------------------------------------------------------- /next-themes/license.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/next-themes/license.md -------------------------------------------------------------------------------- /next-themes/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/next-themes/package.json -------------------------------------------------------------------------------- /next-themes/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/next-themes/src/index.tsx -------------------------------------------------------------------------------- /next-themes/src/script.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/next-themes/src/script.ts -------------------------------------------------------------------------------- /next-themes/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/next-themes/src/types.ts -------------------------------------------------------------------------------- /next-themes/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/next-themes/tsconfig.json -------------------------------------------------------------------------------- /next-themes/tsup.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/next-themes/tsup.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/package.json -------------------------------------------------------------------------------- /playwright.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/playwright.config.ts -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /test/forced-theme.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/test/forced-theme.test.ts -------------------------------------------------------------------------------- /test/storage-event.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/test/storage-event.test.ts -------------------------------------------------------------------------------- /test/switch-theme.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/test/switch-theme.test.ts -------------------------------------------------------------------------------- /test/system-theme.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/test/system-theme.test.ts -------------------------------------------------------------------------------- /test/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/test/util.ts -------------------------------------------------------------------------------- /turbo.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pacocoursey/next-themes/HEAD/turbo.json --------------------------------------------------------------------------------