Skip to main content
Clever Ops

Tabbed Feature Stage

Feature tabs with a live stage, switching tabs morphs a token-built product panel between states, with the active tab carried by a sliding thumb.

Preview & code

Loading Tabbed Feature Stage preview

Installation

pnpm dlx shadcn@latest add @cleverui/feature-tabs-stage

Requires the @cleverui registry in your components.json, a one-off, two-line setup.

Usage

tsx
import { FeatureTabsStage } from '@/components/blocks/feature-tabs-stage'
Exampletsx
import { FeatureTabsStage } from '@/components/blocks/feature-tabs-stage'

export default function FeatureTabsStageDemo() {
  return (
    <FeatureTabsStage
      eyebrow="Product surface"
      heading="One console. Three modes of work."
      tabs={[
        {
          label: 'Pipeline',
          title: 'See every open match at once',
          body: 'A live queue of invoices against POs and receipts. Filter by vendor risk, aging, or cost center, promote batches when they clear.',
          rows: [
            { label: 'In queue', value: '128' },
            { label: 'Ready to post', value: '91', state: 'success' },
            { label: 'Needs review', value: '37' },
            { label: 'Avg age', value: '1.4 d' },
          ],
        },
        {
          label: 'Matching',
          title: 'Tolerance-aware three-way match',
          body: 'Rules travel with the line: freight bands, quantity variance, and dual-approval thresholds. Overrides leave a signed trail.',
          rows: [
            { label: 'PO-4821', value: 'Matched', state: 'success' },
            { label: 'PO-4902', value: 'Freight +2.1%' },
            { label: 'PO-4910', value: 'Matched', state: 'success' },
            { label: 'Hit rate (7d)', value: '96.4%', state: 'success' },
          ],
        },
        {
          label: 'Permissions',
          title: 'Agents with named least privilege',
          body: 'Every automation runs as a scoped identity. Revoke a token and in-flight work freezes cleanly, no cascading writes.',
          rows: [
            { label: 'match-runner', value: 'write:ledger', state: 'success' },
            { label: 'exception-router', value: 'read:docs' },
            { label: 'nightly-close', value: 'write:close' },
            { label: 'Last audit', value: '2h ago', state: 'success' },
          ],
        },
        {
          label: 'Exports',
          title: 'Audit packs that stand alone',
          body: 'Seal a close window into a signed pack: decisions, overrides, and source hashes. Hand it to auditors without a screen share.',
          rows: [
            { label: 'Mar close pack', value: 'Ready', state: 'success' },
            { label: 'Entries', value: '2,841' },
            { label: 'Overrides', value: '6' },
            { label: 'Hash chain', value: 'Intact', state: 'success' },
          ],
        },
      ]}
    />
  )
}

API reference

FeatureTabsStage accepts the following props.

PropTypeDefaultDescription
eyebrowstring
heading*string
tabs*FeatureTabsStageTab[]

…plus everything from React.HTMLAttributes<HTMLElement>: className, event handlers, aria attributes and the rest pass straight through.

Referenced types

Typestsx
export interface FeatureTabsStageTab {
  label: string
  title: string
  body: string
  rows: {
    label: string
    value: string
    state?: 'default' | 'success'
  }[]
}

Frequently asked questions

How do I install the Tabbed Feature Stage component?

Register the @cleverui registry in your components.json ("@cleverui": "https://cleverops.com.au/r/{name}.json"), then run `npx shadcn@latest add @cleverui/feature-tabs-stage`. The shadcn CLI copies the source into your project, you own the code from that point. You can also copy the source directly from this page.

What dependencies does Tabbed Feature Stage require?

Tabbed Feature Stage uses motion and lucide-react on top of React and Tailwind CSS. You don't need to install them manually, the shadcn CLI resolves and installs npm dependencies automatically when you add the component.

Can I theme Tabbed Feature Stage to match my brand?

Yes. The component is styled entirely with Tailwind utilities over standard design tokens (primary, background, muted, border), so it inherits your existing shadcn/ui theme automatically. Change your CSS variables and the component follows, no source edits needed for palette, radius, or fonts.

Want this built for you?

CleverUI is built by the Clever Ops web team. If you'd rather ship a hand-coded, fast, custom website than assemble one, we build them for Australian businesses every week.

Explore web development services