Components

The library ships React components, grouped below by what they do. Every component is independently importable, isolated via its own shadow root, and shares a common configuration surface (theme, language, sign-in, leads, CTAs) documented in Core Concepts.

How components are organized

GroupComponents
Quizzes & pollsClassicQuizPlay, PollVote, PersonalityQuizPlay
Match & event predictionsMatchQuizPlay, EventGamePlay, Predictor, TopX
Engagement gamesPickThePair, ChanceGame, EitherOrPlay
Lead captureCollectLead
Community & socialDiscussion
Standings & bettingLeaderboard, Standings, Betslip
Sports contentCompetitorCard
Content discoveryList

At-a-glance

ComponentTemplatesSign-in gatedLead captureNotable extras
ClassicQuizPlaySTANDARD / SPLIT / OVERLAY✓inlineAnswer explanations
PollVoteSTANDARD / SPLIT / OVERLAY✓inlineReal-time results
PersonalityQuizPlaySTANDARD / SPLIT / OVERLAY✓inlinePersona matching, optionsLayout
MatchQuizPlaySTANDARD / SPLIT / OVERLAY✓inlineCountdown, points, prediction details
EventGamePlaySTANDARD / SPLIT / OVERLAY✓—Boolean / number / enum / free input outcomes
PickThePairSTANDARD / LANDING_PAGE / OVERLAY—after onlyCasual & challenge modes, timer
ChanceGameEMBED / STANDARD / OVERLAY——Prize Wheel, Penalty Shootout, Pick One of X
EitherOrPlaySTANDARD / OVERLAY✓inlineStandings panel
CollectLeadSTANDARD / SPLIT / OVERLAY—standaloneCustom fields, consents, success CTA
Discussionn/a (adaptive)callback—Threads, reactions, reporting, sort modes
Leaderboardn/a——Multi-entity dropdown, "Overall" aggregation
Predictor"standard" (multi-tab) / "embed" (single-match card)✓—Season-long, leagues, prizes, integrated Betslip
TopXn/a (multi-tab)✓—Season-long picks, game nav label, leagues, integrated Betslip
Betslipn/a (positioned)——Singleton betslipApi, bookmaker deep-link
Standingsn/a——Sport-agnostic columns, zone highlighting, team form (football only)
CompetitorCardstandard / hero / horizontal / compact——Season stats with a competition switcher, form, next/last fixture with odds, inline Fixtures & Squad panels, live badge
Listn/a (responsive grid)✓ (played content)inline (played content)Mixed-content grid, load-more or fixed count, modal playback or click-through URLs

How to read a component page

Every component page follows the same structure:

  1. Import — what to import and from which package.
  2. Required props — the minimum to render the component.
  3. Optional props — everything else, with links into Core Concepts for shared props.
  4. Component-specific behavior — what makes this component unique.
  5. Examples — runnable snippets, from basic to fully configured.

Choosing the right component

  • You want users to answer questions → ClassicQuizPlay (scored) or PersonalityQuizPlay (persona match).
  • You want a single opinion vote → PollVote.
  • You want sports predictions → MatchQuizPlay (one fixture), EventGamePlay (custom outcomes), Predictor (season-long score predictions), or TopX (season-long top-performer picks).
  • You want a fun engagement loop → PickThePair, ChanceGame, or EitherOrPlay.
  • You want to capture leads → CollectLead standalone, or leads prop on any game component.
  • You want comments under content → Discussion.
  • You want to show rankings → Leaderboard for game/quiz entities, or Standings for a sports competition table.
  • You want a sportsbook-style betslip → Betslip, or Predictor.betslip for the integrated version.
  • You want to surface several games at once → List — a grid of quizzes, polls and games that plays each one in a modal or links out to your own pages.

Shared configuration

These props look the same on every component that supports them — see Core Concepts for the full reference:


Did this page help you?