import { DocsBreadcrumbItem } from '../../molecules/docs-breadcrumb/types'; /** * Configuration for the docs-page component. */ export interface DocsPageMetadata { /** * Page title displayed as h1. */ title: string; /** * Breadcrumb navigation items. * When provided, shows breadcrumb above the title. */ breadcrumb?: { /** Breadcrumb items (last item is current page) */ items: DocsBreadcrumbItem[]; /** Show home icon at start @default true */ showHome?: boolean; /** Custom home route @default ['/'] */ homeRoute?: string[]; }; /** * Lead paragraph below the title. */ lead?: string; /** * Optional badge displayed next to title (e.g., "New", "Updated", "Beta"). */ badge?: string; /** * Badge color variant. * @default 'default' */ badgeColor?: 'default' | 'success' | 'warning' | 'danger'; /** * Previous page for navigation. */ previousPage?: DocsPageLink; /** * Next page for navigation. */ nextPage?: DocsPageLink; /** * i18n labels for navigation. */ navLabels?: { previous?: string; next?: string; }; /** * TOC configuration. */ toc?: { /** * TOC title. * @default 'On this page' */ title?: string; /** * Hide the TOC. * @default false */ hide?: boolean; }; /** * Custom CSS class. */ cssClass?: string; /** * Feedback/reaction widget configuration. * When enabled, shows a "Was this page helpful?" reaction widget. */ feedback?: DocsPageFeedbackConfig; } /** * Configuration for the feedback reaction widget. */ export interface DocsPageFeedbackConfig { /** * Enable the feedback widget. */ enabled: boolean; /** * Entity type for categorizing feedback. * @default 'docs-page' */ entityType?: string; /** * Entity ID for this page. If not provided, derives from current route. * @example 'components-button', 'guides-theming' */ entityId?: string; /** * Custom question text. If not provided, uses i18n default. * @example '¿Te resultó útil esta página?' */ question?: string; /** * Allow anonymous (unauthenticated) feedback. * @default true */ allowAnonymous?: boolean; /** * Show optional comment field after reaction. * @default true */ showComment?: boolean; } /** * Link to another documentation page. */ export interface DocsPageLink { /** * Display title for the link. */ title: string; /** * Route array for navigation. */ route: string[]; }