/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import React from 'react'; import { Box, Text } from 'ink'; import Spinner from 'ink-spinner'; import { Colors } from '../colors.js'; interface LoadingIndicatorProps { isLoading: boolean; currentLoadingPhrase: string; elapsedTime: number; rightContent?: React.ReactNode; } export const LoadingIndicator: React.FC = ({ isLoading, currentLoadingPhrase, elapsedTime, rightContent, }) => { if (!isLoading) { return null; // Don't render anything if not loading } return ( {currentLoadingPhrase} (esc to cancel, {elapsedTime}s) {/* Spacer */} {rightContent && {rightContent}} ); };