Sticky Benefits Timeline

Two-column benefits section with sticky left content and scrollable timeline

FREE

Feature178: Sticky Benefits Timeline

A two-column benefits section: a left column with the section header and an optional pill-tag row stays pinned in place on desktop while a right column of icon, title, and description rows scrolls past it, separated by a single vertical divider.

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/feature178"

Base UI flavor

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

This installs the block to components/beste/block/feature178.tsx and the badge shadcn/ui primitive it depends on.

Quick start

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

tsx
import { Feature178, feature178Demo } from "@/components/beste/block/feature178";

export default function Page() {
  return <Feature178 {...feature178Demo} />;
}

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

tsx
import { Zap, Shield, BarChart3 } from "lucide-react";
import { Feature178 } from "@/components/beste/block/feature178";

export default function Page() {
  return (
    <Feature178
      badge={{ label: "Why choose us", variant: "secondary" }}
      heading="Ship faster, scale smarter, <strong>grow confidently</strong>"
      description="Everything your team needs to go from idea to production."
      tags={[{ label: "No-Code Friendly" }, { label: "SOC 2 Certified" }, { label: "99.99% Uptime" }]}
      features={[
        { icon: Zap, title: "Instant Performance Boost", description: "Sub-100ms response times." },
        { icon: Shield, title: "Enterprise-Grade Security", description: "SOC 2 Type II certified." },
        { icon: BarChart3, title: "Actionable Analytics", description: "Custom dashboards and cohort analysis." },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Optional eyebrow badge in the sticky column
headingstringSticky column heading. Supports inline <strong> markup, rendered via dangerouslySetInnerHTML
descriptionstringSticky column intro text
tagsTagItem[][]Pill labels shown below the description
featuresFeatureItem[][]Icon, title, and description rows in the scrolling right column
classNamestringExtra classes for the outer <section>
ts
type TagItem = { label: string };

type FeatureItem = { icon: LucideIcon; title: string; description: string };

Behavior notes

More Feature blocks

View all Feature
FREE

feature179

Sticky Stats Scroller

Two-column layout with sticky stats and scrollable feature cards

FREE

feature180

Sticky Image Scroller

Two-column layout with sticky image and scrollable feature cards

PRO

feature209

Sticky Services

Sticky intro column beside a scrollable stack of numbered service blocks.

PRO

feature60

Feature Walkthrough with Sticky Navigation

Sticky sidebar navigation that scrolls to content sections with images and descriptions. Perfect for product feature tours, documentation pages, and guided walkthroughs.

PRO

feature234

Click-to-swap sticky thread list

A two-column feature section: a vertical list of clickable thread buttons on the left swaps a sticky image panel on the right, with the active item carrying full emphasis and a left border.

PRO

feature227

Sticky feature list with images

Sticky left intro paired with a stacked, numbered list of feature blocks, each with a title, description, and small image.