import classNames from 'classnames'; import type { HTMLAttributes, ReactElement, ReactNode } from 'react'; interface Props { children: | ReactElement> | (ReactElement> | null)[]; } export function KeyValueRows({ children }: Props) { const childArray = Array.isArray(children) ? children.filter(Boolean) : [children]; return ( {childArray.map((child, i) => ( // biome-ignore lint/suspicious/noArrayIndexKey: none {child} ))}
); } interface KeyValueRowProps { label: ReactNode; children: ReactNode; rightSlot?: ReactNode; leftSlot?: ReactNode; labelClassName?: string; labelColor?: 'secondary' | 'primary' | 'info'; } export function KeyValueRow({ label, children, rightSlot, leftSlot, labelColor = 'secondary', labelClassName, }: KeyValueRowProps) { return ( <> {label}
{leftSlot ?? } {children} {rightSlot ?
{rightSlot}
: }
); }