import { Color } from '@ionic/core'; import { LinkProcessorConfig } from '../../../services/link-processor.service'; /** * Props for val-text component. * * The component supports both static content and reactive content from the language service. * Use either `content` for static text or `contentKey` + `contentClass` for reactive text. * * @property content - Static text to display (takes precedence over contentKey) * @property contentKey - Key for dynamic content from language service * @property contentClass - Component class name for content lookup (required with contentKey) * @property contentFallback - Fallback text if contentKey is not found * @property contentInterpolation - Values to interpolate into the content string * @property color - The text color (Ionic color string) * @property size - The text size ('small' | 'medium' | 'large' | 'xlarge') * @property bold - Whether the text is bold * @property processLinks - Whether to automatically process and convert links in the text (default: false) * @property linkConfig - Configuration for link processing (colors, target behavior, etc.) */ export interface TextMetadata { size: 'small' | 'medium' | 'large' | 'xlarge'; color: Color; content?: string; bold: boolean; contentKey?: string; contentClass?: string; contentFallback?: string; contentInterpolation?: Record; processLinks?: boolean; linkConfig?: LinkProcessorConfig; allowPartialBold?: boolean; } /** * Configuration for reactive content in val-text component. * Use this interface when you only need to specify content-related properties. */ export interface TextContentConfig { contentKey: string; contentClass: string; contentFallback?: string; contentInterpolation?: Record; }