Skip to content

  • AccordionUI Primitives
  • Acid SquaresBackgrounds
  • Aero ShardsBackgrounds
  • Alert DialogUI Primitives
  • Animated ButtonButtons
  • Animated ContentAnimations
  • Animated ListComponents
  • Animated TabsComponents
  • Animated TestimonialsComponents
  • AnnouncementUI Primitives
  • AntigravityAnimations
  • Arc SidebarWidgets & Mascots
  • ASCII TextText Animations
  • Aspect RatioUI Primitives
  • AuroraBackgrounds
  • Aurora DotsBackgrounds
  • AvatarUI Primitives
  • Avatar GroupUI Primitives
  • Background PathsBackgrounds
  • BadgeUI Primitives
  • BallpitBackgrounds
  • Bars WaveBackgrounds
  • BeamsBackgrounds
  • Beams UpstreamBackgrounds
  • Bell ToggleMicro Interactions
  • Bento GridComponents
  • Blob CursorAnimations
  • Blur TextText Animations
  • Bolt StrikeBackgrounds
  • Bounce CardsComponents
  • Branched MenuMicro Interactions
  • Bubble MenuComponents
  • ButtonUI Primitives
  • CalendarUI Primitives
  • Call ChipMicro Interactions
  • CardUI Primitives
  • Card FlipComponents
  • Card NavComponents
  • Card SwapComponents
  • CheckboxUI Primitives
  • Checklist CellComponents
  • Chroma GridComponents
  • Circular TextText Animations
  • Click SparkAnimations
  • ClockWidgets & Mascots
  • Code BlockUI Primitives
  • Code SlotsMicro Interactions
  • CollapsibleUI Primitives
  • Color BendsBackgrounds
  • Column LinesBackgrounds
  • Comet DialMicro Interactions
  • Cosmic BackgroundBackgrounds
  • Count UpText Animations
  • CounterComponents
  • CrosshairAnimations
  • CRT WarpBackgrounds
  • CubesAnimations
  • Cursor GridAnimations
  • Cursor HighlightAnimations
  • Curved InputComponents
  • Curved LoopText Animations
  • Dark VeilBackgrounds
  • Decay CardComponents
  • Decorated TextText Animations
  • Decrypted TextText Animations
  • Depth TextText Animations
  • DialogUI Primitives
  • DitherBackgrounds
  • Dither VeilAnimations
  • DockComponents
  • Dodge FieldMicro Interactions
  • Dot FieldBackgrounds
  • Dot GridBackgrounds
  • Dot WaveBackgrounds
  • Draggable AvatarComponents
  • DrawerUI Primitives
  • Drift CardComponents
  • Drift WallComponents
  • Dropdown MenuUI Primitives
  • Dual SparksBackgrounds
  • Duration PickerWidgets & Mascots
  • Dynamic IslandWidgets & Mascots
  • Echo TextText Animations
  • Elastic MeshAnimations
  • Elastic SliderComponents
  • Electric BorderAnimations
  • Electric TextText Animations
  • Evil EyeBackgrounds
  • Expandable CardsComponents
  • Expandable DockComponents
  • FacescapeComponents
  • Fade ContentAnimations
  • Falling TextText Animations
  • Fancy TextText Animations
  • Faulty TerminalBackgrounds
  • Feature ShowcaseComponents
  • FerrofluidBackgrounds
  • Flashy CardComponents
  • Flex NavbarComponents
  • Flip CardMicro Interactions
  • Flip FlowComponents
  • Flip StackComponents
  • Floating LinesBackgrounds
  • Flowing MenuComponents
  • Fluid GlassComponents
  • Flying PostersComponents
  • Fold TextText Animations
  • FolderComponents
  • Folder FloatMicro Interactions
  • Folder TreeComponents
  • Follow CursorAnimations
  • Fuse ButtonButtons
  • Fuzzy TextText Animations
  • GalaxyBackgrounds
  • Ghost CursorAnimations
  • Ghost FibersBackgrounds
  • GitHub ActivityWidgets & Mascots
  • Glare HoverAnimations
  • Glass CardComponents
  • Glass IconsComponents
  • Glass SurfaceComponents
  • Glide SelectMicro Interactions
  • Glint BotWidgets & Mascots
  • Glitch TextText Animations
  • GlobeWidgets & Mascots
  • Globe WireframeWidgets & Mascots
  • Glow BorderAnimations
  • Glow CursorAnimations
  • Gooey NavWidgets & Mascots
  • Gradient BlindsBackgrounds
  • Gradient TextText Animations
  • Gradient WavesBackgrounds
  • Gradual BlurAnimations
  • Grain GradientBackgrounds
  • GravityAnimations
  • Grid BackgroundBackgrounds
  • Grid DistortionBackgrounds
  • Grid MotionBackgrounds
  • Grid ScanBackgrounds
  • Halftone RevealAnimations
  • Hold To ConfirmButtons
  • Hover CardUI Primitives
  • HyperspeedBackgrounds
  • Image TrailAnimations
  • Infinite CanvasComponents
  • Infinite MenuComponents
  • Infinite SpiralComponents
  • InputUI Primitives
  • Input OTPUI Primitives
  • Interactive InputComponents
  • iPhone MockupWidgets & Mascots
  • IridescenceBackgrounds
  • Jelly RadioMicro Interactions
  • KbdUI Primitives
  • KeyboardWidgets & Mascots
  • Kinetic TestimonialsComponents
  • LabelUI Primitives
  • Lamp HeroComponents
  • LanyardComponents
  • Laser FlowAnimations
  • Lattice LoaderMicro Interactions
  • Layer StackComponents
  • Layered ButtonButtons
  • Layered TextText Animations
  • Lean CardComponents
  • Letter GlitchBackgrounds
  • Light PillarBackgrounds
  • Light RaysBackgrounds
  • Light TunnelBackgrounds
  • LightfallBackgrounds
  • LightningBackgrounds
  • Line SidebarComponents
  • Line WavesBackgrounds
  • Liquid ChromeBackgrounds
  • Liquid EtherBackgrounds
  • LoaderMicro Interactions
  • Login FormComponents
  • Logo StepperComponents
  • Luminescent FlowsBackgrounds
  • Lustre TextText Animations
  • Magic BentoComponents
  • Magic RingsAnimations
  • MagnetAnimations
  • Magnet LinesAnimations
  • MarqueeAnimations
  • Masked HeadingText Animations
  • MasonryComponents
  • Matrix OrbWidgets & Mascots
  • Media CardComponents
  • Meta BallsAnimations
  • Metallic PaintAnimations
  • Meteor OrbitComponents
  • MeteorsBackgrounds
  • Model ViewerComponents
  • Modern LoaderMicro Interactions
  • Molten MetalBackgrounds
  • Morning WidgetWidgets & Mascots
  • Morph SliderComponents
  • Morph TextText Animations
  • Morphy ButtonButtons
  • Motion CardsComponents
  • Motion GridAnimations
  • Motion NavbarComponents
  • Moving LinesBackgrounds
  • Navbar FlowComponents
  • NoiseAnimations
  • Not FoundComponents
  • Number TickerWidgets & Mascots
  • Option WheelComponents
  • OrbBackgrounds
  • Orb ButtonButtons
  • Orbit ImagesAnimations
  • Page TransitionAnimations
  • PaginationUI Primitives
  • Paper CrumpleMicro Interactions
  • Parallax CardsComponents
  • Particle TextText Animations
  • ParticlesBackgrounds
  • Peek RatingMicro Interactions
  • Pill NavComponents
  • Pixel BackgroundBackgrounds
  • Pixel BlastBackgrounds
  • Pixel CardComponents
  • Pixel HighlightAnimations
  • Pixel SnowBackgrounds
  • Pixel SwapAnimations
  • Pixel TrailAnimations
  • Pixel TransitionAnimations
  • PlasmaBackgrounds
  • Plasma WaveBackgrounds
  • PopoverUI Primitives
  • PrismBackgrounds
  • Prismatic BurstBackgrounds
  • Profile CardComponents
  • ProgressUI Primitives
  • Prompt BarMicro Interactions
  • Pulse HeartMicro Interactions
  • RadarBackgrounds
  • Radial FlowComponents
  • Radial SocialsComponents
  • Radio GroupUI Primitives
  • ReelComponents
  • Refine FrameMicro Interactions
  • Reflective CardComponents
  • Reveal TextText Animations
  • RibbonsAnimations
  • Ripple DistortionAnimations
  • Ripple GridBackgrounds
  • Rotating TextText Animations
  • Rubber SegmentMicro Interactions
  • ScannerBackgrounds
  • Scrambled TextText Animations
  • Scroll AreaUI Primitives
  • Scroll ExpandAnimations
  • Scroll FloatText Animations
  • Scroll RevealText Animations
  • Scroll StackComponents
  • Scroll VelocityText Animations
  • Scrub FieldMicro Interactions
  • Search CellComponents
  • SelectUI Primitives
  • Sensitive TextText Animations
  • SeparatorUI Primitives
  • Shape BlurAnimations
  • Shape WavesBackgrounds
  • SheetUI Primitives
  • Shiny ButtonButtons
  • Shiny TextText Animations
  • ShredderMicro Interactions
  • Shuffle TextText Animations
  • Side RaysBackgrounds
  • Signup FormComponents
  • SilkBackgrounds
  • Sliced WavesBackgrounds
  • Slide CommitMicro Interactions
  • Slide TextText Animations
  • SliderUI Primitives
  • Sling ButtonButtons
  • Slosh GaugeMicro Interactions
  • Social OrbitComponents
  • Soft AuroraBackgrounds
  • Spark WavesBackgrounds
  • Specular ButtonButtons
  • Splash CursorAnimations
  • Split Flap TextText Animations
  • Split TextText Animations
  • SplitterComponents
  • Spotlight CardAnimations
  • Spring CheckMicro Interactions
  • Squares GridBackgrounds
  • Squish SwitchMicro Interactions
  • Stagger ButtonButtons
  • Stagger CharsText Animations
  • Staggered MenuComponents
  • Stats CountComponents
  • StatusUI Primitives
  • Status MarkMicro Interactions
  • StepperComponents
  • Sticker PeelAnimations
  • StrandsAnimations
  • Stripe ButtonButtons
  • Striped GridBackgrounds
  • Stroke TextText Animations
  • Swarm CursorAnimations
  • Swipe RowMicro Interactions
  • Swipe StackComponents
  • Swipe ToastMicro Interactions
  • SwirlBackgrounds
  • TableUI Primitives
  • TabsUI Primitives
  • Target CursorAnimations
  • Task WidgetWidgets & Mascots
  • Tear TicketMicro Interactions
  • Tech TextText Animations
  • Text CursorText Animations
  • Text GenerateText Animations
  • Text HighlighterText Animations
  • Text LoopText Animations
  • Text ModifierText Animations
  • Text PressureText Animations
  • Text SpotlightText Animations
  • Theme ToggleMicro Interactions
  • Thought LineMicro Interactions
  • ThreadsBackgrounds
  • Thunder LoaderMicro Interactions
  • Tilt CardAnimations
  • TimelineComponents
  • ToastUI Primitives
  • Toggle VaultMicro Interactions
  • TooltipUI Primitives
  • TopographyBackgrounds
  • True FocusText Animations
  • TypewriterText Animations
  • Variable ProximityText Animations
  • Venom BeamBackgrounds
  • Vercel CardComponents
  • Voice PillMicro Interactions
  • Wake SliderMicro Interactions
  • Warm TooltipMicro Interactions
  • Warp TextText Animations
  • WavesBackgrounds
  • Wavy ButtonButtons
  • Web ThreadsBackgrounds
  • White StripesBackgrounds
Browse components

Login Form

A polished sign-in card with social buttons, password reveal, remember me, animated inline validation, a shake on error and a loading-to-success flow.

Open
Customize

Installation

npx shadcn@latest add @glint-ui/login-form

First time using @glint-ui? Add the registry to components.json once, or install by URL: npx shadcn@latest add https://glint-ui-seven.vercel.app/r/login-form.json

Usage

import { LoginForm } from "@/components/ui/login-form";

<LoginForm
  onSubmit={async ({ email, password, remember }) => {
    const res = await signIn(email, password, remember);
    if (!res.ok) throw new Error("Incorrect email or password.");
  }}
  footer={<>No account? <a href="/signup">Sign up</a></>}
/>

Props

PropTypeDefaultDescription
titlestring"Welcome back"Card heading.
descriptionstring"Sign in to continue to your workspace."Text under the heading.
submitLabelstring"Sign in"Submit button label.
showSocialbooleantrueShow the GitHub / Google buttons.
showRememberbooleantrueShow the Remember me checkbox.
minPasswordLengthnumber8Minimum password length for validation.
onSubmitReactNode—`(values) => void | Promise<void>`. Throw an Error to show its message as a form error.
onSocialReactNode—`(provider: "github" | "google") => void | Promise<void>`.
footerReactNode—Content under the form, e.g. a sign-up link.
classNamestring—Extra classes for the root element.