import React, { useState, useCallback, useEffect } from 'react'; import { Box, Text, useInput, useFocus, useApp } from 'ink'; interface CollapsibleProps { title: string; children: React.ReactNode; collapsed?: boolean; isSelected?: boolean; onSelect?: () => void } export const Collapsible = ({ title, children, collapsed = false, onSelect, isSelected}: CollapsibleProps) => { useInput((_, key) => { if (isSelected && key.return) { onSelect?.(); } }, { isActive: isSelected }); if (collapsed) { return ( {isSelected ? "▶ " : "▸ "} {title} ); } return ( {title} {children} ); };