HomePluginsToolsWorkflowAboutContact
GetSet

Premium UI/UX layout engines, customizable micro-interaction plugins, and high-performance components for modern web developers.

Plugins

  • Carousel
  • Select
  • Zoom
  • FlexoGrid
  • Sortable
  • Modal
  • Drawer
  • Tooltip
  • Popover
  • Toast
  • ContextMenu
  • Tabs
  • Accordion
  • Reveal
  • Autocomplete
  • Tags
  • Range
  • DatePicker
  • Upload
  • Cropper
  • Table
  • Tree
  • Editor

Company

  • Home
  • Plugins
  • Developer Tools
  • Showcase
  • Our Process
  • About Us
  • Contact

Policies

  • Terms and Conditions
  • Privacy Policy
  • Accessibility Policy
  • Cookie Policy

© 2026 GetSet. All rights reserved.

Crafted for frontend excellence.

Your Bundle

Your bundle is empty

Add plugins from the catalog to build one combined CDN link — like picking font families.

Browse plugins
Interaction Plugin

GS Reveal

Scroll-reveal animation engine with a 44-animation catalog, stagger, once/repeat triggers, thresholds and reduced-motion awareness.

Latest: v1.0.2
Downloads last month: 155
Visit Demo Website

Install Package

npm i @get-set/gs-reveal
or via CDN
<link rel="stylesheet" href="https://cdn.get-set.it/gs-reveal/latest/gs-reveal.min.css">
<script src="https://cdn.get-set.it/gs-reveal/latest/gs-reveal.min.js"></script>
Interactive Playground

Live Sandbox

Reveal.jsx
1
2
3
4
5
6
7
8
9
import Reveal from '@get-set/gs-reveal';

export default function App() {
  return (
    <Reveal>
      <div className="content">Your Reveal content</div>
    </Reveal>
  );
}
Live Preview
Reveal me This card replays its entrance animation every time you change an option.

Options re-run the animation instantly.

Options

Configuration Values

Reference?Reference option.
Animation?Entrance animation name from the catalog.
Duration?Animation duration in ms.
Delay?Delay before the reveal starts, in ms.
Easing?CSS easing (named preset or raw timing-function).
Distance?Translate distance for directional animations (fade-up, slide-left, …).
Origin?Transform-origin pivot for zoom/flip/rotate/skew.
Threshold?IntersectionObserver visibility threshold (0..1): the fraction of the element that must be visible to trigger the reveal.
Root Margin?IntersectionObserver `rootMargin` (grows/shrinks the trigger box).
Root?Scroll container the observer watches.
Stagger?Per-child (or per-group) stagger step, in ms.
Stagger Selector?CSS selector for the children to stagger (relative to the container).
Stagger Max?Maximum cumulative stagger delay in ms (clamps long lists).
Theme?Visual theme applied to the wrapper.
Accent Color?Accent color token (CSS var --gsr-accent) for built-in scaffolding.
Class Name?Extra class name applied to the reveal element/wrapper.

Feature Flags

API Specifications

OptionTypeDefaultDescription
referencestringnoneReference.
animationGSRevealAnimation | false'fade-up'Entrance animation name from the catalog. `false` disables all motion (the element just appears). Default: 'fade-up'.
durationnumber600Animation duration in ms. Default: 600.
delaynumber0Delay before the reveal starts, in ms. Default: 0.
easingGSRevealEasingParam'smooth'CSS easing (named preset or raw timing-function). Default: 'smooth'.
distancenumber | string'32px'Translate distance for directional animations (fade-up, slide-left, …). Number = px; string = raw CSS length. Ignored by non-directional animations. Default: '32px'.
originGSRevealOrigin'center'Transform-origin pivot for zoom/flip/rotate/skew. Default: 'center'.
thresholdnumber0.15IntersectionObserver visibility threshold (0..1): the fraction of the element that must be visible to trigger the reveal. Default: 0.15.
rootMarginstring'0px'IntersectionObserver `rootMargin` (grows/shrinks the trigger box). Accepts any valid CSS margin string, e.g. '0px 0px -10% 0px'. Default: '0px'.
rootHandlerTargetnoneScroll container the observer watches. selector | HTMLElement | React ref. Defaults to the browser viewport.
oncebooleantrueReveal only once (default). When `false`, the element re-hides when it leaves the viewport and re-reveals on the next entry (repeat mode).
mirrorbooleanfalseAnimate the element back out when it leaves the viewport (upward or downward). Implies repeat behaviour. Default: false.
staggerChildrenbooleanfalseReveal direct children sequentially instead of the element itself. When enabled, each child is observed/animated with an increasing delay. Default: false.
staggernumber100Per-child (or per-group) stagger step, in ms. Default: 100.
staggerSelectorstringnoneCSS selector for the children to stagger (relative to the container). Defaults to direct children (`:scope > *`).
staggerMaxnumbernoneMaximum cumulative stagger delay in ms (clamps long lists). Default: none.
disabledbooleanfalseDisable the plugin entirely: the element is shown immediately with no observer and no animation. Default: false.
reducedMotion'auto' | boolean'auto'Honor `prefers-reduced-motion`. 'auto' follows the OS setting; `true` always reduces (reveal is instant); `false` never reduces. Default: 'auto'.
themeGSRevealTheme'auto'Visual theme applied to the wrapper. `auto` follows prefers-color-scheme. Default: 'auto'.
accentColorstringnoneAccent color token (CSS var --gsr-accent) for built-in scaffolding.
rtlbooleanfalseRight-to-left layout (mirrors left/right directional animations). Default: false.
classNamestringnoneExtra class name applied to the reveal element/wrapper.

Technical Features

44 Animations

Fades, slides, zooms, flips and more.

Stagger

Cascade grouped children on entrance.

Scroll Triggers

Once or repeat with custom thresholds.

Reduced Motion

Respects prefers-reduced-motion automatically.