Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Hover Card Mosaic Team Block for React

The planners of an interior-planning studio as a mosaic of mixed spans that shares its hairlines: a two-by-two lead cell, two wide cells, three small ones and a +12 cell, each person a link with a hover card that opens on hover and on focus.

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 team section for React with Base UI, for Ottersby & Reeve, an interior-planning studio. A start-aligned header sits over a mosaic of mixed spans that shares its hairlines and runs from rail to rail: a two-by-two lead cell drawn over a faint plan grid, two wide cells, three small cells and a "+12" cell that links to everyone else. There are no photographs: each planner is an initials avatar in a greyscale tone with a name and a specific role, and each cell is a link whose hover card gives a short bio, a city and the years at the studio. The card opens on hover and on keyboard focus. Four columns from md; a phone has two, with the lead and the wide cells across both. It's built from Avatar, Hover Card and Guides, with CSS transitions and your theme's tokens for every colour. For design studios, agencies and practices that want their people to look like a plan rather than a roster.

FAQ

How do I change the planners and where their cells go?

Edit PLANNERS at the top of the file. A planner is a name, a role, a bio, a city, the years at the studio and a tile: lead, wide or small. The grid has four columns from md, and the shapes together (lead 2x2, two wide, three small and the "+12" cell) fill three rows exactly; TILES holds each shape's span and layout. MORE is the number in the last cell, so keep it in step with your real headcount.

How does the hover card work for a keyboard and a screen reader?

Each person's cell is the card's trigger and a real link. Hovering it or focusing it with the keyboard opens the card, and Escape closes it. The name and role are always inside the cell, so the card adds the bio, the city and the years rather than the only copy of anything; point the links at each person's profile page. The trigger renders the link itself, with closeDelay and delay on it.

Why no photographs?

The cells are built to look finished without them: initials in greyscale tones, a faint plan grid behind the lead and the lines of the mosaic itself. To use photos, put an AvatarImage in each Avatar, before the fallback; keep them square, and greyscale if you want the mosaic as calm as it is now.

How are the lines drawn, and how does the block end?

The grid has a one-pixel gap on a border-coloured background and every cell is a background-coloured box, so the gaps show as the hairlines whatever a cell's span. The rails and the top rule come from the page's spine and Guides; the mosaic draws no rule at its foot, because the next block's top rule closes it.

How does it fit on a phone?

Below md the grid has two columns: the lead and the wide cells span both, and the small cells and the "+12" cell pair up, so every row is full. Names and roles stay in the cells, so a phone loses nothing the card says apart from the bio, which a tap on the link takes you to. Nothing scrolls sideways at 320 pixels.

What moves, and what happens with reduced motion?

The header and the mosaic fade up once when the page loads, a cell tints on hover and focus, and the "+12" arrow nudges. All of these are CSS transitions, off with reduced motion. The hover card opens with its own transition, which the page's reduced-motion setting also shortens.

  • Pro

    Animated Mosaic Team

    Grids and walls

    Eight people of a tide-table app as a three-by-three mosaic of large initials cells that share their hairlines, with the invitation in the middle cell: how many seats are open and the Shine Button, See open roles.

  • Pro

    Hover Reveal Team

    Lists and directories

    Six people of an architecture practice as a bare list of names and roles; hovering or focusing a row opens a hover card with the bio, base city and previous studios, and every row is also a link to the profile.

  • Pro

    Bento Grid Team

    Grids and walls

    The leadership of a lighting-design studio as a bento that shares its hairlines: a two-by-two founder cell, four leader cells with a focus line each, and a closing cell that counts the studio with a dot for every person.

  • Pro

    Grid Cards Team

    Grids and walls

    Twelve people of a restaurant-software company in a hairline grid that runs from rail to rail, each an initials avatar with a name, a role, a department badge and a city, under a department picker that brings the picked team to the front and dims everyone else.

  • Pro

    A wall of eighteen customer wordmarks for a month-end close tool, under a compact header with the customer count, in cells that share their hairlines from rail to rail.

  • Pro

    Accordion Profiles Team

    Tabs and accordions

    Ten people of a recruiting-tool company as hairline accordion rows that run from rail to rail; opening a row shows the department, a two-line bio, a personal quote and two text links, one row at a time.