mirror of
https://github.com/anthropics/claude-code.git
synced 2026-09-14 19:48:39 +08:00
33 lines
817 B
TypeScript
33 lines
817 B
TypeScript
/* @jsxRuntime classic */
|
|
/* @jsx h */
|
|
/* @jsxFrag Fragment */
|
|
import type { RenderElement } from 'claude-code'
|
|
|
|
import type { Kit } from '../../kit'
|
|
|
|
/**
|
|
* `+N -M` in the diff's word colours, a side left out at zero and nothing
|
|
* at all at 0/0 (design-system DiffStat).
|
|
*
|
|
* @param kit the drawing's kit; its elements draw the counts
|
|
* @param added lines added
|
|
* @param removed lines removed
|
|
* @returns the inline element
|
|
*/
|
|
export function diffStat(
|
|
kit: Kit,
|
|
added: number,
|
|
removed: number,
|
|
): RenderElement {
|
|
const { Text } = kit.ui
|
|
const hasBoth = added > 0 && removed > 0
|
|
|
|
return (
|
|
<Text>
|
|
{added > 0 ? <Text color="diffAddedWord">{`+${added}`}</Text> : ''}
|
|
{hasBoth ? ' ' : ''}
|
|
{removed > 0 ? <Text color="diffRemovedWord">{`-${removed}`}</Text> : ''}
|
|
</Text>
|
|
)
|
|
}
|