@covalent/markdown-navigator 10.4.0-beta.3 → 11.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, SecurityContext, Component, ChangeDetectionStrategy, Input, Output, ViewChild, HostListener, Injectable, Inject, Directive, NgModule } from '@angular/core';
2
+ import { EventEmitter, SecurityContext, ChangeDetectionStrategy, Component, HostListener, ViewChild, Output, Input, Injectable, Inject, Directive, NgModule } from '@angular/core';
3
3
  import * as i4 from '@angular/common';
4
4
  import { CommonModule, DOCUMENT } from '@angular/common';
5
5
  import * as i1 from '@covalent/markdown';
@@ -13,13 +13,12 @@ import * as i5 from '@angular/material/tooltip';
13
13
  import { MatTooltipModule } from '@angular/material/tooltip';
14
14
  import * as i6 from '@angular/material/list';
15
15
  import { MatListModule } from '@angular/material/list';
16
- import * as i8 from '@angular/material/icon';
16
+ import * as i7 from '@angular/material/icon';
17
17
  import { MatIconModule } from '@angular/material/icon';
18
- import * as i9 from '@angular/material/progress-bar';
18
+ import * as i8 from '@angular/material/progress-bar';
19
19
  import { MatProgressBarModule } from '@angular/material/progress-bar';
20
20
  import { TdMessageComponent } from '@covalent/core/message';
21
21
  import { TdBreadcrumbsComponent } from '@covalent/core/breadcrumbs';
22
- import * as i7 from '@angular/material/divider';
23
22
  import * as i1$1 from '@covalent/core/dialogs';
24
23
  import { TdWindowDialogComponent, ResizableDraggableDialog, TdDialogService } from '@covalent/core/dialogs';
25
24
 
@@ -73,10 +72,9 @@ function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template(rf,
73
72
  i0.ɵɵelement(7, "mat-divider");
74
73
  i0.ɵɵelementContainerEnd();
75
74
  } if (rf & 2) {
76
- let tmp_2_0;
77
75
  const ctx_r1 = i0.ɵɵnextContext(2);
78
76
  i0.ɵɵadvance(2);
79
- i0.ɵɵproperty("matTooltip", (tmp_2_0 = ctx_r1.goHomeLabel) !== null && tmp_2_0 !== undefined ? tmp_2_0 : "");
77
+ i0.ɵɵproperty("matTooltip", ctx_r1.goHomeLabel ?? "");
80
78
  i0.ɵɵattribute("data-test", "home-button");
81
79
  i0.ɵɵadvance(2);
82
80
  i0.ɵɵproperty("ngForOf", ctx_r1.historyStack);
@@ -100,11 +98,8 @@ function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_
100
98
  i0.ɵɵlistener("loadFailed", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template_td_flavored_markdown_loader_loadFailed_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleMarkdownLoaderError($event)); })("buttonClicked", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template_td_flavored_markdown_loader_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });
101
99
  i0.ɵɵelementEnd();
102
100
  } if (rf & 2) {
103
- let tmp_4_0;
104
- let tmp_5_0;
105
- let tmp_6_0;
106
101
  const ctx_r1 = i0.ɵɵnextContext(3);
107
- i0.ɵɵproperty("url", (tmp_4_0 = ctx_r1.url) !== null && tmp_4_0 !== undefined ? tmp_4_0 : "")("httpOptions", (tmp_5_0 = ctx_r1.httpOptions) !== null && tmp_5_0 !== undefined ? tmp_5_0 : i0.ɵɵpureFunction0(5, _c1))("anchor", (tmp_6_0 = ctx_r1.anchor) !== null && tmp_6_0 !== undefined ? tmp_6_0 : "")("copyCodeToClipboard", ctx_r1.copyCodeToClipboard)("copyCodeTooltips", ctx_r1.copyCodeTooltips);
102
+ i0.ɵɵproperty("url", ctx_r1.url ?? "")("httpOptions", ctx_r1.httpOptions ?? i0.ɵɵpureFunction0(5, _c1))("anchor", ctx_r1.anchor ?? "")("copyCodeToClipboard", ctx_r1.copyCodeToClipboard)("copyCodeTooltips", ctx_r1.copyCodeTooltips);
108
103
  } }
109
104
  function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template(rf, ctx) { if (rf & 1) {
110
105
  const _r9 = i0.ɵɵgetCurrentView();
@@ -112,11 +107,8 @@ function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_
112
107
  i0.ɵɵlistener("buttonClicked", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });
113
108
  i0.ɵɵelementEnd();
114
109
  } if (rf & 2) {
115
- let tmp_4_0;
116
- let tmp_5_0;
117
- let tmp_6_0;
118
110
  const ctx_r1 = i0.ɵɵnextContext(3);
119
- i0.ɵɵproperty("content", (tmp_4_0 = ctx_r1.markdownString) !== null && tmp_4_0 !== undefined ? tmp_4_0 : "")("hostedUrl", (tmp_5_0 = ctx_r1.url) !== null && tmp_5_0 !== undefined ? tmp_5_0 : "")("anchor", (tmp_6_0 = ctx_r1.anchor) !== null && tmp_6_0 !== undefined ? tmp_6_0 : "")("copyCodeToClipboard", ctx_r1.copyCodeToClipboard)("copyCodeTooltips", ctx_r1.copyCodeTooltips);
111
+ i0.ɵɵproperty("content", ctx_r1.markdownString ?? "")("hostedUrl", ctx_r1.url ?? "")("anchor", ctx_r1.anchor ?? "")("copyCodeToClipboard", ctx_r1.copyCodeToClipboard)("copyCodeTooltips", ctx_r1.copyCodeTooltips);
120
112
  } }
121
113
  function TdMarkdownNavigatorComponent_ng_container_0_div_4_Template(rf, ctx) { if (rf & 1) {
122
114
  i0.ɵɵelementStart(0, "div", 17, 1);
@@ -582,7 +574,7 @@ class TdMarkdownNavigatorComponent {
582
574
  i0.ɵɵadvance();
583
575
  i0.ɵɵproperty("ngIf", ctx.showEmptyState);
584
576
  } }, dependencies: [CommonModule, i4.NgComponentOutlet, i4.NgForOf, i4.NgIf, MatButtonModule,
585
- MatTooltipModule, i5.MatTooltip, MatListModule, i6.MatActionList, i6.MatListItem, i6.MatListItemAvatar, i6.MatListItemIcon, i7.MatDivider, i6.MatListItemLine, i6.MatListItemTitle, MatIconModule, i8.MatIcon, MatProgressBarModule, i9.MatProgressBar, TdFlavoredMarkdownComponent,
577
+ MatTooltipModule, i5.MatTooltip, MatListModule, i6.MatActionList, i6.MatListItem, i6.MatListItemAvatar, i6.MatListItemIcon, i6.MatDivider, i6.MatListItemLine, i6.MatListItemTitle, MatIconModule, i7.MatIcon, MatProgressBarModule, i8.MatProgressBar, TdFlavoredMarkdownComponent,
586
578
  TdFlavoredMarkdownLoaderComponent,
587
579
  TdMessageComponent,
588
580
  TdBreadcrumbsComponent], styles: ["[_nghost-%COMP%]{position:relative;height:inherit;height:100%;box-sizing:border-box;display:flex;flex-direction:column}[_nghost-%COMP%] .breadcrumb-current-title[_ngcontent-%COMP%]{margin-bottom:16px;padding-left:16px}[_nghost-%COMP%] .breadcrumb-end-icon[_ngcontent-%COMP%]{margin-left:8px;font-size:16px;width:16px;height:16px}[_nghost-%COMP%] .scroll-area[_ngcontent-%COMP%]{min-height:1px;overflow-y:auto;flex:1;box-sizing:border-box}[_nghost-%COMP%] .markdown-wrapper[_ngcontent-%COMP%]{padding:16px 16px 0}[_nghost-%COMP%] .td-markdown-list[_ngcontent-%COMP%] > .mat-list[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] td-breadcrumbs[_ngcontent-%COMP%]{padding:8px 8px 0 16px}[_nghost-%COMP%] td-flavored-markdown-loader[_ngcontent-%COMP%] .mat-progress-bar{top:0;left:0;right:0;position:absolute}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;margin:8px 0;padding-left:16px}.truncate[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state[_ngcontent-%COMP%]{padding:32px}.empty-state[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:4em}"], changeDetection: 0 });
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-markdown-navigator.mjs","sources":["../../../../libs/markdown-navigator/src/markdown-navigator.component.html","../../../../libs/markdown-navigator/src/markdown-navigator.component.ts","../../../../libs/markdown-navigator/src/markdown-navigator-window/markdown-navigator-window.component.ts","../../../../libs/markdown-navigator/src/markdown-navigator-window/markdown-navigator-window.component.html","../../../../libs/markdown-navigator/src/markdown-navigator-window-service/markdown-navigator-window.service.ts","../../../../libs/markdown-navigator/src/markdown-navigator-window-directive/markdown-navigator-window.directive.ts","../../../../libs/markdown-navigator/src/markdown-navigator.module.ts","../../../../libs/markdown-navigator/src/covalent-markdown-navigator.ts"],"sourcesContent":["<ng-container *ngIf=\"!showEmptyState\">\n <mat-progress-bar\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n ></mat-progress-bar>\n <ng-container *ngIf=\"showHeader\">\n <td-breadcrumbs>\n <a\n td-breadcrumb\n [matTooltip]=\"goHomeLabel ?? ''\"\n (click)=\"reset()\"\n [attr.data-test]=\"'home-button'\"\n >Home</a\n >\n <ng-container\n *ngFor=\"let stack of historyStack; last as isLast; index as index\"\n >\n <ng-container *ngIf=\"!isLast; else lastBreadCrumb\">\n <a\n td-breadcrumb\n (click)=\"goBack(historyStack.length - index)\"\n [attr.data-test]=\"'back-button'\"\n >{{ stack.title }}</a\n >\n </ng-container>\n <ng-template #lastBreadCrumb>\n <mat-icon class=\"breadcrumb-end-icon\">chevron_right</mat-icon>\n </ng-template>\n </ng-container>\n </td-breadcrumbs>\n <div class=\"breadcrumb-current-title\" [attr.data-test]=\"'title'\">\n {{ currentItemTitle }}\n </div>\n\n <mat-divider [style.position]=\"'relative'\"></mat-divider>\n </ng-container>\n\n <div class=\"scroll-area\" id=\"td-markdown-navigator-content\">\n <div\n *ngIf=\"showTdMarkdownLoader || showTdMarkdown\"\n class=\"markdown-wrapper\"\n #markdownWrapper\n >\n <td-message\n *ngIf=\"markdownLoaderError\"\n [sublabel]=\"markdownLoaderError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'markdown-loader-error'\"\n ></td-message>\n <td-flavored-markdown-loader\n *ngIf=\"showTdMarkdownLoader\"\n [url]=\"url ?? ''\"\n [httpOptions]=\"httpOptions ?? {}\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (loadFailed)=\"handleMarkdownLoaderError($event)\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown-loader>\n <td-flavored-markdown\n *ngIf=\"showTdMarkdown\"\n [content]=\"markdownString ?? ''\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown>\n </div>\n\n <td-message\n *ngIf=\"childrenUrlError\"\n [sublabel]=\"childrenUrlError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'children-url-error'\"\n ></td-message>\n <div *ngIf=\"showMenu\" class=\"td-markdown-list\">\n <mat-action-list>\n <button\n *ngFor=\"let item of currentMenuItems; index as index\"\n [id]=\"\n 'td-markdown-navigator-list-item-' + (item.id ? item.id : index)\n \"\n (click)=\"handleItemSelected(item)\"\n mat-list-item\n [matTooltip]=\"getTitle(item)\"\n matTooltipPosition=\"before\"\n matTooltipShowDelay=\"500\"\n >\n <mat-icon matListItemIcon>\n {{ getIcon(item) }}\n </mat-icon>\n <span matListItemTitle class=\"truncate\">\n {{ getTitle(item) }}\n </span>\n <span matListItemLine class=\"truncate\">{{ item.description }}</span>\n <mat-divider></mat-divider>\n </button>\n </mat-action-list>\n </div>\n\n <ng-container *ngComponentOutlet=\"footerComponent\"></ng-container>\n </div>\n</ng-container>\n\n<div\n *ngIf=\"showEmptyState\"\n layout=\"column\"\n layout-align=\"center center\"\n class=\"empty-state\"\n>\n <mat-icon matListItemAvatar>subject</mat-icon>\n <h2>{{ emptyStateLabel }}</h2>\n</div>\n","import {\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n HostListener,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Type,\n Output,\n EventEmitter,\n SecurityContext,\n} from '@angular/core';\nimport {\n removeLeadingHash,\n isAnchorLink,\n TdMarkdownLoaderService,\n} from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent, TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent } from '@covalent/flavored-markdown';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\nimport { firstValueFrom } from 'rxjs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { TdDialogComponent } from '@covalent/core/dialogs';\nimport { TdMessageComponent } from '@covalent/core/message';\nimport { TdBreadcrumbsComponent } from '@covalent/core/breadcrumbs';\nimport { CommonModule } from '@angular/common';\n\nexport interface IMarkdownNavigatorItem {\n id?: string;\n title?: string;\n url?: string;\n httpOptions?: object;\n markdownString?: string; // raw markdown\n anchor?: string;\n children?: IMarkdownNavigatorItem[];\n childrenUrl?: string;\n description?: string;\n icon?: string;\n footer?: Type<any>;\n startAtLink?: IMarkdownNavigatorItem;\n}\n\nexport interface IMarkdownNavigatorLabels {\n goHome?: string;\n goBack?: string;\n emptyState?: string;\n}\n\nexport type IMarkdownNavigatorCompareWith = (\n o1: IMarkdownNavigatorItem,\n o2: IMarkdownNavigatorItem\n) => boolean;\n\nexport const DEFAULT_MARKDOWN_NAVIGATOR_LABELS: IMarkdownNavigatorLabels = {\n goHome: 'Go home',\n goBack: 'Go back',\n emptyState: 'No item(s) to display',\n};\n\n@Component({\n selector: 'td-markdown-navigator',\n templateUrl: './markdown-navigator.component.html',\n styleUrls: ['./markdown-navigator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatIconModule,\n MatProgressBarModule,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdMessageComponent,\n TdBreadcrumbsComponent,\n ],\n providers: [TdMarkdownLoaderService],\n})\nexport class TdMarkdownNavigatorComponent implements OnChanges {\n /**\n * items: IMarkdownNavigatorItem[]\n *\n * List of IMarkdownNavigatorItems to be rendered\n */\n @Input() items?: IMarkdownNavigatorItem[];\n\n /**\n * labels?: IMarkdownNavigatorLabels\n *\n * Translated labels\n */\n @Input() labels?: IMarkdownNavigatorLabels;\n\n /**\n * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n *\n * Item or path to start at\n */\n @Input() startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard? = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n\n /**\n * footer?: Type<any>\n *\n * Component to be displayed in footer\n */\n @Input() footer?: any;\n\n /**\n * compareWith?: IMarkdownNavigatorCompareWith\n *\n * Function used to find startAt item\n * Defaults to comparison by strict equality (===)\n */\n @Input() compareWith?: IMarkdownNavigatorCompareWith;\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n @Output() itemSelected: EventEmitter<IMarkdownNavigatorItem> =\n new EventEmitter();\n\n @ViewChild('markdownWrapper') markdownWrapper!: ElementRef;\n\n historyStack: IMarkdownNavigatorItem[] = []; // history\n currentMarkdownItem?: IMarkdownNavigatorItem; // currently rendered\n currentMenuItems?: IMarkdownNavigatorItem[] = []; // current menu items\n\n loading = false;\n\n markdownLoaderError?: string;\n childrenUrlError?: string;\n\n constructor(\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n private _http: HttpClient\n ) {}\n\n @HostListener('click', ['$event'])\n clickListener(event: Event): void {\n const element: HTMLElement = <HTMLElement>event.srcElement;\n if (\n element.matches('a[href]') &&\n isMarkdownHref(<HTMLAnchorElement>element)\n ) {\n this.handleLinkClick(event);\n }\n }\n\n get showGoBackButton(): boolean {\n return this.historyStack.length > 0;\n }\n\n get showHeader(): boolean {\n return !!this.currentItemTitle;\n }\n\n get showMenu(): boolean {\n const showMenu = this.currentMenuItems && this.currentMenuItems.length > 0;\n return showMenu ?? false;\n }\n\n get showTdMarkdownLoader(): boolean {\n return (\n !!this.currentMarkdownItem &&\n !!this.currentMarkdownItem.url &&\n !this.showTdMarkdown\n );\n }\n\n get showTdMarkdown(): boolean {\n return (\n !!this.currentMarkdownItem && !!this.currentMarkdownItem.markdownString\n );\n }\n\n get url(): string | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.url;\n }\n return undefined;\n }\n\n get footerComponent(): any {\n if (this.currentMarkdownItem && this.currentMarkdownItem.footer) {\n return this.currentMarkdownItem.footer;\n }\n return this.footer;\n }\n get httpOptions(): object | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.httpOptions;\n }\n return undefined;\n }\n get markdownString(): string | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.markdownString;\n }\n return undefined;\n }\n\n get anchor(): string | undefined {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.anchor;\n }\n return undefined;\n }\n\n get showEmptyState(): boolean {\n return !this.items || this.items.length < 1;\n }\n\n get goHomeLabel(): string | undefined {\n return (\n (this.labels && this.labels.goHome) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goHome\n );\n }\n\n get goBackLabel(): string | undefined {\n return (\n (this.labels && this.labels.goBack) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goBack\n );\n }\n\n get emptyStateLabel(): string | undefined {\n return (\n (this.labels && this.labels.emptyState) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.emptyState\n );\n }\n\n get currentItemTitle(): string {\n if (this.currentMarkdownItem) {\n return this.getTitle(this.currentMarkdownItem);\n } else if (this.historyStack.length > 0) {\n return this.getTitle(this.historyStack[this.historyStack.length - 1]);\n }\n return '';\n }\n\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\n if (changes['items']) {\n this.reset();\n }\n if (changes['startAt'] && this.items && this.startAt) {\n this._jumpTo(this.startAt, undefined);\n }\n }\n\n hasChildrenOrChildrenUrl(item: IMarkdownNavigatorItem): boolean {\n return (item.children && item.children.length > 0) || !!item.childrenUrl;\n }\n clearErrors(): void {\n this.markdownLoaderError = undefined;\n this.childrenUrlError = undefined;\n }\n\n reset(): void {\n this.loading = false;\n this.clearErrors();\n // if single item and no children\n if (\n this.items &&\n this.items.length === 1 &&\n !this.hasChildrenOrChildrenUrl(this.items[0])\n ) {\n this.currentMenuItems = [];\n this.currentMarkdownItem = this.items[0];\n } else {\n this.currentMenuItems = this.items;\n this.currentMarkdownItem = undefined;\n }\n this.historyStack = [];\n this.itemSelected.emit(undefined);\n this._changeDetectorRef.markForCheck();\n }\n\n goBack(goBackLength = 2): void {\n this.loading = false;\n this.clearErrors();\n let parent: IMarkdownNavigatorItem | undefined =\n this.historyStack[this.historyStack.length - goBackLength];\n\n if (parent?.startAtLink) {\n parent = this.historyStack[this.historyStack.length - 3]\n ? this.historyStack[this.historyStack.length - 3]\n : undefined;\n this.historyStack = this.historyStack.slice(0, -goBackLength);\n }\n\n if (parent) {\n this.currentMarkdownItem = parent;\n this.historyStack = this.historyStack.slice(\n 0,\n this.historyStack.length - goBackLength + 1\n );\n this.setChildrenAsCurrentMenuItems(parent);\n } else {\n this.reset();\n }\n this.itemSelected.emit(parent);\n this._changeDetectorRef.markForCheck();\n }\n\n handleItemSelected(item: IMarkdownNavigatorItem): void {\n this.clearErrors();\n this.currentMarkdownItem = item;\n this.historyStack = [...this.historyStack, item];\n this.setChildrenAsCurrentMenuItems(item);\n this.itemSelected.emit(item);\n this._changeDetectorRef.markForCheck();\n }\n\n async setChildrenAsCurrentMenuItems(\n item: IMarkdownNavigatorItem\n ): Promise<void> {\n this.currentMenuItems = [];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n\n const stackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n let children: IMarkdownNavigatorItem[] = [];\n if (item.children) {\n children = item.children;\n } else if (item.childrenUrl) {\n children = await this.loadChildrenUrl(item);\n }\n if (children && children.length && item.startAtLink) {\n this._jumpTo(item.startAtLink, children);\n }\n const newStackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n if (\n stackSnapshot.length === newStackSnapshot.length &&\n stackSnapshot.every(\n (stackItem: IMarkdownNavigatorItem, index: number) =>\n stackItem === newStackSnapshot[index]\n )\n ) {\n this.currentMenuItems = children;\n }\n\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n\n async loadChildrenUrl(\n item: IMarkdownNavigatorItem\n ): Promise<IMarkdownNavigatorItem[]> {\n const sanitizedUrl =\n this._sanitizer.sanitize(SecurityContext.URL, item.childrenUrl ?? null) ??\n '';\n try {\n return await firstValueFrom<IMarkdownNavigatorItem[]>(\n this._http.get<IMarkdownNavigatorItem[]>(sanitizedUrl, {\n ...item.httpOptions,\n })\n );\n } catch (error: any) {\n this.handleChildrenUrlError(error);\n return [];\n }\n }\n\n getTitle(item: IMarkdownNavigatorItem): string {\n if (!item) {\n return '';\n }\n return (\n removeLeadingHash(item.anchor ?? '') ||\n item.title ||\n getTitleFromUrl(item.url ?? '') ||\n getTitleFromMarkdownString(item.markdownString ?? '') ||\n ''\n ).trim();\n }\n\n getIcon(item: IMarkdownNavigatorItem): string {\n return item?.icon || 'subject';\n }\n\n handleChildrenUrlError(error: Error): void {\n this.childrenUrlError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n handleMarkdownLoaderError(error: Error): void {\n this.markdownLoaderError = error ? error.message : '';\n this._changeDetectorRef.markForCheck();\n }\n\n private async _jumpTo(\n itemOrPath: IMarkdownNavigatorItem | IMarkdownNavigatorItem[],\n children?: IMarkdownNavigatorItem[]\n ): Promise<boolean> {\n const historyStack: IMarkdownNavigatorItem[] = this.historyStack;\n let path: IMarkdownNavigatorItem[] = [];\n\n if (this.items?.length) {\n if (Array.isArray(itemOrPath)) {\n path = await this.followPath(this.items, itemOrPath);\n } else if (children && children.length > 0) {\n this.historyStack = historyStack;\n path = this.findPath(children, itemOrPath);\n } else {\n path = this.findPath(this.items, itemOrPath);\n }\n path.forEach((pathItem: IMarkdownNavigatorItem, index) => {\n if (index === 0) {\n this.reset();\n }\n\n this.handleItemSelected(pathItem);\n });\n }\n\n return !!path.length;\n }\n\n private async followPath(\n items: IMarkdownNavigatorItem[],\n path: IMarkdownNavigatorItem[]\n ): Promise<IMarkdownNavigatorItem[]> {\n let pathItems: IMarkdownNavigatorItem[] = [];\n let currentLevel: IMarkdownNavigatorItem[] = items;\n const compareWith: IMarkdownNavigatorCompareWith =\n this.compareWith || defaultCompareWith;\n for (const pathItem of path) {\n const foundItem: IMarkdownNavigatorItem | undefined = currentLevel.find(\n (item: IMarkdownNavigatorItem) => compareWith(pathItem, item)\n );\n\n if (foundItem) {\n pathItems = [...pathItems, foundItem];\n\n if (foundItem.children) {\n currentLevel = foundItem.children;\n } else if (foundItem.childrenUrl) {\n currentLevel = await this.loadChildrenUrl(foundItem);\n }\n } else {\n break;\n }\n }\n if (pathItems.length !== path.length) {\n pathItems = [];\n }\n return pathItems;\n }\n\n private findPath(\n items?: IMarkdownNavigatorItem[],\n item?: IMarkdownNavigatorItem\n ): IMarkdownNavigatorItem[] {\n const compareWith: IMarkdownNavigatorCompareWith =\n this.compareWith || defaultCompareWith;\n if (items) {\n for (const child of items) {\n if (item && compareWith(child, item)) {\n return [child];\n }\n const ancestors: IMarkdownNavigatorItem[] = this.findPath(\n child.children,\n item\n );\n if (ancestors.length) {\n return [child, ...ancestors];\n }\n }\n }\n return [];\n }\n\n private async handleLinkClick(event: Event): Promise<void> {\n event.preventDefault();\n const link: HTMLAnchorElement = <HTMLAnchorElement>event.target;\n const url: URL = new URL(link.href);\n const urlParts = url.href.split('/');\n const id = urlParts[urlParts.length - 1].split('.md')[0];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n const pathFound = await this._jumpTo({ id });\n\n if (pathFound) {\n return;\n }\n\n try {\n const markdownString: string = await this._markdownUrlLoaderService.load(\n url.href\n );\n // pass in url to be able to use currentMarkdownItem.url later on\n this.handleItemSelected({ markdownString, url: url.href });\n this.markdownWrapper.nativeElement.scrollTop = 0;\n } catch (error) {\n const win = window.open(url.href, '_blank');\n win?.focus();\n } finally {\n this.loading = false;\n }\n this._changeDetectorRef.markForCheck();\n }\n}\n\nfunction getTitleFromUrl(url: string): string {\n if (url) {\n const temp: URL = new URL(url);\n if (temp.hash) {\n return removeLeadingHash(temp.hash);\n } else {\n const path: string[] = temp.pathname.split('/');\n const fileName: string = path[path.length - 1];\n return fileName.replace(/\\.[^/.]+$/, ''); // remove .md\n }\n }\n return '';\n}\n\nfunction getTitleFromMarkdownString(markdownString: string): string {\n if (markdownString) {\n const firstLine: string =\n markdownString.split(/[\\r\\n]+/).find((line: string) => !!line) ?? '';\n return removeLeadingHash(firstLine).trim();\n }\n return '';\n}\n\nfunction isMarkdownHref(anchor: HTMLAnchorElement): boolean {\n return !isAnchorLink(anchor) && anchor.pathname.endsWith('.md');\n}\nfunction defaultCompareWith(\n o1: IMarkdownNavigatorItem,\n o2: IMarkdownNavigatorItem\n): boolean {\n if (o1.id && o2.id) {\n return o1.id === o2.id;\n }\n return o1 === o2;\n}\n","import {\n Component,\n Output,\n EventEmitter,\n Input,\n ChangeDetectionStrategy,\n Type,\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n IMarkdownNavigatorItem,\n IMarkdownNavigatorLabels,\n IMarkdownNavigatorCompareWith,\n TdMarkdownNavigatorComponent,\n} from '../markdown-navigator.component';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\nimport { TdWindowDialogComponent } from '@covalent/core/dialogs';\n\nexport interface IMarkdownNavigatorWindowLabels\n extends IMarkdownNavigatorLabels {\n title?: string;\n close?: string;\n dock?: string;\n unDock?: string;\n}\nexport const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS: IMarkdownNavigatorWindowLabels =\n {\n title: 'Help',\n close: 'Close',\n dock: 'Dock',\n unDock: 'Undock',\n };\n\n@Component({\n selector: 'td-markdown-navigator-window',\n templateUrl: './markdown-navigator-window.component.html',\n styleUrls: ['./markdown-navigator-window.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TdWindowDialogComponent, TdMarkdownNavigatorComponent],\n})\nexport class TdMarkdownNavigatorWindowComponent {\n @Input() items?: IMarkdownNavigatorItem[];\n @Input() labels?: IMarkdownNavigatorWindowLabels;\n @Input() toolbarColor: ThemePalette = 'primary';\n @Input() startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n @Input() compareWith?: IMarkdownNavigatorCompareWith;\n @Input() docked? = false;\n @Input() copyCodeToClipboard? = false;\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n @Input() footer?: Type<any>;\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() dockToggled: EventEmitter<boolean> = new EventEmitter();\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n @Output() itemSelected: EventEmitter<IMarkdownNavigatorItem> =\n new EventEmitter();\n\n get markdownNavigatorLabels(): IMarkdownNavigatorLabels | undefined {\n if (!this.labels) {\n return undefined;\n }\n\n const { goHome, goBack, emptyState }: IMarkdownNavigatorWindowLabels =\n this.labels;\n return {\n goHome,\n goBack,\n emptyState,\n };\n }\n get titleLabel(): string | undefined {\n return (\n (this.labels && this.labels.title) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title\n );\n }\n\n get closeLabel(): string | undefined {\n return (\n (this.labels && this.labels.close) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close\n );\n }\n\n get toggleDockedStateLabel(): string | undefined {\n if (this.docked) {\n return (\n (this.labels && this.labels.unDock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock\n );\n } else {\n return (\n (this.labels && this.labels.dock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock\n );\n }\n }\n\n toggleDockedState(): void {\n this.dockToggled.emit(this.docked);\n }\n}\n","<td-window-dialog\n [toolbarColor]=\"toolbarColor\"\n [docked]=\"docked\"\n [title]=\"titleLabel\"\n [toggleDockedStateLabel]=\"toggleDockedStateLabel\"\n [closeLabel]=\"closeLabel\"\n (dockToggled)=\"toggleDockedState()\"\n (closed)=\"closed.emit()\"\n>\n <td-markdown-navigator\n [items]=\"items\"\n [labels]=\"markdownNavigatorLabels\"\n [style.display]=\"docked ? 'none' : 'inherit'\"\n [startAt]=\"startAt\"\n [compareWith]=\"compareWith\"\n [footer]=\"footer\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n (itemSelected)=\"itemSelected.emit($event)\"\n ></td-markdown-navigator>\n</td-window-dialog>\n","import {\n Injectable,\n Inject,\n RendererFactory2,\n Renderer2,\n Type,\n} from '@angular/core';\nimport {\n MatDialogRef,\n MatDialogConfig,\n DialogPosition,\n} from '@angular/material/dialog';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n TdMarkdownNavigatorWindowComponent,\n IMarkdownNavigatorWindowLabels,\n} from '../markdown-navigator-window/markdown-navigator-window.component';\nimport {\n TdDialogService,\n IDraggableRefs,\n ResizableDraggableDialog,\n} from '@covalent/core/dialogs';\nimport { DragRef } from '@angular/cdk/drag-drop';\nimport { DOCUMENT } from '@angular/common';\nimport {\n IMarkdownNavigatorItem,\n IMarkdownNavigatorCompareWith,\n} from '../markdown-navigator.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\nexport interface IMarkdownNavigatorWindowConfig {\n items: IMarkdownNavigatorItem[];\n dialogConfig?: MatDialogConfig;\n labels?: IMarkdownNavigatorWindowLabels;\n toolbarColor?: ThemePalette;\n startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n compareWith?: IMarkdownNavigatorCompareWith;\n copyCodeToClipboard?: boolean;\n copyCodeTooltips?: ICopyCodeTooltips;\n footer?: Type<any>;\n}\n\nconst CDK_OVERLAY_CUSTOM_CLASS = 'td-window-dialog';\n\nconst DEFAULT_POSITION: DialogPosition = { bottom: '0px', right: '0px' };\nconst DEFAULT_WIDTH = '360px';\nconst DEFAULT_HEIGHT = '75vh';\nconst MAX_WIDTH = '100vw';\n\nconst DEFAULT_DRAGGABLE_DIALOG_CONFIG: MatDialogConfig = {\n hasBackdrop: false,\n closeOnNavigation: true,\n panelClass: [CDK_OVERLAY_CUSTOM_CLASS],\n position: DEFAULT_POSITION,\n height: DEFAULT_HEIGHT,\n width: DEFAULT_WIDTH,\n maxWidth: MAX_WIDTH,\n};\n\n@Injectable()\nexport class TdMarkdownNavigatorWindowService {\n private _renderer2: Renderer2;\n private dragRef!: DragRef;\n private resizableDraggableDialog!: ResizableDraggableDialog;\n private markdownNavigatorWindowDialog!: MatDialogRef<TdMarkdownNavigatorWindowComponent>;\n private markdownNavigatorWindowDialogsOpen = 0;\n\n constructor(\n private _tdDialogService: TdDialogService,\n @Inject(DOCUMENT) private _document: any,\n private rendererFactory: RendererFactory2\n ) {\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n\n public open(\n config: IMarkdownNavigatorWindowConfig\n ): MatDialogRef<TdMarkdownNavigatorWindowComponent> {\n this.close();\n\n const configClass = config?.dialogConfig?.panelClass;\n const panelClass =\n configClass && !Array.isArray(configClass) ? [configClass] : [];\n\n const draggableConfig: MatDialogConfig = {\n ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,\n ...config.dialogConfig,\n ...panelClass,\n };\n const {\n matDialogRef,\n dragRefSubject,\n }: IDraggableRefs<TdMarkdownNavigatorWindowComponent> =\n this._tdDialogService.openDraggable({\n component: TdMarkdownNavigatorWindowComponent,\n config: draggableConfig,\n dragHandleSelectors: ['.td-window-dialog-toolbar'],\n draggableClass: 'td-draggable-markdown-navigator-window',\n });\n this.markdownNavigatorWindowDialog = matDialogRef;\n this.markdownNavigatorWindowDialog.componentInstance.items = config.items;\n this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;\n this.markdownNavigatorWindowDialog.componentInstance.startAt =\n config.startAt;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard =\n config.copyCodeToClipboard;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips =\n config.copyCodeTooltips;\n this.markdownNavigatorWindowDialog.componentInstance.compareWith =\n config.compareWith;\n this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =\n 'toolbarColor' in config ? config.toolbarColor : 'primary';\n this.markdownNavigatorWindowDialogsOpen++;\n this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;\n dragRefSubject.subscribe((dragRf: DragRef) => {\n this.dragRef = dragRf;\n this.resizableDraggableDialog = new ResizableDraggableDialog(\n this._document,\n this._renderer2,\n this.markdownNavigatorWindowDialog,\n this.dragRef\n );\n });\n this._handleEvents();\n return this.markdownNavigatorWindowDialog;\n }\n\n public close(): void {\n if (this.markdownNavigatorWindowDialog) {\n if (this.resizableDraggableDialog) {\n this.resizableDraggableDialog.detach();\n }\n this.markdownNavigatorWindowDialog.close();\n }\n }\n\n public get isOpen(): boolean {\n return this.markdownNavigatorWindowDialogsOpen > 0;\n }\n\n private _handleEvents(): void {\n this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() =>\n this.close()\n );\n\n this.markdownNavigatorWindowDialog\n .afterClosed()\n .toPromise()\n .then(() => {\n this.markdownNavigatorWindowDialogsOpen--;\n });\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport {\n TdMarkdownNavigatorWindowService,\n IMarkdownNavigatorWindowConfig,\n} from '../markdown-navigator-window-service/markdown-navigator-window.service';\n\n@Directive({\n selector: '[tdMarkdownNavigatorWindow]',\n})\nexport class TdMarkdownNavigatorWindowDirective {\n @Input('tdMarkdownNavigatorWindow') config?: IMarkdownNavigatorWindowConfig;\n @Input() disabled = false;\n constructor(\n private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService\n ) {}\n\n @HostListener('click') click(): void {\n if (!this.disabled && this.config) {\n this._markdownNavigatorWindowService.open(this.config);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TdMarkdownNavigatorComponent } from './markdown-navigator.component';\nimport { TdMarkdownNavigatorWindowComponent } from './markdown-navigator-window/markdown-navigator-window.component';\nimport { TdMarkdownNavigatorWindowDirective } from './markdown-navigator-window-directive/markdown-navigator-window.directive';\nimport { TdMarkdownNavigatorWindowService } from './markdown-navigator-window-service/markdown-navigator-window.service';\nimport { TdDialogService } from '@covalent/core/dialogs';\n\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\n@NgModule({\n imports: [\n CommonModule,\n\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n exports: [\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n providers: [TdMarkdownNavigatorWindowService, TdDialogService],\n})\nexport class CovalentMarkdownNavigatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TdMarkdownNavigatorWindowService"],"mappings":"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"}
1
+ {"version":3,"file":"covalent-markdown-navigator.mjs","sources":["../tmp-esm2022/markdown-navigator.component.js","../tmp-esm2022/markdown-navigator-window/markdown-navigator-window.component.js","../tmp-esm2022/markdown-navigator-window-service/markdown-navigator-window.service.js","../tmp-esm2022/markdown-navigator-window-directive/markdown-navigator-window.directive.js","../tmp-esm2022/markdown-navigator.module.js","../tmp-esm2022/covalent-markdown-navigator.js"],"sourcesContent":["import { Component, Input, HostListener, ViewChild, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy, Output, EventEmitter, SecurityContext, } from '@angular/core';\nimport { removeLeadingHash, isAnchorLink, TdMarkdownLoaderService, } from '@covalent/markdown';\nimport { TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent } from '@covalent/flavored-markdown';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport { firstValueFrom } from 'rxjs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { TdMessageComponent } from '@covalent/core/message';\nimport { TdBreadcrumbsComponent } from '@covalent/core/breadcrumbs';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@covalent/markdown\";\nimport * as i2 from \"@angular/platform-browser\";\nimport * as i3 from \"@angular/common/http\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@angular/material/tooltip\";\nimport * as i6 from \"@angular/material/list\";\nimport * as i7 from \"@angular/material/icon\";\nimport * as i8 from \"@angular/material/progress-bar\";\nconst _c0 = [\"markdownWrapper\"];\nconst _c1 = () => ({});\nfunction TdMarkdownNavigatorComponent_ng_container_0_mat_progress_bar_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-progress-bar\", 10);\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelementStart(1, \"a\", 15);\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_container_1_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r3); const index_r4 = i0.ɵɵnextContext().index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.goBack(ctx_r1.historyStack.length - index_r4)); });\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const stack_r5 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"data-test\", \"back-button\");\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(stack_r5.title);\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-icon\", 16);\n i0.ɵɵtext(1, \"chevron_right\");\n i0.ɵɵelementEnd();\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_container_1_Template, 3, 2, \"ng-container\", 14)(2, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_template_2_Template, 2, 0, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const isLast_r6 = ctx.last;\n const lastBreadCrumb_r7 = i0.ɵɵreference(3);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !isLast_r6)(\"ngIfElse\", lastBreadCrumb_r7);\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template(rf, ctx) { if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelementStart(1, \"td-breadcrumbs\")(2, \"a\", 11);\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.reset()); });\n i0.ɵɵtext(3, \"Home\");\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(4, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template, 4, 2, \"ng-container\", 12);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"div\", 13);\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(7, \"mat-divider\");\n i0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"matTooltip\", ctx_r1.goHomeLabel ?? \"\");\n i0.ɵɵattribute(\"data-test\", \"home-button\");\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.historyStack);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"data-test\", \"title\");\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.currentItemTitle, \" \");\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"position\", \"relative\");\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_div_4_td_message_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"td-message\", 20);\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"sublabel\", ctx_r1.markdownLoaderError);\n i0.ɵɵattribute(\"data-test\", \"markdown-loader-error\");\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template(rf, ctx) { if (rf & 1) {\n const _r8 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-flavored-markdown-loader\", 21);\n i0.ɵɵlistener(\"loadFailed\", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template_td_flavored_markdown_loader_loadFailed_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleMarkdownLoaderError($event)); })(\"buttonClicked\", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template_td_flavored_markdown_loader_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"url\", ctx_r1.url ?? \"\")(\"httpOptions\", ctx_r1.httpOptions ?? i0.ɵɵpureFunction0(5, _c1))(\"anchor\", ctx_r1.anchor ?? \"\")(\"copyCodeToClipboard\", ctx_r1.copyCodeToClipboard)(\"copyCodeTooltips\", ctx_r1.copyCodeTooltips);\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template(rf, ctx) { if (rf & 1) {\n const _r9 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-flavored-markdown\", 22);\n i0.ɵɵlistener(\"buttonClicked\", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"content\", ctx_r1.markdownString ?? \"\")(\"hostedUrl\", ctx_r1.url ?? \"\")(\"anchor\", ctx_r1.anchor ?? \"\")(\"copyCodeToClipboard\", ctx_r1.copyCodeToClipboard)(\"copyCodeTooltips\", ctx_r1.copyCodeTooltips);\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_div_4_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 17, 1);\n i0.ɵɵtemplate(2, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_message_2_Template, 1, 2, \"td-message\", 7)(3, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template, 1, 6, \"td-flavored-markdown-loader\", 18)(4, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template, 1, 5, \"td-flavored-markdown\", 19);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r1.markdownLoaderError);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showTdMarkdownLoader);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showTdMarkdown);\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_td_message_5_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"td-message\", 20);\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"sublabel\", ctx_r1.childrenUrlError);\n i0.ɵɵattribute(\"data-test\", \"children-url-error\");\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template(rf, ctx) { if (rf & 1) {\n const _r10 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 25);\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template_button_click_0_listener() { const item_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleItemSelected(item_r11)); });\n i0.ɵɵelementStart(1, \"mat-icon\", 26);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 27);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"span\", 28);\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(7, \"mat-divider\");\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const item_r11 = ctx.$implicit;\n const index_r12 = ctx.index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"id\", \"td-markdown-navigator-list-item-\" + (item_r11.id ? item_r11.id : index_r12))(\"matTooltip\", ctx_r1.getTitle(item_r11));\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.getIcon(item_r11), \" \");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.getTitle(item_r11), \" \");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(item_r11.description);\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_div_6_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 23)(1, \"mat-action-list\");\n i0.ɵɵtemplate(2, TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template, 8, 5, \"button\", 24);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.currentMenuItems);\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_ng_container_7_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainer(0);\n} }\nfunction TdMarkdownNavigatorComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TdMarkdownNavigatorComponent_ng_container_0_mat_progress_bar_1_Template, 1, 0, \"mat-progress-bar\", 4)(2, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template, 8, 7, \"ng-container\", 2);\n i0.ɵɵelementStart(3, \"div\", 5);\n i0.ɵɵtemplate(4, TdMarkdownNavigatorComponent_ng_container_0_div_4_Template, 5, 3, \"div\", 6)(5, TdMarkdownNavigatorComponent_ng_container_0_td_message_5_Template, 1, 2, \"td-message\", 7)(6, TdMarkdownNavigatorComponent_ng_container_0_div_6_Template, 3, 1, \"div\", 8)(7, TdMarkdownNavigatorComponent_ng_container_0_ng_container_7_Template, 1, 0, \"ng-container\", 9);\n i0.ɵɵelementEnd();\n i0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.loading);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showHeader);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showTdMarkdownLoader || ctx_r1.showTdMarkdown);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.childrenUrlError);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showMenu);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngComponentOutlet\", ctx_r1.footerComponent);\n} }\nfunction TdMarkdownNavigatorComponent_div_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 29)(1, \"mat-icon\", 30);\n i0.ɵɵtext(2, \"subject\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"h2\");\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵtextInterpolate(ctx_r1.emptyStateLabel);\n} }\nexport const DEFAULT_MARKDOWN_NAVIGATOR_LABELS = {\n goHome: 'Go home',\n goBack: 'Go back',\n emptyState: 'No item(s) to display',\n};\nexport class TdMarkdownNavigatorComponent {\n _markdownUrlLoaderService;\n _changeDetectorRef;\n _sanitizer;\n _http;\n /**\n * items: IMarkdownNavigatorItem[]\n *\n * List of IMarkdownNavigatorItems to be rendered\n */\n items;\n /**\n * labels?: IMarkdownNavigatorLabels\n *\n * Translated labels\n */\n labels;\n /**\n * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n *\n * Item or path to start at\n */\n startAt;\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n copyCodeTooltips = {};\n /**\n * footer?: Type<any>\n *\n * Component to be displayed in footer\n */\n footer;\n /**\n * compareWith?: IMarkdownNavigatorCompareWith\n *\n * Function used to find startAt item\n * Defaults to comparison by strict equality (===)\n */\n compareWith;\n buttonClicked = new EventEmitter();\n itemSelected = new EventEmitter();\n markdownWrapper;\n historyStack = []; // history\n currentMarkdownItem; // currently rendered\n currentMenuItems = []; // current menu items\n loading = false;\n markdownLoaderError;\n childrenUrlError;\n constructor(_markdownUrlLoaderService, _changeDetectorRef, _sanitizer, _http) {\n this._markdownUrlLoaderService = _markdownUrlLoaderService;\n this._changeDetectorRef = _changeDetectorRef;\n this._sanitizer = _sanitizer;\n this._http = _http;\n }\n clickListener(event) {\n const element = event.srcElement;\n if (element.matches('a[href]') &&\n isMarkdownHref(element)) {\n this.handleLinkClick(event);\n }\n }\n get showGoBackButton() {\n return this.historyStack.length > 0;\n }\n get showHeader() {\n return !!this.currentItemTitle;\n }\n get showMenu() {\n const showMenu = this.currentMenuItems && this.currentMenuItems.length > 0;\n return showMenu ?? false;\n }\n get showTdMarkdownLoader() {\n return (!!this.currentMarkdownItem &&\n !!this.currentMarkdownItem.url &&\n !this.showTdMarkdown);\n }\n get showTdMarkdown() {\n return (!!this.currentMarkdownItem && !!this.currentMarkdownItem.markdownString);\n }\n get url() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.url;\n }\n return undefined;\n }\n get footerComponent() {\n if (this.currentMarkdownItem && this.currentMarkdownItem.footer) {\n return this.currentMarkdownItem.footer;\n }\n return this.footer;\n }\n get httpOptions() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.httpOptions;\n }\n return undefined;\n }\n get markdownString() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.markdownString;\n }\n return undefined;\n }\n get anchor() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.anchor;\n }\n return undefined;\n }\n get showEmptyState() {\n return !this.items || this.items.length < 1;\n }\n get goHomeLabel() {\n return ((this.labels && this.labels.goHome) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goHome);\n }\n get goBackLabel() {\n return ((this.labels && this.labels.goBack) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goBack);\n }\n get emptyStateLabel() {\n return ((this.labels && this.labels.emptyState) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.emptyState);\n }\n get currentItemTitle() {\n if (this.currentMarkdownItem) {\n return this.getTitle(this.currentMarkdownItem);\n }\n else if (this.historyStack.length > 0) {\n return this.getTitle(this.historyStack[this.historyStack.length - 1]);\n }\n return '';\n }\n async ngOnChanges(changes) {\n if (changes['items']) {\n this.reset();\n }\n if (changes['startAt'] && this.items && this.startAt) {\n this._jumpTo(this.startAt, undefined);\n }\n }\n hasChildrenOrChildrenUrl(item) {\n return (item.children && item.children.length > 0) || !!item.childrenUrl;\n }\n clearErrors() {\n this.markdownLoaderError = undefined;\n this.childrenUrlError = undefined;\n }\n reset() {\n this.loading = false;\n this.clearErrors();\n // if single item and no children\n if (this.items &&\n this.items.length === 1 &&\n !this.hasChildrenOrChildrenUrl(this.items[0])) {\n this.currentMenuItems = [];\n this.currentMarkdownItem = this.items[0];\n }\n else {\n this.currentMenuItems = this.items;\n this.currentMarkdownItem = undefined;\n }\n this.historyStack = [];\n this.itemSelected.emit(undefined);\n this._changeDetectorRef.markForCheck();\n }\n goBack(goBackLength = 2) {\n this.loading = false;\n this.clearErrors();\n let parent = this.historyStack[this.historyStack.length - goBackLength];\n if (parent?.startAtLink) {\n parent = this.historyStack[this.historyStack.length - 3]\n ? this.historyStack[this.historyStack.length - 3]\n : undefined;\n this.historyStack = this.historyStack.slice(0, -goBackLength);\n }\n if (parent) {\n this.currentMarkdownItem = parent;\n this.historyStack = this.historyStack.slice(0, this.historyStack.length - goBackLength + 1);\n this.setChildrenAsCurrentMenuItems(parent);\n }\n else {\n this.reset();\n }\n this.itemSelected.emit(parent);\n this._changeDetectorRef.markForCheck();\n }\n handleItemSelected(item) {\n this.clearErrors();\n this.currentMarkdownItem = item;\n this.historyStack = [...this.historyStack, item];\n this.setChildrenAsCurrentMenuItems(item);\n this.itemSelected.emit(item);\n this._changeDetectorRef.markForCheck();\n }\n async setChildrenAsCurrentMenuItems(item) {\n this.currentMenuItems = [];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n const stackSnapshot = this.historyStack;\n let children = [];\n if (item.children) {\n children = item.children;\n }\n else if (item.childrenUrl) {\n children = await this.loadChildrenUrl(item);\n }\n if (children && children.length && item.startAtLink) {\n this._jumpTo(item.startAtLink, children);\n }\n const newStackSnapshot = this.historyStack;\n if (stackSnapshot.length === newStackSnapshot.length &&\n stackSnapshot.every((stackItem, index) => stackItem === newStackSnapshot[index])) {\n this.currentMenuItems = children;\n }\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n async loadChildrenUrl(item) {\n const sanitizedUrl = this._sanitizer.sanitize(SecurityContext.URL, item.childrenUrl ?? null) ??\n '';\n try {\n return await firstValueFrom(this._http.get(sanitizedUrl, {\n ...item.httpOptions,\n }));\n }\n catch (error) {\n this.handleChildrenUrlError(error);\n return [];\n }\n }\n getTitle(item) {\n if (!item) {\n return '';\n }\n return (removeLeadingHash(item.anchor ?? '') ||\n item.title ||\n getTitleFromUrl(item.url ?? '') ||\n getTitleFromMarkdownString(item.markdownString ?? '') ||\n '').trim();\n }\n getIcon(item) {\n return item?.icon || 'subject';\n }\n handleChildrenUrlError(error) {\n this.childrenUrlError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n handleMarkdownLoaderError(error) {\n this.markdownLoaderError = error ? error.message : '';\n this._changeDetectorRef.markForCheck();\n }\n async _jumpTo(itemOrPath, children) {\n const historyStack = this.historyStack;\n let path = [];\n if (this.items?.length) {\n if (Array.isArray(itemOrPath)) {\n path = await this.followPath(this.items, itemOrPath);\n }\n else if (children && children.length > 0) {\n this.historyStack = historyStack;\n path = this.findPath(children, itemOrPath);\n }\n else {\n path = this.findPath(this.items, itemOrPath);\n }\n path.forEach((pathItem, index) => {\n if (index === 0) {\n this.reset();\n }\n this.handleItemSelected(pathItem);\n });\n }\n return !!path.length;\n }\n async followPath(items, path) {\n let pathItems = [];\n let currentLevel = items;\n const compareWith = this.compareWith || defaultCompareWith;\n for (const pathItem of path) {\n const foundItem = currentLevel.find((item) => compareWith(pathItem, item));\n if (foundItem) {\n pathItems = [...pathItems, foundItem];\n if (foundItem.children) {\n currentLevel = foundItem.children;\n }\n else if (foundItem.childrenUrl) {\n currentLevel = await this.loadChildrenUrl(foundItem);\n }\n }\n else {\n break;\n }\n }\n if (pathItems.length !== path.length) {\n pathItems = [];\n }\n return pathItems;\n }\n findPath(items, item) {\n const compareWith = this.compareWith || defaultCompareWith;\n if (items) {\n for (const child of items) {\n if (item && compareWith(child, item)) {\n return [child];\n }\n const ancestors = this.findPath(child.children, item);\n if (ancestors.length) {\n return [child, ...ancestors];\n }\n }\n }\n return [];\n }\n async handleLinkClick(event) {\n event.preventDefault();\n const link = event.target;\n const url = new URL(link.href);\n const urlParts = url.href.split('/');\n const id = urlParts[urlParts.length - 1].split('.md')[0];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n const pathFound = await this._jumpTo({ id });\n if (pathFound) {\n return;\n }\n try {\n const markdownString = await this._markdownUrlLoaderService.load(url.href);\n // pass in url to be able to use currentMarkdownItem.url later on\n this.handleItemSelected({ markdownString, url: url.href });\n this.markdownWrapper.nativeElement.scrollTop = 0;\n }\n catch (error) {\n const win = window.open(url.href, '_blank');\n win?.focus();\n }\n finally {\n this.loading = false;\n }\n this._changeDetectorRef.markForCheck();\n }\n static ɵfac = function TdMarkdownNavigatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorComponent)(i0.ɵɵdirectiveInject(i1.TdMarkdownLoaderService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.DomSanitizer), i0.ɵɵdirectiveInject(i3.HttpClient)); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdMarkdownNavigatorComponent, selectors: [[\"td-markdown-navigator\"]], viewQuery: function TdMarkdownNavigatorComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.markdownWrapper = _t.first);\n } }, hostBindings: function TdMarkdownNavigatorComponent_HostBindings(rf, ctx) { if (rf & 1) {\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_click_HostBindingHandler($event) { return ctx.clickListener($event); });\n } }, inputs: { items: \"items\", labels: \"labels\", startAt: \"startAt\", copyCodeToClipboard: \"copyCodeToClipboard\", copyCodeTooltips: \"copyCodeTooltips\", footer: \"footer\", compareWith: \"compareWith\" }, outputs: { buttonClicked: \"buttonClicked\", itemSelected: \"itemSelected\" }, features: [i0.ɵɵProvidersFeature([TdMarkdownLoaderService]), i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [[\"lastBreadCrumb\", \"\"], [\"markdownWrapper\", \"\"], [4, \"ngIf\"], [\"layout\", \"column\", \"layout-align\", \"center center\", \"class\", \"empty-state\", 4, \"ngIf\"], [\"mode\", \"indeterminate\", \"color\", \"accent\", 4, \"ngIf\"], [\"id\", \"td-markdown-navigator-content\", 1, \"scroll-area\"], [\"class\", \"markdown-wrapper\", 4, \"ngIf\"], [\"color\", \"warn\", \"icon\", \"error\", 3, \"sublabel\", 4, \"ngIf\"], [\"class\", \"td-markdown-list\", 4, \"ngIf\"], [4, \"ngComponentOutlet\"], [\"mode\", \"indeterminate\", \"color\", \"accent\"], [\"td-breadcrumb\", \"\", 3, \"click\", \"matTooltip\"], [4, \"ngFor\", \"ngForOf\"], [1, \"breadcrumb-current-title\"], [4, \"ngIf\", \"ngIfElse\"], [\"td-breadcrumb\", \"\", 3, \"click\"], [1, \"breadcrumb-end-icon\"], [1, \"markdown-wrapper\"], [3, \"url\", \"httpOptions\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\", \"loadFailed\", \"buttonClicked\", 4, \"ngIf\"], [3, \"content\", \"hostedUrl\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\", \"buttonClicked\", 4, \"ngIf\"], [\"color\", \"warn\", \"icon\", \"error\", 3, \"sublabel\"], [3, \"loadFailed\", \"buttonClicked\", \"url\", \"httpOptions\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [3, \"buttonClicked\", \"content\", \"hostedUrl\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [1, \"td-markdown-list\"], [\"mat-list-item\", \"\", \"matTooltipPosition\", \"before\", \"matTooltipShowDelay\", \"500\", 3, \"id\", \"matTooltip\", \"click\", 4, \"ngFor\", \"ngForOf\"], [\"mat-list-item\", \"\", \"matTooltipPosition\", \"before\", \"matTooltipShowDelay\", \"500\", 3, \"click\", \"id\", \"matTooltip\"], [\"matListItemIcon\", \"\"], [\"matListItemTitle\", \"\", 1, \"truncate\"], [\"matListItemLine\", \"\", 1, \"truncate\"], [\"layout\", \"column\", \"layout-align\", \"center center\", 1, \"empty-state\"], [\"matListItemAvatar\", \"\"]], template: function TdMarkdownNavigatorComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, TdMarkdownNavigatorComponent_ng_container_0_Template, 8, 6, \"ng-container\", 2)(1, TdMarkdownNavigatorComponent_div_1_Template, 5, 1, \"div\", 3);\n } if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", !ctx.showEmptyState);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showEmptyState);\n } }, dependencies: [CommonModule, i4.NgComponentOutlet, i4.NgForOf, i4.NgIf, MatButtonModule,\n MatTooltipModule, i5.MatTooltip, MatListModule, i6.MatActionList, i6.MatListItem, i6.MatListItemAvatar, i6.MatListItemIcon, i6.MatDivider, i6.MatListItemLine, i6.MatListItemTitle, MatIconModule, i7.MatIcon, MatProgressBarModule, i8.MatProgressBar, TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdMessageComponent,\n TdBreadcrumbsComponent], styles: [\"[_nghost-%COMP%]{position:relative;height:inherit;height:100%;box-sizing:border-box;display:flex;flex-direction:column}[_nghost-%COMP%] .breadcrumb-current-title[_ngcontent-%COMP%]{margin-bottom:16px;padding-left:16px}[_nghost-%COMP%] .breadcrumb-end-icon[_ngcontent-%COMP%]{margin-left:8px;font-size:16px;width:16px;height:16px}[_nghost-%COMP%] .scroll-area[_ngcontent-%COMP%]{min-height:1px;overflow-y:auto;flex:1;box-sizing:border-box}[_nghost-%COMP%] .markdown-wrapper[_ngcontent-%COMP%]{padding:16px 16px 0}[_nghost-%COMP%] .td-markdown-list[_ngcontent-%COMP%] > .mat-list[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] td-breadcrumbs[_ngcontent-%COMP%]{padding:8px 8px 0 16px}[_nghost-%COMP%] td-flavored-markdown-loader[_ngcontent-%COMP%] .mat-progress-bar{top:0;left:0;right:0;position:absolute}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;margin:8px 0;padding-left:16px}.truncate[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state[_ngcontent-%COMP%]{padding:32px}.empty-state[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:4em}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorComponent, [{\n type: Component,\n args: [{ selector: 'td-markdown-navigator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n CommonModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatIconModule,\n MatProgressBarModule,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdMessageComponent,\n TdBreadcrumbsComponent,\n ], providers: [TdMarkdownLoaderService], template: \"<ng-container *ngIf=\\\"!showEmptyState\\\">\\n <mat-progress-bar\\n *ngIf=\\\"loading\\\"\\n mode=\\\"indeterminate\\\"\\n color=\\\"accent\\\"\\n ></mat-progress-bar>\\n <ng-container *ngIf=\\\"showHeader\\\">\\n <td-breadcrumbs>\\n <a\\n td-breadcrumb\\n [matTooltip]=\\\"goHomeLabel ?? ''\\\"\\n (click)=\\\"reset()\\\"\\n [attr.data-test]=\\\"'home-button'\\\"\\n >Home</a\\n >\\n <ng-container\\n *ngFor=\\\"let stack of historyStack; last as isLast; index as index\\\"\\n >\\n <ng-container *ngIf=\\\"!isLast; else lastBreadCrumb\\\">\\n <a\\n td-breadcrumb\\n (click)=\\\"goBack(historyStack.length - index)\\\"\\n [attr.data-test]=\\\"'back-button'\\\"\\n >{{ stack.title }}</a\\n >\\n </ng-container>\\n <ng-template #lastBreadCrumb>\\n <mat-icon class=\\\"breadcrumb-end-icon\\\">chevron_right</mat-icon>\\n </ng-template>\\n </ng-container>\\n </td-breadcrumbs>\\n <div class=\\\"breadcrumb-current-title\\\" [attr.data-test]=\\\"'title'\\\">\\n {{ currentItemTitle }}\\n </div>\\n\\n <mat-divider [style.position]=\\\"'relative'\\\"></mat-divider>\\n </ng-container>\\n\\n <div class=\\\"scroll-area\\\" id=\\\"td-markdown-navigator-content\\\">\\n <div\\n *ngIf=\\\"showTdMarkdownLoader || showTdMarkdown\\\"\\n class=\\\"markdown-wrapper\\\"\\n #markdownWrapper\\n >\\n <td-message\\n *ngIf=\\\"markdownLoaderError\\\"\\n [sublabel]=\\\"markdownLoaderError\\\"\\n color=\\\"warn\\\"\\n icon=\\\"error\\\"\\n [attr.data-test]=\\\"'markdown-loader-error'\\\"\\n ></td-message>\\n <td-flavored-markdown-loader\\n *ngIf=\\\"showTdMarkdownLoader\\\"\\n [url]=\\\"url ?? ''\\\"\\n [httpOptions]=\\\"httpOptions ?? {}\\\"\\n [anchor]=\\\"anchor ?? ''\\\"\\n [copyCodeToClipboard]=\\\"copyCodeToClipboard\\\"\\n [copyCodeTooltips]=\\\"copyCodeTooltips\\\"\\n (loadFailed)=\\\"handleMarkdownLoaderError($event)\\\"\\n (buttonClicked)=\\\"buttonClicked.emit($event)\\\"\\n ></td-flavored-markdown-loader>\\n <td-flavored-markdown\\n *ngIf=\\\"showTdMarkdown\\\"\\n [content]=\\\"markdownString ?? ''\\\"\\n [hostedUrl]=\\\"url ?? ''\\\"\\n [anchor]=\\\"anchor ?? ''\\\"\\n [copyCodeToClipboard]=\\\"copyCodeToClipboard\\\"\\n [copyCodeTooltips]=\\\"copyCodeTooltips\\\"\\n (buttonClicked)=\\\"buttonClicked.emit($event)\\\"\\n ></td-flavored-markdown>\\n </div>\\n\\n <td-message\\n *ngIf=\\\"childrenUrlError\\\"\\n [sublabel]=\\\"childrenUrlError\\\"\\n color=\\\"warn\\\"\\n icon=\\\"error\\\"\\n [attr.data-test]=\\\"'children-url-error'\\\"\\n ></td-message>\\n <div *ngIf=\\\"showMenu\\\" class=\\\"td-markdown-list\\\">\\n <mat-action-list>\\n <button\\n *ngFor=\\\"let item of currentMenuItems; index as index\\\"\\n [id]=\\\"\\n 'td-markdown-navigator-list-item-' + (item.id ? item.id : index)\\n \\\"\\n (click)=\\\"handleItemSelected(item)\\\"\\n mat-list-item\\n [matTooltip]=\\\"getTitle(item)\\\"\\n matTooltipPosition=\\\"before\\\"\\n matTooltipShowDelay=\\\"500\\\"\\n >\\n <mat-icon matListItemIcon>\\n {{ getIcon(item) }}\\n </mat-icon>\\n <span matListItemTitle class=\\\"truncate\\\">\\n {{ getTitle(item) }}\\n </span>\\n <span matListItemLine class=\\\"truncate\\\">{{ item.description }}</span>\\n <mat-divider></mat-divider>\\n </button>\\n </mat-action-list>\\n </div>\\n\\n <ng-container *ngComponentOutlet=\\\"footerComponent\\\"></ng-container>\\n </div>\\n</ng-container>\\n\\n<div\\n *ngIf=\\\"showEmptyState\\\"\\n layout=\\\"column\\\"\\n layout-align=\\\"center center\\\"\\n class=\\\"empty-state\\\"\\n>\\n <mat-icon matListItemAvatar>subject</mat-icon>\\n <h2>{{ emptyStateLabel }}</h2>\\n</div>\\n\", styles: [\":host{position:relative;height:inherit;height:100%;box-sizing:border-box;display:flex;flex-direction:column}:host .breadcrumb-current-title{margin-bottom:16px;padding-left:16px}:host .breadcrumb-end-icon{margin-left:8px;font-size:16px;width:16px;height:16px}:host .scroll-area{min-height:1px;overflow-y:auto;flex:1;box-sizing:border-box}:host .markdown-wrapper{padding:16px 16px 0}:host .td-markdown-list>.mat-list{padding-top:0}:host td-breadcrumbs{padding:8px 8px 0 16px}:host td-flavored-markdown-loader ::ng-deep .mat-progress-bar{top:0;left:0;right:0;position:absolute}:host .title{display:inline-block;vertical-align:middle;margin:8px 0;padding-left:16px}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{padding:32px}.empty-state mat-icon{font-size:4em}\\n\"] }]\n }], () => [{ type: i1.TdMarkdownLoaderService }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i3.HttpClient }], { items: [{\n type: Input\n }], labels: [{\n type: Input\n }], startAt: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], footer: [{\n type: Input\n }], compareWith: [{\n type: Input\n }], buttonClicked: [{\n type: Output\n }], itemSelected: [{\n type: Output\n }], markdownWrapper: [{\n type: ViewChild,\n args: ['markdownWrapper']\n }], clickListener: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorComponent, { className: \"TdMarkdownNavigatorComponent\", filePath: \"markdown-navigator.component.ts\", lineNumber: 87 }); })();\nfunction getTitleFromUrl(url) {\n if (url) {\n const temp = new URL(url);\n if (temp.hash) {\n return removeLeadingHash(temp.hash);\n }\n else {\n const path = temp.pathname.split('/');\n const fileName = path[path.length - 1];\n return fileName.replace(/\\.[^/.]+$/, ''); // remove .md\n }\n }\n return '';\n}\nfunction getTitleFromMarkdownString(markdownString) {\n if (markdownString) {\n const firstLine = markdownString.split(/[\\r\\n]+/).find((line) => !!line) ?? '';\n return removeLeadingHash(firstLine).trim();\n }\n return '';\n}\nfunction isMarkdownHref(anchor) {\n return !isAnchorLink(anchor) && anchor.pathname.endsWith('.md');\n}\nfunction defaultCompareWith(o1, o2) {\n if (o1.id && o2.id) {\n return o1.id === o2.id;\n }\n return o1 === o2;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixZQUFZLEVBQ1osZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWix1QkFBdUIsR0FDeEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQXVDLDJCQUEyQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEosT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdC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QWE7UUFDekQsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLGNBQXNCO0lBQ3hELElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkIsTUFBTSxTQUFTLEdBQ2IsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkUsT0FBTyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsTUFBeUI7SUFDL0MsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBQ0QsU0FBUyxrQkFBa0IsQ0FDekIsRUFBMEIsRUFDMUIsRUFBMEI7SUFFMUIsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNuQixPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEhvc3RMaXN0ZW5lcixcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFR5cGUsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBTZWN1cml0eUNvbnRleHQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgcmVtb3ZlTGVhZGluZ0hhc2gsXG4gIGlzQW5jaG9yTGluayxcbiAgVGRNYXJrZG93bkxvYWRlclNlcnZpY2UsXG59IGZyb20gJ0Bjb3ZhbGVudC9tYXJrZG93bic7XG5pbXBvcnQgeyBJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudCwgVGRGbGF2b3JlZE1hcmtkb3duQ29tcG9uZW50LCBUZEZsYXZvcmVkTWFya2Rvd25Mb2FkZXJDb21wb25lbnQgfSBmcm9tICdAY292YWxlbnQvZmxhdm9yZWQtbWFya2Rvd24nO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgVGREaWFsb2dDb21wb25lbnQgfSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcbmltcG9ydCB7IFRkTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJ0Bjb3ZhbGVudC9jb3JlL21lc3NhZ2UnO1xuaW1wb3J0IHsgVGRCcmVhZGNydW1ic0NvbXBvbmVudCB9IGZyb20gJ0Bjb3ZhbGVudC9jb3JlL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB7XG4gIGlkPzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICBodHRwT3B0aW9ucz86IG9iamVjdDtcbiAgbWFya2Rvd25TdHJpbmc/OiBzdHJpbmc7IC8vIHJhdyBtYXJrZG93blxuICBhbmNob3I/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBjaGlsZHJlblVybD86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGZvb3Rlcj86IFR5cGU8YW55PjtcbiAgc3RhcnRBdExpbms/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNYXJrZG93bk5hdmlnYXRvckxhYmVscyB7XG4gIGdvSG9tZT86IHN0cmluZztcbiAgZ29CYWNrPzogc3RyaW5nO1xuICBlbXB0eVN0YXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCA9IChcbiAgbzE6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4gIG8yOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtXG4pID0+IGJvb2xlYW47XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9MQUJFTFM6IElNYXJrZG93bk5hdmlnYXRvckxhYmVscyA9IHtcbiAgZ29Ib21lOiAnR28gaG9tZScsXG4gIGdvQmFjazogJ0dvIGJhY2snLFxuICBlbXB0eVN0YXRlOiAnTm8gaXRlbShzKSB0byBkaXNwbGF5Jyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLW1hcmtkb3duLW5hdmlnYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi1uYXZpZ2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1uYXZpZ2F0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIFRkRmxhdm9yZWRNYXJrZG93bkNvbXBvbmVudCxcbiAgICBUZEZsYXZvcmVkTWFya2Rvd25Mb2FkZXJDb21wb25lbnQsXG4gICAgVGRNZXNzYWdlQ29tcG9uZW50LFxuICAgIFRkQnJlYWRjcnVtYnNDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1RkTWFya2Rvd25Mb2FkZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBpdGVtczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdXG4gICAqXG4gICAqIExpc3Qgb2YgSU1hcmtkb3duTmF2aWdhdG9ySXRlbXMgdG8gYmUgcmVuZGVyZWRcbiAgICovXG4gIEBJbnB1dCgpIGl0ZW1zPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuXG4gIC8qKlxuICAgKiBsYWJlbHM/OiBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHNcbiAgICpcbiAgICogVHJhbnNsYXRlZCBsYWJlbHNcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVscz86IElNYXJrZG93bk5hdmlnYXRvckxhYmVscztcblxuICAvKipcbiAgICogc3RhcnRBdD86IElNYXJrZG93bk5hdmlnYXRvckl0ZW0gfCBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW107XG4gICAqXG4gICAqIEl0ZW0gb3IgcGF0aCB0byBzdGFydCBhdFxuICAgKi9cbiAgQElucHV0KCkgc3RhcnRBdD86IElNYXJrZG93bk5hdmlnYXRvckl0ZW0gfCBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW107XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9DbGlwYm9hcmQ/OiBib29sZWFuXG4gICAqXG4gICAqIERpc3BsYXkgY29weSBidXR0b24gb24gY29kZSBzbmlwcGV0cyB0byBjb3B5IGNvZGUgdG8gY2xpcGJvYXJkLlxuICAgKlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb0NsaXBib2FyZD8gPSBmYWxzZTtcblxuICAvKipcbiAgICogY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzXG4gICAqXG4gICAqIFRvb2x0aXBzIGZvciBjb3B5IGJ1dHRvbiB0byBjb3B5IGFuZCB1cG9uIGNvcHlpbmcuXG4gICAqL1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHMgPSB7fTtcblxuICAvKipcbiAgICogZm9vdGVyPzogVHlwZTxhbnk+XG4gICAqXG4gICAqIENvbXBvbmVudCB0byBiZSBkaXNwbGF5ZWQgaW4gZm9vdGVyXG4gICAqL1xuICBASW5wdXQoKSBmb290ZXI/OiBhbnk7XG5cbiAgLyoqXG4gICAqIGNvbXBhcmVXaXRoPzogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGhcbiAgICpcbiAgICogRnVuY3Rpb24gdXNlZCB0byBmaW5kIHN0YXJ0QXQgaXRlbVxuICAgKiBEZWZhdWx0cyB0byBjb21wYXJpc29uIGJ5IHN0cmljdCBlcXVhbGl0eSAoPT09KVxuICAgKi9cbiAgQElucHV0KCkgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcblxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPElUZEZsYXZvcmVkTWFya2Rvd25CdXR0b25DbGlja0V2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaXRlbVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8SU1hcmtkb3duTmF2aWdhdG9ySXRlbT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCdtYXJrZG93bldyYXBwZXInKSBtYXJrZG93bldyYXBwZXIhOiBFbGVtZW50UmVmO1xuXG4gIGhpc3RvcnlTdGFjazogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gW107IC8vIGhpc3RvcnlcbiAgY3VycmVudE1hcmtkb3duSXRlbT86IElNYXJrZG93bk5hdmlnYXRvckl0ZW07IC8vIGN1cnJlbnRseSByZW5kZXJlZFxuICBjdXJyZW50TWVudUl0ZW1zPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gW107IC8vIGN1cnJlbnQgbWVudSBpdGVtc1xuXG4gIGxvYWRpbmcgPSBmYWxzZTtcblxuICBtYXJrZG93bkxvYWRlckVycm9yPzogc3RyaW5nO1xuICBjaGlsZHJlblVybEVycm9yPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX21hcmtkb3duVXJsTG9hZGVyU2VydmljZTogVGRNYXJrZG93bkxvYWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnRcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgY2xpY2tMaXN0ZW5lcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IDxIVE1MRWxlbWVudD5ldmVudC5zcmNFbGVtZW50O1xuICAgIGlmIChcbiAgICAgIGVsZW1lbnQubWF0Y2hlcygnYVtocmVmXScpICYmXG4gICAgICBpc01hcmtkb3duSHJlZig8SFRNTEFuY2hvckVsZW1lbnQ+ZWxlbWVudClcbiAgICApIHtcbiAgICAgIHRoaXMuaGFuZGxlTGlua0NsaWNrKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2hvd0dvQmFja0J1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oaXN0b3J5U3RhY2subGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuY3VycmVudEl0ZW1UaXRsZTtcbiAgfVxuXG4gIGdldCBzaG93TWVudSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzaG93TWVudSA9IHRoaXMuY3VycmVudE1lbnVJdGVtcyAmJiB0aGlzLmN1cnJlbnRNZW51SXRlbXMubGVuZ3RoID4gMDtcbiAgICByZXR1cm4gc2hvd01lbnUgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgc2hvd1RkTWFya2Rvd25Mb2FkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtICYmXG4gICAgICAhIXRoaXMuY3VycmVudE1hcmtkb3duSXRlbS51cmwgJiZcbiAgICAgICF0aGlzLnNob3dUZE1hcmtkb3duXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzaG93VGRNYXJrZG93bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gJiYgISF0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0ubWFya2Rvd25TdHJpbmdcbiAgICApO1xuICB9XG5cbiAgZ2V0IHVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0udXJsO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IGZvb3RlckNvbXBvbmVudCgpOiBhbnkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gJiYgdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtLmZvb3Rlcikge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1hcmtkb3duSXRlbS5mb290ZXI7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZvb3RlcjtcbiAgfVxuICBnZXQgaHR0cE9wdGlvbnMoKTogb2JqZWN0IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50TWFya2Rvd25JdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtLmh0dHBPcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGdldCBtYXJrZG93blN0cmluZygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0ubWFya2Rvd25TdHJpbmc7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgYW5jaG9yKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1hcmtkb3duSXRlbS5hbmNob3I7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgc2hvd0VtcHR5U3RhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLml0ZW1zIHx8IHRoaXMuaXRlbXMubGVuZ3RoIDwgMTtcbiAgfVxuXG4gIGdldCBnb0hvbWVMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMuZ29Ib21lKSB8fFxuICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfTEFCRUxTLmdvSG9tZVxuICAgICk7XG4gIH1cblxuICBnZXQgZ29CYWNrTGFiZWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMubGFiZWxzICYmIHRoaXMubGFiZWxzLmdvQmFjaykgfHxcbiAgICAgIERFRkFVTFRfTUFSS0RPV05fTkFWSUdBVE9SX0xBQkVMUy5nb0JhY2tcbiAgICApO1xuICB9XG5cbiAgZ2V0IGVtcHR5U3RhdGVMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMuZW1wdHlTdGF0ZSkgfHxcbiAgICAgIERFRkFVTFRfTUFSS0RPV05fTkFWSUdBVE9SX0xBQkVMUy5lbXB0eVN0YXRlXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50SXRlbVRpdGxlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VGl0bGUodGhpcy5jdXJyZW50TWFya2Rvd25JdGVtKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGlzdG9yeVN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFRpdGxlKHRoaXMuaGlzdG9yeVN0YWNrW3RoaXMuaGlzdG9yeVN0YWNrLmxlbmd0aCAtIDFdKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddKSB7XG4gICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydzdGFydEF0J10gJiYgdGhpcy5pdGVtcyAmJiB0aGlzLnN0YXJ0QXQpIHtcbiAgICAgIHRoaXMuX2p1bXBUbyh0aGlzLnN0YXJ0QXQsIHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgaGFzQ2hpbGRyZW5PckNoaWxkcmVuVXJsKGl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKGl0ZW0uY2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwKSB8fCAhIWl0ZW0uY2hpbGRyZW5Vcmw7XG4gIH1cbiAgY2xlYXJFcnJvcnMoKTogdm9pZCB7XG4gICAgdGhpcy5tYXJrZG93bkxvYWRlckVycm9yID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY2hpbGRyZW5VcmxFcnJvciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2xlYXJFcnJvcnMoKTtcbiAgICAvLyBpZiBzaW5nbGUgaXRlbSBhbmQgbm8gY2hpbGRyZW5cbiAgICBpZiAoXG4gICAgICB0aGlzLml0ZW1zICYmXG4gICAgICB0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgIXRoaXMuaGFzQ2hpbGRyZW5PckNoaWxkcmVuVXJsKHRoaXMuaXRlbXNbMF0pXG4gICAgKSB7XG4gICAgICB0aGlzLmN1cnJlbnRNZW51SXRlbXMgPSBbXTtcbiAgICAgIHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSA9IHRoaXMuaXRlbXNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudE1lbnVJdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgICB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMuaGlzdG9yeVN0YWNrID0gW107XG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdCh1bmRlZmluZWQpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ29CYWNrKGdvQmFja0xlbmd0aCA9IDIpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgbGV0IHBhcmVudDogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IHVuZGVmaW5lZCA9XG4gICAgICB0aGlzLmhpc3RvcnlTdGFja1t0aGlzLmhpc3RvcnlTdGFjay5sZW5ndGggLSBnb0JhY2tMZW5ndGhdO1xuXG4gICAgaWYgKHBhcmVudD8uc3RhcnRBdExpbmspIHtcbiAgICAgIHBhcmVudCA9IHRoaXMuaGlzdG9yeVN0YWNrW3RoaXMuaGlzdG9yeVN0YWNrLmxlbmd0aCAtIDNdXG4gICAgICAgID8gdGhpcy5oaXN0b3J5U3RhY2tbdGhpcy5oaXN0b3J5U3RhY2subGVuZ3RoIC0gM11cbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmhpc3RvcnlTdGFjayA9IHRoaXMuaGlzdG9yeVN0YWNrLnNsaWNlKDAsIC1nb0JhY2tMZW5ndGgpO1xuICAgIH1cblxuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgIHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSA9IHBhcmVudDtcbiAgICAgIHRoaXMuaGlzdG9yeVN0YWNrID0gdGhpcy5oaXN0b3J5U3RhY2suc2xpY2UoXG4gICAgICAgIDAsXG4gICAgICAgIHRoaXMuaGlzdG9yeVN0YWNrLmxlbmd0aCAtIGdvQmFja0xlbmd0aCArIDFcbiAgICAgICk7XG4gICAgICB0aGlzLnNldENoaWxkcmVuQXNDdXJyZW50TWVudUl0ZW1zKHBhcmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICB9XG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChwYXJlbnQpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgaGFuZGxlSXRlbVNlbGVjdGVkKGl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtID0gaXRlbTtcbiAgICB0aGlzLmhpc3RvcnlTdGFjayA9IFsuLi50aGlzLmhpc3RvcnlTdGFjaywgaXRlbV07XG4gICAgdGhpcy5zZXRDaGlsZHJlbkFzQ3VycmVudE1lbnVJdGVtcyhpdGVtKTtcbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGl0ZW0pO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXN5bmMgc2V0Q2hpbGRyZW5Bc0N1cnJlbnRNZW51SXRlbXMoXG4gICAgaXRlbTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmN1cnJlbnRNZW51SXRlbXMgPSBbXTtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgY29uc3Qgc3RhY2tTbmFwc2hvdDogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gdGhpcy5oaXN0b3J5U3RhY2s7XG4gICAgbGV0IGNoaWxkcmVuOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSBbXTtcbiAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jaGlsZHJlblVybCkge1xuICAgICAgY2hpbGRyZW4gPSBhd2FpdCB0aGlzLmxvYWRDaGlsZHJlblVybChpdGVtKTtcbiAgICB9XG4gICAgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCAmJiBpdGVtLnN0YXJ0QXRMaW5rKSB7XG4gICAgICB0aGlzLl9qdW1wVG8oaXRlbS5zdGFydEF0TGluaywgY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBuZXdTdGFja1NuYXBzaG90OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSB0aGlzLmhpc3RvcnlTdGFjaztcbiAgICBpZiAoXG4gICAgICBzdGFja1NuYXBzaG90Lmxlbmd0aCA9PT0gbmV3U3RhY2tTbmFwc2hvdC5sZW5ndGggJiZcbiAgICAgIHN0YWNrU25hcHNob3QuZXZlcnkoXG4gICAgICAgIChzdGFja0l0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgICAgc3RhY2tJdGVtID09PSBuZXdTdGFja1NuYXBzaG90W2luZGV4XVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5jdXJyZW50TWVudUl0ZW1zID0gY2hpbGRyZW47XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBhc3luYyBsb2FkQ2hpbGRyZW5VcmwoXG4gICAgaXRlbTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVxuICApOiBQcm9taXNlPElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXT4ge1xuICAgIGNvbnN0IHNhbml0aXplZFVybCA9XG4gICAgICB0aGlzLl9zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlVSTCwgaXRlbS5jaGlsZHJlblVybCA/PyBudWxsKSA/P1xuICAgICAgJyc7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBmaXJzdFZhbHVlRnJvbTxJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10+KFxuICAgICAgICB0aGlzLl9odHRwLmdldDxJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10+KHNhbml0aXplZFVybCwge1xuICAgICAgICAgIC4uLml0ZW0uaHR0cE9wdGlvbnMsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2hpbGRyZW5VcmxFcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0VGl0bGUoaXRlbTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSk6IHN0cmluZyB7XG4gICAgaWYgKCFpdGVtKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICByZW1vdmVMZWFkaW5nSGFzaChpdGVtLmFuY2hvciA/PyAnJykgfHxcbiAgICAgIGl0ZW0udGl0bGUgfHxcbiAgICAgIGdldFRpdGxlRnJvbVVybChpdGVtLnVybCA/PyAnJykgfHxcbiAgICAgIGdldFRpdGxlRnJvbU1hcmtkb3duU3RyaW5nKGl0ZW0ubWFya2Rvd25TdHJpbmcgPz8gJycpIHx8XG4gICAgICAnJ1xuICAgICkudHJpbSgpO1xuICB9XG5cbiAgZ2V0SWNvbihpdGVtOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbT8uaWNvbiB8fCAnc3ViamVjdCc7XG4gIH1cblxuICBoYW5kbGVDaGlsZHJlblVybEVycm9yKGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRyZW5VcmxFcnJvciA9IGVycm9yLm1lc3NhZ2U7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgaGFuZGxlTWFya2Rvd25Mb2FkZXJFcnJvcihlcnJvcjogRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLm1hcmtkb3duTG9hZGVyRXJyb3IgPSBlcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnJztcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2p1bXBUbyhcbiAgICBpdGVtT3JQYXRoOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdLFxuICAgIGNoaWxkcmVuPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhpc3RvcnlTdGFjazogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gdGhpcy5oaXN0b3J5U3RhY2s7XG4gICAgbGV0IHBhdGg6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSA9IFtdO1xuXG4gICAgaWYgKHRoaXMuaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbU9yUGF0aCkpIHtcbiAgICAgICAgcGF0aCA9IGF3YWl0IHRoaXMuZm9sbG93UGF0aCh0aGlzLml0ZW1zLCBpdGVtT3JQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmhpc3RvcnlTdGFjayA9IGhpc3RvcnlTdGFjaztcbiAgICAgICAgcGF0aCA9IHRoaXMuZmluZFBhdGgoY2hpbGRyZW4sIGl0ZW1PclBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF0aCA9IHRoaXMuZmluZFBhdGgodGhpcy5pdGVtcywgaXRlbU9yUGF0aCk7XG4gICAgICB9XG4gICAgICBwYXRoLmZvckVhY2goKHBhdGhJdGVtOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhbmRsZUl0ZW1TZWxlY3RlZChwYXRoSXRlbSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gISFwYXRoLmxlbmd0aDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZm9sbG93UGF0aChcbiAgICBpdGVtczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdLFxuICAgIHBhdGg6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXVxuICApOiBQcm9taXNlPElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXT4ge1xuICAgIGxldCBwYXRoSXRlbXM6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSA9IFtdO1xuICAgIGxldCBjdXJyZW50TGV2ZWw6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSA9IGl0ZW1zO1xuICAgIGNvbnN0IGNvbXBhcmVXaXRoOiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCA9XG4gICAgICB0aGlzLmNvbXBhcmVXaXRoIHx8IGRlZmF1bHRDb21wYXJlV2l0aDtcbiAgICBmb3IgKGNvbnN0IHBhdGhJdGVtIG9mIHBhdGgpIHtcbiAgICAgIGNvbnN0IGZvdW5kSXRlbTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IHVuZGVmaW5lZCA9IGN1cnJlbnRMZXZlbC5maW5kKFxuICAgICAgICAoaXRlbTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSkgPT4gY29tcGFyZVdpdGgocGF0aEl0ZW0sIGl0ZW0pXG4gICAgICApO1xuXG4gICAgICBpZiAoZm91bmRJdGVtKSB7XG4gICAgICAgIHBhdGhJdGVtcyA9IFsuLi5wYXRoSXRlbXMsIGZvdW5kSXRlbV07XG5cbiAgICAgICAgaWYgKGZvdW5kSXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgIGN1cnJlbnRMZXZlbCA9IGZvdW5kSXRlbS5jaGlsZHJlbjtcbiAgICAgICAgfSBlbHNlIGlmIChmb3VuZEl0ZW0uY2hpbGRyZW5VcmwpIHtcbiAgICAgICAgICBjdXJyZW50TGV2ZWwgPSBhd2FpdCB0aGlzLmxvYWRDaGlsZHJlblVybChmb3VuZEl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHBhdGhJdGVtcy5sZW5ndGggIT09IHBhdGgubGVuZ3RoKSB7XG4gICAgICBwYXRoSXRlbXMgPSBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHBhdGhJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZmluZFBhdGgoXG4gICAgaXRlbXM/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10sXG4gICAgaXRlbT86IElNYXJrZG93bk5hdmlnYXRvckl0ZW1cbiAgKTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdIHtcbiAgICBjb25zdCBjb21wYXJlV2l0aDogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGggPVxuICAgICAgdGhpcy5jb21wYXJlV2l0aCB8fCBkZWZhdWx0Q29tcGFyZVdpdGg7XG4gICAgaWYgKGl0ZW1zKSB7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGl0ZW1zKSB7XG4gICAgICAgIGlmIChpdGVtICYmIGNvbXBhcmVXaXRoKGNoaWxkLCBpdGVtKSkge1xuICAgICAgICAgIHJldHVybiBbY2hpbGRdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFuY2VzdG9yczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gdGhpcy5maW5kUGF0aChcbiAgICAgICAgICBjaGlsZC5jaGlsZHJlbixcbiAgICAgICAgICBpdGVtXG4gICAgICAgICk7XG4gICAgICAgIGlmIChhbmNlc3RvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIFtjaGlsZCwgLi4uYW5jZXN0b3JzXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUxpbmtDbGljayhldmVudDogRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IGxpbms6IEhUTUxBbmNob3JFbGVtZW50ID0gPEhUTUxBbmNob3JFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICBjb25zdCB1cmw6IFVSTCA9IG5ldyBVUkwobGluay5ocmVmKTtcbiAgICBjb25zdCB1cmxQYXJ0cyA9IHVybC5ocmVmLnNwbGl0KCcvJyk7XG4gICAgY29uc3QgaWQgPSB1cmxQYXJ0c1t1cmxQYXJ0cy5sZW5ndGggLSAxXS5zcGxpdCgnLm1kJylbMF07XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICBjb25zdCBwYXRoRm91bmQgPSBhd2FpdCB0aGlzLl9qdW1wVG8oeyBpZCB9KTtcblxuICAgIGlmIChwYXRoRm91bmQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgbWFya2Rvd25TdHJpbmc6IHN0cmluZyA9IGF3YWl0IHRoaXMuX21hcmtkb3duVXJsTG9hZGVyU2VydmljZS5sb2FkKFxuICAgICAgICB1cmwuaHJlZlxuICAgICAgKTtcbiAgICAgIC8vIHBhc3MgaW4gdXJsIHRvIGJlIGFibGUgdG8gdXNlIGN1cnJlbnRNYXJrZG93bkl0ZW0udXJsIGxhdGVyIG9uXG4gICAgICB0aGlzLmhhbmRsZUl0ZW1TZWxlY3RlZCh7IG1hcmtkb3duU3RyaW5nLCB1cmw6IHVybC5ocmVmIH0pO1xuICAgICAgdGhpcy5tYXJrZG93bldyYXBwZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCB3aW4gPSB3aW5kb3cub3Blbih1cmwuaHJlZiwgJ19ibGFuaycpO1xuICAgICAgd2luPy5mb2N1cygpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGl0bGVGcm9tVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHVybCkge1xuICAgIGNvbnN0IHRlbXA6IFVSTCA9IG5ldyBVUkwodXJsKTtcbiAgICBpZiAodGVtcC5oYXNoKSB7XG4gICAgICByZXR1cm4gcmVtb3ZlTGVhZGluZ0hhc2godGVtcC5oYXNoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGF0aDogc3RyaW5nW10gPSB0ZW1wLnBhdGhuYW1lLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCBmaWxlTmFtZTogc3RyaW5nID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdO1xuICAgICAgcmV0dXJuIGZpbGVOYW1lLnJlcGxhY2UoL1xcLlteLy5dKyQvLCAnJyk7IC8vIHJlbW92ZSAubWRcbiAgICB9XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBnZXRUaXRsZUZyb21NYXJrZG93blN0cmluZyhtYXJrZG93blN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKG1hcmtkb3duU3RyaW5nKSB7XG4gICAgY29uc3QgZmlyc3RMaW5lOiBzdHJpbmcgPVxuICAgICAgbWFya2Rvd25TdHJpbmcuc3BsaXQoL1tcXHJcXG5dKy8pLmZpbmQoKGxpbmU6IHN0cmluZykgPT4gISFsaW5lKSA/PyAnJztcbiAgICByZXR1cm4gcmVtb3ZlTGVhZGluZ0hhc2goZmlyc3RMaW5lKS50cmltKCk7XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBpc01hcmtkb3duSHJlZihhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiAhaXNBbmNob3JMaW5rKGFuY2hvcikgJiYgYW5jaG9yLnBhdGhuYW1lLmVuZHNXaXRoKCcubWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDb21wYXJlV2l0aChcbiAgbzE6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4gIG8yOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtXG4pOiBib29sZWFuIHtcbiAgaWYgKG8xLmlkICYmIG8yLmlkKSB7XG4gICAgcmV0dXJuIG8xLmlkID09PSBvMi5pZDtcbiAgfVxuICByZXR1cm4gbzEgPT09IG8yO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93RW1wdHlTdGF0ZVwiPlxuICA8bWF0LXByb2dyZXNzLWJhclxuICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dIZWFkZXJcIj5cbiAgICA8dGQtYnJlYWRjcnVtYnM+XG4gICAgICA8YVxuICAgICAgICB0ZC1icmVhZGNydW1iXG4gICAgICAgIFttYXRUb29sdGlwXT1cImdvSG9tZUxhYmVsID8/ICcnXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0KClcIlxuICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiJ2hvbWUtYnV0dG9uJ1wiXG4gICAgICAgID5Ib21lPC9hXG4gICAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0Zvcj1cImxldCBzdGFjayBvZiBoaXN0b3J5U3RhY2s7IGxhc3QgYXMgaXNMYXN0OyBpbmRleCBhcyBpbmRleFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMYXN0OyBlbHNlIGxhc3RCcmVhZENydW1iXCI+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIHRkLWJyZWFkY3J1bWJcbiAgICAgICAgICAgIChjbGljayk9XCJnb0JhY2soaGlzdG9yeVN0YWNrLmxlbmd0aCAtIGluZGV4KVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiJ2JhY2stYnV0dG9uJ1wiXG4gICAgICAgICAgICA+e3sgc3RhY2sudGl0bGUgfX08L2FcbiAgICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2xhc3RCcmVhZENydW1iPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImJyZWFkY3J1bWItZW5kLWljb25cIj5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGQtYnJlYWRjcnVtYnM+XG4gICAgPGRpdiBjbGFzcz1cImJyZWFkY3J1bWItY3VycmVudC10aXRsZVwiIFthdHRyLmRhdGEtdGVzdF09XCIndGl0bGUnXCI+XG4gICAgICB7eyBjdXJyZW50SXRlbVRpdGxlIH19XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LWRpdmlkZXIgW3N0eWxlLnBvc2l0aW9uXT1cIidyZWxhdGl2ZSdcIj48L21hdC1kaXZpZGVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2IGNsYXNzPVwic2Nyb2xsLWFyZWFcIiBpZD1cInRkLW1hcmtkb3duLW5hdmlnYXRvci1jb250ZW50XCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJzaG93VGRNYXJrZG93bkxvYWRlciB8fCBzaG93VGRNYXJrZG93blwiXG4gICAgICBjbGFzcz1cIm1hcmtkb3duLXdyYXBwZXJcIlxuICAgICAgI21hcmtkb3duV3JhcHBlclxuICAgID5cbiAgICAgIDx0ZC1tZXNzYWdlXG4gICAgICAgICpuZ0lmPVwibWFya2Rvd25Mb2FkZXJFcnJvclwiXG4gICAgICAgIFtzdWJsYWJlbF09XCJtYXJrZG93bkxvYWRlckVycm9yXCJcbiAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgaWNvbj1cImVycm9yXCJcbiAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIidtYXJrZG93bi1sb2FkZXItZXJyb3InXCJcbiAgICAgID48L3RkLW1lc3NhZ2U+XG4gICAgICA8dGQtZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyXG4gICAgICAgICpuZ0lmPVwic2hvd1RkTWFya2Rvd25Mb2FkZXJcIlxuICAgICAgICBbdXJsXT1cInVybCA/PyAnJ1wiXG4gICAgICAgIFtodHRwT3B0aW9uc109XCJodHRwT3B0aW9ucyA/PyB7fVwiXG4gICAgICAgIFthbmNob3JdPVwiYW5jaG9yID8/ICcnXCJcbiAgICAgICAgW2NvcHlDb2RlVG9DbGlwYm9hcmRdPVwiY29weUNvZGVUb0NsaXBib2FyZFwiXG4gICAgICAgIFtjb3B5Q29kZVRvb2x0aXBzXT1cImNvcHlDb2RlVG9vbHRpcHNcIlxuICAgICAgICAobG9hZEZhaWxlZCk9XCJoYW5kbGVNYXJrZG93bkxvYWRlckVycm9yKCRldmVudClcIlxuICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJidXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+PC90ZC1mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXI+XG4gICAgICA8dGQtZmxhdm9yZWQtbWFya2Rvd25cbiAgICAgICAgKm5nSWY9XCJzaG93VGRNYXJrZG93blwiXG4gICAgICAgIFtjb250ZW50XT1cIm1hcmtkb3duU3RyaW5nID8/ICcnXCJcbiAgICAgICAgW2hvc3RlZFVybF09XCJ1cmwgPz8gJydcIlxuICAgICAgICBbYW5jaG9yXT1cImFuY2hvciA/PyAnJ1wiXG4gICAgICAgIFtjb3B5Q29kZVRvQ2xpcGJvYXJkXT1cImNvcHlDb2RlVG9DbGlwYm9hcmRcIlxuICAgICAgICBbY29weUNvZGVUb29sdGlwc109XCJjb3B5Q29kZVRvb2x0aXBzXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwiYnV0dG9uQ2xpY2tlZC5lbWl0KCRldmVudClcIlxuICAgICAgPjwvdGQtZmxhdm9yZWQtbWFya2Rvd24+XG4gICAgPC9kaXY+XG5cbiAgICA8dGQtbWVzc2FnZVxuICAgICAgKm5nSWY9XCJjaGlsZHJlblVybEVycm9yXCJcbiAgICAgIFtzdWJsYWJlbF09XCJjaGlsZHJlblVybEVycm9yXCJcbiAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICBpY29uPVwiZXJyb3JcIlxuICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIidjaGlsZHJlbi11cmwtZXJyb3InXCJcbiAgICA+PC90ZC1tZXNzYWdlPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93TWVudVwiIGNsYXNzPVwidGQtbWFya2Rvd24tbGlzdFwiPlxuICAgICAgPG1hdC1hY3Rpb24tbGlzdD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGN1cnJlbnRNZW51SXRlbXM7IGluZGV4IGFzIGluZGV4XCJcbiAgICAgICAgICBbaWRdPVwiXG4gICAgICAgICAgICAndGQtbWFya2Rvd24tbmF2aWdhdG9yLWxpc3QtaXRlbS0nICsgKGl0ZW0uaWQgPyBpdGVtLmlkIDogaW5kZXgpXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlSXRlbVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICBtYXQtbGlzdC1pdGVtXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0VGl0bGUoaXRlbSlcIlxuICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlZm9yZVwiXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uPlxuICAgICAgICAgICAge3sgZ2V0SWNvbihpdGVtKSB9fVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4gbWF0TGlzdEl0ZW1UaXRsZSBjbGFzcz1cInRydW5jYXRlXCI+XG4gICAgICAgICAgICB7eyBnZXRUaXRsZShpdGVtKSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBtYXRMaXN0SXRlbUxpbmUgY2xhc3M9XCJ0cnVuY2F0ZVwiPnt7IGl0ZW0uZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtYWN0aW9uLWxpc3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImZvb3RlckNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2XG4gICpuZ0lmPVwic2hvd0VtcHR5U3RhdGVcIlxuICBsYXlvdXQ9XCJjb2x1bW5cIlxuICBsYXlvdXQtYWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiXG4+XG4gIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUF2YXRhcj5zdWJqZWN0PC9tYXQtaWNvbj5cbiAgPGgyPnt7IGVtcHR5U3RhdGVMYWJlbCB9fTwvaDI+XG48L2Rpdj5cbiJdfQ==","import { Component, Output, EventEmitter, Input, ChangeDetectionStrategy, Type, } from '@angular/core';\nimport { TdMarkdownNavigatorComponent, } from '../markdown-navigator.component';\nimport { TdWindowDialogComponent } from '@covalent/core/dialogs';\nimport * as i0 from \"@angular/core\";\nexport const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS = {\n title: 'Help',\n close: 'Close',\n dock: 'Dock',\n unDock: 'Undock',\n};\nexport class TdMarkdownNavigatorWindowComponent {\n items;\n labels;\n toolbarColor = 'primary';\n startAt;\n compareWith;\n docked = false;\n copyCodeToClipboard = false;\n copyCodeTooltips = {};\n footer;\n closed = new EventEmitter();\n dockToggled = new EventEmitter();\n buttonClicked = new EventEmitter();\n itemSelected = new EventEmitter();\n get markdownNavigatorLabels() {\n if (!this.labels) {\n return undefined;\n }\n const { goHome, goBack, emptyState } = this.labels;\n return {\n goHome,\n goBack,\n emptyState,\n };\n }\n get titleLabel() {\n return ((this.labels && this.labels.title) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title);\n }\n get closeLabel() {\n return ((this.labels && this.labels.close) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close);\n }\n get toggleDockedStateLabel() {\n if (this.docked) {\n return ((this.labels && this.labels.unDock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock);\n }\n else {\n return ((this.labels && this.labels.dock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock);\n }\n }\n toggleDockedState() {\n this.dockToggled.emit(this.docked);\n }\n static ɵfac = function TdMarkdownNavigatorWindowComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorWindowComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdMarkdownNavigatorWindowComponent, selectors: [[\"td-markdown-navigator-window\"]], inputs: { items: \"items\", labels: \"labels\", toolbarColor: \"toolbarColor\", startAt: \"startAt\", compareWith: \"compareWith\", docked: \"docked\", copyCodeToClipboard: \"copyCodeToClipboard\", copyCodeTooltips: \"copyCodeTooltips\", footer: \"footer\" }, outputs: { closed: \"closed\", dockToggled: \"dockToggled\", buttonClicked: \"buttonClicked\", itemSelected: \"itemSelected\" }, decls: 2, vars: 14, consts: [[3, \"dockToggled\", \"closed\", \"toolbarColor\", \"docked\", \"title\", \"toggleDockedStateLabel\", \"closeLabel\"], [3, \"buttonClicked\", \"itemSelected\", \"items\", \"labels\", \"startAt\", \"compareWith\", \"footer\", \"copyCodeToClipboard\", \"copyCodeTooltips\"]], template: function TdMarkdownNavigatorWindowComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"td-window-dialog\", 0);\n i0.ɵɵlistener(\"dockToggled\", function TdMarkdownNavigatorWindowComponent_Template_td_window_dialog_dockToggled_0_listener() { return ctx.toggleDockedState(); })(\"closed\", function TdMarkdownNavigatorWindowComponent_Template_td_window_dialog_closed_0_listener() { return ctx.closed.emit(); });\n i0.ɵɵelementStart(1, \"td-markdown-navigator\", 1);\n i0.ɵɵlistener(\"buttonClicked\", function TdMarkdownNavigatorWindowComponent_Template_td_markdown_navigator_buttonClicked_1_listener($event) { return ctx.buttonClicked.emit($event); })(\"itemSelected\", function TdMarkdownNavigatorWindowComponent_Template_td_markdown_navigator_itemSelected_1_listener($event) { return ctx.itemSelected.emit($event); });\n i0.ɵɵelementEnd()();\n } if (rf & 2) {\n i0.ɵɵproperty(\"toolbarColor\", ctx.toolbarColor)(\"docked\", ctx.docked)(\"title\", ctx.titleLabel)(\"toggleDockedStateLabel\", ctx.toggleDockedStateLabel)(\"closeLabel\", ctx.closeLabel);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"display\", ctx.docked ? \"none\" : \"inherit\");\n i0.ɵɵproperty(\"items\", ctx.items)(\"labels\", ctx.markdownNavigatorLabels)(\"startAt\", ctx.startAt)(\"compareWith\", ctx.compareWith)(\"footer\", ctx.footer)(\"copyCodeToClipboard\", ctx.copyCodeToClipboard)(\"copyCodeTooltips\", ctx.copyCodeTooltips);\n } }, dependencies: [TdWindowDialogComponent, TdMarkdownNavigatorComponent], styles: [\"[_nghost-%COMP%]{height:100%;display:flex;flex-direction:column}td-markdown-navigator[_ngcontent-%COMP%]{height:calc(100% - 56px)}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorWindowComponent, [{\n type: Component,\n args: [{ selector: 'td-markdown-navigator-window', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TdWindowDialogComponent, TdMarkdownNavigatorComponent], template: \"<td-window-dialog\\n [toolbarColor]=\\\"toolbarColor\\\"\\n [docked]=\\\"docked\\\"\\n [title]=\\\"titleLabel\\\"\\n [toggleDockedStateLabel]=\\\"toggleDockedStateLabel\\\"\\n [closeLabel]=\\\"closeLabel\\\"\\n (dockToggled)=\\\"toggleDockedState()\\\"\\n (closed)=\\\"closed.emit()\\\"\\n>\\n <td-markdown-navigator\\n [items]=\\\"items\\\"\\n [labels]=\\\"markdownNavigatorLabels\\\"\\n [style.display]=\\\"docked ? 'none' : 'inherit'\\\"\\n [startAt]=\\\"startAt\\\"\\n [compareWith]=\\\"compareWith\\\"\\n [footer]=\\\"footer\\\"\\n [copyCodeToClipboard]=\\\"copyCodeToClipboard\\\"\\n [copyCodeTooltips]=\\\"copyCodeTooltips\\\"\\n (buttonClicked)=\\\"buttonClicked.emit($event)\\\"\\n (itemSelected)=\\\"itemSelected.emit($event)\\\"\\n ></td-markdown-navigator>\\n</td-window-dialog>\\n\", styles: [\":host{height:100%;display:flex;flex-direction:column}td-markdown-navigator{height:calc(100% - 56px)}\\n\"] }]\n }], null, { items: [{\n type: Input\n }], labels: [{\n type: Input\n }], toolbarColor: [{\n type: Input\n }], startAt: [{\n type: Input\n }], compareWith: [{\n type: Input\n }], docked: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], footer: [{\n type: Input\n }], closed: [{\n type: Output\n }], dockToggled: [{\n type: Output\n }], buttonClicked: [{\n type: Output\n }], itemSelected: [{\n type: Output\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorWindowComponent, { className: \"TdMarkdownNavigatorWindowComponent\", filePath: \"markdown-navigator-window/markdown-navigator-window.component.ts\", lineNumber: 42 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLW5hdmlnYXRvci9zcmMvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93L21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFJTCw0QkFBNEIsR0FDN0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUd6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFTakUsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQ25EO0lBQ0UsS0FBSyxFQUFFLE1BQU07SUFDYixLQUFLLEVBQUUsT0FBTztJQUNkLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7Q0FDakIsQ0FBQztBQVNKLE1BQU0sT0FBTyxrQ0FBa0M7SUFDcEMsS0FBSyxDQUE0QjtJQUNqQyxNQUFNLENBQWtDO0lBQ3hDLFlBQVksR0FBaUIsU0FBUyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBcUQ7SUFDNUQsV0FBVyxDQUFpQztJQUM1QyxNQUFNLEdBQUksS0FBSyxDQUFDO0lBQ2hCLG1CQUFtQixHQUFJLEtBQUssQ0FBQztJQUM3QixnQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO0lBQzFDLE1BQU0sQ0FBYTtJQUVsQixNQUFNLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFD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dHRlcixcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtcbiAgSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgSU1hcmtkb3duTmF2aWdhdG9yTGFiZWxzLFxuICBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCxcbiAgVGRNYXJrZG93bk5hdmlnYXRvckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudCB9IGZyb20gJ0Bjb3ZhbGVudC9mbGF2b3JlZC1tYXJrZG93bic7XG5pbXBvcnQgeyBJQ29weUNvZGVUb29sdGlwcyB9IGZyb20gJ0Bjb3ZhbGVudC9oaWdobGlnaHQnO1xuaW1wb3J0IHsgVGRXaW5kb3dEaWFsb2dDb21wb25lbnQgfSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHNcbiAgZXh0ZW5kcyBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICB0aXRsZT86IHN0cmluZztcbiAgY2xvc2U/OiBzdHJpbmc7XG4gIGRvY2s/OiBzdHJpbmc7XG4gIHVuRG9jaz86IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPVxuICB7XG4gICAgdGl0bGU6ICdIZWxwJyxcbiAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICBkb2NrOiAnRG9jaycsXG4gICAgdW5Eb2NrOiAnVW5kb2NrJyxcbiAgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1RkV2luZG93RGlhbG9nQ29tcG9uZW50LCBUZE1hcmtkb3duTmF2aWdhdG9yQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBASW5wdXQoKSBsYWJlbHM/OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHM7XG4gIEBJbnB1dCgpIHRvb2xiYXJDb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBzdGFydEF0PzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgQElucHV0KCkgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcbiAgQElucHV0KCkgZG9ja2VkPyA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvQ2xpcGJvYXJkPyA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHMgPSB7fTtcbiAgQElucHV0KCkgZm9vdGVyPzogVHlwZTxhbnk+O1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRvY2tUb2dnbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxJTWFya2Rvd25OYXZpZ2F0b3JJdGVtPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGdldCBtYXJrZG93bk5hdmlnYXRvckxhYmVscygpOiBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5sYWJlbHMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgeyBnb0hvbWUsIGdvQmFjaywgZW1wdHlTdGF0ZSB9OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPVxuICAgICAgdGhpcy5sYWJlbHM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdvSG9tZSxcbiAgICAgIGdvQmFjayxcbiAgICAgIGVtcHR5U3RhdGUsXG4gICAgfTtcbiAgfVxuICBnZXQgdGl0bGVMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMudGl0bGUpIHx8XG4gICAgICBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLnRpdGxlXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjbG9zZUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5jbG9zZSkgfHxcbiAgICAgIERFRkFVTFRfTUFSS0RPV05fTkFWSUdBVE9SX1dJTkRPV19MQUJFTFMuY2xvc2VcbiAgICApO1xuICB9XG5cbiAgZ2V0IHRvZ2dsZURvY2tlZFN0YXRlTGFiZWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5kb2NrZWQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy51bkRvY2spIHx8XG4gICAgICAgIERFRkFVTFRfTUFSS0RPV05fTkFWSUdBVE9SX1dJTkRPV19MQUJFTFMudW5Eb2NrXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMuZG9jaykgfHxcbiAgICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfV0lORE9XX0xBQkVMUy5kb2NrXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZURvY2tlZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZG9ja1RvZ2dsZWQuZW1pdCh0aGlzLmRvY2tlZCk7XG4gIH1cbn1cbiIsIjx0ZC13aW5kb3ctZGlhbG9nXG4gIFt0b29sYmFyQ29sb3JdPVwidG9vbGJhckNvbG9yXCJcbiAgW2RvY2tlZF09XCJkb2NrZWRcIlxuICBbdGl0bGVdPVwidGl0bGVMYWJlbFwiXG4gIFt0b2dnbGVEb2NrZWRTdGF0ZUxhYmVsXT1cInRvZ2dsZURvY2tlZFN0YXRlTGFiZWxcIlxuICBbY2xvc2VMYWJlbF09XCJjbG9zZUxhYmVsXCJcbiAgKGRvY2tUb2dnbGVkKT1cInRvZ2dsZURvY2tlZFN0YXRlKClcIlxuICAoY2xvc2VkKT1cImNsb3NlZC5lbWl0KClcIlxuPlxuICA8dGQtbWFya2Rvd24tbmF2aWdhdG9yXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbbGFiZWxzXT1cIm1hcmtkb3duTmF2aWdhdG9yTGFiZWxzXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCJkb2NrZWQgPyAnbm9uZScgOiAnaW5oZXJpdCdcIlxuICAgIFtzdGFydEF0XT1cInN0YXJ0QXRcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlV2l0aFwiXG4gICAgW2Zvb3Rlcl09XCJmb290ZXJcIlxuICAgIFtjb3B5Q29kZVRvQ2xpcGJvYXJkXT1cImNvcHlDb2RlVG9DbGlwYm9hcmRcIlxuICAgIFtjb3B5Q29kZVRvb2x0aXBzXT1cImNvcHlDb2RlVG9vbHRpcHNcIlxuICAgIChidXR0b25DbGlja2VkKT1cImJ1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAoaXRlbVNlbGVjdGVkKT1cIml0ZW1TZWxlY3RlZC5lbWl0KCRldmVudClcIlxuICA+PC90ZC1tYXJrZG93bi1uYXZpZ2F0b3I+XG48L3RkLXdpbmRvdy1kaWFsb2c+XG4iXX0=","import { Injectable, Inject, RendererFactory2, } from '@angular/core';\nimport { TdMarkdownNavigatorWindowComponent, } from '../markdown-navigator-window/markdown-navigator-window.component';\nimport { TdDialogService, ResizableDraggableDialog, } from '@covalent/core/dialogs';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@covalent/core/dialogs\";\nconst CDK_OVERLAY_CUSTOM_CLASS = 'td-window-dialog';\nconst DEFAULT_POSITION = { bottom: '0px', right: '0px' };\nconst DEFAULT_WIDTH = '360px';\nconst DEFAULT_HEIGHT = '75vh';\nconst MAX_WIDTH = '100vw';\nconst DEFAULT_DRAGGABLE_DIALOG_CONFIG = {\n hasBackdrop: false,\n closeOnNavigation: true,\n panelClass: [CDK_OVERLAY_CUSTOM_CLASS],\n position: DEFAULT_POSITION,\n height: DEFAULT_HEIGHT,\n width: DEFAULT_WIDTH,\n maxWidth: MAX_WIDTH,\n};\nexport class TdMarkdownNavigatorWindowService {\n _tdDialogService;\n _document;\n rendererFactory;\n _renderer2;\n dragRef;\n resizableDraggableDialog;\n markdownNavigatorWindowDialog;\n markdownNavigatorWindowDialogsOpen = 0;\n constructor(_tdDialogService, _document, rendererFactory) {\n this._tdDialogService = _tdDialogService;\n this._document = _document;\n this.rendererFactory = rendererFactory;\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n open(config) {\n this.close();\n const configClass = config?.dialogConfig?.panelClass;\n const panelClass = configClass && !Array.isArray(configClass) ? [configClass] : [];\n const draggableConfig = {\n ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,\n ...config.dialogConfig,\n ...panelClass,\n };\n const { matDialogRef, dragRefSubject, } = this._tdDialogService.openDraggable({\n component: TdMarkdownNavigatorWindowComponent,\n config: draggableConfig,\n dragHandleSelectors: ['.td-window-dialog-toolbar'],\n draggableClass: 'td-draggable-markdown-navigator-window',\n });\n this.markdownNavigatorWindowDialog = matDialogRef;\n this.markdownNavigatorWindowDialog.componentInstance.items = config.items;\n this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;\n this.markdownNavigatorWindowDialog.componentInstance.startAt =\n config.startAt;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard =\n config.copyCodeToClipboard;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips =\n config.copyCodeTooltips;\n this.markdownNavigatorWindowDialog.componentInstance.compareWith =\n config.compareWith;\n this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =\n 'toolbarColor' in config ? config.toolbarColor : 'primary';\n this.markdownNavigatorWindowDialogsOpen++;\n this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;\n dragRefSubject.subscribe((dragRf) => {\n this.dragRef = dragRf;\n this.resizableDraggableDialog = new ResizableDraggableDialog(this._document, this._renderer2, this.markdownNavigatorWindowDialog, this.dragRef);\n });\n this._handleEvents();\n return this.markdownNavigatorWindowDialog;\n }\n close() {\n if (this.markdownNavigatorWindowDialog) {\n if (this.resizableDraggableDialog) {\n this.resizableDraggableDialog.detach();\n }\n this.markdownNavigatorWindowDialog.close();\n }\n }\n get isOpen() {\n return this.markdownNavigatorWindowDialogsOpen > 0;\n }\n _handleEvents() {\n this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() => this.close());\n this.markdownNavigatorWindowDialog\n .afterClosed()\n .toPromise()\n .then(() => {\n this.markdownNavigatorWindowDialogsOpen--;\n });\n }\n static ɵfac = function TdMarkdownNavigatorWindowService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorWindowService)(i0.ɵɵinject(i1.TdDialogService), i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i0.RendererFactory2)); };\n static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TdMarkdownNavigatorWindowService, factory: TdMarkdownNavigatorWindowService.ɵfac });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorWindowService, [{\n type: Injectable\n }], () => [{ type: i1.TdDialogService }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.RendererFactory2 }], null); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctc2VydmljZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sZ0JBQWdCLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFDTCxrQ0FBa0MsR0FFbkMsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsZUFBZSxFQUVmLHdCQUF3QixHQUN6QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBbUIzQyxNQUFNLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sZ0JBQWdCLEdBQW1CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDekUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDO0FBQzlCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUM5QixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUM7QUFFMUIsTUFBTSwrQkFBK0IsR0FBb0I7SUFDdkQsV0FBVyxFQUFFLEtBQUs7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixVQUFVLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztJQUN0QyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0NBQ3BCLENBQUM7QUFHRixNQUFNLE9BQU8sZ0NBQWdDO0lBUWpDO0lBQ2tCO0lBQ2xCO0lBVEYsVUFBVSxDQUFZO0lBQ3RCLE9B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QUNWLElBQUksSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDdkMsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLENBQUM7WUFDRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ3pFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FDYixDQUFDO1FBRUYsSUFBSSxDQUFDLDZCQUE2QjthQUMvQixXQUFXLEVBQUU7YUFDYixTQUFTLEVBQUU7YUFDWCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzBIQTNGVSxnQ0FBZ0MsK0NBU2pDLFFBQVE7Z0VBVFAsZ0NBQWdDLFdBQWhDLGdDQUFnQzs7aUZBQWhDLGdDQUFnQztjQUQ1QyxVQUFVOztzQkFVTixNQUFNO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBJbmplY3QsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIFJlbmRlcmVyMixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXREaWFsb2dSZWYsXG4gIE1hdERpYWxvZ0NvbmZpZyxcbiAgRGlhbG9nUG9zaXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscyxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBUZERpYWxvZ1NlcnZpY2UsXG4gIElEcmFnZ2FibGVSZWZzLFxuICBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2csXG59IGZyb20gJ0Bjb3ZhbGVudC9jb3JlL2RpYWxvZ3MnO1xuaW1wb3J0IHsgRHJhZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGgsXG59IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcge1xuICBpdGVtczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBkaWFsb2dDb25maWc/OiBNYXREaWFsb2dDb25maWc7XG4gIGxhYmVscz86IElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscztcbiAgdG9vbGJhckNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBzdGFydEF0PzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcbiAgY29weUNvZGVUb0NsaXBib2FyZD86IGJvb2xlYW47XG4gIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwcztcbiAgZm9vdGVyPzogVHlwZTxhbnk+O1xufVxuXG5jb25zdCBDREtfT1ZFUkxBWV9DVVNUT01fQ0xBU1MgPSAndGQtd2luZG93LWRpYWxvZyc7XG5cbmNvbnN0IERFRkFVTFRfUE9TSVRJT046IERpYWxvZ1Bvc2l0aW9uID0geyBib3R0b206ICcwcHgnLCByaWdodDogJzBweCcgfTtcbmNvbnN0IERFRkFVTFRfV0lEVEggPSAnMzYwcHgnO1xuY29uc3QgREVGQVVMVF9IRUlHSFQgPSAnNzV2aCc7XG5jb25zdCBNQVhfV0lEVEggPSAnMTAwdncnO1xuXG5jb25zdCBERUZBVUxUX0RSQUdHQUJMRV9ESUFMT0dfQ09ORklHOiBNYXREaWFsb2dDb25maWcgPSB7XG4gIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gIHBhbmVsQ2xhc3M6IFtDREtfT1ZFUkxBWV9DVVNUT01fQ0xBU1NdLFxuICBwb3NpdGlvbjogREVGQVVMVF9QT1NJVElPTixcbiAgaGVpZ2h0OiBERUZBVUxUX0hFSUdIVCxcbiAgd2lkdGg6IERFRkFVTFRfV0lEVEgsXG4gIG1heFdpZHRoOiBNQVhfV0lEVEgsXG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZW5kZXJlcjI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSBkcmFnUmVmITogRHJhZ1JlZjtcbiAgcHJpdmF0ZSByZXNpemFibGVEcmFnZ2FibGVEaWFsb2chOiBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2c7XG4gIHByaXZhdGUgbWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2chOiBNYXREaWFsb2dSZWY8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD47XG4gIHByaXZhdGUgbWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2dzT3BlbiA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfdGREaWFsb2dTZXJ2aWNlOiBUZERpYWxvZ1NlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IGFueSxcbiAgICBwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MlxuICApIHtcbiAgICB0aGlzLl9yZW5kZXJlcjIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKFxuICAgIGNvbmZpZzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnXG4gICk6IE1hdERpYWxvZ1JlZjxUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50PiB7XG4gICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgY29uc3QgY29uZmlnQ2xhc3MgPSBjb25maWc/LmRpYWxvZ0NvbmZpZz8ucGFuZWxDbGFzcztcbiAgICBjb25zdCBwYW5lbENsYXNzID1cbiAgICAgIGNvbmZpZ0NsYXNzICYmICFBcnJheS5pc0FycmF5KGNvbmZpZ0NsYXNzKSA/IFtjb25maWdDbGFzc10gOiBbXTtcblxuICAgIGNvbnN0IGRyYWdnYWJsZUNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgLi4uREVGQVVMVF9EUkFHR0FCTEVfRElBTE9HX0NPTkZJRyxcbiAgICAgIC4uLmNvbmZpZy5kaWFsb2dDb25maWcsXG4gICAgICAuLi5wYW5lbENsYXNzLFxuICAgIH07XG4gICAgY29uc3Qge1xuICAgICAgbWF0RGlhbG9nUmVmLFxuICAgICAgZHJhZ1JlZlN1YmplY3QsXG4gICAgfTogSURyYWdnYWJsZVJlZnM8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4gPVxuICAgICAgdGhpcy5fdGREaWFsb2dTZXJ2aWNlLm9wZW5EcmFnZ2FibGUoe1xuICAgICAgICBjb21wb25lbnQ6IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gICAgICAgIGNvbmZpZzogZHJhZ2dhYmxlQ29uZmlnLFxuICAgICAgICBkcmFnSGFuZGxlU2VsZWN0b3JzOiBbJy50ZC13aW5kb3ctZGlhbG9nLXRvb2xiYXInXSxcbiAgICAgICAgZHJhZ2dhYmxlQ2xhc3M6ICd0ZC1kcmFnZ2FibGUtbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdycsXG4gICAgICB9KTtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nID0gbWF0RGlhbG9nUmVmO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuaXRlbXMgPSBjb25maWcuaXRlbXM7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5sYWJlbHMgPSBjb25maWcubGFiZWxzO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2Uuc3RhcnRBdCA9XG4gICAgICBjb25maWcuc3RhcnRBdDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9DbGlwYm9hcmQgPVxuICAgICAgY29uZmlnLmNvcHlDb2RlVG9DbGlwYm9hcmQ7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5jb3B5Q29kZVRvb2x0aXBzID1cbiAgICAgIGNvbmZpZy5jb3B5Q29kZVRvb2x0aXBzO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuY29tcGFyZVdpdGggPVxuICAgICAgY29uZmlnLmNvbXBhcmVXaXRoO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UudG9vbGJhckNvbG9yID1cbiAgICAgICd0b29sYmFyQ29sb3InIGluIGNvbmZpZyA/IGNvbmZpZy50b29sYmFyQ29sb3IgOiAncHJpbWFyeSc7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuKys7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5mb290ZXIgPSBjb25maWcuZm9vdGVyO1xuICAgIGRyYWdSZWZTdWJqZWN0LnN1YnNjcmliZSgoZHJhZ1JmOiBEcmFnUmVmKSA9PiB7XG4gICAgICB0aGlzLmRyYWdSZWYgPSBkcmFnUmY7XG4gICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyA9IG5ldyBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2coXG4gICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIsXG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2csXG4gICAgICAgIHRoaXMuZHJhZ1JlZlxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLl9oYW5kbGVFdmVudHMoKTtcbiAgICByZXR1cm4gdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZztcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZykge1xuICAgICAgaWYgKHRoaXMucmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nKSB7XG4gICAgICAgIHRoaXMucmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nLmRldGFjaCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nc09wZW4gPiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PlxuICAgICAgdGhpcy5jbG9zZSgpXG4gICAgKTtcblxuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2dcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAudG9Qcm9taXNlKClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuLS07XG4gICAgICB9KTtcbiAgfVxufVxuIl19","import { Directive, HostListener, Input } from '@angular/core';\nimport { TdMarkdownNavigatorWindowService, } from '../markdown-navigator-window-service/markdown-navigator-window.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../markdown-navigator-window-service/markdown-navigator-window.service\";\nexport class TdMarkdownNavigatorWindowDirective {\n _markdownNavigatorWindowService;\n config;\n disabled = false;\n constructor(_markdownNavigatorWindowService) {\n this._markdownNavigatorWindowService = _markdownNavigatorWindowService;\n }\n click() {\n if (!this.disabled && this.config) {\n this._markdownNavigatorWindowService.open(this.config);\n }\n }\n static ɵfac = function TdMarkdownNavigatorWindowDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorWindowDirective)(i0.ɵɵdirectiveInject(i1.TdMarkdownNavigatorWindowService)); };\n static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TdMarkdownNavigatorWindowDirective, selectors: [[\"\", \"tdMarkdownNavigatorWindow\", \"\"]], hostBindings: function TdMarkdownNavigatorWindowDirective_HostBindings(rf, ctx) { if (rf & 1) {\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorWindowDirective_click_HostBindingHandler() { return ctx.click(); });\n } }, inputs: { config: [0, \"tdMarkdownNavigatorWindow\", \"config\"], disabled: \"disabled\" } });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorWindowDirective, [{\n type: Directive,\n args: [{\n selector: '[tdMarkdownNavigatorWindow]',\n }]\n }], () => [{ type: i1.TdMarkdownNavigatorWindowService }], { config: [{\n type: Input,\n args: ['tdMarkdownNavigatorWindow']\n }], disabled: [{\n type: Input\n }], click: [{\n type: HostListener,\n args: ['click']\n }] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLW5hdmlnYXRvci9zcmMvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy1kaXJlY3RpdmUvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFDTCxnQ0FBZ0MsR0FFakMsTUFBTSx3RUFBd0UsQ0FBQzs7O0FBS2hGLE1BQU0sT0FBTyxrQ0FBa0M7SUFJbkM7SUFIMEIsTUFBTSxDQUFrQztJQUNuRSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLFlBQ1UsK0JBQWlFO1FBQWpFLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBa0M7SUFDeEUsQ0FBQztJQUVtQixLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQzs0SEFYVSxrQ0FBa0M7NkRBQWxDLGtDQUFrQztZQUFsQyx1R0FBQSxXQUFPLElBQTJCOzs7aUZBQWxDLGtDQUFrQztjQUg5QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjthQUN4QztpRUFFcUMsTUFBTTtrQkFBekMsS0FBSzttQkFBQywyQkFBMkI7WUFDekIsUUFBUTtrQkFBaEIsS0FBSztZQUtpQixLQUFLO2tCQUEzQixZQUFZO21CQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlLFxuICBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcsXG59IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctc2VydmljZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd10nLFxufSlcbmV4cG9ydCBjbGFzcyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlyZWN0aXZlIHtcbiAgQElucHV0KCd0ZE1hcmtkb3duTmF2aWdhdG9yV2luZG93JykgY29uZmlnPzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2U6IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIGNsaWNrKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNvbmZpZykge1xuICAgICAgdGhpcy5fbWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlLm9wZW4odGhpcy5jb25maWcpO1xuICAgIH1cbiAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TdMarkdownNavigatorComponent } from './markdown-navigator.component';\nimport { TdMarkdownNavigatorWindowComponent } from './markdown-navigator-window/markdown-navigator-window.component';\nimport { TdMarkdownNavigatorWindowDirective } from './markdown-navigator-window-directive/markdown-navigator-window.directive';\nimport { TdMarkdownNavigatorWindowService } from './markdown-navigator-window-service/markdown-navigator-window.service';\nimport { TdDialogService } from '@covalent/core/dialogs';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\nexport class CovalentMarkdownNavigatorModule {\n static ɵfac = function CovalentMarkdownNavigatorModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentMarkdownNavigatorModule)(); };\n static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentMarkdownNavigatorModule });\n static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [TdMarkdownNavigatorWindowService, TdDialogService], imports: [CommonModule,\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CovalentMarkdownNavigatorModule, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n exports: [\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n providers: [TdMarkdownNavigatorWindowService, TdDialogService],\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentMarkdownNavigatorModule, { imports: [CommonModule,\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective], exports: [TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFekQ7OztHQUdHO0FBZ0JILE1BQU0sT0FBTywrQkFBK0I7eUhBQS9CLCtCQUErQjs0REFBL0IsK0JBQStCO2lFQUYvQixDQUFDLGdDQUFnQyxFQUFFLGVBQWUsQ0FBQyxZQVg1RCxZQUFZO1lBRVosNEJBQTRCO1lBQzVCLGtDQUFrQzs7aUZBVXpCLCtCQUErQjtjQWYzQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBRVosNEJBQTRCO29CQUM1QixrQ0FBa0M7b0JBQ2xDLGtDQUFrQztpQkFDbkM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDRCQUE0QjtvQkFDNUIsa0NBQWtDO29CQUNsQyxrQ0FBa0M7aUJBQ25DO2dCQUNELFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxFQUFFLGVBQWUsQ0FBQzthQUMvRDs7d0ZBQ1ksK0JBQStCLGNBYnhDLFlBQVk7UUFFWiw0QkFBNEI7UUFDNUIsa0NBQWtDO1FBQ2xDLGtDQUFrQyxhQUdsQyw0QkFBNEI7UUFDNUIsa0NBQWtDO1FBQ2xDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGRNYXJrZG93bk5hdmlnYXRvckNvbXBvbmVudCB9IGZyb20gJy4vbWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93L21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaXJlY3RpdmUgfSBmcm9tICcuL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctZGlyZWN0aXZlL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LXNlcnZpY2UvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFRkRGlhbG9nU2VydmljZSB9IGZyb20gJ0Bjb3ZhbGVudC9jb3JlL2RpYWxvZ3MnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuXG4gKiBQbGVhc2UgbWlncmF0ZSB0byB1c2luZyBzdGFuZGFsb25lIGNvbXBvbmVudHMgYXMgc29vbiBhcyBwb3NzaWJsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcblxuICAgIFRkTWFya2Rvd25OYXZpZ2F0b3JDb21wb25lbnQsXG4gICAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCxcbiAgICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGRNYXJrZG93bk5hdmlnYXRvckNvbXBvbmVudCxcbiAgICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50LFxuICAgIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1RkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlLCBUZERpYWxvZ1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudE1hcmtkb3duTmF2aWdhdG9yTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtbWFya2Rvd24tbmF2aWdhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL2NvdmFsZW50LW1hcmtkb3duLW5hdmlnYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":["i1","i1.TdMarkdownNavigatorWindowService"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,209 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnChanges, Type, EventEmitter, ElementRef, ChangeDetectorRef, SimpleChanges, RendererFactory2 } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { TdMarkdownLoaderService } from '@covalent/markdown';
5
+ import { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';
6
+ import { DomSanitizer } from '@angular/platform-browser';
7
+ import { HttpClient } from '@angular/common/http';
8
+ import { ICopyCodeTooltips } from '@covalent/highlight';
9
+ import { ThemePalette } from '@angular/material/core';
10
+ import { MatDialogConfig, MatDialogRef } from '@angular/material/dialog';
11
+ import { TdDialogService } from '@covalent/core/dialogs';
12
+
13
+ interface IMarkdownNavigatorItem {
14
+ id?: string;
15
+ title?: string;
16
+ url?: string;
17
+ httpOptions?: object;
18
+ markdownString?: string;
19
+ anchor?: string;
20
+ children?: IMarkdownNavigatorItem[];
21
+ childrenUrl?: string;
22
+ description?: string;
23
+ icon?: string;
24
+ footer?: Type<any>;
25
+ startAtLink?: IMarkdownNavigatorItem;
26
+ }
27
+ interface IMarkdownNavigatorLabels {
28
+ goHome?: string;
29
+ goBack?: string;
30
+ emptyState?: string;
31
+ }
32
+ type IMarkdownNavigatorCompareWith = (o1: IMarkdownNavigatorItem, o2: IMarkdownNavigatorItem) => boolean;
33
+ declare const DEFAULT_MARKDOWN_NAVIGATOR_LABELS: IMarkdownNavigatorLabels;
34
+ declare class TdMarkdownNavigatorComponent implements OnChanges {
35
+ private _markdownUrlLoaderService;
36
+ private _changeDetectorRef;
37
+ private _sanitizer;
38
+ private _http;
39
+ /**
40
+ * items: IMarkdownNavigatorItem[]
41
+ *
42
+ * List of IMarkdownNavigatorItems to be rendered
43
+ */
44
+ items?: IMarkdownNavigatorItem[];
45
+ /**
46
+ * labels?: IMarkdownNavigatorLabels
47
+ *
48
+ * Translated labels
49
+ */
50
+ labels?: IMarkdownNavigatorLabels;
51
+ /**
52
+ * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];
53
+ *
54
+ * Item or path to start at
55
+ */
56
+ startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];
57
+ /**
58
+ * copyCodeToClipboard?: boolean
59
+ *
60
+ * Display copy button on code snippets to copy code to clipboard.
61
+ *
62
+ */
63
+ copyCodeToClipboard?: boolean | undefined;
64
+ /**
65
+ * copyCodeTooltips?: ICopyCodeTooltips
66
+ *
67
+ * Tooltips for copy button to copy and upon copying.
68
+ */
69
+ copyCodeTooltips?: ICopyCodeTooltips;
70
+ /**
71
+ * footer?: Type<any>
72
+ *
73
+ * Component to be displayed in footer
74
+ */
75
+ footer?: any;
76
+ /**
77
+ * compareWith?: IMarkdownNavigatorCompareWith
78
+ *
79
+ * Function used to find startAt item
80
+ * Defaults to comparison by strict equality (===)
81
+ */
82
+ compareWith?: IMarkdownNavigatorCompareWith;
83
+ buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent>;
84
+ itemSelected: EventEmitter<IMarkdownNavigatorItem>;
85
+ markdownWrapper: ElementRef;
86
+ historyStack: IMarkdownNavigatorItem[];
87
+ currentMarkdownItem?: IMarkdownNavigatorItem;
88
+ currentMenuItems?: IMarkdownNavigatorItem[];
89
+ loading: boolean;
90
+ markdownLoaderError?: string;
91
+ childrenUrlError?: string;
92
+ constructor(_markdownUrlLoaderService: TdMarkdownLoaderService, _changeDetectorRef: ChangeDetectorRef, _sanitizer: DomSanitizer, _http: HttpClient);
93
+ clickListener(event: Event): void;
94
+ get showGoBackButton(): boolean;
95
+ get showHeader(): boolean;
96
+ get showMenu(): boolean;
97
+ get showTdMarkdownLoader(): boolean;
98
+ get showTdMarkdown(): boolean;
99
+ get url(): string | undefined;
100
+ get footerComponent(): any;
101
+ get httpOptions(): object | undefined;
102
+ get markdownString(): string | undefined;
103
+ get anchor(): string | undefined;
104
+ get showEmptyState(): boolean;
105
+ get goHomeLabel(): string | undefined;
106
+ get goBackLabel(): string | undefined;
107
+ get emptyStateLabel(): string | undefined;
108
+ get currentItemTitle(): string;
109
+ ngOnChanges(changes: SimpleChanges): Promise<void>;
110
+ hasChildrenOrChildrenUrl(item: IMarkdownNavigatorItem): boolean;
111
+ clearErrors(): void;
112
+ reset(): void;
113
+ goBack(goBackLength?: number): void;
114
+ handleItemSelected(item: IMarkdownNavigatorItem): void;
115
+ setChildrenAsCurrentMenuItems(item: IMarkdownNavigatorItem): Promise<void>;
116
+ loadChildrenUrl(item: IMarkdownNavigatorItem): Promise<IMarkdownNavigatorItem[]>;
117
+ getTitle(item: IMarkdownNavigatorItem): string;
118
+ getIcon(item: IMarkdownNavigatorItem): string;
119
+ handleChildrenUrlError(error: Error): void;
120
+ handleMarkdownLoaderError(error: Error): void;
121
+ private _jumpTo;
122
+ private followPath;
123
+ private findPath;
124
+ private handleLinkClick;
125
+ static ɵfac: i0.ɵɵFactoryDeclaration<TdMarkdownNavigatorComponent, never>;
126
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdMarkdownNavigatorComponent, "td-markdown-navigator", never, { "items": { "alias": "items"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "copyCodeToClipboard": { "alias": "copyCodeToClipboard"; "required": false; }; "copyCodeTooltips": { "alias": "copyCodeTooltips"; "required": false; }; "footer": { "alias": "footer"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; }, { "buttonClicked": "buttonClicked"; "itemSelected": "itemSelected"; }, never, never, true, never>;
127
+ }
128
+
129
+ interface IMarkdownNavigatorWindowLabels extends IMarkdownNavigatorLabels {
130
+ title?: string;
131
+ close?: string;
132
+ dock?: string;
133
+ unDock?: string;
134
+ }
135
+ declare const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS: IMarkdownNavigatorWindowLabels;
136
+ declare class TdMarkdownNavigatorWindowComponent {
137
+ items?: IMarkdownNavigatorItem[];
138
+ labels?: IMarkdownNavigatorWindowLabels;
139
+ toolbarColor: ThemePalette;
140
+ startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];
141
+ compareWith?: IMarkdownNavigatorCompareWith;
142
+ docked?: boolean | undefined;
143
+ copyCodeToClipboard?: boolean | undefined;
144
+ copyCodeTooltips?: ICopyCodeTooltips;
145
+ footer?: Type<any>;
146
+ closed: EventEmitter<void>;
147
+ dockToggled: EventEmitter<boolean>;
148
+ buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent>;
149
+ itemSelected: EventEmitter<IMarkdownNavigatorItem>;
150
+ get markdownNavigatorLabels(): IMarkdownNavigatorLabels | undefined;
151
+ get titleLabel(): string | undefined;
152
+ get closeLabel(): string | undefined;
153
+ get toggleDockedStateLabel(): string | undefined;
154
+ toggleDockedState(): void;
155
+ static ɵfac: i0.ɵɵFactoryDeclaration<TdMarkdownNavigatorWindowComponent, never>;
156
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdMarkdownNavigatorWindowComponent, "td-markdown-navigator-window", never, { "items": { "alias": "items"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "toolbarColor": { "alias": "toolbarColor"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "docked": { "alias": "docked"; "required": false; }; "copyCodeToClipboard": { "alias": "copyCodeToClipboard"; "required": false; }; "copyCodeTooltips": { "alias": "copyCodeTooltips"; "required": false; }; "footer": { "alias": "footer"; "required": false; }; }, { "closed": "closed"; "dockToggled": "dockToggled"; "buttonClicked": "buttonClicked"; "itemSelected": "itemSelected"; }, never, never, true, never>;
157
+ }
158
+
159
+ interface IMarkdownNavigatorWindowConfig {
160
+ items: IMarkdownNavigatorItem[];
161
+ dialogConfig?: MatDialogConfig;
162
+ labels?: IMarkdownNavigatorWindowLabels;
163
+ toolbarColor?: ThemePalette;
164
+ startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];
165
+ compareWith?: IMarkdownNavigatorCompareWith;
166
+ copyCodeToClipboard?: boolean;
167
+ copyCodeTooltips?: ICopyCodeTooltips;
168
+ footer?: Type<any>;
169
+ }
170
+ declare class TdMarkdownNavigatorWindowService {
171
+ private _tdDialogService;
172
+ private _document;
173
+ private rendererFactory;
174
+ private _renderer2;
175
+ private dragRef;
176
+ private resizableDraggableDialog;
177
+ private markdownNavigatorWindowDialog;
178
+ private markdownNavigatorWindowDialogsOpen;
179
+ constructor(_tdDialogService: TdDialogService, _document: any, rendererFactory: RendererFactory2);
180
+ open(config: IMarkdownNavigatorWindowConfig): MatDialogRef<TdMarkdownNavigatorWindowComponent>;
181
+ close(): void;
182
+ get isOpen(): boolean;
183
+ private _handleEvents;
184
+ static ɵfac: i0.ɵɵFactoryDeclaration<TdMarkdownNavigatorWindowService, never>;
185
+ static ɵprov: i0.ɵɵInjectableDeclaration<TdMarkdownNavigatorWindowService>;
186
+ }
187
+
188
+ declare class TdMarkdownNavigatorWindowDirective {
189
+ private _markdownNavigatorWindowService;
190
+ config?: IMarkdownNavigatorWindowConfig;
191
+ disabled: boolean;
192
+ constructor(_markdownNavigatorWindowService: TdMarkdownNavigatorWindowService);
193
+ click(): void;
194
+ static ɵfac: i0.ɵɵFactoryDeclaration<TdMarkdownNavigatorWindowDirective, never>;
195
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TdMarkdownNavigatorWindowDirective, "[tdMarkdownNavigatorWindow]", never, { "config": { "alias": "tdMarkdownNavigatorWindow"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
196
+ }
197
+
1
198
  /**
2
- * Generated bundle index. Do not edit.
199
+ * @deprecated This module is deprecated and will be removed in future versions.
200
+ * Please migrate to using standalone components as soon as possible.
3
201
  */
4
- /// <amd-module name="@covalent/markdown-navigator" />
5
- export * from './public_api';
202
+ declare class CovalentMarkdownNavigatorModule {
203
+ static ɵfac: i0.ɵɵFactoryDeclaration<CovalentMarkdownNavigatorModule, never>;
204
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentMarkdownNavigatorModule, never, [typeof i1.CommonModule, typeof TdMarkdownNavigatorComponent, typeof TdMarkdownNavigatorWindowComponent, typeof TdMarkdownNavigatorWindowDirective], [typeof TdMarkdownNavigatorComponent, typeof TdMarkdownNavigatorWindowComponent, typeof TdMarkdownNavigatorWindowDirective]>;
205
+ static ɵinj: i0.ɵɵInjectorDeclaration<CovalentMarkdownNavigatorModule>;
206
+ }
207
+
208
+ export { CovalentMarkdownNavigatorModule, DEFAULT_MARKDOWN_NAVIGATOR_LABELS, DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS, TdMarkdownNavigatorComponent, TdMarkdownNavigatorWindowComponent, TdMarkdownNavigatorWindowDirective, TdMarkdownNavigatorWindowService };
209
+ export type { IMarkdownNavigatorCompareWith, IMarkdownNavigatorItem, IMarkdownNavigatorLabels, IMarkdownNavigatorWindowConfig, IMarkdownNavigatorWindowLabels };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@covalent/markdown-navigator",
3
- "version": "10.4.0-beta.3",
3
+ "version": "11.0.0-beta.1",
4
4
  "description": "Teradata UI Platform Markdown Navigator Module",
5
5
  "keywords": [
6
6
  "angular",
@@ -24,13 +24,13 @@
24
24
  "license": "MIT",
25
25
  "author": "Teradata UX",
26
26
  "peerDependencies": {
27
- "@angular/common": "19.x.x",
28
- "@angular/core": "19.x.x",
29
- "@angular/material": "19.x.x",
30
- "@angular/cdk": "19.x.x",
31
- "@covalent/core": "10.4.0-beta.3",
32
- "@covalent/flavored-markdown": "10.4.0-beta.3",
33
- "@covalent/highlight": "10.4.0-beta.3"
27
+ "@angular/common": "20.x.x",
28
+ "@angular/core": "20.x.x",
29
+ "@angular/material": "20.x.x",
30
+ "@angular/cdk": "20.x.x",
31
+ "@covalent/core": "11.0.0-beta.1",
32
+ "@covalent/flavored-markdown": "11.0.0-beta.1",
33
+ "@covalent/highlight": "11.0.0-beta.1"
34
34
  },
35
35
  "dependencies": {
36
36
  "tslib": "^2.8.1"
@@ -51,6 +51,6 @@
51
51
  "typings": "index.d.ts",
52
52
  "sideEffects": false,
53
53
  "scripts": {
54
- "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1"
54
+ "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with partial compilation mode, before attempting to publish.\\n')\" && exit 1"
55
55
  }
56
56
  }
@@ -1,35 +0,0 @@
1
- import { EventEmitter, Type } from '@angular/core';
2
- import { ThemePalette } from '@angular/material/core';
3
- import { IMarkdownNavigatorItem, IMarkdownNavigatorLabels, IMarkdownNavigatorCompareWith } from '../markdown-navigator.component';
4
- import { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';
5
- import { ICopyCodeTooltips } from '@covalent/highlight';
6
- import * as i0 from "@angular/core";
7
- export interface IMarkdownNavigatorWindowLabels extends IMarkdownNavigatorLabels {
8
- title?: string;
9
- close?: string;
10
- dock?: string;
11
- unDock?: string;
12
- }
13
- export declare const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS: IMarkdownNavigatorWindowLabels;
14
- export declare class TdMarkdownNavigatorWindowComponent {
15
- items?: IMarkdownNavigatorItem[];
16
- labels?: IMarkdownNavigatorWindowLabels;
17
- toolbarColor: ThemePalette;
18
- startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];
19
- compareWith?: IMarkdownNavigatorCompareWith;
20
- docked?: boolean | undefined;
21
- copyCodeToClipboard?: boolean | undefined;
22
- copyCodeTooltips?: ICopyCodeTooltips;
23
- footer?: Type<any>;
24
- closed: EventEmitter<void>;
25
- dockToggled: EventEmitter<boolean>;
26
- buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent>;
27
- itemSelected: EventEmitter<IMarkdownNavigatorItem>;
28
- get markdownNavigatorLabels(): IMarkdownNavigatorLabels | undefined;
29
- get titleLabel(): string | undefined;
30
- get closeLabel(): string | undefined;
31
- get toggleDockedStateLabel(): string | undefined;
32
- toggleDockedState(): void;
33
- static ɵfac: i0.ɵɵFactoryDeclaration<TdMarkdownNavigatorWindowComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<TdMarkdownNavigatorWindowComponent, "td-markdown-navigator-window", never, { "items": { "alias": "items"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "toolbarColor": { "alias": "toolbarColor"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "docked": { "alias": "docked"; "required": false; }; "copyCodeToClipboard": { "alias": "copyCodeToClipboard"; "required": false; }; "copyCodeTooltips": { "alias": "copyCodeTooltips"; "required": false; }; "footer": { "alias": "footer"; "required": false; }; }, { "closed": "closed"; "dockToggled": "dockToggled"; "buttonClicked": "buttonClicked"; "itemSelected": "itemSelected"; }, never, never, true, never>;
35
- }
@@ -1,11 +0,0 @@
1
- import { TdMarkdownNavigatorWindowService, IMarkdownNavigatorWindowConfig } from '../markdown-navigator-window-service/markdown-navigator-window.service';
2
- import * as i0 from "@angular/core";
3
- export declare class TdMarkdownNavigatorWindowDirective {
4
- private _markdownNavigatorWindowService;
5
- config?: IMarkdownNavigatorWindowConfig;
6
- disabled: boolean;
7
- constructor(_markdownNavigatorWindowService: TdMarkdownNavigatorWindowService);
8
- click(): void;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<TdMarkdownNavigatorWindowDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<TdMarkdownNavigatorWindowDirective, "[tdMarkdownNavigatorWindow]", never, { "config": { "alias": "tdMarkdownNavigatorWindow"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
11
- }
@@ -1,36 +0,0 @@
1
- import { RendererFactory2, Type } from '@angular/core';
2
- import { MatDialogRef, MatDialogConfig } from '@angular/material/dialog';
3
- import { ThemePalette } from '@angular/material/core';
4
- import { TdMarkdownNavigatorWindowComponent, IMarkdownNavigatorWindowLabels } from '../markdown-navigator-window/markdown-navigator-window.component';
5
- import { TdDialogService } from '@covalent/core/dialogs';
6
- import { IMarkdownNavigatorItem, IMarkdownNavigatorCompareWith } from '../markdown-navigator.component';
7
- import { ICopyCodeTooltips } from '@covalent/highlight';
8
- import * as i0 from "@angular/core";
9
- export interface IMarkdownNavigatorWindowConfig {
10
- items: IMarkdownNavigatorItem[];
11
- dialogConfig?: MatDialogConfig;
12
- labels?: IMarkdownNavigatorWindowLabels;
13
- toolbarColor?: ThemePalette;
14
- startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];
15
- compareWith?: IMarkdownNavigatorCompareWith;
16
- copyCodeToClipboard?: boolean;
17
- copyCodeTooltips?: ICopyCodeTooltips;
18
- footer?: Type<any>;
19
- }
20
- export declare class TdMarkdownNavigatorWindowService {
21
- private _tdDialogService;
22
- private _document;
23
- private rendererFactory;
24
- private _renderer2;
25
- private dragRef;
26
- private resizableDraggableDialog;
27
- private markdownNavigatorWindowDialog;
28
- private markdownNavigatorWindowDialogsOpen;
29
- constructor(_tdDialogService: TdDialogService, _document: any, rendererFactory: RendererFactory2);
30
- open(config: IMarkdownNavigatorWindowConfig): MatDialogRef<TdMarkdownNavigatorWindowComponent>;
31
- close(): void;
32
- get isOpen(): boolean;
33
- private _handleEvents;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<TdMarkdownNavigatorWindowService, never>;
35
- static ɵprov: i0.ɵɵInjectableDeclaration<TdMarkdownNavigatorWindowService>;
36
- }
@@ -1,122 +0,0 @@
1
- import { OnChanges, SimpleChanges, ElementRef, ChangeDetectorRef, Type, EventEmitter } from '@angular/core';
2
- import { TdMarkdownLoaderService } from '@covalent/markdown';
3
- import { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';
4
- import { DomSanitizer } from '@angular/platform-browser';
5
- import { HttpClient } from '@angular/common/http';
6
- import { ICopyCodeTooltips } from '@covalent/highlight';
7
- import * as i0 from "@angular/core";
8
- export interface IMarkdownNavigatorItem {
9
- id?: string;
10
- title?: string;
11
- url?: string;
12
- httpOptions?: object;
13
- markdownString?: string;
14
- anchor?: string;
15
- children?: IMarkdownNavigatorItem[];
16
- childrenUrl?: string;
17
- description?: string;
18
- icon?: string;
19
- footer?: Type<any>;
20
- startAtLink?: IMarkdownNavigatorItem;
21
- }
22
- export interface IMarkdownNavigatorLabels {
23
- goHome?: string;
24
- goBack?: string;
25
- emptyState?: string;
26
- }
27
- export type IMarkdownNavigatorCompareWith = (o1: IMarkdownNavigatorItem, o2: IMarkdownNavigatorItem) => boolean;
28
- export declare const DEFAULT_MARKDOWN_NAVIGATOR_LABELS: IMarkdownNavigatorLabels;
29
- export declare class TdMarkdownNavigatorComponent implements OnChanges {
30
- private _markdownUrlLoaderService;
31
- private _changeDetectorRef;
32
- private _sanitizer;
33
- private _http;
34
- /**
35
- * items: IMarkdownNavigatorItem[]
36
- *
37
- * List of IMarkdownNavigatorItems to be rendered
38
- */
39
- items?: IMarkdownNavigatorItem[];
40
- /**
41
- * labels?: IMarkdownNavigatorLabels
42
- *
43
- * Translated labels
44
- */
45
- labels?: IMarkdownNavigatorLabels;
46
- /**
47
- * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];
48
- *
49
- * Item or path to start at
50
- */
51
- startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];
52
- /**
53
- * copyCodeToClipboard?: boolean
54
- *
55
- * Display copy button on code snippets to copy code to clipboard.
56
- *
57
- */
58
- copyCodeToClipboard?: boolean | undefined;
59
- /**
60
- * copyCodeTooltips?: ICopyCodeTooltips
61
- *
62
- * Tooltips for copy button to copy and upon copying.
63
- */
64
- copyCodeTooltips?: ICopyCodeTooltips;
65
- /**
66
- * footer?: Type<any>
67
- *
68
- * Component to be displayed in footer
69
- */
70
- footer?: any;
71
- /**
72
- * compareWith?: IMarkdownNavigatorCompareWith
73
- *
74
- * Function used to find startAt item
75
- * Defaults to comparison by strict equality (===)
76
- */
77
- compareWith?: IMarkdownNavigatorCompareWith;
78
- buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent>;
79
- itemSelected: EventEmitter<IMarkdownNavigatorItem>;
80
- markdownWrapper: ElementRef;
81
- historyStack: IMarkdownNavigatorItem[];
82
- currentMarkdownItem?: IMarkdownNavigatorItem;
83
- currentMenuItems?: IMarkdownNavigatorItem[];
84
- loading: boolean;
85
- markdownLoaderError?: string;
86
- childrenUrlError?: string;
87
- constructor(_markdownUrlLoaderService: TdMarkdownLoaderService, _changeDetectorRef: ChangeDetectorRef, _sanitizer: DomSanitizer, _http: HttpClient);
88
- clickListener(event: Event): void;
89
- get showGoBackButton(): boolean;
90
- get showHeader(): boolean;
91
- get showMenu(): boolean;
92
- get showTdMarkdownLoader(): boolean;
93
- get showTdMarkdown(): boolean;
94
- get url(): string | undefined;
95
- get footerComponent(): any;
96
- get httpOptions(): object | undefined;
97
- get markdownString(): string | undefined;
98
- get anchor(): string | undefined;
99
- get showEmptyState(): boolean;
100
- get goHomeLabel(): string | undefined;
101
- get goBackLabel(): string | undefined;
102
- get emptyStateLabel(): string | undefined;
103
- get currentItemTitle(): string;
104
- ngOnChanges(changes: SimpleChanges): Promise<void>;
105
- hasChildrenOrChildrenUrl(item: IMarkdownNavigatorItem): boolean;
106
- clearErrors(): void;
107
- reset(): void;
108
- goBack(goBackLength?: number): void;
109
- handleItemSelected(item: IMarkdownNavigatorItem): void;
110
- setChildrenAsCurrentMenuItems(item: IMarkdownNavigatorItem): Promise<void>;
111
- loadChildrenUrl(item: IMarkdownNavigatorItem): Promise<IMarkdownNavigatorItem[]>;
112
- getTitle(item: IMarkdownNavigatorItem): string;
113
- getIcon(item: IMarkdownNavigatorItem): string;
114
- handleChildrenUrlError(error: Error): void;
115
- handleMarkdownLoaderError(error: Error): void;
116
- private _jumpTo;
117
- private followPath;
118
- private findPath;
119
- private handleLinkClick;
120
- static ɵfac: i0.ɵɵFactoryDeclaration<TdMarkdownNavigatorComponent, never>;
121
- static ɵcmp: i0.ɵɵComponentDeclaration<TdMarkdownNavigatorComponent, "td-markdown-navigator", never, { "items": { "alias": "items"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "copyCodeToClipboard": { "alias": "copyCodeToClipboard"; "required": false; }; "copyCodeTooltips": { "alias": "copyCodeTooltips"; "required": false; }; "footer": { "alias": "footer"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; }, { "buttonClicked": "buttonClicked"; "itemSelected": "itemSelected"; }, never, never, true, never>;
122
- }
@@ -1,14 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/common";
3
- import * as i2 from "./markdown-navigator.component";
4
- import * as i3 from "./markdown-navigator-window/markdown-navigator-window.component";
5
- import * as i4 from "./markdown-navigator-window-directive/markdown-navigator-window.directive";
6
- /**
7
- * @deprecated This module is deprecated and will be removed in future versions.
8
- * Please migrate to using standalone components as soon as possible.
9
- */
10
- export declare class CovalentMarkdownNavigatorModule {
11
- static ɵfac: i0.ɵɵFactoryDeclaration<CovalentMarkdownNavigatorModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentMarkdownNavigatorModule, never, [typeof i1.CommonModule, typeof i2.TdMarkdownNavigatorComponent, typeof i3.TdMarkdownNavigatorWindowComponent, typeof i4.TdMarkdownNavigatorWindowDirective], [typeof i2.TdMarkdownNavigatorComponent, typeof i3.TdMarkdownNavigatorWindowComponent, typeof i4.TdMarkdownNavigatorWindowDirective]>;
13
- static ɵinj: i0.ɵɵInjectorDeclaration<CovalentMarkdownNavigatorModule>;
14
- }
package/public_api.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from './markdown-navigator.module';
2
- export * from './markdown-navigator.component';
3
- export * from './markdown-navigator-window/markdown-navigator-window.component';
4
- export * from './markdown-navigator-window-directive/markdown-navigator-window.directive';
5
- export * from './markdown-navigator-window-service/markdown-navigator-window.service';