import { TemplateRef } from '@angular/core'; /** * Configuration for the docs-code-example component. */ export interface DocsCodeExampleMetadata { /** * Example title. */ title?: string; /** * Example description. */ description?: string; /** * Code tabs to display. */ tabs: DocsCodeTab[]; /** * Template for live preview. * Use ng-template with #preview reference. */ previewTemplate?: TemplateRef; /** * External link (e.g., StackBlitz, CodeSandbox). */ externalLink?: { url: string; label?: string; }; /** * Show copy button on code blocks. * @default true */ showCopyButton?: boolean; /** * Show line numbers in code. * @default false */ showLineNumbers?: boolean; /** * Custom CSS class. */ cssClass?: string; /** * Default active tab index. * @default 0 */ defaultTab?: number; } export interface DocsCodeTab { /** * Tab label (e.g., "HTML", "TypeScript", "SCSS"). */ label: string; /** * Code content. */ code: string; /** * Language for syntax highlighting. */ language: 'html' | 'typescript' | 'scss' | 'css' | 'json' | 'bash' | 'text' | 'go'; }