import React, { useState } from 'react'; import { Button } from '../../components/Button/Button'; import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, } from '../../components/DropdownMenu'; import { Icons } from '../../components/Icons/Icons'; import { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, } from '../../components/Tooltip/Tooltip'; interface DataRowProps { number: number; title: string; description: string; optionalField?: string; colorHex?: string; details?: string; series?: string; actionOptions: string[]; onAction: (action: string) => void; isSelected?: boolean; onSelect?: () => void; } const DataRow: React.FC = ({ number, title, description, optionalField, colorHex, details, series, actionOptions, onAction, isSelected = false, onSelect, }) => { const [isDropdownOpen, setIsDropdownOpen] = useState(false); const [isVisible, setIsVisible] = useState(true); const isTitleLong = title.length > 25; return ( {' '} {/* Ensure TooltipProvider wraps the component */}
{/* Row 1 with 'group' class to enable group-hover */}
{/* Hover Overlay */}
{/* Number Box */}
{number}
{/* Color Circle (Optional) */} {colorHex && (
)} {/* Label with Conditional Tooltip */}
{isTitleLong ? ( {title} {title} ) : ( {title} )}
{/* Actions and Visibility Toggle */}
{/* Visibility Toggle Icon */} {isVisible ? ( ) : ( )} {/* Actions Dropdown Menu */} setIsDropdownOpen(open)}> Rename Lock Delete
{/* Row 2 (Details and Series) */} {(details || series) && (
{/* Updated Flex Container: Changed 'items-center' to 'items-start' */}
{details} {series && {series}}
)}
); }; export default DataRow;