{title}
{description}
Replace this example with a component from your own registry.
{description}
By proceeding, you agree to creating a {brandName} account subject to our{" "} Terms of Service {" "} and{" "} Privacy Policy .
); } export function GoogleProviderIcon({ className }: { className?: string }) { return ( ); } ``` ### auth-labels.ts ```ts /** * User-facing copy for the auth blocks. Every field has an English default, so * the blocks render standalone; consumers override these (e.g. with their i18n * library) by passing a partial `labels` object. The blocks stay i18n-agnostic — * they never import a translation library. * * These live in their own module (not alongside the components) so the component * file only exports components, keeping React Fast Refresh happy. */ export interface AuthEmailOtpLabels { continueWithEmail: string; sendingCode: string; /** Lead-in shown before the (separately styled) masked email. */ otpSentTo: string; changeEmail: string; verifying: string; createAccount: string; signIn: string; sending: string; emailAriaLabel: string; codeAriaLabel: string; } export const AUTH_EMAIL_OTP_DEFAULT_LABELS: AuthEmailOtpLabels = { continueWithEmail: "Continue with Email", sendingCode: "Sending code...", otpSentTo: "Enter the code sent to", changeEmail: "Change email", verifying: "Verifying...", createAccount: "Create account", signIn: "Sign in", sending: "Sending...", emailAriaLabel: "Email address", codeAriaLabel: "Verification code", }; export interface AuthEmailPasswordLabels { passwordPlaceholder: string; forgotPassword: string; creatingAccount: string; signingIn: string; createAccount: string; signIn: string; useOtp: string; emailAriaLabel: string; passwordAriaLabel: string; } export const AUTH_EMAIL_PASSWORD_DEFAULT_LABELS: AuthEmailPasswordLabels = { passwordPlaceholder: "Password", forgotPassword: "Forgot password?", creatingAccount: "Creating account...", signingIn: "Signing in...", createAccount: "Create account", signIn: "Sign in", useOtp: "Use a verification code instead", emailAriaLabel: "Email address", passwordAriaLabel: "Password", }; ``` ## Usage Authentication form blocks for email/password and email one-time-code flows. ```tsx import { AuthEmailPasswordBlock, AuthPageShell } from "@/components/auth"; ``` --- URL: https://pi-shadcn.vercel.app/blocks/loading-screen.md A full-screen branded loading overlay with progress and a minimum dwell time. # Loading Screen A full-screen branded loading overlay with progress and a minimum dwell time. ## Installation ```bash npx shadcn@latest add https://pi-shadcn.vercel.app/r/loading-screen.json ``` [Registry JSON](https://pi-shadcn.vercel.app/r/loading-screen.json) ## Preview ```tsx import { LoadingScreen } from "@/components/loading-screen"; export function Preview() { return ({text}
}{pagination.total.toLocaleString()} {l.results}
{copyState.status === "copied" ? "Copied to clipboard." : "Ready to copy."}