Tab-based interface showing 3 cards per tab, with button toggles at top. Excellent for segmented features by department, plan, or use case.
Client-side tabbed feature showcase: a row of toggle buttons switches between named tabs (for example "Marketing", "Sales", "Engineering"), each rendering its own set of three cards below in a md:grid-cols-3 grid.
Free block
This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.
Radix flavor
npx shadcn add "https://ui.beste.co/r/feature112"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/feature112"This installs the block to components/beste/block/feature112.tsx and the shadcn/ui badge and button components it depends on.
The installed file exports feature112Demo alongside the block: the exact props behind the preview above. Spread it to get a working tabbed grid in one line.
import { Feature112, feature112Demo } from "@/components/beste/block/feature112";
export default function Page() {
return <Feature112 {...feature112Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Feature112 } from "@/components/beste/block/feature112";
export default function Page() {
return (
<Feature112
badge={{ label: "Solutions", variant: "default" }}
heading="Solutions for every team"
description="Discover how different teams use our platform."
tabs={[
{
label: "Marketing",
content: [
{ title: "Campaign Management", description: "Plan and execute campaigns.", href: "/features/campaigns" },
{ title: "Analytics Dashboard", description: "Track performance with insights.", href: "/features/analytics" },
],
},
{
label: "Sales",
content: [
{ title: "Lead Tracking", description: "Monitor leads through the pipeline.", href: "/features/leads" },
],
},
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string; variant?: "default" | "secondary" | "outline" } | – | Badge above the heading |
heading | string | – | Section heading |
description | string | – | Section intro text |
tabs | TabItem[] | [] | Tab buttons and their associated card sets |
buttons | ButtonItem[] | [] | CTA buttons below the grid |
className | string | – | Extra classes for the outer <section> |
type TabItem = {
label: string;
content: TabContent[];
};
type TabContent = {
title: string;
description?: string;
href?: string;
};
type ButtonItem = {
label: string;
href?: string;
variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};useState(0)), not driven by shadcn's Tabs primitive: the tab row is a set of plain Buttons toggling variant="default"/"outline" based on activeIndex, and only that tab's content array is rendered below.0, so tabs[0] is shown on first render; if tabs is empty, activeContent resolves to [] via optional chaining (tabs[activeIndex]?.content ?? []) and the card grid renders empty rather than throwing.md:grid-cols-3, independent of how many items are in the active tab's content array, so a tab with fewer than three cards leaves empty columns rather than reflowing.Link when its href is set (with a hover:shadow-lg transition via group/feature112) and as a plain non-interactive <div> otherwise.feature213
Tabbed feature showcase with copy, checklist and screenshot per workstream.
feature198
Tab-switched grid of plan cards. Each card shows title, full-width CTA button, subtitle (price), description, and a checklist with check icons. Layout is responsive: ≤2 cards center as flex, multiples of 4 use a 4-column grid, otherwise a 3-column grid. Ideal for pricing, plan comparisons, and tiered packages.
feature74
2-column grid of feature cards with icons and two action buttons per card for demos and documentation. Perfect for interactive feature showcases with try-it-now options.
feature185
Three-column image feature cards grid with sticky header over background media and glass-morphism styling
feature120
Responsive grid of category cards with icons and listing counts. Perfect for category browse, marketplace sections, or navigation options.
feature107
3-column grid of centered feature cards with large icons and brief descriptions. Perfect for capability highlights, service features, or platform offerings.