/** * @fileoverview Reveal-on-scroll wrapper with fade/slide entrance animations. * @author Saasflareâ„¢ * Uses Intersection Observer to trigger Motion animations when the * element enters the viewport. Supports multiple direction presets. * @module packages/ui/components/ui/reveal-on-scroll * @package ui * * @component * @example * import { RevealOnScroll } from '@saasflare/ui'; * * Appears when scrolled into view * * * @example * // Slide in from the left with delay * *

Content slides in from left

*
*/ import * as React from "react"; import { type SaasflareComponentProps } from "../../providers"; /** Motion event overrides that conflict with React HTML events. */ type MotionConflicts = "onDrag" | "onDragStart" | "onDragEnd" | "onAnimationStart" | "onAnimationEnd"; /** Direction the element slides in from. */ type RevealDirection = "up" | "down" | "left" | "right" | "none"; /** Props for the RevealOnScroll component. */ export interface RevealOnScrollProps extends Omit, MotionConflicts | keyof SaasflareComponentProps>, SaasflareComponentProps { /** Direction the element slides in from. Default: `"up"` */ direction?: RevealDirection; /** Animation delay in seconds. Default: `0` */ delay?: number; /** Intersection Observer root margin. Default: `"-80px"` */ rootMargin?: string; /** Whether the animation triggers only once. Default: `true` */ once?: boolean; } /** * Wrapper that animates children into view on scroll intersection. * * - Fades in with an optional directional slide * - Uses a gentle spring for natural motion * - Renders children statically when motion is disabled (`animated={false}`, * provider opt-out, or `prefers-reduced-motion`) * - Triggers once by default (configurable via `once`) * * @component * @package ui */ export declare function RevealOnScroll({ children, direction, delay, rootMargin, once, className, surface, radius, animated, iconWeight, ...props }: RevealOnScrollProps): import("react/jsx-runtime").JSX.Element; export {};