Prodular UI

Connector

Pro

A measured line between two elements with a label on it, for showing that one passage overrides another or that two records disagree.

npx prodular-ui add connector

Part of Prodular UI Pro. Preview and read the docs freely, install with a license. See pricing

Bracket

Two passages in one column. The line runs down their left and follows them when the layout changes.

Master agreement, section 12.2

Total liability is limited to the fees paid in the prior twelve months. This limit applies to every claim under this agreement.

Sections 12.3 to 14.1 cover notices, assignment and the term of the agreement, and do not change the limit above.

Exhibit B, section 9.2

Data protection claims are not subject to any limit of liability. Where this exhibit conflicts with the agreement, this exhibit controls.

Bridge

Two things side by side. The line crosses the gutter, and steps aside when they stack on a phone.

Purchase order PO-1187

Platform fee$12,000.00
Onboarding$4,500.00
Support$1,800.00

Invoice INV-2047

Platform fee$12,000.00
Support$1,800.00
Onboarding$6,000.00

Anatomy

<ConnectorRoot className="pl-24">  <ConnectorAnchor name="a">…</ConnectorAnchor>  <ConnectorAnchor name="b">…</ConnectorAnchor>  <Connector from="a" to="b" shape="bracket" inset={56}>    <ConnectorLabel>Overrides</ConnectorLabel>  </Connector></ConnectorRoot>

Guidance

Use it when

  • Use it when the relationship is the point: this clause overrides that one, this invoice line does not match that order.
  • Say the relationship in the label, in a few words.
  • Use one connector at a time. Show the one that matters to the item in review.

Avoid

  • Diagrams and flows with many nodes. It draws one line, not a graph.
  • Decoration. If nothing would be lost without the line, leave it out.
  • Anchors in different scroll containers. Both ends must sit inside one ConnectorRoot.

Rules for AI agents

Published in llms-full.txt, the registry and the MCP server, so coding agents follow them when they build with this component.

  • Wrap both ends and the Connector in one ConnectorRoot, and leave room on the left for a bracket and half its label: pl-24 with inset={56} fits a one-word label.
  • Mark each end with ConnectorAnchor and a unique name. Pass render={<span />} when the anchor sits inside a paragraph.
  • The line is hidden from screen readers. State the same relationship in text near it, or in the ConnectorLabel.
  • Set the colour with a text-* token on Connector. Use a status subtle foreground only when the relationship is a problem.

API

Connector

PropTypeDefaultDescription
from / tostringNames of the two ConnectorAnchors.
shape"bracket" | "bridge""bracket"bracket runs down the left of both anchors. bridge crosses a gutter between them.
insetnumber20bracket: how far left of the anchors the line runs, in px.
atnumber0.5Where the label sits along the line, 0 to 1.
labelAlign"center" | "start""center"start begins the label at the line, so a wide label stays clear of the margin.

ConnectorAnchor

PropTypeDefaultDescription
namestringRequired. What a Connector refers to.
renderReactElementThe element to render, for example <span /> inside text.

Installation

The Prodular UI CLI adds the source to components/ui with everything it depends on. In a project that already uses shadcn/ui, the shadcn CLI installs it from the Prodular registry too. See Installation for the first setup.

npx prodular-ui add connector# or, with the registry in components.jsonnpx shadcn@latest add @prodular/connector