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 Transition

A WebGL scene-cut — image A bleeds into image B through an animated fbm front with edge refraction, looping ping-pong.

liquid-transition
0px

Customize

Edit props; preview updates instantly.

Customize
Duration
2400ms
Hold
1200ms
Distortion
0.080
Softness
0.18
Noise scale
2.4
Drip
0.55
Direction

Props

Props accepted by LiquidTransition.

PropTypeDefaultDescription
imageAstring—URL of the first image. Fully visible at progress 0.
imageBstring—URL of the second image. Fully visible at progress 1.
progressnumber—Controlled progress 0..1. When supplied, autoplay is ignored.
autoPlaybooleantrueAnimate progress automatically. Ignored when `progress` is provided.
durationnumber2400Length of one A → B sweep in milliseconds.
holdnumber1200Milliseconds to dwell at each end of the sweep when looping.
loopbooleantruePing-pong forever. When false, the transition stops at B after one sweep.
direction"noise" | "horizontal" | "vertical" | "radial""noise"Shape of the moving front. Noise is a liquid blob, the others bias the sweep along an axis or outward from the center.
dripnumber0.55How strongly the direction biases the noise field. 0 is a pure noise blob, 1 is a clean directional wipe.
distortionnumber0.08Liquid refraction amplitude at the moving boundary, in UV units.
softnessnumber0.18Soft edge of the boundary mask. 0 is a hard wipe; larger values feather the front.
noiseScalenumber2.4Noise scale — higher values produce finer streaks.
onComplete() => void—Called when the forward sweep finishes (and at each end of a ping-pong cycle).
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-transition.json

Usage

Import the component and drop it into a render.

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

export function Demo() {
  return (
    <div className="relative h-[480px] w-full overflow-hidden rounded-xl">
      <LiquidTransition
        imageA="/images/liqid-hole-dark.png"
        imageB="/images/liqid-hole-light.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