import * as React from 'react'; import { Text, View } from '@react-pdf/renderer'; import type { KeyValueItem } from '../../model/types'; import { styles } from '../styles'; export function KeyValueGrid(props: { items: KeyValueItem[] }): React.ReactElement | null { const items = (props.items || []).filter(i => i.label && i.value); if (!items.length) return null; // 4-column layout: (label, value, label, value) const rows: Array<[KeyValueItem, KeyValueItem | null]> = []; for (let i = 0; i < items.length; i += 2) { rows.push([items[i], items[i + 1] || null]); } return ( {rows.map(([left, right], rowIndex) => { const isLast = rowIndex === rows.length - 1; const leftValue = left.unit ? `${left.value} ${left.unit}` : left.value; const rightValue = right ? (right.unit ? `${right.value} ${right.unit}` : right.value) : ''; return ( {left.label} {leftValue} {right?.label || ''} {rightValue} ); })} ); }