Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Regional Tabs Logos Block for React

Customers of a candle-subscription service by region: four tabs with counts switch a two-column list, each cell a wordmark with its city and country.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A regional logo list for React with Base UI. A centred header and four tabs (All, Americas, EMEA and Asia Pacific), each with a count of its customers, sit over a list in two columns. A cell is a customer's wordmark, in its own lettering and muted until hovered, with its city and country: beside it from sm, under it on a phone. The cells run from rail to rail, divided by hairlines that start at the page's top rule with + marks on the rails. Each tab opens the region's own panel, so a screen reader hears the tab, its count and then the list. Every panel is held at the tallest one's height by an unseen copy, so switching never moves what follows, at any width. Built from Tabs, Badge and Guides, with CSS for the entrance.

FAQ

How do I change the customers and regions?

Edit the three lists at the top (AMERICAS, EMEA, APAC): each customer is a name, an icon, a lettering, a mark and its city and country. REGIONS joins them, and "All" is the three together, so its count and its rows can never disagree with the others. To add a region, add a list and a line in REGIONS.

How do the tabs work with a keyboard?

The tab list is one tab stop: the arrow keys move between the tabs and open each panel as you reach it, and Tab then goes into the open panel. Each tab's count is part of its name ("Americas 3"), and the list in the panel is named after the region.

Why is there empty space under a short panel?

The panels are stacked in one grid cell with an unseen copy of the longest panel (All), so the block keeps its height and nothing below it jumps when you switch tabs. A region's cells sit at the top and the rest of the cell is left empty. Delete the copy (the invisible div) if you prefer the block to shrink to the open panel.

Does it work in a right-to-left layout?

Yes. The tabs, the columns and the rows follow the page's direction; each wordmark keeps its own direction because a logo is artwork, and the city and country stay at the end of the row.

What moves?

The header and each panel fade up with a CSS transition, once when the page loads and again as a tab opens, and each wordmark eases to the text colour on hover. With reduced motion those transitions are off.

  • Pro

    Dot Grid Map Logos

    Maps and lists

    A world map for a freight-forwarding tool, drawn as a grid of dots in a framed figure, with six customer pins at their cities and one chip per region carrying its customer count.

  • Pro

    A region picker beside a dot-grid world map for a shipping-label tool: choosing a region lights its land and rolls two figures, labels a day and carriers connected, to that region's values.

  • Pro

    Customers of a land-registry product in four rows, one per region: a label cell with the region, its team count and a thin share bar, then the region's four wordmarks past a hairline.

  • Pro

    Four pill tabs with a count on each, in a hairline band over a caption and a grid of customer wordmarks in cells set apart, for a design tokens tool.

  • Pro

    Four pill tabs (All, Growers, Co-ops, Advisers) over a wall of eight customer wordmarks in shared hairline cells, for a farm planning tool.

  • Pro

    Customers of a print-on-demand book service in three rows by industry on alternating tinted bands, each with a label and a customer count chip, the logos lying open under them.