Fluid Drag-and-Drop Kanban
ProA Trello-grade board running real pointer physics, where every card tilts toward the velocity you throw it across at.
heavy saas blocksfluidkanbanboardframer motiontabler icons react
Installation
Run the following command
~/your-project
pnpm dlx wensity@latest add fluid-kanban-board
Usage
Import FluidKanbanBoard from @/components/wensity/fluid-kanban-board and render it anywhere in your React or Next.js app. The source lands in your own repo, so every prop, class and animation below is yours to edit.
app/example.tsx
"use client";import {FluidKanbanBoard,type KanbanColumn,} from "@/components/wensity/fluid-kanban-board";const columns: KanbanColumn[] = [{id: "in-progress", title: "In Progress", count: 25, accent: "violet",cards: [{id: "1",title: "UI/UX Design in the age of AI",description: "Lorem ipsum dolor sit amet, libre unst consectetur adipisicing elit.",tag: "Important",tagTone: "violet",assignees: [{ name: "Parth", avatar: "https://assets.wensity.com/avatars/1.webp" },{ name: "Maya Chen", avatar: "https://assets.wensity.com/avatars/2.webp" },],comments: 11,completed: 187,},],},{id: "reviewed", title: "Reviewed", count: 8, accent: "amber",cards: [{id: "2",title: "User flow confirmation for finance app",description: "Lorem ipsum dolor sit amet, libre unst consectetur adipisicing elit.",tag: "Important",tagTone: "violet",assignees: [{ name: "Maya Chen", avatar: "https://assets.wensity.com/avatars/2.webp" }],comments: 8,completed: 112,},],},{id: "completed", title: "Completed", count: 2, accent: "emerald",cards: [{id: "3",title: "UI/UX Design in the age of AI",description: "Lorem ipsum dolor sit amet, libre unst consectetur adipisicing elit.",tag: "High Priority",tagTone: "red",assignees: [{ name: "Parth", avatar: "https://assets.wensity.com/avatars/1.webp" },{ name: "Leo Morgan", avatar: "https://assets.wensity.com/avatars/4.webp" },],comments: "108k",completed: 997,},],},];export function FluidKanbanBoardDemo() {return <FluidKanbanBoard columns={columns} />;}
Props
| Prop | Type | Default | Description |
|---|---|---|---|
columns | KanbanColumn[] | - | Initial columns and cards. The component manages board state internally. |
onChange | (columns: KanbanColumn[]) => void | - | Fired any time the board state changes. |
