Lazy-ui
Lazy-ui
registry components
DocsComponentsBlocksChangelog
GitHub0Install
Navigation11 groups
Get StartedDocs
  • Introduction
  • Installation
  • Changelog
  • All Components
Background13 items
  • Wave CipherNew
  • Horizon CipherNew
  • Orbit CipherNew
  • Orbit BloomNew
  • Orbit MeshNew
  • Aurora MeshNew
  • Chroma FlowNew
  • Prism DriftNew
  • Shadow MeshNew
  • Slime BackgroundNew
  • NeumorphismNew
  • Ripple SurfaceNew
  • Liquid ChromeNew
Text Animate7 items
  • Shiny Text
  • Text WarpNew
  • Text RiseNew
  • Text SpinNew
  • Text ScrambleNew
  • Spinning TextNew
  • Text FlipNew
Animate6 items
  • Counter
  • Liquid RevealNew
  • Liquid TransitionNew
  • Matrix GridNew
  • Particle HaloNew
  • Bling TransitionNew
Effects2 items
  • Reveal Animate
  • Circle CipherNew
Forms2 items
  • Switch
  • Checkbox
Buttons3 items
  • Copy Button
  • GitHub Stars Button
  • Glass ButtonNew
Feedback1 item
  • Progress
Navigation1 item
  • Animated Tabs
Overlay1 item
  • Animate Tooltip
Device Mocks1 item
  • iPhoneNew

Liquid Reveal

A WebGL fluid sim — cursor leaves a dye trail that uncovers a second image through the first, with idle auto-drift.

liquid-reveal
0px

Customize

Edit props; preview updates instantly.

Customize
Cursor size
200px
Mouse force
60
Resolution
0.50x
Viscosity
42
Reveal strength
1.00
Reveal softness
0.85
Auto speed
0.50

Props

Props accepted by LiquidReveal.

PropTypeDefaultDescription
frontImagestring—URL of the image shown by default. Stays visible where the liquid hasn't passed.
backImagestring—URL of the image revealed inside the dye trail as the cursor disturbs the surface.
cursorSizenumber200Radius of the dye splat dropped at the cursor, in pixels.
mouseForcenumber60Strength of the velocity impulse injected by mouse motion. Higher = more splashy.
resolutionnumber0.5Simulation buffer scale (0.25–1). Lower is cheaper but blurrier.
viscousnumber42Velocity diffusion — higher values make the fluid feel thicker and slower.
revealStrengthnumber1How aggressively the dye uncovers the back image.
revealSoftnessnumber0.85Soft edge of the reveal mask. 0 is a hard cut; >1 fades broadly.
autoDemobooleantrueDrift the cursor across the canvas when the user is idle.
autoSpeednumber0.5Idle drift speed, in normalized units per second.
autoResumeDelaynumber1200Milliseconds the cursor must be idle before the demo drift resumes.
classNamestring—Extra class names merged onto the root container.

Installation

Choose CLI for the one-line shadcn install, or copy the file manually.

npx shadcn@latest add https://2lazyui.com/r/liquid-reveal.json

Usage

Import the component and drop it into a render.

demo.tsx12 lines
import { LiquidReveal } from "@/components/lazy-ui/liquid-reveal";

export function Demo() {
  return (
    <div className="relative h-[480px] w-full overflow-hidden rounded-xl">
      <LiquidReveal
        frontImage="/images/armor.png"
        backImage="/images/human.png"
      />
    </div>
  );
}
Registryv0.1
Animated TabsNavigationCopy ButtonButtonsGitHub Stars ButtonButtonsReveal AnimateEffectsCounterAnimateShiny TextText AnimateText WarpText AnimateText RiseText AnimateText SpinText AnimateText ScrambleText AnimateSpinning TextText AnimateText FlipText AnimateProgressFeedbackSwitchFormsGlass ButtonButtonsCheckboxFormsiPhoneDevice MocksCircle CipherEffectsLiquid RevealAnimateLiquid TransitionAnimateWave CipherBackgroundHorizon CipherBackgroundOrbit CipherBackgroundOrbit BloomBackgroundOrbit MeshBackgroundMatrix GridAnimateParticle HaloAnimateAurora MeshBackgroundChroma FlowBackgroundPrism DriftBackgroundShadow MeshBackgroundSlime BackgroundBackgroundNeumorphismBackgroundRipple SurfaceBackgroundLiquid ChromeBackgroundBling TransitionAnimateAnimate TooltipOverlayPricing · ClassicBlocks · PricingPricing · BentoBlocks · PricingPricing · EditorialBlocks · PricingPricing · MatrixBlocks · PricingPricing · UsageBlocks · Pricing
Browse all 42 components
Up nextRoadmap
DialogPlanned
TabsPlanned
TooltipPlanned
CommandPlanned
Help the project
Star on GitHubSuggest a componentRead the DESIGN.md