Logo
NeoArc Studio

PDF Visual Blocks Reference

Complete reference for all 7 PDF visual block types: Metric Highlight, Comparison Columns, Flow Pipeline, Hub and Spoke, Pyramid, Hexagon Cluster, and Card Table. Covers data interfaces and configuration options for each block.

PDF visual blocks are content blocks designed for print-ready output. They render as static, structured layouts optimised for PDF generation and print distribution. Unlike the interactive visualisation blocks (which use D3, GSAP, or CSS 3D), PDF visual blocks use simple CSS layouts that render predictably across PDF engines.

Block Overview

Block IDLabelEditor ComponentDescription
pdf-metric-highlightMetric Highlightapp-neoarc-pdf-metric-highlightProminent callout cards for key statistics with optional icons and context text.
pdf-comparison-columnsComparison Columnsapp-neoarc-pdf-comparison-columnsSide-by-side columns comparing options with labelled items and indicators.
pdf-flow-pipelineFlow Pipelineapp-neoarc-pdf-flow-pipelineSequential pipeline of steps connected by arrows, horizontal or vertical.
pdf-hub-spokeHub and Spokeapp-neoarc-pdf-hub-spokeCentral hub with radiating spoke items, each with optional edge labels.
pdf-pyramidPyramidapp-neoarc-pdf-pyramidLayered pyramid diagram with colour-coded tiers from top to bottom.
pdf-hexagon-clusterHexagon Clusterapp-neoarc-pdf-hexagon-clusterHoneycomb grid of hexagonal cells with title, description, and icon.
pdf-card-tableCard Tableapp-neoarc-pdf-card-tableStructured data table with headers, rows, and optional caption.

Metric Highlight

Displays key statistics as prominent callout cards. Each metric shows a value, label, and optional context and icon.

Data Interface

interface PdfMetricHighlightMetric {
  value: string;
  label: string;
  context?: string;
  colour?: string;
  icon?: string;
}

interface PdfMetricHighlightData {
  metrics: PdfMetricHighlightMetric[];
}
FieldTypeRequiredDescription
valuestringYesThe metric value to display (e.g. '99.7%', '1,245').
labelstringYesA short description of the metric (e.g. 'Uptime', 'Monthly Active Users').
contextstringNoAdditional context text shown below the label (e.g. 'up 3.2% from last quarter').
colourstringNoAccent colour for the metric card border or background.
iconstringNoIcon name from the bundled icon library, displayed alongside the metric.

Comparison Columns

Side-by-side columns for comparing two or more options. Each column has a title, optional icon, preferred flag, and a list of labelled items with indicators.

Data Interface

interface PdfComparisonColumnsItem {
  label: string;
  value: string;
  indicator?: 'positive' | 'negative' | 'neutral';
}

interface PdfComparisonColumnsOption {
  title: string;
  icon?: string;
  isPreferred?: boolean;
  items: PdfComparisonColumnsItem[];
}

interface PdfComparisonColumnsData {
  options: PdfComparisonColumnsOption[];
}
FieldTypeRequiredDescription
optionsPdfComparisonColumnsOption[]YesArray of columns to compare. Each column represents one option.
options[].titlestringYesColumn heading (e.g. 'Option A', 'Current State').
options[].iconstringNoIcon displayed in the column header.
options[].isPreferredbooleanNoWhen true, the column is visually highlighted as the recommended choice.
options[].itemsPdfComparisonColumnsItem[]YesArray of comparison items within the column.
items[].labelstringYesItem label (e.g. 'Cost', 'Performance').
items[].valuestringYesItem value (e.g. 'Low', '150ms').
items[].indicator'positive' | 'negative' | 'neutral'NoVisual indicator: positive (green), negative (red), or neutral (grey).

Flow Pipeline

A sequential pipeline of steps connected by directional arrows. Can be rendered horizontally or vertically.

Data Interface

interface PdfFlowPipelineNode {
  title: string;
  description?: string;
  icon?: string;
}

interface PdfFlowPipelineData {
  title?: string;
  direction?: 'horizontal' | 'vertical';
  nodes: PdfFlowPipelineNode[];
}
FieldTypeRequiredDescription
titlestringNoOptional pipeline title displayed above the diagram.
direction'horizontal' | 'vertical'NoLayout direction. Defaults to 'horizontal'.
nodesPdfFlowPipelineNode[]YesArray of pipeline steps in order.
nodes[].titlestringYesStep title.
nodes[].descriptionstringNoShort description displayed below the step title.
nodes[].iconstringNoIcon displayed inside the step node.

Hub and Spoke

A central hub element with radiating spoke items. Each spoke can carry an edge label describing the relationship to the hub.

Data Interface

interface PdfHubSpokeCenter {
  title: string;
  description?: string;
  icon?: string;
}

interface PdfHubSpokeSpoke {
  title: string;
  description?: string;
  icon?: string;
  edgeLabel?: string;
}

interface PdfHubSpokeData {
  center: PdfHubSpokeCenter;
  spokes: PdfHubSpokeSpoke[];
}
FieldTypeRequiredDescription
centerPdfHubSpokeCenterYesThe central hub element.
center.titlestringYesHub title.
center.descriptionstringNoHub description.
center.iconstringNoIcon displayed in the hub.
spokesPdfHubSpokeSpoke[]YesArray of spoke elements radiating from the hub.
spokes[].titlestringYesSpoke title.
spokes[].descriptionstringNoSpoke description.
spokes[].iconstringNoIcon displayed in the spoke.
spokes[].edgeLabelstringNoLabel on the connecting line between hub and spoke.

Pyramid

A layered pyramid diagram with colour-coded tiers. Layers are rendered from top (narrowest) to bottom (widest), representing a hierarchy or priority stack.

Data Interface

interface PdfPyramidLayer {
  title: string;
  description?: string;
  colour?: string;
  icon?: string;
}

interface PdfPyramidData {
  title?: string;
  layers: PdfPyramidLayer[];
}
FieldTypeRequiredDescription
titlestringNoOptional pyramid title displayed above the diagram.
layersPdfPyramidLayer[]YesArray of pyramid layers from top to bottom.
layers[].titlestringYesLayer title displayed in the centre of the tier.
layers[].descriptionstringNoLayer description displayed below the title.
layers[].colourstringNoBackground colour for the tier. Defaults to theme-appropriate shading.
layers[].iconstringNoIcon displayed alongside the layer title.

Hexagon Cluster

A honeycomb grid of hexagonal cells. Each cell displays a title, description, and optional icon. Rendered as a static grid for print output.

Data Interface

interface PdfHexagonClusterHexagon {
  title: string;
  description: string;
  icon?: string;
}

interface PdfHexagonClusterData {
  title?: string;
  hexagons: PdfHexagonClusterHexagon[];
}
FieldTypeRequiredDescription
titlestringNoOptional cluster title displayed above the grid.
hexagonsPdfHexagonClusterHexagon[]YesArray of hexagonal cells.
hexagons[].titlestringYesCell title displayed at the top of the hexagon.
hexagons[].descriptionstringYesCell description displayed below the title.
hexagons[].iconstringNoIcon displayed above the title inside the hexagon.

Card Table

A structured data table with column headers, data rows, and an optional caption. Designed for presenting tabular data in print-ready format.

Data Interface

interface PdfCardTableData {
  caption?: string;
  headers: string[];
  rows: string[][];
}
FieldTypeRequiredDescription
captionstringNoOptional table caption displayed above the table.
headersstring[]YesArray of column header labels.
rowsstring[][]YesArray of row arrays. Each inner array contains cell values matching the headers.

PDF Rendering Notes

ConsiderationDetail
No interactivityPDF visual blocks have no hover, click, or animation effects. All states are rendered as static layouts.
Icon renderingIcons are rendered as inline SVG elements for reliable PDF output. The icon name references the bundled icon library.
Colour handlingColours are rendered as solid fills. Gradients should be avoided as PDF engines may not support CSS gradients consistently.
Page breaksPDF visual blocks are designed to fit within a single page. Large blocks (many items) may need manual adjustment.
Print CSSAll blocks include print-specific CSS rules via @media print to ensure clean output.