Feature Icon Grid

Features

Everything You Need

A comprehensive toolkit designed to help you accomplish more with less effort.

Analytics

Track performance with real-time dashboards and detailed reports.

Automation

Automate repetitive tasks and workflows to save time.

Collaboration

Work together seamlessly with team features and sharing.

Security

Enterprise-grade security with encryption and access controls.

Integrations

Connect with 100+ tools and services you already use.

24/7 Support

Get help whenever you need it from our expert team.

Developer API

Build custom solutions with our comprehensive API.

Mobile Ready

Access everything on the go with native mobile apps.

About this block

Feature Icon GridFREE

Centered icon grid with titles and descriptions, featuring hover animations on icon containers. Perfect for showcasing product features or capabilities in a clean layout.

UseCase5: Feature Icon Grid

Minimal centered icon grid for listing product features or capabilities: each cell is just an icon swatch, a title, and a one-line description, with no image, border, or feature list weighing it down.

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

Base UI flavor

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

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

Quick start

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

tsx
import { UseCase5, usecase5Demo } from "@/components/beste/block/usecase5";

export default function Page() {
  return <UseCase5 {...usecase5Demo} />;
}

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

tsx
import { BarChart3, Shield, Users } from "lucide-react";
import { UseCase5 } from "@/components/beste/block/usecase5";

export default function Page() {
  return (
    <UseCase5
      badge={{ label: "Features", variant: "secondary" }}
      heading="Everything You Need"
      description="A toolkit designed to help you accomplish more with less effort."
      columns={3}
      items={[
        { id: "analytics", icon: <BarChart3 className="size-7" />, title: "Analytics", description: "Real-time dashboards and reports." },
        { id: "security", icon: <Shield className="size-7" />, title: "Security", description: "Encryption and access controls." },
        { id: "collaboration", icon: <Users className="size-7" />, title: "Collaboration", description: "Share and work together seamlessly." },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Pill shown above the heading; omitted when badge.label is falsy
headingstringSection heading
descriptionstringSection intro text
itemsUseCaseItem[]Icon cells rendered in the grid
columns2 | 3 | 44Grid column count at sm/lg
classNamestringExtra classes for the outer <section>
ts
type UseCaseItem = {
  id: string;
  icon: React.ReactNode;
  title: string;
  description: string;
};

Behavior notes

  • columns is looked up in a plain object map ({2: "sm:grid-cols-2", 3: "sm:grid-cols-2 lg:grid-cols-3", 4: "sm:grid-cols-2 lg:grid-cols-4"}), so passing any value outside 2 | 3 | 4 would produce undefined classes; the TypeScript union restricts callers to the three supported values.
  • Each cell has a hover:bg-foreground/[0.03] wash across the whole cell, not just the icon, giving the grid a subtle full-tile hover affordance despite having no border.
  • The icon swatch is a fixed w-14 h-14 rounded-xl regardless of the icon's own size prop (the demo passes size-7 icons), and inverts colors on hover (bg-primary/10 to bg-primary, icon color to text-background) via the group/usecase5 named group.
  • icon is a required field on UseCaseItem (not optional), unlike the other usecase blocks in this set where icon is optional.

More Use Case blocks

View all Use Case
PRO

usecase37

Detailed Feature Cards

Two-column grid of feature cards with icons, extended descriptions, and bullet point highlights. Perfect for comprehensive product feature or capability explanations.

FREE

usecase4

Industry Solutions Grid

Card grid showcasing industry-specific solutions with icons, images, descriptions, and feature tags. Perfect for highlighting how your platform serves different verticals.

FREE

usecase2

Use Case Card Grid

Responsive grid of use case cards with hover effects, images, descriptions, and feature checklists. Perfect for displaying solutions for different industries or customer segments.

PRO

usecase17

Hover Reveal Cards

Card grid with background images that reveals detailed content on hover via smooth slide-up animation. Perfect for destination showcases or visual feature galleries.

PRO

usecase19

Portfolio Masonry Gallery

Pinterest-style masonry grid with variable-height image cards, category labels, and hover zoom effects. Perfect for creative portfolios or work showcases.

FREE

usecase8

Vertical Timeline

Centered timeline with alternating left-right content cards, icons, images, and feature lists. Perfect for showing project phases, company history, or process stages.