@gordon1210/depup
Version:
a dependency upgrade tool for node projects
9 lines (8 loc) • 1.78 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { Box, Text } from "ink";
import path from "path";
import { ScrollingText } from "./ScrollingText.js";
export function PackageRow({ pkg, isSelected, isDiverging, isVersionUnchanged, hasHigherUpdates, }) {
// Use inverse for better visibility instead of background color
return (_jsxs(Box, { children: [_jsx(Box, { width: 3, children: _jsx(Text, { color: pkg.selected ? "green" : undefined, bold: isSelected, children: pkg.selected ? "✔" : isSelected ? ">" : " " }) }), _jsx(Box, { width: 32, children: _jsx(Text, { bold: isSelected || pkg.selected, color: pkg.selected ? "green" : "yellow", inverse: isSelected, children: isSelected ? (_jsx(ScrollingText, { text: pkg.name, maxLength: 30, isActive: isSelected, bold: isSelected || pkg.selected, color: pkg.selected ? "green" : "yellow", inverse: isSelected })) : (pkg.name) }) }), _jsx(Box, { width: 14, children: _jsx(Text, { color: isDiverging ? "red" : undefined, inverse: isSelected, bold: isSelected, children: pkg.currentVersion }) }), _jsxs(Box, { width: 19, children: [_jsx(Text, { color: isVersionUnchanged ? undefined : "cyan", inverse: isSelected, bold: isSelected, children: pkg.displayVersion }), hasHigherUpdates && _jsx(Text, { color: "cyan", children: " *" })] }), _jsx(Box, { width: 12, children: _jsx(Text, { color: "magentaBright", inverse: isSelected, bold: isSelected, children: pkg.targetVersionType }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: isSelected ? undefined : "gray", inverse: isSelected, children: _jsx(ScrollingText, { text: path.relative(process.cwd(), pkg.packagePath) || ".", maxLength: 24, isActive: true, color: isSelected ? undefined : "gray", inverse: isSelected, interval: 5000 }) }) })] }));
}