Gathering detailed insights and metrics for clerk-themez
Gathering detailed insights and metrics for clerk-themez
Gathering detailed insights and metrics for clerk-themez
Gathering detailed insights and metrics for clerk-themez
npm install clerk-themez
Typescript
Module System
Node Version
NPM Version
47.1
Supply Chain
90.3
Quality
81.7
Maintenance
100
Vulnerability
100
License
Cumulative downloads
Total Downloads
Last day
0%
1
Compared to previous day
Last week
-90.9%
1
Compared to previous week
Last month
80%
18
Compared to previous month
Last year
0%
706
Compared to previous year
No dependencies detected.
Clerk-Themez is a collection of custom themes designed specifically for Clerk authentication components. With these themes, you can style Clerk’s sign-in, sign-up, and user button management sections globally by importing the theme once in your root or layout file.
clerk-themez
package, run:1 npm install clerk-themez
clerk-themez
package, must run to install clerk:1 npm install @clerk/nextjs
clerk-themez
package, must run to install clerk theme:1 npm install @clerk/themes
src/app/(auth)/sign-in/[[...sign-in]]/page.tsx
):1import { SignIn } from '@clerk/nextjs'; 2import React from 'react'; 3 4const SignInPage = () => { 5 return ( 6 <main className="flex items-center justify-center min-h-screen relative "> 7 <SignIn /> 8 </main> 9 ); 10}; 11 12export default SignInPage;
src/app/(auth)/sign-up/[[...sign-up]]/page.tsx
):1import { SignUp } from "@clerk/nextjs"; 2import React from "react"; 3 4const SignUpPage = () => { 5 return ( 6 <main className="flex items-center justify-center min-h-screen relative "> 7 <SignUp /> 8 </main> 9 ); 10}; 11 12export default SignUpPage;
.env.local
:1NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<add your key> 2CLERK_SECRET_KEY=<add your key> 3# That must add 4NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in 5NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
1 import { neobrutalism } from "@clerk/themes";
neobrutalism
and variables: { colorPrimary: "#fa0053" },
this in your <ClerkProvider>
, in your root directory :1 <ClerkProvider 2 appearance={{ 3 baseTheme: neobrutalism, 4 variables: { colorPrimary: "#fa0053" }, 5 }} 6 > 7 <html lang="en"> 8 <body >{children}</body> 9 </html> 10 </ClerkProvider>
1 import 'clerk-themez/themes/<themename>.css';
middleware.ts or middleware.js
in root directory ( Example :src/middleware.ts
(next.js)):1import { clerkMiddleware } from "@clerk/nextjs/server"; 2 3export default clerkMiddleware(); 4 5export const config = { 6 matcher: [ 7 // Skip Next.js internals and all static files, unless found in search params 8 '/((?!_next|[^?]*\\.(?:html?|css|js(?!on)|jpe?g|webp|png|gif|svg|ttf|woff2?|ico|csv|docx?|xlsx?|zip|webmanifest)).*)', 9 // Always run for API routes 10 '/(api|trpc)(.*)', 11 ], 12};
Once installed, you can easily apply a theme globally by importing it into your root or layout file.
In a Next.js project, import the theme in your layout.tsx
file for it to apply across all Clerk components (such as SignIn
, SignUp
, and the UserButton
).
Example (Next.js):
1// src/app/layout.tsx 2 3import type { Metadata } from "next"; 4import { ClerkProvider } from "@clerk/nextjs"; 5import { neobrutalism } from "@clerk/themes"; 6import 'clerk-themez/themes/<themename>.css'; // Import the chosen theme 7export default function RootLayout({ 8 children, 9}: Readonly<{ 10 children: React.ReactNode; 11}>) { 12 return ( 13 <ClerkProvider 14 appearance={{ 15 baseTheme: neobrutalism, 16 variables: { colorPrimary: "#fa0053" }, 17 }} 18 > 19 <html lang="en"> 20 <body >{children}</body> 21 </html> 22 </ClerkProvider> 23 ); 24} 25
Replace <themename>
with the name of your preferred theme from the list below.
By importing the theme in the root file (layout.tsx
for Next.js), the styles will automatically apply to all Clerk authentication components across your app, including:
UserButton
)In other frameworks (e.g., React, Vue, etc.), you can achieve the same effect by importing the theme in your root component or the entry point of your application.
For example, in a React project, import the theme in the App.js
or App.tsx
file:
1// App.js 2 3import 'clerk-themez/themes/<themename>.css'; 4 5function App() { 6 return ( 7 <div className="App"> 8 {/* Your components */} 9 </div> 10 ); 11} 12 13export default App;
Here is a list of available themes:
Here is the list with all the themes arranged in the same format:
1 import 'clerk-themez/themes/cosmicflux.css';
1 import 'clerk-themez/themes/blackbluish.css';
1 import 'clerk-themez/themes/blueblush.css';
1 import 'clerk-themez/themes/bluresh.css';
1 import 'clerk-themez/themes/darklitflux.css';
1 import 'clerk-themez/themes/dreamscape.css';
1 import 'clerk-themez/themes/ember.css';
1 import 'clerk-themez/themes/floatball.css';
1 import 'clerk-themez/themes/glassyblack.css';
1 import 'clerk-themez/themes/glassybluesh.css';
1 import 'clerk-themez/themes/glassygreesh.css';
1 import 'clerk-themez/themes/leafgreen.css';
1 import 'clerk-themez/themes/moonlit.css';
1 import 'clerk-themez/themes/moonlitflux.css';
1 import 'clerk-themez/themes/neonwave.css';
1 import 'clerk-themez/themes/nightdream.css';
1 import 'clerk-themez/themes/pinkbless.css';
1 import 'clerk-themez/themes/pinkdrish.css';
1 import 'clerk-themez/themes/pinkesh.css';
1 import 'clerk-themez/themes/prismatic.css';
1 import 'clerk-themez/themes/sunsetblaze.css';
1 import 'clerk-themez/themes/waveflux.css';
1 import 'clerk-themez/themes/whisperflux.css';
1 import 'clerk-themez/themes/whitegrain.css';
1 import 'clerk-themez/themes/zestful.css';
If you want to tweak the themes to match your app's branding, you can modify the CSS Class directly or use the provided styles as a base.
1.cl-backLink,.cl-button,.cl-button:focus,.cl-button:hover,.cl-dividerLine,.cl-dividerText,.cl-footer,.cl-footerActionText,.cl-formFieldInput,.cl-formFieldInputShowPasswordButton,.cl-formFieldInputShowPasswordButton:hover,.cl-formFieldLabel,.cl-formFieldRadioLabelTitle,.cl-formResendCodeLink,.cl-headerSubtitle,.cl-headerTitle,.cl-identityPreviewEditButton,.cl-identityPreviewText,.cl-internal-10vqj2v,.cl-internal-1338bh3,.cl-internal-13lvar6,.cl-internal-13u79ez,.cl-internal-162hn3d,.cl-internal-178xxbv,.cl-internal-17jfncx,.cl-internal-18msqv3,.cl-internal-1b2ebjn,.cl-internal-1dauvpw,.cl-internal-1e86so8,.cl-internal-1e86so8:focus,.cl-internal-1e86so8:hover,.cl-internal-1fsy72e,.cl-internal-1fy2g6e,.cl-internal-1fy2g6e:hover,.cl-internal-1hp5nqm,.cl-internal-1jcsuiw,.cl-internal-1jokxdd,.cl-internal-1k60c9o,.cl-internal-1mwxfst,.cl-internal-1y71s3o,.cl-internal-3f8jnx,.cl-internal-617r0v,.cl-internal-6ni1dv,.cl-internal-6ni1dv:hover,.cl-internal-bzdfjc,.cl-internal-csc3r5,.cl-internal-d2hd6e:hover,.cl-internal-d5dzke,.cl-internal-df7v37,.cl-internal-hy4pby,.cl-internal-k7p5wl,.cl-internal-mg5k16 .bg-white,.cl-internal-n0yayv,.cl-internal-s825v9 .cl-internal-1agciv4,.cl-internal-s825v9:hover,.cl-internal-xpydm8,.cl-internal-zqxz1f,.cl-menuItem:hover,.cl-navbarMobileMenuRow,.cl-otpCodeFieldInput,.cl-profileSectionTitleText,.cl-signIn-root,.cl-signIn-start,.cl-signUp-root,.cl-signUp-start,.cl-socialButtonsBlockButton,.cl-socialButtonsBlockButton:hover,.cl-socialButtonsBlockButtonText,.cl-userButtonPopoverActionButton,.cl-userButtonPopoverActionButton:hover,.cl-userButtonTrigger,.cl-userPreview,.cl-userPreviewSecondaryIdentifier
If you'd like to contribute to this collection of themes, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
No vulnerabilities found.
No security vulnerabilities found.