Animated Icons Preview

Preview

The future is almost here

We're putting the finishing touches on something extraordinary. Get ready for a new experience.

Big things are coming
About this block

Animated Icons PreviewFREE

Coming soon section with floating animated icons and a pulsing status indicator using Framer Motion animations. Perfect for creating visual excitement and a dynamic atmosphere before a product launch.

ComingSoon4: Animated Icons Preview

Coming-soon hero with a decorative floating-icon field driven by CSS keyframes, plus a Framer Motion status pill: user-supplied icons drift and fade at percentage-based positions behind the heading, while a pulsing dot and a glowing ring around the status text signal ongoing activity. No countdown is involved.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/comingsoon4"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/comingsoon4"

This installs the block to components/beste/block/comingsoon4.tsx, plus the badge shadcn/ui primitive it uses for the eyebrow badge.

Quick start

The installed file exports comingsoon4Demo alongside the block: the exact props behind the preview above. Spread it to get a working animated preview in one line.

tsx
import { ComingSoon4, comingsoon4Demo } from "@/components/beste/block/comingsoon4";

export default function ComingSoonPage() {
  return <ComingSoon4 {...comingsoon4Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Rocket, Sparkles, Star } from "lucide-react";
import { ComingSoon4 } from "@/components/beste/block/comingsoon4";

export default function ComingSoonPage() {
  return (
    <ComingSoon4
      badge={{ label: "Preview", variant: "secondary" }}
      heading="The future is almost here"
      description="We're putting the finishing touches on something extraordinary."
      showFloatingElements
      floatingElements={[
        { icon: <Rocket className="w-full h-full" />, size: "lg", position: { x: 10, y: 20 } },
        { icon: <Star className="w-full h-full" />, size: "md", position: { x: 85, y: 15 } },
        { icon: <Sparkles className="w-full h-full" />, size: "sm", position: { x: 15, y: 70 } },
      ]}
      notifyText="Big things are coming"
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Section eyebrow badge
headingstringSection heading
descriptionstringSection intro text
showFloatingElementsbooleantrueWhether the floating icon layer renders at all
floatingElementsFloatingElement[][]Icons drifting behind the content
notifyTextstringLabel inside the pulsing status pill
classNamestringExtra classes for the outer <section>
ts
type FloatingElement = {
  icon: React.ReactNode;
  size?: "sm" | "md" | "lg";
  position?: { x: number; y: number };
};

Behavior notes

  • Floating icons are pure CSS, not Framer Motion: each icon gets an inline @keyframes float animation (defined via <style jsx>) with a duration of 3 + (index % 3) seconds and a index * 0.5s delay, so icons drift at three different speeds and start staggered rather than in sync.
  • position is a percentage coordinate (x/y, roughly 0 to 100) applied via inline left/top styles, not a grid or flex layout, so icons can be placed anywhere over the section, including off-center or near the edges.
  • Only the status pill uses Framer Motion: the pill's box-shadow pulses through three keyframe values on a 2s loop, and its leading dot separately scales and fades opacity on a 1.5s loop; both animations repeat infinitely and run independently of each other.
  • The floating icon layer only renders when both showFloatingElements is true and floatingElements is non-empty, and sits behind the content via pointer-events-none plus a z-10 text column on top.
  • There is no countdown or timer logic anywhere in this block; notifyText is a single static status label, not a computed value.

More Coming Soon blocks

View all Coming Soon
PRO

comingsoon52

Image Mosaic Notify

A coming-soon section with a full-bleed image mosaic background under a dark overlay and a centered card holding a square eyebrow, a heading, a description, and a working email notify form with a success state.

PRO

comingsoon63

Product Pre-Order Teaser

A product launch coming-soon section with a full-height product image beside a monospace parenthetical eyebrow, a product name, a tagline, a ship date, a working notify email form, and a spec grid.

PRO

comingsoon50

Launch Readiness Progress

A coming-soon section on a soft muted card with a monospace parenthetical eyebrow, a heading, a launch-readiness percentage that counts up with an animated progress bar, a build-status row, and a working email notify form.

PRO

comingsoon7

Launch Roadmap Timeline

Coming soon section with a vertical timeline showing launch phases, dates, and status indicators. Perfect for communicating a clear release plan and keeping users informed about upcoming milestones.

PRO

comingsoon49

Framed Editorial Launch

A two-column coming-soon section with a vertical monospace edge label, an oversized wordmark, a tagline and a working email notify form, beside a framed portrait image tile.

PRO

comingsoon55

Image Notify Bar

A full-bleed image coming-soon hero with a bottom gradient and light text, a square eyebrow, a large heading and a supporting line, beside a solid notify card holding a working email form with a success state.