{"version":3,"file":"docgeni-template.mjs","sources":["../../../packages/template/src/built-in/built-in-component.ts","../../../packages/template/src/built-in/label/label.component.ts","../../../packages/template/src/built-in/label/label.component.html","../../../packages/template/src/built-in/alert/alert.component.ts","../../../packages/template/src/built-in/alert/alert.component.html","../../../packages/template/src/built-in/built-in-components.ts","../../../packages/template/src/built-in/loader.ts","../../../packages/template/src/built-in/built-in.module.ts","../../../packages/template/src/built-in/index.ts","../../../packages/template/src/interfaces/config.ts","../../../packages/template/src/utils/language-compare.ts","../../../packages/template/src/services/global-context.ts","../../../packages/template/src/services/navigation.service.ts","../../../packages/template/src/services/channel.resolver.ts","../../../packages/template/src/services/example-loader.ts","../../../packages/template/src/services/page-title.service.ts","../../../packages/template/src/shared/icon/svgs.ts","../../../packages/template/src/shared/icon/icon.component.ts","../../../packages/template/src/shared/icon/icon.component.html","../../../packages/template/src/utils/color-metadata.ts","../../../packages/template/src/shared/label/label.component.ts","../../../packages/template/src/shared/label/label.component.html","../../../packages/template/src/services/toc.service.ts","../../../packages/template/src/shared/toc/toc.component.ts","../../../packages/template/src/shared/toc/toc.component.html","../../../packages/template/src/shared/locales-selector/locales-selector.component.ts","../../../packages/template/src/shared/locales-selector/locales-selector.component.html","../../../packages/template/src/shared/logo/logo.component.ts","../../../packages/template/src/shared/logo/logo.component.html","../../../packages/template/src/services/search.service.ts","../../../packages/template/src/shared/pipes/translate.pipe.ts","../../../packages/template/src/shared/pipes/highlight.pipe.ts","../../../packages/template/src/shared/search/search.component.ts","../../../packages/template/src/shared/search/search.component.html","../../../packages/template/src/shared/pipes/mode.pipe.ts","../../../packages/template/src/shared/sidebar/sidebar.component.ts","../../../packages/template/src/shared/sidebar/sidebar.component.html","../../../packages/template/src/pages/channel/channel.component.ts","../../../packages/template/src/pages/channel/channel.component.html","../../../packages/template/src/shared/footer/footer.component.ts","../../../packages/template/src/shared/footer/footer.component.html","../../../packages/template/src/shared/doc-header/doc-header.component.ts","../../../packages/template/src/shared/doc-header/doc-header.component.html","../../../packages/template/src/utils.ts","../../../packages/template/src/services/example.service.ts","../../../packages/template/src/services/stackblitz-example.service.ts","../../../packages/template/src/shared/example-renderer/example-renderer.component.ts","../../../packages/template/src/shared/example-renderer/example-renderer.component.html","../../../packages/template/src/shared/content-renderer.ts","../../../packages/template/src/shared/copier/copier.service.ts","../../../packages/template/src/shared/copy/copy.component.ts","../../../packages/template/src/shared/copy/copy.component.html","../../../packages/template/src/shared/source-code/source-code.component.ts","../../../packages/template/src/shared/source-code/source-code.component.html","../../../packages/template/src/shared/example-viewer/example-viewer.component.ts","../../../packages/template/src/shared/example-viewer/example-viewer.component.html","../../../packages/template/src/services/dom-portal-outlet.ts","../../../packages/template/src/shared/content-viewer/content-viewer.component.ts","../../../packages/template/src/shared/doc-meta/doc-meta.component.ts","../../../packages/template/src/shared/doc-meta/doc-meta.component.html","../../../packages/template/src/shared/doc-pages-links/doc-pages-links.component.ts","../../../packages/template/src/shared/doc-pages-links/doc-pages-links.component.html","../../../packages/template/src/pages/component-viewer/component-viewer.component.ts","../../../packages/template/src/pages/component-viewer/component-viewer.component.html","../../../packages/template/src/shared/pipes/assets-content-path.pipe.ts","../../../packages/template/src/shared/pipes/nav.pipe.ts","../../../packages/template/src/pages/doc-viewer/doc-viewer.component.ts","../../../packages/template/src/pages/doc-viewer/doc-viewer.component.html","../../../packages/template/src/pages/component-viewer/overview/component-overview.component.ts","../../../packages/template/src/pages/component-viewer/overview/component-overview.component.html","../../../packages/template/src/shared/pipes/ng-kind.pipe.ts","../../../packages/template/src/shared/pipes/property-name.pipe.ts","../../../packages/template/src/pages/component-viewer/api/component-api.component.ts","../../../packages/template/src/pages/component-viewer/api/component-api.component.html","../../../packages/template/src/pages/component-viewer/examples/component-examples.component.ts","../../../packages/template/src/pages/component-viewer/examples/component-examples.component.html","../../../packages/template/src/shared/pipes/hero.pipe.ts","../../../packages/template/src/pages/home/home.component.ts","../../../packages/template/src/pages/home/home.component.html","../../../packages/template/src/pages/example/example.component.ts","../../../packages/template/src/pages/example/example.component.html","../../../packages/template/src/interfaces/index.ts","../../../packages/template/src/shared/themes-selector/themes-selector.component.ts","../../../packages/template/src/shared/themes-selector/themes-selector.component.html","../../../packages/template/src/shared/navbar/navbar.component.ts","../../../packages/template/src/shared/navbar/navbar.component.html","../../../packages/template/src/pages/root/root.component.ts","../../../packages/template/src/pages/root/root.component.html","../../../packages/template/src/services/router-reset.service.ts","../../../packages/template/src/initializer.ts","../../../packages/template/src/shared/shared.module.ts","../../../packages/template/src/pages/pages.module.ts","../../../packages/template/src/module.ts","../../../packages/template/src/routes.ts","../../../packages/template/src/public-api.ts","../../../packages/template/src/docgeni-template.ts"],"sourcesContent":["import { Directive, ElementRef, Type } from '@angular/core';\n\n@Directive()\nexport abstract class DocgeniBuiltInComponent {\n    private classes: string[] = [];\n\n    get hostElement(): HTMLElement {\n        return this.elementRef.nativeElement;\n    }\n\n    constructor(protected elementRef: ElementRef) {}\n\n    setAttribute(qualifiedName: string, value: string) {\n        (this as any)[qualifiedName] = value;\n        this.hostElement.setAttribute(qualifiedName, value);\n    }\n\n    updateHostClass(classes: string[]) {\n        if (this.classes) {\n            this.classes.forEach((className) => {\n                if (!this.classes.includes(className)) {\n                    this.removeClass(className);\n                }\n            });\n        }\n        const newClasses: string[] = [];\n        classes.forEach((className) => {\n            if (className) {\n                newClasses.push(className);\n                if (!this.classes.includes(className)) {\n                    this.addClass(className);\n                }\n            }\n        });\n        this.classes = newClasses;\n        return this;\n    }\n\n    addClass(className: string) {\n        this.hostElement.classList.add(className);\n    }\n\n    removeClass(className: string) {\n        this.hostElement.classList.remove(className);\n    }\n}\n\nexport interface BuiltInComponentDef {\n    selector: string;\n    component: Type<unknown>;\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit } from '@angular/core';\nimport { DocgeniBuiltInComponent } from '../built-in-component';\n\nexport type DocgeniLabelType = 'primary' | 'danger' | 'warning' | 'info' | '';\n\n@Component({\n    selector: 'label',\n    templateUrl: './label.component.html',\n    host: {\n        class: 'dg-label',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class DocgeniLabelComponent extends DocgeniBuiltInComponent implements OnInit {\n    private internalType: DocgeniLabelType = 'primary';\n\n    get type(): DocgeniLabelType {\n        return this.internalType;\n    }\n\n    @Input() set type(value: DocgeniLabelType) {\n        this.internalType = value;\n        this.updateHostClass([`dg-label-${this.type}`]);\n    }\n\n    constructor(elementRef: ElementRef<unknown>) {\n        super(elementRef);\n    }\n\n    ngOnInit(): void {\n        this.updateHostClass([`dg-label-${this.type}`]);\n    }\n}\n\nexport default {\n    selector: 'label',\n    component: DocgeniLabelComponent,\n};\n","<ng-content></ng-content>\n","import { Component, ElementRef, Input, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { DocgeniBuiltInComponent } from '../built-in-component';\n\nexport type DocgeniAlertType = 'primary' | 'info' | 'success' | 'warning' | 'danger';\n\n@Component({\n    selector: 'alert',\n    templateUrl: './alert.component.html',\n    host: {\n        class: 'dg-alert',\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class DocgeniAlertComponent extends DocgeniBuiltInComponent implements OnInit {\n    private internalType: DocgeniAlertType = 'info';\n\n    get type(): DocgeniAlertType {\n        return this.internalType;\n    }\n\n    @Input() set type(value: DocgeniAlertType) {\n        this.internalType = value;\n        this.updateHostClass([`dg-alert-${this.type}`]);\n    }\n\n    constructor(elementRef: ElementRef<unknown>) {\n        super(elementRef);\n    }\n\n    ngOnInit(): void {\n        this.updateHostClass([`dg-alert-${this.type}`]);\n    }\n}\n\nexport default {\n    selector: 'alert',\n    component: DocgeniAlertComponent,\n};\n","<ng-content></ng-content>\n","import { BuiltInComponentDef } from './built-in-component';\n\nlet builtInComponents: BuiltInComponentDef[];\nexport function setBuiltInComponents(components: BuiltInComponentDef[]) {\n    builtInComponents = components || [];\n}\n\nexport function getBuiltInComponents(): BuiltInComponentDef[] {\n    return builtInComponents;\n}\n\nexport function addBuiltInComponents(components: BuiltInComponentDef[]) {\n    builtInComponents = builtInComponents ? builtInComponents.concat(components) : components;\n}\n","import { setBuiltInComponents } from './built-in-components';\nimport label from './label/label.component';\nimport alert from './alert/alert.component';\n\nexport function loadBuiltInComponents() {\n    setBuiltInComponents([label, alert]);\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DocgeniLabelComponent } from './label/label.component';\nimport { DocgeniAlertComponent } from './alert/alert.component';\nimport { loadBuiltInComponents } from './loader';\n\n@NgModule({\n    declarations: [DocgeniLabelComponent, DocgeniAlertComponent],\n    imports: [CommonModule],\n    exports: [],\n    providers: [],\n})\nexport class DocgeniBuiltInModule {\n    constructor() {\n        loadBuiltInComponents();\n    }\n}\n","import label from './label/label.component';\nimport alert from './alert/alert.component';\nexport * from './built-in.module';\nexport * from './built-in-component';\nexport * from './built-in-components';\n\nexport const BUILT_IN_COMPONENTS = [label, alert];\n","import { DocgeniLibrary } from './library';\nimport { Locale } from './locale';\nimport { DocItemToc } from './navigation-item';\n\nexport interface HeroAction {\n    text: string;\n    link: string;\n    btnType?: string;\n    btnShape?: 'round' | 'square';\n}\n\nexport interface HomeDocMeta {\n    title: string;\n    hero: {\n        title: string;\n        description: string;\n        banner: string | string[];\n        actions: HeroAction;\n        backgroundColor?: string;\n    };\n    features: {\n        icon: string;\n        title: string;\n        description: string;\n    }[];\n    contentPath: string;\n}\n\nexport type DocgeniMode = 'full' | 'lite';\n\nexport enum DocgeniTheme {\n    light = 'light',\n    dark = 'dark',\n    system = 'system',\n}\n\nexport interface DocgeniNavItem {\n    /** Title for nav item **/\n    title: string;\n    /** Route path for nav item **/\n    path: string;\n    /** Whether is external link **/\n    isExternal?: boolean;\n    /** Lib name for libs **/\n    lib?: string;\n    /** Locales **/\n    locales?: {\n        [key: string]: {\n            title: string;\n        };\n    };\n}\n\nexport interface DocgeniAlgoliaConfig {\n    appId?: string;\n\n    apiKey: string;\n\n    indexName: string;\n}\n\nexport interface DocgeniSitemapConfig {\n    host?: string;\n}\n\nexport interface DocgeniConfig {\n    /** Title of documentation, e.g: Docgeni **/\n    title?: string;\n    /** Description of documentation **/\n    description?: string;\n    /** Mode of documentation, full mode contains nav, home page, lite mode only contains menu and doc viewers **/\n    mode?: DocgeniMode;\n    /** Theme, angular navbar style and default style **/\n    theme?: 'default' | 'angular';\n    /** Base href of documentation, default is / **/\n    baseHref?: string;\n    /** Logo url*/\n    logoUrl?: string;\n    /** Public dir, default is .docgeni/public **/\n    publicDir?: string;\n    /** Repo url*/\n    repoUrl?: string;\n    /** Docs dir, default is 'docs' **/\n    docsDir?: string;\n    /** Site default dir .docgeni/site **/\n    siteDir?: string;\n    /** Site default dir .docgeni/components **/\n    componentsDir?: string;\n    /** Site output dir, default is dist/docgeni-site **/\n    outputDir?: string;\n    /** Angular demo site name in angular.json **/\n    siteProjectName?: string;\n    /** Angular libraries **/\n    libs?: DocgeniLibrary[];\n    /** Navigations for menu and nav **/\n    navs?: DocgeniNavItem[];\n    /** Locales **/\n    locales?: Locale[];\n    /** Default locale **/\n    defaultLocale?: string;\n    /** Enable themes */\n    switchTheme?: boolean;\n    /** footer content **/\n    footer?: string;\n    /** algolia config */\n    algolia?: DocgeniAlgoliaConfig;\n    /** default toc, default is content **/\n    toc?: DocItemToc;\n    /** sitemap config */\n    sitemap?: DocgeniSitemapConfig;\n    /** Progress */\n    progress?: boolean;\n}\n\n// For Angular Template\nexport interface DocgeniSiteConfig {\n    /** Title of documentation, e.g: Docgeni **/\n    title: string;\n    /** Heading of documentation, e.g: Doc Generator, default is same as title **/\n    heading?: string;\n    /** Description of documentation **/\n    description?: string;\n    /** Mode of documentation, full mode contains nav, home page, lite mode only contains menu and doc viewers **/\n    mode?: 'full' | 'lite';\n    /** Theme, angular navbar style and default style **/\n    theme?: 'default' | 'angular';\n    /** Base href of documentation, default is / **/\n    baseHref?: string;\n    /** Heads of documentation*/\n    heads?: [];\n    /** Logo url*/\n    logoUrl?: string;\n    /** Repo url*/\n    repoUrl?: string;\n    /** Home meta **/\n    homeMeta?: HomeDocMeta;\n    /** Locales **/\n    locales?: Locale[];\n    /** Default locale **/\n    defaultLocale?: string;\n    /** Enable themes */\n    switchTheme?: boolean;\n    /** footer content **/\n    footer?: string;\n    /** algolia config */\n    algolia?: DocgeniAlgoliaConfig;\n}\n","export function languageCompare(language1: string, language2: string) {\n    return language1.toLocaleLowerCase().replace(/_/g, '-') === language2.toLocaleLowerCase().replace(/_/g, '-');\n}\n","import { Injectable, Inject, InjectionToken, Signal, computed, WritableSignal, signal } from '@angular/core';\nimport { DocgeniSiteConfig, NavigationItem, DocgeniMode, HomeDocMeta, CategoryItem, DocgeniTheme } from '../interfaces/public-api';\nimport { HttpClient } from '@angular/common/http';\nimport { languageCompare } from '../utils/language-compare';\nimport { DOCUMENT, Location } from '@angular/common';\n\nexport const CONFIG_TOKEN = new InjectionToken('DOC_SITE_CONFIG');\n\nexport const DEFAULT_CONFIG: DocgeniSiteConfig = {\n    title: 'Docgeni',\n    description: '',\n};\n\nconst DOCGENI_LOCALE_KEY = 'docgeni-locale';\nconst DOCGENI_MODE_KEY = 'docgeni-mode';\nconst DOCGENI_THEME_KEY = 'docgeni-theme';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class GlobalContext {\n    locale!: string;\n\n    navs!: NavigationItem[];\n\n    docItems!: NavigationItem[];\n\n    homeMeta!: HomeDocMeta;\n\n    owner!: string;\n\n    repo!: string;\n\n    theme: WritableSignal<DocgeniTheme> = signal(DocgeniTheme.light);\n\n    isDarkTheme: Signal<boolean> = computed(() => {\n        return (\n            (this.theme() === DocgeniTheme.system && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) ||\n            this.theme() === DocgeniTheme.dark\n        );\n    });\n\n    get isDefaultLocale() {\n        return this.locale === this.config.defaultLocale;\n    }\n\n    constructor(\n        @Inject(CONFIG_TOKEN) public config: DocgeniSiteConfig,\n        private http: HttpClient,\n        @Inject(DOCUMENT) private document: any,\n        private location: Location,\n    ) {\n        this.setup();\n    }\n\n    private getLocaleKey(): string {\n        const localeKeyFromUrl = this.getLocalKeyFromUrl();\n        if (localeKeyFromUrl) {\n            return localeKeyFromUrl;\n        } else {\n            const cacheLocale = window.localStorage.getItem(DOCGENI_LOCALE_KEY) || window.navigator.language || '';\n            const locale = (this.config.locales || []).find((locale) => {\n                return languageCompare(locale.key, cacheLocale);\n            });\n            if (locale) {\n                return locale.key;\n            } else {\n                return this.config.defaultLocale as string;\n            }\n        }\n    }\n\n    private setup() {\n        this.setLocale(this.getLocaleKey());\n        this.setTheme(this.getTheme());\n\n        const cacheMode = window.localStorage.getItem(DOCGENI_MODE_KEY);\n        if (cacheMode && ['lite', 'full'].includes(cacheMode)) {\n            this.config.mode = cacheMode as DocgeniMode;\n        }\n\n        document.body.classList.add(`dg-mode-${this.config.mode}`, `dg-navbar-theme-${this.config.theme}`);\n        if (this.config.repoUrl) {\n            const pattern = /https:\\/\\/github.com\\/([^\\/]*)\\/([^\\/]*)/.exec(this.config.repoUrl);\n            if (pattern && pattern.length === 3) {\n                this.owner = pattern[1];\n                this.repo = pattern[2];\n            }\n        }\n    }\n\n    public getLocalKeyFromUrl() {\n        const localeFromUrl = (this.config.locales || []).find((locale) => {\n            return this.location.path().startsWith(`/${locale.key}`);\n        });\n        return localeFromUrl && localeFromUrl.key;\n    }\n\n    public setLocale(locale: string) {\n        this.locale = locale;\n        window.localStorage.setItem(DOCGENI_LOCALE_KEY, locale);\n    }\n\n    private getTheme(): DocgeniTheme {\n        const cacheTheme = window.localStorage.getItem(DOCGENI_THEME_KEY) as DocgeniTheme;\n        if (cacheTheme && [DocgeniTheme.light, DocgeniTheme.dark, DocgeniTheme.system].includes(cacheTheme)) {\n            return cacheTheme;\n        } else {\n            return DocgeniTheme.light;\n        }\n    }\n\n    public setTheme(theme: DocgeniTheme) {\n        this.theme.set(theme);\n        window.localStorage.setItem(DOCGENI_THEME_KEY, theme);\n\n        if (this.isDarkTheme()) {\n            document.documentElement.setAttribute('theme', DocgeniTheme.dark);\n            document.documentElement.style.setProperty('color-scheme', 'dark');\n        } else {\n            document.documentElement.removeAttribute('theme');\n            document.documentElement.style.removeProperty('color-scheme');\n        }\n    }\n\n    getNowTimestamp() {\n        return new Date().getTime();\n    }\n\n    initialize() {\n        return new Promise((resolve, reject) => {\n            this.http\n                .get<{\n                    navs: NavigationItem[];\n                    docs: NavigationItem[];\n                    homeMeta: HomeDocMeta;\n                }>(`assets/content/navigations-${this.locale}.json?t=${this.getNowTimestamp()}`)\n                .subscribe({\n                    next: (response: { navs: NavigationItem[]; docs: NavigationItem[]; homeMeta: HomeDocMeta }) => {\n                        this.homeMeta = response.homeMeta;\n                        this.navs = response.navs;\n                        this.docItems = this.sortDocItems(this.navs);\n                        resolve(response);\n                    },\n                    error: (error) => {\n                        reject(error);\n                    },\n                });\n        });\n    }\n\n    getAssetsContentPath(path: string) {\n        return path.startsWith('/') ? `assets/content${path}` : `assets/content/${path}`;\n    }\n\n    sortDocItems(navs: NavigationItem[]) {\n        navs = navs.slice();\n        const list: NavigationItem[] = [];\n        while (navs.length) {\n            const item = navs.shift();\n            if (item) {\n                if (item.items) {\n                    item.items.forEach((child: CategoryItem) => {\n                        child.ancestors = child.ancestors || [];\n                        child.ancestors.push(...(item.ancestors || []), item);\n                    });\n                    navs.unshift(...(item.items as NavigationItem[]));\n                } else if (!item.hidden) {\n                    list.push(item);\n                }\n            }\n        }\n        return list;\n    }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationItem, DocItem, ChannelItem, CategoryItem } from '../interfaces/public-api';\nimport { GlobalContext } from './global-context';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class NavigationService {\n    channel$ = new BehaviorSubject<ChannelItem | null>(null);\n\n    docItem$ = new BehaviorSubject<NavigationItem | null>(null);\n    docPages$ = new BehaviorSubject<{ pre: NavigationItem; next: NavigationItem } | null>(null);\n    /** Responsive layout, sidebar default is hide */\n    showSidebar = false;\n    get channel() {\n        return this.channel$.value;\n    }\n\n    get docItem() {\n        return this.docItem$.value;\n    }\n\n    get navs() {\n        return this.global.navs;\n    }\n\n    get docItems() {\n        return this.global.docItems;\n    }\n\n    constructor(private global: GlobalContext) {}\n\n    getChannels(): ChannelItem[] {\n        return this.navs as ChannelItem[];\n    }\n\n    getChannel(path: string): ChannelItem {\n        return this.navs.find((nav) => {\n            return nav.path === path;\n        }) as ChannelItem;\n    }\n\n    getDocItemByPath(path: string) {\n        let index: number;\n        if (this.channel) {\n            // 类库频道\n            if (this.channel.lib) {\n                index = this.docItems.findIndex((docItem) => {\n                    return docItem.path === path && docItem.channelPath === this.channel!.path && !!docItem.importSpecifier;\n                });\n            } else {\n                index = this.docItems.findIndex((docItem) => {\n                    return docItem.path === path && docItem.channelPath === this.channel!.path;\n                });\n            }\n        } else {\n            index = this.docItems.findIndex((docItem) => {\n                return docItem.path === path && (this.global.config.mode === 'lite' ? true : !docItem.channelPath);\n            });\n        }\n        if (index > -1) {\n            const preDocItem = index ? this.docItems[index - 1] : undefined;\n            const nextDocItem = this.docItems.length - 1 === index ? undefined : this.docItems[index + 1];\n            this.docPages$.next({\n                pre: preDocItem!,\n                next: nextDocItem!,\n            });\n        }\n        return this.docItems[index];\n    }\n\n    selectChannelByPath(path: string) {\n        const channel = this.getChannel(path);\n        this.channel$.next(channel);\n        return channel;\n    }\n\n    clearChannel() {\n        this.channel$.next(null);\n    }\n\n    selectDocItem(path: string) {\n        const docItem = this.getDocItemByPath(path);\n        this.docItem$.next(docItem);\n    }\n\n    getChannelFirstDocItem() {\n        if (this.channel && this.channel.items) {\n            return this.searchFirstDocItem(this.channel.items as NavigationItem[]);\n        }\n        return null;\n    }\n\n    searchFirstDocItem(items: NavigationItem[] = this.navs) {\n        let docItem: DocItem;\n        for (const nav of items) {\n            if (this.isDocItem(nav)) {\n                docItem = nav;\n            } else {\n                docItem = this.getNavFirstDocItem(nav as NavigationItem);\n            }\n            if (docItem) {\n                break;\n            }\n        }\n        return docItem!;\n    }\n\n    getNavFirstDocItem(nav: NavigationItem) {\n        let docItem: DocItem;\n        for (const item of nav.items!) {\n            if (item && this.isCategoryItem(item)) {\n                docItem = this.getNavFirstDocItem(item as NavigationItem);\n            } else {\n                docItem = item as DocItem;\n            }\n            if (docItem) {\n                break;\n            }\n        }\n        return docItem!;\n    }\n\n    toggleSidebar() {\n        this.showSidebar = !this.showSidebar;\n    }\n\n    resetShowSidebar() {\n        this.showSidebar = false;\n    }\n\n    private isCategoryItem(category: CategoryItem | DocItem): category is CategoryItem {\n        return (category as any).items;\n    }\n\n    private isDocItem(item: any): item is DocItem {\n        return !item.items;\n    }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { NavigationService } from './navigation.service';\nimport { ChannelItem } from '../interfaces/public-api';\n\n@Injectable({ providedIn: 'root' })\nexport class ChannelResolver {\n    constructor(private navigationService: NavigationService) {}\n\n    resolve(route: ActivatedRouteSnapshot): Observable<ChannelItem> | Promise<ChannelItem> | ChannelItem {\n        const path = route.paramMap.get('channel');\n        const channel = this.navigationService.getChannel(path!);\n        return channel;\n    }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { LiveExample } from '../interfaces/public-api';\n\nexport interface ExampleLoadResult {\n    moduleType: Type<any>;\n    componentType: Type<any>;\n    example: LiveExample;\n}\n@Injectable()\nexport abstract class ExampleLoader {\n    enableIvy!: boolean;\n    abstract load(exampleName: string): Promise<ExampleLoadResult>;\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { GlobalContext } from './global-context';\n\n@Injectable({ providedIn: 'root' })\nexport class PageTitleService {\n    private innerTitle = '';\n\n    get title(): string {\n        return this.innerTitle;\n    }\n\n    set title(title: string) {\n        this.innerTitle = title;\n        if (title !== '') {\n            title = `${title} - ${this.globalContext.config.title}`;\n        } else {\n            title = this.globalContext.config.title;\n        }\n        this.bodyTitle.setTitle(title);\n    }\n\n    constructor(\n        private bodyTitle: Title,\n        private globalContext: GlobalContext,\n    ) {}\n}\n","const github = `<svg focusable=\"false\" viewBox=\"0 0 51.8 50.4\" xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\">\n<path\n  d=\"M25.9,0.2C11.8,0.2,0.3,11.7,0.3,25.8c0,11.3,7.3,20.9,17.5,24.3c1.3,0.2,1.7-0.6,1.7-1.2c0-0.6,0-2.6,0-4.8c-7.1,1.5-8.6-3-8.6-3c-1.2-3-2.8-3.7-2.8-3.7c-2.3-1.6,0.2-1.6,0.2-1.6c2.6,0.2,3.9,2.6,3.9,2.6c2.3,3.9,6,2.8,7.5,2.1c0.2-1.7,0.9-2.8,1.6-3.4c-5.7-0.6-11.7-2.8-11.7-12.7c0-2.8,1-5.1,2.6-6.9c-0.3-0.7-1.1-3.3,0.3-6.8c0,0,2.1-0.7,7,2.6c2-0.6,4.2-0.9,6.4-0.9c2.2,0,4.4,0.3,6.4,0.9c4.9-3.3,7-2.6,7-2.6c1.4,3.5,0.5,6.1,0.3,6.8c1.6,1.8,2.6,4.1,2.6,6.9c0,9.8-6,12-11.7,12.6c0.9,0.8,1.7,2.4,1.7,4.7c0,3.4,0,6.2,0,7c0,0.7,0.5,1.5,1.8,1.2c10.2-3.4,17.5-13,17.5-24.3C51.5,11.7,40.1,0.2,25.9,0.2z\"\n></path>\n</svg>`;\n\nconst code = `<svg\nviewBox=\"0 0 16 16\"\nxmlns=\"http://www.w3.org/2000/svg\"\nfit=\"\"\nheight=\"1em\"\nwidth=\"1em\"\npreserveAspectRatio=\"xMidYMid meet\"\nfocusable=\"false\"\n>\n<g fill-rule=\"evenodd\">\n  <path d=\"M.003 8.306l4.302 4.304.849-.848L.852 7.458z\"></path>\n  <path d=\"M0 8.308l.847.85 4.31-4.296-.847-.85zM10.8 4.861l4.309 4.296.848-.85-4.309-4.296z\"></path>\n  <path d=\"M10.804 11.762l.849.848 4.302-4.304-.85-.848zM8.526 4L6.1 12.582l1.241.006 2.435-8.565z\"></path>\n</g>\n</svg>`;\n\nconst external = `<svg\nfit=\"\"\nfocusable=\"false\"\nheight=\"100%\"\npreserveAspectRatio=\"xMidYMid meet\"\nviewBox=\"0 0 24 24\"\nwidth=\"100%\"\nxmlns=\"http://www.w3.org/2000/svg\"\n>\n<path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n<path\n  d=\"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z\"\n></path>\n</svg>`;\n\nconst copy = `<svg\nviewBox=\"0 0 16 16\"\nxmlns=\"http://www.w3.org/2000/svg\"\nfit=\"\"\nheight=\"1em\"\nwidth=\"1em\"\npreserveAspectRatio=\"xMidYMid meet\"\nfocusable=\"false\"\n>\n<path\n  d=\"M7.6 8.2V7h4.174v1.2H7.6zm0 3V10h4.174v1.2H7.6zm-4.4-10v10.074H2L2.003 2c0-1.088.895-2 1.997-2h7.585v1.2H3.2zM5 2h9a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm.2 1.2v11.6h8.6V3.2H5.2z\"\n></path>\n</svg>`;\n\nconst check = `\n<svg\n  viewBox=\"0 0 16 16\"\n  xmlns=\"http://www.w3.org/2000/svg\"\n  fit=\"\"\n  height=\"1em\"\n  width=\"1em\"\n  preserveAspectRatio=\"xMidYMid meet\"\n  focusable=\"false\"\n>\n  <path d=\"M6.012 11.201L1.313 6.832l-.817.879 5.54 5.15 9.304-9.163-.842-.855z\"></path>\n</svg>`;\n\nconst list = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" id=\"align-justify\">\n<g id=\"ageditor/align-justify\" stroke-width=\"1\" fill-rule=\"evenodd\">\n  <path d=\"M0 1h16v1.2H0V1zm0 6.4h16v1.2H0V7.4zm0 6.4h16V15H0v-1.2z\" id=\"ag合并形状\"></path>\n</g>\n</svg>`;\nconst arrowLeft = `<svg width=\"1em\" height=\"1em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <!-- Generator: Sketch 55.2 (78181) - https://sketchapp.com -->\n    <title>navigation/arrow-left</title>\n    <desc>Created with Sketch.</desc>\n    <g id=\"navigation/arrow-left\" stroke=\"none\" stroke-width=\"1\"  fill-rule=\"evenodd\">\n        <path d=\"M7.4,4.14955232 L4.4383,7.3151 C4.2123,7.5571 3.8323,7.5691 3.5903,7.3431 C3.3483,7.1161 3.3353,6.7371 3.5623,6.4951 L7.53151194,2.2516372 C7.55538364,2.21814642 7.58305703,2.18659454 7.6145,2.1576 C7.8585,1.9336 8.2375,1.9496 8.4615,2.1946 L12.4315,6.5176 C12.6565,6.7616 12.6395,7.1416 12.3955,7.3656 C12.1515,7.5896 11.7725,7.5736 11.5475,7.3296 L8.6,4.11846621 L8.6,13.2666667 C8.6,13.6712222 8.331,14 8,14 C7.668,14 7.4,13.6712222 7.4,13.2666667 L7.4,4.14955232 Z\" id=\"形状结合\"  transform=\"translate(7.995013, 7.999832) rotate(-90.000000) translate(-7.995013, -7.999832) \"></path>\n    </g>\n</svg>`;\nconst arrowRight = `<svg width=\"1em\" height=\"1em\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <!-- Generator: Sketch 55.2 (78181) - https://sketchapp.com -->\n    <title>navigation/arrow-right</title>\n    <desc>Created with Sketch.</desc>\n    <g id=\"navigation/arrow-right\" stroke=\"none\" stroke-width=\"1\"  fill-rule=\"evenodd\">\n        <path d=\"M7.4,4.14955232 L4.4383,7.3151 C4.2123,7.5571 3.8323,7.5691 3.5903,7.3431 C3.3483,7.1161 3.3353,6.7371 3.5623,6.4951 L7.53151194,2.2516372 C7.55538364,2.21814642 7.58305703,2.18659454 7.6145,2.1576 C7.8585,1.9336 8.2375,1.9496 8.4615,2.1946 L12.4315,6.5176 C12.6565,6.7616 12.6395,7.1416 12.3955,7.3656 C12.1515,7.5896 11.7725,7.5736 11.5475,7.3296 L8.6,4.11846621 L8.6,13.2666667 C8.6,13.6712222 8.331,14 8,14 C7.668,14 7.4,13.6712222 7.4,13.2666667 L7.4,4.14955232 Z\" id=\"形状结合\"  transform=\"translate(7.995013, 7.999832) rotate(90.000000) translate(-7.995013, -7.999832) \"></path>\n    </g>\n</svg>`;\nconst angleRight = `<svg width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <!-- Generator: Sketch 55.2 (78181) - https://sketchapp.com -->\n    <title>navigation/angle-right</title>\n    <desc>Created with Sketch.</desc>\n    <g id=\"navigation/angle-right\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <path d=\"M7.97815,11.49765 L7.9728,11.503 L2.2998,5.831 L3.1298,5 L7.97807731,9.84827731 L12.8255,5 L13.6565,5.831 L7.9835,11.503 L7.97815,11.49765 Z\" id=\"形状结合\" fill=\"#888888\" transform=\"translate(7.978150, 8.251500) scale(-1, -1) rotate(-270.000000) translate(-7.978150, -8.251500) \"></path>\n    </g>\n</svg>`;\nconst search = `<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fit=\"\" height=\"1em\" width=\"1em\" preserveAspectRatio=\"xMidYMid meet\" focusable=\"false\"><g id=\"oonormal/search\" stroke-width=\"1\" fill-rule=\"evenodd\"><path d=\"M6.751 12.303A5.557 5.557 0 0 1 1.2 6.751C1.2 3.691 3.69 1.2 6.751 1.2a5.558 5.558 0 0 1 5.551 5.551 5.557 5.557 0 0 1-5.551 5.552M6.751 0a6.751 6.751 0 1 0 4.309 11.949l3.855 3.855a.6.6 0 1 0 .849-.849l-3.854-3.853A6.751 6.751 0 0 0 6.751 0\" id=\"ooFill-1\"></path></g></svg>`;\nconst empty = `<svg width=\"148px\" height=\"134px\" viewBox=\"0 0 148 134\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"ng-star-inserted\"><defs><filter x=\"0.0%\" y=\"0.0%\" width=\"100.0%\" height=\"100.0%\" filterUnits=\"objectBoundingBox\" id=\"filter-1\"><feGaussianBlur stdDeviation=\"0\" in=\"SourceGraphic\"></feGaussianBlur></filter></defs><g id=\"148x134\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g id=\"编组-6\" transform=\"translate(1.000000, 1.000000)\"><ellipse id=\"椭圆形\" fill=\"#EDEEF2\" opacity=\"0.3\" filter=\"url(#filter-1)\" cx=\"73.0800017\" cy=\"115.920003\" rx=\"73.0800017\" ry=\"16.8000004\"></ellipse><g id=\"编组-5\" transform=\"translate(15.120000, 0.000000)\"><polygon id=\"矩形\" fill=\"#E2E4E9\" points=\"19.2789848 49.5600011 99.1200023 48.7200011 117.600003 75.9297673 117.600003 92.313049 0 92.313049 0 75.0356267\"></polygon><path d=\"M23.5200005,0 L94.0800002,0 C97.7913538,2.06413823e-16 100.8,3.00864655 100.8,6.72000015 L100.8,99.1200023 L100.8,99.1200023 L16.8000004,99.1200023 L16.8000004,6.72000015 C16.8000004,3.00864655 19.8086469,1.56994302e-15 23.5200005,0 Z\" id=\"矩形\" fill=\"#F9FAFB\"></path><path d=\"M30.9200007,12.4400003 L86.6800019,12.4400003 C88.5356787,12.4400003 90.040002,13.9443236 90.040002,15.8000004 L90.040002,42.000001 C90.040002,43.8556778 88.5356787,45.360001 86.6800019,45.360001 L30.9200007,45.360001 C29.0643239,45.360001 27.5600006,43.8556778 27.5600006,42.000001 L27.5600006,15.8000004 C27.5600006,13.9443236 29.0643239,12.4400003 30.9200007,12.4400003 Z\" id=\"矩形\" fill=\"#E8EAEE\"></path><text id=\"</null>\" font-family=\"PingFangSC-Medium, PingFang SC\" font-size=\"15.1200003\" font-weight=\"400\" fill=\"#BCBECD\"><tspan x=\"33.6000008\" y=\"32.8000004\">&lt;/null&gt;</tspan></text><rect id=\"矩形\" fill=\"#E8EAEE\" x=\"27.5600006\" y=\"52.0800012\" width=\"61.4800014\" height=\"5.04000011\" rx=\"2.52000006\"></rect><rect id=\"矩形备份\" fill=\"#E8EAEE\" x=\"27.5600006\" y=\"63.8400014\" width=\"61.4800014\" height=\"5.04000011\" rx=\"2.52000006\"></rect><path d=\"M0,75.6000017 L29.280235,75.6000017 C32.0637502,75.6000017 34.3202352,77.8564866 34.3202352,80.6400018 L34.3202352,86.2591426 C34.3202352,89.0426578 36.5767201,91.2991427 39.3602353,91.2991427 L78.4136737,91.2991427 C81.1971889,91.2991427 83.4536738,89.0426578 83.4536738,86.2591426 L83.4536738,80.6400018 C83.4536738,77.8564866 85.7101587,75.6000017 88.4936739,75.6000017 L117.600003,75.6000017 L117.600003,75.6000017 L117.600003,110.880003 C117.600003,115.519195 113.839194,119.280003 109.200002,119.280003 L8.40000019,119.280003 C3.76080819,119.280003 -6.53729019e-15,115.519195 0,110.880003 L0,75.6000017 L0,75.6000017 Z\" id=\"矩形\" fill=\"#EDEFF2\"></path></g></g></g></svg>`;\nconst stackBlitz = `<svg viewBox=\"0 0 28 28\" aria-hidden=\"true\" class=\"StackBlitzLogo-module-boltIcon-3IWaX\" width=\"28\" height=\"28\"><path d=\"M12.747 16.273h-7.46L18.925 1.5l-3.671 10.227h7.46L9.075 26.5l3.671-10.227z\"></path></svg>`;\n\nconst lightTheme = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" viewBox=\"0 0 48 48\" aria-hidden=\"true\" focusable=\"false\"><circle cx=\"24\" cy=\"24\" r=\"9\" fill=\"currentColor\" stroke=\"none\"/><path fill=\"currentColor\" stroke=\"none\" d=\"M21 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5ZM21 37.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5ZM42.5 21a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h5ZM10.5 21a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5h5ZM39.203 34.96a.5.5 0 0 1 0 .707l-3.536 3.536a.5.5 0 0 1-.707 0l-3.535-3.536a.5.5 0 0 1 0-.707l3.535-3.535a.5.5 0 0 1 .707 0l3.536 3.535ZM16.575 12.333a.5.5 0 0 1 0 .707l-3.535 3.535a.5.5 0 0 1-.707 0L8.797 13.04a.5.5 0 0 1 0-.707l3.536-3.536a.5.5 0 0 1 .707 0l3.535 3.536ZM13.04 39.203a.5.5 0 0 1-.707 0l-3.536-3.536a.5.5 0 0 1 0-.707l3.536-3.535a.5.5 0 0 1 .707 0l3.536 3.535a.5.5 0 0 1 0 .707l-3.536 3.536ZM35.668 16.575a.5.5 0 0 1-.708 0l-3.535-3.535a.5.5 0 0 1 0-.707l3.535-3.536a.5.5 0 0 1 .708 0l3.535 3.536a.5.5 0 0 1 0 .707l-3.535 3.535Z\"/></svg>`;\nconst darkTheme = `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" viewBox=\"0 0 48 48\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"currentColor\" stroke=\"none\" d=\"M42.108 29.769c.124-.387-.258-.736-.645-.613A17.99 17.99 0 0 1 36 30c-9.941 0-18-8.059-18-18 0-1.904.296-3.74.844-5.463.123-.387-.226-.768-.613-.645C10.558 8.334 5 15.518 5 24c0 10.493 8.507 19 19 19 8.482 0 15.666-5.558 18.108-13.231Z\"/></svg>`;\nconst systemTheme = `<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" viewBox=\"0 0 48 48\" width=\"1em\" height=\"1em\"><path d=\"M24 32v8m0 0h-9m9 0h9M7 32h34a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v22a1 1 0 0 0 1 1Z\"></path></svg>`;\n\nconst locale = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 5C2 3.34315 3.34315 2 5 2H7C8.65685 2 10 3.34315 10 5V11H8V8.5H4V11H2V5ZM4 6.5H8V5C8 4.44772 7.55228 4 7 4H5C4.44772 4 4 4.44772 4 5V6.5ZM12 3.5H18C19.6569 3.5 21 4.84315 21 6.5V9H19V6.5C19 5.94772 18.5523 5.5 18 5.5H12V3.5ZM18 11.5V13H22V15H20.9381C20.7182 16.7638 19.9241 18.3492 18.7488 19.5634C19.4441 19.845 20.2041 20 21 20H22V22H21C19.5425 22 18.1765 21.6102 17.0001 20.9297C15.8234 21.6104 14.4572 22 13 22H12V20H13C13.7962 20 14.5562 19.8449 15.2514 19.5633C14.6487 18.9407 14.1463 18.2205 13.7704 17.4291L13.3413 16.5258L15.1478 15.6676L15.5769 16.5709C15.9219 17.2971 16.4081 17.9427 16.9999 18.4723C17.9921 17.5843 18.687 16.371 18.917 15H12V13H16V11.5H18ZM6 13V19C6 19.5523 6.44772 20 7 20H9.5V22H7C5.34315 22 4 20.6569 4 19V13H6Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const BUILTIN_SVGS: Record<string, string> = {\n    github,\n    code,\n    external,\n    copy,\n    check,\n    list,\n    arrowLeft,\n    arrowRight,\n    angleRight,\n    search,\n    empty,\n    stackBlitz,\n    locale,\n    lightTheme,\n    darkTheme,\n    systemTheme,\n};\n","import { Component, OnInit, Input, AfterViewInit, ElementRef, HostBinding } from '@angular/core';\nimport { BUILTIN_SVGS } from './svgs';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n    selector: 'dg-icon',\n    templateUrl: './icon.component.html',\n    standalone: false,\n})\nexport class IconComponent implements OnInit, AfterViewInit {\n    @HostBinding('class.dg-icon') isIcon = true;\n\n    @Input() set iconName(name: string) {\n        this.setSvg(name);\n    }\n\n    constructor(\n        private elementRef: ElementRef<HTMLElement>,\n        private domSanitizer: DomSanitizer,\n    ) {}\n\n    ngOnInit(): void {}\n\n    ngAfterViewInit() {}\n\n    setSvg(name: string) {\n        const svg = BUILTIN_SVGS[name];\n        if (svg) {\n            this.elementRef.nativeElement.innerHTML = svg;\n        } else {\n            this.elementRef.nativeElement.innerHTML = '';\n        }\n    }\n}\n","<ng-content></ng-content>\n","export function colorMetadata(color: string) {\n    let obj: { r?: number; g?: number; b?: number };\n    if (color.startsWith('#')) {\n        obj = hexColorMetadata(color);\n    } else if (color.startsWith('rgb')) {\n        obj = rgbColorMetadata(color);\n    } else {\n        throw new Error('unsupported color format ' + color);\n    }\n    return obj;\n}\n\nfunction hexColorMetadata(color: string) {\n    const rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n    const hex = color.replace(rgx, (m: any, r: any, g: any, b: any) => r + r + g + g + b + b);\n    const rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n    return rgb ? { r: parseInt(rgb[1], 16), g: parseInt(rgb[2], 16), b: parseInt(rgb[3], 16) } : {};\n}\n\nfunction rgbColorMetadata(color: string) {\n    const result = /rgb\\(([0-9]{1,3})\\s*[,\\s]\\s*([0-9]{1,3})\\s*[,\\s]\\s*([0-9]{1,3})\\)/i.exec(color);\n    return result\n        ? {\n              r: parseInt(result[1], 10),\n              g: parseInt(result[2], 10),\n              b: parseInt(result[3], 10),\n          }\n        : {};\n}\n","import { Component, OnInit, Input, HostBinding, ElementRef, Renderer2 } from '@angular/core';\nimport { colorMetadata } from '../../utils/color-metadata';\n\ntype LabelType = 'primary' | 'danger' | 'warning' | 'info' | '';\nconst LABEL_LIST = ['primary', 'danger', 'warning', 'info'];\n\n@Component({\n    selector: 'dg-label',\n    templateUrl: './label.component.html',\n    standalone: false,\n})\nexport class LabelComponent implements OnInit {\n    @HostBinding(`class`) classList!: string[];\n\n    @Input() set labelType(value: LabelType) {\n        if (LABEL_LIST.includes(value)) {\n            this.classList = ['dg-label', `dg-label-${value}`];\n        } else {\n            this.classList = ['dg-label'];\n            this.renderer.setStyle(this.elementRef.nativeElement, 'background-color', this.getBackgroundColor(value));\n            this.renderer.setStyle(this.elementRef.nativeElement, 'color', value);\n        }\n    }\n\n    constructor(\n        private elementRef: ElementRef,\n        private renderer: Renderer2,\n    ) {}\n\n    ngOnInit(): void {}\n\n    private getBackgroundColor(color: string) {\n        const { r, g, b } = colorMetadata(color);\n        return `rgba(${r},${g},${b},0.20)`;\n    }\n}\n","<ng-content></ng-content>\n","import { DOCUMENT, ViewportScroller } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { fromEvent, Observable, BehaviorSubject, Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { GlobalContext } from './global-context';\n\nexport interface TocLink {\n    /* id of the section*/\n    id: string;\n\n    /* header type h1/h2/h3/h4 */\n    type: string;\n\n    /* If the anchor is in view of the page */\n    active: boolean;\n\n    /* name of the anchor */\n    name: string;\n\n    /* top offset px of the anchor */\n    top: number;\n\n    /** level of the section */\n    level?: number;\n\n    element?: HTMLHeadingElement;\n}\n\nlet OFFSET = 0;\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class TocService {\n    private linksSubject$ = new BehaviorSubject<TocLink[]>([]);\n    private activeLinkSubject$ = new BehaviorSubject<TocLink | null>(null);\n    private destroyed$ = new Subject<TocLink[] | null>();\n    private scrollContainer!: HTMLElement & Window;\n    public highestLevel!: number;\n    public get links$(): Observable<TocLink[]> {\n        return this.linksSubject$.asObservable();\n    }\n\n    public get links() {\n        return this.linksSubject$.value;\n    }\n\n    public get activeLink$(): Observable<TocLink> {\n        return this.activeLinkSubject$.asObservable() as Observable<TocLink>;\n    }\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        global: GlobalContext,\n        private viewportScroller: ViewportScroller,\n    ) {\n        if (global.config.mode === 'lite') {\n            OFFSET = 0;\n        }\n        this.viewportScroller.setOffset([0, OFFSET]);\n    }\n\n    reset() {\n        this.linksSubject$.next([]);\n        this.activeLinkSubject$.next(null);\n        this.highestLevel = 0;\n        this.destroyed$.next(null);\n        this.destroyed$.complete();\n    }\n\n    generateToc(docViewerContent: HTMLElement, scrollContainer = '.dg-scroll-container') {\n        const headers = Array.from<HTMLHeadingElement>(docViewerContent.querySelectorAll('h1, h2, h3, h4, dg-examples'));\n        const links: TocLink[] = [];\n        headers.forEach((header) => {\n            if (header.tagName === 'DG-EXAMPLES') {\n                const allExamples = header.querySelectorAll('example');\n                const headerLevel = 2;\n                allExamples.forEach((example) => {\n                    links.push({\n                        name: example.getAttribute('title') as string,\n                        type: 'h2',\n                        top: example.getBoundingClientRect().top,\n                        id: example.getAttribute('name') as string,\n                        active: false,\n                        level: headerLevel,\n                        element: example as HTMLHeadingElement,\n                    });\n                });\n                return;\n            }\n            // remove the 'TocLink' icon name from the inner text\n            const name = header.innerText.trim().replace(/^TocLink/, '');\n            const { top } = header.getBoundingClientRect();\n            const headerLevel = parseInt(header.tagName[1], 10);\n            links.push({\n                name,\n                type: header.tagName.toLowerCase(),\n                top,\n                id: header.id,\n                active: false,\n                level: headerLevel,\n                element: header,\n            });\n            this.highestLevel = this.highestLevel && headerLevel > this.highestLevel ? this.highestLevel : headerLevel;\n        });\n        this.initializeScrollContainer(scrollContainer);\n        this.linksSubject$.next(links);\n    }\n\n    initializeScrollContainer(scrollContainerSelector: string) {\n        this.scrollContainer = scrollContainerSelector ? this.document.querySelectorAll(scrollContainerSelector)[0] : window;\n\n        Promise.resolve().then(() => {\n            if (this.scrollContainer) {\n                fromEvent(this.scrollContainer, 'scroll')\n                    .pipe(takeUntil(this.destroyed$), debounceTime(10))\n                    .subscribe(() => this.onScroll());\n            }\n            this.onScroll();\n        });\n    }\n\n    onScroll() {\n        const scrollOffset = this.getScrollOffset();\n        let activeItem: TocLink;\n        if (scrollOffset! <= OFFSET + 1) {\n            activeItem = this.links[0];\n        } else {\n            const itemOffset = this.links.find((link) => {\n                return link.element!.offsetTop >= scrollOffset!;\n            });\n            if (itemOffset) {\n                activeItem = itemOffset;\n            } else {\n                activeItem = this.links[this.links.length - 1];\n            }\n        }\n\n        this.activeLinkSubject$.next(activeItem || null);\n    }\n\n    scrollToAnchor(urlFragment: string) {\n        if (this.scrollContainer) {\n            if (this.scrollContainer === this.document.window) {\n                this.viewportScroller.scrollToAnchor(urlFragment);\n            } else {\n                const link = this.links.find((link) => {\n                    return link.id === urlFragment;\n                });\n                if (link) {\n                    this.scrollContainer.scrollTop = link.element!.offsetTop - 10;\n                }\n            }\n        }\n    }\n\n    private getScrollOffset(): number {\n        if (this.scrollContainer) {\n            if (typeof this.scrollContainer.scrollTop !== 'undefined') {\n                return this.scrollContainer.scrollTop + OFFSET;\n            } else if (typeof this.scrollContainer.pageYOffset !== 'undefined') {\n                return this.scrollContainer.pageYOffset + OFFSET;\n            }\n            return 0;\n        } else {\n            return 0;\n        }\n    }\n}\n","import { Component, Input, OnDestroy, OnInit, HostBinding } from '@angular/core';\nimport { LocationStrategy } from '@angular/common';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { GlobalContext } from '../../services/global-context';\nimport { TocLink, TocService } from '../../services/toc.service';\n\nlet OFFSET = 60;\n\n@Component({\n    selector: 'dg-toc',\n    templateUrl: './toc.component.html',\n    standalone: false,\n})\nexport class TableOfContentsComponent implements OnInit, OnDestroy {\n    @HostBinding(`class.dg-toc`) isToc = true;\n\n    @Input() container: string = '.dg-scroll-container';\n\n    links: TocLink[] = [];\n\n    activeLink!: TocLink;\n\n    rootUrl = this.locationStrategy.path(false);\n\n    @HostBinding('class.dg-d-none') hideToc = true;\n\n    private destroyed = new Subject<void>();\n\n    private urlFragment = '';\n\n    constructor(\n        private router: Router,\n        private route: ActivatedRoute,\n        global: GlobalContext,\n        private locationStrategy: LocationStrategy,\n        public tocService: TocService,\n    ) {\n        if (global.config.mode === 'lite') {\n            OFFSET = 0;\n        }\n        this.router.events.pipe(takeUntil(this.destroyed)).subscribe((event) => {\n            if (event instanceof NavigationEnd) {\n                const rootUrl = this.locationStrategy.path(false);\n                if (rootUrl !== this.rootUrl) {\n                    this.rootUrl = rootUrl;\n                }\n            }\n        });\n\n        this.route.fragment.pipe(takeUntil(this.destroyed)).subscribe((fragment) => {\n            this.urlFragment = fragment as string;\n            this.tocService.scrollToAnchor(this.urlFragment);\n        });\n\n        this.tocService.links$.pipe(takeUntil(this.destroyed)).subscribe((links) => {\n            this.hideToc = !links || links.length === 0;\n            if (!this.hideToc) {\n                this.tocService.scrollToAnchor(this.urlFragment);\n            }\n        });\n\n        this.tocService.activeLink$.pipe(takeUntil(this.destroyed)).subscribe((activeLink) => {\n            this.activeLink = activeLink;\n        });\n    }\n\n    ngOnInit(): void {}\n\n    ngOnDestroy(): void {\n        this.destroyed.next();\n    }\n\n    onLinkClick($event: Event, link: TocLink) {\n        // 当前的 urlFragment 和点击相同，阻止默认行为，因为浏览器会按照整个文档可视区域滚动，\n        // if (link.id === this.urlFragment) {\n        //     $event.preventDefault();\n        // }\n    }\n}\n","<div class=\"dg-toc-container\">\n  <ul [attr.aria-label]=\"'Table of Contents'\">\n    <li\n      *ngFor=\"let link of tocService.links$ | async; let i = index\"\n      class=\"dg-level-{{ link.type }}\"\n      [attr.data-level]=\"link.level - tocService.highestLevel + 1\"\n    >\n      <a\n        class=\"dg-link\"\n        [class.active]=\"link === activeLink\"\n        (click)=\"onLinkClick($event, link)\"\n        [href]=\"rootUrl + '#' + link.id\"\n        [attr.data-level]=\"link.level - tocService.highestLevel + 1\"\n      >\n        {{ link.name }}\n      </a>\n    </li>\n  </ul>\n</div>\n","import { Location } from '@angular/common';\nimport { Component, OnInit, HostBinding, HostListener } from '@angular/core';\nimport { NavigationService, GlobalContext } from '../../services/public-api';\n\n@Component({\n    selector: 'dg-locales-selector',\n    templateUrl: './locales-selector.component.html',\n    standalone: false,\n})\nexport class LocalesSelectorComponent implements OnInit {\n    @HostBinding('class.dg-locales-selector') isNavbar = true;\n\n    locale!: string;\n\n    isDropdownOpen = false;\n\n    constructor(\n        public global: GlobalContext,\n        public navigationService: NavigationService,\n        private location: Location,\n    ) {}\n\n    ngOnInit(): void {\n        this.locale = this.global.locale;\n    }\n\n    @HostListener('mouseenter')\n    openDropdown() {\n        this.isDropdownOpen = true;\n    }\n\n    @HostListener('mouseleave')\n    closeDropdown() {\n        this.isDropdownOpen = false;\n    }\n\n    selectLocale(locale: string) {\n        this.locale = locale;\n        this.isDropdownOpen = false;\n        this.localeModelChange();\n    }\n\n    localeModelChange() {\n        const isDefaultLocale = this.locale === this.global.config.defaultLocale;\n        const localKeyFromUrl = this.global.getLocalKeyFromUrl();\n        if (isDefaultLocale) {\n            this.global.setLocale(this.locale);\n        }\n        const currentPath = this.location.path();\n        if (localKeyFromUrl) {\n            this.location.go(currentPath.replace('/' + localKeyFromUrl, isDefaultLocale ? '' : `/${this.locale}`));\n        } else {\n            this.location.go(isDefaultLocale ? currentPath : `/${this.locale}${currentPath}`);\n        }\n        // 强制刷新\n        location.href = location.href;\n    }\n}\n","<button\n  *ngIf=\"global.config.locales && global.config.locales.length > 1\"\n  type=\"button\"\n  class=\"action-icon\"\n  [ngClass]=\"{ active: !!isDropdownOpen }\"\n>\n  <dg-icon iconName=\"locale\"></dg-icon>\n</button>\n<div *ngIf=\"!!isDropdownOpen\" class=\"locales-container\">\n  <div class=\"locales-menu\">\n    <div\n      *ngFor=\"let item of global.config.locales\"\n      class=\"locale\"\n      [ngClass]=\"{ active: item.key === locale }\"\n      (click)=\"selectLocale(item.key)\"\n    >\n      {{ item.name }}\n    </div>\n  </div>\n</div>\n","import { GlobalContext } from './../../services/global-context';\nimport { Component, OnInit, ElementRef, ViewContainerRef, ViewChild, TemplateRef } from '@angular/core';\n\n@Component({\n    selector: 'dg-logo',\n    templateUrl: './logo.component.html',\n    standalone: false,\n})\nexport class LogoComponent implements OnInit {\n    @ViewChild('logo', { static: true }) logoTemplate!: TemplateRef<HTMLElement>;\n\n    constructor(\n        public global: GlobalContext,\n        private elementRef: ElementRef,\n        private viewContainerRef: ViewContainerRef,\n    ) {}\n\n    ngOnInit(): void {\n        this.viewContainerRef.createEmbeddedView(this.logoTemplate);\n        // remove host\n        const hostElement: Element = this.elementRef.nativeElement;\n        hostElement.remove();\n    }\n}\n","<ng-template #logo>\n  <img *ngIf=\"global.config.logoUrl; else defaultLogo\" class=\"logo\" alt=\"Logo\" [src]=\"global.config.logoUrl\" />\n</ng-template>\n\n<ng-template #defaultLogo>\n  <svg\n    version=\"1.1\"\n    class=\"logo\"\n    id=\"docgeni-logo\"\n    data-name=\"docgeni-logo\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n    x=\"0px\"\n    y=\"0px\"\n    viewBox=\"0 0 30 30\"\n    style=\"enable-background: new 0 0 30 30\"\n    xml:space=\"preserve\"\n  >\n    <style type=\"text/css\">\n      .st0 {\n        fill: #00cc05;\n      }\n      .st1 {\n        fill: #ffda00;\n      }\n      .st2 {\n        fill: #246eff;\n      }\n      .st3 {\n        fill: #004ab5;\n      }\n      .st4 {\n        fill: #ff5050;\n      }\n    </style>\n    <g>\n      <path\n        class=\"st0\"\n        d=\"M3.74,3.26h13.54c0,0,4.5,0,7.99,4.66c2.33,3.12,2.31,5.42,2.31,5.42s-0.88-2.44-7.04-2.41\n c-7.43,0.04-10.59,0.04-10.59,0.04S3.23,11.28,3.74,3.26z\"\n      />\n      <path\n        class=\"st1\"\n        d=\"M6.37,3.26h10.92c0,0,4.5,0,7.99,4.66c2.33,3.12,2.31,5.42,2.31,5.42s-0.88-2.44-7.04-2.41\n c-7.43,0.04-7.97,0.04-7.97,0.04S5.87,11.28,6.37,3.26z\"\n      />\n      <g>\n        <path\n          class=\"st2\"\n          d=\"M16.04,26.74H2.45L4.88,14.5h6.77l-1.02,5.15h5.4c2.52,0,4.58-2.06,4.58-4.58s-2.06-4.58-4.58-4.58h-1.98\n   v-7.1h1.98c6.44,0,11.68,5.24,11.68,11.68C27.72,21.5,22.48,26.74,16.04,26.74z\"\n        />\n      </g>\n      <path class=\"st3\" d=\"M27.64,13.61c0,0-3.95-0.9-7.06,0.88c0,0-0.31-2.39-2.47-3.55C18.11,10.95,27.32,8.46,27.64,13.61z\" />\n      <path\n        class=\"st4\"\n        d=\"M8.99,3.26h8.68c0,0,3.92,0,7.6,4.66c2.24,2.84,2.38,5.92,2.38,5.92s0.06-2.89-4.48-2.9\n c-7.4-0.02-7.97,0.04-7.97,0.04S8.49,11.28,8.99,3.26z\"\n      />\n    </g>\n  </svg>\n</ng-template>\n","import { Inject, Injectable } from '@angular/core';\nimport { GlobalContext } from './global-context';\nimport { DOCUMENT } from '@angular/common';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';\n\nexport interface SearchPageInfo {\n    title: string;\n    id: string;\n    path: string;\n    parent?: SearchPageInfo;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SearchService {\n    private allPages: SearchPageInfo[] = [];\n\n    private destroyed$ = new Subject();\n\n    public result: SearchPageInfo[] = [];\n\n    public get hasAlgolia() {\n        return !!(this.global.config.algolia && this.global.config.algolia.apiKey && this.global.config.algolia.indexName);\n    }\n\n    constructor(\n        public global: GlobalContext,\n        @Inject(DOCUMENT) private document: any,\n    ) {}\n\n    public initSearch(searchSelector: string) {\n        if (this.hasAlgolia) {\n            this.initAlgolia(searchSelector);\n        } else {\n            this.initInnerSearch(searchSelector);\n        }\n    }\n\n    private async initAlgolia(searchSelector: string) {\n        const algoliaConfig = this.global.config.algolia;\n        const algolia = algoliaConfig?.appId\n            ? {\n                  appId: algoliaConfig.appId,\n                  apiKey: algoliaConfig.apiKey,\n                  indexName: algoliaConfig.indexName,\n              }\n            : {\n                  apiKey: algoliaConfig?.apiKey,\n                  indexName: algoliaConfig?.indexName,\n              };\n\n        (window as any).global = window;\n\n        (window as any).process = {\n            env: { DEBUG: undefined },\n        };\n\n        // @ts-ignore\n        const { default: docsearch } = await import('docsearch.js');\n\n        docsearch({\n            ...algolia,\n            inputSelector: searchSelector,\n            algoliaOptions: {\n                hitsPerPage: 5,\n                facetFilters: [`lang: ${this.global.locale}`],\n            },\n            transformData: (hits: any) => {\n                if (location.href.indexOf(this.global.locale) < 0) {\n                    hits.forEach((hit: any) => {\n                        hit.url = hit.url.replace(`${this.global.locale}/`, '');\n                    });\n                }\n                return hits;\n            },\n            // debug: true\n        });\n    }\n\n    private initInnerSearch(searchSelector: string) {\n        this.generatePages();\n        const searchContainer = this.document.querySelector(searchSelector);\n        if (searchContainer) {\n            fromEvent(searchContainer, 'input')\n                .pipe(\n                    debounceTime(100),\n                    map(() => {\n                        return searchContainer.value;\n                    }),\n                    distinctUntilChanged(),\n                    takeUntil(this.destroyed$),\n                )\n                .subscribe((value) => {\n                    this.result = this.searchPages(value);\n                });\n        } else {\n            throw new Error('not find search container');\n        }\n    }\n\n    private generatePages() {\n        this.allPages = [];\n        this.global.docItems.forEach((docItem) => {\n            const path =\n                this.global.config.mode === 'full' && docItem.channelPath ? `${docItem.channelPath}/${docItem.path}` : docItem.path;\n            const parentPage = {\n                title: `${docItem.title} ${docItem.subtitle ? docItem.subtitle : ''}`,\n                id: docItem.id,\n                path,\n            };\n            this.allPages.push(parentPage);\n            (docItem.headings || []).forEach((heading) => {\n                this.allPages.push({\n                    title: heading.name,\n                    id: heading.id,\n                    path: `${path}#${heading.id}`,\n                    parent: parentPage,\n                });\n            });\n        });\n    }\n\n    private searchPages(keywords: string) {\n        const searchText = keywords?.trim().toLowerCase();\n        if (searchText) {\n            return this.allPages.filter((item) => {\n                return item.title.toLowerCase().indexOf(searchText) > -1;\n            });\n        } else {\n            return [];\n        }\n    }\n\n    public trackByFn(index: number, item: SearchPageInfo) {\n        return item.id || index;\n    }\n}\n","import { GlobalContext } from './../../services/global-context';\nimport { Pipe, PipeTransform } from '@angular/core';\n\nconst TRANSLATES: Record<string, Record<string, string>> = {\n    'zh-cn': {\n        OVERVIEW: '概览',\n        EXAMPLES: '示例',\n        HOME: '首页',\n        LAST_UPDATED_TIME: '最后更新',\n        PRE_PAGE: '上一篇',\n        NEXT_PAGE: '下一篇',\n        SEARCH: '搜索',\n    },\n    'en-us': {\n        OVERVIEW: 'Overview',\n        EXAMPLES: 'Examples',\n        HOME: 'Home',\n        LAST_UPDATED_TIME: 'Last updated',\n        PRE_PAGE: 'Previous',\n        NEXT_PAGE: 'Next',\n        SEARCH: 'Search',\n    },\n};\n@Pipe({\n    name: 'dgTranslate',\n    standalone: false,\n})\nexport class TranslatePipe implements PipeTransform {\n    constructor(private global: GlobalContext) {}\n\n    transform(key: string): string {\n        const langTranslates: Record<string, string> = TRANSLATES[this.global.locale.toLowerCase()] || TRANSLATES['en-us'];\n        return langTranslates[key] ? langTranslates[key] : key;\n    }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n    name: 'highlight',\n    standalone: false,\n})\nexport class HighlightPipe implements PipeTransform {\n    constructor(private domSanitizer: DomSanitizer) {}\n\n    highlightTitle(keywords: string, title: string) {\n        const reg = new RegExp(`(${keywords})`, 'gi');\n        const chunks = title.split(reg);\n\n        let formatTitle = '';\n        chunks.forEach((chunk) => {\n            if (chunk) {\n                formatTitle =\n                    formatTitle + (chunk.toLocaleLowerCase() === keywords ? `<span class=\"dg-word-highlight\">${chunk}</span>` : chunk);\n            }\n        });\n        return formatTitle;\n    }\n\n    transform(keywords: string, title: string) {\n        keywords = (keywords || '').trim().toLocaleLowerCase();\n        if (keywords && title) {\n            const template = this.highlightTitle(keywords, title);\n            return this.domSanitizer.bypassSecurityTrustHtml(template);\n        } else {\n            return title;\n        }\n    }\n}\n","import { Component, OnInit, AfterViewInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SearchPageInfo, SearchService } from '../../services/search.service';\n\n@Component({\n    selector: 'dg-search',\n    templateUrl: './search.component.html',\n    standalone: false,\n})\nexport class SearchComponent implements OnInit, AfterViewInit {\n    public searchText!: string;\n\n    public isFocus!: boolean;\n\n    public hasSearchText!: boolean;\n\n    constructor(\n        public searchService: SearchService,\n        private router: Router,\n    ) {}\n\n    ngOnInit(): void {}\n\n    ngAfterViewInit() {\n        this.searchService.initSearch('#inputSearch');\n    }\n\n    focus() {\n        this.isFocus = true;\n    }\n\n    blur() {\n        // eslint-disable-next-line no-restricted-globals\n        setTimeout(() => {\n            this.isFocus = false;\n            this.searchText = '';\n            this.hasSearchText = false;\n        }, 200);\n    }\n\n    change() {\n        // eslint-disable-next-line no-restricted-globals\n        setTimeout(() => {\n            this.hasSearchText = !!this.searchText?.trim();\n        }, 200);\n    }\n\n    toRoute($event: Event, item: SearchPageInfo) {\n        if (!item.path.startsWith('http')) {\n            $event.preventDefault();\n            this.router.navigateByUrl(item.path);\n        }\n    }\n}\n","<div class=\"dg-search-container\">\n  <dg-icon iconName=\"search\" class=\"search-icon\"></dg-icon>\n  <input\n    class=\"search\"\n    id=\"inputSearch\"\n    [(ngModel)]=\"searchText\"\n    (ngModelChange)=\"change()\"\n    [placeholder]=\"'SEARCH' | dgTranslate\"\n    (blur)=\"blur()\"\n    (focus)=\"focus()\"\n  />\n  <div\n    class=\"search-results-container\"\n    *ngIf=\"!searchService.hasAlgolia\"\n    [class.is-searching]=\"hasSearchText && isFocus\"\n    [class.result-empty]=\"searchService.result?.length === 0\"\n  >\n    <a\n      class=\"search-result\"\n      *ngFor=\"let item of searchService.result; trackBy: searchService.trackByFn\"\n      [href]=\"item.path\"\n      (click)=\"toRoute($event, item)\"\n    >\n      <ng-container *ngIf=\"item.parent\"> {{ item.parent?.title }} &gt; </ng-container>\n      <span [innerHtml]=\"searchText | highlight: item.title\"></span>\n    </a>\n    <ng-container *ngIf=\"hasSearchText && searchService.result.length === 0\">\n      <dg-icon class=\"empty-icon\" iconName=\"empty\"></dg-icon>\n    </ng-container>\n  </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'dgIsLite', standalone: false })\nexport class IsModeLitePipe implements PipeTransform {\n    constructor() {}\n\n    transform(mode: 'lite' | 'full'): boolean {\n        return mode === 'lite';\n    }\n}\n\n@Pipe({ name: 'dgIsFull', standalone: false })\nexport class IsModeFullPipe implements PipeTransform {\n    constructor() {}\n\n    transform(mode: 'lite' | 'full'): boolean {\n        return mode === 'full';\n    }\n}\n","import { Component, OnInit, HostBinding, Input, OnChanges } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { CategoryItem, NavigationItem } from '../../interfaces/public-api';\nimport { GlobalContext } from '../../services/global-context';\n\n@Component({\n    selector: 'dg-sidebar',\n    templateUrl: './sidebar.component.html',\n    standalone: false,\n})\nexport class SidebarComponent implements OnInit, OnChanges {\n    @HostBinding(`class.dg-sidebar`) isSidebar = true;\n\n    @Input() menus!: NavigationItem[];\n\n    menuDisplayMap = new Map<CategoryItem, boolean>();\n\n    readonly initDisplay = true;\n\n    constructor(\n        public global: GlobalContext,\n        private router: Router,\n        private activatedRoute: ActivatedRoute,\n    ) {}\n\n    ngOnInit(): void {\n        this.router.events.pipe(filter((item) => item instanceof NavigationEnd)).subscribe(() => {\n            this.updateGroupsCollapseStates();\n        });\n    }\n\n    toggle(menu: CategoryItem) {\n        if (!menu.items || !menu.items.length) {\n            return;\n        }\n        const status = this.menuDisplayMap.get(menu);\n        this.setMenuOpen(menu, !status);\n    }\n\n    private setMenuOpen(menu: CategoryItem, open: boolean) {\n        this.menuDisplayMap.set(menu, open);\n    }\n\n    ngOnChanges(): void {\n        if (this.initDisplay) {\n            this.setMenuDisplay(this.menus);\n        }\n        this.updateGroupsCollapseStates();\n    }\n\n    private updateGroupsCollapseStates() {\n        let ancestors: CategoryItem[] = [];\n        for (const menu of this.global.docItems) {\n            const urlTree = this.router.createUrlTree(['./' + menu.path], { relativeTo: this.activatedRoute });\n            const result = this.router.isActive(urlTree, !menu.examples);\n            if (result) {\n                ancestors = menu.ancestors || [];\n                break;\n            }\n        }\n        ancestors.forEach((menu) => {\n            this.setMenuOpen(menu, true);\n        });\n    }\n\n    private setMenuDisplay(menus: CategoryItem[]) {\n        for (const menu of menus) {\n            this.menuDisplayMap.set(menu, true);\n            if (menu.items && menu.items.length) {\n                this.setMenuDisplay(menu.items);\n            }\n        }\n    }\n}\n","<div class=\"dg-sidebar-header\" *ngIf=\"global.config.mode | dgIsLite\">\n  <dg-logo></dg-logo>\n  <a [routerLink]=\"['/']\" class=\"title\">{{ global.config.title }}</a>\n  <span class=\"description\" *ngIf=\"global.config.description\">{{ global.config.description }}</span>\n</div>\n<dg-search *ngIf=\"global.config.mode | dgIsLite\"></dg-search>\n<div class=\"dg-menu\">\n  <ng-container *ngFor=\"let menu of menus\" class=\"menu-item\">\n    <ng-container *ngTemplateOutlet=\"navTemplate; context: { $implicit: menu }\"></ng-container>\n  </ng-container>\n  <ng-container *ngIf=\"global.config.mode | dgIsLite\">\n    <ng-container *ngTemplateOutlet=\"changeLanguageTemplate\"></ng-container>\n  </ng-container>\n\n  <ng-template let-menu #navTemplate>\n    <ng-container *ngIf=\"menu.items; else item\">\n      <div class=\"menu-group\" *ngIf=\"menu.items.length > 0\" [class.menu-group--open]=\"menuDisplayMap.get(menu)\">\n        <div class=\"group-header\" (click)=\"toggle(menu)\">\n          <div class=\"group-title\" *ngIf=\"menu.title\">\n            {{ menu.title }}\n          </div>\n          <div *ngIf=\"menu.items && menu.items.length\" class=\"group-arrow\"><dg-icon [iconName]=\"'angleRight'\"></dg-icon></div>\n        </div>\n        <div class=\"group-body\">\n          <ng-container *ngFor=\"let menu of menu.items\">\n            <ng-container *ngTemplateOutlet=\"navTemplate; context: { $implicit: menu }\"></ng-container>\n          </ng-container>\n        </div>\n      </div>\n    </ng-container>\n    <ng-template #item>\n      <div class=\"menu-item\" *ngIf=\"menu.isExternal; else docItemMenu\">\n        <a class=\"item-content\" href=\"{{ menu.path }}\" target=\"_blank\">\n          <dg-icon class=\"external-icon\" iconName=\"external\"></dg-icon> {{ menu.title }}\n        </a>\n      </div>\n      <ng-template #docItemMenu>\n        <div\n          class=\"menu-item\"\n          #routerLinkActive=\"routerLinkActive\"\n          routerLinkActive=\"active\"\n          [routerLinkActiveOptions]=\"{ exact: !menu.examples }\"\n        >\n          <a class=\"item-content\" [routerLink]=\"['./' + menu.path]\">\n            <div class=\"item-content-title\">\n              {{ menu.title }} <span *ngIf=\"menu.subtitle\" class=\"subtitle\">{{ menu.subtitle }}</span>\n            </div>\n            <div class=\"item-content-label\">\n              <dg-label *ngIf=\"menu.label\" [labelType]=\"menu.label.color\">{{ menu.label.text }}</dg-label>\n            </div>\n          </a>\n        </div>\n        <dg-toc *ngIf=\"menu.toc === 'menu' && routerLinkActive.isActive\" class=\"dg-toc-menu\"></dg-toc>\n      </ng-template>\n    </ng-template>\n  </ng-template>\n</div>\n\n<ng-template #changeLanguageTemplate>\n  <div class=\"action-items\" *ngIf=\"global.config.locales && global.config.locales.length > 1\">\n    <div class=\"action-item\">\n      <dg-locales-selector></dg-locales-selector>\n    </div>\n  </div>\n</ng-template>\n","import { Component, OnInit, OnDestroy, HostBinding, NgModuleFactory, Type, ElementRef } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NavigationService, GlobalContext } from '../../services/public-api';\n\n@Component({\n    selector: 'dg-channel',\n    templateUrl: './channel.component.html',\n    standalone: false,\n})\nexport class ChannelComponent implements OnInit, OnDestroy {\n    @HostBinding(`class.dg-layout`) isLayout = true;\n    @HostBinding(`class.dg-scroll-container`) isScrollContainer = true;\n\n    /** Component type for the current example. */\n    exampleComponentType: Type<any> | null = null;\n\n    exampleModuleFactory: NgModuleFactory<any> | null = null;\n\n    constructor(\n        private http: HttpClient,\n        private elementRef: ElementRef<HTMLElement>,\n        private route: ActivatedRoute,\n        private router: Router,\n        public navigationService: NavigationService,\n        public global: GlobalContext,\n    ) {}\n\n    ngOnInit(): void {\n        const path = this.route.snapshot.routeConfig?.path!;\n        this.navigationService.selectChannelByPath(path);\n    }\n\n    ngOnDestroy() {\n        this.navigationService.clearChannel();\n    }\n}\n\n@Component({\n    selector: 'dg-channel-home',\n    template: ``,\n    standalone: false,\n})\nexport class ChannelHomeComponent implements OnInit {\n    constructor(\n        private router: Router,\n        public navigationService: NavigationService,\n        public global: GlobalContext,\n        private route: ActivatedRoute,\n    ) {}\n\n    ngOnInit(): void {\n        const firstDocItem = this.navigationService.getChannelFirstDocItem();\n        if (firstDocItem) {\n            this.router.navigate(['./' + firstDocItem.path], { replaceUrl: true, relativeTo: this.route });\n        }\n    }\n}\n","<ng-container *ngIf=\"navigationService.channel\">\n  <dg-sidebar [menus]=\"navigationService.channel.items\"></dg-sidebar>\n  <router-outlet></router-outlet>\n</ng-container>\n","import { Component, OnInit, HostBinding, ElementRef } from '@angular/core';\nimport { GlobalContext } from '../../services/global-context';\n\n@Component({\n    selector: 'dg-footer',\n    templateUrl: './footer.component.html',\n    host: {\n        class: 'dg-footer',\n    },\n    standalone: false,\n})\nexport class FooterComponent implements OnInit {\n    @HostBinding(`class.dg-hidden`) isHide = true;\n\n    constructor(\n        private global: GlobalContext,\n        private elementRef: ElementRef,\n    ) {}\n\n    ngOnInit(): void {\n        if (this.global.config.footer) {\n            this.elementRef.nativeElement.innerHTML = this.global.config.footer;\n            this.isHide = false;\n        } else {\n            this.isHide = true;\n        }\n    }\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, ChangeDetectionStrategy, Input, OnDestroy } from '@angular/core';\nimport { GlobalContext, NavigationService } from '../../services/public-api';\n\n@Component({\n    selector: 'dg-doc-header',\n    templateUrl: './doc-header.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class DocHeaderComponent implements OnInit, OnDestroy {\n    @Input() title!: string;\n\n    @Input() subtitle!: string;\n\n    constructor(\n        public navigationService: NavigationService,\n        public global: GlobalContext,\n    ) {}\n\n    ngOnInit(): void {}\n\n    toggleSidebar(event: Event) {\n        this.navigationService.toggleSidebar();\n        event.stopPropagation();\n    }\n\n    ngOnDestroy() {\n        this.navigationService.resetShowSidebar();\n    }\n}\n","<header class=\"dg-doc-header\">\n  <a\n    class=\"sidebar-toggler\"\n    href=\"javascript:;\"\n    (click)=\"toggleSidebar($event)\"\n    *ngIf=\"((global.config.mode | dgIsFull) && navigationService.channel) || (global.config.mode | dgIsLite)\"\n    ><dg-icon iconName=\"list\"></dg-icon\n  ></a>\n\n  <span class=\"title\">{{ title }}</span>\n  <span class=\"subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n</header>\n","export function coerceBooleanProperty(value: any): boolean {\n    return value !== null && value !== undefined && `${value}` !== 'false';\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport abstract class ExampleService {\n    protected generateEntryFile(module: { name: string; importSpecifier: string }, component: { name: string; selector: string }) {\n        return [\n            this.generateAppModuleTs(module, component),\n            this.generateIndexHtml(),\n            this.generateMainTs(),\n            this.generateAppComponentTs(component.selector),\n        ];\n    }\n    private generateAppModuleTs(module: { name: string; importSpecifier: string }, component: { name: string }) {\n        return {\n            path: `src/app.module.ts`,\n            content: `import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { ${module.name} } from './examples.module';\nimport { AppComponent } from './app.component'\n@NgModule({\n    declarations: [AppComponent],\n    imports: [BrowserModule,${module.name}],\n    providers: [],\n    bootstrap: [AppComponent]\n})\nexport class AppModule {\n    constructor() {}\n}\n`,\n        };\n    }\n    private generateMainTs() {\n        return {\n            path: `src/main.ts`,\n            content: `import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app.module';\nimport 'zone.js';\nplatformBrowserDynamic().bootstrapModule(AppModule);\n            `,\n        };\n    }\n    private generateIndexHtml() {\n        return {\n            path: `src/index.html`,\n            content: `<!DOCTYPE html>\n<html lang=\"zh-cn\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <title>Docgeni</title>\n    <base href=\"/\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <link rel=\"icon\" type=\"image/x-icon\" href=\"assets/favicon.ico\" />\n  </head>\n  <body>\n    <app-root></app-root>\n  </body>\n</html>\n`,\n        };\n    }\n    private generateAppComponentTs(selector: string) {\n        return {\n            path: `src/app.component.ts`,\n            content: `import { Component } from '@angular/core';\n@Component({\n  selector: 'app-root',\n  template: '<${selector}></${selector}>',\n})\nexport class AppComponent {}`,\n        };\n    }\n}\n","import { Injectable } from '@angular/core';\nimport { ExampleService } from './example.service';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class StackblitzExampleService extends ExampleService {\n    private createFormInput(key: string, value: string) {\n        const input = document.createElement('textarea');\n        input.name = key;\n        input.value = value;\n        input.hidden = true;\n        return input;\n    }\n    open(\n        files: { path: string; content: string }[],\n        module: {\n            name: string;\n            importSpecifier: string;\n        },\n        component: {\n            name: string;\n            selector: string;\n        },\n    ) {\n        const form = document.createElement('form');\n        form.hidden = true;\n        form.target = '_blank';\n        form.method = 'post';\n        form.action = `https://run.stackblitz.com/api/angular/v1`;\n        const entryFiles = this.generateEntryFile(module, component);\n        const allFiles = [...entryFiles, ...files];\n        const filesMap: Record<string, string> = {};\n        allFiles.forEach((item) => {\n            filesMap[`files[${item.path}]`] = item.content;\n        });\n        for (const path in filesMap) {\n            if (Object.prototype.hasOwnProperty.call(filesMap, path)) {\n                const content = filesMap[path];\n                form.appendChild(this.createFormInput(path, content));\n            }\n        }\n        const packageJsonFile = allFiles.find((item) => item.path === 'package.json');\n        form.appendChild(this.createFormInput(`dependencies`, JSON.stringify(JSON.parse(packageJsonFile!.content).dependencies)));\n        document.body.appendChild(form);\n        form.submit();\n        document.body.removeChild(form);\n    }\n}\n","import { Component, EventEmitter, Input, NgModuleFactory, OnInit, Output, Type, ɵNgModuleFactory } from '@angular/core';\nimport { LiveExample } from '../../interfaces/example';\nimport { ExampleLoader } from '../../services/example-loader';\n\n@Component({\n    selector: 'dg-example-renderer, [dgExampleRenderer]',\n    templateUrl: './example-renderer.component.html',\n    standalone: false,\n})\nexport class ExampleRendererComponent implements OnInit {\n    /** Component type for the current example. */\n    componentType: Type<any> | null = null;\n\n    exampleModuleFactory: NgModuleFactory<any> | null = null;\n\n    @Input() set name(name: string) {\n        this.load(name);\n    }\n\n    @Input() set exampleModuleType(type: Type<any>) {\n        this.exampleModuleFactory = new ɵNgModuleFactory(type);\n    }\n\n    @Input() set exampleComponentType(type: Type<any>) {\n        this.componentType = type;\n    }\n\n    @Output() exampleLoadSuccess = new EventEmitter<LiveExample>();\n\n    get enableIvy() {\n        return this.exampleLoader.enableIvy;\n    }\n\n    constructor(private exampleLoader: ExampleLoader) {}\n\n    ngOnInit(): void {}\n\n    load(name: string) {\n        this.exampleLoader.load(name).then((result) => {\n            this.exampleModuleFactory = new ɵNgModuleFactory(result.moduleType);\n            this.componentType = result.componentType;\n            this.exampleLoadSuccess.emit(result.example);\n        });\n    }\n}\n","<ng-template\n  *ngIf=\"enableIvy && componentType && exampleModuleFactory\"\n  [ngComponentOutlet]=\"componentType\"\n  [ngComponentOutletNgModuleFactory]=\"exampleModuleFactory\"\n></ng-template>\n<ng-template *ngIf=\"!enableIvy && componentType\" [ngComponentOutlet]=\"componentType\"></ng-template>\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n@Directive()\nexport abstract class ContentRenderer {\n    private documentFetchSubscription!: Subscription;\n\n    @Input() set url(value: string) {\n        if (value) {\n            this.fetchDocument(value);\n        }\n    }\n\n    @Input() set content(value: string) {\n        if (value) {\n            this.updateDocument(value);\n        }\n    }\n\n    @Output() contentRendered = new EventEmitter<HTMLElement>();\n\n    abstract updateDocument(content: string): void;\n\n    abstract showError(url: string, error: Error): void;\n\n    constructor(protected http: HttpClient) {}\n\n    protected fetchDocument(url: string) {\n        // Cancel previous pending request\n        if (this.documentFetchSubscription) {\n            this.documentFetchSubscription.unsubscribe();\n        }\n        this.documentFetchSubscription = this.http.get(url, { responseType: 'text' }).subscribe(\n            (response) => {\n                this.updateDocument(response);\n            },\n            (error) => {\n                this.showError(url, error);\n            },\n        );\n    }\n\n    protected destroy() {\n        this.documentFetchSubscription.unsubscribe();\n    }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class CopierService {\n    private textarea?: HTMLTextAreaElement;\n\n    /** Copy the text value to the clipboard. */\n    copyText(text: string): boolean {\n        this.createTextareaAndSelect(text);\n\n        const copySuccessful = document.execCommand('copy');\n        this.removeFake();\n\n        return copySuccessful;\n    }\n\n    /**\n     * Creates a hidden textarea element, sets its value from `text` property,\n     * and makes a selection on it.\n     */\n    private createTextareaAndSelect(text: string) {\n        // Create a fake element to hold the contents to copy\n        this.textarea = document.createElement('textarea');\n\n        // Prevent zooming on iOS\n        this.textarea.style.fontSize = '12pt';\n\n        // Hide the element\n        // Can't copy text when set visibility: hidden; or display: none;\n        this.textarea.classList.add('dg-visually-hidden');\n\n        // Move element to the same position vertically\n        const yPosition = window.pageYOffset || document.documentElement.scrollTop;\n        this.textarea.style.top = yPosition + 'px';\n\n        this.textarea.setAttribute('readonly', '');\n        this.textarea.value = text;\n\n        document.body.appendChild(this.textarea);\n\n        this.textarea.select();\n        this.textarea.setSelectionRange(0, this.textarea.value.length);\n    }\n\n    /** Remove the text area from the DOM. */\n    private removeFake() {\n        if (this.textarea) {\n            document.body.removeChild(this.textarea);\n            delete this.textarea;\n        }\n    }\n}\n","import { Component, HostListener, Input, OnInit } from '@angular/core';\nimport { CopierService } from '../copier/copier.service';\n\n@Component({\n    selector: 'dg-copy,[dgCopy]',\n    templateUrl: './copy.component.html',\n    host: {\n        class: 'dg-copy',\n    },\n    standalone: false,\n})\nexport class CopyComponent implements OnInit {\n    public icon = 'copy';\n\n    @Input() text!: string;\n\n    @Input('dgCopy') set dgCopy(text: string) {\n        this.text = text;\n    }\n\n    constructor(private copier: CopierService) {}\n\n    ngOnInit(): void {}\n\n    @HostListener('click', ['$event'])\n    copy($event: Event) {\n        this.copier.copyText(this.text);\n        this.icon = 'check';\n        /* eslint-disable no-restricted-globals */\n        setTimeout(() => {\n            this.icon = 'copy';\n        }, 2000);\n    }\n}\n","<ng-content></ng-content>\n<dg-icon class=\"color-primary\" [iconName]=\"icon\"></dg-icon>\n","import { HttpClient } from '@angular/common/http';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { ContentRenderer } from '../content-renderer';\n\n@Component({\n    selector: 'dg-source-code, [dgSourceCode]',\n    templateUrl: './source-code.component.html',\n    host: {\n        class: 'dg-source-code',\n    },\n    standalone: false,\n})\nexport class SourceCodeComponent extends ContentRenderer implements OnInit {\n    @ViewChild('codeContent', { static: true, read: ElementRef }) codeContent!: ElementRef;\n\n    get textContent() {\n        return this.codeContent.nativeElement?.textContent;\n    }\n\n    constructor(http: HttpClient) {\n        super(http);\n    }\n\n    ngOnInit(): void {}\n\n    updateDocument(content: string): void {\n        this.codeContent.nativeElement.innerHTML = content;\n    }\n\n    showError(url: string, error: any): void {\n        console.log(error);\n        this.codeContent.nativeElement.innerText = `Failed to load document: ${url}. Error: ${error.statusText}`;\n    }\n}\n","<div class=\"dg-source-code-content\" #codeContent></div>\n<a href=\"javascript:;\" title=\"Copy\" [dgCopy]=\"textContent\"></a>\n","import { Component, OnInit, HostBinding, Input, Type } from '@angular/core';\nimport { LiveExample } from '../../interfaces/public-api';\nimport { ExampleLoader } from '../../services/example-loader';\nimport { GlobalContext } from '../../services/public-api';\nimport { HttpClient } from '@angular/common/http';\nimport { StackblitzExampleService } from '../../services/stackblitz-example.service';\nimport { forkJoin } from 'rxjs';\nimport { coerceBooleanProperty } from '../../utils';\n\nconst EXAMPLES_HIGHLIGHTED_PATH = `examples-highlighted`;\n\ninterface ExampleTab {\n    name: string;\n    path: string;\n}\n\nconst nameOrdersMap: Record<string, number> = {\n    HTML: 1,\n    TS: 2,\n    SCSS: 3,\n    CSS: 4,\n};\n\n@Component({\n    selector: 'dg-example-viewer',\n    templateUrl: './example-viewer.component.html',\n    host: {\n        '[attr.id]': 'example?.key',\n    },\n    standalone: false,\n})\nexport class ExampleViewerComponent implements OnInit {\n    private _inline = false;\n\n    @HostBinding('class.dg-example-viewer') isExampleViewer = true;\n\n    /**\n     * @deprecated please use name\n     */\n    @Input() set exampleName(name: string) {\n        this.name = name;\n    }\n\n    @Input() name!: string;\n\n    @HostBinding('class.dg-example-viewer-inline')\n    @Input()\n    get inline(): boolean {\n        return this._inline;\n    }\n\n    set inline(value: boolean) {\n        this._inline = coerceBooleanProperty(value);\n    }\n\n    /** Component type for the current example. */\n    exampleComponentType: Type<any> | null = null;\n\n    exampleModuleType: Type<any> | null = null;\n\n    example!: LiveExample;\n\n    showSource = false;\n\n    exampleTabs: ExampleTab[] = [];\n\n    selectedTab!: ExampleTab;\n\n    get enableIvy() {\n        return this.exampleLoader.enableIvy;\n    }\n\n    constructor(\n        private exampleLoader: ExampleLoader,\n        private globalContext: GlobalContext,\n        private http: HttpClient,\n        private stackblitzExampleService: StackblitzExampleService,\n    ) {}\n\n    // Use short name such as TS, HTML, CSS replace exampleName.component.*, we need to transform\n    // the file name to match the exampleName.component.* that displays main source files.\n    private transformFileName(fileName: string, exampleName: string) {\n        return fileName.startsWith(`${exampleName}.component.`)\n            ? fileName.replace(`${exampleName}.component.`, '').toUpperCase()\n            : fileName;\n    }\n\n    ngOnInit(): void {\n        this.exampleLoader.load(this.name).then((result) => {\n            this.exampleModuleType = result.moduleType;\n            this.exampleComponentType = result.componentType;\n            this.example = result.example;\n            const rootDir = this.globalContext.getAssetsContentPath(\n                `${EXAMPLES_HIGHLIGHTED_PATH}/${this.example.module.importSpecifier}/${this.example.name}`,\n            );\n\n            this.exampleTabs = this.example.sourceFiles\n                .map((file) => {\n                    return {\n                        name: this.transformFileName(file.name, this.example.name),\n                        path: `${rootDir}/${file.highlightedPath}`,\n                    };\n                })\n                // The order we expect is TS > HTML > SCSS | CSS\n                .sort((a, b) => {\n                    const aOrder = nameOrdersMap[a.name] || Number.MAX_SAFE_INTEGER;\n                    const bOrder = nameOrdersMap[b.name] || Number.MAX_SAFE_INTEGER;\n                    return aOrder > bOrder ? 1 : aOrder === bOrder ? 0 : -1;\n                });\n            this.selectedTab = this.exampleTabs[0];\n        });\n    }\n\n    selectExampleTab(tab: ExampleTab) {\n        this.selectedTab = tab;\n    }\n\n    toggleSource() {\n        this.showSource = !this.showSource;\n    }\n\n    openStackBlitz() {\n        forkJoin({\n            examplesSources: this.http.get<{ path: string; content: string }[]>(\n                `assets/content/examples-source-bundle/${this.example.module.importSpecifier}/bundle.json`,\n            ),\n            sharedFiles: this.http.get<{ path: string; content: string }[]>(`assets/stack-blitz/bundle.json`),\n        }).subscribe(\n            (result: { examplesSources: { path: string; content: string }[]; sharedFiles: { path: string; content: string }[] }) => {\n                const { examplesSources, sharedFiles } = result;\n                this.stackblitzExampleService.open(\n                    [\n                        ...examplesSources.map((item) => {\n                            return {\n                                ...item,\n                                path: `src/${item.path}`,\n                            };\n                        }),\n                        ...sharedFiles,\n                    ],\n                    this.example.module,\n                    {\n                        name: this.example.componentName,\n                        selector: this.example.key,\n                    },\n                );\n            },\n        );\n    }\n}\n","<div class=\"dg-example-viewer-wrapper\" *ngIf=\"example\">\n  <div class=\"dg-example-viewer-header\">\n    <span class=\"title\">{{ example.title }}</span>\n  </div>\n  <div\n    class=\"dg-example-viewer-body\"\n    [style.background]=\"example.background\"\n    [class.dg-example-viewer-compact]=\"example.compact\"\n    [class]=\"example.className\"\n    dgExampleRenderer\n    [exampleModuleType]=\"exampleModuleType\"\n    [exampleComponentType]=\"exampleComponentType\"\n  ></div>\n  <div class=\"dg-example-viewer-actions\" title=\"{{ example.title }}\">\n    <a class=\"action-item\" title=\"Copy source code\" href=\"javascript:;\" [dgCopy]=\"sourceCode?.textContent\"></a>\n    <a class=\"action-item\" title=\"Toggle source code\" href=\"javascript:;\" (click)=\"toggleSource()\"><dg-icon iconName=\"code\"></dg-icon></a>\n    <a class=\"action-item\" title=\"Open example in new tab\" target=\"_blank\" [href]=\"'~examples/' + name\"\n      ><dg-icon iconName=\"external\"></dg-icon\n    ></a>\n    <a class=\"action-item\" title=\"Open example in StackBlitz\" target=\"_blank\" (click)=\"openStackBlitz()\"\n      ><dg-icon iconName=\"stackBlitz\"></dg-icon\n    ></a>\n  </div>\n  <div class=\"dg-example-viewer-sources\" [ngClass]=\"{ 'dg-sources-show': showSource }\">\n    <div class=\"dg-tab-links\">\n      <a\n        *ngFor=\"let tab of exampleTabs\"\n        [ngClass]=\"{ active: tab === selectedTab }\"\n        class=\"dg-tab-link\"\n        href=\"javascript:;\"\n        (click)=\"selectExampleTab(tab)\"\n        >{{ tab.name }}</a\n      >\n    </div>\n    <pre #sourceCode dgSourceCode [url]=\"selectedTab?.path\"></pre>\n  </div>\n</div>\n","import { ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Injector, ViewContainerRef } from '@angular/core';\n\nexport interface ComponentType<T> {\n    new (...args: any[]): T;\n}\n\nexport interface PortalOutlet {\n    /** Attaches a portal to this outlet. */\n    attach(portal: Portal<any>): any;\n\n    /** Detaches the currently attached portal from this outlet. */\n    detach(): any;\n\n    /** Performs cleanup before the outlet is destroyed. */\n    dispose(): void;\n\n    /** Whether there is currently a portal attached to this outlet. */\n    hasAttached(): boolean;\n}\n\nexport abstract class Portal<T> {\n    private _attachedHost!: PortalOutlet | null;\n\n    /** Attach this portal to a host. */\n    attach(host: PortalOutlet): T {\n        this._attachedHost = host;\n        return <T>host.attach(this);\n    }\n\n    /** Detach this portal from its host */\n    detach(): void {\n        const host = this._attachedHost;\n\n        if (host !== null) {\n            this._attachedHost = null;\n            host.detach();\n        }\n    }\n\n    /** Whether this portal is attached to a host. */\n    get isAttached(): boolean {\n        return this._attachedHost !== null;\n    }\n\n    /**\n     * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n     * the PortalOutlet when it is performing an `attach()` or `detach()`.\n     */\n    setAttachedHost(host: PortalOutlet | null) {\n        this._attachedHost = host;\n    }\n}\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nexport class ComponentPortal<T> extends Portal<ComponentRef<T>> {\n    /** The type of the component that will be instantiated for attachment. */\n    component: ComponentType<T>;\n\n    /**\n     * [Optional] Where the attached component should live in Angular's *logical* component tree.\n     * This is different from where the component *renders*, which is determined by the PortalOutlet.\n     * The origin is necessary when the host is outside of the Angular application context.\n     */\n    viewContainerRef?: ViewContainerRef | null;\n\n    /** [Optional] Injector used for the instantiation of the component. */\n    injector?: Injector | null;\n\n    /**\n     * Alternate `ComponentFactoryResolver` to use when resolving the associated component.\n     * Defaults to using the resolver from the outlet that the portal is attached to.\n     */\n    componentFactoryResolver?: ComponentFactoryResolver | null;\n\n    constructor(\n        component: ComponentType<T>,\n        viewContainerRef?: ViewContainerRef | null,\n        injector?: Injector | null,\n        componentFactoryResolver?: ComponentFactoryResolver | null,\n    ) {\n        super();\n        this.component = component;\n        this.viewContainerRef = viewContainerRef;\n        this.injector = injector;\n        this.componentFactoryResolver = componentFactoryResolver;\n    }\n}\n\nexport class DomPortalOutlet implements PortalOutlet {\n    private disposeFn!: (() => void) | null;\n    private isDisposed!: boolean;\n\n    protected attachedPortal!: Portal<unknown> | null;\n\n    constructor(\n        protected outletElement: Element,\n        protected componentFactoryResolver: ComponentFactoryResolver,\n        protected appRef: ApplicationRef,\n        protected defaultInjector: Injector,\n        protected projectableNodes: any[][],\n    ) {}\n\n    attach<T>(portal: ComponentPortal<T>, replace: boolean = false): ComponentRef<T> {\n        const resolver = portal.componentFactoryResolver || this.componentFactoryResolver;\n        const componentFactory = resolver.resolveComponentFactory(portal.component);\n        let componentRef: ComponentRef<T>;\n\n        // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n        // for the component (in terms of Angular's component tree, not rendering).\n        // When the ViewContainerRef is missing, we use the factory to create the component directly\n        // and then manually attach the view to the application.\n        if (portal.viewContainerRef) {\n            componentRef = portal.viewContainerRef.createComponent(\n                componentFactory,\n                portal.viewContainerRef.length,\n                portal.injector || portal.viewContainerRef.injector,\n                this.projectableNodes,\n            );\n\n            this.setDisposeFn(() => {\n                componentRef.destroy();\n            });\n        } else {\n            componentRef = componentFactory.create(portal.injector || this.defaultInjector);\n            this.appRef.attachView(componentRef.hostView);\n            this.setDisposeFn(() => {\n                this.appRef.detachView(componentRef.hostView);\n                componentRef.destroy();\n            });\n        }\n        // At this point the component has been instantiated, so we move it to the location in the DOM\n        // where we want it to be rendered.\n        if (replace) {\n            this.outletElement.replaceWith(this.getComponentRootNode(componentRef));\n        } else {\n            this.outletElement.appendChild(this.getComponentRootNode(componentRef));\n        }\n        //\n        this.attachedPortal = portal;\n\n        return componentRef;\n    }\n\n    hasAttached(): boolean {\n        return !!this.attachedPortal;\n    }\n\n    /** Detaches a previously attached portal. */\n    detach(): void {\n        if (this.attachedPortal) {\n            this.attachedPortal.setAttachedHost(null);\n            this.attachedPortal = null;\n        }\n\n        this.invokeDisposeFn();\n    }\n\n    /** Permanently dispose of this portal host. */\n    dispose(): void {\n        if (this.hasAttached()) {\n            this.detach();\n        }\n\n        this.invokeDisposeFn();\n        this.isDisposed = true;\n    }\n\n    /** @docs-private */\n    setDisposeFn(fn: () => void) {\n        this.disposeFn = fn;\n    }\n\n    private invokeDisposeFn() {\n        if (this.disposeFn) {\n            this.disposeFn();\n            this.disposeFn = null;\n        }\n    }\n\n    /** Gets the root HTMLElement for an instantiated component. */\n    private getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n        return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n    }\n}\n","import {\n    Component,\n    OnInit,\n    ElementRef,\n    ApplicationRef,\n    ComponentFactoryResolver,\n    Injector,\n    ViewContainerRef,\n    NgZone,\n    OnDestroy,\n    Type,\n    ChangeDetectorRef,\n    ChangeDetectionStrategy,\n} from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { ExampleViewerComponent } from '../example-viewer/example-viewer.component';\nimport { take } from 'rxjs/operators';\nimport { ComponentPortal, DomPortalOutlet } from '../../services/dom-portal-outlet';\nimport { getBuiltInComponents } from '../../built-in/built-in-components';\nimport { ContentRenderer } from '../content-renderer';\nimport { TocService } from '../../services/toc.service';\n\n@Component({\n    selector: 'dg-content-viewer',\n    template: 'Loading...',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        class: 'dg-doc-content',\n    },\n    standalone: false,\n})\nexport class ContentViewerComponent extends ContentRenderer implements OnInit, OnDestroy {\n    private portalHosts: DomPortalOutlet[] = [];\n\n    constructor(\n        http: HttpClient,\n        public elementRef: ElementRef<HTMLElement>,\n        private appRef: ApplicationRef,\n        private componentFactoryResolver: ComponentFactoryResolver,\n        private injector: Injector,\n        private viewContainerRef: ViewContainerRef,\n        private ngZone: NgZone,\n        private tocService: TocService,\n        private cdr: ChangeDetectorRef,\n    ) {\n        super(http);\n    }\n\n    ngOnInit(): void {}\n\n    updateDocument(content: string) {\n        this.elementRef.nativeElement.innerHTML = content;\n        this.loadComponents('example', ExampleViewerComponent);\n        getBuiltInComponents().forEach((item) => {\n            this.loadComponents(item.selector, item.component, true);\n        });\n\n        this.cdr.markForCheck();\n\n        // Resolving and creating components dynamically in Angular happens synchronously, but since\n        // we want to emit the output if the components are actually rendered completely, we wait\n        // until the Angular zone becomes stable.\n        this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n            this.ngZone.run(() => {\n                this.contentRendered.emit(this.elementRef.nativeElement);\n                this.updateTableOfContents(this.elementRef.nativeElement);\n            });\n        });\n    }\n\n    updateTableOfContents(docViewerContent: HTMLElement) {\n        if (docViewerContent) {\n            this.tocService.generateToc(docViewerContent);\n        }\n    }\n\n    private loadComponents(selector: string, componentClass: Type<unknown>, replace: boolean = false) {\n        const exampleElements = this.elementRef.nativeElement.querySelectorAll(selector);\n        Array.prototype.slice.call(exampleElements).forEach((element: Element) => {\n            const portalHost = new DomPortalOutlet(element, this.componentFactoryResolver, this.appRef, this.injector, [\n                element.childNodes as any,\n            ]);\n            const examplePortal = new ComponentPortal(componentClass, this.viewContainerRef);\n            const exampleViewerRef = portalHost.attach<any>(examplePortal, replace);\n            // 循环设置属性\n            for (const attributeKey in element.attributes) {\n                if (Object.prototype.hasOwnProperty.call(element.attributes, attributeKey)) {\n                    const attribute = element.attributes[attributeKey];\n                    // eslint-disable-next-line dot-notation\n                    const setAttributeFn: (qualifiedName: string, value: string) => void = exampleViewerRef.instance['setAttribute'];\n                    if (setAttributeFn) {\n                        setAttributeFn.call(exampleViewerRef.instance, attribute.nodeName, element.getAttribute(attribute.nodeName) || '');\n                    } else {\n                        exampleViewerRef.instance[attribute.nodeName] = element.getAttribute(attribute.nodeName);\n                    }\n                }\n            }\n            this.portalHosts.push(portalHost);\n        });\n    }\n\n    /** Show an error that occurred when fetching a document. */\n    showError(url: string, error: HttpErrorResponse) {\n        console.log(error);\n        this.elementRef.nativeElement.innerText = `Failed to load document: ${url}. Error: ${error.statusText}`;\n    }\n\n    private clearLiveExamples() {\n        this.portalHosts.forEach((h) => h.dispose());\n        this.portalHosts = [];\n    }\n\n    ngOnDestroy() {\n        this.clearLiveExamples();\n\n        this.tocService.reset();\n        super.destroy();\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, HostBinding, OnChanges } from '@angular/core';\nimport { DocItem } from '../../interfaces';\nimport { GlobalContext } from '../../services/global-context';\nimport { filter } from 'rxjs/operators';\n\ninterface GitHubCommieInfo {\n    author: { avatar_url: string; login: string };\n    commit: { author: { date: string } };\n}\n\n@Component({\n    selector: 'dg-doc-meta',\n    templateUrl: './doc-meta.component.html',\n    host: {\n        class: 'dg-doc-meta',\n    },\n    standalone: false,\n})\nexport class DocMetaComponent implements OnChanges {\n    @HostBinding(`class.dg-d-none`) hideDocMeta = true;\n    @Input() docItem!: DocItem;\n    lastUpdatedTime: Date | undefined;\n    contributors: string[] | undefined;\n\n    constructor(\n        private http: HttpClient,\n        private globalContext: GlobalContext,\n    ) {}\n\n    ngOnChanges(): void {\n        if (this.docItem.originPath && this.globalContext.owner && this.globalContext.repo) {\n            this.http\n                .get<GitHubCommieInfo[]>(`https://api.github.com/repos/${this.globalContext.owner}/${this.globalContext.repo}/commits`, {\n                    params: { path: this.docItem.originPath },\n                })\n                .pipe(filter((result) => !!result.length))\n                .subscribe((result: GitHubCommieInfo[]) => {\n                    this.contributors = Array.from(new Set(result.map((item) => item.author.login)));\n                    this.lastUpdatedTime = new Date(result[0].commit.author.date);\n                    this.hideDocMeta = false;\n                });\n        } else {\n            this.contributors = undefined;\n            this.lastUpdatedTime = undefined;\n            this.hideDocMeta = true;\n        }\n    }\n}\n","<div class=\"dg-contributor-avatar-list\" *ngIf=\"contributors\">\n  <div *ngFor=\"let item of contributors | slice: 0 : 3; let i = index\" class=\"dg-contributor-avatar\" [title]=\"item\">\n    <img src=\"https://avatars.githubusercontent.com/{{ item }}\" />\n  </div>\n  <div class=\"dg-contributor-avatar dg-contributor-other\" *ngIf=\"(contributors | slice: 3).length\">\n    {{ (contributors | slice: 3).length }}\n  </div>\n</div>\n<div class=\"dg-contribution-last-time\" *ngIf=\"lastUpdatedTime\">\n  {{ 'LAST_UPDATED_TIME' | dgTranslate }}\n  {{ lastUpdatedTime | date: 'yyyy/MM/dd' }}\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { NavigationItem } from '../../interfaces';\nimport { GlobalContext } from '../../services/global-context';\n\n@Component({\n    selector: 'dg-doc-pages-links',\n    templateUrl: './doc-pages-links.component.html',\n    host: {\n        class: 'dg-pages-link',\n    },\n    standalone: false,\n})\nexport class DocPagesLinksComponent implements OnInit {\n    @Input() docPages!: {\n        pre: NavigationItem;\n        next: NavigationItem;\n    };\n    preRouterLink!: string;\n    nextRouterLink!: string;\n    constructor(private globalContext: GlobalContext) {}\n\n    ngOnInit(): void {\n        if (this.docPages.pre) {\n            this.preRouterLink =\n                this.globalContext.config.mode === 'lite'\n                    ? `/${this.docPages.pre.path}`\n                    : `/${this.docPages.pre.channelPath}/${this.docPages.pre.path}`;\n        }\n        if (this.docPages.next) {\n            this.nextRouterLink =\n                this.globalContext.config.mode === 'lite'\n                    ? `/${this.docPages.next.path}`\n                    : `/${this.docPages.next.channelPath}/${this.docPages.next.path}`;\n        }\n    }\n}\n","<div class=\"dg-page-link\" *ngIf=\"docPages.pre && preRouterLink\">\n  <a [routerLink]=\"[preRouterLink]\">\n    <div class=\"dg-page-link-icon\">\n      <dg-icon iconName=\"arrowLeft\"></dg-icon>\n    </div>\n    <div>\n      <div class=\"dg-page-link-label\">\n        {{ 'PRE_PAGE' | dgTranslate }}\n      </div>\n      <div class=\"dg-page-link-title\">\n        {{ docPages.pre.title }}\n      </div>\n    </div>\n  </a>\n</div>\n<div class=\"dg-page-link\" *ngIf=\"docPages.next && nextRouterLink\">\n  <a [routerLink]=\"[nextRouterLink]\">\n    <div class=\"dg-page-link-icon\">\n      <dg-icon iconName=\"arrowRight\"></dg-icon>\n    </div>\n    <div>\n      <div class=\"dg-page-link-label\">\n        {{ 'NEXT_PAGE' | dgTranslate }}\n      </div>\n      <div class=\"dg-page-link-title\">\n        {{ docPages.next.title }}\n      </div>\n    </div>\n  </a>\n</div>\n","import { Component, OnInit, Input, HostBinding } from '@angular/core';\nimport { ComponentDocItem } from '../../interfaces/public-api';\n\n@Component({\n    selector: 'dg-component-viewer',\n    templateUrl: './component-viewer.component.html',\n    standalone: false,\n})\nexport class ComponentViewerComponent implements OnInit {\n    @HostBinding(`class.dg-component-viewer`) isDocViewer = true;\n\n    @Input() docItem!: ComponentDocItem;\n\n    constructor() {}\n\n    ngOnInit(): void {}\n}\n\n@Component({\n    selector: 'dg-component-empty',\n    template: ` <p>Current component has not been documented.</p> `,\n    standalone: false,\n})\nexport class ComponentEmptyComponent implements OnInit {\n    @HostBinding(`class.dg-component-empty`) isDocEmpty = true;\n\n    constructor() {}\n\n    ngOnInit(): void {}\n}\n","<ng-container *ngIf=\"docItem\">\n  <dg-doc-header [title]=\"docItem.title\" [subtitle]=\"docItem.subtitle\"></dg-doc-header>\n  <div class=\"dg-tab-links\">\n    <a *ngIf=\"docItem.overview\" class=\"dg-tab-link\" [routerLink]=\"['./overview']\" routerLinkActive=\"active\">{{\n      'OVERVIEW' | dgTranslate\n    }}</a>\n    <a *ngIf=\"docItem.examples?.length > 0\" class=\"dg-tab-link\" [routerLink]=\"['./examples']\" routerLinkActive=\"active\">{{\n      'EXAMPLES' | dgTranslate\n    }}</a>\n    <a *ngIf=\"docItem.api\" class=\"dg-tab-link\" [routerLink]=\"['./api']\" routerLinkActive=\"active\">API</a>\n  </div>\n</ng-container>\n<router-outlet></router-outlet>\n<dg-doc-meta [docItem]=\"docItem\"></dg-doc-meta>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { GlobalContext } from '../../services/global-context';\n\n@Pipe({ name: 'dgAssetsContentPath', standalone: false })\nexport class AssetsContentPathPipe implements PipeTransform {\n    constructor(private globalContext: GlobalContext) {}\n\n    transform(path: string): string {\n        return this.globalContext.getAssetsContentPath(path);\n    }\n}\n","import { NavigationItem } from './../../interfaces/navigation-item';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'dgIsComponentDoc', standalone: false })\nexport class IsComponentDocPipe implements PipeTransform {\n    constructor() {}\n\n    transform(docItem: NavigationItem): boolean {\n        return !!docItem.importSpecifier;\n    }\n}\n","import { Component, HostBinding, NgModuleFactory, OnDestroy, OnInit, Type, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable, Subject, combineLatest } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { NavigationItem } from '../../interfaces/public-api';\nimport { PageTitleService } from '../../services/page-title.service';\nimport { NavigationService } from '../../services/public-api';\nimport { TocService } from '../../services/toc.service';\nimport { TableOfContentsComponent } from '../../shared/toc/toc.component';\n\n@Component({\n    selector: 'dg-doc-viewer',\n    templateUrl: './doc-viewer.component.html',\n    standalone: false,\n})\nexport class DocViewerComponent implements OnInit, OnDestroy {\n    @HostBinding(`class.dg-doc-viewer`) isDocViewer = true;\n\n    // 独立展示的页面，不属于任何频道\n    @HostBinding(`class.dg-doc-viewer--single`) isSingle = false;\n\n    @HostBinding(`class.dg-doc-viewer--toc`) hasContentToc = false;\n\n    /** Component type for the current example. */\n    exampleComponentType: Type<any> | null = null;\n\n    exampleModuleFactory: NgModuleFactory<any> | null = null;\n\n    docItem$: Observable<NavigationItem | null> = this.navigationService.docItem$.asObservable();\n    docPages$: Observable<{\n        pre: NavigationItem;\n        next: NavigationItem;\n    } | null> = this.navigationService.docPages$.asObservable();\n\n    @ViewChild('toc') tableOfContents!: TableOfContentsComponent;\n\n    private destroyed = new Subject<void>();\n\n    get channel() {\n        return this.navigationService.channel;\n    }\n\n    constructor(\n        private route: ActivatedRoute,\n        private router: Router,\n        private navigationService: NavigationService,\n        private pageTitle: PageTitleService,\n        private tocService: TocService,\n    ) {}\n\n    ngOnInit(): void {\n        if (this.route.snapshot.data) {\n            this.isSingle = this.route.snapshot.data.single;\n        }\n        this.route.paramMap.subscribe((params) => {\n            const id = params.get('id');\n            // component doc\n            if (id) {\n                this.navigationService.selectDocItem(id);\n                this.navigationService.resetShowSidebar();\n            } else {\n                // doc\n                const path = this.route.snapshot.routeConfig?.path;\n                this.navigationService.selectDocItem(path!);\n            }\n            if (this.navigationService.docItem) {\n                this.pageTitle.title = '' + this.navigationService.docItem.title;\n            } else {\n                const firstDoc = this.navigationService.searchFirstDocItem();\n                if (firstDoc) {\n                    this.router.navigate(['./' + firstDoc.path], { relativeTo: this.route });\n                }\n            }\n        });\n\n        combineLatest([this.navigationService.docItem$, this.tocService.links$])\n            .pipe(takeUntil(this.destroyed))\n            .subscribe((result) => {\n                this.hasContentToc = result[0]!.toc === 'content' && result[1].length > 0;\n            });\n    }\n\n    close() {\n        if (this.navigationService.showSidebar) {\n            this.navigationService.toggleSidebar();\n        }\n    }\n\n    ngOnDestroy() {\n        this.destroyed.next();\n        this.destroyed.complete();\n    }\n}\n\n@Component({\n    selector: 'doc-viewer-home',\n    template: '',\n    standalone: false,\n})\nexport class DocViewerHomeComponent implements OnDestroy {\n    destroy$ = new Subject<void>();\n\n    constructor(navigationService: NavigationService, route: ActivatedRoute, router: Router) {\n        navigationService.docItem$.pipe(takeUntil(this.destroy$)).subscribe((docItem) => {\n            if (docItem) {\n                let redirectTo = './empty';\n                if (docItem.overview) {\n                    redirectTo = './overview';\n                } else if (docItem.examples && docItem.examples.length > 0) {\n                    redirectTo = './examples';\n                } else if (docItem.api) {\n                    redirectTo = './api';\n                }\n                if (redirectTo) {\n                    router.navigate([redirectTo], { relativeTo: route, replaceUrl: true });\n                }\n            }\n        });\n    }\n\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n}\n","<ng-container *ngIf=\"docItem$ | async as docItem\">\n  <ng-container *ngIf=\"docItem | dgIsComponentDoc; else general\">\n    <dg-component-viewer [docItem]=\"docItem\"></dg-component-viewer>\n  </ng-container>\n\n  <ng-template #general>\n    <div class=\"dg-doc-viewer-inner\">\n      <div class=\"dg-doc-viewer-inner-content\">\n        <dg-doc-header [title]=\"docItem.title\" [subtitle]=\"docItem.subtitle\"></dg-doc-header>\n        <dg-content-viewer [url]=\"docItem.contentPath | dgAssetsContentPath\"> </dg-content-viewer>\n        <dg-doc-pages-links *ngIf=\"docPages$ | async as docPages\" [docPages]=\"docPages\"></dg-doc-pages-links>\n        <dg-doc-meta class=\"dg-mt-4\" [docItem]=\"docItem\"></dg-doc-meta>\n      </div>\n      <dg-toc *ngIf=\"hasContentToc\"></dg-toc>\n    </div>\n  </ng-template>\n  <div class=\"dg-spring\"></div>\n  <dg-footer></dg-footer>\n</ng-container>\n<div class=\"dg-doc-viewer-backdrop\" (click)=\"close()\"></div>\n","import { Component, OnInit, HostBinding, ViewChild } from '@angular/core';\nimport { ComponentViewerComponent } from '../component-viewer.component';\nimport { GlobalContext } from '../../../services/public-api';\nimport { TableOfContentsComponent } from '../../../shared/toc/toc.component';\n\n@Component({\n    selector: 'dg-component-overview',\n    templateUrl: './component-overview.component.html',\n    standalone: false,\n})\nexport class ComponentOverviewComponent implements OnInit {\n    contentUrl!: string;\n\n    @HostBinding('class.dg-component-overview') contentClass = true;\n\n    @ViewChild('toc') tableOfContents!: TableOfContentsComponent;\n\n    constructor(\n        public componentViewer: ComponentViewerComponent,\n        private global: GlobalContext,\n    ) {}\n\n    ngOnInit(): void {\n        this.contentUrl = this.global.getAssetsContentPath(\n            `overviews/${this.componentViewer.docItem.importSpecifier}/${this.global.locale}.html`,\n        );\n    }\n}\n","<dg-content-viewer class=\"dg-doc-viewer-inner-content\" [url]=\"contentUrl\"> </dg-content-viewer>\n<dg-toc #toc *ngIf=\"componentViewer.docItem.toc === 'content'\"></dg-toc>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n    name: 'dgIsContentChildKind',\n    standalone: false,\n})\nexport class IsNgContentChildKindPipe implements PipeTransform {\n    constructor() {}\n\n    transform(kind: string): boolean {\n        return kind === 'ContentChild' || kind === 'ContentChildren';\n    }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { PropertyDeclaration } from '../../interfaces';\nimport { IsNgContentChildKindPipe } from './ng-kind.pipe';\n\n@Pipe({\n    name: 'dgPropertyName',\n    standalone: false,\n})\nexport class PropertyNamePipe implements PipeTransform {\n    constructor() {}\n\n    transform(property: PropertyDeclaration): string {\n        const ngContentChildKind = new IsNgContentChildKindPipe();\n        const isContentChild = ngContentChildKind.transform(property.kind);\n        const name = property.aliasName || property.name;\n        if (isContentChild) {\n            return `#${name}`;\n        } else if (property.kind === 'Output') {\n            return `(${name})`;\n        } else {\n            return `${name}`;\n        }\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, NgZone, ElementRef } from '@angular/core';\nimport { ComponentViewerComponent } from '../component-viewer.component';\nimport { GlobalContext } from '../../../services/public-api';\nimport { ApiDeclaration } from '../../../interfaces';\nimport { take } from 'rxjs/operators';\nimport { TocService } from '../../../services/toc.service';\n\n@Component({\n    selector: 'dg-component-api',\n    templateUrl: './component-api.component.html',\n    providers: [TocService],\n    host: {\n        class: 'dg-component-api',\n    },\n    standalone: false,\n})\nexport class ComponentApiComponent implements OnInit {\n    apiDeclarations!: ApiDeclaration[];\n\n    constructor(\n        public componentViewer: ComponentViewerComponent,\n        private global: GlobalContext,\n        private http: HttpClient,\n        private ngZone: NgZone,\n        private elementRef: ElementRef,\n        private tocService: TocService,\n    ) {}\n\n    ngOnInit(): void {\n        // this.contentUrl = this.global.getAssetsContentPath(\n        //     `api-docs/${this.componentViewer.docItem.importSpecifier}/${this.global.locale}.html`\n        // );\n        const apiUrl = this.global.getAssetsContentPath(\n            `api-docs/${this.componentViewer.docItem.importSpecifier}/${this.global.locale}.json`,\n        );\n        this.http.get<ApiDeclaration[]>(apiUrl).subscribe({\n            next: (data) => {\n                this.apiDeclarations = data;\n                this.ngZone.onStable.pipe(take(1)).subscribe(() => {\n                    this.ngZone.run(() => {\n                        if (this.elementRef.nativeElement) {\n                            this.tocService.generateToc(this.elementRef.nativeElement);\n                        }\n                    });\n                });\n            },\n        });\n    }\n}\n","<!-- <dg-content-viewer [url]=\"contentUrl\"> </dg-content-viewer> -->\n<ng-container *ngIf=\"apiDeclarations; else loading\">\n  <div class=\"dg-component-api-content dg-doc-content\">\n    <ng-container *ngFor=\"let apiDeclaration of apiDeclarations\">\n      <div class=\"dg-api-header\">\n        <h1 class=\"name\" id=\"{{ apiDeclaration.name }}\">{{ apiDeclaration.name }}</h1>\n        <label class=\"type-label dg-label {{ apiDeclaration.type }}\">{{ apiDeclaration.type }}</label>\n      </div>\n      <div *ngIf=\"apiDeclaration.description\" class=\"dg-api-description\" [innerHTML]=\"apiDeclaration.description\"></div>\n\n      <!-- <div *ngIf=\"apiDeclaration.selector\">Selector: <code>{{apiDeclaration.selector}}</code></div>\n      <div *ngIf=\"apiDeclaration.exportAs\">Exported as: {{apiDeclaration.exportAs}}</div> -->\n\n      <div class=\"dg-section\" *ngIf=\"apiDeclaration.properties && apiDeclaration.properties.length\">\n        <div class=\"section-title\">Properties</div>\n        <table class=\"dg-api-property-table\">\n          <thead>\n            <tr class=\"dg-api-property-header-row\">\n              <th class=\"dg-api-property-name-th\">Name</th>\n              <th class=\"dg-api-property-type-th\">Type</th>\n              <th class=\"dg-api-property-default-th\">Default</th>\n              <th class=\"dg-api-property-description-th\">Description</th>\n            </tr>\n          </thead>\n          <tbody>\n            <tr class=\"dg-api-property-row\" *ngFor=\"let property of apiDeclaration.properties\">\n              <td class=\"dg-api-property-name-cell\">\n                <label>{{ property | dgPropertyName }}</label>\n              </td>\n              <td class=\"dg-api-property-type-cell\">\n                <label>{{ property.type.name || property.type }}</label>\n              </td>\n              <td class=\"dg-api-property-default-cell\">\n                {{ property.default || '-' }}\n              </td>\n              <td class=\"dg-api-property-description-cell\" [innerHTML]=\"property.description\"></td>\n            </tr>\n            <tr *ngIf=\"!apiDeclaration.properties || apiDeclaration.properties.length === 0\">\n              <td colspan=\"4\">None</td>\n            </tr>\n          </tbody>\n        </table>\n      </div>\n      <div class=\"dg-section\" *ngIf=\"apiDeclaration.methods && apiDeclaration.methods.length\">\n        <div class=\"section-title\">Methods</div>\n        <table class=\"dg-api-methods-table\">\n          <thead>\n            <tr class=\"dg-api-property-header-row\">\n              <th class=\"dg-api-property-name-th\">Name</th>\n              <th class=\"dg-api-methods-type-th\">Type</th>\n              <th class=\"dg-api-property-description-th\">Description</th>\n            </tr>\n          </thead>\n          <tbody>\n            <tr class=\"dg-api-property-row\" *ngFor=\"let method of apiDeclaration.methods\">\n              <td class=\"dg-api-property-name-cell\">\n                <label>{{ method.name }}</label>\n              </td>\n              <td class=\"dg-api-property-type-cell\">\n                <div class=\"dg-api-method-parameter\">\n                  <div class=\"dg-api-method-parameter-head\">Parameters:</div>\n\n                  <div class=\"dg-api-method-parameter-list\">\n                    <ng-container *ngIf=\"method.parameters && method.parameters.length; else noParametersTemplate\">\n                      <div *ngFor=\"let item of method.parameters\" class=\"dg-api-method-parameter-item\">\n                        <span class=\"dg-api-method-parameter-type\">{{ item.name }}: {{ item.type }}</span>\n                        <span class=\"dg-api-method-parameter-description\" *ngIf=\"item.description || item.comment\">{{\n                          item.description || item.comment\n                        }}</span>\n                      </div>\n                    </ng-container>\n                  </div>\n                </div>\n\n                <div class=\"dg-api-method-parameter\">\n                  <div class=\"dg-api-method-parameter-head\">Return:</div>\n                  <div class=\"dg-api-method-return-value\">\n                    <span class=\"dg-api-method-parameter-type\">{{ method.returnValue.type }}</span>\n                    <span class=\"dg-api-method-parameter-description\">{{ method.returnValue.description }}</span>\n                  </div>\n                </div>\n              </td>\n              <td class=\"dg-api-property-description-cell\" [innerHTML]=\"method.description\"></td>\n            </tr>\n            <tr *ngIf=\"!apiDeclaration.methods || apiDeclaration.methods.length === 0\">\n              <td colspan=\"3\">None</td>\n            </tr>\n          </tbody>\n        </table>\n      </div>\n    </ng-container>\n  </div>\n  <dg-toc #toc class=\"dg-component-api-toc\"></dg-toc>\n</ng-container>\n<ng-template #noParametersTemplate>\n  <div class=\"dg-api-no-method-parameter\">None</div>\n</ng-template>\n\n<ng-template #loading> <div class=\"dg-doc-content\">Loading...</div></ng-template>\n","import { Component, OnInit, HostBinding } from '@angular/core';\nimport { ComponentViewerComponent } from '../component-viewer.component';\nimport { NavigationService } from '../../../services/public-api';\n\n@Component({\n    selector: 'dg-component-examples',\n    templateUrl: './component-examples.component.html',\n    standalone: false,\n})\nexport class ComponentExamplesComponent implements OnInit {\n    @HostBinding('class.dg-examples') isComponentExamples = true;\n\n    get examples() {\n        return this.componentViewer.docItem.examples || [];\n    }\n\n    constructor(\n        public componentViewer: ComponentViewerComponent,\n        public navigationService: NavigationService,\n    ) {}\n\n    ngOnInit(): void {}\n}\n","<dg-example-viewer *ngFor=\"let example of examples\" [name]=\"example\"></dg-example-viewer>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { HeroAction } from '../../interfaces';\n\n@Pipe({ name: 'dgHeroActionClass', standalone: false })\nexport class HeroActionClassPipe implements PipeTransform {\n    constructor() {}\n\n    transform(action: HeroAction): string[] {\n        return [`dg-btn-${action.btnType || 'primary-light'}`, 'dg-btn-xlg', `dg-btn-${action.btnShape || 'round'}`];\n    }\n}\n","import { Component, OnInit, HostBinding, ChangeDetectionStrategy } from '@angular/core';\nimport { GlobalContext, NavigationService } from '../../services/public-api';\nimport { Router } from '@angular/router';\nimport { PageTitleService } from '../../services/page-title.service';\nimport { TranslatePipe } from '../../shared/pipes/translate.pipe';\n\n@Component({\n    selector: 'dg-home',\n    templateUrl: './home.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class HomeComponent implements OnInit {\n    @HostBinding(`class.dg-home`) isHome = true;\n\n    hasHome = false;\n\n    get bannerImgSrc() {\n        const banner = this.global.homeMeta.hero.banner;\n\n        if (banner) {\n            if (typeof banner === 'string') {\n                return banner;\n            }\n\n            if (Array.isArray(banner)) {\n                if (banner.length === 1) {\n                    return banner[0];\n                }\n\n                if (banner.length === 2) {\n                    if (this.global.isDarkTheme()) {\n                        return banner[1];\n                    } else {\n                        return banner[0];\n                    }\n                }\n\n                return false;\n            }\n\n            return false;\n        }\n\n        return false;\n    }\n\n    constructor(\n        public global: GlobalContext,\n        router: Router,\n        navigationService: NavigationService,\n        pageTitle: PageTitleService,\n    ) {\n        if (!global.homeMeta) {\n            if (global.config.mode === 'full') {\n                const channels = navigationService.getChannels();\n                if (channels && channels[0].path && !channels[0].isExternal) {\n                    router.navigateByUrl(channels[0].path, {\n                        replaceUrl: true,\n                    });\n                }\n            } else {\n                const docItem = navigationService.searchFirstDocItem();\n                if (docItem) {\n                    router.navigateByUrl(docItem.path, {\n                        replaceUrl: true,\n                    });\n                }\n            }\n            return;\n        }\n        pageTitle.title = new TranslatePipe(global).transform('HOME');\n        this.hasHome = true;\n    }\n\n    ngOnInit(): void {}\n}\n","<div class=\"dg-hero\" *ngIf=\"global.homeMeta?.hero\">\n  <div class=\"dg-hero-launch\">\n    <h1 class=\"dg-launch-title\">{{ global.homeMeta.hero.title }}</h1>\n    <p class=\"dg-launch-description\">{{ global.homeMeta.hero.description }}</p>\n    <div class=\"dg-launch-actions\">\n      <a\n        class=\"dg-launch-action dg-btn\"\n        [ngClass]=\"item | dgHeroActionClass\"\n        [href]=\"item.link\"\n        *ngFor=\"let item of global.homeMeta.hero.actions\"\n      >\n        {{ item.text }}\n      </a>\n    </div>\n  </div>\n  <div class=\"dg-hero-banner\" [style.backgroundColor]=\"global.homeMeta.hero.backgroundColor\">\n    @if (bannerImgSrc) {\n      <img [src]=\"bannerImgSrc\" />\n    }\n  </div>\n</div>\n\n<div class=\"dg-features\" *ngIf=\"global.homeMeta?.features && global.homeMeta?.features.length > 0\">\n  <div class=\"dg-feature\" *ngFor=\"let item of global.homeMeta.features\">\n    <img [src]=\"item.icon\" alt=\"\" />\n    <div class=\"dg-feature-title\">\n      {{ item.title }}\n    </div>\n    <div class=\"dg-feature-description\" [innerHTML]=\"item.description\"></div>\n  </div>\n</div>\n<div class=\"dg-extra-content\" *ngIf=\"global.homeMeta?.contentPath\">\n  <dg-content-viewer [url]=\"global.homeMeta.contentPath | dgAssetsContentPath\"></dg-content-viewer>\n</div>\n\n<dg-footer></dg-footer>\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PageTitleService } from '../../services/page-title.service';\n\n@Component({\n    selector: 'dg-example-isolated-viewer',\n    templateUrl: './example.component.html',\n    standalone: false,\n})\nexport class ExampleIsolatedViewerComponent implements OnInit {\n    public name!: string | null;\n\n    constructor(\n        private route: ActivatedRoute,\n        private pageTitle: PageTitleService,\n    ) {}\n\n    ngOnInit(): void {\n        this.name = this.route.snapshot.paramMap.get('name');\n        this.pageTitle.title = `Example - ${this.name}`;\n    }\n}\n","<dg-example-renderer [name]=\"name\"></dg-example-renderer>\n","/** Common type definition of template and core, sync all files in this folder to template's interfaces  */\nexport * from './config';\nexport * from './example';\nexport * from './library';\nexport * from './locale';\nexport * from './module';\nexport * from './navigation-item';\nexport * from './api-declaration';\nexport * from './toc';\n","import { Component, OnInit, HostBinding, HostListener } from '@angular/core';\nimport { NavigationService, GlobalContext } from '../../services/public-api';\nimport { DocgeniTheme } from '../../interfaces';\n\n@Component({\n    selector: 'dg-themes-selector',\n    templateUrl: './themes-selector.component.html',\n    standalone: false,\n})\nexport class ThemesSelectorComponent implements OnInit {\n    @HostBinding('class.dg-themes-selector') isNavbar = true;\n\n    cacheKey = 'docgeni-theme';\n\n    isDropdownOpen = false;\n\n    docgeniTheme = DocgeniTheme;\n\n    theme!: DocgeniTheme;\n\n    themesMap = {\n        [DocgeniTheme.light]: { key: DocgeniTheme.light, name: '亮色主题', icon: 'lightTheme' },\n        [DocgeniTheme.dark]: { key: DocgeniTheme.dark, name: '暗黑主题', icon: 'darkTheme' },\n        [DocgeniTheme.system]: { key: DocgeniTheme.system, name: '跟随系统', icon: 'systemTheme' },\n    };\n\n    themes = [this.themesMap[DocgeniTheme.light], this.themesMap[DocgeniTheme.dark], this.themesMap[DocgeniTheme.system]];\n\n    constructor(\n        public global: GlobalContext,\n        public navigationService: NavigationService,\n    ) {}\n\n    @HostListener('mouseenter')\n    openDropdown() {\n        this.isDropdownOpen = true;\n    }\n\n    @HostListener('mouseleave')\n    closeDropdown() {\n        this.isDropdownOpen = false;\n    }\n\n    ngOnInit(): void {\n        this.theme = this.global.theme();\n    }\n\n    setTheme(theme: DocgeniTheme) {\n        this.theme = theme;\n        this.global.setTheme(this.theme);\n    }\n\n    selectTheme(theme: DocgeniTheme) {\n        this.setTheme(theme);\n        this.isDropdownOpen = false;\n    }\n\n    toggleTheme() {\n        if (this.theme === DocgeniTheme.dark) {\n            this.setTheme(DocgeniTheme.light);\n        } else if (this.theme === DocgeniTheme.light) {\n            this.setTheme(DocgeniTheme.dark);\n        } else {\n        }\n    }\n}\n","<button type=\"button\" class=\"action-icon\" [ngClass]=\"{ active: !!isDropdownOpen }\" (click)=\"toggleTheme()\">\n  <dg-icon [iconName]=\"themesMap[theme]?.icon\" [ngClass]=\"{ system: theme === docgeniTheme.system }\"></dg-icon>\n</button>\n\n<div *ngIf=\"!!isDropdownOpen\" class=\"themes-container\">\n  <div class=\"themes-menu\">\n    <div *ngFor=\"let item of themes\" class=\"theme\" [ngClass]=\"{ active: item.key === theme }\" (click)=\"selectTheme(item.key)\">\n      {{ item.name }}\n    </div>\n  </div>\n</div>\n","import { Component, OnInit, HostBinding, ElementRef } from '@angular/core';\nimport { NavigationService, GlobalContext } from '../../services/public-api';\nimport { ChannelItem } from '../../interfaces/public-api';\n\n@Component({\n    selector: 'dg-navbar',\n    templateUrl: './navbar.component.html',\n    standalone: false,\n})\nexport class NavbarComponent implements OnInit {\n    @HostBinding('class.dg-navbar') isNavbar = true;\n\n    @HostBinding('class.show') showNav = false;\n\n    channels!: ChannelItem[];\n\n    constructor(\n        public global: GlobalContext,\n        public navigationService: NavigationService,\n        private elementRef: ElementRef<HTMLElement>,\n    ) {}\n\n    ngOnInit(): void {\n        this.channels = this.navigationService.getChannels();\n        this.elementRef.nativeElement.classList.add(this.global.config.theme!);\n    }\n\n    toggleNavbar() {\n        this.showNav = !this.showNav;\n    }\n}\n","<div class=\"navbar-brand\">\n  <dg-logo></dg-logo>\n  <a [routerLink]=\"['/']\" class=\"title\">{{ global.config.title }}</a>\n</div>\n<div class=\"nav nav-spacer\">\n  <a>&nbsp;</a>\n</div>\n\n<button class=\"navbar-toggler dg-btn dg-btn-primary\" (click)=\"toggleNavbar()\"><dg-icon iconName=\"list\"></dg-icon></button>\n<div class=\"nav\">\n  <ng-container *ngFor=\"let channel of channels\">\n    <a *ngIf=\"channel.isExternal; else navLink\" href=\"{{ channel.path }}\" target=\"_blank\"\n      >{{ channel.title }} <dg-icon iconName=\"external\"></dg-icon>\n    </a>\n    <ng-template #navLink>\n      <a [routerLink]=\"channel.path\" routerLinkActive=\"active\">{{ channel.title }}</a>\n    </ng-template>\n  </ng-container>\n</div>\n<div class=\"spacer\"></div>\n<div class=\"action-items\">\n  <dg-search class=\"action-item search-container\" *ngIf=\"global.config.mode | dgIsFull\"></dg-search>\n  <dg-locales-selector class=\"action-icon-item\" *ngIf=\"global.config.locales && global.config.locales.length > 1\"></dg-locales-selector>\n  <dg-themes-selector class=\"action-icon-item\" *ngIf=\"global.config.switchTheme\"></dg-themes-selector>\n  <a class=\"action-icon-item\" *ngIf=\"global.config.repoUrl\" href=\"{{ global.config.repoUrl }}\" target=\"_blank\">\n    <button type=\"button\" class=\"action-icon\">\n      <dg-icon iconName=\"github\"></dg-icon>\n    </button>\n  </a>\n</div>\n","import { NavigationService } from './../../services/navigation.service';\nimport { Component, HostBinding } from '@angular/core';\nimport { GlobalContext } from '../../services/public-api';\n\n@Component({\n    selector: 'dg-root-actual',\n    templateUrl: './root.component.html',\n    standalone: false,\n})\nexport class ActualRootComponent {\n    @HostBinding(`class.dg-main`) isMain = true;\n\n    @HostBinding(`class.dg-layout`) isLayout = true;\n\n    @HostBinding(`class.dg-scroll-container`) isScrollContainer = this.global.config.mode === 'lite';\n\n    @HostBinding(`class.dg-sidebar-show`) get showSidebar() {\n        return this.navigationService.showSidebar;\n    }\n\n    constructor(\n        public global: GlobalContext,\n        public navigationService: NavigationService,\n    ) {}\n}\n\n@Component({\n    selector: 'dg-root',\n    template: '<router-outlet></router-outlet>',\n    standalone: false,\n})\nexport class RootComponent {\n    constructor(\n        public global: GlobalContext,\n        public navigationService: NavigationService,\n    ) {}\n}\n","<dg-navbar *ngIf=\"global.config.mode | dgIsFull\"></dg-navbar>\n<dg-sidebar *ngIf=\"global.config.mode | dgIsLite\" [menus]=\"navigationService.navs\"></dg-sidebar>\n<router-outlet></router-outlet>\n","import { GlobalContext } from './global-context';\nimport { Injectable } from '@angular/core';\nimport { Route, Router, Routes } from '@angular/router';\nimport { ChannelComponent, ChannelHomeComponent } from '../pages/channel/channel.component';\nimport { DocViewerComponent, DocViewerHomeComponent } from '../pages/doc-viewer/doc-viewer.component';\nimport { ComponentOverviewComponent } from '../pages/component-viewer/overview/component-overview.component';\nimport { ComponentApiComponent, ComponentEmptyComponent, ComponentExamplesComponent } from '../pages/component-viewer';\nimport { HomeComponent } from '../pages/home/home.component';\nimport { ExampleIsolatedViewerComponent } from '../pages/example/example.component';\nimport { ActualRootComponent } from '../pages/root/root.component';\n\nconst componentChildrenRoutes: Routes = [\n    {\n        path: '',\n        component: DocViewerHomeComponent,\n    },\n    {\n        path: 'overview',\n        component: ComponentOverviewComponent,\n    },\n    {\n        path: 'api',\n        component: ComponentApiComponent,\n    },\n    {\n        path: 'examples',\n        component: ComponentExamplesComponent,\n    },\n    {\n        path: 'empty',\n        component: ComponentEmptyComponent,\n    },\n    {\n        path: '**',\n        component: ComponentExamplesComponent,\n    },\n];\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class RouterResetService {\n    constructor(\n        private router: Router,\n        private global: GlobalContext,\n    ) {}\n\n    resetRoutes() {\n        const config = this.router.config;\n        const routes: Routes = [\n            {\n                path: '',\n                component: HomeComponent,\n            },\n        ];\n        const rootRoutes: Routes = [\n            ...this.global.config.locales!.map((locale) => {\n                return {\n                    path: locale.key,\n                    component: ActualRootComponent,\n                    children: routes,\n                };\n            }),\n            {\n                path: '',\n                component: ActualRootComponent,\n                children: routes,\n            },\n            {\n                path: '~examples/:name',\n                component: ExampleIsolatedViewerComponent,\n            },\n        ];\n\n        const channelPathToRoutes: Record<string, Route> = {};\n        const channelPathToHomeRoutes: Record<string, Route> = {};\n        let shouldRemoveHome = false;\n        if (this.global.config.mode === 'full') {\n            const rootNavs = this.global.navs.filter((nav) => {\n                return !nav.isExternal;\n            });\n            rootNavs.forEach((nav) => {\n                if (nav.items) {\n                    const route: Route = {\n                        path: nav.path,\n                        component: ChannelComponent,\n                        children: [\n                            {\n                                path: '',\n                                component: ChannelHomeComponent,\n                            },\n                        ],\n                    };\n                    channelPathToHomeRoutes[nav.path] = route.children![0];\n                    if (nav.lib) {\n                        route.children!.push({\n                            path: ':id',\n                            component: DocViewerComponent,\n                            children: componentChildrenRoutes,\n                        });\n                    }\n                    routes.push(route);\n                    channelPathToRoutes[nav.path] = route;\n                }\n            });\n            this.global.docItems.forEach((docItem) => {\n                const route: Route = docItem.importSpecifier\n                    ? {\n                          path: docItem.path,\n                          component: DocViewerComponent,\n                          children: componentChildrenRoutes,\n                      }\n                    : {\n                          path: docItem.path,\n                          component: DocViewerComponent,\n                      };\n\n                const channelRoute = channelPathToRoutes[docItem.channelPath!];\n                if (channelRoute) {\n                    // remove chanel home when has route path is ''\n                    if (route.path === '' && channelRoute.children!.includes(channelPathToHomeRoutes[channelRoute.path!])) {\n                        channelRoute.children!.splice(0, 1);\n                    }\n                    channelRoute.children!.push(route);\n                } else if (!docItem.importSpecifier) {\n                    // 独立的页面，不属于任何频道\n                    route.data = {\n                        single: true,\n                    };\n                    routes.push(route);\n                }\n            });\n        } else {\n            this.global.docItems.forEach((docItem) => {\n                const route = docItem.importSpecifier\n                    ? {\n                          path: docItem.path,\n                          component: DocViewerComponent,\n                          children: componentChildrenRoutes,\n                      }\n                    : {\n                          path: docItem.path,\n                          component: DocViewerComponent,\n                      };\n                // remove home when route path is ''\n                if (route.path === '') {\n                    shouldRemoveHome = true;\n                }\n                routes.push(route);\n            });\n            if (shouldRemoveHome) {\n                routes.splice(0, 1);\n            }\n        }\n\n        this.router.resetConfig([...config, ...rootRoutes, { path: '**', redirectTo: '' }]);\n    }\n}\n","import { APP_INITIALIZER, Provider } from '@angular/core';\nimport { GlobalContext } from './services/public-api';\nimport { RouterResetService } from './services/router-reset.service';\n\nexport const DOCGENI_INITIALIZER_PROVIDERS: Provider[] = [\n    {\n        provide: APP_INITIALIZER,\n        useFactory: initializeDocgeniSite,\n        deps: [GlobalContext, RouterResetService],\n        multi: true,\n    },\n];\n\nexport function initializeDocgeniSite(globalContext: GlobalContext, routerResetService: RouterResetService) {\n    return (): Promise<any> => {\n        return globalContext.initialize().then(() => {\n            routerResetService.resetRoutes();\n        });\n    };\n}\n","import { IsComponentDocPipe } from './pipes/nav.pipe';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { NavbarComponent } from './navbar/navbar.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { ExampleViewerComponent } from './example-viewer/example-viewer.component';\nimport { IconComponent } from './icon/icon.component';\nimport { ContentViewerComponent } from './content-viewer/content-viewer.component';\nimport { DocHeaderComponent } from './doc-header/doc-header.component';\nimport { LabelComponent } from './label/label.component';\nimport { TableOfContentsComponent } from './toc/toc.component';\nimport { AssetsContentPathPipe } from './pipes/assets-content-path.pipe';\nimport { CopierService } from './copier/copier.service';\nimport { IsModeFullPipe, IsModeLitePipe } from './pipes/mode.pipe';\nimport { LocalesSelectorComponent } from './locales-selector/locales-selector.component';\nimport { LogoComponent } from './logo/logo.component';\nimport { TranslatePipe } from './pipes/translate.pipe';\nimport { HeroActionClassPipe } from './pipes/hero.pipe';\nimport { DocMetaComponent } from './doc-meta/doc-meta.component';\nimport { CopyComponent } from './copy/copy.component';\nimport { SourceCodeComponent } from './source-code/source-code.component';\nimport { ExampleRendererComponent } from './example-renderer/example-renderer.component';\nimport { DocPagesLinksComponent } from './doc-pages-links/doc-pages-links.component';\nimport { SearchComponent } from './search/search.component';\nimport { HighlightPipe } from './pipes/highlight.pipe';\nimport { IsNgContentChildKindPipe } from './pipes/ng-kind.pipe';\nimport { PropertyNamePipe } from './pipes/property-name.pipe';\nimport { ThemesSelectorComponent } from './themes-selector/themes-selector.component';\n\nconst COMPONENTS = [\n    NavbarComponent,\n    FooterComponent,\n    SidebarComponent,\n    ExampleViewerComponent,\n    ExampleRendererComponent,\n    IconComponent,\n    DocHeaderComponent,\n    ContentViewerComponent,\n    SourceCodeComponent,\n    LabelComponent,\n    TableOfContentsComponent,\n    LocalesSelectorComponent,\n    ThemesSelectorComponent,\n    AssetsContentPathPipe,\n    LogoComponent,\n    CopyComponent,\n    IsComponentDocPipe,\n    IsNgContentChildKindPipe,\n    PropertyNamePipe,\n    TranslatePipe,\n    IsModeLitePipe,\n    IsModeFullPipe,\n    HeroActionClassPipe,\n    DocMetaComponent,\n    DocPagesLinksComponent,\n    SearchComponent,\n    HighlightPipe,\n];\n@NgModule({\n    declarations: [...COMPONENTS],\n    exports: [CommonModule, FormsModule, RouterModule, ...COMPONENTS],\n    imports: [CommonModule, FormsModule, RouterModule],\n    providers: [provideHttpClient(withInterceptorsFromDi())],\n})\nexport class DocgeniSharedModule {}\n\nexport {\n    NavbarComponent,\n    FooterComponent,\n    SidebarComponent,\n    ExampleViewerComponent,\n    ExampleRendererComponent,\n    IconComponent,\n    DocHeaderComponent,\n    LabelComponent,\n    ContentViewerComponent,\n    SourceCodeComponent,\n    TableOfContentsComponent,\n    CopierService,\n    CopyComponent,\n    AssetsContentPathPipe,\n    IsModeFullPipe,\n    IsModeLitePipe,\n    HighlightPipe,\n};\n","import { NgModule, ApplicationRef } from '@angular/core';\n\nimport { ComponentViewerComponent, ComponentEmptyComponent } from './component-viewer/component-viewer.component';\nimport { DocViewerComponent, DocViewerHomeComponent } from './doc-viewer/doc-viewer.component';\nimport { DocgeniSharedModule } from '../shared/shared.module';\nimport { HomeComponent } from './home/home.component';\nimport { ChannelComponent, ChannelHomeComponent } from './channel/channel.component';\nimport { ActualRootComponent, RootComponent } from './root/root.component';\nimport { ComponentOverviewComponent } from './component-viewer/overview/component-overview.component';\nimport { ComponentApiComponent } from './component-viewer/api/component-api.component';\nimport { ComponentExamplesComponent } from './component-viewer/examples/component-examples.component';\nimport { ExampleIsolatedViewerComponent } from './example/example.component';\n\nconst COMPONENTS = [\n    ActualRootComponent,\n    RootComponent,\n    HomeComponent,\n    ChannelComponent,\n    ChannelHomeComponent,\n    DocViewerComponent,\n    DocViewerHomeComponent,\n    ComponentViewerComponent,\n    ComponentOverviewComponent,\n    ComponentApiComponent,\n    ComponentExamplesComponent,\n    ComponentEmptyComponent,\n    ExampleIsolatedViewerComponent,\n];\n@NgModule({\n    declarations: [...COMPONENTS],\n    imports: [DocgeniSharedModule],\n    providers: [],\n    exports: [...COMPONENTS],\n})\nexport class DocgeniPagesModule {\n    constructor(public appRef: ApplicationRef) {}\n}\n\nexport {\n    ActualRootComponent,\n    RootComponent,\n    HomeComponent,\n    ChannelComponent,\n    DocViewerComponent,\n    DocViewerHomeComponent,\n    ComponentViewerComponent,\n    ComponentOverviewComponent,\n    ComponentApiComponent,\n    ComponentExamplesComponent,\n    ComponentEmptyComponent,\n};\n","import { NgModule } from '@angular/core';\nimport { DocgeniSharedModule } from './shared/shared.module';\nimport { DocgeniPagesModule } from './pages/pages.module';\nimport { CONFIG_TOKEN, DEFAULT_CONFIG } from './services/public-api';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { DocgeniBuiltInModule } from './built-in/built-in.module';\n\n@NgModule({\n    declarations: [],\n    exports: [DocgeniSharedModule, DocgeniPagesModule, DocgeniBuiltInModule],\n    imports: [DocgeniSharedModule, DocgeniBuiltInModule, DocgeniPagesModule],\n    providers: [\n        {\n            provide: CONFIG_TOKEN,\n            useValue: DEFAULT_CONFIG,\n        },\n        provideHttpClient(withInterceptorsFromDi()),\n    ],\n})\nexport class DocgeniTemplateModule {\n    constructor() {}\n}\n","import { Routes } from '@angular/router';\nimport { HomeComponent } from './pages/home/home.component';\n\nconst actualRoutes: Routes = [\n    {\n        path: '',\n        component: HomeComponent,\n    },\n];\n\nexport const routes: Routes = [...actualRoutes];\n","/*\n * Public API Surface of @docgeni/template\n */\n\nexport { addBuiltInComponents, BuiltInComponentDef, DocgeniBuiltInComponent } from './built-in';\nexport * from './built-in/index';\nexport * from './initializer';\nexport * from './interfaces/public-api';\nexport * from './module';\nexport * from './pages/pages.module';\nexport * from './pages/public-api';\nexport * from './routes';\nexport * from './services/public-api';\n// It will warn Circular dependence when export from /services/public-api\nexport * from './services/router-reset.service';\nexport * from './shared/public-api';\nexport * from './shared/shared.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.GlobalContext","i1.NavigationService","i1","i2.GlobalContext","OFFSET","i3","i4.TocService","i3.IconComponent","i1.SearchService","i2","i5.IconComponent","i6.TranslatePipe","i7.HighlightPipe","i4.IconComponent","i5.LabelComponent","i6.TableOfContentsComponent","i7.LocalesSelectorComponent","i8.LogoComponent","i9.SearchComponent","i10.IsModeLitePipe","i3.NavigationService","i3.GlobalContext","i4","i5.SidebarComponent","i4.IsModeLitePipe","i4.IsModeFullPipe","ɵNgModuleFactory","i1.ExampleLoader","i1.CopierService","i2.IconComponent","i2.CopyComponent","i4.StackblitzExampleService","i5","i6.ExampleRendererComponent","i7.IconComponent","i8.SourceCodeComponent","i9.CopyComponent","i2.TocService","i4.TranslatePipe","i5.TranslatePipe","i3.DocHeaderComponent","i4.DocMetaComponent","i2.NavigationService","i3.PageTitleService","i6.FooterComponent","i7.DocHeaderComponent","i8.ContentViewerComponent","i9.TableOfContentsComponent","i10.DocMetaComponent","i11.DocPagesLinksComponent","i12.ComponentViewerComponent","i13.AssetsContentPathPipe","i14.IsComponentDocPipe","i1.ComponentViewerComponent","i4.ContentViewerComponent","i5.TableOfContentsComponent","i7.PropertyNamePipe","i4.ExampleViewerComponent","i5.FooterComponent","i6.ContentViewerComponent","i7.AssetsContentPathPipe","i8.HeroActionClassPipe","i2.PageTitleService","i3.ExampleRendererComponent","i5.LocalesSelectorComponent","i6.ThemesSelectorComponent","i7.LogoComponent","i8.SearchComponent","i9.IsModeFullPipe","i5.NavbarComponent","i6.SidebarComponent","i7.IsModeLitePipe","i7.IsModeFullPipe","COMPONENTS"],"mappings":"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"}