import React from 'react'; import { useComponentCompare } from '@teambit/component.ui.component-compare.context'; import type { APIDiffResult, APIDiffChange, APIDiffDetail } from './api-compare.types'; import styles from './api-compare.module.scss'; export type { APIDiffResult, APIDiffChange, APIDiffDetail }; function impactClass(impact: string): string { switch (impact) { case 'BREAKING': return styles.removedBadge; case 'NON_BREAKING': return styles.addedBadge; case 'PATCH': return styles.modifiedBadge; default: return styles.summaryBadge; } } function impactLabel(impact: string): string { switch (impact) { case 'BREAKING': return 'Breaking'; case 'NON_BREAKING': return 'Non-breaking'; case 'PATCH': return 'Patch'; default: return impact; } } function getStatusClass(status: string): string { switch (status) { case 'ADDED': return styles.statusAdded; case 'REMOVED': return styles.statusRemoved; case 'MODIFIED': return styles.statusModified; default: return styles.statusBadge; } } function getStatusLabel(status: string): string { switch (status) { case 'ADDED': return '+ Added'; case 'REMOVED': return '- Removed'; case 'MODIFIED': return '~ Modified'; default: return status; } } function dotClass(impact: string): string { switch (impact) { case 'BREAKING': return styles.dotBreaking; case 'NON_BREAKING': return styles.dotNonBreaking; default: return styles.dotPatch; } } function DetailItem({ detail }: { detail: APIDiffDetail }) { return (