1Sponsor

Login Flow

Full-page onboarding/login screen with announcement banner, big ASCII title, description, and numbered select

Terminal

Installation

pnpm dlx shadcn@latest add https://termcn.dev/r/login-flow.json

Usage

import { LoginFlow } from "@/components/ui/login-flow";
<LoginFlow title="Acme CLI" padding={2}>
  <LoginFlow.Announcement icon="🎉">
    Version 3.0 is now available!
  </LoginFlow.Announcement>
  <LoginFlow.Description>
    Sign in to access your workspace.
  </LoginFlow.Description>
  <LoginFlow.Select
    label="Choose a login method:"
    options={["GitHub", "Google SSO", "Email & Password"]}
    onSelect={(index) => console.log("selected", index)}
  />
</LoginFlow>

API Reference

LoginFlow

PropTypeDefault
titlestringundefined
titleFont"block" | "simple" | "shade" | "slim""block"
titleColorstringundefined
paddingnumber2
onSelect(index: number) => voidundefined
childrenReactNoderequired

LoginFlow.Announcement

PropTypeDefault
iconstring"*"
iconColorstringundefined
borderStyle"single" | "round" | "double" | "bold""single"
borderColorstringundefined
childrenReactNoderequired

LoginFlow.Description

PropTypeDefault
boldbooleanfalse
dimbooleanfalse
colorstringundefined
childrenReactNoderequired

LoginFlow.Select

PropTypeDefault
labelstringundefined
labelBoldbooleanfalse
optionsstring[]required
activeIndexnumberundefined
defaultIndexnumber0
cursorstring"›"
cursorColorstring"cyan"
activeColorstring"cyan"
onSelect(index: number) => voidrequired
keyboardNavbooleantrue