/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import React from 'react'; import { Text } from 'ink'; import { Colors } from '../colors.js'; interface PrepareLabelProps { label: string; matchedIndex?: number; userInput: string; textColor: string; highlightColor?: string; } export const PrepareLabel: React.FC = ({ label, matchedIndex, userInput, textColor, highlightColor = Colors.AccentYellow, }) => { if ( matchedIndex === undefined || matchedIndex < 0 || matchedIndex >= label.length || userInput.length === 0 ) { return {label}; } const start = label.slice(0, matchedIndex); const match = label.slice(matchedIndex, matchedIndex + userInput.length); const end = label.slice(matchedIndex + userInput.length); return ( {start} {match} {end} ); };