107 motion patterns. 13 categories.

Every WMPL pattern (A–L plus playful PF) Wayfound has produced. Particles (PA–PE) and the scroll-heavy S-series have their own dedicated rooms — they are not duplicated here. Each card shows id, name, intensity, business fit and the source file.

K-

K · Layout Motion

Masonry, sidebar push, grid-to-list morphs, accordion expansions.

8 patterns
  • K-01

    Masonry Animate In

    medium

    CSS columns masonry layout + IntersectionObserver staggered fade-up of each item.

    galleryportfolioblogfloristnail

    components/motion/layout/MasonryAnimateIn.tsx

  • K-04

    Stagger Grid

    subtle

    Fixed-column grid wrapper with stagger fade-up per cell on viewport enter.

    pricingportfoliofeaturedcards

    components/motion/layout/StaggerGrid.tsx

  • K-05

    Bento Box Grid

    medium

    5-cell Apple Bento style asymmetric grid (1 big + 2 mid + 2 small).

    featuredportfolioshowcaseluxury

    components/motion/layout/BentoBoxGrid.tsx

  • K-06

    Marquee Row

    subtle

    Seamless horizontal infinite marquee for logo wall / trust strip. Pause-on-hover.

    all

    components/motion/layout/MarqueeRow.tsx

  • K-03

    Sticky Panel Reveal

    subtle

    Side panel sticky while main scrolls. Stacked on mobile. panelSide L/R configurable.

    docsportfolioblogstory

    components/motion/layout/StickyPanelReveal.tsx

  • K-08

    Fullbleed Banner

    medium

    CSS trick to break out of constrained parent to 100vw. For hero/announcement banners.

    editorialnewsshophero

    components/motion/layout/FullBleedBanner.tsx

  • K-07

    Sidebar Push

    medium

    Sidebar opens and pushes main content sideways. Layout-aware (not overlay).

    dashboardadminportfolio_filtered

    components/motion/layout/SidebarPush.tsx

  • K-02

    Grid To List Morph

    medium

    Card collection switches between grid (N cols) and list (1 col); items morph smoothly via CSS Grid transition.

    portfolioshopgalleryagency

    components/motion/layout/GridToListMorph.tsx

A-

A · Hero Patterns

Big type, parallax, slideshow, mask reveals.

10 patterns
  • A-02

    Crossfade Slideshow

    medium

    5-image cross-fade slideshow with configurable interval/fade duration. Standalone version of HeroV2 builtin.

    cafebakeryfloristfamilyall

    components/motion/hero/CrossfadeSlideshow.tsx

  • A-06

    Mosaic Grid Hero

    medium

    6-9 photos in unequal-span grid with staggered scale+fade reveal.

    nailpetfamilyportfolioflorist

    components/motion/hero/MosaicGridHero.tsx

  • A-10

    Marquee Hero Underline

    subtle

    Infinite horizontal scroll bar below Hero (hours, rating, etc.). Items joined by separator.

    caferestaurantbakeryshop

    components/motion/hero/MarqueeHeroUnderline.tsx

  • A-03

    Video Hero Loop

    bold

    8-15s autoplay muted loop video. poster fallback. reduced-motion safe.

    restaurantgymmed_spa

    components/motion/hero/VideoHeroLoop.tsx

  • A-04

    Split-Screen Hero

    medium

    50/50 image+text split. imageSide left/right configurable. Mobile stacks.

    boutiquefloristluxuryeditorialwellness

    components/motion/hero/SplitScreenHero.tsx

  • A-05

    Ken Burns Zoom

    subtle

    Single image slow zoom+pan over 15s. Direction in/out, origin configurable.

    luxuryfashionweddingboutiqueeditorial

    components/motion/hero/KenBurnsZoom.tsx

  • A-07

    Sequential Photo Drop

    medium

    Photos drop one by one from top with random rotation and bounce easing.

    floristbakerypetcafefamily

    components/motion/hero/SequentialPhotoDrop.tsx

  • A-08

    Diagonal Wipe Entry

    bold

    Image reveals via diagonal clip-path wipe from chosen corner. 1.4s sharp easing.

    barbershopgymsportstreetweardynamic

    components/motion/hero/DiagonalWipeEntry.tsx

  • A-09

    Parallax Layer Hero

    bold

    3-layer parallax (bg/mid/fg) responding to mouse. Mix-blend modes for depth.

    luxurymed_spastorycinematic

    components/motion/hero/ParallaxLayerHero.tsx

  • A-01

    Big Type Reveal

    bold

    Massive multi-line typography revealed top-down with clip-path inset + 1-word-per-step stagger.

    editorialbrandstudioluxuryagency

    components/motion/hero/HeroBigTypeReveal.tsx

L-

L · Wow Specials

Category-defining show-stoppers for hero centerpieces.

4 patterns
  • L-01

    Bakery Countdown

    medium

    Live countdown to next batch time. Switches to 'Just baked!' at zero. L3 widget.

    bakerycafe

    components/motion/wow/BakeryCountdown.tsx

  • L-02

    Barber Wait Timer

    medium

    Mock live wait minutes + chair availability indicators. L3 widget.

    barbershopsalon

    components/motion/wow/BarberWaitTimer.tsx

  • L-03

    Cafe Live Status

    subtle

    Parses Hours; shows open/closed status + 'closes in Nm' / 'opens in Nm' / mock queue.

    cafecoffee_shopbakeryrestaurant

    components/motion/wow/CafeLiveStatus.tsx

  • L-04

    Florist Occasion Carousel

    medium

    Auto-rotates through seasonal occasions (Mother's Day / Anniversary / Spring). Hover-pause.

    floristgift_shop

    components/motion/wow/FloristOccasionCarousel.tsx

C-

C · Cursor & Pointer

Custom cursors, magnetic, color-inversion, word display.

8 patterns
  • C-02

    Magnetic Cursor

    medium

    Cursor ring snaps toward elements matching `[data-cursor-magnet]` within radius.

    luxuryinteractiveshowcasetech

    components/motion/cursor/MagneticCursor.tsx

  • C-03

    Cursor Trail Glow

    bold

    4-6 soft glowing dots trailing cursor with chain smoothing.

    nailmed_spaluxuryshowcase

    components/motion/cursor/CursorTrailGlow.tsx

  • C-05

    Crosshair Cursor

    medium

    Full-viewport horizontal + vertical lines following cursor.

    barbershopboutiquearchitectluxury_editorial

    components/motion/cursor/CrosshairCursor.tsx

  • C-06

    Cursor Mask Reveal

    bold

    Cursor creates a circular hole through surface layer revealing layer beneath.

    portfolioeditorialluxury

    components/motion/cursor/CursorMaskReveal.tsx

  • C-07

    Cursor Color Inversion

    medium

    White circle with mix-blend-mode: difference. Auto-contrasts on any bg. lily-inc direct learning.

    editorialminimalluxurystory

    components/motion/cursor/CursorColorInversion.tsx

  • C-08

    Cursor Brand Pulse

    subtle

    Single brand-accent dot at cursor with 1.6s pulse animation.

    all

    components/motion/cursor/CursorBrandPulse.tsx

  • C-01

    Cursor Round

    subtle

    Center dot + outer ring follow cursor; ring scales 1.6x on link hover. Foundation cursor pattern.

    all

    components/motion/cursor/CursorRound.tsx

  • C-04

    Cursor Word Display

    medium

    Reads data-cursor-word attribute on hover targets and shows a pill near the cursor with that word.

    portfoliogalleryeditorial

    components/motion/cursor/CursorWordDisplay.tsx

G-

G · Section Transitions

Diagonal wipes, curtain drops, scale zooms between sections.

8 patterns
  • G-01

    Section Fade Bg

    subtle

    Background color fades in when section enters viewport. 800ms ease.

    all

    components/motion/section/SectionFadeBg.tsx

  • G-02

    Section Diagonal Wipe

    bold

    Diagonal clip-path wipe from chosen corner. 1200ms cubic-bezier.

    barbershopgymsportdynamic

    components/motion/section/SectionDiagonalWipe.tsx

  • G-03

    Section Color Shift

    medium

    Each section sets body bg to its color when in view. lily-inc 1s transition.

    editorialluxurystorymulti_chapter

    components/motion/section/SectionColorShift.tsx

  • G-04

    Section Pin Reveal

    medium

    Sticky section with stagger-reveal inner [data-pin-child] elements.

    editorialstorymed_spacinematic

    components/motion/section/SectionPinReveal.tsx

  • G-06

    Section Slide Up

    medium

    Section slides up from 30vh below + fade. 1100ms cubic-bezier.

    editorialluxurycinematic

    components/motion/section/SectionSlideUp.tsx

  • G-07

    Section Reveal Stagger

    medium

    Outer section fade + inner [data-stagger] items reveal sequentially (120ms apart).

    editorialluxurystoryportfolio

    components/motion/section/SectionRevealStagger.tsx

  • G-05

    Section Curtain Drop

    bold

    Brand-color curtain drops from top, holds, exits down.

    cinematicluxurystoryportfolio

    components/motion/section/SectionCurtainDrop.tsx

  • G-08

    Section Scale Zoom Transition

    medium

    Section enters with scale(0.85) + blur(8px) + opacity(0.4) → scale(1) + blur(0) + opacity(1) hub-from-distance feel.

    portfoliostudiobrandagency

    components/motion/section/SectionScaleZoom.tsx

I-

I · Background Effects

Gradient mesh, noise, animated backdrops.

8 patterns
  • I-01

    Gradient Mesh

    medium

    3 animated radial-gradient blobs moving in sin/cos. Per-lead 3 colors. Reduced-motion safe.

    techluxurymodern_minimalmed_spa

    components/motion/bg/GradientMesh.tsx

  • I-02

    Noise Texture Overlay

    subtle

    SVG feTurbulence inline noise overlaid with mix-blend-mode. 0 external deps.

    editorialluxurycinematicfilm

    components/motion/bg/NoiseTexture.tsx

  • I-03

    Dot Grid Pattern

    subtle

    CSS radial-gradient dot grid. lily-inc 完全解析 §6 学び。Optional edge fade with mask-image.

    dentaltechmodern_minimalclinicluxury

    components/motion/bg/DotGrid.tsx

  • I-04

    Aurora Wave

    bold

    conic-gradient with blur(60px) + slow rotation (30s default). Premium beauty aesthetic.

    med_spaluxurybeautybrand_heavy

    components/motion/bg/AuroraWave.tsx

  • I-06

    Grid Lines

    subtle

    Architectural grid lines pattern. Line color / spacing / thickness configurable, fade-edges option.

    techdentalarchitectsaasmodern_minimal

    components/motion/bg/GridLines.tsx

  • I-07

    Stripes Pattern

    subtle

    Diagonal stripes via repeating-linear-gradient. 2 colors / angle / width configurable, optional animation.

    gymsportstreetwearbarbershoptrendy

    components/motion/bg/StripesPattern.tsx

  • I-08

    Radial Pulse

    subtle

    Single radial-gradient circle pulses (scale + opacity) on 4s cycle.

    med_spawellnessspahealth

    components/motion/bg/RadialPulse.tsx

  • I-05

    Animated Gradient

    subtle

    4-color linear gradient that shifts position over 40s. Subtle breathing bg.

    all

    components/motion/bg/AnimatedGradient.tsx

J-

J · Loaders & Indicators

Skeleton shimmer, spinners, progress bars, top-line progress.

6 patterns
  • J-01

    Skeleton Shimmer

    subtle

    Skeleton placeholder with shimmer gradient moving L→R. 1.6s default loop.

    all

    components/motion/loader/SkeletonShimmer.tsx

  • J-02

    Spinning Dots

    subtle

    3 dots bouncing in sequence. Inline async indicator. brand-accent default color.

    all

    components/motion/loader/SpinningDots.tsx

  • J-03

    Progress Bar Fill

    subtle

    Determinate (0-100) or indeterminate progress bar. ARIA-compliant.

    all

    components/motion/loader/ProgressBarFill.tsx

  • J-04

    Inline Loader

    subtle

    Circular SVG spinner using currentColor. Button-busy / inline state.

    all

    components/motion/loader/InlineLoader.tsx

  • J-05

    Pulse Placeholder

    subtle

    Large block placeholder with opacity pulse. Supports center content (icon/label).

    all

    components/motion/loader/PulsePlaceholder.tsx

  • J-06

    Top Line Progress

    subtle

    Fixed top-of-page slim progress line (YouTube-style). Supports determinate (0-100) or indeterminate.

    saasdocseditorialcontent

    components/motion/loader/TopLineProgress.tsx

B-

B · Scroll Reveal

Fade-up, slide-from-side, mask wipe, counter animate.

11 patterns
  • B-02

    Slide From Side

    subtle

    Element slides in from left or right with fade. 100px distance, 800ms easing.

    all

    components/motion/scroll/SlideFromSide.tsx

  • B-03

    Scale Pop In

    medium

    Scale 0.8 → 1.0 with overshoot easing (1.56 spring). Playful bounce.

    nailpetfamilybakeryplayful

    components/motion/scroll/ScalePopIn.tsx

  • B-04

    Blur Sharpen

    medium

    blur(12px) → blur(0) + opacity 0→1, 1200ms ease-out. Editorial focus-in effect.

    luxurymed_spaupscale_elegantboutique

    components/motion/scroll/BlurSharpen.tsx

  • B-05

    Mask Wipe Vertical

    bold

    clip-path reveal from bottom or top. 1400ms cubic-bezier(0.65, 0, 0.35, 1).

    luxuryportfoliocinematic

    components/motion/scroll/MaskWipeVertical.tsx

  • B-01

    Fade Up Stagger Group

    subtle

    Wraps any group: each direct child fades up with staggered IntersectionObserver. Universal baseline.

    all

    components/motion/scroll/FadeUpStaggerGroup.tsx

  • B-08

    Counter Number Animate

    medium

    Number counts 0 → target with ease-out cubic when entering viewport. Supports prefix/suffix/decimals.

    gymclinicsaasportfoliotrust_section

    components/motion/scroll/CounterAnimate.tsx

  • B-07

    Rotate Entry

    medium

    Rotate from -8deg to 0deg with overshoot spring. Playful entry.

    bakerycafefamilyflorist

    components/motion/scroll/RotateEntry.tsx

  • B-05b

    Mask Wipe Bottom Up

    medium

    clip-path inset(100% 0 0 0) → inset(0) bottom-up wipe reveal with custom easing.

    editorialluxuryportfolio

    components/motion/scroll/MaskWipeBottomUp.tsx

  • B-06

    Letter By Letter Scroll

    medium

    Splits text into chars and reveals each with 60ms stagger + blur(4px)→0 decay on viewport enter.

    editorialportfolioluxurystory

    components/motion/scroll/LetterByLetterScroll.tsx

  • B-10

    Bg Color Shift On Scroll

    medium

    Linearly interpolates background color from fromColor to toColor based on element scroll progress.

    editorialstorynarrative

    components/motion/scroll/BgColorShiftOnScroll.tsx

  • B-09

    Pin And Reveal Story

    bold

    Section is pinned for multi-viewport scroll; stages cross-fade by scroll progress. Scrollytelling foundation.

    editorialstoryscrollytellingbrand

    components/motion/scroll/PinAndRevealStory.tsx

D-

D · Image Effects

Parallax, clip-path reveal, before/after, 3D tilt.

10 patterns
  • D-01

    Parallax Image

    subtle

    Background image drifts slowly opposite to scroll. Speed factor configurable (-1..1).

    herostoryportfolioluxury

    components/motion/image/ParallaxImage.tsx

  • D-02

    Image Grayscale Hover

    subtle

    Image is grayscale by default, revealed to color on hover. 600ms filter transition.

    portfolioeditorialluxurystory

    components/motion/image/ImageGrayscaleHover.tsx

  • D-03

    Image Duotone

    bold

    2-color (shadow + highlight) duotone overlay using mix-blend-mode. Optional revert on hover.

    editorialluxurymed_spabrand_heavy

    components/motion/image/ImageDuotone.tsx

  • D-04

    Image Blur on Scroll

    medium

    Image blurs based on distance from viewport center. Max blur ~8px at edges.

    herostoryportfolioeditorial

    components/motion/image/ImageBlurOnScroll.tsx

  • D-06

    Image Mask Wipe Horizontal

    medium

    Horizontal clip-path wipe reveal (left/right configurable). WSMP M4 stand-alone.

    galleryluxuryportfolio

    components/motion/image/ImageMaskWipeH.tsx

  • D-07

    Image Zoom Out Entry

    medium

    scale 1.15 → 1.0 + opacity 0 → 1 on viewport enter. Cinematic camera-pull-back feel.

    luxurymed_spastorycinematic

    components/motion/image/ImageZoomOutEntry.tsx

  • D-08

    Image Hotspot

    medium

    Pulsing dots on image; hover shows tooltip with label/description. For product / treatment / menu highlights.

    med_spaproductrestaurant_menuportfolio

    components/motion/image/ImageHotspot.tsx

  • D-05

    Before/After Slider

    bold

    Draggable divider compares 2 images. Keyboard accessible (arrow keys), touch + mouse support.

    med_spabarbershopnailrenovationbeauty

    components/motion/image/BeforeAfterSlider.tsx

  • D-09

    Image Reveal 3D

    medium

    Image rotates from rotateY(-25deg) translateX(-30px) to 0 with perspective(1200px). 'Lifts off the page'.

    portfolioluxuryshowcaseboutique

    components/motion/image/ImageReveal3D.tsx

  • D-10

    Image Parallax Tilt

    medium

    Mouse-tracked tilt + radial shine reflection. Image responds to cursor as if physical.

    boutiqueproductportfolioluxury

    components/motion/image/ImageParallaxTilt.tsx

E-

E · Typography

Letter-by-letter reveals, gradient text, wave, counter morph.

10 patterns
  • E-01

    Letter-by-letter Reveal

    subtle

    Each character fades up sequentially when in viewport. Stagger 40ms/char, duration 600ms.

    all

    components/motion/text/LetterByLetterReveal.tsx

  • E-02

    Typewriter Text

    medium

    Character-by-character typewriter reveal with blinking caret. 50ms/char default.

    caferestaurantstory-driven

    components/motion/text/TypewriterText.tsx

  • E-03

    Glitch Text

    bold

    Red/cyan chromatic aberration glitch. Idle pulse every 4-8s. Hover-triggered too.

    trendygymstreetwear

    components/motion/text/GlitchText.tsx

  • E-04

    Scramble Text

    medium

    Random chars decode to actual text. IntersectionObserver triggers. Optional re-scramble on hover.

    techluxurydynamic

    components/motion/text/ScrambleText.tsx

  • E-06

    Gradient Text

    medium

    background-clip: text で text に gradient + animated position 8s loop.

    trendyluxurybrand_heavymed_spa

    components/motion/text/GradientText.tsx

  • E-07

    Neon Glow Text

    bold

    Pulsing text-shadow glow in brand-accent. 2s loop. 80s aesthetic / nightclub vibe.

    barnightlifetrendystreetwear

    components/motion/text/NeonGlowText.tsx

  • E-08

    Rotating Words

    medium

    Auto-cycle through array of words with fade+translate transition. 'For your [coffee/dental/...] business'.

    saasmulti_purposebrand_heavy

    components/motion/text/RotatingWords.tsx

  • E-10

    Text Reveal Mask

    subtle

    Text slides up from below overflow-hidden mask on viewport enter. lily-inc H2 simple version.

    editorialluxurystory

    components/motion/text/TextRevealMask.tsx

  • E-05

    Wave Text

    subtle

    Letters bob in sine wave from left to right. Hover doubles amplitude (default 3px).

    cafefamilyplayful

    components/motion/text/WaveText.tsx

  • E-09

    Counter Morph

    medium

    Number animates from 0 → target on viewport enter with easeOutCubic. prefix/suffix/decimals/format props.

    saasmetricsdata_drivenhero_kpi

    components/motion/typography/CounterMorph.tsx

H-

H · Hover & Interaction

Image zoom, magnetic button, glow, tilt 3D, text line swap.

10 patterns
  • H-01

    Image Zoom Hover

    subtle

    Background image scales 1.0 → 1.06 on hover. 700ms easing.

    galleryportfoliofeatured

    components/motion/hover/ImageZoomHover.tsx

  • H-02

    Underline Grow

    subtle

    React version of WSMP M6. Underline grows L→R on hover. Color from --brand-accent.

    all

    components/motion/hover/UnderlineGrow.tsx

  • H-03

    Card Tilt 3D

    medium

    Card tilts in 3D toward cursor (max ±8deg). Eased return. Do NOT combine with FlipCard.

    pricingportfoliofeatured

    components/motion/hover/CardTilt3D.tsx

  • H-04

    Magnetic Button

    medium

    Button drifts toward cursor while hovering (±6px). Spring return on leave.

    all

    components/motion/hover/MagneticButton.tsx

  • H-06

    Info Card on Hover

    subtle

    Popup tooltip-style card appears near trigger on hover. 4 positions (above/below/left/right).

    portfoliogalleryrestaurant_menupricing

    components/motion/hover/InfoCardOnHover.tsx

  • H-07

    Ripple on Click

    subtle

    Material-style click ripple from click point. 700ms expand + fade.

    all

    components/motion/hover/RippleOnClick.tsx

  • H-08

    Glow on Hover

    medium

    Double-layer box-shadow glow with brand-accent on hover + slight lift.

    pricingfeaturedluxurymed_spa

    components/motion/hover/GlowOnHover.tsx

  • H-05

    Hover Photo Reveal

    bold

    Hovered text/link shows associated photo near cursor with fade-in.

    portfoliobloggallery_nav

    components/motion/hover/HoverPhotoReveal.tsx

  • H-09

    Tilt 3D Card with Depth

    bold

    Card tilts on cursor; inner [data-depth] children parallax-translate by depth value. Awwwards-style.

    portfolioluxurystudioshowcase

    components/motion/hover/Tilt3DCard.tsx

  • H-10

    Text Line Swap Hover

    medium

    Hover slides current text up + new text up from bottom. Optional underline expand.

    editorialportfoliostudioluxury

    components/motion/hover/TextLineSwap.tsx

PF-

PF · Playful & Surprise

Click bursts, idle winks, easter eggs, scroll-speed tilts.

6 patterns
  • PF-01

    Konami Easter Egg

    bold

    Classic ↑↑↓↓←→←→BA triggers brand flash + toast + click burst. Once per session.

    all

    components/motion/playful/KonamiEasterEgg.tsx

  • PF-02

    Cursor Shape Morph

    medium

    Cursor turns into a category-appropriate SVG icon (coffee cup / scissors / flower) on hover over key sections.

    caferestaurantbarberflorist

    components/motion/playful/CursorShapeMorph.tsx

  • PF-03

    Logo Mouse Magnetism

    subtle

    Elements with data-logo-magnet gently follow cursor when within 200px radius. Eased return.

    all

    components/motion/playful/LogoMagnetism.tsx

  • PF-04

    Idle Wink

    subtle

    Every 30-60s a random text/element does a brief 'wink' (scale 1→1.1→1). Spontaneous joy.

    all

    components/motion/playful/IdleWink.tsx

  • PF-05

    Click Burst

    medium

    Anywhere user clicks, a small burst of brand-colored particles emerges from the click point and fades.

    all

    components/motion/playful/ClickBurst.tsx

  • PF-06

    Scroll Speed Tilt

    subtle

    Elements with data-scroll-tilt rotate subtly (max 3deg) based on scroll velocity. Decays to 0 when stopped.

    all

    components/motion/playful/ScrollSpeedTilt.tsx