VuiAdmin docs
Components

Tables

The VuiAdmin admin dashboard tables: search, filter, sorting, row actions, status badges and pagination.

Five tables on the tables screen, and they are five because that is how many shapes a real admin has: a list with avatars, a list with product images, a transaction log, a campaign list, and a compact variant.

What each one demonstrates

  • Search, filtering the rows as you type
  • A filter menu, for the column that has a small set of values
  • Sorting, with the direction announced rather than only drawn
  • Row actions, in a menu rather than three icons competing for the row's width
  • Status badges, using the semantic tones so the same status is the same colour everywhere
  • Pagination, with the numbered pages and a gap, where previous and next step through the numbers the pager actually drew rather than incrementing blindly

Five admin tables: a person list with avatars, products with images, transactions, campaigns and a compact variant

Avatars and images in a cell

The first column of a person table is an avatar with a monogram fallback underneath the image, so a missing photograph degrades to initials rather than a broken-image icon. Product tables use the same component with object-contain and a light plate, because a product photograph on a coloured background looks like a mistake.

Where your data goes

Each table imports an array from a fixture file beside the screen. Replace the import, keep the shape, and the table works. The shape is a plain array of objects, with no wrapper type to satisfy.

// fixtures beside the screen
export const DEALS = [
  { id: "1", name: "Lindsey Curtis", role: "Web Designer", project: "Agency Website", status: "Active", budget: "3.9K" },
  // ...
];

The advanced table

Server-side pagination, column resizing and persisted column state are Pro. The free table holds its state in the component, which is the right answer up to a few hundred rows and the wrong one past that.

On this page