* } */ public function present(ResolvedReference $reference, ReferencePresentationVariant $variant): array { $badge = $this->statePresenter->badgeSpec($reference->state); $typeLabel = $this->typeLabels->label($reference->referenceClass); return [ 'referenceClass' => $reference->referenceClass->value, 'typeLabel' => $typeLabel, 'primaryLabel' => $reference->primaryLabel, 'secondaryLabel' => $reference->secondaryLabel, 'state' => $reference->state->value, 'stateLabel' => $reference->stateLabel ?? $badge->label, 'stateColor' => $badge->color, 'stateIcon' => $badge->icon, 'stateIconColor' => $badge->iconColor, 'stateDescription' => $this->statePresenter->description($reference, $typeLabel), 'showStateBadge' => $reference->state->isDegraded(), 'linkTarget' => $reference->linkTarget?->toArray(), 'technicalDetail' => $reference->technicalDetail->toArray(), 'isLinkable' => $reference->isLinkable(), 'isDegraded' => $reference->state->isDegraded(), 'variant' => $variant->value, 'meta' => $reference->meta, ]; } }