Patterns

Kanban board

Drag cards between stages, or focus one and press ← / →. Fixed-width columns that scroll; a summary per column.

A Wavi Pro component

The live example is open to everyone. The source comes with a Wavi Pro licence: add it with one command, or copy it below.

Get Pro

Lead

2
৳3,70,000

Banani Tower

FA Farhana Akter৳60,000

Jamuna Future Park

SI Sadia Islam৳3,10,000

Site visit

1
৳2,40,000

Bashundhara City

NJ Nusrat Jahan৳2,40,000

Quote sent

1
৳1,20,000

Square Hospital

RI Rafiq Islam৳1,20,000

Won

1
৳90,000

Unimart Gulshan

TH Tanvir Hasan৳90,000

Import#

The package for everything else, and the Pro component from where `add` puts it:

your-component.tsx
import { Avatar } from "@waveinno/ui";
import { KanbanBoard, type KanbanColumn } from "@/components/wavi-pro/kanban";

Props#

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

<KanbanBoard>

pro/kanban.tsx
PropTypeDefaultDescription
columnsrequiredKanbanColumn[]—
itemsrequiredT[]—
getIdrequired(item: T) => string—
getColumnrequired(item: T) => string—
onMoverequired(id: string, toColumn: string) => void—
renderCardrequired(item: T) => React.ReactNode—
renderColumnSummary(column: KanbanColumn, items: T[]) => React.ReactNode—
classNamestring—

<Avatar>

src/components/ui/avatar.tsx
PropTypeDefaultDescription
namerequiredstring—
srcstring | null—
sizekeyof typeof sizes"md"
statuskeyof typeof STATUS—
verifiedboolean—
ring"gradient"—
shape"circle" | "square""circle"
classNamestring—

Add it to your project#

With your licence key, this writes the component to components/wavi-pro/ and installs anything it needs:

$ npx @waveinno/ui add kanban --key <your licence key>

Source#

Or copy the file yourself. It imports only from @waveinno/ui, lucide-react and React (and Radix where noted).

The source comes with Wavi Pro

One payment for every Pro component, block and template, with every update.

Get Pro

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