Skip to content

About

A set of React components for animating elements as they scroll into the viewport

Resources

Stars

740 stars

Watchers

5 watching

Forks

Latest commit

ย 

History

60 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

react-genie

A set of React components for animating elements as they scroll into the viewport

Kitze Made by Kitze
kitze.io ยท X ยท YouTube


More projects by Kitze

pwn.watch logo
pwn.watch
Live security incidents: CVEs, patch status, fixed versions and advisories.
flavors.design logo
flavors.design
Copy-pasteable design flavors. Pick a vibe, hand the markdown to your agent.
gifs.so logo
gifs.so
Search, copy, and download reaction GIFs.
Shipper logo
Shipper
Changelog, roadmap, feature requests and tasks for every product you ship.
Kanso logo
Kanso
One keyboard-first app for your todos, habits, routines, planner and saved stuff.
HealthMaxx logo
HealthMaxx
One health log for everything you track: by hand, from wearables, or through your AI.
Zero To Shipped logo
Zero To Shipped
A full-stack starter kit for web and mobile apps.
Sotto logo
Sotto
Voice-to-text for macOS. Local AI, one-time purchase.
Tinkerer Club logo
Tinkerer Club
A private community for builders, self-hosters, and AI tinkerers.
Sizzy logo
Sizzy
The browser for web developers.
Supermac logo
Supermac
A macOS command center for everyday workflows.
DMX logo
DMX
A focused desktop client for X.

Support this project

Buy me a coffee ย  Sponsor on GitHub

Sponsors

Matte logo
Matte
3D mockups and screen recordings with pro-level video editing
Postiz logo
Postiz
Agentic social scheduler for GIFs!
ScreenshotOne logo
ScreenshotOne
The best screenshot API for developers and agents
ether.fi logo
ether.fi
a neobank with a built in ai-connector, build your own frontend to your finance with claude, chatgpt or your LLM of choice! Feedback always welcome!
OpenProse logo
OpenProse
Reliable, event-driven multiagent workflows โ€” in Markdown.
OpenTweet logo
OpenTweet
Agentic X (Twitter) autopilot.
AppSumo logo
AppSumo
1M+ entrepreneurs use AppSumo to find the best deals on software for their business. One-time payments, lifetime access.
Team Spartan by CONFLICT logo
Team Spartan by CONFLICT
Know what matters. Get it fixed. Experience spans high-traffic consumer platforms, cloud infrastructure, and security โ€” built under real operational pressure.
Browserless.io logo
Browserless.io
The web layer your agent runs on.
Strix logo
Strix
Hack yourself before the bad guys do. Open source (70k+ stars on Github)
Maple VC logo
Maple VC
We're 3 operators (digitalocean, uber, shopify) turned investors who write first checks into folks with ambition to build global businesses.
Rakazo logo
Rakazo
Open source Grok Bot
The Influencer AI logo
The Influencer AI
AI influencer generator: create a realistic influencer from traits or your photos, then make photos, talking videos and UGC ads with the same face every time.
Pluginboard logo
Pluginboard
Find the right plugins for your AI agents. Plugins, skills and step-by-step recipes for Claude, ChatGPT, Grokbot, Muse, Gemini and more.
file.cafe logo
file.cafe
Free, instant file sharing.
LinkDR logo
LinkDR
Link building that works: real backlinks from hundreds of high-DR sites, done for you or self-serve.
Outmano logo
Outmano
AI agents that watch your competitors so you don't have to
Mixpost logo
Mixpost
Self-hosted social media scheduler. Pay once.
Synteq logo
Synteq
The cloud, built for developers.
Your product here
Reach developers in every kitze repo.



๐Ÿงžโ€โ™‚๏ธ react-genie

๐Ÿ™‹โ€โ™‚๏ธ Made by @thekitze

Other projects:

  • ๐Ÿ’ป Sizzy - A browser for designers and developers, focused on responsive design
  • ๐Ÿซ React Academy - Interactive React and GraphQL workshops
  • ๐Ÿ”ฎ Glink - Changelogs, Roadmap, User Requests
  • ๐Ÿถ Benji - Ultimate wellness and productivity platform
  • ๐Ÿค– JSUI - A powerful UI toolkit for managing JavaScript apps
  • ๐Ÿ“น YouTube Vlog - Follow my journey

Zero To Shipped

Used on sizzy.co

animation

CodeSandbox

https://codesandbox.io/s/react-genie-example-8xfsc

Demo

https://8xfsc.csb.app/

Dependencies

  • styled-components
  • layout-styled-components
  • react-animations
  • react-intersection-observer

Usage

yarn add react-genie

Just render the RevealGlobalStyles component anywhere, so it will add the class names for the animations:

import {RevealGlobalStyles} from 'react-genie'

const App = () => {
  return (
    <div>
      <RevealGlobalStyles />
      <div> rest of the app </div>
    </div>
  );
};

Default animation:

import {Reveal} from 'react-genie';

<Reveal>
  <h1>The default animation is fade in</h1>
</Reveal>

Props:

{
  animation?: string; // animation class name
  delay?: number; // animation delay
  mode?: RevealMode; // "clone" or "wrap"
  debugName?: string; // if you specify it, you will get console logs
  style?: CSSObject; // extra styles
  onShowDone?: () => void; // callback after show
}

Specifying animation using the animation prop:

import {Reveal, Animation} from 'react-genie';

<Reveal animation={Animation.SlideInLeft}>
  <h1>This title will slide in from the left</h1>
</Reveal>

Hint: you can also pass your own class name here if you have custom animations.

Wrap vs Clone

The default mode is wrap, so the children element will be wrapped in an additional div. If you don't want that additional div, you can use clone or RevealMode.Clone.

import {Reveal, RevealMode} from 'react-genie';

<Reveal mode={RevealMode.Clone}>
  <h1>This h1 will be cloned instead of wrapped</h1>
</Reveal>

In order for clone to work your element needs to accept className, style, and ref, as props. So, if you're trying to clone custom components, make sure they support these props.

The AnimatedTitle component

import {Reveal, AnimatedTitle} from 'react-genie';

<AnimatedTitle>
  This sentence will animate in word by word
</AnimatedTitle>

The AnimatedTitle component will split the children prop word by word (so it should be a string), and animate each word with a delay in between.


More projects by Kitze

Apps & tools

Perkz
Sell and manage access to private GitHub repositories.
JustWrite
Distraction-free writing sprints for macOS, with time or word-count goals.
Releaseflow
App updates and downloads.
Passlock
A macOS password manager with time locks and unlock challenges.

Open source

Skillbox
A self-hosted, versioned skills library for AI agents.
Unclutter
Remove page clutter with AI-powered, reusable browser rules.
PageGrade
Grade page clarity, writing, and on-page SEO.
Council
Let your coding agents deliberate together before making a plan.
CodexMaxx
Manage Codex accounts, usage, and active sessions on macOS.
React Hanger
A collection of useful React hooks.
React Genie
Animate React elements as they enter the viewport.
MobX Router
A simple router for MobX and React apps.

All projects ยท GitHub ยท Follow on X ยท YouTube

About

A set of React components for animating elements as they scroll into the viewport

Resources

Stars

740 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages