import React from 'react'; import {cn} from '../../utils/cn'; import i18n from './i18n'; import './InfoViewer.scss'; /** @deprecated Use {@link YDBDefinitionList} instead */ export interface InfoViewerItem { label: React.ReactNode; value: React.ReactNode; } /** @deprecated Use {@link YDBDefinitionList} instead */ export interface InfoViewerProps { title?: React.ReactNode; info?: InfoViewerItem[]; dots?: boolean; size?: 's'; variant?: 'default' | 'small'; className?: string; multilineLabels?: boolean; renderEmptyState?: (props?: Pick) => React.ReactNode; } const b = cn('info-viewer'); /** @deprecated Use {@link YDBDefinitionList} instead */ export const InfoViewer = ({ title, info, dots = true, size, variant = 'default', className, multilineLabels, renderEmptyState, }: InfoViewerProps) => { if ((!info || !info.length) && renderEmptyState) { return {renderEmptyState({title, size})}; } return (
{title &&
{title}
} {info && info.length > 0 ? (
{info.map((data, infoIndex) => (
{data.label}
{dots &&
}
{data.value}
))}
) : ( i18n('no-data') )}
); };