Orgchart Canvas

Updated 3 weeks ago

Live preview

default

Components
1 variant Tokens-backed WCAG 2.2 AA target

The fixed-dimension print canvas that hosts all org chart node boxes and SVG connector overlays. Sized exactly to US Letter landscape at 96dpi (11in × 8.5in = 1056×816px) — it renders as a white card on screen and fills the page edge-to-edge when printed.

Rendered from components/orgchart-canvas/recipe.json

When to use Org Chart Canvas

Use Org Chart Canvas as the single root container for a print-first ownership/hierarchy diagram. Every Org Chart Node box is absolutely positioned inside it, and every Org Chart Connector line is drawn on an SVG overlay it hosts — the canvas provides the position: relative coordinate frame both depend on. It is not a web-fluid layout container: the dimensions are fixed at 1056×816px so that on-screen pixel positions and the printed page are the same coordinate system. See the Org Charts product page for how the three components compose into a full diagram.

Variants

VariantDescription
DefaultUS Letter landscape at 96dpi, the only supported canvas size.

There is deliberately no size modifier — a second page size would fork every node position in a chart. Charts that need more room are an open sizing question (see below), not a variant.

Anatomy

  • Canvas — a .print-canvas div, 1056×816px, filled with the surface-base token, overflow: hidden, with a soft drop shadow (0 4px 6px rgba(0, 0, 0, 0.1)) that presents it as a card against the surrounding page on screen.
  • Contents — node boxes and the SVG connector overlay are children of the canvas; the canvas itself renders nothing else.

Print behaviour

The recipe carries the full @media print block, so consumers get correct print output without writing their own print CSS:

  • @page { size: landscape; margin: 0; } — the canvas fills the US Letter page edge-to-edge.
  • The on-screen box shadow is removed in print.
  • page-break-after: avoid keeps the chart on one page.
  • print-color-adjust: exact (with the -webkit- prefix) preserves the surface fill and node role colors in print output.

The recipe also sets SVG rendering hints for the connector overlay: shape-rendering: geometricPrecision on the SVG root and on marker paths (arrowheads), and crispEdges on connector paths — so orthogonal connector lines print sharp while arrowheads stay smooth.

Tokens

The canvas consumes one token:

TokenUsed for
{semantic.surface-base} (--ps-surface-base)Canvas background — the white card fill on screen and the page fill in print

See Tokens for the semantic layer this resolves through. Node role colors and connector strokes are tokenized on their own components, not on the canvas.

Behaviour

Static, print-first component — no interaction states and no motion. The canvas clips its contents (overflow: hidden); anything placed outside the 1056×816px frame is cut off rather than reflowing, which is the intended failure mode for a fixed print artifact.

Accessibility

The canvas itself carries no ARIA role — semantics live on the node boxes it contains. Each Org Chart Node provides its own role="group" and aria-label; the canvas is a purely presentational positioning frame. Target: WCAG 2.2 AA, per the recipe.

Open questions

Node boxes and connectors must fit within the 816px height constraint. If a chart approaches the limit, canvas height and the SVG connector overlay's viewBox must be reduced together to match the new content height — the two cannot be adjusted independently.

Important Information

Design System disclosure

This site provides open-source design tokens, documentation, and self-hostable software published by Woodfine Capital Projects Inc. Information here is for general reference only and does not constitute an offer, warranty, or a guarantee of fitness for any particular purpose. Statements regarding planned, intended, or targeted future features are forward-looking and subject to change without notice; they are not undertaken to be updated except as required by law.