Skip to content
GaudiGaudi Design System home

Search documentation

Search every page, heading and paragraph.

TournamentBracket

A knockout bracket with connected match cards, round paging, scores, penalties, and explicit winners.

Charts@gaudi/design-system/charts/TournamentBracketView in StorybookSource

Installation

pnpm add github:ahmadassaf/design-system recharts

Import from @gaudi/design-system. Load @gaudi/design-system/global.css once and add transpilePackages: ['@gaudi/design-system'] in Next.js.

import { TournamentBracket } from '@gaudi/design-system/charts/TournamentBracket';

Usage

import { TournamentBracket } from '@gaudi/design-system/charts/TournamentBracket';
const rounds = [{ id: 'final', name: 'Final', matches: [{ id: 'f1', status: 'completed', home: { name: 'North', score: 2 }, away: { name: 'South', score: 1 }, winner: 'home' }] }];<TournamentBracket rounds={rounds} />

Examples

Playground

Storybook

Final with a winner

Storybook

Empty

Storybook

API

7 props

Accessibility

Labelled match groups expose round and participant names. Native buttons support keyboard navigation; current rounds are announced politely. Winners have a text alternative as well as an icon and weight. Motion respects reduced-motion preferences. One, two or three rounds fit the container without page overflow.