import { ReactNode } from 'react'; /** * Type variants for MetadataDetails display * - Normal: Standard text display * - Bold: Emphasized text display (semi-bold) * - Chip: Compact chip-style display with background * - Custom: Custom component as value */ export type MetadataDetailsType = 'Normal' | 'Bold' | 'Chip' | 'Custom'; /** * Font size variants aligned with theme typography */ export type FontSizeVariant = 'xs' | 'sm' | 'base' | 'md' | 'lg' | 'xl'; /** * Layout variants for label/value positioning * - inline: Label on the left, value on the right (default) * - stacked: Label above, value below */ export type MetadataLayout = 'inline' | 'stacked'; export interface MetadataDetailsProps { /** * Label/name text displayed above or beside the value */ name: string; /** * Value text to display (used when type is not 'Custom') */ value?: string; /** * Display type variant * @default 'Normal' */ type?: MetadataDetailsType; /** * Layout variant for label/value positioning * - inline: Label on the left, value on the right * - stacked: Label above, value below * @default 'inline' */ layout?: MetadataLayout; /** * Custom component to render as the value (used when type is 'Custom') */ component?: ReactNode; /** * Color for the name/label text * @default theme.colors.grey[500] */ color?: string; /** * Minimum width for the name/label field (only applies to inline layout) * @default '140px' */ minWidth?: string | number; /** * Font size variant for the label text * Aligns with theme.typography.fontSize keys * @default undefined (uses component default of 11px) */ labelFontSize?: FontSizeVariant; /** * Font size variant for the value text * Aligns with theme.typography.fontSize keys * @default 'sm' (14px) */ valueFontSize?: FontSizeVariant; /** * Additional CSS class name */ className?: string; /** * Test identifier for automated testing */ dataTestId?: string; /** * Data identifier for ib-ui compatibility */ dataId?: string; } //# sourceMappingURL=MetadataDetails.types.d.ts.map