Patterns

Page hero (premium header)

For a screen's front door: crumbs, identity, facts, actions, headline numbers and tabs in one framed block.

Facility · GCP

Gulshan Car Park

Open

Multi-storey car park on Gulshan Avenue. Gate mode runs on two lanes; monthly parkers use the left lane.

  • Gulshan 1, Dhaka
  • 24/7
  • 6 staff on shift
Occupancy
82%
↑ 6% vs last week
Revenue today
৳48,250
312 sessions
Avg stay
2h 14m
last 7 days
Open incidents
2
1 gate offline

Import#

Everything comes from the package root. The example above uses:

your-component.tsx
import { Button, PageHero } from "@waveinno/ui";

Props#

Read from the source of this version, so they match the code exactly.

<PageHero>

src/components/patterns/page-hero.tsx
PropTypeDefaultDescription
crumbsCrumb[]—
iconReact.ReactNode—A lucide icon element, an avatar or an image, shown in a 56px tile.
eyebrowReact.ReactNode—
badge{ label: string; tone?: Tone }—
titlerequiredReact.ReactNode—
descriptionReact.ReactNode—
metaHeroMeta[]—
actionsReact.ReactNode—Buttons, right-aligned on desktop and below the title on phones.
statsHeroStat[]—
tabsHeroTab[]—
activeTabstring—
onTabChange(id: string) => void—
classNamestring—

<Button>

src/components/ui/button.tsx
PropTypeDefaultDescription
asChildbooleanfalse
loadingboolean—

Also takes ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<typeof buttonVariants>.

Install#

If the project does not have the package yet, add it, then follow the setup for Next.js or Vite once.

$ npm install @waveinno/ui