/**
* @fileoverview Infinite scrolling marquee for logos, testimonials, or any content.
* @author Saasflare™
* CSS-only animation for performance — no JavaScript animation frames.
* Duplicates children to create seamless infinite scroll illusion.
* @module packages/ui/components/ui/marquee
* @package ui
*
* @component
* @example
* import { Marquee } from '@saasflare/ui';
*
*
* @example
* // Reverse direction, slower speed
*
*/
import * as React from "react";
import { type ReactNode } from "react";
import { type SaasflareComponentProps } from "../../providers";
/** Props for the Marquee component. */
export interface MarqueeProps extends Omit, keyof SaasflareComponentProps | "children">, SaasflareComponentProps {
/** Items to scroll infinitely. */
children: ReactNode;
/** Reverse scroll direction. Default: `false` */
reverse?: boolean;
/** Scroll duration in seconds for one full cycle. Default: `40` */
speed?: number;
/** Pause scrolling on hover. Default: `true` */
pauseOnHover?: boolean;
/** Gap between items in pixels. Default: `48` */
gap?: number;
/** Number of times to duplicate the content strip. Default: `2` */
repeat?: number;
/** Enable vertical scrolling instead of horizontal. Default: `false` */
vertical?: boolean;
/** Additional class names for the container. */
className?: string;
}
/**
* Infinite-scrolling content ticker.
*
* - Pure CSS animation (no JS frames, no Motion overhead)
* - Duplicates children to create a seamless loop
* - Pauses on hover for readability (configurable)
* - Falls back to static flex row when reduced motion is preferred
*
* @component
* @package ui
*/
export declare function Marquee({ children, reverse, speed, pauseOnHover, gap, repeat, vertical, className, surface, radius, animated, iconWeight, ...props }: MarqueeProps): import("react/jsx-runtime").JSX.Element;