TBX Docs
ExercisesCatalogue

ConnectPoints

Match pairs by drawing connectors between origin and target items

ConnectPoints lets users match items from the origin set to the target set by drawing connectors. It uses React Flow for reliable connection rendering and supports layout variants.

Import

import { ConnectPoints } from '@bside-tech/tbx-ui/components';

Example

Connect Points
Draw connections between matching items.
<ConnectPoints
  pairs={[
    { origin: 'Paris', target: 'France' },
    { origin: 'Berlin', target: 'Germany' },
    { origin: 'Madrid', target: 'Spain' },
  ]}
  layout="columns"
/>

Props

Prop

Type

Labels

Override labels via the labels prop. Supported keys: check, reset (action buttons), results (e.g. "correct" in "3 / 5 correct").

<ConnectPoints
  pairs={[{ origin: 'Paris', target: 'France' }]}
  labels={{
    check: 'Check answers',
    reset: 'Reset',
    results: 'correct',
  }}
/>

Style

Tailwind v4 is available for all customisations. Pass classes via the classNames prop, or override CSS variables for fine-grained control.

CSS Classes

KeyElement
rootRoot wrapper
flowReact Flow container
checkButtonCheck button
resetButtonReset button
resultResults text

CSS Variables

Scoped under .tbx-connectpoints:

VariablePurpose
--connectpoints-item-bgItem background (default)
--connectpoints-item-borderItem border
--connectpoints-item-connected-bgItem background when connected (before validation). Uses color-mix with --exercise-accent-color.
--connectpoints-item-connected-borderItem border when connected (before validation). Uses --exercise-accent-color.
--connectpoints-item-correct-bg, --connectpoints-item-correct-borderItem when correct (after validation)
--connectpoints-item-wrong-bg, --connectpoints-item-wrong-borderItem when wrong (after validation)
--connectpoints-connectorConnector line (default)
--connectpoints-connector-activeConnector when connected (before validation). Uses --exercise-accent-color.
--connectpoints-connector-correctConnector when correct
--connectpoints-connector-wrongConnector when wrong
--connectpoints-point-bgHandle/point background
--connectpoints-point-borderHandle/point border
--connectpoints-point-selectedHandle/point when selected (focus)
--exercise-action-bg, --exercise-action-borderCheck/Reset buttons
--exercise-result-neutral, --exercise-result-correct, --exercise-result-wrongResults text

Item labels use --exercise-layout-content-font-size.

Variants

Columns (default)

Origin and target items are arranged in two columns. Connectors run horizontally.

Connect Points
Draw connections between matching items.
<ConnectPoints
  pairs={[
    { origin: 'Paris', target: 'France' },
    { origin: 'Berlin', target: 'Germany' },
    { origin: 'Madrid', target: 'Spain' },
  ]}
  layout="columns"
/>

Rows

Origin items on top, target items below. Connectors run vertically. Use with isRandom to shuffle the target set order.

Connect Points
Draw connections between matching items.
<ConnectPoints
  pairs={[
    { origin: 'A', target: '1' },
    { origin: 'B', target: '2' },
    { origin: 'C', target: '3' },
  ]}
  layout="rows"
  isRandom
/>

On this page